Vous êtes sur la page 1sur 8

1.

Les Circuits combinatoires


Chapitre 4 : Les circuits combinatoires

Un circuit combinatoire est un circuit numrique dont les


sorties dpendent uniquement des entres.
Si=F(Ei)
Si=F(E1,E2,.,En)

Objectifs
Apprendre la structure de quelques circuits
combinatoires souvent utiliss ( demi additionneur ,
additionneur complet,..).

S1

E1

S2

Circuit
combinatoire

E2
..

..
Sm

En

Apprendre comment utiliser des circuits combinatoires


pour concevoir dautres circuits plus complexes.

Schma Bloc

Cest possible dutiliser des circuits combinatoires pour


raliser dautres circuits plus complexes.
1

Exemple de Circuits combinatoires


1.
2.
3.
4.
5.
6.
7.

2. Demi Additionneur

Demi Additionneur
Additionneur complet
Comparateur
Multiplexeur
Demultiplexeur
Encodeur
Dcodeur

Le demi additionneur est un circuit combinatoire qui permet de


raliser la somme arithmtique de deux nombres A et B chacun sur
un bit.
A la sotie on va avoir la somme S et la retenu R ( Carry).

A
B

DA

S
R

Pour trouver la structure ( le schma ) de ce circuit on doit en


premier dresser sa table de vrit
3

R = A.B
S = A B

En binaire laddition sur un


seul bit se fait de la manire
suivante:

La table de vrit associe :

De la table de vrit on trouve :

A B

R S

R = A.B

S = A.B + A.B = A B

3.1 Additionneur complet 1 bit

3. Ladditionneur complet

Ladditionneur complet un bit possde 3 entres :


ai : le premier nombre sur un bit.
bi : le deuxime nombre sur un bit.
ri-1 : le retenue entrante sur un bit.
Il possde deux sorties :
Si : la somme
Ri la retenue sortante

En binaire lorsque on fait une addition il faut


tenir en compte de la retenue entrante.

r4
+
r4

r3
a4
b4
s4

r2
a3
b3

r1
a2
b2

s3

s2

r0 = 0
a1
b1

ri-1
ai
bi

s1

ai

Si
Additionneur
complet

bi
ri-1

Ri

r i si
7

Table de vrit dun additionneur


complet sur 1 bit

Si on veut simplifier les quations on obtient :

ai

bi

ri-1

ri

si

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

S i = A i .( B i . R i 1 + B i . R i 1 ) + A i .( B i . R i 1 + B i . R i 1 )

S i = A i ( B i R i 1 ) + A i .( B i R i 1 )
S i = A i B i R i 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
R i = R i 1 .( A i . B i + A i . B i ) + A i B i ( R i 1 + i R i 1 )

S i = Ai .Bi .Ri 1 + Ai .Bi .R i 1 + Ai .B i .R i 1 + Ai .Bi .Ri 1

R i = R i 1 .( A i B i ) + A i B i

Ri = Ai Bi Ri 1 + Ai B i Ri 1 + Ai Bi R i 1 + Ai Bi Ri 1
9

3.3 Schma dun additionneur complet


R

= A i .B i + R

i 1

Si = A i Bi R

.(B

10

3.4 En utilisant des Demi Additionneurs


R i = A i .B i + R i 1 .(B i A i )

A i)

S i = A i B i R i 1

i 1

Si on pose

X = A i B i et Y = A i B i

On obtient :
R i = Y + R i 1 .X
S i = X R i 1
et si on pose Z = X R i 1 et T = R i 1 .X
On obtient :
Ri = Y +T
Si = Z

11

On remarque que X et Y sont les sorties dun demi additionneur


ayant comme entres A et B
On remarque que Z et T sont les sorties dun demi additionneur
ayant comme entres X et Ri-1

12

X = A i Bi

3.4 Additionneur sur 4 bits

Y = A iB i
Z = X R i 1

T = R i 1 .X
Ri = Y +T

En plus il tient en compte de la retenu entrante

Si = Z
AI

Demi Add

RI-1

SI

En sortie on va avoir le rsultat sur 4 bits ainsi que la retenu ( 5 bits


en sortie )

Donc au total le circuit possde 9 entres et 5 sorties.

Avec 9 entres on a 29=512 combinaisons !!!!!! Comment faire pour


reprsenter la table de vrit ?????

Il faut trouver une solution plus facile et plus efficace pour concevoir
ce circuit ?

13

14

Lorsque on fait laddition en binaire , on additionne bit par bit en


commenant partir du poids fiable et chaque fois on propage la
retenue sortante au bit du rang suprieur.
Laddition sur un bit peut se faire par un additionneur complet sur 1 bits.

r3
a4
b4

RI

Demi Add

BI

Un additionneur sur 4 bits est un circuit qui permet de faire laddition


