Powtórka — prosta matematyka
Część sekcji Podstawy ścieżki Verilog w Coddy. Lekcja 22 z 90.
Wyzwanie
Uzupełnij kod, zapisując prawidłowe wyrażenia arytmetyczne i porównawcze.
Co należy zrobić:
- Oblicz
a + bi zapisz wynik wadd - Oblicz
a - bi zapisz wynik wsub - Oblicz
a * bi zapisz wynik wmul - Oblicz
a / bi zapisz wynik wdiv - Oblicz
a % bi zapisz wynik wmod - Sprawdź, czy
ajest większe niżb, i zapisz wynik wgt - Sprawdź, czy
ajest równeb, i zapisz wynik weq
Spróbuj swoich sił
module simple_math_challenge;
reg [3:0] a, b;
reg [7:0] add, sub, mul, div, mod;
reg gt, eq;
initial begin
a = 4'd13;
b = 4'd4;
add = ______; // a + b
sub = ______; // a - b
mul = ______; // a * b
div = ______; // a / b
mod = ______; // a % b
gt = ______; // a > b
eq = ______; // a == b
$display("13 + 4 = %d", add);
$display("13 - 4 = %d", sub);
$display("13 * 4 = %d", mul);
$display("13 / 4 = %d", div);
$display("13 %% 4 = %d", mod);
$display("13 > 4 = %d", gt);
$display("13 == 4 = %d", eq);
$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