Type Wire
Fait partie de la section Fondamentaux du Journey Verilog de Coddy — leçon 6 sur 90.
En Verilog, nous devons déclarer le type de signal que nous utilisons. Le type le plus courant est wire.
Un wire représente une connexion physique entre les composants. C'est comme un vrai fil dans un circuit.
- Les wires ne peuvent pas stocker de valeurs - ils ne font que transmettre les valeurs
- Les wires sont utilisés avec des instructions
assign - Les wires sont utilisés pour connecter des modules entre eux
Déclarer un wire
wire a; // Wire d'un seul bit
wire b, c; // Plusieurs wires sur une seule ligneFonctionnement des fils (Wires)
module wire_example;
wire x;
reg y;
assign x = y; // x suit toujours y
endmodulex est connecté à y. Chaque fois que y change, x change instantanément.
Les fils (wires) sont couramment utilisés pour connecter les entrées et les sorties :
module and_gate(
input a, // 'a' est un fil (wire) par défaut
input b, // 'b' est un fil (wire) par défaut
output c // 'c' est un fil (wire) par défaut
);
assign c = a & b; // c est piloté par cette affectation
endmoduleDans cet exemple, a, b, et c sont tous des fils (wires).
Les fils sont la « colle » qui connecte les différentes parties de votre circuit ensemble !
Défi
À faire :
- Ajoutez un wire nommé
temp
Aide-mémoire
Wire représente une connexion physique entre les composants. Les fils ne peuvent pas stocker de valeurs — ils ne font que transmettre les valeurs.
wire a; // Fil à un seul bit
wire b, c; // Plusieurs fils sur une seule ligneLes fils sont utilisés avec les instructions assign. Chaque fois que la source change, le fil se met à jour instantanément :
wire x;
assign x = y; // x suit toujours yLes entrées et sorties de module sont des fils par défaut :
module and_gate(
input a, // fil par défaut
input b, // fil par défaut
output c // fil par défaut
);
assign c = a & b;
endmoduleEssayez vous-même
module simple(
input a,
input b,
output c
);
assign c = a & b;
// Déclarer le fil temp ici
endmoduleCette 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