Wyzwanie – zdarzenia wzorców
Część sekcji Projektowanie RTL i weryfikacja ścieżki Verilog w Coddy. Lekcja 37 z 38.
Wyzwanie
ŚredniWykrywaj wzorzec bitowy 101 w zaakceptowanych próbkach wejściowych. en=1 akceptuje bit_in na narastającym zboczu; en=0 zachowuje stan częściowego dopasowania i generuje hit=0. Ustaw zarejestrowane hit=1 tylko wtedy, gdy zaakceptowany bit kończy wzorzec 101. Dozwolone są nakładające się dopasowania: 10101 generuje dwa impulsy. Synchroniczne rst zeruje stan i hit, mając priorytet nad en. Kolumny wyjściowe: hit. Wszystkie sygnały sterujące i dane są stabilne przed każdym narastającym zboczem zegara; wyniki są odczytywane po nim.
Uzupełnij design.v i zachowaj nazwy modułów oraz porty. Zablokowany testbench.v dostarcza zmiany wejściowe 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 wypisywania, opóźnień ani zakończenia symulacji do projektu. Oczekiwane wyjście 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 (input clk, input rst, input en, input bit_in, output reg hit);
// Zastąp ten kod zastępczy własnym projektem.
initial hit = 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