周晓亮 发表于 2013-5-29 16:48:23

stm32-fpga 程序错误,大侠看看怎么回事

代码报错,不知道是什么原因,希望大家指点一下。错误如下:
Info: *******************************************************************
Info: Running Quartus II 32-bit Analysis & Synthesis
        Info: Version 12.0 Build 178 05/31/2012 SJ Full Version
        Info: Processing started: Wed May 29 15:45:46 2013
Info: Command: quartus_map --read_settings_files=on --write_settings_files=off stm32_fpga -c stm32_fpga
Info (20030): Parallel compilation is enabled and will use 4 of the 4 processors detected
Error (10170): Verilog HDL syntax error at stm32_fpga.v(1) near text                                                              //???就是这里
Error (10170): Verilog HDL syntax error at stm32_fpga.v(1) near text "Â";expecting an identifier                        // ???
Info (12021): Found 0 design units, including 0 entities, in source file stm32_fpga.v
Error: Quartus II 32-bit Analysis & Synthesis was unsuccessful. 2 errors, 0 warnings
        Error: Peak virtual memory: 275 megabytes
        Error: Processing ended: Wed May 29 15:45:47 2013
        Error: Elapsed time: 00:00:01
        Error: Total CPU time (on all processors): 00:00:01
Error (293001): Quartus II Full Compilation was unsuccessful. 4 errors, 0 warnings



代码:
module stm32_fpga(main_clk,arm_clk,led,addr,data,fpga_cs0,RD,WR);
input  main_clk;  //25M晶振
output arm_clk;  //FPGA输出8M时钟作为STM32的外部时钟HSE,经过PLL倍频后得//72M系统时钟
output led;       //指示灯
input addr;
inout data;
input fpga_cs0;//FPGA片选
input RD;
input WR; 
wire clk; 

pll_50M       pll_50M_inst (
                              .inclk0(main_clk),//25M
                              .c0(clk),             //50M
                              .c1(arm_clk)      //8M    
                            );

reg cnt = 0;
always @(posedge clk)
  cnt <= cnt + 1'b1; 

assign led = cnt;

////////////////////////////////////////////////////////////////////
reg ARM_FPGA_REG0; 
reg ARM_FPGA_REG1;
reg ARM_FPGA_REG2; 
reg ARM_FPGA_REG3; 
reg ARM_FPGA_REG4;
reg ARM_FPGA_REG5; 
reg ARM_FPGA_REG6; 
reg ARM_FPGA_REG7; 
 

wire rd_en = ~fpga_cs0 && ~RD;

reg data_reg; 
//always @(posedge clk) //!                               
always @(*)
begin                                                
   if(rd_en)                                 
     begin                                           
        case(addr)                              
         3'd0   :  data_reg <= ARM_FPGA_REG0;        
         3'd1   :  data_reg <= ARM_FPGA_REG1;        
         3'd2   :  data_reg <= ARM_FPGA_REG2;        
         3'd3   :  data_reg <= ARM_FPGA_REG3;        
         3'd4   :  data_reg <= ARM_FPGA_REG4;        
         3'd5   :  data_reg <= ARM_FPGA_REG5;        
         3'd6   :  data_reg <= ARM_FPGA_REG6;        
         3'd7   :  data_reg <= ARM_FPGA_REG7;        
         default:  ;                                 
        endcase                               
     end                                                                                              
end                                           

/* WR上升沿STM32的数据写入FPGA,即sampling point */ 
 
reg WR_tmp1;
reg WR_tmp2;
always @(posedge clk)
begin
    WR_tmp1 <= WR;
    WR_tmp2 <= WR_tmp1;
end 
 
wire WR_RISING = ~WR_tmp2 && WR_tmp1;//与clk同步 

 
always @(*)                                  
begin                                      
  if(WR_RISING)                       
     begin                                    
        case(addr)                       
         3'd0   :  ARM_FPGA_REG0 <= data;     
         3'd1   :  ARM_FPGA_REG1 <= data;     
         3'd2   :  ARM_FPGA_REG2 <= data;     
         3'd3   :  ARM_FPGA_REG3 <= data;     
         3'd4   :  ARM_FPGA_REG4 <= data;     
         3'd5   :  ARM_FPGA_REG5 <= data;     
         3'd6   :  ARM_FPGA_REG6 <= data;     
         3'd7   :  ARM_FPGA_REG7 <= data;     
         default:  ;                          
        endcase                        
     end                                      
end                                        

assign data = rd_en ? data_reg : 16'hzzzz;
endmodule


周晓亮 发表于 2013-5-30 08:43:21

额???

tongdayusu 发表于 2013-5-30 08:48:37

鼠标双击错误的位置,看看哪行的错误。

周晓亮 发表于 2013-5-30 08:50:00

第一行,但是就是找不出啊

周晓亮 发表于 2013-5-30 08:50:20

水平不够

周晓亮 发表于 2013-5-30 09:41:51

额????

zxq6 发表于 2013-5-30 09:49:33

你用记事本或者16进制编辑器打开你这个v文件,估计你是从其他地方粘贴过来的代码。里面有不可见非法字符。

zgxcom123 发表于 2013-5-30 09:55:47

zxq6 发表于 2013-5-30 09:49 static/image/common/back.gif
你用记事本或者16进制编辑器打开你这个v文件,估计你是从其他地方粘贴过来的代码。里面有不可见非法字符。 ...

+1

这种情况在51年代很常见
页: [1]
查看完整版本: stm32-fpga 程序错误,大侠看看怎么回事