Menu
Coddy logo textTech

Dépassement et saturation

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

Le dépassement de capacité signé signifie que le résultat mathématique ne peut pas tenir dans la largeur signed choisie. Il diffère de la retenue non signée. Pour l’addition signed, des opérandes de même signe provoquent un dépassement lorsque le signe du résultat change. La saturation limite le résultat à une extrémité représentable au lieu de revenir au début.

Extrait pertinent ; les déclarations et connexions environnantes sont fournies dans le défi.

assign overflow = (a[7] == b[7]) && (sum[7] != a[7]);

Des entrées de signes différents ne peuvent pas provoquer de dépassement lors d’une addition signed ; des entrées de même signe nécessitent une vérification du signe du résultat.

Vérifiez le dépassement de capacité de signed indépendamment de la retenue ; élargissez avant d’implémenter la saturation.

challenge icon

Défi

Moyen

Additionnez signed 8 bits a et b. Retournez le résultat signed replié y et overflow=1 uniquement lorsque la somme mathématique exacte est en dehors de l’intervalle -128 à 127. Colonnes de sortie : y, overflow. 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 signed [7:0] a, input signed [7:0] b, output signed [7:0] y, output overflow);
    // Remplacez ce placeholder par votre conception.
    assign y = 0;
    assign overflow = 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