Rückblick – Ein Modul erstellen
Teil des Abschnitts Grundlagen der Verilog-Journey von Coddy. Lektion 36 von 90.
Aufgabe
Diese Herausforderung verbindet alles, was du in diesem Kapitel gelernt hast. Du wirst ein Modul von Grund auf erstellen und instanziieren.
Aufgabe:
Teil 1: Erstelle 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(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 <strong>flipflop</strong>-Modul im <strong>top</strong>-Modul mithilfe 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: 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
// Sonst q <= d
// Teil 2: Top-Modul mit Instanziierung
module top (
input clock,
input data,
input reset_signal,
output out
);
// TODO: Instantiiere flipflop mit Instanzname ff1
// Verwende Port-Mapping nach Namen: .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