2
\$\begingroup\$

What is the difference between big X and small x when we get red (unknown) signals in QuestaSim? I would assume it to be the same in ModelSim simulation as well.

\$\endgroup\$
3
\$\begingroup\$

IEEE Std 1364-1995 § 14.1.1.4 "Unknown and high impedance values" and IEEE Std 1800-2012 § 21.2.1.4 "Unknown and high-impedance values":

  • If all bits in a group are at the unknown value, a lowercase x is displayed for that digit.
  • If all bits in a group are at a high-impedance state, a lowercase z is printed for that digit.
  • If some, but not all, bits in a group are unknown, an uppercase X is displayed for that digit.
  • If some, but not all, bits in a group are at a high-impedance state, then an uppercase Z is displayed for that digit, unless there are also some bits at the unknown value, in which case an uppercase X is displayed for that digit.

Example:
8'b1111_xxxx => displays as 8'hFx
8'b00x0_1001 => displays as 8'hX9
8'b1010_zzzz => displays as 8'hAz
8'b0z00_0110 => displays as 8'hZ6
8'b0zx0_1010 => displays as 8'hXA (unknown has higher display priority over high impedance)

\$\endgroup\$
1
\$\begingroup\$

Are you viewing a signal in hex radix? IIRC big 'X' means all the bits of your radix are unknown, while little x means that some but not all of the bits are unknown.

Maybe something like:

4'hX = 4'bxxxx;
4'hx = 4'b000x;

I don't know if this the standard on all simulators, but you could check to confirm by looking at the binary radix.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.