IEEE 1164
IEEE 1164 is a standard developed and maintained by the Institute of Electrical and Electronics Engineers (IEEE) that defines the standard logic system for the VHDL hardware description language. It establishes a unified way to represent logic values beyond simple '0' and '1', enabling the modeling of unknown, uninitialized, and high-impedance states within digital circuits.
The standard defines a multi-valued logic system, commonly referred to as std_logic or the IEEE 1164 logic system. This system includes nine logic values:
- 'U': Uninitialized. Represents an unknown value at the start of simulation.
- 'X': Forcing Unknown. Represents a conflict where multiple drivers force conflicting values.
- '0': Forcing Logic Zero. Represents a strong low signal.
- '1': Forcing Logic One. Represents a strong high signal.
- 'Z': High Impedance. Represents an unconnected or tristated output.
- 'W': Weak Unknown. Represents an unknown value with a weak drive strength.
- 'L': Weak Logic Zero. Represents a weak low signal.
- 'H': Weak Logic One. Represents a weak high signal.
- '-': Don't Care. Represents a value that is irrelevant for a particular operation.
The standard provides definitions for the logic values and also specifies the resolution functions that determine the resulting value when multiple signals are connected together. These resolution functions define how different logic values interact and resolve conflicts. The IEEE 1164 standard helps ensure interoperability and consistency in VHDL models by providing a common, well-defined logic system for representing and simulating digital circuits. The use of this standard is highly recommended for all VHDL designs, as it facilitates code reuse, simplifies debugging, and promotes collaboration among designers.