Wyzwanie – potok parzystości
Część sekcji Projektowanie RTL i weryfikacja ścieżki Verilog w Coddy. Lekcja 36 z 38.
Wyzwanie
ŚredniZbuduj dwustopniowy potok parzystości. Najpierw przechwyć dane bajtu i in_valid. Na następnym zboczu, jeśli nie jest aktywny reset, wyjściowa parzystość jest wynikiem operacji XOR redukcyjnego na poprzednio przechwyconym bajcie, gdy jego poprzedni sygnał valid jest w stanie wysokim; w przeciwnym razie wynosi zero. out_valid to opóźniony sygnał valid. Synchroniczny sygnał rst czyści oba etapy i wyjścia. Kolumny wyjściowe: parity, out_valid. Wszystkie sygnały sterujące i dane są stabilne przed każdym narastającym zboczem zegara; wyniki są odczytywane później.
Uzupełnij design.v i zachowaj nazwy modułów oraz portów. Zablokowany plik testbench.v dostarcza zmiany wejść i wypisuje wyjścia po ich ustabilizowaniu. Wybiera scenariusz za pomocą argumentu symulatora, takiego jak +CASE=1; standardowe wejście nie jest wymagane. Nie dodawaj do projektu instrukcji wypisywania, opóźnień ani kończenia symulacji. Oczekiwane wyjście to jeden wiersz wartości dziesiętnych na każdą obserwację, oddzielonych pojedynczą spacją i zakończonych znakiem nowej linii.
Spróbuj swoich sił
module dut (input clk, input rst, input in_valid, input [7:0] data, output reg parity, output reg out_valid);
// Zastąp ten kod zastępczy własnym projektem.
initial parity = 0;
initial out_valid = 0;
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 znakiem5Pamięć i tablice wyszukiwania
Kombinacyjne tablice ROMPrzechowywanie w tablicy rejestrówRejestrowane porty odczytuPrzekazywanie danych przy odczycie i zapisiePodsumowanie — bank z dwoma portami odczytu8Końcowe wyzwania
Wyzwanie – potok parzystościWyzwanie – zdarzenia wzorcówWyzwanie – suma ograniczonaPoćwicz samodzielnie: Kompilator Verilog online