Vous êtes sur la page 1sur 187

Cours dlectronique

numrique
Camille Diou, Matre de Confrences
Laboratoire Interfaces Capteurs et Microlectronique
Universit Paul VerlaineMetz

Format A5 Version du 24 fvrier 2009

Notes sur cet ouvrage

Ce document est la date daujourdhui (24 fvrier 2009) toujours


en phase dcriture. Il est donc ncessairement incomplet et peut mme
encore comporter des erreurs qui nauraient pas t dtectes.
Ce document doit notamment senrichir lavenir des points suivants (dans le dsordre) :

+ la logique mixte
+ complter la simplification des fonctions logiques
+ mthode de Quine/McCluskey fait
+ ajout : mthode de Petrick
+ ajout : algorithme Espresso ( dtailler)
+ diagrammes de Venn, Johnston et Caroll
+ familles logiques et spcifications lectriques
+ tude des systmes programmables volus (en complment du
chapitre actuel)

+ synthse des systmes squentiels synchrones


+ machines dtats (Moore, Huffman, Mealey)
+ synthse des systmes squentiels asynchrones
+ arithmtique binaire et oprateurs arithmtiques
+ complter les exercices et corrigs

Notes sur cet ouvrage

m Ce document a t ralis laide des logiciels TEX et LATEX sous les environ-

nements TEXLive, TeTEX puis MiKTEX. Les diagrammes sont raliss laide de
XY-pic. Une partie des schmas lectronique est ralise laide du paquetage
CIRC .
m La police utilise pour le texte principal est Fourier.
m Les descriptions bibliographiques/hieoriques prsentes dans les enttes de
chapitres sont composes en DayRoman comportant les ligatures c t (c) et
s t (e).
m Quant l'extrait du texte de Blaife Pafcal en prambule du chapitre 2, il ee
galement compof dans la police DayRoman, mais dote notamment du s
long (f ) et des ligatures f s (). Les ligatures alternatives f f (g ) et H
(A) ne sont pas utilises dans ce document).
CIRC

20022009 C. Diou

Table des matires

Partie I : Les nombres


1

Les systmes de numration


1.1 La reprsentation polynomiale . . . . . . . . . . . . .
1.2 Le systme binaire . . . . . . . . . . . . . . . . . . . .
1.3 Le systme octal . . . . . . . . . . . . . . . . . . . . . .
1.4 Le systme hexadcimal . . . . . . . . . . . . . . . . .
1.5 Conversion dun systme de numration un autre .

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

Exercices sur les nombres


2

17

Codage des nombres dans les machines numriques


2.1 Reprsentation des nombres entiers positifs . . . . . .
2.2 Reprsentation binaire des entiers signs . . . . . . . .
2.3 Reprsentation des nombres rels dans un calculateur
2.4 Arithmtique binaire . . . . . . . . . . . . . . . . . . . .
2.5 En rsum . . . . . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

Exercices sur larithmtique binaire


3

11
11
12
13
13
14

19
20
20
22
28
32
35

Les codes numriques


3.1 Codes numriques pondrs . . . . . . . . . .
3.2 Codes numriques non pondrs . . . . . . .
3.3 Codes dtecteurs derreurs et autocorrecteurs
3.4 Les codes alphanumriques . . . . . . . . . . .

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

37
37
41
45
48

Exercices sur les codes

49

Partie II : La logique combinatoire

51

Algbre boolenne et oprateurs logiques


53
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

Table des matires

4.2
4.3
4.4
4.5
4.6
4.7

Proprits de lalgbre boolenne . . . . . . . .


Algbre binaire ou algbre de commutation . .
Thormes monovariables . . . . . . . . . . . .
Thormes multivariables . . . . . . . . . . . . .
Oprateurs logiques lmentaires et composs
Universalit des portes NON-ET et NON-OU . . .

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

55
56
57
58
63
67

Reprsentation et simplification des fonctions logiques


71
5.1 Mthodes de reprsentation des fonctions logiques . . . . . . . . . 71
5.2 Simplification dexpressions logiques . . . . . . . . . . . . . . . . . 77
5.3 Simplifications par mthodes algorithmiques . . . . . . . . . . . . 82

Les circuits combinatoires


91
6.1 Circuits logiques combinatoires usuels . . . . . . . . . . . . . . . . 91
6.2 Synthse des circuits combinatoires . . . . . . . . . . . . . . . . . . 99

Fonctions et oprateurs arithmtiques

105

Exercices sur les systmes combinatoires

107

Partie III : Les circuits squentiels

109

Les bascules
8.1 Introduction . . . . . . . . . . . . . . . . . . . .
8.2 Point mmoire . . . . . . . . . . . . . . . . . . .
8.3 Bascule RS . . . . . . . . . . . . . . . . . . . . .
8.4 Bascule RS synchrone ou bascule RSH . . . .
8.5 Bascule verrouillage (D-latch) . . . . . . . . .
8.6 Bascules matre-esclave . . . . . . . . . . . . .
8.7 Bascule JK . . . . . . . . . . . . . . . . . . . . .
8.8 Bascule D synchrone . . . . . . . . . . . . . . .
8.9 Bascule T . . . . . . . . . . . . . . . . . . . . . .
8.10 Entres prioritaires asynchrones des bascules
8.11 Paramtres temporels des bascules . . . . . .
8.12 Applications des bascules . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

111
111
113
114
117
118
119
119
121
122
123
124
125

Registres : stockage et transfert de donnes


129
9.1 Dfinition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
9.2 Registre de mmorisation : criture et lecture parallles . . . . . . 130
9.3 Registres dcalage . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

20022009 C. Diou

Table des matires

9.4 Registre universel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132


10 Les compteurs
133
10.1 Compteur asynchrone ( propagation) . . . . . . . . . . . . . . . . 134
10.2 Compteur synchrone (parallle) . . . . . . . . . . . . . . . . . . . . 139
10.3 Rsum sur les mthodes de conception des compteurs . . . . . . 143
11 Mthodes dtude des circuits squentiels

147

Partie IV : Architecture des ordinateurs

149

12 Concepts de base des processeurs

151

Partie V : Technologie des portes logiques


13 Famille des circuits logiques
13.1 Caractristiques dune famille de circuits numriques
13.2 volution des diffrentes familles logiques . . . . . . .
13.3 Prsentation des diffrentes familles logiques . . . . .
13.4 Implantation des oprateurs en technologie CMOS . .

153
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

Partie VI : Annexes
A

Examen sur les systmes de numration sumrien et babylonien


A.1 Numration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.2 Arithmtique . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.3 Conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.4 Comptage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.5 Codage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.

155
156
157
158
171

173
.
.
.
.
.

.
.
.
.
.

175
175
177
177
179
181

B Correction des exercices

183

Index

185

Bibliographie

187

20022009 C. Diou

Premire partie

Les nombres

Chapitre 1 n

Les systmes de numration


Gottfried Wilhelm von Leibnitz
? jui. 1646, Allemagne
1716

Ce philosophe d'origine Allemande ee l'inventeur d'une machine permerant de calculer


direcement les 4 oprations de base. Il ee aussi celui qui a introduit la notion de binaire
en Occident.

1.1 La reprsentation polynomiale


Si nous manipulons les nombres de manire intuitive, cest la plupart du temps
dans la base dcimale, naturelle et universelle. Mais cela ne doit pas masquer
la nature mme de la numration qui peut prendre plusieurs formes, parmi
lesquelles on trouve la thorie des ensembles et la reprsentation polynomiale.
La reprsentation polynomiale dun nombre est sa reprsentation sous la
forme suivante, o b est appele la base :
a n1 b n1 + a n2 b n2 + + a 2 b 2 + a 1 b + a 0 + a 1 b 1 + a 2 b 2 + + a m b m
Si la base 10 nous est familire, dautres bases existent et les bases les
plus utilises en informatique sont les bases 10, 2, 8 et 16 appeles respectivement dcimale , binaire , octale et hexadcimale .

Remarque 1.1
Toute base scrit 10 (un-zro) dans son propre systme de numrotation
Un dcalage gauche multiplie un nombre par sa base
Un dcalage droite divise un nombre par sa base

11

Chapitre 1 :

Les systmes de numration

1.2 Le systme binaire


1.2.1 Introduction
Le systme dcimal est malheureusement difficile adapter aux mcanismes
numriques, car il est difficile de concevoir du matriel lectronique fonctionnant sur dix plages de tensions diffrentes.
On lui prfrera donc le systme binaire :
base B=2 ;
2 symboles : {0, 1} appels lments binaires ou bits (bit=Binary digIT ) ;
le systme binaire est pondr par 2 : les poids sont des puissances de 2 ;

B Exemple 1.1
26
1

25
0

24
1

23
1

22
0

21
0

20
1

21
0

23
1

23
1

les diffrentes puissances de 2 sont :


20 2 1 22 2 3 2 4 2 5 2 6 2 7
28
29
210
1
2
4
8 16 32 64 128 256 512 1024
un ensemble de 8 bits est appel octet (ou byte).

1.2.2 Comptage binaire


On prsente les nombres binaires en gnral avec un nombre fixe de bits,
nombre impos par les circuits mmoires utiliss pour reprsenter ces nombres.
Suite des nombres binaires 4 bits :
Poids :

12

23
0
0
0
0
0
0
0
0
1
1

22
0
0
0
0
1
1
1
1
0
0

21
0
0
1
1
0
0
1
1
0
0

20
0
1
0
1
0
1
0
1
0
1

B10
0
1
2
3
4
5
6
7
8
9

20022009 C. Diou

1.3. Le systme octal

1
1
1
1
1
1

0
0
1
1
1
1

1
1
0
0
1
1

0
1
0
1
0
1

10
11
12
13
14
15

Le bit le plus significatif le bit le plus gauche est appel bit de poids fort
ou MSB (Most Significant Bit). Le bit le moins significatif le bit le plus droite
est appel bit de poids faible ou LSB (Less Significant Bit).
Si on utilise N bits, on peut reprsenter 2N valeurs diffrentes de 20 2N 1

B Exemple 1.2
N = 8 : 00000000 11111111 255

Remarque 1.2
Comme lon traite souvent en micro-informatique de nombres 8 ou 16 lments binaires (e.b.), on se sert des systmes :
octal : base 8 ;
hexadcimal : base 16.

1.3 Le systme octal


base B=8 ;
8 symboles : {0, 1, 2, 3, 4, 5, 6, 7} ;
Lintrt de ce systme est que la base 8 est une puissance de 2 (8 = 23 ), donc les
poids sont aussi des puissances de 2. Chaque symbole de la base 8 est exprim
sur 3 lments binaires : (a i )8 = b i 2 b i 1 b i 0

B Exemple 1.3

(52, 3)8 = 101 010, 011

1.4 Le systme hexadcimal


base B=16 ;
15 symboles : {0, 1, 2, . . . , 9, A, B,C , D, E , F } appels digits ;
chaque symbole est exprim en binaire sur 4 bits ;

B Exemple 1.4
(F 3D, 2)16 = 1111 0111 1101, 0010

20022009 C. Diou

13

Chapitre 1 :

Les systmes de numration

1.5 Conversion dun systme de numration un


autre
1.5.1 Base B vers base 10
0
(a n . . . a 0 )B = a n B n + + a 0 B 0 = (a m
. . . a 00 )10

B Exemple 1.5

(1001, 1)2 = 1.23 + 0.22 + 0.21 + 1.20 + 1.21 = 8 + 0 + 0 + 1 + 0, 5 = 9, 5


(A12)16 = A.162 + 1.161 + 2.160 = 2560 + 16 + 2 = 2578

1.5.2 Base 10 vers base B


1.5.2.a Premire mthode, dite soustractions successives
Elle consiste soustraire successivement la plus grande puissance de B .

B Exemple 1.6
100
36
4

=
=
=

1.26
1.25
1.22

+
+
+

36
4
(100)10 = (1100100)2

1.5.2.b Deuxime mthode, division par B


Elle consiste diviser par B autant de fois que cela est ncessaire pour obtenir
un quotient nul. Ensuite on crit les restes dans lordre inverse de celui dans
lequel ils ont t obtenus.
Pour la partie fractionnaire on multiplie par B jusqu obtenir un rsultat nul
ou la prcision souhaite.

B Exemple 1.7
(20, 4)10 = (?)2
Partie entire :
20
0

14

2
10
0

2
5
1

2
2
0

2
1
1

2
0

20022009 C. Diou

1.5. Conversion dun systme de numration un autre

Partie fractionnaire :

0, 4
2
0, 8

0, 8
2
1, 6

0, 6
2
1, 2

Le rsultat est donc 10100,0110.

1.5.3 Base 2n vers base 2


Chaque symbole de la base B = 2n peut tre reprsent par n lments binaires.

B Exemple 1.8
(3A9)16 = (0011 1010 1001)2
(742, 5)8 = (111 100 010, 101)2

1.5.4 Base 2 vers base 2n


Il suffit de regrouper les lments binaires par paquets de n.

B Exemple 1.9
(1011011)2

(|{z}
001 |{z}
011 |{z}
011 )2

(133)8

(0101
| {z } 1011
| {z })2

(5B )16

1.5.5 Base i vers base j


si i et j sont des puissances de 2, on utilise la base 2 comme relais ;

B Exemple 1.10
base 8 base 2 base 16

sinon, on utilise la base 10 comme relais.

B Exemple 1.11
base 5 base 10 base 2

20022009 C. Diou

15

Les nombres

B
Exercice 1.1
Convertir en binaire, octal et hexadcimal les nombres dcimaux suivants :
43 ; 154 ; 25740

B
Exercice 1.2
Convertir en dcimal et hexadcimal les nombres suivants :
(1101110)2 ; (75)8 ; (587)8

B
Exercice 1.3
Convertir en binaire et hexadcimal les nombres suivants :
(166, 25)10 ; (126, 34)8 ; (231, 1)4

B
Exercice 1.4
Convertir en binaire le nombre dcimal suivant : 24537

B
Exercice 1.5
Convertir en dcimal les nombres suivants :
(D9, 4)H ; (576)8

17

2.2. Reprsentation binaire des entiers signs

2.2.2 Reprsentation en complment restreint (CR) ou


complment 1 (C1)
A = A : pour prendre linverse dun nombre, il suffit de le complmenter (inversion de tous ses bits). Comme dans le cas prcdent, la nature du premier
bit donnera le signe : 0 + et 1 .

B Exemple 2.3

avec 4 bits :

+5
5

0101
1010

Problme : de nouveau, on a deux reprsentations diffrentes pour le zro.

2.2.3 Reprsentation en complment vrai (CV) ou complment


2 (C2)
Cest la reprsentation la plus utilise. Le bit le plus gauche est encore le bit
de signe : 0 + et 1 .
A

A +1

a n1 a n2 a 0 1

A+A

11 ... 1

1+ A + A

