Некоторые типы данных в Verilog, такие как reg
, имеют 4 состояния. Это означает, что каждый бит может иметь одно из 4 значений: 0,1, x, z.
С оператором "case равенство" ===
, x сравниваются, и результат равен 1.
При ==
результат сравнения не равен 0, как вы указали; скорее, результат равен x, согласно стандарту IEEE (1800-2009), раздел 11.4.5 «Операторы равенства»:
За логическое равенство и логическое
операторы неравенства (== и! =), если,
из-за неизвестных или высокоимпедансных бит
в операндах отношение
неоднозначный, то результатом будет
1-битное неизвестное значение (x).