Vous êtes sur la page 1sur 61

Chapitre 3 :

Les circuits combinatoires


Objectif visé
• Apprendre la structure de quelques
circuits fondamentaux dans la conception
d’un ordinateur : décodeurs, multiplexeurs,
démultiplexeurs, PLA, additionneurs. . .
• Apprendre comment utiliser des circuits
combinatoires de base pour concevoir
d’autres circuits plus complexes.
1
Circuit combinatoire :
-circuit logique dont l’état des sorties
ne dépend que des valeurs
assignées aux variables d’entrée.
-A une configuration des entrées
correspond une configuration unique
des sorties.
-Caractérisé par l’absence de
mémoire.
2
Etapes de construction :

(1) spécification de la fonction


logique.
(2) tables de vérité.
(3)optimisation.
(4) tracé.

3
1. Introduction
• Un circuit combinatoire est un circuit
numérique dont les sorties dépendent
uniquement des entrées.
• Si=F(Ei)=F(E1,E2,….,En)

E1 S1

S2
E2 Circuit
combinatoire
.. ..

En
Sm
4
Exemples de Circuits combinatoires

1. Demi Additionneur
2. Additionneur complet
3. Soustracteur(demi, complet)
4. Comparateur
5. Multiplexeur
6. Démultiplexeur
7. Encodeur
8. Décodeur
5
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 chacun sur un bit.
• A l’entrée on va avoir les nombres A,B; à la
sortie on va avoir la somme S et la retenu R (
Carry).
A S
B Demi
R
Additionnaire

Trouver le logigramme de ce circuit dresser sa table


de vérité 6
En binaire, sur un
seul bit:

A B R S
•La table de vérité associée :0 0 0 0
0 1 0 1
On déduit que:
1 0 0 1
R  A.B
1 1 1 0
S  A.B  A.B  A  B 7
R  A.B
S  A B
Alors le logigramme d’un demi additionneur est le
suivant:

A S
B

R
8
3. L’additionneur complet
• Mais, lorsqu’on fait une addition il
faut tenir compte de la retenue
entrante.
Rentrante
A
+ B
Rsortante s

9
3.1 Additionneur complet 1 bit
• L’additionneur complet sur un bit possède 3 entrées :
– A : le premier nombre sur un bit.
– B : le deuxième nombre sur un bit.
– Re : la retenue entrante sur un bit.
• Il possède deux sorties :S : la somme sur un bit
– Rs : la retenue sortante sur un bit

A
S
B
Re Additionneur Rs
Complet sur un bit

10
A B Re Rs S
Table de vérité d’un
0 0 0 0 0
additionneur
complet sur 1 bit 0 0 1 0 1
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
S  A.B.Re  A.B.Re  A.B.Re  A.B.Re
1 0 1 1 0
Rs  A.B.Re  ABRe  AB Re  ABRe
1 1 0 1 0
1 1 1 1 1

11
Si on veut simplifier les équations on obtient :

S  A.B.Re  A.B.R e  A.B.R e  A.B.Re


S  A.( B.Re  B.R e )  A.( B.R e  B.Re )
S  A( B  Re )  A.( B  Re )
S  A  B  Re

Rs  ABRe  ABRe  AB R e  ABRe


Rs  Re .( A.B  A.B)  AB ( R e  Re )
Rs  Re .( A  B)  AB

12
3.2 Schéma d’un additionneur complet
sur 1bit
R s  A.B  R e .(B  A)
S  A  B  Re
Donc le logigramme d’un additionneur complet sur un bit serra:

A Ai
B
Bi
Ri-1 SSi
Re

Ri
R s

13
3.3 En utilisant des Demi Additionneurs

R s  A.B  R e .(B  A)
S  A  B Re
Si on pose X  A  B et Y  A.B
On obtient : R s  Y  R e .X
S  X  Re
et si on pose Z  X  R e et T  R e .X
On obtient : R s  Y  T
SZ

•On remarque que X et Y sont les sorties d’un demi additionneur


ayant comme entrées A et B
•On remarque que Z et T sont les sorties d’un demi additionneur
ayant comme entrées X et Re 14
X  AB
Y  A.B
Z  X  Re
T  R e .X
Rs  Y  T
SZ
Y
AAI
RI
Demi Add Rs
BI
B
X

