Podsumowanie — różnica ze znakiem
Część sekcji Projektowanie RTL i weryfikacja ścieżki Verilog w Coddy. Lekcja 10 z 38.
Wyzwanie
ŚredniOblicz 8-bitowe odejmowanie wartości signed a minus b z nasyceniem do zakresu od -128 do 127. Zwróć nasycone y i clipped=1, gdy dokładna różnica wykracza poza ten zakres. Kolumny wyjściowe: y, clipped. Wszystkie wartości pobudzające są znanymi wartościami binarnymi.
Uzupełnij design.v i zachowaj nazwy modułów oraz portów. Zablokowany 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 signed [7:0] a, input signed [7:0] b, output reg signed [7:0] y, output reg clipped);
// Zastąp ten kod zastępczy własnym projektem.
initial y = 0;
initial clipped = 0;
endmoduleWszystkie lekcje w sekcji Projektowanie RTL i weryfikacja
1Niezawodna logika kombinacyjna RTL
Wartości domyślne zapobiegają zatrzaskomKoder priorytetowyWeryfikacja kodu one-hotBezpieczne dekodowanie casePodsumowanie — router żądań2Szerokości i arytmetyka ze znakiem
Zachowywanie bitów przeniesieniaPorównania ze znakiemArytmetyczne przesunięcia w prawoPrzepełnienie i nasyceniePodsumowanie — różnica ze znakiemPoćwicz samodzielnie: Kompilator Verilog online