Verwendung des Case-Statements
Teil des Abschnitts Grundlagen der Verilog-Journey von Coddy — Lektion 66 von 90.
Aufgabe
Erstellen Sie einen 4-zu-1-Multiplexer unter Verwendung einer case-Anweisung anstelle von if-else.
Wahrheitstabelle
| sel | out |
|---|---|
| 00 | out = in0 |
| 01 | out = in1 |
| 10 | out = in2 |
| 11 | out = in3 |
Was zu tun ist:
- Erstellen Sie ein Modul namens
mux4to1_case - Fügen Sie die Eingänge
in0,in1,in2,in3hinzu (jeweils 1 Bit) - Fügen Sie den Eingang
selhinzu (2 Bits) - Fügen Sie den Ausgang
outhinzu (1 Bit, Typreg) - Fügen Sie einen
always @(*)-Block hinzu - Fügen Sie darin eine
case (sel)-Anweisung hinzu - Fügen Sie Fälle für
2'b00,2'b01,2'b10,2'b11hinzu - Fügen Sie einen
default-Fall hinzu - Schließen Sie mit
endcaseundendmoduleab
Probier es selbst
// TODO: Erstelle ein Modul namens mux4to1_case
// TODO: Eingänge hinzufügen: in0, in1, in2, in3 (jeweils 1 Bit)
// TODO: Eingang sel hinzufügen (2 Bits)
// TODO: Ausgang out hinzufügen (Typ reg)
// TODO: always @(*)-Block hinzufügen
// TODO: case (sel) hinzufügen
// TODO: Fall 2'b00: out = in0; hinzufügen
// TODO: Fall 2'b01: out = in1; hinzufügen
// TODO: Fall 2'b10: out = in2; hinzufügen
// TODO: Fall 2'b11: out = in3; hinzufügen
// TODO: default: out = in0; hinzufügen
// TODO: endcase hinzufügen
// TODO: endmodule hinzufügenAlle Lektionen in Grundlagen
1Einführung
Was ist VerilogHardware vs. SoftwareAbstraktionsebenen im DesignDein erstes ModulKommentare4Operatoren Teil 1
Arithmetische OperatorenModulo-OperatorVergleichsoperatorenWiederholung – Einfache MathematikBitweise Operatoren7Zuweisung und Gatter
Kontinuierliche ZuweisungZuweisung mit OperatorenIntegrierte Gatter-PrimitiveAND OR NOT GatterXOR XNOR GatterZusammenfassung - Logikgatterschaltung10Entscheidungsfindung
If-AnweisungIf - ElseWiederholung - Einfacher KomparatorCase-AnweisungCasex und CasezWiederholung - ALU-Design5Operatoren Teil 2
Logische OperatorenReduktionsoperatorenShift-OperatorenVerkettungsoperatorBedingter OperatorZusammenfassung – Operator-Challenge11Schleifen
For-SchleifeWhile-SchleifeRepeat-SchleifeEndlosschleifeDisable-AnweisungRückblick – Schleifenmuster3Zahlensystem
Binäre DarstellungZahlen mit GrößenangabeZahlen ohne GrößenangabeNegative ZahlenSpezialwerte X und ZZusammenfassung – Zahlenformate6Module
ModulstrukturEingangs- und Ausgangs-PortsInout-PortsModul-InstanziierungPort-Mapping nach NamePort-Mapping nach ReihenfolgeZusammenfassung – Ein Modul erstellen