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

1.2.2
1.2.3
1.2.4

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

Algbre de BOOLE ................................................................................................................... 12


Expression dune fonction logique ........................................................................................... 14
Simplification des fonctions logiques ....................................................................................... 16

1.2.4.1
1.2.4.2

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

1.3.2
1.3.3
1.3.4

Base dun systme de numration ........................................................................................................23


Changement de base.............................................................................................................................25

Entiers signs............................................................................................................................ 27
Nombres rels (flottants) .......................................................................................................... 29
Des codes particuliers .............................................................................................................. 30

1.3.4.1
1.3.4.2
1.3.4.3
1.3.4.4
1.3.4.5
1.3.4.6

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

2.10.3

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

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

2.10.3.1
2.10.3.2
2.10.3.3

Dfinition ..................................................................................................................................... 109


Applications ................................................................................................................................. 110
Le SN74LS178, registre polyvalent de 4 bits............................................................................... 111

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

3.3.2
3.3.2.1
3.3.2.2
3.3.2.3
3.3.2.4

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

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


La logique MOS ................................................................................................................................ 144
La logique CMOS.............................................................................................................................. 145
Caractristiques lectriques ............................................................................................................... 147
Tension dalimentation et puissance.................................................................................................. 149

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

4.2.2

Principe gnral..................................................................................................................................185
Exemple : la 82S129A de Philips.......................................................................................................188

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

4.2.2.1
4.2.2.2

4.2.3

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

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

4.2.3.1
4.2.3.2

4.2.4

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

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

4.2.4.1
4.2.4.2

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

4.3.2

Principe gnral..................................................................................................................................205
Exemple : la CY7C1009 de CYPRESS..............................................................................................208

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

4.3.2.1
4.3.2.2

4.3.3

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

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

4.3.3.1
4.3.3.2

4.3.4

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

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

4.3.4.1
4.3.4.2

4.3.5

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

FRAM...................................................................................................................................... 219

4.3.5.1
4.3.5.2

4.3.6

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

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

5.4.2

Les circuits prdiffuss classiques..................................................................................................... 248


Les circuits mer-de-portes ................................................................................................................. 249

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

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 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

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

2 ,7 v
parasites
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

Transducteur

signal
analogique

signal
analogique

Conversion analogique/numrique

Filtre passe-bas
anti-repliement

Echantillonnage

Traitement
numrique

Quantification

Conversion
numrique/
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

QUANTIFICATION
*

etc
7
6
5
4
3
2
2
*
1
0
NIVEAUX

8*

9*

*6
*

arrondi au plus prs


pas de quantification

etc
00100
00011
00010
00001
00000
t
Code binaire
correspondant

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

code

00000000

Niveau 1

code

00000001

Niveau 2

code

00000010

code

11111111

Niveau 255

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

tension

transmission

10v

Ov
CODE :

