STIC L2
TD1 : Langage VHDL
Exercice 1 :
On veut concevoir un multiplexeur qui a 2 entrées de données A et B sur 1 bit, 1 entrée de
sélection C sur 1 bit et une sortie S sur 1 bit.
La table de vérité est la suivante :
C S
0 A
1 B
Décrivez en VHDL ce circuit (Mux2), avec une architecture dataflow.
Exercice 2 :
On veut concevoir un multiplexeur qui a 4 entrées de données A, B, C et D sur 1 bit, 2 entrées
de sélection C1 et C2 sur 1 bit et une sortie S sur 1 bit.
La table de vérité est la suivante :
C2 C1 S
0 0 A
0 1 B
1 0 C
1 1 D
Donnez le schéma de ce circuit en fonction des Mux à 2 entrées.
Décrivez en VHDL ce circuit, avec une architecture structurelle en utilisant le fichier
Mux2.vhd fait dans l’exercice précédent.
Exercice 3 :
Décrivez en VHDL le circuit précédent (multiplexeur à 4 entrées) avec une architecture
comportementale, avec 2 façons en utilisant les instructions suivantes :
1- With . select
2- If … elsif … else
1/3
Emna Amouri TD 1 VHDL
STIC L2
Exercice 4 :
On veut concevoir un codeur qui a 4 entrées x0, x1, x2 et x3 sur 1 bit, et deux sorties y0 et y1
sur 1 bit.
La table de vérité est la suivante :
x3 x2 x1 x0 y1 y0
0 0 0 1 0 0
0 0 1 0 0 1
0 1 0 0 1 0
1 0 0 0 1 1
Décrivez en VHDL ce circuit avec une architecture comportementale, en utilisant l’instruction
suivante : case … is
Exercice 5 :
Construire, en complétant le code VHDL donné, la structure répétitive suivante.
a- Utilisez l’instruction concurrente for .. generate, et n’utilisez pas de description
structurelle.
b- Utilisez l’instruction concurrente for .. generate, avec une description structurelle.
2/3
Emna Amouri TD 1 VHDL
STIC L2
Exercice 6 :
Décrire le système suivant en langage VHDL:
A et B sont des nombres de 8 bits. Le montage fournit une sortie S sur 9 bits qui est égale à
A + B (somme) si la commande X vaut 0, et A - B si cette commande vaut 1.
?
B
Exercice 7 :
On considère la description ci-dessous (écrite en VHDL) :
entity transit is
port ( hor, e : in std_logic ;
s : out std_logic );
end transit ;
architecture behavior of transit is
signal qa, qb : std_logic := ‘0’;
begin
s <= qa xor qb ;
schema : process
begin
wait until hor = '1' ;
qa <= e ;
qb <= qa ;
end process schema ;
end behavior ;
Compléter le chronogramme ci-dessous.
3/3
Emna Amouri TD 1 VHDL