Three-State Drivers in VHDL
use IEEE.std_logic_1164.all;
G_L: in STD_LOGIC; -- Global output enable
SEL: in STD_LOGIC_VECTOR (1 downto 0); -- Input select 0, 1, 2, 3 ==> A, B, C, D
A, B, C, D: in STD_LOGIC_VECTOR (1 to 8); -- Input buses
X: out STD_ULOGIC_VECTOR (1 to 8) -- Output bus (three-state)
architecture V3states of V3statex is
if G_L=‘0’ and SEL = “00” then X <= To_StdULogicVector(A);
else X <= (others => ‘Z’);