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