10
. . . 0} 2
| 0{z
0

A = A + 1 est appel complment 2


Remarque

2.1

pour passer dune valeur ngative une valeur positive, on applique aussi le
complment 2 ;
une seule reprsentation pour le zro ;
avec des mots de n lments binaires, on obtient 2n valeurs diffrentes, de 0
2n1 1 pour les valeurs positives, et de 1 2n1 pour les valeurs ngatives ;

B Exemple 2.4
n=8

nb > 0 de 0 127
nb < 0 de 1 128

1. on complmente chaque coefficient


2. car on reprsente sur n bits seulement

20022009 C. Diou

21

Chapitre 2 :

Codage des nombres dans les machines numriques

nb 0 bit de signe = 0 nb < 0 bit de signe = 1


pour reprsenter un nombre positif sur une mmoire de taille donne, on complte les cases vides de gauche par des 0 ; pour reprsenter un nombre ngatif
sur une mmoire de taille donne, on complte les cases vides de gauche par
des 1 ;

B Exemple 2.5
+13 sur 8 bits : 00001101, 13 sur 8 bits : 11110011

Remarque

2.2

La reprsentation en complment vrai est en fait une criture polynomiale (donc


pondre) du nombre, de mme que le code binaire naturel, ceci prs que le bit
de poids fort un poids ngatif ( cf. 3.1.2 page 38) :
a n1 b n1 + a n2 b n2 + + a 2 b 2 + a 1 b + a 0 + a 1 b 1 + a 2 b 2 + + a m b m

2.2.4 Reprsentation en code relatif 2n1


Les nombres x sont reprsents par 2n1 + x.
On constate ici que le bit de signe est invers par rapport aux reprsentations
prcdentes : ce code est en fait identique au codage en complment 2 avec
le bit de signe complment.
On calcul linverse dun nombre en relatif 2n1 comme en complment 2
en complmentant le nombre puis en ajoutant 1.

2.3 Reprsentation des nombres rels dans un calculateur


Dans un calculateur, un nombre est toujours crit sous forme dun bloc de
n lments binaires (considr comme un entier N ). Pour reprsenter les
nombres fractionnaires il est ncessaire de dfinir la position de la virgule. Pour
ce faire, il existe deux mthodes :
la reprsentation en virgule fixe ;
la reprsentation en virgule flottante.

22

20022009 C. Diou

2.3. Reprsentation des nombres rels dans un calculateur

2.3.1 La reprsentation en virgule fixe


On dcide que la virgule est toujours une position donne (un entier peut tre
reprsentatif dun nombre fractionnaire si on connat la place de la virgule).

B Exemple 2.6
Virgule au rang K (K chiffres aprs la virgule) :
La valeur N crite en mmoire aura les poids suivants :
N = 2N 1K 20 21 2K

0 N (2n 1)2K

Virgule au rang 0 :
N = 2N 1 20

0 N 2N 1

Inconvnient de la mthode :
problme de gestion de la virgule notamment dans les multiplications (pour
les additions et soustractions pas de problme, la position de la virgule ne
change pas) ;

B Exemple 2.7
Si on dcide de dfinir 2 symboles pour les parties entires et 2 symboles pour
les parties fractionnaires, on ne peut plus crire 256, 1.

utilisation limite lorsquon traite des donnes de grandeurs diffrentes, car


on doit prendre un grand nombre de bits de part et dautre de la virgule pour
pouvoir reprsenter des grandeurs trs faibles et des grandeurs trs importantes.

2.3.2 La reprsentation en virgule flottante simplifie


2.3.2.a Introduction [WebMul]
Il arrive dans de nombreux domaines que lintervalle des valeurs numriques
pertinentes soit particulirement tendu. Lastronomie en est un exemple
extrme puisque certains calculs peuvent faire intervenir simultanment la
masse du soleil (2.1030 kg) et la masse de llectron (9.1031 kg). Ces deux
nombres diffrent de plus de 60 ordres de grandeur (1060 ) !
Des calculs faisant intervenir ces nombres pourraient seffectuer en prcision
multiple, avec par exemple des nombres de 62 chiffres. Tous les oprandes et
tous les rsultats seraient reprsents par des nombres de 62 chiffres. Cependant, la masse du soleil nest connue quavec une prcision de 5 chiffres, et il ny
a en physique pratiquement aucune mesure que lon puisse raliser avec une
prcision de 62 chiffres. Une solution serait alors deffectuer les calculs avec

20022009 C. Diou

23

Chapitre 2 :

Codage des nombres dans les machines numriques

une prcision de 62 chiffres et de laisser tomber 50 ou 60 dentre eux avant


dannoncer les rsultats, mais ceci est coteux la fois en espace mmoire et
en temps de calcul.
En fait, ce quil faut est un systme permettant de reprsenter des nombres, tel
que la taille de lintervalle des nombres "exprimables" soit indpendante du
nombre de chiffres significatifs.
2.3.2.b Principe de la reprsentation en virgule flottante
Le nombre N est reprsent sous la forme :
exposant
mantisse
1re approche :
Soit N = a 3 a 2 a 1 a 0 , a 1 a 2 a 3 : N peut se noter :
(a 6 a 5 a 4 a 3 a 2 a 1 a 0 ). |{z}
23
|
{z
}
exp

mantisse

exposant = 3

mantisse = a 6 a 5 a 4 a 3 a 2 a 1 a 0
Les valeurs de la mantisse et lexposant seront notes en complment 2 en
mmoire du calculateur

B Exemple 2.8
Soit la mmoire de taille suivante :
4 bits
12 bits
exposant
mantisse
Coder la valeur 26, 75 en virgule flottante.
(26, 75)10 = (11010, 110)2
(11010, 11)2 = (11010110).23

exposant = 3

mantisse = 11010110
1101 0000011010110
| {z }|
{z
}

exp=3

mantisse=214

26, 75 = 214.23

2me approche :
Cest la mthode inverse de la prcdente : on considre que le bit le plus
gauche de la mantisse a pour poids 21 .

24

20022009 C. Diou

2.3. Reprsentation des nombres rels dans un calculateur

Soit : N = a 3 a 2 a 1 a 0 , a 1 a 2 a 3
N peut aussi se noter (0, a 1 a 2 a 3 a 4 a 5 a 6 a 7 ). |{z}
24
|
{z
}
mantisse

exp

B Exemple 2.9
Mme exemple que prcdemment :
(26, 75)10 = (11010, 110)2 (0, 11010110).25
0101

Remarque

110101100000

2.3

Les ordinateurs utilisent cette reprsentation avec 32 bits pour la mantisse et 8


bits pour lexposant. En gnral, on utilise la reprsentation inverse, avec le bit
le plus gauche gal 1, soit une mantisse normalise 0, 5 M < 1

2.3.3 La reprsentation IEEE 754


2.3.3.a Prsentation [WebMul]
Le standard IEEE 754 dfinit trois formats : les nombres en simple prcision
sur 32 bits, les nombres en double prcision sur 64 bits, et les nombres en reprsentation intermdiaire sur 80 bits. La reprsentation sur 80 bits est principalement utilise en interne par les processeurs pour minimiser les erreurs
darrondi.
Un nombre N de 32 bits est reprsent sous la forme :
s exposant
mantisse
o le signe s est cod sur 1 bit, lexposant est cod sur 8 bits en code relatif
127 (cf. 2.2.4 page 22), et la mantisse sur 23 bits.
Un nombre de 64 bits (double prcision) utilise la mme reprsentation ceci
prs que la taille de lexposant est porte 11 bits en code relatif 1023, et celle
de la mantisse 52 bits.
Une mantisse normalise commence toujours par un bit 1, suivi par la virgule,
puis par le reste de la mantisse. Le bit initial, toujours prsent et toujours 1
dans une mantisse normalise est implicite et non reprsent. La valeur de la
mantisse est appele significande ; le significande a donc une valeur implicite 1 x < 2.

B Exemple 2.10
1 = 20 (1 + 0)

20022009 C. Diou

25

Chapitre 2 :

Codage des nombres dans les machines numriques

Le bit de signe sera 0, lexposant, en code relatif 127 sera reprsent par 127 =
01111111, et le significande vaut 1, ce qui rsulte en une mantisse dont tous les bits
sont 0. La reprsentation IEEE simple precision IEEE 754 du nombre 1 est donc :
Code(1) = 0 01111111 0000...0 = 3F 800000
s
e
m
0.5 = 21 (1 + 0)
Le bit de signe est 0, lexposant, en code relatif 127 est reprsent par 127 1 =
01111110, et le significande vaut 1, ce qui rsulte en une mantisse dont tous les bits
sont 0. La reprsentation IEEE simple prcision IEEE 754 du nombre 0, 5 est donc :
Code(0, 5) = 0 01111110 0000...0 = 3F 000000
s
e
m
1.5 = 20 (1 + 21 )
Le bit de signe est 0, lexposant, en code relatif 127 est reprsent par 127 =
01111111, et le significande vaut 1, 1, ce qui rsulte en une mantisse dont le premier
bit est 1 et les 22 suivants 0. La reprsentation IEEE simple precision IEEE 754 du
nombre 1, 5 est donc :
Code(1, 5) = 0 01111111 1000...0 = 3FC 00000
s
e
m

2.3.3.b Nombres spciaux


En arithmtique virgule flottante on peut obtenir un rsultat valable, ou
alors rencontrer un problme de dpassement par valeur suprieure (overflow)
lorsque le rsultat est trop grand pour pouvoir tre reprsent, ou par valeur
infrieure (underflow) lorsque le rsultat est trop petit.
Dpassement par valeur infrieure
Cette situation arrive lorsquun rsultat est trop petit pour pouvoir tre reprsent. Le standard IEEE 754 rsout partiellement le problme en autorisant
dans ce cas une reprsentation dnormalise. Une reprsentation dnormalise est caractrise par le fait davoir un code dexposant compltement nul,
ce qui est interprt comme une indication du fait que le bit de poids fort de
la mantisse, implicite, est cette fois 0 au lieu dtre 1. De cette faon, le plus
petit nombre exprimable est : 2127 223 = 2150 1045 .
Cependant, il faut remarquer que plus le nombre reprsent est petit, moins
sa mantisse comportera de bits significatifs. Ce schma permet une approche
douce du phnomne de dpassement par valeur infrieure, en sacrifiant
la prcision lorsquun rsultat est trop petit pour admettre une reprsentation
normalise.
Zro

26

20022009 C. Diou

2.3. Reprsentation des nombres rels dans un calculateur

Zro est reprsent sous la forme dun nombre dnormalis. Ceci rsulte en
deux reprsentations possibles pour zro : lune pour +0, lautre pour 0. Ces
reprsentations sont caractrises par un bit de signe suivi par 31 zros.
Dpassement par valeurs suprieures
Le dpassement par valeurs suprieures ne peut pas tre trait comme le dpassement par valeurs infrieures, et est indiqu par un code dexposant dont
tous les bits sont 1, suivi par une mantisse dont tous les bits sont 0. Ceci est
interprt comme reprsentant linfini. Linfini peut tre positif ou ngatif, en
fonction de la valeur du bit de signe. Linfini peut tre utilis dans les calculs et
les rsultats correspondent au sens commun : + = ; x/ = 0 ; x/0 = .
Not a Number (NaN)
Cependant, certaines oprations peuvent ne conduire aucun rsultat exprimable, comme / =? ou 0 =?.
Le rsultat de telles opration est alors indiqu par un autre code spcial :
le code dexposant a tous les bits 1, suivi par une mantisse non nulle. Le
nombre correspondant est appel NaN (Not a Number) : cest un nonnombre.
2.3.3.c Rsum
Nombre
nombre normalis
nombre dnormalis
zro

NaN
IEEE 754
exposant
mantisse
+ pt # normalis
+ gd # normalis
intervalle utile
+ pt # dnormalis

20022009 C. Diou

Signe
0/1
0/1
0/1
0/1
0/1

Exposant
01 FE
00
00
FF
FF

Simple prcision
126 +127
1 2 223
2126
presque 2128
1038 1038
2150 1045

Mantisse
quelconque
quelconque
0
0
tout sauf 0

Double prcision
1022 +1023
1 2 252
21022
presque 21024
10308 10308
21074 10324

27

Chapitre 2 :

Codage des nombres dans les machines numriques

2.4 Arithmtique binaire


2.4.1 Addition
Laddition en binaire se fait avec les mmes rgles quen dcimal : on commence par additionner les bits de poids faibles ; on a des retenues lorsque la
somme de deux bits de mme poids dpasse la valeur de lunit la plus grande
(dans le cas du binaire : 1) ; cette retenue est reporte sur le bit de poids plus
fort suivant.
La table daddition binaire est la suivante :
A
0
0
1
1

+
+
+
+

B
0
1
0
1

=
=
=
=

C
0
1
1
0

retenue
0
0
0
1

(carry)

B Exemple 2.11
Addition des nombres de 4 bits :
0 0 1 1
+3
+ 6
+ 1 0 1 0
= 1 1 0 1
= 3
0 1 1 1 , 1 1
7, 75
+ 0 1 0 1 , 0 1
+
5, 25
= 1 1 0 1 , 0 0
= 3, 00
La retenue de la deuxime opration indique un dpassement de capacit (overflow) : le bit de signe est 1 alors quil aurait d tre 0 (addition de deux
nombres positifs).

Conditions de dpassement lors de laddition de deux nombres A et B de 16


bits :

28

20022009 C. Diou

2.4. Arithmtique binaire

a 15

b 15

r 15

0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

oprandes
a >0
a >0
a >0
a >0
a <0
a <0
a <0
a <0

b>0
b>0
b<0
b<0
b>0
b>0
b<0
b<0

rsultat
r
r
r
r
r
r
r
r

>0
<0
>0
<0
>0
<0
>0
<0

0
0
1
0
1
0
1
1

non
oui
non
non
non
non
oui
non

R : retenue ; D : dpassement
Ce tableau nous permet de dterminer la condition de dpassement (OF : overflow flag) : OF = a 15 .b 15 .r 15 + a 15 .b 15 .r 15 .
si OF est 0, le bit de poids fort (r 15 ) donne le signe du rsultat dont la valeur
est disponible sur les 15 bits de poids faibles.
si OF est 1, lindicateur de retenue (C) donne le signe du rsultat qui est
lui-mme sur 16 bits. Dans ce dernier cas, le bit de poids fort ne donne pas
le signe du rsultat !

2.4.2 Soustraction
Dans la soustraction binaire, on procde comme en dcimal. Quand la quantit soustraire est suprieure la quantit dont on soustrait, on emprunte 1
au voisin de gauche. En binaire, ce 1 ajoute 2 la quantit dont on soustrait,
tandis quen dcimal il ajoute 10.
La table de soustraction binaire est la suivante :
A
0
0
1
1

B
0
1
0
1

=
=
=
=

C
0
1
1
0

retenue
0
1
0
0

(borrow)

B Exemple 2.12
Soient les nombres non signs reprsents en virgule fixe suivants :

1
0
0

20022009 C. Diou

0
1
0

1
1
1

,
,
,

0
1
1

5
3, 5
1, 5

29

Chapitre 2 :

Codage des nombres dans les machines numriques

Soient les nombres entiers signs suivants :

Remarque

0
0
1

0
1
0

0
1
1

1
0
1

1
0
1

3
12
-9

2.4

On peut utiliser le complment 2 de la valeur soustraire puis on additionne.


Dans ce cas, il faut complmenter la retenue ( carry) pour obtenir la retenue
soustractive ( borrow). Cela se passe de cette manire dans certains calculateurs.

B Exemple 2.13
72 :
7=
2=
2 =

0
0
1

0
0
1

1
0
1

1
1
1

1
0
0

0
1
0

0
1
0

1
1
1

1
1
0

1
0
1

On ne tient pas compte de la retenue.

2.4.3 Multiplication
La table de multiplication en binaire est trs simple :
A
0
0
1
1

B
0
1
0
1

=
=
=
=

C
0
0
0
1

La multiplication se fait en formant un produit partiel pour chaque chiffre du


multiplieur (seul les bits non nuls donneront un rsultat non nul). Lorsque le
bit du multiplieur est nul, le produit partiel est nul, lorsquil vaut un, le produit

30

20022009 C. Diou

2.4. Arithmtique binaire

partiel est constitu du multiplicande dcal du nombre de positions gal au


poids du bit du multiplieur.

B Exemple 2.14
0
0
0
1
0
1

0
=

Remarque

0
0
0

1
0
0
0
0
0

0
1
0
1
=
1

1
0
0
=
=
0

multiplicande
multiplieur

5
2

10

2.5

La multiplication binaire par 2N , se rsume un dcalage de N bits vers la


gauche. On introduira donc droite N zro.

B Exemple 2.15
8 4 sur 8 bits :
0

= 0

0 0

16 4 sur 8 bits :
1

= 1

0 0

2.4.4 Division
La table de division binaire est la suivante :
A
0
0
1
1

B
0
1
0
1

=
=
=
=

C
impossible
0
impossible
1

La division binaire seffectue laide de soustractions et de dcalages, comme


la division dcimale, sauf que les chiffres du quotient ne peuvent tre que 1 ou
0. Le bit du quotient est 1 si on peut soustraire le diviseur, sinon il est 0.

B Exemple 2.16
Division du nombre (10010000111)2 par (1011)2 = (1101001)2 reste (100)2 ,

20022009 C. Diou

31

Chapitre 2 :

Codage des nombres dans les machines numriques

cest--dire 1159/11 = 105, reste 4.


1

Remarque

0
1
0

0
0
1
1
0

1
1
1
0
0

0
1
1
1
1
1
0

0
1
1
0
0

0
1
0

0
1
1
1
0

1
0
1

1
1
0

1
0

0
1

1
1

1
0

1
1
0

2.6

La division binaire par 2N , se rsume un dcalage de N bits vers la droite. En


arithmtique signe, il faut penser recopier gauche le bit de signe autant de
fois que ncessaire.

B Exemple 2.17
8/4 sur 8 bits :
0

= 0 0

0
0

1
0

0
0

0
0

0
0

16/4 sur 8 bits :


1

= 1 1

1
1

0
1

0
1

0
1

0
1

2.5 En rsum
La valeur dun nombre est indpendante de la base dans laquelle il est not.
Un nombre binaire peut avoir plusieurs valeurs diffrentes selon le systme
de reprsentation. Soit le nombre binaire a n a n1 . . . a 1 a 0 . Ce nombre vaut :

+ an .2n + an1 .2n1 + . . . + a1 .2 + a0


en reprsentation non signe

+ an .2n + an1 .2n1 + . . . + a1 .2 + a0


en reprsentation signe complment 2

+ 1 an .2n + an1 .2n1 + . . . + a1 .2 + a0


en reprsentation signe complment 1

+ 1an (an1 .2n1 + . . . + a1 .2 + a0 )

32

20022009 C. Diou

2.5. En rsum

en reprsentation module et signe


Les oprations arithmtiques obissent en binaire aux mmes rgles quen
dcimal, il suffit juste de se rappeler que la base de numration est 2 et non
plus 10.

20022009 C. Diou

33

L'arithmtique binaire

B
Exercice 2.1
Que peuvent reprsenter les octets suivants ?
01111001 ; 10100100 ; 01101010 ; 10010111

B
Exercice 2.2
On effectue les oprations suivantes sur des octets signs (reprsentation en
complment 2). Donner les rsultats en discutant leur validit. Vrifier en
prenant les quivalents dcimaux.
5F + 6D ; E 8 +C 7 ; 9A 17 ; 5B C 4 ; A4 62

B
Exercice 2.3
Une mmoire contient des octets stocks entre les adresses (9400)H et (B 3F F )H .
Combien doctets contient-elle ? Quelle est la capacit totale en kbits ?

B
Exercice 2.4
Une mmoire contient 2 kilo-octets stocks partir de ladresse (700)H . Quelle
est la dernire adresse ?

35

Chapitre 3 n

Les codes numriques


Richard Wesley Hamming
? 11 fv. 1915 Chicago, E.-U.
7 jan. 1998 Monterey, E.-U.

Indeed, one of my major complaints about the computer Feld is that whereas Newton
could say, If I have seen a lirle farther than others, it is because I have eood on the shoulders
of giants, I am forced to say, Today we eand on each other's feet. Perhaps the central
problem we face in all of computer science is how we are to get to the situation where we
build on top of the work of others rather than redoing so much of it in a trivially diverent
way. Science is supposed to be cumulative, not almoe endless duplication of the same kind
of things.
(Richard W. Hamming,
One Man's View of Computer Science, 1968, Turing Award Lecure)

Codage : opration qui tablit une correspondance entre un ensemble source


(nombre, caractre, symbole) vers un ensemble destination contenant des
combinaisons de 0 et de 1.

3.1 Codes numriques pondrs


3.1.1 Code binaire pur
Le code binaire pur est un code pondr par des puissances de 2, utilis en
arithmtique binaire. Ses drives sont le code octal et le code hexadcimal.

B Exemple 3.1
01100101 = 26 + 25 + 22 + 20 = 64 + 32 + 4 + 1 = (101)10

37

Chapitre 3 :

Les codes numriques

3.1.2 Code binaire en complment vrai (Complment 2)


Tout comme le code binaire pur, cest un code pondr par des puissances de
2 dont le bit de poids fort a un poids ngatif. Cest le code le plus utilis en
arithmtique binaire.

B Exemple 3.2
10011011 = 27 + 24 + 23 + 21 + 20 = 128 + 16 + 8 + 2 + 1 = (101)10

3.1.3 Code DCB (dcimal cod binaire)


Dans le code DCB, chaque chiffre dcimal (0, 1, . . . , 9) est cod en binaire avec 4
lments binaires. Cest un code pondr avec les poids 1, 2, 4, 8, 10, 20, 40, 80, 100, . . .
Plus facile pour coder des grands nombre, il est surtout utilis pour laffichage
des nombres.
Remarque

3.1

Il ne faut pas confondre le code DCB et le code binaire pur : quand on code selon
le code binaire pur on prend le nombre dans son intgralit et on le convertit ;
par contre, quand on code en DCB on code chaque chiffre indpendamment les
uns des autres.

B Exemple 3.3
(137)10

=
=

(010001001)2
(000100110111)DCB

Comme tous les systmes de codage pondrs, il est possible dappliquer des
oprations arithmtiques aux nombres cods en DCB. Larithmtique DCB est
en fait une arithmtique modulo 6.
3.1.3.a Addition en DCB
Laddition de deux nombres cods en DCB ne pose pas de problme tant que
le rsultat est infrieur ou gal 9 :
0000 0010
02
+ 0000 0101
+ 05
0000 0111
07
Par contre, ds que le rsultat est suprieur 9, il faut apporter une correction
en additionnant 6, de manire obtenir une rponse valide. Ceci est d au fait
que lon reprsente un nombre modulo 10 avec un code modulo 16 : 1610 = 6.

38

20022009 C. Diou

3.1. Codes numriques pondrs

0000 0110
06
+ 0000 0100
+ 04
= 0000 1010
= 0?
erreur !
+ 0000 0110
+ 06
= 0001 0000
= 10
La correction est ici vidente, puisque la valeur obtenue est invalide en codage
DCB. Lexemple suivant est moins vident :
0000 1001
09
+ 0000 1000
+ 08
= 0001 0001
= 11
erreur !
+ 0000 0110
+ 06
= 0001 0111
= 17
Dans ce dernier exemple, la correction est due au fait quil a eu dbordement
sur les 4 bits de poids faible du mot DCB : il faut donc apporter une correction
sur ces 4 bits de poids faible.

B
Note 3.1
 lorsque le rsultat de l'addition DCB est infrieur 9, on ne change pas
le rsultat ;
 lorsque le rsultat de l'addition DCB est suprieur 9, on ajoute 6 au
rsultat pour obtenir la valeur exacte ;
 lorsqu'il y a une retenue auxiliaire (ou dcimale) ( auxiliary ou decimal
carry), on ajoute galement 6 au rsultat obtenu, mme si la valeur est
infrieure 9.
Les proprits nonces ci-dessus pour les chiffres des units sont videmment valables pour les dizaines, les centaines, etc. La correction apporter sera
alors selon les circonstances +6, +60, +66, etc.

20022009 C. Diou

39

Les codes numriques

Chapitre 3 :

3.1.3.b Soustraction en DCB


La soustraction en DCB se comporte exactement comme laddition, au signe
prs.

B
Note 3.2
 lorsque le rsultat de la soustraction DCB est infrieur 9, on ne change
pas le rsultat ;
 lorsque le rsultat de la soustraction DCB est suprieur 9, on soustrait
6 au rsultat pour obtenir la valeur exacte ;
 lorsqu'il y a une retenue soustractive ( borrow), on soustrait galement
6 au rsultat obtenu, mme si la valeur est infrieure 9.

3.1.4 Code binaire de Aiken


Pondr par 2421, le code Aiken est un code autocomplmentaire (les reprsentations de 2 chiffres dont la somme est 9 sont complmentaires lune de
lautre.
Il peut tre constitu par les rgles suivantes :
de 0 4 on code en binaire pur ;
de 5 9 on ajoute 6 et on code en binaire pur. (c..d. 5 5+6 = 11, 6 6+6 =
12, . . .)

B Exemple 3.4
dcimal
0
1
2
3
4

2
0
0
0
0
0

Aiken
4 2
0 0
0 0
0 1
0 1
1 0

dcimal
1
0
1
0
1
0

5
6
7
8
9

2
1
1
1
1
1

Aiken
4 2
0 1
1 0
1 0
1 1
1 1

1
1
0
1
0
1

Application pratique 3.1 : Arithmtique


Ce code est utilis dans certains calculateurs pour effectuer des soustractions
par additions de la forme complmentaire.

40

20022009 C. Diou

3.2. Codes numriques non pondrs

3.2 Codes numriques non pondrs


3.2.1 Code major de trois (excdant de neuf)
Le code major de trois consiste prendre chaque chiffre dcimal, lui additionner 3, puis convertir le rsultat obtenu en binaire. On a parfois recours
ce code en raison de la facilit avec laquelle on peut faire certains calculs arithmtiques. La valeur dun mot en code major de trois est en fait gale au code
DCB auquel on a ajout 3.

B Exemple 3.5
(48)10

4
+3
7

0111

8
+3
11

1011

3.2.2 Code de Gray (binaire rflchi)


Le code Gray, ou code binaire rflchi, est un code dit distance minimale
ou termes adjacents , cest--dire un code pour lequel un seul bit change
entre deux nombres conscutifs. Ce code fait donc appartre la notion dadjacence entre deux termes.
Ce code est utilis dans les tableaux de Karnaugh (cf. section 5.1.1.c page 73),
dans des circuits dentre/sortie, notamment dans les codeurs optiques et
dans certains convertisseurs analogique/numrique.
Il ne convient pas pour larithmtique binaire.
Gray

Dcimal
0
1
2
3
4
5
6
7

20022009 C. Diou

0
0
0
0
0
0
0
0

0
0
0
0
1
1
1
1

0
0
1
1
1
1
0
0

Dcimal
0
1
1
0
0
1
1
0

8
9
10
11
12
13
14
15

Gray
1
1
1
1
1
1
1
1

1
1
1
1
0
0
0
0

0
0
1
1
1
1
0
0

0
1
1
0
0
1
1
0

41

Chapitre 3 :

Les codes numriques

Le code prsente 4 symtries miroir. Il est cyclique : il se referme sur lui-mme.


Cest cette particularit qui est exploit dans les codeurs optiques (cf. Application 3.2 de la prsente page).
Pour convertir un nombre en code binaire naturel (CBN) vers un nombre en
code binaire rflchi (CBR), il faut ajouter le CBN trouv lui-mme dcal
dun rang vers la gauche, sans tenir compte de lventuelle retenue et en abandonnant dans le rsultat le bit de poids faible.

B Exemple 3.6
Soit le nombre dcimal 87 ; sa valeur binaire est 1010111. Donc :
1010111
+10101110
11111001
Lquivalent en code binaire rflchi de (87)10 est 1111100

Application pratique 3.2 : Les codeurs optiques


Le code Gray est souvent utilis comme systme de reprsentation des nombres dans les codeurs optiques, prfrentiellement au code binaire naturel.
Ces systmes permettent de connatre avec une certaine prcision la position
absolue dun moteur. Cette prcision dpend du nombre de segments de la
roue codeuse, lui mme dpendant du nombre de bits cods.
La figure ci-dessous gauche prsente deux roues codeuses 4 bits, lune en
code binaire naturel, lautre en code binaire rflchi.

15

13

2
3

12 3

11 4
5

Code binaire naturel

Code binaire rflchi

14

10
6
9
8
7
Code binaire naturel

15

14
13

12
11
5

10
6
9
8
7
Code binaire rflchi

On constate que chaque segment de ces disques contient 4 zones qui peuvent
tre ouvertes (1 logique), ou fermes (0 logique). La figure ci-dessus droite
fait apparatre plus clairement chaque segment et la valeur dcimale associe.

42

20022009 C. Diou

3.2. Codes numriques non pondrs

Comme on le constate sur ces exemples, le bit de


poids fort est au plus proche de laxe du disque, et le
bit de poids faible la priphrie. Ceci est d au fait
que la couronne des bits de poids faible est susceptible de comporter un nombre trs important dalternances pour les codeurs optiques grande prcision,
comme on peut le constater sur le codeur optique 12
bits ci-contre.

3.2.2.a Conversion du code binaire naturel vers binaire rflchi

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

Binaire naturel
a3 a2 a1 a0

Binaire rflchi
g3 g2 g1 g0

0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0

0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0

0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0

Les quation logiques pour un mot de 4 bits sont :

+
+
+
+

g 0 = a1 a0
g 1 = a2 a1
g 2 = a3 a2
g 3 = a3

Pour un mot binaire de format n on a donc :

+ g i = ai +1 ai , pour n 2 i 0

20022009 C. Diou

43

Chapitre 3 :

Les codes numriques

+ g n1 = an1
On peut galement exprimer g n de manire rcursive :

+
+
+
+

g 0 = g 3 g 2 g 1 a0
g 1 = g 3 g 2 a1
g 2 = g 3 a2
g 3 = a3

3.2.2.b Conversion du code binaire rflchi vers binaire naturel

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

Binaire rflchi
g3 g2 g1 g0

Binaire naturel
a3 a2 a1 a0

0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0

0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0

0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0

0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

Les quation logiques pour un mot de 4 bits sont :

+
+
+
+

a3 = g 3
a2 = g 3 g 2
a1 = g 3 g 2 g 1
a0 = g 3 g 2 g 1 g 0

Pour un mot binaire de format n on a donc :

+ an1 = g n1

44

20022009 C. Diou

3.3. Codes dtecteurs derreurs et autocorrecteurs

+ ai =

n1
X

g i = a i +1 g i , pour n 2 i 0

j =1

3.3 Codes dtecteurs derreurs et autocorrecteurs


Ces codes sont utiliss pour contrler la transmission des donnes.
Souvent, on utilise un nombre de bits suprieur celui strictement ncessaire
pour coder linformation elle-mme.

3.3.1 Les codes p parmi n


Ce sont des codes autovrificateurs (dtecteurs derreurs mais pas autocorrecteurs). Ces codes possdent n lments binaires dont p sont 1 ; la position
des 1 permet de reconnatre un lment cod. Le nombre de combinaisons
rpondant cette dfinition est :
p

Cn =

n!
p!(n p)!

3.3.1.a Les codes 2 parmi 5


Pour transmettre linformation numrique dans les centraux tlphoniques
(cross bar), on utilise un code 2 parmi 5 (ou code 01236) pour reprsenter les
chiffres dcimaux.
Les codes 2 parmi 5 possdent 10 combinaisons possibles :

Tlcoms
1 2 3

PostNET
4 2 1

1
1
1
0
0
1
0
0
0
0

1
0
0
1
0
0
1
0
0
1

0
0
0
0
0
1
1
1
1
0

0
0
0
0
0
0
1
1
1
1

0
0
0
1
1
1
0
0
0
1

1
1
0
1
0
0
1
0
0
0

Dc.
1
2
3
4
5
6
7
8
9
0

20022009 C. Diou

0
1
0
0
1
0
0
1
0
1

0
0
1
1
1
0
0
0
1
0

0
1
1
0
0
1
0
0
1
0

1
0
1
0
1
0
0
1
0
0

45

Chapitre 3 :

Les codes numriques

Application pratique 3.3 : Le code PostNET


Le systme PostNET (Postal Numeric Encoding
Technique) est utilis aux tats-Unis (United
States Postal Service) pour faciliter laiguillage du
courrier. Le code postal amricain, appel ZIP
(Zoning Improvment Plan), est converti en barres
de hauteur entire ou de demi-hauteur selon le
code 74210 (un 0 est reprsent par une barre
en demi-hauteur, et un 1 par une barre entire).

Application pratique 3.4 : Les codes barres


Les codes 3 parmi 9 (codes 39 et 93) et 2 parmi 5 (code 2 parmi 5 entrelac)
sont notamment utiliss pour coder les caractres numriques (code 2 parmi
5) ou alphanumriques (codes 3 parmi 9) dans les codes barres.
Le code barres le plus rpandu est cependant le code EAN (European Article Numbering) qui utilise un codage plus complexe des
caractres numriques uniquement.

2 481602 090012

3.3.2 Le code biquinaire


Cest un code compos dun groupe de n bits (en gnral 5) dont un seul parmi
n progresse la fois, et dun groupe de m bits (1 2) assurant la distinction
entre n < 5 et n 5.

B Exemple 3.7
dcimal
0
1
2
3
4
5
6
7
8
9

46

5
0
0
0
0
0
1
1
1
1
1

0
1
1
1
1
1
0
0
0
0
0

4
0
0
0
0
1
0
0
0
0
1

3
0
0
0
1
0
0
0
0
1
0

2
0
0
1
0
0
0
0
1
0
0

1
0
1
0
0
0
0
1
0
0
0

0
1
0
0
0
0
1
0
0
0
0

20022009 C. Diou

3.3. Codes dtecteurs derreurs et autocorrecteurs

Chaque combinaison a un nombre pair de 1, ce qui introduit une scurit lors


de la transmission de ces valeurs. Ce code permet donc de dtecter deux erreurs condition quelle ne soit pas dans le mme groupe ; par contre, il ne
permet ni de les localiser ni de les corriger.
Ce code est utilis dans les calculatrices.

3.3.3 Les codes contrle de parit


Dans ces codes, on ajoute un lments binaire de sorte que lensemble des bits
transmettre (ou le mot) ait un nombre pair (parit paire) ou impair (parit
impaire) de 1 .

B Exemple 3.8
0101
0111

Remarque

0 0101
1 0111

3.2

Dans lapplication de la mthode de la parit, lmetteur et le rcepteur se


mettent daccord lavance sur la parit surveiller (paire ou impaire).
Remarque

3.3

Pour dtecter la place dun lment binaire faux, il faut coder dans deux dimensions selon les lignes et les colonnes.

B Exemple 3.9
0
1
0
1
0

1
0
0
1
0

0
0
0
1
1

0
1
1
0
0

1 Transmission

1
1
1

0
1
0
1
0

1
0
0
1
0

0
0
0
1
1

0
0
1
0
0

1
0
1
1
1

Ce code dtecte les erreurs simples condition que llment binaire de parit
ne soit pas erron.

3.3.4 Code de Hamming


Ce code est utilis dans les transmissions de donnes. Il localise et corrige les
chiffres erronns (en ajoutant des lments binaires supplmentaires aux bits
de linformation).

20022009 C. Diou

47

Chapitre 3 :

Les codes numriques

Le nombre binaire dinformation effective est : N = ABC D = 4


Le nombre binaire dinformation transmise est : N = abcd e f g = 7
avec a = A B C D
b = A C D
c = A
d = B C D
e = B
f = C
g = D

3.4 Les codes alphanumriques


Ils servent coder des chiffres, des lettres, des signes de ponctuations et des caractres spciaux (26 caractres minuscules, 26 caractres majuscules, 7 signes,
20 40 caractres spciaux comme +,|,6=,%,...)

3.4.1 Le code ASCII (American Standard Code for Information


Interchange)
Cest le plus rpandu. On le retrouve pratiquement dans tous les ordinateurs
et leurs organes priphriques, pour leurs dialogues et la reprsentation des
textes en mmoire.
Chaque symbole (caractre dimprimerie) est cod par 7 lments binaires (un
8me bit peut servir de parit) : 27 = 128 combinaisons diffrentes.

48

20022009 C. Diou

Les codes

B
Exercice 3.1
Convertir en dcimal et hexadcimal les nombres suivants :
(10010101)DCB ; (10010101)DCB

B
Exercice 3.2
En parit impaire, quel est le bit de parit associer aux octets suivants ?
EC ; F 1 ; 69 ; A3

B
Exercice 3.3
En parit paire, quel est le bit de parit associer aux octets suivants ?
C D ; 6E ; B 8 ; A4

49

Deuxime partie

La logique combinatoire

Chapitre 4 n

Algbre boolenne et oprateurs


logiques
George Boole
? 2 nov. 1815, Lincoln, R.-U.
8 dc. 1864, Ballintemple, Irlande

Une proposition peut tre vraie ou fausse, mais ne peut pas tre vraie et fausse.
(Arieote ? 384, 322 av. J.-C.)

4.1 Introduction
Les sytmes logiques fonctionnent en mode binaire les variables dentre
et de sortie ne prennent que deux valeurs : 0 ou 1 . Ces valeurs (tats) 0
et 1 correspondent des plages dfinies lavance.

B Exemple 4.1
Technologie lectrique TTL :
1 2,4 5 V
0 0 0,8 V
Technologie pneumatique :
1 prsence de pression
0 absence de pression

Les valeurs 0 et 1 ne reprsentent pas des nombres rels mais plutt ltat
dune variable (logique) on les appelle donc niveaux logiques .

4.1.1 Convention de nommage des synonymes des 0 et


1:
Ces deux valeurs peuvent tre nommes de diffrentes faons :
Niveau logique 1 : Vrai, Ferm, Marche, Haut, Allum, Oui ;
Niveau logique 0 : Faux, Ouvert, Arrt, Bas, teint, Non.

53

Chapitre 4 :

Algbre boolenne et oprateurs logiques

4.1.2 Types de logiques


On dfinit deux types de logiques :
Logique positive :
niveau haut tat logique 1 (5V)
niveau bas tat logique 0 (0V)
Logique ngative :
niveau haut tat logique 0 (0V)
niveau bas tat logique 1 (5V)
La logique binaire base sur lalgbre de Boole permet de dcrire dans un modle mathmatique les manipulations et traitement des informations binaires,
et danalyser les systmes numriques.
Il existe 3 fonctions lmentaires dans lalgbre de Boole :
addition logique : appele OU, symbolise par un plus : + ;
multiplication logique : appele ET, symbolise par un point : . ;
complmentation : appele NON, symbolise par un surlignement : a
Tout circuit numrique peut tre dfini laide dune fonction logique (ou expression logique) qui reprsente la variable de la sortie en fonction des variables dentre.

4.1.3 Variables logiques (ou variables binaires)


Ce sont des variables ne pouvant prendre que deux valeurs distinctes : 0 ou
1 . Une variable binaire peut reprsenter nimporte quel dispositif binaire
(contact, lampe, lectro-vanne...)

4.1.4 Convention :
Tout appareil est schmatis ltat de repos. Dans tous les cas, laction sur un
appareil sera note a, b, ... et la non action a, b, ...

B Exemple 4.2
Bouton poussoir contact repos et contact travail.
1er cas : schma dun contact ouvert au repos dit contact travail .
2 cas : schma dun contact ferm au repos dit contact repos .

54

20022009 C. Diou

4.2. Proprits de lalgbre boolenne

B Exemple 4.3
Relais : cest un interrupteur oprant de faon lectromagntique ; lorsquun
courant appropri passe dans le charbon, une force magntique dplace les armatures imposant louverture ou la fermeture des contacts. Il est prsent dans
sa position non alimentee (au repos).
Ils peuvent tre ferms ou ouverts au repos.

normalement ouvert et ferm

Charbon

Symbole dun relais double

T = (A+B).C

4.2 Proprits de lalgbre boolenne


4.2.1 Prsentation
Lalgbre boolenne dfinit un cadre mathmatique dtude de propositions
logiques portant sur des ensembles E dlments.

Dnition 4.1

un ensemble E d'lments (a, b, c, ...) associ deux oprations


binaires + et . constitue une algbre boolenne si et seulement si les postulats suivants
sont satisfaits :
+ P1 Les oprations sont commutatives ;
+ P2 Chacune des oprations est distributive sur l'autre ;
+ P3 Il existe les lments identit 0 et 1 respectivement pour + et . ;
+ P4 Pour chaque lment a E , il existe un lment a E tel que : a + a = 1 et
a.a = 0.
Algbre boolenne :

20022009 C. Diou

55

Chapitre 4 :

Algbre boolenne et oprateurs logiques

partir de ces postulats, il est possible de dmontrer les thormes didempotence (cf. 4.4.3), de llment nul, dinvolution (cf. 4.4.5), dabsorption (cf.
4.5.6), dassociativit ainsi que la loi de De Morgan (cf. 4.7). Tous ces thormes seront prsents plus loin.
Le lecteur attentif aura remarqu aprs la lecture des quatre postulats ci-dessus
quil nest jamais fait mention du nombre dlments dans lensemble E , ni
encore moins que ce nombre dlments est limit deux !
Lalgbre boolenne nest pas restreinte aux ensembles binaires.
En fait, le nombre dlments dans E peut tre infini, mais doit au moins comporter les lments 0 et 1. Ainsi lalgbre binaire, qui ne contient que les lments 0 et 1, constitue lalgbre boolenne la plus simple.

B Exemple 4.4
Algbre boolenne portant sur 4 lments : E = {0, a, b, 1}
+

0
a
b
1

0
a
b
1

a
a
1
1

b
1
b
1

1
1
1
1

0
a
b
1

0
0
0
0

0
a
0
a

0
0
b
b

0
a
b
1

4.3 Algbre binaire ou algbre de commutation


4.3.1 Postulats de base
Le domaine de dfinition B 2 de lalgbre de commutation comprend donc
deux lments 0 et 1 (B 2 = {0, 1}).
Si a est une variable logique on a :

+ P1 a = 0 si et seulement si a 6= 1
+ P1 a = 1 si et seulement si a 6= 0
Lopration NON(ou complment), note a est dfinie par :
+ P2 0 = 1
+ P2 1 = 0
Lopration OU(ou disjonction), note + est dfinie par :
+ P3 1 + 1 = 1 + 0 = 0 + 1 = 1

56

20022009 C. Diou

4.4. Thormes monovariables

+ P4 0 + 0 = 0
Lopration ET(ou intersection), note . est dfinie par :
+ P3 0.0 = 0.1 = 1.0 = 0
+ P4 1.1 = 1
Lalgbre de commutation est le systme algbrique constitu de lensemble
{0, 1} et des oprateurs ET, OU, NON.
partir de ces quatre postulats, on peut construire les diffrents thormes
prsents dans les sections 4.4 de la prsente page et 4.5 page suivante.

4.3.2 Hirarchie des oprations


Dans une expression sans parenthses, on effectue dabord les oprations ET
et, par la suite, les OU.

4.3.3 Induction parfaite


Dans le domaine linaire, il nest pas possible de prouver une quation en la
vrifiant pour toutes les valeurs des variables.
En logique binaire, puisque les variables sont limites deux tats, on peut
prouver une relation en la vrifiant pour toutes les combinaisons de valeurs
pour les variables dentre. Ainsi, toutes les proprits prsents dans les sections 4.4 de la prsente page et 4.5 page suivante peuvent tre dmontres
par induction parfaite.
On notera quil nest pas vident de dmontrer ces relations par induction parfaite en algbre boolenne de plus de deux variables. La preuve de de ces thormes peut tre consulte notamment dans [LivWhi61].

4.4 Thormes monovariables


4.4.1 Identit
chaque oprateur correspond un lment neutre qui, lorsquil est opr avec
une variable quelconque A, donne un rsultat identique cette variable.
A +0 = A
A.1 = A

20022009 C. Diou

57

Chapitre 4 :

Algbre boolenne et oprateurs logiques

4.4.2 lment nul


chaque oprateur correspond un lment nul qui, lorsquil est opr avec
une variable quelconque A, donne un rsultat identique cet lment nul.
A +1 = 1
A.0 = 0

4.4.3 Idempotence
Le rsultat dune opration entre une variable A et elle-mme est gal cette
variable.
A+A = A
A.A = A

4.4.4 Complmentation
A+A =1

A.A = 0

4.4.5 Involution
Le complment du complment dune variable A est gal cette variable.
A=A

4.5 Thormes multivariables


4.5.1 quivalence
Deux fonctions sont quivalentes si on peut leur faire correspondre la mme
table de vrit.
Si F = A.B et G = A + B, alors F = G, et on dit que F est quivalente G.

4.5.2 Complmentarit
Deux fonctions sont dites complmentaires si lune est linverse de lautre pour
toutes les combinaisons dentres possibles.
Si F = A.B et G = A + B , alors F = G, et on dit que F et G sont complmentaires.

58

20022009 C. Diou

4.5. Thormes multivariables

4.5.3 Associativit
Les oprations +, ., et sont associatives :
A + B +C = (A + B ) +C = A + (B +C )
A.B.C = (A.B ).C = A.(B.C )
A B C = (A B ) C = A (B C )

4.5.4 Commutativit
Les oprations +, ., et sont commutatives :
A +B = B + A
A.B = B.A
A B = B A

4.5.5 Distributivit
Chacune des oprations + et . est distributive sur lautre :
A.(B +C ) = A.B + A.C
A + B.C = (A + B ).(A +C )
On peut remarquer que ce thorme est particulier dans lalgbre boolenne
puisquici les deux expressions sont vraies, alors que seule la premire lest
dans lalgbre ordinaire.

4.5.6 Absorption
Absorption 1 :

A + (A.B ) = A

A.(A + B ) = A

Absorption 2 :
(A + B ).B = AB
(A.B ) + B = A + B
Ce thorme est particulirement intressant pour la conception de circuits
numriques puisquil permet dliminer les termes inutiles et par l-mme de
rduire la complexit du circuit.

4.5.7 Dualit
Deux expressions sont dites duales si lon obtient lune en changeant dans
lautre, les ET par des OU, les OU par des ET, les 1 par des 0 et les 0
par des 1 .
Si on sait que A.B = A + B, alors, on saura que A+B = A.B par dualit.

4.5.8 Thorme de De Morgan


Le thorme de De Morgan est une expression du principe de dualit.

20022009 C. Diou

59

Chapitre 4 :

Algbre boolenne et oprateurs logiques

Premire forme : A+B+C+ = A.B.C.


Deuxime forme : A.B.C. = A + B + C +
Cf. 4.7 page 67 pour plus de prcisions.

4.5.9 Sommes de produits, produits de sommes et forme


canonique
Les expressions boolennes peuvent tre manipules sous diffrentes formes,
certaines dentre elles tant ncessaires pour simplifier ces expressions :
somme de produits ; ex. : F (A, B,C , D) = A.B + A.C .D + B.D
produit de sommes ; ex. : F (A, B,C , D) = (A + B ).(A +C + D).(B + D)
Une expression est sous sa forme canonique si tous les symboles qui reprsentent les variables apparaissent dans tous les termes qui la constitue. Lorsquune quation est crite partir de sa table de vrit, elle est dans sa forme
canonique.
4.5.9.a Forme disjonctive et sommes de mintermes
Si une fonction est une somme de produits, on a une somme canonique ou
forme disjonctive.
Exemple : F = A.B.C + A.B.C + A.B.C + A.B.C
Une fonction boolenne peut tre reprsente sous forme dune somme de
produits utilisant les mintermes. Les mintermes sont reprsents par des 1
dans une table de vrit.
La table suivante donne les mintermes dune fonction de trois variables :
m0
m1
m2
m3
m4
m5
m6
m7
A
0
0
0
0
1
1
1
1

60

B
0
0
1
1
0
0
1
1

C
0
1
0
1
0
1
0
1

A.B .C A.B .C A.B.C A.B.C A.B .C A.B .C A.B.C A.B.C


1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1

20022009 C. Diou

4.5. Thormes multivariables

4.5.9.b Forme conjonctive et produits de maxtermes


Si une fonction est un produit de somme, on a un produit canonique ou forme
conjonctive.
Exemple : G = (A + B +C ).(A + B +C ).(A + B + C).(A + B + C)
Une fonction boolenne peut tre reprsente sous forme dun produit de
sommes utilisant les maxtermes. Les maxtermes sont reprsents par des 0
dans une table de vrit.
La table suivante donne les maxtermes dune fonction de trois variables :
M0
M1
M2
M3
M4
M5
M6
M7
A
0
0
0
0
1
1
1
1

B
0
0
1
1
0
0
1
1

C
0
1
0
1
0
1
0
1

A+B+C A+B+C A+B+C A+B+C A+B+C A+B+C A+B+C A+B+C


0
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
0

4.5.9.c Reprsentations dune fonction sous forme de mintermes et maxtermes


Soit la fonction F telle que F(A, B,C ) = A.B + B .(A +C ).
Cette fonction peut tre reprsente sous sa :
premire forme canonique (somme de mintermes) : on developpe la fonction
sous la forme dune somme de produits puis on prend chaque terme avec
pour variable manquante X et on applique un ET logique avec X + X ;
deuxime forme canonique (produit de maxtermes) : on dveloppe la fonction sous la forme dun produit de sommes puis on prend chaque terme avec
pour variable manquante X et on applique un OU logique avec X .X ;

20022009 C. Diou

61

Chapitre 4 :

Algbre boolenne et oprateurs logiques

B Exemple 4.5
Reprsentation sous forme de somme de mintermes :

F(A, B,C ) = A.B + B .(A +C )


= A.B + A.B + B .C
= A.B.(C +C ) + A.B .(C +C ) + B .C .(A + A)
= A.B .C + A.B .C + A.B .C + A.B.C + A.B.C
X
= m(0, 1, 4, 6, 7)

B Exemple 4.6
Reprsentation sous forme de produit de maxtermes

F(A, B,C ) = A.B + B .(A +C )


= A.B + A.B + B .C
= (A + B ).(A + B +C ).(A + B +C ) par distributivit
= (A + B +C .C ).(A + B +C ).(A + B +C )
= (A + B +C ).(A + B +C ).(A + B +C )
Y
= M (2, 3, 5)

4.5.10 Rsum des proprits des oprateurs OU et ET


OU

ET

Identit
lment neutre
lment absorbant
Idempotence

a +0 = a
a +0 = a
a +1 = 1
a+a = a

a.1 = a
a.1 = a
a.0 = 0
a.a = a

Complmentation

a+a =1

a.a = 0

a=a

a=a

a +b = b +a
a + (b + c)
= (a + b) + c

a.b = b.a
a.(b.c)
= (a.b).c

Proprit

Involution
Commutativit
Associativit

62

20022009 C. Diou

4.6. Oprateurs logiques lmentaires et composs

Absorption 1

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

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

Absorption 2

a + a.b = a + b

a.(a + b) = a.b

Consensus

a.b + a.c + bc

(a + b).(a + c).(b + c)

= a.b + ac

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

Distributivit

(a + b).(a + b) = (a.b) + (a.b)


De Morgan

a + b = a.b

a.b = a + b

4.6 Oprateurs logiques lmentaires et composs


Les fonctions logiques sont conues partir dun groupe doprateurs lmentaires appels portes . Chaque oprateur est reprsent par un symbole et sa
fonction est dfinie par une table de vrit.

4.6.1 OUI : identit ou transfert


1

A
0
1

S=A
0
1

A
0
1

S=A
1
0

4.6.2 NON (NOT) : complment a


1

4.6.3 ET (AND) : produit logique .


&

20022009 C. Diou

A
0
0
1
1

B
0
1
0
1

S = A.B
0
0
0
1

63

Chapitre 4 :

Algbre boolenne et oprateurs logiques

Proprits du ET :
a.1 = a a.a = 0 a.0 = 0 a.a = a
lment neutre : 1
lment absorbant : 0

4.6.4 OU (OR) : somme logique +


A
0
0
1
1

B
0
1
0
1

S = A +B
0
1
1
1

Proprits du OU :
a +1 = 1 a +a = 1 a +0 = a
lment neutre : 0
lment absorbant : 1
Remarque

a+a = a

4.1

Les oprateurs {ET,OU,NON} permettent eux trois de raliser nimporte quelle


fonction logique : on dit quils forment un groupe complet.
Le thorme de De Morgan permet de dire que les groupes {ET,NON} et {OU,NON}
sont galement des groupes complets.

4.6.5 NON-OU (NOR)


Les deux oprateurs OU et NON peuvent tre combins en un seul oprateur
NON-OU : NON-OU est donc un oprateur complet.

A
0
0
1
1

B
0
1
0
1

S = A +B
1
0
0
0

4.6.6 NON-ET (NAND)


Les deux oprateurs ET et NON peuvent tre combins en un seul oprateur
NON-ET : NON-ET est donc un oprateur complet.

64

20022009 C. Diou

4.6. Oprateurs logiques lmentaires et composs

A
0
0
1
1

&

B
0
1
0
1

S = A.B
1
1
1
0

4.6.7 OUX (XOR) : ou exclusif ou dilemme


A
0
0
1
1

B
0
1
0
1

S = A B
0
1
1
0

Proprits du OUX :
Le ou exclusif est commutatif et associatif
a 0 = a a 1 = a a a = 1 a a = 0
lment neutre : 0
lment absorbant : a, a
Remarque

4.2

Le ou exclusif est souvent utilis dans les circuits numriques du fait de ses proprits :
le ou exclusif est loprateur somme modulo 2, on le retrouve donc dans les
additionneurs ou la sortie S = a b r ;
il est galement largement utilis dans les circuits de correction derreurs (calcul de parit) : b 0 b 1 b 2 b n est gal 0 si le nombre de bits 1 est pair,
0 sinon ;
a 1 = a et a 0 = a : le OU exclusif peut tre utilis comme inverseur command.
Le ou exclusif nest pas un oprateur complet, mais comme il peut tre utilis pour raliser la complmentation, les groupes {OUX,ET} et {OUX,OU} sont des
groupes complets.
Remarque

4.3

Relations didentit utilisables avec loprateur ou exclusif :


1. a b = ab + ab = (a + b).(a + b)

20022009 C. Diou

65

Chapitre 4 :

Algbre boolenne et oprateurs logiques

2. (a b) = a b = a b = ab + ab = (a + b)(a + b)
3. a a = 0

et

aa =1

4. a 1 = a

et

a 0 = a

5. a(b z) = ab az
6. a + b = a b ab = a ab
7. a + b = a b

si ab = 0

8. a b = c c b = a,

c a = b,

a b c = 0

9. a (a + b) = ab
10. a ab = ab

4.6.8 NON-OUX (XNOR) : concidence ou quivalence


1

A
0
0
1
1

B
0
1
0
1

S = A B
1
0
0
1

A
0
0
1
1

B
0
1
0
1

S = A +B
1
0
1
1

4.6.9 IMP (IMP) : implication ou


1

4.6.10 INH (INIB) : inhibition /


&

66

A
0
0
1
1

B
0
1
0
1

S = A.B
0
0
1
0

20022009 C. Diou

4.7. Universalit des portes NON-ET et NON-OU

4.6.11 Rsum : les diffrents oprateurs


Nom

Symbole
00

Zro
Et

x.y

Valeur de xy
01 10 11

Expression
algbrique

0
0

0
0

0
0

0
1

F0 = 0
F 1 = x.y

Inhibition
Transfert

x/y

0
0

0
0

1
1

0
1

F 2 = x.y
F3 = x

Inhibition
Transfert

y/x

0
0

1
1

0
0

0
1

F 4 = x.y
F5 = y

Ou exclusif
Ou

xy
x+y

0
0

1
1

1
1

0
1

F6 = x y + x y
F7 = x + y

Non-ou

xy

F8 = x + y

quivalence

xy

F9 = x y + x y

Complment

F 10 = y

xy

F 11 = x + y

F 12 = x

Implication

xy

F 13 = x + y

Non-et
Un

xy

1
1

1
1

1
1

0
1

F 14 = x.y
F 15 = 1

Implication
Complment

4.7 Universalit des portes NON-ET et NON-OU


B
Note 4.1
Thorme de De Morgan :

1. Le complment d'un produit est gal la somme des complments


des termes du produit : S = a.b = a + b
2. Le complment d'une somme est gal au produit des complments
des termes de la somme : S = a+b = a.b

20022009 C. Diou

67

Chapitre 4 :

Algbre boolenne et oprateurs logiques

Non seulement le thorme de De Morgan et ses consquences est trs utile


pour simplifier des expressions, mais il est galement valable si a ou b sont des
expressions contenant plusieurs variables.

B Exemple 4.7
( A . B + C) = A. B. C = A + B + C

En consquence du thorme de De Morgan, on peut affirmer notamment :


1. une porte NON-OU est une porte ET avec ses entres inverses :

2. une porte NON-ET est une porte OU avec ses entres inverses :

B
Note 4.2

NON-ET et des portes NON-OU :


Toutes les portes logiques lmentaires (ET, OU, NON) peuvent tre ralises
avec des portes NON-OU ou NON-ET.

Universalit des portes

4.7.1 Universalit des portes NON-OU


NON :
ET :

a +b

OU :

a+a

a +b

68

20022009 C. Diou

4.7. Universalit des portes NON-ET et NON-OU

4.7.2 Universalit des portes NON-ET


NON :
OU :

&

a.a

&

&

&

a.b

ET :

&

&

a.b

B Exemple 4.8
Raliser la fonction X=AB+CD laide du CI (circuit intgr) suivant :
14

13

12

11

10

VCC

7400 :
1

A
B

Remarque

&

&

&

11

AB
X

C
D

&

CD

4.4

le groupe doprateurs {ET,OU,NON} permet de raliser toutes les fonctions logiques : on dit que cest un groupe complet , ainsi que les groupes {ET,NON}
et {OU,NON} ;
de mme, les oprateurs NON-ET, NON-OU, sont appels des oprateurs complets ;
comme loprateur OUX peut tre utilis pour raliser un inverseur, les groupes
{ET,OUX} et {OU,OUX} sont galement des groupes complets ; le groupe {ET,OUX}
est un anneau boolen appel corps de Galois.

20022009 C. Diou

69

Chapitre 5 n

Reprsentation et simplification des


fonctions logiques
Maurice Karnaugh
? 4 oct. 1924, New York, .-U.

Ph.D. de Physique, Universit de Yale - 1952. Chercheur aux laboratoires Bell Telephone
de 1952 1966, puis au centre de recherche d'IBM New York de 1966 1993. Professeur
d'informatique l'Ineitut Polytechnique de New York de 1980 1999. lu membre de
l'IEEE (IEEEfellow) en 1976, pour ses travaux sur l'utilisation des techniques numriques
en tlcommunications. Inventeur du diagramme de Karnaugh en logique en 1953. Coinventeur des premiers circuits logiques (Essex).
Article de rfrence : Maurice Karnaugh, The Map Method for Synthesis of Combinational
Logic Circuits , Trans. AIEE. pt I, 72(9) :593-599, November 1953.

Tout circuit logique peut tre dcrit par des fonctions logiques et/ou une table
de vrit, et tre ralis partir des oprateurs logiques lmentaires.

5.1 Mthodes de reprsentation des fonctions logiques


En dehors de la reprsentation algbrique que nous avons utilise jusqu prsent, dautres mthodes permettent de reprsenter les fonctions logiques. Les
plus couramment employes sont les reprsentation tabulaires, implicites, et
graphiques.

5.1.1 Reprsentations tabulaires


5.1.1.a Table de vrit
La table de vrit nous fait connatre la raction dun circuit logique aux diverses combinaisons de niveaux logiques appliques ses entres. Chaque

71

Chapitre 5 :

Reprsentation et simplification des fonctions logiques

ligne prsente la combinaison des variables dentre ainsi que la ou les sorties
correspondante(s).

B Exemple 5.1
La table de vrit dun additionneur complet est la suivante :
A
0
0
0
0
1
1
1
1

B
0
0
1
1
0
0
1
1

C
0
1
0
1
0
1
0
1

S
0
1
1
0
1
0
0
1

R
0
0
0
1
0
1
1
1

S = A B C
R = A.B + A.C + B.C

B Exemple 5.2
Donner la table de vrit dun circuit 3 entres A,B,C et 2 sorties X,Y tel que :

X=1 si les 3 entres ont le mme niveau


Y=1 si A=B

Le principal inconvnient de la table de vrit est quelle devient rapidement


trs encombrante lorsque le nombre de variables dentre augmente.
5.1.1.b Diagramme de Veitch
Le diagramme de Veitch est une table sur laquelle on reprsente les n variables
dentre selon les deux axes vertical et horizontal. En gnral, pour n = p + q
on porte sur les colonnes p variables o p est la partie entire de n/2, et les
q variables restantes sur les lignes. Les colonnes et les lignes sont numrotes
selon lordre binaire naturel.
Le diagramme de Veitch de lexemple prcdent est le suivant :

a
S

0 1 1 0
1 0 0 1

0 0 0 1
0 1 1 1

On peut galement numroter les cases du diagramme de Veitch selon limage


dcimale de la fonction reprsente. Chaque case correspond une ligne de
la table de vrit, et peut donc tre reprsente par son image dcimale (cf.
5.1.2.b) :

72

20022009 C. Diou

5.1. Mthodes de reprsentation des fonctions logiques

a
S

a
c

0 11 41 50
1 30 60 71
2

c
0

0 10 40 51
0
1 61 71
3
2
0

5.1.1.c Diagramme de Karnaugh[ArtKar53] et termes adjacents


Le diagramme de Karnaugh est un outil graphique, mthodique. Il permet
dobtenir une solution optimale la simplification logique (cf. 5.2.3 page 77).
Comme la table de vrit, le diagramme de Karnaugh met en vidence le rapport entre les entres et les sorties (chaque ligne de la table de vrit correspond une case du diagramme de Karnaugh).
Deux termes sont adjacents quand ils ne diffrent lun de lautre que par une
seule variable. ABC et ABC sont adjacents. Un diagramme ou tableau de Karnaugh est une table dimplication logique dispose de telle manire que deux
termes logiquement adjacents soient galement adjacents gomtriquement.
Le diagramme de Karnaugh est trs proche du diagramme de Veitch prsent
5.1.1.b, mais afin dexploiter la notion dadjacence ente les termes, les cases
sont ordonnes selon le code binaire rflchi, au lieu du code binaire naturel.
Remarque

5.1

Les tableaux de Karnaugh se prsentent comme des cylindres ferms dans les
deux sens.

B Exemple 5.3
X
A
0
0
1
1

B
0
1
0
1

B
0

1
0
0
1

Le diagramme de Karnaugh de lexemple prcdent est le suivant :

a
S

0 1 0 1
1 0 1 0

20022009 C. Diou

0 0 1 0
0 1 1 1

73

Chapitre 5 :

Reprsentation et simplification des fonctions logiques

Comme pour le diagramme de Veitch, on peut numroter les cases du diagramme de Karnaugh selon limage dcimale de la fonction reprsente :

a
S

0 11 50 41
1 30 71 60
2

Remarque

c
0 10 51 40
0 31 71 61
2
0

5.2

il peut exister des tats indiffrents (nots X ). Ces tats correspondent des
combinaisons dentre impossibles. On les remplacera par 1 ou 0 de faon
avoir la simplification la plus optimale ;
on peut utiliser une meme case plusieurs fois, puisque x + x + x + + x = x.
Chaque case du tableau reprsente une combinaison et une seule des variables
de la fonction. Dans cette case, on inscrit 0 ou 1 selon la valeur prise par
la fonction. Cette combinaison exclusive de variables peut tre note par un ET
entre les variables reprsentes.
Par exemple, la case pour laquelle a = 0, b = 1, c = 0 et d = 1 sera note abcd :
cest un minterme .
La reprsentation de la fonction sera alors la somme logique (OU) de toutes les
combinaisons pour lesquelles la fonction vaut 1 .
Quelquefois, on peut prfrer considrer la seconde forme canonique. La combinaison exclusive de variables sera alors note par un OU entre les variables
reprsentes.
Par exemple, la case pour laquelle a = 0, b = 1, c = 0 et d = 1 sera note a + b +
c + d : cest un maxterme .
5.1.1.d Diagramme de Venn
venir . . .
5.1.1.e Diagramme de Johnston
venir . . .
5.1.1.f Diagramme de Caroll
venir . . .

74

20022009 C. Diou

5.1. Mthodes de reprsentation des fonctions logiques

5.1.2 Reprsentations implicites


5.1.2.a Image caractristique
Limage caractristique dune fonction F n entre est constitue des 2n valeurs de cette fonction, ordonnes selon lordre binaire naturel.
Ainsi, soit la fonction F(x 0 , x 1 ) suivante, dfinie par sa table de vrit :
x0 x1 F
0
0
0
0
1
1
1
0
0
0
1
1
On peut reprsenter F par son image caractristique, soit I c [F(x 0 , x 1 )] = 0100.
Reprenons la table de vrit dun additionneur complet :
A B C
S R
0 0 0
0 0
1 0
0 0 1
0 1 0
1 0
0 1 1
0 1
1 0 0
1 0
0 1
1 0 1
1 1 0
0 1
1 1
1 1 1
Limage caractristique de S est I c [S(A, B,C )] = 01101001.
Limage caractristique de R est I c [R(A, B,C )] = 00010111.
5.1.2.b Image dcimale
Nous avons vu que toute fonction logique F peut sexprimer par ses formes
canoniques, soit comme somme de produits, soit comme produit de sommes.
On notera donc la fonction F comme :

+ la
Xsomme des tats pour lesquels elle vaut 1 que lon notera : F1 =
(d 1 , . . . , d p )

+ le
Yproduit des tats pour lesquels elle vaut 0 que lon notera : F0 =
(d 1 , . . . , d p )

o d 1 d p reprsentent les valeurs dcimales des nombres binaires reprsents par les variables de la fonction

20022009 C. Diou

75

Reprsentation et simplification des fonctions logiques

Chapitre 5 :

Reprenons comme exemple la fonction F(x 0 , x 1 ) prsente 5.1.2.a. On numrote les diffrents tats de cette fonction en attribuant des poids aux variables
selon lordre binaire naturel ; notons N la valeur dcimale de ces tats :
N x0 x1 F
0
0
0
0
1
0
1
1
2
1
0
0
3
1
1
0
La fonction F(x 0 , x 1 ) peut scrire :
X
F1 = x 0 .x 1 = (1)
Y
F0 = (x 0 + x 1 ).(x 0 + x 1 ).(x 0 + x 1 ) = (0, 2, 3)
Le principal avantage de la notation dcimale est le risque derreur trs faible
lors de son criture. En effet, il est plus difficile de remplacer un 3 par un 1 que
doublier une barre de complmentation sur une variable.
De plus, on a vu dans les sections 5.1.1.b et 5.1.1.c que cette notation est utilise
pour numroter les cases des diagrammes de Veitch et de Karnaugh, et faciliter
ainsi la reprsentation dune fonction sous forme de diagramme.

5.1.3 Reprsentations graphiques


5.1.3.a Logigramme

Un logigramme est un schma illustrant lexpression dune fonction logique


sans tenir compte des constituants technologiques.

B Exemple 5.4

X = A.B +C

&

X = A.B +C

Remarque

5.3

Notation : Par convention, une entre ou une sortie doprateur logique active
un niveau haut sera note a, b, sel, etc.
Une entre ou une sortie doprateur logique active un niveau bas sera note c,
d, MEM, etc.

76

20022009 C. Diou

5.2. Simplification dexpressions logiques

5.2 Simplification dexpressions logiques


venir . . .

5.2.1 Formes canoniques dune fonction logique


venir . . .

5.2.2 Mthode algbrique


Il nest pas facile de trouver le rsultat minimal application des thormes
de De Morgan, factorisation, astuce, ...

B Exemple 5.5
x+xy = x(1+y)+xy = x+xy+xy = x+y

(thorme dallgement)

x.(x+y) = x+xy = x

(absorption)

ABC + ABC + ABC + ABC = AC + AB + BC

5.2.3 Simplification par diagramme de Karnaugh


La mthode de simplification dune fonction par diagramme de Karnaugh
sappuie sur ladjacence entre les termes de la fonction pour en extraire la reprsentation la plus simple possible.
Les diagrammes de Karnaugh contiennent des ensembles de termes ( 0 ou
1 ) nomms implicants. Ces ensembles sont des :
implicants simples lorsquil sagit de termes isols ;
implicants majeurs lorsquil sagit densembles contenant 2n termes aussi
grands que possible ;
implicants majeurs essentiels lorsque les termes considrs ne sont prsents
dans aucun autre implicant ;
implicants majeurs non essentiels lorsquun terme est prsent dans plusieurs implicants.
5.2.3.a Simplification par extraction des sommes de produits
La mthode est la suivante :
1. dessiner la table de Karnaugh correspondant la fonction ;

20022009 C. Diou

77

Chapitre 5 :

Reprsentation et simplification des fonctions logiques

on entame les 1 isols ;


on runit les octets de 1 adjacents ;
on runit les quartets de 1 adjacents ;
on runit les doublets de 1 adjacents pour runir tous les 1 du
tableau ;

2. identifier tous les implicants majeurs essentiels pour les 1 ;


3. identifier tous les implicants majeurs non essentiels pour les 1 ;
4. pour tous les implicants majeurs essentiels et un des implicants majeurs non essentiels slectionn dans chaque ensemble, dterminer les
termes de produits correspondant ;
5. effectuer laddition logique de tous les termes prcdents, sachant que :
un octet de 1 permet dliminer les 3 variables qui se trouvent sous
les deux formes (complment et non complment) ;
un quartet de 1 permet dliminer les 2 variables qui se trouvent
sous les deux formes (complment et non complment) ;
un doublet de 1 permet dliminer la variable qui se trouve sous les
deux formes (complment et non complment) ;

B Exemple 5.6
Simplifier la fonction :
P
F(A, B,C ) = m(0, 1, 4, 5) = A.B .C + A.B .C + A.B .C + A.B .C
Solution :



1 1 1 5 1 4 1 
B 20 30 70 60
0

F1 = (0, 1, 4, 5)
F0 = (2, 3, 6, 7)

limplicant majeur essentiel est B


il ny a aucun implicant majeur non essentiel
La solution est F (A, B,C ) = B

B Exemple 5.7
Simplifier la fonction :
P
F(A, B,C ) = m(0, 1, 4, 6, 7) = A.B .C + A.B .C + A.B .C + A.B.C + A.B.C

78

20022009 C. Diou

5.2. Simplification dexpressions logiques

Solution :

C
 
0
1 11 
5
0 
B 2 0 3 0 71


1


1
6 
4

F1 = (0, 1, 4, 6, 7)
F0 = (2, 3, 5)

les implicants majeurs essentiels sont A.B et A.B


les implicants majeurs non essentiels sont B .C ou A.C
La solution est F (A, B,C ) = A.B + A.B + B .C
ou F (A, B,C ) = A.B + A.B + A.C

Normalement, lutilisation des tableaux de Karnaugh pour la simplification par


extraction des sommes de produits exploite ladjacence entre les 1 pour reprsenter la fonction simplifier. Cependant, il est possible dutiliser les 0
en procdant exactement de la mme manire : on obtiendra alors une reprsentation de la fonction complmente.
5.2.3.b Simplification par extraction des produits de sommes
La mthode est la suivante :
1. dessiner la table de Karnaugh correspondant la fonction ;
on entame les 0 isols ;
on runit les octets de 0 adjacents ;
on runit les quartets de 0 adjacents ;
on runit les doublets de 0 adjacents pour runir tous les 1 du tableau ;
2. identifier tous les implicants majeurs essentiels pour les 0 ;
3. identifier tous les implicants majeurs non essentiels pour les 0 ;
4. pour tous les implicants majeurs essentiels et un des implicants majeurs non essentiels slectionn dans chaque ensemble, dterminer les
termes de sommes correspondant ;
5. effectuer laddition logique de tous les termes prcdents, sachant que :
un octet de 0 permet dliminer les 3 variables qui se trouvent sous les
deux formes (complment et non complment) ;
un quartet de 0 permet dliminer les 2 variables qui se trouvent sous
les deux formes (complment et non complment) ;

20022009 C. Diou

79

Chapitre 5 :

Reprsentation et simplification des fonctions logiques

un doublet de 0 permet dliminer la variable qui se trouve sous les


deux formes (complment et non complment) ;

B Exemple 5.8
Simplifier la fonction :
Q
F(A, B,C ) = M (2, 3, 5) = A.B .C + A.B .C + A.B.C
Solution :

C

1
1 1 50 
0 1
 4
1 61
B 20 3 0 
7

F1 = (0, 1, 4, 6, 7)
F0 = (2, 3, 5)

les implicants majeurs essentiels sont A + B et A + B +C


il ny a aucun implicant majeur non essentiel
La solution est F (A, B,C ) = (A + B ).(A + B +C )

B Exemple 5.9
Simplifier la fonction :
Q
F(A, B,C ) = M (0, 1, 5, 7, 8, 9, 15)
Solution :

D
 
0 10 
0 41
0
5 

0 6 1
1 3 1 7
2
C
1 111 15
1
0 
10
14


A
0 9 0 131 121
8

F1 = (2, 3, 4, 6, 10, 11, 12, 13, 14)


F0 = (0, 1, 5, 7, 8, 9, 15)

les implicants majeurs essentiels sont B +C et B +C + D


les implicants majeurs non essentiels sont A + B + D ou A +C + D
La solution est F (A, B,C ) = (B +C ).(B +C + D).(A + B + D)
ou F (A, B,C ) = (B +C ).(B +C + D).(A +C + D)

80

20022009 C. Diou

5.2. Simplification dexpressions logiques

Normalement, lutilisation des tableaux de Karnaugh pour la simplification par


extraction des produits de sommes exploite ladjacence entre les 0 pour reprsenter la fonction simplifier. Cependant, il est possible dutiliser les 1
en procdant exactement de la mme manire : on obtiendra alors une reprsentation de la fonction complmente.
5.2.3.c Cas des tats indtermins ou indiffrents
Dans le cas gnral, lutilisation des 1 ou des 0 doit conduire
des fonctions quivalentes (lune tant la complmentaire de lautre),
mme si les critures peuvent tre diffrentes. Cependant, il faut considrer
avec attention le cas particulier des fonctions non compltement dfinies.
Certaines fonctions logiques sont donnes comme tant incompltes (avec des
tats indtermins) ou avec des tats indiffrents (combinaisons de variables
dentres ninfluenant pas le rsultat). Ces conditions permettent de simplifier le tableau de Karnaugh, et par l-mme, limplantation de la fonction sous
forme matrielle.
En plus des ensembles de 0 et des ensembles de 1 , il y a donc galement des ensembles de X ou - qui reprsentent les tats indtermins/indiffrents de la fonction minimiser. Ces tats X ou - peuvent tre
rassembls indiffremment avec des 0 ou 1 pour simplifier la minimisation logique dans les tableaux de Karnaugh.
Ainsi :
les cases non dfinies dun diagramme de Karnaugh peuvent tre exploites
dans une simplification par les 1 comme dans une simplification par les
0 ;
en consquence, une mme case pourra avoir t utilise la fois dans la
reprsentation directe de la fonction, et dans sa reprsentation complmente ;
ainsi, si les deux reprsentations obtenues sont toutes deux justes, elles ne
sont en aucun cas identiques, ni mme quivalente : les fonctions sont diffrentes, bien que correspondant toutes deux au mme diagramme de Karnaugh.

B Exemple 5.10
Soit le tableau de Karnaugh suivant simplifier sous forme de somme de produit :

20022009 C. Diou

81

Chapitre 5 :

Reprsentation et simplification des fonctions logiques


0 10 50 41

1 31 70 61
2
C
0 14X
X 111 

15
10
A
0
0
X
1 
13
8
9
12
0

F1 = (2, 3, 4, 6, 11, 12)


F = (0, 1, 5, 7, 8, 9, 15)
0
FX = (10, 13, 14)

Solution :
les implicants majeurs essentiels sont B.D et B .C
il ny a aucun implicant majeur non essentiel
PQ
La solution
est F (A, B,C ) = B.D + B .C

B Exemple 5.11
Soit le tableau de Karnaugh suivant simplifier sous forme de produit de somme :

D

0 10 
0 41
0
5
0 1
1
1
C 2 3 7 6
X 111 150 14X
10


A
0 9 0 13
1
X

8
12

F1 = (2, 3, 4, 6, 11, 12)


F = (0, 1, 5, 7, 8, 9, 15)
0
FX = (10, 13, 14)

Solution :
les implicants majeurs essentiels sont B +C et B + D
il ny a aucun implicant majeur non essentiel
QP
La solution
est F (A, B,C ) = (B +C ).(B + D)

5.3 Simplifications par mthodes algorithmiques


Au del de 6 variables, on utilise des mthodes algorithmiques.

82

20022009 C. Diou

5.3. Simplifications par mthodes algorithmiques

5.3.1 Algorithme de QuineMcCluskey [Wiki01]


Lalgorithme de QuineMcCluskey (ou mthode des implicants majeurs) est
une mthode utilise pour la minimisation de fonctions boolennes dveloppe par Willard Van Orman Quine et Edward J. McCluskey.
Il est fonctionnellement identique la mthode du tableau de Karnaugh, mais
sa forme tabulaire le rend plus efficace lors dune utilisation dans des algorithmes informatiques, et il fournit galement un moyen dterministe de vrifier que la forme minimale dune fonction boolenne a t atteinte.
La mthode comporte deux tapes :
1. trouver tous les implicants majeurs de la fonction ;
2. utiliser ces implicants majeurs dans un tableau pour trouver les implicants majeurs essentiels de la fonction, ainsi que les autres implicants
majeurs ncessaires pour couvrir la fonction.
5.3.1.a Complexit
Bien quil soit plus pratique que les tableaux de Karnaugh pour manipuler
des fonctions comportant plus de quatre variables, lalgorithme de Quine
McCluskey offre une tendue dutilisation limite puisque le problme quil rsout est NP-complet : le temps de calcul de lalgorithme de QuineMcCluskey
crot exponentiellement avec le nombre dentres.
Il peut tre montr que pour une fonction de n variables, la valeur limite suprieure pour le nombre dimplicants majeurs est 3n/n. Si n = 32 il peut y avoir
plus de 6, 5 1015 implicants majeurs. Les fonctions possdants un nombre de
variables important doivent tre minimises laide de mthodes heuristiques
potentiellement non-optimales, pour lesquelles lheuristique de minimisation
logique Espresso constitue le standard mondial mondial de facto.

B Exemple 5.12
tape 1 : trouver les implicants majeurs
On veut minimiser la fonction arbitraire suivante :
P
F (A, B,C , D) = m(4, 8, 10, 11, 12, 15) + d (9, 14)

20022009 C. Diou

83

Chapitre 5 :

m0
m1
m2
m3
m4
m5
m6
m7
m8
m9
m10
m11
m12
m13
m14
m15

Reprsentation et simplification des fonctions logiques

A
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

B
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

C
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

D
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

F
0
0
0
0
1
0
0
0
1
x
1
1
1
0
x
1

On peut facilement former lexpression de la somme canonique partir de cette


table simplement en additionnant les mintermes (en ignorant les termes X,
dont care) l o la fonction est gal 1.
F A,B,C ,D = A.B.C .D + A.B .C .D + A.B .C .D + A.B .C .D + A.B.C .D + A.B.C .D
Bien sr, ce nest certainement pas minimal. Ainsi, pour loptimiser, tous les
mintermes qui valent 1 sont dabord placs dans une table de mintermes. Les
termes dont care sont galement ajouts cette table, de faon pouvoir tre
combins aux mintermes :
Nb 1 min-t. Reprsentation binaire
1
m4
0100
m8
1000
2
m9
1001
m10
1010
m12
1100
3
m11
1011
m14
1110
4
m15
1111
ce point, on peut commencer combiner les mintermes entre eux. Si deux
termes diffrent dun seul bit, ce bit peut tre remplac par un tiret indiquant
que le bit est quelconque. Les termes qui ne peuvent tre combins avec aucun
autre sont prciss par une astrisque (*). Lorsque lon passe de la taille 2 la
taille 4, le tiret - est trait comme tant une troisime valeur de bit.

84

20022009 C. Diou

5.3. Simplifications par mthodes algorithmiques

Par exemple, -110 et -100 peuvent tre combins, mais pas -110 et 011-. Lastuce
est de faire correspondre dabord les -.
Nb 1
1
2

3
4

min-t.
m4
m8
m9
m10
m12
m11
m14
m15

0-Cube
0100
1000
1001
1010
1100
1011
1110
1111

Implicants de taille 2
m(4,12)
-100*
m(8,9)
100m(8,10)
10-0
m(8,12)
1-00
m(9,11)
10-1
m(10,11)
101m(10,14)
1-10
m(12,14)
11-0
m(11,15)
1-11
m(14,15)
111-

Implicants de taille 4
m(8,9,10,11)
10--*
m(8,10,12,14)
1--0*
m(10,11,14,15)
1-1-*

tape 2 : table des implicants majeurs


Aucun des termes de peut plus tre combin aucun autre, ainsi devons nous
construire une table des implicants majeurs essentiels. Les lignes reprsentent
les implicants majeurs gnrs prcdements, et les colonnes les mintermes
spcifis plus haut. Les termes dont care ne sont pas placs parmi les implicants ils sont omis de cette section parce quils ne constituent pas des entres
ncessaires.
4
8 10 11 12 15
m(4,12)*
X
X
-100
X
X
X
10-m(8,9,10,11)
m(8,10,12,14)
X
X
X
1--0
m(10,11,14,15)*
X
X
X
1-1Ici, chacun des implicants majeurs essentiels a t marqu dune astrisque le
second implicant majeur peut tre couvert par le troisime et le quatrime,
et le troisime implicant majeur peut tre couvert par le second et le premier,
et ne sont donc plus essentiels. Si un implicant majeur est essentiel, comme ce
quoi on sattend, il est alors ncessaire de linclure dans lquation boolenne
minimise. Dans certains cas, les implicants majeurs essentiels ne couvrent pas
tous les mintermes, auquel cas des procdures additionnelles peuvent tre employes pour rduire la table. La procdure la plus simple serait de procder par
tests et erreurs, mais un moyen plus systmatique est la mthode de Petricks.
Dans cet exemple, les implicants majeurs essentiels ne prennent pas en compte
tous les mintermes, et on peut donc dans ce cas combiner les implicants essentiels avec lun des deux non-essentiels pour obtenir lune de ces deux quations :
F A,B,C ,D = B.C .D + A.B + A.C
F A,B,C ,D = B.C .D + A.D + A.C

20022009 C. Diou

85

Chapitre 5 :

Reprsentation et simplification des fonctions logiques

Ces deux quations finales sont fonctionnellement quivalentes loriginale


beaucoup plus coteuse en surface :
F A,B,C ,D = AB.C .D+A.B .C .D+A.B .C D+A.B .C .D+A.BC .D+A.B.C .D+A.B.C .D+
A.B.C .D

5.3.2 Mthode de Petrick [Wiki02]


En algbre boolenne, la mthode de Petrick est une technique permettant de
dterminer toutes les solutions minimales de sommes de produits pour une
table dimplicants majeurs. Cette mthode est trs pnible pour des grands tableaux, mais elle est simple implanter de faon informatique.
1. Rduire la table des implicants majeurs en liminant les lignes dimplicants majeurs essentiels et les colonnes correspondantes.
2. Numroter les lignes de la table rduite des implicants majeurs P 1 , P 2 ,
P 3 , P 4 , etc.
3. Construire une fonction logique P qui est vraie si toutes les colonnes
sont couvertes. P consiste en un produit de sommes o chaque terme
de somme a la forme (P i 0 + P i 1 + + P i N ), o chaque P i j reprsente
une ligne qui couvre la colonne i .
4. Rduire P une somme de produits minimale en multipliant les implicants majeurs et en appliquant X + X .Y = X .
5. Chaque terme du rsultat reprsente une solution, cest--dire un ensemble de lignes qui couvrent tous les mintermes de la table. Pour dterminer les solutions minimales, trouver les termes qui contiennent un
nombre minimum dimplicants majeurs.
6. Pour chacun des termes trouvs ltape prcdente, compter le nombre
de litraux dans chaque implicant majeur et trouver le nombre total de
litraux.
7. Choisir le ou les termes composs du nombre total minimum de litraux, puis crire les sommes dimplicants majeurs correspondantes.

B Exemple 5.13
Nous voulons rduire la fonction suivante :
P
F (A, B,C , D) = m(0, 1, 2, 5, 6, 7)
La table dimplicants majeurs obtenue par lalgorithme de QuineMcCluskey
est la suivante :

86

20022009 C. Diou

5.3. Simplifications par mthodes algorithmiques

K (0,1)
L (0,2)
M (1,5)
N (2,6)
P (5,7)
Q (6,7)

a.b
a.c
b.c
b.c
a.c
a.b

0
X
X

1
X

X
X

X
X

X
X
X

X
X

En se basant sur les X de la table ci-dessus, construire un produit de sommes


des lignes o chaque ligne est additionne et les colonnes multiplies :
(K + L)(K + M )(L + N )(M + P )(N +Q)(P +Q)
Utiliser la rgle de distributivit pour transformer cette expression en une
somme de produits. Utiliser galement les quivalence suivantes pour simplifier lexpression finale : X + X .Y = X et X .X = X et X + X = X
= (K + L)(K + M )(L + N )(M + P )(N +Q)(P +Q)
= (K + LM )(N + LQ)(P + MQ)
= (K N + K LQ + LM N + LMQ)(P + MQ)
= K N P + K M N P + LM N P + LM PQ + K M NQ + K LMQ + LM NQ + LMQ
Utiliser lquivalence suivante pour rduire encore lquation : X + X .Y = X
= K N P + LM N P + LMQ + K M NQ
Choisir les produits avec le moins de termes ; dans cet exemple, il y a deux produits avec trois termes : K N P et LMQ
Choisir le ou les termes avec le plus petit nombre de littraux. Dans cet exemple,
les deux produits se dveloppent en un total de 6 littraux chacun :
K N P se dveloppe en a.b + b.c + a.c
LMQ se dveloppe en a.c + b.c + a.b
Ainsi, lun comme lautre peut tre utilis.

5.3.3 Heuristique de minimisation logique Espresso [Wiki03]


Le minimiseur logique Espresso est un programme informatique largement rpandu utilisant une heuristique et des algorithmes spcifiques pour rduire efficacement la complexit des circuits logiques. Espresso a t dvelopp chez
IBM par Richard L. Rudell. Rudell publia plus tard la variante Espresso-MV
(1986) sous le titre Multiple-Valued Logic Minimization for PLA Synthesis
(Minimisation de logique multivalue pour la synthse de PLA).
5.3.3.a Introduction
Conception des circuits logiques

20022009 C. Diou

87

Chapitre 5 :

Reprsentation et simplification des fonctions logiques

Tous les systmes numriques sont composs de deux fonctions lmentaires :


des lments mmoire pour stocker linformation et des circuits portes
logiques combinatoires pour traiter cette information. Les machines dtat,
comme les compteurs, ne sont rien dautre quune combinaison dlments
mmoire et de circuits combinatoires. Puisque les circuits mmoire sont des
composants standards devant tre slectionns parmi un ensemble limit, la
conception de fonctions numriques passe par limplantation des circuits
porte combinatoire pour les blocs de base ainsi que linterconnexion de tous
ces blocs de base.
En gnral, limplantation de circuits portes logiques est nomme synthse logique , qui peut tre faite manuellement, mais pour laquelle des mthodes informatiques formelles sont gnralement appliques. Les mthodes
de conception de circuits combinatoires sont brivement rsumes ici.
Le point de dpart de la conception des circuits logiques est la fonctionnalit
souhaite, obtenue partir de lanalyse du systme comme un tout, le circuit
logique en tant une partie. La description peut tre faite sous forme algorithmique ou sous forme dquations logiques, mais peut galement tre rsume
sous la forme dune table. Lexemple ci-dessous montre le dbut dune telle
table reprsentant un convertisseur binaire 7 segments :
Digit
0
1
2
3
.

Code
0000
0001
0010
0011
....

Segments A-G
1111110
0110000
1101101
1111001
.......

Le processus dimplantation commence avec la phase de minimisation logique, dcrite ci-dessous, afin de simplifier la table de vrit en combinant les
termes spars en termes plus important contenant moins de variables.
Ensuite, le rsultat minimis peut tre spar en parties plus petites par une
procdure de factorisation puis est finalement mapp sur les cellules logiques
disponibles de la technologie cible. Cette opration est nomme optimisation
logique .
Mthodes de minimisation classiques
Minimiser les fonctions boolennes la main en utilisant les classiques diagrammes de Karnaugh est un processus laborieux, pnible et source derreurs.
Ce nest pas adapt pour des systmes plus de 6 variables dentre et utili-

88

20022009 C. Diou

5.3. Simplifications par mthodes algorithmiques

sable en pratique jusqu seulement 4 variables, alors que les fonctions plusieurs sorties sont encore plus complexes grer. De plus, cette mthode nest
pas adapte une implantation sous forme de programme informatique. Or,
puisque les fonctions logiques actuelles ne sont gnralement pas limites
un si petit nombre de variables alors que le cot et le risque de faire des erreurs est prohibitif pour une implantation manuelle, lutilisation dordinateurs
devient indispensable.
La premire mthode alternative devenir populaire fut la mthode tabulaire
dvelopp par Quine et McCluskey. Partant de la table de vrit pour un ensemble de fonctions logiques, en combinant les mintermes pour lesquelles les
fonctions sont actives ON-cover ou pour lesquelles la valeur de la fonction
est sans objet DC-cover un ensemble dimplicants majeurs est compos. Enfin, une procdure systmatique suit pour trouver le plus petit ensemble dimplicants majeurs avec lesquels la fonction peut-tre ralise.
Bien que lalgorithme QuineMcCluskey soit trs bien adapt une implantation informatique, le rsultat est cependant loin dtre efficace en termes de
temps de calcul et dutilisation mmoire. Lajout dune variable la fonction
double chacun deux, parce que la longueur de la table de vrit augmente exponentiellement avec le nombre de variables. Un problme similaire se pose
lorsque lon augmente le nombre de fonctions de sortie dun bloc combinatoire. Finalement, la mthode QuineMcCluskey est utilisable en pratique uniquement pour les fonctions comportant un nombre limit de variables dentre et de fonctions de sortie.
5.3.3.b Algorithme Espresso
Une approche radicalement diffrente de ce problme est suivie par lalgorithme Espresso, dvelopp par Brayton Berkeley, universit de Californie.
Plutt que dtendre la fonction logique en mintermes, le programme manipule des cubes reprsentant les termes de produits couvrant les 1 (ON), les
X (DC) et les 0 (OFF) itrativement. Bien que le rsultat de la minimisation ne
soit pas garanti comme tant le minimum global, il en est en pratique une approximation trs proche, alors que la solution est toujours sans redondance.
Compare aux autres mthodes, celle-ci est essentiellement plus efficace, rduisant lutilisation mmoire et le temps de calcul par plusieurs ordres de magnitude. Son nom fait rfrence au fait de prparer instantanment une tasse
de caf. Il y a difficilement des restrictions au nombre de variables, de fonctions de sortie, et de termes de produits dun bloc combinatoire. En gnral,

20022009 C. Diou

89

Chapitre 5 :

Reprsentation et simplification des fonctions logiques

cela signifie que des dizaines de variables avec des dizaines de fonctions de
sortie peuvent tre traites.
Lentre dEspresso est une table de fonction de la fonctionnalit dsire ; le rsultat est une table minimise, dcrivant soit les 1, soit les 0 de la fonction, selon les options slectionnes. Par dfaut les termes de produits seront partags
autant que possible par les diffrentes fonctions de sortie mais le programme
peut tre configur pour traiter chacune des fonctions de sortie sparment.
Ceci permet une implantation efficace sur des rseaux logiques deux dimensions tels que des PLA (Programmable Logic Array) ou des PAL (Programmable
Array Logic).
Lalgorithme Espresso sest rvl si efficace quil est incorpor comme tape
standard de minimisation des fonctions logiques dans virtuellement tout outil de synthse logique actuel. Pour implanter une fonction en logique plusieurs niveaux, le rsultat de la minimisation est optimis par factorisation puis
mapp sur les cellules logiques disponibles de la technologie cible, que ce soit
un FPGA (Field Programmable Gate Array) ou un ASIC (Application Specific Integrated Circuit).

90

20022009 C. Diou

Chapitre 6 n

Les circuits combinatoires


Augustus De Morgan
? 27 juin 1806, Madura, Indes
18 mars 1871, Londres, R.-U.

[
\
comp A j = comp(A j )
j
j

i.e. le complment de l'intersecion d'un nombre quelconque d'en-

sembles
ee
gal l'union de leurs complments.

[
\
comp A j = comp(A j )
j
j

i.e. le complment de l'union d'un nombre quelconque d'ensembles

ee gal l'intersecion de leurs complments.

6.1 Circuits logiques combinatoires usuels


Un Circuit combinatoire est un circuit dont les sorties dpendent uniquement
de la combinaison des tats des entres linstant de lobservation.

6.1.1 Circuits de transcodage (codeurs, dcodeurs,


convertisseurs)
6.1.1.a Codeur (encodeur)
Un codeur est un circuit M=2N entres et N sorties qui code en binaire le rang
de la seule entre active.

91

Chapitre 6 :

Les circuits combinatoires

une seule
entre active
la fois

A0

S0

A1

S1

A2

S2

A m-1

reprsentation
en sortie sur
N bits

n-1

B Exemple 6.1
Soit le codeur dcimal-DCB 10 entres et 4 sorties suivant :
0
1
2
3
4
5
6
7
8
9

S
S

2
3

La table de vrit de ce codeur est la suivante :


A9
1
1
1
1
1
1
1
1
1
0

A8
1
1
1
1
1
1
1
1
0
1

A7
1
1
1
1
1
1
1
0
1
1

A6
1
1
1
1
1
1
0
1
1
1

A5
1
1
1
1
1
0
1
1
1
1

A4
1
1
1
1
0
1
1
1
1
1

A3
1
1
1
0
1
1
1
1
1
1

A2
1
1
0
1
1
1
1
1
1
1

A1
1
0
1
1
1
1
1
1
1
1

A0
0
1
1
1
1
1
1
1
1
1

S3
0
0
0
0
0
0
0
0
1
1

S2
0
0
0
0
1
1
1
1
0
0

S1
0
0
1
1
0
0
1
1
0
0

S0
0
1
0
1
0
1
0
1
0
1

On notera que ce codeur fonctionne en logique ngative : lunique entre active


est au niveau logique 0 .

92

20022009 C. Diou

6.1. Circuits logiques combinatoires usuels

Application pratique 6.1 : Codeur de clavier numrique


0
1
2

reprsentation DCB
9

Remarque

6.1

Les codeurs de priorits sont une version modifie du codeur : quand deux entres sont actives, cest lentre correspondant au nombre le plus haut qui est
choisi.
6.1.1.b Dcodeur
Le dcodeur est un circuit qui tablit la correspondance entre un code dentre
sur N bits et M lignes de sortie (M 2N ).
Pour chacune des combinaisons dentre, une seule ligne de sortie est valide.

B Exemple 6.2
Dcodeur DCB-dcimal : 4 entres, 10 sorties.

Remarque

6.2

La plupart des dcodeurs sont dots dune ou plusieurs entres de validation qui
commandent son fonctionnement.

20022009 C. Diou

93

Chapitre 6 :

Les circuits combinatoires

Application pratique 6.2 : Adressage dune mmoire


ligne 0
ligne 1
ligne i
10 lignes
adresse i

0 1 1 0 1 1 1 1

ligne 1023
8 lignes de
donnes

autorisation
accs mmoire

0 1 1 0 1 1 1 1

une mmoire est un tableau dlments binaires (diviss en lignes et colonnes) ;


pour lire un mot mmoire, il faut lui envoyer le numro de ligne souhait (adresse) ;
souvent, le dcodeur est interne la mmoire.

Application pratique 6.3 : Gnration de fonction


Toute fonction logique peut tre ralise partir dune combinaison de dcodeur.

B Exemple

6.3

F=ABC+ABC+AB+C
Remarque

6.3

Il nest pas ncessaire de simplifier la fonction avant la ralisation.

6.1.1.c Mise en cascade des dcodeurs


Utilisation de lentre de validation.

B Exemple 6.4
Raliser un dcodeur 3 entres en utilisant 2 dcodeurs 2 entres.
e0
e1

s0
s1
s2
s3

Q
V
s

e0
e1
e2

Q
V

s4
s5
s6
s7

Raliser un dcodeur 16 sorties laide de dcodeurs 4 sorties.

94

20022009 C. Diou

6.1. Circuits logiques combinatoires usuels

6.1.1.d Transcodeurs (convertisseurs)


Circuit p entres et k sorties qui convertit un nombre crit dans un code C1
en un nombre crit dans un code C2.

B Exemple 6.5
Code binaire code Gray
Code DCB code affichage chiffre (dcodeur 7 segments)

6.1.2 Multiplexeursdmultiplexeurs
6.1.2.a Multiplexeurs (MUX)
Circuit 2n entres dinformations, n entres de slection, et une sortie. Il permet laiguillage de lune de ces entres vers la sortie.

B Exemple 6.6
MUX 2 entres de donnes
sel
E0
E1

MUX

out

Remarque

E1
X
X

E0
X
X

sel
0
1

out
E0
E1

S=sel.E0 + sel.E1

6.4

La table de vrit devient rapidement trs importante ( partir de 4 entres). On


exprime alors la fonction de sortie directement

B Exemple 6.7
MUX 4 entres ( 2 entres de slection a1 a0 ) S=a1 .a0 .E0 + a1 .a0 .E1 +

Application pratique 6.4 : Conversion paralllesrie


On place successivement les valeurs 00, 01, 10, 11 sur a1 a0 .

20022009 C. Diou

95

Chapitre 6 :

Les circuits combinatoires

1
1
0
1

S=1011

a1 a0
0
0
1
1

0
1
0
1

Ralis par
un compteur

Application pratique 6.5 : Gnrateur de fonctions


Toute fonction logique peut tre ralise partir des MUX. Les entres de slection (commande) sont alors les variables de la fonction.

Application pratique 6.6 : Slection de mots

Source info 1
Ex: clavier

Source info 2
Ex: lecteur de
disquettes
n bits

slection

n bits

MUX
aiguillage

n bits

destination

Le MUX est ralis partir de n MUX 2 entres


travaillant avec la mme
commande de slection.
Remarque

6.5

Intrt : il nest pas ncessaire de simplifier la fonction avant de la raliser.

B Exemple

6.8

F = ABC + ABC
Utilisation de MUX
8 vers 1.

S = ABCE0 + ABCE1 + + ABCE4 +

96

20022009 C. Diou

6.1. Circuits logiques combinatoires usuels

6.1.2.b Dmultiplexeurs (DEMUX)


Circuit 2n sorties, 1 entre dinformation, n entres de commande. Il permet
laguillage dinformation de lentre vers lune des sorties.
Remarque

6.6

Le MUXDEMUX est un circuit programmable : les relations entre entres et sorties sont modifiables.

Application pratique 6.7 : Transmission avec MUX/DEMUX

source 0

rcept. 0
MUX

metteur

voie de transmission

rcepteur

DEMUX

source n

rcept. n

6.1.3 Le comparateur
Il dtecte lgalit entre deux nombres A et B. Certains circuits permettent galement de dtecter si A est suprieur ou bien infrieur B.
6.1.3.a Comparateur de 2 lments binaires
ai
0
0
1
1

bi
0
1
0
1

Ei
1
0
0
1

Si
0
0
1
0

Ii
0
1
0
0

Ei =

ai =bi

= ab

Si =

ai >bi

= a.b

Ii =
Di =

ai <bi
ai 6=bi

= a.b
= ab

6.1.3.b Comparateur de 2 nombres


E

S3
a3

E3

b3

A<B

S2
a2

E2

b2

A>B

S1

20022009 C. Diou

a1

E1

b1

A=B

97

Chapitre 6 :

Les circuits combinatoires

6.1.4 Lunit arithmtique et logique (UAL)


Utilise dans pratiquement tous les systmes informatiques, elle ralise des
oprations arithmtiques (addition, soustraction, etc.) et logiques (ET, OU,
etc.). Cest un circuit programmable : les relations entre les donnes en sortie
et les donnes en entre sont modifiables.
A

oprandes

B C0

slection
opration

S0 S1 S2 S3 M

C4

PG

rsultat

Les sorties P et G servent la mise en cascade des ALUs, et donc au calcul de


retenue anticipe.

C0

C0

PG
C0

C0

PG
C4

C0

PG
C8

PG
C12

Gnrateur de retenue anticipe

98

20022009 C. Diou

6.2. Synthse des circuits combinatoires

6.2 Synthse des circuits combinatoires


6.2.1 Prsentation

Cahier des charges


Analyse du problme


Choix dune technologie,Choix des composants


tablissement du schma


Prototype dessai


Ralisation finale
Si le nombre de variables mises en uvre est faible (typiquement infrieur
10), les circuits sont raliss directement laide de la table de vrit, ventuellement aprs simplification de la fonction logique. Dans le cas contraire,
la fonction est dcompose en diffrents blocs fonctionnels analyss sparment.
Le choix des composants utiliss est bas sur diffrents critres : nombre de
boitiers, cot, disponibilit, points test, complexit des connexions, etc.
Les diffrents choix sont :
a) utilisation de portes simples (OU, ET, NON) ou des portes NON-OU et NON-ET ;

20022009 C. Diou

99

Chapitre 6 :

Les circuits combinatoires

b) dveloppement de circuits intgrs (CI) spcialiss. Le problme du cot


de dveloppement et de fabrication impose une production en trs grandes
sries ;
c) utilisation de circuits intgrs combinatoires :
MUX, DEMUX ;
dcodeurs ;
circuits logiques programmables : PROM, PAL, etc.

6.2.2 Circuits logiques programmables


6.2.2.a Introduction
La ralisation pratique dun systme logique dit cbl consiste utiliser les
composants CI disponibles sur le march. Cela oblige le concepteur dcomposer un systme donn en blocs fonctionnels proposs par les constructeurs
et optimiser son choix.
Lapparition des circuits adaptables dits programmables par le constructeur
ou lutilisateur apporte une solution ce problme.
6.2.2.b Structure des circuits logiques programmables
Toute fonction logique de n variables peut se mettre sous la forme dune
somme de produits. Cela implique que toute fonction logique peut tre ralise par lutilisation dune structure comportant deux ensembles fonctionnels :
un ensemble doprateurs ET organiss sous forme de matrice permet de
gnrer les produits des variables dentre ;
un ensemble doprateurs OU permet de sommer les produits.
La programmation de ces circuits est possible grce des fusibles placs
chaque noeud, et consiste griller les fusibles de manire supprimer le
contact entre les lignes.
1. PROM (Programmable Read-Only Memory) ou PLE (Programmable Logic Element)
Contrairement au FPLA dont les deux matrices sont programmables (cf.
3 page 102), les structures de type PROM voient leur matrice ET fige
en usine, formant les 2n fonctions possibles des n entres. La matrice OU
reste quant elle entirement programmable.
chaque sortie de la mmoire correspond une fonction (sortie 3
tats) ;

100

20022009 C. Diou

6.2. Synthse des circuits combinatoires

la matrice ET correspond en fait un dcodeur n 2n (dcodeur


dadresse) ;
une fonction est ralise en programmant sa table de vrit, cest-dire en mettant en mmoire la valeur de f pour lensemble des combinaisons des entres.
: interconnexion non programme
e1

: interconnexion programme

e2

en

s1
s2

sm

B Exemple 6.9

A0
A1
A2
A3
0
0

Dcodage
dadresse
(matrice ET fixe)

Raliser le circuit N N 2 (N : nombre cod en DCB sur 4 bits) laide de


la PROM suivante (PROM 6 entres et 8 sorties capacit de 26 = 64
octets) :

S S S S S S S S
7

20022009 C. Diou

101

Chapitre 6 :

Les circuits combinatoires

2. PAL (Programmable Array Logic)


La structure des PAL est oppose celle des PROM : la matrice OU est
fige alors que la matrice ET est programmable.
Les circuits PAL existent galement en logique squentielle.

e1
e2

en

s1
s2

sm

3. FPLA (Field Programmable Logic Array) : matrice OU et ET programmable


La structure des FPLA autorise une trs grande souplesse dans la
programmation. Par consquent, cest le circuit le plus souvent
propos pour la ralisation des fonctions logiques.

102

20022009 C. Diou

6.2. Synthse des circuits combinatoires

e1
e2

en

s1
s2

sm

B Exemple 6.10
A
B
C

s1
s2
sm

S 1 = A + B.C
S 2 = A.B.C
S m = A.C

6.2.3 Programmation des circuits logiques programmables


Les PROMs et PALs se programment assez facilement avec des programmateurs universels standards dans lesquels est incorpor un module spcifique pour chaque constructeur ;
les FPLAs ncessitent des programmateurs plus sophistiqus cause des
doubles matrices programmer.

20022009 C. Diou

103

Chapitre 7 n

Fonctions et oprateurs arithmtiques


Charles Babbage
? 26 dc. 1791, Teignmouth, R.-U.
1871, London, R.-U.

... I was siring in the rooms of the Analytical Society, at Cambridge, my head leaning
forward on the table in a kind of dreamy mood, with a table of logarithms lying open
before me. Another member, coming into the room, and seeing me half asleep, called out,
Well, Babbage, what are you dreaming about to which I replied I am thinking that all
these tables (pointing to the logarithms) might be calculated by machinery.
... J'tais assis dans la salle de l'Analytical Society, Cambridge, ma tte penche vers la
table dans une sorte d'humeur pensive, avec une table de logarithmes ouverte devant moi.
Un autre membre, entrant dans la pice et me voyant moiti endormi, me demanda Et
bien, Babbage, quoi rvez-vous ce quoi je rpondis je pense que toutes ces tables
(montrant les logarithmes) pourraient tre calcules par une machine.
(Charles Babbage)

105

Les systmes combinatoires

B
Exercice 7.1
Dvelopper et simplifier algbriquement les expressions boolennes suivantes :
F1 = (x + y).(x + z)
F2 = (x.y + z).(x + y).z
F3 = (x + y).z + x.(y + z) + y
F4 = bd + cd + cd + abcd + abc
F5 = abc + b.(a + c) + a + b + ac

B
Exercice 7.2
Faire le schma des fonctions suivantes avec les portes indiques :
x = abc + cd (3 portes NOR)
y = a(b + c) (3 portes NAND)
z = abc (3 NAND 2 entres)
f = a b (4 NAND 2 entres)

B
Exercice 7.3
Simplifier les expressions logiques suivantes :
F1 = ab abcd
F2 = a (a + b)
F3 = a + (a b)
F4 = (a b) (a c)
F5 = (a b) (a b)

107

Chapitre 7 :

Exercices sur les systmes combinatoires

B
Exercice 7.4
Chercher les formes canoniques des expressions suivantes :
F1 = a (b + c)
F2 = (a + c).b + (a + c).b

B
Exercice 7.5
Montrer algbriquement que ab + bc + ac = ab + bc + ac. Vrifier laide dun
diagramme de Karnaugh.

B
Exercice 7.6
Simplifier cette expression laide dun diagramme de Karnaugh :
F = a(b c) + acd + ad (b c) + (a d )bc + acb d
Faire le schma avec 2 portes dont un XOR.

B
Exercice 7.7
Une fonction f (a, b, c, d ) est incompltement dfinie. On code ses tats sur le
mot binaire abcd ,a reprsentant le poids fort. La fonction est vraie pour les
tats 0, 1, 3, 4, 6, A, B ; elle est fausse pour les tats 7, 8, D, E. Tracer le diagramme
de Karnaugh. Simplifier la fonction en vue dune ralisation en portes NAND.
Mme question avec des portes NOR. Quelle est la meilleure solution ?

108

20022009 C. Diou

Troisime partie

Les circuits squentiels

Chapitre 8 n

Les bascules
Alan Mathison Turing
? 23 juin 1912, Londres, R.-U.
8 juin 1954, R.-U.

[A universal machine] ... which can be made to do the work of any special-purpose
machine, that is to say to carry out any piece of computing, if a tape bearing suitable
inerucions is inserted into it.
[Une machine universelle] ... qui peut tre conue pour faire le travail de n'importe quelle
machine spcialise, c'ee--dire de procder n'importe quel fragment de calcul, si une
bande comportant les inerucions adaptes y ee insre.
(Alan M. Turing, 1936, propos de la machine de Turing )

8.1 Introduction
Circuit squentiel : circuit dont ltat des sorties dpend non seulement des
entres mais galement de ltat antrieur des sorties. Ces circuits doivent
donc tre capables de mmoriser.

B Exemple 8.1

M =0
L=0
A=0

M =0
L=1
A=0

M =1
L=1
A=0

M =0
L=0
A=1

M =0
L=0
A=0

Dans un tel systme, une mme combinaison des variables dentre ne correspond pas toujours la mme valeur la sortie (3 et 5). La fonctionnalit dpend de lordre des oprations (ordre de droulement des squence) systme squentiel.
Les fonctions squentielles de base sont :

111

Chapitre 8 :

Les bascules

mmorisation ;
comptage ;
dcalage.
Les circuits squentiels fondamentaux sont :
bascules (3 types) ;
compteurs ;
registres ;
RAM (Random Access Memory).
Ces circuits peuvent travailler soit en mode synchrone, soit en mode asynchrone :
mode asynchrone : tout moment, les signaux dentre peuvent provoquer le changement dtat des sorties (aprs un certain retard quon appelle
temps de rponse . Ces systmes sont difficiles concevoir et dpanner.
mode synchrone : Le moment exact o les sorties peuvent changer dtat
est command par un signal dhorloge (train dondes carres ou rectangulaires). Les changements dtat seffectuent tous pendant une transition appele front (montant ou descendant).
La majorit des systmes numriques squentiels sont synchrones mme si
certaines parties peuvent tre asynchrone (ex. : reset).
Les avantages principaux du mode synchrone sont :
prparer les entres sans perturber les sorties ;
protger des parasites survenant en entre.
Les bascules que lon peut considrer comme des mmoires lmentaires, sont
les briques de base des circuits squentiels.
Ce sont les circuits de mmorisation les plus rpandus dans les systmes numriques en raison de leur rapidit de fonctionnement, de la facilit dcriture
et de lecture dinformation, et de la grande simplicit de leur interconnexion
avec des portes logiques.
On trouve deux grandes familles de bascules :
bascules de mmorisation : elles possdent les commandes de mise zro,
mise un, mmorisation ;
bascules de comptage : elles possdent en outre une commande de changement dtat.

112

20022009 C. Diou

8.2. Point mmoire

8.2 Point mmoire


La principale diffrence entre un systme squentiel et un systme combinatoire est que lorsque lon prsente plusieurs fois de suite un mme vecteur
dentre un systme squentiel, celui-ci contrairement au systme combinatoire ne dlivre pas ncessairement un le mme vecteur de sortie chaque
fois.
En dautres termes, ltat de la sortie dun systme squentiel dpend non
seulement de ltat des variables dentre, mais galement du paramtre
temps , lequel paramtre est la plupart du temps concrtis par ltat antrieur du systme.
Soient le circuit et sa table de vrit associe suivants :

&

A
0
0
1
1

B
0
1
0
1

Ft
1
0
Ct 1
0

La sortie de la fonction F ci-dessus est dpendante dune variable interne C. On


peut en effet constater que ltat de la variable C dpend de ltat des entres A
Et B, mais galement de son tat antrieur : C mmorise donc lie aux entres
appliques antrieurement au circuit. On constate sur ce circuit que leffet de
mmorisation est d la boucle de rtroaction prsente entre la sortie du OU
et lentre du ET. cette boucle est associe la variable C qui constitue le point
mmoire.

Dnition 8.1

Circuit squentiel : un circuit squentiel est un systme boucl permettant la conser-

vation d'un tat dpendant de la valeur des variables d'entre ainsi que de l'tat
antrieur du systme.
La bascule constitue le systme squentiel de base et permet de mmoriser un
lment dinformation lmentaire appel bit.

B
Exercice 8.1
Quel sera ltat de sortie du systme F lissue des deux squences (00, 10) et
(01,10) ?

20022009 C. Diou

113

Chapitre 8 :

Les bascules

Nous avons brivement prsent en introduction de ce chapitre ce qutaient


les systmes squentiels synchrones et asynchrones. Une autre faon de dcrire ces systmes est donne par les dfinitions 8.2 et 8.3 suivantes :

Dnition 8.2

Systme asynchrone : un systme squentiel est asynchrone si partir de l'instant


o on applique un vecteur d'entre, son volution est incontrlable de l'extrieur.

Dnition 8.3

Systme synchrone : un systme squentiel est synchrone si son volution est contr-

lable de l'extrieur par un signal d'horloge.

8.3 Bascule RS
La bascule RS est le circuit squentiel le plus simple. Cest une bascule asynchrone, et toutes les autres bascules, synchrones ou asynchrones, reposent sur
cette bascule.
Son rle consiste mmoriser une information fugitive, selon le fonctionnement suivant : une apparition, mme fugitive, de S entrane un tat stable Q=1,
et une apparition, mme fugitive, de R entrane un tat stable Q=0.

`AbRa0
Symbole
R

Tableau de Karnaugh
Q+

R
S

0 1 1 5X 4 0
0
Qt 2 1 3 1 7 X 6 0

Diagramme temporel
Quand une impulsion est applique 1 entre pour imposer un certain tat
la bascule, celle-ci demeure dans cet tat, mme aprs que limpulsion ait
disparu. Q garde son tat lorsque S passe de 1 0 et lorsque R passe de 1 0.

114

20022009 C. Diou

8.3. Bascule RS

S
R
Q
Table de vrit
S
0
0
0
0
1
1
1
1

R
0
0
1
1
0
0
1
1

Qt
0
1
0
1
0
1
0
1

Q+
0
S
1
0
0
0 0
1
1
1
1
X
X

Q+
Q
0
1
X

R
0
1
0
1

mmorisation
mise 0
mise 1
interdit

Ralisation
Si X= 1 Q=S+R.Q Les tats indtermins sont forcs 1 : la bascule est dite enclenchement prioritaire.
= somme de produit ralisation laide de portes NAND.

Si X= 0 Q= R.(S+Q). Les tats indtermins sont forcs 0 : la bascule est dite dclenchement prioritaire.
= produit de sommes ralisation laide de portes NOR.

Remarque

8.1

Dans les deux cas, lorsquon passe de ltat (R,S)=(1,1) (R,S)=(0,0) en passant
soit par ltat stable correspondant (R,S)=(1,0), soit par ltat stable correspon-

20022009 C. Diou

115

Chapitre 8 :

Les bascules

dant (R,S)=(0,1), selon la rapidit relative des passages 01 de chacun des signaux, alors la sortie peut prendre aussi bien ltat Q = 1 que Q = 0.
il faut donc interdire la combinaison R = S = 1 afin de lever lambigut pour
un tat R = S = 0 venant aprs un tat R = S = 1.

Fonctionnement de la bascule avec des NOR


quand R = S = 0, il y a deux possibilits et nous verrons que ltat pris par la
bascule dpend des valeurs appliques prcdemment aux entres :
S=0

si Q = 0 Q = 1 et Q = 0
S=0

si Q = 1 Q = 0 et Q = 1

!
memorisation

Examinons si S =
et R = 0
Si Q = 0 larrive de limpulsion sur S, alors S = 1 Q = 0 Q = 1

Si Q = 1 larrive de limpulsion sur S, alors S = 1 Q = 0 Q reste 1


lapplication dune impulsion de niveau haut sur S place la bascule dans
ltat Q = 1.
opration de mise 1 SET
Si on applique R=

et S= 0
R=

Si Q = 0 Q = 0 Q = 1
R=

Si Q = 1 Q = 0 Q = 1

)
R=

lapplication dune impulsion de niveau haut sur R place la bascule dans


ltat Q = 0.
opration de mise 0 RESET
R=S=1
Q=Q=0
condition indsirable, puisque Q et Q doivent tre linverse lun de lautre

116

20022009 C. Diou

8.4. Bascule RS synchrone ou bascule RSH

Chapitre
6 S et R reviennent 0
Circuits squentiels lm
de plus, incertitude
lorsque
R = S = 1 ne doit pas servir
Bp simplicit. Ses princiLavantage principal (unique ?) de +5V
la bascule RS est sa
paux inconvnients sont le fait quelle
R soit asynchrone, sa sensibilit aux pas
rasites (tout bruit prsent sur lune des entres
de la bascule RS peut modifier t
s
ltat de la sortie), et le fait quil existe un tat interdit pour
R=S=1.
Bp

Figure 6.5 : Bouton poussoir sans systme anti-rebond

8.4 Bascule RS
synchrone ou bascule RSH
La Figure 6.5 montre comment laide dune bascule RS, ces commutations parasites peuvent t
Ltat mmoire permet en effet de filtrer ces transitions.

La bascule RSH 1 est un bascule RS synchronise par un signal dhorloge H.


+5V
Bp
Lorsque H est au niveau bas, la bascule fonctionne comme
une mmoire, et
lorsque H est au niveau
R haut,Rla bascule fonctionne comme une bascule RS
Q pour R=S=1.
s
classique, et conserve donc les tats interdits

`Ab#aR0

S'

Symbole

R'

S
Clk
R Q

Bp

La sortie est indice est vaut QN


avant le front de lhorloge et QN+1
aprs le front de lhorloge.
S et R ninfluencent Q que lorsque
lhorloge est au niveau haut.

S
Table de vrit

S R
X X
Reset ou
0 0
Etat mmoire
0 1
1 0
Set ou
1 1
Etat mmoire

H QN+1
0 Q QN
1
QN
1s
1
1
0
X
X

Figure 6.6 : Dispositif anti-rebond

6.1.3. Bascule RST

Ralisation
R

La bascule RST est une bascule RS synchronise par un signal dhorloge T. Le schma de cett
donn sur la figure .

H
S

R
Figure 6.7 : Bascule RST

1. La bascule RSH Lorsque


est galement
appele
bascule
RST ; on
prfrera
le comme une
T=0, la bascule
est dans
ltat mmoire.
Lorsque
T=1, la nanmoins
bascule fonctionne
Cette bascule a toujours un tat interdit et fonctionne sur les niveaux dhorloge. Tout en restant
terme RSH, plus explicite.

parasites elle lest moins que la bascule RS puisquelle est uniquement sensible sur le niveau haut
(plus le niveau haut de lhorloge est rduit, moins cette bascule est sensible aux parasites).

20022009 C. Diou

117

Chapitre 8 :

Les bascules

B Exemple 8.2

e6

ule D-latch

H
S
R
Q

Lavantage de la bascule RSH par rapport la bascule RS est sa sensibilit


moindre aux parasites. Comme la bascule nest sensible au bruit que lorsque
lhorloge est au niveau haut, plus les tats haut de lhorloge seront brefs, moins
la bascule sera sensible.

8.5 Bascule verrouillage (D-latch)


Circuits squentiels lmentaires
La D-latch est une bascule RSH pour laquelle on na conserv que les deux
combinaisons RS=(0,1) et RS=(1,0). La D-latch a une seule entre, nomme D.

`AbRa0
Symbole

Table de vrit

D-Latch est une bascule conue sur le mme principe que la RST. Elle est obtenue partir dune
T en ne considrant que les deux combinaisons (R,S) = (0,1) et (1,0). La D-Latch na quune seule
me D, et sa table de vrit est la suivante (Figure 6.8).

D
0
1

En Q

Q(n+1)
0
1

Qn+1 = Dn

Figure 6.8 : Table de vrit de la D-latch

DN
X
0
1

En
0
1
1

QN+1
QN
0
1

Mode
verrouill
transparent
transparent

de cette bascule est donn sur la Figure 6.9. Cette bascule na pas dtat interdit et est transparente
u haut de lhorloge.

Ralisation

Fonctionnement

Q
R = S'

La D-latch na pas dtat interdit et


est transparente sur le niveau haut
de lhorloge.
D = S et En = T.

Q
Figure 6.9 : Bascule D-Latch

ule Matre-Esclave
quand

En=0 lentre D na aucun effet et la bascule mmorise la valeur de

es matre-esclavesla
permettent
diminuerde
la lentre)
sensibilit auxau
parasites
en minimisant
la priode de
sortiede(donc
moment
du passage
de ltat 1 ltat 0 de En
e. Le schma dune bascule matre esclave est donn sur la Figure 6.10. En montant en cascade deux

la
bascule
est
verrouille
;
ST commandes par la mme horloge mais inverse, la bascule ralise la mme fonction. Toutefois,
lequand
En=1
Qmais
suitsurles
changements
de DEneffet,
la sur
bascule
est transparente.
nne non plus sur
niveau haut
de lhorloge,
le front
descendant de lhorloge.
le
de lhorloge, le deuxime tage (esclave) est dans ltat mmoire alors que sur le niveau bas, cest le
ge (matre)
qui est dans ltat mmoire. Il en rsulte que la plage de sensibilit aux parasites se limite
commutation descendante de lhorloge.

Remarque 8.2

Notez labsence du symbole . sur lentre dhorloge.


Matre

Esclave

118

20022009 C. Diou

H
Q'

6.1.4. Bascule D-latch


La bascule D-Latch est une bascule conue sur le mme principe que la RST. Elle est obtenue partir dune
bascule RST en ne considrant que les deux combinaisons (R,S) = (0,1) et (1,0). La D-Latch na quune seule
entre nomme D, et sa table de vrit est la suivante (Figure 6.8).

8.6. Bascules matre-esclave

D
0
1

Q(n+1)
0
1

Qn+1 = Dn

Figure 6.8 : Table de vrit de la D-latch

8.6 Bascules matre-esclave

Le schma de cette bascule est donn sur la Figure 6.9. Cette bascule na pas dtat interdit et est transparente
sur le niveau haut de lhorloge.

S'
Les basculesS matre-esclaves
permettent
de diminuer la sensibilit aux paraQ
sites en minimisant la priode de transparence. La nature des bascules matreesclave vient du fait que deux bascules RST montes en cascade et commanR = S'
T
des par deux horloges en opposition de phase ralisent la mme fonction
quune seule bascule. La diffrence tient seulement au fait que la bascule ne
(Q')lhorloge, mais sur son front descendant
fonctionne plus sur le niveau haut de
Figure 6.9 : Bascule D-Latch

+ sur le niveau bas de lhorloge, le premier tage (matre) fonctionne en


6.1.5. Bascule Matre-Esclave
mode mmorisation

, et le deuxime tage (esclave) est en mode RS ;

Les bascules matre-esclaves permettent de diminuer la sensibilit aux parasites en minimisant la priode de
+ sur le niveau haut de lhorloge, le matre fonctionne en mode RS, et lestransparence. Le schma dune bascule matre esclave est donn sur la Figure 6.10. En montant en cascade deux
clave est
dans
mmorisation
ralise la mme fonction. Toutefois,
bascules RST commandes
par la
mmeltat
horlogemais
inverse, la bascule
elle fonctionne non plus sur le niveau haut de lhorloge, mais sur le front descendant de lhorloge. En effet, sur le
Ladepriode
laquelle
est sensible
aux
parasites
niveau haut
lhorloge, lependant
deuxime tage
(esclave)la
est bascule
dans ltat mmoire
alors que sur
le niveau
bas, cestse
le rsume
premier tage
(matre)
est dansde
ltat
mmoire. Il en rsulte
la plage de sensibilit
aux parasites

donc
laqui
dure
commutation
deque
lhorloge
du niveau
haut seaulimite
niveau
bas
la dure de
commutation
descendante de lhorloge.
(front
descendant).

Matre

Esclave

H
Q

R
Figure 6.10 : Bascule matre-esclave
6.1.6. Bascule JK

8.7 Bascule JK

La bascule JK est une bascule matre-esclave ne prsentant plus dtat interdit. Sachant que les sorties sont
toujours complmentaires, leur rebouclage sur les entres (Figure 6.11) limine ltat interdit. Il ny a pas
dinconvnient
ce rebouclage
les sorties
de lesclave ne
change dtat que lorsque
le matre est seulement
bloqu.
Les bascules
JK car
sont
des bascules
matre-esclave
fonctionnant
en
Cette bascule fonctionne toujours sur les front descendant. Sa table de vrit ainsi que la fonction de sortie
mode
synchrone.
Elles
sont
plus
polyvalentes
que
les
bascules
RS,
car
elles
(Qn+1) est donne sur la Figure 6.12.

`#aAb0P

nont pas dtat ambigu et R = S = 1 QN+1 = QN .

Symbole

J Q
Clk
K

20022009 C. Diou

QN+1 = J.QN + K.QN

Page 6.4

119

Chapitre 8 :

Les bascules

Tableau de Karnaugh
J

Q+

0 10 51 41
0
Qt 2 1 3 0 7 0 6 1
Sachant que les sorties sont toujours complmentaires, leur rebouclage sur les
entres limine ltat interdit. Il ny a pas dinconvnient ce rebouclage car
les sorties de lesclave ne changent dtat que lorsque le matre est bloqu. Les
bascules JK sont trs courantes dans les systmes numriques
Cette bascule fonctionne toujours sur les fronts descendant.

`#a0
AbR
`#a0#a`0
RAbR
Ab

Ralisation

&

RSH-ME

&
K

S Q
Clk
R Q

&

Matre

Esclave

&
Q
K

120

S Q
Clk
R Q

S Q
Clk
R Q

20022009 C. Diou

8.8. Bascule D synchrone

Table de vrit
J
X
0
1
0

K
X
0
0
1

Remarque

QN+1
QN
QN
1
0

mmorisation
forage 1
forage 0

QN

commutation

8.3

J
X
X
X
0
1

K
X
0
1
X
X

QN
X
1
1
0
0

QN+1
QN
1
0
0
1

Pour que le basculement fonctionne, il faut avoir H trs troite, autrement il y a


rebasculement.

B Exemple 8.3
H
J
K
Q

8.8 Bascule D synchrone


La bascule D est une bascule matre-esclave conue sur le mme principe que
la JK. La bascule D est une bascule nayant quune seule entre nomme D.

`CbRa0
Symbole
D

Clk Q

Le symbole de la bascule D est identique celui de la D-latch ceci prs que


lentre dactivation est remplace par une entre dhorloge, qui dispose donc
du symbole associ.

Table de vrit
H

DN
1
0

QN+1
1
0

20022009 C. Diou

121

Chapitre 8 :

Les bascules

QN+1 prend la valeur de DN aprs le front actif : QN+1 = DN


Cest une bascule de recopie : on lemploie seulement en synchrone.

`AbRa0 `AbRa0

`

`

#a
0
#a
AbR Ab0
P

Ralisation

Matre

En Q

En Q

Esclave

Ralisation partir de bascules


RSH matre-esclave :

Idem pour la ralisation partir de


bascules JK :

RSH-ME

Remarque

S Q
Clk
R Q

JKFF

J Q
Clk
K

8.4

La sortie Q nest gale lentre D qu des moments bien prcis le signal Q est
diffrent du signal D.
La bascule D fonctionne sur fronts dhorloge. En fait, la donne dentre D est
transfre travers le matre lors du front montant et travers lesclave lors
du front descendant. Pour fonctionner, cette bascule ncessite donc les deux
front dhorloge. Diffrentes structures de bascules D existent, certaines pouvant transfrer une donne en ne recevant quun seul front dhorloge.

8.9 Bascule T
La bascule T sobtient par exemple partir dune bascule JK dont on a reli les
entres J et K entre elles. Elle est utilisable uniquement en mode synchrone, et
ne fonctionne quen commutation.

122

20022009 C. Diou

`#a@b0
P
Symbole

T Q
Clk

8.10. Entres prioritaires asynchrones des bascules

`

#a
0
AbP

Ralisation
T

J Q
Clk
K

Table de vrit
T
0

QN+1
QN

QN

8.10 Entres prioritaires asynchrones des bascules


La plupart des bascules synchrones possdent des entres prioritaires asynchrones. Elles agissent indpendamment de lhorloge et des entres synchrones des bascules. Elles servent forcer, tout moment, la mise 1 ou 0 de
la bascule, quelles que soient les conditions dentre. Elle agissent sur ltage
esclave des bascules.

20022009 C. Diou

123

Chapitre 8 :

Les bascules

Preset
Esclave
} xy }z

|
&

{}

|
&

| Q

|
|

|
H


H
|

|
|

|
|
&

|
&

| Q

|
|

|
|


}{

|
|

{xy xyyyyyyyyyyyyyyyyy
z
{z

Clear
Matre

B Exemple 8.4

Set
J
H
K

Q
Q
Clear

Set
1
0
1
0

Clear
1
1
0
0

Q
fonctionnement normal
1
0
ambigu, interdit

Les entres asynchrones peuvent tre vraies ltat bas (cas le plus frquent)
ou ltat haut. En gnral, on applique juste une impulsion ces entres pour
faire une initialisation.
RAZ [c]et DC clear
Clear
Dsignations synonymes :
Preset RAU Set
DC set
Remarque

8.5

Les entres synchrones sont des niveaux de tension continue

8.11 Paramtres temporels des bascules


Pour quune bascule fonctionne correctement, il est ncessaire que le signal
prsent sur les entres de la bascule (D ou JK) soit stabilis depuis un certain
temps lorsque le front dhorloge actif intervient (temps de setup ) et reste
stable pendant un certain temps aprs ce front dhorloge (temps de hold ou
de maintien).
Dautre part, la commutation des sorties dune bascule se fait avec un certain
temps de retard par rapport au signal qui a produit cette commutation (Hor-

124

20022009 C. Diou

8.12. Applications des bascules

loge, Reset ou Preset). Ces retards peuvent tre diffrents selon le signal qui a
produit la commutation, mais galement selon que la commutation du signal
de sortie est montante ou descendante. Ces retards seront nots TpLH et TpHL
pour Temps de Propagation Low High et Temps de Propagation High Low
.

8.12 Applications des bascules

Application pratique 8.1 : Mmoire


mmorisation dune information fugitive

B Exemple

8.5

Mmorisation dune commande de marche

S
R

Application pratique 8.2 : Antirebond pour commutateur


B Exemple

8.6

S
R

Ferm
Charge

Solution
Ouvert

2
1

rebond
qq ms

Passage en 2

Passage en 1

Application pratique 8.3 : Synchronisation


B Exemple

8.7

A
H

int. antirebond

A
X
impulsion partielle
indsirable

20022009 C. Diou

125

Chapitre 8 :

Les bascules

Solution :

A
H

int. antirebond

H
A
Q
X

Application pratique 8.4 : Dtection dune squence dentre


B Exemple

8.8

A
B

A
A avant B ?

B
X

Solution :

A
B

J
K

B
Q

B
A avant B

A aprs B

dtection du sens de rotation dun moteur.

Application pratique 8.5 : Division de frquence


La division de frquence par 2 (et donc 2N ) peut tre ralise facilement
laide des diffrents registres.
Bascule D
DN =QN+1 .
On veut QN+1 =QN DN = QN

D
H

Q
Q

H
Q

Bascule JK

126

1
1

J
K

Q
Q

H
Q

20022009 C. Diou

8.12. Applications des bascules

Bascule RS

S
R

20022009 C. Diou

Q
Q

H
Q

127

Chapitre 9 n

Registres : stockage et transfert de


donnes
Howard Hathaway Aiken
? 9 mars 1900, Hoboken, E.-U.
14 mars 1973, St Louis, E.-U.

[En 1964 Aiken reoit le Harry M Goode Memorial Award, une mdaille et $2,000 overt
par la Computer Society] for his original contribution to the development of the automatic
computer, leading to the Fre large-scale general purpose automatic digital computer.

Registre : ensemble de n bascules synchronises permettant de stocker momentanment une information sur n bits.

QAQBQCQD
Sortie srie
Dcalage gauche
Entre srie

Sortie srie
Dcalage droite

Registre dcalage

Validation de
lentre srie

Dc Val A B C D

Dcalage Validation
D/G

Entres parallles
Chargement parallle

9.1 Dfinition
Un registre est un circuit constitu de n bascules synchronises permettant de
stocker temporairement un mot binaire de n bits en vue de son transfert dans
un autre circuit (pour traitement, affichage, mmorisation, etc.)
Le schma dun tel systme comporte autant de bascules (de type D) que
dlments binaires mmoriser. Toutes les bascules sont commandes par
le mme signal dhorloge.

129

Chapitre 9 :

Registres : stockage et transfert de donnes

Moyennant une interconnexion entre les cellules (les bascules D), un registre
est capable doprer une translation des chiffres du nombre initialement stock. Le dplacement seffectue soit vers la droite soit vers la gauche. Le registre
est alors appel registre dcalage .
Applications :
conversion srie-parallle dune information numrique ;
oprations de multiplications et divisions par deux ;
ligne retard numrique ;
mmoires accs squentiel
Registre universel : il rsume les diffrentes entres et sorties dun registre
dcalage procurant tous les modes de fonctionnement possibles.

9.2 Registre de mmorisation : criture et lecture


parallles

`Cba0P Cb`a0
`

`

0
a
aP
P CbP Cb0

Tous les bits du mot traiter sont crits (entre criture E=1), ou lus, (entre
lecture L=1), simultanment.
AD 3

BD 2

Clk

DD 0

Clk

CD 1

Validation transfert

Clk

Clk

Validation chargement

Q
C

stockage en parallle et transfert en parallle dun mot de 4 bits.

9.3 Registres dcalage


Comme son nom lindique, un registre dcalage consiste dcaler bit par bit
un mot binaire soit vers la gauche, soit vers la droite. Le registre dcalage peut
tre criture et lecture srie ou parallle.
Remarque

9.1

Un registre dcalage droite peut tre utilis comme un diviseur par 2 alors
quun registre dcalage gauche peut tre utilis comme un multiplieur par 2.

130

20022009 C. Diou

9.3. Registres dcalage

`Cba0
`

`

`

a
0
0
a
0
a
P CbP CbP CbP

9.3.1 Registre criture srie et lecture srie


D

Clk

Clk

Clk

Clk

Aprs 4 pulsations de CLK, les 4 bits sont entrs dans le registre.


Aprs 4 autres cycles dhorloge, les 4 bits sont dplacs vers la sortie.
Leur application est essentiellement le calcul arithmtique binaire. CLK est
alors lentre de dcalage.

`Cba0P `Cb0aP Cb
`a0

`

P Cba0
P

9.3.2 Registre criture srie et lecture parallle


D

Clk

Clk

Clk

Clk

QA

QB

QC

QD

Lorsque lentre est stocke, chaque bit apparat simultanment sur les lignes
de sortie.
Le registre dcalage est utilis comme convertisseur srie-parallle. Il est ncessaire la rception lors dune transmission srie.

9.3.3 Registre criture parallle et lecture srie


Utilis comme convertisseur parallle-srie, il est ncessaire lmission lors
dune transmission srie.
Entre parallle

A B CD
shift/load

20022009 C. Diou

Registre paralllesrie

Sortie donne

131

e1

e2

en

ei

C
D1Registres
Q1
D2 Q2
Di Qi
: stockage et transfert de donnes

Dn Qn

Chapitre 9 :

H
S/L

q1
A

q2

qi

qn

Figure 6.18 : Registre dcalage droite


Remarque

9.4 Registre universel


Le registre universel permet quatre modes de fonctionnement commands par
deux variables S1 et S2 .
en
e1
e2
ei
Qi-1
Qi
Qi+1

C1
C2
H
q1

q2

Di Qi

qi

qn

Di = C1.C2 .ei + C1.C2.Qi-1 + C1.C2.Qi+1 + C1.C2.Qi

Ces entres de slection S1 et S2 sont en fait les entres de slection de multiplexeurs connects aux entres des bascules. Ces multiplexeurs quatre entres permettent donc quatre modes de fonctionnement :lentre D de chaque
bascule est ainsi fonction du mode de fonctionnement dsir.
S1 S2 Mode
0
0
Chargement parallle
0
1
Dcalage droite
Dcalage gauche
1
0
1
1
Inhibition de lhorloge
Page 6.7

132

20022009 C. Diou

Chapitre 10 n

Les compteurs
Claude Elwood Shannon
? 30 avr. 1916, Gaylord, E.-U.
24 fv. 2001, Medford, E.-U.

The moe important results [moely given in the form of theorems with proofs] deal
with conditions under which funcions of one or more variables can be generated, and
conditions under which ordinary diverential equations can be solved. Some arention is
given to approximation of funcions (which cannot be generated exacly), approximation of
gear ratios and automatic speed control.
(Claude E. Shannon, Mathematical theory of the diverential analyzer, 1941)

Dnition 10.1

Compteur : un compteur est un circuit squentiel comportant n bascules dcrivant


au rythme d'une horloge un cycle de comptage rgulier ou quelconque d'un maximum
de 2n combinaisons.

Dnition 10.2

tat, Modulo : la combinaison de sortie d'un compteur est appel tat, et le nombre

d'tats possibles d'un compteur est appel modulo.

Un compteur modulo N passera donc successivement par N tats. Un compteur binaire naturel comptera donc de 0 N 1. Le graphe suivant prsente les diffrents tats parcourus par
un compteur modulo 8.

133

@ABC
GFED
7 001

+ GFED
@ABC
010

@ABC
GFED
000

@ABC
GFED
011

@ABC
GFED
111

@ABC
GFED
100

@ABC
GFED
110 k

@ABC
GFED
101

Chapitre 10 :

Les compteurs

10.1 Compteur asynchrone (


propagation)
Nous avons vu dans la section 8.5 page 126 comment raliser une division par
deux laide de bascules JK. En cascadant des bascules JK montes en diviseurs
de frquence, on peut donc raliser un compteur dont le modulo dpendra du
nombre de bascules.

10.1.1 Compteur asynchrone cycle rgulier


B Exemple 10.1
Compteur asynchrone 4 bits (compte de 0 15).

10.1.1.a Ralisation laide de bascules JK


A
H

1
1

J
K

Q
Q

B
1
1

J
K

Q
Q

C
1
1

J
K

Q
Q

1
1

D
J
K

Q
Q

La sortie de chaque bascule agit comme le signal dhorloge de la suivante.


Fonctionnement
J=K=1 ; toutes les bascules commutent sur des fronts descendants ;
la bascule A commute chaque front descendant du signal dhorloge ;
la sortie de la bascule 1 sert dhorloge pour la bascule 2 B commute
chaque fois que A passe de 1 0 ;
de la mme manire, C commute lorsque B passe de 1 0, et D commute
lorsque C passe de 1 0.
10.1.1.b Table dimplication squentielle
Elle montre les tats binaires pris par les bascules aprs chaque front descendant.

134

20022009 C. Diou

10.1. Compteur asynchrone ( propagation)

N D C B A
0
0
0 0 0
1
0
0 0 1
0
0 1 0
2
3
0
0 1 1
4
0
1 0 0
5
0
1 0 1
..
..
..
..
..
.
.
.
.
.
1
1 1 1
15
16
0
0 0 0
..
..
..
..
..
.
.
.
.
.
Si on imagine que DCBA reprsente un nombre binaire, le compteur ralise la
suite des nombres binaires allant de 0000 1111 (soit de 0 15).
A prs la 15me impulsion, les bascules sont dans la condition 1111. Quand
la 16me impulsion arrive, le compteur affiche 0000 : un nouveau cycle commence.
10.1.1.c Chronogramme
H
A
B
C
D
chaque bascule divise par deux la frquence dhorloge qui alimente son enfinitale
tre CLK : fD =
.
16
Application : avec ce genre de circuit, on peut diviser la frquence initiale par
nimporte quelle puissance de 2.
10.1.1.d Modulo
cest le nombre dtat occups par le compteur pendant un cycle complet ;
le modulo maximal dun compteur n bits (n bascules) est 2n ;
ex. : compteur 4 bits 16 tats distincts modulo 16.

20022009 C. Diou

135

Chapitre 10 :

Les compteurs

10.1.2 Dcompteurs asynchrones


Il suffit de piloter chaque entre CLK des bascules au moyen de la sortie complmente de la bascule prcdente.

B Exemple 10.2
Dcompteur modulo 8
H

A
A

B
B

C
C

Chronogramme :
H
A
B
C

10.1.3 Compteur asynchrone modulo N < 2n ( cycle


rgulier)
10.1.3.a Mthode
Pour raliser un compteur ou un dcompteur dont le cycle nest pas une puissance de 2, la seule solution est dagir sur lentre Clear lorsque la combinaison correspondant au modulo du compteur se produit sur les sorties de
celui-ci.
Ainsi, pour 2N-1 < N < 2N , on ralise un compteur modulo 2n (avec n bascules),
puis on raccourcit le cycle en jouant sur les entres RAZ des bascules.

B Exemple 10.3
Compteur asynchrone modulo 6 : 22 < 6 < 23 on ralise un compteur modulo
8 avec 3 bascules, et on ramne le compteur 000 ds que Q2 Q1 Q0 = 110.
ds que la sortie de la porte NAND passe 0, les bascules sont forces 0 : le
compteur se remet compter partir de 0.
le compteur ralis compte de 000 101 (de 0 5) puis recommence un nouveau cycle modulo 6

136

20022009 C. Diou

10.1. Compteur asynchrone ( propagation)

Q0

Q1

Q2

H
Q1
Q2

10.1.3.b Table dimplication squentielle


N Q2 Q1 Q0
0
0
0
0
1
0
0
1
0
1
0
2
3
0
1
1
4
1
0
0
1
0
1
5
6
1
1
0
0 0 0
Q2 Q1 Q0 = 110 est un tat temporaire. Il existe mais pendant une dure trs
courte. Cest un tat indsirable que lon nomme parfois glitch.
10.1.3.c Chronogramme
H
Q0
Q1
Q2
Remarque

10.1

Les sorties Q2 et Q1 ne sont pas des ondes carres.

10.1.4 Comptage asynchrone dans un ordre quelconque (cycle


irrgulier)
1re mthode
On ralise un compteur de mme modulo, puis on transcode ses sorties pour
obtenir le cycle demand.

B Exemple 10.4
Cycle 2, 5, 6, 8, 4, 10

20022009 C. Diou

137

Chapitre 10 :

Les compteurs

modulo
6

H
N
0
1
2
3
4
5

Q2
0
0
0
0
1
1

Q1
0
0
1
1
0
0

Q0
Q1
Q2
Q3

Transcodeur

Q0
0
1
0
1
0
1

Q03
0
0
0
1
0
1

Q02
0
1
1
0
1
0

Q01
1
0
1
0
0
1

Q00
0
1
0
0
0
0

2
5
6
8
4
10

2me mthode
Utilisation des entres RAZ et RAU.

B Exemple 10.5
Cycle 0, 1, 2, 3, 5, 6, 8, 9, 11, 12, 15 : on ralise un compteur modulo 16 et on agit
sur les RAU pour sauter les tapes.

10.1.5 Exemple de CI
Il existe de nombreuses puces en technologies TTL et CMOS. Parmi les plus
populaires on trouve en TTL le 7493 qui est un compteur 4 bits, et en CMOS le
4024 qui est un compteur 7 bits.
CP1

7493 TTL

CP0

MR1 MR2 Q3 Q2 Q1 Q0

Circuit interne
H=CP1
H=CP0
MR1
MR2

RAZ

RAZ

Q0

RAZ

Q1

RAZ

Q2

Q3

MR Master Reset.

138

20022009 C. Diou

10.2. Compteur synchrone (parallle)

10.1.6 Inconvnients des compteurs asynchrones


Chaque bascule introduit un retard de D p (D p =25ns). Comme les bascules ne
commutent pas sur le mme signal dhorloge, les retards sadditionnent : la
n ime bascule, on a un retard Tm de n D p .
Ainsi, la frquence maximum de fonctionnement F H dun compteur modulo
n, constitu de n bascules de dlai de propagation D p dpend du nombre de
bascules du compteur et donc du modulo du compteur. Cette frquence peut
tre tablie comme suit :
Tm = D p n :

Dlai de propagation du compteur

T H = 2 Tm :

Priode min de lhorloge

F H = 1/(2 Tm ) : Frquence max de lhorloge = 1/(2 n D p )


Laccumulation des retards des bascules implique une utilisation du compteur limite en frquence, particulirement lorsque le nombre de bits est lev,
puisque le nombre de bascules augmente en mme temps que le nombre de
bits.
Les fronts des signaux appliqus sur les entres dhorloge des bascules nayant
pas lieu au mme instant cause des retards diffrents, les sorties ne changent
pas dtat en mme temps, ce qui implique un problme dinterface avec des
circuits rapides (temps de lecture infrieur au retard entre plusieurs bits).
Dautre part, ces retards de commutation introduisent des tats transitoires relativement consquents, particulirement lorsque le nombre de bascules traverses est important.
Mais linconvnient le plus important est li au fait que cette structure ncessite de la logique sur des signaux asynchrones (lhorloge est gnre par une
bascule et le signal Clear est gnr par une structure combinatoire). Cette logique combinatoire peut donc engendrer (ou propager) des tats transitoires
qui peuvent entraner des dysfonctionnements du compteur.

10.2 Compteur synchrone (parallle)


Toutes les bascules sont dclenches en mme temps par le mme signal
dhorloge. Ceci vite le problme du retard de propagation.

20022009 C. Diou

139

Chapitre 10 :

Les compteurs

10.2.1 Ralisation
Elle est possible avec des bascules JK, D ou T.

B Exemple 10.6
Ralisation dun compteur modulo 8 ( cycle complet) laide de bascules T
Table dexcitation
Q2
Q1
Q0
Q+
Q+
Q+
T2
T1
2
1
0
0
0
0
0
0
1
0
0
0
0
1
0
1
0
0
1
0
1
1
0
0
0
1
0
0
1
1
1
0
0
1
1
1
0
0
1
0
1
0
0
1
0
1
1
1
0
0
1
1
1
1
0
0
1
1
0
1
1
1
0
0
0
1
1
On constate que : T0 = 1 et T1 =Q0 et T2 =Q1 Q0

T0
1
1
1
1
1
1
1
1

`
`

`

#a
0
#a
0
#a
0
@b
@bP @bP P

T Q
Clk


T Q

&

T Q
Clk

Clk

B Exemple 10.7

Ralisation dun compteur synchrone dcrivant le cycle 4, 9, 1, 3, 2.


a) laide de bascules JK :

b) laide de bascules D :

