Menu
Coddy logo textTech

Tabelle ROM combinatorie

Fa parte della sezione Progettazione e verifica RTL del percorso Verilog di Coddy. Lezione 21 di 38.

Una tabella di ricerca fissa descrive una mappatura di sola lettura da indirizzi a dati. Un case o una function completa può esprimerne il contenuto. Con una lettura combinatoria, cambiando l’indirizzo cambia l’uscita senza attendere un clock. Lo strumento di sintesi sceglie un’implementazione; questo sorgente non garantisce uno specifico primitivo di memoria FPGA.

Estratto pertinente; le dichiarazioni e le connessioni circostanti sono fornite nella sfida.

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

Ogni indirizzo seleziona una costante definita, senza mantenere l'uscita precedente.

Specifica ogni voce della tabella e distingui la latenza di lettura combinatoria da quella registrata.

challenge icon

Sfida

Medio

Implementa una tabella di ricerca combinatoria a otto voci. Gli indirizzi da 0 a 7 restituiscono rispettivamente 3,5,8,13,21,34,55,89. Usa una function completa basata su case per pilotare y. Colonne di output: y. Tutti i valori degli stimoli sono valori binari noti.

Completa design.v e mantieni invariati i nomi dei moduli e le porte. Il testbench.v bloccato fornisce le variazioni degli ingressi e stampa gli output dopo che si sono stabilizzati. Sceglie uno scenario usando un argomento del simulatore come +CASE=1; non è richiesto alcun input standard. Non aggiungere istruzioni di stampa, ritardi o terminazione della simulazione al design. L'output previsto è una riga di valori decimali per ogni osservazione, separati da uno spazio e terminata da un carattere di nuova riga.

Provalo tu

module dut (input [2:0] addr, output [7:0] y);
    // Sostituisci questo segnaposto con il tuo progetto.
    assign y = 0;
endmodule
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Progettazione e verifica RTL

Esercitati da solo: Compilatore Verilog online