Menu
Coddy logo textTech

2-zu-1-Mux-Entwurf

Teil des Abschnitts Grundlagen der Verilog-Journey von Coddy. Lektion 64 von 90.

challenge icon

Aufgabe

Ein Multiplexer (MUX) ist eine digitale Schaltung, die einen von mehreren Eingängen auswählt und ihn abhängig von einem Auswahlsignal an einen einzelnen Ausgang weiterleitet. Stell ihn dir wie einen Datenschalter vor. Mehrere Eingänge kommen an, und du wählst aus, welcher davon zum Ausgang gelangt.

In diesem Projekt wirst du Multiplexer verschiedener Größen mit if-else- und case-Anweisungen erstellen.

2-zu-1-Multiplexer

Der 2-zu-1-Multiplexer ist die einfachste Form. Er verfügt über zwei Dateneingänge (in0 und in1), einen Auswahleingang (sel) und einen Ausgang (out). Wenn sel 0 ist, folgt der Ausgang in0. Wenn sel 1 ist, folgt der Ausgang in1. Du wirst dies mithilfe einer if-else-Anweisung innerhalb eines always @(*)-Blocks implementieren.

Beispiel: Wenn in0 = 0, in1 = 1 und sel = 1 gilt, dann ist out = 1.

Ein 2-zu-1-Multiplexer wählt abhängig von einem Auswahlsignal einen von zwei Eingängen aus und leitet ihn an den Ausgang weiter.

Wahrheitstabelle

 

selout
0out = in0
1out = in1

Wenn sel 0 ist, folgt der Ausgang in0. Wenn sel 1 ist, folgt der Ausgang in1.

Aufgabe:

  1. Erstelle ein Modul namens mux2to1
  2. Füge den Eingang in0 hinzu (1 Bit)
  3. Füge den Eingang in1 hinzu (1 Bit)
  4. Füge den Eingang sel hinzu (1 Bit)
  5. Füge den Ausgang out hinzu (1 Bit, Typ reg)
  6. Füge einen always @(*)-Block hinzu
  7. Füge darin eine if-else-Anweisung hinzu:
    • Wenn sel == 0, setze out = in0
    • Andernfalls setze out = in1
  8. Schließe mit endmodule ab

Probier es selbst

// Schritt 1: Erstelle Modul namens mux2to1


  // Schritt 2: Füge Eingang in0 hinzu
  
  // Schritt 3: Füge Eingang in1 hinzu
  
  // Schritt 4: Füge Eingang sel hinzu
  
  // Schritt 5: Füge Ausgang out hinzu (reg-Typ)
  

  // Schritt 6: Füge always @(*)-Block hinzu
  

    // Schritt 7: Füge if-else-Anweisung hinzu
    // Wenn sel == 0, out = in0
    // Sonst, out = in1
    

// Schritt 8: Endmodule

Alle Lektionen in Grundlagen

Übe selbstständig: Online-Verilog-Compiler