You are on page 1of 20

DEUG Sciences et Technologie 1er semestre

Electronique et Instrumentation

Universit de Savoie

CHAPITRE 7
ELEMENTS DE LOGIQUE COMBINATOIRE
CODAGE
1.

FONCTIONS/OPRATEURS LOGIQUES ALGBRE DE BOOLE ...........................................................56


1.1 DFINITIONS............................................................................................................................................................56
1.1.1
Variable logique et fonction logique...........................................................................................................56
1.1.2
Oprateurs logiques lmentaires ...............................................................................................................56
1.1.3
Oprateurs logiques complets .....................................................................................................................56
1.2 ECRITURE DES FONCTIONS LOGIQUES .....................................................................................................................56
1.2.1
Table de vrit..............................................................................................................................................56
1.2.2
Tableau de Karnaugh ..................................................................................................................................56
1.3 FONCTIONS LMENTAIRES .....................................................................................................................................57
1.3.1
Fonction/Oprateur Inverseur (NON).........................................................................................................57
1.3.2
Fonction/Oprateur AND (ET)....................................................................................................................57
1.3.3
Fonction/Oprateur OR (OU) .....................................................................................................................58
1.4 PROPRITS DES FONCTIONS LMENTAIRES ..........................................................................................................58
1.4.1
Elment neutre .............................................................................................................................................58
1.4.2
Commutativit ..............................................................................................................................................58
1.4.3
Associativit .................................................................................................................................................59
1.4.4
Distributivit double ....................................................................................................................................59
1.4.5
Idempotence .................................................................................................................................................59
1.4.6
Complment..................................................................................................................................................59
1.5 THORMES FONDAMENTAUX.................................................................................................................................59
1.5.1
Thorme de De Morgan .............................................................................................................................59
1.5.2
Dualit..........................................................................................................................................................59
1.6 FORMES NORMALES ................................................................................................................................................59
1.6.1
Forme normale disjonctive (FND) ..............................................................................................................59
1.6.2
Forme normale conjonctive (FNC) .............................................................................................................60
1.7 SIMPLIFICATION DE FONCTIONS ..............................................................................................................................61
1.7.1
Simplification graphique .............................................................................................................................61
1.7.2
Simplification algbrique ............................................................................................................................63
1.7.3
Combinaisons impossibles...........................................................................................................................64
1.8 FONCTIONS/OPRATEURS COMPLETS......................................................................................................................65
1.8.1
Fonction/Oprateur NAND .........................................................................................................................65
1.8.2
Fonction/Oprateur NOR ............................................................................................................................66
1.8.3
Utilisation des NOR et NAND pour la synthse dune fonction quelconque.............................................66
1.9 FONCTION/OPRATEUR XOR (OU EXCLUSIF) ....................................................................................................67
1.9.1
XOR deux entres......................................................................................................................................67
1.9.2
XOR plusieurs entres...............................................................................................................................67
1.9.3
Utilisation du XOR.......................................................................................................................................68

2.

CODEURS, DCODEURS, TRANSCODEURS..................................................................................................69


2.1 GNRALITS SUR LE CODAGE ................................................................................................................................69
2.2 DFINITIONS............................................................................................................................................................69
2.2.1
Codeur ..........................................................................................................................................................69
2.2.2
Dcodeur ......................................................................................................................................................69
2.2.3
Transcodeur .................................................................................................................................................70
2.3 DCODEUR ..............................................................................................................................................................70
2.3.1
Exemple : dcodeur binaire 1 parmi 4........................................................................................................70
2.3.2
Association de dcodeurs, dcodeur 1 parmi 2n .........................................................................................70
2.3.3
Codeur ..........................................................................................................................................................72
2.3.4
transcodeur ..................................................................................................................................................73

Chp-7 Elments de logique combinatoire - Codage

page 55

DEUG Sciences et Technologie 1er semestre


Electronique et Instrumentation

Universit de Savoie

1. Fonctions/Oprateurs logiques Algbre de Boole


