在case语句

时间:2017-12-10 03:23:56

标签: case conditional-statements verilog case-statement

我一直在寻找一段时间,所以请原谅我,如果我使用不正确的术语......

代码的目标是在输入为0时更新Aout1和Aout0,输出对应7段显示,但是我收到以下错误:

“错误(10170):在文本附近的FourBitAdder.v(55)处的Verilog HDL语法错误:”,“;期待”;“。检查并修复在指定关键字之前或之前出现的任何语法错误。”

以下是给我提问的代码片段......

always @*
case (A)
4'b0000 : Aout1 = 7'b1000000, Aout0 = 7'b1000000; //00

我尝试将代码更改为以下内容,虽然我的软件没有出现任何错误,但我的硬件(7段显示)不能像我尝试每个案例更改一个变量时那样工作

always @*
case (A)
4'b0000 : Aout1 = 7'b1000000; 4'b0000 : Aout0 = 7'b1000000; //00

提前谢谢你:)

1 个答案:

答案 0 :(得分:1)

在冒号后使用beginend语句。

always @* begin
    case(A)
        4'b0000: begin
            Aout1 = 7'b1000000;
            Aout0 = 7'b1000000;
        end
        4'b0001: begin
            Aout1 = 7'b0000011;
            Aout0 = 7'b0000011;
        end

    endcase
end