Podsumowanie — zbuduj moduł
Część sekcji Podstawy ścieżki Verilog w Coddy. Lekcja 36 z 90.
Wyzwanie
To wyzwanie łączy wszystko, czego nauczysz się w tym rozdziale. Utworzysz moduł od podstaw i utworzysz jego instancję.
Co należy zrobić:
Część 1: Utwórz moduł o nazwie <strong>flipflop</strong> z:
- 1-bitowym wejściem o nazwie
clk - 1-bitowym wejściem o nazwie
d - 1-bitowym wejściem o nazwie
reset - 1-bitowym wyjściem o nazwie
q(użyj reg, przypisywanego w bloku always)
Moduł powinien działać następująco:
- Gdy
resetma wartość 1,qprzyjmuje wartość 0 - W przeciwnym razie, przy każdym zboczu zegara,
qprzyjmuje wartośćd
Część 2: Utwórz instancję modułu <strong>flipflop</strong> w module <strong>top</strong>, używając mapowania portów według nazw
Połącz porty z następującymi sygnałami:
- Port
clk→ sygnałclock - Port
d→ sygnałdata - Port
reset→ sygnałreset_signal - Port
q→ sygnałout
Spróbuj swoich sił
// Część 1: Utwórz moduł flipflop
// TODO: Dodaj porty
// TODO: Dodaj blok always z posedge clk i posedge reset
// Jeśli reset wynosi 1, q <= 0
// W przeciwnym razie q <= d
// Część 2: Moduł top z instancją
module top (
input clock,
input data,
input reset_signal,
output out
);
// TODO: Utwórz instancję modułu flipflop o nazwie ff1
// Użyj mapowania portów według nazw: .clk(clock), .d(data), .reset(reset_signal), .q(out)
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