You are on page 1of 44

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

٤٤