Este exemplo implementa um barramento de 8 bits que alimenta e recebe feedback de pinos bidirecionais.
Para obter mais informações sobre como usar este exemplo em seu projeto, acesse:
bidir.vhd (implementação de barramento de três estados)
Ieee BIBLIOTECA; USE IEEE.STD_LOGIC_1164.ALL; ENTITY BIDIR IS PORT (bidir: INOUT STD_LOGIC_VECTOR (7 DOWNTO 0); oe,clk: IN STD_LOGIC; inp: EM STD_LOGIC_VECTOR (7 DOWNTO 0); outp: OUT STD_LOGIC_VECTOR (7 DOWNTO 0)); BIDIR FINAL; ARQUITETURA maxpld of bidir IS SIGNAL a: STD_LOGIC_VECTOR (7 DOWNTO 0); -- DFF que armazena -- valor da entrada. SINAL b: STD_LOGIC_VECTOR (7 DOWNTO 0); -- DFF que armazena BEGIN - valor de feedback. PROCESS(clk) BEGIN IF clk = '1' AND clk'EVENT THEN -- Cria o flipflops um <= inp; outp <= b; TERMINAR SE; PROCESSO FINAL; PROCESSO (oe, bidir) - Representação comportamental BEGIN - de três estados. IF(oe = '0') ENTÃO bidir <= "ZZZZZZZZ" b <= bidir; ELSE bidir <= a; b <= bidir; TERMINAR SE; PROCESSO FINAL; Maxpld END;