Chapitre 3 : Circuits logiques combinatoires.
Chapitre 3
Circuits logiques Combinatoires
1. Introduction :
La conception des circuits logiques combinatoires consiste à la méthode de matérialisation
avec un nombre minimum de portes logiques dans le circuit. Pour cela, on va utiliser deux
méthodes de simplification des circuits : les théorèmes de l’algèbre de BOOLE et une technique
graphique dite diagramme de Karnaugh. Les méthodes de simplification et de conception des
circuits logiques que nous étudierons exigent que l’on exprime les équations logiques sous la
forme d’une somme de produits.
2. Simplification des fonctions logiques :
2.1. Simplification algébrique :
On a intérêt dans ce type de simplification à appliquer les théorèmes de l’algèbre de BOOLE.
Malheureusement, il n’est pas toujours facile de savoir quels théorèmes il faut invoquer pour
obtenir le résultat minimum.
Exemple :
S a.b.c a.b.c a.b.c
a.b (c c) a.b.c
a.b a.b.c a (b b.c)
a (b c)
2.2. La méthode des diagrammes de Karnaugh :
2.2.1. Définition :
Le diagramme de Karnaugh est un outil graphique qui permet de simplifier de manière
méthodique et définitive une équation logique. C’est aussi le processus de passage d’une table à
son circuit correspondant.
Si N est le nombre des variables manipulées, le diagramme de Karnaugh est un tableau
rectangulaire de 2N cases. Dans un diagramme de Karnaugh :
Chaque ligne de la table de vérité est représentée par une case. Dans chaque case on
porte l’une de 2N combinaisons possibles des N variables.
Les variables sont disposées selon le code binaire réfléchi de telle sorte q’un seul bit
change lorsqu’on passe d’une ligne à une autre.
[Link] 13
Chapitre 3 : Circuits logiques combinatoires.
Exemple : Soit la table de vérité suivante :
a b S
La table de Karnaugh correspondante est :
0 0 1 ab
a 0 1
0 1 0 b
1 0 0 0 1 0 ab
1 1 1 1 0 1
La sortie S est donnée par l’équation logique suivante : S a b a.b
2.2.2. Règles de simplification :
Il est possible de simplifier l’expression de la sortie en combinant selon des règles précises
les cases du diagramme de Karnaugh qui contiennent des « 1 ». Ce processus est appelé réunion.
[Link]. Réunion de doublet : Il faut identifier les cases qui peuvent être combinées d’une façon
unique avec d’autres. La réunion d’un doublet de « 1 » élimine la variable qui a changé d’état.
Exemple :
ab 00 01 11 10
c La variable c change d’état, elle s’élimine.
0 0 0 1 0
1 0 0 1 0 S a.b
[Link]. Réunion de quartets : La réunion d’un quartet de « 1 » élimine les deux variables qui ont
changé d’état.
[Link]. Réunion d’un octet : En réunissant les expressions correspondantes au contenu de huit
cases comportant des « 1 », la simplification consiste à éliminer les trois variables qui changent
d’état.
Plus une réunion regroupe de « 1 », plus le nombre des variables éliminées est grand. C’est
ce principe qu’il faut le mettre en application pour simplifier l’expression logique d’un
diagramme de Karnaugh comprenant une combinaison quelconque de « 0 » et de « 1 ».
Remarque :
Dans certains circuits, il est possible qu’une ou plusieurs variables d’entrées ne correspondent à
aucun état particulier de la sortie cela se produit par exemple lorsque ces combinaisons ne
doivent jamais existées. Dans le tableau de Karnaugh, l’état de la sortie correspondante à ces
combinaisons ( dites indifférentes ) est schématisé par ( , ) pouvant prendre des « 1 » ou des
« 0 » afin d’obtenir l’expression de la sortie la plus simple.
Exemple :
[Link] 14
Chapitre 3 : Circuits logiques combinatoires.
ab 00 01 11 10
cd
00 0 0 1 0
01 0 0 1 0
11 - 1 - -
10 0 1 - 0 S a.b c.b
3. Générateur et contrôleur de parité :
Le bit de parité accompagne souvent un processus de transmission de données. Il nous
permet de contrôler le processus de transmission et les données transmises. La figure ci-après
nous donne un exemple de circuit logique pouvant servir à la génération et au contrôle de la
parité paire.
A3
A2 Parité (P)
Vers le récepteur
A1
A0
Vers le
récepteur
figure 3.1.Générateur de parité paire.
P
A3
Erreur (E)
A2
A1 1 : Erreur
A0 0 : pas d’erreur
figure [Link]ôleur de parité paire.
Application :
Déterminer la sortie du générateur de parité paire pour chacun des groupes binaires A3A2A1A0
suivants et donner la sortie du contrôleur de parité correspondante :
a) 0111 ; b) 1001 ; c) 0000 ; d) 0100.
4. Circuits combinatoires de transcodage :
4.1. Définition : Les circuits combinatoires de transcodage sont des circuits qui transforment
une information présente à leurs entrées sous une forme donnée( code1 ) en une information
présente à leurs sorties sous une autre forme ( code2 ). Trois types de circuits combinatoires de
transcodage peuvent être rencontrés :
Les codeurs : ils présentent 2N entrées et N sorties,
[Link] 15
Chapitre 3 : Circuits logiques combinatoires.
Les décodeurs : ils présentent N entrées et 2N sorties,
Les transcodeurs ( Convertisseurs de codes ) : Ils présentent P entrées et K sorties.
4.2. Les Codeurs :
Un codeur binaire est un circuit numérique à 2N voies d’entrées et N sorties. Ce circuit doit
faire correspondre une seule voie d’entrée à l’ensemble des sorties simultanément pour la
représentation d’un mot binaire sur N bits (figure 3.3).
I0 O0
I1 O1
2N Entrées . Codeur . N Sorties
. .
. .
I 2 N 1 ON 1
figure 3.3. Schéma de principe d’un codeur.
[Link] décimal / DCB :
E0
E1
E2
E3 S0 (Bit de poids le plus faible)
E4 Codeur S1 LSB
E5 Décimal/DCB S2
E6 S3
E7
(Bit de poids le plus fort)
E8 MSB
E9
figure 3.4. Codeur Décimal / DCB.
La table de vérité est donnée par le tableau 3.1.
E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 S3 S2 S1 S0
1 0 0 0 0
1 0 0 0 1
1 0 0 1 0
1 0 0 1 1
1 0 1 0 0
1 0 1 0 1
1 0 1 1 0
1 0 1 1 1
1 1 0 0 0
1 1 0 0 1
Tableau 3.1. Table de vérité d’un Codeur Décimal / DCB.
[Link] 16
Chapitre 3 : Circuits logiques combinatoires.
Les équations logiques associées aux sorties de la table de vérité précédente sont :
S0 = E1 + E3 + E5 + E7 + E9
S1 = E2 + E3 + E6 + E7
S2 = E4 + E5 + E6 + E7
S3 = E8 + E9
[Link] de priorité décimal / DCB :
Ce codeur produit la même fonction de codage que le codeur décimal/DCB avec une
fonction de priorité. Ce codeur génère une sortie DCB qui correspond à l’entrée du chiffre le plus
élevé et ignore toutes les autres entrées.
E0
E1
Codeur de S0
. priorité S1
. S2
Décimal/DCB
.
S3
E9
figure 3.5. Codeur de priorité Décimal / DCB
E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 S3 S2 S1 S0
1 0 0 0 0
- 1 0 0 0 1
- - 1 0 0 1 0
- - - 1 0 0 1 1
- - - - 1 0 1 0 0
- - - - - 1 0 1 0 1
- - - - - - 1 0 1 1 0
- - - - - - - 1 0 1 1 1
- - - - - - - - 1 1 0 0 0
- - - - - - - - - 1 1 0 0 1
Tableau 3.2. Table de vérité d’un Codeur de priorité Décimal / DCB.
4.3. Les décodeurs :
Un décodeur est un circuit logique qui fait la correspondance entre un code de N bits et 2N
bits de sortie. Pour chacune des combinaisons des entrées possibles, une seule sortie sera active.
[Link] 17
Chapitre 3 : Circuits logiques combinatoires.
I0 O0
I1 O1
N Entrées . Décodeur . 2N Sorties
. .
. .
I N 1 O2 N 1
figure 3.6. Schéma de principe d’un décodeur.
4.3.1. Décodeur à deux entrées binaires :
Aux deux variables d’entrées E0 et E1 ce décodeur fait correspondre quatre variables de
sortie S0, S1, S2 et S3. Sa table de vérité est la suivante :
E0 E1 S3 S2 S1 S0
0 0 0 0 0 1 Les équations logiques sont données par :
0 1 0 0 1 0
1 0 0 1 0 0 S 0 E0 .E1 ; S1 E0 .E1
1 1 1 0 0 0 S 2 E0 .E1 ; S 3 E0 .E1
Tableau 3.3. Table de vérité d’un décodeur
à deux entrées binaires
Remarque : certains décodeurs présentent une ou plusieurs entrées de validation ; par exemple,
une entrée de validation au niveau « 1 » permet au décodeur de fonctionner normalement ; si elle
est au niveau « 0 » le décodeur est bloqué au niveau « 0 » ( toutes les sorties à l’état 0).
4.3.1. Décodeur DCB / 7 segments : La plus part des afficheurs numériques (montres,
calculatrices, multimètres numériques…..) permettent de représenter dix chiffres (de 0 à 9) et des
lettres de l’alphabet. Ces symboles sont représentés au moyen de sept segments lumineux
(voir figure 3.7) qui sont des diodes électroluminescentes ou des cristaux liquides.
a
f b
g
e c
d
figure 3.7. Afficheur 7 segments.
[Link] 18
Chapitre 3 : Circuits logiques combinatoires.
On a 10 chiffres ou encore 10 symboles, pour les écrire dans la base 2, on a besoin de
quatre variables d’entrées D, C, B et A pour les identifier et 7 sorties a, b, c, d, e, f et g pour les
afficher.
D C B A a b c d e f g
0 0 0 0 1 1 1 1 1 1 0
0 0 0 1 0 1 1 0 0 0 0
0 0 1 0 1 1 0 1 1 0 1
0 0 1 1 1 1 1 1 0 0 1
0 1 0 0 0 1 1 0 0 1 1
0 1 0 1 1 0 1 1 0 1 1
0 1 1 0 1 0 1 1 1 1 1
0 1 1 1 1 1 1 0 0 0 0
1 0 0 0 1 1 1 1 1 1 1
1 0 0 1 1 1 1 1 0 1 1
Tableau 3.4. Table de vérité d’un décodeur à quatre entrées binaires.
Les équations logiques des sorties sont données par :
a D B AC ; b D c A B ; c A B C D
d D A.B A.C A.B.C B.C ; e A.B A.C ; f D A.B B.C A.C
g A.B D B C
Le schéma de câblage est donné sur la figure 3.9 pour une configuration anode commune.
Les sorties du décodeur sont actives au niveau bas.
+Vcc
a
D ba
a ca
C Décodeur DCB/
a 7 segments da
B
ae
a
A fa
a ga
a
figure 3.8. Configuration anode commune
4.3. Les convertisseurs de codes : Transcodeurs
Les convertisseurs de codes permettent de passer d’un code binaire à un autre code binaire
différent.
[Link] 19
Chapitre 3 : Circuits logiques combinatoires.
Exemple : transcodeur binaire/binaire réfléchi (Gray)
Equations logiques des sorties :
c b a S2 S1 S0 S 0 a b, S1 b c, S 2 c
0 0 0 0 0 0
Le schéma logique est donné par le circuit
0 0 1 0 0 1
0 1 0 0 1 1 de la figure 3.9.
0 1 1 0 1 0
1 0 0 1 1 0 a
S0
1 0 1 1 1 1 b
1 1 0 1 0 1
1 1 1 1 0 0 S1
c
Tableau 3.5. Table de vérité d’un transcodeur S2
binaire / code Gray.
figure 3.9. Transcodeur Binaire /code Gray
5. Circuits arithmétiques :
5.1. Définition :
Les circuits arithmétiques sont des circuits combinatoires permettant d’assurer l’opération
arithmétique de l’algèbre de Boole.
5.2. Etude des additionneurs :
5.2.1. demi additionneur : Half-Adder :
C’est un circuit combinatoire qui fait l’addition de 2 mots binaires à un seul bit chacun.
a0 S
½ add
b0 R
figure 3.10. Schéma d’un demi- additinneur.
La table de vérité est donnée par le tableau 3.6.
a0 b0 S R
0 0 0 0
0 1 1 0
Les équations logiques des sorties sont
1 0 1 0
données par :
1 1 0 1
S a0 b0 et R a.b
Tableau 3.6. Table de vérité d’un HA .
Le schéma du circuit réalisant un demi additionneur est donné sur la figure 3.11.
a0 S
b0
R
figure 3.11. Circuit logique d’un demi- additionneur.
[Link] 20
Chapitre 3 : Circuits logiques combinatoires.
5.2.2. Additionneur complet : Full-Adder :
C’est un circuit combinatoire permettant de faire la somme de deux nombres binaires à
plusieurs bits. Il peut être réalisé par des sous-systèmes combinatoires identiques. La table de
vérité d’un FA est donné par :
ai bi Ri-1 Si Ri
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
Tableau 3.7. Table de vérité d’un FA .
Les équations de la somme et de la retenue sont les suivantes :
S i ai .bi .Ri 1 ai .bi .Ri 1 ai .bi .Ri 1 ai .bi .Ri 1
Ri 1 (ai bi ) Ri 1 (ai bi ) Ri 1 ai bi
Ri Ri 1 (ai bi ) ai .bi
Le schéma logique est donné par la figure ci-après.
ai
Si
bi
Ri-1
Ri
figure 3.11. Logigramme d’un FA.
On peut réaliser un additionneur complet par des demi additionneurs comme le montre
la figure 3.12.
ai Si
½ add ½ add
bi
Ri-1
Ri
figure 3.12. Schéma d’un FA à l’aide des HAs.
[Link] 21
Chapitre 3 : Circuits logiques combinatoires.
5.2.3. Additionneur à propagation de retenue:
L’additionneur de deux nombres de n éléments binaires nécessite n additionneurs
complets, la retenue appliquée sur les plus faibles poids est nulle et chaque retenue calculée est
appliquée au chiffre de poids immédiatement supérieur.
b i ai bi-1 ai-1 b1 a1 b0 a0
Ri-1 Ri-2 R0
Add Add Add Add
R1
Ri Si Si-1 S1 S0
figure 3.13. Schéma d’un additionneur à propagation de retenue.
Exemples d’additionneurs :
Série TTL : - 7480 : additionneur un seul bit,
- 7482 : additionneur deux bits,
- 7483 : additionneur quatre bits.
Série CMOS : 4008 : additionneur quatre bits.
6. Circuits combinatoires d’aiguillage :
6.1. Les Multiplexeurs : MUX
6.1.1. Définition :
Un multiplexeur, sélecteur de données, est un circuit logique qui a plusieurs entrées de
données mais seulement une sortie qui communique les données. L’aiguillage de l’une des entrées
sur la sortie est commandé par les entrées d’adresses ( Entrées SELECTs ). C’est un circuit de
N=2n entrées de données ou d’informations, n entrées d’adresses et une sortie.
D0
n D1
2 entrées .
de données S
. MUX
.
D2n-1
…
En-1 E1 E0
n entrées SELECT
figure 3.14. Synoptique d’un Multiplexeur.
[Link] 22
Chapitre 3 : Circuits logiques combinatoires.
6.1.1. Exemples de réalisations :
MUX élémentaire à deux entrées de données : C’est un MUX à deux entrées de données
donc il possède une seule entrée de sélection.
D0
S Si E=0 alors S=D0
D1
MUX
Si E=1 alors S=D1
E
La table de vérité est alors la suivante :
E S
L’équation du circuit de ce MUX est alors :
0 D0
S E.D0 E.D1
1 D1
Le circuit logique est schématisé sur la figure 3.15.
D0
D1
E
figure 3.15. Logigramme d’un MUX à deux entrées de données.
MUX à 4 entrées de données :
D0
D1 S
D2 MUX
D3
E1 E0
La table de vérité est donnée par :
E1 E0 S
0 0 D0
0 1 D1
1 0 D2
1 1 D3
L’équation logique s’écrit alors : S E 1 .E 0 .D0 E 1 .E 0 .D1 E1 .E 0 .D2 E1 .E 0 .D3
[Link] 23
Chapitre 3 : Circuits logiques combinatoires.
Généralement, on peut utiliser une entrée de validation qui permet de bloquer ou de libérer la
sortie. Pour un MUX à une entrée de validation : S 0 S.V .
Circuits intégrés de réalisation :
SN 74151 : MUX à 8 entrées de données, 3 entrées d’adresses, une seule entrée de
validation et une sortie muni de son complément.
74151 : Double MUX qui possède 2*4 entrées de données, 2 lignes de validation
et 2 sorties.
6.1.3. Génération de fonctions logiques :
Les MUXs sont aussi utilisés pour générer des fonctions logiques. Soit la fonction spécifiée
par la table de vérité suivante :
a2 a1 a2 S
0 0 0 0
0 0 1 1
0 1 0 0
A partir de cette table de vérité, la sortie S peut s’écrire
0 1 1 1
comme suit :
1 0 0 1
1 0 1 0 S a 2 .a 1 .a 0 a 2 .a1 .a 0 a 2 .a 1 .a 0 a 2 .a1 .a 0 a 2 .a1 .a 0
1 1 0 1
1 1 1 1
On peut réaliser cette fonction à l’aide d’un MUX 4 vers 1. On peut considérer que les entrées
a 2 et a1 sont les entrées de sélection.
6.2. Les Démultiplexeurs : DMUX
Le DMUX effectue l’opération inverse d’un MUX. Il n’a qu’une seule entrée d’information et
dirige celle-ci vers une sortie parmi plusieurs. C’est un circuit à une entrée d’information, n
entrées d’adresses et 2n sorties. Le code d’entrée de sélection détermine à quelle sortie, l’entrée de
donnée est transmise. On peut aussi prévoir une entrée de validation pour cette opération de
démultiplexage qui permet d’autoriser ou non les sorties.
[Link] 24
Chapitre 3 : Circuits logiques combinatoires.
S0
S1
.
D DMUX .
.
S2n-1
…
En-1 E1 E0
n entrées SELECT
figure 3.16. Synoptique d’un Démultiplexeur.
Exemple : DMUX à une entrée de sélection.
S0 Si E=0 alors S0=D
D DMUX S1
Si E=1 alors S1=D
E
Les équations logiques des sorties sont alors :
S 0 E.D et S1 E.D
Le logigramme est donné par la figure ci-dessous.
S0
S1
E
figure 3.17. Logigramme d’un DMUX un vers deux.
[Link] 25