在verilog中使用单个else的多个if条件

时间:2013-11-29 06:17:49

标签: if-statement conditional-statements verilog

我在verilog代码中使用if语句检查条件时有一些prblm。它也类似于c。但在我的编码中,它使用多个if来比较许多字符串。它检查if语句下方的条件是否为真。如果匹配更多的字符串,它会执行所有真正的块。如果没有匹配则转到其他...如果有单个其他的话,那么多个verilog中的任何可能...这里我们不能使用case条件是比较。

1 个答案:

答案 0 :(得分:1)

级联if语句:

 always @* begin
   if ( ... ) begin
     // ...
   end
   else if ( ... ) begin
     // ...
   end
   else begin
     // ...
   end
 end

案例陈述通常是一种更好的方法:

always @* begin
  case ( reg_or_wire )
    0 : begin
      // ...
    end
    1 : begin
      // ...
    end
    default : begin
      // ...
    end
  endcase
end

默认情况下,大小写值是整数,但您应该指定宽度和值,例如4'b1010,4'ha;