Documente Academic
Documente Profesional
Documente Cultură
Chapitre 4
1. OBJECTIFS
Etudier les principaux circuits logiques combinatoires utilisés dans les systèmes
numériques (tels que : les circuits arithmétiques, les codeurs, les transcodeurs, …),
Réaliser des fonctions logiques en utilisant les circuits combinatoires.
a0 S0
A a1 S1 a3 a2 a1 a0 Nombre A
a2
a3 S2 + b3 b2 b1 b0 Nombre B
Additionneur 4 bits
= S3 S2 S1 S0 Somme A+B
S3
CI : 74283 r3 r2 r1 r0 Retenue
b0
B b1
b2
b3 R3
a Demi-
S
Additionneur
b R
A
A B S R S=AB+AB=AB S
0 0 0 0 B
0 1 1 0 R=AB
1 0 1 0 R
1 1 0 1
A B Re S RS A S
0 0 0 0 0 Additionneur
S=ABRe+ABRe+ABRe+ABRe B
0 0 1 1 0 Rs
0 1 0 1 0 =ABRe Re
0 1 1 0 1
1 0 0 1 0 RS= Re AB+AB Circuit intégré :
1 0 1 0 1 74LS183
1 1 0 0 1
1 1 1 1 1
Logigramme :
AB
A Demi- S= ABRe
Demi-
Additionneur Additionneur
B A.B
RS
Re
A
A B D R D=AB+AB=AB D
0 0 0 0 B
0 1 1 1 R=AB
1 0 1 0 R
1 1 0 0
A B Re D RS
0 0 0 0 0
D=ABRe+ABRe+ABRe+ABRe
0 0 1 1 0 A S
0 1 0 1 0 =ABRe Soustracteur
B
0 1 1 1 1 Rs
Re
1 0 0 1 0 RS= Re AB+AB
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
Logigramme :
AB
A Demi- D= ABRe
Demi-
soustracteur soustracteur
B A.B
RS
Re
2.3 Additionneur-soustracteurs
Un nombre codé sur n bits peut prendre une valeur comprise entre 0 et 2n-1.
Le complémentaire d’un mot de n bits est obtenu en prenant le complément
de chacun de n bits. Ainsi, on a :
A+A=2n-1 -A= A+1-2n
Pour une variable codée sur n bits : 2n=0. C’est à dire qu’il est possible
d’écrire un nombre entier négatif comme " le complément à 2" de sa valeur
absolue.
-A=A+1
Nous pouvons utiliser cette propriété pour écrire la soustraction de deux mots
de n bits sous la forme suivante :
A-B=A+B+1
Un seul dispositif représenté à la figure ci-dessous peut servir pour l’addition
et la soustraction selon le code opération O :
O=0 : addition
O=1 : soustraction
A n S
n
Additionneur
n
B n
1
R
n 0
O
2.4 Comparateur
C‘est un circuit qui permet de comparer 2 nombres binaires. Il indique si le premier
nombre est inférieur (S2), égal (S0) ou supérieur (S1) au second nombre.
a0
a1
A a
... 2 Comparateur S0 (A=B)
an à n bits S1 (A>B)
b0
b1 74HC85 (4 bits) S2 (A<B)
B b. 2
..
b3
Principe de base
Le principe de consiste de comparer d’abord les bits les plus significatifs (Most
Significant Bit ou MSB). S’ils sont différents, il est inutile de continuer la
comparaison. Par contre s’ils sont égaux, il faut comparer les bits de poids
immédiatement inferieur et ainsi de suite
Equation des
Table de vérité Logigramme
sorties
A
S0=AB+AB=AB S0
B A S0 S1 S2 B
0 0 1 0 0 S1=AB
S1
0 1 0 1 0 S2=AB
1 0 0 0 1
1 1 1 0 0
S2
a1=b1
A a0 S0 (A=B) a1>b1
a1
Comparateur S1 (A>B) a0=b0 a0>b0
b0 à 2 bits
B b1 S2 (A<B)
Table de vérité
b1 b0 a1 a0 S0 S1 S2 b1 b0 a1 a0 S0 S1 S2
0 0 0 0 1 0 0 1 0 0 0 0 0 1
0 0 0 1 0 1 0 1 0 0 1 0 0 1
0 0 1 0 0 1 0 1 0 1 0 1 0 0
0 0 1 1 0 1 0 1 0 1 1 0 1 0
0 1 0 0 0 0 1 1 1 0 0 0 0 1
0 1 0 1 1 0 0 1 1 0 1 0 0 1
0 1 1 0 0 1 0 1 1 1 0 0 0 1
0 1 1 1 0 1 0 1 1 1 1 1 0 0
Equations
S0=(a1b1).(a0b0).
S1=a1b1+(a1b1)a0b0
S2=a1b1+(a1b1)a0b0
S2=S0+S1
a1 a0 b1 b0
S0
S2
S1
S0=(a1b1).(a0b0) =S’’0S’0.
S1=a1b1+(a1b1)a0b0=S’’1+S’’0S’1
S2=a1b1+(a1b1)a0b0=S’’2+S’’0S’2
S2=S0+S1
S’0
a0 S0
Comparateur S’1
à 1 bits S’2
b0
S1
S2
S’’0
a1
Comparateur S’’1
à 1 bits S’’2
b1
C’est un circuit qui traduit les valeurs d’une entrée dans un code choisi. Un codeur
(ou encodeur) est un circuit logique qui possède 2n voies d’entrées dont une seule
est activée et N voies de sorties.
I0
I1 S0
I2 S1
I3 Codeur
.. S.2
. ..
I2n-1 Sn-1
Sorties
Entrées
a3 a2 a1 a0 0 a3
0 0 0 0 0 1
2 a2
1 0 0 0 1 a0=1+3+5+7+9 Codeur
.. a1
2 0 0 1 0 . DCB
a1=2+3+6+7 a0
3 0 0 1 1
4 0 1 0 0 a2=4+5+6+7 9
5 0 1 0 1 a3=8+9
6 0 1 1 0
7 0 1 1 1 Circuit intégré :
8 1 0 0 0 74LS147
9 1 0 0 1
Logigramme :
1
a0
2
3 a1
4
5 a2
6
7
8
a3
9
S0
I0 S1
I1 S2
Décodeur S3
I2. ..
.. .
In-1 S2n-1
Exemple : Décodeur DCB
Remarque : Il y’a 6 combinaisons intitulés 10, 11, 12, 13, 14, 15 que l’on
notera . Les autres chiffres sont affichés comme suit :
a a a a
f b b b b f b f
g g g g
e c c e c c c
d d d d
a a a
f b f b f b
g g g
e c c e c c
d d
Table de vérité
a3 a2 a1 a0 a b c d e f g
0 0 0 0 1 1 1 1 1 1 0 0
0 0 0 1 0 1 1 0 0 0 0 1
0 0 1 0 1 1 0 1 1 0 1 2
0 0 1 1 1 1 1 1 0 0 1 3
0 1 0 0 0 1 1 0 0 1 1 4
0 1 0 1 1 0 1 1 0 1 1 5
0 1 1 0 0 0 1 1 1 1 1 6
0 1 1 1 1 1 1 0 0 0 0 7
1 0 0 0 1 1 1 1 1 1 1 8
1 0 0 1 1 1 1 0 0 1 1 9
Segment a Segment b
a3a2 a3a2
a1a0 a3a200 a3a201 a3a211 a3a210 a1a0 a3a200 a3a201 a3a211 a3a210
a1a000 1 0 1 a1a000 1 1 1
a1a001 0 1 1 a1a001 1 0 1
a1a0 11 1 1 a1a0 11 1 1
a1a010 1 0 a1a010 1 0
a=a2a1+a2a0+ a2a0+a3 b=a2+a1a0+a1 a0=a2+a1a0
Segment c Segment d
a3a2 a3a2
a1a0 a3a200 a3a201 a3a211 a3a210 a1a0 a3a200 a3a201 a3a211 a3a210
a1a000 1 1 1 a1a000 1 0 1
a1a001 1 1 1 a1a001 0 1 0
a1a0 11 1 1 a1a0 11 1 0
a1a010 0 1 a1a010 1 1
Segment e
Segment f
a3a2
a1a0 a3a200 a3a201 a3a211 a3a210
a3a2
a1a0 a3a200 a3a201 a3a211 a3a210
a1a000 1 0 1 a1a000 1 1 1
a1a001 0 0 0 a1a001 0 1 1
a1a0 11 0 0 a1a0 11 0 0
a1a010 1 1 a1a010 0 1
e=a1a0+a2a0
f=a1a0+a2a1+a2a0+a3
Segment g
a3a2
a1a0 a3a200 a3a201 a3a211 a3a210
a1a000 0 1 1
a1a001 0 1 1
a1a0 11 1 0
a1a010 1 1
g=a2a1+a2a0+a2a1+a3
a
+Vcc
a
b
c b
c
d
e d
e
f
g f
2.6 Transcodeurs
Un transcodeur est un circuit qui permet de faire passer une information écrite
dans un code C1 vers un code C2.
Il est généralement formé d’un décodeur en cascade d’un codeur.
a3 a’3
a2 a’2
Operateur Transcodeur Machine
a1 a’1
logique
a0 a’0
Table de vérité
Décimal
Entrées BN Sorties BR
a3 a2 a1 a0 a’3 a’2 a’1 a’0
0 0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 1 1
0 0 1 0 0 0 1 1 2
an-1 a’n-1 0 0 1 1 0 0 1 0 3
.. .. .. ..
. . . . 0 1 0 0 0 1 1 0 4
Transcodeur
a2 BN/BR
a’2 0 1 0 1 0 1 1 1 5
a1 a’1 0 1 1 0 0 1 0 1 6
a0 a’0 0 1 1 1 0 1 0 0 7
1 0 0 0 1 1 0 0 8
1 0 0 1 1 1 0 1 9
1 0 1 0 1 1 1 1 10
1 0 1 1 1 1 1 0 11
1 1 0 0 1 0 1 0 12
1 1 0 1 1 0 1 1 13
1 1 1 0 1 0 0 1 14
1 1 1 1 1 0 0 0 15
Bit a’3
a’3=a3
a3a2
a1a0 a3a200 a3a201 a3a211 a3a210
a’2=a3a2
a1a000 0 0 1 1
a1a001 0 0 1 1 a’1=a2a1
a1a0 11 0 0 1 1 a’0=a1a0
a1a010 0 0 1 1
Bit a’2 a0
a’0
a3a2
a1a0 a3a200 a3a201 a3a211 a3a210
a1a000 0 1 0 1
a1a001 0 1 0 1
a1
a1a0 11 0 1 0 1 a’1
a1a010 0 1 0 1
Bit a’1 a2
a3a2 a’2
a1a0 a3a200 a3a201 a3a211 a3a210
a1a000 0 1 1 0
a1a001 0 1 1 0
a1a0 11 1 0 0 1 a3 a’3
a1a010 1 0 0 1
Bit a’0
a3a2
a1a0 a3a200 a3a201 a3a211 a3a210
a1a000 0 0 0 0
a1a001 1 1 1 1
a1a0 11 0 0 0 0
a1a010 1 1 1 1
Table de vérité
Décimal
Entrées BR Sorties BN
a’3 a’2 a’1 a’0 a3 a2 a1 a0
0 0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 1 1
0 0 1 0 0 0 1 1 2
a’n-1 an-1 0 0 1 1 0 0 1 0 3
.. .. .. .. 0 1 0 0 0 1 1 1 4
. . Transcodeur . .
a’2 BR/BN
a2 0 1 0 1 0 1 1 0 5
a’1 a1 0 1 1 0 0 1 0 0 6
a’0 a0 0 1 1 1 0 1 0 1 7
1 0 0 0 1 1 1 1 8
1 0 0 1 1 1 1 0 9
1 0 1 0 1 1 0 0 10
1 0 1 1 1 1 0 1 11
1 1 0 0 1 0 0 0 12
1 1 0 1 1 0 0 1 13
1 1 1 0 1 0 1 1 14
1 1 1 1 1 0 1 0 15
Bit a3
a’3a’2
a3=a’3
a’1a’0 a’3a’201 a’3a’211 a’3a’210
a2=a’3 a’2= a3 a’2
a’3a’200
a’1a’000 0 0 1 1
a’1a’001 0 0 1 1 a1=a2 a’1
a’1a’011 0 0 1 1 a0=a1 a’0
a’1a’010 0 0 1 1
a’0
a0
Bit a2
a’3a’2
a’1a’0 a’3a’200 a’3a’201 a’3a’211 a’3a’210
a’1a’000 0 1 0 1
a’1
a’1a’001 0 1 0 1 a1
a’1a’011 0 1 0 1
a’1a’010 0 1 0 1
a’2
a2
Bit a1
a’3a’2
a’1a’0 a’3a’200 a’3a’201 a’3a’211 a’3a’210
a’1a’000 0 1 0 1
a’3 a3
a’1a’001 0 1 0 1
a’1a’011 1 0 1 0
a’1a’010 1 0 1 0
Bit a0
a’3a’2
a’1a’0 a’3a’200 a’3a’201 a’3a’211 a’3a’210
a’1a’000 0 1 0 1
a’1a’001 1 0 1 0
a’1a’011 0 1 0 1
a’1a’010 1 0 1 0
D0 S0
Synchronisation
D1 S1
D2 Y B S2
D3 S3
Multiplexeur Démultiplexeur
D4 S4
.. .. 2n vers 1 1 vers 2n ..
. ..
. . .
D2n-1 S2n-1
… …
En-1 E3 E2 E1 E0 En-1 E3 E2 E1 E0
Un multiplexeur (MUX) est un circuit logique qui possède 2n entrées (D0, D1, D2, … D2n-1), n
entrées de sélection (E0, E1, E2, … En-1) et une seule sortie Y. Il est dit : MUX 2n vers 1 ou
MUX 2n x 1.
Sa fonction consiste d’effectuer l’aiguillage de l’une des entrées vers la sortie en fonction
du code d’adresse appliqué sur les entrées de sélection.
Table de vérité
Entrées Sorties D0
Décimal
En-1 … E2 E1 E0 Y D1
0 0 … 0 0 0 D0 D2 Y
1 0 … 0 0 1 D1 D3
Multiplexeur
2 0 … 0 1 0 D2 D4
.. .. 2n vers 1
3 0 … 0 1 1 D3 . .
4 0 … 1 0 0 D4 D2n-1
5 0 … 1 0 1 D5 …
…. … … … … … … En-1 E3 E2 E1 E0
2n-1 1 … 1 1 1 D2n-1
Circuit intégré :
74LS157 MUX 1 parmi 2
74LS153 MUX 1 parmi 4
74LS151 MUX 1 parmi 8
74LS150 MUX 1 parmi 16
Un démultiplexeur (DEMUX) est un circuit logique qui possède une seule entrée B, n entrées
de sélection (E0, E1, E2, … En-1) et 2n sorties (S0, S1, S2, … S2n-1). Il est dit : DEMUX 1 vers
2n ou DEMUX 1 x 2n.
Il effectue la fonction inverse d’un multiplexeur, il transmet la donnée d’entrée vers une
des sorties selon le mot écrit aux entrées de sélection, il fonctionne comme un
commutateur.
Table de vérité
Entrées Sorties
Décimal
En-1 … E2 E1 E0 S0 S1 S2 … S2n-1
0 0 … 0 0 0 B 0 0 … 0
1 0 … 0 0 1 0 B 0 … 0
2 0 … 0 1 0 0 0 B … 0
3 0 … 0 1 1 0 0 0 … 0
4 0 … 1 0 0 0 0 0 … 0
5 0 … 1 0 1 0 0 0 … 0
…. … … … … … … … … … …
2n-1 1 … 1 1 1 0 0 0 … B
Logigramme
S0
S1 Circuit intégré :
B S2
S3 4067 DEMUX 1 vers 16
Démultiplexeur
S4
1 vers 2n .. .. 74LS154 DEMUX 1 vers 16
. .
74LS138 DEMUX 1 vers 8
S2n-1
… 74LS156 DEMUX 1 vers 4
En-1 E3 E2 E1 E0
D0 D4 D8
D1 Y D5 Y D9 Y
D2 D6 D10
D3 D7 D11
MUX MUX MUX
4 vers 1 4 vers 1 4 vers 1
E1 E0 E1 E0 E1 E0
CS CS CS
D12
D13 Y
D14
D15
Décodeur MUX
1 parmi 4 4 vers 1
E1 E0
CS
D C B A
S
Problème
Soit la fonction F(A, B, C, D)=(0, 2, 5, 7, 11, 13, 14, 15). Réaliser cette fonction à l’aide
d’un multiplexeur.
Solution
Entrées Sorties
Décimal +VCC
E3=D E2=C E1=B E0=A Y S
0 0 0 0 0 D0 1
1 0 0 0 1 D1 0 D0
D1
2 0 0 1 0 D2 1 D2
D3
3 0 0 1 1 D3 0 D4
4 0 1 0 0 D4 0 D5
5 0 1 0 1 D5 1 D6 Y=S
D7
6 0 1 1 0 D6 0 D8
7 0 1 1 1 D7 1 D9 Multiplexeur
D10
8 1 0 0 0 D8 0 D11 16 vers 1
9 1 0 0 1 D9 0 D12
D13
10 1 0 1 0 D10 0 D14
11 1 0 1 1 D11 1 D15 E3 E2 E1 E0
12 1 1 0 0 D12 0
13 1 1 0 1 D13 1
D C B A
14 1 1 1 0 D14 1
15 1 1 1 1 D15 1
D +VCC
D0
D1
D2
D3 Y=S
D4
D5 Multiplexeur
D6 8 vers 1
D7
E2 E1 E0
C B A