Menu
Coddy logo textTech

Przyjmowanie włączonych próbek

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

challenge icon

Wyzwanie

Trudny

Zbuduj jeden Sample Monitor w pięciu krokach. Dodaj sterowanie enable: po priorytecie resetu, gdy en=1, dane są przyjmowane i dodawane do sumy; gdy en=0, suma pozostaje bez zmian. Zachowaj wszystkie wcześniejsze zachowania. Zachowaj wszystko z poprzednich kroków, w tym testbench i wcześniejsze zachowanie wyjścia. Wszystkie wartości wejściowe są znane. Scenariusze zawierają najwyżej 40 zboczy, więc suma mieści się w 16 bitach. Stały testbench wypisuje sumę dla scenariuszy 1–9, sumę i licznik dla scenariuszy 10–12 oraz sumę, licznik i alarm dla scenariuszy 13–15. Oceniane są tylko scenariusze włączone dla tego kroku.

Uzupełnij design.v i zachowaj nazwy modułów oraz porty. Zablokowany testbench.v podaje 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 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,rst,en,clear, input [7:0] data, input [15:0] limit, output reg [15:0] total, output reg [3:0] count, output alarm);
    always @(posedge clk)begin
        if(rst)total<=0;else total<=total+data;
        count<=0;
    end
    assign alarm=0;
endmodule

Wszystkie lekcje w sekcji Projektowanie RTL i weryfikacja

Poćwicz samodzielnie: Kompilator Verilog online