Menu
Coddy logo textTech

Tables ROM combinatoires

Fait partie de la section Conception et vérification RTL du Journey Verilog de Coddy. Leçon 21 sur 38.

Une table de consultation fixe décrit une correspondance en lecture seule entre une adresse et des données. Un case ou une function complet peut exprimer le contenu. Avec une lecture combinatoire, modifier l’adresse modifie la sortie sans attendre un signal d’horloge. L’outil de synthèse choisit une implémentation : ce code source ne garantit pas une primitive de mémoire FPGA particulière.

Extrait pertinent ; les déclarations et connexions environnantes sont fournies dans l’énoncé.

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

Chaque adresse sélectionne une constante définie, sans conserver la sortie précédente.

Spécifiez chaque entrée de la table et distinguez la latence de lecture combinatoire de celle de la lecture enregistrée.

challenge icon

Défi

Moyen

Implémentez une table de recherche combinatoire à huit entrées. Les adresses 0 à 7 renvoient respectivement 3,5,8,13,21,34,55,89. Utilisez une function complète basée sur case pour piloter y. Colonnes de sortie : y. Toutes les valeurs de stimulus sont des valeurs binaires connues.

Complétez design.v et préservez les noms de module et les ports. Le testbench.v verrouillé fournit les changements d’entrée et affiche les sorties une fois stabilisées. Il choisit un scénario à l’aide d’un argument du simulateur tel que +CASE=1 ; aucune entrée standard n’est requise. N’ajoutez ni affichage, ni délais, ni terminaison de simulation au design. La sortie attendue est une ligne de valeurs décimales par observation, séparées par un espace et se terminant par un saut de ligne.

Essayez vous-même

module dut (input [2:0] addr, output [7:0] y);
    // Remplacez ce placeholder par votre design.
    assign y = 0;
endmodule
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Conception et vérification RTL

Entraînez-vous par vous-même : Compilateur Verilog en ligne