Ann´ee acad´emique 2016-2017
Interrogation N ◦ 1 : Logique combinatoire
Pr: M.Kraft Assistants: D.Cerica Q.Massoz T.Schmitz
Consignes :
— ´ Ecrivez votre nom, pr´enom et matricule sur chaque feuille.
— Rendez une feuille s´epar´ee par question (y compris si vous ne r´epondez rien ` a une question).
— Vous avez 2h.
— Formulaire au verso.
— Tables vierges en annexe.
Formulaire
Tables de Karnaugh ` a 3 et 4 variables
00 01 11 10
00 01 11
A 10
B C
D
m0 m1 m3 m2 m6 m7
m5 m4
m12 m13 m15 m14 m10 m11
m9 m8
AB CD
00 01 11 10
0
A 1
C
B
m0 m1 m3 m2 m6 m7
m5 m4
A BC
Composants logiques
— Half-adder :
X Y
S = X ⊕ Y
HA C = XY
— Full-adder :
X Y
S = X⊕Y⊕Z
FA C = XY + Z(X⊕Y) Z
— D´ecodeur 2-4 :
D0 D1 D2 D3 0 0
X Y
1 0 0 0
0 1 0 1 0 0 1 0 0 0 1 0 1 1 0 0 0 1 X
Y 21 20
0 1 2 3
D0 D1 D2 D3 Dec 2-4
= m0
= m1
= m2
= m3
— Multiplexeur 4-1 :
S S F
0 1 S1 S0 F
0 0 E0 0 1 E1 1 0 E2 1 1 E3 20 21
0 1 2 3 E0 E1 E2 E3
F Mux 4-1
F = S1S0E0 + S1S0E1 + S1S0E2 + S1S0E3
S0 S1
Question 1 : Analyse combinatoire
1. Analysez le circuit suivant et donnez la table de v´erit´e de la sortie F (entr´ees dans l’ordre alphab´etique, A comme bit de poids fort).
Pour plus de clart´e, vous pouvez utiliser une des tables vierges donn´ees en annexe.
2. Impl´ementez F `a l’aide d’un nombre minimum de portes NOR (les entr´ees compl´ement´ees sont ´egalement disponibles). Repr´esentez le sch´ema logique ´equivalent.
QP
Q
HA S C Y
Z
MUX 4-1 S0 S1
F E0
E1 E2 E3 Y
Z X1
1 01
23 45 67 22
21 20
DEC 3-8
FA S C WW
Y WW Y
HA S C A
X
Question 2 : Synth` ese combinatoire
On vous demande de concevoir un syst`eme combinatoire afin d’effectuer la gestion des air- bags d’une voiture. La voiture comporte 4 airbags : un airbag `a l’avant, un airbag `a l’arri`ere et 2 airbags lat´eraux. Les airbags lat´eraux r´epondent `a la mˆeme commande et sont vus tous les deux par le syst`eme comme un et un seul airbag.
Le syst`eme se compose de 3 capteurs :
— 2 capteurs de choc situ´es `a l’avant et `a l’arri`ere. Ils indiquent si un choc vient d’avoir lieu.
— 1 gyroscope `a 3 dimensions x, y, z : si une acc´el´eration sup´erieure `a un seuil se produit dans une des 3 dimensions (x, y, z), il renvoit un signal correspondant `a cette dimension.
Dans le cas contraire, il ne renvoit rien. Le gyroscope ne peut d´etecter une acc´el´eration que dans une dimension `a la fois.
Selon les indications de ces 3 capteurs, l’ordinateur de bord d´etermine s’il doit gonfler un des 4 airbags. Il ne peut en gonfler qu’un `a la fois.
Les r`egles d´eterminant le gonflement des airbags sont les suivantes :
— si le capteur avant (resp. arri`ere) se d´eclenche et que le gyroscope d´etecte une acc´el´eration selon x ou y, on gonfle l’airbag avant (resp. arri`ere) ;
— si une acc´el´eration selon z est d´etect´ee, on ne gonflera aucun airbag ;
— si seule une acc´el´eration selon y est d´etect´ee, on gonflera les airbags lat´eraux ;
— si seule une acc´el´eration selon x est d´etect´ee, on gonflera l’airbag avant ;
— dans les autres cas, on ne gonfle pas d’airbag.
On consid`ere que les capteurs avant et arri`ere ne signaleront jamais de choc en mˆeme temps.
Consignes :
1. Donnez une description rigoureuse des entr´ees/sorties de ce syst`eme en veillant `a optimiser le nombre de bits utilis´es.
Ex : ”la variable A correspond `atelle entr´ee (ousortie) et vaut
(1, dans telle situation
0, sinon .”
2. ´Etablissez la table de v´erit´e compl`ete (pas de Don’t Care dans les colonnes de gauche SVP) du syst`eme.
Pour plus de clart´e, vous pouvez utiliser une des tables vierges donn´ees en annexe.
3. D´eterminez l’(les) ´equation(s) simplifi´ee(s) de la (des) sortie(s).
4. Exprimez la (une des) sortie(s) `a l’aide d’un multiplexeur de taille minimale.
Question 3 : VHDL
R´epondez aux questions suivantes :
— Qu’est ce qu’une entit´e, qu’est ce qu’une architecture ?
— Qu’elle est la diff´erence entre un port de type buffer et un port de type inout?
— Compl´etez le code ci dessous pour que les 2 architectures soient identiques et repr´esentent la fonction O = A.B+C .
e n t i t y O f u n c t i o n i s p o r t (
O : out s t d l o g i c ; A : i n s t d l o g i c ; B : i n s t d l o g i c ; C : i n s t d l o g i c ) ;
end O f u n c t i o n ;
a r c h i t e c t u r e O f u n c t i o n a r c h 1 o f O f u n c t i o n i s s i g n a l : s t d l o g i c ;
b e g i n
g a t e 0 : and2 p o r t map(A, B, ) ; g a t e 1 : o r 2 p o r t map( , C, ) ; end a r c h i t e c t u r e O f u n c t i o n a r c h 1 ;
a r c h i t e c t u r e O f u n c t i o n a r c h 2 o f O f u n c t i o n i s b e g i n
<= ( and ) o r ;
se rapporte.
Table de v´ erit´ e relative ` a la question :
se rapporte.