Prev Problem
Next Problem

42. Equality Operators

module x_detector (
    input  [1:0] a,
    output       eq_logic,
    output       eq_case
);
    assign eq_logic = (a == 2'bx1);   // logical equality
    assign eq_case  = (a === 2'bx1);  // case equality
endmodule

💡Remember

  • == / !=logical equality: if any bit is x/z, result = x.
  • === / !==case equality: compares all 4 states literally (0,1,x,z).
  • Use === when you really need to detect unknown/high-Z explicitly in simulation.