Académique Documents
Professionnel Documents
Culture Documents
On va voir
• structure d'un module simple
• affectations concurrentes
Commençons par le plus simple des modules ou presque : une porte combinatoire AND
à trois entrées. En VHDL, les modules sont appelés "entités" (mot-clef entity).
Voici une description possible d'une porte AND à 3 entrées.
Passez la souris sur les différents éléments du code pour avoir des explications sur la
signification de chaque instruction.
VHDL, comme tous les HDL, permet de décrire les systèmes sous forme structurelle.
C'est-à-dire, au lieu de décrire un gros système dans un seul gros fichier, de le séparer
en sous-systèmes (sous modules), eux-mêmes subdivisés en sous modules, jusqu'à
obtenir des modules facilement compréhensibles.
Nous allons ici décrire un additionneur 4 bits en assemblant des additionneurs 1 bit. On
aurait aussi pu décrire la fonctionnalité de l'additionneur 4 bits (par opposition à sa
structure), cela sera vu à la fin de cet exemple-ci.
On suppose ici que le code de l'additionneur 1 bit vu précédemment est disponible dans
un fichier à part.
Exercice : plutôt que de décrire l'additionneur 4 bits sous forme d'assemblage
d'additionneurs 1 bits, on aurait pu directement décrire son comportement (sa
fonctionnalité). En vous inspirant du code de l'additionneur 1 bit, écrivez une description
concise de l'additionneur 4 bits.
Bascule D
On va voir
• déclaration des processus
• déclenchement des processus
Jusqu'à présent, les modules étudiés étaient purement combinatoires. Nous allons
maintenant voir comment décrire un module séquentiel.
Compteur 8 bits avec reset asynchrone
On va voir
• initialisation à l'aide d'un reset asynchrone
• liste de sensibilité multiple
Voici une description possible d'un compteur synchrone sur 8 bits, avec reset
asynchrone actif à l'état bas.
Registre à décalage
On va voir
• concurrence et séquentialité
• affectations différées
On cherche à réaliser un registre à décalage sur 8 bits, possédant une sortie
supplémentaire (match) active à 1 si le contenu du registre à décalage vaut une valeur
précise (val).