Vous êtes sur la page 1sur 249

Conservatoire National des Arts et Mtiers

Polycopi de cours Electronique A4

Version provisoire du lundi 19 janvier 2004

Circuits numriques : 1re partie

C.ALEXANDRE

Conservatoire National des Arts et Mtiers

Polycopi de cours Electronique A4

Version provisoire du lundi 19 janvier 2004

Circuits numriques : 2me partie

C.ALEXANDRE

1.

LOGIQUE COMBINATOIRE................................................................................................................... 1 1.1 DE LANALOGIQUE AU NUMERIQUE ....................................................................................................... 1 1.1.1 Grandeurs analogiques .............................................................................................................. 1 1.1.2 Le numrique .............................................................................................................................. 3 1.2 INTRODUCTION, VARIABLES ET FONCTIONS LOGIQUES ......................................................................... 7 1.2.1 Les oprateurs fondamentaux..................................................................................................... 8
1.2.1.1 1.2.1.2 1.2.1.3 1.2.1.4 1.2.1.5 1.2.1.6 1.2.1.7 1.2.1.8 INV (NON) ............................................................................................................................................8 AND (ET) ..............................................................................................................................................8 OR (OU).................................................................................................................................................9 NAND (NON ET) ..................................................................................................................................9 NOR (NON OU) ..................................................................................................................................10 XOR (OU exclusif) ..............................................................................................................................10 XNOR (NON OU exclusif)..................................................................................................................11 Portes universelles................................................................................................................................11

1.2.2 1.2.3 1.2.4


1.2.4.1 1.2.4.2

Algbre de BOOLE ................................................................................................................... 12 Expression dune fonction logique ........................................................................................... 14 Simplification des fonctions logiques ....................................................................................... 16
Simplification algbrique .....................................................................................................................16 Simplification par les tableaux de Karnaugh........................................................................................17

1.3 REPRESENTATION DES NOMBRES : LES CODES ..................................................................................... 23 1.3.1 Entiers naturels......................................................................................................................... 23
1.3.1.1 1.3.1.2 Base dun systme de numration ........................................................................................................23 Changement de base.............................................................................................................................25

1.3.2 1.3.3 1.3.4


1.3.4.1 1.3.4.2 1.3.4.3 1.3.4.4 1.3.4.5 1.3.4.6

Entiers signs............................................................................................................................ 27 Nombres rels (flottants) .......................................................................................................... 29 Des codes particuliers .............................................................................................................. 30
Le code BCD........................................................................................................................................30 Le code Gray........................................................................................................................................30 Le code Johnson...................................................................................................................................33 Le code 1 parmi N................................................................................................................................33 Le code ASCII .....................................................................................................................................33 Les codes dtecteurs et/ou correcteurs derreurs..................................................................................34

1.4 CIRCUITS LOGIQUES COMBINATOIRES ................................................................................................. 35 1.4.1 Circuits logiques fondamentaux ............................................................................................... 35 1.4.2 Le dmultiplexeur ..................................................................................................................... 36 1.4.3 Le dcodeur .............................................................................................................................. 38 1.4.4 Le multiplexeur ......................................................................................................................... 39 1.4.5 Lencodeur de priorit.............................................................................................................. 41 1.4.6 Les circuits arithmtiques......................................................................................................... 42 1.4.7 Les mmoires ............................................................................................................................ 45 1.4.8 Ralisation dune fonction logique combinatoire..................................................................... 46 1.5 CARACTERISTIQUES TEMPORELLES ..................................................................................................... 49 1.5.1 Caractristiques temporelles .................................................................................................... 50 1.5.2 Etats transitoires....................................................................................................................... 51 1.6 EXERCICES .......................................................................................................................................... 56 2. LOGIQUE SEQUENTIELLE .................................................................................................................. 67 2.1 2.2 2.3 2.4 2.5 2.6 2.6.1 2.6.2 2.6.3 2.6.4 2.7 2.7.1 CIRCUITS SEQUENTIELS ASYNCHRONES ............................................................................................... 67 BISTABLES SYNCHRONISES SUR UN NIVEAU ........................................................................................ 73 BASCULES MAITRE-ESCLAVE............................................................................................................... 75 BASCULES SYNCHRONISEES SUR UN FRONT ......................................................................................... 76 BASCULES USUELLES .......................................................................................................................... 77 CARACTERISTIQUES TEMPORELLES DES CIRCUITS SEQUENTIELS SYNCHRONES ................................... 79 Dfinitions................................................................................................................................. 80 Calcul de la frquence maximale dhorloge dune bascule D.................................................. 81 Calcul de la frquence maximale dhorloge dans le cas gnral ............................................. 83 Mtastabilit ............................................................................................................................. 84 REGLES DE CONCEPTION ..................................................................................................................... 85 Influence des alas de commutation ......................................................................................... 85

2.7.2 Rgles de conception synchrone ...............................................................................................86 2.7.3 Le rle du CE ............................................................................................................................87 2.7.4 Asynchrone contre synchrone ...................................................................................................88 2.8 MACHINES DETATS ............................................................................................................................89 2.9 LES GENERATEURS DE SEQUENCES SYNCHRONES ................................................................................91 2.9.1 Compteur, dcompteur, gnrateur pseudoalatoire................................................................91 2.9.2 Cas particulier : les registres dcalages boucls...................................................................92 2.9.3 Cas gnral : la mthode de la table dtats.............................................................................94 2.9.4 Ala dans les gnrateurs cycle incomplet ............................................................................96 2.10 CIRCUITS LOGIQUES SEQUENTIELS.......................................................................................................96 2.10.1 Les bascules lmentaires.........................................................................................................96 2.10.2 Les compteurs ...........................................................................................................................97
2.10.2.1 2.10.2.2 2.10.2.3 2.10.2.4 2.10.2.4.1 2.10.2.4.2 2.10.2.5 2.10.2.5.1 2.10.2.5.2 2.10.2.5.3 2.10.2.5.4 2.10.2.6 Introduction .................................................................................................................................... 97 Compteurs Binaires Asynchrones .................................................................................................. 98 Quelques compteurs synchrones du commerce ............................................................................ 100 Mise en cascade de compteurs ..................................................................................................... 102 mise en cascade srie ou asynchrone ...................................................................................... 102 mise en cascade parallle ou synchrone.................................................................................. 102 Ralisation de compteurs modulo quelconque. ............................................................................ 103 Action sur l'entre Clear synchrone ........................................................................................ 103 Rappel des cas possibles d'alas.............................................................................................. 103 Influence de lala................................................................................................................... 104 Action sur lentre LOAD synchrone ..................................................................................... 106 Exploitation des tats de sortie d'un compteur. ............................................................................ 107 Dfinition ..................................................................................................................................... 109 Applications ................................................................................................................................. 110 Le SN74LS178, registre polyvalent de 4 bits............................................................................... 111

2.10.3
2.10.3.1 2.10.3.2 2.10.3.3

Les registres dcalages ........................................................................................................109

2.10.4 Les monostables ......................................................................................................................112 2.11 EXERCICES ........................................................................................................................................113 3. ELEMENTS DE TECHNOLOGIE DES CIRCUITS LOGIQUES ....................................................123 3.1 CARACTERISTIQUES ELECTRIQUES DES CIRCUITS LOGIQUES ..............................................................123 3.1.1 Tensions ..................................................................................................................................123 3.1.2 Courants..................................................................................................................................125 3.1.3 Puissance dissipe en fonction de la frquence ......................................................................127 3.1.4 Ncessit dun dcouplage en logique rapide.........................................................................129 3.2 SPECIFICATIONS ................................................................................................................................132 3.3 FAMILLES DE CIRCUITS LOGIQUES .....................................................................................................134 3.3.1 Technologie TTL .....................................................................................................................134
3.3.1.1 3.3.1.2 3.3.1.3 3.3.1.4 3.3.1.5 3.3.1.5.1 3.3.1.5.2 Le transistor en commutation ............................................................................................................ 135 La porte TTL totem pole ................................................................................................................... 136 La porte TTL collecteur ouvert....................................................................................................... 139 La porte TTL avec buffer .................................................................................................................. 140 La porte TTL 3 tats notion de bus................................................................................................. 141 La porte 3 tats .......................................................................................................................... 141 notion de bus.............................................................................................................................. 141 La logique MOS ................................................................................................................................ 144 La logique CMOS.............................................................................................................................. 145 Caractristiques lectriques ............................................................................................................... 147 Tension dalimentation et puissance.................................................................................................. 149

3.3.2
3.3.2.1 3.3.2.2 3.3.2.3 3.3.2.4

Technologies MOS et CMOS ..................................................................................................143

3.3.3 Technologie ECL ....................................................................................................................151 3.3.4 Comparaison des technologies ...............................................................................................151 3.4 REALISATION DES CIRCUITS IMPRIMES ..............................................................................................154 3.4.1 Circuits imprims traditionnels...............................................................................................155 3.4.2 Circuits imprims avec montage en surface ...........................................................................156 3.5 LE CHOIX DES BOITIERS .....................................................................................................................157 3.5.1 Caractrisation dun botier ...................................................................................................157 3.5.2 Les diffrents types de botiers................................................................................................158
3.5.2.1 Les botiers deux ranges de broches disposes aux extrmits ..................................................... 158

ii

3.5.2.2 3.5.2.3

Les botiers quatre ranges de broches disposes aux extrmits....................................................160 Les botiers ayant leurs broches disposes en dessous .......................................................................161

3.5.3 Lvolution des botiers .......................................................................................................... 162 3.5.4 Prcautions prendre ............................................................................................................ 165 3.6 EXERCICES ........................................................................................................................................ 166 4. LES MEMOIRES .................................................................................................................................... 177 4.1 GENERALITES .................................................................................................................................... 177 4.1.1 Classification .......................................................................................................................... 177 4.1.2 Principe dun microprocesseur .............................................................................................. 179 4.1.3 Structure gnrale .................................................................................................................. 181 4.1.4 Plan dadressage .................................................................................................................... 183 4.1.5 Expansion en capacit ............................................................................................................ 183 4.1.6 Expansion de la largeur du bus de donnes ........................................................................... 184 4.2 LA FAMILLE DES ROM...................................................................................................................... 185 4.2.1 ROM et PROM........................................................................................................................ 185
4.2.1.1 4.2.1.2 Principe gnral..................................................................................................................................185 Exemple : la 82S129A de Philips.......................................................................................................188

4.2.2
4.2.2.1 4.2.2.2

EPROM et OTP ...................................................................................................................... 189


Principe gnral..................................................................................................................................189 Exemple : la 27C1024 dAMD ..........................................................................................................192

4.2.3
4.2.3.1 4.2.3.2

EEPROM ................................................................................................................................ 194


Principe gnral..................................................................................................................................194 Exemple : la X28C010 de XICOR .....................................................................................................197

4.2.4
4.2.4.1 4.2.4.2

Flash EEPROM ...................................................................................................................... 199


Principe gnral..................................................................................................................................199 Exemple : la 28F010 dINTEL..........................................................................................................201

4.3 LA FAMILLE DES RAM...................................................................................................................... 205 4.3.1 RAM statique .......................................................................................................................... 205
4.3.1.1 4.3.1.2 Principe gnral..................................................................................................................................205 Exemple : la CY7C1009 de CYPRESS..............................................................................................208

4.3.2
4.3.2.1 4.3.2.2

RAM statique double port....................................................................................................... 210


Principe gnral..................................................................................................................................210 Exemple : la CY7C009 de CYPRESS................................................................................................211

4.3.3
4.3.3.1 4.3.3.2

FIFO ....................................................................................................................................... 212


Principe gnral..................................................................................................................................212 Exemple : le CY7C423 de CYPRESS................................................................................................216

4.3.4
4.3.4.1 4.3.4.2

RAM non-volatile.................................................................................................................... 217


Principe gnral..................................................................................................................................217 Exemple : la X20C17 de XICOR .......................................................................................................218

4.3.5
4.3.5.1 4.3.5.2

FRAM...................................................................................................................................... 219
Principe gnral..................................................................................................................................219 Exemple : la FM1808S de RAMTRON .............................................................................................220

4.3.6

RAM dynamique...................................................................................................................... 222

4.3.6.1 Modles FPM et EDO........................................................................................................................222 4.3.6.1.1 Principe gnral..........................................................................................................................222 4.3.6.1.2 Exemple : la MT4LC8M8E1 de MICRON ................................................................................228 4.3.6.2 Evolution des DRAM.........................................................................................................................230

4.4 5.

EXERCICES ........................................................................................................................................ 235

LES CIRCUITS SPECIFIQUES A UNE APPLICATION.................................................................. 243 5.1 INTRODUCTION.................................................................................................................................. 243 5.2 TECHNOLOGIE UTILISEE POUR LES INTERCONNEXIONS ...................................................................... 245 5.2.1 Interconnexion par masque .................................................................................................... 245 5.2.2 Interconnexion par anti-fusible .............................................................................................. 245 5.2.3 Interconnexion par cellule mmoire ....................................................................................... 246 5.3 LES CIRCUITS FULL CUSTOM .............................................................................................................. 246 5.3.1 Les circuits la demande ....................................................................................................... 247 5.3.2 Les circuits base de cellules................................................................................................. 247
5.3.2.1 les cellules prcaractrises................................................................................................................247

iii

5.3.2.2

Les circuits base de cellules compiles........................................................................................... 247

5.4 LES CIRCUITS SEMI-CUSTOM ..............................................................................................................248 5.4.1 Les circuits prdiffuss............................................................................................................248


5.4.1.1 5.4.1.2 Les circuits prdiffuss classiques..................................................................................................... 248 Les circuits mer-de-portes ................................................................................................................. 249

5.4.2
5.4.2.1 5.4.2.2 5.4.2.3 5.4.2.4 5.4.2.5 5.4.2.6 5.4.2.7

Les circuits programmables....................................................................................................249


Les PROM ......................................................................................................................................... 250 Les PLA............................................................................................................................................. 252 Les PAL............................................................................................................................................. 253 Les EPLD .......................................................................................................................................... 257 Les FPGA .......................................................................................................................................... 259 Les FPGA anti-fusibles................................................................................................................... 260 Conclusion......................................................................................................................................... 261

5.5 IMPLEMENTATION .............................................................................................................................262 5.6 COMPARAISON ENTRE LES FPGA ET LES AUTRES CIRCUITS SPECIFIQUES ..........................................263 5.6.1 Comparaison entre les PLD et les ASIC. ................................................................................263 5.6.2 Comparaison entre les FPGA et les EPLD.............................................................................264 5.6.3 Seuil de rentabilit entre un FPGA et un ASIC.......................................................................265 5.7 EXERCICES ........................................................................................................................................267 6. CONVERSION ANALOGIQUE/NUMERIQUE..................................................................................271 6.1 PRINCIPES FONDAMENTAUX ..............................................................................................................271 6.1.1 Introduction.............................................................................................................................271 6.1.2 Echantillonnage ......................................................................................................................272 6.1.3 Quantification .........................................................................................................................274 6.1.4 Reconstruction du signal analogique......................................................................................277 6.2 CARACTERISTIQUES DES CONVERTISSEURS .......................................................................................279 6.2.1 Introduction.............................................................................................................................279 6.2.2 Les CNA ..................................................................................................................................279 6.2.3 Les CAN ..................................................................................................................................282 6.2.4 Problmes technologiques ......................................................................................................284
6.2.4.1 6.2.4.2 Technologie employe....................................................................................................................... 284 Cblage.............................................................................................................................................. 284

6.3 FAMILLES DE CAN............................................................................................................................286 6.3.1 Gnralits..............................................................................................................................286 6.3.2 Convertisseurs rampe ..........................................................................................................287 6.3.3 Convertisseurs approximations successives ........................................................................288 6.3.4 Convertisseurs algorithmiques ...............................................................................................291 6.3.5 Convertisseurs flash................................................................................................................295 6.4 FAMILLES DE CNA............................................................................................................................298 6.4.1 Gnralits..............................................................................................................................298 6.4.2 Convertisseurs base de rsistances......................................................................................299
6.4.2.1 6.4.2.2 6.4.2.3 CNA rseau de rsistances pondres............................................................................................. 299 CNA rseau de rsistances R-2R .................................................................................................... 300 CNA chelle de rsistances............................................................................................................. 302

6.4.3 Convertisseurs courants pondrs .......................................................................................304 6.5 EXERCICES ........................................................................................................................................306 7 CORRIGES SUCCINCTS ......................................................................................................................311 7.1 7.2 7.3 7.4 7.5 7.6 8 CORRIGES CHAPITRE 1.......................................................................................................................311 CORRIGES CHAPITRE 2.......................................................................................................................321 CORRIGES CHAPITRE 3.......................................................................................................................329 CORRIGES CHAPITRE 4.......................................................................................................................335 CORRIGES CHAPITRE 5.......................................................................................................................341 CORRIGES CHAPITRE 6.......................................................................................................................347

ANNEXE...................................................................................................................................................353

iv

1. Logique combinatoire
1.1 De lanalogique au numrique

Une des principales volutions de llectronique depuis 1980 est le remplacement du traitement analogique des signaux par le traitement numrique. Depuis lintroduction du Compact Disc au dbut des annes 1980, les chanes de traitements du son et de limage ont t numrises de bout en bout. Bien que le monde qui nous entoure soit entirement analogique, on prfre convertir le plus tt possible les grandeurs analogiques en grandeurs numriques afin de bnficier des importants avantages du traitement numrique du signal. 1.1.1 Grandeurs analogiques Une grandeur analogique volue de manire continue au cours du temps. Elle peut prendre toutes les valeurs comprises entre deux extrmes : par exemple une tension de 12,341 volts. Toutes les grandeurs physiques qui nous entourent sont priori analogiques : Tension et courant. Temprature. Dimension, distance, vitesse, pression, volume, Son (onde sonore acoustique) et image (luminosit et couleurs).

Un capteur permet de transformer ces grandeurs en signaux lectriques analogiques (tension ou bien courant). Par exemple, le microphone transforme une variation de pression en tension. On peut ensuite effectuer une opration quelconque sur ces signaux (mesure, enregistrement, amplification, ).

Exemple de signal analogique : le sillon grav sur les anciens disques microsillons (33 tours ou 45 tours). Le capteur est la tte de lecture aiguille et bobine magntique, qui convertit alors cette gravure (le sillon) en signal lectrique prt tre amplifi.

Exemple dinstruments ou dappareils analogiques : Indicateur de vitesse aiguille, thermomtre mercure, Haut-parleurs, microphones Les magntophones cassettes. Les anciens lectrophones. 1

Les amplificateurs HiFi.

Quels sont les inconvnients des signaux analogiques ? a) Sensibilit aux parasites lors d'une transmission.

transmission

3v parasites

2 ,7 v erreur !

Lorsqu'un signal est transmis, mme sur une courte distance, il est soumis l'influence de bruits de toutes sortes : bruits impulsifs de machines lectriques dans le cas d'un environnement industriel, ronflement 50Hz d la proximit des lignes du secteur EDF, ...). A cause du bruit, une tension mise de 3 volts peut, aprs transmission, ne valoir que 2,7 volts. L'erreur est importante et peut tre gnante.

b) Conservation des donnes. Lenregistrement est relativement ais (bandes magntiques, gravure des microsillons), mais les donnes se dgradent progressivement dans le temps : par exemple, dgradation assez rapide de la qualit des anciens disques microsillons (craquements, souffle), perte de qualit sonore sur les cassettes (pertes surtout de clart dans les aigus et bruit de fond plus important).

c) Capacit de traitement limit. On ne peut raliser en analogique que des traitements simples. Il faut passer en numrique pour bnficier des capacits de traitement des ordinateurs mme si on a ralis des calculateurs analogiques dans les annes 50-70.

Peut-on supprimer entirement l'analogique ? Non car le monde rel est analogique, et le signal analogique est lintermdiaire naturel avec ltre humain. Un synthtiseur peut crer numriquement de la musique mais le signal sonore est forcment restitu par un haut-parleur sous forme d'ondes acoustiques analogiques.

1.1.2 Le numrique Comment passe-t-on du monde des grandeurs analogiques au monde des grandeurs numriques ? On peut tablir le schma type dune chane de traitement numrique.
grandeur analogique grandeur analogique

Capteur signal analogique Filtre passe-bas anti-repliement Conversion analogique/numrique Echantillonnage Quantification Traitement numrique Conversion numrique/ analogique

Transducteur signal analogique Filtre passe-bas de lissage

On trouve toujours dans une telle chane trois oprations principales : Le passage du signal analogique au signal numrique, cest--dire le filtrage passe-bas anti-repliement, lchantillonnage et la quantification. Les deux dernires tapes forment la conversion analogique/numrique. Le traitement numrique. Le passage du signal numrique au signal analogique, cest--dire la conversion numrique/analogique et le filtrage passe-bas de lissage.

Etudions les trois oprations principales : Lchantillonnage du signal une cadence rgulire nomme Fech (frquence ou cadence d'chantillonnage). Il faut que la frquence dchantillonnage soit suffisamment leve pour pouvoir convertir fidlement le signal. Ce signal est alors sous forme d'une suite d'chantillons, mais encore analogiques.
tension * etc 7 6 5 4 3 2 2 * 1 0 NIVEAUX
8*

QUANTIFICATION * * arrondi au plus prs pas de quantification etc 00100 00011 00010 00001 00000 t Code binaire correspondant * 9

*6
4 3

Fech (Cadence d'chantillonnage)

La quantification : on partage l'tendue des variations du signal en N niveaux quidistants qui sont numrots par exemple partir de 0 : 0, 1, 2, 3, 4, , N-2, N-1. L'intervalle entre chaque niveau se nomme le pas de quantification . On arrondit alors la valeur des chantillons prcdents au niveau le plus proche (on commet donc une erreur de 1/2 du pas de quantification). Plus N est grand (plusieurs centaines ou plusieurs milliers), plus la prcision sera leve. En fait ceci n'est pas nouveau, c'est un peu finalement ce que l'on fait quand on mesure une longueur avec un mtre gradu et que l'on arrondit par exemple au millimtre, ou lorsque lon donne lheure une minute prs !

Le passage en binaire : on fait correspondre chaque niveau et valeur entire un CODE BINAIRE, crit avec seulement des 0 et des 1. On nomme bits ou lments binaires ces 0 et ces 1. Une valeur sera crite avec un certain nombre de bits (8 bits pour des petits nombres, 16, 32, 64 bits ou plus pour des grands nombres ou des nombres fractionnaires). Exemple :

Niveau 0 Niveau 1 Niveau 2 Niveau 255

code code code

00000000 00000001 00000010

code

11111111

La suite de ces 0 et 1 reprsente alors sous forme numrique le signal de dpart. Exemple : avec 5 bits, nos chantillons 2, 3, 3, ... seront crits 00010, 00011, 00011, Un signal lectrique peut facilement transporter cette suite de 0 et de 1, avec par exemple le 0 gal 0 volt et le 1 gal 10 volts. On peut facilement enregistrer ce signal binaire sur une bande magntique, ou sur CDROM (par une suite de rgions aimantes ou non, rflchissantes ou non).

Quels sont les avantages du numrique ? a) Protection contre les parasites lors d'une transmission.

tension 10v

tension

transmission

10v SEUIL de dtection 5 volt (milieu t

Ov CODE :

parasites

Ov CODE : ?

REMISE EN FORME

10v

Ov CODE :

Pas d' erreur tant que le bruit est infrieure t 5 volt !!!

Un seuil de dtection permet une remise en forme, pratiquement sans perte d'information, sauf dans le cas de grosses perturbations. Il existe aussi des codes qui dtectent et mme corrigent les erreurs.

b) Mmorisation facile. Il existe de nombreuses formes de mmoires circuits intgrs (bascules, DRAM, Flash, ) pouvant stocker les deux tats 0 et 1.

c) Stockage facile. On enregistre le signal numrique sur bandes magntiques, disquettes, disques durs, disques optiques, ...

d) Capacit de traitement. La capacit de traitement nest limite que par la puissance des ordinateurs. Par exemple, on sait faire aujourdhui des films entirement numriques avec des acteurs virtuels.

Quels sont les inconvnients du numrique ? a) le temps de transmission sur un fil est plus lev. Soit transmettre nos chantillons 2, 3, 3, avec 5 bits par chantillon : la dure est alors multiplie par le nombre de bits.

3 2

1 0 0 0 0 0 0 0

1 0 0 0

Il faut donc accrotre les vitesses de transmission (ce qui nest pas un trop grand handicap vu les progrs des techniques numriques de nos jours).

b) Grand nombre de bits ncessaires pour le stockage en numrique. Cela est surtout vrai si les grandeurs analogiques doivent tre codes avec une bonne prcision (sons et images de bonnes qualits). Heureusement, de gros progrs ont eu lieu en capacit de stockage (supports magntiques ou optiques, mmoires des ordinateurs). De plus, des techniques de compression existent de nos jours comme MPEG.

Vu ses avantages qui dpassent largement ses inconvnients, le numrique est aujourdhui partout : Dans les disques laser pour la haute qualit du son et la tenue dans le temps des informations. Dans les ordinateurs bien sr. Dans les codes enregistrs sur les cartes de crdits, les cartes de transport, de parking, ... Dans la tlphonie mobile, la tl numrique, les radios FM RDS synthtiseur de frquence, Dans les calculateurs de vols des avions, les automatismes de contrle de tout processus industriel,

Il y a en fait bien peu dappareil non numrique aujourdhui (mme dans le matriel trs grand public type cafetire, radio rveil, lectromnager, jouet, ). Il ny a gure que dans les hautes frquences (au-del de quelques dizaines de MHz) et dans llectronique de puissance que lanalogique subsiste. Llectronique analogique est aussi indispensable pour 6

adapter le signal lectrique du capteur la conversion analogique/numrique ainsi que pour adapter le signal en sortie du convertisseur numrique/analogique aux caractristiques du transducteur. 1.2 Introduction, variables et fonctions logiques

Un systme numrique complexe est ralis partir dun assemblage hirarchique doprateurs logiques lmentaires ralisant des oprations simples sur des variables logiques. Ces variables logiques peuvent prendre les tats : (vrai, true) ou bien (faux, false,). Vous connaissez dj de nombreux systmes physiques qui travaillent partir de grandeurs ne pouvant prendre que deux tats: interrupteur ouvert ou ferm, tension prsente ou non, lampe allume ou non, objet clair ou non, moteur en marche ou arrt, affirmation vraie ou fausse, grandeur physique suprieure ou infrieure un seuil fix, grandeurs gales ou diffrentes.

Par convention, on associe gnralement ltat vrai dune variable logique la valeur binaire 1 et la valeur 0 ltat faux. Cest la logique positive. On peut aussi faire le contraire (cest la logique ngative) en associant la valeur 0 ltat vrai et la valeur 1 ltat faux. Dans ce cours, on travaillera toujours en logique positive, sauf mention contraire.

Electriquement, ltat vrai (ou la valeur 1) va tre associ un niveau de tension haut (la tension dalimentation du montage VDD en gnral) et ltat faux (valeur 0) va tre associ un niveau de tension bas (en gnral, la masse du montage GND). Les composants lmentaires du montage sont des paires de transistors MOS (logique CMOS) qui peuvent tre vus comme des interrupteurs ouverts ou ferms.

En logique, tout raisonnement est dcompos en une suite de propositions lmentaires qui sont vraies ou fausses. BOOLE, mathmaticien britannique du XIX sicle a cr une algbre qui codifie les rgles (algbre Boolenne) laide de variables logiques ne pouvant prendre que deux tats et doprations lmentaires portant sur une ou 2 variables.

Lalgbre de BOOLE ne traite que de la logique combinatoire, cest dire des circuits numriques dont la sortie ne dpend que de ltat prsent des entres (sans mmoire des tats passs). A chaque oprateur logique boolen (NON, ET, OU, NON ET, NON OU, OU exclusif, NON OU exclusif), on va associer un circuit numrique combinatoire lmentaire. La logique squentielle (avec mmoire) sera vue au chapitre suivant. 1.2.1 Les oprateurs fondamentaux 1.2.1.1 INV (NON)

Loprateur dinversion ne porte que sur une seule variable dentre. Si A est la variable dentre, S la variable de sortie vaut : S = A (on prononce A barre). Le tableau suivant rsume laction de cet oprateur. Dans ce chapitre, linterrupteur ouvert vaut 0 et linterrupteur ferm vaut 1.

Table de vrit

Montage
VDD

Symbole traditionnel

Symbole normalis

A 0 1

S=A
1 0
A S
1

1.2.1.2

AND (ET)

Loprateur AND (ET) porte sur deux variables dentre. Si A et B sont les variables dentre, alors S = A.B. S est vraie si A ET B sont vraies. Loprateur AND est symbolis par le point (.) comme la multiplication en mathmatique (cest dailleurs lopration ralise en binaire). On peut aussi voir cette fonction comme loprateur minimum (min) qui prend la plus petite des deux valeurs. Le tableau suivant rsume laction de cet oprateur.

Table de vrit

Montage

Symbole traditionnel

Symbole normalis

VDD
A 0 0 1 1 B 0 1 0 1 S = A.B 0 0 0 1

A B

A S B

A B

&

1.2.1.3

OR (OU)

Loprateur OR (OU) porte sur deux variables dentre. Si A et B sont les variables dentre, alors S = A+B. S est vraie si A OU B sont vraies. Loprateur OR est symbolis par le plus (+) comme laddition en mathmatique. On peut voir cette fonction comme loprateur maximum (max) qui prend la plus grande des deux valeurs. Le tableau suivant rsume laction de cet oprateur.

Table de vrit A 0 0 1 1 B 0 1 0 1 S = A+B 0 1 1 1 A

Montage VDD

Symbole traditionnel

Symbole normalis

B S

1.2.1.4

NAND (NON ET)

Loprateur NAND (NON ET) porte sur deux variables dentre. Si A et B sont les variables dentre, alors S = A.B . S est fausse si A ET B sont vraies. Loprateur NAND est linverse de loprateur AND. Son symbole est le symbole du ET suivi dune bulle qui matrialise linversion. Le tableau suivant rsume laction de cet oprateur.

Table de vrit A 0 0 1 1 B 0 1 0 1

Montage VDD

Symbole traditionnel

Symbole normalis

S = A.B
1 1 1 0 B A S

&

1.2.1.5

NOR (NON OU)

Loprateur NOR (NON OU) porte sur deux variables dentre. Si A et B sont les variables dentre, alors S = A + B . S est fausse si A OU B sont vraies. Loprateur NOR est linverse de loprateur OR. Son symbole est le symbole du OU suivi dune bulle qui matrialise linversion. Le tableau suivant rsume laction de cet oprateur.

Table de vrit A 0 0 1 1 B 0 1 0 1

Montage
VDD

Symbole traditionnel

Symbole normalis

S=A+B
1 0 0 0
A B S

1.2.1.6

XOR (OU exclusif)

Loprateur XOR (OU exclusif) nest pas un oprateur de base car il peut tre ralis laide des portes prcdentes. Il porte sur deux variables dentre. Si A et B sont les variables dentre, alors S = A B = A.B + A.B . S est vraie si A est diffrent de B. Loprateur XOR est symbolis par un + entour dun cercle () car il ralise laddition en binaire, mais modulo 2. Le OU normal (inclusif) est vrai quand A et B sont vrai (1+1=1). Le OU exclusif exclut ce cas (do son nom). Le tableau suivant rsume laction de cet oprateur.

10

Table de vrit A 0 0 1 1 B 0 1 0 1
S = AB

Montage VDD B
1 0 0 1

Symbole traditionnel

Symbole normalis

0 1 1 0

=1
S

1.2.1.7

XNOR (NON OU exclusif)

Loprateur XNOR (NON OU exclusif) nest pas non plus un oprateur de base. Il porte sur deux variables dentre. Si A et B sont les variables dentre, alors S = A B = A . B + A.B . S est vraie si A gale B. Loprateur XNOR est linverse de loprateur XOR. Son symbole est le symbole du XOR suivi dune bulle qui matrialise linversion. Le tableau suivant rsume laction de cet oprateur.

Table de vrit A 0 0 1 1 B 0 1 0 1
S= AB

Montage VDD

Symbole traditionnel

Symbole normalis

1 0 0 1

B
1 0 0 1

=1

1.2.1.8

Portes universelles

Les NAND et les NOR sont des portes universelles car elles permettent de raliser toutes les oprations logiques lmentaires. Par exemple avec des NAND, on peut raliser les oprations :

inversio n

11

ET
A

OU
B

Le mme genre de montage peut tre ralis avec des portes NOR. On verra plus tard que les portes NAND et NOR demandent le minimum de transistors pour tre fabriques et sont les plus rapides.
1.2.2 Algbre de BOOLE

Lalgbre de BOOLE porte sur des variables logiques (qui ne peuvent prendre que deux tats, vrai ou faux). Elle possde trois oprateurs boolens : NOT (NON), AND (ET), OR (OU). Lalgbre de BOOLE permet de raliser des fonctions laide de variables boolennes et des trois oprateurs de base. Le rsultat obtenu est boolen, cest--dire vrai ou faux.

Variables dentres

A B C
. . .

Fonction logique f

S = f(A, B, C, )

Les lois fondamentales de lalgbre de BOOLE se vrifient en crivant les tables de vrits et en testant tous les cas possibles. Ces lois sont les suivantes :

Commutativit Associativit Distributivit

A.B = B.A A+B = B+A A.(B.C) = (A.B).C A+(B+C) = (A+B)+C ET sur OU : A.(B+C) = (A.B) + (A.C) OU sur ET : A+(B.C) = (A+B) . (A+C)

12

ET sur ET : A.(B.C) = (A.B) . (A.C) OU sur OU : A+(B+C) = (A+B) + (A+C) Idempotence Complmentarit A.A = A A+A = A

A.A = 0
A+A =1

Identits remarquables

1.A = A 1+A=1 0.A = 0 0+A = A

A partir de ces proprits, on dmontre les relations de base suivantes :

A.B + A.B = A
(A + B).( A + B ) = A

A + A.B = A

A.(A + B) = A A + A.B = A + B
A.(A + B) = A.B Le OU exclusif a des proprits particulires. Il possde les proprits de commutativit et dassociativit, mais nest pas distributif par rapport au ET ou au OU. On a vu que :

A B = A.B + A.B
On a de plus
AB = AB = AB

et

1 A = A 0 A = A
Le thorme de DE MORGAN complte les proprits de lalgbre de BOOLE. Il est indpendant du nombre de variables. Il snonce des deux manires suivantes :

13

1) La ngation dun produit de variables est gale la somme des ngations des variables. Par exemple :
A.B = A + B

( A + B).( A. B ) = ( A + B) + ( A. B )

2) La ngation dune somme de variables est gale au produit des ngations des variables. Par exemple :
A + B = A. B

( A + B) + ( A. B ) = ( A + B).( A. B )

Dune manire plus gnrale, on peut dire que f(A, B, C, etc,+,.) = f(A, B, C, etc,.,+ )

1.2.3 Expression dune fonction logique

Il existe deux mthodes pour exprimer une fonction logique : soit donner directement son quation logique (par exemple, S = A + C + A.B.C ), soit utiliser une table de vrit. A un nombre fini N de variables dentre correspond 2N combinaisons possibles. La table de vrit va donc indiquer la valeur de la fonction pour les 2N valeurs possibles. Si par exemple S est une fonction de trois variables, il y aura 23 soit 8 combinaisons possibles. On va placer les trois variables dans un ordre arbitraire ( ne pas modifier ensuite !) A, B, C de gauche droite par exemple et crire les combinaisons dans lordre des entiers naturels (0, 1, 2, 3, , 2N-1). La table de vrit de S sera par exemple la suivante :

entres

Sorti e

14

Valeur entire 0 1 2 3 4 5 6 7

A B C combinaison 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1

S 0 1 1 1 0 1 0 0

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


A.B.C

Sous sa forme complte, lquation logique de S se lit directement. Cest la somme du ET logique de chaque combinaison avec ltat de S correspondant. Ici, on obtient la forme canonique complte :

S = A.B. C .0 + A.B.C .1 + A.B.C .1 + A.B.C .1 + A.B. C .0 + A.B.C .1 + A.B.C .0 + A.B.C .0

On sait que 0.X = 0, donc on peut liminer les termes qui valent 0. Cela nous donne :

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

On sait aussi que 1.X = X, donc on peut crire la forme canonique abrge :

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

Cest simplement la somme de combinaisons pour lesquelles S vaut 1. On la note aussi

(1,2,3,5) .
Nous avons maintenant un ensemble de rgles algbriques et nous savons exprimer une fonction logique. La question importante est : comment tre sur que lquation logique de la fonction est simplifie au maximum, cest--dire quelle va utiliser un nombre de portes minimum ?

15

1.2.4 Simplification des fonctions logiques

Lexpression dune fonction logique sous sa forme la plus simple nest pas quelque chose dvident. Trois mthodes sont utilisables :
Le raisonnement. On cherche, partir du problme rsoudre, lexpression la plus simple

possible. Evidemment, cette mthode ne garantit pas un rsultat optimal.


La table de vrit et les proprits de lalgbre de BOOLE. Cest plus efficace, mais il est

facile de rater une simplification, notamment quand la fonction est complique.


La mthode graphique des tableaux de Karnaugh. Cest la mthode la plus efficace car elle

garantit le bon rsultat. Cette mthode est utilise sous forme informatique dans tous les outils de CAO.

1.2.4.1

Simplification algbrique

Prenons un exemple. On a deux voyants A et B. On veut dclencher une alarme quand au moins un des deux voyants est allum, cest--dire : soit A allum avec B teint, soit B allum avec A teint, soit A et B allums. Par le raisonnement, le lecteur attentif aura trouv que S = A + B. Ecrivons la table de vrit :

A B S 0 0 0 0 1 1 1 0 1 1 1 1 On obtient donc : S = A .B + A B + AB

Do on tire (daprs les proprits de lalgbre de BOOLE) :

S = A( B + B) + BA = A.1 + BA = A + BA = A + B

On voit bien que cette mthode de simplification devient peu vidente quand la fonction est plus complexe. Voyons maintenant une mthode plus efficace. 16

1.2.4.2

Simplification par les tableaux de Karnaugh

Cette mthode permet :


davoir pratiquement lexpression logique la plus simple pour une fonction F. de voir si la fonction F nest pas plus simple (cela arrive). de trouver des termes communs pour un systme plusieurs sorties, dans le but de limiter le nombre de portes. de tenir compte de combinaisons de variables dentres qui ne sont jamais utilises. On peut alors mettre 0 ou 1 en sortie afin dobtenir lcriture la plus simple. de voir un OU exclusif cach.

