Este ejemplo implementa un bus de 8 bits que alimenta y recibe comentarios de pines bidireccionales.
Para obtener más información sobre el uso de este ejemplo en su proyecto, vaya a:
bidir.vhd (implementación de bus triestado)
Ieee de la biblioteca; UTILICE ieee.std_logic_1164.ALL; ENTITY bidir IS PORT (bidir: INOUT STD_LOGIC_VECTOR (7 DOWNTO 0); oe, clk: IN STD_LOGIC; inp: IN STD_LOGIC_VECTOR (7 DOWNTO 0); salida: OUT STD_LOGIC_VECTOR (7 DOWNTO 0)); END bidir; ARQUITECTURA maxpld OF bidir IS SIGNAL a: STD_LOGIC_VECTOR (7 DOWNTO 0); -- DFF que almacena -- valor de la entrada. SEÑAL B: STD_LOGIC_VECTOR (7 DOWNTO 0); -- DFF que almacena BEGIN - valor de retroalimentación. PROCESS(clk) BEGIN IF clk = '1' AND clk'EVENT THEN-- Crea las flipflops un <= inp; outp <= b; FINALIZAR SI; PROCESO FINAL; PROCESS (oe, bidir) -- Representación de comportamiento BEGIN - de estados triples. IF( oe = '0') a continuación, bidir <= "ZZZZZZZZ" b <= bidir; ELSE bidir <= a; b <= bidir; FINALIZAR SI; PROCESO FINAL; END maxpld;