Menu
Coddy logo textTech

Accumuler les échantillons

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

Construisez un moniteur réutilisable pour un flux d’échantillons non signés. Vous accumulerez les valeurs, respecterez les commandes d’activation et d’effacement, compterez les échantillons acceptés et indiquerez si un seuil est atteint. Les cinq étapes conservent la même interface de module et le banc de test verrouillé. Les sorties réservées acquièrent leur comportement lors des étapes ultérieures.

challenge icon

Défi

Difficile

Construisez un Sample Monitor en cinq étapes. À chaque front montant, rst synchrone efface total ; sinon, ajoutez les données non signées à total. Utilisez le registre total de 16 bits. À cette première étape, en et clear ne sont pas utilisés, et les scénarios maintiennent en=1 et clear=0. count et alarm sont des sorties réservées qui restent à zéro. Toutes les valeurs d’entrée sont connues. Les scénarios contiennent au plus 40 fronts, de sorte que total tient sur 16 bits. Le banc de test fixe affiche total pour les scénarios 1-9, total et count pour les scénarios 10-12, et total, count et alarm pour les scénarios 13-15. Seuls les scénarios activés pour cette étape sont évalués.

Complétez design.v et conservez 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 pas d’affichage, de délais ni de 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 clk,rst,en,clear, input [7:0] data, input [15:0] limit, output reg [15:0] total, output reg [3:0] count, output alarm);
    initial begin total=0;count=0;end
    assign alarm=0;
endmodule

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

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