140

20022009 C. Diou

10.2. Compteur synchrone (parallle)

c) laide de bascules T :

10.2.2 Exemples de circuit intgr


Compteur pr-rglable 74160 (74161, 74162, 74163)
ltat initial du compteur est rglable laide des entres D1 , D2 , D3 , D4 ;
validation : elle permet de verrouiller le compteur.
Circuit Comptage
Chargement RAZ
74160
synchr. DCB synchrone
asynchrone
74161
synchr. bin.
synchrone
asynchrone
74162
synchr. DCB synchrone
synchrone
74163
synchr. bin.
synchrone
synchrone
RAZ synchrone : indpendant de lhorloge.
RAZ asynchrone : 000 est obtenu au coup dhorloge suivant linstant ou clear
est port ltat actif 0.
Compteur rversible pr-rglable 74193

MR : entre de rinitialisation asynchrone


Q0 . . . Q3 : sorties des bascules
P0 . . . P3 : entre des donnes parallles
PL : entre de chargement asynchrone
CPU : entre du signal dhorloge de comptage
CPD : entre du signal dhorloge de dcomptage
EC : valide le comptage

20022009 C. Diou

141

Chapitre 10 :

Les compteurs

ED : valide le dcomptage
Remarque

10.2

Toutes les commandes agissant sur le comptage sont regroupes sur la figure cidessous :

