Chapitre 4
Les circuits combinatoires
١
1. Les Circuits combinatoires
Un circuit combinatoire est un circuit numérique dont
les sorties dépendent uniquement des entrées.
Si=F(Ei)
Si=F(E1,E2,….,En)
E1 S1
E2 S2
Circuit combinatoire ..
..
En Sm
C’est possible d’utiliser des circuits combinatoires pour réaliser
٢ d’autres circuits plus complexes.
1.1 Exemple de Circuits combinatoires
Demi Additionneur
Additionneur complet
Comparateur
Multiplexeur
Demultiplexeur
Encodeur
Décodeur
٣
2. Demi Additionneur
Le demi additionneur est un circuit combinatoire qui
permet de réaliser la somme arithmétique de deux
nombres A et B sur un bit.
A la sotie on va avoir la somme S et la retenu R (
Carry).
A S
B
DA
R
٤
2.1Demi Additionneur : table de vérité
En binaire l’addition sur un seul
bit se fait de la manière suivante:
La table de vérité associée :
A B R S
0 0 0 0
R = A.B 0 1 0 1
S = A.B + A.B = A ⊕ B 1 0 0 1
1 1 1 0
٥
2.2 Demi Additionneur : logigramme
٦
3. L’additionneur complet
En binaire lorsque on fait une addition il faut tenir en
compte de la retenue entrante.
r4 r3 r2 r1 r0= 0 ri-1
a4 a3 a2 a1 ai
+ b4 b3 b2 b1 + bi
r4 s4 s3 s2 s1 ri si
٧
3.1 Additionneur complet 1 bit
L’additionneur complet un bit possède 3 entrées :
– ai : le premier nombre sur un bit.
– bi : le deuxième nombre sur un bit.
– ri-1 : le retenue entrante sur un bit.
Il possède deux sorties :
– Si : la somme
– Ri la retenue sortante
ai Si
Additionneur
bi
complet
Ri
ri-1
٨
3.2 Additionneur complet : table de vérité
ai bi ri-1 ri si
S i = Ai .Bi .Ri −1 + Ai .Bi .R i −1 + Ai .B i .R i −1 + Ai .Bi .Ri −1
0 0 0 0 0
S i = Ai .( Bi .Ri −1 + Bi .R i −1 ) + Ai .( B i .R i −1 + Bi .Ri −1 )
0 0 1 0 1
S i = Ai ( Bi ⊕ Ri −1 ) + Ai .( Bi ⊕ Ri −1 )
0 1 0 0 1
S i = Ai ⊕ Bi ⊕ Ri −1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0 Ri = Ai Bi Ri −1 + Ai Bi Ri −1 + Ai Bi Ri −1 + Ai Bi Ri −1
1 1 0 1 0
Ri = Ai .Bi + Ri −1.( Ai .Bi + Ai .Bi )
1 1 1 1 1
Ri = Ai Bi + Ri −1.( Ai ⊕ Bi )
٩
3.3 Schéma d’un additionneur complet
ai
bi
ri-1 Si
Ri
١٠
3.4 En utilisant des Demi
Additionneurs
Ri = Ai .Bi + Ri −1.( Bi ⊕ Ai )
S i = Ai ⊕ Bi ⊕ Ri −1
X = Ai ⊕ Bi
Y = Ai Bi
Ri = Y + Ri −1. X
S i = X ⊕ Ri −1
١١
3.4 Additionneur 4 bits
r4 r3 r2 r1 r0= 0
a4 a3 a2 a1
+ b4 b3 b2 b1
r4 r4 s4 r3 s3 r2 s2 r1 s1
r4 s4 s3 s2 s1 Résultat final
١٢
3.4.1 Additionneur 4 bits ( schéma )
١٣
Exercice
Soit une information binaire sur 5 bits ( i4i3i2i1i0).
Donner le circuit qui permet de calculer le nombre
de 1 dans l’information en entrée en utilisant
uniquement des additionneurs complets sur 1 bit?
١٤
4. Le Comparateur
C’est un circuit combinatoire qui permet de comparer entre
deux nombres binaire A et B.
Il possède 2 entrées :
– A : sur un bit
– B : sur un bit fi
A
Comparateur fe
B 1 bit
Il possède 3 sorties fs
– fe : égalité ( A=B)
– fi : inférieur ( A < B)
– fs : supérieur (A > B)
١٥
4.1 Comparateur sur un bit
A B fs fe fi fs = A.B
0 0 0 1 0
fi = AB
0 1 0 0 1
fe = AB + AB = A ⊕ B = fs + fi
1 0 1 0 0
1 1 0 1 0
١٦
4.2 Comparateur 2 bits
Il permet de faire la comparaison entre deux
nombres A (a2a1) et B(b2b1) chacun sur deux bits.
A1
fi
A2 Comparateur
fe
B1 2 bits
B2 fs
١٧
4.2.1 Comparateur 2 bits (table de vérité)
A2 A1 B2 B1 fs fe fi
1. A=B si 0 0 0 0 0 1 0
0 0 0 1 0 0 1
A2=B2 et A1=B1
0 0 1 0 0 0 1
0 0 1 1 0 0 1
fe = ( A2 ⊕ B 2).( A1 ⊕ B1) 0 1 0 0 1 0 0
2. A>B si 0 1 0 1 0 1 0
0 1 1 0 0 0 1
A2 > B2 ou (A2=B2 et A1>B1) 0 1 1 1 0 0 1
fs = A2.B 2 + ( A2 ⊕ B 2).( A1.B1) 1 0 0 0 1 0 0
1 0 0 1 1 0 0
1 0 1 0 0 1 0
3. A<B si 1 0 1 1 0 0 1
A2 < B2 ou (A2=B2 et A1<B1) 1 1 0 0 1 0 0
1 1 0 1 1 0 0
fi = A2.B 2 + ( A2 ⊕ B 2).( A1.B1) 1 1 1 0 1 0 0
١٨ 1 1 1 1 0 1 0
4.2.2 Comparateur 2 bits
avec des comparateurs 1 bit
•C’est possible de réaliser un comparateur 2 bits en utilisant des
comparateur 1 bit et des portes logiques.
•Il faut utiliser un comparateur pour comparer les bits du poids faible
et un autre pour comparer les bits du poids fort.
•Il faut combiner entre les sorties des deux comparateurs utilisés
pour réaliser les sorties du comparateur final.
a2 b2 a b
1 1
Comparateur 1 bit Comparateur 1 bit
fs2 fe2 fi2 fs1 fe1 fi1
١٩
4.2.2 Comparateur 2 bits
avec des comparateurs 1 bit
fs = A 2 . B 2 + ( A 2 ⊕ B 2 ).( A1 . B1) = fs 2 + fe 2 . fs1
fe = ( A 2 ⊕ B 2 ).( A1 ⊕ B 1) = fe 2 . fe 1
fi = A2.B 2 + ( A2 ⊕ B 2).( A1.B1) = fi 2 + fe 2. fi1
٢٠
4.2.2 Comparateur 2 bits
avec des comparateurs 1 bit
a2 b2 a1 b1
Comparateur 1 bit Comparateur 1 bit
fs2 fe2 fi2 fs1 fe1 fi1
fs fe fi
٢١
4.2.3 Comparateur avec des entrées de
mise en cascade
On remarque que :
– Si A2 >B2 alors A > B
– Si A2<B2 alors A < B
Par contre si A2=B2 alors il faut tenir en compte du résultat de
la comparaison des bits du poids faible.
Pour cela on rajoute au comparateur des entrées qui nous
indique le résultat de la comparaison précédente.
Ces entrées sont appelées des entrées de mise en cascade.
٢٢
4.3 Comparateur avec des entrées en
cascade
A2 B2
A2 B2 Es Eg Ei fs fe fs
Comp Es ( >)
A2>B2 X X X 1 0 0 Eg ( =)
fs fe fi Ei ( <)
X X X 0 0 1
A2<B2
1 0 0 1 0 0
A2=B2
0 1 0 0 1 0 fs= (A2>B2)+(A2=B2).Es
fi= ( A2<B2)+ (A2=B2).Ei
0 0 1 0 0 1 fe=(A2=B2).Eg
٢٣
4.3 Comparateur avec des entrées en
cascade
A2 B2 A1 B1
‘0’
Comp es Comp es
eg eg
fs fe fi ei fs fe fi ei ‘1’
٢٤
Exercice
Réaliser un comparateur 4 bits en utilisant
des comparateurs 2 bits avec des entrées de
mise en cascade?
٢٥
5. Le Multiplexeur
Un multiplexeur est un circuit combinatoire qui permet de
sélectionner une information (1 bit) parmi 2n valeurs en entrée.
Il possède :
– 2n entrées d’information
– Une seule sortie
– N entrées de sélection ( commandes)
Em ………....................... E3 E1 E0
C0
C1
Mux 2n 1
V
Cn-1 S
٢٦
5.1 Multiplexeur 2 1
V C0 S
0 X 0 E1 E0
C0
Mux 2 1
V
1 0 E0
1 1 E1
S
S = V .(C 0 .E 0 + C 0 .E1)
٢٧
5.2 Multiplexeur 4 1
C1 C0 S
0 0 E0
E3 E2 E1 E0
0 1 E1 C0
C1 Mux 4 1
1 0 E2
1 1 E3
S
S = C1.C 0.( E 0 ) + C1.C 0 .( E1) + C1 .C1.( E 2 ) + C1 .C 0 .( E 3)
٢٨
1
5.3 Multiplexeur 8
C2 C1 C0 S
0 0 0 E0
0 0 1 E1
0 1 0 E2 E7 E6 E5 E4 E3 E2 E1 E0
C0
0 1 1 E3 C1 Mux 8 1
1 0 0 E4 C2
1 0 1 E5
1 1 0 E6
1 1 1 E7
S = C 2.C1.C 0.( E 0) + C 2.C1.C 0( E1) + C 2.C1.C 0( E 2) + C 2.C1.C 0( E 3) +
C 2.C1.C 0( E 4) + C 2.C1.C 0( E 5) + C 2.C1.C 0( E 6) + C 2.C1.C 0( E 7)
٢٩
Exemple : Réalisation d’un additionneur complet avec des
1
multiplexeurs 8
•Nous avons besoin d’utiliser deux multiplexeurs :Le premier pour
réaliser la fonction de la somme et l’autres pour donner la retenue.
ai bi ri-1 ri ai bi ri-1 Si
0 0 0 0
0 0 0 0 0 0 1 1
0 0 1 0
0 1 0 1
0 1 0 0
0 1 1 0
0 1 1 1
1 0 0 1
1 0 0 0
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 1
1 1 1 1
٣٠
Réalisation de la fonction de la somme
Si = Ai .Bi .Ri−1 (0) + Ai .Bi .Ri−1 (1) + Ai .Bi .Ri−1 (1) + Ai .Bi .Ri−1 (0) + Ai .Bi .Ri−1 (1) + Ai .Bi .Ri−1 (0)
+ Ai .Bi .Ri−1 (0) + Ai .Bi .Ri−1 (1)
S = C 2.C1.C 0.( E 0 ) + C 2.C1.C 0 ( E1) + C 2.C1 .C 0 ( E 2 ) + C 2.C1 .C 0 ( E 3) +
C 2 .C1.C 0 ( E 4 ) + C 2 .C1.C 0 ( E 5) + C 2 .C1 .C 0 ( E 6 ) + C 2 .C1 .C 0 ( E 7 )
On pose :
C2=Ai
C1=Bi
C0=Ri-1
٣١ E0=0, E1=1, E2=1, E3=0, E4=1, E5=0, E6=0, E7=1
Réalisation de la fonction de la retenue
Ri = Ai Bi Ri−1.(0) + Ai Bi Ri−1.(0) + Ai Bi Ri−1.(0) + Ai Bi Ri−1.(1) + Ai Bi Ri−1.(0) + Ai Bi Ri−1.(1)
+ Ai Bi Ri−1.(1) + Ai Bi Ri−1.(1)
S = C 2.C 1.C 0.( E 0 ) + C 2.C 1.C 0 ( E 1) + C 2.C 1 .C 0 ( E 2 ) + C 2.C 1 .C 0 ( E 3) +
C 2 .C 1.C 0 ( E 4 ) + C 2 .C 1.C 0 ( E 5 ) + C 2 .C 1 .C 0 ( E 6 ) + C 2 .C 1 .C 0 ( E 7 )
On pose :
C2=Ai
C1=Bi
C0=Ri-1
٣٢ E0=0, E1=0, E2=0, E3=1, E4=0, E5=1, E6=1, E7=1
Réalisation d’un additionneur complet avec des
1
multiplexeurs 8
‘1’
‘1’
‘0’
‘0’
ri-1 E7 E6 E5 E4 E3 E2 E1 E0
C0 ri-1 E7 E6 E5 E4 E3 E2 E1 E0
Mux 8 1 C0
bi C1
bi C1 Mux 8 1
ai C2
ai C2
Ri
Si
٣٣
6. Demultiplexeurs
Il joue le rôle inverse d’un multiplexeurs, il permet de faire
passer une information dans l’une des sorties selon les valeurs
des entrées de commandes.
Il possède :
– une seule entrée
– 2n sorties
– N entrées de sélection ( commandes)
I
C0 DeMux 1 4
C1
S3 S2 S1 S0
٣٤
4
6.1 Demultiplexeur 1
C1 C0 S3 S2 S1 S0 S 0 = C 1.C 0 .( I )
S 1 = C 1.C 0 .( I )
0 0 0 0 0 i
S 2 = C 1 .C 0 .( I )
0 1 0 0 i 0
S 3 = C 1 .C 0 .( I )
1 0 0 i 0 0
I
1 1 i 0 0 0
C0 DeMux 1 4
C1
S3 S2 S1 S0
٣٥
Exercice
Réaliser le circuit qui permet de trouver le maximum
entre deux nombres A et B sur un Bit en utilisant le
minimum de portes logiques et de circuits
combinatoires?
٣٦
7. Le décodeur binaire
C’est un circuit combinatoire qui est constitué de :
– N : entrées de données
– 2n sorties
– Pour chaque combinaison en entrée une seule sortie est
active à la fois
S0
A S1
S2
B S3
S4
C S5
S6
S7
8
Un décodeur 3
٣٧ V
4
Décodeur 2
V A B S0 S1 S2 S3
S0
0 X X 0 0 0 0 A
S1
B
1 0 0 1 0 0 0 S2
S3
1 0 1 0 1 0 0
V
1 1 0 0 0 1 0
S 0 = ( A. B ).V
1 1 1 0 0 0 1
S 1 = ( A. B ).V
S 2 = ( A. B ).V
٣٨ S 3 = ( A. B ).V
S0
8
Décodeur 3 A S1
S2
B S3
S4
C S5
S6
A B C S0 S1 S2 S3 S4 S5 S6 S7 S7
0 0 0 1 0 0 0 0 0 0 0 V
0 0 1 0 1 0 0 0 0 0 0
S 0 = A . B .C
= A . B .C
0 1 0 0 0 1 0 0 0 0 0
S 1
0 1 1 0 0 0 1 0 0 0 0
S 2 = A . B .C
1 0 0 0 0 0 0 1 0 0 0
S 3 = A . B .C
1 0 1 0 0 0 0 0 1 0 0 S 4 = A . B .C
1 1 0 0 0 0 0 0 0 1 0 S 5 = A . B .C
1 1 1 0 0 0 0 0 0 0 1 S 6 = A . B .C
٣٩ S 7 = A . B .C
8. L’encodeur binaire
Il joue le rôle inverse d’un décodeur
– Il possède 2n entrées
– N sortie
– Pour chaque combinaison en entrée on va avoir sont
numéro ( en binaire) à la sortie.
I0
I1 x
y
I2
2
Encodeur 4
I3
٤٠
2)
L’encodeur binaire ( 4
I0 I1 I2 I3 x y
0 0 0 0 0 0 I0
I1 x
1 x x x 0 0 y
I2
0 1 x x 0 1 I3
0 0 1 x 1 0
0 0 0 1 1 1 X = I 0.I1.( I 2 + I 3)
Y = I 0.( I1 + .I 2.I 3)
٤١
9. Le transcodeur
C’est un circuit combinatoire qui permet de transformer un code
X ( sur n bit) en entrée en un code Y ( sur m bit) en sortie.
E1 S1
E2 S2
transcodeur ..
..
En Sm
٤٢
Exemple : Transcodeur BCD/EXESS3
A B C D X Y Z T
0 0 0 0 0 0 1 1
0 0 0 1 0 1 0 0
0 0 1 0 0 1 0 1
0 0 1 1 0 1 1 0
0 1 0 0 0 1 1 1
0 1 0 1 1 0 0 0
0 1 1 0 1 0 0 1
0 1 1 1 1 0 1 0
1 0 0 0 1 0 1 1
1 0 0 1 1 1 0 0
1 0 1 0 x x x x
1 0 1 1 x x x x
1 1 0 0 x x x x
1 1 0 1 x x x x
1 1 1 0 x x x x
٤٣ 1 1 1 1 x x x x
Réalisation d’un additionneur complet
avec des décodeurs binaire 38
S i = A i . B i . R i −1 + A i . B i . R i −1 + A i . B i . R i −1 + A i . B i . R i −1
0 0 1 0 1 0 1 0 0 1 1 1
R i = A i B i R i −1 + A i B i R i −1 + A i B i R i −1 . + A i B i R i −1
0 1 1 1 0 1 1 1 0 1 1 1
On pose A=Ai , B =Bi , C=Ri-1
S i = S1 + S 2 + S 4 + S 7
S0 = A.B.C, S1 = A.B.C, S2 = A.B.C, S3 = A.B.C,
Ri = S 3 + S 5 + S 6 + S 7
S4 = A.B.C, S5 = A.B.C, S6 = A.B.C, S7 = A.B.C
٤٤