Menu
Coddy logo textTech

Déclencher une alarme de seuil

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

challenge icon

Défi

Difficile

Construisez un Sample Monitor en cinq étapes. Activez l’alarme combinatoire chaque fois que total est supérieur ou égal à la limite non signée limit, y compris en cas d’égalité. L’alarme reflète la valeur mise à jour de total après chaque front et suit les changements de limit. limit=0 active l’alarme même lorsque total=0. Préservez tous les comportements d’accumulation, d’activation, d’effacement et de comptage. Conservez tout ce qui provient des étapes précédentes, y compris son banc de test et le comportement de sortie antérieur. 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 préservez les noms de ses modules et de ses ports. Le testbench.v verrouillé fournit les changements d’entrée et affiche les sorties une fois qu’elles sont stabilisées. Il sélectionne 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élai, 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 terminées par un retour à la ligne.

REQUIRED OUTPUT FORMAT: [Your translated content here]

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);
    always @(posedge clk)begin
        if(rst || clear)begin total<=0;count<=0;end
        else if(en)begin
            total<=total+data;
            if(count!=15)count<=count+4'd1;
        end
    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