任何人都知道为什么这个案例陈述不起作用:
int width;
width = 8;
case (width === 16)
1'b0: begin
// correct code
end
1'b1: begin
// we end up here
end
endcase
我正在使用VCS。我尝试使用DVE调试器运行它,并且在使用调试器运行时代码正常工作。此外,此代码嵌套在另一个case语句中,此处未显示。
答案 0 :(得分:4)
我无法直接回答你的问题,但我认为synopsys不会犯这个愚蠢的错误。如果有,请告诉我。
在某些语言中,返回值'0'表示正确,我不确定它在这里是否相同。
但为了避免这个问题,我认为代码可以改为其他方式:
一种方式:
case (width)
16 : begin
// correct code
end
default : begin
// Other code
end
endcase
或者:
if (width === 16) begin
// correct code
end