Podsumowanie — audyt sumatora
Część sekcji Projektowanie RTL i weryfikacja ścieżki Verilog w Coddy. Lekcja 30 z 38.
Wyzwanie
ŚredniZaimplementuj audyt dla czterobitowego sumatora bez znaku. Zliczaj checked i errors, tak jak w lekcji o scoreboardzie, i zachowaj bity pokrycia: bit 0 oznacza a=b=0, bit 1 oznacza a=b=15, a bit 2 oznacza każdą inną parę wejściową. Porównaj actual z pełną pięciobitową sumą, używając nierówności czterostanowej. Wywołujący inicjuje wszystkie liczniki i flagi. Ten moduł zawiera przeznaczone wyłącznie do symulacji task, wywoływane przez zablokowany testbench. Kolumny wyjściowe: checked, errors, seen.
Uzupełnij design.v i zachowaj nazwy modułów oraz portów. Zablokowany testbench.v dostarcza zmiany wejść i wyświetla wyjścia po ich ustaleniu. Wybiera scenariusz za pomocą argumentu symulatora, takiego jak +CASE=1; standardowe wejście nie jest wymagane. Pozostaw wyświetlanie wyników i sterowanie scenariuszami w zablokowanym testbench; zaimplementuj tylko treść task. Oczekiwany wynik to jeden wiersz wartości dziesiętnych dla każdej obserwacji, oddzielonych pojedynczą spacją i zakończonych znakiem nowej linii.
Spróbuj swoich sił
module dut;
task audit;
input [3:0] a,b;
input [4:0] actual;
inout integer checked,errors;
inout [2:0] seen;
reg [4:0] expected;
begin
// Uzupełnij zadanie sprawdzające.
checked=checked;errors=errors;seen=seen;
end
endtask
endmoduleWszystkie lekcje w sekcji Projektowanie RTL i weryfikacja
1Niezawodna logika kombinacyjna RTL
Wartości domyślne zapobiegają zatrzaskomKoder priorytetowyWeryfikacja kodu one-hotBezpieczne dekodowanie casePodsumowanie — router żądań2Szerokości i arytmetyka ze znakiem
Zachowywanie bitów przeniesieniaPorównania ze znakiemArytmetyczne przesunięcia w prawoPrzepełnienie i nasyceniePodsumowanie — różnica ze znakiem3Wielokrotnego użytku RTL
Funkcje kombinacyjneParametry bezpieczne pod względem szerokościPętle generateWarunkowe generatePodsumowanie – wielokrotnego użytku maska bitowa6Testbenche z autotestowaniem
Sprawdzanie stanów czterowartościowychWielokrotnego użytku zadania sprawdzająceModele referencyjne i wynikiPokrycie warunków brzegowych i sterowaniaPodsumowanie — audyt sumatoraPoćwicz samodzielnie: Kompilator Verilog online