T
Demi Add
R
RIe-1 S
Z SI 15
3.4 Additionneur sur 4 bits
• il permet de faire l’addition de deux nombres A et B de 4 bits chacun
– A(a3a2a1a0)
– B(b3b2b1b0)
En plus il tient en compte de la retenu entrante

• En sortie on va avoir 5 bits (le résultat sur 4 bits et la retenu)

• Donc, il possède 9 entrées et 5 sorties.

• 9 entrées 29=512 combinaisons !!!!!!


• Comment faire pour représenter la table de vérité ?????

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

16
•Lorsque on fait l’addition en binaire , on additionne bit par bit en
commençant à partir du poids faible et à chaque fois on propage la
retenue sortante au bit du rang supérieur.
L’addition sur un bit peut se faire par un additionneur complet sur 1 bits.

r3 r2 r1 r0= 0
a4 a3 a2 a1
+ b4 b3 b2 b1

r4 s4 r3 s3 r2 s2 r1 s1

r4 s4 s3 s2 s1 Résultat final 17
Alors le schéma qui reflète cette opération peut être comme suite :

R0=0
A4 B4 A3 B3 A2 B2 A1 B1
R3 R2 R1

ADD4 ADD3 ADD2 ADD1

R4 S4 S3 S2 S1

Additionneur 4 bits ( schéma )

18
4. Demi Soustracteur

• Le demi soustracteur est un circuit combinatoire qui permet de


réaliser la soustraction arithmétique de deux nombres A et B
chacun sur un bit.
• A l’entrée on va avoir les nombres A,B; à la sortie on va avoir la
différence D et la report r ( Carry).

A D
Demi
B
Soustracteur r

Trouver le logigramme de ce circuit dresser sa table de vérité

19
0 – 0 = 00
En binaire, sur un seul bit: 0 – 1 = 11
1 – 0 = 01
1 – 1 = 00

•La table de vérité associée : A B r D


0 0 0 0
On déduit que: 0 1 1 1
r  A.B 1 0 0 1
D  A.B  A.B  A  B 1 1 0 0

20
r  A.B
D  A B

Alors le logigramme d’un demi additionneur est le suivant:

B
D

21
5. Le soustracteur complet
• Mais, lorsqu’on fait une
Soustraction il faut tenir compte
du report entrant.

rentrant
A
-- B
rsortant D

22
Le soustracteur complet sur un bit possède 3
entrées :
A : le premier nombre sur un bit.
B : le deuxième nombre sur un bit.
re : le report entrant sur un bit.
Il possède deux sorties :
D : la différence sur un bit
rs : le report sortant sur un bit

A D
B Soustracteur
re Complet sur un bit
rs

23
Table de vérité d’un soustracteur A B re rs D
complet sur 1 bit :
0 0 0 0 0
0 0 1 1 1
D  A.B.re  A.B.re 0 1 0 1 1
0 1 1 1 0
 A.B.re  A.B.re 1 0 0 0 1
rs  A.B.re  ABre 1 0 1 0 0
1 1 0 0 0
 ABre  ABre 1 1 1 1 1

24
Si on veut simplifier les équations on obtient :

D  A.B.re  A.B.re  A.B.re  A.B.re


D  A.( B.re  B.re )  A.( B.re  B.re )
D  A( B  re )  A.( B  re )
D  A  B  re
rs  A Bre  AB re  ABre  ABre
rs  re .( A.B  A.B )  AB ( re  re )
rs  re .( A  B )  AB

25
5.1 Schéma d’un soustracteur complet
sur 1bit
rs  A.B  re .(B  A)
D  A  B  re
Donc le logigramme d’un additionneur complet sur un bit serra:

A
D
B

re

rs

26
5.2 En utilisant des Demi Soustracteurs :
rs  A.B  re .(B  A)
D  A  B  re
Si on pose X  A  B et Y  A.B
On obtient :
rs  Y  re .X
D  X  re
et si on pose Z  X  re et T  re .X
On obtient :
rs  Y  T
DZ
•On remarque que X et Y sont les sorties d’un demi soustracteur ayant
comme entrées A et B
•On remarque que Z et T sont les sorties d’un demi soustracteur ayant
comme entrées X et re 27
X  AB
Y  A.B
Z  X  re
T  re .X
rs  Y  T
DZ
Y
A
½ rs
Soustr
B
X
T
½
Soustr
re D
Z
28
5.3 Soustracteur sur 4 bits
• il permet de faire la soustraction de deux nombres A et B de 4 bits
chacun
– A(a3a2a1a0)
– B(b3b2b1b0)
En plus il tient en compte du report entrant

