菜鸟问!!!关于Verilog HDL语言编译出错
对Verilog HDL用quartus2进行编译时出现这种错误“Error: Top-level design entity "g" is undefined”这是什么原因啊?求高手指点啊!!![b][/b][size=14px][/size]
附自己所写的分频模块的语言:
module fdiv(
clk,
f200Hz,
f60Hz,
f1Hz
);
output f200Hz,f60Hz,f1Hz;
input clk;
reg f200Hz,f60Hz,f1Hz;
integer CNT1=0,CNT2=1,CNT3=0;
always @(posedge clk)
begin
if(CNT1<4)
begin
CNT1=CNT1+1;
f200Hz<=1'b0;
end
else
begin
CNT1=0;
f200Hz<=1'b1;
end
end
always @(posedge f200Hz)
begin
if(CNT2<2)
begin
CNT2=CNT2+1;
f60Hz<=1'b0;
end
else
begin
CNT2=0;
f60Hz<=1'b1;
end
end
always @(posedge f200Hz)
begin
if(CNT3<199)
begin
CNT3=CNT3+1;
f1Hz<=1'b0;
end
else
begin
CNT3=0;
f1Hz<=1'b1;
end
end
endmodule
编译时出错
[解决办法]
它提示错误是Error: Top-level design entity "g" is undefined,
这说明你的项目设置的Top-level design entity名是错的。
假设你的设计文件叫g.vhd
那么打开它应该有如下部分内容:
entity g is
...
end g;
architecture fdiv of g is
begin
...
end fdiv;
注意这“entity g”、“architecture fdiv of g”的“g”绝对不能搞错,一定要和g.vhd的“g”一模一样(包括大小写)。