Vous êtes sur la page 1sur 6

AND3

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.

Additionneur complet 1 bit


Nous allons voir
• les bibliothèques
• l'utilisation de signaux intermédiaires
• La concaténation de signaux pour créer un bus

Voici une description possible d'un additionneur complet 1 bit.


Rappel : un additionneur complet 1 bit a trois entrées (a, b, et cin la retenue entrante), et
deux sorties (le bit de somme s et le bit de retenue sortante cout).
Additionneur 4 bits
On va voir
• comment instancier un composant (ou comment faire du schéma en textuel)
• comment relier des composants entre eux

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).

Vous aimerez peut-être aussi