VHDL: Barramento bidirecional

author-image

Por

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;

O conteúdo desta página é uma combinação de tradução humana e por computador do conteúdo original em inglês. Este conteúdo é fornecido para sua conveniência e apenas para informação geral, e não deve ser considerado completo ou exato. Se houver alguma contradição entre a versão em inglês desta página e a tradução, a versão em inglês prevalecerá e será a determinante. Exibir a versão em inglês desta página.