Académique Documents
Professionnel Documents
Culture Documents
LOGIQUE COMBINATOIRE
FONCTIONS LOGIQUES DE BASE
A. MZOUGHI
L2.v1 UPS/M. A.
LOGIQUE COMBINATOIRE
FONCTIONS LOGIQUES DE BASE
Laddition est lopration la plus frquemment ralise dans un calculateur : il faut loptimiser au
maximum. Faire un circuit 2 tages (ET-OU) dune addition par exemple, de 2 nombres de 32 bits est
probablement possible, mais conduit un volume de logique important. Heureusement, une autre
approche, plus naturelle est possible, calque sur notre faon de procder :
ai bi
ri
+ Additionneur complet
"Full-adder"
ri+1
Si
I. 1. Association de demi-additionneurs
Considrons laddition de 2 bits : a (plus) b, donnant pour rsultat : un bit de somme S et un bit de
report R.
a
S
b
Figure 2 : demi-additionneur
Considrons le cas le plus gnral o on doit effectuer laddition de 3 bits a plus b plus r.
r tant le report issu de laddition des bits du rang prcdent (r est dit report entrant Carry In). Le
rsultat sera : 1 bit de somme S
1 bit de report R ( R est dit report sortant Carry Out).
R=
S=
2
L2.v1 UPS/M. A.
r
a S
b
R
10
R=
On a S=
S= R=
3
L2.v1 UPS/M. A.
r a b
ai bi
ri
S
+
Ri
R Si
Figure 4b : additinneur complet intgr ralis avec des portes logiques NON-ET
Lintrt de la solution avec deux demi-additionneurs est quelle ncessite moins de portes logiques.
Mais on a obtenu de la simplicit au dtriment de la performance. Le facteur bloquant est le temps de
propagation de la report :
dans la 1re solution : 3 tages de logique par bit
dans la 2me solution : 2 tages de logique par bit
Pour additionner 32 bits, le rsultat nest donc obtenu quau bout dun temps correspondant la
traverse de 65 couches doprateurs pour la premire solution contre 64 couches pour la seconde. Ces
additionneurs sont dits des additionneurs a report en cascade (Figure 5).
+ + + +
Rn-1 Sn-1 Ri Si R1 S1 R0 S0
Dans un additionneur report anticip on fait pour chaque rang, le calcul de Ri directement en
fonction des bits ai, bi, et tous les rangs infrieurs et de r0. Il faut donc dterminer les fonctions
logiques qui permettent deffectuer ce calcul de R pour un rang quelconque.
Nous avons vu que le report dun additionneur complet est donn par :
R=
R=
Cette quation signifie que R = 1 si et seulement si une des deux conditions suivantes est vrifie :
4
L2.v1 UPS/M. A.
P=
r plus a 1 <---- r 0 <---- r 1 <---- r
plus b 1 1 0
ai bi
Gi Pi
Avec de tels circuits on se propose deffectuer laddition report anticip de 2 nombres A et B de 4 bits
chacun : A a3 a2 a1 a0
B b3 b2 b1 b0
R0 =
R1 =
R1 =
R2 =
R2 =
R3 =
R3 =
Ces quations nous conduisent la ralisation de la figure 7 sur laquelle on constate que le calcul du
report R de chaque rang (y compris le dernier R3) ne se fait qu travers 3 couches doprateurs
seulement au lieu de 9 couches pour un additionneur report en cascade.
En contre partie le nombre doprateurs ncessaires reste trs important et cest pourquoi ceci ne
prsente un rel intrt que dans loptique des techniques dintgration moyenne et grande chelle
(MSI, LSI et VLSI). Le nombre doprateurs ncessaires prend alors une importance tout fait
secondaire en regard des autres avantages du procd.
a3 b3 a2 b2 a1 b1 a0 b0
1re COUCHE
G3 P3 G2 P2 G1 P1 G0 P0
r0
2me COUCHE
3me COUCHE
R3 R2 R1 R0
4me COUCHE
R3 S3 S2 S1 S0
Les circuits intgrs proposs actuellement effectuent laddition rapide avec anticipation du report de 2
nombres de 4 bits chacun.
Pour additionner 2 nombres X et Y de 32 bits, par exemple, on peut monter des additionneurs 4 bits en
cascade, comme le montre la figure 8.
6
L2.v1 UPS/M. A.
x31 x28 x7 x4 x3 x0
y31 y28 y7 y4 y3 y0
a3 b3 a0 b0 a3 b3 a0 b0 a3 b3 a0 b0
R27 R7 R3
R3 ADD7 r0 R3 ADD1 r0 R3 ADD0 r0 0
s3 s2 s1 s0 s3 s2 s1 s0 s3 s2 s1 s0
Avec ce montage le report R3 par exemple doit se propager travers 2 couches doprateurs dans
chacun des additionneurs ADD1 ADD7 soit 14 couches au total. Le report R0 issu de laddition des
bits de plus faible poids se propage travers 14 + 3 = 17 couches doprateurs.
Un dcodeur est un circuit possdant n entres et N sorties tel que (N = 2n) et une entre de
validation (Enable) ou de commande. La reprsentation symbolique et la table de vrit dun dcodeur
2 vers 4 sont les suivants :
A0 S0\
A1 S1\
2 4
S2\
E\ S3\
E A B S0 S1 S2 S3 Remarque
Un dcodeur est identificateur de minterm. On remarquera quil fonctionne en logique positive sur les
entres et en logique ngative sur les sorties et lentre de validation. La ralisation dun dcodeur de
2 vers 4 avec portes logiques NON-ET est donne sur la figure 9.
7
L2.v1 UPS/M. A.
E A1 A0
S0
S1
S2
S3
Le signal de validation permet dassocier deux dcodeurs 2 vers 4 pour obtenir un dcodeur de 3
vers 8 (3 entres, 8 sorties) (figure 10).
A0 A0 S0\ S0\
A1 A1 S1\ S1\
2 4 S2\
S2\
A2 E\ S3\ S3\
A0 S0\ S4\
A1 S1\ S5\
2 4 S2\
S6\
E\ S3\ S7\
A0 S0\ S0\
A0
A1 A1 S1\ S1\
2 4 S2\
A2 S2\
E\ S3\ S3\
A0 S0\ S4\
A1 S1\ S5\
2 4 S2\
S6\
E\ S3\
E\ S7\
En procdant, de faon rcursive on voit quil est possible dobtenir un dcodeur de taille quelconque.
8
L2.v1 UPS/M. A.
E0
A1 A0 S
E1 0 0 E0
MUX S
E2 0 1 E1
1 0 E2
E3 1 1 E3
A1 A0
S=
E0
E1
S
E2
E3
On ne voit pas de signal de validation comme dans le dcodeur. Ce signal pourrait tre envisag, mais
napporterait rien ici : si le multiplexeur est bloqu, cela veut dire quil ne peut laisser passer aucune
entre. Mais quy aurait-il alors sur sa sortie : il faudrait convenir dun tat 1 ou 0 dans ce cas, rsultat
qui peut tre paramtr en conservant lune des entres pour ce cas.
Lassociation de multiplexeurs est possible comme le montre la figure suivante : ralisation dun
multiplexeur de 8 vers 1 partir de 3 multiplexeurs de 4 vers 1 (Figure 13).
9
L2.v1 UPS/M. A.
E0 E0 MUX 8 1
E1 E1
MUX S E0
E2 E2 4 1
E1
E3 MUX S
E3 E2 4 1 S
E3
A0 A1
E4 E0 A0 A1
0
E5 E1
MUX S
E6 E2 4 1
E7 E3
A0 A1
A0 A1 A2
10