Concevoir 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 quelles équations le circuit nécessite à partir de 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 schéma de sum
- sum = 1 lorsque a=0,b=1 ou a=1,b=0
- sum = 1 lorsque a et b sont différents
- Différent = XOR →
sum = a ^ b
Étape 3 : trouver le schéma de carry
- carry = 1 uniquement lorsque a=1 et b=1
- Les deux = AND →
carry = a & b
Étape 4 : écrire les équations
sum = a ^ b
carry = a & b
À faire :
Votre tâche consiste à ajouter les équations logiques manquantes dans le 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 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