使用Quartus進行數字電路設計時,遇到了下面的編譯錯誤:
Info: *******************************************************************
Info: Running Quartus II 64-Bit Analysis & Synthesis
Info: Version 11.0 Build 157 04/27/2011 SJ Full Version
Info: Processing started: Thu May 15 13:09:59 2014
Info: Command: quartus_map --read_settings_files=on --write_settings_files=off simulate -c simulate
Info: Parallel compilation is enabled and will use 2 of the 2 processors detected
Info: Found 1 design units, including 1 entities, in source file simulate.v
Info: Found entity 1: modelsim_test
Error: Top-level design entity "simulate" is undefined
Error: Quartus II 64-Bit Analysis & Synthesis was unsuccessful. 1 error, 0 warnings
Error: Peak virtual memory: 324 megabytes
Error: Processing ended: Thu May 15 13:10:01 2014
Error: Elapsed time: 00:00:02
Error: Total CPU time (on all processors): 00:00:01
Error: Quartus II Full Compilation was unsuccessful. 3 errors, 0 warnings
原因是
verilog文件(.v)裏的模塊名和頂層實體名(Top-level design entity,一般就是.v文件的文件名)不一致。
module modelsim_test(clk,rst_n,div);
input clk;
input rst_n;
output div;
reg div;
always@(posedge clk or negedge rst_n)
if(!rst_n)div<=1'b0;
else div<=~div;
endmodule
上面的模塊名是modelsim_test,而工程目錄下的verilog文件名是simulate,如下圖。
解決方法是:將modelsim_test修改爲simulate。
編譯成功!