Utilisation de l’instruction case
Fait partie de la section Fondamentaux du Journey Verilog de Coddy. Leçon 66 sur 90.
Défi
Construisez un multiplexeur 4 vers 1 à l’aide d’une instruction case au lieu de if-else.
Table de vérité
| sel | out |
|---|---|
| 00 | out = in0 |
| 01 | out = in1 |
| 10 | out = in2 |
| 11 | out = in3 |
À faire :
- Créez un module nommé
mux4to1_case - Ajoutez les entrées
in0,in1,in2,in3(1 bit chacune) - Ajoutez l’entrée
sel(2 bits) - Ajoutez la sortie
out(1 bit, de typereg) - Ajoutez un bloc
always @(*) - À l’intérieur, ajoutez une instruction
case (sel) - Ajoutez les cas
2'b00,2'b01,2'b10,2'b11 - Ajoutez un cas
default - Fermez avec
endcaseetendmodule
Essayez vous-même
// TODO: Créer le module nommé mux4to1_case
// TODO: Ajouter les entrées : in0, in1, in2, in3 (1 bit chacune)
// TODO: Ajouter l'entrée sel (2 bits)
// TODO: Ajouter la sortie out (type reg)
// TODO: Ajouter le bloc always @(*)
// TODO: Ajouter case (sel)
// TODO: Ajouter case 2'b00: out = in0;
// TODO: Ajouter case 2'b01: out = in1;
// TODO: Ajouter case 2'b10: out = in2;
// TODO: Ajouter case 2'b11: out = in3;
// TODO: Ajouter default: out = in0;
// TODO: Ajouter endcase
// TODO: Ajouter endmoduleToutes les leçons de Fondamentaux
1Introduction
Qu’est-ce que VerilogMatériel vs logicielVotre premier moduleCommentairesNiveaux d’abstraction de conception4Opérateurs - Partie 1
Opérateurs arithmétiquesOpérateur moduloOpérateurs de comparaisonRécapitulatif - Mathématiques simplesOpérateurs bit à bit7Affectations et portes
Affectation continueAffectation avec opérateursPrimitives de portes intégréesPortes AND, OR et NOTPortes XOR et XNORRécapitulatif - Circuit de portes logiques10Prise de décision
Instruction IfIf - ElseRécapitulatif - Comparateur simpleInstruction CaseCasex et CasezRécapitulatif - Conception d'une ALU2Types de données
Type wireType regEntiers et réelsVecteursTableauxParamètresRécapitulatif - Déclarer des signaux5Opérateurs - Partie 2
Opérateurs logiquesOpérateurs de réductionOpérateurs de décalageOpérateur de concaténationOpérateur conditionnelRécapitulatif - Défi sur les opérateurs11Boucles
Boucle ForBoucle WhileBoucle RepeatBoucle ForeverInstruction DisableRécapitulatif - Modèles de boucles3Système de numération
Représentation binaireNombres dimensionnésNombres non dimensionnésNombres négatifsValeurs spéciales X et ZRécapitulatif - Formats des nombres6Modules
Structure d’un modulePorts d’entrée et de sortiePorts InoutInstantiation d’un moduleAssociation des ports par nomAssociation des ports par ordreRécapitulatif - Construire un module9Blocs procéduraux
Bloc alwaysBloc initialListe de sensibilitéAffectation bloquanteAffectation non bloquanteRécapitulatif - always vs initial12Projet de multiplexeur
Conception d’un multiplexeur 2 vers 1Conception d’un multiplexeur 4 vers 115Contrôleur de feux de circulation
Définition des étatsLogique de la machine à étatsEntraînez-vous par vous-même : Compilateur Verilog en ligne