Beruflich Dokumente
Kultur Dokumente
Gaff e
Universit de Nice-Sophia Antipolis e DEUG MIAS-MI - premi` re ann e e e
0 1 1 2 1 2 2 3
0 0 0 1 0 1 1 1
0 1 1 0 1 0 0 1
1 1 0 1 0 1 1 0 1 1 1 0 1 1 0 0 0 1 1
Comme les manipulations binaires sont les m mes pour chaque bits, nous concevons ladditione neur el mentaire ci-dessous et nous le dupliquons autant de fois que n cessaire. e e 3
#
#$
" !
Ai Bi R i-1
Ri Si
1 1 1 0 propagation de la retenue 0 1 1 1 0 1 1 0
1 1
Remarque : avec
Le terme est alors appel terme de g n ration car sa valuation a 1 est sufsante pour forcer la e e e ` retenue a 1. Le terme est appel terme de propagation car il propage ou non la retenue pr c dente. ` e e e
# (# %# $ # & ! # (# # $ ! # !
# & ! %# $ # ! %# $ # # $ # # $ # # # #
S i
Ri
# # # & # # (# # # ! #$
C.Belleudy, D.Gaff e
1.1.2 Demi-additionneur
Consid rons le sch ma constitu de deux cellules identiques : e e e
Zi Xi Yi Ui B i A i Ti
dou
Donc ce montage est egalement un additionneur el mentaire : Chaque cellule est appel demi e e additionneur.
# %# # # # # # # &# # # &# # &# %# # %# # # # # &# %# # %# # # # # $" # # #( # ( # # # $#"# ! # # # # # ( # # # # # # ' )# #( # %# ' #
# # # # # # # # # #
# # # # # # #
6
# ! $"
Par contre il y a d passement de capacit si la somme de deux nombres positifs devient n gative e e e ou la somme de deux nombre n gatifs devient positive. Comme le signe est donn pas le bit le plus a e e ` gauche, le premier cas s crit : e et le second .
dou
Sur un additionneur classique a bits, le temps de calcul global est conditionn par le temps de ` e propagation de la retenue de la premi` re cellule el mentaire jusqu` la derni` re. e e a e
(
de propagation dans une porte logique quelle que soit celle-ci, temps de avec portes a 2 entr es ` e
(60 (5 (2 ( 0
temps de avec temps de avec portes a 3 entr es portes a 3 entr es ` e ` e (sauf OU-exclusif)
(6) (2 (3 ( ) (6) (2 (3 ( )
Le besoin dadditionneurs de plus en plus performants, a conduit a une nouvelle solution qui an` ticipe la valeur de la retenue dans les calculs au lieu dattendre sa propagation normale. Le sch ma qui suit montre la structure dun tel additionneur. On peut se douter quil n cessite e e beaucoup plus de portes logiques :
Xn1 Yn1 X0 Y0 X1 Y1 X0 Y0 X0 Y0 Rn X2 Y R1 X R0 X
0 1 2
Xn Yn
Sn
S2
S1
Y0
S0
Pour concevoir les modules sp ciaux danticipation de la retenue, il suft de revenir a l quation e ` e
& ! $
&
$
).
par d nition. e
' ) 0
C.Belleudy, D.Gaff e
dorigine de celle-ci et dappliquer la recursion :
dou
de m me e
et ainsi de suite... On remarque que les equations deviennent rapidement complexes, mais elles peuvent toujours s crire comme une somme de produits. Donc leur temps d valuation est constant quel que soient e e leur complexit ( e ). L valuation global de prend alors un temps de : e (retenue ) (cellule )
Dans le cas de ladditionneur a retenue anticip e, le temps de calcul ne d pend plus du nombre ` e e de cellules : il est constant. Ceci est particuli` rement avantageux pour les processeurs actuels qui e manipulent 32 bits de donn es voire plus. e Le miracle vient du fait que beaucoup de calculs se font simultan ment en parall` le. Le prix a e e ` payer est une explosion du nombre de portes logiques ; mais est-ce encore un probl` me aujourdhui e avec le taux dint gration actuel de transistors sur un substrat de silicium ? e
1.2 Soustraction
Dans un souci d conomie de circuits, la soustraction A-B est r alis e, dans la majorit des circuits e e e e num riques, comme une addition entre A et la repr sentation en compl ment a deux de B (A+(-B)). e e e ` Le compl ment a deux de B est facile a obtenir car il suft dinverser B et de lui ajouter globalement e ` ` au lieu de 1 et nous pouvons nous appuyer sur la propagation de la retenue en choisissant ! dou le sch ma suivant : e
#
Conclusion :
! ! ! $ ! $ $ # # ! # $ # ! # $ & # $ # $
( )
! %# $ #
( )
( )
A n-1 B n-1
R n-1 S n-1
A1 B1 A0 B0
S1
S0
A B
1 0 1 0 1 0 1 1
1 0 1 0 1 0 1 0 0 0 0 0 1 0 1 0 1 1 0 1 1 1 0
2.2 Le multiplexeur
2.2.1 La fonction de multiplexage
Le multiplexage est une op ration qui consiste a faire circuler sur un seul conducteur des infore ` mations provenant de sources multiples.
Donnes aiguiller
E0 E1 Ei E 2 n -2 E 2 n -1
Y= E i si S=i
slection
S n-1
S0
A partir de cette pr sentation fonctionnelle du multiplexeur, on va maintenant d terminer la fonce e tion logique r alis e par ce type de circuit. Consid rons la table de v rit dun multiplexeur a deux e e e e e ` entr es : e
00 01 10 11
repr sentent les variables dentr es, e e la valeur de la fonction lorsquon consid` re e comme le codage binaire de et la fonction binaire qui vaut 1 seulement pour la combinaison consid r e (minterme associ a la combinaison ee e` ). En comparant l quation e pr c dente et celle etablie pour la sortie dun multiplexeur a n entr es, il est facile de voir quil est e e ` e possible de r aliser toutes les fonctions de n variables : les entr es de s lection du multiplexeur sont e e e alors les variables de la fonction et les entr es de donn es du multiplexeur permettent de s lectionner e e e la fonction a r aliser. Prenons a titre dexemple la table de v rit pr sent e ci-dessous qui poss` de ` e ` e e e e e sur lequel les entr es du syst` me trait e e e trois variables dentr es A, B, C et consid rons un mpx e e sont connect es aux entr es de s lection du mpx. e e e
#
o` u
OUT 0 0 1 1 0 1 1 0
0 0 1 1 0 1 1 0
E0 E1 E2 E 3 MPX8>1 Y E4 E5 E6 E7 S S S 2 1 0 A B C
OUT
F IG . 2.1 Exemple de cabl ge de multiplexeur obtenu directement a partir de la table de v rit a ` e e Lorsque le nombre dentr es du syst` me etudi devient grand, il nest pas toujours ais de dispoe e e e ser dun multiplexeur avec autant dentr es de s lection que de variables dentr es. Dans ce cas, le e e e concepteur peut essayer de trouver une solution moins on reuse en utilisant un multiplexeur avec un e plus petit nombre dentr e de s lection et des portes logiques. Pour ce faire, il faut dans un premier e e temps choisir le sous-ensemble des variables dentr es qui seront directement assimil es aux entr es e e e
# # '# ! ! !
4
o` u
(minterme num ro i) repr sente la fonction qui vaut 1 pour la combinaison dentr e e e e . Cest a dire : `
! ! !
#
C.Belleudy, D.Gaff e
de s lection ; ces variables sont alors appel es variables de s lection. e e e
11
Le cablage des entr es de multiplexage ( e ) est obtenue par synth` se des tables de e v rit qui peuvent etre etablies pour chaque combinaison des variables de s lection. e e e Consid rons ainsi lentr e e e : la table de v rit du syst` me etudi peut etre r duite aux seules e e e e e combinaisons o` les variables repr sentant les entr es de s lection valent i. Les equations logiques u e e e obtenues ne d pendent alors que des variables qui ne sont pas connect es aux entr es de s lection du e e e e multiplexeur. Pour illustrer ce mode de raisonnement, retraitons lexemple pr c dent avec un multiplexeur e e . Les variables A et B sont assimil es aux entr es de s lection. Pour obtenir le cablage de e e e lentr e e du multiplexeur, la table de v rit initiale est r duite aux combinaisons o` e e e u . Soit quelle que soit la valeur de . Lorsque , donc . En appliquant ce raisonnement aux trois entr es de multiplexage restantes, on obtient le cablage de la e gure 2.2. Linconv nient majeur de cette approche r side dans le fait que le choix de laffectation des vae e riables dentr es du syst` me aux entr es de s lection du multiplexeur est al atoire. Pour obtenir une e e e e e solution optimale, il faudrait tester tous les choix possibles et ne retenir que la meilleure solution, m thode exhaustive qui peut- tre tr` s couteuse en temps. e e e
E0 0 0 E1 1 1 E2 0 1 E3 1 0
0 1 C C
E 0 MPX4>1 E1 Y E2 E3 S1 S0 A B
OUT
# (
12
ADDITIONNEUR 8
X
8
8 bits
8
SOUSTRACTEUR
8 bits
8 MUX 8 4 -> 1
MAX
8 bits
ABSOLUE 8 bits
VALEUR
c1 c0
E1
UAL
E2
c1 c0
2.3 Le d multiplexeur e
2.3.1 Fonction d multiplexage e
A la sortie dun multiplexeur, il faut redistribuer les informations. Le proc d de transfert est donc e e bas sur le ph nom` ne inverse du multiplexage. Le d multiplexeur permet de convertir des infore e e e mations binaires s ries en informations binaires parall` les. Il poss` de une entr e pour n sorties. La e e e e
C.Belleudy, D.Gaff e
13
diff rence entre le multiplexeur et le d multiplexeur r side dans le sens de circulation de linformae e e tion. Seule la sortie qui porte le bon num ro est connect e a lentr e. Les autres sorties sont (suivant e e ` e le mod` le de d multiplexeur choisi) : e e d connect es : on dit alors quelles sont en haute imp dance, e e e ou alors x es a une r f rence logique constante (0 ou 1). e ` ee
Y0 Y1 E Yi Y2 -2 Y2 n -1
n
Y = E si S=i i
n-1
DEMUX 1 1 VERS 8 Y0 S
! !
Y7
14
15
16
E E
Matrice "OU"
Lid e est de ne conserver que les produits et les sommes qui nous int ressent. Pour cela, le e e composant programmable pr voit au d part toutes les connexions possibles et laisse a lutilisateur le e e ` soin de couper (griller les fusibles) les liaisons qui ne lint ressent pas. e
C.Belleudy, D.Gaff e
1
0 1 2 3 0 1 2 3 4 5 6 7 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
17
19
2
8 9 10 11 12 13 14 15
18
3
16 17 18 19 20 21 22 23
17
4
24 25 26 27 28 29 30 31
16
5
32 33 34 35 36 37 38 39
15
6
40 41 42 43 44 45 46 47
14
7
48 49 50 51 52 53 54 55
13
8
56 57 58 59 60 61 62 63
12
9
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
11
18
3.2.2 rebouclage
La grande majorit des composants programmables actuels permettent de r injecter les sorties e e dans la matrice ET. Ceci a deux cons quences principales : e Une fonction logique peut etre evalu e a partir dune autre sans avoir a refaire une seconde fois e ` ` les calculs. Si la sortie est congur e en haute imp dance, elle peut servir alors dentr e suppl mentaire e e e e au syst` me. Cest pour cette raison dailleurs que le sch ma pr c dent peut accepter au plus 16 e e e e entr es. e
C.Belleudy, D.Gaff e
19
1
0 1 2 3 0 1 2 3 4 5 6 7 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
19
0 (masse)
2
8 9 10 11 12 13 14 15
18
3
16 17 18 19 20 21 22 23
17
4
24 25 26 27 28 29 30 31
16
5
32 33 34 35 36 37 38 39
15
6
40 41 42 43 44 45 46 47
14
7
48 49 50 51 52 53 54 55
13
8
56 57 58 59 60 61 62 63
12
9
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
11
20
E1 En Y 1 Yp
partie combinatoire
Suivant les conditions de changement des variables de sortie, on distingue deux types de syst` me e s quentiel : e 21
S1 Sm
22
Q S 0 0 0 1 1 R 0 0 1 0 1 Q 0 1 x x x
+ Q 0 1 0 1 0
En appelant la valeur de la sortie a linstant , ` evolution de la sortie vers une valeur que lon nomme
Q+= D
$
et .
C.Belleudy, D.Gaff e
23
H Q K
J K H
Q Q
+ Q = J.Q + K.Q
Q+= D
24
Cette classe de bascule est egalement appel e matre-esclave (en anglais Flip-Flop) car elle est e constitu e de deux bascules dont lune pilote lautre : e
S R H
Q Q
S R
Q D Q H
Q Q
K Q H Q J
Ormis son mode de d clenchement sur front montant, sa table de v rit est conforme a celle de la e e e ` bascule JK asynchrone :
+ Q 0 1 0 0 1 1 1 0
J K H
Q Q
+ Q = J.Q + K.Q
J 0 0 0 0 1 1 1 1
K 0 0 1 1 0 0 1 1
Q 0 1 0 1 0 1 0 1
5.2 Fonctionnement
Un registre sert a m moriser un mot ou nombre binaire. Le sch ma dun tel syst` me comporte ` e e e autant de bascules type D que d l ments binaires a m moriser. Toutes les bascules sont command es ee ` e e par le m me signal dhorloge. e
Q D 0 H D Q
Q0 D 1 D
Q Q
Q1 D n D
Q Q
Qn
Moyennant une interconnexion entre les cellules, le registre pr c dent devient capable dop rer e e e une translation des chiffres du nombre initialement stock . Le d placement seffectue soit vers la e e droite soit vers la gauche. Le registre est alors appel registre a d calage. De nombreuses applications e ` e r sultent de cette possibilit de d calage : e e e conversion s rie-parall` le dune information num rique, e e e division et multiplication par une puissance de 2, la ligne a retard. `
25
Lorsque lentr e de s lection e e est positionn e a 1, la sortie du registre e ` du registre et nous obtenons ainsi un d caleur a droite. e `
Par contre le positionnement de a 0 permet de connecter la sortie du registre ` du registre et la donn e se retrouve d cal e a gauche. e e e `
MUX 0 2>1 d D 1 D Q 3
MUX 0 2>1 1 D Q 2
sens
Bien-sur, cette architecture peut etre am lior e en prenant des multiplexeurs plus complexes ! e e
# 8! #
a lentr e ` e
MUX dG 0 2>1 1 D Q 1
MUX 0 2>1 1 D Q 0
Q0 1 1 J K Q Q 1 1 J K Q Q
Q1 1 1 J K Q Q
Q2 1 1 J K Q Q
Q3
Dans le cas g n ral, on evitera de multiplier les horloges et de jouer sur les temps de propagation e e car ces syst` mes deviennent tr` s rapidement complexes a concevoir. On leur pr f` rera les compteurs e e ` ee synchrones beaucoup moins sensibles aux transitoires. Ces compteurs synchrones peuvent toujours se repr senter sous forme de deux sous-ensembles : e une m moire (registre) dont l l ment de base est la bascule et une fonction de calcul du nombre e ee suivant (l tat futur : e ). 27
28
Qn1
registre + Qn1
f
Q0 Q0+
0 0 1 1
0 1 0 1
0 1 1 0
1 0 1 0
De cette table d volution, il est ais den d duire les equations logiques des variables de sortie, e e e dans le cas de notre exemple,
Pour obtenir les expressions des entr es des bascules, il faut, dans un second temps, proc der par e e identication avec lexpression de la bascule consid r e. Par exemple, consid rons la bascule JK ee e dont l quation de sortie est e . repr sente alors le terme mis en facteur par rapport a et par rapport a . La seule pr caution e ` ` e a prendre consiste a exprimer ` ` en fonction de et m me si cela ne repr sente pas lexpression e e minimale de .
valeur
! (
C.Belleudy, D.Gaff e
29
Reprenons lexemple du compteur binaire deux bits et supposons que notre r alisation ne come porte que des bascules JK, lidentication nous donne :
Le principal inconv nient de cette m thode r side dans le fait que l quation minimale des vae e e e riables des sorties des bascules ne permet pas toujours une identication ais e avec lexpression des e entr es. e
Si nous reprenons lexemple du compteur binaire 2 bits, nous obtenons la table d volution qui e suit :
Cette table nous permet den d duire ais ment les equations logiques des entr es des bascules e e e (ici les m mes que pr c dement). En comparaison avec la premi` re m thode, il y a deux fois plus de e e e e e fonctions a simplier mais on est assur dobtenir des equations plus simple que lidentication. ` e
# # # #
# #
30
Q1 D1 Q1 D0
Q0 Q0
Sur la gure 6.3, les equations de changement d tat donnent : e soit la table de changement d tat : e 0 0 1 1 0 1 0 1
et
0 1 1 0
0 0 1 1
Nous retrouvons bien le cycle 1,2,3. Par contre 0 conduit a 0. A la mise sous tension, nous ris` quons donc de voir notre compteur bloqu sur 0. e Pour palier ce probleme, il faut casser ce cycle ( ). La solution la plus rapide consiste a ` ajouter une rustine sur le compteur vers le set, la plus propre a refaire la synth` se ! ` e
Q1 Q0 Q1 Q0
Q1 D1 Q1 D0
set Q0 D1 Q0
Q1
Q0
nouvelle synthse
#
#
action k ligne 0
n squenceur H
F IG . 7.1 Structure dun s quenceur c bl e a e Le chronogramme suivant montre lincidence du compteur sur lactivit des lignes. e
ligne 7 ligne 6 ligne 5 ligne 4 ligne 3 ligne 2 ligne 1 ligne 0 H t
32
7.2 Applications
7.2.1 Feux de croisement
Le premier exemple simple illustre une mani` re possible de g n rer la s quence de feux de croie e e e sement :
feu 2 V V O R R R
feu pi tons 2 e r r r r r
Il n cessite un s quenceur a 6 etats donc un compteur a 6 etats (par exemple de 0 a 5). Chaque e e ` ` ` ligne du s quenceur correspond a une ligne de la table d volution. Ainsi la premi` re ligne doit allue ` e e mer le feu 1 Rouge, le feu 2 Vert, le feu 2 pi ton et eteindre le feu 1 pi ton ... e e Dou le sch ma suivant : e
feup1r 0 compteur 0 -> 5 n2 n1 n0 dcodeur feu2V feu1R feu2O feu1V feu2R feu1O feup2r squenceur H
F IG . 7.3 Gestion de feux de croisement Nota : Les temps de chaque cycle sont ici constants. Ce r sultat se g n ralise facilement en e e e consid rant un temps de base (horloge) PGCD de chaque cycle. e
C.Belleudy, D.Gaff e
A B 1 0 0 1 0 1 1 1 0 1 0 1 0 1 0 1 1 1 0 0 0 1 0 1 0 1 0 0 1 1 0
33
Pour s lectionner successivement tous les bits de B, une solution consiste a prendre le bit de poid e ` faible de B et a d caler B a droite. Nous aurons donc besoin de deux registres a d calage (pour A : ` e ` ` e d calage a gauche, pour B : d calage a droite). Ces registres ont deux commandes : chargement et e ` e ` d calage (cf ch.5) synchronis s sur horloge. e e Le sch ma ci-dessous montre le multiplieur complet. On remarque la pr sence de portes ET qui e e forcent lentr e de ladditionneur a 0 suivant le bit de poids faible de A. e `
0 4 4
A
8
registre Rsultat 8
B
4
+
8
chargement Rsultat
dcodeur 0 > 9 9
squenceur
F IG . 7.4 Multiplieur Le s quenceur est cabl pour g n rer la s quence suivante : e e e e e Reset R sultat e Chargements A et B Chargement R sultat e D calages A et B e
34 Chargement R sultat e D calages A et B e Chargement R sultat e D calages A et B e Chargement R sultat e R sultat pr` t e e
On peut remarquer que ce multiplieur nest pas tr` s performant car il additionne parfois des 0. e En fait nous aurions eu besoin dun s quenceur conditionnel, mais ceci fera lobjet dun cours de e lann e prochaine ... e