Académique Documents
Professionnel Documents
Culture Documents
Quatre responsables d'une société (A, B, C et D) peuvent avoir accès à un coffre. Ils possèdent chacun
une clé différente et il a été convenu que:
- A ne peut ouvrir le coffre que si au moins un des responsables B ou C est présent ;
- B, C et D ne peuvent l'ouvrir que si au moins deux des autres responsables sont présents.
Dresser la table vérité et le tableau de karnaugh puis donner l’équation logique de la serrure du coffre S.
0 f b
Mux 4 bits 7 bits
Décodeur
Circuit de Z 7 segments CodeHex
D 4 bits Y 4 bits g
décalages 1 (Dec7seg)
(SHIFTER) e c
1 bit
Sel
d
3 bits
Fct Figure 1
1) Décrire en VHDL le circuit multiplexeur, appelé Mux.
2) On suppose que le décodeur 7 segment est de type anode commune, c'est-à-dire un 0 Volt sur un segment
permet son allumage et un 5 Volt (1 logique) permet de l’éteindre. On suppose aussi que les segments sont
connectés comme suit :
- Segment a est connecté à CodeHex(0) Exemple : Le code du chiffre 0 (Z = "0000") sera alors décodé à
- Segment b est connecté à CodeHex(1) CodeHex = "1000000". Uniquement le segment g est égal à 1.
- Segment c est connecté à CodeHex(2)
- Segment d est connecté à CodeHex(3) Donner la valeur de la sortie CodeHex du décodeur pour chaque
- Segment e est connecté à CodeHex(4) code des chiffres 0 à F.
- Segment f est connecté à CodeHex(5)
- Segment g est connecté à CodeHex(6)
4) Le circuit SHIFTER présenté sur la figure ci-dessus permet 5 fonctions de décalage en fonction de l’entrée Fct
codée sur trois bits. Ces 5 fonctions sont résumées dans le tableau ci-dessous.
Décrire en VHDL comportemental le circuit SHIFTER en utilisant un processus et l’instruction case du VHDL.
1/3
Entrée Fct(2 downto 0) Valeur de Sortie Y(3 downto 0) en Fonction de décalage réalisée
fonction de l’entrée D(3 downto 0) par le circuit SHIFTER
Y(3) Y(2) Y(1) Y(0)
"000 " 0 D(3) D(2) D(1) Décalage à droite
"001 " D(2) D(1) D(0) 0 Décalage à gauche
"010 " D(0) D(3) D(2) D(1) Rotation à droite
"011 " D(2) D(1) D(0) D(3) Rotation à gauche
"1xx " (x=0 ou 1) peu n’importe D(3) D(2) D(1) D(0) Pas de rotation Y=D
5) Le circuit global aura comme entrées (Fct, D et sel) et comme sortie (CodeHex) comme présenté dans figure ci-
dessus.
6) Donner la description VHDL structurelle du circuit global qui réutilise des instances des circuits décrits dans
les questions précédentes.
7) Coder en VHDL un testbench qui pour la valeur de D égale à "0101", permet de stimuler toutes les fonctions de
décalage et d’afficher le résultat Y sur l’afficheur 7 segments.
On se propose de réaliser un circuit qui calcule le complément à 2 d’une entrée codée sur N bits. Le circuit OPP1
de la Figure 2 est composé de deux entrées (Xe et Ce) et deux sorties (Xs et Cs) codées toutes sur 1 bit.
Figure 2
1) Donner le code VHDL comportemental de ce circuit en se basant sur des instructions concurrentes
Figure 3
2) Coder en VHDL le circuit OPP3 en utilisant l’instruction concurrente for … generate. Indication :
exprimer la sortie S en fonction de l'entrée E et du signal interne C (exprimer S(i) en fonction de E(i) et
C(i) pour i allant de 0 à 2) (exprimer de même C(i+1) en fonction de E(i) et C(i) pour i allant de 0 à 2).
2/3
3) Donner le code VHDL du circuit générique OPPN correspondant (le cas général de la question 2).
4) Reprendre la même question en décrivant de façon structurelle le circuit générique de paramètre N qui
réutilise N circuits OPP1.
3. En déduire la description VHDL structurel d’un circuit générique à N bits en utilisant une cascade
le circuit à 1 bit définit à la question 1, sachant que l’entrée de sélection M est connectée aux N
multiplexeurs des modules en cascades et que les retenues sont propagées d’un module au suivant.
Pour ce circuit générique à N bits M est codé sur 1 bit. A, B et S sont codés sur N bits. Cout est
codé sur 1 bit.
3/3