std_logic type
This is a resolved version of the std_ulogic type.
Like std_ulogic, a signal or variable of this type can take on the following values:
'U': uninitialized. This signal hasn't been set yet.
'X': unknown. Impossible to determine this value/result.
'0': logic 0
'1': logic 1
'Z': High Impedance
'W': Weak signal, can't tell if it should be 0 or 1.
'L': Weak signal that should probably go to 0
'H': Weak signal that should probably go to 1
'-': Don't care.
The basic VHDL logic operations are defined on this type:
and,
nand,
or,
nor,
xor,
xnor,
not. They can be used like the built-in operations on the bits.
signal s1, s2 : std_logic; ... variable v1, v2 : std_logic; ... s1 <= '0'; v1 := '1'; s2 <= 'X'; wait for 10 ns; s2 <= s1 and v1; -- '0' v2 := s1 or v1; -- '1'