A la main, on traite 4 variables sans difficults. Au maximum, on peut aller jusqu 5 voir 6 variables. En pratique, on utilise un programme informatique qui implmente gnralement lalgorithme de QUINE-McCLUSKEY, qui reprend la mthode de Karnaugh, mais de manire systmatique et non visuelle.

Dfinition : dans un code adjacent, seul un bit change dune valeur la valeur suivante. Exemple avec deux variables :

Code binaire naturel A 0 0 1 1 B 0 1 0 1

Code GRAY A 0 0 1 1 B 0 1 1 0

Les tableaux de Karnaugh sont une variante des tables de vrit. Ils sont organiss de telle faon que les termes 1 (ou 0) adjacents soient systmatiquement regroups dans des cases voisines, donc faciles identifier visuellement. En effet, deux termes adjacents (qui ne diffrent que par une variable) peuvent se simplifier facilement : A.B.C + A.B. C =

AB(C+ C) = AB. On reprsente les valeurs de la fonction dans un tableau aussi carr que
possible, dans lequel chaque ligne et chaque colonne correspondent une combinaison des variables dentre exprime avec un code adjacent (le code GRAY en gnral). 17

Les traits gras correspondent une zone o la variable vaut 1. Avec de lhabitude, il est inutile dcrire les valeurs des variables, ces traits gras suffisent la lecture.

Pour une criture rapide partir de la table de vrit, ou directement partir du cahier des charges, ou partir dune quation dj existante, on peut crire les variables A, B, C, D dans lordre ci contre. Cela permet une lecture systmatique.

D A B C

La disposition des 1 et 0 dpend de lordre des variables et du code adjacent choisi, mais quelque soit lordre, lquation finale obtenue reste la mme.

Pour la lecture et la simplification de lexpression, on cherche des paquets les plus gros possibles (de 1, 2, 4 ou 8 variables), en se rappelant que le code est aussi adjacent sur les bords (bord suprieur avec bord infrieur, bord gauche avec bord droit). On effectue une lecture par intersection en recherchant la ou les variables ne changeant pas pour le paquet. On ajoute alors les paquets. On obtient lexpression sous la forme dune somme de produit. Une case peut tre reprise dans plusieurs paquets.

Exemple 1 : deux variables dentre A et B 1 case = produit de 2 variables 2 cases = 1 variable 4 cases = 1 ou 0

B A 0 1 0 0 0 1 0 1 A

B 0 0 1 1 0 1 0 0 A

B 0 0 1 0 0 1 1 1 A

B 0 0 1 1 0 1 1 0

S = A.B

S = A.B

S=B

S=A

Exemple 2 : trois variables dentre A, B et C 18

1 case = produit de 3 variables 2 cases = produit de 2 variables 4 cases = 1 variable 8 cases = 1 ou 0


B=1 00 0 1 0 0 01 0 1 C=1 S = A.B.C 11 0 0 10 0 0 A=1 A 0 1 B=1 00 1 1 01 0 0 C=1 S = B.C 11 0 0 10 0 0 A=1

BC A

BC

BC A 0 1 00 1 0 01 1 0 C=1 S=A 11 1 0

B=1 10 1 0 A=1 A

BC 00 0 1 0 0 01 0 0 C=1 S=B 11 1 1

B=1 10 1 1 A=1

BC A 0 1 00 0 0 01 0 1 C=1 11 1 0

B=1 10 1 1 A=1 A

BC 00 0 1 0 1 01 1 1 C=1 11 1 0

B=1 10 1 1 A=1

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

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

19

Il y a parfois plusieurs solutions quivalentes. Exemple 3 : quatre variables dentre A, B, C et D 1 case = produit de 4 variables 2 cases = produit de 3 variables 4 cases = produit de 2 variables 8 cases = 1 variable 16 cases = 1 ou 0

CD AB 00 01 B 11 10 0 0 0 0 D S = A.B.C.D 0 0 00 0 0 01 0 1 11 0 0

C 10 0 0 B 0 A 0 AB

CD 00 00 01 11 10 0 0 1 1 01 0 0 0 0 D S = A.D 11 0 0 0 0

C 10 0 0 1 A 1

CD AB 00 01 B 11 10 0 0 1 1 D S = C.D 0 0 00 0 0 01 1 1 11 0 0

C 10 0 0 B 0 A 0 AB

CD 00 00 01 11 10 0 0 0 0 01 1 1 0 0 D 11 1 1 0 0

C 10 1 0 0 A 1

S = A.D+B.C.D

20

Dans une fonction logique, il peut exister des tats non utiliss. Ces combinaisons nont pas dimportance pour le problme rsoudre. On les appelle en anglais des tats dont care (ne pas tenir compte) et on les symbolise par un X. Ces tats X peuvent prendre la valeur la plus pratique pour simplifier la fonction. Exemple :
C 00 00 01 B 11 10 1 1 1 1 D 1 X 1 A X 10 1 1 D S=A 1 1 0 0 01 0 0 11 X 0 10 X 0 B 11 1 1 1 1 A AB 00 01 C 00 0 0 01 0 0 11 0 0 10 0 0

CD AB

CD

Il existe un cas particulier de fonction quil est parfois difficile dtecter, le OU exclusif (XOR) ou son complment. Il faut reprer des 1 disposs en quinconce. Pour voir sil sagit du XOR ou de son complment, il suffit alors de regarder la case toutes entres 0 . Si elle vaut 0, cest un XOR, sinon cest un XNOR.
B A 0 1 0 0 1 1 1 0 A 0 1 B 0 1 0 1 0 1

S = AB

S = AB

21

BC A 0 1 00 0 1 01 1 0 C S = ABC 11 0 1

B 10 1 0 A A

BC 00 0 1 1 0 01 0 1 C S = ABC 11 1 0

B 10 0 1 A

CD AB 00 01 B 11 10 0 1 1 0 D 0 1 00 0 1 01 1 0 11 0 1

C 10 1 0 B 1 A 0 AB

CD 00 00 01 11 10 1 0 1 0 01 0 1 0 1 D 11 1 0 1 0

C 10 0 1 0 A 1

S = ABCD

S = ABCD

Il peut parfois tre plus pratique de lire les 0 dans le tableau plutt que les 1. On obtient alors

F = somme de produits ce qui implique (par DE MORGAN) que F = produit de somme des
variables inverses. Si par exemple on a :

BC A 0 1 00 1 1 01 1 1 C 11 0 1

B 10 0 0 A En comptant les 1 : S = B + A.C

22

En comptant les 0 au lieu des 1, on obtient : S = B.C + A.B . Do on tire : S = S = B.C + A.B ce qui donne finalement : S = (B + C).(A + B) . On peut utiliser la lecture directe sur les 0 quand il y a peu de 0 et beaucoup de 1.

1.3

Reprsentation des nombres : les codes

On regroupe souvent les bits par paquets afin de coder des nombres entiers, rels ou bien des caractres. Pour cela, un groupe de bits doit former un code. Il existe de trs nombreux codes et nous allons voir maintenant les principaux.
1.3.1 Entiers naturels 1.3.1.1 Base dun systme de numration

Une base est constitue par lensemble des chiffres (ou caractres) diffrents quutilise le systme de numration. Tout nombre peut se dcomposer en fonction des puissances entires, positives ou ngatives, de la base de numration. Il peut donc se mettre sous forme polynomiale. Prenons lexemple de la base 10.

Dans la base dcimale, un chiffre peut prendre 10 valeurs de 0 9. Un nombre est un polynme en puissance de 10, 10n avec n positif, nul ou ngatif. Par exemple :

base (93452)10

Chiffre de poids fort La forme polynomiale est :

Chiffre de poids faible

(93452)10 9.104 + 3.103 + 4.102 + 5.101 + 2.100 = rang 4 3 2 1 0

Un autre exemple avec un nombre rel :

23

(23,64)10 2.101 + 3.100 + 6.10-1 + 4.10-2 = rang 1 0 -1 -2

Le rang du chiffre dun nombre reprsent dans une base est lexposant de la base associ ce chiffre, dans la reprsentation polynomiale considre. Soit dune manire gnrale, une base b contenant b caractres ai tels que ai (0, 1, 2, , (b1)). La reprsentation polynomiale dun nombre entier N est :

N = ai .b i , n tant le rang du chiffre de poids fort.


i =0

Parmi toutes les bases possibles, 2 sont particulirement intressantes, les bases 2 et 16. La base 2 permet de traduire sous forme numrique ltat des variables boolennes (vrai = 1 / faux = 0 en logique positive). Les ai peuvent donc valoir (0, 1) et la reprsentation polynomiale est :

(10110)2 = 1.24 + rang 4

0.23 + 3

1.22 + 2

1.21 + 1

0.20 0

Le bit le plus gauche est le bit de poids fort (MSB : Most Significant Bit), le bit le plus droite est le bit de poids faible (LSB : Least Significant Bit). Un chiffre en base 16 peut prendre 16 valeurs allant de 0 15. Il peut tre cod avec 4 bits. Comme les chiffres sarrtent 9 en dcimal, on utilise les lettres a, b, c, d ,e et f pour reprsenter les derniers tats.

dcimal binair hexadcimal e 0 0000 0 1 0001 1 2 0010 2 3 0011 3 4 0100 4 5 0101 5 6 0110 6 7 0111 7 8 1000 8 24

9 10 11 12 13 14 15

1001 1010 1011 1100 1101 1110 1111

9 a b c d e f

La reprsentation polynomiale en base hexadcimale (base 16) est :

(a0c25)16 = a.164 + 0.163 + c.162 + 2.161 + 5.160 rang 4 3 2 1 0

1.3.1.2

Changement de base

Une question importante est le passage dune base lautre : le changement de base. Soit (N)10, combien vaut (N)2 ou (N)16.

La conversion vers la base 10 est la plus simple. Il suffit de calculer la valeur du polynme. En reprenant les exemples prcdents, il est vident que (au moins avec une calculatrice) :

(10110)2 1.24 + 0.23 + 1.22 + 1.21 + 0.20 = (22)10 = a.164 0.163 + c.162 2.161 + 5.160 = (658469)10 + +

(a0c25)16 =

Remarque : il existe en binaire un regroupement trs utile, loctet (ou byte) qui est un groupe de 8 bits. Par exemple loctet : (10000001)2 = 1*27 + 1*20 = (129)10

La valeur dun octet est comprise entre 0 et (255)10. Pour raccourcir lcriture, on utilise souvent la notation hexadcimale (base 16) en regroupant les bits par paquets de 4. Par exemple loctet : 25

(10000001)2 = (81)16

Le changement de base dcimal binaire est moins vident. Il faut diviser le nombre convertir par 2. On conserve le reste (qui vaut 0 ou 1) et on rpte la division sur le quotient, jusqu ce que le quotient vaille 0. On crit alors tous les restes la suite, le premier reste obtenu tant le poids faible. Exemple :
47 1 2 23 1 2 11 1 2 5 1 2 2 0 2 1 1 2 0

On obtient :

(47)10 = (101111)2

Le passage dhexadcimal vers binaire et de binaire vers hexadcimal est plus simple. Dans le premier cas, il suffit de remplacer chaque chiffre hexadcimal par le groupe de 4 bits correspondant (voir tableau de conversion). Exemple :

(ab85)16 = (1010 1011 1000 0101)2

Dans le deuxime cas, il suffit de regrouper les bits par paquet de 4 en partant du poids faible. Il faudra ventuellement rajouter des bits 0 gauche pour terminer le groupe de 4 bits de poids fort. Exemple :

(101001000010101111)2 = (0010 1001 0000 1010 1111)2 = (290af)16

26

Pour passer dhexadcimal en dcimal (et vice versa), vous pouvez passer par lintermdiaire du binaire ou faire le calcul directement par la mthode des divisions successives.

1.3.2 Entiers signs

La mthode naturelle pour coder un nombre avec signe est dutiliser la mthode traditionnelle de la base 10 : on indique le signe suivi de la valeur absolue du nombre. Ce type de code est connu sous le nom de signe-valeur absolue . En binaire, cela signifie que pour un nombre cod sur N bits, le bit de poids fort sert coder le signe (0 = +, 1 = -) et les N-1 bits restant codent la valeur absolue du nombre. Par exemple :

(-16)10 = (1 10000)2

Dans un tel code, la plage des valeurs que lon peut coder (la dynamique) est :

2N-1-1 2 1 0 -0 -1 -2 -(2N-11)

0 1111 0 0010 0 0001 0 0000 1 0000 1 0001 1 0010 1 1111

Cette mthode simple pour ltre humain est plutt complique utiliser dans un ordinateur (ou un circuit numrique) car pour additionner ou soustraire deux nombres, il faut commencer par dterminer quel sera le signe du rsultat ce qui oblige commencer tout calcul par une comparaison qui fait intervenir les signes et les valeurs absolues des deux nombres. Cest la raison pour laquelle on utilisera plutt le code complment 2. 27

Le code complment 2 est le code utilis pour reprsenter les nombres entiers dans un ordinateur. Il nest pas trs parlant pour un tre humain, mais il prsente lintrt majeur de permettre une arithmtique simple (notamment, il ny a plus de soustraction). La construction du code sur n bits dcoule directement de la dfinition modulo 2n des nombres binaires. Etant donn un nombre A :

Si A 0, le code de A est lcriture en binaire naturel de A, ventuellement complt gauche par des 0. Par exemple, A = (23)10, cod sur 8 bits scrit : (00010111)ca2. Si A < 0, le code de A est lcriture en binaire naturel de 2n - |A| ou ce qui revient au mme 2n + A. Par exemple, A = (-23)10, cod sur 8 bits scrit : (11101001)ca2 qui est la reprsentation en binaire naturel de (256)10 - (23)10 = (233)10.

On remarquera que le bit de poids fort indique le signe (0 = +, 1 = -). Le calcul de loppos dun nombre cod sur n bits est toujours : -A = 2n - A modulo 2n. Par exemple -(-23) = 256 + 23 modulo 256 = 23. Il existe une astuce de calcul pour obtenir lexpression binaire de linverse dun nombre dont on connat le code :

On remarque que 2n - A = 2n - 1 - A + 1. On sait que 2n 1 est le nombre dont tous les chiffres valent 1. On en dduit que 2n - 1 A est le nombre que lon obtient en remplaant dans le code de A les 1 par des 0 et rciproquement. Ce nouveau nombre sappelle le complment 1 de A et se note Aca1 ou A . On en dduit finalement que :

-A = Aca1 + 1

Par exemple : (23)10 = (00010111)2 = (11101000)ca1 -23 = (11101000)ca1 + 1 = (11101001)ca2

Dans ce code, la dynamique est :

2N-1-1 0 1111 28

2 1 0 -1 -2 -(2
N-1

0 0010 0 0001 0 0000 1 1111 1 1110 ) 1 0000

Un des avantages de ce code est que la soustraction nexiste plus. Au lieu de soustraire un nombre, il ny qu additionner linverse de ce nombre. Par exemple, au lieu de calculer 50 23, on va pouvoir calculer 50 + (-23). Cela parat bte, mais cela limine la ncessit dutiliser un soustracteur binaire. On nutilise en conception logique que des additionneurs.

Un autre avantage du code complment 2 est que si on effectue des additions successives, tant que le rsultat final est dans la dynamique autorise (pas de dbordement du rsultat final), on peut ignorer les dbordements ventuels des rsultats intermdiaires de calcul. Par exemple, on code avec 3 bits (dynamique de -4 +3) et on additionne 2 + 2 - 3 ce qui doit donner 1 en base 10. Lors du premier calcul, 2 + 2 = 4, il y a un dbordement mais le rsultat final est quand mme bon. En effet, (010)CA2 + (010)CA2 = (100)CA2 qui vaut -4 (donc dbordement) mais (100)CA2 + (101)CA2 = (001)CA2 ce qui donne bien 1. Cela parat magique, mais en fait, cest une consquence directe de larithmtique modulo 2n.

Il y a malgr tout des inconvnients au code complment 2 en ce qui concerne les comparaisons, les multiplications et les divisions, mais ses avantages lemportent largement sur ses inconvnients.
1.3.3 Nombres rels (flottants)

Les nombres flottants permettent de reprsenter, de manire approche, une partie des nombres rels. La valeur dun rel ne peut tre ni trop grande, ni trop prcise. Cela dpend du nombre de bits utiliss (en gnral 32 ou 64 bits). Cest un domaine trs complexe et il existe une norme, IEEE-754, pour que tout le monde obtienne les mmes rsultats. Le codage en binaire est de la forme :
signe exposant (sign) partie fractionnaire de la mantisse (non sign)

29

Cest--dire que si X est un nombre flottant : X = (-1)s * 2e * 1,zzzzz o s est le signe de X, e est lexposant sign et zzzzz est la partie fractionnaire de la mantisse. Cest, en binaire, la notation scientifique traditionnelle.

Voici quelques exemples de formats usuels :

nombre de bits 32 64 80
1.3.4 Des codes particuliers 1.3.4.1 Le code BCD

format 1 + 8 + 23 1 + 11 + 52

valeur max 2128 10+38 21024 10+308

prcision max 2-23 10-7 2-52 10-15 2-64 10-19

1 + 15 + 64 216384 10+4932

Le code BCD (Binary Coded Decimal) permet de coder un nombre dcimal en binaire. A chaque chiffre dcimal, on fait correspondre un groupe de 4 bits comme pour la base hexadcimale. Mais ici, il ny a pas de valeur suprieure 9. Le code est le suivant :

dcimal 0 1 2 3 4 5 6 7 8 9

BCD 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001

On voit que cest un code incomplet car il nutilise que 10 combinaisons sur les 16 possibles. Ce code est utile quand on veut traiter des nombres dcimaux en lectronique numrique (par exemple pour dialoguer avec un tre humain). 30

1.3.4.2

Le code Gray

Le code Gray est un code adjacent (ou un seul bit change quand on passe dune valeur la valeur suivante). On lappelle aussi le code binaire rflchi. On lutilise dans les tableaux de Karnaugh mais aussi en conception numrique. Voici un exemple de code Gray sur 3 bits :

gray g2 g1 g0 0 0 0 0 1 1 1 1 0 0 1 1 1 1 0 0 0 1 1 0 0 1 1 0

La construction peut se faire graphiquement par itration ou bien partir du code en binaire naturel. Graphiquement :

on part de

0 1

puis on cre un axe de symtrie

0 1 1 0

On ajoute le bit de poids fort en binaire naturel.

0 0 1 1

0 1 1 0

Pour prolonger le code (passer sur 3 bits), on re-cre un nouvel axe de symtrie sur les deux bits faibles, puis on ajoute un bit supplmentaire en binaire naturel :

0 0 0 0 0 1 31

0 0 1 1 1 1

1 1 1 1 0 0

1 0 0 1 1 0

Et on recommence si on veut ajouter un bit supplmentaire. En comparant le code binaire naturel et le code Gray sur 3 bits :

binaire b2 b1 b0 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 0 0 0 1 1 1 1

Gray g2 g1 g0 0 0 1 1 1 1 0 0 0 1 1 0 0 1 1 0

On dduit les quations et les schmas suivants :

De binaire naturel vers code Gray g0 = b0b1 g1 = b1b2 g2 = b2

De code Gray vers binaire naturel b0 = g0b1 b1 = g1b2 b2 = g2

b0 g0

g0 b0

b1 g1

g1 b1

b2

g2

g2

b2

32

Sur un nombre quelconque de bits, on obtient les quations : De binaire naturel vers code Gray gi = bi XOR bi+1 pour 0 < i < N-2 gN-1 = bN-1 De code Gray vers binaire naturel bi = gi XOR bi+1 pour 0 < i < N-2 gN-1 = bN-1

1.3.4.3

Le code Johnson

Le code Johnson est un autre exemple de code adjacent que lon peut utiliser la place du code Gray. En voici un exemple sur 3 bits :

Johnson b2 b1 b0 0 0 0 1 1 1 0 0 1 1 1 0 0 1 1 1 0 0

On voit que cest un code incomplet car il nutilise que 6 combinaisons sur les 8 possibles.
1.3.4.4 Le code 1 parmi N

Le code 1 parmi N est trs utilis en conception numrique, notamment pour encoder les machines tats finis. Les Amricains lappellent le codage one hot . En voici un exemple sur 3 bits : 1 parmi 3 b2 b1 b0 0 0 1 0 1 0 1 0 0

On voit que cest un code incomplet car il nutilise que 3 combinaisons sur les 8 possibles.

33

1.3.4.5

Le code ASCII

Il ny a pas que les nombres qui doivent tre cod en binaire, mais aussi les caractres comme les lettres de lalphabet, les signes de ponctuation, Le code le plus connu et le plus utilis est le code ASCII (American Standard Code for Information Interchange). Le code ASCII est un jeu normalis de 128 caractres cods sur 7 bits, devenu un standard quasi universel. Il comporte tous les caractres alphanumriques non accentus et est lisible par pratiquement n'importe quelle machine. Ce sont les 8 premires lignes du tableau suivant.

Les 32 premiers codes sont utiliss comme caractres de contrle pour reprsenter, par exemple, une fin de ligne ou une tabulation. Le code ASCII ne contient pas de caractres accentus et il a t complt par le code ISO-8859-1 (ou Latin 1). Les 128 premiers caractres correspondent au code ASCII, les 128 suivants aux caractres accentus et caractres spciaux (voir les 8 dernires lignes du tableau).

Unicode est un jeu de caractres cod sur 16 bits (contre 7 ou 8 bits pour les standards actuels) qui permet le codage des caractres utiliss par toutes les langues du monde au sein d'une table unique. 16 bits permettent de coder 65 536 (2 puissance 16) caractres diffrents ce qui couvre largement les besoins en la matire. Les 256 premiers caractres d'Unicode correspondent au jeu ISO Latin 1.

34

1.3.4.6

Les codes dtecteurs et/ou correcteurs derreurs

Si on craint que des erreurs se produisent dans un mot binaire (au cours dune transmission par exemple), on rajoute au code des bits supplmentaires pour que le rcepteur puisse dtecter les erreurs et ventuellement les corriger. Par exemple, il y a un code dtecteur et correcteur derreurs dans le train binaire enregistr sur un compact disque audio (code ReedSolomon). Ces codes redondants sont un domaine dtude complet de la thorie de linformation.

1.4

Circuits logiques combinatoires

1.4.1 Circuits logiques fondamentaux

Il existe deux manires de dessiner ces oprateurs. La notation amricaine est la plus utilise (puisque les fabricants de composants sont souvent amricains) et donc la plus connue mais la notation normalise lavantage dtre plus facile dessiner avec une table traante. Le tableau suivant rsume ce que nous avons dj vu. Ces circuits logiques existent avec 2, 3 voir 4 entres.

35

Les circuits logiques combinatoires sont des circuits constitus des portes ci-dessus fonctionnant simultanment et ralisant une ou plusieurs fonctions logiques.

Entres
. . .

Circuit logique combinatoire

. . .

Sorties

A une combinaison dentres (lentre) ne correspond quune seule combinaison de sorties (la sortie). La sortie apparat aprs application de l entre avec un certain retard qui est le temps de propagation dans la logique interne. Ce temps est dtermin par la technologie utilise, le nombre de portes traverses et la longueur des interconnections mtalliques.

Les circuits combinatoires peuvent servir par exemple :

traduire des bits en chiffres reprsentant un nombre (ou des lettres ou un code particulier). On appelle ces circuits des codeurs (ou bien des dcodeurs pour lopration inverse). Par exemple, un codeur Gray ou bien BCD.

effectuer des oprations arithmtiques sur des nombres. Par exemple, un additionneur ou un multiplieur. transmettre ou recevoir des informations sur une ligne unique de transmission (une ligne srie), ce qui ncessite de transformer un nombre crit sous forme parallle en une suite de bits mis en srie et vice-versa. Cest le rle des circuits multiplexeur/dmultiplexeur. Voici par exemple une transformation srie/parallle suivie dune transformation parallle/srie :

octets bits srie DEMUX traitement

octets MUX bits srie

36

1.4.2 Le dmultiplexeur

Cest un circuit qui aiguille une entre vers une sortie dont on donne ladresse sous forme dun nombre cod en binaire.

Y0 G Demux 2 vers 4 Y1 Y2 Y3

a1

a0

Le schma fondamental dun dmultiplexeur est :

a1

a0

Y0

Y1

Y2

Y3

Sa table de vrit est gale :

N 0 1 2 3

a1 0 0 1 1

a0 0 1 0 1

Y0 = a 0 .a1 .G Y1 = a 0 .a1 .G Y2 = a 0 .a1 .G Y3 = a 0 .a1 .G

G 0 0 0

0 G 0 0

0 0 G 0

0 0 0 G

37

On obtient donc lquation suivante :

YK(N) = G si K = N YK(N) = 0 si K N

Si G est une donne, le circuit est un dmultiplexeur (un aiguillage divergent). Son utilisation premire est la conversion srie/parallle des donnes. Nous verrons plus tard quil peut aussi servir pour raliser des fonctions combinatoires.

La limitation de ce type de circuit est le nombre de broches qui croit fortement avec le nombre de variables dadresse N. Il volue en N + 2N + 1. Dans le TTL data book, le plus gros dcodeur est un 4 vers 16 ncessitant un botier 24 broches. Un exemple typique de dmultiplexeur est le SN74LS155, double dmultiplexeur 2/4 avec entre de validation (les entres et les sorties pourvues dune bulle sont actives ltat bas) :

A1 A0
O0a O1a O2a O3a O0b O1b O2b O3b

Ea

Ea

&

Eb

&

Table de vrit
Adresses Validation a SORTIES a Validation b SORTIES b

A1 A0 X X X X 0 0 1 0 0 1 0 1

Ea 0 X 1 1 1 1

Ea

O 0 O1 O 2 O 3
1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0

Eb

Eb

O 0 O1 O 2 O 3
1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0

X 1 0 0 0 0

1 X 0 0 0 0

X 1 0 0 0 0

X : lentre peut prendre nimporte quelle valeur

38

1.4.3 Le dcodeur

Le dcodeur est de la mme famille que le dmultiplexeur, mais avec lentre G qui vaut 1 en permanence. On trouve alors en sortie un 1 parmi des 0.

Y0 = 0 Dcodeur 2 vers 4 Y1 = 0 Y2 = 1 Y3 = 0

a1=1 a0=0

On appelle aussi ce circuit un dcodeur dadresse utilis pour adresser les diffrentes lignes dune mmoire. Sa table de vrit est gale :

N 0 1 2 3

a1 0 0 1 1

a0 0 1 0 1

Y0 = a 0 .a 1

Y1 = a 0 .a 1

Y2 = a 0 .a 1

Y3 = a 0 .a1

1 0 0 0

0 1 0 0

0 0 1 0

0 0 0 1

On obtient donc lquation suivante :

YK(N) = 1 si K = N YK(N) = 0 si K N

Comme pour le dmultiplexeur, la limitation de ce type de circuit est le nombre de broches qui croit fortement avec le nombre de variables dadresse N.
1.4.4 Le multiplexeur

Le multiplexeur est la fonction inverse du dmultiplexeur. Cest un slecteur de donnes ou aiguillage convergent. Il peut transformer une information apparaissant sous forme de n bits

39

en parallle en une information se prsentant sous forme de n bits en srie. La voie dentre, slectionne par son adresse, est relie la sortie.

I0 I1 I2 I3 Mux 4 vers 1 Y

a1

a0

Le schma logique est le suivant :


a1 a0 I0 I1 I2 I3

Son quation de sortie est gale : Y = I 0 .a 1 .a 0 + I1 .a 1 .a 0 + I 2 .a 1 .a 0 + I 3 .a 1 .a 0 avec la table de vrit :

a1 0 1 2 0 0 1

a0 0 1 0

Y I0 I1 I2

40

I3

Nous verrons aussi quun multiplexeur peut servir raliser des fonctions logiques quelconques. La limitation de ce type de circuit est toujours le nombre de broches qui croit avec le nombre de variables dadresse N de la mme manire que le dmultiplexeur. Un exemple typique de multiplexeur est le SN74LS153, double multiplexeur 4 entres avec signal dactivation :

S1 S0 I0a I1a I2a I3a

Za

Ea
I0b I1b I2b I3b
Eb

Zb

Table de vrit
Slection S1 X 0 0 0 0 1 1 1 1 S0 X 0 0 1 1 0 0 1 1 Entres (a ou b) Sorties (a ou b) I3 X X X X X X X 0 1 Z 0 0 1 0 1 0 1 0 1

E
1 0 0 0 0 0 0 0 0

I0 X 0 1 X X X X X X

I1 X X X 0 1 X X X X

I2 X X X X X 0 1 X X

1.4.5 Lencodeur de priorit

Lencodeur est la fonction inverse du dcodeur. On met sur les entres un 1 parmi des 0 et on obtient sur les sorties ladresse de lentre 1. La priorit ne sert que quand plusieurs entres 41

sont 1 en mme temps. Le circuit donne alors ladresse de lentre dont le rang est le plus lev. Il y a donc priorit aux entres de rang le plus lev.

I0 = 0 I1 = 0 I2 = 1 I3 = 0 Encodeur de priorit a1 = 1 a0 = 0

Le SN74LS348 est un exemple dencodeur 8 entres. Lordre de priorit va de lentre 7 vers lentre 0. Les sorties GS et EO et lentre EI servent mettre en cascade plusieurs encodeurs. Les entres et les sorties sont actives 0.

0 1 2 3 4 5 6 7 EI

A2 A1 A0 GS EO

Table de vrit
Entres EI 1 0 0 0 0 0 0 0 0 0 0 X 1 X X X X X X X 0 1 X 1 X X X X X X 0 1 2 X 1 X X X X X 0 1 1 3 X 1 X X X X 0 1 1 1 4 X 1 X X X 0 1 1 1 1 5 X 1 X X 0 1 1 1 1 1 6 X 1 X 0 1 1 1 1 1 1 7 X 1 0 1 1 1 1 1 1 1 Sorties A2 A1 A0 GS EO Z Z 0 0 0 0 1 1 1 1 Z Z 0 0 1 1 0 0 1 1 Z Z 0 1 0 1 0 1 0 1 1 1 0 0 0 0 0 0 0 0 1 0 1 1 1 1 1 1 1 1

42

1.4.6 Les circuits arithmtiques

Les circuits arithmtiques effectuent des oprations binaires telles que laddition, la multiplication, la comparaison ou combinent ces oprateurs de base au sein dune UAL (Unit Arithmtique et Logique). Beaucoup de ces circuits sont aujourdhui obsoltes et ne sont plus commercialiss en tant que composant discret mais la fonction existe toujours lintrieur des circuits comme les microprocesseurs ou les ASIC. Prenons lexemple dune simple addition en binaire naturel sur 4 bits :

(5)10

(0101)
2

(3)10

(0011)
2

(8)10

(1000)
2

1re colonne : 1 + 1 = 0 avec une retenue sortante 1 ((2)10 = (10)2). 2me colonne : la retenue rentrante vaut 1. 1 + 0 + 1 = 0 avec une retenue sortante 1. 3me colonne : la retenue rentrante vaut 1. 1 + 1 + 0 = 0 avec une retenue sortante 1. 4me colonne : la retenue rentrante vaut 1. 1 + 0 + 0 = 1.

Sur les deux colonnes du milieu, il y a une retenue entrante et une retenue sortante. On peut donc dfinir les entres-sorties dun additionneur traitant le ime bit du calcul :

Ai

Bi

Ci

Additionneur 1 bit

Ci-1

Si

43

Lentre Ci-1 est la retenue entrante (Carry en anglais) et la sortie Ci est la retenue sortante. Vous verrez le schma interne de cet additionneur en exercice dirig. Ladditionneur complet est construit de la manire suivante :

A3

B3

A2

B2

A1

B1

A0

B0

C3 Additionneur C2 Additionneur C1 Additionneur C0 Additionneur 1 bit 1 bit 1 bit 1 bit

C-1 = 0

S3

S2

S1

S0

Vu de lextrieur, un additionneur (ou un soustracteur, en CA2 cest la mme chose) se prsente donc sous la forme suivante.

A1 A2 A3 A3 B1 B2 B3 B4 Cin

1 2 3 4

Cout

Ils effectuent laddition (ou la soustraction) de deux nombres cods sur N bits. Le rsultat est cod sur N bits avec une sortie supplmentaire pour la retenue. Il y a aussi une entre de retenue pour pouvoir mettre en cascade les circuits. Sur 4 bits, Lopration dcimale exacte ralise est (le + est une addition, le . est une multiplication) : Cin + (A1+B1)+2.(A2+B2)+ 4.(A3+B3)+8.(A4+B4) = 1+2.2+4.3+8.4+16.Cout

44

Les comparateurs sont une autre grande famille de circuit arithmtique. Ils effectuent sur N bits, les oprations dgalit, de supriorit ou dinfriorit. Les entres IA>B, IA<B et IA=B servent mettre en cascade plusieurs circuits.

A0 A1 A2 A3 B0 B1 B2 B3 IA>B IA<B IA=B OA>B OA<B OA=B

Par exemple, la table de vrit du SN74LS85 est :

Table de vrit
A3,B3 A3>B3 A3<B3 A3=B3 A3=B3 A3=B3 A3=B3 A3=B3 A3=B3 A3=B3 A3=B3 A3=B3 A3=B3 A3=B3 A2,B2 X X A2>B2 A2<B2 A2=B2 A2=B2 A2=B2 A2=B2 A2=B2 A2=B2 A2=B2 A2=B2 A2=B2 A1,B1 X X X X A1>B1 A1<B1 A1=B1 A1=B1 A1=B1 A1=B1 A1=B1 A1=B1 A1=B1 A0,B0 X X X X X X A0>B0 A0<B0 A0=B0 A0=B0 A0=B0 A0=B0 A0=B0 IA>B IA<B IA=B OA>B OA<B OA=B X X X X X X X X 1 0 X 1 0 X X X X X X X X 0 1 X 1 0 X X X X X X X X 0 0 1 0 0 1 0 1 0 1 0 1 0 1 0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0

Il existe dautres circuits comme le multiplieur ou le diviseur dont ltude sort du cadre de ce cours.

45

1.4.7 Les mmoires Les PROM sont des mmoires mortes programmables. Le schma ci-dessous montre un exemple de PROM bipolaire fusible.

1 DECODEUR D'ADRESSE 2

a1

a0 Y0 Y1 Y2 Y3

Ladresse applique sur les entres (a1 a0) provoque, via le dcodeur dadresses, la mise 1 de la ligne dadresse correspondante. Si le fusible existant entre cette ligne et la sortie Yn est intact, cette sortie vaut 1. Si le fusible a t claqu pendant la programmation, la sortie vaut 0 ( travers une rsistance de pull-down). La programmation est ralise avec un programmateur dEPROM, le fichier contenant la configuration pouvant tre au format JEDEC (Joint Electronics Design Engineering Council). Dans cet exemple, la PROM (4 mots de 4 bits) contient les donnes suivantes :

a1 0 0 1 1

a0 0 1 0 1

Y0 0 0 0 1

Y1 1 0 0 0

Y2 0 1 1 1

Y3 1 0 0 1

On nutilise plus de PROM pour raliser directement une fonction logique mais le principe, lui, demeure tout fait dactualit. Certains circuits, comme les circuits logiques programmables par exemple, utilisent en interne de mmoires pour raliser des fonctions logiques.

46

1.4.8 Ralisation dune fonction logique combinatoire Ce paragraphe explique les diffrentes mthodes de ralisation de fonctions logiques avec des circuits standards. Rappelons tout dabord les trois formes de fonction logique F sur un exemple avec la table de vrit suivante.

N 0 1 2 3 4 5 6 7 1. La forme canonique complte est :

a2 0 0 0 0 1 1 1 1

a1 0 0 1 1 0 0 1 1

a0 0 1 0 1 0 1 0 1

F 1 1 0 0 0 1 1 0

F = 1.a2 .a1.a0 + 1.a2 .a1.a 0 + 0.a2 .a1.a0 + 0.a2 .a1.a 0 + 0.a 2 .a1.a0 + 1.a 2 .a1.a 0 + 1.a 2 .a1.a0 + 0.a 2 .a1.a 0
2. La forme canonique abrge est :

F = a2 .a1.a0 + a2 .a.1.a0 + a2 .a1.a0 + a2 .a1.a0 = (0, 1, 5, 6)

3. La forme simplifie par le tableau de Karnaugh est :

F = a2 .a1 + a.1.a 0 + a 2 .a1.a0

A partir de ces trois formes et de la table de vrit, on peut raliser la fonction logique F soit avec un multiplexeur, soit avec un dcodeur, soit avec des oprateurs fondamentaux, soit avec une PROM. Avec la forme simplifie par le tableau de Karnaugh et le thorme de De Morgan, on ralise F avec, par exemple, des portes NAND :

47

a2

a1 F

a0 a1 a2

Avec la forme canonique abrge, on ralise F avec un dcodeur et une porte OR :

a2 a1 a0 0 1 2 3 4 5 6 7

G=1

Avec la forme canonique complte, on ralise F avec un multiplexeur. En effet, on a :

F = 1.a2 .a1.a0 + 1.a2 .a1.a 0 + 0.a2 .a1.a0 + 0.a2 .a1.a 0 + 0.a 2 .a1.a0 + 1.a 2 .a1.a 0 + 1.a 2 .a1.a0 + 0.a 2 .a1.a 0

Do on tire : F = a1.a 0 (1.a 2 + 0. a 2 ) + a1.a 0 (1.a2 + 1. a 2 ) + a1.a 0 (0. a2 + 1. a 2 ) + a1.a 0 (0. a 2 + 0. a 2 ) = a1.a 0 . a 2 + a1.a 0 .1 + a1.a0 . a 2 + a1.a 0 .0 Comme, l'quation de sortie d'un multiplexeur est F = I 0 .a1.a 0 + I1.a1 .a 0 + I 2 .a1.a 0 + I 3 .a1.a 0 , on obtient en identifiant les deux expressions le schma suivant : 48

a1 a0 a2
1 a2 0 I0 I1 I2 I3

CONCLUSION : Avec un multiplexeur 2n entres Ik, on peut raliser nimporte quelle

fonction de n+1 variables. Les entres Ik valent toujours : an , an , 1 ou 0 ( an tant la n+1 variable). La ralisation d'une fonction logique avec un multiplexeur est la base du fonctionnement des FPGA. Avec la table de vrit, on ralise F avec une PROM. Dans notre exemple, il faut connecter a2a1a0 sur les adresses de la mmoire et charger les 8 bits aux adresses 0 7. F est alors disponible sur le bit de donne. La ralisation d'une fonction logique avec une PROM est la base du fonctionnement des PAL et des EPLD.

