Typ Wire
Część sekcji Podstawy ścieżki Verilog w Coddy. Lekcja 6 z 90.
W Verilogu musimy zadeklarować, jakiego typu sygnału używamy. Najczęściej spotykanym typem jest wire.
wire reprezentuje fizyczne połączenie między komponentami. Przypomina prawdziwy przewód w obwodzie.
- Przewody nie mogą przechowywać wartości — jedynie przekazują wartości dalej
- Przewody są używane z instrukcjami
assign - Przewody służą do łączenia modułów
Deklarowanie przewodu
wire a; // Przewód jednobitowy
wire b, c; // Wiele przewodów w jednym wierszuJak działają przewody
module wire_example;
wire x;
reg y;
assign x = y; // x zawsze podąża za y
endmodulex jest powiązane z y. Za każdym razem, gdy y się zmienia, x zmienia się natychmiast.
Przewody są powszechnie używane do łączenia wejść i wyjść:
module and_gate(
input a, // 'a' jest domyślnie typu wire
input b, // 'b' jest domyślnie typu wire
output c // 'c' jest domyślnie typu wire
);
assign c = a & b; // Wartość c jest określana przez to przypisanie
endmoduleW tym przykładzie a, b i c to przewody.
Przewody są „spoiwem”, które łączy różne części twojego obwodu!
Wyzwanie
Co zrobić:
- Dodaj przewód o nazwie
temp
Spróbuj swoich sił
module simple(
input a,
input b,
output c
);
assign c = a & b;
// Zadeklaruj tutaj przewód temp
endmoduleTa lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie 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