Vous êtes sur la page 1sur 3

Masters (ETC-TSE-MECA)

2022/2023

TD De VHDL- Logique programmable


Exercice 1 :

Réalisation d’un demi-additionneur d’un bit

1. Donner une description VHDL comportemental d’un additionneur complet fa (FA = Full
Adder) sur un bit
2. Donner une description VHDL d’un additionneur sur 4 bits donné par le schéma ci-
dessous en utilisant :
a. Component (utiliser generic map)
b. Function
c. Procedure

Figure.1 : Schéma du module (composant) add4


Exercice 2:
Un registre à décalage n bits possède une entrée série, une sortie série, et n bascules. Un tel
registre 4 bits est représenté ci-dessous.

1. Donner une description VHDL comportemental de bascule D


a. Donner une description VHDL de registre à décalage 4 bits (voir schéma ci-dessus) en
utilisant : Component + for .. generate.

Exercice 3 :

On peut implémenter la soustraction à l'aide de l'additionneur avec des modifications mineures.


Pour ce faire, on exploite les propriétés du complément à 2 et le fait que le bit de poids faible de
l'additionneur n'a pas de retenue d'entrée. En effet, effectuer A - B en complément à 2, est
équivalent à A + B' + 1. (Le complément à 2 est équivalent au complément à 1 bit-par-bit
(changement de 0 par 1 et de 1 par 0) plus l'addition de 1) Pour effectuer la deuxième addition
(+1), il suffit d'injecter un 1 en guise de retenue dans l'additionneur de poids faible. On peut donc
supposer que l'on dispose d'un signal de contrôle M qui vaut 0 lorsque l'on veut faire une
addition, et 1 lorsque l'on veut faire une soustraction.
On utilise ce signal M comme retenue du bit de poids faible de l'additionneur. Enfin, pour obtenir
B' (complément à 1 de B), il suffit de rajouter un inverseur (une porte XOR) en entrée de
chacun des additionneurs 1-bit : Bi ⊕ M ; lorsque M vaut 0, la valeur d'entrée de l'additionneur
i est Bi, et lorsque M vaut 1, la valeur d'entrée est Bi'. Donc, lorsque M vaut 0, l'opération
effectuée par le circuit est A + B (Addition), et lorsque M vaut 1, l'opération effectuée est
A + B' + 1 (soustraction).
Ainsi, le circuit de l’additionneur-soustracteur 4-bit à décrire est représenté par la figure ci-
dessous :

1. Donner une description VHDL comportemental de


a. Additionneur complet un bit
b. Multiplexeur 2 vers 1.
Donner une description VHDL de l’additionneur soustracteur 4 bits (voir schéma ci-
dessus) en utilisant : Function pour Mux 2-1 , procedure pour additionneur complet et for
.. generate.
Exercice 4 : Détecteur de séquence
Concevez une machine capable de détecter la séquence 0-1-1-0 sur son unique entrée (x). Quand
la séquence se produit, il devrait émettre un 1 sur son unique sortie (y). Un diagramme temporel
du comportement attendu est donné. Notez que dans la séquence 0-1-1-0-1-1-0, la séquence se
produit deux fois ! Utilisez une machine de Moore.

1. Donner un graphe d’état qui résume le fonctionnement de machine


2. Donner une description VHDL de cette machine en utilisant deux process (1
combinatoire + 1 séquentiel)

Exercice 5 :

Un parcomètre X n’accepte que des pièces de 1 € et 2 € qui sont à insérer l’une après
l’autre. Dès que la machine a reçu suffisamment d’argent pour payer le parking, elle émet
le billet et retourne la monnaie au cas où le montant inséré s’avère trop important. La taxe
de parking se monte à 3 €.

En partant de l’état initial S0, la machine passe aux état S1 ou S2, selon qu’une pièce de 1
€ ou de 2 € a été insérée, …. A la fin elle rend en sortie ticket (K) et monnaie de retour
(R).

1. Donner le graphe d’état qui résume le fonctionnement de la machine X.


2. Donner une description VHDL de cette machine en utilisant deux process (1
combinatoire + 1 séquentiel).

Vous aimerez peut-être aussi