Menu
Coddy logo textTech

Funkcje kombinacyjne

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

Funkcja function w Verilogu grupuje obliczenie bez upływu czasu, aby można było używać go ponownie w module. Zadeklaruj szerokość wartości zwracanej, argumenty wejściowe i zmienne lokalne, a następnie przypisz wynik do nazwy function za pomocą assign. Funkcje kombinacyjne nie zawierają opóźnień ani sterowania zdarzeniami; pętla o stałych granicach może opisywać powtarzaną logikę.

Odpowiedni fragment; pozostałe deklaracje i połączenia są dostępne w wyzwaniu.

function [7:0] gray;
    input [7:0] value;
    begin gray = value ^ (value >> 1); end
endfunction

Wywołanie function oblicza wyrażenie bez dodawania czasu symulacji.

Przypisz wynik function na każdej ścieżce i nie umieszczaj instrukcji sterujących czasem w funkcjach kombinacyjnych.

challenge icon

Wyzwanie

Średni

Zaimplementuj funkcję Verilog function gray, która konwertuje bez znaku 8-bitową wartość binarną na kod Graya za pomocą operacji XOR wartości z tą samą wartością przesuniętą w prawo o jeden bit. Steruj sygnałem y, wywołując function z a. Kolumny wyjściowe: y. 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 wyświetla 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 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 [7:0] a, output [7:0] y);
    // Zastąp ten symbol zastępczy swoim projektem.
    assign y = 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