Menu
Coddy logo textTech

Wyzwanie – zdarzenia wzorców

Część sekcji Projektowanie RTL i weryfikacja ścieżki Verilog w Coddy. Lekcja 37 z 38.

challenge icon

Wyzwanie

Średni

Wykrywaj 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;
endmodule

Wszystkie lekcje w sekcji Projektowanie RTL i weryfikacja

Poćwicz samodzielnie: Kompilator Verilog online