de deux nombres A et B de 4 bits chacun
A(a3a2a1a0)
B(b3b2b1b0)

r2
a3
b3

r1
a2
b2

3.4.1 Additionneur 4 bits ( schma )

r0 = 0
a1
b1

r 4 s4 r 3 s3 r 2 s2 r 1 s1
r4

s4

s3

s2

s1

Rsultat final
15

16

Exercice

4. Le Comparateur

Soit une information binaire sur 5 bits ( i4i3i2i1i0). Donner


le circuit qui permet de calculer le nombre de 1 dans
linformation en entre en utilisant uniquement des
additionneurs complets sur 1 bit ?
Exemple :
Si on a en entre linformation ( i4i3i2i1i0) =( 10110) alors en
sortie on obtient la valeur 3 en binaire ( 011) puisque il
existe 3 bits qui sont 1 dans linformation en entre .

17

Cest un circuit combinatoire qui permet de


comparer entre deux nombres binaire A et B.
Il possde 2 entres :
A : sur un bit
B : sur un bit
Il possde 3 sorties
fe : galit ( A=B)
fi : infrieur ( A < B)
fs : suprieur (A > B)

fi

A
B

Comparateur
1 bit

fe
fs

18

Schma dun comparateur dur un bit

4.1 Comparateur sur un bit

fs = A.B
fi = AB

A B

fs fe fi

fe = fs + fi

fs = A.B
fi = AB
fe = AB + AB = A B = fs + fi

19

4.2 Comparateur 2 bits

20

A2

A1

B2

B1

3. A<B si

A2 < B2 ou (A2=B2 et A1<B1)

022

1. A=B si
A2=B2 et A1=B1

Il permet de faire la comparaison entre deux nombres A


(a2a1) et B(b2b1) chacun sur deux bits.

fe = ( A2 B 2).( A1 B1)
2. A>B si
A2 > B2 ou (A2=B2 et A1>B1)

fs = A2.B 2 + ( A2 B 2).( A1.B1)

A1
A2
B1

fi
Comparateur
2 bits

fe
fs

B2

21

4.2.2 comparateur 2 bits avec des comparateurs 1 bit

fi = A2.B 2 + ( A2 B 2).( A1.B1)

fs fe fi

1. A=B si
A2=B2 et A1=B1

Cest possible de raliser un comparateur 2 bits en utilisant des


comparateurs 1 bit et des portes logiques.

fe = ( A2 B2 ).( A1 B1 ) = fe2.fe1

Il faut utiliser un comparateur pour comparer les bits du poids faible


et un autre pour comparer les bits du poids fort.

2. A>B si

Il faut combiner entre les sorties des deux comparateurs utiliss


pour raliser les sorties du comparateur final.
a2 b2

a1

A2 > B2 ou (A2=B2 et A1>B1)

fs = A2. B2 + ( A2 B2 ).(A1. B1 ) = fs2 + fe2.fs1

b1

3. A<B si
Comparateur 1 bit
fs2 fe2 fi2

A2 < B2 ou (A2=B2 et A1<B1)

Comparateur 1 bit
fs1 fe1 fi1

fi = A2.B2 + ( A2 B2).( A1.B1) = fi2 + fe2.fi1


23

24

4.2.3 Comparateur avec des entres 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


rsultat de la comparaison des bits du poids faible.
Pour cela on rajoute au comparateur des entres qui
nous indiquent le rsultat de la comparaison prcdente.
Ces entres sont appeles des entres de mise en
cascade.
25

A2

B2 Es Eg Ei

fs fe fs

A2>B2

A2<B2

A2

B2

Comp

A2=B1

fs

26

fe

fi

Es ( >)
Eg ( =)
Ei ( <)

fs= (A2>B2) ou (A2=B2).Es


fi= ( A2<B2) ou (A2=B2).Ei
fe=(A2=B2).Eg
27

28

5. Le Multiplexeur

Exercice
Raliser un comparateur 4 bits en utilisant
des comparateurs 2 bits avec des entres
de mise en cascade?

Un multiplexeur est un circuit combinatoire qui permet de


slectionner une information (1 bit) parmi 2n valeurs en
entre.
Il possde :
2n entres dinformation
Une seule sortie
N entres de slection ( commandes)

Em
C0
C1
Cn-1

.........
Mux

2n

E3 E1 E0
1

29

30

5.1 Multiplexeur 2 1
V

C0

5.2 Multiplexeur 4 1
C1

C0

E0

E1

E2

E3

E3
C0
C1

E1 E0

C0

E0

Mux 2 1

E1

E2

E1 E0

Mux 4 1

S
S

S = C 1.C 0.( E 0 ) + C 1.C 0 .( E 1) + C 1 .C 0.( E 2 ) + C 1 .C 0 .( E 3)

S = V.(C0 .E0 + C0 .E1)


31

