这是我的代码,据我所知,LEDs
被定义为:
module sevenseg (LEDs,in);
output reg [6:0] LEDs;
input [3:0] in;
always@(in) begin
case(in)
0 : LEDs = 7'b1000000;
1 : LEDs = 7'b1111001;
2 : LEDs = 7'b0100100;
3 : LEDs = 7'b0110000;
4 : LEDs = 7'b0011001;
5 : LEDs = 7'b0001010;
6 : LEDs = 7'b0000010;
7 : LEDs = 7'b1111000;
8 : LEDs = 7'b0000000;
9 : LEDs = 7'b00010000;
default : LEDs = 7'b1111111;
endcase
end
endmodule
以下是编译错误:
错误 (10161):sevenseg2.v(39) 处的 Verilog HDL 错误:对象“LED”是
未申报
错误:Quartus II 64 位分析和综合失败。 1
错误,1 个警告
错误 (293001):Quartus II 完整编译失败。 3
错误,1 个警告
您正在混合 ANSI 和非 ANSI 标头样式。这是非法语法。一些模拟器/合成器允许这样做,但这是不好的做法。
您应该使用 ANSI:IEEE 标准 1800-2012 https://standards.ieee.org/findstds/standard/1800-2012.html§23.2.2.2ANSI 风格的端口声明列表
module sevenseg (
output reg [6:0] LEDs,
input [3:0] in );
或非 ANSI:IEEE 标准 1800-2012 https://standards.ieee.org/findstds/standard/1800-2012.html§23.2.2.1非 ANSI 风格的端口声明
module sevenseg (LEDs,in);
output [6:0] LEDs; // only an output here
input [3:0] in;
reg [6:0] LEDs; // declare as reg after all inputs/outputs/inouts
IEEE Std 1364-1995 需要非 ANSI。自 IEEE Std 1364-2001 起就存在对 ANSI 的支持。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)