10v
SEUIL de
dtection
5 volt (milieu
t

Ov

parasites

CODE : ?

REMISE EN FORME

Pas d' erreur


tant que le
bruit est
infrieure
t 5 volt !!!

10v

Ov
CODE :

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.

1
0

1
0

1
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

Symbole traditionnel

Symbole normalis

VDD

S=A

S
A

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

S = A.B

1.2.1.3

A
S
B

&

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

Montage

Symbole traditionnel

Symbole normalis

VDD
A

S = A+B

1.2.1.4

B
S

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

Montage

Symbole traditionnel

Symbole normalis

VDD
A

S = A.B

1.2.1.5

&

A
B

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

Montage

Symbole traditionnel

Symbole normalis

VDD

S=A+B

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

Montage

Symbole traditionnel

Symbole normalis

VDD
A

S = AB

1.2.1.7

B
1

=1
S

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

Montage

Symbole traditionnel

Symbole normalis

VDD
A

S= AB

1.2.1.8

B
1

=1

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

S
A

OU

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
.
.
.

S = f(A, B, C, )

Fonction
logique f

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

A.B = B.A
A+B = B+A

Associativit

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

Distributivit

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

A.A = A
A+A = A

A.A = 0

Complmentarit

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

14

Sorti
e

Valeur
entire

A B C combinaison

0 0 0

A. B . C

0 0 1

A.B.C

0 1 0

A.B.C

0 1 1

A.B.C

1 0 0

A.B.C

1 0 1

A.B.C

1 1 0

A.B.C

1 1 1

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

Code GRAY

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

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

B
0

S = A.B

B
0

S = A.B

B
0

S=B

Exemple 2 : trois variables dentre A, B et C


18

S=A

1 case = produit de 3 variables


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

BC
A

00

01

11

10

A=1

00

01

11

10

C=1

S = A.B.C

S = B.C

B=1
01

11

10

A=1

00

01

11

10

C=1

C=1

S=A

S=B

B=1

BC
01

11

10

A=1

00

01

11

10

C=1

C=1

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

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

19

A=1

B=1

BC

00

A=1

B=1

BC

00

C=1

BC
A

B=1

BC

A=1

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

CD

00

01

11

10

00

01

AB

00

01

11

10

00

01

11

B
11

0
A

10

10

S = A.B.C.D

S = A.D
C

CD
AB

CD

00

01

11

10

00

01

AB

00

01

11

10

00

01

11

B
11

0
A

10

10

S = C.D

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

CD
AB

CD

00

01

11

10

00

01

AB

00

01

11

10

00

01

11

B
11

1
A

10

10

D
S=A

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

B
0

S = AB

S = AB

21

BC
A

00

01

11

10

00

01

11

10

S = ABC

S = ABC

CD
AB

BC

CD

00

01

11

10

00

01

AB

00

01

11

10

00

01

11

B
11

1
A

10

10

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

00

01

11

10

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


A

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

Chiffre de
poids faible

La forme polynomiale est :

(93452)10 9.104 + 3.103 + 4.102 + 5.101 + 2.100


=
rang

Un autre exemple avec un nombre rel :

23

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


=
rang

-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

0.23 +

1.22 +

1.21 +

0.20

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

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


=

(a0c25)16
=

a.164 0.163 + c.162 2.161 + 5.160 = (658469)10


+
+

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

23

11

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

0 1111

0 0010

0 0001

0 0000

-0

1 0000

-1

1 0001

-2

1 0010

-(2N-11)

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

0 0010

0 0001

0 0000

-1

1 1111

-2

1 1110

N-1

-(2

) 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

format

valeur max

prcision max

32

1 + 8 + 23

2128 10+38

2-23 10-7

64

1 + 11 + 52

21024 10+308

2-52 10-15

80

1 + 15 + 64 216384 10+4932

2-64 10-19

1.3.4 Des codes particuliers


1.3.4.1

Le code BCD

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

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

Gray

b2 b1 b0

g2 g1 g0

On dduit les quations et les schmas suivants :

De binaire naturel vers code


Gray

De code Gray vers binaire


naturel

g0 = b0b1

b0 = g0b1

g1 = b1b2

b1 = g1b2

g2 = b2

b2 = g2

b0

g0
g0

b0

b1

g1
g1

b2

b1

g2

g2

32

b2

Sur un nombre quelconque de bits, on obtient les quations :

1.3.4.3

De binaire naturel vers code Gray

De code Gray vers binaire naturel

gi = bi XOR bi+1 pour 0 < i < N-2

bi = gi XOR bi+1 pour 0 < i < N-2

gN-1 = bN-1

gN-1 = bN-1

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

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

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

octets
traitement

36

MUX

bits srie

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

a1

Y1
Y2
Y3

a0

Le schma fondamental dun dmultiplexeur est :

a1

a0

Y0

Y1

Y2

Y3

Sa table de vrit est gale :

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

a1

a0

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

A1 A0

Ea

Ea

X X

X X

Validation b

SORTIES b

Eb

Eb

O 0 O1 O 2 O 3

O 0 O1 O 2 O 3

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 :

a1

a0

Y0 = a 0 .a 1

Y1 = a 0 .a 1

Y2 = a 0 .a 1

Y3 = a 0 .a1

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

Mux
4 vers 1

I2
I3

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

a0

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

Zb

Eb

Table de vrit
Slection

Entres (a ou b)

Sorties (a ou b)

S1

S0

I0

I1

I2

I3

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

Encodeur
de priorit

I2 = 1

a1 = 1
a0 = 0

I3 = 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

A2
A1
A0
GS
EO

EI

Table de vrit
Entres

Sorties

EI

A2 A1 A0 GS EO

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

Ci

Bi

Additionneur
1 bit

Si

43

Ci-1

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

S3

S2

S1

C-1 = 0

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

1
2
3
4

B1
B2
B3
B4
Cin

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
OA>B
OA<B
OA=B

B0
B1
B2
B3
IA>B
IA<B
IA=B

Par exemple, la table de vrit du SN74LS85 est :

Table de vrit
A3,B3

A2,B2

A1,B1

A0,B0

IA>B IA<B IA=B OA>B OA<B OA=B

A3>B3

A3<B3

A3=B3

A2>B2

A3=B3

A2<B2

A3=B3

A2=B2

A1>B1

A3=B3

A2=B2

A1<B1

A3=B3

A2=B2

A1=B1

A0>B0

A3=B3

A2=B2

A1=B1

A0<B0

A3=B3

A2=B2

A1=B1

A0=B0

A3=B3

A2=B2

A1=B1

A0=B0

A3=B3

A2=B2

A1=B1

A0=B0

A3=B3

A2=B2

A1=B1

A0=B0

A3=B3

A2=B2

A1=B1

A0=B0

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

a0

Y0

Y1

Y2

Y3

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.

a2

a1

a0

1. La forme canonique complte est :

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

G=1

0
1
2
3
4
5
6
7

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

tTHL

tTLH

90 %

Sortie

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

s+(t) retard

s(t)

a1

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

01

11

10

phases transitoires s+ s
4

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

4
52

Prvision des alas de commutation : un exemple


Soit le circuit suivant :

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
000 001

011 010

110 111

101 100

d+

phases
transitoires
phases
stables

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

abc
000 001

011 010

110 111

101 100

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.
Pas dala

abc = 111 Phase transitoire : S =


1
Etat final : S = 1.

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

tp

tp
ala de
commutation

b.c
d

a.d

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
000 001

011

010

110 111

101 100

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.d
+

d d
b.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
Y1
Y2

C
B

Dcodeur
3 vers 8

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

Code 2 de 5
b4

b3

b2

b1 b0

60

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
F

a2
b2
a3
b3

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 = 1 si ai > bi , 0 sinon.

62

Si
Ei
Ii

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

E0
Mux
E1
4 vers 1
E2
E3 a1 a0

S1

A
B
1
1
0
1

E0
Mux
E1
4 vers 1
E2
E3 a1 a0

S2

C
D
E

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

t [ns]

100

t [ns]

100

t [ns]

E2 [V]

1,5

S [V]

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

2.1

(avec tats internes)

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 :

Q0

Q1

interdit

interdit

Q0

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

X2

x2

X1

x1

combinatoire
idal

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+

Q1+

Q0

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

Q1 Q0

00

01

11

10

00

11

11

11

11

01

11

11

01

01

11

11

10

00

01

10

11

10

10

11

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

69

r notation

Q0

Q1

notation

La table dtats internes obtenue est :

rs

Q1Q0
a

d
instable Q1+ Q0+ Q1 Q0

Q1 Q0

stable Q1+ Q0+ = Q1 Q0


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

c
2
2

d
0
3
a

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

2 3

Q=0
Q=1

Q=1
Q=0

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

Q+

fonction

mmoire

mise 1

mise 0

interdit

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

Q
latch
R-S

J
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

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 :

Qn+1

fonction

Qn

mmoire

Qn

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

Q
RSH
Q

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

E2

E1

E3

E2

E3

tP

tP

Rtroaction. Le montage oscille.

D
H

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

HM

S
Matre

Q
Esclave
Q

HE

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.

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 :

Q
H
tPCk

H
Q

H
H

r
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=00
SR=01

1
SR=10

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 :

Qn+1

fonction

Qn

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 :

Qn+1

fonction

Qn

mmoire

mise 0

mise 1

mmoire

Son graphe dvolution est :

JK=0X

JK=X0
JK=1X
0

1
JK=X1

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
D=1
0

1
D=0

Sa table de vrit est :

78

D H

Qn+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 :

Qn+1

fonction

Qn

mmoire

mmoire

Son graphe dvolution est :


T=0

T=0
T=1
0

1
T=1

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

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.

tW

CD

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
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

> tH

> tSU

TCK

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

N
registre

Circuit logique
combinatoire

N
registre

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

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

Q0

T1

Q
Q

Q1

H
H

Q0

activation
bascule
souhaite

tP1

Q1

tP2
parasites

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.

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

Q0

T1

D
CE

Q1

Q
Q

H
H
parasites
Q0

Q1

tP1

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)

