Menu
Coddy logo textTech

Tabelas ROM Combinacionais

Parte da seção Design e Verificação RTL do Journey de Verilog da Coddy. Lição 21 de 38.

Uma tabela de consulta fixa descreve um mapeamento somente leitura de endereço para dados. Um case ou uma function completa pode expressar o conteúdo. Com uma leitura combinacional, alterar o endereço altera a saída sem esperar por um clock. A ferramenta de síntese escolhe uma implementação; este código-fonte não promete uma primitiva de memória FPGA específica.

Trecho relevante; as declarações e conexões circundantes são fornecidas no desafio.

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

Cada endereço seleciona uma constante definida sem retenção da saída anterior.

Especifique cada entrada da tabela e diferencie a latência de consulta combinacional da latência de leitura registrada.

challenge icon

Desafio

Médio

Implemente uma tabela de consulta combinacional de oito entradas. Os endereços de 0 a 7 retornam 3,5,8,13,21,34,55,89, respectivamente. Use uma case completa baseada em function para controlar y. Colunas de saída: y. Todos os valores de estímulo são valores binários conhecidos.

Complete design.v e preserve os nomes dos módulos e as portas. O testbench.v bloqueado fornece alterações nas entradas e imprime as saídas depois que elas se estabilizam. Ele escolhe um cenário usando um argumento do simulador, como +CASE=1; não é necessária entrada padrão. Não adicione impressão, atrasos ou encerramento da simulação ao design. A saída esperada é uma linha de valores decimais por observação, separados por um espaço e terminando com uma nova linha.

Experimente você mesmo

module dut (input [2:0] addr, output [7:0] y);
    // Substitua este placeholder pelo seu design.
    assign y = 0;
endmodule
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Design e Verificação RTL

Pratique por conta própria: Compilador de Verilog online