Conception de la logique
Fait partie de la section Fondamentaux du Journey Verilog de Coddy — leçon 44 sur 90.
Défi
Concevoir la logique signifie déterminer les équations dont le circuit a besoin en se basant sur la table de vérité.
Table de Vérité :
| a | b | sum | carry |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 |
Étape 2 : Trouver le modèle pour sum
- sum = 1 quand a=0,b=1 ou a=1,b=0
- sum = 1 quand a et b sont différents
- Différent = XOR →
sum = a ^ b
Étape 3 : Trouver le modèle pour carry
- carry = 1 seulement quand a=1 et b=1
- Les deux = AND →
carry = a & b
Étape 4 : Écrire les équations
sum = a ^ b
carry = a & b
Ce qu'il faut faire :
Votre tâche consiste à ajouter les équations logiques manquantes à l'intérieur du module.
1. Ajoutez une instruction assign pour sum (a XOR b)
2. Ajoutez une instruction assign pour carry (a AND b)
Essayez vous-même
module half_adder (
input a,
input b,
output sum,
output carry
);
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