compteur cycle incomplet

binaire naturel

binaire quelconque

compteur

dcompteur

gray

Johnson

1 parmi 3

pseudoalatoire

Q2 Q1 Q0

Q2 Q1 Q0

Q2 Q1 Q0

Q2 Q1 Q0

Q2 Q1 Q0

Q2 Q1 Q0

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.

Le compteur Johnson. On dtermine partir de la squence dtats que Q1n +1 = D1 = Q 0n ,

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


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

Q2

Q1

Q0

D0

92

Q1 Q0
00

01

11

10

Q2
D0

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

Q0

D1

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
00

Q2

01

11

10

001 010 100 011

101 110 000 111

Q2 + Q1 + Q0 +

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

Q 1 Q0

00

Q2
0

01

11

10

Q2

001 01X 1XX 0X1

J 2J 1J 0

00

01

11

10

XXX XX1 X11 X0X

0XX 0X1 111 00X

K2 K1 K0
1

X01 X1X XXX XX1

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

00

01

11

10

001 011 111 001

001 011 111 001

T0 = 1
T1 = Q0

T2 T1 T0

T2 = Q1Q0

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

Q1

T2

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

D
CE
CK

clear

Latches
transparents

Q
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

Pr

Ck
1

Pr

Ck
Cl

Ck