10.2.3 Applications
10.2.3.a Compteur de frquence
Circuit qui mesure et affiche la frquence dun signal impulsionnel (mesure de
frquence inconnue).

Principe dun compteur de frquence


: dure pendant laquelle les impulsions sont comptes
: RAZ met le compteur zro
: f = contenu
t 2 t 1
Remarque

10.3

Le compteur est un montage en cascade de compteurs DCB, chacun


ayant une unit dcodeur/afficheur (affichage dcimal).

B
142

20022009 C. Diou

10.3. Rsum sur les mthodes de conception des compteurs

La prcision de cette mthode est fonction de lintervalle dchantillonnage.

10.2.3.b Horloge numrique

10.3 Rsum sur les mthodes de conception des


compteurs
On a vu que la mthode employer pour concevoir un compteur dpend de la
catgorie du compteur.
On distingue dj les compteurs synchrones des compteurs asynchrones. Si
premire vue la ralisation dun compteur asynchrone semble plus simple, il
savre que la mthode de conception des compteurs synchrones permet une
plus grande souplesse dans la ralisation de cycles volus : ceci est d au fait
que les entres des bascules constituant un compteur synchrone sont configurables, ce qui nest pas le cas avec un compteur asynchrone.
Au sein dune catgorie de compteurs, on trouve galement des diffrences
dans la dmarche de conception selon la nature du cycle de comptage (modulo n ou 2n , cycle rgulier ou non, etc.).

