问题描述
我的项目是关于找到两个输入 P[3:0] 和 Q[3:0] 之间的公因子值。显示输出为 G[13:0]。 P、Q 和 G 是 2 位数字值。我正在尝试使用以下代码为两位数 7 段显示器构建一个显示模块。但是编译失败。
这是我的代码:
module display(
input[3:0] p0,q0,output reg[13:0]LEDp,LEDq,LEDg);
always @*
begin
case(p0)
4'b0000 : LEDp = 14'b11111111000000;
4'b0001 : LEDp = 14'b11111111111001;
4'b0010 : LEDp = 14'b11111110100100;
4'b0011 : LEDp = 14'b11111110110000;
4'b0100 : LEDp = 14'b11111110011001;
4'b0101 : LEDp = 14'b11111110010010;
4'b0110 : LEDp = 14'b11111110000010;
4'b0111 : LEDp = 14'b11111111111000;
4'b1000 : LEDp = 14'b11111110000000;
4'b1001 : LEDp = 14'b11111110010000;
4'b1010 : LEDp = 14'b11111101000000;
4'b1011 : LEDp = 14'b11111101111001;
4'b1100 : LEDp = 14'b11111100100100;
4'b1101 : LEDp = 14'b11111100110000;
4'b1110 : LEDp = 14'b11111100011001;
4'b1111 : LEDp = 14'b11111100010010;
default : LEDp = 14'b01111110111111;
endcase
end
always @*
begin
case (q0)
4'b0000: LEDq = 14'b11111111000000;
4'b0001: LEDq = 14'b11111111111001;
4'b0010: LEDq = 14'b11111110100100;
4'b0011: LEDq = 14'b11111110110000;
4'b0100: LEDq = 14'b11111110011001;
4'b0101: LEDq = 14'b11111110010010;
4'b0110: LEDq = 14'b11111110000010;
4'b0111: LEDq = 14'b11111111111000;
4'b1000: LEDq = 14'b11111110000000;
4'b1001: LEDq = 14'b11111110010000;
4'b1010: LEDq = 14'b11111101000000;
4'b1011: LEDq = 14'b11111101111001;
4'b1100: LEDq = 14'b11111100100100;
4'b1101: LEDq = 14'b11111100110000;
4'b1110: LEDq = 14'b11111100011001;
4'b1111: LEDq = 14'b11111100010010;
default: LEDq = 14'b01111110111111;
endcase
end
always @*
begin
case (G)
4'b0000: LEDg = 14'b11111111000000;
4'b0001: LEDg = 14'b11111111111001;
4'b0010: LEDg = 14'b11111110100100;
4'b0011: LEDg = 14'b11111110110000;
4'b0100: LEDg = 14'b11111110011001;
4'b0101: LEDg = 14'b11111110010010;
4'b0110: LEDg = 14'b11111110000010;
4'b0111: LEDg = 14'b11111111111000;
4'b1000: LEDg = 14'b11111110000000;
4'b1001: LEDg = 14'b11111110010000;
4'b1010: LEDg = 14'b11111101000000;
4'b1011: LEDg = 14'b11111101111001;
4'b1100: LEDg = 14'b11111100100100;
4'b1101: LEDg = 14'b11111100110000;
4'b1110: LEDg = 14'b11111100011001;
4'b1111: LEDg = 14'b11111100010010;
default: LEDg = 14'b01111110111111;
endcase
end
endmodule
错误是:
错误 (10170): display.v(8) 文本附近的 Verilog HDL 语法错误 ï
错误 (10170):在 display.v(8) 文本“ï”附近出现 Verilog HDL 语法错误;期待“:”或“,”
错误 (10170):在 display.v(8) 靠近文本 ¼ 处的 Verilog HDL 语法错误
错误 (10170):在 display.v(8) 文本附近出现 Verilog HDL 语法错误
我可以知道我应该如何纠正它吗?我已经通过互联网搜索但没有找到解决方案。
解决方法
当我复制您的代码并在我的软件中执行它时,我注意到您的代码中没有冒号 (:
),只有 fullwidth colons (:
)。将这个奇怪的 unicode 冒号更改为 ascii 冒号几乎解决了所有问题。您还使用未定义的 G
。