Le choix du circuit ou des circuits dpend de la (ou des) fonction(s) logique(s) raliser. Chaque mthode a ses avantages et ses inconvnients. Il faut prendre en compte le nombre et le prix des botiers utiliss pour calculer le cot de la fonction et il faut dterminer le nombre de couches logiques traverses pour calculer sa vitesse. Les domaines dutilisation sont les suivants : Les portes lmentaires sont utilises quand il y a peu de fonctions et de variables dentres. Le dcodeur est utilis quand il y a peu de variables dentres (les botiers ont un nombre limit de broches) et beaucoup de sorties (on cble un OR par sortie). Le multiplexeur ne permet de raliser quune seule fonction (il na quune sortie) avec quelques variables dentres (une de plus que le dcodeur taille de botier quivalente). Il ncessite le cblage le plus simple et le plus petit botier. La PROM est utilise quand il y a beaucoup de variables dentres et quelques variables de sorties (8 ou 16 au maximum). Par exemple, une PROM 1024x8 (1024 octets) permet de raliser 8 fonctions de 10 variables.

49

1.5

Caractristiques temporelles

Nous tudierons ici les diffrents temps que l'on trouve dans les circuits combinatoires. Tous ces temps varient suivant les technologies (ECL, TTL, CMOS) de quelques dizaines de ps environ 10 ns.

Dans les notices du constructeur, les temps min ou max (selon le cas) sont donns pour le plus mauvais des circuits, et dans le cas le plus dfavorable (circuit le plus charg et temprature maximale). Une tude faite avec ces temps fournit un montage fonctionnant dans 100% des cas. Les temps typiques sont moins contraignants mais ils ne reprsentent pas le cas le plus dfavorable. Ils peuvent tres pris pour des circuits peu chargs mais avec un plus grand risque. 1.5.1 Caractristiques temporelles Considrons une porte logique. Les temps de transition et de propagation sont dfinis de la manire suivante : le temps de propagation est le retard entre les signaux dentre et de sortie. Il est caus par le temps de traverse des transistors et des autres composants formant le circuit logique. Il en existe deux types : tPLH (la sortie passe de 0 1 low to high ) et tPHL (la sortie passe de 1 0 high to low ). le temps de transition est le temps mis par une sortie pour changer dtat. Il est gnralement pris entre 10 et 90 % du niveau maximum. Il en existe deux types : tTLH (la sortie passe de 0 1) et tTHL (la sortie passe de 1 0). Ce temps est trs dpendant de la charge (capacitive notamment) sur la sortie du circuit.

Le dessin suivant en donne une illustration pour une porte non-inverseuse :

50

Entre

tTLH Sortie

tTHL
90 % 10 %

tPLH

tPHL

A l'entre dun circuit logique dpourvu dun dclencheur seuil (trigger de Schmitt), on doit respecter un temps de transition maximum (tmmax), sous peine de transitions parasites en sortie. Dans le cas de signaux temps de transitions trop longs ou prsentant des parasites, une porte pourvue dun trigger permet de mettre en forme ces signaux pour qu'ils puissent attaquer correctement la logique :

Vi

Vo

Seuil Haut Vi Seuil bas

Vo

En sortie de circuit, les temps de transitions dpendent de la technologie employe mais pas du temps de monte du signal d'entre, tant que celui-ci reste infrieur 3 5 fois les temps de transitions usuels de cette technologie. 1.5.2 Etats transitoires Le fonctionnement normal dune carte logique combinatoire ne peut tre dduit du fonctionnement des circuits qui la composent en supposant ces circuits idaux (temps de transition nuls, temps de propagation nuls). Dans ce paragraphe, nous allons proposer une

51

mthode danalyse des alas de commutation en tenant compte des temps de propagation. Pour cela, nous allons dfinir le modle asynchrone dun circuit combinatoire :

a0 a1

s+(t) retard

s(t)

avec : = sup(tPLH, tPHL) s(t) = s+(t - ) ou s(t + ) = s+(t)

Il faut que la dure de limpulsion active sur lentre dun circuit combinatoire soit suprieure au retard pour que la sortie change dtat. Sinon, lnergie de limpulsion est insuffisante pour provoquer la commutation. Pour analyser le fonctionnement dun circuit combinatoire N entres et une sortie, on dtermine la table dexcitation du circuit. Cest un tableau de Karnaugh N+1 variables (les entres plus la sortie s) permettant de dterminer s+. Quand s+ est diffrent de s dans ce tableau (zone hachure), nous sommes en prsence dun rgime transitoire (s va changer aprs un temps ). Quand s+ est gal s (valeur encercle), nous sommes dans un tat stable (s reste dans le mme tat).

a1 a0 s 00 0 s+ 1 0 0
1

01 0 0
2

11 1 1
3

10 0
4

phases transitoires s+ s phases stables s+ = s

On se sert de cette table dexcitation pour tablir le chronogramme du circuit partir dune squence dentre quelconque (par exemple 0,0 ; 0,1 ; 1,1 ; 1,0) :

a0

a1

phases transitoires s+ s

s 1 2 3 4
52

Prvision des alas de commutation : un exemple Soit le circuit suivant :

a b d
+

a.d d s=a.d+b.c

b.c c

Pour la mthode danalyse, toutes les portes sont retard nul et un retard nest ajout que sur linverseur. La table dexcitation de d+ en fonction de a, b, c, d est (d+ = b ) :

abc d 0 d+ 1 1 1 0 0 0 0 1 1 000 001 1 1 011 010 0 0 110 111 0 0 101 100 1 1 phases transitoires phases stables

On en dduit la table de vrit de la sortie du circuit :

abc d 0 S 1 0 0 1 0 1 1 1 1 000 001 0 0 011 010 1 0 110 111 0 1 101 100 0 0 phases transitoires phases stables

Etudions maintenant la transition b = 1, 0, 1 avec a et c qui restent en permanence 1. On a alors lvolution suivante en sortie :

abc = 111

S=1

53

abc = 101 Phase transitoire : S = Ala de commutation 0 Etat final : S = 1. abc = 111 Phase transitoire : S = 1 Etat final : S = 1. Pas dala

Sans utiliser cette mthode danalyse, on aurait trouv S = 1. En effet, cet ala de commutation napparat pas sur la table de vrit purement combinatoire de S. On nomme cette impulsion dont la dure ne dpend que du temps de propagation de linverseur, un glitch .

Dans lanalyse prcdente, on a pris un temps de propagation nul pour les portes autres que linverseur afin de simplifier le calcul. Introduire un temps de propagation tp sur ces portes ne change rien au rsultat final comme nous le montre le chronogramme suivant. Lala est simplement dcal de 2.tp, mais sa dure reste gale .

a b c b.c d a.d S

tp

tp ala de commutation

tp tp

tp

tp

54

Quand un circuit logique combinatoire a la possibilit de produire cet tat transitoire, on dit quil existe un hazard (que le glitch se produise ou non). Ces notions de glitch et de hazard ne sappliquent que pour des circuits logiques combinatoires purs, cest--dire sans rebouclage des sorties sur les entres. Deux types de hazard existent : Hazard statique. Un hazard statique 1 est la possibilit pour un circuit de produire un glitch 0 alors que la sortie aurait normalement du rester 1. Cest le cas dans lexemple prcdent. Un hazard statique 0 est la possibilit pour un circuit de produire un glitch 1 alors que la sortie aurait normalement du rester 0. Hazard dynamique. Un hazard dynamique est la possibilit que la sortie dun circuit change plus dune fois pour un seul changement logique sur une entre.

entre

sortie

De multiples transitions sur une sortie peuvent se produire sil y a plusieurs chemins logiques avec des retards diffrents entre lentre et la sortie qui changent. Il est important de noter que le hazard statique ou dynamique est born dans le temps. Une fois que le chemin combinatoire qui traverse le plus de portes logiques (le chemin critique) a t travers, le signal est forcment stable en sortie. Le temps de traverse du chemin critique sappelle le temps critique.

Le signal en sortie du circuit combinatoire est stable temps critique aprs le dernier changement sur les entres. Il ne peut se produire aucun changement pass ce dlai.

Pour la conception de circuits logiques squentiels (avec rebouclage des sorties sur les entres), il faut utiliser des circuits logiques combinatoires sans hazards ( hazard-free circuits ). Il est possible dliminer les hazards dun circuit en utilisant la mthode danalyse vue prcdemment et en modifiant le tableau de karnaugh afin den liminer les tats transitoires. En effet, les phases transitoires du tableau de S peuvent tre modifies sans que 55

cela influe sur ltat stable de S. Cela ne change S que pendant les transitions. Dans notre exemple, il suffit de changer ltat abcd = 1010 en passant S de 0 1 pour supprimer le glitch.

abc d 0 S 1 0 0 1 0 1 1 1 1 000 001 0 0 011 1 010 0 110 111 0 1 101 100 1 0 phases transitoires phases stables

Cela revient modifier lquation de S qui est maintenant S = a.d + b.c + a.c. La transition b = 1, 0, 1 avec a et c qui restent en permanence 1 ne peut plus provoquer dala de commutation puisque S vaut 1 dans tous les cas. Le schma du circuit hazard-free est donc :

a b d d
+

a.d

b.c c

s=a.d+b.c+a.c

Remarque : il est important de noter que pour une porte logique lmentaire, il ne peut y avoir de glitch en sortie si une seule de ses entres change la fois.
1.6 Exercices

exercice 1.1 1 Rappeler la table de vrit des portes fondamentales OR, AND, NOR, NAND, XOR, XNOR. 2 Exprimer par une fonction logique que :

56

Les variables A, B, C et D sont toutes gales 1. Toutes les variables A, B, C et D sont nulles. Au moins lune des variables A, B, C, D est gale 1. Au moins lune des variables A, B, C, D est gale 0. Les variables A, B, C et D prennent les valeurs 0,1,1,0. 3 Simplifier les fonctions logiques suivantes : F1 = (A + B). C + A + B.C F2 = A.C + B. C + A.B
F3 = A.B + A. B

F4 = A + B + A. B 4 Dmontrer les relations suivantes :

A.B + A.B = A
(A + B).( A + B ) = A

A + A.B = A

A.(A + B) = A

A + A.B = A + B
A.(A + B) = A.B
AB = AB = AB 1 A = A

0 A = A

5 Montrer que A.C + B. C = A.C + B. C . 6 Calculer les complments de : (A + B).( A + B) (A + B + C ).(B + C + D).(A + C + D) A. B.C + A.B. C + A.(B.C + B. C ) 7 Raliser un circuit logique ayant deux entres A et B, une sortie S et respectant le chronogramme suivant :

57

A t B t S t

8 Donner le schma logique avec des porte OR, AND et NOT permettant de raliser la fonction logique : F = A.C + B.D

exercice 1.2 Considrons le circuit ci-dessous : A B

F S0 S1 C

Ce circuit ralise la fonction F qui peut tre contrle par les variables logiques S0, S1 et C. On veut analyser la variation de F en fonction des valeurs de S0, S1 et C et lexprimer en fonction de A et B. 1. Etablir la forme gnrale de F en fonction des variables A, B, C, S0, S1. On appliquera le thorme de DE MORGAN pour obtenir F sous forme dune somme de produits.
58

2. En dduire la table de vrit de F en fonction de S0, S1 et C. 3. En dduire enfin les valeurs respectives de S0, S1 et C pour que la fonction F reprsente
A. B , A . B , A B , A B .

exercice 1.3 On dsire raliser un gnrateur de parit P bas sur le principe suivant. P vaut 1 quand dans un mot de 4 bits (D, C, B, A) le nombre de 1 est pair, sinon P vaut 0. 1. Etablir la table de vrit de cette fonction. On considrera que 0 fait partie des nombres dont la parit est paire. 2. Implanter cette fonction avec 3 ou exclusif et un inverseur.

exercice 1.4 Simplifier les fonctions suivantes en utilisant les tableaux de Karnaugh : Y1 = (A + B).A + A.B , Y2 = A.B + A.B + A.B , Y3 = A + B + A.B . exercice 1.5 Simplifier les fonctions suivantes en utilisant les tableaux de Karnaugh. Les implanter ensuite avec des portes NAND, puis des portes NOR. Y1 = A. B + A. C + B.C Y2 = A.B.C + A.B. C + A.B.C + A.B.C + A.B.C

Y3 = A. B.C.D + A. B.C.D + A.B.C.D + A.B.C.D + A.B.C.D + A.B.C.D + A. B.C.D + A. B.C.D


Y4 = B. C + A.D + A. B.D + A. B.C.D + A. B.C.D

Y5 = (A + B + C).(A + B + C).(A + B + C).(A + B + C) Y6 = (B + C).(A + C).(A + C) Y7 = (A + B).(A + B + C).(A + B + C).(A + B + C + D).(A + B + C + D)

exercice 1.6 1. Quel est le nombre dcimal le plus petit et le plus grand que lon peut coder avec 4 bits, 8 bits, 16 bits, 32 bits, N bits en non sign et en CA2. 2. Convertissez (1101101)2 en dcimal. 3. Convertissez (19)10 et (45)10 et (63)10 en binaire. 59

4. Convertissez (11100101001010111)2 en hexadcimal. 5. Convertissez (10A4)16 et (CF8E)16 et (9742)16 en binaire et en dcimal.

exercice 1.7 On souhaite faire la synthse dun dcodeur 3 vers 8 avec les sorties actives au niveau bas.

Y0 C B A Dcodeur 3 vers 8 Y1 Y2 Y3 Y4 Y5 Y6 Y7

1. Etablir la table de vrit du circuit. 2. Dterminer les fonctions de sortie Yi = f(C, B, A). 3. Donner une implantation avec des portes NAND. 4. Comment faut-il modifier le schma pour ajouter au montage une entre de validation V telle que le circuit fonctionne normalement quand V =1 et que toutes les sorties Yi = 1 quand V =0 ?

exercice 1.8 Lutilisation pour la transmission de donnes numriques dun code de 4 bits comme le code BCD ne permet pas la dtection dune simple erreur dinversion car le mot erron obtenu appartient gnralement au code utilis. Par exemple, en BCD, le mot (2)10 = (0010)2 transmis avec une inversion du troisime bit (gnr par un parasite sur la ligne) sera pris pour un (6)10 = (0110)2 la rception. Afin de rduire les erreurs de ce type, on utilise un code de dtection des erreurs comme le code 2 de 5 qui reprsente les dix combinaisons possibles de deux 1 dans un mot de 5 bits. Le codage obtenu est le suivant : Nombre dcimal b4 0 1 2 0 1 1 60 Code 2 de 5 b3 0 1 0 b2 0 0 1 b1 b0 1 0 0 1 0 0

3 4 5 6 7 8 9

0 1 0 0 1 0 0

1 0 1 0 0 1 0

1 0 0 1 0 0 1

0 1 1 1 0 0 0

0 0 0 0 1 1 1

On se propose de raliser un circuit combinatoire effectuant la conversion du binaire naturel en code 2 de 5 . 1. Complter la table de vrit ci-dessus donnant le code en binaire nature a3 a2 a1 a0 correspondant chaque nombre dcimal. 2. Dresser le tableau de Karnaugh de chacune des fonctions b4, b3, b2, b1, b0. 3. Dduire des tableaux prcdents lexpression de chacune des fonctions et proposer une ralisation base de fonctions logiques lmentaires. 4. Raliser b0 sous une forme qui nutilise que des portes NAND.

exercice 1.9 On cherche raliser un montage permettant deffectuer laddition ou la soustraction sur 1 bit avec retenue entrante et sortante. 1. Etablir la table de vrit et le schma du demi-additionneur qui effectue lopration Si = Ai + Bi et qui calcule la retenue sortante.

Ai Bi

Demiadditionneur 1 bit

Si Ci

2. En dduire la table de vrit et le schma de ladditionneur complet qui effectue lopration Si = Ai + Bi + Ci-1 et qui calcule la retenue sortante.

61

Ai Bi Ci-1

additionneur complet 1 bit

Si Ci

3. Mme questions 1 et 2 pour le soustracteur. 4. En comparant ltage additionneur et ltage soustracteur 1 bit, proposer un montage unique qui, laide dune commande externe permet de raliser soit laddition, soit la soustraction.

exercice 1.10 Analyser le circuit ci-dessous et dfinir son rle.

a0 b0 a1 b1 a2 b2 a3 b3 F

exercice 1.11 1. Donner limplantation dun comparateur 1 bit pourvu dune entre E autorisant la comparaison. Si E = 0, toutes les sorties valent 0, sinon le fonctionnement est le suivant :

Ai Bi E

comparateur 1 bit

Si Ei Ii

Si = 1 si ai > bi , 0 sinon.

62

Ei = 1 si ai = bi, 0 sinon. Ii = 1 si ai < bi, 0 sinon.

2. Donner limplantation dun comparateur de deux nombres A = a2a1a0 et B=b2b1b0 en utilisant des comparateurs 1 bit et des portes OR.

exercice 1.12 Donnez lquation logique S=f(A, B, C, D, E) du montage suivant :

0 1 1 0 A B 1 1 0 1 C D E

E0 Mux E1 4 vers 1 E2 E3 a1 a0

S1

E0 Mux E1 4 vers 1 E2 E3 a1 a0

S2

0 0

E0 a1 a0 Mux E1 4 vers 1 E2 E3

exercice 1.13 Raliser un multiplexeur 32 vers 1 partir de 4 multiplexeurs 8 vers 1 et dun multiplexeur 4 vers 1.

exercice 1.14 Un appareil comporte trois cuves contenant de leau, du cassis et de la menthe. Trois boutons e, m, c commandant des lectrovannes E, M, C permettent dobtenir de leau pure, de la menthe leau ou du cassis leau. Une pice P doit tre introduite sauf pour leau pure qui est gratuite. Le dclenchement dun bouton quelconque e, m, c ou lintroduction de la pice

63

dclenche une temporisation. Si celle-ci arrive son terme avant quun choix cohrent ait t fait, la pice ventuellement introduite est rendue (fonction P de restitution). La pice est galement rendue en cas de fausse manuvre. 1. Ecrire les quations logiques de commande des lectrovannes E, M, C et la fonction de retour de la pice P en fonction des variables e, m, c et p. On ne tiendra pas compte de la temporisation. 2. Simplifier les quations logiques laide des tableaux de Karnaugh. 3. Raliser la fonction laide dun dcodeur 3 vers 8 et de portes logiques. 4. Raliser la fonction laide de double multiplexeurs 4 entres. 5. Raliser la fonction laide dune PROM 32x8. 6. Raliser la fonction laide de portes NAND.

exercice 1.15 Un systme reoit, cods en binaire naturel, des nombres compris entre 0 et 20 (inclus). Les digits dentre sont par poids dordre croissant A, B, C, D et E. Le systme dlivre trois informations S, T et U :

La sortie S vaut 1 lorsquun nombre divisible par trois se prsente lentre. La sortie T vaut 1 lorsquun nombre divisible par cinq se prsente lentre. La sortie U vaut 1 lorsquun nombre divisible par sept se prsente lentre.

1. Donner la table de vrit du systme. 2. Simplifier les quations logiques laide des tableaux de Karnaugh. 3. Raliser les fonctions T et U laide de portes NAND. 4. Raliser les fonctions S, T, U laide de multiplexeurs 16 entres. 5. Raliser les fonctions S, T, U laide dune PROM 32x8.

exercice 1.16 On souhaite raliser un comparateur travaillant sur deux bits. Il possde deux entres sur deux bits appeles AB et CD et 4 sorties : AB = CD (EQ), AB CD (NE), AB < CD (LT) et AB > CD (GT). 1. Donner la table de vrit du circuit. 2. Simplifier les quations logiques laide des tableaux de Karnaugh. 3. Raliser la fonction laide de portes NAND. 64

4. Raliser la fonction laide de multiplexeurs 8 entres. 5. Raliser la fonction laide dun dcodeur 4 vers 16 et de portes logiques. 6. Raliser la fonction laide dune PROM 32x8.

exercice 1.17 Soit le circuit NAND SN74LS00 (voir les caractristiques en annexe). Complter le chronogramme suivant.

E1 [V]

1,5 100 E2 [V] t [ns]

1,5 100 S [V] t [ns]

100

t [ns]

exercice 1.18 Soit un circuit inverseur avec trigger de Schmitt SN74LS14. Ses tensions de seuil de basculement typiques positives et ngatives sont les suivantes : VT+ = 1,6 V, VT- = 0,8 V. 1. Dessiner sa fonction de transfert Vs = f(Ve). 2. Dfinir et donner la valeur de son hystrsis.

65

66

2. Logique squentielle
Dans un circuit combinatoire, une sortie est uniquement fonction des entres. Par contre, dans un circuit squentiel, une sortie est une fonction des entres mais aussi des sorties du circuit. Il y a rebouclage (rtroaction) des sorties sur les entres. Cela signifie quun circuit squentiel garde la mmoire des tats passs. Il existe deux grandes catgories de circuit squentiel : Le circuit squentiel asynchrone. Les sorties du montage peuvent changer tout moment ds quune ou plusieurs entres changent aprs un temps de propagation qui peut tre diffrent pour chaque sortie.

circuit combinatoire (avec tats internes)

Le circuit squentiel synchrone. Le changement sur les sorties se produit aprs le changement dtat (front montant ou descendant) dun signal matre, lhorloge. Les entres servent prparer le changement dtat, mais ne provoquent pas de changement des sorties. Tout changement dtat interne du montage est synchronis sur le front actif de lhorloge.

circuit combinatoire Horl (avec tats internes)

2.1

Circuits squentiels asynchrones

La forme la plus lmentaire de circuit squentiel, que lon appelle un latch (verrou), est la suivante :

67

s
Q0
Q 0 = s.Q1 = s + Q 1 , Q 1 = r.Q 0 = r + Q 0

Q 0 = s + r.Q 0 , Q1 = r + s.Q1
Q1

Sa table de vrit est :

s
0 0 1 1

r
0 1 0 1

Q0 interdit 1 0 Q0

Q1 interdit 0 1 Q1

Ltat 0,0 est interdit car il conduit un tat instable comme nous le verrons par la suite. Nous allons appliquer la mthode des tables dexcitation pour analyser dans le dtail le fonctionnement de ce circuit.

Tout circuit logique asynchrone comportant des boucles de raction possde un fonctionnement squentiel. On peut modliser un circuit squentiel en ajoutant des retards dans les boucles de raction. Bien que les retards physiques, fonctions des temps de propagation travers les portes lmentaires, ne soient pas gaux, on convient de symboliser la fonction retard par une mme valeur pour ltude des circuits asynchrones.

circuit A B combinatoire idal

X2 X1

x2 x1

68

On dfinit :
Les variables primaires A et B. Ce sont les entres relles du circuit. Les variables secondaires (ou variable interne) x1 et x2. Ce sont les sorties rinjectes sur

lentre du circuit combinatoire idal.


Les variables dexcitation X1 et X2. Ce sont les sorties du circuit combinatoire idal sur

lesquelles a t plac un retard.

Dans le cas du latch, on obtient le schma asynchrone quivalent :

Q0+

Q0

Q1+

Q1

s r sont les variables primaires, Q0 Q1 sont les variables secondaires et Q0+ Q1+ sont les
variables dexcitation. On tablit la table dexcitation donnant Q0+,Q1+=F( s , r ,Q0,Q1) avec les quations combinatoires Q 0 + = s.Q1 et Q1+ = r.Q 0 .

rs

Q1 Q0 00 01 Q1 Q0
+ +

00 11 11 11 11

01 11 11 10 10

11 11 01 00 10

10 11 01 01 11

11 10

Puis on change de notation pour obtenir une table dtats internes :

69

s
0 0 1 1

r notation
0 1 0 1 0 1 2 3

Q0 0 0 1 1

Q1 0 1 0 1

notation a b c d

La table dtats internes obtenue est :

rs

Q1Q0 a b Q1 Q0
+ +

0 d d d d

1 d d c c

3 d b a c

2 d instable Q1+ Q0+ Q1 Q0 b b stable Q1+ Q0+ = Q1 Q0 d

d c

On voit que ltat interne (a) est toujours instable. A partir de ltat (b), on cherche sur la table des tats internes les effets de toutes les commandes, puis on recommence pour les tats (c) et (d). On obtient ainsi le graphe dvolution du montage.

1 3 2 b 2 2 0 d 0 3 a 1 0 c 1 3

70

En (d), si s r =3, on va en (a), tat instable. On a deux choix possibles : vers ltat b ou ltat c. Ltat choisi dpendra de la vitesse des portes (des valeurs de ), la porte la plus rapide passant 0 en premier. Dans un circuit squentiel, quand plusieurs changements dtats internes se produisent pour un seul changement sur les commandes, alors on dit quil se produit une race condition . Quand ltat final ne dpend pas de lordre des changements dtats internes, alors il sagit dune noncritical race . Quand ltat final du circuit dpend de lordre des changements dtats internes, alors il sagit dune critical race . Cest le cas pour le latch s r . Il faut toujours sassurer quaucune critical race ne peut se produire dans ce type de circuit squentiel avec rtroaction combinatoire car son comportement devient alors totalement imprdictible. Linterprtation du graphe est donc la suivante : Ltat (d) est forc par 0 et gard en mmoire par 0. Ltat (b) est forc par 2 et gard en mmoire par 3 ou 2. Ltat (c) est forc par 1 et gard en mmoire par 3 ou 1. Les commandes sont quivalentes : 0. Commande interdite. On vite ainsi le problme d la commande 3 sur (d). On impose r.s = 0 lentre de la bascule, ce qui supprime la critical race . 1. Remise un tat (c). 2. Remise zro (RAZ) tat (b). 3. Mmoire.

Le modle final du latch valable si r.s = 0 et son graphe dvolution sont :

Q+
s r

r.s = 0
Q

2 3

Q=1 Q=0 2

Q=0 Q=1

3 1

avec lquation dexcitation : Q + = s + r. Q . On peut raliser une variante de ce latch avec des portes NOR, le latch RS :

71

R Q

Lquation ne change pas : Q + = S + R.Q avec R.S = 0. La table de vrit est : R 0 0 1 1 S 0 1 0 1 Q+ Q 1 0 X fonction mmoire mise 1 mise 0 interdit

Afin de saffranchir de ltat instable, on dfinit le latch JK de la manire suivante :

K J

R latch R-S S

On garantit de cette manire que ltat R = 1, S = 1 ne se produira jamais en posant R = K.Q et S = J.Q ce qui nous donne lquation de sortie suivante : Q + = J.Q + K.Q . La table de vrit vaut alors : J 0 0 1 1 K 0 1 0 1 Q+ Q 0 1 Q fonction mmoire mise 0 mise 1 inversion

Ltat instable du latch RS sest transform en un tat inversion. 72

2.2

Bistables synchroniss sur un niveau

Nous allons maintenant essayer de synchroniser le fonctionnement du latch avec un signal dhorloge laide du schma :

s Q

En respectant r.s = 0, on a Q + = s + r. Q , do on tire Q + = S.H + R.H.Q avec (R.H).(S.H) = R.S.H = 0. On obtient la table de vrit suivante :

R X 0 0 1 1

S X 0 1 0 1

H 0 1 1 1 1

Qn+1 Qn Qn 1 0 X

fonction mmoire mmoire mise 1 mise 0 interdit

Quand H vaut 1, le bistable fonctionne normalement. Quand H vaut 0, il garde en mmoire ltat antrieur. On appelle ce circuit un bistable RSH. Il est synchronis sur le niveau de lhorloge H. Il en existe une variante importante : le bistable DH.

S R RSH

73

On pose S = D et R = D ce qui implique : D = 0 S = 0, R = 1 donc mise 0 et D = 1 S = 1, R = 0 donc mise 1. Ce bistable ne prsente plus de combinaison interdite d'entre car on a toujours R.S = 0. Il est appel latch transparent et ralise la fonction Q n+1 = H.Q n + H. D : ltat copie, Qn+1= D pour H = 1. ltat verrou, Qn+1= Qn pour H= 0.

On nexploite Q que pendant la phase verrou. Cest l, la principale limitation des bistables. En effet, les montages suivants sont interdits : Association synchrone en cascade. Ltat lentre de la chane se propage presque instantanment sur la sortie (aprs un temps de propagation tp).

E1

D H

E2

D H

E3

E1 tP

E2

E3

tP

Rtroaction. Le montage oscille.

D H H

Q
Q

tP

Les bistables sont encore utiliss, notamment les latches transparents, mais il est ncessaire de dfinir un nouveau circuit pour travailler en logique synchrone : cest la bascule.

74

2.3

Bascules matre-esclave

Une bascule est un bistable qui ne change dtat quune seule fois par priode dhorloge. Le premier montage de ce type a t la bascule matre-esclave qui nest plus aujourdhui utilise. Sa structure est la suivante :

Q S R H S R HM Matre Q S R HE Esclave Q Q

En rglant habilement les seuils de basculement dhorloge du bistable matre et du bistable esclave, on obtient le chronogramme suivant :

H Seuil Matre Seuil Esclave HM

Lecture
HE

Verrou

La commande SR est lue sur le niveau haut de H et elle est excute sur son front descendant. Ce type de bascule rgle les deux problmes vus au paragraphe prcdent, lassociation en cascade et la rtroaction. Toutefois, elle reste sensible aux parasites car la bascule matre accepte la commande pendant la totalit du niveau haut de lhorloge. On va donc dfinir un type de bascule qui naccepte la commande que pendant le front actif de lhorloge.

75

2.4

Bascules synchronises sur un front

Ces bascules font lacquisition de la donne et ralisent la commande sur un front dhorloge. Ce sont les bascules actuellement utilises pour la conception en logique synchrone. Elles peuvent tre actives sur le front descendant ou sur le front montant de lhorloge.

D H

Q
Q

D H

Q
Q

Front montant

Front descendant

Dun point de vue purement thorique (il ne sagit pas du montage utilis rellement), on peut voir une bascule D commande par un front montant de la manire suivante :

D H H
tPCk

Q H

H H H
tPCk

En dosant de manire adquate le temps de propagation tPCK de linverseur, on obtient en H une impulsion juste assez large pour permettre le transfert de linformation D vers le latch RS.

On voit bien avec ce montage que pour un fonctionnement correct de la bascule, la donne doit tre prsente un certain temps (setup) avant le dbut de limpulsion (le front actif) et rester stable un certain temps aprs (hold). La donne en sortie ne peut tre exploite quaprs un temps de propagation.

76

setup

hold

Qn

Qn+1

propagation

2.5

Bascules usuelles

Il existe quatre types de bascules usuelles :

La bascule RS. Son quation de sortie est Q n+1 = S + R.Q n avec S.R = 0. Son graphe
dvolution est :

SR=00 SR=01 0 SR=10

SR=00

La bascule RS synchrone nexiste pas sous la forme de composant discret et nest jamais utilise directement dans un montage. Toutefois, sa structure se retrouve dans toutes les autres bascules. Sous la forme du latch RS, elle sert raliser des interrupteurs antirebonds. On obtient la table de vrit :

R 0 0 1 1

S 0 1 0 1

Qn+1 Qn 1 0 X

fonction mmoire mise 1 mise 0 interdit

77

La bascule JK. Son quation de sortie vaut Q n +1 = J.Q n + K.Q n ce qui donne la table de
vrit :

J 0 0 1 1

K 0 1 0 1

Qn+1 Qn 0 1
Q n

fonction mmoire mise 0 mise 1

mmoire

Son graphe dvolution est :

JK=0X JK=1X 0 JK=X1

JK=X0

X est un tat indiffrent (dont care). Cette bascule permet la ralisation de montages ayant un minimum de portes combinatoires. Elle ncessite toutefois un cblage plus complexe quune bascule D car elle a deux entres alors que la bascule D nen a quune.

La bascule D. Elle est obtenue en posant D = S = R avec une bascule RS ou D = J = K


avec une bascule JK, ce qui donne lquation Qn+1 = D et le graphe dvolution :
D=0 D=1 0 D=0 1 D=1

Sa table de vrit est :

78

D H 0 1

Qn+1 0 1

fonction mise 0 mise 1

Cette bascule existe sous forme de composant discret et permet la ralisation de montages ncessitant un minimum de cblage (car elle na quune entre) mais plus de portes combinatoires quavec des bascules JK. Toutefois, comme le problme de la longueur du cblage est trs important dans les circuits VLSI, la bascule D est la seule utilise dans les circuits programmables et dans les ASIC.

On peut noter une variante de la bascule JK, la bascule T pour laquelle on pose J = K = T
(T pour toggle). Son quation est Qn+1 = T Q n avec la table de vrit :

T 0 1

Qn+1 Qn
Q n

fonction mmoire

mmoire

Son graphe dvolution est :


T=0 T=1 0 T=1 1 T=0

La bascule T nexiste pas sous forme de composant discret car elle est trs facile raliser partir dune bascule JK ou dune bascule D. Elle est particulirement efficace dans la ralisation de compteurs binaires.
2.6 Caractristiques temporelles des circuits squentiels synchrones

Nous allons dfinir dans ce chapitre les intervalles de temps importants utiliss pour caractriser les circuits squentiels synchrones.

79

2.6.1 Dfinitions

Nous allons prendre l'exemple dune bascule D de type SN74LS74 :

SD D Q

CP CD

Les temps tudis pour cette bascule se retrouveront ( quelques variantes prs) dans pratiquement tous les autres circuits squentiels. Les signaux lentre dun circuit squentiel peuvent tre classs en deux catgories :

Les signaux action synchrone. L'entre D de la bascule est recopie sur les sorties Q et

Q aprs un temps de propagation tPLH ou tPHL au moment du front actif (ici le front
montant) de l'horloge (note CK, CP ou H). La donne doit tre prsente sur lentre D un temps tSU (setup time) avant le front actif et tre maintenue un temps tH (hold time) aprs ce front. Limpulsion active de lhorloge (ici limpulsion positive) doit avoir une dure minimale tW (width time) pour tre prise en compte par la bascule.

tSU

tH

CP

tW

Q tPLH (CP to Q) tPHL (CP to Q)

80

les signaux action asynchrone. Les signaux de mise 0 CD (reset ou clear) et de mise 1
SD (set) ont une action immdiate. Ils ne sont pas synchroniss sur le front actif de lhorloge. Ces signaux sont actifs sur un niveau (ici le niveau 0). Tant que le niveau actif est maintenu, l'effet de la commande persiste. Le niveau actif de limpulsion doit avoir une dure minimale tW. Le dessin suivant donne un exemple de chronogramme pour le signal clear. Les temps de transitions ne sont pas reprsents.

CD

tW

tPHL (CD to Q)

Afin de voir immdiatement comment agit un signal, il est pratique de respecter la notation suivante :

le signal ayant un niveau actif 0 est nomm SIGNAL . le signal ayant un niveau actif 1 est nomm SIGNAL. le
signal ralisant deux fonctions (une sur chaque niveau) est nomm

SIGNAL1/ SIGNAL2 .

2.6.2 Calcul de la frquence maximale dhorloge dune bascule D

Il existe un autre paramtre utilis pour caractriser un circuit squentiel, la frquence maximale de fonctionnement fMAX. Ce paramtre est mesur, dans le cas dune bascule D, grce au montage suivant :

81

Clock SD D Q
D=Q

Ck CD

Ce type de montage est appel montage toggle car la sortie change dtat chaque front actif dhorloge. la sortie Q est donc gale au signal dhorloge mais avec une frquence divise par 2. Agrandissons lchelle des temps pour faire apparatre les diffrents timings de la bascule :

D=Q

> tH clock

> tSU TCK

> tH

> tSU

t Q tPHL tPLH

Pour que le montage fonctionne correctement, les paramtres du circuit doivent vrifier :
TH < min(tPHL, tPLH). Cette relation ne dpend pas de la frquence de lhorloge et elle

est toujours vrifie car on sarrange pour que le temps de maintien de la bascule soit nul en fabrication. Cette relation nintervient pas dans le calcul de la frquence maximale du circuit.
TSU < TCK - max(tPHL, tPLH). Cette relation dpend de la frquence dhorloge et elle

permet de calculer la frquence maximale du circuit. En effet, on remarque que pour un fonctionnement normal, la donne D doit tre prsente tSU avant le front montant de lhorloge. Or la donne D est gale la sortie Q qui apparat un temps tPHL ou tPLH (CP to
82

Q ) aprs le front montant de lhorloge. La priode de lhorloge Tck ne peut donc tre
infrieure tSU + tP ou tp est le plus grand des temps de propagation clock to Q. Ce qui donne la relation : TCK > TSU + max(tPHL, tPLH). La frquence maximale de fonctionnement de la bascule (toggle rate) est donc dfinie par :

f max <

1 t SU + max(t PHL , t PLH )

Hlas, la valeur de fmax nest pas toujours prise dans ces conditions dans les feuilles de caractristiques (data sheet) et la plus grande prudence simpose dans lexploitation de cette donne. Une lecture attentive des caractristiques constructeurs est ncessaire mais pas toujours suffisante pour dterminer la frquence maximale de fonctionnement dun circuit squentiel synchrone.
2.6.3 Calcul de la frquence maximale dhorloge dans le cas gnral

Dans le cas gnral, un circuit logique squentiel synchrone peut toujours tre mis sous la forme de registres (N bascules D fonctionnant en parallle) relies par de la logique combinatoire :

Circuit logique combinatoire

D N registre

Q N

Circuit logique combinatoire

D N registre

Q N

clock

Certaines sorties de registres sont reboucles sur des entres. Il y a des entres pures et des sorties pures. Dans un montage rel, le nombre de bascules peut slever plusieurs dizaines ou centaines de milliers. Comment calcule-t-on la frquence maximale de fonctionnement dun tel monstre . En fait, cest trs simple. Il suffit de reprendre la formule vue prcdemment et de lui ajouter le temps de propagation dans la logique combinatoire (tprop). On obtient donc :

83

f max <

t SU + t prop

1 + max(t PHL , t PLH )

ce qui traduit le fait que la donne doit tre stable tsu avant le front actif suivant de lhorloge. Toute la question est : quel temps de propagation doit-on choisir ? On ne peut pas le calculer la main dans le cas gnral. Un outil de CAO va calculer tous les temps de propagation de toutes les sorties de bascules D vers toutes les entres de bascules D. Le chemin le plus long,
le chemin critique, va donner le temps le plus long, le temps critique. Cest ce temps qui va

dterminer fmax.

f max <

t SU + t critique

1 + max(t PHL , t PLH )

