Menu
Coddy logo textTech

Wyzwanie – suma ograniczona

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

challenge icon

Wyzwanie

Średni

Dodawaj signed 8-bitową próbkę do signed q przy aktywnych zboczach narastających, z nasyceniem przy -128 i 127. Ustawiaj clipped na stałe, gdy wystąpi nasycenie; po ustawieniu pozostaje ustawione aż do rst lub clear. Oba synchroniczne sygnały sterujące zerują q i clipped i mają priorytet nad en. Przy nieaktywnych zboczach obie wartości pozostają bez zmian. Kolumny wyjściowe: q, clipped. 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 porty. Zablokowany testbench.v dostarcza zmiany wejść i wyświetla 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 wyświetlania, 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 clear, input en, input signed [7:0] sample, output reg signed [7:0] q, output reg clipped);
    // Zastąp ten kod zastępczy własnym projektem.
    initial q = 0;
    initial clipped = 0;
endmodule

Wszystkie lekcje w sekcji Projektowanie RTL i weryfikacja

Poćwicz samodzielnie: Kompilator Verilog online