Verwendung des Case-Statements
Teil des Abschnitts Grundlagen der Verilog-Journey von Coddy — Lektion 66 von 90.
Aufgabe
Bauen 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 Module namens
mux4to1_case - Fügen Sie die Eingänge
in0,in1,in2,in3(jeweils 1 Bit) hinzu - Fügen Sie den Eingang
sel(2 Bits) hinzu - Fügen Sie den Ausgang
out(1 Bit, Typereg) hinzu - Fügen Sie einen
always @(*)-Block hinzu - Fügen Sie darin eine
case (sel)-Anweisung hinzu - Fügen Sie Cases für
2'b00,2'b01,2'b10,2'b11hinzu - Fügen Sie einen
default-Case hinzu - Schließen Sie mit
endcaseundendmoduleab
Probier es selbst
// TODO: Erstelle Modul namens mux4to1_case
// TODO: Füge Eingänge hinzu: in0, in1, in2, in3 (je 1 Bit)
// TODO: Füge Eingang sel hinzu (2 Bits)
// TODO: Füge Ausgang out hinzu (reg-Typ)
// TODO: Füge always @(*)-Block hinzu
// TODO: Füge case (sel) hinzu
// TODO: Füge case 2'b00: out = in0; hinzu
// TODO: Füge case 2'b01: out = in1; hinzu
// TODO: Füge case 2'b10: out = in2; hinzu
// TODO: Füge case 2'b11: out = in3; hinzu
// TODO: Füge default: out = in0; hinzu
// TODO: Füge endcase hinzu
// 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