Chapitre 4
Les circuits combinatoires
1
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
2 d’autres circuits plus complexes.
1.1 Exemple de Circuits combinatoires
Demi Additionneur
Additionneur complet
Comparateur
Multiplexeur
Demultiplexeur
Encodeur
Décodeur
3
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
4
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
1 0 0 1
S A.B A.B A B
1 1 1 0
5
2.2 Demi Additionneur : logigramme
6
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
7
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
8 ri-1 Ri
3.2 Additionneur complet : table de vérité
ai bi ri-1 ri si
Si Ai .Bi .Ri 1 Ai .Bi .R i 1 Ai .B i .R i 1 Ai .Bi .Ri 1
0 0 0 0 0
Si Ai .( Bi .Ri 1 Bi .R i 1 ) Ai .( B i .R i 1 Bi .Ri 1 )
0 0 1 0 1
Si Ai ( Bi Ri 1 ) Ai .( Bi Ri 1 )
0 1 0 0 1
Si 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 B i Ri 1 Ai Bi R i 1 Ai Bi Ri 1
1 1 0 1 0
Ri Ai .Bi Ri 1.( Ai .Bi Ai .B i )
1 1 1 1 1
Ri Ai Bi Ri 1.( Ai Bi )
9
3.3 Schéma d’un additionneur complet
ai
bi
ri-1 Si
Ri
10
3.4 En utilisant des Demi
Additionneurs
Ri Ai .Bi Ri 1.( Bi Ai )
Si Ai Bi Ri 1
X Ai Bi
Y Ai Bi
Ri Y Ri 1. X
Si X Ri 1
11
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
12
3.4.1 Additionneur 4 bits ( schéma )
13
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?
14
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)
15
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
16
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
Comparateur
fe
A2 2 bits
fs
B1
B2
17
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
18 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 b 2 a b
1 1
Comparateur 1 bit Comparateur 1 bit
fs2 fe2 fi2 fs1 fe1 fi1
19
4.2.2 Comparateur 2 bits
avec des comparateurs 1 bit
fs A2.B 2 ( A2 B 2).( A1.B1) fs 2 fe2. fs1
fe ( A2 B 2).( A1 B1) fe 2. fe1
fi A2.B 2 ( A2 B 2).( A1.B1) fi 2 fe2. fi1
20
4.2.2 Comparateur 2 bits
avec des comparateurs 1 bit
a 2 b2 a1 b 1
Comparateur 1 bit Comparateur 1 bit
fs2 fe2 fi2 fs1 fe1 fi1
fs fe fi
21
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.
22
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
23
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’
24
Exercice
Réaliser un comparateur 4 bits en utilisant
des comparateurs 2 bits avec des entrées de
mise en cascade?
25
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
26
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)
27
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)
28
5.3 Multiplexeur 81
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)
29
Exemple : Réalisation d’un additionneur complet avec des
multiplexeurs 81
•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
30
Réalisation de la fonction de la somme
S i Ai .B i .R i 1 (0) Ai .Bi .Ri 1 (1) A i .Bi .R i 1 (1) Ai .Bi .Ri 1 (0) Ai .B i .R i 1 (1) Ai .B i .Ri 1 (0)
Ai .Bi .R i 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
31 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 B i R i 1 .(0) Ai B i Ri 1 .(0) Ai Bi R i 1 .(0) Ai Bi Ri 1 .(1) Ai B i R i 1 .(0) Ai B i Ri 1 .(1)
Ai Bi R i 1 .(1) 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
32 E0=0, E1=0, E2=0, E3=1, E4=0, E5=1, E6=1, E7=1
Réalisation d’un additionneur complet avec des
multiplexeurs 81
‘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
C1 Mux 8 1 C0
bi C1 Mux 8 1
bi
ai C2
ai C2
Ri
Si
33
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
34
6.1 Demultiplexeur 14
C1 C0 S3 S2 S1 S0 S 0 C1.C 0.( I )
S1 C1.C 0.( I )
0 0 0 0 0 i
S 2 C1.C 0.( I )
0 1 0 0 i 0
S 3 C1.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
35
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?
36
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
Un décodeur 38
37 V
Décodeur 24
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
1 0 1 0 1 0 0
S3
V
1 1 0 0 0 1 0
S 0 ( A.B ).V
1 1 1 0 0 0 1
S1 ( A.B ).V
S 2 ( A.B ).V
38 S3 ( A.B ).V
Décodeur 38 A
S0
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
0 1 0 0 0 1 0 0 0 0 0
S1 A.B.C
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
39 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
x
I1
y
I2
Encodeur 42
40 I3
L’encodeur binaire ( 42)
I0 I1 I2 I3 x y
0 0 0 0 0 0 I0
x
I1
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)
41
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
42
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
43 1 1 1 1 x x x x
Réalisation d’un additionneur complet
avec des décodeurs binaire 38
S i A i .Bi .Ri 1 A i .Bi .R i 1 Ai .B i .R i 1 Ai .Bi .Ri 1
0 0 1 0 1 0 1 0 0 1 1 1
Ri Ai Bi Ri 1 Ai B i Ri 1 Ai Bi R i 1 . Ai Bi Ri 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
S 0 A.B.C , S1 A.B.C , S 2 A.B.C , S 3 A.B.C ,
Ri S 3 S 5 S 6 S 7
S 4 A.B.C , S 5 A.B.C , S 6 A.B.C , S 7 A.B.C
44