Pr

Ck
Cl

Q0

Pr

Ck
Cl

Q1

Cl

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

CktoQ

s'ajoutant, un dessin en haute

frquence montre des tats parasites de commutation :


tP CktoQ
Ck
tP CktoQ
Q0
Q1

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
6

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

Pr

Ck
Cl

Q0

Pr

Ck
Cl

Q1

Ck

99

Pr

Ck
Cl

Q2

Cl

Q3

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

160

161

162

163

190

compteurdcompteur

chargement

remise zro

(load)

(raz)

synchrone

asynchrone

synchrone

asynchrone

synchrone

synchrone

synchrone

synchrone

191

192

193

ligne down/up

synchrone

ligne down/up

synchrone

deux horloges

asynchrone

asynchrone

deux horloges

asynchrone

asynchrone

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

Qi

Ck
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 :

Ei entre parallle

Load asynchrone

Set
D

Qi

Etage N i

Ck

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

carry
Ck up

MSB

down

LSB

borrow

Ck down

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

Q7

CE

LSB

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

Ralisation de compteurs modulo quelconque.

2.10.2.5.1

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

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

Cas 2

Cas 3

Signal 1

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.

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

tat 5

Horloge

tp porte

Sortie du NAND

Tsetup Clear

tP Ck to Qi

On dduit de ce chronogramme la frquence maximale du compteur :

Fmax =

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

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

P3 P2 P1 P0
Load

cablage du code 10 dcimal


entres parallles

Carry

Q3 Q2 Q1 Q0 sorties

Frquence F/6

106

Frquence F/6

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 :

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
parasite

S2

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
S2resync

Q
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

PN-1

chargement
Q0

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

Ck

Q0

Q1

Q2

Q3

b0

b0

b1

b1

b0

109

b2

b2

b1

b0

b3

b3

b2

b1

b0

b4

b4

b3

b2

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

Ck

Q0

Q1

Q2

Q3

P0

P1

P2

P3

P0

P1

P2

P0

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 ...

100000000000
010000000000
001000000000
000100000000
etc.
000000000001

Entre srie
Ck

2.10.3.3

Registre reboucl

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

P1

P2

P3

Entres parallles

DS
CP

SE
PE

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

PE

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
Di

Qi-1

SE

Q
Qi

SE.PE
Ck

Etage i

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

sorties
B

112

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
S

2
R

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

CP

Q
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

t
Q
1
0

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

QA

QB

QC

QD

EN
H

horloge

compteur
16 bits

H
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

J1 S Q1

J2 S Q2

J 3 S Q3

K0 R Q0

K1 R Q1

K2 R Q2

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

01

0
1

117

11

10

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.

Q
Ck

Q
Ck

Q
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

