Récapitulatif - Créer un module
Fait partie de la section Fondamentaux du Journey Verilog de Coddy — leçon 36 sur 90.
Défi
Ce défi combine tout ce que vous avez appris dans ce chapitre. Vous allez créer un module à partir de zéro et l'instancier.
Ce qu'il faut faire :
Partie 1 : Créer un module appelé <strong>flipflop</strong> avec :
- Une entrée de 1 bit appelée
clk - Une entrée de 1 bit appelée
d - Une entrée de 1 bit appelée
reset - Une sortie de 1 bit appelée
q(utilisez reg, assignée dans un bloc always)
Le module doit fonctionner comme suit :
- Lorsque
resetest à 1,qdevient 0 - Sinon, à chaque front d'horloge,
qdevientd
Partie 2 : Instancier le module <strong>flipflop</strong> dans le module <strong>top</strong> en utilisant le mappage de ports par nom
Connectez les ports aux signaux suivants :
- Port
clk→ signalclock - Port
d→ signaldata - Port
reset→ signalreset_signal - Port
q→ signalout
Essayez vous-même
// Partie 1 : Créer le module flipflop
// TODO : Ajouter les ports
// TODO : Ajouter le bloc always avec posedge clk et posedge reset
// Si reset est à 1, q <= 0
// Sinon q <= d
// Partie 2 : Module top avec instanciation
module top (
input clock,
input data,
input reset_signal,
output out
);
// TODO : Instancier flipflop avec le nom d'instance ff1
// Utiliser le mappage de ports par nom : .clk(clock), .d(data), .reset(reset_signal), .q(out)
endmoduleToutes 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