Rückblick – Ein Modul erstellen
Teil des Abschnitts Grundlagen der Verilog-Journey von Coddy. Lektion 36 von 90.
Aufgabe
Diese Herausforderung kombiniert alles, was du in diesem Kapitel gelernt hast. Du erstellst ein Modul von Grund auf und instanziierst es.
Was zu tun ist:
Teil 1: Erstelle ein Modul namens flipflop mit:
- 1-Bit-Eingang namens
clk - 1-Bit-Eingang namens
d - 1-Bit-Eingang namens
reset - 1-Bit-Ausgang namens
q(verwende reg, zugewiesen in einem always-Block)
Das Modul soll wie folgt funktionieren:
- Wenn
reset1 ist, wirdqzu 0 - Andernfalls wird
qbei jeder Taktflanke zud
Teil 2: Instanziiere das flipflop-Modul im top-Modul unter Verwendung der Portzuordnung nach Namen
Verbinde die Ports mit den folgenden Signalen:
- Port
clk→ Signalclock - Port
d→ Signaldata - Port
reset→ Signalreset_signal - Port
q→ Signalout
Probier es selbst
// Teil 1: Das Modul flipflop erstellen
// TODO: Ports hinzufügen
// TODO: Einen always-Block mit posedge clk und posedge reset hinzufügen
// Wenn reset 1 ist, q <= 0
// Andernfalls 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
// Portzuordnung nach Namen verwenden: .clk(clock), .d(data), .reset(reset_signal), .q(out)
endmoduleAlle Lektionen in Grundlagen
1Einführung
Was ist VerilogHardware vs. SoftwareIhr erstes ModulKommentareAbstraktionsebenen des Designs4Operatoren Teil 1
Arithmetische OperatorenModulo-OperatorVergleichsoperatorenWiederholung – einfache MathematikBitweise Operatoren7Zuweisungen und Gatter
Kontinuierliche ZuweisungZuweisung mit OperatorenIntegrierte Gatter-GrundelementeUND-, ODER- und NICHT-GatterXOR- und XNOR-GatterRückblick – Logikgatter-Schaltung10Entscheidungsfindung
If-AnweisungIf – ElseRückblick – Einfacher KomparatorCase-AnweisungCasex und CasezRückblick – ALU-Entwurf13Zeitsteuerung und Verzögerungen
Was sind Verzögerungen?GatterverzögerungenZuweisungsverzögerungenTimescale-DirektiveTakterzeugungZusammenfassung – Zeitsteuerung2Datentypen
Wire-TypReg-TypInteger und RealVektorenArraysParameterZusammenfassung – Signale deklarieren5Operatoren Teil 2
Logische OperatorenReduktionsoperatorenSchiebeoperatorenVerkettungsoperatorBedingter OperatorRückblick – Operatoren-Herausforderung11Schleifen
For-SchleifeWhile-SchleifeWiederholungsschleifeEndlosschleifeAnweisung deaktivierenRückblick – Schleifenmuster3Zahlensystem
Binäre DarstellungZahlen mit fester BreiteZahlen ohne feste BreiteNegative ZahlenSpezialwerte X und ZZusammenfassung – Zahlenformate6Module
ModulstrukturInput- und Output-PortsInout-PortsModulinstanziierungPortzuordnung nach NamenPortzuordnung nach ReihenfolgeRückblick – Ein Modul erstellenÜbe selbstständig: Online-Verilog-Compiler