• En sortie on va avoir 5 bits (le résultat sur 4 bits et le report)

• Donc, il possède 9 entrées et 5 sorties.

• 9 entrées 29=512 combinaisons !!!!!!


• Comment faire pour représenter la table de vérité ?????

• Il faut trouver une solution plus facile et plus efficace pour concevoir
ce circuit ?
29
•Lorsque on fait la soustraction en binaire , on travaille bit par bit en
commençant à partir du poids faible et à chaque fois on propage le report
sortant au bit du rang supérieur.
• La soustraction sur un bit peut se faire par un soustracteur complet sur 1
bits.

r3 r2 r1 r0= 0
a4 a3 a2 a1
-- b4 b3 b2 b1

r4 D4 r3 D3 r2 D2 r1 D1

r4 D4 D3 D2 D1
30
Alors le schéma qui reflète cette opération peut être comme suite :

r0
A4 B4 A3 B3 A2 B2 A1 B1
r3 r2 r1

Sous4 Sous3 Sous2 Sous1

r5 D4 D3 D2 D1

Schéma Soustracteur 4 bits


31
6. Le Comparateur
• Il permet de comparer entre deux nombres
binaire A et B.
• Il possède 2 entrées :
– A : sur un bit
– B : sur un bit
Fe
A
• Il possède 3 sorties Comparateur Fi
B 1 bit
– Fe : égalité ( A=B) Fs

– Fi : inférieur ( A < B)
– Fs : supérieur (A > B)

32
6.1 Comparateur sur un bit

A B Fs Fe Fi

0 0 0 1 0 Fs  A.B

0 1 0 0 1 Fi  AB
Fe  A B  AB  A  B  Fs  Fi
1 0 1 0 0

1 1 0 1 0

33
Fs  A.B
Fi  AB
Fe  Fs  Fi

A fs

fe

B fi

Schéma d’un comparateur sur un bit

34
6.2 Comparateur sur 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

35
A2 A1 B2 B1 Fs Fe F i
1. A=B si
0 0 0 0 0 1 0
A2=B2 et A1=B1 0 0 0 1 0 0 1
0 0 1 0 0 0 1
Fe  ( A2  B2 ).( A1  B1 ) 0 0 1 1 0 0 1
0 1 0 0 1 0 0
0 1 0 1 0 1 0
2. A>B si
0 1 1 0 0 0 1
A2 > B2 ou (A2=B2 et A1>B1) 0 1 1 1 0 0 1
1 0 0 0 1 0 0
Fs  A2 .B2  ( A2  B2 ).( A1.B1 ) 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 .B2  ( A2  B2 ).( A1.B1 ) 1 1 1 0 1 0 0
1 1 1 1 0 1 0
36
6.2.2 comparateur 2 bits a base
des comparateurs 1 bit

•On peut réaliser un comparateur 2 bits a base des comparateurs


1 bit et des portes logiques.
•On utilise un comparateur pour les bits du poids faible et un autre
pour les bits du poids fort.
•puis on combine les sorties des deux comparateurs pour obtenir les
sorties du comparateur final.

a2 b2 a1 b1

Comparateur 1 bit Comparateur 1 bit

fs2 fe2 fi2 fs1 fe1 fi1

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

Fe  (A 2  B2 ).(A1  B1 )  Fe2 .Fe1


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

Fs  A 2 .B2  (A 2  B2 ).(A1.B1 )  Fs2  Fe2 .Fs1

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

Fi  A 2 .B2  (A 2  B2 ).(A1.B1 )  Fi2  Fe2 .Fi1


38
a2 b2 a1 b1

Comparateur 1 bit Comparateur 1 bit

fs2 fe2 fi2 fs1 fe1 fi1

fs fe fi
39
6.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 indiquent le résultat de la comparaison précédente.

• Ces entrées sont appelées des entrées de mise en


cascade.
40
A2 B2 Es Eg Ei fs fe fi A2 B2

A2>B2 X X X 1 0 0
Es ( >)
Comp Eg ( =)
A2<B2 X X X 0 0 1 Ei ( <)
fs fe fi

