Écrire le module
Fait partie de la section Fondamentaux du Journey Verilog de Coddy. Leçon 43 sur 90.
Défi
Un demi-additionneur est un circuit qui additionne deux bits uniques et vous indique :
- somme : le résultat (0 ou 1)
- retenue : s’il y a un dépassement (1 lorsque les deux entrées valent 1)
Exemple
| a | b | somme | retenue |
|---|---|---|---|
| 0 | 0 | 0 | aucun dépassement |
| 0 | 1 | 1 | aucun dépassement |
| 1 | 0 | 1 | aucun dépassement |
| 1 | 1 | 0 | dépassement (retenue = 1) |
Lorsque vous additionnez 1 + 1 en binaire, le résultat est 0 avec une retenue de 1 (tout comme 5 + 5 = 0 avec une retenue de 1 en décimal).
Avant d’ajouter la logique, nous devons créer le conteneur du module : l’enveloppe vide qui contiendra notre circuit demi-additionneur.
Pour un demi-additionneur, voici les tâches à accomplir :
- Créer un module appelé
half_adder - Ajouter deux entrées :
aetb - Ajouter deux sorties :
sumetcarry
Essayez vous-même
// Tâche 1 : Créer un module nommé half_adder
// Tâche 2 : Ajouter deux entrées : a et b
// Tâche 3 : Ajouter deux sorties : sum et carry
// La logique sera ajoutée plus tard
Toutes 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