Menu
Coddy logo textTech

Wykrywanie próbkowanych zboczy

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

Poziom może pozostawać wysoki przez wiele cykli, podczas gdy impuls zdarzenia powinien trwać jeden cykl. Zapisz poprzedni próbkowany poziom i porównaj go z bieżącym. Ten detektor zbocza zakłada, że wejście jest już zsynchronizowane z tym zegarem; nie jest to synchronizator przejścia między domenami zegarowymi.

Odpowiedni fragment; pozostałe deklaracje i połączenia są podane w wyzwaniu.

previous <= sig;
rising <= sig & ~previous;

Poprzedni zapamiętany poziom powoduje pojedynczy impuls przy próbkowanej zmianie stanu.

Porównaj bieżące i poprzednie próbkowane poziomy; używaj tego detektora tylko z wejściem synchronicznym.

challenge icon

Wyzwanie

Średni

Dla sygnału sig już zsynchronizowanego z clk generuj zarejestrowany impuls trwający jeden cykl przy każdym próbkowanym przejściu z 0 do 1. Synchroniczny rst zeruje zapamiętany poprzedni poziom i impuls. Wysoki poziom sig na pierwszym zboczu, na którym nie jest aktywny reset, powoduje więc wygenerowanie impulsu. Kolumny wyjściowe: pulse. Wszystkie sygnały sterujące i dane są stabilne przed każdym narastającym zboczem zegara; wyniki są obserwowane później.

Uzupełnij design.v i zachowaj nazwy modułów oraz porty. Zablokowany plik testbench.v dostarcza zmiany wejść i wypisuje wyjścia po ich ustaleniu. Wybiera scenariusz za pomocą argumentu symulatora, takiego jak +CASE=1; standardowe wejście nie jest wymagane. Nie dodawaj do projektu wypisywania, opóźnień ani kończenia symulacji. 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 sig, output reg pulse);
    // Zastąp ten kod zastępczy własnym projektem.
    initial pulse = 0;
endmodule
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Projektowanie RTL i weryfikacja

Poćwicz samodzielnie: Kompilator Verilog online