Digital Electronics
Ann´ee acad´emique 2016-2017
Correction
Interrogation N ◦ 1 : Logique combinatoire
Pr: M.Kraft
Assistants: D.Cerica
Q.Massoz
T.Schmitz
Question 1 : Analyse combinatoire
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 W W Y W W Y
HA S C A
X
K K
1
1 A+X
A+X AX
A+X
1
0
Y X+Y Ʃm(0,1,4,5,6,7)
Y C
C 0
W+W+Y=Y X
=OR
=OR 1 C
C QP QP
=NOT
Figure 1 – Annotations de l’analyse du circuit.
La sortie du circuit F correspond `a la sortie du MUX 4-1. Commen¸cons par calculer les bits de s´election S0 etS1 de ce multiplexeur. L’analyse du circuit est annot´ee en rouge sur la figure 1.
Calcul de S0 et S1
Les sorties duHA,SHA etCHA, sont donn´ees par SHA = A⊕X CHA = AX
Le bit de s´election S1 combine les sorties duHA via une porte OR S1 = A⊕X+AX
= AX+AX+AX
= X+A+AX
= A+X
Afin de trouverS0, analysons le mini-circuit `a 2 ´etages (encadr´e en vert sur la figure) com- pos´es de 2 portes XOR et d’une porte NXOR. Les portes XOR et NXOR du 1er ´etage ont les mˆemes entr´ees1 et renvoient donc en sortie2 respectivement K et K. La porte XOR du 2`eme
´
etage poss`edeK etK en entr´ee et renvoie donc toujours ”1” en sortie.
Le bit de s´election S0 est la sortie d’une porte OR S0 = 1 +S1
= 1
Testons les diff´erentes combinaisons des bits de s´election S0 = 1 et S1 =A+X S1.S0 = 0
S1.S0 = A.X S1.S0 = 0 S1.S0 = A+X
Les entr´eesE0 etE2 sont inutiles3 car elles n’interviennent pas dans l’expression de la sortie F. Seuls les calculs deE1 et E3 sont utiles. En effet,F est donn´e par
F = S1.S0.E0 +S1.S0.E1 +S1.S0.E2 +S1.S0.E3
= 0 +A.X.E1 + 0 + (A+X).E3 Calcul de E1
Les entr´ees duDEC 3-8 sontX (car 1⊕X=X =X),Y etZ, o`uX est le bit de poids fort et Z le bit de poids faible. Pour rappel, un d´ecodeur est un g´en´erateur de mintermes. Ici, les sorties sont compl´ement´ees !
Le bit d’entr´eeE1 peut ˆetre exprim´e comme une somme de mintermes E1 = P
m(0,1,4,5,6,7)
En effet, plusieurs transformations du circuit permettent d’obtenir une porte OR `a 6 entr´ees (= les 6 sorties/mintermes du DEC 3-8) :
— la porte XOR peut ˆetre remplac´ee par une porte NOT car 1⊕X =X
— une porte NAND dont les entr´ees sont compl´ement´ees est ´equivalent `a une porte OR car A.B =A+B
Ainsi, les 3 portes NAND (avec leurs entr´ees compl´ement´ees) peuvent ˆetre remplac´ees4 par 3 portes OR. Le sch´ema simplifi´e du circuit est visible `a la figure 2. Finalement, les 3 portes OR peuvent ˆetre combin´ees en une porte OR `a 6 entr´ees.
L’expression bool´eenne deE1 est obtenue via une table de Karnaugh (voir figure 3) E1 = X+Y
3. Pour info,E0 = 1 etE2 = 0
4. 2 transformations sur 3 sont encadr´ees en rouge sur la figure 1
Y Z
01 23 45 67 22
21 20
DEC 3-8 X
E1
Figure2 – Sch´ema simplifi´e duDEC 3-8.
1 1 1 1
1 1 X
Y
Z
E1=X+Y
Figure 3 – Table de Karnaugh du bit d’entr´eeE1.
Calcul de E3
Le bit d’entr´eeE3 est donn´e par la porte OR
E3 = CF A.CF A+SF A
= 0 +W ⊕W ⊕Y
= (W ⊕W)⊕Y
= 0⊕Y
= Y
Sortie du circuit F
La sortie duMUX 4-1,F, est donn´e par
F = A.X.E1 + (A+X).E3
= A.X.(X+Y) + (A+X).Y
= A.X.X+A.X.Y +A.Y +X.Y
= A.X.Y +A.Y +X.Y Sa table de v´erit´e est visible `a la table 1.
Impl´ementation de F avec un nombre minimum de portes NOR
Afin d’impl´ementer F avec un nombre minimum de portes NOR, F doit ˆetre exprim´e sous la forme d’un produit de somme optimal. A cette fin, nous utilisons la table de Karnaugh sur F (pour obtenir F = somme de produit optimal) suivi du th´eor`eme De Morgan (pour obtenir
A X Y F F mi
0 0 0 1 0 0
0 0 1 0 1 1
0 1 0 0 1 2
0 1 1 1 0 3
1 0 0 0 1 4
1 0 1 1 0 5
1 1 0 0 1 6
1 1 1 1 0 7
Table 1 – Table de v´erit´e de F etF.
Via la table de Karnaugh (voir figure 4), nous obtenons F = A.Y +X.Y +A.X.Y
1 1
1 A
X
Y
1 F=AY+XY+AXY
Figure4 – Table de Karnaugh de F.
L’application du th´eor`eme De Morgan permet d’obtenir l’expression deF sous forme d’une produit de somme
F = (A+Y).(X+Y).(A+X+Y)
Le double compl´ement de F, F, nous donne directement l’impl´ementation de F avec un nombre minimum de portes NOR (visible figure 5)
F = F
= (A+Y).(X+Y).(A+X+Y)
= (A+Y) + (X+Y) + (A+X+Y)
F A Y
X Y
A X Y
Figure5 – Impl´ementation de F avec un nombre minimum de portes NOR.
Question 2 : Synth` ese combinatoire
La solution pr´esent´ee ci-dessous n’est qu’une des diff´erentes solutions possibles.
Entr´ees (4 bits) CAV =
(1 si le capteur avant signale un choc 0 sinon
CAR=
(1 si le capteur arri`ere signale un choc 0 sinon
G1 G0 =
00 si le gyroscope ne d´etecte aucune acc´el´eration critique 01 si le gyroscope d´etecte une acc´el´eration critique selon x 10 si le gyroscope d´etecte une acc´el´eration critique selon y 11 si le gyroscope d´etecte une acc´el´eration critique selon z
Rq : Le gyroscope ne peut d´etecter une acc´el´eration que dans une dimension `a la fois. C’est pourquoi le signal renvoy´e par le gyroscope peut ˆetre cod´e sur 2 bits.
Sorties (2 bits)
S1 S0 =
00 si on ne gonfle aucun airbag 01 si on gonfle l’airbag avant 10 si on gonfle l’airbag arri`ere 11 si on gonfle les airbags lat´eraux
Rq1 : 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.
Rq2 : On ne peut gonfler qu’un des 4 airbags `a la fois. C’est pourquoi cette commande peut ˆetre cod´ee sur 2 bits.
Lois de fonctionnement (´etape facultative) :
Rq : On consid`ere que les capteurs avant et arri`ere ne signaleront jamais de choc en mˆeme temps.
⇒ Si CAV CAR G1G0 =1 1XX −→ S1 S0 =XX
1) si le capteuravant(resp.arri`ere) se d´eclenche et que le gyroscope d´etecte une acc´el´eration selon x ou y, on gonfle l’airbagavant(resp. arri`ere) ;
⇒ Si CAV CAR G1G0 =1 0 0 1 ou 1 0 1 0 −→ S1 S0=0 1 Si CAV CAR G1G0 = 01 0 1 ou 0 11 0 −→ S1 S0 =1 0
2) si une acc´el´eration selonz est d´etect´ee, on ne gonflera aucun airbag ;
⇒ Si CAV CAR G1G0 = XX1 1 −→ S1 S0 =0 0
3) si seule une acc´el´eration selony est d´etect´ee, on gonflera les airbagslat´eraux;
⇒ Si CAV CAR G1G0 = 0 01 0 −→ S1 S0 =1 1 4) si seule une acc´el´eration selonx est d´etect´ee, on gonflera l’airbagavant;
⇒ Si CAV CAR G1G0 = 0 00 1 −→ S1 S0 =0 1 5) dans les autres cas, on ne gonfle pas d’airbag.
Si CAV CAR G1G0 = XX0 0 −→ S1 S0= 0 0
Table de v´erit´e
CAV CAR G1 G0 S1 S0 mi Ei(S0)
0 0 0 0 0 0 0
0 0 0 1 0 1 1 G1⊕G0
0 0 1 0 1 1 2
0 0 1 1 0 0 3
0 1 0 0 0 0 4
0 1 0 1 1 0 5 0
0 1 1 0 1 0 6
0 1 1 1 0 0 7
1 0 0 0 0 0 8
1 0 0 1 0 1 9 G1⊕G0
1 0 1 0 0 1 10
1 0 1 1 0 0 11
1 1 0 0 X X 12
1 1 0 1 X X 13 0
1 1 1 0 X X 14
1 1 1 1 X X 15
Table 2 – Table de v´erit´e relative `a la question de synth`ese
Equations simplifi´ees des sorties S1 S0 Par Karnaugh (voir figure 6), on obtient :
S1 =CAV G1 G0+CAR G1 G0
G
1C
AV1 X
S
1= C
AVG
1G
0+ C
ARG
1G
01
1
G
0S
0= C
ARG
1G
0+ C
ARG
1G
01
C
ARG
1C
AVG
0C
ARX
X
X X X X X
1
1 1
Figure6 – Tables de Karnaugh pour les sortiesS1 etS0 du syst`eme
Impl´ementation de la sortie S0 `a l’aide d’un multiplexeur 2-1
Vu la derni`ere colonne de la table de v´erit´e (et l’´equation simplifi´ee par Karnaugh), on peut impl´ementer la sortieS0 `a l’aide d’un multiplexeur 2-1 ayant pour entr´ee de s´election la variable CAR. Cette impl´ementation est illustr´ees `a la figure 7.
0 1
2
0G
1⊕G
00 S
0Mux 2-1 0
1
C
ARFigure 7 – Impl´ementation de la sortieS0 `a l’aide d’un multiplexeur
Question 3 : VHDL
R´epondez aux questions suivantes :
— Qu’est ce qu’une entit´e, qu’est ce qu’une architecture ?
— Une entit´e d´ecrit les entr´ees/sorties (contenant)
— Une architecture d´ecrit le comportement de l’entit´e (contenu)
— Qu’elle est la diff´erence entre un port de type buffer et un port de typeinout?
— Un buffer est une sortie dont on peut relire la valeur.
— Inout est un port qui peut ˆetre utilis´e comme une entr´ee ou comme une sortie.
— 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 : o u t 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 X : 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 ,X ) ; g a t e 1 : o r 2 p o r t map(X, C,O ) ;
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
O<= (A and B) o r 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 2 ;