La frquence la plus leve dun montage de ce type est gale la frquence maximale de fonctionnement dune bascule D (qui ne dpend que de la technologie de fabrication utilise pour construire la bascule). Cest le cas o le temps critique est nul, ce qui veut dire que le montage ne sert pas grand chose tant donn quil ne comporte pas de logique combinatoire.

La frquence maximale dun montage rel est donc dtermine par le temps critique qui est fonction de la complexit du montage ralis et du talent de lingnieur qui conoit le circuit.

Il est important de noter que ce raisonnement ne vaut que pour un circuit logique squentiel synchrone. Cest la premire raison pour laquelle on nutilise en pratique que ce type de montage dans les circuits logiques.

2.6.4 Mtastabilit

Il reste un problme que nous avons soigneusement vit jusqu maintenant. Que se passe-til si le montage ne respecte pas le temps de setup, cest--dire si la donne nest pas stable tsu avant le front actif de lhorloge ? En fait, cest un problme trs courant que lon peut rencontrer dans deux cas :

84

1. Dpassement de la frquence maximale du montage. Il sagit l dune erreur dutilisation du composant. 2. Entres asynchrones. A partir du moment o le montage lit une donne extrieure avec une bascule D, il y aura forcment une violation du temps de setup un moment ou un autre. Par exemple, dans le cas dun bouton poussoir actionn par un oprateur humain ou bien dun capteur qui indique un dpassement de trop plein ou encore dune liaison srie (RS232) venant dun ordinateur. On ne voit pas trs bien comment un tre humain pourrait tre synchronis avec lhorloge du montage.

On peut faire beaucoup dtudes savantes concernant le phnomne de mtastabilit. Ce phnomne intervient quand la bascule hsite changer dtat parce que la donne nest pas stable tsu avant le front actif de lhorloge. Elle se place alors dans un tat intermdiaire entre le 0 et le 1, ltat mtastable . En pratique, cela se traduit par un allongement du temps de propagation clock to Q de la bascule ; plus la violation du temps de setup est importante et plus le temps de propagation augmente. Bien sur, si la violation est trop importante le changement en sortie na pas lieu. Il est difficile de lutter contre la mtastabilit car il sagit dun phnomne physique naturel invitable. Une mthode simple et efficace consiste effectuer une double (voir triple) synchronisation des entres asynchrones dun montage. Cela permet de minimiser limportance du phnomne.
Entre asynchrone D Q D Q Vers le montage squentiel synchrone

clock

2.7

Rgles de conception

2.7.1 Influence des alas de commutation

Nous avons vu dans le chapitre sur la logique combinatoire que dans le cas gnral, il peut se produire un ala de commutation (un glitch) en sortie de tout montage combinatoire sauf si celui-ci a fait lobjet dune conception hazard-free extrmement contraignante. Quelle va tre linfluence de ce glitch dans un montage squentiel ? Prenons un exemple simple :

85

D s 1 T0 H H
H

Q Q

Q0

T1 H

Q1

Q0

tP1

activation bascule souhaite tP2 parasites

Q1

Sur cet exemple, on voit bien limpulsion parasite (le glitch) apparatre la sortie de la porte OR. Il est d la diffrence de temps de propagation (clock to Q) entre les deux bascules T. Sa dure est indpendante de la frquence de fonctionnement et totalement dpendante du processus de fabrication des bascules. Certains couples de bascules ne provoqueront pas de parasites, dautres le feront. Si le signal S est utilis pour attaquer lentre dhorloge dune bascule, le glitch risque dtre vu comme un front supplmentaire et dactionner la bascule. La seule solution efficace pour viter ce genre de problme est dutiliser la logique squentielle synchrone.
2.7.2 Rgles de conception synchrone

Les circuits squentiels synchrones sont constitus de bascules synchronises sur les mmes fronts dune seule horloge spares par des couches de logiques combinatoires. Toutes les commandes sont prises en compte sur le front actif de lhorloge et les hazards , sil y en a, sont forcment termins sur le front actif suivant de lhorloge (si bien entendu le montage respecte la frquence maximale de fonctionnement). Dautre part, il ne peut y avoir de race condition puisquil ny a pas de rtroactions combinatoires directes mais seulement sur les entres des bascules. Le fonctionnement dun circuit en logique synchrone est donc extrmement fiable et portable dune famille technologique lautre. De plus, sa vitesse

86

augmente linairement avec laccroissement de la vitesse des lments qui le composent. Lamlioration de la densit dintgration conduit donc automatiquement une augmentation des performances.
Par construction, en logique squentielle synchrone, les alas de commutation peuvent tre ignors en toute scurit car ils sont forcment termins avant le front actif suivant de lhorloge. Cest la deuxime raison pour laquelle on nutilise en pratique que ce type de montage dans les circuits logiques.

Toutefois, il est ncessaire pour viter tout problme de respecter certaines rgles : 1. Il ne faut pas attaquer une entre dhorloge avec une combinaison de sorties de bascules. Dune manire plus gnrale, il faut traiter sparment le chemin des donnes et les lignes dhorloge. 2. Il ne faut pas utiliser les entres asynchrones dune bascule (entre Clear et Preset par exemple) pour raliser une raction. Il est dailleurs conseill de navoir que des entres synchrones sur les bascules.
2.7.3 Le rle du CE

Il reste toutefois un problme dont nous navons pas parl. Si toutes les bascules sont actives par la mme horloge, comment peut-on inhiber une bascule ou si vous prfrez comment empcher la copie de D sur Q sur le front actif de lhorloge ?

Il manque pour cela une entre de validation sur nos bascules. Cest lentre CE ou Chip Enable . Sans cette broche supplmentaire, il est impossible de raliser un montage squentiel synchrone.

D CE H

Le fonctionnement est trs simple : 1. CE = 1 Qn+1 = D sur le front actif de lhorloge. 2. CE = 0 Qn+1 = Qn sur le front actif de lhorloge. 87

En ce qui concerne la ralisation interne, il suffit dajouter un multiplexeur 2 vers 1 command par CE sur lentre D dune bascule pour obtenir :

CE D clock

Nous pouvons maintenant reprendre et corriger le montage prcdent :

s 1 T0 H H
H

D CE

Q Q

Q0

T1 H

Q1

parasites Q0 tP1

Q1

tP2 activation bascule

Lquation logique de s a chang, mais la sortie du montage reste la mme (vous pouvez vrifier que la bascule est active au mme moment). Les hazards sont toujours l, mais il ne nous gne plus.
2.7.4 Asynchrone contre synchrone

En rsum, la logique squentielle synchrone a les avantages suivants : 1. Fiabilit car les alas de commutation ninterviennent pas dans le fonctionnement du montage.
88

2. Calcul simple de la frquence maximale de fonctionnement du montage grce la formule suivante. Les outils de CAO savent calculer le temps critique du montage.

f max <

t SU + t critique

1 + max(t PHL , t PLH )

3. portabilit dune famille technologique lautre. 4. La frquence augmente linairement avec laccroissement de la vitesse des lments qui composent le montage. Lamlioration de la densit dintgration conduit donc automatiquement une augmentation des performances.

Comment dfinir la logique squentielle asynchrone ? On la dfinit plutt par opposition la logique squentielle synchrone. Tout montage qui ne respecte pas strictement les rgles de conception synchrone est asynchrone. Pour le dbutant, cest hlas la solution qui vient gnralement en premier. Elle est gnralement caractrise par labsence dhorloge matresse et/ou par la prsence de rebouclage squentiel asynchrone. Lorsquelle est utilise dans les rgles, cest--dire lorsquelle est conue correctement et de manire fiable (cest--dire
quasiment jamais sauf par des ingnieurs trs expriments : il faut savoir que les outils de CAO marchent trs mal en asynchrone, ce qui ne facilite pas la conception), elle a les

avantages suivants : 1. Frquence de fonctionnement plus leve quen logique synchrone. 2. Consommation plus faible quen logique synchrone frquence de fonctionnement identique.

Pour toutes ces raisons, depuis maintenant 20 ans, tous les montages correctement conus utilisent la logique squentielle synchrone.

2.8

Machines dtats

Dans ce chapitre, nous allons examiner rapidement le type le plus important de circuit squentiel : la machine dtat. Une machine dtat est ainsi appele car la logique squentielle qui limplmente ne peut prendre quun nombre fini dtats possibles. Il existe deux familles de machines dtat :

89

la machine de Moore. Les sorties dpendent seulement de ltat prsent n. Un circuit

combinatoire dentre dtermine, partir des entres et de ltat prsent n, les entres des bascules (D principalement) du registre dtat permettant de raliser ltat futur n+1. Les sorties sont une combinaison logique de la sortie du registre dtat et changent de manire synchrone avec le front actif de lhorloge.

Entres Xi

Logique combinatoire dterminant ltat suivant (entres des bascules)

Registre dtat (bascules)

Logique combinatoire de sortie

Sorties Zk

horloge

Contre-raction dtats

la machine de Mealy. Les sorties dpendent de ltat prsent n mais aussi de la valeur des

entres. La sortie peut donc changer de manire asynchrone en fonction de la valeur des entres. Il existe une variante synchrone de la machine de Mealy avec un registre plac sur les sorties et activ par lhorloge. Toutefois, la machine de Moore est plus adapte pour raliser une machine dtat totalement synchrone.

Entres Xi

Logique combinatoire dterminant ltat suivant et les sorties

Sorties Zk

Registre dtat (bascules)

horloge Contre-raction dtats

90

2.9

Les gnrateurs de squences synchrones

2.9.1 Compteur, dcompteur, gnrateur pseudoalatoire

Les machines dtats servent raliser des automatismes complexes (contrleur de feux tricolores par exemple) et ne nous intressent pas directement. Par contre, nous allons maintenant tudier un cas particulier de machine dtat : le gnrateur de squence synchrone. Il sagit dun cas simplifi de machine dtat de Moore dans laquelle :

les sorties et les tats internes sont identiques, la squence est non-programmable, il ny a pas dentres (il y a ventuellement des entres de chargement, mais elles
ninterviennent pas dans le droulement de la squence).

Logique combinatoire dterminant ltat suivant (entres des bascules)

Registre dtat (bascules)

Sorties Qk

horloge

Contre-raction dtats Les gnrateurs de squences synchrones sont composs de n bascules synchronises par une horloge qui est la seule commande extrieure du circuit. On peut ainsi coder 2n tats diffrents et raliser un graphe dvolution du type :

A0

A1

A2

A3

Le cycle comporte au plus 2n tats qui se succdent toujours dans le mme ordre. On dbute ltude par le codage des tats. On peut gnralement les classer parmi les squences du tableau ci-dessous (sur 3 bits par exemple). Pour rpondre un besoin spcifique, tout autre combinaison des sorties est possible et peut constituer un cycle de m tats avec m 2n.

91

compteur cycle complet (modulo 8) binaire naturel compteur Q2 Q1 Q0 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 dcompteur Q2 Q1 Q0 1 1 1 1 0 0 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0 gray Q2 Q1 Q0 0 0 0 0 1 1 1 1 0 0 1 1 1 1 0 0 0 1 1 0 0 1 1 0

compteur cycle incomplet binaire quelconque Johnson Q2 Q1 Q0 0 0 0 1 1 1 0 0 1 1 1 0 0 1 1 1 0 0 1 parmi 3 Q2 Q1 Q0 0 0 1 0 1 0 1 0 0 pseudoalatoire Q2 Q1 Q0 0 1 1 1 0 1 0 0 0 1 1 1 0 1 1 0 0 1 1 1 0

2.9.2 Cas particulier : les registres dcalages boucls

Une fois le codage des tats dtermin, on regarde dans la squence sil y a un dcalage temporel. Si tel est le cas, alors il y a une solution vidente base de bascules D dquation Qn+1 = D. Parmi les squences prcdentes, les compteurs Johnson et 1 parmi 3 peuvent tre raliss partir de bascules D.
n n Le compteur Johnson. On dtermine partir de la squence dtats que Q1 +1 = D1 = Q 0 ,

n n n n n n Q 2 +1 = D 2 = Q1 et Q 0 +1 = D 0 = f Q 0 ,Q1 ,Q 2 . Il faut donc seulement chercher lquation

de D0. Pour cela, on se demande quelle valeur mettre sur D0 pour obtenir Q0.

Q2 0 0 0 1 1 1

Q1 0 0 1 1 1 0

Q0 0 1 1 1 0 0

D0 1 1 1 0 0 0

92

Q1 Q0 Q2 0 D0 1 0 X 0 0 00 1 01 1 11 1 10 X

En simplifiant au maximum avec le tableau de Karnaugh, on obtient D 0 = Q 2 ce qui donne le schma et le chronogramme suivant :

D0 H H

Q0

D1 H

Q1

D2

Q2

H Q2

Q0

Q1

Q2

Les bascules doivent tre mises 0 la mise sous tension. On obtient des horloges de mmes priodes, mais dcales en phase. Il sagit dun code jointif comme le code GRAY car il ny a quune sortie qui change chaque coup dhorloge.

Le compteur 1 parmi 3. Le schma est identique au prcdent avec D0 connect sur Q2 (au
lieu de Q 2 ), et il faut mettre 1 une des bascules la mise sous tension (et les autres 0). On obtient des horloges dcales temps jointifs.

93

Q0

Q1

Q2

2.9.3 Cas gnral : la mthode de la table dtats

Pour exposer cette mthode, nous allons traiter un exemple avec le compteur binaire 3 bits. Elle comprend 3 phases : 1. Dtermination du tableau de Karnaugh donnant Q2+Q1+Q0+ en fonction de Q2Q1Q0.

Q1 Q0 Q2 0 Q2 + Q1 + Q0 + 1 101 110 000 111 00 01 11 10

001 010 100 011

2. Dtermination des tableaux de Karnaugh donnant les commandes ncessaires lobtention de Q2+Q1+Q0+.

Prenons lexemple dune ralisation avec des bascules D dquation Q+=D. On obtient
directement du tableau prcdent Q0+ = D0 = Q 0 , Q1 = D1 = Q1Q 0 + Q1 Q 0 et
+

Q 2 = D 2 = Q 2Q1Q 0 + Q 2 Q1 + Q 2 Q 0 .
Avec des bascules JK dquation Q + = J . Q + K. Q , il faut poser : Q = 0 J = Q+ quelque soit K (K = X). Q = 1 K = Q+ quelque soit J (J = X).

Do on tire les tableaux :

94

Q 1 Q0 Q2 0 J 2J 1J 0 1 X01 X1X XXX XX1 00 01 11 10 K2 K1 K0

Q 1 Q0 Q2 0 1 00 01 11 10

001 01X 1XX 0X1

XXX XX1 X11 X0X 0XX 0X1 111 00X

On peut ainsi dterminer les signaux J et K de chaque bascule. Dans le cas dun compteur binaire, la solution base de bascule T est la plus efficace, il suffit de poser J = K = T. On en tire J2J1J0 = K2K1K0 et un seul tableau de Karnaugh (en combinant les deux prcdents).

Q1 Q0 Q2 0 T2 T1 T0 1 001 011 111 001 T2 = Q1Q0 00 01 11 10 T0 = 1 T1 = Q0

001 011 111 001

On peut aussi, sans passer par les tables de vrit des bascules JK, dduire T de l'expression de Q+ avec la relation T = Q+Q, ce qui nous donne exactement le tableau de Karnaugh prcdent.

3. A partir des tableaux de la phase 2, laboration du schma.

T0 H

Q0

T1 H

Q1

T2 H

Q2

2.9.4 Ala dans les gnrateurs cycle incomplet

Dans un gnrateur cycle incomplet, tous les tats possibles ne sont pas utiliss (compteur 1 parmi 3 par exemple). Quand on simplifie au maximum les quations laide du tableau de 95

Karnaugh, le fonctionnement est correct tant que lon reste dans le cycle principal. Toutefois, si le compteur sinitialise sur une valeur qui ne se trouve pas dans ce cycle, il peut travailler dans un cycle parasite ou rester sur un tat bloqu. On peut avoir par exemple un dcompteur 3 bits ayant pour cycle principal (4 3 2 1 0 4 ...) et un cycle parasite (5 6

5 ...). Si le circuit prend la valeur 5 la mise sous tension, il restera bloqu dans le
cycle parasite. Il faut donc, lors de la simplification avec les tableaux de Karnaugh, prendre soin de connecter les cycles parasites ventuels ou les tats bloqus avec le cycle principal comme dans le cas suivant :

On voit bien quavec cette modification, le compteur rejoint le cycle principal quelque soit la valeur dinitialisation. On ralise ainsi un compteur auto-initialis (self-starting counter).
2.10 Circuits logiques squentiels

Ce paragraphe va traiter des circuits logiques squentiels se trouvant dans le catalogue logique standard, le TTL data book. Quoique obsoltes, les fonctions de ce catalogue existent, quelques variantes prs, dans les autres technologies (notamment en CMOS) ainsi quen CAO.
2.10.1 Les bascules lmentaires

appellation

notation

96

preset D Q

D
CE CK
Q

clear

Latches transparents

D OE

2.10.2 Les compteurs 2.10.2.1 Introduction

A lexception des cas particuliers o l'on ralise des compteurs en associant des bascules D ou JK, on utilise gnralement des compteurs en circuits intgrs du commerce ou leurs quivalents dans les bibliothques des outils de CAO. Nous allons tudier ici quelques compteurs appartenant au TTL data book, les techniques de base ainsi que les principales recommandations d'utilisation. Il existe deux familles de compteurs : 1. les compteurs synchrones : toutes les sorties changent d'tat un temps tP clock to Q aprs le front actif de lhorloge. 2. les compteurs asynchrones : la sortie N change dtat un temps tP aprs la sortie N-1, la sortie 0 change dtat un temps tP aprs le front actif de lhorloge (aucune sortie ne change en mme temps que les autres). On trouve des compteurs binaires N bits (modulo 2N) ou dcimaux (par dcades). Ils possdent des broches supplmentaires telles que :

lentre CLEAR ou remise zro de ltat du compteur. lentre LOAD ou chargement. Cette entre permet de charger en parallle une valeur dans
le compteur, cette valeur devant tre prsente sur les entres de chargement parallle.

lentre UP/DOWN activant le comptage ou le dcomptage. lentre ENABLE ou validation autorisant ou bloquant le comptage.

97

la sortie CARRY (aussi appele CEO pour Chip Enable Output) qui indique le
dpassement de capacit et sert mettre les compteurs en cascade.

Les entres sont actives 0 ou 1 et action synchrone ou asynchrone selon les circuits. Il faut se reporter aux caractristiques et aux chronogrammes donns par le constructeur pour avoir plus de dtails.
2.10.2.2 Compteurs Binaires Asynchrones

Les compteurs asynchrones, qui ne sont plus commercialiss, peuvent toujours tre utiliss comme fonction dans un circuit logique. Leur principe de fonctionnement est le suivant :
Tous les Pr et Cl inactifs donc 1

1 1

J Ck K

Pr

Q Q

1 1

J Ck K

Pr

Q Q

1 1

J Ck K

Pr

Q Q

1 1

J Ck K

Pr

Q Q

Cl

Cl

Cl

Cl

Ck

Q0

Q1

Q2

Q3

Cet exemple (74LS197) ralise un comptage de 0 15 puis retour 0 puisque, pour chaque bascule JK, Qn+1 = Q n . Les temps de propagation tP frquence montre des tats parasites de commutation :
tP CktoQ Ck tP CktoQ Q0 Q1
CktoQ

s'ajoutant, un dessin en haute

Q2

N d'tats

2 0

tats parasites transitoires

98

Si la frquence augmente, les tats parasites peuvent durer plus longtemps que les tats rels du compteur. Toutefois, si on ne ralise qu'une division de frquence, ils ne sont pas du tout gnants, et on obtient alors la structure de diviseur de frquence la plus rapide car la frquence maximale du compteur est gale la frquence maximale de la bascule de poids faible. De plus, ce montage consomme moins que son quivalent synchrone car chaque bascule fonctionne la frquence minimale possible pour raliser la fonction. Par contre, on ne peut exploiter les tats de sortie du compteur que quand ils sont stabiliss, ce qui en limite fortement lusage. Il faudra compter sur un front et chantillonner les sorties par une bascule D active sur l'autre front (dans le cas o la somme des tP ck to Q ne dpasse pas la demi-priode de lhorloge). Malgr cela, on atteint trs rapidement les limites utilisables. Par exemple, si on augmente trop la frquence dun compteur 4 bits, on peut obtenir le chronogramme suivant :

CK

Q0

Q1

Q2

Q3

7 ETATS VOULUS

tats parasites

Comme il est impossible dexploiter les tats de sortie de ce compteur cette frquence, il faut passer en logique synchrone avec un schma du type :
Tous les Pr et Cl inactifs donc 1

1 J Ck 1 K

Pr

Q Q

J Ck K

Pr

Q Q

J Ck K

Pr

Q Q

J Ck K

Pr

Q Q

Cl

Cl

Cl

Cl

Q0 Ck

Q1

Q2

Q3

99

Toutes les sorties du compteur changent un temps tP ck to Q aprs le front actif de lhorloge. Il ny a plus dtats parasites transitoires. Par contre, pour une simple division de frquence, ils sont moins performants que les compteurs asynchrones car la frquence maximale dutilisation est plus faible :

f max =

1 t P Ck to Q + t setup + t P logique combinatoire

Le chronogramme de sortie est donc :

Tp Ck to Q

Ck

Q0

Q1

Q2

N d'tats

Voyons maintenant quelques compteurs du commerce.


2.10.2.3 Quelques compteurs synchrones du commerce

Les compteurs synchrones LS160, 161, 162, 163 et LS190, 191, 192, 193 sont des compteurs 4 bits qui changent dtat sur le front montant de lhorloge. Le tableau suivant rsume leurs caractristiques :

100

binaire

dcimal compteur

compteurdcompteur

chargement (load) synchrone synchrone synchrone synchrone

remise zro (raz) asynchrone asynchrone synchrone synchrone

160 161 162 163 190 191 192 193 * * * *

* *

* *

ligne down/up ligne down/up

synchrone synchrone asynchrone asynchrone asynchrone asynchrone

deux horloges deux horloges

Ils sont raliss partir de 4 bascules D, avec un rebouclage adquat de Q sur D.

Les chargements synchrones, remises zros asynchrones ou synchrones sont effectus


par le circuit suivant :

Ei Entre parallle de l' tage

Clear asynchrone Clear synchrone

Di
clr

D Ck

Qi

Qi Etage N i Load synchrone Ck


Pour les chargements parallles asynchrones, on agit sur les entres Set et Reset des
bascules D. L'quation logique de ces entres s'obtient facilement : Set = Ei.Load et Reset = Ei .Load. Pour gagner une porte, on peut crire : Set = Ei . Load Reset = Ei .Load + Load .Load = Load (Ei + Load) D' ou Reset = Load . Set 101

D'o le montage suivant pour chaque tage n i :

Load asynchrone

Ei entre parallle
Set D Ck Qi

Etage N i
Reset

2.10.2.4

Mise en cascade de compteurs

Suivant quils possdent ou non une entre de validation, on met en cascade les compteurs de manire synchrone ou asynchrone.
2.10.2.4.1 mise en cascade srie ou asynchrone

up MSB

carry Ck up LSB
Ck down

down

borrow

Q7

Q0

La sortie carry (borrow) actionne directement le comptage (dcomptage) des poids forts. Elle sert dhorloge pour actionner le compteur de poids plus lev. Le compteur n'est plus entirement synchrone (seulement 4 bits par 4 bits), ce dont il faudra tenir compte pour viter les alas lors de la ralisation de compteurs modulo quelconque.
2.10.2.4.2 mise en cascade parallle ou synchrone

Horloge

MSB

CE

CEO

LSB

CE 1

Q7

Q0

102

Le compteur reste ici totalement synchrone. La sortie CEO valide le compteur de poids plus lev pour le coup d'horloge suivant.
2.10.2.5
2.10.2.5.1

Ralisation de compteurs modulo quelconque.


Action sur l'entre Clear synchrone

Lorsque ltat final du compteur est dtect, le front actif suivant de l'horloge remet zro le compteur. Une dtection incomplte est possible et mme souhaitable (nous le verrons plus loin pour limiter les alas), elle consiste ne dtecter que les bits 1. Dans lexemple suivant utilisant un SN74LS163, on ralise un diviseur par 6 en dtectant ltat 5, puis en rinitialisant le compteur au coup dhorloge suivant. Les tats en sortie seront donc 0, 1, 2, 3, 4, 5, 0, 1...

Clear synchrone

Compteur binaire synchrone avec clear synchrone (LS163) D C B A F/6

Bien que le compteur soit synchrone, de petites dispersions dans les tP ck-to-Q peuvent fournir un tat parasite transitoire. Ces alas ne sont pas forcment gnants, nous allons les tudier cidessous.
2.10.2.5.2 Rappel des cas possibles d'alas

Un ala peut survenir lorsque deux entres d'une porte lmentaire changent d'tat peu prs en mme temps. Si les temps de transitions sont voisins du temps de traverse de la porte, on a trois possibilits :

Signal1 Signal2

Sortie

103

Cas 1 Signal 1

Cas 2

Cas 3

Signal 2 Sortie

ATTENTION

Dans le cas particulier de cette NAND, le cas n1 provoquera systmatiquement un parasite 0 car la transition 0-1 sur le signal 1 fait changer la sortie (avec signal 2 1). Par contre, le cas n2 ne provoquera jamais dala puisque la transition 1-0 sur le signal 2 ne fait pas changer la sortie (avec signal 1 0). Quand au cas n3, tout dpendra des caractristiques relles de chaque porte. Certaines portes produiront un ala, dautres non. Si le temps de transition est beaucoup plus grand que le temps de traverse de la porte, alors lala en sortie sera systmatique.

Signal 1

Signal 2

Sortie

2.10.2.5.3

Influence de lala

Reprenons lexemple du diviseur par 6. L'ala peut exister en sortie de la porte NAND dtectant l'tat 5, au passage de l'tat 3 l'tat 4. Sur une entre synchrone de remise zro, cet ala n'a pas d'action car il ne se produit pas sur le front actif de lhorloge. Avec un clear synchrone, les alas de commutation nont aucun effet. L'tude de ce type de montage sen trouve grandement facilite.

Par contre, si on utilise un clear asynchrone, alors lala au passage de ltat 3 ltat 4 peut remettre le compteur 0. Cela dpendra de sa dure et de la rapidit du compteur. Il vaut donc mieux viter lutilisation dun clear asynchrone pour raliser un diviseur par N. Il faut toutefois noter que lemploi dune raz asynchrone avec un compteur asynchrone est possible,

104

puisque linstant de variation des sorties est dcal et connu. Ltude de linfluence des alas est dans ce cas beaucoup plus facile prvoir.

Comme nous lavons dj vu, il ne faut jamais utiliser comme horloge d'un compteur ou dune bascule une combinaison logique de sorties dun compteur. Des impulsions parasites (des glitches) se trouveront sur ce signal et seront prises pour des fronts dhorloge supplmentaires. De plus, la largeur de ces parasites dpendra uniquement des temps de propagation du compteur (clock to Q) et de la rapidit de la porte mais pas de la frquence de fonctionnement. Si par exemple, on a le chronogramme suivant la frquence de 1 MHz :

Horloge Sortie du NAND

tat 4

tat 5

A 1 kHz, on aura un parasite de mme largeur mais il ne sera pratiquement plus visible quoique toujours actif.

5
Horloge Sortie du NAND

Parasite pratiquement invisible

La frquence maximale de fonctionnement (pour lexemple du diviseur par 6) est dtermine par le temps sparant le changement dtat en sortie de la NAND et le front actif suivant de lhorloge.

105

tat 4 Horloge

tat 5

tp porte

Sortie du NAND

tP Ck to Qi

Tsetup Clear

On dduit de ce chronogramme la frquence maximale du compteur :


1 t ck to Qi max + t p porte max + t setup Clear min

Fmax =

Au-del de cette frquence, le signal Clear arrive trop tard pour remettre zro le compteur, il apparat un coup d'horloge supplmentaire dans le cycle (ou pire, un phnomne de mtastabilit).
2.10.2.5.4 Action sur lentre LOAD synchrone

En mode comptage, au moment du passage de ltat 2n-1 ltat zro, le compteur fournit un signal de retenue carry . On l'utilise pour charger une valeur qui servira de valeur initiale dans la squence. Lexemple suivant reprend le diviseur par 6 mais avec en sortie les tats 10, 11 ,12 ,13, 14, 15, 10, 11,

1 0

1 0

cablage du code 10 dcimal entres parallles

P3 P2 P1 P0 Load

Carry

Frquence F/6

Q3 Q2 Q1 Q0 sorties

Frquence F/6

106

L'intrt de ce type de montage est la ralisation simple de diviseurs programmables, un simple code 2n - k sur les entres de chargement permettant deffectuer la division par k voulue.

En mode dcomptage, avec un compteur prvu cet effet, le passage de 0 2n -1 est indiqu par un signal de retenue "borrow". On peut donc raliser un diviseur fonctionnant par dcomptage, la prsence du code k sur les entres de chargement permettant deffectuer une division par k +1. Dans le cas du diviseur par 6, une valeur 5 sur les entres de chargement donne en sortie les tats 0, 1, 2, 3, 4, 5, 0, 1,
2.10.2.6 Exploitation des tats de sortie d'un compteur.

Prenons par exemple un compteur deux bits comptant de 0 3. On veut crer, laide dun circuit combinatoire, 4 impulsions dtectant respectivement les tats 0, 1, 2 ,3.

CK

Compteur 2 bits Q1 Q0
dcodeur classique 24 j lid

Dcodeur combinatoire

S3

S2

S1

S0

Etudions la sortie S 2 = Q1. Q 0 :

0
CK

Q0

Q1

S2

