VHDL: Bidirektionaler Bus

author-image

Von

Dieses Beispiel implementiert einen 8-Bit-Bus, der Feeds und Feedback von bidirektionalen Pins erhält.

Weitere Informationen zur Verwendung dieses Beispiels in Ihrem Projekt siehe:

" (Tri-State-Bus-Implementierung)

LIBRARY( IEEE);
VERWENDEN SIE ieee.std_logic_1164.ALL;

ENTITY(inout) IS
        PORT(inout:   INOUT STD_LOGIC_VECTOR (7 DOWNTO 0);
        oe, clk: IN STD_LOGIC;     inp: IN STD_LOGIC_VECTOR (7 DOWNTO 0);    outp: OUT STD_LOGIC_VECTOR (7 DOWNTO 0));
END(END);

ARCHITECTURE maxpld OF (maximaler WERT) IST
SIGNAL  a: STD_LOGIC_VECTOR (7 DOWNTO 0);  -- DFF, der 
                                             -- Wert von der Eingabe speichert.
SIGNAL  b: STD_LOGIC_VECTOR (7 DOWNTO 0);  -- DFF, der BEGIN speichert                                        – Feedback-Wert.
    PROCESS(clk)
    BEGIN
    IF clk = '1' UND clk'EVENT THEN  – Erstellt die Flipflops
        einen <= inp;                    
        outp <= b;                  
        END-IF;
    ENDPROZESS;    
    PROCESS (oe, wiederintehiert)          – Verhaltensrepräsentierung 
        BEGIN – von                    Tri-States.
        IF( oe = '0')
            THEN: <= "ZZZZZZZZ"
            b <= <= <;
        ELSE
            <= a; 
            b <= <;
        END-IF;
    ENDPROZESS;
END maxpld;

Der Inhalt dieser Seite ist eine Kombination aus menschlicher und computerbasierter Übersetzung des originalen, englischsprachigen Inhalts. Dieser Inhalt wird zum besseren Verständnis und nur zur allgemeinen Information bereitgestellt und sollte nicht als vollständig oder fehlerfrei betrachtet werden. Sollte eine Diskrepanz zwischen der englischsprachigen Version dieser Seite und der Übersetzung auftreten, gilt die englische Version. Englische Version dieser Seite anzeigen.