10.3.1 Compteur asynchrone


Un compteur asynchrone est constitu par des diviseurs de frquence par
deux, connects en cascade : la sortie dun diviseur de frquence est utilis
comme signal dhorloge pour le diviseur suivant.

20022009 C. Diou

143

Chapitre 10 :

Les compteurs

Les diviseurs de frquence doivent tre sensibles au front descendant des signaux dhorloge ; dans le cas contraire, le systme constitue un dcompteur.
1. compteur asynchrone cycle rgulier complet modulo 2n ;
Ce type de compteur est le plus simple raliser : comme le modulo de
ce compteur est une puissance de 2, le compteur reprend le cycle 0
aprs avoir parcouru les 2n tats (de 0 2n 1).
Il ny a donc aucun contrle effectuer.
2. compteur asynchrone cycle rgulier complet modulo n ;
Ce type de compteur se conoit comme un compteur asynchrone modulo 2n auquel on ajoute de la logique permettant de dtecter le premier
tat indsir n + 1. Ds que cet tat est dtect, toutes les bascules sont
alors forces ltat bas laide de lentre de mise zro (clear, reset,
etc.)
Une variante consiste dtecter le dernier tat valide n puis forcer
immdiatement les sorties de toutes les bascules un laide des entres de mise un (set, preset, etc.). Linconvnient de cette mthode
est quelle conduit un cycle irrgulier, et que ltat (111 . . . 11) doit tre
transcod pour donner un tat valide.
3. compteur asynchrone cycle rgulier incomplet ;
Ce type de compteur est conu comme un compteur modulo n ceci
prs que la logique de dtection des tats invalides doit prendre en
compte non seulement le dernier tat, mais galement tous les tats
intermdiaires qui nappartiennent pas aux tats valides du compteur.
Ceci implique que ltat du compteur peut tre forc non seulement
zro, mais galement un tat k < n : les entres de mise un seront
donc utilises en plus des entres de mise zro.

