Récapitulatif - Masque de bits réutilisable
Fait partie de la section Conception et vérification RTL du Journey Verilog de Coddy. Leçon 15 sur 38.
Défi
MoyenConstruisez un circuit de mise à zéro de bits de WIDTH bits avec une boucle generate nommée : chaque bit de sortie est égal au bit a correspondant ET à l’inverse de b à cette position. b est un masque de mise à zéro. WIDTH est positif. Le banc de test verrouillé instancie les valeurs WIDTH 1, 4 et 8, en utilisant les bits de poids faible de a et b pour les instances plus étroites. Les colonnes de sortie sont y1, y4 et y8 en décimal.
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 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 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 #(parameter WIDTH=4) (input [WIDTH-1:0] a,b, output [WIDTH-1:0] y);
// Implémentez le circuit paramétré.
assign y = 0;
endmoduleToutes les leçons de Conception et vérification RTL
1RTL combinatoire fiable
Les valeurs par défaut évitent les latchsEncodeurs de prioritéValidation one-hotDécodage sûr avec caseRécapitulatif - Routeur de requêtes2Largeurs et arithmétique signée
Préserver les bits de retenueComparaisons signéesDécalages arithmétiques vers la droiteDépassement et saturationRécapitulatif – différence signée3RTL réutilisable
Fonctions combinatoiresParamètres à largeur sûreBoucles generateGenerate conditionnelRécapitulatif - Masque de bits réutilisableEntraînez-vous par vous-même : Compilateur Verilog en ligne