Université de la Manouba Année Universitaire 2006-2007
Ecole Nationale des Sciences de l'Informatique
Examen
(Session Principale)
Module : VHDL Date : 05 - 12 - 2006
Durée : 2h00 Classe : 113
Enseignant : Mohamed KARRAY Documents non autorisés
Exercice 1 : QCM (5 points)
(Bonne réponse: 1 pt, mauvaise réponse: -1 pt, absence de réponse: 0 pt)
1— Tout modèle VHDL
a- compilable et simulable est synthétisable
b- synthétisable est compilable et simulable
c- compilable est simulable et synthétisable
d- synthétisable et compilable est simulable
2- Pour un modèle VHDL d'un composant, on peut trouver
a- une seille entité et une seule architecture
b- plusieurs entités et une seule architecture
c- une seule entité et plusieurs architectures
d- plusieurs entités et plusieurs architectures
3- VHDL est un :
a- simulateur
b- compilateur
c- synthétiseur
d- langage
e- langage, compilateur, simulateur et synthétiseur
4 - En VHDL, dans un processus, on peut trouver
a- des instructions concurrentes
c- des instructions séquentielles
d- des instructions concurrentes et séquentielles
e- un autre processus
5- En VHDL,
a- l'ordre des instructions concurrentes n'a aucune importance
b- chaque instruction concurrente est toujours valide
c- une instruction peut être aussi complexe que l'on veut
d- un signal permet d'effectuer la connexion entre les blocs
e- une variable peut être utilisée dans une instruction concurrente
Exercice 2 (5 points)
La Figure 1 donne un exemple de machine de Moore représentée par un diagramme d'états. Les cercles représentent les états et les flèches représentent les transitions entre les états. La transition d'un état à l'autre est synchronisée sur le front montant d'un signal d'horloge implicite. Chaque cercle indique le nom d'un état (en haut) et les valeurs prises par les sorties (en bas) lorsque la machine est dans cet état. Les conditions des transitions sont données par le vecteur {reset, x2, xi, x0} («-» indifférent). Les sorties de cette machine est le triplet {z2, zi, zo}.
Donner un modèle VHDL de cette machine.

Figure 1
Problème (10 points)
On désire modéliser en VHDL un modèle d'un registre à décalage de N bits pouvant subir des opérations de décalages ou de rotations sur un nombre quelconque de bits en un seul coup d'horloge (Figure 2). Les opérations de décalages et de rotations sont effectuées au moyen de l'opérateur de concaténation '&'. Les entrées/sorties du système sont les suivantes :
horloge CLK,
la remise à zéro RESET, actif au niveau bas ('0'),
la commande CMD,
le nombre de bits affectés par la commande NSR (entier > 0),
les données en entrées DIN (N bits),
les données en sortie DOUT (N bits).
La commande CMD est un signal permettant de coder le fonctionnement avec les conventions
suivantes :
SHLL, SHRL : décalage logique à gauche, à droite. (000, 001)
SHLA, SHRA : décalage arithmétique à gauche, à droite. (010,
011) ROTL, ROTR : rotation à gauche, à droite. (100, 101)
Ecrire un modèle VHDL de ce registre à décalage (on peut définir chaque opération possible par une procédure).
N\![]()
DIN
![]()

N\
DOUT