Zusammenfassung – Always vs. Initial
Teil des Abschnitts Grundlagen der Verilog-Journey von Coddy — Lektion 51 von 90.
Aufgabe
Always vs Initial
Vervollständigen Sie beide Blöcke, damit dieser Zähler korrekt funktioniert.
Was zu tun ist:
- Der
initial-Block solltecountzum Zeitpunkt 0 auf 0 initialisieren - Der
always-Block solltecountbei jeder steigenden Taktflanke um 1 erhöhen
Probier es selbst
module counter;
reg clk;
reg [3:0] count;
// Taktgenerator (bereits gegeben)
always #5 clk = ~clk;
// TODO: Initial-Block hinzufügen, um count = 0 zu setzen
// TODO: Always-Block hinzufügen, um count bei posedge clk zu inkrementieren
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 erstellen9Prozedurale Blöcke
Always-BlockInitial-BlockSensitivitätslisteBlockierende ZuweisungNicht-blockierende ZuweisungZusammenfassung – Always vs. Initial