4-Bit-Zähler
Teil des Abschnitts Grundlagen der Verilog-Journey von Coddy. Lektion 84 von 90.
Aufgabe
Erstelle einen 4-Bit-Zähler, der von 0 bis 15 zählt und anschließend wieder auf 0 zurückspringt.
Modulschnittstelle
| Anschluss | Richtung | Breite | Beschreibung |
|---|---|---|---|
clk | Eingang | 1 Bit | Taktsignal |
reset | Eingang | 1 Bit | Zähler auf 0 zurücksetzen |
count | Ausgang | 4 Bits | Aktueller Zählerwert |
Wahrheitstabelle
| Taktzyklus | count |
|---|---|
| Nach dem Zurücksetzen | 0 |
| 1 | 1 |
| 2 | 2 |
| ... | ... |
| 15 | 15 |
| 16 | 0 (springt zurück) |
Deine Aufgabe ist es, das folgende Modul zu vervollständigen.
Aufgabe:
- Setze
countbeiresetauf 0 - Erhöhe
countbei jeder steigenden Taktflanke um 1 - Wenn
count15 erreicht, soll die nächste Erhöhung auf 0 zurückspringen
Probier es selbst
module counter (
input clk,
input reset,
output reg [3:0] count
);
// TODO: always-Block mit posedge clk und posedge reset hinzufügen
// Bei Reset: count <= 0
// Andernfalls: count <= count + 1
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