之间有什么区别?
if (dataoutput[7:0] == 8'bx) begin
和
if (dataoutput[7:0] === 8'bx) begin
执行
dataoutput = 52'bx
后,第二个给出1,但是第一个给出0。为什么? (0或1是比较结果。) 最佳答案
Verilog中的某些数据类型(例如reg
)是4状态。这意味着每个位可以是4个值之一:0,1,x,z。
使用“大小写相等”运算符===
,将x进行比较,结果为1。
如前所述,对于==
,比较结果不为0;相反,根据IEEE Std(1800-2009)第11.4.5节“相等运算符”,结果为x:
关于verilog - 在Verilog中==和===有什么区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5927615/