What is the difference between == and === in Verilog?
问题 What is the difference between: if (dataoutput[7:0] == 8'bx) begin and if (dataoutput[7:0] === 8'bx) begin After executing dataoutput = 52'bx , the second gives 1, but the first gives 0. Why? (0 or 1 is the comparison result.) 回答1: Some data types in Verilog, such as reg , are 4-state. This means that each bit can be one of 4 values: 0,1,x,z. With the "case equality" operator, === , x's are compared, and the result is 1. With == , the result of the comparison is not 0, as you stated; rather,