两者都是相等或比较运算符。“==”检查二值逻辑相等,而“===”检查四值逻辑相等。
使用“==”比较四值逻辑,如果出现x或者z,则结果为x。
使用“===”比较四值逻辑,如果出现或者z,则结果为0或1,能够正确的进行比较。
program ic_test;
initial begin
$display(4'b0011 == 4'b1010);
$display(4'b0011 != 4'b1x10);
$display(4'b1010 == 4'b1x10);
$display(4'b1x10 == 4'b1x10);
$display(4'b1z10 == 4'b1z10);
$display(4'b01zx === 4'b01zx);
$display(4'b01zx !== 4'b01zx);
$display(4'b01zx === 4'b0011);
$display(4'b01zx !== 4'b11zx);
end
endprogram
执行结果如下:
运行结果显示,“==”比较出现x或者z时,比较结果无一例外均是x。“===”比较四值逻辑时,能够出现正确的比对结果。
当“==”比较四值逻辑时,第一位就不相等时,即使有x或者z打印结果也是0,因为仅根据第一位的比较已经确定不相等了。