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
额??? 鼠标双击错误的位置,看看哪行的错误。 第一行,但是就是找不出啊
水平不够 额???? 你用记事本或者16进制编辑器打开你这个v文件,估计你是从其他地方粘贴过来的代码。里面有不可见非法字符。 zxq6 发表于 2013-5-30 09:49 static/image/common/back.gif
你用记事本或者16进制编辑器打开你这个v文件,估计你是从其他地方粘贴过来的代码。里面有不可见非法字符。 ...
+1
这种情况在51年代很常见
页:
[1]