B Exemple 10.8
Un compteur parcourant le cycle 0146 sera conu comme un modulo
7, mais les tats 2 et 5 seront dtects en plus de ltat 7. Pour ltat 2,
le compteur est forc ltat 4, et pour ltat 5, il est forc ltat 6. Il
sera forc ltat 0 pour ltat 7, comme pour un compteur modulo 7
classique.

4. compteur asynchrone cycle irrgulier ;

144

20022009 C. Diou

10.3. Rsum sur les mthodes de conception des compteurs

Ce type de compteur doit obligatoirement tre conu laide dun


compteur cycle rgulier dont les tats seront ensuite transcods pour
fournir les tats dsirs.

B Exemple 10.9
Un compteur, un compteur qui parcoure le cycle 03175 sera conu
comme un compteur modulo 5, mais les tats 0, 1, 2, 3, 4 seront convertis
respectivement en 0, 3, 1, 7, 5.

Cette technique fonctionne galement si le compteur traverse plusieurs


fois le mme tat

B Exemple 10.10
03173 sera conu de la mme manire que prcdemment, mais les
tats 1 et 4 seront tous les deux transcods en 3.

Notez que, du fait de la structure dun compteur asynchrone, cette technique est la seule mthode permettant de faire passer le compteur plusieurs fois par le mme cycle : il est en effet impossible de dfinir le signal dentre des bascules, car celles-ci sont configures en diviseurs
de frquence par deux. La seule autre solution (dans le cadre du comptage asynchrone) serait dajouter des bascules permettant de sauvegarder ltat prcdent du compteur).
Remarque