Lors du passage de l'tat 3 l'tat 0, les signaux Q1 et Q0 voluant en sens inverse, un parasite est possible sur la sortie S2. Sa prsence dpend du type de compteur (synchrone ou 107

asynchrone), de la technologie des circuits utiliss, et galement de la faon dont est ralise la fonction S2 l'intrieur du dcodeur. Ce parasite n'est pas gnant pour une exploitation synchrone. Pour un usage asynchrone (attaque d'une entre horloge d'un compteur ou d'un registre), il faut absolument le supprimer. Il existe trois techniques possibles :

Suppression dalas par lutilisation dun compteur de type Gray ou Johnson. Le dcodeur
combinatoire doit tre modifi. Comme une seule sortie Qn change chaque coup dhorloge, aucun ala sur les sorties Sn nest possible si le dcodeur est hazard free ce qui est gnralement le cas (mais il faut quand mme tudier de prs le problme).

Suppression d'alas par validation avec l'horloge principale. On voit que le signal

S2' = S2.CK est sans parasite et quil dure 1/2 priode d'horloge. Son front montant se
situe pratiquement au milieu de l'tat dcod du compteur.

tat 2

tat 3

tat 0

CK S2
parasite

S2=S2.CK
S2 : S2 chantillonn
par une bascule D et CK

Suppression d'alas par chantillonnage avec une bascule D.

S2

D H Q
S2

Ck

On obtient un signal S2 ayant une priode d'horloge pour largeur, sans parasite. Son niveau haut est cependant cheval sur l'tat dtect et l'tat suivant, ce qui n'est pas forcment un inconvnient. On peut en effet exploiter son front montant situ au milieu de l'tat dtect. Toutes ces mthodes sont du domaine de la bidouille et lexploitation synchrone de
ltat de sortie est fortement conseille sauf si vous ne pouvez pas faire autrement

108

(notamment si le retard entre le changement dtat et sa dtection doit tre infrieur une priode dhorloge).

Le montage normal est bien sur :

S2

D H Q
S2resync

Ck

2.10.3 Les registres dcalages 2.10.3.1 Dfinition

Un registre dcalage est une association en cascade de bascules D permettant de dcaler gauche ou droite une srie de bits de donnes. On y trouve gnralement une entre de donnes en srie, N entres de chargement en parallle et N sorties. La Nime sortie peut servir de sortie srie.

entres // entre srie horloge


P0 Q0 PN-1

chargement
QN-1

sortie srie

Il y a trois modes principaux dutilisation :

1. Lentre srie avec sortie parallle. Prenons un exemple avec un registre 4 bits et voyons lvolution des donnes en sortie. A chaque coup dhorloge, la donne sur lentre srie est copie sur ltage 0 et la donne se trouvant ltage i-1 est transfre ltage i. Ainsi, les donnes rentres en srie sont mises en parallle sur les sorties.

entre srie b0 b1

Ck

Q0 b0 b1 109

Q1 0 b0

Q2 0 0

Q3 0 0

b2 b3 b4

b2 b3 b4

b1 b2 b3

b0 b1 b2

0 b0 b1

2. Lentre parallle avec sortie srie. Prenons un exemple avec un registre 4 bits et voyons lvolution des donnes en sortie. Sur le front actif de lentre de chargement, les donnes parallles sont copies sur les sorties. Ensuite, chaque coup dhorloge, la donne se trouvant ltage i-1 est transfre ltage i et un 0 est copi sur ltage 0. On voit apparatre sur la sortie srie Q3 les donnes parallles mises en srie.

chargement 1 0 0 0

Ck

Q0 P0 0 0 0

Q1 P1 P0 0 0

Q2 P2 P1 P0 0

Q3 P3 P2 P1 P0

3. Lentre srie avec sortie srie. On reprend le tableau du mode 1, mais on considre les donnes sortant sur Q3. Ce sont les donnes de lentre srie apparaissant aprs un retard de 4 coups dhorloge.

2.10.3.2

Applications

Les registres dcalage ont de nombreuses applications. Parmi celles-ci, on trouve :

La conversion de donnes srie-parallle utilise pour la transmission de donnes. On


prend des bits en srie et on les convertit (gnralement sur un octet) en parallle (exemple : le SN74LS164).

La conversion de donnes parallle-srie utilise pour la transmission de donnes. On


prend des donnes binaires (gnralement un octet) en parallle et on les convertit en un train binaire srie (exemple : le SN74LS165).

110

Les oprations arithmtiques pour raliser des multiplications et divisions (oprations


utilisant le dcalage). On entre et on sort alors en parallle.

Les compteurs en anneau (entre srie, sortie srie). Il faut effectuer un chargement initial,
puis chaque coup d'horloge le contenu se dcale en suivant une permutation circulaire. On peut raliser ainsi des gnrateurs d'horloges dcales, des chenillards ...

Entre srie Ck Registre reboucl

100000000000 010000000000 001000000000 000100000000 etc. 000000000001

2.10.3.3

Le SN74LS178, registre polyvalent de 4 bits

Finissons ce paragraphe avec un exemple de registre du TTL data book, le SN74LS178. C'est un registre entres parallles, sorties parallles, entre et sortie srie.

P0 Donne Srie H SE PE

P1

P2

P3

Entres parallles

DS CP

sorties parallles Q0 Q1 Q2 Q3 Sortie srie

Le plus souvent, dans les registres dcalages, les bits gauche ont les poids les plus faibles. Cette notation peut tre gnante, mais c'est celle des circuits que l'on trouve dans le commerce. Les signaux SE et PE slectionnent 3 types de fonctionnement possibles : SE H L PE X H

CP

Action dcalage : DS Q0 Q1 Q2 Q3 chargement : Pi Qi

111

pas d'action

Le registre est form de 4 bascules D. D'aprs le tableau ci-dessus, on peut crire immdiatement l'quation au niveau de ltage numro i :

Di = SE.Qi 1 + SE.PE.Pi + Qi.SE.PE

D'o le schma suivant pour l'tage i :

Pi : Entre parallle de l' tage

SE.PE Qi-1 Di SE SE.PE Ck Etage i D Q Qi

2.10.4 Les monostables

Un monostable est un circuit logique squentiel qui dlivre, sur le front actif dun signal de commande, une impulsion de dure variable ajuste par un rseau RC. La dure de limpulsion est approximativement gale 0,7.Rext.Cext. Son ordre de grandeur est compris entre une dizaine de nano-secondes et plusieurs secondes. Nous allons examiner deux types courants de monostables :

SN74LS221 : double monostable non rarmable avec entre trigger de Schmitt. Si un front
actif se produit avant que limpulsion de sortie ne revienne au repos, il nest pas pris en compte. Sa table de vrit est la suivante :

entres clear A B

sorties Q

112

0 X X 1 1

X 1 X 0

X X 0

0 0 0

1 1 1

1 1

SN74LS123 : double monostable rarmable. Si un front actif se produit avant que


limpulsion de sortie ne revienne au repos, sa dure est tendue de la valeur initiale. Sa table de vrit est identique la prcdente.

Entre active Sortie monostable non rarmable


Largeur impulsion

Sortie monostable rarmable


Largeur impulsion

Les monostables ne sont plus utiliss aujourdhui en conception des circuits logiques. Mais le principe est toujours intressant, notamment sous sa forme squentielle synchrone.
2.11 Exercices

exercice 2.1 Un interrupteur manuel qui commute dune ancienne position vers une nouvelle ntablit pas un contact franc avec la nouvelle position, mais il rebondit en lair un certain nombre de fois avant de se stabiliser dessus. Nous allons voir dans cet exercice un montage dit anti-rebonds. 1. Soit le schma suivant :

113

VCC

1 2 R S

Donner le chronogramme de la sortie S quand l'interrupteur passe de la position 2 la position 1. 2. Mme question quand il passe de 1 2. 3. On utilise maintenant le montage suivant :

R VCC 1 2 R

Expliquer son fonctionnement. Quel est l'avantage par rapport au montage prcdent ?

exercice 2.2 Soit le schma suivant :


A

R Q H

D B

114

1. Indiquer ltat des points A, B, R, S, Q et Q quand H est ltat haut, quand H passe de ltat haut ltat bas, quand H est ltat bas et quand H passe de ltat bas ltat haut. 2. Quel type de bascule a-t-on ralis ?

exercice 2.3 Soit le montage suivant compos dune bascule D (SN74LS74) et de portes NAND (SN74LS00).

1 SD T D

CP CD 1

1. Dessiner lallure du chronogramme en sortie de la bascule. 2. Rappeler la dfinition et donner la valeur des temps de setup, de hold et de propagation des circuits composant le montage. 3. Quelle est la frquence maximale (dans le pire des cas) de fonctionnement de ce montage ?

exercice 2.4 Que se passe-t-il si les temps de setup et de hold ne sont pas respects quand un signal asynchrone est prsent lentre d'une bascule ? Sa sortie est alors dans un tat indtermin qui peut tre un tat intermdiaire compris entre 0 et 1, un tat mtastable. Ce phnomne est connu sous le nom de mtastabilit. Le chronogramme suivant lillustre.

115

t D H Q 1 0 Q H

Ce problme se pose systmatiquement ds que lentre dun systme synchrone est asynchrone. Il y a alors forcment une chance pour que lentre asynchrone ne respecte pas les temps de setup et de hold dune des bascules. La consquence pratique de ce phnomne nest pas lapparition dun tat intermdiaire entre le 0 et le 1 logique. Au bout dun certain temps, la bascule choisit un niveau et passe 0 ou 1. Cest le temps au bout duquel elle basculera (si elle change dtat) qui est indtermin. Ce qui est sr, cest quil est largement suprieur au temps de propagation de la bascule utilise dans des conditions normales de fonctionnement.

Soit le montage suivant :

entre asynchrone

D H

QA

D H

QB

D H

QC

D H

QD

EN H

compteur 16 bits

horloge

afficheur

1. Expliquer, laide des chronogrammes des diffrentes sorties, comment ce montage permet de quantifier le phnomne de mtastabilit. 2. Le temps moyen entre deux erreurs dacquisition (MTBF) ne peut tre dfini que de manire statistique. MTBF = e K 2 .t avec F2 = frquence dhorloge, F1 = frquence F1 .F2 .K 1

moyenne du signal asynchrone, K1 = constante = 0.1 ns, K2 = constante dpendant de la 116

technologie de la bascule et t = temps de setup effectif. Cette formule nest valable que si les deux frquences sont indpendantes et sans corrlation. On pose F1 = 1 MHz, F2 = 10 MHz et K2 = 19.4 [1/ns]. Calculer le MTBF pour t = 0, 500 ps, 1 ns, 1.5 ns, 2 ns. exercice 2.5 Soit le montage suivant :

J 0 S Q0 H K0 R Q0
1

J1 S Q1 H K1 R Q1

J2 S Q2 H K2 R Q2

J 3 S Q3 H K3 R Q3

H RAZ La RAZ est asynchrone et active au niveau bas. 1. Dessiner le chronogramme des diffrentes sorties du montage en commenant par une RAZ. 2. Quelle est sa fonction ? exercice 2.6 On se propose de synthtiser un dcompteur synchrone modulo 5 (4, 3, 2, 1, 0, 4,...) cod en binaire naturel et ralis avec des bascules JK commandes par les fronts montants de l'horloge H et des portes NAND. On dsignera les sorties des bascules par QA, QB et QC o QA reprsente le bit de poids faible. Le mode de fonctionnement de chaque bascule est J = K. 1. Remplir la table de vrit donnant QA+, QB+ et QC+ en fonction de QA, QB et QC. 2. Donner les tableaux de Karnaugh des fonctions JA, JB et JC sous la forme suivante :

QBQA QC 00 0 1

01

11

10

117

3. Donner les quations logiques simplifies au maximum de JA, JB et JC. 4. En dduire le logigramme du dcompteur. 5. Que se passe-t-il si le dcompteur est initialement charg l'tat 5 ? Faire le graphe des tats.

6. Modifier le schma pour liminer les cycles parasites et les tats bloqus ventuels sans
modifier le cycle principal.

exercice 2.7 On considre le circuit ci-dessous ralis au moyen de bascules JK commandes par le front montant de lhorloge. La sortie est reprsente par la valeur dcimale correspondant au nombre binaire form par les bits A, B et C o A est le bit de poids le plus faible.

J Ck K

J Ck

J Ck

1. Etudier le fonctionnement du circuit. Etablir le graphe des tats stables. 2. Ce systme admet-il un ou plusieurs cycles parasites ? des tats bloqus ? 3. Modifier le schma pour liminer les cycles parasites et les tats bloqus ventuels sans
modifier le cycle principal.

exercice 2.8 On souhaite raliser un compteur 3 bits dont la squence est la suivante : 0, 2, 3, 5, 6, 0, ... laide de bascules T. On dsignera les sorties des bascules par QA, QB et QC o QA reprsente le bit de poids faible. 1. Remplir la table de vrit donnant QA+, QB+ et QC+ en fonction de QA, QB et QC. 2. Donner les tableaux de Karnaugh des fonctions TA, TB et TC sous la forme suivante :

118

QC

QBQA 00 0 1

01

11

10

3. Donner les quations logiques simplifies au maximum de TA, TB et TC. 4. En dduire le logigramme du compteur. 5. Faire le graphe des tats. Ce systme admet-il un ou plusieurs cycles parasites ?

6. Modifier le schma pour connecter ltat 7 ltat 1 puis ltat 3 (713) et ltat 4
ltat 3 (43) sans modifier le cycle principal.

exercice 2.9 1. On considre le montage suivant. Quelle fonction a-t-on ralise ?

SR

D0 H

Q0

D1 H

Q1

D2 H

Q2

D3 H

Q3

2. On considre le montage suivant. Quel fonction a-t-on ralise ?

SL D0 H H Q0 D1 H Q1 D2 H Q2 D3 H Q3

3. On combine les deux fonctions prcdentes selon le schma suivant. Effectuer la synthse dun oprateur M laide de portes standards.

119

SL SR M
S0

D0 H

Q0

M
S0

D1 H

Q1

M
S0

D2 H

Q2

M
S0

D3 H

Q3

4. On dsire ajouter une fonction de chargement du mot form par A, B, C, D en Q0, Q1, Q2,
Q3 selon le schma suivant. Effectuer la synthse dun oprateur M laide de portes standards.
SL SR M
S0S1

D0 H

Q0

M
S0S1

D1 H

Q1

M
S0S1

D2 H

Q2

M
S0S1

D3 H

Q3

H A B C D

5. On dsire ajouter au schma prcdent une fonction de validation EN. Proposer un schma du nouveau montage ainsi que de la fonction M.

Exercice 2.10 On tudie dans cet exercice la ralisation dun compteur binaire ainsi que la meilleure manire d'associer des compteurs binaires en cascade. On nutilisera que des portes combinatoires deux entres et des bascules D. On prendra comme rfrence les circuits SN74LS00 et SN74LS74. 1. Comment ralise-t-on une bascule T partir dune bascule D ? Quelle est sa frquence maximale de fonctionnement ? 2. Comment ralise-t-on un compteur binaire 2 bits partir de bascules T ? Quelle est sa frquence maximale de fonctionnement ? 3. Mme questions pour un compteur 3 bits, 4 bits, N bits. Conclusion. 4. On dsire pouvoir associer en cascade ce compteur (4 bits). Quels types de signaux faut-il lui ajouter pour rendre cette association possible ? Quelle est la frquence maximale de fonctionnement des circuits mis en cascade pour former un compteur 16 bits, 32 bits ?

120

5. On souhaite amliorer la frquence de fonctionnement maximale de ce montage. On va pour cela scinder le signal dentre de validation en deux signaux, EN P (enable parallel) et EN T (enable trickle). Lassociation a maintenant lieu selon le schma suivant :

1 EN P EN T CK
QA QB QC QD

EN P RCO 1 EN T CK
QA QB QC QD

EN P RCO EN T CK
QA QB QC QD

EN P RCO EN T CK
QA QB QC QD

RCO

Proposer un schma permettant de tirer parti des spcificits de la validation et de raliser ce type dassociation. Quelle est la frquence maximale de fonctionnement des circuits mis en cascade pour former un compteur 16 bits, 32 bits ?

Exercice 2.11 Soit le schma interne du compteur SN74LS163.

121

Ce circuit est conu pour pouvoir tre mont en cascade de la manire suivante :

1. Comment ralise-t-on une bascule T partir dune bascule D ? 2. On pose load = 1, clear = 1 et enable P = enable T = 1. Supprimer du schma de la bascule les portes inutiles et analyser le fonctionnement du montage. Pourquoi ne ralise-t-on pas directement des compteurs de grande taille avec cette mthode ? Quelle est alors la solution ? 3. On passe clear 0. Analyser le fonctionnement du montage. La RAZ est-elle synchrone ou asynchrone ? 4. On passe clear 1 et load 0. Analyser le fonctionnement du montage. Le chargement estil synchrone ou asynchrone ? 5. On passe load 1 et enable P et T 0. Analyser le fonctionnement du montage. 6. Supposons que lon nait quun seul signal de validation. Quelle serait la limitation en frquence de lassociation en cascade (sur 16 bits et 32 bits) ? 7. Quel est alors lavantage davoir deux signaux de validation ? Quelle est la limitation en frquence de lassociation en cascade (sur 16 bits et 32 bits) ?

122

3. Elments de technologie des circuits logiques


3.1 Caractristiques lectriques des circuits logiques

Nous allons maintenant tudier les principes de base utiliss pour caractriser lectriquement les circuits logiques. Pour cela, nous allons considrer la zone situe entre une sortie et une entre de porte inverseuse. Zone tudie Entre I (input) 3.1.1 Tensions Nous allons commencer par dfinir un schma quivalent pour la sortie et lentre dun circuit logique pour chaque niveau (les flches dfinissent le sens rel des courants) : Une sortie 1 est un gnrateur de tension. Sa tension vide VOHmax chute au fur et mesure quon le charge. La valeur minimale permise de VOH (VOHmin) est atteinte lorsque la charge est maximale. Cette valeur ne doit pas tre dpasse pour garantir le bon fonctionnement du circuit. On peut dessiner un schma quivalent de Thvenin, dans lequel Eth reprsente VOH vide (ou peu charg), et Rth la rsistance interne. Rth varie un peu en fonction du courant de sortie IOH (Rth est non linaire) aussi ce schma quivalent n'est quune approximation.
1 IOH VOH VIH IIH

Sortie O (output)

Entre I (input)

Sortie O (output)

Rth IOH VOH max VOH

123

Une sortie zro est un rcepteur . La tension ses bornes augmente au fur et mesure quil absorbe du courant. La valeur maximale autorise de VOL (VOLmax) est atteinte lorsque la charge est maximale. Cette valeur ne doit pas tre dpasse pour garantir le bon fonctionnement du circuit. On peut dessiner un schma de Thvenin trs approch (valable en statique et pour des courants peu levs).

0 IOL VOL VIL IIL

Rth IOL VOL min VOL

Les courants d'entre peuvent tre trs diffrents selon le niveau. Un schma quivalent

gnral n'est pas possible. Pour certaines technologies ( base de transistors MOS), les courants d'entre sont nuls en statique. Les courants dentre II sont gnralement entrant au niveau haut et sortant au niveau bas. Ils ont obligatoirement des valeurs plus faibles que les courants de sortie quivalents. Si les tensions d'entre dpassent les valeurs minimales et maximales autorises, les courants dentre peuvent devenir trs levs (du fait des diodes de protection aux entres). Le constructeur garantit les niveaux de tension suivants :
si la tension lentre de la porte est comprise entre VIHmin et VIHmax, la porte voit un

niveau 1.
si la tension lentre de la porte est comprise entre VILmin et VILmax, la porte voit un

niveau 0.

Compte tenu de ces schmas quivalents, les conditions de fonctionnement en tension d'un circuit logique connect sur un autre circuit logique sont reprsentes par le schma suivant :

124

Sortie VOHmax Niveau 1 VOHmin


H

Entre VIHmax Niveau 1 VIHmin


L

VILmax Niveau 0 VILmin

VOLmax Niveau 0 VOLmin

Le niveau de sortie VOHmin est toujours suprieur au niveau dentre VIHmin. Lcart entre ces deux niveaux, H = VOHmin - VIHmin, est appel marge de bruit ltat haut. Cest le niveau de bruit maximal (crte) qui peut exister sur la sortie pour que lentre voie toujours un niveau 1. Le niveau de sortie VOLmax est toujours infrieur au niveau dentre VILmax. Lcart entre ces deux niveaux, L = VILmax - VOLmax, est appel marge de bruit ltat bas. Cest le niveau de bruit maximal (crte) qui peut exister sur la sortie pour que lentre voie toujours un niveau 0. Ce bruit est soit li aux circuits numriques (ou analogiques dans le cas dune carte mixte), soit ramen par lalimentation ou la masse, soit capt par rayonnement.

La zone hachure doit, pour un circuit normal, tre franchie rapidement (ncessit d'un temps de transition minimum), sous peine d'oscillations parasites. VIHmax et VILmin sont des valeurs ne pas trop dpasser sous peine de destruction ou de mauvais fonctionnement du circuit.
3.1.2 Courants

La charge maximale la sortie de la porte, cest--dire le nombre dentres de porte connectes sur cette sortie, doit tre telle que VOH reste suprieure VOHmin. On dfinit de cette manire la sortance qui est, dans le cas le plus dfavorable (niveau haut ou bas selon le cas), le nombre maximum d'entres de circuits pouvant tre mis en sortie d'une porte. Si on
charge plus, le constructeur ne garantit plus 100% le bon fonctionnement avec la

mme immunit aux bruits. Cette garantie est donne dans le cas le plus dfavorable, cest-dire pour une production de cartes logiques en grande srie. Si la valeur de sortance nest pas respecte, la probabilit davoir une panne alatoire sous certaines conditions de tension dalimentation ou de temprature nest plus nulle avec le niveau de bruit indiqu. Plus la charge dpasse ce maximum et plus la probabilit davoir des ennuis augmente. En effet,

125

laugmentation de la charge entrane une diminution de l'immunit aux bruits (VOH diminue et VOL augmente) ainsi quune augmentation de la capacit parasite totale en sortie donc un allongement des temps de transition.

Le mme raisonnement peut aussi tre tenu pour les courants :

IIL

IIH

0 IOL IIL

1 IOH IIH

IIL

IIH

Le courant IOL est gal la somme des IIL des portes connectes et ne doit pas dpasser IOLmax. Le courant IOH est gal la somme des IIH des portes connectes et ne doit pas dpasser IOHmax. Le dpassement des valeurs maximales de courants de sortie correspond au dpassement des valeurs maximales (ou minimales) de VOH. Concernant l'orientation des courants dans les documentations des constructeurs, on peut remarquer que trs souvent, l'entre est en convention rcepteur et la sortie en convention gnrateur, pour les deux niveaux. On peut lire ainsi des valeurs ngatives pour IOL et pour IIL. Le mieux est de connatre physiquement le sens du courant pour ne pas commettre d'erreur.

La sortance (fan out) est calcule en comparant les courants dentre et de sortie des portes au niveau haut et au niveau bas dans le cas le plus dfavorable. Pour certaines familles (TTL notamment), une unit logique dentrance (fan in) a t dfinie (IIH = 40 A, IIL = 1,6 mA). Une entrance de 1 correspond ces courants en entre. Une porte ayant une sortance de 10 peut tre charge par 10 portes ayant une entrance de 1 ou 20 portes ayant une entrance de 0,5. Les constructeurs donnent souvent une sortance de 10 pour des portes de mme famille technologique. Si la sortance dune porte standard est insuffisante pour lapplication, il faut utiliser une porte buffer qui permet dattaquer un nombre de portes beaucoup plus important.

126

3.1.3 Puissance dissipe en fonction de la frquence

La puissance dissipe en fonction de la frquence peut tre spare en deux termes, la puissance statique (en continu ou en basse frquence) et la puissance dynamique (au moment de la commutation). Illustrons ce phnomne sur un exemple. Soit le schma trs simplifi de la sortie dun circuit logique :

VCC IC RC VCC 0 VCE T = 1/f t VCE T1 T0

Nous allons supposer qu ltat 0, le transistor se comporte comme un court-circuit, et qu ltat 1, il soit quivalent un circuit ouvert. La puissance statique dissipe ltat 1 est alors nulle (IC = 0), et la puissance statique dissipe ltat 0 (VCE = 0) vaut PSD0
V = CC . La RC
2

puissance statique dissipe en basse frquence est donc fonction du rapport cyclique du signal de sortie et vaut :
PSD = PSD0 . T0 T

Intressons nous maintenant ce qui se passe au moment de la commutation. Pendant la transition de dure tT, le courant ic et la tension vce sont non-nuls. Lnergie dissipe (surface hachure sur la figure suivante) est gale : w = v ce .i c .dt . En simplifiant dans cet exemple
tT

lallure de vce et ic, on obtient :


V .t V .t w = VCC CC . CC t T R C .t T tT
2 t .V .dt = T CC 6.R C

127

Ce qui nous donne le double sur une priode. La puissance dynamique dissipe est donc gale : PDD = 2.w.f = K.f, cest--dire proportionnelle la frquence.

vce VCC 0 ic VCC/RC 0 PDD=vce.ic t t

0 tT

La conclusion importante de cet exemple simplifi, valable pour tous les circuits logiques, est :

P dissipe = P statique (indpendante de f) + P dynamique (proportionnelle f)

La puissance dissipe est aussi dtermine par la charge connecte sur la sortie du circuit logique. La rsistance dentre dun circuit logique est gnralement trs leve et intervient peu dans les calculs. La charge vue par la sortie est gnralement une capacit qui est la somme des capacits dentres des circuits connects et de la capacit de la liaison entre la sortie et les entres. En simplifiant le problme, on peut dessiner le schma suivant :

128

Rth

Rth

VOH

transition 0 1

transition 1 0

1 Lnergie emmagasine dans C pendant la transition 0 1 est gale w = .CVmax 2 . Elle est 2

aussi gale lnergie restitue pendant la transition 1 0. Donc, sur une priode complte, WC = C.Vmax2. La puissance dissipe pour charger et dcharger C est gale PDDC = C.Vmax2.f. Ce phnomne rajoute un terme en K.f (proportionnel la frquence) la puissance calcule prcdemment et renforce donc limportance de la puissance dynamique.
3.1.4 Ncessit dun dcouplage en logique rapide

Nous allons maintenant tudier quelle est la quantit de courant ncessaire la charge et la dcharge de la capacit prcdente. Nous allons supposer, dans un calcul simplifi, que la charge se fait courant constant avec une tension de la forme :

VS i Vmax 0 tT t VS C

On a i = C.

V dVS , ce qui implique quau moment de la commutation, i = C. max en supposant i tT dt

constant durant la commutation. Par exemple, si C = 50 pF, Vmax = 5V et tT = 10 ns, on obtient i = 25 mA. Ce rsultat doit tre pris comme un ordre de grandeur valable quelle que soit la technologie. La conclusion en tirer est que plus la technologie est rapide, et plus le courant fournir est lev, donc plus la puissance consomme est forte. Dautre part, courant quivalent, plus lexcursion de tension Vmax est leve et plus le temps de transition augmente. 129

Lorsque plusieurs sorties commutent simultanment (SSO : Simultaneously Switching Outputs, cas dun bus de donnes ou dun bus dadresses par exemple), il se produit un pic de courant lev qui doit tre fourni par lalimentation du circuit. Or les liaisons vers VCC et vers la masse dun circuit prsentent des rsistances et des inductances parasites :
VCC iM

iMmax 0 tT r vMmax 0 vM L iM r -vMmax t vM t

M puce

La masse vue par le circuit est le point M et on a v M = r. i M + L.

di M par rapport la masse dt

gnrale de la carte (avec L = L + L et r = r + r). Si on reprend les valeurs de lexemple prcdent avec 10 sorties qui commutent simultanment et r = 0,01 , L = 50 nH, iMmax = 250 mA et tT = 10 ns, on a vMmax = 2,5 V ce qui est largement suffisant pour faire basculer une porte qui devrait rester un niveau constant 0. Le phnomne rel provoque sur la masse une oscillation qui a la forme suivante :

130

On sintresse plus la masse qu VCC, non parce que les marges de bruit au niveau haut sont parfois suprieures aux marges de bruit au niveau bas, mais surtout parce que les potentiels des niveaux dentres et de sorties des circuits sont rfrencs par rapport la masse. Avec les valeurs usuelles de r, seule linductance joue un rle. Elle est due linductance interne du botier et linductance de la liaison entre le botier et la masse gnrale de la carte. On distingue deux effets possibles :
Le pic positif peut poser un problme avec un signal quittant le circuit parasit et allant sur

lentre dune autre porte. Ce pic positif sajoute au niveau bas et, selon sa dure, peut tre interprt comme une impulsion positive.
Le pic ngatif peut poser un problme avec un signal arrivant sur le circuit parasit. Ce pic

ngatif rend la masse du botier ngative et diminue la marge de bruit ltat bas. Si la tension au niveau bas lentre du circuit nest pas assez proche de 0, elle peut tre interprte comme une impulsion positive.

Afin de rduire ce phnomne, il faut respecter les rgles suivantes en logique rapide :
utiliser un circuit imprim avec un plan de masse et un plan dalimentation (si possible)

connects directement aux bornes des circuits intgrs. En labsence de plan de masse, un maillage astucieux des lignes dalimentation et de masse permet de le remplacer. Dans la mesure du possible, laisser le plan de masse intact, une faible modification (range de trous, fente) peut avoir un effet dsastreux.
Dcoupler tous les circuits intgrs rapides avec un ou plusieurs condensateurs placs au

plus prs du botier. Les condensateurs de dcouplage servent de rservoir de courant et fournissent au circuit rapide le pic de courant ncessaire la commutation. La valeur du condensateur na pas tre leve (10 nF suffit) mais il ne faut pas utiliser de condensateurs chimiques cause de leur mauvais comportement en hautes frquences ni de condensateurs ayant une inductance parasite trop leve.
Le choix du type de botier a son importance. En terme dinductance parasite, les botiers

PGA et DIP sont les plus mauvais, les botiers QFP sont les meilleurs et les botiers PLCC

131

se trouvent entre les deux (voir le 3.5 sur les botiers utiliss pour encapsuler les circuits logiques).
Les autres rgles respecter (placement des entres sensibles, rpartition des sorties qui

commutent sur le botier) dpendent du type de circuit. Il faut se reporter aux donnes constructeur.
3.2 Spcifications

En fonction de leur application, les circuits commercialiss ont les plages de fonctionnement en temprature ambiantes suivantes :
gamme commerciale : 0 < T < 85 C ou bien 0 < T < 70 C, gamme industrielle : -40 C < T < +100 C, gamme militaire : -55 C < T < +125 C.

Les gammes militaires sont de moins en moins souvent commercialises. On peut observer sur les feuilles de caractristiques constructeur que les spcifications du circuit sont donnes en valeur minimale (min), typique (typ) et maximale (max). Ces valeurs min, typ et max reprsentent des phnomnes diffrents selon que lon sintresse aux tensions et courants ou aux temps et frquences :
La tension dalimentation du circuit peut varier entre VCCmin et VCCmax. Les valeurs min et

max des tensions et courants dentre et de sortie sont spcifies afin de respecter les niveaux de marge de bruit.
Les temps et les frquences min, typ et max correspondent la dispersion des

caractristiques des composants sur une grande srie. Cette dispersion est fonction de trois facteurs qui sont, par ordre dimportance : 1. Les conditions de fabrication. 2. La temprature de fonctionnement. 3. La valeur de la tension dalimentation.

Lcart entre valeur minimale et valeur maximale peut aller du simple au quadruple. Les temps max sont une garantie de fonctionnement dans le pire des cas. Une carte dveloppe en

132

prenant en compte ces valeurs marchera dans 100% des cas. Si les valeurs typiques sont utilises pour la conception, alors le fonctionnement nest plus garanti. Le paramtre de frquence maximale du circuit, fmax, doit tre pris avec beaucoup de prcaution. Il sagit souvent de la frquence maximale du circuit fonctionnant seul, sans charge. Vous trouverez sur la figure suivante un exemple de temps de propagation normalis pour un circuit CMOS. Vous remarquerez le facteur 4 entre temps min et max ainsi que le facteur 2 entre typique et max.

On peut noter les variations suivantes sur cet exemple (srie commerciale) :

t p T
t p

= 0,35 % par degr ( Vcc = 5 V).


= -2,5 % par 100 mV ( T = 25 ).

VCC

t p fabrication

= 145 % entre minimum et maximum.

Il sagit dun ordre de grandeur tout fait courant.

133

Lappellation du circuit donne un certain nombre de renseignements mais elle varie avec les fabricants de composants. Lexemple suivant est valable uniquement pour les circuits TTL :

SN VV WW XXXX Y
prfixe standard TTL gamme de temprature : 74 : de 0 70 C 54 : de -55 125 C famille : LS : low power Schottky ALS : Advanced LS type de botier : N : dual in line plastique J : dual in line cramique D : small outline fonction

Exemple : un botier SN54LS00N est un circuit combinatoire quadruple NAND deux entres en technologie LS et botier plastique dual in line. Sa gamme de temprature est comprise entre -55 C < T < +125 C.
3.3 Familles de circuits logiques

Quand un concepteur de cartes logiques doit dvelopper un nouveau produit, il est bon quil examine lensemble des circuits commercialiss. Le choix de la technologie adapte au besoin peut savrer prilleuse en raison de la grande diversit des produits existants sur le march. Bien quil y ait beaucoup de familles logiques disponibles, elles peuvent tre approximativement divises en trois catgories : TTL (Transistor-Transistor Logic), CMOS (Complementary Metal-Oxyde Semiconductor logic) et ECL (Emitter-Coupled Logic). La TTL et lECL sont des technologies bipolaires alors que la CMOS est une technologie utilisant des transistors MOS complmentaires.
3.3.1 Technologie TTL

Le terme bipolaire se rfre llment de base utilis qui est le transistor bipolaire. Depuis le circuit originel TTL, de nombreuses amliorations ont t employes en vue notamment de rduire la consommation et daugmenter la vitesse de cette technologie. La srie L (Low power) pour rduire la consommation, la srie S qui utilise des diodes Schottky pour augmenter la vitesse puis enfin la srie LS qui combine les avantages des deux prcdentes. Seule la TTL LS (Low power Schottky) est encore commercialise aujourdhui. Elle a volu avec la srie ALS (Advanced Low power Schottky) et la srie FAST (Advanced Schottky). 134

La vitesse leve de la TTL et la basse consommation de la CMOS ont aussi t combines dans la famille ABT (Advanced BiCMOS) qui utilise la TTL pour les entres-sorties et la CMOS pour lintrieur du circuit. Pour pouvoir tudier le fonctionnement dune porte TTL, il faut dabord voir le fonctionnement du transistor bipolaire en commutation.
3.3.1.1 Le transistor en commutation
VCC IC RC 0,8 vce vs ve 0 t ve [V]

IC

vs [V] saturation VCC linaire blocage linaire blocage

blocage VCE VCEsat VCC

VCEsat

saturation t

Le transistor bipolaire en commutation peut avoir trois modes de fonctionnement : 1. Le rgime de blocage. VBE et IB sont nuls. Le courant collecteur IC est peu diffrent de 0. Le transistor se comporte comme un circuit ouvert (VBE < 0.5, IC = IB = IE = 0). Son schma quivalent est le suivant :
C B E

2. Le rgime linaire ou passant. Cest le mode de fonctionnement en amplificateur dj tudi prcdemment. IC = .IB. VBE 0,5 V.

135

3. Le rgime de saturation. Le courant de base est tel que le courant de collecteur est maximum. 0,5 V < VBE < 0,8 V. VCE = VCEsat = 0,2 V. La saturation commence quand IC devient infrieur .IB. Son schma quivalent est le suivant :
B VBEsat E C VCEsat

Afin danalyser un montage base de transistor bipolaire fonctionnant en rgime bloqusatur, on utilise la mthode suivante :
on fait lhypothse la plus plausible sur ltat des transistors du montage (bloqu, satur ou

passant) compte tenu des tensions et courants estims du montage.


on les remplace dans le montage par leur schma quivalent. on calcule les courants et les tensions dans le circuit. on calcule le VBE, IB et IC pour chaque transistor et on vrifie les hypothses de dpart en

utilisant les proprits de chaque rgime, cest--dire :


Saturation : IC < on.IB. blocage : VBE < 0,5 V ou IB = 0. passant : si on ne se trouve dans aucun des deux cas prcdents.
3.3.1.2 La porte TTL totem pole

Cest la premire structure vraiment efficace utilise en logique TTL standard. Prenons lexemple dune porte NAND deux entres de type SN7400 :
5V 4 k 1,6 k 130

A B

T1

T2

T3 D0 S

1 k

T4

136

Le transistor T1 est un transistor multi-metteur. Ce nest pas vraiment un transistor, mais plutt un aiguilleur de courant dont le schma quivalent est, par exemple pour un multimetteur trois entres :

Le fonctionnement logique est le suivant : pour A et B au niveau 1, T1 aiguille du courant vers T2, T2 et T4 sont saturs. T3 est bloqu. S est au niveau 0 et peut recevoir du courant. pour A ou B au niveau 0, T1 naiguille plus de courant vers T2 mais vers lentre au niveau 0. T2 et T4 sont bloqus. La sortie S est au niveau 1 et peut fournir du courant. Suivant la quantit de courant sortant du montage, T3 est soit passant, soit satur.

Les caractristiques lectriques dentre et de sortie sont les suivantes :

T3 passant

Sortie 1 VOH vide 4 V T3 satur Vseuil VOL vide 0,1 V entre 0,7 V I

Sortie 0

Une entre en lair peut tre considre comme un niveau 1 (le courant nest aiguill vers une entre que si elle est 0). Cela nest vrai que pour la logique TTL. Toutefois, afin dviter des parasites, il est prfrable de ne jamais laisser en lair des entres non-utilises.

137

Il existe une forte dissymtrie des courants dentres au niveau haut et au niveau bas (IIHmax 10 A, IILmax 1 mA). Si on veut imposer un niveau bas lentre dune porte avec une rsistance connecte la masse, il faut tenir compte du courant dentre pour que VILmax ne soit pas dpasse (quelques centaines dOhms en pratique). Daprs les feuilles de caractristiques, on relve pour une SN7400 (VCC = 5 V):

en entre

VIHmin VILmax IIHmax IILmax

= 2V = 0,8 V = 40 A = 1,6 mA

en sortie

VOHmin = 2,4 V VOLmax = 0,4 V IOHmax IOLmax = 0,4 mA = 16 mA

Les immunits au bruit valent donc : H = VOHmin - VIHmin = 0,4 V et L = VILmax - VOLmax = 0,4 V. La sortance ltat haut vaut

I OHmax I = 10 et la sortance ltat bas vaut OLmax = 10. I IHmax I ILmax

La limitation principale en terme de vitesse de cette technologie tient la saturation profonde du transistor de sortie T4. Le temps ncessaire pour dsaturer le transistor est trop important pour atteindre une vitesse leve. Pour viter ce phnomne, on fait appel des transistors sur lesquels sont placs des diodes Schottky (diodes jonction mtal-semiconducteur trs rapides et faible tension de seuil Vd 0,2 V). Ce sont les transistors Schottky .

Vd

VCE VBE

VCE ne peut pas devenir infrieure VBE - Vd 0,5 V, vitant ainsi la saturation. Cela donne la technologie S (pour Schottky) trs rapide mais qui a pour inconvnient une consommation trs leve.

138

3.3.1.3

La porte TTL collecteur ouvert

Il existe une variante de la porte prcdente dite collecteur ouvert . La charge du transistor de sortie ne se trouve plus dans le circuit mais lextrieur, sur la carte.

5V 4 k 1,6 k

A B

T1 1 k

T2 T4

On peut ainsi relier plusieurs sorties pour raliser des fonctions logiques avec une seule rsistance de rappel RC. Par exemple, on ralise la fonction S = A.B.C.D.E = A.B + C + D.E avec le schma suivant :

5V

RC A S B

D E

On ralise de cette manire une fonction ET cble en logique positive (ou bien un OU en logique ngative). On peut aussi utiliser la porte collecteur ouvert pour commander une diode lectroluminescente (LED) ou un relais. Les principaux inconvnients de cette porte sont :
139

la dissymtrie des temps de commutation : la charge tant gnralement capacitive, le front

montant est une charge de condensateur travers RC. Le front descendant est une dcharge travers le transistor de sortie qui absorbe beaucoup plus de courant que ne peut en fournir RC.
S

la consommation de courant est leve au niveau 0 (5 V sur RC).

La valeur de RCmin est dtermine par R Cmin =

VCC VOLmax = 287 . La valeur de RCmax est I OLmax

dtermine par la valeur maximale du front de monte souhait.


3.3.1.4 La porte TTL avec buffer

Pour renforcer la sortance en vue de commander un plus grand nombre de portes, on remplace le transistor T4 de la porte totem pole par un montage Darlington qui augmente la quantit de courant disponible ltat haut. Il existe deux familles de circuits sortance amliore :

Les drivers de ligne. Ils fournissent suffisamment de courant pour pouvoir attaquer une
ligne 50 adapte.

Les buffers. Ils fournissent suffisamment de courant pour pouvoir attaquer plusieurs
dizaines de portes comme par exemple dans le cas dune ligne dhorloge.

5V 4 k 600 100 T3 T3 4 k S 400 T4

A B

T1

T2

140

3.3.1.5
3.3.1.5.1

La porte TTL 3 tats notion de bus


La porte 3 tats

Un signal de commande C est ajout la porte totem pole afin de mettre la sortie S ltat haute impdance (S est en lair). Quand C = 0, les transistors de sortie sont tous bloqus et la sortie est flottante. Quand C = 1, la porte NAND fonctionne normalement. 5V 4 k 600 100 T3 T3 4 k S 400 T4

A B

T1

T2

Logique de contrle

Le schma logique quivalent est le suivant : A S B C B A S

C Quand la sortie S est ltat haute impdance, on dit quelle est ltat Z (ou HiZ).
3.3.1.5.2 notion de bus

Une question fondamentale de llectronique numrique est : comment faire dialoguer plusieurs circuits intgrs numriques entre eux de la manire la plus efficace possible ? Deux solutions sont possibles : la liaison point point ou le bus. 1. La liaison point point. Pour chaque liaison, on tire une paire de fils, un fil qui envoie des donnes, lautre fil qui en reoit. Chaque circuit tant reli indpendamment avec ses voisins, le nombre de fils augmente trs rapidement. Voici un exemple avec 4 circuits.

141

Circuit 1

Circuit 2

Circuit 3

Circuit 4

On peut compter 1 + 2 + 3 = 6 paires de fils pour assurer la liaison point point. Dans le cas gnral, avec N circuits, on a 1 + 2 + 3 + 4 + + N-2 + N-1 liaisons ce qui donne

N2 N paires de fils pour N circuits. On voit que si on veut transmettre 32 bits en mme 2
temps, il faut 32 paires par liaison et le nombre de fils tirer entre les circuits augmente comme 64 x (nombre de circuits)2. Cette solution nest pas valable sauf si on limite le nombre de circuits (5 ou 6 maximum) et le nombre de fils par paire (2 ou 4 au maximum). Mais le dbit devient alors trop faible sauf si on augmente massivement la frquence de transfert. Cest le principe retenu pour PCI-Express (ou 3GIO). La frquence de transfert est gale 2,5 GHz et il y a entre 1 et 16 paires diffrentielles par liaison. Cest un bus
srie point point, la bande passante nest pas partage entre les circuits.

2. Le bus. Dans ce cas, tous les circuits sont branchs simultanment sur le mme fil.

bus Circuit 1 Circuit 2

Circuit 3

Circuit 4

Tous les circuits ont la capacit de gnrer un tat sur le bus ou bien de lire une valeur. Pour que cela soit possible, il faut que chaque broche soit bidirectionnelle, cest--dire quelle fonctionne aussi bien en entre quen sortie. Il faut donc connecter en parallle un buffer dentre avec un buffer de sortie. Si on veut que lentre puisse lire une valeur envoye par un autre circuit, il faut obligatoirement que le buffer de sortie cesse de gnrer un niveau sur le fil. La solution consiste faire passer ce buffer ltat haute impdance.

142

bus Commande trois tats dout din Circuit 1 Circuit 2 Commande trois tats dout din

Commande trois tats dout din

Circuit 3

Circuit 4

Commande trois tats dout din

Quand un circuit veut envoyer un bit sur le bus, les autres circuits doivent mettre leur sortie ltat Z et lire la valeur. Si deux circuits essayent de gnrer un niveau oppos en mme temps, il y a conflit de bus et ltat devient indtermin. Il y a donc forcment un matre de bus (par exemple, un microprocesseur) indiquant qui a le droit de gnrer sur le bus et qui force les autres circuits passer ltat Z. En pratique, un bus est compos de
N fils de mme nature. Un bus dadresses par exemple qui sera unidirectionnel ou encore

un bus de donnes qui sera lui bidirectionnel. Le bus est le principe retenu pour PCI-2.2 (cest le bus PCI traditionnel). Le bus de donnes comprend 32 ou 64 fils et la frquence de transfert est gale 33 ou 66 MHz. Cest un bus parallle, la bande passante est
partage entre les circuits.

La tendance actuelle est de passer du bus parallle partag PCI traditionnel la liaison srie point point. En effet, le seul moyen daugmenter les performances du bus PCI est daccrotre le nombre de fils (passer 128 bits de donnes) ou daugmenter la frquence de transfert, ce qui complique considrablement la fabrication des circuits imprims dans les deux cas. Ces problmes disparaissent avec une liaison srie qui peut monter plus facilement en frquence (jusqu 10 GHz avec une paire de conducteur en cuivre sur un circuit imprim).

3.3.2 Technologies MOS et CMOS


Lavantage principal de la technologie CMOS sur la TTL est sa faible consommation statique et sa plus grande facilit dintgration dans un circuit intgr. Son principal inconvnient son lancement tait sa trs faible vitesse. De plus, sa frquence de fonctionnement est 143

proportionnelle sa tension dalimentation ce qui la pnalisait fortement lors de la conception de cartes alimentes uniquement en 5 V. En effet, les premires familles pouvaient tre alimentes entre 3 V et 18 V et elles taient 3 4 fois plus rapides alimentes en 15 V quen 5 V. Depuis son introduction, cette technologie a subit de nombreuses amliorations et elle est aujourdhui plus rapide que la TTL tout en gardant ses avantages initiaux. Cest pourquoi la
quasi-totalit des circuits intgrs sont dvelopps aujourdhui en logique CMOS (

lexception de certains convertisseurs analogique/numrique et de circuits trs rapides). De la srie classique MG (Metal-Gate CMOS), on est pass la HC (High-speed CMOS) puis la FACT (Advanced CMOS). La plus rcente volution consiste en la diminution de la tension dalimentation. Cest par exemple la srie LVC (Low-Voltage CMOS) qui est prvue pour fonctionner avec une alimentation 3,3 V avec des performances suprieures aux sries prcdentes. Rappelons tout dabord les caractristiques dun transistor MOS.
3.3.2.1 La logique MOS

La structure dun transistor MOS est rappele ici. Nous ne travaillerons dans ce chapitre quavec des MOS enrichissement (canal induit par VGS).
silicium polycristallin ( mtal) SiO2 ( isolant) S canal n G D D ID N N G VGS substrat P S VDS

Ses caractristiques lectriques sont :


ID ID
rsistance variable saturation

VGS croissant

VGS Vp

VDS

144

La zone de saturation pour un transistor MOS quivaut la zone linaire (active) d'un transistor bipolaire, o ID est un gnrateur command en tension. Vp est la tension de pincement. Quand VGS > VP, le courant de drain apparat dans le MOS. Le schma quivalent est donc un gnrateur de courant command par Vgs. La zone de rsistance variable se situe au pied de la caractristique, pour VDS petit. Le schma quivalent est une rsistance variable Ron. On utilise cette zone pour raliser des interrupteurs MOS analogiques. Les transistors MOS canal N sont les plus utiliss car ils commutent plus vite que les canal P. La premire application la plus simple et la plus vidente fut linverseur :
U ID U/R S e D G VGS S ID VDS ID=f(VDS) pour e=0 U S=0 S=1 ID=f(VDS) pour e=1

VDS

Les avantages de cette technologie sont le courant nul en entre et la grande excursion de la tension de sortie (VOH = U, VOL est faible). Les principaux inconvnients sont la prsence encombrante d'une rsistance difficilement intgrable dans un circuit intgr et la consommation statique au niveau bas. Le remplacement de la rsistance par un autre transistor MOS a t la principale volution de la technologie NMOS (technologie du 80286 dINTEL). Toutefois, la technologie CMOS la progressivement supplant et elle nest plus utilise aujourdhui.
3.3.2.2 La logique CMOS

Les deux transistors MOS complmentaires utiliss sont enrichissement. Les courants consomms aux niveaux haut et bas sont nuls. La consommation statique et basse frquence est trs faible ( < au micro ampre). Lexcursion de sortie est maximale (VOH = U, VOL = 0). Les deux transistors ayant le mme IDSS, les temps de commutation de la porte sont identiques pour les deux niveaux. On peut considrer que lentre dune porte CMOS est une capacit pure de lordre de quelques pF. La sortie dune porte ne voit donc quune capacit C reprsentant les capacits dentres des portes connectes plus la capacit de la ligne. Ce phnomne a une importance capitale et reprsente un des intrts majeurs de cette 145

technologie. La vitesse de fonctionnement de la porte CMOS est quasiment dtermine par la valeur de cette capacit. Or, laugmentation de la densit dintgration a pour consquence automatique la diminution de cette capacit de charge. Ainsi donc, de manire quasi mcanique, les performances de la logique CMOS samliorent au fur et mesure de la progression de la technologie de ralisation des circuits intgrs. Aujourdhui, les performances de la CMOS ont dpass celles de la TTL qui a beaucoup moins volu. De plus, lintgration des transistors bipolaires est bien moins facile que lintgration des transistors CMOS, la surface de silicium utilise pour implanter un transistor CMOS tant environ 50 fois plus petite que la surface utilise pour implanter un transistor bipolaire.
ID T1 passant U e=U VGS S s=0 G T2 D T2 bloqu U ID e G VGS D T1 S C s e=0 s=1 T1 bloqu U T2 passant

VDS

VDS

Il faut noter dautre part que la vitesse de commutation est proportionnelle la valeur de la tension dalimentation.
2

En

effet,

le

courant

disponible

maximum

vaut

U 1 et augmente donc proportionnellement U2, tandis que dans la formule I Dmax = I DSS VP

approche des temps de commutation, on a t T

C.U . Comme Imoyen = k.IDmax, tT Imoyen

diminue linairement quand U augmente. Les performances dun circuit CMOS sont donc
proportionnelles U.

146

Nous savons que la puissance dissipe Pd = Po(statique) + k.F. En statique, la consommation Po est nulle (ou presque), donc Pd est proportionnelle F. Quand la frquence augmente, la consommation dun circuit CMOS slve beaucoup plus rapidement que pour un circuit TTL. Ainsi, un circuit CMOS proche de sa frquence limite consomme autant (voir plus) quun circuit TTL-LS. Ce n'est qu'en basses frquences que les consommations sont bien infrieures. Pd TTL LS CMOS
5 W 5 kHz 50 kHz 500 kHz 5 MHz

5 mW

Voici un exemple de fonction logique NAND base de transistors CMOS.


U P P

S= AB A N

Tous les MOS ralisant les fonctions logiques internes ont de faibles IDSS, la sortance est ensuite renforce par des MOS IDSS plus lev pour assurer des commutations rapides sur charges capacitives.
3.3.2.3 Caractristiques lectriques

Tant que les circuits CMOS restent chargs par dautres circuits CMOS, les niveaux hauts et bas restent VCC et 0 (car les courants dentres sont nuls). Les immunits aux bruits sont leves et proportionnelles VCC : H = L = 0,3.Vcc. Il est interdit de laisser des entres en lair en CMOS, sinon le niveau peut prendre nimporte quelle valeur et peut mme provoquer une oscillation en sortie.

147

sortie VOHvide

entre Vcc

1
VIHmin = 0,7Vcc seuil = 0,5Vcc VILmax = 0,3Vcc

0
VOLvide 0

La sortance en CMOS est dtermine par le temps de propagation maximum du circuit et non par le rapport entre le courant de sortie et le courant dentre comme en TTL.

Les constructeurs prconisent une sortance de 10 pour garantir les temps de propagation maximaux fournis. En effet, le temps de propagation du circuit est gal la somme du temps de propagation interne plus le temps de transition en sortie. Or, cest la valeur de la capacit de charge qui dtermine ce temps de transition. Par exemple, pour une capacit d'entre de porte gale 5 pF, un circuit fournissant un courant moyen de 20 mA effectue des transitions de 12 V en 30 ns avec une charge de 10 portes. Le temps de propagation du circuit est donc fix en pratique par la capacit de charge. On peut trouver dans les caractristiques constructeurs les formules du temps de propagation en fonction de la capacit de charge. En basse frquence, on peut souvent aller au-del de la sortance limite 10, en sachant que les fronts vont se dtriorer, ce qui n'est pas forcment gnant pour des circuits combinatoires.

Le mlange de circuits TTL et CMOS sur une carte doit tre effectu avec prcaution. Il y a deux cas (en 5V) :
CMOS TTL. Le constructeur fournit des valeurs maximales conseilles pour IOH et IOL.

On en tient compte pour calculer la sortance sur des circuits TTL. La limitation pour les charges TTL vient du niveau bas. Si on dpasse IOLmax, la valeur VOL risque d'tre trop prs du seuil TTL ( 1,4V).
TTL CMOS. Le VOHvide est trop faible par rapport la tension de seuil CMOS. La

marge de bruit est alors diminue surtout sil y a des portes TTL parmi les portes CMOS. Il faut ajouter une rsistance de pullup de 10 k sur la sortie TTL pour remonter le niveau haut.

148

3.3.2.4

Tension dalimentation et puissance

Trois facteurs sont essentiels en technologie CMOS : la longueur du canal du transistor MOS, la tension dalimentation du circuit et sa puissance dissipe maximale. La longueur du canal est passe de 10 m dans les annes 70 0.5 m vers 1995. Jusqu' cette date, la tension dalimentation est reste fixe 5 V en rgle gnrale (sauf pour des sries spciales basse consommation). En dessous de 0.5 m, le transistor MOS est incapable de supporter 5 V entre drain et source : il est donc obligatoire de baisser la tension dalimentation (mme sans tenir compte des problmes de puissances dissipes). La figure suivante indique lvolution de la tension dalimentation en fonction de la longueur du canal :

Cette chute de la tension dalimentation a pour consquence une rduction notable de la consommation du circuit (qui est proportionnelle Vcc2), ce qui est plutt une bonne chose comme nous allons le voir. Elle a aussi pour consquence une baisse des performances car la frquence de fonctionnement dun circuit CMOS est proportionnelle Vcc. Malgr cela, la diminution de la longueur de canal augmente les performances du circuit (mais moins que si la tension dalimentation restait la mme). Le tableau suivant indique (en frquence normalise) la vitesse de fonctionnement dans 4 configurations :

149

0.5 m 5V 3.3 V 1 0.66

0.35 m 2 (en thorie) 1.3

On voit quen passant de 0.5 m (5 V) 0.35 m (3.3 V), on gagne 30 % en vitesse et on diminue de 60 % la consommation. Il y a un deuxime problme important prendre en compte en dessous (environ) de 0.5 m. La puissance maximale dissipe par le circuit intgr peut tre suprieure celle dissipe par son botier. On peut donc russir dtruire un circuit en fonctionnement normal pour la simple raison quil fonctionne trop rapidement. La figure suivante en est une illustration. On a pris un circuit logique programmable (XC4036EX de chez Xilinx) que lon a entirement rempli soit de compteur 8 bits, soit de compteurs 16 bits. Les traits en pointills reprsentent la puissance maximale dissipe pour trois types de botiers.

On voit nettement quau-del dune certaine frquence de fonctionnement (25 40 MHz en 8 bits), il est ncessaire dutiliser un radiateur et/ou une ventilation pour augmenter la puissance dissipe par le botier sous peine de destruction du circuit intgr. Ce phnomne est bien connu dans le domaine des microprocesseurs avec lapparition dun ventilateur intgr dans le radiateur des Pentium dIntel par exemple. 150

3.3.3 Technologie ECL


La logique ECL doit son nom sa structure base damplificateur diffrentiel. Les transistors bipolaires qui la composent restent constamment en rgime linaire (ni saturs, ni bloqus). Cest une logique transistors non-saturs. Cest aujourdhui encore la technologie la plus rapide au prix dune consommation trs leve. Elle ncessite par ailleurs une alimentation ngative. Cette technologie a elle aussi bien volu depuis la srie 100K des dbuts (1975), la srie 10KH (1981) jusqu' la srie rcente srie E-lite. Il faut toutefois signaler que la mise au point dune carte en technologie ECL est beaucoup plus dlicate quen TTL ou en CMOS.

A+B
B A
Vref = -1,15 V

A+B

niveau 1 = - 0,75 V niveau 0 = - 1,55 V VEE= -5,2 V

Cette technologie est encore utilise aujourdhui pour les circuits logiques trs rapides et notamment base dArsniure de Gallium dans le domaine militaire.

3.3.4 Comparaison des technologies


Le tableau comparatif suivant essaye de synthtiser les caractristiques typiques de ces diffrentes familles de circuits partir des feuilles de caractristiques constructeurs (data sheet). Les comparaisons sont difficiles effectuer car ces caractristiques ne sont pas mesures dans les mmes conditions. Il faut utiliser ce tableau pour comparer les caractristiques gnrales de chaque famille et se reporter aux data sheet correspondantes pour tudier plus en dtail les spcifications min/max qui sont plus proches de lutilisation relle du composant. Les paramtres utiliss dans ce tableau sont les suivants : Vitesse Temps de propagation Frquence maximale Temps de transition tPLH dans une porte OU de type 74LS32. Toggle Rate dune bascule D de type 74LS74. tTLH la sortie dune des deux portes prcdentes.

151

Consommation : la consommation est donne au repos ou une frquence de fonctionnement de 1 MHz. Tension dalimentation : ce sont les valeurs min et max de la tension dalimentation. Courant de sortie : il sagit du courant de sortie max ltat bas. Marge de bruit : la marge de bruit est traditionnellement exprime en pourcentage de lexcursion typique de la tension de sortie. Botiers : ce tableau concerne des circuits intgrs ayant un faible nombre de broches (catalogue MSI/LSI). Fonctions dans la famille : il sagit du nombre de fonctions diffrentes commercialises dans la famille. Cot : le prix relatif par porte en prenant comme rfrence la technologie ALS.

La signification des diffrents sigles utiliss est la suivante :

LS ALS ABT FAST MG HC FACT LVC 10KH E-lite

Motorola Low power Schottky TTL Texas Instrument Advanced Low power Schottky TTL Philips Advanced BiCMOS Technology Motorola Advanced Schottky TTL Motorola 14000 Series Metal Gate CMOS Motorola High-Speed Silicon Gate CMOS Motorola Advanced CMOS Philips Low-Voltage CMOS Motorola 10KH Series ECL Motorola (ECLinPS Lite) Advanced ECL

152

Tableau comparatif des familles logiques


Paramtres commerciaux typiques 25 C vitesse temps de propagation [ns] frquence maximal [MHz] temps de transition [ns] consommation par porte statique [mW] 1 MHz [mW] tension d'alimentation [V] courant de sortie [mA] marge de bruit tat haut [%] tat bas [%] botiers DIP SO LCC fonctions dans la famille prix relatif par porte oui oui non 190 0,9 oui oui oui 210 1 oui oui non 50 1,6 oui oui oui 110 1 oui oui non 125 0,9 oui oui non 103 0,9 oui oui oui 80 1,4 non oui non 35 1,8 oui non oui 64 2 non oui non 40 32 22 10 22 10 22 10 22 10 30 30 30 30 30 30 30 30 30 30 33 33 5 5 4,75 5,25 8 2,5 2,5 0,005 1 12,5 12,5 0,0006 0,4 3 18 1 0,001 0,6 26 4 0,003 0,8 26 24 0,0001 0,6 1,2 3,6 24 25 25 -4,5 -5,5 charge 50 73 73 -4,5 -5,5 charge 50 14 33 6 9 45 4 2,3 250 2,5 4 125 4 160 4 100 10 40 7 6 160 3 3,3 200 3,5 1 330 1 0,25 2800 0,25 LS TTL/ABT ALS ABT FAST MG (Vcc=5V) HC familles logiques CMOS FACT LVC
1

ECL
(Vcc=3,3V)

10KH

E-lite

4,5 5,5 4,5 5,5 4,5 5,5 8 20 20

1. accepte les niveaux TTL en entre.

153

3.4

Ralisation des circuits imprims

Le choix des botiers de circuits intgrs est intimement li la ralisation du circuit imprim. Il conditionne le cot de la carte et donc la rentabilit conomique du produit. La ralisation de circuits imprims (prototype ou grande srie) est un mtier part entire qui englobe des disciplines telles que llectronique et la chimie mais aussi la mcanique et la logistique. Il nest pas question de faire ici un cours sur ce sujet, mais de donner ltudiant des notions de bases. La technologie traditionnelle des composants traversant le circuit imprim (composants piquer) tait, au dbut des annes 1980, la seule solution utilise hors du Japon. A cette poque, elle atteint ses limites avec des botiers ayant 68 broches. La technologie des composants monts en surface CMS (ou SMT en anglais) simposa alors grce ses nombreux avantages : densit dintgration sur la carte plus leve, possibilit de souder des composant des deux ct de la carte, poids rduit, meilleure possibilit dautomatisation des chanes de production, donc baisse des cots (environ 30 % avec un cot salarial occidental), rduction de la longueur des broches du botier et donc des lments parasites, meilleure fiabilit.

La photo suivante illustre bien la diffrence entre deux botiers 28 broches :

154

3.4.1 Circuits imprims traditionnels


Le circuit imprim est compos dun mlange de rsine poxy et de feuilles de cuivre. Les broches des composants piquer traversent la carte grce des trous mtalliss. Il peut y avoir des pistes en cuivre sur chaque face du circuit imprim (on parle alors de circuit double face trous mtalliss) mais aussi plusieurs couches de pistes prises en sandwich lintrieur du circuit imprim (on parle alors de circuits multicouches).

Une fois le circuit imprim ralis, les tapes suivantes sont ncessaires afin de raliser la carte lectronique : linsertion des composants : cest une tape difficilement automatisable, aussi est-elle souvent ralise la main. la soudure la vague : une vague de soudure en fusion vient lcher le cot du circuit sans composant. La soudure se dpose dans les trous mtalliss et remonte vers lautre face du circuit par capillarit. La vague peut se dplacer dans un seul sens (soudure simple vague) ou effectuer un aller retour (soudure double vague).

soudure en fusion

le nettoyage : le circuit est ensuite nettoy avec un solvant spcial que lon appelle du flux. le test : les liaisons entre les composants et les fonctions lectroniques sont ensuite testes pour vrifier le bon fonctionnement de la carte.

155

3.4.2 Circuits imprims avec montage en surface


Le circuit imprim a la mme composition quau chapitre prcdent, mais il ny a pas de trous mtalliss.

empreinte

crme braser

Aprs ralisation du circuit imprim, les tapes suivantes sont ncessaires la fabrication de la carte lectronique : lapplication de la crme braser : cest un mlange de soudure, de flux et dadhsif. Cette crme doit tre applique en petite quantit sur chacun des lments de lempreinte du CMS qui doit donc tre connue de la machine qui ralise cette opration. Labsence de normalisation des botiers CMS complique singulirement cette phase, chaque fabricant de composants ayant ses propres empreintes ainsi que ses propres tolrances.

Le choix de la crme braser et de la proportion des lments qui la compose est aussi dlicate. En effet, elle sert non seulement souder le composant, mais aussi le maintenir coll sur la carte pendant le processus de fabrication. le placement des composants : les petits botiers CMS sont livrs en bandes et les gros botiers CMS sont livrs en plateaux, ce qui facilite lautomatisation de cette tape.

156

la refusion : la carte est chauffe afin de raliser la fusion de la crme qui se trouve entre le composant et le circuit imprim. Cette opration est effectue dans une tuve grce un systme de soudure en phase vapeur ou bien un systme infrarouge ou encore un systme hot bar . si des composants sont souds des deux cots de la carte, il faut ajouter les tapes suivantes : le retournement de la carte. le placement des composants. la refusion (on parle alors de double refusion). le nettoyage de la carte avec du flux. le test. Il est parfois ncessaire de raliser des cartes mlangeant les CMS et les composants piquer car tous les botiers nexistent pas en CMS. Il faut alors effectuer les deux phases de fabrication la suite, le soudage des CMS venant en premier. Il est dconseill que la carte ait des composants actifs sur ses deux faces. La face qui sera au contact avec la vague de soudure peut toutefois comporter des composants CMS passifs. On vite gnralement ce mlange de technologie car le surcot d aux deux phases de fabrication est trop lev. Il est noter que sous certaines conditions, il est possible de souder des botiers traversant avec de la crme braser par refusion (opration dite pin in past ) afin dliminer ce surcot.
3.5 Le choix des botiers

3.5.1 Caractrisation dun botier


Sous ses apparences simples, le botier encapsulant la puce du circuit intgr possde des caractristiques capitales pour le bon fonctionnement de la carte, mais aussi pour la rentabilit du produit : le nombre de broches rapport la surface occupe. la hauteur. les capacits vacuer la puissance dissipe par la puce. On parle de dissipation thermique. Les botiers cramiques (srie militaire) sont progressivement abandonns au profit des botiers plastiques (srie industrielle ou commerciale). aptitude lautomatisation de la ralisation du circuit imprim. caractristiques lectriques. 157

Les dimensions essentielles dun botier sont la hauteur, la largeur, la longueur et le pas entre les broches (le pitch en anglais). Ces dimensions sont exprimes soit en millimes de pouce (un mil = 0,0254 mm) soit en millimtres, ce qui ne simplifie pas les comparaisons ainsi que les conversions.

3.5.2 Les diffrents types de botiers


3.5.2.1 Les botiers deux ranges de broches disposes aux extrmits

famille DIP (Dual In-line Package) de 8 64 broches botier aspect dimensions application

DIP

pitch = 100 mil hauteur = 130 170 mil

circuits standards

SHRINK DIP

pitch = 70 mil hauteur = 130 170 mil

circuits standards

pitch = 100 mil SKINNY DIP hauteur = 130 170 mil largeur divise par 2 circuits standards

158

windowed CERDIP botier cramique avec fentre en mica pitch = 100 mil hauteur = 100 170 mil mmoire PROM effaable aux UV

famille SOP (Small Outline Package) de 20 64 broches botier aspect dimensions application

SOIC

pitch = 50 mil hauteur = 100 120 mil

circuits standards

SOJ

pitch = 50 mil hauteur = 110 mil

circuits standards

SSOP

pitch = 0,65 mm (26 mil) hauteur = 1,9 mm (75 mil)

circuits standards

159

TSOP

pitch = 0,5 mm (20 mil) hauteur = 1,2 mm (47 mil)

mmoires

TSSOP

pitch = 0,65 mm (26 mil) hauteur = 1,2 mm (47 mil)

circuits standards

3.5.2.2 extrmits

Les botiers quatre ranges de broches disposes aux

famille PLCC (Plastic Leaded Chip Carrier) de 20 84 broches botier aspect dimensions application

PLCC

pitch = 50 mil hauteur = 68 150 mil

circuits standards

windowed CERQUAD, botier LCC cramique avec fentre en mica pitch = 50 mil hauteur = 150 190 mil

Circuits logiques programmables effaable aux UV

160

famille QFP (Quad FlatPack) de 44 304 (ou plus) broches botier aspect dimensions application

QFP

pitch = de 0,8 0,5 mm (20 mil) hauteur = 130 170 mil

circuits spcifiques, circuits priphriques microprocesseurs

TQFP

pitch = 26 mil hauteur = 67 mil

ASIC, priphriques microprocesseurs

3.5.2.3

Les botiers ayant leurs broches disposes en dessous

famille PGA (Pin Grid Array) de 68 499 (ou plus) broches botier aspect dimensions application

PGA

pitch = 100 mil hauteur = 120 mil

microprocesseurs, circuits spcifiques

(vue de dessous)

161

famille BGA (Ball Grid Array) de 196 432 (ou plus) broches botier aspect dimensions application

BGA

pitch = 50 mil hauteur = 50 80 mil (vue de dessous) (vue de cot)

microprocesseurs, circuits spcifiques

3.5.3 Lvolution des botiers


L'volution des botiers de circuits intgrs (package en anglais) est marque par deux grandes tendances : laugmentation du nombre de broches, en particulier pour les microprocesseurs et les circuits spcifiques (Asic en anglais) complexes, et la rduction des dimensions de tous les botiers. Ainsi, le pas entre broches ou pitch est pass des 100 mil typiques 50 mil, voire 20 mil pour les produits de pointe. La varit des technologies en prsence s'tend chaque jour comme le montre la figure suivante (source National Semiconductor) :

162

Les botiers DIP (Dual-in-line package) traditionnels qui ont domin les annes 80 ne reprsentaient plus que 65 % du march en 1990.

Les nombreuses variantes du botier DIP de base comprennent le botier SIP (Single-in-line package), le module SIMM (single-in-line memory modules) pour composants mmoires, ou le SDIP (Schrink DIP). Elles autorisent une diminution de la surface occupe sur le circuit imprim. Mais le DIP est limit en pratique 64 broches, en raison de la disposition priphrique de ses broches. Pour les circuits grand nombre de broches tels que les microprocesseurs et les Asic complexes, les botiers Fakir ou PGA (Pin grid array) se sont donc imposs au cours des annes 80. Caractriss par la disposition surfacique de leurs broches sur le fond du botier, ils sont toujours destins un montage en trous traversants et se trouvent aujourd'hui en concurrence avec les botiers denses broches en ailes de mouette pour montage en surface.

Un nouveau saut technologique est en effet intervenu entre-temps avec la gnralisation de ces botiers montage en surface (CMS ou SMT selon que l'on affectionne les sigles franais ou amricains). Connue depuis plus de trente ans, cette technologie n'tait jusqu'alors mise en uvre que par des fabricants japonais. Le premier botier montage en surface fut le botier SO ou SOP (Small outline package) qui, avec un pas de 50 mil, a divis par deux la surface occupe sur la carte par rapport au DIP traditionnel. Ses volutions sont le SSOP (Shrink SOP) pas de 25,6 mil (0,65 mm), le QSOP (Quarter sized outline package), qui est un SSOP pas de 25 mil (0,635 mm), le TSSOP (Thin shrink SOP) pas de 25,6 mil ou 20 mil (0,50 mm), ddis aux cartes faible hauteur telles que celles employes dans les produits standards PCMCIA. Tous ces botiers, nombre modr de broches comme le DIP d'origine, sont ddis aux mmoires, aux fonctions logiques et aux fonctions d'interface de bus.

La seconde gnration de botiers CMS, apparue dans les annes 80 pour les besoins des circuits nombre de broches levs, comprend le PLCC (Plastic leaded chip carrier) ou botier porteur de puces, et le QFP (Quad flat pack), caractris par un pas moyen de 0,50 mm (20 mil) et par des versions fine pitch de moins de 0,50 mm. Parmi les nombreuses variantes du QFP, on trouve le SQFP (Small quad flat pack), adapt aux problmes de consommation grce son dissipateur thermique intgr, le RQFP radiateur intgr, le TQFP (Thin quad flat pack) de faible hauteur...

163

Pour leur part, les annes 90 furent caractrises par l'apparition du botier BGA (Ball grid array), dont les contacts sont disposs en surface comme les PGA mais constitus de billes de soudures. Adopte par des fabricants de semi-conducteurs comme IBM, Motorola, Matsushita ou VLSI Technology entre autres, cette technologie existe en trois versions : en cramique (CBGA), en plastique (PBGA) et sur bande (TBGA). Son usage sest gnralis malgr des problmes de testabilit et de rparabilit qui se sont longtemps poss aux fabricants. Aujourd'hui, le BGA a son rle jouer car, selon VLSI, il offre jusqu' deux fois plus de connexions par unit de surface de circuit imprim que le QFP et son cot par broche est beaucoup plus faible que celui des PGA.

En consquence, pour les circuits grand nombre de broches, le concepteur se trouve en prsence de trois grandes familles de botiers : les PGA en technologie traversante, les QFP montage en surface et brochage priphrique, et les BGA. Le choix du botier a des rpercussions sur les performances des circuits, notamment en technologie haute vitesse : ainsi, avec les PGA et les BGA, les diffrences de longueurs de pistes entre les plots d'E/S de la puce et les contacts sur le circuit imprim peuvent varier de manire significative d'une broche l'autre, posant des problmes de dcalage de signaux (skew) haute vitesse. Avec les QFP, ce problme est moins critique mais il faut accorder plus d'importance l'impact de l'inductance des broches sur l'intgrit du signal.

Mais le choix du botier a aussi des rpercussions sur la fabrication du circuit imprim. En augmentant le nombre de broches et en diminuant les pas, on diminue inexorablement la largeur des pistes autorisant une densit d'interconnexion donne (exprime en nombre de pistes autorises entre pastilles). Cette largeur de piste est un facteur dterminant pour le cot du circuit imprim. Pour un circuit grand public ou toute application hautes performances sensible aux cots, le cahier des charges imposera communment une densit minimale de 5 pistes entre pastilles, tout en recommandant d'viter de descendre en dessous d'une largeur de piste de 0,15 mm. Cela devient impossible avec les botiers de plus de 400 broches, qu'ils soient technologie traversante ou CMS. Le concepteur peut choisir, pour rester dans une largeur de piste raisonnable, d'augmenter le nombre de couches signal du circuit imprim, mais ceci se rpercute alors sur la complexit, le poids et le prix du circuit. Les botiers de

164

type BGA sont thoriquement mme doffrir une solution viable ce problme. Le tableau suivant donne quelques valeurs concernant ces trois types de botiers :

QFP Nombre de broches Pas [mm] Ct du Surface botier [mm] [mm ]


2

PGA Pas [mm] Ct du Surface botier [mm] [mm ]


2

BGA Pas [mm] Ct du Surface botier [mm] [mm2]

100 225 400 625 900

0,50 0,50 0,50 0,50 0,50

17 32 54 82 117

272 1032 2916 6745 13572

2,54 2,54 2,54 2,54 2,54

29 42 55 68 80

864 1772 3003 4556 6432

1,52 1,52 1,52 1,52 1,52

19 27 34 42 49

361 702 1156 1722 2401

3.5.4 Prcautions prendre


Il ne faut pas oublier les prcautions prendre pour manipuler et souder les composants CMOS afin dviter leur destruction par dcharge lectrostatique ( ESD ) : Il ne faut pas toucher les broches des composants sans tre reli la terre par le biais dun bracelet antistatique. Les composants doivent se trouver dans un sac ou dans un tui antistatique pendant les manipulations et le stockage. Il faut utiliser un tabli antistatique reli la terre (ou au moins un bracelet) pour intervenir sur une carte.

165

3.6

Exercices

exercice 3.1 Soit le circuit NAND SN74LS00 (voir les caractristiques en annexe). 1. Indiquer sur le schma de la porte le sens des 4 courants dfinis dans le cours. 2. Pourquoi VOHmin est-il toujours suprieur VIHmin et VOLmax est-il toujours infrieur VIlmax ? 3. Donner la dfinition des marges de bruit l'tat haut et l'tat bas et calculer ces valeurs. 4. Combien d'entres de porte SN74LS00 peut-on connecter la sortie d'une porte de mme type ?

exercice 3.2 Reprenons la caractristique de la page 133. 1. Retrouver les valeurs des trois variations

t p

T VCC

t p

t p fabrication

2. Vrifier lcart entre dlai minimum et dlai maximum.

exercice 3.3 La charge vue par une sortie en logique CMOS est quivalente un condensateur. Nous allons calculer le courant ncessaire pour charger ce condensateur laide du modle simplifi suivant :

VS Vmax Is 0 IS Imax 0 t tT t VS C

On a Vmax = 4 V et C = 100 pF et on veut que tT = 5 ns. 1. Calculer la valeur Imax du courant de sortie Is. 2. Que se passe-t-il si le courant de sortie Is est limit 20 mA ? 3. Calculer la variation du courant dalimentation lorsque 32 sorties du circuit changent dtat simultanment. 166

exercice 3.4 La figure suivante reprsente, de manire simplifie la ligne dalimentation dun circuit intgr.

VCC

iM A puce M

iMmax 0 tT t

vM

iM r

On suppose la variation maximale de courant dalimentation gale 2,5 A pendant une dure de 5 ns, avec r = 0,01 et L = 2 nH. 1. Dterminer lallure de VM au moment de la commutation. 2. Quelle est linfluence de la variation de VM sur une entre du circuit ? 3. Quelle est linfluence de la variation de VM sur une sortie du circuit ? 4. Pourquoi nest-il pas ncessaire de soccuper de la variation de VA ?

exercice 3.5 Nous allons calculer la valeur du condensateur ncessaire pour dcoupler un circuit intgr. Ce condensateur, faiblement selfique, est plac au plus prs du circuit afin de fournir le courant dalimentation ncessaire pendant les commutations. On va pour ce calcul utiliser le modle simplifi suivant :

167

VC 5V 0 IC ICmax 0 t tT VC V t IC C ICmax

On suppose quau moment de la commutation, le condensateur de dcouplage C est dcharg par un courant constant de valeur 2,5 A pendant une dure de 5 ns. 1. On prend C = 10 nF. Calculer la valeur de la chute de tension V aux bornes de C la fin de la commutation. 2. La tension dalimentation doit rester comprise entre 4,75 V et 5,25 V (srie commerciale). Quelle valeur de condensateur de dcouplage faut-il alors choisir ?

exercice 3.6 Soit la porte TTL totem-pole suivante :

5V 4 k 2 k 130

A B

T1

T2

T3 D0 S

1 k

T4

1. Expliquer, sans faire de calculs, le fonctionnement du montage. 2. Les entres A et B sont 0. Calculer les tensions et courants du montage et dterminer lexpression de VS en fonction du courant de sortie du montage. 3. Les deux entres A et B sont 1. Calculer les tensions et courants du montage et dterminer lexpression de VS en fonction du courant de sortie du montage.

168

4. Quel est le rle des diodes lentre du montage ? 5. Comparer les caractristiques lectriques obtenues celles du circuit SN74LS00 donnes en annexe.

exercice 3.7 Soit la porte TTL collecteur ouvert suivante : 5V 4 k 2 k

A B

T1

T2 T3 1 k

1. Expliquer, sans faire de calculs, le fonctionnement du montage. 2. Les entres A et B sont 0. Calculer les tensions et courants du montage. 3. Les deux entres A et B sont 1. Calculer les tensions et courants du montage et dterminer lexpression de VS en fonction du courant de sortie du montage. 4. Calculer les valeurs minimales et maximales de la rsistance de collecteur extrieure Rc en tenant compte des courants maximums possibles du montage. 5. Comparer les caractristiques lectriques obtenues celles du circuit SN74LS00 donnes en annexe. 6. On dsire commander une diode lectroluminescente avec cette porte. Proposer un montage.

exercice 3.8 Soit la porte TTL trois tats suivante :

169

5V 4 k 2 k 130 T41 T42 2 k S 1 k T3

A B 5V 4 k 2 k

T1 D1 130

T2

T1 T2 D0

T4 C T3 1 k

1. Expliquer, sans faire de calculs, le fonctionnement du montage. 2. Lentre C est au niveau bas. Calculer les tensions et courants du montage form par les transistors T1, T2, T3 et T4 et dterminer lexpression de C en fonction du courant de sortie. 3. Les entres A et B sont 1. Calculer les tensions et courants du montage et dterminer lexpression de VS en fonction du courant de sortie du montage. 4. Lentre A passe 0. Calculer les tensions et courants du montage et dterminer lexpression de VS en fonction du courant de sortie du montage. 5. Lentre C passe au niveau haut. Montrer que la sortie S passe en haute impdance. 6. Comparer les caractristiques lectriques obtenues celles du circuit SN74LS00 donnes en annexe.

exercice 3.9 Soit le circuit suivant :

170

VDD Disable T1

T2 Input T3 Disable T4 Output

1. Expliquer le fonctionnement du montage transistor par transistor. 2. Remplir la table de vrit suivante (X tat indiffrent) :

Input 1 0 X exercice 3.10 Soit le circuit suivant :

Disable 0 0 1

Output

VDD
T2 T1 T3

S E1 E2 E3
T4

T5

T6

1. Expliquer le fonctionnement du montage transistor par transistor et donner sa table de vrit. 2. En dduire la fonction logique ralise.

171

exercice 3.11 Soit le schma de la porte de transmission CMOS suivant :

G2= G1 T1 E
VDD

S T2

G1

1. Expliquer le fonctionnement du montage transistor par transistor. 2. Remplir la table de vrit suivante :

G1 1 1 0 0

E 0 1 0 1

3. En dduire le fonctionnement du circuit suivant :

VDD

VDD A
VDD

Input

exercice 3.12 Soit le circuit suivant :

172

VDD T1 A T2 T3 B T T' Output

1. Expliquer le fonctionnement du montage transistor par transistor. 2. Remplir la table de vrit suivante :

B 0 0 1 1

A 0 1 0 1

Output

exercice 3.13 Soit le circuit NAND MC14011B aliment en 5 V (voir les caractristiques en annexe). 1. Indiquer sur le schma de la porte le sens des 4 courants du tableau. 2. Pourquoi VOHmin est-il toujours suprieur VIHmin et VOLmax est-il toujours infrieur VILmax ? 3. Donner la dfinition des marges de bruit l'tat haut et l'tat bas et calculer ces valeurs. 4. Combien d'entres de porte MC14011B peut-on connecter la sortie d'une porte de mme type ? 5. Complter le chronogramme suivant avec, connecte la sortie de la porte, une charge capacitive de 10 pF, 50 pF et 100 pF.

173

E1 [V]

2,5

500 E2 [V]

t [ns]

2,5

500 S [V]

t [ns]

500

t [ns]

exercice 3.14 Soit le montage suivant (aliment en 5 V) compos dune bascule D (MC14013B) et dune porte AND (MC14081B).

1 SD T D Q

CP CD 1 174

1. Dessiner le chronogramme en sortie de la bascule. 2. Rappeler la dfinition et donner la valeur des temps de setup, de hold et de propagation des circuits composant le montage. 3. Quelle est la frquence maximale (dans le pire des cas) de fonctionnement de ce montage ? 4. On a maintenant VCC = 15 V. Quelle est la frquence maximale (dans le pire des cas) de fonctionnement du montage ? 5. On revient VCC = 5 V. On connecte entre la sortie Q de la bascule D et la masse un condensateur C. Quelle est la frquence maximale (dans le pire des cas) de fonctionnement du montage avec C = 50 pF et C = 100 pF ?

exercice 3.15 La loi dOhm thermique sapplique dans le cas des circuits intgrs numriques. Elle est dfinie par TJ - TA = Rthj-a.Pd avec TJ la temprature de jonction, TA la temprature ambiante, Rthj-a la rsistance thermique totale jonction ambiance et Pd la puissance dissipe. Les donnes suivantes sont issues du data book Xilinx et donnent un exemple des caractristiques thermiques dun composant numrique : Tjmax = 125 C (botier plastique) ou 150 C (botier cramique), 0 < TJ < 85 C pour une srie commerciale, quand TJ > 85 C, les temps de propagation garantis par le constructeur augmentent de 0,35 % par degr supplmentaire jusqu' Tjmax, temprature de stockage : -65 C < TA < +150 C, temprature de soudage : 260 C pendant 10 secondes une distance de 1,5 mm. Le tableau suivant donne des valeurs de rsistance thermique totale (en C/W) typiques pour diffrents types de botiers avec ou sans ventilation :

Botier BG225 PG223 HQ240 PQ240 PC84

sans ventilation 30 20 12 23 33

ventilation 1,3 m/s 19 15 9 17 25

ventilation 2,5 m/s 17 12 7 15 21

ventilation 3,8 m/s 16 11 6 14 17

175

1. Tracer la courbe de puissance dissipe maximale en fonction de la temprature ambiante permettant dobtenir les caractristiques nominales du circuit pour un botier PLCC avec ventilation 1,3 m/s. Quelle puissance maximale peut-on dissiper la temprature de 25 C ? 2. Mmes questions concernant un circuit fonctionnant en mode dgrad (temprature de jonction maximale).

176

4. Les mmoires
Ce paragraphe va traiter des mmoires semi-conducteurs utilises principalement en tant que mmoires de stockage de type informatique ou plus rarement pour raliser des fonctions logiques. Les circuits se trouvant lorigine dans le TTL data book sont maintenant devenus obsoltes. A lexception de quelques PROM bipolaire fusibles, toutes les mmoires sont ralises en technologie CMOS. 4.1 Gnralits

4.1.1 Classification Les mmoires servent stocker de linformation numrique sous forme de bits (Binary digIT) pendant une certaine dure. Cette information peut tre stocke sous forme de champs magntiques rmanents (comme dans un disque dur par exemple), sous forme de modifications des proprits optiques dun matriau (comme dans un CD-ROM), sous forme dune combinaison des deux effets prcdents (comme dans un disque magnto-optique) ou bien enfin sous forme de tensions et de courants dans un semi-conducteur. Ce dernier type de mmoire fait lobjet de ce paragraphe. Lorganigramme suivant montre diffrentes mmoires existant ce jour :
mmoire

semi-conducteur

magntique

optique

volatile

non volatile

SRAM DRAM DPRAM FIFO

NVRAM FRAM

ROM PROM EPROM EEPROM Flash

disque dur disquette bande

disque magntooptique

CD-ROM DVD

Il existe deux familles de mmoires semi-conducteur : Les mmoires volatiles qui perdent linformation stocke en labsence dalimentation lectrique. Cest la famille des RAM (Random Access Memory) ou mmoires accs

177

slectif (mmoires vives) ainsi nommes parce que lon peut accder directement chaque lment de stockage de la mmoire (par opposition au registre dcalage qui est une mmoire accs squentiel). Il en existe de plusieurs types : les mmoires statiques ou SRAM (Static RAM) qui conservent linformation enregistre tant que lalimentation lectrique est connecte sur le circuit, les mmoires dynamiques ou DRAM (Dynamic RAM) qui perdent linformation enregistre au cours du temps et doivent tre rafrachies, les mmoires spciales qui sont bases sur la technologie SRAM. Il existe les mmoires double port ou DPRAM (Dual Port RAM), les piles premier entr premier sorti FIFO (First In First Out) et bien dautres de moindre importance. Les mmoires non volatiles conservent linformation stocke en labsence dalimentation lectrique. Cest la famille des ROM (Read Only Memory) ou mmoires lecture seule ou mmoires mortes. Elles peuvent tre programmes une fois pour toute en usine (cest le cas dune ROM) ou bien programmable sur site. Dans ce cas, on trouve les circuits suivants : les mmoires programmables une seule fois ou PROM (Programmable ROM), les mmoires programmables lectriquement et effaables aux rayons ultraviolets ou EPROM (Erasable PROM), les mmoires programmables et effaables lectriquement ou EEPROM (Electrically EPROM) ou bien EEPROM Flash. Mais on trouve aussi certaines RAM non volatiles telles que : les NVRAM (Non volatile RAM), les mmoires ferrolectriques FRAM (Ferroelectric RAM). Les mmoires possdent deux caractristiques principales, leur capacit et leur temps daccs. La capacit dune mmoire est dfinie par le nombre de bits dinformation que lon peut y stocker. Cette capacit sexprime en Kbits ou K (1 kilobits = 210 bits = 1024 bits) ou en Mbits ou MEG (1 Mbits = 220 bits = 1048576 bits) et dici quelques annes en Gbits (1 Gbits = 230 bits = 1073741824 bits). Par exemple, une mmoire 256K a une capacit de 256x1024 bits. Le mot stock dans une case de la mmoire nest pas forcement 1 bit unique. Il peut aussi tre cod sur 4, 8, 16 ou 32 bits. Par exemple, une mmoire 8 MEG x 8 a une capacit gale 8 Mega-octets.

178

Le temps daccs dune mmoire est lintervalle de temps qui spare la prsentation de ladresse de la donne lentre du circuit et lapparition effective de cette donne en sortie. Il sagit du temps quil faut pour accder cette donne.

Le diagramme suivant prsente un classement des diffrentes familles de mmoires en fonction de leur capacit et de leur temps daccs.
capacit mmoire [en bits] 1012 109 106 103 1 ns 1 s 1 ms 1s
semiconducteur disque disquette bande

temps daccs

On choisit le type de mmoire en fonction de la quantit dinformation stocker, du prix de loctet et du temps daccs. Les mmoires centrales des ordinateurs sont semi-conducteurs cause de leur temps daccs de quelques dizaines de nanosecondes. On stocke les informations traiter sur des disques (optique, magntique ou magnto-optique) de bien plus grande capacit ayant des temps daccs de lordre de quelques millisecondes ( quelques dizaines). La sauvegarde des disques et le stockage de longue dure utilisent des bandes magntiques qui ont une bonne fiabilit mais un temps daccs squentiel de lordre de la minute. 4.1.2 Principe dun microprocesseur Les micro-ordinateurs de type PC (Personnal Computer) sont les principaux consommateurs de mmoires (environ 50 % du march des DRAM en 1997). Ils incorporent la fois des mmoires mortes qui contiennent les logiciels de dmarrage du microprocesseur et des mmoires vives o sont stocks les programmes utilisateurs. Comme le montre la figure suivante, le microprocesseur possde : un bus dadresses. Un bus est le regroupement dun ensemble de broches. Si on a, par exemple, 16 broches dadresses numrotes A0, A1, A2, , A15, on parle dun bus

179

dadresses sur 16 bits. Le bus dadresses permet dadresser une case mmoire particulire pour en extraire ou y crire une donne. un bus de donnes. Il permet de lire ou bien dcrire une donne (sur 16 bits par exemple) dans la mmoire. un bus de contrle. Les signaux de contrle permettent de donner des ordres aux botiers priphriques comme par exemple lordre de lecture ou bien dcriture dans une mmoire.

microprocesseur

ROM

RAM

signaux de contrle

bus dadresses

bus de donnes

Les deux chronogrammes suivants reprsentent les cycles de lecture et dcriture dun microprocesseur 6802 de Motorola. Il sagit dun modle ancien quoique toujours commercialis qui nous suffira pour comprendre les mcanismes de base des accs la mmoire. On trouve sur ces chronogrammes un signal dhorloge E, un signal indiquant quune adresse valide se trouve sur le bus dadresses VMA (Valid Memory Address), le signal de lecture/criture R/ W ainsi que les bus dadresses et de donnes. La lecture des donnes en mmoire ( R/ W = 1) seffectue de la manire suivante. Les adresses sont valides un temps tAD aprs le front descendant de E. Les donnes en sortie de la mmoire doivent apparatre un temps tDSR avant le front descendant suivant de E pour que le microprocesseur puissent les lire correctement.

180

Lorsque le microprocesseur crit des donnes en mmoire ( R/ W = 0), les adresses apparaissent un temps tAD aprs le front descendant de E puis les donnes apparaissent un temps tDDW aprs le front montant de E et sont maintenues un temps tH aprs le front descendant suivant de E.

Le temps daccs de la mmoire doit tre choisi pour respecter les diffrents temps du microprocesseur. La structure du microprocesseur va dterminer en grande partie les diffrents signaux ncessaires son bon fonctionnement. 4.1.3 Structure gnrale Une mmoire comprend 4 classes de broches : 1. Une ou plusieurs broches pour les donnes (nommes gnralement D0, D1, , Dk-1). 2. Un bus dadresses. La capacit de la mmoire doit tre gal 2largeur du bus. Par exemple, une mmoire morte 256K ncessite 18 broches dadresses car 218 = 256K. 3. Une ou plusieurs broches pour slectionner le botier. Ces broches sont gnralement nommes CS0, CS1, (Chip Select) ou bien CE0, CE1 (Chip Enable). Si le botier nest pas slectionn, le bus de donnes reste ltat haute impdance. 4. Des broches de commande comme par exemple lautorisation de lecture ou dcriture. Ce signal peut exister sous la forme dune seule broche, le signal de lecture/criture R/ W (Read/Write) qui vaut 1 en lecture et 0 en criture, ou bien de deux broches, le signal dautorisation dcriture WE (Write Enable) et le signal dautorisation de lecture OE (Output Enable). La structure interne dune mmoire est compose de trois parties (voir la figure suivante). Les circuits dentres-sorties et de contrle (buffer dentres et de sorties, gestion de la slection du botier et gestion des oprations de lecture/criture), le dcodeur dadresses (qui permet partir de ladresse de slectionner la bonne case mmoire) et la zone de stockage proprement dite (o sont effectivement stockes les informations binaires).

181

lignes de slection A0 lment de stockage n0 D0 DK-1 lment de stockage n1 . . . lment de stockage n2N-1

A2 A3 . . . AN-1

bus dadresses N bits

signaux de contrle

circuit de contrle

En fait, cette structure simplifie nest utilise que pour les mmoires de petites tailles. Quand la capacit augmente, le nombre de portes utilises pour raliser le dcodeur devient beaucoup trop lev. On utilise donc, comme sur la figure suivante, une organisation matricielle pour ranger les lments de stockage et deux dcodeurs dadresses : un dcodeur de lignes Xn et un dcodeur de colonnes Yn. Nous verrons au 5.2 comment on accde aux donnes avec cette structure de mmoire (laccs aux donnes nest pas reprsent sur cette figure).

X0 ES 0-0 A0 X1 ES 1-0 ES 1-1 ES 1-2 ES 1-3 ES 0-1 ES 0-2 ES 0-3

dcodeur de lignes

A1

X2 ES 2-0 X3 ES 3-0 Y0 Y1 ES 3-1 Y2 ES 3-2 Y3 ES 3-3 ES 2-1 ES 2-2 ES 2-3

dcodeur dadresses

A1

buffers dentressorties

bus de donnes K bits

buffers dadresses

dcodeur de colonnes
A2 A3

182

4.1.4 Plan dadressage Il y a rarement un seul botier priphrique reli avec le microprocesseur. Chaque botier doit donc possder son adresse ou plus gnralement sa plage dadresses dans le cas dune mmoire. Elle doit tre slectionne laide des broches CS ou CE pour la zone mmoire qui lui est affecte. On utilise pour cela un dcodeur dadresses qui va gnrer les signaux permettant de slectionner le bon botier la bonne adresse, tous les autres botiers tant dselectionns ce moment.

microprocesseur

signaux de contrle

dcodeur dadresses

signaux de slection

4.1.5 Expansion en capacit Prenons lexemple de lextension de la capacit dune mmoire RAM. On souhaite raliser une mmoire de 4K x 4 bits partir de mmoire 1K x 4 bits. Il faut monter en parallle 4 botiers avec les lignes dadresses A0-A9 et le signal dautorisation de lecture/criture mis en commun. Lentre de slection CS est issue dun dcodeur dadresses qui fournit une zone dadresses de 1K diffrente pour chaque botier selon le tableau suivant :

VMA Y0 Y1 Y2 Y3 1 1 1 1

A11 0 0 1 1

A10 0 1 0 1

A9-A0 X X X X

zone dadresses de 000000000000 001111111111 de 010000000000 011111111111 de 100000000000 101111111111 de 110000000000 111111111111

183

bus de donnes

bus dadresses

Le schma obtenu est alors le suivant :


adresses
donnes A10-A11 A0-A9

CS validation dadresses

R/ W

dcodeur dadresses 2 vers 4

Y0 Y1 Y2 Y3

CS

R/ W

signaux de contrle
CS R/ W

CS

R/ W

criture
D0 D3

4.1.6 Expansion de la largeur du bus de donnes La largeur du bus de donnes dun microprocesseur est gnralement de 4, 8, 16, 32 ou 64 bits ce qui ne correspond pas forcment la largeur du mot de donnes des mmoires disponibles. Si on veut augmenter la taille du mot dune mmoire, il faut mettre en parallle un certain nombre de botiers, les signaux dadresses, de slection et de lecture/criture tant mis en commun. La largeur du mot est alors gale au nombre de bits de donnes de la mmoire utilise multipli par le nombre de botiers mis en parallle. Dans lexemple suivant, on ralise une mmoire 1K x 16 bits avec 4 botiers 1K x 4 bits.

184

adresses A0-A9

signaux de contrle

CS

R/W

CS

R/W

CS

R/W

CS

R/W

D0 D3 donnes D0-D15

D4 D7

D8 D11

D12 D15

Les deux types dexpansion peuvent tre utiliss simultanment pour tendre la capacit et la largeur du mot de donnes. 4.2 La famille des ROM

4.2.1 ROM et PROM 4.2.1.1 Principe gnral

Une ROM est une mmoire lecture seule qui est dfinitivement programme au moment de sa fabrication. Seule une trs grande srie permet den amortir le cot. Une PROM a lavantage dtre programmable sur site par lutilisateur laide dun programmateur. Cette solution est plus flexible, mais elle cote plus chre pour la fabrication en srie. Larchitecture interne de ces deux mmoires est identique, seul llment de stockage diffre. Le schma suivant nous montre la structure dune ROM 64 x 4 bits.

buffer

A0 A1 A2

dcodeur de lignes

matrice de stockage matrice de stockage plan matrice de mmoire 3 stockage plan matrice de mmoire 2 stockage plan 8 x 8mmoire 1 plan mmoire 0

A3 A4 A5

dcodeur de colonnes
8 8

8 8

amplificateurs de lecture
CS

buffer 3 tats D0 D1 D2 D3

185

La fonction des diffrentes parties est la suivante : Les buffers dadresses servent adapter les niveaux de tension du bus aux niveaux de tension requis dans la mmoire. Les dcodeurs de lignes et de colonnes permettent de slectionner llment de stockage. Les matrices de stockage ralisent la mmorisation proprement dite. Chaque plan mmoire correspond un bit de donne. Les buffers de donnes (trois tats) fournissent les courants ncessaires pour attaquer le bus de donnes. Les amplificateurs de lecture servent amplifier le signal (qui peut tre assez faible) issu de llment de stockage pour lamener un niveau compatible avec les buffers de sortie. Le schma suivant montre le dtail des amplificateurs de lecture et du buffer de sortie pour un plan mmoire 4x4 :

Colonnes de la matrice de stockage du bit 0

A2 A3

Amplificateur de lecture avec commande trois tats

dcodeur de colonnes
Buffer de sortie trois tats

D0 CS

La fonction logique ralise par lensemble form du dcodeur de colonnes, des amplificateurs de lecture et du buffer de sortie peut tre vue comme un multiplexeur 4 vers 1 command par les adresses A2 et A3.

La figure suivante montre deux lments de stockage utilisables pour raliser une ROM : la diode et le transistor bipolaire. Sil correspond une valeur 1, llment de stockage ralise la

186

connexion entre la ligne et la colonne correspondant une adresse. Dans le cas de la diode, si la ligne vaut 1, alors la diode conduit et le niveau 1 se trouve appliqu sur la colonne. Si la cathode de la diode nest pas relie la colonne, alors llment binaire mmoris vaut 0. La connexion ou labsence de connexion est ralise par masque lors de la fabrication du circuit intgr. Dans les mmoires bipolaires, on remplace la diode par un transistor bipolaire. La ligne est alors relie la base et le collecteur Vcc. Dans le cas dun bit 1, lmetteur est reli la colonne alors quil est en lair dans le cas dun bit 0.

R Vcc

R Vcc

Lignes de la matrice de stockage

Vcc

Vcc

Colonnes de la matrice de stockage diodes

Colonnes de la matrice de stockage transistors

Les ROM sont aujourdhui principalement ralises en technologie CMOS (il suffit de remplacer le transistor bipolaire dans le dessin ci-dessus par un transistor MOSFET). Dans le cas de prototypes ou de petites sries, il nest pas rentable de faire fabriquer une ROM chez un fondeur. On prfre alors utiliser une ROM programmable sur site ou PROM. Larchitecture de la PROM est identique celle de la ROM, sauf quun fusible ralise la connexion entre llment de stockage et la colonne. Pour programmer une PROM, on doit faire circuler un courant assez fort (20 30 mA) pour faire fondre les fusibles selon les valeurs stocker. La programmation est effectue laide dun programmateur de PROM qui vrifie aussi lexactitude de la programmation. La figure suivante montre deux exemples dlments de stockage utilisables pour raliser une PROM fusibles : la diode et le transistor bipolaire.

187

R Vcc

R Vcc

Lignes de la matrice de stockage

Vcc

Vcc

Colonnes de la matrice

Colonnes de la matrice

Les PROM bipolaires ou MOS sont aujourdhui quasiment obsoltes. Leur technologie de fabrication nvolue plus depuis au moins 10 ans et elles sont pratiquement remplaces par les PROM effaables ou par les PAL (Programmable Array Logic). Par contre, les ROM sont toujours utilises en technologie CMOS pour les grandes sries. 4.2.1.2 Exemple : la 82S129A de Philips

Philips est un des rares constructeurs a avoir encore son catalogue des PROM bipolaires. La 82S129A est une PROM TTL bipolaire 256 x 4. Son temps daccs est gal 35 ns. Elle existe en botier DIP ou Flat Pack 16 broches. Sa consommation est suprieure 100 mA. Son architecture interne est la suivante :

188

Le chronogramme suivant montre une opration de lecture en mode simplifi (avec CE en permanence 0) :

Le temps tAA correspond au temps daccs de la mmoire. 4.2.2 EPROM et OTP 4.2.2.1 Principe gnral

Le principal inconvnient de la PROM est sa programmation dfinitive. Son seul avantage sur la ROM est sa programmation sur site. Lide de concevoir une ROM programmable plusieurs fois est apparue trs rapidement. Ds 1971, Intel inventait le transistor FAMOS (Floating gate Avalanche injection MOS). Ce transistor permettait de raliser les premires EPROM (Erasable PROM) programmables lectriquement et effaables aux rayons ultraviolets. La structure interne dune EPROM est identique celle dune ROM, le transistor MOS de llment de stockage tant remplac par un transistor FAMOS. Il y a aussi de la logique supplmentaire pour la programmation. La figure suivante montre que le transistor FAMOS possde deux grilles. La grille suprieure est utilise pour la slection et est connecte au dcodeur de ligne. La grille infrieure entre la grille de slection et le substrat est dite flottante car elle nest relie rien. Elle est entirement isole par loxyde de silicium (SiO2).

189

La programmation de la cellule (voir figure suivante) est ralise en appliquant une tension positive leve sur le drain et sur la grille de commande ( 12.5 V aujourdhui) alors que la source est la masse. Les lectrons qui apparaissent alors dans le canal, soumis un champ lectrique grille-canal lev passe travers lisolant dans la grille flottante par effet davalanche. On appelle ce phnomne linjection dlectrons chauds car les lectrons doivent avoir une nergie suffisante pour franchir la barrire dnergie de 3.2 eV se trouvant linterface entre le substrat et lisolant. Comme la grille flottante se charge ngativement, elle tend repousser les lectrons et mettre fin au transfert. Le processus de programmation est donc auto-limitatif et tend sarrter de lui-mme.

La cellule est entirement efface par une exposition aux rayons ultraviolets (longueur donde gale 253.7 nm) qui accroissent lnergie des lectrons stocks dans la grille flottante jusqu ce quelle dpasse la barrire dnergie de 3.2 eV existant entre la grille flottante et lisolant. Les lectrons quittent alors la grille qui redevient lectriquement neutre, toutes les cellules tant programmes ltat logique 1. Le botier dune EPROM doit ncessairement possder une fentre transparente en quartz pour laisser passer les rayons ultraviolets. Leffacement peut aussi tre caus accidentellement par la lumire du jour ou la lumire lectrique fluorescente. Pour viter ce phnomne, un adhsif opaque doit tre appliqu sur la fentre transparente aprs programmation. Le dure normale deffacement avec un appareil du commerce (effaceur dEPROM) est denviron 30 minutes. La programmation dune EPROM seffectue laide dun appareil appel programmateur dEPROM. La charge stocke sur la grille flottante lors de la programmation modifie la valeur de la tension de seuil VT du transistor FAMOS. Dans ltat non programm, la tension de seuil est faible et le transistor devient passant quand il est slectionn. Dans ltat programm avec stockage de charges dans la grille flottante, la charge ngative stocke soppose la cration

190

de la couche dlectrons formant le canal. La tension de seuil est donc plus leve et le transistor ne devient pas passant quand il est slectionn. La figure suivante montre les courbes de courant de drain en fonction de la tension de grille pour un transistor FAMOS programm (tat logique 0) et non-programm (tat logique 1).

Quand une charge Qfg est stocke dans la grille flottante, la tension de seuil est dcale de la quantit VT =
Q fg Cg

o Cg est la capacit entre les deux grilles. Loxyde de silicium tant un

trs bon isolant, la grille flottante ne se dcharge quasiment pas au cours du temps. La dure de rtention de linformation est suprieure 10 ans pour une temprature de 70 C. Le nombre maximum de cycles de programmation est suprieur 1000. Le prix de revient de cette mmoire permanente, fiable et trs rpandue est assez faible puisquelle utilise une cellule de stockage un seul transistor. Cest le botier la partie la plus coteuse dune EPROM cause de la fentre en quartz qui ncessite obligatoirement un botier cramique dont le prix est bien suprieur un botier plastique. Cest le prix de la reprogrammation. Cette fonctionnalit est trs utile pendant la mise au point dun systme lectronique, mais elle ne sert plus rien lors de la production en srie. Les fabricants dEPROM ont donc cr les mmoires programmables une fois ou OTP (One Time Programming) qui sont strictement identiques aux EPROM, mais encapsules dans un botier plastique qui les rend non effaable. Cette approche prsente de nombreux avantages : Baisse du prix de revient par rapport une EPROM, Utilisation du mme programmateur que pour une EPROM, Caractristiques lectriques identiques celle de lEPROM correspondante.

191

Tous les fabricants proposent les EPROM dans les deux versions UVPROM et OTP. Pour une fois, les fabricants se sont entendus lors de la cration de cette famille de mmoire et ont adopt des brochages identiques et des appellations compatibles. Ainsi, une 2764 est une mmoire 64 Kbits (8K x 8) et une 27512 une 512 Kbits (64K x 8). Au-dessus de 1 Mbits, la situation se complique car les mmoires peuvent tre organises en mots de 8 ou 16 bits. Une 27010 devient alors une 128K x 8 alors quune 271024 est une 64K x 16. 4.2.2.2 Exemple : la 27C1024 dAMD

On trouve chez AMD une gamme dEPROM allant de la 27C64 (8K x 8) la 27C4096 (256K x 16) en UVPROM ou en OTP. LAM27C1024 est une EPROM CMOS 64K x 16 alimente en 5 V dont le temps daccs est compris entre 55 ns et 250 ns. Elle existe en botier DIP 40 broches ou PLCC 44 broches. Sa consommation est gale 30 mA en fonctionnement typique et descend 100 A en mode stand-by (botier non slectionn). Le diagramme de blocs de cette mmoire est le suivant :

Le chronogramme suivant montre une opration de lecture (le temps tACC correspond au temps daccs de la mmoire) :

192

Du fait de la technologie utilise, la programmation dune cellule EPROM nest pas forcment bonne du premier coup. Elle doit tre suivie dune phase de vrification, puis recommence en cas dchec. Il y a donc un algorithme de programmation implant dans le programmateur dEPROM qui a la charge de garantir la validit de la programmation complte du composant. La dure minimale (toutes les critures tant bonnes du premier coup) pour programmer entirement la mmoire est gale 8 secondes. Un cycle de programmation/vrification seffectue en prsentant le mot de 16 bits programmer sur les sorties de lEPROM, en mettant PGM ltat bas et en respectant le chronogramme suivant :

Une signature lectronique permet didentifier automatiquement le fabricant ainsi que le type de lEPROM. Il suffit de mettre OE et CE ltat bas, dappliquer 12 V sur A9 et 0 V sur A0 pour obtenir 01 sur les donnes, ce qui correspond au code dAMD. En appliquant ensuite

193

12 V sur A0, on lit le code du circuit 8C en sortie. Ces codes sont destins permettre la reconnaissance automatique du circuit par le programmateur dEPROM. 4.2.3 EEPROM 4.2.3.1 Principe gnral

Le principal inconvnient de lEPROM est dtre obliger de la retirer de lquipement pour pouvoir leffacer puis la reprogrammer. LEEPROM (Electrically Erasable PROM) ou E2PROM a t invente pour pouvoir tre reprogramme dans lquipement : cest ce que lon appelle lISP (In Situ Programming). Pour cela, le transistor FAMOS a t modifi pour pouvoir tre effac et programm lectriquement. Cette nouvelle cellule de stockage a t invente par Intel au dbut des annes 80 et sappelle FLOTOX (FLOating gate Tunneling OXide). La charge et la dcharge de la grille flottante utilisent maintenant leffet tunnel de FOWLER-NORDHEIM. Dans la cellule FAMOS, on communiquait aux lectrons se trouvant dans le canal une nergie suffisante pour passer par-dessus la barrire dnergie de 3.2 eV existant entre la grille flottante et le substrat (voir figure de gauche ci-dessous). Dans la cellule FLOTOX, on utilise leffet tunnel pour faire passer les lectrons au travers de la barrire dnergie (voir figure de droite ci-dessous).

au-dessus de la barrire dnergie

au travers de la barrire dnergie

On les appelle des lectrons froids. Leffet tunnel lectrons froids est un effet d la mcanique quantique qui permet aux lectrons de traverser la barrire de 3.2 eV alors que leur

194

nergie est infrieure cette barrire. Il ne se produit que si lpaisseur de la zone traverser est suffisamment faible. La figure ci-dessous montre la structure du transistor de stockage. On a toujours deux grilles, une grille flottante isole dans loxyde de silicium et une grille de contrle se trouvant juste au-dessus. Lpaisseur de SiO2 entre le drain et la grille flottante est suffisamment faible pour permettre leffet tunnel.

En mode criture ou programmation (voir figure de gauche ci-dessous), la grille de contrle est mise la masse alors que le drain est connect une tension positive leve. Les lectrons quittent la grille flottante et passe dans le drain par effet tunnel. La grille se charge alors positivement et le transistor devient passant. Cela correspond un tat logique 0. En mode effacement (voir figure de droite ci-dessous), la grille de contrle est mise un potentiel lev alors que le drain est la masse. Les lectrons passent du drain dans la grille flottante par effet tunnel. La grille se charge alors ngativement et le canal dans le transistor disparat. Cela correspond un tat logique 1.

En fait, la diffrence du FAMOS, le transistor structure FLOTOX na pas de grille de slection, mais une grille de contrle pour la programmation et leffacement. On doit donc obligatoirement lui associer un transistor de slection pour constituer une cellule de stockage comme dans la figure suivante :

195

On peut alors reprsenter sur la figure ci-dessous une partie de la matrice de stockage (une ligne, deux colonnes). On retrouve gauche le mode effacement et droite le mode programmation.

Cette mmoire peut tre efface octet pat octet et nest alimente quen 5 V, car les tensions leves de programmation sont gnres par des pompes de charges internes au circuit. La dure de rtention est identique celle dune EPROM et la mmoire supporte jusqu 100000 cycles de programmation ou dcriture. Cette famille de mmoire parat parfaite puisquelle apporte de grandes amliorations la famille des EPROM et peut tre utilise comme une RAM statique lente. Elle souffre cependant de deux dfauts rdhibitoires : Le processus de fabrication de la fine couche doxyde entre le drain et la grille flottante est trs dlicat raliser. La cellule de stockage utilise deux transistors au lieu dun seul pour lEPROM, donc la surface de silicium utilise est plus importante.

196

Pour ces deux raisons, le cot des E2PROM est trop lev et ne peut pas prtendre au remplacement des EPROM. Il ne reste plus que quelques fabricants spcialiss comme Xicor pour avoir un catalogue assez fourni dans ce domaine. Les E2PROM existent soit sous forme parallle comme les EPROM, soit sous forme srie. On retrouve cette dernire famille, gnralement de capacit assez rduite, dans tous les appareils o il est ncessaire de sauvegarder une configuration (sauvegarde de la programmation des chanes dun magntoscope par exemple). Sous leur forme parallle, elles sont remplaces par les mmoires flash qui sont beaucoup moins chres. Elles ont toutefois lavantage, contrairement aux mmoires flash, dtre programmables octet par octet (il ny a pas de phase deffacement), dtre alimentes uniquement en 5 V et davoir un fonctionnement assez simple. 4.2.3.2 Exemple : la X28C010 de XICOR

On trouve chez XICOR une gamme dE2PROM allant de la X2804 (512 x 8) la X28C010 (128K x 8). La X28C010 est une E2PROM CMOS 128K x 8 alimente en 5 V dont le temps daccs est compris entre 120 ns et 250 ns. Elle existe en botier DIP 32 broches, PLCC, TSOP ou PGA. Sa consommation est gale 50 mA en fonctionnement typique et descend 500 A en mode stand-by. Le diagramme de blocs de cette mmoire est le suivant :

197

Le chronogramme suivant montre une opration de lecture (le temps tAA correspond au temps daccs de la mmoire) :

La programmation peut seffectuer octet par octet. Il faut alors attendre 10 ms maximum entre deux critures (temps tWC). Le cycle dcriture par octet est le suivant :

198

Lcriture peut aussi tre ralise en mode rafale en crivant non plus octet par octet mais par page allant jusqu 256 octets. La dure totale dcriture dune page est gale 10 ms maximum (40 s max. par octet). La dure maximale ncessaire pour programmer entirement la mmoire est alors gale 5 secondes. Le chronogramme suivant montre un cycle dcriture par page :

Cette mmoire possde aussi une protection logicielle contre lcriture. Il suffit pour cela dcrire AA ladresse 5555, puis 55 ladresse 2AAA et enfin A0 ladresse 5555 en mode dcriture par page. La mmoire est alors protge en criture. Une squence similaire permet de retirer la protection en criture. 4.2.4 Flash EEPROM 4.2.4.1 Principe gnral

A la fin des annes 1980, plusieurs socits ont mis au point des procds permettant deffacer lectriquement la cellule EPROM. Le terme flash est venu du fait que ces mmoires ntaient effaables quen une seule fois dans leur totalit. Quoique ces mmoires soient rapidement devenues effaables par section, le nom est rest. Lobjectif de la cellule flash (qui fait partie de la famille des E2PROM) est de supprimer le transistor de slection de la cellule FLOTOX de faon retrouver le cot dune EPROM tout en gardant bien entendu la programmation et leffacement lectrique. Il nexiste pas une seule structure de cellule commune tout les fabricants. La figure ci-dessous montre les principales cellules utilises :

199

La cellule (a) (INTEL) est directement drive du transistor FAMOS, mais avec une plus fine paisseur de SiO2 entre la grille flottante et le drain. La programmation seffectue par avalanche et leffacement par effet tunnel. Les trois autres cellules sont diffrents essais visant intgrer le transistor de slection de la cellule FLOTOX dans le transistor de stockage. La grille est coupe en deux, une moiti sert la programmation, lautre moiti sert la slection. On appelle cela le concept split gate . La cellule (b) (TOSHIBA) utilise leffet davalanche pour la programmation et leffacement, la cellule (c) (SEEQ) utilise leffet davalanche pour la programmation et leffet tunnel pour leffacement. Ces trois cellules ncessitent une tension externe de 12 V pour la programmation alors que la cellule (d), programme et efface par effet tunnel, ne ncessite quune tension unique gale 5 V (les autres tensions peuvent tre gnres en interne dans le circuit par des pompes de charges). Les mmoires flash ont la mme dure de rtention de linformation que les EPROM (10 ans 70 C) et supporte jusqu 100000 cycles deffacement (ou programmation). Le tableau suivant indique le nombre de transistors ncessaires la ralisation dune cellule de stockage pour diffrentes familles de mmoires :

200

La cellule flash a, comme la cellule FAMOS dune EPROM, les plus petites dimensions. Comme le prix de la mmoire est directement proportionnel la surface de silicium occupe, on comprend aisment lintrt norme de la technologie flash pour les constructeurs (et leurs clients). De plus, INTEL a russi stocker 2 bits par cellule (voir figure suivante) sans trop modifier le transistor de stockage et parle datteindre trois bits par cellules sans modifier (ou fort peu) la surface de la puce.

Cette technologie, la StrataFlash permet ds aujourdhui de doubler la densit des mmoires flash et de raliser des densits gales 64 Mbits comme pour les RAM dynamiques. Les principales applications des mmoires flash sont : Le remplacement des PROM dans les applications informatiques (mme si le prix dune flash est encore suprieur celui dune PROM). Le stockage de donnes. On utilise des modules flash pour raliser de petits systmes de stockage pour les appareils portables (exemple : les appareils photo numriques) ou bien dans les rpondeurs tlphoniques pour stocker les messages ou encore dans les fax pour stocker les documents reus. 4.2.4.2 Exemple : la 28F010 dINTEL

On trouve chez INTEL cinq familles de mmoires flash : La famille bulk erase qui sefface en intgralit. La gamme va de la 28F010 (128K x 8) la 28F020 (256K x 8). La famille flash file qui est dcoupe en sections de 64 Ko et sefface par section. La gamme va de la 28F08SA (1M x 8) la 28F032 (4M x 8 ou 2M x 16).

201

La famille boot block qui possde une section spciale bloque en criture pour contenir le programme de dmarrage dun microprocesseur. La gamme va de la 28F001BX (1M x 8) la 28F160B3 (1M x 16).

La famille strataflash qui contient 2 bits par cellule de stockage. La gamme va de la 28F320 (4M x 8 ou 2M x 16) la 28F640 (8M x 8 ou 4M x 16). La famille high performance fast flash qui prtend se substituer la DRAM pour lexcution des programmes dun microprocesseur. Il nexiste quun circuit, le 28F016X (2M x 8 ou 1M x 16).

La 28F010 est une mmoire flash CMOS 128K x 8 dont le temps daccs est compris entre 65 et 200 ns, alimente en 5 V mais ncessitant une tension externe de programmation gale 12 V. Elle existe en botier 32 broches DIP, PLCC et TSOP. Sa consommation est gale 10 mA en fonctionnement typique et descend 50 A en mode stand-by. Le diagramme de blocs de cette mmoire, plus complexe que pour les mmoires prcdentes se trouve ci-dessous.

Le fonctionnement de cette mmoire est bien plus complexe que les EPROM et les E2PROM. En effet, bien quelle puisse aussi tre programme sur un programmateur dEPROM (ou d E2PROM), cette mmoire est conue pour tre programme dans lquipement. Lorsque la

202

tension applique sur la broche VPP est gale 0, la mmoire est en mode lecture et on a alors le chronogramme suivant o tAVQV est le temps daccs :

Lorsque la tension applique sur la broche VPP est gale la tension de programmation, on accde un registre interne dans lequel on peut crire des codes qui activent alors les diffrents modes de programmation et deffacement (voir le tableau suivant).

On voit quil nest pas ncessaire de prvoir une commutation de la haute tension de programmation sur la broche VPP pour passer du mode lecture au mode programmation/effacement, puisquon peut lire la mmoire (code 00) lorsque VPP est actif (cest dailleurs le mode par dfaut). Cela permet de simplifier le circuit imprim o se trouve plac la mmoire flash.

203

Les modes de programmation et deffacement sont plutt complexes mettre en uvre. Pour les utiliser, il faut se servir dalgorithmes rapides dont les organigrammes sont les suivants :

Algorithme quick pulse programming

Algorithme quick erase

Ces algorithmes doivent tre connus du programmateur dEPROM. En cas de programmation dans lquipement, cest le rle du microprocesseur (ou du microcontrleur) qui pilote ces mmoires de gnrer les squences ncessaires laide dun programme appropri. Cette mmoire flash incorpore, comme une EPROM, une signature lectronique lui permettant dtre reconnue automatiquement par un programmateur.

204

4.3

La famille des RAM

4.3.1 RAM statique 4.3.1.1 Principe gnral

Il existe deux familles de cellules de stockage qui sont utilises dans toutes les mmoires de type RAM : la cellule RAM dynamique qui doit tre rafrachie rgulirement pour garder la donne en mmoire et la cellule RAM statique qui ne ncessite pas de rafrachissement. Cette dernire est constitue de 6 transistors (voir figure ci-dessous). Les transistors T1 T4 forment les deux inverseurs CMOS qui sont reboucls pour constituer la bascule qui va mmoriser le bit. Les transistors T5 et T6 permettent de slectionner la cellule de stockage afin de lire ou dcrire un bit.

Word line T6

T5 Bit line Bit line

Cellule de stockage SRAM CMOS

Schma quivalent

En se reportant au 5.1.3 sur la structure gnrale dune mmoire, on voit que la range Xn sappelle word line et la colonne Yn sappelle bit line . Les lignes bit et bit sont connectes toutes les cellules dune mme colonne et la ligne word est relie toutes les cellules dune mme range. La figure suivante vous montre la structure simplifie dune RAM statique 16K x 1.

205

X127

La paire de transistors MOS Sn permet de slectionner la colonne n. La slection dune cellule se ralise donc en rendant passant cette paire de transistors ainsi que les deux transistors de slection de range T5 et T6. Pour effectuer une lecture de la cellule slectionne, il suffit alors de lire le bit de donne disponible sur les lignes bit et bit . Quand on souhaite crire un bit dans la cellule slectionne, il y a deux possibilits : Soit le bit de donne crire est identique celui mmoris dans la bascule et rien ne change. Soit le bit de donne crire est diffrent de celui mmoris et il faut que la bascule change dtat. Supposons que bit = 1 ( bit = 0). Cela implique que T3 et T2 sont passants alors que T1 et T4 sont ouverts. On veut crire bit = 0 ( bit = 1). Le niveau 0 est appliqu sur la grille de T2, T4 et T4 devient passant (et T2 ouvert). La grille de T1, T3 passe donc 1 et T1 devient passant (et T3 ouvert). Lorsque lon dslectionne la cellule, ltat est stable et reste mmoris.

206

La figure suivante montre la structure dune SRAM y compris les buffers dcriture et les amplificateurs de lecture. La broche I/O est la broche dentre/sortie de la donne.

Le temps daccs dune mmoire SRAM est gal au temps de propagation dans les dcodeurs dadresses plus le temps de commutation de la bascule dans la cellule de stockage. Cest la plus rapide des mmoires avec des temps daccs de lordre de 10 nanosecondes. Hlas, comme le montre le tableau du 5.2.4.1, cest aussi la mmoire qui ncessite la plus grande surface de silicium par bit stock. Elle est donc chre.

207

4.3.1.2

Exemple : la CY7C1009 de CYPRESS

On trouve chez CYPRESS une gamme de SRAM allant de la CY7C122 (256 x 4) la CY7C1049 (512K x 8). La CY7C1009 est une SRAM CMOS 128K x 8 alimente en 5 V dont le temps daccs est compris entre 10 et 35 ns. Elle existe en botier DIP, SOJ ou TSOP 32 broches. Sa consommation maximale est gale 200 mA et descend 10 mA en mode stand-by. Le diagramme de blocs de cette mmoire est le suivant :

De toutes les mmoires avec lecture/criture, les SRAM sont les plus simples utiliser. Le chronogramme suivant montre une opration de lecture (le temps tACE correspond au temps daccs de la mmoire) :

208

Le chronogramme suivant montre un cycle dcriture (le temps tWC correspond la dure dun cycle complet dcriture) :

La plupart des SRAM sont bties selon ce modle o les signaux sont asynchrones les uns par rapport aux autres. Il existe aussi les SSRAM (SRAM synchrones) o tous les signaux sont pris en compte ou fournis sur le front actif dune horloge. Ces mmoires synchrones sont gnralement utilises dans les systmes les plus rapides. En effet, la synchronisation, si elle ne rend pas la mmoire plus rapide, permet datteindre beaucoup plus facilement la frquence maximale de fonctionnement de la mmoire.

209

4.3.2 RAM statique double port 4.3.2.1 Principe gnral

Une SRAM double port a laspect extrieur suivant :


Port gauche
bus dadresses gauche bus de donnes gauche Slection de botier gauche Lecture/criture gauche Signaux darbitrage

Port droit
bus dadresses droit bus de donnes droit Slection de botier droit Lecture/criture droit

RAM Statique Double port

Deux ports indpendants, gauche et droit, permettent laccs la mmoire. Chaque ct peut tre slectionn indpendamment et utilis de manire autonome. Les ventuels signaux darbitrage servent grer le cas o les deux cts essaient dcrire en mme temps dans la mme case mmoire ou bien quand un ct essaie de lire une case alors que lautre ct est en train dcrire dedans. Pour raliser ce type darchitecture, la cellule RAM statique doit tre modifie de la manire suivante :

210

On a maintenant deux lignes de slection de range, WORDl line (l : left) pour le port gauche et WORDr line (r : right) pour le port droit, et deux paires de lignes de slection de colonne, BITl line, BITl line pour le port gauche et BITr line, BITr line pour le port droit. Chaque ct possdant son propre dcodeur dadresses, on accde indpendamment la cellule de stockage par chaque port. Cette mmoire de type SRAM est rapide (temps daccs 10 ns). Elle est utilise soit pour faire communiquer deux systmes ayant des vitesses de fonctionnement diffrentes, soit pour faire communiquer plusieurs processeurs entre eux dans un systme multiprocesseur ou encore dans certaines applications vido. 4.3.2.2 Exemple : la CY7C009 de CYPRESS

On trouve chez CYPRESS une gamme de SRAM double port allant de la CY7C130 (1K x 8) la CY7C019 (128K x 9). La CY7C009 est une SRAM double port CMOS 128K x 8 alimente en 5 V dont le temps daccs est compris entre 12 et 20 ns. Elle existe en botier QFP 100 broches. Sa consommation typique est gale 180 mA et descend 50 A en mode stand-by. Elle possde deux ports indpendants plus des signaux darbitrage. Le diagramme de blocs de cette mmoire est le suivant :

211

Le nombre de broches (100) est plutt lev. Le tableau suivant donne la signification succincte des diffrents signaux : Lignes 1 5 : bus dadresses, de donnes et de contrle des deux ports. Lignes 6 et 7 : signaux dinterruptions et smaphores servant la communication port port. Ligne 8 : signal darbitrage indiquant que la cellule de stockage est en cours dutilisation. Ligne 9 : signal matre/esclave utilis pour lexpansion du bus de donnes.

Ligne 1 2 3 4 5 6 7 8 9 10 11 12

Les chronogrammes de lecture et dcriture sont similaires ceux dune SRAM simple port. Les signaux de communication port port, darbitrage et dexpansion compliquent considrablement lutilisation de la mmoire. 4.3.3 FIFO 4.3.3.1 Principe gnral

Le schma suivant montre laspect extrieur dune pile FIFO (First In, First Out) :

Entre
Data-in

Sortie
Data-out

FIFO
W FF MR asynchrone R EF

212

Il y a dans un FIFO deux bus de donnes, un servant pour lcriture et lautre servant pour la lecture. Un pointeur dadresses criture et un pointeur dadresses lecture sont grs en interne dans le circuit. Lorsque le signal W (Write) devient actif, la donne data-in est copie dans le FIFO et le pointeur dcriture est incrment de 1. Lorsque le signal R (Read) devient actif, la donne la plus ancienne mmorise dans le FIFO est copie sur data-out et le pointeur de lecture est incrment de 1. Le signal FF (FIFO Full) indique quand le FIFO est plein et que lon ne peut plus y crire de donnes, alors que le signal EF (Empty FIFO) indique quand le FIFO est vide et que lon ne peut plus y lire de donnes. Le signal MR (Master Reset) initialise le circuit. Pour comprendre le fonctionnement de ce circuit, prenons lexemple dun FIFO 4 x 8. Le schma suivant montre ltat de la mmoire, des signaux EF et FF et la position des pointeurs de lecture et dcriture linitialisation (ltat X est non significatif). Les adresses sont croissantes vers le haut de la pile.
X X X Pcriture X Plecture FF = 0 EF = 1

Le FIFO est vide. On voit que les pointeurs sont placs sur la premire case mmoire disponible pour une lecture ou pour une criture (mme si la lecture ou lcriture est impossible). Aprs criture de deux octets O1 et O2, le pointeur dcriture est incrment de 2 et les deux octets sont mis en mmoire :
X Pcriture X O2 Data-in = O1, O2 O1 Plecture FF = 0 EF = 0

Comme le FIFO nest plus vide, on peut lire les deux octets O1 puis O2. On comprend le nom de cette mmoire (premier entr premier sorti) puisque le premier octet entr O1 est bien le premier octet lu. Le pointeur de lecture est incrment de 2 :

213

X Pcriture X O2 O1

FF = 0 EF = 1 Plecture

Data-out = O1, O2

Le FIFO est nouveau vide car le pointeur de lecture rattrap le pointeur dcriture. Nous allons maintenant crire 3 octets O3, O4 et O5 dans la mmoire. Cela est possible car les pointeurs de lecture et dcriture repasse 0 aprs avoir atteint leur valeur maximale.

Data-in = O3, O4, O5

O4 O3

FF = 0 EF = 0 Plecture

Pcriture

O2 O5

Avec une criture de plus (O6), le FIFO est plein car le pointeur dcriture a rattrap le pointeur de lecture.
O4 O3 O6 O5 FF = 1 EF = 0 Plecture

Data-in = O6 Pcriture

On peut maintenant effectuer 4 lectures et vider le FIFO

O4 Pcriture O3 O6 O5 Plecture

FF = 0 EF = 1

Data-out = O3, O4, O5, O6

214

Un FIFO est gnralement construit autour dune SRAM double port, ce qui simplifie grandement la structure interne de ce genre de mmoire. Par construction, il ny a jamais dcriture et de lecture simultanes dans une mme case mmoire puisque une case ne peut tre lue quaprs avoir t crite. Larbitrage traditionnel dans une RAM double port na donc pas lieu dtre. Lcriture et la lecture dans le FIFO peuvent donc tre simultans et asynchrones. Le schma suivant montre larchitecture interne simplifie du circuit :
Data-in

Pointeur dcriture

SRAM Double port

Pointeur de lecture

Data-out

MR

initialisation

contrle

FF EF

Un FIFO bas sur de la SRAM a un temps daccs de lordre de 10 ns. Il est utilis partout o il est ncessaire de faire communiquer deux systmes lectroniques ayant des frquences de fonctionnement diffrentes. Le schma suivant montre un exemple classique de communication entre deux systmes asynchrones (un ordinateur et une imprimante par exemple) :
Data-in Data-out

Systme A

W FF

FIFO
asynchrone

R EF

Systme B

215

Comme pour les SRAM, il existe aussi des FIFO synchrones o les changes sont cadencs par une horloge indpendante de chaque ct. 4.3.3.2 Exemple : le CY7C423 de CYPRESS

On trouve chez CYPRESS une gamme de FIFO trs tendue : FIFO synchrones : du CY7C4421 (64 X 9) au CY7C4291 (128K x 9). FIFO asynchrones : du CY7C401 (64 X 4) au CY7C466A (64K x 9).

Le CY7C425 est un FIFO asynchrone (construit avec de la SRAM double port) CMOS 1K x 9 aliment en 5 V dont le temps daccs est compris entre 10 et 65 ns. Il existe en botier DIP, PLCC et QFP 32 broches. Sa consommation typique est gale 35 mA et descend 10 mA en mode stand-by. Le diagramme de blocs de cette mmoire est le suivant :

216

Elle comporte, outre les signaux dfinis au paragraphe prcdent, un signal de demiremplissage HF (Half FIFO), un signal de retransmission RT (ReTransmit) et deux signaux dexpansion XI et XO (Expansion In et Out). Le chronogramme suivant vous montre le fonctionnement normal du FIFO avec des critures et des lectures asynchrones simultanes. tA est le temps daccs en lecture et tWC le temps de cycle dcriture.

Comme pour les mmoires traditionnelles, grce aux signaux XI et XO , on peut raliser une expansion en largeur du bus de donnes ainsi quune expansion en capacit. 4.3.4 RAM non-volatile 4.3.4.1 Principe gnral

Ce type de mmoire combine un plan mmoire de travail SRAM et un plan mmoire de stockage E2PROM. Le diagramme suivant montre la structure interne dune NOVRAM (Non Volatile RAM) srie :

217

On retrouve les signaux classiques dune SRAM avec en plus STORE qui sert stocker le contenu de la SRAM dans lE2PROM et RECALL qui fait lopration inverse. Lopration de stockage est suffisamment rapide pour pouvoir tre effectue automatiquement en cas de coupure dalimentation. Ce type de mmoire bnficie de la vitesse dcriture et de lecture de la SRAM et de laspect non volatile de lE2PROM. Son principal inconvnient est son prix. On utilise ce type de mmoire pour sauvegarder une configuration matrielle (configuration dun port ou dune carte PC par exemple). 4.3.4.2 Exemple : la X20C17 de XICOR

XICOR commercialise des NOVRAM srie 256 bits et une famille de NOVRAM parallle allant de la X22C10 (64 x4) la X20C16 (2K x 8). La X20C17 est une NVRAM CMOS (2K x 8) qui dtecte la chute de la tension dalimentation et sauve alors automatiquement le contenu du plan SRAM dans le plan E2PROM en une dure infrieure 2,5 ms. A la mise sous tension, le contenu de lE2PROM est copi dans la SRAM. Le temps daccs de cette mmoire (de la partie SRAM) est compris entre 35 et 55 ns. Elle nexiste quen botier DIP 24 broches et consomme typiquement 100 mA (250 A en mode stand-by). Le diagramme de blocs de cette mmoire est le suivant :

Son fonctionnement est strictement identique celui dune SRAM.

218

4.3.5 FRAM 4.3.5.1 Principe gnral

Un concept de RAM non volatile inhabituelle a t prsent par RAMTRON en 1988. La cellule de stockage de la RAM ferrolectrique est base sur un condensateur constitu de deux plaques spares par un matriau ferrolectrique. Ce dilectrique a deux proprits intressantes : Sa constante dilectrique tant 100 fois plus leve que celle de loxyde de silicum (SiO2), cest un meilleur isolant. Il existe un effet dhysteresis (comme pour un matriau ferromagntique, do son nom) dans le condensateur avec une charge stocke rmanente qui diffre selon la polarisation. Cest cette charge qui servira stocker linformation. La figure suivante montre un exemple de courbe dhysteresis de condensateur ferrolectrique soumis une tension V :

Si la tension V atteint VSAT puis est ensuite ramene 0, le condensateur conserve une charge positive Q(0) stocke. En faisant passer V -VSAT puis 0, la charge du condensateur devient ngative et passe Q(1). Si on sait dtecter les charges stockes dans le condensateur, on peut raliser une cellule mmoire avec ce type de condensateur. La cellule de stockage utilise par RAMTRON ressemble une cellule de RAM statique avec deux condensateurs ferrolectriques polariss de manire oppose en criture.

219

La lecture seffectue en polarisant les deux condensateurs dans le mme sens, un amplificateur de lecture connect sur les lignes bit mesurant la diffrence de charge entre les deux lments. La lecture est donc destructive car elle implique le dchargement partiel des condensateurs de stockage. Comme pour les RAM dynamiques, la donne mmorise doit tre rgnre chaque lecture. Cette mmoire a comme caractristiques principales : Mise en uvre identique celle dune SRAM. Temps daccs en lecture de lordre de 200 nanosecondes. Temps de cycle dcriture de lordre de 400 nansecondes. Consommation beaucoup plus faible quune E2PROM ou une Flash. Une seule tension dalimentation. Dure de rtention 10 ans. Lendurance nest pas seulement limite en criture, mais aussi en lecture (de toute faon, une lecture implique une criture). Par contre, le nombre de cycle de lecture/criture est trs lev ( > 1010). Prix lev.

Cette technologie peut a priori sadapter la fabrication de mmoires RAM dynamiques. 4.3.5.2 Exemple : la FM1808S de RAMTRON

RAMTRON commercialise une famille de FRAM srie allant de la FM24C04 (512 x 8) la FM25160 (2K x 8) et une famille de FRAM parallle allant de la FM1208S (512 x 8) la FM1808S (32K x 8). La FM1808S est une FRAM CMOS (32K x 8) alimente en 3 V. Son temps daccs en lecture est gal 150 ns et son temps de cycle en criture vaut 235 ns. Elle existe en botier SOP et TSOP 28 broches. Sa consommation typique est gale 20 mA et

220

descend 15 A en mode stand-by. Elle est garantie pour 1012 cycles de lecture/criture avec une dure de rtention gale 10 ans. Le diagramme de blocs de cette mmoire est le suivant :

Il existe deux diffrences entre cette FRAM et une SRAM : Elle possde un systme de protection en criture logiciel, Les adresses sont mises en mmoire (latches) sur le front descendant de CE .

Les chronogrammes suivants montrent un cycle de lecture dune FRAM (tCE correspond au temps daccs de la mmoire) ainsi quun cycle dcriture. tWC et tRC correspondent aux dures des cycles dcriture et de lecture.

221

4.3.6 RAM dynamique 4.3.6.1


4.3.6.1.1

Modles FPM et EDO


Principe gnral

Les RAM dynamiques (DRAM) forment le principal march de mmoires et mme le premier march de lindustrie des semi-conducteurs. Les DRAM sont utilises dans la mmoire centrale de tous les ordinateurs, ce qui reprsente un march de masse. La notion de cot est donc ici essentielle. La structure simplifie dune portion de colonne de RAM dynamique apparat sur la figure suivante. La cellule de stockage comprend un transistor de slection de range en srie avec un condensateur de stockage Cs. Linformation est enregistre sous forme dune charge lectrique contenue dans Cs dune capacit denviron 50 femtofarads (0.05 pF). La lecture de la cellule revient connecter Cs sur la ligne de bit via le transistor de slection de range et lire la tension ses bornes. On crit dans la cellule en appliquant la tension de la ligne de bit sur Cs via le transistor de slection.

222

Bit line m
Xn

Word line n

Cs

Vs

Xn+1

Word line n+1

Cs

Vb

Cb
Rgnration

Ecriture Ecriture Lecture Lecture donne

Amplificateur de lecture seuil

Latch

Ym

Ce mode de fonctionnement pose deux problmes : La ligne de bit prsente une capacit rpartie Cb leve (de lordre de 10 fois Cs) due au nombre lev de cellules connectes sur la colonne. En mettant en parallle Cb sur Cs, la tension Vb lue sur la ligne de bit vaut :
Cs (si Vb = 0 avant la lecture) Cs + Cb

Vb = Vs.

Donc la tension lue est beaucoup plus faible ( 10 fois) que la tension aux bornes de Cs. De plus, la lecture est destructive car Cs va se dcharger dans Cb. Il faut donc rgnrer linformation stocke chaque lecture. Lamplificateur de lecture seuil en bout de colonne doit donc tre plutt sensible et doit dlivrer sur sa sortie le niveau logique stock dans la cellule. Ce niveau doit ensuite pouvoir tre rinject dans la cellule pour la rgnration.

223

Loxyde de silicium (SiO2) utilis comme dilectrique pour raliser le condensateur Cs ntant pas parfait, le condensateur va se dcharger au cours du temps (en quelques millisecondes) mme si on ne lit pas la donne. Il faut donc rafrachir rgulirement la donne en la lisant puis en la rcrivant (ce qui correspond une opration de lecture normale mais sans sortie sur le bus externe).

Lavantage de cette cellule de stockage est sa grande simplicit. Elle occupe une faible surface de silicium et donc son cot est faible. Les mmoires DRAM ont une trs grande densit dintgration et on sait faire aujourdhui des mmoires atteignant 64 Mbits. Cela pose un problme supplmentaire car il faudrait 23 broches dadresses pour adresser une mmoire 8M x 8, ce qui impliquerait des botiers de grande taille et donc un cot lev (parce que le cot du botier est proportionnel au nombre de broches). On divise le nombre de broches dadresses par deux en ralisant une opration de multiplexage. Au lieu denvoyer toutes les adresses la fois, on envoie dabord ladresse de ligne puis ladresse de colonne. A cet effet, deux signaux supplmentaires ont t ajouts par rapport une SRAM, RAS (Row Address Strobe) et CAS (Column Address Strobe). Le chronogramme simplifi suivant montre le droulement dun cycle de lecture (le signal WE est ltat haut pendant la dure du cycle ) :

Il se compose des phases suivantes : 1. Prsentation de ladresse de ligne. 2. Ladresse de ligne est enregistre par la mmoire sur le front descendant de RAS . Toutes les cellules de la ligne sont lues puis mise en mmoire dans les latch de colonne. 3. Prsentation de ladresse de colonne. 4. Ladresse de colonne est enregistre sur le front descendant de CAS . La donne apparat en sortie aprs un temps de propagation.

224

5. Sur le front montant de RAS , toutes les donnes de la ligne slectionne sont rcrites dans les cellules de stockage. Cest la rgnration. 6. CAS remonte. La donne repasse ltat haute impdance aprs un temps de propagation. Le chronogramme simplifi dun cycle dcriture se droule de la manire suivante :

Les phases suivantes sont ncessaires pour crire une donne dans la mmoire : 1. Prsentation de ladresse de ligne. 2. Ladresse de ligne est enregistre par la mmoire sur le front descendant de RAS . Toutes les cellules de la ligne sont lues puis mise en mmoire dans les latch de colonne. 3. Prsentation de ladresse de colonne et de la donne crire. Le signal dentre WE est mis ltat bas. 4. Ladresse de colonne est enregistre sur le front descendant de CAS . La donne Din prsente sur le bus remplace la donne mmorise dans le latch de la colonne slectionne. 5. WE peut repasser 1. 6. Sur le front montant de RAS , toutes les donnes de la ligne slectionne sont rcrites dans les cellules de stockage. 7. CAS remonte. Le cycle dcriture est termin. Il faut noter quune RAM dynamique ne comprend pas de signaux de slection de botier. Ce sont RAS et CAS qui en tiennent lieu. Le schma suivant montre la structure interne dune

225

RAM dynamique 1M x 4. On voit immdiatement la grande complexit ce type de mmoire dont le fonctionnement est loin dtre trivial.

Nous avons parl du mcanisme de rgnration aprs lecture, mais nous navons pas encore abord le problme du rafrachissement. Il seffectue par range entire et ressemble un cycle de lecture simplifi. Il faut lire une range entire de cellules en interne, puis la rcrire. Lensemble des ranges doit tre rafrachie priodiquement, une priode durant de lordre de quelques dizaines millisecondes. Deux modes de rafrachissement existent : RAS-only. Il faut prsenter ladresse de la ligne rafrachir, faire passer RAS 0 pour lire la ligne puis faire remonter RAS 1 pour la rcrire. Un dispositif extrieur la mmoire doit grer ce mode pour gnrer les bonnes adresses de ligne. Pour simplifier le contrleur extrieur, le mode CAS-before-RAS a t cr. Un compteur dadresses de ligne interne est ajout dans la mmoire. Quand CAS passe 0 avant RAS , la mmoire reconnat une commande de rafrachissement, la ligne pointe par le compteur est lue puis rcrite et le compteur est automatiquement incrment. Nous avons dcrit les bases du fonctionnement dune mmoire dynamique avec adressage ligne et colonne multiplex, mais nous navons pas expliqu comment cette structure de mmoire permet damliorer les performances dune DRAM. Le mode daccs par page permet de rduire le temps daccs de la mmoire quand on lit ou quand on crit plusieurs donnes successives (mode rafale ou burst) dans une mme ligne en tirant partie de

226

ladressage en ligne et en colonne. En effet, le temps daccs en lecture la donne stocke est dtermin par : le temps de propagation entre la prsentation de ladresse de ligne sur les broches du botier et la slection effective de la ligne de la matrice de stockage plus le temps daccs de la cellule de stockage, le temps de la lecture et le temps de mise en mmoire dans le latch : tPL. le temps de propagation entre la prsentation de ladresse de colonne sur les broches du botier et la sortie de la donne sur le bus tPC. Dans le mode daccs par page rapide (FPM : Fast Page Mode), on accde la premire donne en faisant passer RAS 0, puis en faisant descendre CAS comme on la vu prcdemment. Mais on peut accder aux donnes suivantes sur la mme ligne en activant seulement CAS , le signal RAS restant 0. A chaque front descendant de CAS , la donne pointe par la nouvelle adresse de colonne apparat. Comme le temps de propagation de ligne tPL nexiste plus, laccs la donne est alors plus rapide. Sur le chronogramme suivant, le temps daccs la premire donne est tRAC (ex : 50 ns) alors que le temps daccs aux donnes suivantes est tCAC (ex : 13 ns). Dautres modes daccs rapide existe, mais le mode FPM est le plus utilis.

Il existe une variante amliore de la RAM FPM qui sappelle RAM EDO (Extended DataOut). Dans cette mmoire, la donne ne passe pas ltat haute impdance quand le signal

227

CAS remonte. Comme le montre le cycle de lecture suivant (DRAM EDO 60 ns), cela
permet de faire remonter CAS et de commencer le cycle suivant avant que la donne ne soit disponible sur le bus alors que dans une DRAM FPM, il faut attendre que la donne soit disponible pour faire remonter CAS (voir chronogramme prcdent).

La modification apporte la DRAM FPM est mineure (une bascule D aprs les amplificateurs de lecture) et laccs en mode page devient plus rapide denviron 30 40 %, le temps daccs la premire donne dune ligne restant identique. La DRAM EDO a remplac la DRAM FPM dans les applications microinformatiques comme le PC par exemple avant dtre elle-mme remplace par la SDRAM. Etant donn la complexit dutilisation dune RAM dynamique, elle est rarement utilise directement par un microprocesseur. Il existe un circuit contrleur de mmoire dynamique qui sert dinterface entre le microprocesseur et les botiers mmoires. Ce contrleur gre : Les extensions de capacit et de largeur de bus de donne Les cycles RAS et CAS avec les conversions dadresses, Les accs FPM, Le rafrachissement.
Exemple : la MT4LC8M8E1 de MICRON

4.3.6.1.2

MICRON commercialise une famille de DRAM allant de la MT4C16257 (256K x 16) la MT4LC4M16F5 (4M x 16). La MT4LC8M8E1 est une DRAM CMOS (8M x 8) alimente en

228

3,3 V. Son temps daccs est gal 50 ns ou 60 ns, elle existe en botier SOP et TSOP 32 broches. Sa consommation typique est gale 135 mA et descend 500 A en mode standby. Lensemble de ses 8192 lignes doit tre rafrachi toutes les 64 millisecondes. Cette mmoire est disponible soit en FPM, soit en EDO. Le diagramme de blocs de cette mmoire est le suivant :

Le chronogramme suivant montre un cycle de lecture. TRAC est le temps daccs la donne et TRC est le temps de cycle de lecture de la donne.

229

Le chronogramme suivant montre un cycle dcriture. TRC est le temps de cycle dcriture de la donne.

Ce dernier chronogramme montre un cycle de rafrachissement CBR.

4.3.6.2

Evolution des DRAM

Les DRAM classiques FPM ou EDO ont atteint leurs limites en terme de temps daccs en mode page. Deux solutions sont utilises pour augmenter la frquence de fonctionnement : La mmoire est rendue synchrone (tous les accs sont synchronis avec une horloge). La structure interne est transforme pour mettre en uvre un pipeline. Le principe est de faire fonctionner plusieurs plans mmoire en parallle pour acclrer les accs.

230

Le schma de principe dune architecture en pipeline est le suivant :

pipeline

donnes 1 donnes 2 donnes 3 donnes 4 multiplexeur Latch donnes Matrice de stockage N2 Dcodeurs dadresses Latch donnes Matrice de stockage N3 Dcodeurs dadresses Latch donnes Matrice de stockage N4 Dcodeurs dadresses

Latch donnes Matrice de stockage N1 Dcodeurs dadresses

Gestionnaire dadresses

adresses

On trouve lintrieur de la mmoire 2 ou 4 sous-systmes de mmorisation de type EDO ou FPM incluant une matrice de stockage ainsi que les dcodeurs dadresses de ligne et de colonne et les latch de donnes. Imaginons que lon souhaite lire des donnes successives partir de ladresse N. Dans un premier temps, on va prsenter ladresse N sur la sous mmoire n1 (SM1) et les adresses N+1, N+2 et N+3 sur les sous mmoires 2 (SM2), 3 (SM3) et 4 (SM4). Quand la premire donne est accessible sur SM1, elle entre dans le pipeline, le multiplexeur de sortie passe sur SM2 et ladresse N+4 est prsente SM1. Quand la deuxime donne est accessible sur SM2, elle entre dans le pipeline, le multiplexeur passe sur SM3 et ladresse N+5 est prsente SM2. Quand la troisime donne est accessible sur SM3, elle entre dans le pipeline, le multiplexeur passe sur SM4 et ladresse N+6 est prsente SM3 et ainsi de suite. Les sous-systmes fonctionnent en parallle, et on profite de la lecture dans une SM pour prparer laccs dans les autres. Il faut noter que laccs la premire donne nest pas plus rapide quavec une DRAM classique. Si vous rendez synchrone ce type de mmoire, vous obtenez une SDRAM (Synchronous DRAM). Lobjectif est qu partir du moment o le pipeline est rempli, la mmoire accde une nouvelle donne chaque coup dhorloge. Le diagramme de blocs suivant montre larchitecture interne dune SDRAM MT48LC8M8A1 (8M x 8) de chez MICRON :

231

Ce type de mmoire est compliqu utiliser et seul un contrleur adapt permet den obtenir toutes les performances. Elle est utilise laide de mots de commande qui permettent de grer ses diffrents modes de fonctionnement. Le chronogramme suivant montre un cycle de lecture simplifi. Pendant laccs la premire donne, un certain nombre de coup dhorloge est perdu : cest le temps de latence. Les donnes suivantes sont obtenues au rythme de lhorloge.

Cette mmoire fonctionne jusqu 125 MHz. Une volution des SDRAM est la SDRAM DDR (Double Data Rate) qui fonctionne sur les fronts montant et descendant de lhorloge et permet de doubler la frquence de fonctionnement.

232

Deux inconvnients des mmoires SDRAM sont le nombre de broches lev quelles imposent au contrleur (plus de 100) ainsi quune frquence de travail encore limite. Deux familles de DRAM sont donc apparues pour pallier ces dfauts : les RDRAM (Rambus DRAM) et les SLDRAM (SyncLink DRAM). Leur principe est identique et repose sur un bus de communication troit trs haut dbit ( > 500 Mo/s). Comme les SDRAM, elles sont synchrones et leur architecture interne est de type pipeline. Les deux schmas suivants montrent un plan mmoire de 16M x 8 ralis avec des SDRAM et des RDRAM. Dans le premier cas, le contrleur ncessite 120 broches alors que 62 broches suffisent dans le second. Il nest pas vident de savoir aujourdhui laquelle de ces deux technologies (RDRAM ou SDRAM DDR) sera utilise dans les ordinateurs.

16M x 8 : SDRAM

16M x 8 : RDRAM

Il est noter que certaines RAM statiques utilisent aussi les organisations en pipeline, le mode synchrone ainsi que les accs en rafales (burst). En effet, la frquence de fonctionnement des microprocesseurs augmente bien plus rapidement que le temps daccs des DRAM ne diminue. On sait faire aujourdhui couramment des microprocesseurs fonctionnant 600 MHz et aucune DRAM nest capable de suivre une telle cadence. On insre donc entre le microprocesseur et la mmoire centrale une mmoire cache SRAM de petite taille (256 Ko 1 Mo) qui sert acclrer les changes. Le microprocesseur va dabord chercher (en criture ou en lecture) les donnes dans le cache et naccde la DRAM que si la donne ne sy trouve pas. Cest dans ce domaine dutilisation que lon rencontre des mmoires SRAM synchrones fonctionnant par rafale et architecture pipeline. Comme cette mmoire cache externe fonctionne une frquence infrieure ou gale la frquence interne du microprocesseur (par exemple la moiti de la frquence de fonctionnement pour un

233

Pentium III), il y a un premier niveau de mmoire cache de trs petite taille (8 Ko 64 Ko) lintrieur du microprocesseur qui lui fonctionne la frquence maximale du circuit. Comme nous lavons dj vu, le microprocesseur accde en rafale aux donnes qui se trouvent gnralement des adresses conscutives. Le tableau suivant vous donne, titre indicatif, le nombre de cycle dhorloge permettant daccder la premire donne ainsi quaux trois suivantes pour diffrents types de mmoires :

type de mmoire SRAM cache L2 DRAM FPM DRAM EDO SDRAM

nombre de cycles en mode rafale 2/1/1/1 5/3/3/3 5/2/2/2 5/1/1/1

234

4.4

Exercices

exercice 4.1 On dispose de mmoires mortes 16K x 4 ayant une entre CS . 1. Combien ces mmoires ont-elles de broches dadresses ? 2. A quoi sert la broche CS ? 3. On souhaite raliser un plan mmoire 32K x 8. Proposer un schma de principe ainsi quune table dadresses. exercice 4.2 On dispose de mmoires mortes 8K x 8 ayant une entre CS . 1. Combien ces mmoires ont-elles de broches dadresses ? 2. A quoi sert la broche CS ? 3. On souhaite raliser une mmoire 32K x 16. Proposer un schma de principe ainsi quune table dadresses. exercice 4.3 On travaille avec un bus dadresses cod sur 16 bits. On dispose dune ROM slectionne par

CS cbl sur A15 et dune RAM slectionne par CS connecte un NAND de A14, A13
et A12 . 1. Donner toutes les adresses slectionnant la ROM. 2. Donner toutes les adresses slectionnant la RAM. 3. Faire un tableau dadresses. Sachant que lon ne veut utiliser quun seul botier RAM et ROM, donner les adresses de ces lments en recherchant la taille maximale possible en Kilo-octets. Existe-t-il des adresses images ? 4. Trouver les fonctions slectionnant les zones libres et prciser leur taille. 5. On veut partager en 8 blocs successifs la zone dbutant en 7000h. Donner le montage ralisant cette fonction en utilisant un dcodeur 3 vers 8. On notera s0 s7 les sorties du dcodeur. exercice 4.4 On travaille avec un bus dadresses cod sur 16 bits. La figure suivante reprsente une partie du schma dune maquette base de 6802.

235

adresses

ROM 2K x 8 bits donnes CE

A13

Y7

priphrique

A14

CS

A15

C Y0 Dcodeur 3/8 CS adresses RAM 4K x 8 bits donnes

Le dcodeur 3 vers 8 dcoupe lespace adress par le microprocesseur en 8 blocs dadresses. Seules sont reprsentes sur le schma les connexions concernant ladressage et la slection des botiers. Le type de priphrique na pas dimportance, seule son adresse de slection nous intresse. 1. Calculer la limite infrieure et suprieure ainsi que ltendue de chaque bloc dadresses que vous exprimerez en hexadcimal (faites un tableau). 2. Indiquez la plus petite et la plus grande adresse de la RAM et de la ROM. Que se passerait-il si on crivait ladresse 1100h au lieu de 0100h ? 3. Quelles sont les adresses du priphrique. exercice 4.5 1. Donner le schma interne dun dcodeur 2 vers 4 avec et sans entre G. 2. Combien de transistors CMOS sont ncessaires pour raliser ce circuit (avec et sans G) ? Combien de transistors CMOS sont ncessaires pour raliser un dcodeur N vers 2N (avec et sans G) ? 3. On souhaite raliser une ROM 1M x 1. Calculer le nombre de transistor CMOS ncessaires pour raliser une slection dadresses linaire avec un dcodeur unique. Comparer ce nombre avec le nombre de transistors ncessaire la ralisation de la matrice de stockage.

236

4. Pour diminuer la taille du dcodeur dadresses, on utilise une autre mthode appele slection tage. On utilise pour cela des dcodeurs 4 vers 16 que lon met en cascade. Proposer un schma et calculer le nombre de transistors CMOS ncessaires. Comparer avec la question prcdente et conclure. 5. On utilise maintenant une mthode diffrente appele slection matricielle. Les cellules de stockage sont maintenant organises en une matrice 1024 x 1024 et les adresses sont spares en deux, les adresses de ligne et les adresses de colonne. Le schma suivant vous montre un exemple dorganisation matriciel 4 x 4.

X0 ES 0-0 A0 X1 ES 1-0 ES 1-1 ES 1-2 ES 1-3 ES 0-1 ES 0-2 ES 0-3

dcodeur de lignes

A1

X2 ES 2-0 X3 ES 3-0 Y0 Y1 ES 3-1 Y2 ES 3-2 Y3 ES 3-3 ES 2-1 ES 2-2 ES 2-3

dcodeur de colonnes
A2 A3

Calculer le nombre de transistor CMOS ncessaires pour raliser les deux dcodeurs. Comparer ce rsultat avec ceux des questions 3 et 4. Est-il possible dutiliser une slection tage dans ce type de montage ? 6. On utilise maintenant une matrice 4096 x 256. Combien de bits faut-il pour adresser X et Y. Quelle cellule est slectionne quand on prsente ladresse C35A9h lentre de la mmoire ? exercice 4.6 On travaille avec un microprocesseur de type 6802 fonctionnant une frquence gale 1 MHz. Les cycles de lecture et dcriture sont les suivants (tH = tAH = 20 ns) :

237

Cycle de lecture : tAD max = 270 ns, tDSR min = 100 ns,

Cycle dcriture : tAD max = 270 ns, tDDW max = 225 ns,

On se place dans le cas le plus simple. 1. Expliquer la signification des temps tAD, tDSR, tDDW, tH et tAH. 2. Donner le temps daccs maximum autoris par le microprocesseur pour une opration de lecture. 3. Donner le temps maximum allou par le microprocesseur pour une opration dcriture. 4. Les temps de maintien sont-ils difficiles respecter ? exercice 4.7 On souhaite raliser un transcodeur binaire naturel code de Gray sur 4 bits laide dune PROM. 1. Quelle taille de mmoire faut-il choisir ? 2. Proposer un schma et donner le contenu de la mmoire. exercice 4.8 On souhaite raliser un transcodeur binaire naturel BCD (entre sur 4 bits) laide dune PROM. 1. Quelle taille de mmoire faut-il choisir ? 2. Proposer un schma et donner le contenu de la mmoire. exercice 4.9

238

On souhaite raliser un gnrateur de caractres pour un terminal dordinateur laide dune PROM. On place en entre le code ASCII du caractre et on obtient sur plusieurs adresses conscutives les diffrents points de la matrice 5 x 8 reprsentant le caractre. Prenons lexemple du A (code ASCII = 0100 0001). Sa matrice est la suivante :

Les carrs noirs correspondent des points allums (valeur 1) et les carrs blancs des points teints (valeur 0). 1. Sachant que lon cherche afficher la partie basse de la table ASCII (128 valeurs), calculer la taille de la mmoire ncessaire la gnration. 2. Sur quelles adresses va-t-on prsenter le code ASCII ? Sur quelles adresses va-t-on prsenter la slection de la ligne de balayage ? Donner les valeurs mises en mmoire pour la caractre A. exercice 4.10 Soit le montage bistable transistors bipolaires suivant (VCEsat = 0.2 V, VBEsat = 0.8 V, =50) :
5V

1 K V1

1 K V2

T1

T2

On suppose que le transistor T2 est satur et le transistor T1 est bloqu.

239

1. Calculer les diffrentes tensions et courants de ce montage et vrifier lhypothse prcdente. Cet tat est-il stable. 2. On applique une tension de 0 V sur V2 et de 1 V sur V1. Que se passe-t-il ? 3. On applique une tension de 1 V sur V2 et de 0 V sur V1. Calculer les diffrentes tensions et courants du montage et dterminer ltat des transistors. Estce V1 ou V2 qui a fait basculer le montage ? 4. V1 et V2 sont maintenant dconnect. Le montage est-il stable ? a-t-on ralis une mmoire ? 5. Proposer une mthode permettant de dtecter ltat stock. exercice 4.11 Dans une RAM dynamique, au moment de la lecture, tout se passe comme si on mettait en parallle le condensateur parasite Cb sur le condensateur de stockage Cs. On suppose que le condensateur est entirement dcharg au dbut de la lecture et quil ny a pas de perte de charge dans le montage. 1. Ecrire la valeur de la charge stocke dans Cb et Cs linstant initial. 2. Ecrire la valeur de la charge stocke dans Cb et Cs la fin de la lecture. 3. Retrouver la formule vue dans le cours exprimant la tension lue aux bornes de Cb la fin de la lecture en fonction de la tension aux bornes de Cs linstant initial, de Cs et de Cb. exercice 4.12 On cherche faire communiquer deux systmes ayant des frquences de fonctionnement diffrentes selon le schma :

Data-in

Data-out

Systme A

W FF

FIFO
asynchrone

R EF

Systme B

Le FIFO asynchrone 4 x 8 possde une sortie FIFO plein (FF) et une sortie FIFO vide (EF). Le montage respecte les proprits suivantes : La donne est crite sur le front montant de W, elle est lue sur le front montant de R.

240

La frquence du systme A est gale 10 KHz alors que la frquence du systme B nest que de 3.3 KHz (les deux horloges sont en phase). On suppose que la premire donne transmettre vaut 0 et que les donnes suivantes sont incrmentes de 1 chaque coup dhorloge. Le systme A ncrit pas dans le FIFO quand il est plein, le systme B ne lit pas le FIFO quand il est vide. W et R sont des impulsions de courte dure dclenches par le front montant des horloges.

1. Reprsenter ltat interne du FIFO ainsi que les diffrents chronogrammes pendant une transmission partir de linitialisation. 2. Quel est le dbit rel de la transmission en rgime tabli ? exercice 4.13 Soit la mmoire AM27C1024 dont la documentation se trouve la page A-25. 1. Quelles sont les caractristiques gnrales de ce circuit ? 2. Comment varie le courant dalimentation avec la frquence et la temprature ? 3. Que reprsentent les temps tACC, tCE, tOE, tDF et tOH ? 4. Comment efface-t-on cette mmoire ? 5. Comment programme-t-on cette mmoire ? exercice 4.14 Soit la mmoire CY7C109 dont la documentation se trouve la page A-37. 1. Quelles sont les caractristiques gnrales de ce circuit ? 2. On sintresse au cycle de lecture n2. Que reprsentent les temps tRC, tACE, tDOE, tHZOE et tHZCE ? 3. On sintresse au cycle dcriture n2. Que reprsentent les temps tWC, tSCE, tSA, tAW, tPWE, tHA, tSD et tHD ?

241