【问题标题】:10170 syntax error occurs for verilog codes to on/off the 7 segment LED10170 用于打开/关闭 7 段 LED 的 Verilog 代码出现语法错误
【发布时间】:2021-06-05 06:42:40
【问题描述】:

我的项目是寻找两个输入 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): Verilog HDL 语法错误在 display.v(8) 靠近文本 ï

错误 (10170):在 display.v(8) 文本“ï”附近出现 Verilog HDL 语法错误;期待“:”或“,”

错误 (10170):在 display.v(8) 接近文本 ¼ 时出现 Verilog HDL 语法错误

错误 (10170): Verilog HDL 语法错误在 display.v(8) 靠近文本 š

我可以知道我应该如何纠正它吗?我已经通过互联网搜索但没有找到解决方案。

【问题讨论】:

    标签: syntax-error verilog quartus seven-segment-display


    【解决方案1】:

    当我复制您的代码并在我的软件中执行它时,我注意到您的代码中没有冒号 (:),只有 fullwidth colons ()。将这种奇怪的 unicode 冒号更改为 ascii 冒号几乎解决了所有问题。你也使用未定义的G

    【讨论】:

    • 感谢您向我解释错误。我可以知道这个错误是什么/如何发生的吗?因为我的朋友似乎对他们的代码没有这个问题,我猜是因为 PC?那么,你能给我一些提示或解决方案我应该如何解决这个问题?非常感谢!
    • 我猜你必须在操作系统设置中更改键盘语言。如果您使用的是 Windows 10,这可能会有所帮助。 support.microsoft.com/en-us/windows/…
    猜你喜欢
    • 1970-01-01
    • 2013-11-30
    • 2015-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-02
    相关资源
    最近更新 更多