1 0 0 1 0 0

A2=B2 0 1 0 0 1 0
fs= (A2>B2) ou (A2=B2).Es
0 0 1 0 0 1 fi= ( A2<B2) ou (A2=B2).Ei
fe=(A2=B2).Eg
41
a2 b2 a1 b1

‘0’
Comp Comp
Es Es

Eg Eg ‘1’
fs2 fe2 fi2 fs1 fe1 fi1
Ei Ei

42
7. Le Multiplexeur
• Un multiplexeur 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

43
7.1 Multiplexeur 2 1

V C0 S

0 X 0

E1 E0
1 0 E0 C0
V
Mux 21 1

1 1 E1

S  V .(C0 .E0  C0 .E1 )


44
7.2 Multiplexeur 4 1

C1 C0 S

0 0 E0
E3 E2 E1 E0
0 1 E1 C0
C1 Mux 22 1
1 0 E2

1 1 E3 S

S  C1.C0 .( E0 )  C1.C 0 .( E1 )  C1.C0 .( E2 )  C1.C0 .( E3 )

45
7.3 Multiplexeur 81
C2 C1 C0 S
0 0 0 E0
0 0 1 E1
0 1 0 E2 E7 E 6 E5 E4 E3 E2 E 1 E0
C0
0 1 1 E3 C1 Mux 23 1
C2
1 0 0 E4
1 0 1 E5
1 1 0 E6
1 1 1 E7 S

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 ( E3 ) 


C 2 .C1 .C 0 ( E 4 )  C 2 .C1 .C 0 ( E5 )  C 2 .C1 .C 0 ( E 6 )  C 2 .C1 .C 0 ( E 7 )
46
Exemple : Réalisation d’un additionneur complet
avec des multiplexeurs 81

•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 1 1 0 1 0

1 1 0 1 1 1 0 0
1 1 1 1 1 1 1 1
47
Réalisation de la fonction de la somme

S i  A i .B i .R i 1 (0)  A i .Bi .Ri 1 (1)  A i .Bi .R i 1 (1)  A i .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 ( E3 ) 


C 2 .C1 .C 0 ( E 4 )  C 2 .C1 .C 0 ( E5 )  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

48
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 ( E3 ) 


C 2 .C1 .C 0 ( E 4 )  C 2 .C1 .C 0 ( E5 )  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=0, E2=0, E3=1, E4=0, E5=1, E6=1, E7=1

49
Réalisation d’un additionneur complet avec des
multiplexeurs 81

‘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
50
8. 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)

C0 DeMux 1 4
C1
S3 S2 S1 S0
51
8.1 Demultiplexeur 14
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
52
Applications:
• réalisation d’une fonction combinatoire
quelconque: une porte OU fait la somme logique
des mintermes qui composent la forme canonique.

• activation d’un élément parmi 2n: chaque signal


de sortie est connecté à un élément à activer.

53
9. 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 38 V 54
Décodeur 24

V A B S0 S1 S2 S3
S0
A
0 X X 0 0 0 0 S1
B
S2
1 0 0 1 0 0 0
S3
V
1 0 1 0 1 0 0

S 0  ( A.B ).V
1 1 0 0 0 1 0
S1  ( A.B ).V
1 1 1 0 0 0 1 S 2  ( A.B ).V
S 3  ( A.B ).V
55
Décodeur 38 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
56
S 7  A.B.C
Réalisation d’un additionneur complet
avec des décodeurs binaire 38
S i  Ai .Bi .Ri 1  Ai .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 0  A.B.C , S1  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 57
10. 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
Encodeur 42
y
I2
I3

58
L’encodeur binaire ( 42)
I0 I1 I2 I3 x y

0 0 0 0 0 0 I0
I1 x
1 x x x 0 0 y
I2
I3
0 1 x x 0 1

0 0 1 x 1 0
X  I 0.I1.( I 2  I 3)
0 0 0 1 1 1
Y  I 0.( I1  .I 2.I 3)
59
11. Le transcodeur

• C’est un circuit combinatoire qui permet de transformer


un code X ( sur n bits) en entrée en un code Y ( sur m
bits) en sortie.

E1 S1

E2 S2
transcodeur ..
..
En Sm

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

Vous aimerez peut-être aussi