为什么 systemverilog 4 状态变量需要更多内存?

Why systemverilog 4 state variables require more memory?

systemverilog LRM中给出了4个状态变量需要更多位来编码X和Z。这些 X 和 Z 是如何编码的?

要让模拟器跟踪具有 4 种状态的位,它需要 2 位实际内存。模拟器可能会编码成类似这样的东西:

2'b00:  zero
2'b01:  x
2'b10:  z
2'b11:  one

如果使用 2 态,它只需要 1 位内存来跟踪它。

即具有 4 个状态的 32 位总线将为模拟器占用 64 位内存,但如果使用 2 态类型则仅需要 32 位。