Académique Documents
Professionnel Documents
Culture Documents
numrique
Camille Diou, Matre de Confrences
Laboratoire Interfaces Capteurs et Microlectronique
Universit Paul VerlaineMetz
+ 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)
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
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
17
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
11
11
12
13
13
14
19
20
20
22
28
32
35
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
37
37
41
45
48
49
51
4.2
4.3
4.4
4.5
4.6
4.7
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
55
56
57
58
63
67
105
107
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
20022009 C. Diou
147
149
151
153
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Partie VI : Annexes
A
.
.
.
.
155
156
157
158
171
173
.
.
.
.
.
.
.
.
.
.
175
175
177
177
179
181
183
Index
185
Bibliographie
187
20022009 C. Diou
Premire partie
Les nombres
Chapitre 1 n
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 :
B Exemple 1.1
26
1
25
0
24
1
23
1
22
0
21
0
20
1
21
0
23
1
23
1
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
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.
B Exemple 1.3
B Exemple 1.4
(F 3D, 2)16 = 1111 0111 1101, 0010
20022009 C. Diou
13
Chapitre 1 :
B Exemple 1.5
B Exemple 1.6
100
36
4
=
=
=
1.26
1.25
1.22
+
+
+
36
4
(100)10 = (1100100)2
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
Partie fractionnaire :
0, 4
2
0, 8
0, 8
2
1, 6
0, 6
2
1, 2
B Exemple 1.8
(3A9)16 = (0011 1010 1001)2
(742, 5)8 = (111 100 010, 101)2
B Exemple 1.9
(1011011)2
(|{z}
001 |{z}
011 |{z}
011 )2
(133)8
(0101
| {z } 1011
| {z })2
(5B )16
B Exemple 1.10
base 8 base 2 base 16
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
B Exemple 2.3
avec 4 bits :
+5
5
0101
1010
A +1
a n1 a n2 a 0 1
A+A
11 ... 1
1+ A + A
10
. . . 0} 2
| 0{z
0
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
20022009 C. Diou
21
Chapitre 2 :
B Exemple 2.5
+13 sur 8 bits : 00001101, 13 sur 8 bits : 11110011
Remarque
2.2
22
20022009 C. Diou
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.
20022009 C. Diou
23
Chapitre 2 :
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
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
B Exemple 2.10
1 = 20 (1 + 0)
20022009 C. Diou
25
Chapitre 2 :
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
26
20022009 C. Diou
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 :
+
+
+
+
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).
28
20022009 C. Diou
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 :
Remarque
0
0
1
0
1
0
0
1
1
1
0
1
1
0
1
3
12
-9
2.4
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
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
30
20022009 C. Diou
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
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
B Exemple 2.16
Division du nombre (10010000111)2 par (1011)2 = (1101001)2 reste (100)2 ,
20022009 C. Diou
31
Chapitre 2 :
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
B Exemple 2.17
8/4 sur 8 bits :
0
= 0 0
0
0
1
0
0
0
0
0
0
0
= 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 :
32
20022009 C. Diou
2.5. En rsum
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
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)
B Exemple 3.1
01100101 = 26 + 25 + 22 + 20 = 64 + 32 + 4 + 1 = (101)10
37
Chapitre 3 :
B Exemple 3.2
10011011 = 27 + 24 + 23 + 21 + 20 = 128 + 16 + 8 + 2 + 1 = (101)10
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
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
Chapitre 3 :
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.
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
40
20022009 C. Diou
B Exemple 3.5
(48)10
4
+3
7
0111
8
+3
11
1011
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 :
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
15
13
2
3
12 3
11 4
5
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
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
+
+
+
+
g 0 = a1 a0
g 1 = a2 a1
g 2 = a3 a2
g 3 = a3
+ g i = ai +1 ai , pour n 2 i 0
20022009 C. Diou
43
Chapitre 3 :
+ 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
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
+
+
+
+
a3 = g 3
a2 = g 3 g 2
a1 = g 3 g 2 g 1
a0 = g 3 g 2 g 1 g 0
+ an1 = g n1
44
20022009 C. Diou
+ ai =
n1
X
g i = a i +1 g i , pour n 2 i 0
j =1
Cn =
n!
p!(n p)!
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 :
2 481602 090012
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
B Exemple 3.8
0101
0111
Remarque
0 0101
1 0111
3.2
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.
20022009 C. Diou
47
Chapitre 3 :
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
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 .
53
Chapitre 4 :
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
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.
Charbon
T = (A+B).C
Dnition 4.1
20022009 C. Diou
55
Chapitre 4 :
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
+ 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
+ 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.
20022009 C. Diou
57
Chapitre 4 :
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.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.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.
20022009 C. Diou
59
Chapitre 4 :
60
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
20022009 C. Diou
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
20022009 C. Diou
61
Chapitre 4 :
B Exemple 4.5
Reprsentation sous forme de somme de mintermes :
B Exemple 4.6
Reprsentation sous forme de produit de maxtermes
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
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
A
0
1
S=A
0
1
A
0
1
S=A
1
0
20022009 C. Diou
A
0
0
1
1
B
0
1
0
1
S = A.B
0
0
0
1
63
Chapitre 4 :
Proprits du ET :
a.1 = a a.a = 0 a.0 = 0 a.a = a
lment neutre : 1
lment absorbant : 0
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
A
0
0
1
1
B
0
1
0
1
S = A +B
1
0
0
0
64
20022009 C. Diou
A
0
0
1
1
&
B
0
1
0
1
S = A.B
1
1
1
0
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
20022009 C. Diou
65
Chapitre 4 :
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
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
66
A
0
0
1
1
B
0
1
0
1
S = A.B
0
0
1
0
20022009 C. Diou
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
20022009 C. Diou
67
Chapitre 4 :
B Exemple 4.7
( A . B + C) = A. B. C = A + B + C
2. une porte NON-ET est une porte OU avec ses entres inverses :
B
Note 4.2
a +b
OU :
a+a
a +b
68
20022009 C. Diou
&
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
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.
71
Chapitre 5 :
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 :
a
S
0 1 1 0
1 0 0 1
0 0 0 1
0 1 1 1
72
20022009 C. Diou
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
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
a
S
0 1 0 1
1 0 1 0
20022009 C. Diou
0 0 1 0
0 1 1 1
73
Chapitre 5 :
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
+ 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
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.
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
B Exemple 5.5
x+xy = x(1+y)+xy = x+xy+xy = x+y
(thorme dallgement)
x.(x+y) = x+xy = x
(absorption)
20022009 C. Diou
77
Chapitre 5 :
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)
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
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)
20022009 C. Diou
79
Chapitre 5 :
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)
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
80
20022009 C. Diou
B Exemple 5.10
Soit le tableau de Karnaugh suivant simplifier sous forme de somme de produit :
20022009 C. Diou
81
Chapitre 5 :
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
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
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)
82
20022009 C. Diou
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
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
84
20022009 C. Diou
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-*
20022009 C. Diou
85
Chapitre 5 :
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
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
20022009 C. Diou
87
Chapitre 5 :
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
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 :
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
[
\
comp A j = comp(A j )
j
j
sembles
ee
gal l'union de leurs complments.
[
\
comp A j = comp(A j )
j
j
91
Chapitre 6 :
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
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
92
20022009 C. Diou
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 :
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
B Exemple
6.3
F=ABC+ABC+AB+C
Remarque
6.3
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
94
20022009 C. Diou
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
B Exemple 6.7
MUX 4 entres ( 2 entres de slection a1 a0 ) S=a1 .a0 .E0 + a1 .a0 .E1 +
20022009 C. Diou
95
Chapitre 6 :
1
1
0
1
S=1011
a1 a0
0
0
1
1
0
1
0
1
Ralis par
un compteur
Source info 1
Ex: clavier
Source info 2
Ex: lecteur de
disquettes
n bits
slection
n bits
MUX
aiguillage
n bits
destination
6.5
B Exemple
6.8
F = ABC + ABC
Utilisation de MUX
8 vers 1.
96
20022009 C. Diou
6.6
Le MUXDEMUX est un circuit programmable : les relations entre entres et sorties sont modifiables.
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
S3
a3
E3
b3
A<B
S2
a2
E2
b2
A>B
S1
20022009 C. Diou
a1
E1
b1
A=B
97
Chapitre 6 :
oprandes
B C0
slection
opration
S0 S1 S2 S3 M
C4
PG
rsultat
C0
C0
PG
C0
C0
PG
C4
C0
PG
C8
PG
C12
98
20022009 C. Diou
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 :
100
20022009 C. Diou
: interconnexion programme
e2
en
s1
s2
sm
B Exemple 6.9
A0
A1
A2
A3
0
0
Dcodage
dadresse
(matrice ET fixe)
S S S S S S S S
7
20022009 C. Diou
101
Chapitre 6 :
e1
e2
en
s1
s2
sm
102
20022009 C. Diou
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
20022009 C. Diou
103
Chapitre 7 n
... 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
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 :
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
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
&
A
0
0
1
1
B
0
1
0
1
Ft
1
0
Ct 1
0
Dnition 8.1
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
Dnition 8.2
Dnition 8.3
Systme synchrone : un systme squentiel est synchrone si son volution est contr-
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.
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
et S= 0
R=
Si Q = 0 Q = 0 Q = 1
R=
Si Q = 1 Q = 0 Q = 1
)
R=
116
20022009 C. Diou
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
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.
`Ab#aR0
S'
Symbole
R'
S
Clk
R Q
Bp
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
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
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
`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
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'
Q
Figure 6.9 : Bascule D-Latch
ule Matre-Esclave
quand
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
Esclave
118
20022009 C. Diou
H
Q'
D
0
1
Q(n+1)
0
1
Qn+1 = Dn
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
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
Symbole
J Q
Clk
K
20022009 C. Diou
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
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
B Exemple 8.3
H
J
K
Q
`CbRa0
Symbole
D
Clk Q
Table de vrit
H
DN
1
0
QN+1
1
0
20022009 C. Diou
121
Chapitre 8 :
Les bascules
`AbRa0 `AbRa0
`
`
#a
0
#a
AbR Ab0
P
Ralisation
Matre
En Q
En Q
Esclave
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
`
#a
0
AbP
Ralisation
T
J Q
Clk
K
Table de vrit
T
0
QN+1
QN
QN
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
124
20022009 C. Diou
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
.
B Exemple
8.5
S
R
8.6
S
R
Ferm
Charge
Solution
Ouvert
2
1
rebond
qq ms
Passage en 2
Passage en 1
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
8.8
A
B
A
A avant B ?
B
X
Solution :
A
B
J
K
B
Q
B
A avant B
A aprs B
D
H
Q
Q
H
Q
Bascule JK
126
1
1
J
K
Q
Q
H
Q
20022009 C. Diou
Bascule RS
S
R
20022009 C. Diou
Q
Q
H
Q
127
Chapitre 9 n
[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 :
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.
`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
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
`Cba0
`
`
`
a
0
0
a
0
a
P CbP CbP CbP
Clk
Clk
Clk
Clk
`Cba0P `Cb0aP Cb
`a0
`
P Cba0
P
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.
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
C1
C2
H
q1
q2
Di Qi
qi
qn
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
Dnition 10.2
tat, Modulo : la combinaison de sortie d'un compteur est appel tat, et le nombre
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
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
134
20022009 C. Diou
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
B Exemple 10.2
Dcompteur modulo 8
H
A
A
B
B
C
C
Chronogramme :
H
A
B
C
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
Q0
Q1
Q2
H
Q1
Q2
10.1
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
T H = 2 Tm :
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
b) laide de bascules D :
140
20022009 C. Diou
c) laide de bascules T :
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).
10.3
B
142
20022009 C. Diou
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.
144
20022009 C. Diou
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.
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
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.
20022009 C. Diou
145
Chapitre 11 n
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)
147
Quatrime partie
Chapitre 12 n
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
Chapitre 13 n
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 :
Dnition 13.1
Dnition 13.3
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
Dnition 13.6
156
20022009 C. Diou
RCTL :
20022009 C. Diou
157
Chapitre 13 :
ECL :
CML :
TTL :
CTL :
I2 L :
SOI :
Z sera galement force la masse par la rsistance, et donc force ltat 0. Si lune ou
R1
158
20022009 C. Diou
+V
Si les deux entres sont non connectes ou si
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 :
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.
160
20022009 C. Diou
20022009 C. Diou
161
Chapitre 13 :
162
20022009 C. Diou
20022009 C. Diou
163
Chapitre 13 :
164
20022009 C. Diou
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.
20022009 C. Diou
165
Chapitre 13 :
166
20022009 C. Diou
20022009 C. Diou
167
Chapitre 13 :
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
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 :
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
Chapitre 1
Algbre de commutation
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
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
+y
+x
+w
+v
+t
, soit
175
101 .602
36000
Z
Annexe A :
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
+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
20022009 C. Diou
177
A.4. Comptage
e) Convertissez
f ) Convertissez
vous ?
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 :
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
7 bits
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
a
f
c
d
20022009 C. Diou
181
Annexe B n
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
maxterme, 61
minterme, 60, 61
modulo, 133
MSB, 13
Shannon, 133
sortance, 156
octal, 13
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