01

11

10

0
1

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

D1

Q0

Q1

D2

Q2

D3

Q3

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

SL
D0
H

Q0

D1

D2

Q1

Q2

D3

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

D0

S0

Q0

M
S0

D1

Q1

S0

D2

Q2

D3

S0

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

D0

S0S1

Q0

D1

S0S1

Q1

D2

S0S1

Q2

D3

S0S1

Q3

H
A

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

EN P
RCO

CK
QA QB QC QD

EN T

EN P
RCO

EN T

CK

EN P
RCO

CK

QA QB QC QD

QA QB QC QD

EN T

RCO

CK
QA QB QC QD

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

Sortie

Entre

Sortie

I (input)

O (output)

I (input)

O (output)

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

IIH
VOH

Rth
IOH
VOH max

VOH

123

VIH

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

IIL
VOL

VIL

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

Entre

Sortie
VOHmax
Niveau 1

VOHmin

VIHmax
Niveau 1

VIHmin
L

VILmax
Niveau 0

VOLmax
Niveau 0

VOLmin

VILmin

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

0
IIL

1
IOH

IIL

IIH

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

VCE

T1

RC

T0

VCC
0

VCE

T = 1/f

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
2

nulle (IC = 0), et la puissance statique dissipe ltat 0 (VCE = 0) vaut PSD0

V
= CC . La
RC

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

127

t .V
.dt = T CC
6.R C

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

t
ic

VCC/RC
0

PDD=vce.ic

t
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

VS

t
tT

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

M
puce

t
tT
vM

r
vMmax
0
vM

iM

-vMmax

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

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

t p
VCC

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

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

type de botier :
N : dual in line plastique
J : dual in line cramique
D : small outline

famille :
LS : low power Schottky
ALS : Advanced LS

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

ve [V]

RC
0,8
vce
vs
ve

IC

vs [V]
saturation
VCC

blocage

linaire

blocage

VCEsat

blocage
linaire

saturation
t

VCE
VCEsat

VCC

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

C
VCEsat

VBEsat
E

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

A
B

130

1,6 k

T2

T1

T3
D0
S

1 k

136

T4

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

Sortie 0

T3 satur
Vseuil
VOL vide 0,1 V

entre

0,7 V

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

= 2V

VILmax

= 0,8 V

VOLmax = 0,4 V

IIHmax

= 40 A

IOHmax

= 0,4 mA

IILmax

= 1,6 mA

IOLmax

= 16 mA

en sortie

VOHmin = 2,4 V

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

T2

T1

S
T4

1 k

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

A
B

600

100

T2

T1

T3
T3
4 k
S

400

T4

140

3.3.1.5

La porte TTL 3 tats notion de bus

3.3.1.5.1

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
600

4 k

A
B

100
T3

T2

T1

T3
4 k
S

400

Logique de
contrle

T4

Le schma logique quivalent est le suivant :


A

A
S

S
B

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

Circuit 1

Circuit 2

Commande
trois tats

dout

dout

din

din

Commande
trois tats

Circuit 3

Circuit 4

Commande
trois tats

dout

dout

din

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)

G
D

D
ID

canal n

VDS
VGS
S

substrat P

Ses caractristiques lectriques sont :


ID

ID
rsistance
variable

VGS croissant
saturation

VDS

VGS
Vp

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

ID=f(VDS) pour e=1

S
e

VGS

S=0

ID

S=1

VDS
S

ID=f(VDS) pour e=0

VDS
U

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
T2
D

T2 bloqu

VDS
U

ID
e

D
T1

VGS

T2 passant

s
e=0

s=1
T1 bloqu

VDS
U

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

dalimentation.

En

effet,

le

courant

disponible

maximum

vaut

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

5 mW

CMOS
5 W

f
5 kHz 50 kHz 500 kHz 5 MHz

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


U
P

S= AB
A

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

entre
Vcc

VOHvide

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

0
0

VOLvide

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

0.35 m

5V

2 (en
thorie)

3.3 V

0.66

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

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

tPLH dans une porte OU de type 74LS32.

Frquence maximale

Toggle Rate dune bascule D de type 74LS74.

Temps de transition

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

Motorola Low power Schottky TTL

ALS

Texas Instrument Advanced Low power Schottky TTL

ABT

