Chapitre 3
Les circuits combinatoires
1. Introduction
Nous avons étudié dans le chapitre précédent les systèmes logiques combinatoires et on a
vu comment les synthétiser et les analyser. Dans ce chapitre, nous allons étudier les circuits
combinatoires qui réalisent des fonctions particulières : l’addition ; la soustraction ; la
comparaison ; le codage ; le décodage ; le transcodage ; le multiplexage et le démultiplexage.
2. Les additionneurs de base
Les additionneurs sont d’une grande importance non seulement dans les ordinateurs, mais
aussi dans un grand nombre de systèmes traitant des données numériques.
2.1 Demi-additionneur
L’addition et la soustraction sont deux opérations arithmétiques de base. Comme en
décimal, nous devons tenir compte d’une retenue (carry).
a0 DA s0
b0 r0
Figure 3.1 : Symbole logique d’un demi-additionneur
Le circuit qui permettrait d’effectuer l’addition des deux bits de plus bas poids est appelé
demi-additionneur. Ecrivons la table de vérité de celui-ci :
a0 b0 r0 s0
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0
s0 a0 b0
Si nous écrivons ces deux fonctions sous leur forme canonique on trouve : .
r0 a0 .b0
Ce qui peut être réalisé par le circuit schématisé sur le logigramme de la figure suivante :
1
1 s0
a0
& r0
b0
Figure 3.2 : Logigramme d’un demi-additionneur
2.2 Additionneur complet
L’additionneur complet prend deux bits d’entrée et une retenue d’entrée et produit deux
sorties : une somme et une retenue.
a1 s1
b1 AC r1
r0
Figure 3.3 : Symbole logique d’un additionneur complet
a1 b1 r0 r1 s1
0 0 0 0 0
0 0 1 0 1
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 1
s1 a1. b1. r0 a1. b1. r0 a1. b1. r0 a1. b1. r0 r0 (a1 b1 ) et r1 r0 . (a1 b1 ) a1. b1
r0
1 s1
1 &
a1 1 r1
&
b1
Figure 3.4 : Logigramme d’un additionneur complet
2
Pour minimiser le nombre des portes dans un circuit intégré on peut combiner deux demi-
additionneurs pour former un additionneur complet.
r0 DA s1 r0 (a1 b1 )
a1 a1 b1 r0 . (a1 b1 )
DA
b1
a1.b1 1 r1 a1. b1 r0 . (a1 b1 )
Figure 3.5 : Arrangement de deux demi-additionneurs pour former un additionneur complet
La figure suivante représente un circuit de somme en parallèle de 8 bits avec retenue série.
Figure 3.6 : Circuit de somme en parallèle avec retenue série
La figure suivante montre le synoptique d'un additionneur 4 bits à retenue anticipée.
3
Figure 3.7 : Synoptique d’un additionneur 4 bits à retenue anticipée
Exemple : Additionneur intégré 4 bits à retenue anticipée : 7483.
Figure 3.8 : Brochage et schéma logique du circuit intégré 7483
4
Avec ce circuit intégré, on additionne 2 nombres de 4 bits en 24 ns maximum. Il est à noter
que le circuit intégré 74LS83 qui est un additionneur de 4 bits à retenue série effectue la
même opération en 72 ns maximum, soit 3 fois plus.
Figure 3.9 : Mise en cascade de 2 additionneurs de 4 bits
3. Le soustracteur
La table de vérité pour un demi-soustracteur est la suivante :
a0 b0 r0 d0
0 0 0 0
0 1 1 1
1 0 0 1
1 1 0 0
d 0 s0 a0 b0
Si nous écrivons ces deux fonctions sous leur forme canonique on trouve : .
r0 a0 .b0
Ce qui peut être réalisé par le circuit schématisé sur le logigramme de la figure suivante :
a0 1 d0
b0
1 & r0
Figure 3.10 : Logigramme d’un demi-soustracteur
5
Nous pourrions maintenant étudier un soustracteur prenant en compte la retenue
a1 b1 r0 r1 d1
0 0 0 0 0
0 0 1 1 1
0 1 0 1 1
0 1 1 1 0
1 0 0 0 1
1 0 1 0 0
1 1 0 0 0
1 1 1 1 1
d1 s1 a1. b1. r0 a1. b1. r0 a1. b1. r0 a1. b1. r0 r0 (a1 b1 ) ; r1 r0 . (a1 b1 ) a1. b1 .
r0
1 d1
1 1 &
a1 1 1 r1
&
b1
Figure 3.11 : Logigramme d’un soustracteur complet
4. Le comparateur
4.1 Comparateur binaire simple
La fonction principale d’un comparateur est de comparer les grandeurs de deux quantités
binaires afin de déterminer la relation existante entre ces quantités ( A B , A B ou A B ).
Ecrivons la table de vérité correspondant à ces trois fonctions de comparaison de 2 bits.
A B E ( A B) C ( A B) D ( A B )
0 0 1 0 0
0 1 0 0 1
1 0 0 1 0
1 1 1 0 0
6
Nous en déduisons les expressions logiques de C , D et E :
E A. B A. B A B C D
C A. B
D A. B
C
A &
B 1
1 E
&
1
D
Figure 3.12 : Logigramme d’un comparateur de deux bites A et B
4.2 Analyse d’un comparateur intégré 7485
Le circuit intégré 7485 est un comparateur 4 bits, c'est-à-dire qu'il effectue la
comparaison de deux nombres de 4 bits. De plus, il dispose de 3 entrées notées A = B, A > B
et A < B qui autorisent la mise en cascade de plusieurs circuits comparateurs du même type.
Ainsi, on peut comparer des nombres de 8, 12, 16 bits.... Le brochage et le schéma logique de
ce circuit est donné à la figure suivante.
Figure 3.13 : Brochage et Schéma logique du circuit intégré 7485
Avec ce circuit, on compare le nombre A composé des bits A3, A2, A1 et A0 (A3 =
MSB et A0 = LSB) avec le nombre B composé des bits B3, B2, B1 et B0 (B3 = MSB et B0 =
7
LSB). La table de vérité de la figure suivante met en évidence l'action des entrées A > B, A <
B et A = B.
Figure 3.14 : Table de vérité du circuit intégré 7485
En mettant en série deux comparateurs 7485, on peut comparer deux nombres de 8 bits. Il
suffit de relier la sortie A = B du premier comparateur à l'entrée correspondante du second et
de faire de même avec les sorties A > B et A < B. Les liaisons à effectuer sont indiquées à la
figure suivante.
Figure 3.15 : Mise en cascade de deux circuits intégrés 7485
8
5. Le codeur
Le processus de conversion de symboles ou nombres familiers en un format codé
s’appelle le codage.
Exemple : Codeur décimal -DCB
Ce type de codeur possède 10 entrées (une pour chaque chiffre décimal) et quatre sorties
correspondant au code DCB. Il s’agit d’un codeur 10 lignes à quatre lignes.
e0
0
e1
1
e2
e3 2 A0
3 1
e4 Codeur A1 Sorties
Entrées 4 Décimal / DCB 2
e5 4 A2 DCB
décimales 5 A3
e6 8
6
e7
7
e8
8
e9
9
Figure 3.16 : Symbole logique d’un codeur décimal-DCB
Entrée décimale Code DCB
A3 A2 A1 A0
e0 0 0 0 0
e1 0 0 0 1
e2 0 0 1 0
e3 0 0 1 1
e4 0 1 0 0
e5 0 1 0 1
e6 0 1 1 0
e7 0 1 1 1
e8 1 0 0 0
e9 1 0 0 1
9
A0 e1 e3 e5 e7 e9
A e e e e
On trouve les équations suivantes : 1 2 3 6 7
A2 e4 e5 e6 e7
A3 e8 e9
e1
1 A0
e2
e3 1 A1
e
e54 1
e6 A2
e7
e8
1 A3
e9
Figure 3.17 : Diagramme logique d’un codeur décimal-DCB
6. Le décodeur
C’est un circuit combinatoire qui est constitué de :
n entrées de données ;
2 n sorties.
Pour chaque combinaison en entrée une seule sortie est active à la fois
Exemple : Décodeur DCB- décimal
La table de vérité de ce décodeur est la suivante :
D C B A L0 L1 L2 L3 L4 L5 L6 L7 L8 L9
0 0 0 0 1 0 0 0 0 0 0 0 0 0
0 0 0 1 0 1 0 0 0 0 0 0 0 0
0 0 1 0 0 0 1 0 0 0 0 0 0 0
0 0 1 1 0 0 0 1 0 0 0 0 0 0
0 1 0 0 0 0 0 0 1 0 0 0 0 0
0 1 0 1 0 0 0 0 0 1 0 0 0 0
0 1 1 0 0 0 0 0 0 0 1 0 0 0
0 1 1 1 0 0 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0 0 1 0
10
1 0 0 1 0 0 0 0 0 0 0 0 0 1
On peut ajouter un signal de commande global (strobe ou enable).
S A B C D
1 1 1 1
&
0
&
1
&
8
&
9
Figure 3.18 : Diagramme logique d’un décodeur DCB- décimal
Exemple : MM 74C154
Ce circuit comporte 4 entrées principales qui correspondent aux 4 bits du nombre binaire à
décoder et 16 sorties. La sortie qui correspond au nombre binaire présent sur les entrées est au
niveau L, les autres sorties étant au niveau H.
Le schéma logique et le brochage de ce décodeur sont respectivement reportés à la figure
suivante :
11
Figure 3.19 : Schéma logique et brochage du décodeur MM74C154
3. Le transcodeur
Le transcodeur est un circuit combinatoire qui fait correspondre à un code X en entrée
sur n lignes, un code Y en sortie sur m lignes.
Exemple : transcodeur qui transforme un code DCB en code excédent 3.
Code DCB Code excédent 3
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
12
D’où x a b. c b. d a b. (c d )
D’où y b. c b. d b. c. d b. (c d ) b. (c d ) b (c d )
13
D’où z c. d c. d c d
D’où t d
a 1 x
&
b 1 y
1
c 1 z
d 1 t
Figure 3.20 : Diagramme logique d’un transcodeur DCB-excédent3
Exemple : transcodeur qui transforme un code excédent 3 en code DCB.
Code excédent 3 Code DCB
a b c d x y z t
0 0 1 1 0 0 0 0
0 1 0 0 0 0 0 1
0 1 0 1 0 0 1 0
0 1 1 0 0 0 1 1
0 1 1 1 0 1 0 0
14
1 0 0 0 0 1 0 1
1 0 0 1 0 1 1 0
1 0 1 0 0 1 1 1
1 0 1 1 1 0 0 0
1 1 0 0 1 0 0 1
D’où x c . d a . b . c c . (b c . d )
D’où y b . c b . c . d b . d b . cd b . c . d b c . d
15
D’où z c . d c . d c d
D’où t d
a & x
1
b 1 y
&
c 1 z
d 1 t
Figure 3.21 : Diagramme logique d’un transcodeur excédent3- DCB
16
4. Le multiplexeur
Le multiplexage est un dispositif qui permet de transmettre sur une seule ligne des
informations en provenance de plusieurs sources. Un multiplexeur dispose 2 n entrées, 1 sortie
et n lignes de sélection.
Exemple : f e0 . a . b e1 . a . b e2 . a . b e3 . a . b
e0
&
e1
&
e0 1
00 f
e2
e1 f
&
01
e2
10
e3
11 e3
&
a b
1 1
a
b
Figure 3.22 : Multiplexeur à 2 variables
a et b sont appelées lignes de commande.
e0 , e1 , e2 et e3 sont appelées lignes de données.
f est la sortie.
On trouve chez les constructeurs les circuits multiplexeurs suivants :
74157 : (4 Mux 2 vers 1) ;
74153 : (2 Mux 4 vers 1) ;
74152 : (1 Mux 8 vers 1, 1 sortie complémentaire) ;
74151 : (1 Mux 8 vers 1, 2 sorties complémentaires) ;
74150 : (1 Mux 16 vers 1, 1 sortie complémentaire) ;
17
Exemple : 74153
Le circuit intégré 74153 contient deux multiplexeurs à 4 voies à entrées de sélection A et
B communes. Chaque multiplexeur dispose d'une entrée de validation G (STROBE). Celle-ci,
portée à l'état 1, force la sortie du multiplexeur correspondant à l'état 0 indépendamment de
l'état des autres entrées. Le brochage et le schéma logique de ce circuit intégré sont donnés à
la figure suivante.
Figure 3.23 : Brochage et schéma logique du circuit intégré 74153
Table de vérité du circuit intégré 74153
Entrées Sortie
A B C0 C1 C2 C3 G Y
X X X X X X 1 0
0 0 0 X X X 0 0
0 0 1 X X X 0 1
0 1 X 0 X X 0 0
0 1 X 1 X X 0 1
1 0 X X 0 X 0 0
1 0 X X 1 X 0 1
1 1 X X X 0 0 0
1 1 X X X 1 0 1
18
5. Le démultiplexeur
Un démultiplexeur est un circuit logique à une entrée de donnée ou d’information et 2 n
sorties. Pour sélectionner la sortie qui doit être active, le démultiplexeur reçoit un ordre de n
entrées d’adresse.
&
S0 a . b . e
&
S1 a . b . e
00 S0
e
01 S1
e S2 &
10 S2 a . b . e
11 S3
&
S3 a . b . e
a b
1 1
a b
Figure 3.24 : Démultiplexeur à 2 variables
Exemple : 74LS139
Le circuit intégré 74LS139 contient deux démultiplexeurs à 4 voies. Chacun d'eux
possède 2 entrées de sélection A et B, une entrée de données G et 4 sorties (Y0 à Y3). Le
brochage et le schéma logique de ce circuit sont donnés à la figure suivante.
19
Figure 3.25: Brochage et Schéma logique du circuit intégré 74LS139
Table de vérité du circuit intégré 74LS139
Entrées Sorties
G B A Y0 Y1 Y2 Y3
1 X 1 1 1 1 1
0 0 0 0 1 1 1
0 0 1 1 0 1 1
0 1 0 1 1 0 1
0 1 1 1 1 1 0
On remarque que le nombre binaire formé par l'état des entrées de sélection B et A donne
l'indice décimal de la sortie concernée. Par exemple, lorsque BA = 10 (soit 2 en décimal), la
sortie concernée est Y2.
20