Podsumowanie — kontrola czasu
Część sekcji Podstawy ścieżki Verilog w Coddy. Lekcja 72 z 90.
Wyzwanie
To wyzwanie sprawdza Twoje zrozumienie opóźnień, opóźnień bramek, opóźnień przypisania, skali czasu i generowania zegara.
Co należy zrobić:
- Dodaj dyrektywę
timescalez wartością1ns / 1ps - Wygeneruj sygnał zegarowy, który zmienia stan co 5 jednostek czasu
- Dodaj bramkę AND z opóźnieniem 3 jednostek czasu
- Użyj opóźnienia przypisania, aby przypisać
adobpo 2 jednostkach czasu (odczytajanatychmiast)
Spróbuj swoich sił
// TODO: Dodaj dyrektywę timescale (1ns / 1ps)
module timing_challenge;
reg clk;
reg a, b;
wire out;
initial begin
clk = 0;
end
// TODO: Wygeneruj sygnał zegarowy, który zmienia stan co 5 jednostek czasu
// TODO: Dodaj bramkę AND z opóźnieniem 3 jednostek czasu (wejścia a, b, wyjście out)
initial begin
$monitor("Time %0t: clk=%b, a=%b, b=%b, out=%b", $time, clk, a, b, out);
a = 1;
// TODO: Użyj opóźnienia przypisania, aby przypisać wartość a do b po 2 jednostkach czasu
// Odczytaj teraz a, a po 2 jednostkach czasu przypisz jego wartość do b
#20;
$finish;
end
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