Philips Advanced BiCMOS Technology

FAST

Motorola Advanced Schottky TTL

MG

Motorola 14000 Series Metal Gate CMOS

HC

Motorola High-Speed Silicon Gate CMOS

FACT

Motorola Advanced CMOS

LVC

Philips Low-Voltage CMOS

10KH

Motorola 10KH Series ECL

E-lite

Motorola (ECLinPS Lite) Advanced ECL

152

Tableau comparatif des familles logiques


Paramtres

familles logiques

commerciaux
typiques 25 C

TTL/ABT

CMOS

LS

ALS

ABT

FAST

MG (Vcc=5V)

HC

FACT

temps de propagation [ns]

14

2,3

160

10

frquence maximal [MHz]

33

45

250

125

40

temps de transition [ns]

2,5

100

statique [mW]

2,5

0,005

12,5

1 MHz [mW]

2,5

12,5

ECL
LVC

10KH

E-lite

3,3

0,25

160

200

330

2800

3,5

0,25

0,0006

0,001

0,003

0,0001

25

73

0,4

0,6

0,8

0,6

25

73

3 18

26

26

1,2 3,6

-4,5 -5,5

-4,5 -5,5

(Vcc=3,3V)

vitesse

consommation par porte

tension d'alimentation [V]

4,75
5,25

4,5 5,5 4,5 5,5 4,5 5,5

20

20

24

24

charge 50

charge 50

tat haut [%]

22

22

22

22

30

30

30

30

30

33

tat bas [%]

10

10

10

10

30

30

30

30

30

33

DIP

oui

oui

oui

oui

oui

oui

oui

non

oui

non

SO

oui

oui

oui

oui

oui

oui

oui

oui

non

oui

LCC

non

oui

non

oui

non

non

oui

non

oui

non

fonctions dans la famille

190

210

50

110

125

103

80

35

64

40

prix relatif par porte

0,9

1,6

0,9

0,9

1,4

1,8

32

courant de sortie [mA]


marge de bruit

botiers

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

DIP

dimensions

application

pitch = 100 mil

circuits
standards

hauteur = 130
170 mil

SHRINK DIP

pitch = 70 mil

circuits
standards

hauteur = 130
170 mil

pitch = 100 mil


SKINNY DIP

hauteur = 130

circuits

170 mil

standards

largeur divise
par 2

158

windowed
CERDIP

pitch = 100 mil

botier

hauteur = 100

cramique avec

170 mil

mmoire
PROM
effaable
aux UV

fentre en mica

famille SOP (Small Outline Package) de 20 64 broches


botier

aspect

SOIC

dimensions

application

pitch = 50 mil

circuits
standards

hauteur = 100
120 mil

SOJ

pitch = 50 mil

circuits
standards

hauteur = 110 mil

SSOP

pitch = 0,65 mm

circuits

(26 mil)

standards

hauteur = 1,9 mm
(75 mil)

159

TSOP

pitch = 0,5 mm

mmoires

(20 mil)
hauteur = 1,2 mm
(47 mil)

TSSOP

pitch = 0,65 mm

circuits

(26 mil)

standards

hauteur = 1,2 mm
(47 mil)
3.5.2.2

Les botiers quatre ranges de broches disposes aux

extrmits

famille PLCC (Plastic Leaded Chip Carrier) de 20 84 broches


botier

aspect

PLCC

dimensions

application

pitch = 50 mil

circuits
standards

hauteur = 68 150
mil

windowed

Circuits
pitch = 50 mil

CERQUAD,
botier LCC

hauteur = 150

cramique avec

190 mil

fentre en mica

logiques
programmables
effaable
aux UV

160

famille QFP (Quad FlatPack) de 44 304 (ou plus) broches


botier

aspect

QFP

dimensions

application

pitch = de 0,8 0,5

circuits

mm (20 mil)

spcifiques,
circuits

hauteur = 130 170

priphriques

mil

microprocesseurs

TQFP

pitch = 26 mil

ASIC,
priphriques

hauteur = 67 mil

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

PGA

dimensions

application

pitch = 100 mil

microprocesseurs,

hauteur = 120 mil

circuits
spcifiques

(vue de dessous)

161

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

aspect

BGA

dimensions

application

pitch = 50 mil

microprocesseurs,

