Menu
Coddy logo textTech

Kombinacyjne tablice ROM

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

Stała tablica wyszukiwania opisuje mapowanie adresu na dane tylko do odczytu. Pełna instrukcja case lub function może wyrazić jej zawartość. Przy odczycie kombinacyjnym zmiana adresu zmienia wyjście bez oczekiwania na sygnał zegarowy. Narzędzie syntezy wybiera implementację; ten kod źródłowy nie gwarantuje użycia konkretnego prymitywu pamięci FPGA.

Odpowiedni fragment; otaczające deklaracje i połączenia są podane w wyzwaniu.

function [7:0] lookup;
    input [1:0] addr;
    begin
        case(addr)
            0: lookup=3;
            1: lookup=5;
            2: lookup=8;
            3: lookup=13;
            default: lookup=0;
        endcase
    end
endfunction

Każdy adres wybiera zdefiniowaną stałą, a poprzednie wyjście nie jest zachowywane.

Określ każdy wpis tabeli i rozróżnij kombinacyjne wyszukiwanie od opóźnienia odczytu z rejestrem.

challenge icon

Wyzwanie

Średni

Zaimplementuj kombinacyjną tablicę wyszukiwania z ośmioma wpisami. Adresy od 0 do 7 zwracają odpowiednio 3,5,8,13,21,34,55,89. Użyj kompletnej case-owej function, aby sterować sygnałem y. Kolumny wyjściowe: y. Wszystkie wartości wymuszeń są znanymi wartościami binarnymi.

Uzupełnij design.v i zachowaj nazwy modułów oraz porty. 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, rozdzielonych pojedynczą spacją i zakończony znakiem nowej linii.

Spróbuj swoich sił

module dut (input [2:0] addr, 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