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)
E1 E2 .. S1

Objectifs Apprendre la structure de quelques circuits combinatoires souvent utiliss ( demi additionneur , additionneur complet,..). Apprendre comment utiliser des circuits combinatoires pour concevoir dautres circuits plus complexes.

Circuit combinatoire
Schma Bloc

S2 .. Sm

En

Cest possible dutiliser des circuits combinatoires pour raliser dautres circuits plus complexes.
1 2

Exemple de Circuits combinatoires


1. 2. 3. 4. 5. 6. 7. Demi Additionneur Additionneur complet Comparateur Multiplexeur Demultiplexeur Encodeur Dcodeur

2. Demi Additionneur
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 4

En binaire laddition sur un seul bit se fait de la manire suivante:

R = A.B S = A B

La table de vrit associe :

A B 0 0 1 1 0 1 0 1

R S 0 0 0 1 0 1 1 0

De la table de vrit on trouve :

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


5 6

3.1 Additionneur complet 1 bit

3. Ladditionneur complet
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 s3

r1 a2 b2 s2

r0 = 0 a1 b1 s1

ri-1 ai bi r i si
7

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

ai bi ri-1
Additionneur complet

Si Ri

ai
Table de vrit dun additionneur complet sur 1 bit

bi
0 0 1 1 0 0 1 1

ri-1
0 1 0 1 0 1 0 1

ri
0 0 0 1 0 1 1 1

si
0 1 1 0 1 0 0 1

Si on veut simplifier les quations on obtient :

0 0 0 0 1 1 1 1

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

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

3.3 Schma dun additionneur complet


R
i

3.4 En utilisant des Demi Additionneurs


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

= A i .B i + R

i 1

.(B
i 1

A i)

Si = A i Bi R

11

12

X = A i Bi Y = A iB i Z = X R i 1 T = R i 1 .X Ri = Y +T Si = Z

3.4 Additionneur sur 4 bits


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)
En plus il tient en compte de la retenu entrante

AI
BI Demi Add

RI

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

Demi Add

RI-1

SI

13

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.

3.4.1 Additionneur 4 bits ( schma )

r3 a4 b4

r2 a3 b3

r1 a2 b2

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

4. Le Comparateur
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

17

18

4.1 Comparateur sur un bit


A B
0 0 1 1 0 1 0 1

Schma dun comparateur dur un bit


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

fs fe fi
0 0 1 0 1 0 0 1 0 1 0 0

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

19

20

4.2 Comparateur 2 bits


Il permet de faire la comparaison entre deux nombres A (a2a1) et B(b2b1) chacun sur deux bits.

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

A2
0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

A1
0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

B2
0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

B1
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

fs fe fi
0 0 0 0 1 0 0 0 1 1 0 0 1 1 1 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 1 1 1 0 0 1 1 0 0 0 1 0 0 0 0 22

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

A1 A2 B1 B2

fi Comparateur 2 bits fe fs

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


3. A<B si A2 < B2 ou (A2=B2 et A1<B1)

21

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

4.2.2 comparateur 2 bits avec des comparateurs 1 bit


Cest possible de raliser un comparateur 2 bits en utilisant des comparateurs 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 utiliss pour raliser les sorties du comparateur final. a2 b2 a1 b1

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

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

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


3. A<B si

Comparateur 1 bit
fs2 fe2 fi2

Comparateur 1 bit
fs1 fe1 fi1
23

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

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


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 26

A2 A2>B2 A2<B2

B2 Es Eg Ei X X 1 X X 0 1 0 X X 0 0 1

fs fe fs 1 0 1 0 0 0 0 0 1 0 0

A2

B2

Comp 1 0 0 1 fs fe fi

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

A2=B1

0 0

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 S 1

E3 E1 E0 V

29

30

5.1 Multiplexeur 2
V 0 C0 X S 0

1
C1 0 0 C0 0 1 0 1

5.2 Multiplexeur 4
S E0 E1 E2 E3
S E3 C0 C1 E2

E1 E0 1

E1 E0

1 1

0 1

E0 E1

C0 Mux 2 1 V

Mux 4

1 1

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


31

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)


32

