Menu
Coddy logo textTech

Pokrycie warunków brzegowych i sterowania

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

Zaliczenie kilku testów różni się od sprawdzenia ważnych scenariuszy. Śledź, czy przetestowano wartości minimalne, maksymalne i zwykłe oraz czy konkurujące ze sobą elementy sterujące wystąpiły jednocześnie. Flaga pokrycia odnotowuje, że zaobserwowano case; nie dowodzi, że projekt zareagował prawidłowo. Połącz pokrycie ze sprawdzaniem wyników.

Odpowiedni fragment; pozostałe deklaracje i połączenia znajdują się w wyzwaniu.

if(value==0) seen[0]=1;
else if(value==15) seen[1]=1;
else seen[2]=1;

Maska bitowa zapamiętuje, które kategorie już wystąpiły, nie zastępując wcześniejszych trafień.

Połącz pokrycie przypadków brzegowych i kombinacji sterujących z niezależnymi kontrolami poprawności.

challenge icon

Wyzwanie

Średni

Śledź trzy kategorie pokrycia wejściowego w seen, nie zerując wcześniejszych trafień: bit 0 rejestruje value=0, bit 1 rejestruje value=15, a bit 2 rejestruje wartości od 1 do 14. Wejścia zawierają znane bity. Wywołujący inicjalizuje seen=0 przed scenariuszem. Ten moduł zawiera przeznaczone wyłącznie do symulacji task, wywoływane przez zablokowany testbench. Kolumny wyjściowe: seen w zapisie dziesiętnym.

Uzupełnij design.v i zachowaj nazwy modułów oraz portów. Zablokowany testbench.v dostarcza zmiany wejść i wyświetla wyjścia po ich ustaleniu. Wybiera scenariusz za pomocą argumentu symulatora, takiego jak +CASE=1; standardowe wejście nie jest wymagane. Wyświetlanie i sterowanie scenariuszami pozostaw w zablokowanym testbench; zaimplementuj tylko treść task. Oczekiwane wyjście to jeden wiersz wartości dziesiętnych na każdą obserwację, oddzielonych jedną spacją i zakończonych znakiem nowej linii.

Spróbuj swoich sił

module dut;
    task observe;
        input [3:0] value;
        inout [2:0] seen;
        begin
            // Uzupełnij zadanie sprawdzające.
            seen=seen;
        end
    endtask
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