Votre premier module
Fait partie de la section Fondamentaux du Journey Verilog de Coddy — leçon 4 sur 90.
Un module est le bloc de construction de base dans Verilog. Chaque morceau de code Verilog se trouve à l'intérieur d'un module.
Considérez un module comme un composant avec :
- Entrées (signaux entrants)
- Sorties (signaux sortants)
- Comportement (ce qu'il fait)
Syntaxe du module
module module_name ( inputs, outputs );
// Tout ce qui se trouve ici
endmoduleChaque module commence par module et se termine par endmodule.
Entrées et Sorties
module and_gate(
input a, // a ENTRE dans le module
input b, // b ENTRE dans le module
output c // c SORT du module
);
// Le comportement va ici
endmodule- input = le signal entre dans le module
- output = le signal sort du module
Ajout de comportement
Maintenant, nous faisons en sorte que le module fasse quelque chose :
module and_gate(
input a,
input b,
output c
);
assign c = a & b; // c est à 1 seulement quand a ET b sont à 1
endmoduleassignconnecte continuellement le côté droit au côté gauche&signifie ET en Verilog
Défi
Dans ce défi, vous devez créer un module simple qui effectue l'opération OU (OR).
Ce qu'il faut faire :
- Le module doit être nommé
or_gate - Il doit avoir une entrée appelée
x - Il doit avoir une entrée appelée
y - Il doit avoir une sortie appelée
z - À l'intérieur du module, utilisez
assignpour rendrezégal àx OR y
Remarque : En Verilog, l'opération OU est écrite avec le symbole de la barre verticale |. Elle produit 1 (vrai) si au moins une des entrées est 1 (vrai).
Aide-mémoire
Un module est le bloc de construction de base en Verilog, agissant comme un composant avec des entrées, des sorties et un comportement.
module module_name (
input a,
input b,
output c
);
// comportement
endmoduleUtilisez assign pour piloter en continu un signal de sortie :
assign c = a & b; // ET
assign c = a | b; // OU&— opérateur ET|— opérateur OU
Essayez vous-même
// Étape 1 : Créer un module nommé or_gate
// Étape 2 : Créer l'entrée x
// Étape 3 : Créer l'entrée y
// Étape 4 : Créer la sortie z
// Étape 5 : Utiliser assign pour que z = x OR y
// En Verilog, OR s'écrit |
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Fondamentaux
1Introduction
Qu'est-ce que VerilogHardware vs SoftwareNiveaux d'abstraction de conceptionVotre premier moduleCommentaires4Opérateurs - Partie 1
Opérateurs arithmétiquesOpérateur moduloOpérateurs de comparaisonRécapitulatif - Mathématiques simplesOpérateurs bit à bit7Assignation et portes logiques
Assignation continueAssignation avec opérateursPrimitives de portes intégréesPortes AND OR NOTPortes XOR XNORRécapitulatif - Circuit à portes logiques10Prise de décision
Instruction IfIf - ElseRécapitulatif - Comparateur simpleInstruction CaseCasex et CasezRécapitulatif - Conception d'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 RépéterBoucle InfinieInstruction DisableRécapitulatif - Modèles de boucles3Système de numération
Représentation binaireNombres avec tailleNombres sans tailleNombres négatifsValeurs spéciales X et ZRécapitulatif - Formats de nombres6Modules
Structure d'un modulePorts d'entrée et de sortiePorts InoutInstanciation de moduleMappage de ports par nomMappage de ports par ordreRécapitulatif - Créer un module9Blocs procéduraux
Bloc AlwaysBloc InitialListe de sensibilitéAffectation bloquanteAffectation non bloquanteRécapitulatif - Always vs Initial12Projet Multiplexeur
Conception d'un Mux 2 vers 1Conception d'un Mux 4 vers 115Contrôleur de feux de circulation
Définition des étatsLogique de la machine à états