Pisanie modułu
Część sekcji Podstawy ścieżki Verilog w Coddy. Lekcja 43 z 90.
Wyzwanie
Półsumator to układ, który dodaje dwa pojedyncze bity i informuje Cię o:
- sum: wyniku (0 lub 1)
- carry: czy występuje przepełnienie (1, gdy oba wejścia mają wartość 1)
Przykład
| a | b | sum | carry |
|---|---|---|---|
| 0 | 0 | 0 | brak przepełnienia |
| 0 | 1 | 1 | brak przepełnienia |
| 1 | 0 | 1 | brak przepełnienia |
| 1 | 1 | 0 | przepełnienie (carry = 1) |
Gdy dodajesz 1 + 1 w systemie binarnym, wynikiem jest 0 z przeniesieniem równym 1 (tak jak 5 + 5 = 0 z przeniesieniem równym 1 w systemie dziesiętnym).
Zanim dodamy logikę, musimy utworzyć kontener modułu: pustą strukturę, która będzie zawierać nasz układ półsumatora.
W przypadku półsumatora zadania są następujące:
- Utwórz moduł o nazwie
half_adder - Dodaj dwa wejścia:
aib - Dodaj dwa wyjścia:
sumicarry
Spróbuj swoich sił
// Zadanie 1: Utwórz moduł o nazwie half_adder
// Zadanie 2: Dodaj dwa wejścia: a i b
// Zadanie 3: Dodaj dwa wyjścia: sum i carry
// Logika zostanie dodana później
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