Exemple : Ralisation dun additionneur complet


avec des multiplexeurs 8
1

5.3 Multiplexeur 8
1
C2

C1

C0

E0

E1

E2

E3

1
1
1
1

0
0
1
1

0
1
0
1

E4

32

Nous avons besoin dutiliser deux multiplexeurs :Le premier pour


raliser la fonction de la somme et lautres pour donner la retenue.
E7 E6 E5 E4 E3
C0
C1

E2

E1 E0

ai

Mux 8 1

C2

E5
E6
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)

33

bi

ri-1

ri

ai

bi

ri-1

Si

34

Ralisation de la fonction de la retenue

Ralisation de la fonction de la somme


Si = Ai .Bi .R i 1 (0) + Ai .Bi .Ri1 (1) + Ai .Bi .Ri 1 (1) + Ai .Bi .Ri 1 (0) + Ai .B i .Ri 1 (1) + Ai .Bi .Ri 1 (0)

Ri = Ai Bi Ri1.(0) + Ai Bi Ri1.(0) + Ai Bi Ri1.(0) + Ai Bi Ri1.(1) + Ai Bi Ri1.(0) + Ai Bi Ri1.(1)

+ Ai .Bi .R i1 (0) + Ai .Bi .Ri 1 (1)

+ Ai Bi Ri1.(1) + Ai Bi Ri1.(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) +

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 .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 )

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=1, E2=1, E3=0, E4=1, E5=0, E6=0, E7=1

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
35

36

Exercice

Ralisation dun additionneur complet avec des


multiplexeurs 8
1

0
ri-1

0
E7 E6 E5 E4 E3

bi

C0
C1

ai

C2

E2

E1 E0
E7 E6 E5 E4 E3

ri-1

Mux 8 1

bi

C0
C1

ai

C2

E2

Raliser 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?

E1 E0

Mux 8 1

Ri

Si
37

38

6. Demultiplexeurs

6.1 Demultiplexeur 14

Il joue le rle inverse dun multiplexeurs, il permet de


faire passer une information dans lune des sorties selon
les valeurs des entres de commandes.

Il possde :
une seule entre
2n sorties
N entres de slection ( commandes)

C1

C0

S3 S2

S1

S0

S 0 = C 1.C 0.( I )
S 1 = C 1.C 0 .( I )
S 2 = C 1 .C 0.( I )
S 3 = C 1 .C 0 .( I )
I

C0
C1

C0
C1

DeMux 1 4
S3

S2

S1

DeMux 1 4
S3

S0

S2

39

Cest un circuit combinatoire qui est constitu de :


N : entres de donnes
2n sorties
Pour chaque combinaison en entre une seule sortie
est active la fois
S0
S1
S2
S3
S4
S5
S6
S7

Un dcodeur 3
8

S0
40

Dcodeur 24

7. Le dcodeur binaire

A
B

S1

41

S0 S1

S2

S3

S0
A

S1

S2
S3
V
1

S 0 = ( A.B ).V
S 1 = ( A. B ).V
S 2 = ( A. B ).V
S 3 = ( A.B ).V

42

Dcodeur 3
8

S0
S1
S2
S3
S4
S5
S6
S7

A
B
C

Ralisation dun additionneur complet


avec des dcodeurs binaire 3
8
S i = A i .B i .R i 1 + A i .B i .R i 1 + Ai .B i . R i 1 + Ai .B i .R i 1

S0

S1

S2

S3

S4

S5

S6

S7

= A . B .C

= A . B .C

On pose A=Ai , B =Bi , C=Ri-1

= A . B .C

S 0 = A.B.C , S 1 = A.B.C , S 2 = A.B.C , S 3 = A.B.C ,

= A . B .C

= A . B .C

S 4 = A.B.C , S 5 = A.B.C , S 6 = A.B.C , S 7 = A.B.C

1
1

= A . B .C

= A . B .C

= A . B .C

0 0

1 0

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

0 1

1 1

Ri = S 3 + S 5 + S 6 + S 7
43

S i = S1 + S 2 + S 4 + S 7

44

Lencodeur binaire ( 4
2)

8. Lencodeur binaire
Il joue le rle inverse dun dcodeur
Il possde 2n entres
N sortie
Pour chaque combinaison en entre on va avoir sont
numro ( en binaire) la sortie.

I0

I1

I2

I3

I0
I1
I2

x
y

I3

I0
Encodeur 4
2

I1
I2

X = I 0.I1.( I 2 + I 3)

I3

Y = I 0.( I1 + .I 2.I 3)

45

46

Exemple : Transcodeur BCD/EXESS3

9. Le transcodeur
Cest un circuit combinatoire qui permet de transformer
un code X ( sur n bits) en entre en un code Y ( sur m
bits) en sortie.

E1

S1

E2

S2

..
En

transcodeur

..
Sm

47

48