Zusammenfassung – Ein Modul erstellen
Teil des Abschnitts Grundlagen der Verilog-Journey von Coddy — Lektion 36 von 90.
Aufgabe
Diese Herausforderung kombiniert alles, was Sie in diesem Kapitel gelernt haben. Sie werden ein Modul von Grund auf neu erstellen und es instanziieren.
Was zu tun ist:
Teil 1: Erstellen Sie ein Modul namens <strong>flipflop</strong> mit:
- 1-Bit-Eingang namens
clk - 1-Bit-Eingang namens
d - 1-Bit-Eingang namens
reset - 1-Bit-Ausgang namens
q(verwenden Sie reg, zugewiesen in einem always-Block)
Das Modul sollte wie folgt funktionieren:
- Wenn
reset1 ist, wirdqzu 0 - Andernfalls wird bei jeder Taktflanke
qzud
Teil 2: Instanziieren Sie das <strong>flipflop</strong>-Modul im <strong>top</strong>-Modul unter Verwendung von Port-Mapping nach Namen
Verbinden Sie die Ports mit den folgenden Signalen:
- Port
clk→ Signalclock - Port
d→ Signaldata - Port
reset→ Signalreset_signal - Port
q→ Signalout
Probier es selbst
// Teil 1: Erstelle das Flipflop-Modul
// TODO: Ports hinzufügen
// TODO: Always-Block mit posedge clk und posedge reset hinzufügen
// Wenn reset 1 ist, q <= 0
// Ansonsten q <= d
// Teil 2: Top-Modul mit Instanziierung
module top (
input clock,
input data,
input reset_signal,
output out
);
// TODO: Flipflop mit dem Instanznamen ff1 instanziieren
// Port-Mapping nach Namen verwenden: .clk(clock), .d(data), .reset(reset_signal), .q(out)
endmoduleAlle 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