hauteur = 50 80
mil

circuits
spcifiques

(vue de dessous)
(vue de cot)

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

Pas
[mm]

PGA

Ct du Surface
botier

[mm ]

Ct du Surface

Pas
[mm]

[mm]

broches

BGA

botier

[mm ]

Pas
[mm]

[mm]

Ct du Surface
botier

[mm2]

[mm]

100

0,50

17

272

2,54

29

864

1,52

19

361

225

0,50

32

1032

2,54

42

1772

1,52

27

702

400

0,50

54

2916

2,54

55

3003

1,52

34

1156

625

0,50

82

6745

2,54

68

4556

1,52

42

1722

900

0,50

117

13572

2,54

80

6432

1,52

49

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 p

T VCC

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

t
IS

tT

VS

Imax
0

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

t
tT

vM

iM

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

IC

t
tT

IC

VC

ICmax

ICmax
0

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

A
B

130

2 k

4 k

T2

T1

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

A
B

2 k

T2

T1

S
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

130

2 k

T42
2 k

D1

5V
4 k

T41

T2

T1

130

2 k

S
1 k

T3

T4

T1
T2

D0
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

Output
T3

Disable
T4

1. Expliquer le fonctionnement du montage transistor par transistor.


2. Remplir la table de vrit suivante (X tat indiffrent) :

Input

Disable

Output

exercice 3.10
Soit le circuit suivant :
VDD
T2

T3

T1

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

T2
G1

1. Expliquer le fonctionnement du montage transistor par transistor.


2. Remplir la table de vrit suivante :

G1

3. En dduire le fonctionnement du circuit suivant :

VDD

VDD

VDD
A

Input

exercice 3.12
Soit le circuit suivant :

172

VDD
T1
A
T2
Output

T3
B
T
T'

1. Expliquer le fonctionnement du montage transistor par transistor.


2. Remplir la table de vrit suivante :

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

t [ns]

500

t [ns]

500

t [ns]

E2 [V]

2,5

S [V]

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

1
SD
T

CP

Q
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

sans ventilation

ventilation
1,3 m/s

ventilation
2,5 m/s

ventilation
3,8 m/s

BG225

30

19

17

16

PG223

20

15

12

11

HQ240

12

PQ240

23

17

15

14

PC84

33

25

21

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

volatile

magntique

optique

non volatile

SRAM

NVRAM

ROM

disque dur

DRAM

FRAM

PROM

disquette

DPRAM

EPROM

bande

FIFO

EEPROM

disque
magntooptique

CD-ROM
DVD

Flash

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 :
9 les mmoires statiques ou SRAM (Static RAM) qui conservent linformation
enregistre tant que lalimentation lectrique est connecte sur le circuit,
9 les mmoires dynamiques ou DRAM (Dynamic RAM) qui perdent linformation
enregistre au cours du temps et doivent tre rafrachies,
9 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 :
9 les mmoires programmables une seule fois ou PROM (Programmable ROM),
9 les mmoires programmables lectriquement et effaables aux rayons ultraviolets ou
EPROM (Erasable PROM),
9 les mmoires programmables et effaables lectriquement ou EEPROM (Electrically
EPROM) ou bien EEPROM Flash.
Mais on trouve aussi certaines RAM non volatiles telles que :
9 les NVRAM (Non volatile RAM),
9 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]

disque
disquette

bande

1012

semiconducteur

109
106

temps daccs

103
1 ns

1 s

1 ms

1s

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

bus
dadresses
N bits

A2
A3
.
.
.

dcodeur dadresses

buffers dadresses

A1

D0

lment de
stockage n0

A0

AN-1

DK-1

buffers
dentressorties

bus de
donnes
K bits

lment de
stockage n1
.
.
.
lment de
stockage n2N-1

circuit de
contrle

signaux 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).

A0

A1

dcodeur de lignes

X0
ES 0-0

ES 0-1

ES 0-2

ES 0-3

ES 1-0

ES 1-1

ES 1-2

ES 1-3

ES 2-0

ES 2-1

ES 2-2

ES 2-3

ES 3-0

ES 3-1

ES 3-2

ES 3-3

X1

X2

X3

Y0

Y1

Y2

Y3

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.

bus de donnes

dcodeur
dadresses

bus dadresses

signaux de contrle