1.1 Dfinitions
1.1.1 Variable logique et fonction logique
Une variable logique est une variable qui peut prendre deux tats : 0 ou 1 ; faux ou vrai.
Une fonction logique de variables logiques est une fonction dont les valeurs peuvent tre les deux
tats 0 ou 1 ; faux ou vrai.
1.1.2 Oprateurs logiques lmentaires
Les oprateurs logiques lmentaires servent construire les fonctions logiques.
En algbre classique on distingue quatre oprateurs de base : +, -, *, / ; en algbre de Boole ils sont
au nombre de trois : ET, OU, NON ou encore intersection , union , complment .
Exemple : la fonction f est vraie si a est vrai ou si b et c sont vrais ou si d est faux scrit :
f = OU (a, ET (b, c ), NON (d )) ou encore f = a + bc + d
1.1.3 Oprateurs logiques complets
On peut montrer quil est possible de synthtiser les trois oprateurs de base avec un seul type
doprateur que lon appelle alors oprateur complet .
Il existe deux oprateurs complets : le ET-NON ou NAND et le OU-NON ou NOR.
1.2 Ecriture des fonctions logiques
Une fonction logique, dfinie par son expression, peut tre reprsente de plusieurs manires.
1.2.1 Table de vrit
Les combinaisons de n variables logiques sont limites 2n du fait que les variables ne peuvent
prendre que deux valeurs. On peut ainsi reprsenter la fonction logique laide dun tableau faisant
correspondre chaque combinaison des variables la valeur de la fonction (0 ou 1) correspondante.
On appelle cette reprsentation table de vrit .
Exemple : f (a, b ) = a + b signifie : f = 1 si a = 1 ou b = 1 ou a = b = 1 (voir table de vrit figure
7.1).
a
0
0
1
1

b
0
1
0
1

f (0,0) = 0
f (0,1) = 1
f (1,0) = 1
f (1,1) = 1

a+b
0
1
1
1

La table de vrit comporte


2n lignes (une pour chaque
combinaison des variables
dentre)

Figure 7.1. Table de vrit.


1.2.2 Tableau de Karnaugh
Le tableau de karnaugh est une reprsentation de la table de vrit en deux dimensions. Il
comprend 2n cases.

Chp-7 Elments de logique combinatoire - Codage

page 56

DEUG Sciences et Technologie 1er semestre


Electronique et Instrumentation

Universit de Savoie

Exemple : f (a, b ) = a + b

b\a

Au-del de deux variables, le tableau devrait tre un volume. Pratiquement on conserve


videmment une reprsentation deux dimensions mais il faut alors respecter une rgle qui est
ladjacence de deux lignes ou colonnes. Les combinaisons des variables respectent donc un
code de Gray.
code de Gray
Exemple 4 variables :
cd\ab
code
de
Gray

00

01

11

10

00

01

11

10

Figure 7.2. Code de Gray.


1.3 Fonctions lmentaires
1.3.1 Fonction/Oprateur Inverseur (NON)
Expression : Si a est vrai, f (a ) est faux : f (a ) = a .
Table de vrit :
a
f (a )

Symbole :

0
a

1.3.2 Fonction/Oprateur AND (ET)


Expression : f (a, b ) est vraie si a est vrai et b est vrai :
Table de vrit :
S
a
b
0
0
0
1
1
0
1
1

f (a, b ) = S = ab .
= ab
0
0
0
1

Figure 7.3. Table de vrit du AND

Chp-7 Elments de logique combinatoire - Codage

page 57

DEUG Sciences et Technologie 1er semestre


Electronique et Instrumentation

Universit de Savoie

Tableau de Karnaugh :

Symbole :

a
b

b\a

a.b

Utilisation en porte logique


S = a si b = 1
S = 0 si b = 0
Le AND ralise donc une porte (ouverte si b = 1 , ferme si b = 0 ).
1.3.3 Fonction/Oprateur OR (OU)
Expression : f (a, b ) est vraie si a est vrai ou b est vrai : f (a, b ) = S = a + b .
Table de vrit :
a
0
0
1
1

S = a +b
0
1
1
1

b
0
1
0
1

Figure 7.4. Table de vrit du OR.


Tableau de Karnaugh :

Symbole :

a
b

b\a

a+b

Utilisation en porte logique


S = a si b = 0
S = 1 si b = 1
Le OR ralise donc une porte (ouverte si b = 0 , ferme si b = 1 ).
1.4 Proprits des fonctions lmentaires
1.4.1 Elment neutre
OR :
a+0= a
AND :
a .1 = a

0 = lment neutre pour le OR


1 = lment neutre pour le AND

1.4.2 Commutativit
OR :
a+b =b+a
AND :
a.b = b.a

Chp-7 Elments de logique combinatoire - Codage

page 58

DEUG Sciences et Technologie 1er semestre


Electronique et Instrumentation

Universit de Savoie

1.4.3 Associativit
(a + b ) + c = a + (b + c ) = a + b + c
OR :
(a.b ).c = a.(b.c ) = a.b.c
AND :
1.4.4 Distributivit double
a.(b + c ) = a.b + a.c
1.4.5 Idempotence
OR : a + a = a
AND : a.a=a
1.4.6 Complment
a = a ; a + a = 1 ; a.a = 0
1.5 Thormes fondamentaux
1.5.1 Thorme de De Morgan

