4-bitowy licznik
Część sekcji Podstawy ścieżki Verilog w Coddy. Lekcja 84 z 90.
Wyzwanie
Zbuduj 4-bitowy licznik, który liczy od 0 do 15, a następnie zawija się z powrotem do 0.
Interfejs modułu
| Port | Kierunek | Szerokość | Opis |
|---|---|---|---|
clk | wejście | 1 bit | Sygnał zegarowy |
reset | wejście | 1 bit | Wyzerowanie licznika |
count | wyjście | 4 bity | Bieżąca wartość licznika |
Tablica prawdy
| Cykl zegara | count |
|---|---|
| Po resecie | 0 |
| 1 | 1 |
| 2 | 2 |
| ... | ... |
| 15 | 15 |
| 16 | 0 (zawija się) |
Twoim zadaniem jest uzupełnienie poniższego modułu.
Co należy zrobić:
- Po
resetustawcountna 0 - Przy każdym narastającym zboczu zegara zwiększ
counto 1 - Gdy
countosiągnie 15, następne zwiększenie powinno zawinąć wartość do 0
Spróbuj swoich sił
module counter (
input clk,
input reset,
output reg [3:0] count
);
// TODO: Dodaj blok always z posedge clk i posedge reset
// Przy reset: count <= 0
// W przeciwnym razie: count <= count + 1
endmoduleWszystkie lekcje w sekcji Podstawy
1Wprowadzenie
Czym jest VerilogSprzęt a oprogramowanieTwój pierwszy modułKomentarzePoziomy abstrakcji projektu4Operatory, część 1
Operatory arytmetyczneOperator moduloOperatory porównaniaPowtórka — prosta matematykaOperatory bitowe7Przypisania i bramki
Przypisanie ciągłePrzypisanie z operatoramiWbudowane prymitywy bramekBramki AND, OR i NOTBramki XOR i XNORPodsumowanie — układ z bramek logicznych10Podejmowanie decyzji
Instrukcja ifIf-elsePowtórka – prosty komparatorInstrukcja caseCaseX i CaseZPowtórka – projektowanie ALU13Odmierzanie czasu i opóźnienia
Czym są opóźnieniaOpóźnienia bramekOpóźnienia przypisańDyrektywa timescaleGenerowanie zegaraPodsumowanie — kontrola czasu2Typy danych
Typ WireTyp RegLiczby całkowite i rzeczywisteWektoryTabliceParametryPowtórka — deklarowanie sygnałów5Operatory — część 2
Operatory logiczneOperatory redukcjiOperatory przesunięciaOperator konkatenacjiOperator warunkowyPowtórzenie — wyzwanie z operatorami11Pętle
Pętla forPętla whilePętla repeatPętla nieskończonaInstrukcja wyłączaniaPowtórka — wzorce pętli3System liczbowy
Reprezentacja binarnaLiczby o określonej szerokościLiczby o nieokreślonej szerokościLiczby ujemneWartości specjalne X i ZPodsumowanie — formaty liczb6Moduły
Struktura modułuPorty wejściowe i wyjściowePorty dwukierunkoweInstancjonowanie modułuMapowanie portów według nazwMapowanie portów według kolejnościPodsumowanie — zbuduj moduł9Bloki proceduralne
Blok alwaysBlok initialLista czułościPrzypisanie blokującePrzypisanie nieblokującePodsumowanie — always a initial12Projekt multipleksera
Projekt multipleksera 2 do 1Projekt multipleksera 4 do 115Sterownik sygnalizacji świetlnej
Definiowanie stanówLogika maszyny stanówPoćwicz samodzielnie: Kompilator Verilog online