Menu
Coddy logo textTech

2-zu-1-Mux-Design

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 basierend auf einem Auswahlsignal an einen einzelnen Ausgang weiterleitet. Stellen Sie sich ihn wie einen Datenselektor vor — Sie haben mehrere eingehende Eingänge und wählen aus, welcher zum Ausgang geht.

In diesem Projekt werden Sie Multiplexer verschiedener Größen unter Verwendung von if-else- und case-Anweisungen bauen.

2-zu-1 Multiplexer

Der 2-zu-1 Multiplexer ist die einfachste Form. Er hat zwei Dateneingänge (in0 und in1), einen Auswahleingang (sel) und einen Ausgang (out). Wenn sel den Wert 0 hat, folgt der Ausgang in0. Wenn sel den Wert 1 hat, folgt der Ausgang in1. Sie werden dies mit einer if-else-Anweisung innerhalb eines always @(*)-Blocks implementieren.

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

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

Wahrheitstabelle

 

selout
0out = in0
1out = in1

Wenn sel den Wert 0 hat, folgt der Ausgang in0. Wenn sel den Wert 1 hat, folgt der Ausgang in1.

Was zu tun ist:

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

Probier es selbst

// Schritt 1: Modul namens mux2to1 erstellen


  // Schritt 2: Eingang in0 hinzufügen
  
  // Schritt 3: Eingang in1 hinzufügen
  
  // Schritt 4: Eingang sel hinzufügen
  
  // Schritt 5: Ausgang out hinzufügen (Typ reg)
  

  // Schritt 6: always @(*)-Block hinzufügen
  

    // Schritt 7: if-else-Anweisung hinzufügen
    // Wenn sel == 0, out = in0
    // Sonst, out = in1
    

// Schritt 8: Endmodule

Alle Lektionen in Grundlagen