Académique Documents
Professionnel Documents
Culture Documents
EN
EN
Ce document est la date daujourdhui (16 novembre 2004) 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 simplication des fonctions logiques mthode de Quine/McCluskey diagrammes de Venn, Johnston et Caroll familles logiques et spcications 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
AT X sous Ce document a t ralis laide des logiciels TEX et L E les environnements TEXLive et TeTEX. Les diagrammes sont raliss laide de X Y-pic. Une partie des schmas lectronique est ralise laide du paquetage CIRC .
CIRC
Chapitre 1
Les systmes de numration
Gottfried Wilhelm von Leibnitz jui. 1646, Allemagne 1716
Ce philosophe dorigine Allemande est linventeur dune machine permettant de calculer directement les 4 oprations de base. Il est aussi celui qui a introduit la notion de binaire en Occident.
Exemple 1.1 26 25 1 0
24 1
23 1
22 0
21 0
20 1
21 , 0
23 1
23 1
les diffrentes puissances de 2 sont : 2 0 21 2 2 2 3 2 4 2 5 26 27 28 29 210 1 2 4 8 16 32 64 128 256 512 1024 un ensemble de 8 bits est appel octet (ou byte).
0 0 0 0 0 0 1 1 1 1 1 1 1 1
0 0 1 1 1 1 0 0 0 0 1 1 1 1
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
2 3 4 5 6 7 8 9 10 11 12 13 14 15
Le bit le plus signicatif le bit le plus gauche est appel bit de poids fort ou MSB (Most Signicant Bit ). Le bit le moins signicatif le bit le plus droite est appel bit de poids faible ou LSB (Less Signicant Bit ). Si on utilise N bits, on peut reprsenter 2N valeurs diffrentes de 2 2N 1
0
Exemple 1.2
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 e.b. : (ai )8 = bi 2 bi 1 bi0
Exemple 1.3
Exemple 1.4
1.5 Conversion dun systme de numration un autre 1.5.1 Base B vers base 10
(an . . . a0 )B = an B n + + a0 B 0 = (am . . . a0 )10
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
10
Exemple 1.6
+ 36 + 4 (100)10 = (1100100)2 + 0
1.5.2.b Deuxime mthode 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 (rsultat nul ou selon la prcision demande)
Exemple 1.7
2 5 1
2 2 0
2 1 1
2 0
11
Exemple 1.8
(3 A9)16 = (0011 1010 1001)2 (742, 5)8 = (111 100 010, 101)2
Exemple 1.9
(1011011)2
(0101 1011)2
B
12
13
Chapitre 2
Codage des nombres dans les machines numriques
Blaise Pascal 19 juin 1623, Clermont, France 19 aot 1662, Paris, France
Ami leceur, cet avertiffement fervira pour te faire favoir que jexpofe au public une petite machine de mon invention, par le moyen de laquelle feul tu pourraf, fanf peine quelconque, faire toutef lef oprationf de larithmtique, et te foulager du travail qui ta fouvent fatigu lefprit, lorfque tu af opr par le jeton ou par la plume : je puif, fanf prfomption, efprer quelle ne te dplaira paf, aprf que Monfeigneur le Chancelier la honore de fon eftime, et que, danf Parif, ceux qui font lef mieux verff aux mathmatiquef ne lont paf juge indigne de leur approbation. Nanmoinf, pour ne paf paratre ngligent lui faire acqurir auffi la tienne, jai cru tre oblig de tclairer fur toutef lef diHcultf que jai eftimef capablef de choquer ton fenf lorfque tu prendraf la peine de la confidrer. (Blaife Pafcal, Avif nceffaire ceux qui auront curiofit de voir la machine darithmtique, et de fen fervir, 1645).
Les systmes logiques sont constitus de mcanismes qui ne permettent de noter que 2 tats : 0 ou 1 . Une mmoire lmentaire est donc une unit contenant 0 ou 1 . Plusieurs de ces units sont assembles pour reprsenter un nombre binaire.
Exemple 2.1
mmoire 8 bits :
15
valeur en bits
Ces mmoires sont indissociables et lordre dassemblage donne le poids de chaque bit.
Exemple 2.2
16
Signe 1 1 1 1 1 1 1 1
Valeur -7 -6 -5 -4 -3 -2 -1 0
Signe 0 0 0 0 0 0 0 0
Valeur 7 6 5 4 3 2 1 0
Exemple 2.3
avec 4 e.b. :
+5 0101 5 1010
17
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 e.b., on obtient 2n valeurs diffrentes, de 0 2n 1 1 pour les valeurs positives, et de 1 2n 1 pour les valeurs ngatives ;
Exemple 2.4
n=8
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 ;
1 2
18
Exemple 2.5 +13 sur 8 bits : 00001101, -13 sur 8 bits : 11110011
Exemple 2.6
Virgule au rang K (K chiffres aprs la virgule) : La valeur N crite en mmoire aura les poids suivants :
19
N = 2N 1K 20 21 2K Virgule au rang 0 : N = 2N 1 20
0 N (2n 1)2K
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) ;
Exemple 2.7 Si on dcide 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 bit de part et dautre de la virgule pour pouvoir reprsenter des grandeurs trs faibles et des grandeurs trs importantes.
20
quavec une prcision de 5 digits, et il ny a en physique pratiquement aucune mesure que lon puisse raliser avec une prcision de 62 digits. Une solution serait alors deffectuer les calculs avec une prcision de 62 digits 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 digits signicatifs. 2.3.2.b Principe de la reprsentation en virgule ottante Le nombre N est reprsent sous la forme : exposant 1re approche Soit N = a3 a2 a1 a0 , a1 a2 a3 : N peut se noter : (a6 a5 a4 a3 a2 a1 a0 ). 23
mantisse exp
mantisse
exposant = mantisse =
3 a6 a5 a4 a3 a2 a1 a0
Exemple 2.8
Coder la valeur 26,75 en virgule ottante. (26, 75)10 = (11010, 110)2 (11010, 11)2 = (11010110).23
21
1101 0000011010110
exp=3 mantisse=214
26, 75 = 214.23
2me approche Mthode inverse on considre que le bit le plus gauche de la mantisse pour poids 21 . Soit : N = a3 a2 a1 a0 , a1 a2 a3 N peut aussi se noter (0, a1 a2 a3 a4 a5 a6 a7 ). 24
mantisse exp
Exemple 2.9
Mme exemple que prcdemment : (26, 75)10 = (11010, 110)2 (0, 11010110).25 0101
Remarque 2.2
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 = 1, soit une mantisse normalise 0, 5 M < 1
110101100000
22
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 19), 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 signicande ; le signicande a donc une valeur implicite 1 x < 2.
Exemple 2.10
1 = 20 (1 + 0) Le bit de signe sera 0, lexposant, en code relatif 127 sera reprsent par 127 = 01111111, et le signicande 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 = 3F800000 s e m 1 0.5 = 2 (1 + 0) Le bit de signe est 0, lexposant, en code relatif 127 est reprsent par 127 - 1 = 01111110, et le signicande 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 = 3F000000 s e m
23
1.5 = 20 (1 + 21 ) Le bit de signe est 0, lexposant, en code relatif 127 est reprsent par 127 = 01111111, et le signicande 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 = 3FC00000 s e m
2.3.3.b Nombres spciaux En arithmtique virgule ottante on peut obtenir un rsultat valable, ou alors rencontrer un problme de dpassement par valeur suprieure (overow) lorsque le rsultat est trop grand pour pouvoir tre reprsent, ou par valeur infrieure (underow) 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 signicatifs. Ce schma permet une approche douce du phnomne de dpassement par valeur infrieure, en sacriant la prcision lorsquun rsultat est trop petit pour admettre une reprsentation normalise. Zro Zro est reprsent sous la forme dun nombre dnormalis. Ceci rsulte en deux reprsentations possibles pour zro : lune pour
24
+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 linni. Linni peut tre positif ou ngatif, en fonction de la valeur du bit de signe. Linni 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 non-nombre. 2.3.3.c Rsum Nombre nombre normalis nombre dnormalis zro NaN IEEE 754 exposant mantisse + pt # normalis + gd # normalis intervalle utile + pt # dnormalis Signe 0/1 0/1 0/1 0/1 0/1 Exposant 01 FE 00 00 FF FF Mantisse quelconque quelconque 0 0 tout sauf 0
Simple prcision 126 +127 1 2 223 2126 presque 2128 1038 1038 2150 1045
Double prcision 1022 +1023 1 2 252 21022 presque 21024 10308 10308 21074 10324
25
+ + + +
= = = =
Exemple 2.11
Addition des nombres de 4 bits : 0 0 1 1 +3 + 1 0 1 0 + 6 = 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 (overow) : 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 :
26
a15 0 0 0 0 1 1 1 1
b15 0 0 1 1 0 0 1 1
r15 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
R 0 0 1 0 1 0 1 1
R : retenue ; D : dpassement Ce tableau nous permet de dterminer la condition de dpassement (OF : overow ag ) : OF = a15 .b15 .r15 + a15 .b15 .r15 . si OF est 0, le bit de poids fort (r15 ) donne le signe du rsultat dont la valeur est disponible sur les 15 bits de poids faible. 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)
= = = =
27
Exemple 2.12
1 0 0 0 0 1
0 1 0 0 1 0
1 1 1 0 1 1
, , , 1 0 1
0 1 1 1 0 1
= =
5 3,5 1,5 3 12 9
Remarque 2.3
On peut utiliser le complment 2 de la valeur soustraire puis on additionne. Dans ce cas, il faut complmenter le retenue ( carry) pour obtenir la retenue soustractive ( borrow). Cela se passe de cette manire dans certains calculateurs.
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
x x x x
= = = =
28
La multiplication se fait en formant un produit partiel pour chaque digit 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 partiel est constitu du multiplicande dcal du nombre de positions gal au poids du bit du multiplieur.
Exemple 2.14
0 0 0
0 =
0 0 0 1 0 1
1 0 0 0 0 0
0 1 0 1 = 1
1 0 0 = = 0
multiplicande multiplieur
5 2
10
Remarque 2.4
La multiplication binaire par 2N , se rsume un dcalage de N bits vers la gauche. On introduira donc droite N zro.
Exemple 2.15
8 4 sur 8 bits : 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0
= 0
16 4 sur 8 bits : 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0
= 1
29
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 digits 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.
Exemple 2.16
Division du nombre (10010000111)2 par (1011)2 = (1101001)2 reste (100)2 , cest--dire 1159/11 = 105, reste 4.
30
2.5. En rsum
1 -
0 1 0 -
0 0 1 1 0
1 1 1 0 0 -
0 1 1 1 1 1 0
0 0 1 1 0 0
1 0
0 1
1 1
1 0
0 1 0 -
0 1 1 1 0
1 0 1
1 1 0
1 1 0
Remarque 2.5
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.
Exemple 2.17
= 0 0
= 1 1
2.5 En rsum
La valeur dun nombre est indpendant 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 an an 1 . . . a1 a0 . Ce nombre vaut :
31
an .2n + an 1 .2n 1 + . . . + a1 .2 + a0
en reprsentation non signe
an .2n + an 1 .2n 1 + . . . + a1 .2 + a0
en reprsentation signe complment 2
1 an .2n + an 1 .2n 1 + . . . + a1 .2 + a0
en reprsentation signe complment 1
32
Chapitre 3
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 eld is that whereas Newton could say, If I have seen a little farther than others, it is because I have stood on the shoulders of giants, I am forced to say, Today we stand on each others 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 almost endless duplication of the same kind of things. (Richard W. Hamming, One Mans View of Computer Science, 1968, Turing Award Lecture)
Codage : opration qui tablit une correspondance entre un ensemble source (nombre, caractre, symbole) vers un ensemble but contenant des combinaisons de 0 et de 1.
33
Remarque 3.1
Ne pas confondre DCB et 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.
Exemple 3.1
(137)10
= (010001001)2 = (001011111)DCB
3.1.2.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 0000 0101 0000 0111 + 02 05 07
Par contre, ds que le rsultat est suprieur 9, il faut apporter une correction en additionnant 6, de manire obtenir une rponse valide : + = + = 0000 0110 0000 0100 0000 1010 0000 0110 0001 0000 + = + = 06 04 0? 06 10
erreur !
La correction est ici vidente, puisque la valeur obtenue est invalide en codage DCB. Lexemple suivant est moins vident :
34
+ = + =
0000 1001 0000 1000 0001 0001 0000 0110 0001 0111
+ = + =
09 08 11 06 17
erreur !
Dans ce dernier exemple, la correction est due au fait quil a eu dbordement sur la 4 bits de poids faible du mot DCB : il faut donc apporter une correction sur ces 4 bits de poids faible.
Note 3.1 lorsque le rsultat de laddition est infrieur 9, on ne change pas le rsultat ; lorsque le rsultat de laddition est suprieur 9, on ajoute 6 au rsultat pour obtenir la valeur exacte ; lorsquil 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.
35
3.1.2.b Soustraction en DCB La soustraction en DCB se comporte exactement comme laddition, au signe prs.
Note 3.2 lorsque le rsultat de la soustraction est infrieur 9, on ne change pas le rsultat ; lorsque le rsultat de la soustraction est suprieur 9, on soustrait 6 au rsultat pour obtenir la valeur exacte ; lorsquil y a une retenue soustractive ( borrow), on soustrait galement 6 au rsultat obtenu, mme si la valeur est infrieure 9.
36
Exemple 3.2
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
Ce code est utilis dans certains calculateurs pour effectuer des soustractions par additions de la forme complmentaire.
Exemple 3.3
dcimal 0 1 2 3 4 5 6 7 8 9
S 0 0 0 0 0 1 1 1 1 1
O 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
37
3.2 Codes numriques non pondrs 3.2.1 Code major de trois (excdant de neuf)
On prend chaque chiffre dcimal +3, puis on convertit 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.
Exemple 3.4
(48)10
4 +3 7 0111
8 +3 11 1011
38
Exemple 3.5
Dcimal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0
Gray 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0
39
Exemple 3.6
Soit le nombre dcimal 87 ; sa valeur binaire est 1010111. Donc : 1010111 +10101110 11111001 Lquivalent en code binaire rchi de (87)10 est 1111100
3.2.2.a Conversion du code binaire naturel vers binaire rchi Binaire naturel n3 n2 n1 n0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 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 Binaire rchi g3 g2 g1 g0 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
g0 = a1 a0
40
g1 = a2 a1 g2 = a3 a2 g3 = a3
Pour un mot binaire de format n on a donc :
g i = ai +1 ai , pour n 2 i 0 g n 1 = an 1
On peut galement exprimer g n de manire rcursive :
g0 = g3 g2 g1 a0 g1 = g3 g2 g1 g2 = g3 g2 g3 = a3
3.2.2.b Conversion du code binaire naturel vers binaire rchi Binaire rchi g3 g2 g1 g0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 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 Binaire naturel n3 n2 n1 n0 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
41
a3 = g3 a2 = g3 g2 a1 = g3 g2 g1 a0 = g3 g2 g1 g0
an 1 = g n 1 ai =
n 1
g i = ai +1 g i , pour n 2 i 0
j =1
n! p !(n p )!
42
Exemple 3.7
Pour transmettre linformation numrique dans les centraux tlphoniques (cross bar ), on utilise un code 2 parmi 5 (ou code 74210) pour reprsenter les chiffres dcimaux. Il existe 10 combinaisons : Dc. 2 parmi 5 7 4 2 1 0 1 2 3 4 5 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 1 0 1 0 1 1 1 0 1 0 Dc. 7 6 7 8 9 0 0 1 1 1 1 2 parmi 5 4 2 1 1 0 0 0 1 1 0 0 1 0 0 0 1 0 0
0 0 1 0 0 0
Exemple 3.8
0101 0 0101
43
0111 1 0111
Remarque 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 e.b. faux, il faut coder dans 2 dimensions selon les lignes et les colonnes.
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 0 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 le.b. de parit ne soit pas erron.
44
avec a b c d e f g
= = = = = = =
A B C D A C D A B C D B C D
45
Exercice 1.1
Convertir en binaire, octal et hexadcimal les nombres dcimaux suivants : 43 ; 154 ; 25740
Exercice 1.2
Convertir en dcimal et hexadcimal les nombres suivants : (10010101)DCB ; (1101110)2 ; (75)8 ; (587)8
Exercice 1.3
Convertir en binaire et hexadcimal les nombres suivants : (166, 25)10 ; (126, 34)8 ; (231, 1)4
Exercice 1.4
Convertir en binaire le nombre dcimal suivant : 24537
Exercice 1.5
Convertir en dcimal les nombres suivants : (10010101)DCB ; (D 9, 4)H ; (576)8
Exercice 1.6
Que peuvent reprsenter les octets suivants ? 01111001 ; 10100100 ; 01101010 ; 10010111
Exercice 1.7
En parit impaire, quel est le bit de parit associer aux octets suivants ?
47
EC ; F1 ; 69 ; A3
Exercice 1.8
En parit paire, quel est le bit de parit associer aux octets suivants ? CD ; 6E ; B8 ; A4
Exercice 1.9
On effectue les oprations suivantes sur des octets signs (reprsentation en complment 2). Donner les rsultats en discutant leur validit. Vrier en prenant les quivalents dcimaux. 5F+6D ; E8+C7 ; 9A-17 ; 5B-C4 ; A4-62
Exercice 1.10
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 ?
Exercice 1.11
Une mmoire contient 2k octets stocks partir de ladresse (700)H . Quelle est la dernire adresse ?
48
Chapitre 4
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. (Aristote 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 dnies lavance.
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 .
51
52
4.1. Introduction
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 , ...
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 .
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
Symbole dun relais double normalement ouvert et ferm
T = (A+B).C
53
Dnition 4.1 Algbre boolenne : un ensemble E dlments (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 lautre ; 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.
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 inni, 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.
Exemple 4.4
54
+ 0 a b 1
0 0 a b 1
a a a 1 1
b b 1 b 1
1 1 1 1 1
. 0 a b 1
0 0 0 0 0
a 0 a 0 a
b 0 0 b b
1 0 a b 1
P1 a = 0 si et seulement si a = 1 P1 a = 1 si et seulement si a = 0
Lopration NON(ou complment), note est dnie par :
P2 0 = 1 P2 1 = 0
Lopration OU(ou disjonction), note + est dnie par :
P3 1 + 1 = 1 + 0 = 0 + 1 = 1 P4 0 + 0 = 0 Lopration ET(ou intersection), note . est dnie 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 page suivante et 4.5 page 57.
55
56
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.
57
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 AB = 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 + Y ) = 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.
58
59
m0 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
m1
m2
m3
m4
m5
m6
m7
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 :
60
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 ;
Exemple 4.5
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 = m (0, 1, 4, 6, 7)
Exemple 4.6
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 ) = M (2, 3, 5)
61
OU
a +0 = a a +0 = a a +1 = 1 a+a = a a+a =1 a=a a+b = b+a a + (b + c ) = (a + b ) + c a + ( b. c ) = (a + b ).(a + c ) a + a .b = a a + a .b = a + b a .b + a .c + bc = a .b + ac
ET
a .1 = a a .1 = a a .0 = 0 a .a = a a .a = 0 a=a a . b = b. a a .(b.c ) = (a .b ).c a .(b + c ) = (a .b ) + (a .c ) a .(a + b ) = a a .(a + b ) = a .b (a + b ).(a + c ).(b + c ) = (a + b ).(a + c ) a .b = a + b
(a + b ).(a + b ) = (a .b ) + (a .b ) De Morgan a + b = a .b
62
63
Remarque 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.
A 0 0 1 1
B 0 1 0 1
S = A+B 1 0 0 0
&
A 0 0 1 1
B 0 1 0 1
S = A.B 1 1 1 0
64
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) : b0 b1 b2 bn 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 ) 2. (a b ) = a b = a b = ab + ab = (a + b )(a + b ) 3. a a = 0 4. a 1 = a et et aa =1 a 0 = a
65
5. a (b z ) = ab az 6. a + b = a b ab = a ab 7. a + b = a b si ab = 0 c a = b, abc =0 8. a b = c c b = a , 9. a (a + b ) = ab 10. a ab = ab
66
67
trs utile pour simplier des expressions ; valable galement si a ou b sont des expressions contenant plusieurs variables
Exemple 4.7
( A . B + C) = ( A. B). C = A. B . C
consquences : 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 :
Note 4.2 Universalit des portes 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.
68
ET :
OU :
1
a+a
a+b
a+b
69
OU :
ET :
&
a .a
&
&
a .b
&
&
&
a .b
Exemple 4.8
& &
3 6 8 11
7400 :
1 2 3 4 5 6 7
&
X
A B C D
AB
&
CD
Remarque 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 ;
70
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.
71
Chapitre 5
Reprsentation et simplication des fonctions 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. (Aristote 384, 322 av. J.-C.)
Tout circuit logique peut tre dcrit par des fonctions logiques et/ou une table de vrit, et tre ralis partir des oprateurs logiques lmentaires.
73
ses entres. Chaque ligne prsente la combinaison des variables dentre ainsi que la ou les sorties correspondante(s).
Exemple 5.1
La table de vrit dun additionneur complet est la suivante : A B C S R 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 S = A B C 0 1 1 0 1 R = A.B + A.C + B.C 1 0 0 1 0 1 0 1 0 1 0 1 1 1 0 1 1 1 1 1
Exemple 5.2
Donner la table de vrit dun circuit 3 entres A,B,C et X=1 si les 3 entres ont le mme niveau 2 sorties X,Y tel que : 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 :
74
a
S
a c
R
0 1 1 0 b 1 0 0 1
0 0 0 1 b 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) :
a
S
0
a c
R
0
0 11 41 50 b 21 30 60 71
0 10 40 51 b 20 31 61 71
5.1.1.c Diagramme de Karnaugh[KAR53] et termes adjacents Le diagramme de Karnaugh est un outil graphique, mthodique. Il permet dobtenir une solution optimale la simplication logique (cf. 5.2.3 page 80). 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 an dexploiter la notion dadjacence
75
ente les termes, les cases sont ordonnes selon le code binaire rchi, au lieu du code binaire naturel.
Remarque 5.1
Les tableaux de Karnaugh se prsentent comme des cylindres ferms dans les deux sens.
Exemple 5.3
X A 0 0 1 1 B 0 1 0 1 X 1 0 0 1 A 0 1 B 0 1 0 1 0 1 A 1 0 X B 0 1
a
S
a
R
0 1 0 1 b 1 0 1 0
0 0 1 0 b 0 1 1 1
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
a
R
0
0 11 50 41 b 21 30 71 60
Remarque 5.2
0 10 51 40 b 20 31 71 61
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 simplication la plus optimale ; on peut utiliser une meme case plusieurs fois, puisque x + x + x + + x = x.
76
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 abc d : 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 . . .
77
x0 x 1 F 0 0 0 0 1 1 1 0 0 1 1 0 On peut reprsenter F par son image caractristique, soit Ic [F(x0 , x1 )] = 0100. Reprenons la table de vrit dun additionneur complet : A B C S R 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 0 1 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 Ic [S ( A, B , C )] = 01101001. Limage caractristique de R est Ic [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 somme des tats pour lesquels elle vaut 1 que lon notera : F1 = (d1 , . . . , dp ) le produit des tats pour lesquels elle vaut 0 que lon notera : F0 = (d1 , . . . , dp )
o d1 dp reprsentent les valeurs dcimales des nombres binaires reprsents par les variables de la fonction Reprenons comme exemple la fonction F(x0 , x1 ) 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 :
78
F1 = x0 . x1 =
(1)
F0 = (x0 + x1 ).(x0 + x1 ).(x0 + x1 ) = (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 difcile 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.
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.
79
Exemple 5.5
x+xy = x(1+y)+xy = x+xy+xy = x+y dallgement) x.(x+y) = x+xy = x ABC + ABC + ABC + ABC = AC + AB + BC
(thorme (absorption)
80
5.2.3.a Simplication par extraction des sommes de produits La mthode est la suivante : 1. dessiner la table de Karnaugh correspondant la fonction ; 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. identier tous les implicants majeurs essentiels pour les 1 ; 3. identier 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) ;
Exemple 5.6
Simplier la fonction :
F( A, B , C ) =
Solution :
A
1 11 51 41 0
B 20 30 70 60
81
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
Exemple 5.7
Simplier la fonction :
F( A, B , C ) =
A.B.C + A.B.C Solution :
A C 0 1 1 0 5 11 4 1 6 1 B 20 30 7 F1 = (0, 1, 4, 6, 7) F0 = (2, 3, 5)
F
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 simplication par extraction des sommes de produits exploite ladjacence entre les 1 pour reprsenter la fonction simplier. Cependant, il est possible dutiliser les 0 en procdant exactement de la mme manire : on obtiendra alors une reprsentation de la fonction complmente.
82
5.2.3.b Simplication 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. identier tous les implicants majeurs essentiels pour les 0 ; 3. identier 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) ; un doublet de 0 permet dliminer la variable qui se trouve sous les deux formes (complment et non complment) ;
Exemple 5.8
Simplier la fonction :
F( A, B , C ) =
Solution :
A C 0 5 11 41 0 1 3 7 61
1 0 0 B 2
83
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 )
Exemple 5.9
Simplier la fonction :
F( A, B , C ) =
Solution :
M (0, 1, 5, 7, 8, 9, 15)
84
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 dnies. Certaines fonctions logiques sont donnes comme tant incompltes (avec des tats indtermins) ou avec des tats indiffrents (combinaisons de variables dentres ninuenant pas le rsultat). Ces conditions permettent de simplier 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 simplier la minimisation logique dans les tableaux de Karnaugh. Ainsi : les cases non dnies dun diagramme de Karnaugh peuvent tre exploites dans une simplication par les 1 comme dans une simplication 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.
Exemple 5.10
85
est F( A, B , C ) = B.D + B .C
86
La solution
est F( A, B , C ) = (B + C ).(B + D )
87
Chapitre 6
Les circuits combinatoires
Augustus De Morgan 27 juin 1806, Madura, Indes 18 mars 1871, Londres, R.-U.
comp j
Aj = j c omp ( A j )
89
V A0 S0 S1 S2
A1 A2
A m-1
n-1
Exemple 6.1
S S S
1 2 3
90
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
reprsentation DCB
9
Remarque 6.1
Les codeurs de priorits sont une version modie 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 ).
91
Pour chacune des combinaisons dentre, une seule ligne de sortie est valide.
Exemple 6.2
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. 2 : Gnration de fonction Toute fonction logique peut tre ralise partir dune combinaison de dcodeur.
Exemple 6.3
F=ABC+ABC+AB+C
Remarque 6.3
Il nest pas ncessaire de simplier la fonction avant la ralisation.
92
Exemple 6.4
s0 s1 s2 s3
Exemple 6.5
Code binaire code Gray Code DCB code afchage 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.
Exemple 6.6
93
sel E 0 E 1
MUX
E1 X X
E0 X X
sel 0 1
out E0 E1
out
S=sel.E0 + sel.E1
Remarque 6.4
La table de vrit devient rapidement trs importante ( partir de 4 entres). On exprime alors la fonction de sortie directement
Exemple 6.7
S=1011
a1 a0
0 0 1 1 0 1 0 1
2. Gnrateur de fonctions : toute fonction logique peut tre ralise partir des MUX. Les entres de slection (commande) sont alors les variables de la fonction. 3. Slection de mots : le MUX est ralis partir de n MUX 2 entres travaillant avec la mme commande de slection.
94
slection
MUX aiguillage
n bits
destination
Remarque 6.5
Intrt : il nest pas ncessaire de simplier la fonction avant de la raliser.
Exemple 6.8
Remarque 6.6
Le MUXDEMUX est un circuit programmable : les relations entre entres et sorties sont modiables.
Exemple 6.9
95
rcept. 0 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 e.b. 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 = Si = Ii = Di = ai =bi ai >bi ai <bi ai =bi = ab = a.b = a.b = ab
S3 a3 b3
E
E3 I
3
A<B
S2 a2 b2
E
E2 I
2
A>B
S1 a1 b1 E1 I
1
A=B
96
relations entre les donnes en sortie et les donnes en entre sont modiables.
A
oprandes
B C0
4
slection opration
S0 S1 S2 S3 M C4
rsultat
PG
Les sorties P et G servent la mise en cascade des ALUs, et donc au calcul de retenue anticipe.
C0
C0
C0
C0
PG C0 C4
PG C8
PG C12
PG
97
Analyse du problme
Choix dune technologie,Choix des composants
tablissement du schma
Prototype dessai
Ralisation nale 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 simplication 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 :
98
a) utilisation de portes simples (OU, ET, NON) ou des portes NON-OU et NON-ET ; 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.
99
voient leur matrice ET ge 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) ; 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 : interconnexion programme
e1 e2
en
s1 s2
sm
Exemple 6.10 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) :
100
A0 A1 A2 A3 0 0
2. PAL (Programmable Array Logic) La structure des PAL est oppose celle des PROM : la matrice OU est ge 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
101
en
s1 s2
sm
Exemple 6.11
A B C
s1 s2 sm
102
103
Chapitre 7
Fonctions et oprateurs arithmtiques
Charles Babbage 26 dc. 1791, Teignmouth, R.-U. 1871, London, R.-U.
... I was sitting 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. (Charles Babbage)
105
Exercice 2.1
Dvelopper et simplier 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
Exercice 2.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)
Exercice 2.3
Simplier les expressions logiques suivantes : F1 = ab abcd F2 = a ( a + b ) F3 = a + ( a b ) F4 = ( a b ) ( a c )
107
F5 = ( a b ) ( a b )
Exercice 2.4
Chercher les formes canoniques des expressions suivantes : F1 = a ( b + c ) F2 = (a + c ).b + (a + c ).b
Exercice 2.5
Montrer algbriquement que ab + bc + ac = ab + bc + ac . Vrier laide dun diagramme de Karnaugh.
Exercice 2.6
Simplier cette expression laide dun diagramme de Karnaugh : F = a (b c ) + ac d + ad (b c ) + (a d )bc + ac b d Faire le schma avec 2 portes dont un XOR.
Exercice 2.7
Une fonction f (a , b, c , d ) est incompltement dnie. 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. Simplier la fonction en vue dune ralisation en portes NAND. Mme question avec des portes NOR. Quelle est la meilleure solution ?
108
Chapitre 8
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 specialpurpose machine, that is to say to carry out any piece of computing, if a tape bearing suitable instructions is inserted into it. (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.
2 4
3 5
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.
111
Les fonctions squentielles de base sont : 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 difciles concevoir et dpanner. mode synchrone Le moment exact o les sorties peut 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 ;
112
&
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 conservation dun tat dpendant de la valeur des variables dentre ainsi que de ltat antrieur du systme.
113
La bascule constitue le systme squentiel de base et permet de mmoriser un lment dinformation lmentaire appel bit.
Exercice 3.1
Quel sera ltat de sortie du systme F lissue des deux squences (00, 10) et (01,10) ? 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 dnitions 8.2 et 8.3 suivantes :
Dnition 8.2 Systme asynchrone : un systme squentiel est asynchrone si partir de linstant o on applique un vecteur dentre, son volution est incontrlable de lextrieur. Dnition 8.3 Systme synchrone : un systme squentiel est synchrone si son volution est contrlable de lextrieur par un signal dhorloge.
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.
114
8.3. Bascule RS
` Aba0 R
Symbole
R Q S Q
Tableau de Karnaugh
Q+
0
R S
0 1 1 5X 4 0 Qt 2 1 3 1 7X 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.
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 R 0 1 0 1 Q+ Q 0 1 X
115
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.
Q R
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 correspondant (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 an de lever lambigut pour un tat R = S = 0 venant aprs un tat R = S = 1.
memorisation
116
8.3. Bascule RS
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=
Q=0Q=1 Si Q = 0 Si Q = 1 Q=0Q=1
R=
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 de plus, incertitude lorsque S et R reviennent 0 R = S = 1 ne doit pas servir Lavantage principal (unique ?) de la bascule RS est sa simplicit. Ses principaux inconvnients sont le fait quelle soit asynchrone, sa sensibilit aux parasites (tout bruit prsent sur lune des entres de la bascule RS peut modier ltat de la sortie), et le fait quil existe un tat interdit pour R=S=1.
117
Chapitre 6
` #aR 0 Ab
Symbole
S Q Clk
R Q S' s R R' Bp t
Table deSvrit
S R H QN+1 X X 0 QN R Q 0 0 Q 1 QN Reset ou 0 La sortie est indice est vaut 1 1 1 Etat mmoire QN avant le front de lhorloge et 1 0 s 1 0 QN+1 aprs le front de lhorloge. X X 1 1 Set ou S et R ninuencent Q que Etat mmoire lorsque lhorloge est au niveau Figure 6.6 : Dispositif anti-rebond haut.
6.1.3. Bascule RST
La bascule RST est une bascule RS synchronise par un signal dhorloge T. Le schma de cette bascule est Ralisation donn sur la figure .
R H S
1
Q Q
S T R
Figure 6.7 : Bascule RST
Lorsque T=0, lagalement bascule est dans ltat mmoire. Lorsque T=1, la bascule fonctionne comme une bascule RS. La bascule RSH est appele bascule RST ; on prfrera Cette bascule a toujours un tat interdit et fonctionne sur les niveaux dhorloge. Tout en restant sensible aux nanmoins le terme plus explicite. parasites elleRSH, lest moins que la bascule RS puisquelle est uniquement sensible sur le niveau haut de lhorloge (plus le niveau haut de lhorloge est rduit, moins cette bascule est sensible aux parasites).
118
Exemple 8.2
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.
La D-latch est une bascule RST pour laquelle on na conserv Circuits squentiels lmentaires que les deux combinaisons RS=(0,1) et RS=(1,0). La D-latch a une seule entre, nomme D.
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).
` 0 a AbR
Symbole
D Q
D 0 1
Table de vrit
DN 0 1 QN+1 0 1
En
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.
Ralisation
S T S
Q R = S' Q
Les bascules matre-esclaves permettent de diminuer la sensibilit aux parasites en minimisant la priode de transparence. Le schma dune bascule matre esclave est donn sur la Figure 6.10. En montant en cascade deux mme quand Clk=0 lentre na la aucun effet Toutefois, (mmorise) ; bascules RST commandes par la horloge mais inverse, la bascule D ralise mme fonction. elle fonctionne non plus sur le niveau haut de lhorloge, mais sur le front descendant de lhorloge. En effet, sur le niveau haut de lhorloge, le deuxime tage (esclave) est dans ltat mmoire alors que sur le niveau bas, cest le premier tage (matre) qui est dans ltat mmoire. Il en rsulte que la plage de sensibilit aux parasites se limite la dure de commutation descendante de lhorloge.
Fonctionnement
Esclave Q
119
Chapitre 6 transparente.
6.1.4. Bascule D-latch haut de lhorloge.
Q(n+1) 0 1
Figure 6.8 : Table de vrit de la D-latch Le schma de cette est donn sur la Figure 6.9. Cette bascule na pas interdit et transparente Lesbascule bascules matre-esclaves permettent de dtat diminuer laest sensibisur le niveau haut de lhorloge.
lit aux parasites en minimisant la priode de transparence. La naS' ture des bascules matre-esclave vient S Q du fait que deux bascules RST montes en cascade et commandes par deux horloges en opposition de phase ralisent la mme fonction quune seule bascule. La R = S' T diffrence tient seulement au fait que la bascule ne fonctionne plus sur le niveau haut de lhorloge, mais sur son front descendant
sur le niveau bas de lhorloge, le premier tage (matre) fonc6.1.5. Bascule Matre-Esclave clave) est
(Q')
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 transparence. Le schma dune bascule matre esclave est donn sur la Figure 6.10. En montant en cascade deux RS, et par lesclave est dans la mmorisation fonction. Toutefois, bascules RST commandes la mme horloge mais ltat inverse, bascule ralise la mme elle fonctionne non plus sur le niveau haut de lhorloge, mais sur le front descendant de lhorloge. En effet, sur le La priode pendant laquelle la bascule est sensible aux parasites se le niveau haut de lhorloge, le deuxime tage (esclave) est dans ltat mmoire alors que sur le niveau bas, cest premier tage (matre) qui est dans ltat mmoire. Il en rsulte que lade plage de sensibilit aux parasites haut se limite rsume donc la dure de commutation lhorloge du niveau la dure de commutation descendante lhorloge. au niveau bas (frontde descendant).
Matre S H R H
Esclave Q
Q
Figure 6.10 : Bascule matre-esclave 6.1.6. 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 car les sorties de lesclave ne change dtat que lorsque le matre est bloqu. Cette bascule fonctionne toujours sur les front descendant. Sa table de vrit ainsi que la fonction de sortie (Qn+1) est donne sur la Figure 6.12. M. Siadat & C. Diou
120
8.7. Bascule JK
8.7 Bascule JK
Les bascules JK sont des bascules matre-esclave fonctionnant seulement en mode synchrone. Elles sont plus polyvalentes que les basculent RS, car elles nont pas dtat ambigu et R = S = 1 QN+1 =
` #a Ab0 P
QN .
Symbole
J Q Clk K
Tableau de Karnaugh
Q+
0
J K
0 10 51 41 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 change 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.
Ralisation
J K
` #a 0 Ab R
&
RSH-ME
S Q Clk R
&
121
J H & K
#a ` ` 0 #a 0 Ab Ab R R
&
Q Clk Clk Q R Q R Q 1
Matre
S Q
Esclave
S Q
Table de vrit
J X 0 1 0 1 K X 0 0 1 1 H
QN+1 QN QN 1 0 QN
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
Remarque 8.3
Pour que le basculement fonctionne, il faut avoir H trs troite, autrement il y a rebasculement.
Exemple 8.3
H J K Q
122
` Cba0 R
Symbole
D Q 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
DN QN+1 1 1 0 0 QN+1 prend la valeur de DN aprs le front actif : QN+1 = DN Cest une bascule de recopie : on lemploie seulement en synchrone.
Ralisation
D H
` ` 0 a 0 a R Ab R Ab ` ` 0 #a #a AbR Ab0 P
Matre
D Q
Esclave
D Q
En
En
RSH-ME
S Q Clk R
JKFF
J Clk K
123
Remarque 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.
Symbole
T Q Clk
` #a 0 @bP
T 0 1 QN+1 QN QN
Ralisation
T
` #aP 0 Ab
J Q Clk K
Table de vrit
124
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.
Clear
Exemple 8.4
Set J H K Clear Q Q
Set 1 0 1 0
Clear 1 1 0 0
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. Clear RAZ [c]et DC clear Dsignations synonymes : Preset RAU Set DC set
Remarque 8.5
Les entres synchrones sont des niveaux de tension continue
125
Exemple 8.5
S R
126
S R
8.12.3 Synchronisation
Exemple 8.7
A H
Solution :
int. antirebond
A X
impulsion partielle indsirable
A H
int. antirebond
H A Q X
A B
Solution :
A B X A avant B ?
127
A B
J K
A B Q A avant B
A B Q A aprs B
D H
Bascule JK
Q Q
H Q
1 1
J K
Q Q
H Q
Bascule RS
S R
Q Q
H Q
128
Chapitre 9
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 rst 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 Validation de lentre srie Sortie srie Dcalage droite
Registre dcalage H
Dc Val A B C D
Entres parallles Chargement parallle
9.1 Dnition
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, afchage, mmorisation, etc.)
129
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. 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.
L Validation transfert A Q B Q C Q D Q
Validation chargement
BD2
CD1
DD0
Clk
Clk
Clk
Clk
130
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.
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.
Clk
Clk
Clk
Clk
QA
QB
QC
QD
Lorsque lentre est stocke, chaque bit apparat simultanment sur les lignes de sortie.
131
Le registre dcalage est utilis comme convertisseur srieparallle. Il est ncessaire la rception lors dune transmission srie.
A B CD
shift/load
Registre paralllesrie
Sortie donne
S/L
D H
132
e1
e2
ei
en
C1 C2 H q1 q2
Qi-1 Qi Qi+1
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.
Page 6.7
133
Chapitre 10
Les compteurs
Claude Elwood Shannon 30 avr. 1916, Gaylord, E.-U. 24 fv. 2001, Medford, E.-U.
The most important results [mostly given in the form of theorems with proofs] deal with conditions under which functions of one or more variables can be generated, and conditions under which ordinary diverential equations can be solved. Some attention is given to approximation of functions (which cannot be generated exactly), 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 dune horloge un cycle de comptage rgulier ou quelconque dun maximum de 2n combinaisons. Dnition 10.2 tat, Modulo : la combinaison de sortie dun compteur est appel tat, et le nombre dtats possibles dun 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.
135
7
@ABC GFED 000
+ GFED @ABC
010
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 ;
136
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. N D C B A 0 0 0 0 0 1 0 0 0 1 2 0 0 1 0 0 0 1 1 3 4 0 1 0 0 5 0 1 0 1 . . . . . . . . . . . . . . . 15 1 1 1 1 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 afche 0000 : un nouveau cycle commence. 10.1.1.c Chronogramme H A B C D
137
chaque bascule divise par deux la frquence dhorloge qui alifinitale mente son entre 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.
Exemple 10.2
Dcompteur modulo 8
H A A B B C C
Chronogramme : H A B C
138
Exemple 10.3
Compteur asynchrone modulo 6 : 22 < 6 < 23 on ralise un compteur modulo 3 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
Q0 H Q1 Q2 Q1 Q2
139
10.1.3.b Table dimplication squentielle N Q2 Q1 Q0 0 0 0 0 0 0 1 1 2 0 1 0 3 0 1 1 1 0 0 4 5 1 0 1 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.
Exemple 10.4
Cycle 2, 5, 6, 8, 4, 10
H
modulo 6 Transcodeur Q0 Q1 Q2 Q3
140
N 0 1 2 3 4 5
Q2 0 0 0 0 1 1
Q1 0 0 1 1 0 0
Q0 0 1 0 1 0 1
Q3 0 0 0 1 0 1
Q2 0 1 1 0 1 0
Q1 1 0 1 0 0 1
Q0 0 1 0 0 0 0
2 5 6 8 4 10
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.
7493 TTL
MR 1 MR 2 Q 3 Q 2 Q 1 Q 0
CP1 CP0
Circuit interne
H=CP1 H=CP0 MR1 MR2
RAZ RAZ RAZ RAZ
Q0
Q1
Q2
Q3
MR Master Reset.
141
FH = 1/(2 Tm ) : Frquence max de lhorloge = 1/(2 n Dp ) 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.
142
10.2.1 Ralisation
Elle est possible avec des bascules JK, D ou T.
Exemple 10.6
Ralisation dun compteur modulo 8 ( cycle complet) laide de bascules T Table dexcitation Q2 Q1 Q0 Q+ T2 T1 T0 Q+ Q+ 2 1 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 1 1 0 1 0 0 1 1 0 0 1 1 0 0 1 1 1 0 1 1 1 0 0 1 0 1 0 0 1 1 1 0 0 1 1 1 0 1 1 1 0 1 1 1 0 0 1 1 1 1 0 0 0 0 1 1 On constate que : T0 = 1 et T1 =Q0 et T2 =Q1 Q0
1
` ` ` #a 0 #a 0 #a 0 @b @bP @bP P
&
Clk
Clk
Clk
Exemple 10.7
143
a) laide de bascules JK :
b) laide de bascules D :
c) laide de bascules T :
144
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 ED : valide le dcomptage
Remarque 10.2
Toutes les commandes agissant sur le comptage sont regroupes sur la gure ci-dessous :
10.2.3 Applications
10.2.3.a Compteur de frquence Circuit qui mesure et afche la frquence dun signal impulsionnel (mesure de frquence inconnue).
145
Principe dun compteur de frquence : dure pendant laquelle les impulsions sont comptes : RAZ met le compteur zro : f = contenu t2 t 1
Remarque 10.3
Le compteur est un montage en cascade de compteurs DCB, chacun ayant une unit dcodeur/afcheur (afchage dcimal). La prcision de cette mthode est fonction de lintervalle dchantillonnage. 10.2.3.b Horloge numrique
146
Chapitre 11
Mthodes dtude des circuits squentiels
Charles Lutwidge Dodgson ou Lewis Carroll 1832 1898
Can you do addition ? the White Queen asked. Whats one and one and one and one and one and one and one and one and one and one ? I dont know, said Alice I lost 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 A B S S+ des sorties : ; 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 ches 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.
147
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.
148
Chapitre 12
Concepts de base des processeurs
John von Neumann 28 dc. 1903, Budapest, Hongrie 8 fv. 1957, Washington D.C., E.-U.
Si quelquun croit que les mathmatiques sont diHciles, cest simplement quil ne ralise pas comme la vie est complexe ! (John von Neumann)
151
Chapitre 13
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 linvention du transistor. John Bardeen obtiendra un second Prix Nobel de Physique en 1972 pour ses travaux sur la supraconductivit. La qualit des travaux de Shockley sur le transistor ne doit cependant pas crdibiliser ses thories eugniques dun autre ge ...
Les technologies de portes logiques ont volu partir de la technologie Diode-Logic (DL). Celle-ci a volu en Resistor-TransistorLogic (RTL) puis Diode-Transistor-Logic (DTL), avant daboutir la famille la plus populaire en son temps, la famille TransistorTransistor 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
Dnition 13.1 Amplication : Lamplication reprsente la capacit dune porte logique damplier 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 dune 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 Sortance : La sortance ou fan-out est le nombre dunits de charge logique disponibles la sortie dune porte ; cette unit correspond la valeur du courant ncessaire pour commander une entre de circuit logique Dnition 13.4 Entrance : Lentrance ou fan-in est le nombre dunits de charge logique ncessaire en entre pour faire fonctionner la porte. Dnition 13.5 Temps de traverse : Le temps de traverse est lintervalle de temps qui spare le signal dentre du signal de sortie qui en est la consquence.
156
Dnition 13.6 Temps de monte, temps de descente : Les temps de monte (respectivement de descente) dun signal et lintervalle de temps ncessaire au signal pour passer de 10% 90% (respectivement de 90% 10%) de sa valeur nominale.
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, abilit, immunit aux parasites, cot, packaging, etc.
157
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).
Les technologies transistors MOS : MOSP : MOSN : CMOS : SOS : SOI : metal oxyd semiconductor canal P metal oxyd semiconductor canal N complementary metal oxyd semiconductor silicon on sapphir or spinel (MOS dpos sur saphir ou spinelle) 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.
158
Le schma ci-contre illustre une D1 Z = A+B porte OU conue en technologie DL. On A considre que le 1 logique est reprsent D par +5 V, et que le 0 logique est repr- B 2 sent par la masse, ou 0 V. Si les deux entres sont laisses non connectes, ou R1 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 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 congure pour rappeler la tension de sortie ltat logique 1. Si les deux entres sont non connec+V tes ou si elles sont toutes les deux ltat logique 1, la sortie Z sera galement ltat logique 1. Si lune ou lautre des enR1 tres est connecte la masse (tat lo D2 gique 0), la diode conduit et ramne la A masse vers la sortie, qui est donc force ltat logique 0 galement. D1 Z = A.B Dans les exemples prcdents, nous B 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 dnissant 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 dni.
159
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. 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 dni. 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, emp-
160
chant le circuit de fonctionner correctement. Cest pourquoi la logique DL ne peut tre utilise que pour des portes uniques, et dans des circonstance spciques.
161
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 sufsant 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 la connexion du collecteur commun
162
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 fanin 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
163
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. 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.
164
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 sufsante pour faire passer le 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
165
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 signicative le fonctionnement du circuit. 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
166
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.
167
Les conomies despaces ralises se traduisent en une conomie signicative sur les cots de fabrication, ce qui rduit les cots au niveau de lutilisateur nal. 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 modiant 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 nal utilis dans la plupart des circuits intgrs commerciaux standards est prsent sur la gure 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.
168
169
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 cidessus 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 gure 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
170
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. 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 signicative 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 ap-
171
pel 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 alternativement. 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.
172
Chapitre 1
B E S A A B A B A B 1 1 0 A A B B
173
Annexe A
Correction des exercices
177
[ Index ]
Symbols
etat . . . . . . . . . . . . . . . . . . . . . . . . . . 135
C
canonique forme canonique . . . 59, 80, 108 produit canonique . . . . . . 60 somme canonique . . . . . . 59 commutativit . . . . 54, 58, 62, 65 complmentarit. . . . . . . . . . . . .57 complmentation . . . . . . . . . . . . 57 compteur . . . . . . . . . . . . . . . . . . . 135 consensus . . . . . . . . . . . . . . . . . . . . 62
A
absorption . . . . . . . . 54, 58, 62, 80 allgement . . . . . . . . . . . . . . . . . . . 80 amplication. . . . . . . . . . . . . . . .156 associativit . . . . . . . . . . . . . . 58, 62
B
bascule verrouillage . . . . . . . . . . 119 D . . . . . . . . . . . . . . . . . . . . . . . 122 JK . . . . . . . . . . . . . . . . . . . . . . 121 matre-esclave . . . . . . . . . 120 RS . . . . . . . . . . . . . . . . . . . . . . 114 RS synchrone . . . . . . . . . . 118 RST. . . . . . . . . . . . . . . . . . . . .118 T . . . . . . . . . . . . . . . . . . . . . . . 124 base . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 conversion de base . . 1013 binaire . . . . . . . . . . . . . . . . . . . . . . . . . 8
D
De Morgan 54, 59, 62, 64, 67, 80, 89 distributivit . . . . . . . . . . 54, 58, 62 dualit . . . . . . . . . . . . . . . . . . . . 58, 59
E
lment absorbant . . . . . . . . . . . 62 lment neutre . . . . . . . . . . . . . . . 62 lment nul . . . . . . . . . . . . . . . . . . 56 entrance. . . . . . . . . . . . . . . . . . . . .156 equivalence . . . . . . . . . . . . . . . . . . 57
179
Index
F
fan-in . . . . . . . . . . . . . . . . . . . . . . . 156 fan-out . . . . . . . . . . . . . . . . . . . . . . 156 fanout . . . . . . . . . . . . . . . . . . . . . . . 163 forme conjonctive . . . . . . . . . . . . 60 forme disjonctive. . . . . . . . . . . . .59
M
modulo. . . . . . . . . . . . . . . . . . . . . .135 MSB . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
O
octal . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
G
gain en courant . . . . . . . . . . . . . 156
P
polynomiale . . . . . . . . . . . . . . . . . . . 7
H
hexadcimal . . . . . . . . . . . . . . . . . . 10
S
sortance . . . . . . . . . . . . . . . . . . . . . 156
I
idempotence . . . . . . . . . . 54, 57, 62 identit . . . . . . . . . . . . . . . . . . . 56, 62 identit . . . . . . . . . . . . . . . . . . . 54, 63 induction parfaite . . . . . . . . . . . . 56 involution . . . . . . . . . . . . . 54, 57, 62
T
temps de descente . . . . . . . . . . 157 temps de monte . . . . . . . . . . . 157 temps de traverse . . . . . . . . . . 156
L
latch . . . . . . . . . . . . . . . . . . . . . . . . . 119 LSB . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
V
virgule virgule xe . . . . . . . . . . . . . . 19 virgule ottante . . . . . 2025
180
[ Bibliographie ]
[WHI61] J.E. Whitesitt, Boolean algebra and its applications, 1961, Addison-Wesley. [KAR53] Maurice Karnaugh, The Map Method for Synthesis of Combinational Logic Circuits, Trans. AIEE. pt I, 72(9) :593599, November 1953. [LAF] J.-C. Lafont & J.-P. Vabre, Cours et Problmes dlectronique Numrique , d. Ellipses. [TOC] R. J. TOCCI, Circuits Numriques, Thorie et Applications , d. Dunod. [WWW01] Site Web sur la reprsentation des nombres dans les ordinateurs : http://www.trotek.ec-lyon.fr/~muller/
cours/index.html
[WWW02] Site Web sur la technologie des portes logiques : www.
play-hookey.com
181
5
7 . 7 . 8 . 9 . 10 . 10 . . . . . . . . . 15 16 16 19 26 31 33 33 38 42 45 47
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 . . . . . . . . . . . . . . . . . . . . . . . . . . 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
183
49
51 51 54 55 56 57 62 67
Reprsentation et simplication des fonctions logiques 73 5.1 Mthodes de reprsentation des fonctions logiques . . . 73 5.2 Simplication dexpressions logiques . . . . . . . . . . . 80 Les circuits combinatoires 89 6.1 Circuits logiques combinatoires usuels . . . . . . . . . . 89 6.2 Synthse des circuits combinatoires . . . . . . . . . . . . 98 Fonctions et oprateurs arithmtiques 105 107
109
111 . 111 . 113 . 114 . 118 . 119 . 120 . 121 . 122 . 124 . 124 . 126 . 126
184
Registres : stockage et transfert de donnes 129 9.1 Dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 9.2 Registre de mmorisation : criture et lecture parallles 130 9.3 Registres dcalage . . . . . . . . . . . . . . . . . . . . . . 131 9.4 Registre universel . . . . . . . . . . . . . . . . . . . . . . . 132
10 Les compteurs 135 10.1 Compteur asynchrone ( propagation) . . . . . . . . . . 136 10.2 Compteur synchrone (parallle) . . . . . . . . . . . . . . 143 11 Mthodes dtude des circuits squentiels 147
149
151
Partie VI : Annexes
A Correction des exercices Index Bibliographie
175
177 179 181
185