5.3 Multiplexeur 8 1
C2 0 0 0 0 1 1 1 1 C1 0 0 1 1 0 0 1 1 C0 0 1 0 1 0 1 0 1 S E0 E1 E2 E3 E4 E5 E6 E7
E7 E6 E5 E4 E3 C0 C1 C2 Mux 8 1 E2 E1 E0

Exemple : Ralisation dun additionneur complet avec des multiplexeurs 8 1


Nous avons besoin dutiliser deux multiplexeurs :Le premier pour raliser la fonction de la somme et lautres pour donner la retenue.

ai
0 0 0 0 1 1 1 1

bi
0 0 1 1 0 0 1 1

ri-1
0 1 0 1 0 1 0 1

ri
0 0 0 1 0 1 1 1

ai
0 0 0 0 1 1 1 1

bi
0 0 1 1 0 0 1 1

ri-1
0 1 0 1 0 1 0 1

Si
0 1 1 0 1 0 0 1
34

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

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) + Ai .Bi .R i1 (0) + Ai .Bi .Ri 1 (1)

Ralisation de la fonction de la retenue


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) +A 1) + A 1) iB i Ri1.( iB iR i1.(
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 )

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
35

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
36

Ralisation dun additionneur complet avec des multiplexeurs 8 1

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

1 0
ri-1 bi ai
E7 E6 E5 E4 E3 C0 C1 C2 E2 E1 E0

1 0
Mux 8 1
E7 E6 E5 E4 E3 C0 C1 C2 E2 E1 E0

ri-1 bi ai

Mux 8

Ri

Si
37 38

6. Demultiplexeurs
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.
C1 C0

6.1 Demultiplexeur 1 4
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

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

0 0 1 1
C0 C1

0 1 0 1

0 0 0 i

0 0 i 0

0 i 0 0

i 0 0 0
C0 C1

DeMux 1
S3 S2

4
S1 S0 39

DeMux 1
S3 S2

4
S1 S0 40

7. Le dcodeur binaire
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

Dcodeur 2 4
V 0 1 1 A X 0 0 1 1 B X 0 1 0 1 S0 S1 0 1 0 0 0 0 0 1 0 0 S2 0 0 0 1 0 S3 A 0 0 V 0 0 1 B

S0 S1 S2 S3

A B C

1 1

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


42

Un dcodeur 3 8

41

Dcodeur 3 8

A B C

A 0 0 0 0 1 1 1 1

B 0 0 1 1 0 0 1 1

C 0 1 0 1 0 1 0 1

S0 1 0 0 0 0 0 0 0

S1 0 1 0 0 0 0 0 0

S2 0 0 1 0 0 0 0 0

S3 0 0 0 1 0 0 0 0

S4 0 0 0 0 1 0 0 0

S5 0 0 0 0 0 1 0 0

S6 0 0 0 0 0 0 1 0

S7 0 0 0 0 0 0 0 1

S0 S1 S2 S3 S4 S5 S6 S7

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

S S S S S S S S

0 1 2 3 4 5 6 7

= A . B .C = A . B .C = A . B .C = A . B .C = A . B .C = A . B .C = A . B .C = A . B .C
43

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

S 0 = A.B.C , S 1 = A.B.C , S 2 = A.B.C , S 3 = A.B.C , S 4 = A.B.C , S 5 = A.B.C , S 6 = A.B.C , S 7 = A.B.C


Ri = S 3 + S 5 + S 6 + S 7
S i = S1 + S 2 + S 4 + S 7
44

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
Encodeur 4 2

Lencodeur binaire ( 4 2)
I0
0 1 0

I1
0 x 1 0 0

I2
0 x x 1 0

I3
0 x x x 1

x
0 0 0 1 1

y
0 0 1 0 1

I0 I1 I2 I3
x y

I1 I2 I3

x y

0 0

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


46

45

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.

A
0 0 0 0 0 0 0 0

B
0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

C
0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

D
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

X
0 0 0 0 0 1 1 1 1 1 x x x x x x

Y
0 1 1 1 1 0 0 0 0 1 x x x x x x

Z
1 0 0 1 1 0 0 1 1 0 x x x x x x

T
1 0 1 0 1 0 1 0 1 0 x x x x x x 48

E1 E2 .. En

S1 S2

1 1 1 1 1 1 1 47 1

transcodeur

.. Sm

Vous aimerez peut-être aussi