Menu
Coddy logo textTech

Défi - Pipeline de parité

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

challenge icon

Défi

Moyen

Construisez un pipeline de parité à deux étapes. Capturez d’abord les données d’octet et in_valid. Lors du front suivant qui n’est pas une réinitialisation, la sortie de parité est le XOR de réduction de l’octet capturé précédemment lorsque sa valeur valid précédente est haute, sinon zéro. out_valid correspond à cette valeur valid retardée. La réinitialisation synchrone rst efface les deux étapes et les sorties. Colonnes de sortie : parity, out_valid. Toutes les commandes et les données sont stables avant chaque front montant de l’horloge ; les résultats sont observés ensuite.

Complétez design.v et conservez les noms de module et les ports correspondants. Le fichier testbench.v verrouillé fournit les changements d’entrée et affiche les sorties une fois celles-ci 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é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 saut de ligne.

Essayez vous-même

module dut (input clk, input rst, input in_valid, input [7:0] data, output reg parity, output reg out_valid);
    // Remplacez ce placeholder par votre design.
    initial parity = 0;
    initial out_valid = 0;
endmodule

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

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