microprocesseur

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

A11

A10

A9-A0

zone dadresses

Y0

de 000000000000
001111111111

Y1

de 010000000000
011111111111

Y2

de 100000000000
101111111111

Y3

de 110000000000
111111111111

183

Le schma obtenu est alors le suivant :


adresses
donnes
A10-A11

validation
dadresses

dcodeur
dadresses
2 vers 4

A0-A9

CS

R/ W

CS

R/ W

CS

R/ W

CS

R/ W

Y0
Y1
Y2
Y3

signaux de
contrle

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

D0 D3

R/W

CS

D4 D7

R/W

CS

D8 D11

R/W

D12 D15

donnes D0-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.

matrice de
stockage
matrice de
stockage
plan mmoire 3
matrice de
stockage
plan mmoire 2
matrice de
stockage
8plan
x 8mmoire 1

buffer

A0
A1
A2

dcodeur
de lignes

plan mmoire 0
8

A3
A4
A5

dcodeur
de
colonnes

8
8
8

amplificateurs de lecture
CS

buffer 3 tats
D0

185

D1

D2

D3

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.

Lignes de la
matrice de
stockage

Colonnes de la matrice
de stockage diodes

Vcc

Vcc

Vcc

Vcc

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

Lignes de la
matrice de
stockage

Vcc

Vcc

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

Cellule de stockage SRAM CMOS

Bit line

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

Port droit

bus
dadresses
gauche

bus
dadresses
droit

bus
de donnes
gauche

RAM
Statique
Double port

Slection de botier gauche

bus
de donnes
droit
Slection de botier droit

Lecture/criture gauche

Lecture/criture droit
Signaux darbitrage

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

Sortie

Data-in

Data-out

FIFO
W

asynchrone

FF

R
EF

MR

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.
FF = 0
EF = 1

X
X
X
Pcriture

Plecture

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

FF = 0
EF = 0

X
O2

Data-in = O1, O2

O1

Plecture

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

FF = 0
EF = 1

X
Pcriture

Plecture

X
O2

Data-out = O1, O2

O1

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

Pcriture

FF = 0
EF = 0
Plecture

O2
O5

Avec une criture de plus (O6), le FIFO est plein car le pointeur dcriture a rattrap le
pointeur de lecture.

Data-in = O6
Pcriture

O4
O3

FF = 1
EF = 0
Plecture

O6
O5

On peut maintenant effectuer 4 lectures et vider le FIFO

FF = 0
EF = 1

O4
Pcriture

O3

Plecture

O6
O5

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

Pointeur
de lecture

SRAM
Double port

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

Systme A

Data-out

FIFO
asynchrone

FF

R
EF

215

Systme B

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

Modles FPM et EDO

4.3.6.1.1

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

Ecriture

Cb
Rgnration

Ecriture
Lecture

donne
Lecture

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 :

Vb = Vs.

Cs
(si Vb = 0 avant la lecture)
Cs + Cb

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.

4.3.6.1.2

Exemple : la MT4LC8M8E1 de MICRON

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

Latch
donnes

Latch
donnes

Latch
donnes

Matrice
de
stockage
N1

Matrice
de
stockage
N2

Matrice
de
stockage
N3

Matrice
de
stockage
N4

Dcodeurs
dadresses

Dcodeurs
dadresses

Dcodeurs
dadresses

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 : RDRAM

16M x 8 : SDRAM

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

nombre de cycles en mode


rafale

SRAM cache L2

2/1/1/1

DRAM FPM

5/3/3/3

DRAM EDO

5/2/2/2

SDRAM

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

A14

A15

priphrique

Y7

CS

C
Y0
Dcodeur 3/8

CS
adresses

donnes

RAM 4K x 8 bits

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.

A0

A1

dcodeur de lignes

X0
ES 0-0

ES 0-1

ES 0-2

ES 0-3

ES 1-0

ES 1-1

ES 1-2

ES 1-3

ES 2-0

ES 2-1

ES 2-2

ES 2-3

ES 3-0

ES 3-1

ES 3-2

ES 3-3

X1

X2

X3

Y0

Y1

Y2

Y3

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

1 K

V1

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

Systme A

Data-out

FIFO
asynchrone

FF

Systme B

EF

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

Vous aimerez peut-être aussi