10.4

Utilisation des entres asynchrones prioritaires Clear et Preset : Le propre


dun compteur est de compter ! Lutilisation des entres asynchrones prioritaires
a donc ceci de dangereux que ces entres sont justement prioritaires est ignorent
tout autre signal ! En consquence, lorsque lon dfinit les entres Clear et

Preset, il faut veiller ce que celles-ci soient actives (mises zro) uniquement pour les tats indsirables !
Ainsi, on ne peut pas dfinir les entres prioritaires pour les tats que lon souhaite conserver, puisque ces entres invalideraient instantanment ltat courant du compteur. La rgle est donc de forcer lentre Clear ou Preset ds que
ltat indsirable est atteint, mais de la laisser un le reste du temps.

10.3.2 Compteur synchrone


1. compteur synchrone modulo n ;
2. compteur synchrone cycle irrgulier.

20022009 C. Diou

145

Chapitre 11 n

Mthodes dtude des circuits


squentiels
Charles Lutwidge Dodgson
ou Lewis Carroll
? 1832 1898

Can you do addition ? the White Queen asked. What's one and one and one and one and
one and one and one and one and one and one ?
I don't know, said Alice I loe count.
(Lewis Carroll, Through the Looking Glass)

De nombreux outils permettent danalyser le fonctionnement et/ou de prvoir


lvolution dun systme squentiel :
1) Mthodes descriptives :
a) les tables dtat : elles donnent ltat futur des sorties pour les lments de mmoire inclus dans les systmes et ltat des sorties :
A B S
S+
;
b) les diagrammes des temps (chronogrammes) : ils dcrivent la succession des signaux dentre, des tats des lments de mmoire. Ils reprsentent la succession des tats logiques en fonction du temps.
2) Les diagrammes dtats ou graphes : ce sont des reprsentations formelles
avec nuds et flches pour reprsenter les tats stables et les transitions.
Le graphe donne une image gomtrique dune table de vrit.
3) Le grafcet : automatismes industriels : tape transition tape.
4) Les thories formelles : quations qui reprsentent laction effectuer et
ltat futur dun lment de mmoire en fonction des entres et de ltat
prsent des mmoires.

147

Quatrime partie

Architecture des ordinateurs

Chapitre 12 n

Concepts de base des processeurs


John von Neumann
? 28 dc. 1903, Budapest, Hongrie
8 fv. 1957, Washington D.C., E.-U.

Si quelqu'un croit que les mathmatiques sont diHciles, c'ee simplement qu'il ne ralise
pas comme la vie ee complexe !
(John von Neumann)

151

Cinquime partie

Technologie des portes


logiques

Chapitre 13 n

Famille des circuits logiques


William Bradford Shockley, ? 13 fv. 1910, London, R.-U. ; 12 aot 1989, London, R.-U.
John Bardeen, ? 23 mai 1908, Madison, Wisconsin, E.-U. ; 30 jan. 1991
Walter Houser Brattain, ? 10 fv. 1902, Amoy, Chine ; 13 oct. 1987

Laurats du Prix Nobel de Physique de 1956 pour l'invention du transieor. John Bardeen
obtiendra un second Prix Nobel de Physique en 1972 pour ses travaux sur la supraconducivit. La qualit des travaux de Shockley sur le transieor ne doit cependant pas crdibiliser
ses thories eugniques d'un autre ge ...

Les technologies de portes logiques ont volu partir de la technologie DiodeLogic (DL). Celle-ci a volu en Resistor-Transistor-Logic (RTL) puis DiodeTransistor-Logic (DTL), avant daboutir la famille la plus populaire en son
temps, la famille Transistor-Transistor Logic (TTL, CI 54xx ou 74xx).
Dautres technologies existent qui prsentent chacunes des avantages et des
inconvnients propres :
ECL (Emitter-Coupled Logic) pour des circuits rapides (10xxx) ;
MOS (Metal Oxyd Semiconductor) haute intgration ;
CMOS (Complementary Metal Oxyd Semiconductor) faible consom. (40xx) ;
I2 L (Integrated Injection Logic) haute intgration.
Certaines fonctionnent en logique positive, dautres en logique ngative.

155

Chapitre 13 :

Famille des circuits logiques

13.1 Caractristiques dune famille de circuits numriques


Une famille de circuits logiques est dfinie par les caractristiques dont les dfinitions suivent. Ces dfinitions sont ncessaires pour bien comprendre les
diffrentes notions dont il est question dans ce chapitre.

Dnition 13.1

Amplication : L'amplication reprsente la capacit d'une porte logique d'amplier

la tension ou le courant prsent son entre de manire ce que le signal ne soit


pas dgrad aprs avoir travers plusieurs portes.
Dnition 13.2

Gain en courant : Le gain en courant d'une porte reprsente le rapport du courant


la sortie de cette porte sur celui son entre pour le mme niveau de tension. Il y
a donc deux valeurs de ce gain une pour chaque niveau logique.

Dnition 13.3

La sortance ou fan-out est le nombre d'units de  charge logique 


disponibles la sortie d'une porte ; cette unit correspond la valeur du courant
ncessaire pour commander une entre de circuit logique

Sortance :

Dnition 13.4

Entrance : L'entrance ou

fan-in est le nombre d'units de  charge logique  ncessaire en entre pour faire fonctionner la porte.

Dnition 13.5

Le temps de traverse est l'intervalle de temps qui spare le


signal d'entre du signal de sortie qui en est la consquence.
Temps de traverse :

Dnition 13.6

Les temps de monte (respectivement de


descente) d'un signal et l'intervalle de temps ncessaire au signal pour passer de 10%
90% (respectivement de 90% 10%) de sa valeur nominale.
Temps de monte, temps de descente :

156

20022009 C. Diou

13.2. volution des diffrentes familles logiques

Dautres paramtres caractristiques des circuits logiques peuvent avoir un


impact lors du choix technologique, mais nentrent pas dans le cadre de ce chapitre : dissipation dnergie, tolrance, fiabilit, immunit aux parasites, cot,
packaging, etc.

13.2 volution des diffrentes familles logiques


Pourquoi cette volution ?
Le principal moteur de lvolution des technologies de circuits intgrs est,
comme bien souvent, le prix.
En 1960, une diode cotait autant que 10 rsistances, et un transistor autant
que 50 rsistances (ou 5 diodes). En 1966, une diode valait autant que 2 rsistances, et un transistor autant que 10 rsistance (toujours 5 diodes).
Cet tat de fait a influ sur les premires technologies de circuits composants
discrets utilisant peu de transistors est beaucoup de rsistances et de diodes :
DL, DTL, DCTL, RTL, etc.
Aujourdhui un transistor ne cote pas plus cher quune diode, mais une rsistance vaut autant que de nombreuses diodes pour plusieurs raisons : une
raison technologique dabord qui tient compte de la nature du matriaux utilis pour raliser la rsistance, mais aussi et surtout par la place importante
quoccupe une rsistance sur le silicium. De plus, une rsistance, par dfinition, dissipe beaucoup dnergie et entrane une lvation de la temprature
du circuit.
Toutes ces raisons font que les technologies actuelles utilisent principalement
des transistors et peu de rsistances (TTL, ECL) voire pas du tout de rsistances
(I2 L, CMOS).

tat de lart actuel


Les technologies transistors bipolaires :
DTL :

diode transistor logic (abandonn)

DCTL : direct coupled transistor logique


RTL :

resistor transistor logic

RCTL :

resistor capacitor transistor logic (abandonn)

20022009 C. Diou

157

Chapitre 13 :

Famille des circuits logiques

ECL :

emitter coupled logic

CML :

current mode logic

TTL :

transistor transistor logic

CTL :

complementary transistor logic (abandonn)

I2 L :

integrated injection logic

Les technologies transistors MOS :


MOSP : metal oxyd semiconductor canal P
MOSN : metal oxyd semiconductor canal N
CMOS : complementary metal oxyd semiconductor
SOS :

silicon on sapphir or spinel (MOS dpos sur saphir ou spinelle)

SOI :

silicon on insulator (MOS dpos sur isolant SiO2 )

13.3 Prsentation des diffrentes familles logiques


13.3.1 Diode Logic (DL)
La logique DL tire parti du fait que la diode est un composant lectronique qui
ne conduit le courant lectrique que dans une seule direction. Ainsi, la diode
agit comme un interrupteur lectronique.
Le schma ci-contre illustre une porte OU
conue en technologie DL. On considre que
D1
A
Z = A + B
le 1 logique est reprsent par +5 V, et que le

0 logique est reprsent par la masse, ou 0 V.


D2
Si les deux entres sont laisses non connecB

tes, ou sont toutes les deux ltat 0, la sortie

Z sera galement force la masse par la rsistance, et donc force ltat 0. Si lune ou
R1


lautre des entres est force +5 V, la diode


correspondante devient alors passante, ce qui
force la sortie ltat logic 1. Si les deux entres sont 1, la sortie sera toujours 1 galement.
Le schma ci-aprs illustre une porte ET en DL. Les mmes niveaux logiques
sont utiliss, mais les diodes sont inverses et la rsistance est configure pour
rappeler la tension de sortie ltat logique 1.




158

20022009 C. Diou

13.3. Prsentation des diffrentes familles logiques

+V
Si les deux entres sont non connectes ou si

elles sont toutes les deux ltat logique 1, la


sortie Z sera galement ltat logique 1. Si
R1
lune ou lautre des entres est connecte la

D2

masse (tat logique 0), la diode conduit et raA



mne la masse vers la sortie, qui est donc for
D1
ce ltat logique 0 galement.

B
Z = A.B
Dans les exemples prcdents, nous avons
considr que les diodes nintroduisaient aucune erreur ni aucune perte dans le circuit, ce
qui nest pas vraiment le cas : une diode va entraner une perte de tension denviron 0,650,7 volts lorsquelle conduit. Nous pouvons cependant nous affranchir de ce problme en dfinissant un tat logique 1 comme une tension suprieure 3,5 V, et un tat logique 0 comme une tension infrieure 1,5 V. Tout
niveau compris entre 1,5 et 3,5 V sera considr comme illgal : cest la rgion
pour laquelle le niveau logique est non dfini.
Lutilisation de portes individuelles reposant sur cette technologie ne pose pas
de problme, du moment que lon respecte les contraintes sur les niveaux de
tension.
Cependant, si nous cascadons plusieurs portes DL, des problmes peuvent
apparatre. Dans lexemple ci-contre,
nous avons deux portes ET dont les
sorties sont connectes aux entres
dune porte OU. Ce schma est trs
simple et ne semble pas poser de problme. En pratique, il en va diffremment !
Si nous forons les entres ltat bas
0, la sortie sera galement force 0 ;
aucun problme donc.
Cependant, si les deux entres de lune
ou lautre des portes ET sont +5 V,
les diodes de la porte OU seront alors
passantes (niveau haut ramen sur les
anodes), et le courant circulera alors travers la rsistance de la porte ET,
travers la diode, et travers la rsistance de la porte OU.

20022009 C. Diou

159

Chapitre 13 :

Famille des circuits logiques

Si on considre que les rsistances sont dgale valeur (ce qui est typiquement
le cas), elles vont se comporter comme un diviseur de tension et ainsi partager
le +5 V en deux parties gales ; la diode de la porte OU va galement introduire
une lgre perte de tension, et la tension de sortie du systme sera alors denviron 2,1 ou 2,2 V. Si les deux portes ET voient leurs deux entres au niveau
logique 1, la tension de sortie peut monter 2,8 ou 2,9 V. En tout tat de cause,
la tension de sortie de la porte OU sera dans la zone interdite , rgion de la
tension pour laquelle le niveau logique nest pas dfini.
En poursuivant plus avant, si on connecte les sorties de deux ou plus de ces
structures une autre porte OU, nous perdons tout contrle sur la tension de
sortie : il va se trouver quelquepart une diode polarise en inverse qui va bloquer le signal dentre, empchant le circuit de fonctionner correctement.
Cest pourquoi la logique DL ne peut tre utilise que pour des portes uniques,
et dans des circonstance spcifiques.

13.3.2 Resistor Transistor Logic (RTL)


Considrons le circuit transistor le plus simple qui
soit, comme celui-ci ci-contre gauche. Nous appliquerons uniquement lune des deux tensions suivantes lentre I : 0 V (0 logique) ou +V volts (1 logique). La valeur exacte de la tension +V dpend des
paramtres du circuit ; dans les circuits intgrs RTL,
la tension habituellement utilise est +3,6 V. Considrons que le transistor utilis ici est un transistor
NPN avec un gain en courant raisonnable, une tension metteur-base de 0,65 V, et une tension de saturation collecteur-metteur
infrieure 0,3 V. Dans les circuits intgrs RTL standards, la rsistance de base
est de 470 , et la rsistance de collecteur est de 640 .
Lorsque la tension dentre est zro volt (en pratique, nimporte quelle tension
infrieure 0,5 V), il ny a pas de courant metteur-base et le transistor est bloqu. Ainsi, aucun courant ne circule travers la rsistance de collecteur, et la
tension de sortie est de +V volts. En dautres termes, un 0 logique en entre
rsulte en un 1 logique en sortie.
Lorsque la tension dentre est de +V volts, la jonction metteur-base est polarise est le transistor passant. La tension de sortie sera donc de 3, 60, 65 = 2, 95
volts appliqu au travers dune combinaison de rsistances en srie de 640

160

20022009 C. Diou

13.3. Prsentation des diffrentes familles logiques

pour la rsistance de sortie et de 470 pour la rsistance dentre. Ceci nous


donne un courant de base de 2, 95/1110 = 0, 0026576577 = 2, 66 mA.
La logique RTL est une technologie relativement ancienne, et les transistors
utiliss dans les circuits intgrs RTL ont un gain denviron 60 100. Si on
considre un gain de 60, un courant de base de 2,66 mA supporte un courant
de collecteur maximal de 159,6 mA. Si la chute de tension aux bornes de la rsistance de collecteur de 640 est de 3,3 V (3, 6 0, 3), le courant sera alors de
5,1 mA. Ainsi, le transistor sera compltement satur.
Avec un 1 logique en entre, ce circuit produit un 0 logique en sortie, et nous
vu quun 0 logique en entre, il produit un 1 logique en circuit : ce circuit est
un inverseur.
Comme nous pouvons le
constater lissue des calculs prcdents, la quantit de courant fournie la
base du transistor est beaucoup plus importante que
ce qui est ncessaire pour
faire commuter le transistor
vers la saturation. Ainsi, il
est possible dutiliser une seule sortie pour commander plusieurs entres
dautres portes, ainsi que davoir des portes comportant plusieurs rsistances
dentre. Un tel circuit est reprsent ci-dessus.
Dans ce circuit, nous avons quatre rsistances dentre. Porter lune des entres 3,6 V est suffisant pour saturer le transistor, et appliquer dautre 1 logique additionnels en entre naura pas rellement deffet sur la tension de
sortie. Rappelons que la tension de polarisation sur la base du transistor nexcdera pas 0,65 V, ainsi le courant travers une rsistance dentre relie la
masse ne dpassera pas 0, 65/470 = 1, 383 mA. Ceci nous donne une limite pratique pour le nombre de rsistances dentres pour un seul transistor, mais ne
gnre aucun problme srieux lintrieur de cette limite.
La porte RTL dcrite prcdemment fonctionne, mais elle pose problme
cause dune possible interaction des signaux dentre travers les multiples
rsistances dentre. Une meilleure faon dimplanter une fonction NON-OU est
montre sur le schma suivant.
Ici, chaque transistor a seulement une rsistance dentre, de manire ce quil
ny ait aucune interaction entre les entres. La fonction NON-OU est ralise

20022009 C. Diou

161

Chapitre 13 :

Famille des circuits logiques

la connexion du collecteur commun de tous les transistors qui partagent une


seule rsistance de charge du collecteur.
Ceci est en fait la structure utilise pour tous les circuits intgrs RTL. Le circuit L914,
trs rpandu, est un double
porte NON-OU deux entres,
o chaque porte est une version deux transistors du circuit ci-dessus droite. Il consomme 12 mA lorsque toutes
les sorties sont au niveau logique 0. Ceci correspond parfaitement aux calculs que nous avons effectus prcdemment.
Le fan-out standard pour les portes RTL est de 16. Cependant, le fan-in pour
une porte RTL standard est de 3. Ainsi, une porte produit 16 units de courant en sortie, mais ncessite 3 units pour commander une entre. Il existe
des version basse consommation (low-power) de ces portes qui augmentent
les valeurs des rsistances de base et de collecteur 1,5 k et 3,6 k respectivement. De telles portes demandent moins de courant, et ont typiquement
un fan-in de 1 et un fan-out de 2 ou 3. Elles ont galement une rponse en frquence rduite, de sorte quelles ne peuvent fonctionner aussi rapidement que
les portes standards. Pour obtenir une plus grande capacit de commande en
sortie (fan-out plus lev), on utilise des buffers : ce sont des inverseurs conu
de manire avoir un fan-out de 80. Ils ont galement un fan-in de 6, puisquils utilisent des paires de transistors pour obtenir cette capacit de fournir
plus de courant.
On peut obtenir une fonction NON-ET de deux faons : on peut dinverser les
entres dune porte NON-OU/OU, la transformant ainsi en porte ET/NON-ET, ou
on peut utiliser le circuit prsent ci-contre.
Dans ce circuit, chaque transistor possde sa propre rsistance dentre, ainsi
chacun est contrl par un diffrent signal dentre. Cependant, la seule faon
dont la sortie peut tre ramene au niveau logique 0 est que les deux transistors soient activs par des entres au niveau logique 1. Si lune ou lautre des
entres est au niveau logique 0 le transistor correspondant ne peut conduire,
ainsi aucun courant ne circule dans aucun des transistors. La sortie est donc
au niveau logique 1. Cest le comportement dune porte NON-ET. Il est possible
dinclure un inverseur pour raliser une sortie ET par la mme occasion.

