Verilog - 使用命名值处理范围

时间:2015-05-30 18:07:45

标签: verilog

我使用以下命令为数字指定了名称:

`define ADD 0
`define SUB 1
`define LSF 2
`define RSF 3
`define AND 4
`define OR 5

我希望在case块中处理,以便代码适用于多个选项。 在C中,这可以使用:

完成
switch (x){

case ADD:
case SUB:
case LSF:
case RSF:
case AND:
case OR:
    printf ("Handling");
    break;
}

有没有办法在Verilog实现这一目标? 谢谢!

1 个答案:

答案 0 :(得分:6)

是的,逗号!

case (x)
ADD, SUB, LSF, RSF, AND, OR: begin
    $display("Handling multiple cases");
    // no need for breaks
end
MULT: begin
    $display("handle a single case");
end
default: begin
    $display("do something to do for all other cases");
end
endcase