Ce thorme scrit : f (a, b,...,+,.) = f a, b,...,.,+


Le complment dune fonction f de variables a, b, sobtient en remplaant les variables par leur
complment, et les oprateurs AND (.) par des OR (+) (et rciproquement).

)(

)(

Exemple : f = ab + cd + ad f = a + b c + d a + d .
On suppose que la priorit des oprateurs est la mme quen algbre classique, ce qui permet
domettre certaines parenthses.
1.5.2 Dualit
Une galit demeure vraie si lon permute les OR et AND et les 0 et 1.
Exemple :

a + ab = a + b
a +1 = 1

a. a + b = ab
a.0 = 0

1.6 Formes normales


Les formes normales sont des expressions particulires de fonctions logiques, sous formes de ET
de OU ("produits de sommes") ou de OU de ET ("sommes de produits"). Dans chaque terme
apparaissent toutes les variables.
1.6.1 Forme normale disjonctive (FND)
Thorme n 1 de Shannon :
Toute fonction logique peut se dcomposer en un OU de deux ET logiques :
f ( a, b, c,...) = a. f (1, b, c,...) + a . f (0, b, c,...)

En utilisant successivement ce thorme on arrive la forme normale disjonctive :


f ( a, b, c,...) = a.b. f (1,1, c,...) + a .b. f (0,1, c,...) + a.b . f (1,0, c,...) + a .b . f (0,0, c,...)

La fonction scrit donc comme un OU de toutes les combinaisons possibles de n variables


pondres par des 0 et 1 (il y a donc 2n termes). Les termes pondrs par des 0 disparaissent et il
Chp-7 Elments de logique combinatoire - Codage

page 59

DEUG Sciences et Technologie 1er semestre


Electronique et Instrumentation

Universit de Savoie

ne reste donc que les termes pondrs par des 1, do lexpression : "dveloppement de la
fonction suivant les 1".
Exemple 1 : soit f(a,b,c) dfinie par le tableau de Karnaugh suivant, dterminer sa FND.
ab
00 01 11 10
c
0
0
0
0
1
1
1
1
0
1
do f (a, b, c) = a b c .0 + a bc .0 + abc .0 + ab c .1 + a b c.1 + a bc.1 + abc.0 + ab c.1
soit : f (a, b, c) = ab c + a b c + a bc + ab c
On note que ce rsultat est obtenu directement partir du tableau de Karnaugh (ou de la table
de vrit) en crivant que f est lunion (+) des combinaisons de a, b, c pour lesquelles f vaut 1.
Exemple 2 :

f ( a, b, c ) = a b c + a b c + a bc + ab c

Trouver le tableau de Karnaugh (ou la table de vrit) de f.


sous sa forme normale, f scrit :
f ( a, b, c ) = a b c . f (0,0,0) + a b c. f (0,0,1) + a bc . f (0,1,0) + a bc. f (0,1,1)
+ ab c . f (1,0,0) + ab c. f (1,0,1) + abc . f (1,1,0) + abc. f (1,1,1)

avec

f (0,0,0) = 1
f (1,0,0) = 0

f (0,0,1) = 1 f (0,1,0) = 0 f (0,1,1) = 1


f (1,0,1) = 1 f (1,1,0) = 0 f (1,1,1) = 0

do le tableau de Karnaugh :
ab
c

0
1

00
1
1

01
0
1

11
0
0

10
0
1

On note que cela revient mettre des 1 dans les cases dfinies par les combinaisons de
variables prsentes dans lexpression de f.
1.6.2 Forme normale conjonctive (FNC)
Thorme n 2 de Shannon :
Toute fonction logique peut se dcomposer en un ET de deux OU logiques :
f ( a, b, c,...) = (a + f (0, b, c,...)).(a + f (1, b, c,...))

Cette forme est la duale de la FND. Comme prcdemment l'utilisation successive de ce thorme
permet d'arriver la forme normale conjonctive :
Exemple 1 :
ab
c

0
1

00
0
1

01
0
1

11
0
0

10
1
1

1er terme : a + b + c + f (0,0,0)


2me terme : a + b + c + f (0,0,1)
3me terme : a + b + c + f (0,1,0)
.
Chp-7 Elments de logique combinatoire - Codage

page 60

DEUG Sciences et Technologie 1er semestre


Electronique et Instrumentation

Universit de Savoie

8me terme : a + b + c + f (1,1,1)

[
][
]
[(a + b + c) + 1][. (a + b + c ) + 1].[(a + b + c) + 0][. (a + b + c ) + 0]

f ( a, b, c ) = [(a + b + c) + 0][
. (a + b + c ) + 1]. ( a + b + c) + 0 . (a + b + c ) + 1 .

Les termes contenant 1 disparaissent :


f ( a, b, c ) = ( a + b + c).(a + b + c).(a + b + c).(a + b + c )

En pratique, on cherche les cases 0, puis on fait le ET des combinaisons de variables qui leur
"correspondent" en prenant garde que la "correspondance" n'est pas la mme que pour la FND.
Dveloppement suivant les "0".
Exemple 2 :
ab
c

0
1

00
1
0

01
0
1

11
1
0

10
0
0

Dveloppement suivant les 0 :


f ( a, b, c ) = (a + b + c ).(a + b + c).(a + b + c ).(a + b + c).(a + b + c )

Ne pas confondre les rgles de dveloppement suivant les "1" et les "0".
Exemple 3 : Passage de la FNC au tableau de Karnaugh
f ( a, b, c) = ( a + b + c).(a + b + c).(a + b + c ).(a + b + c ) s'crit aussi :

[
][
]
[(a + b + c) + f (1,0,0)][. (a + b + c ) + f (1,0,1)].[(a + b + c) + f (1,1,0)][. (a + b + c ) + f (1,1,1)]

f ( a, b, c ) = [( a + b + c) + f (0,0,0)][
. (a + b + c ) + f (0,0,1)]. (a + b + c) + f (0,1,0) . ( a + b + c ) + f (0,1,1) .

avec ici :

f (0,0,0) = 0
f (1,0,0) = 1

f (0,0,1) = 1
f (1,0,1) = 1

f (0,1,0) = 0
f (1,1,0) = 0

f (0,1,1) = 1
f (1,1,1) = 0

d'o le tableau de Karnaugh :


ab
c

0
1

00
0
1

01
0
1

11
0
0

10
1
1

1.7 Simplification de fonctions


La simplification dune fonction consiste obtenir son expression la plus compacte possible afin
de minimiser le nombre doprateurs logiques ncessaires sa ralisation.
On distingue deux mthodes de simplification :
mthode algbrique ;
mthode graphique.
1.7.1 Simplification graphique
1.7.1.1 Principe
Cette mthode repose sur lutilisation des tableaux de Karnaugh. Elle consiste mettre en
vidence des associations du type :
ab + ab = a b + b = a

abc + abc + abc + abc = ab c + c + ab c + c = a

Chp-7 Elments de logique combinatoire - Codage

page 61

DEUG Sciences et Technologie 1er semestre


Electronique et Instrumentation

Universit de Savoie

On remarque que les regroupements ci-dessus correspondent aux cas o lon a 2, 4, 8, (2n en
gnral) cases adjacentes sur le tableau de Karnaugh, qui sont simultanment gales 1.
1.7.1.2 Adjacence des cases
Deux cases adjacentes sur le tableau de Karnaugh correspondent des combinaisons diffrant
dun seul bit (ceci est d lutilisation du code de Gray). Ceci est valable lintrieur du tableau
mais aussi sur ses bords : en passant du bord droit au bord gauche ou du haut au bas il y a
adjacence. Ceci revient dire que lon peut considrer le tableau comme une sphre.
v Rgle pratique
La rgle consiste donc fusionner ces 2n cases adjacentes pour trouver lexpression rsultante.
On regarde la ou les variables qui change(nt) entre les cases fusionnes ; ces variables sont alors
supprimes dans la nouvelle expression simplifie.
v Exemples
Exemple 1 :

c\ab

00

01

11

10

b change

a ne change pas (1) a.c


c ne change pas (0)

c change

a ne change pas (0) a.b


b ne change pas (0)
Figure 7.5. Principe de regroupement (exemple 1).
Donc : f = abc + abc + abc + abc = ab + ac
Exemple 2 :

c\ab

00

01

11

10

a change

b ne change pas (1) b

c change

Figure 7.6. Principe de regroupement (exemple 2).


Donc : f = abc + abc + abc + abc = b

Chp-7 Elments de logique combinatoire - Codage

page 62

DEUG Sciences et Technologie 1er semestre


Electronique et Instrumentation

Universit de Savoie

Exemple 3 :

cd\ab

00

01

11

10

00

01

11

10

a change

b ne change pas (0)


bd
c change

d ne change pas (0)

Figure 7.7. Principe de regroupement (exemple 3).


Donc : f = abc d + abc d + abc d + abc d = bd
v Rcapitulation des rgles :
1. On ne regroupe que 2n cases (2,4,8,16,).
2. les regroupements sont forcment des rectangles ou carrs (compte tenu des permutations pour
les bords). Pas de L , pas de croix,
3. lexpression sera dautant plus compacte que ltendue des regroupements est grande. Pour un
regroupement occupant la moiti du tableau il ny a plus quune variable, pour le quart il reste
deux variables, pour un regroupement de deux cases, il reste n-1 variables. A la limite un
regroupement de tout le tableau fait disparatre toute variable ( f = 1 ). Dune manire
gnrale, un regroupement de 2i cases conduit supprimer i variables.
4. Il est inutile de regrouper des 1 qui ont tous dj t regroups par ailleurs. On parle alors
de terme inclus.
1.7.2 Simplification algbrique
Cette technique de simplification repose sur lutilisation des proprits de lalgbre de Boole et
des thormes fondamentaux. Elle est moins systmatique que la simplification graphique mais
peut parfois donner des rsultats rapidement.
v Utilisation des identits particulires
(a + b ) a + b = a
(1)
ab + ab = a
(4)
a(a + b ) = a
(2)
ab + a = a
(5)

(3)

a + ab = a + b

ab

a a + b = ab

(6)

Exemple :
f = abc + abc + abcd
f =

+ abcd = a b + bcd = ab + acd

v Ajout de terme existant (utilisation de lidempotence)


Exemple :
f = abc + abc + abc + abc
f = abc + abc + abc + abc + abc + abc
f = bc
+ ac
+ ab

Chp-7 Elments de logique combinatoire - Codage

page 63

DEUG Sciences et Technologie 1er semestre


Electronique et Instrumentation

Universit de Savoie

v Suppression de terme inclus


Exemple :
f = ab + bc + ac

f = ab + bc + ac b + b = ab + bc + acb + acb = ab(1 + c ) + bc(1 + a ) = ab + bc

1.7.3 Combinaisons impossibles


Parfois des combinaisons particulires des valeurs des variables ne peuvent pas se produire, pour
des raisons physiques ou technologiques. On utilise alors ces combinaisons pour simplifier la
fonction.
Le principe consiste dire que puisque la combinaison napparat pas, on considre que si
elle apparaissait, elle donnerait un 1 ou un 0, selon ce qui nous arrange pour la
simplification (un ascenseur ne peut tre 2 tages au mme instant).
Exemple 1 : on cre la fonction f(a,b,c,d) telle que f = 1 ssi 1 < N < 5 avec N cod en BCD.
On dispose de 4 bits pour coder les nombres de 0 9 ; or 4 bits permettent de coder
jusqu 24 = 16 valeurs :
N
0
1
2
3
4
5
6
7
8
9
10

a
0
0
0
0
0
0
0
0
1
1

b
c
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
0
0
0
0
impossible

11

(ne

12

peut

13

pas

14

se

15

produire)

d
0
1
0
1
0
1
0
1
0
1

Chp-7 Elments de logique combinatoire - Codage

f
0
0
1
1
1
0
0
0
0
0
1 ou
0
1 ou
0
1 ou
0
1 ou
0
1 ou
0
1 ou
0

page 64

DEUG Sciences et Technologie 1er semestre


Electronique et Instrumentation

Universit de Savoie

Tableau de Karnaugh :
ab
cd

0
01
11
10

00
0
0
1
1

01
1
0
0
0

11
X
X
X
X

10
0
0
X
X

Si on ne tient pas compte des tats 10 15, f scrit : f = a b c + a bc d


En considrant que les combinaisons impossibles sont affectes arbitrairement des valeurs 0 ou 1
on peut obtenir : f = b c + bc d
Rgle pratique : on remplit le cases avec le symbole qui montre que lon peut choisir la valeur
que lon veut (0 ou 1) pour cette case.
1.8 Fonctions/Oprateurs complets
1.8.1 Fonction/Oprateur NAND
Expression : f (a, b ) est vraie si a et b est faux : f (a, b ) = S = a.b .
Table de vrit :
a
b
S = ab
0
0
1
1

0
1
0
1

1
1
1
0

Figure 7.8. Table de vrit du NAND.


Tableau de Karnaugh :

Symbole :

b\a

a
b

a.b

Synthse de linverseur (NON) avec des NAND


S = a.b ;
a
S = a.a = a
si a = b
si b = 1

S = a.1 = a

( )

( ) ( )

S = a.b .1 = a.b

a
1

Synthse du AND avec des NAND


S = a.b = a.b

a
b

a.b

a
b
1

a.b

Chp-7 Elments de logique combinatoire - Codage

a.b

a.b

page 65

DEUG Sciences et Technologie 1er semestre


Electronique et Instrumentation

Universit de Savoie

Synthse du OR avec des NAND

( ) ( )( )

S = a + b = a.b = a.a . b.b

a+b
b

b
1.8.2 Fonction/Oprateur NOR

Expression : f (a, b ) est vraie si a ou b est faux : f (a, b ) = S = a + b .


Table de vrit :
a
b
S = a +b
0
0
1
0
1
0
1
0
0
1
1
0
Figure 7.9. Table de vrit du NOR.
Tableau de Karnaugh :

b\a

a
Symbole :

a+b
b
Synthse de linverseur (NON) avec des NOR
S = a +b ;
a
S =a+a =a
si a = b
si b = 1

S =a+0=a

a
0

Synthse du AND avec des NOR

( )

) (

) (

) (

S = a.b = a.b = a + b = a + a + b + b = a + 0 + b + 0

Synthse du OR avec des NOR

) (

S = a+b = a+b = a+b = a+b +0


1.8.3 Utilisation des NOR et NAND pour la synthse dune fonction quelconque
Les deux oprateurs NOR et NAND tant universels, ils peuvent tre utiliss indiffremment pour
synthtiser une mme fonction. Pour les faire apparatre on peut procder comme prcdemment,
mais galement utiliser une rgle simple.
Remarque : en pratique, le NAND est plus rapide que le NOR ; il est donc plus utilis.
Rgle de De Morgan graphique

Chp-7 Elments de logique combinatoire - Codage

page 66

DEUG Sciences et Technologie 1er semestre


Electronique et Instrumentation

Universit de Savoie

On peut exprimer le thorme de De Morgan directement sur lexpression graphique de la


fonction :
a
a
a+b
a+b
b
a + b = a.b se dessine :
b
a.b = a + b se dessine :

a
b

a.b
b

a.b

On peut dduire une rgle simple de synthse graphique :


On peut remplacer directement un NOR (NAND) par un AND (OR) dont les entres sont
complmentes .
1.9 Fonction/Oprateur XOR (OU Exclusif)
1.9.1 XOR deux entres
Expression : f (a, b ) est vraie si a est vrai ou b est vrai, mais pas les deux: f (a, b ) = S = a b .
Table de vrit :
S = ab
a
b
0
0
0
0
1
1
1
0
1
1
1
0
Figure 7.10. Table de vrit du XOR.
Daprs la table de vrit, on obtient : S = a b = ab + ab

Tableau de Karnaugh :

b\a

S = ab
b
1.9.2 XOR plusieurs entres
Dfinition
XOR(a, b, c,...) = 1 si le nombre de variables 1 est impair.
Symbole :

Exemple trois variables : S = a b c


c\ab

00

01

11

10

Figure 7.11. XOR plusieurs entres.


La reprsentation dun XOR en tableau de Karnaugh est un damier avec un 0 en haut gauche
(car toutes les variables sont 0).
Chp-7 Elments de logique combinatoire - Codage

page 67

DEUG Sciences et Technologie 1er semestre


Electronique et Instrumentation

Universit de Savoie

Associativit
Il est facile de montrer que
a b c = a (b c ) = (a b ) c .

le

XOR

) (

possde

la

proprit

dassociativit :

a b c = abc + abc + abc + abc = a bc + bc + a bc + bc = a (b c ) + a b c = a (b c )

La symtrie permet deffectuer toutes les permutations en a, b ou c :


a
a
b
b
S
c
c

1.9.3 Utilisation du XOR


Dtection de non galit de deux variables
a b = 0 si a = b ; a b = 1 si a b .
Dtecteur dimparit
a b c = 0 si le nombre de variables 1 est pair
a b c = 1 si le nombre de variables 1 est impair
Oprateur programmable
Le XOR est loprateur programmable le plus simple. Avec les AND, OR, NON, NOR et NAND,
la relation entre sortie (f) et entre (a,b,c,) est fige. Avec un XOR on peut jouer sur cette
relation de manire la modifier en fonction dune entre qui joue le rle de commande.
Principe :
a
0
0
1
1

p
0
1
0
1

S
0
1
1
0

p
Figure 7.12. Porte logique.

S = 0 si a = 0 et p = 0
S = a si p = 0
S = 1 si a = 1 et p = 0

S = 1 si a = 0 et p = 1
S = a si p = 1
S = 0 si a = 1 et p = 1

p est donc lentre de contrle ; a peut tre la sortie dautres oprateurs.


Exemple :

a
b

p
S = ab si p = 0 ; S = ab si p = 1
Additionneur lmentaire sur deux bits
Les fonctions somme (S) et retenue (R)
sont dfinies ainsi :

Chp-7 Elments de logique combinatoire - Codage

page 68

DEUG Sciences et Technologie 1er semestre


Electronique et Instrumentation

Universit de Savoie

Figure 7.13. Table de vrit de ladditionneur lmentaire 2 bits.


On constate que :

S = ab
R = ab

Ce circuit additionneur est donc trs facile raliser avec un XOR et un AND :
a
b

S
R

2. Codeurs, dcodeurs, transcodeurs


2.1 Gnralits sur le codage
Le codage est une opration permettant de transmettre une information de la meilleure faon
possible :
la plus simple ;
la plus rapide ;
la plus scurise (confifentialit) ;
selon ce cas.
Chaque langue est par exemple un code permettant des hommes et des femmes de dialoguer et
dchanger des informations.
2.2 Dfinitions
2.2.1 Codeur
Un codeur fait correspondre lactivation dune entre particulire une combinaison de bits en
sortie (le circuit a donc une entre et N sortie).
Le codage de 2n combinaisons en entre ncessite n bits en sortie.
Exemple : panneau lumineux indicateur de trajet dans le mtro ; la slection dune destination
particulire entrane lallumage dune srie de lampes qui balise litinraire.
2.2.2 Dcodeur
Un dcodeur ralise la fonction inverse, il active une sortie particulire lorsquon lui prsente une
combinaison donne de bits en entre (le circuit a donc N entre et une sortie).
n bits en entre fournissent 2n combinaisons possibles en sortie.

Chp-7 Elments de logique combinatoire - Codage

page 69

DEUG Sciences et Technologie 1er semestre


Electronique et Instrumentation

Universit de Savoie

Exemple : clavier de porte automatique : le dverrouillage de la porte seffectue lorsquon prsente


au clavier la bonne combinaison.
2.2.3 Transcodeur
Un transcodeur est un circuit qui permet de passer dun code un autre (N entres et N sorties).
Exemple : lecteur de code barre : la combinaison des barres correspond une succession de
nombres dcimaux.
643021
2.3 Dcodeur
2.3.1 Exemple : dcodeur binaire 1 parmi 4.
Le numro de la sortie active correspond au nombre binaire de deux bits a, b prsent en
entre du circuit.
a

S0
S1
S2
S3

Dcodeur

Pour raliser un dcodeur, il suffit dcrire la table de vrit des diffrentes sorties du dcodeur.
Lexpression des sortie Si se dduit alors simplement de la table de vrit (Figure 7.14).
S 0 = ab

S0

S1

S2

S3

S1 = ab

S 2 = ab

S 3 = ab

Figure 7.14. Dcodeur 1 parmi 4.


2.3.2 Association de dcodeurs, dcodeur 1 parmi 2n
Lorsque le nombre dentres est grand, le dcodeur peut devenir complexe. En pratique, on utilise
souvent plusieurs dcodeurs plus petits (les circuits commerciaux sont forcment limits en taille
et complexit, et ils ne peuvent pas toujours rpondre exactement aux besoins spcifiques).
Exemple : dcodeur binaire 1 parmi 8 (3 bits) raliser avec des dcodeurs 1 parmi 4 (2 bits).
Si lon ajoute une porte la sortie dun dcodeur, on peut activer (valider) celui-ci ou bien forcer
ses sorties 0 quelles que soient les niveaux sur les entres. On appelle cette entre la validation.

Chp-7 Elments de logique combinatoire - Codage

page 70

DEUG Sciences et Technologie 1er semestre


Electronique et Instrumentation

Universit de Savoie

Si Val = 0 Si = 0 a,b
Si Val = 1 fonctionnement en dcodeur a
normal
S 0 = ab.Val
b

S0
S1
Dcodeur

S2

S1 = ab.Val

S3

S 2 = ab.Val

Val

S3 = ab.Val

Figure 7.15. Dcodeur avec entre de validation.


Le dcodeur incluant les portes de validation est appel dcodeur complet ou dcodeur avec
entr de validation.
Pour raliser le dcodeur 1 parmi 8, il suffit alors dutiliser deux dcodeurs 1 parmi 4 complets.
a

S0

S1

S2

S3

S4

S5

S6

S7

Figure 7.16. Table de vrit du dcodeur 1 parmi 8.


Les entres de validation sont utilises pour slectiionner un dcodeur parmi 2 laide de la
variable a comme le montre la figure 7.17.
a
b

a1
b1

Val1
a2
b2
Val2

S0
S1
S2
S3
S4
S5
S6
S7

Figure 7.17. Dcodeur 1 parmi 8 ralis avec deux dcodeurs 1 parmi 4.


Gnralisation : dcodeur 1 parmi 2n
On peut gnraliser le rsultat prcdent en fabriquant le signal Vali laide dun dcodeur.
Chp-7 Elments de logique combinatoire - Codage

page 71

DEUG Sciences et Technologie 1er semestre


Electronique et Instrumentation

Universit de Savoie

2.3.3 Codeur
v Synthse complte du codeur
Chacune des variables de sortie est ralise en fonction des combinaisons des variables dentre.
Un codeur n sorties aura au maximum 2 n entres. Pour envisager toutes les combinaisons des
n
variables dentre, il faudrait donc n tableaux de Karnaugh 2 2 cases.

Par exemple, 4 variables de sortie pour un codeur binaire permettent de coder 2 4 = 16 variables
dentre. Pour synthtiser chaque sortie il faudrait un tableau de Karnaugh 16 variables, soit
216 = 65536 cases (ou une table de vrit de 65536 lignes).
v Synthse simplifie du codeur
Pour un fonctionnement classique, il ne peut y avoir quune seule entre 1 la fois. On a donc
n
2 n combinaisons possibles des variables dentre au lieu de 2 2 .

Exemple : codeur BCD. BCD signifie Binary Coded Decimal soit Dcimal Cod en
Binaire . Dans ce code, les chiffres dcimaux (0 9) sont cods en binaire sur 4 bits.
On utilise une table de vrit condense qui utilise le fait quil ne peut y avoir quune seule entre
1 la fois (ceci revient placer des dans toutes les cases pour lesquelles il ny a quune seule
entre 1). La table de vrit condense est donne sur la figure 7.18.

E0
E1
E2
E3
E4
E5
E6
E7
E8
E9

a
b
c
d

entre 1

E0

E1

E2

E3

E4

E5

E6

E7

E8

E9

Figure 7.18. Table de vrit condense du codeur BCD.


On obtient aisment les expressions des variables de sortie a,b,c,d :
a = E8 + E9 ; b = E 4 + E5 + E6 + E7 ; c = E2 + E3 + E6 + E7 ; d = E1 + E3 + E5 + E7 + E9 .
La ralisation du codeur est donne sur la figure 7.19.

Chp-7 Elments de logique combinatoire - Codage

page 72

DEUG Sciences et Technologie 1er semestre


Electronique et Instrumentation

Universit de Savoie

E0

- - - - - - - - - - - - - E9
d

a
Figure 7.19. Codeur BCD.
Ce codeur est trs simple mais il prsente des inconvnients :
si deux entres sont actives simultanment la sortie peut prendre une valeur mal dfinie ;
la sortie code 0 si aucune entre nest active ( E0 nest pas connect).
Pour rpondre au premier inconvnient, on peut ajouter des contraintes la synthse simplifie.
Ceci donne lieu par exemple au codeur prioritaire. Dans ce codeur on remplace un certain
nombre de par des 0 ou des 1 en fonction de critres particuliers, comme par exemple la
priorit dune entre par rapport une autre.
2.3.4 transcodeur
Le transcodeur sert passer dun code un autre. On calcule chaque sortie Sj en fonction des
combinaisons des entres Ei (voir figure 7.20).
E0
E1
E2
E3
E4
E5

S0
S1

Trancodeur

S2
S3
Figure 7.20. Exemple de transcodeur.

Exemple 1 : transcodeur deux bits : binaire naturel code de Gray.


La table de vrit est donne sur la figure 7.21.
a
0
0
1
1

b
0
1
0
1

x
0
0
1
1

y
0
1
1
0

Figure 7.21. Table de vrit transcodeur 2 bits, binaire code de Gray.


Chp-7 Elments de logique combinatoire - Codage

page 73

DEUG Sciences et Technologie 1er semestre


Electronique et Instrumentation

Universit de Savoie

On dduit : x = a et y = ab + ab .
Exemple 2 : dcodeur BCD 7 segments.
Souvent on affiche les nombres sur des Diodes ElectroLuminescentes (DEL) 7 segments qui
forments le chiffre afficher (voir figure 7.22). Les sorties a g sexpriment alors en fonction des
entres A D (code BCD).
a
f
e

g
d

b
c
0

Figure 7.22. Afficheur 7 segments.

Chp-7 Elments de logique combinatoire - Codage

page 74