162

20022009 C. Diou

13.3. Prsentation des diffrentes familles logiques

Le problme avec ce circuit NON-ET tient au


fait que les transistors ne sont pas parfaits. La
tension de collecteur de 0,3 V lorsque le transistor est satur devrait idalement tre de 0 V.
Comme elle ne lest pas, il faut examiner ce
quil se passe lorsque lon empile les transistors de cette faon. Avec deux transistors, la
tension de collecteur en saturation cumule
est de 0,6 V, cest--dire seulement trs peu en
de de la tension de base de 0,65 V qui sature
un transistor.
Si lon empile trois transistors pour raliser une porte NON-ET trois entres, la
tension de collecteur en saturation cumule est de 0,9 V : ceci est trop lev, et
provoquera la conduction dans le transistor suivant quelquesoit le niveau logique appliqu en entre. De plus, la charge que constitue le transistor le plus
haut la porte qui le pilote sera diffrente de la charge que constitue le transistor le plus bas. Ce genre dirrgularit peut causer lapparition de problmes,
plus particulirement lorsque la frquence des oprations augmente. cause
de ces problmes, cette approche nest pas utilise avec les circuits intgrs
RTL standards.

13.3.3 Diode Transistor Logic (DTL)


Nous lavons vu 13.3.1, le principal problme avec les portes DL
est quelles dtriorent rapidement
le signal logique. Cependant, elles
fonctionnent pour un tage la
fois si le signal est r-amplifi entre
deux portes : cest le but de la technologie Diode Transistor Logic.
La porte droite est une porte OU
DL suivie par un inverseur tel que
celui prsent 13.3.2.
La fonction OU est toujours ralise
par les diodes. Cependant, quelquesoit le nombre dentres au niveau logique
1, il est certain quil y aura une tension dentre suffisante pour faire passer le

20022009 C. Diou

163

Chapitre 13 :

Famille des circuits logiques

transistor en saturation. Le transistor restera bloqu uniquement si toutes les


entres sont au niveau logique 0. Ainsi le circuit ralise la fonction NON-OU.
Lavantage de ce circuit sur son quivalent RTL est que le OU logique est ralis
par les diodes, et non par les rsistances. Ainsi, il ny a aucune interaction entre
les diffrentes entres, et un nombre quelconque de diodes peut tre utilis
(donc un nombre quelconque dentres). Un inconvnient de ce circuit est la
rsistance dentre du transistor. Sa prsence a tendance ralentir le circuit, et
limite ainsi la vitesse laquelle le transistor est capable de changer dtat.
En premire lecture, la version
NON-ET ci-contre devrait liminer
ce problme. Un niveau logique 0
devrait ramener immdiatement la
masse la base du transistor et
ainsi bloquer ce dernier...
En fait, a ne se passe pas rellement ainsi. Rappelons que la tension de seuil de la diode lorsquelle
conduit est trs proche de la tension prsente la base du transistor (0,65 V). Ainsi, mme lorsque
toutes les entres sont relies la
masse, la base du transistor sera un potentiel denviron 0,65 V, et le transistor
peut conduire ...
Pour rsoudre ce problme, il est
possible dajouter une diode en srie avec le transistor comme montr sur le schma ci-contre. Maintenant, la tension ncessaire pour
faire commuter le transistor est
de 1,3 V. Pour plus de scurit, on
pourrait ajouter une seconde diode
en srie, ce qui ncessiterait 1,95 V
pour saturer le transistor. De plus,
on peut ainsi tre sr que des changements de temprature naffecteront pas de manire significative le
fonctionnement du circuit.

164

20022009 C. Diou

13.3. Prsentation des diffrentes familles logiques

En tout tat de cause, ce circuit fonctionne comme une porte NON-ET. De plus,
comme pour la porte NON-OU, on peut utiliser autant de diodes dentres que
lon veut sans augmenter la tension de seuil. De plus, en labsence de rsistance
en srie dans le circuit dentre, il y a moins deffet de ralentissement, et le
transistor peut commuter plus rapidement et donc grer des frquences plus
leves.
Ceci tant, est-il possible dappliquer la mme raisonnement la
porte NON-OU et liminer la rsistance pour permettre une commutation plus rapide ?
La rponse est oui. Considrons
le circuit ci-contre. On utilise ici
des transistors spars connects
ensembles. Chacun a une entre
unique, et fonctionne donc comme
un inverseur. Cependant, si les collecteurs sont connects ensembles, un 1 logique appliqu lune des entres
forcera la sortie au niveau logique 0. Cest une porte NON-OU.
La mme approche peut tre utilise pour les portes NON-OU/OU RTL, de manire ce que lopration NON-OU soit ralise au niveau des collecteurs plutt
quen utilisant des rsistances. Cette approche limine galement la limite sur
le nombre dentres pouvant tre utilises, puisquil ny a aucune interaction
entre les entres.

13.3.4 Transistor Transistor Logic (TTL)


Avec le dveloppement rapide des circuits intgrs, des nouveaux problmes
sont apparus, et des nouvelles solutions furent dveloppes pour y remdier.
Lun des problmes avec les circuits DTL tait quil fallait autant de place sur le
circuit pour raliser une diode que pour un transistor. Il tait donc souhaitable
de ne pas avoir ncessiter autant de diodes. La question est donc de savoir
par quoi remplacer ces diodes ...
En tudiant la porte DTL ci-contre, on peut constater que les diodes montes
en opposition ressemblent normment aux deux jonctions dun transistor. En
fait, si nous avions un inverseur, il naurait quune seule diode dentre, et il
aurait t possible de remplacer ces deux diodes opposes par un transistor
NPN qui jouerait le mme rle.

20022009 C. Diou

165

Chapitre 13 :

Famille des circuits logiques

En pratique, ceci fonctionne parfaitement. La figure suivante illustre


linverseur rsultant de cette transformation.
De plus, il est possible dajouter plusieurs metteurs au transistor dentre sans accrotre normment lespace ncessaire sur le circuit. Ceci nous permet de raliser
une porte plusieurs entres dans
pratiquement le mme espace quun inverseur.
Les conomies despaces ralises se traduisent
en une conomie significative sur les cots de
fabrication, ce qui rduit les cots au niveau de
lutilisateur final.
Un problme partag par toutes les portes logiques avec un seul transistor de sortie et une
rsistance de rappelle +V (pull-up) sur le collecteur est la vitesse de commutation. Le transistor tire la sortie vers le niveau logique 0 de manire active, mais la rsistance nest pas active
lorsquelle tire la sortie vers le niveau logique 1. cause de facteurs invitables
comme les capacitances du circuit ainsi qu une caractristique des transistors bipolaire appele stockage de charge , cela prendrait un certain temps
aux transistor pour se bloquer compltement et la sortie pour atteindre le
niveau logique 1. Ceci limite la frquence laquelle la porte peut fonctionner.
Les concepteurs de circuits TTL commerciaux rduisent ce problme en modifiant le circuit de sortie. Le rsultat est le circuit de sortie totem pole utilis dans la plupart des circuits intgrs TTL des sries 7400/5400. Le circuit
final utilis dans la plupart des circuits intgrs commerciaux standards est
prsent sur la figure de gauche. Le nombre dentres peut varier un CI commercial peut avoir 6 inverseurs, quatre portes deux entres, trois portes trois
entres, ou deux portes quatre entres. Une porte 8 entre dans un seul boitier est galement disponible. Dans tous les cas la structure du circuit reste la
mme.

166

20022009 C. Diou

13.3. Prsentation des diffrentes familles logiques

13.3.5 Complementary Metal Oxyd Semiconductor Logic


(CMOS)
La technologie CMOS est une technologie plus
rcente base sur lutilisation de transistors MOS
complmentaires pour raliser les fonctions logiques et qui ncessite un courant pratiquement
nul pour fonctionner. Ceci rend cette technologie particulirement intressante dans les applications alimentes par batteries. De plus, elles
peuvent fonctionner avec des tensions variant de
3 V (voire moins pour les dernires technologies :
1,3 V) 15 V.
Les portes CMOS sont toutes bases sur linverseur prsent sur la figure de droite. Les deux
transistors sont des MOSFETs en mode tendu ;
un canal N avec sa source relie la masse, et un
canal P avec sa source connecte +V. Leurs grilles sont relies pour former
lentre, et leurs drains sont relis pour former la sortie.
Les deux MOSFETs sont conus pour avoir des
caractristiques crorrespondantes ; ainsi, ils sont
complmentaires lun de lautre. Lorsquils sont
bloqus, leur rsistance est infinie, et lorsquil
sont passants, la rsistance de leur canal est denviron 200 . Puisque la porte est essentiellement
un circuit ouvert, elle ne consomme aucun courant, et la tension de sortie sera gale soit la
masse, soit la tension dalimentation, selon le
transistor en train de conduire.
Lorsque lentre A est mise la masse (0 logique), le MOSFET canal N nest
pas polaris, il est bloqu. Cest un circuit ouvert, et donc il laisse la ligne de
sortie dconnecte de la masse. En mme temps, le MOSFET canal P est polaris ; il devient passant et son canal a une rsistance denviron 200 , connectant ainsi la ligne de sortie lalimentation. Ceci ramne donc la tension +V
la sortie (1 logique).
Lorsque lentre A est +V (1 logique), le MOSFET canal P est bloqu et le
MOSFET canal N est passant, ramenant la masse vers la sortie (0 logique).

20022009 C. Diou

167

Chapitre 13 :

Famille des circuits logiques

Ainsi, le circuit ralise bien linversion logique en mme temps quil gnre des
rappels actifs +V (pull-up) ou la masse (pull-down), selon ltat de la sortie.
Ce concept peut tre tendu aux
structures NON-OU et NON-ET en
combinant des inverseurs dans une
structure partiellement srie, partiellement parallle. Le circuit prsent ci-dessus est un exemple de
porte NON-OU CMOS deux entres.
Dans ce circuit, si les deux entres
sont ltat bas, les deux MOSFETs
canal P seront passant, induisant
une connexion +V. Les deux MOSFETs canal N seront bloqus, il
ny aura donc pas de connexion la
masse. Cependant, si lune des entres passe ltat haut, le MOSFET canal P
correspondant se bloquera et dconnectera par l mme la sortie du +V, alors
que le MOSFET canal N correspondant deviendra passant, ramenant la sortie
la masse.
La structure peut tre inverse,
comme montr sur la figure prcdente. Ici, nous avons une porte
NON-ET deux entres, pour laquelle un 0 logique sur lune ou
lautre des entres forcera la sortie ltat logique 1. Il faudra par
contre que les deux entres soient
au niveau logique 1 pour autoriser
la sortie passer ltat logique 0.
Cette structure est moins limite
que son quivalent bipolaire, mais
il existe tout de mme des limites
pratiques. Lune de ces limites est
la rsistance cumule des MOSFETs en srie. Ainsi, les totem-ples CMOS ne
contiennent pas plus de quatre entres. Les portes avec plus de quatre entres
sont construites en cascadant les structures plutt que comme des structures
uniques.

168

20022009 C. Diou

13.3. Prsentation des diffrentes familles logiques

Mme avec cette limite, la structure totem-ple cause encore problme dans
certaines applications. Les rsistances de rappel +V et la masse prsentes
en sortie ne sont jamais les mmes, et peuvent changer de manire significative lorsque les entres changent dtat, mme si la sortie ne change pas dtat
logique.
Le rsultat est des
temps de monte et
de descente irrguliers et imprdictibles
pour le signal de sortie. Ce problme a
t rsolu laide des
versions bufferises (srie B) des portes CMOS.
La technique utilise
ici est de faire suivre
la porte NON-ET par
une paire dinverseurs.
Ainsi, la sortie sera toujours pilote par un seul transistor, soit canal P, soir
canal N. Puisque les transistor sont choisis pour tre aussi appairs que possible, la rsistance de sortie de la porte sera toujours la mme, le comportement du signal en est plus prdictible.
Lun des principaux problmes avec les portes CMOS est leur vitesse. Elles ne
peuvent pas fonctionner trs rapidement, cause de leur capacitance dentre
inhrente. Les portes de la srie B permettent de rsoudre en partie ces limitations en fournissant un courant de sortie uniforme et commutant les tats en
sortie plus rapidement, mme si le signal dentre change plus lentement.
Un type de porte, illustr ci-aprs, est unique la technologie CMOS : il sagit
du switch bilatral , plus couramment appel porte de transmission . Cette
porte fait un usage approfondi du fait que les TEC individuels dans un circuit
intgr CMOS sont construits de manire tre symtriques. Et en pratique le
drain et la source de nimporte quel transistor peuvent tre interchangs sans
affecter les performances ni du transistor lui-mme, ni du circuit dans son ensemble.
Lorsque les TEC de type N et P sont connects comme montr dans ce schma
et que leurs grilles sont pilotes par des signaux de contrle complmentaires,
les deux transistors seront passants ou bloqus ensemble, au lieu de ltre alter-

20022009 C. Diou

169

Chapitre 13 :

Famille des circuits logiques

nativement. Sils sont tous les deux bloqus, le chemin parcouru par le signal
est un circuit ouvert : il ny a aucune connexion entre lentre et la sortie. Sils
sont tous les deux passants, il y a une connexion de trs faible rsistance entre
lentre et la sortie, et un signal pourra circuler.
Ce qui est vraiment intressant dans cette structure
est que le signal contrl de
cette manire na pas besoin
dtre un signal numrique.
Aussi longtemps que la tension du signal ne dpassera
pas la tension dalimentation, mme un signal analogique peut tre contrl par
ce type de porte.

170

20022009 C. Diou

13.4. Implantation des oprateurs en technologie CMOS

Chapitre 1

Algbre de commutation

13.4 Implantation des oprateurs en technologie


CMOS
1.6 IMPLANTATION DES OPERATEURS EN TECHNOLOGIE C-MOS
0

Transistor N :
ouvert si grille =0
ferm si grille =1

Transistor P :
ouvert si grille =1
ferm si grille =0

B
E

B
A
B

20022009 C. Diou

171

Sixime partie

Annexes

Annexe A n

Examen sur les systmes de


numration sumrien et babylonien
p
Tablet YBC 7289 (c. 18001600 BCE) : Babylonian approximation to 2 in the context of
Pythagoras Theorem for an isosceles triangle. (Bill Casselman)

La numration msopotamienne utilise essentiellement deux syemes de numration de


position : l'une sexagsimal erice avec les clous et chevrons, l'autre mlangeant syeme
dcimal et sexagsimal. Cere numration ee partage par les Babyloniens et les Akkadiens
et provient de celle utilise par les Sumriens

A.1 Numration
Le systme numrique sumrien primitif est un systme mixte de bases 60 (sexagsimale) et 10 (dcimale). Un nombre dans ce systme est compos des 6 symboles reprsents dans le tableau ci-dessous avec leurs poids respectifs et la notation que nous utiliserons par convention.

Symbole
Poids
Valeur
Notation
Modulo

100 .600
1
T
10

101 .600
10
V
6

100 .601
60
W
10

101 .601
600
X
6

100 .602
3600
Y
10

On peut donc lcrire :


N =z

+y

+x

+w

+v

+t

, soit

N = z.Z + y.Y + x.X + w.W + v.V + t .T , soit


N = z 10 602 + y 602 + x 10 60 + w 60 + v 10 + t , soit
N = (10.z + y) 602 + (10.x + w) 60 + (10.v + t )

175

101 .602
36000
Z

Annexe A :

Examen sur les systmes de numration sumrien et babylonien

o lon retrouve bien la base 60 qui multiplie des nombres exprims en base 10.
Les coefficients t, v, w, x, y, et z reprsentent le nombre doccurences des symboles
respectifs T,V,W,X,Y, et Z.
Exemple :
(45322)10

1 36000 + 2 3600 + 3 600 + 5 60 + 2 10 + 2 1


1

+2

+3

+5

+2

+2

Soit :

Question 1
On dsire coder en binaire le systme de numration sumrien : on nommera
ce code SCB (Sumrien Cod Binaire). Le nombre z.Z+y.Y+x.X+w.W+v.V+t.T
sera alors not (zyxwvt)SCD .
Exemple :
(45322)10 = 1.Z + 2.Y + 3.X + 5.W + 2.V + 2.U = (123522)SCB
a) En fixant la taille des mots SCB 24 bits, et en tenant compte des caractristiques de chaque symbole (modulo), quel est le nombre minimal de bits
assigner chaque symbole ? On considrera Z non born.
b) Quel est, en binaire et en dcimal, le plus grand nombre entier positif quil
est possible de reprsenter dans ce systme (toujours sur 24 bits) ? titre de
comparaison, quel est, toujours en binaire et en dcimal, le plus grand nombre
quil est possible de reprsenter sur 24 bits en DCB ainsi quen binaire pur ?
Tracez un tableau comparatif.

176

20022009 C. Diou

A.2. Arithmtique

A.2 Arithmtique
Rappel de cours :
Laddition de deux nombres cods en DCB se passe de la manire suivante : on
additionne deux deux les chiffres de mme rang (units, dizaines, etc.). Si le
rsultat est infrieur (10)10 , on conserve la valeur obtenue, sinon on ajoute 6 et
on propage la retenue. Ceci est d au fait que les nombres sont cods modulo 16
(4 bits) mais reprsentent une valeur modulo 10 : comme 16-10=6, on ajoute 6
pour complter le modulo.
Exemple :
7 6
7
6
+ 1 1
+
1
7
= 8 7
=
8
D
+ 01 6
=
9
3

Question 2
En considrant que tous les symboles du code SCB sont cods avec un nombre
minimal de bits, expliquez comment appliquer cette mthode laddition de
nombres SCB. Dtaillez et faites un schma.

A.3 Conversion
Le systme numrique babylonien a hrit du systme sumrien et conserve notamment la base sexagsimale. Cependant, la reprsentation des nombres repose
maintenant sur 59 symboles raliss partir de deux graphes uniques :
dont les valeurs respectives sont 1 et 10.

et

Les 59 symboles du systme babylonien sont les suivants :

20022009 C. Diou

177

A.4. Comptage

e) Convertissez

= (1,25,47)60 vers la base 10.

f ) Convertissez
vous ?

= (1,25,47)60 vers la base SCB. Que constatez-

A.4 Comptage
On dsire raliser un compteur synchrone modulo 60 fonctionnement sur
front. En se basant sur lcriture des nombres babyloniens, et bien que le zro
nexiste pas dans ce systme on notera les nombres en base 10 : le chiffre des dizaines varie de 0 5, et celui des units UN de 0 9. On ralisera donc le compteur modulo 60 comme un compteur modulo 10 en cascade avec un compteur
modulo 6.

Question 4
a) Ralisez les deux compteurs en logique synchrone laide :
de bascules D pour le compteur modulo 10 ;
de bascules JK pour le compteur modulo 6 ;
de portes NON-ET ou NON-OU, en expliquant votre choix.
b) De manire faciliter la mise en cascade de ces compteurs synchrones, chacun des deux compteurs devra comporter une entre de validation En , ainsi
quune sortie de dpassement Cout positionne 1 lorsque le compteur atteint
son tat final, et 0 sinon. La table de vrit du compteur sera alors la suivante :
En Mode
0
Mmorisation
1
Comptage
Vous devez imprativement donner les tables dimplication squentielle, ainsi
que les tableaux de Karnaugh si ncessaire, et commenter tous vos choix technologiques.
Sans refaire les calculs, et pour chacun des compteurs, donnez les nouvelles
quations des entres J,K ou D en fonction de En , ainsi que lquation de Cout .

Question 5
Sans entrer dans les dtails, ralisez un vrai compteur modulo 60, et comparez
les cots respectifs des deux mthodes en termes de bascules et de logique

20022009 C. Diou

179

Annexe A :

Examen sur les systmes de numration sumrien et babylonien

combinatoire. Aidez-vous de la structure dun compteur synchrone cycle


complet, sans refaire la table dimplication squentielle.
Rappel de cours :
Pour un compteur modulo 8 (cycle complet sur 3 bits), on obtient les quations
suivantes : J0 =K0 =1, J1 =K1 =Q0 , et J2 =K2 =Q0 .Q1
Le systme sexagsimal, invent il y a plus de 4000 ans, reste trs utilis aujourdhui, notament dans la reprsentation des heures et des angles.
On dsire raliser la commande dun moteur de tlescope avec une prcision
dune seconde darc. Le moteur contrler avance par pas de 1 chaque impulsion de commande, et peut faire un tour complet. Le dplacement effectuer
pour atteindre la position souhaite est stock dans trois registres (deg, mn, sec).
Le principe consiste donc appliquer au moteur un nombre dimpulsions fixe
de manire ce que le parcours effectu soit identique au parcours stock sous
forme dangle dans les registres. Les comparateurs C0 , C1 et C2 dlivrent un niveau haut en sortie tant que les valeurs en entres sont diffrentes lune de lautre.
Le gnrateur dimpulsions fabrique ces impulsions tant quune au moins des
sorties r0 , r1 et r2 des comparateurs est au niveau logique 1. partir du moment
o toutes les sorties des comparateurs sont zro, les sorties des compteurs et du
gnrateur dimpulsions sont forces 0 de manire asynchrone, jusqu lapparition dun nouveau parcours se caractrisant par un basculement vers le niveau
haut dun ou plusieurs comparateurs.

Question 6
Sachant que 1 = 60 et 1 = 60, proposez, partir dun ou plusieurs compteurs,
un systme permettant de positionner le tlscope ; pour cela :
a) Dessinez le schma du compteur en y indiquant les sorties q0 , q1 , q2 et qx .
Prcisez notamment quoi correspondent q2 et qx .
b) Dessinez le schma logique du gnrateur dimpulsions laide des portes
logiques de votre choix.
Note : Nutilisez que des compteurs parmi ceux raliss prcdemment, sans refaire les calculs, et en vous aidant du schma suivant et de la question 4.

180

20022009 C. Diou

A.5. Codage

7b

C0

q0

C1

7b

q1

7 bits

Parcours en secondes darc

7 bits

Parcours en minutes darc

10 bits

Parcours en degrs

10b

C2

q2

(deg)

(mn)

(sec)

REGISTRE DE POSITION

r0
qx

r1

r2

Gnrateur dimpulsions

Horloge

MOTEUR

COMPTEUR(S)

A.5 Codage
Question 7

A
Code B
SCB C
D

DECODEUR
7 SEGMENTS

On veut afficher la valeur du dplacement angulaire laide de 7 afficheurs


7 segments composs de 7 diodes lectroluminescentes commandes par les
bits a,b,c,d,e,f.
a
b
c
d
e
f
g

a
f

c
d

En vous aidant du schma prcdent, ralisez le dcodeur SCB vers 7 segments :


donnez les quations des variables, a,b,c,d,e et f ;
ralisez le schma logique de chacune de ces variables.

20022009 C. Diou

181

Annexe B n

Correction des exercices

183

m
quivalence, 58
tat, 133
absorption, 56, 59, 62, 77
allgement, 77
amplification, 156
associativit, 59, 62
bascule
verrouillage, 118
D, 121
JK, 119
matre-esclave, 119
RS, 114
RS synchrone, 117
RSH, 117
RST, voir bascule
T, 122
base, 11
conversion de base, 1415
binaire, 12
canonique
forme canonique, 60, 77, 108
produit canonique, 61
somme canonique, 60
commutativit, 55, 59, 62, 65
complmentarit, 58
complmentation, 58
compteur, 133
conjonctive
forme conjonctive, 61

Index

consensus, 62
De Morgan, 91
loi de De Morgan, 56, 62
thorme de De Morgan, 59, 64,
67, 68, 77
dilemme, 65
disjonctive
forme disjonctive, 60
distributivit, 55, 59, 62
dualit, 59
lment absorbant, 62
lment neutre, 62
lment nul, 58
entrance, 156
Espresso, 87
fan-in, 156
fan-out, 156
fanout, 162
gain en courant, 156
hexadcimal, 13
idempotence, 56, 58, 62
identit, 57, 62
identit, 55, 63
induction parfaite, 57
involution, 56, 58, 62
latch, 118

185

Index

LSB, 13

QuineMcCluskey, 83, 86, 89

maxterme, 61
minterme, 60, 61
modulo, 133
MSB, 13

Shannon, 133
sortance, 156

octal, 13

temps de descente, 156


temps de monte, 156
temps de traverse, 156

Petrick, 86
polynomiale
reprsentation polynomiale, 11

virgule
virgule fixe, 23
virgule flottante, 2327

186

20022009 C. Diou

Bibliographie

Livres
[LivWhi61] J.E. Whitesitt, Boolean algebra and its applications, 1961,
Addison-Wesley.
[LivLaf]
J.-C. Lafont & J.-P. Vabre, Cours et Problmes dlectronique Numrique , ditions Ellipses.
[LivToc]
R. J. TOCCI, Circuits Numriques, Thorie et Applications , ditions Dunod.

Articles de revues
[ArtKar53] Maurice Karnaugh, The Map Method for Synthesis of Combinational Logic Circuits, Trans. AIEE. pt I, 72(9) :593-599, November
1953.

Sites Web
[WebMul] Daniel Muller, Systmes de numration , http://tic01.tic.

ec-lyon.fr/~muller/trotek/cours/numeration/index.
html.fr

[WebBig]
[Wiki01]

[Wiki02]
[Wiki03]

Ken Bigelow, Digital Logic (Site Web sur la technologie des portes
logiques), http://www.play-hookey.com/digital/
Wikipdia, Article sur lalgorithme QuineMcCluskey : http:

//en.wikipedia.org/wiki/Quine%E2%80%93McCluskey_
algorithm
Wikipdia, Article sur la mthode de Petrick, http://en.
wikipedia.org/wiki/Petrick%27s_method
Wikipdia, Article sur Espresso, http://en.wikipedia.org/
wiki/Espresso

187

Vous aimerez peut-être aussi