Académique Documents
Professionnel Documents
Culture Documents
Arts et Mtiers
Polycopi de cours
Electronique A4
C.ALEXANDRE
Polycopi de cours
Electronique A4
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
1.2.4.1
1.2.4.2
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
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.
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
2.10.3.1
2.10.3.2
2.10.3.3
2.10.4
Les monostables ......................................................................................................................112
2.11
EXERCICES ........................................................................................................................................113
3.
3.3.2
3.3.2.1
3.3.2.2
3.3.2.3
3.3.2.4
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
3.5.3
Lvolution des botiers .......................................................................................................... 162
3.5.4
Prcautions prendre ............................................................................................................ 165
3.6
EXERCICES ........................................................................................................................................ 166
4.
4.2.2
Principe gnral..................................................................................................................................185
Exemple : la 82S129A de Philips.......................................................................................................188
4.2.2.1
4.2.2.2
4.2.3
Principe gnral..................................................................................................................................189
Exemple : la 27C1024 dAMD ..........................................................................................................192
4.2.3.1
4.2.3.2
4.2.4
Principe gnral..................................................................................................................................194
Exemple : la X28C010 de XICOR .....................................................................................................197
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
4.3.2.1
4.3.2.2
4.3.3
Principe gnral..................................................................................................................................210
Exemple : la CY7C009 de CYPRESS................................................................................................211
4.3.3.1
4.3.3.2
4.3.4
Principe gnral..................................................................................................................................212
Exemple : le CY7C423 de CYPRESS................................................................................................216
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
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.
iii
5.3.2.2
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
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
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
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
6.4.3
Convertisseurs courants pondrs .......................................................................................304
6.5
EXERCICES ........................................................................................................................................306
7
ANNEXE...................................................................................................................................................353
iv
1. Logique combinatoire
1.1
De lanalogique au numrique
Tension et courant.
Temprature.
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.
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.
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
QUANTIFICATION
*
etc
7
6
5
4
3
2
2
*
1
0
NIVEAUX
8*
9*
*6
*
etc
00100
00011
00010
00001
00000
t
Code binaire
correspondant
4
3
Fech
(Cadence d'chantillonnage)
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).
tension
tension
transmission
10v
Ov
CODE :
10v
SEUIL de
dtection
5 volt (milieu
t
Ov
parasites
CODE : ?
REMISE EN FORME
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.
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).
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 codes enregistrs sur les cartes de crdits, les cartes de transport, de parking, ...
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
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
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
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
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
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
12
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.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,.,+ )
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
On sait que 0.X = 0, donc on peut liminer les termes qui valent 0. Cela nous donne :
On sait aussi que 1.X = X, donc on peut crire la forme canonique abrge :
(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
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
garantit le bon rsultat. Cette mthode est utilise sous forme informatique dans tous les
outils de CAO.
1.2.4.1
Simplification algbrique
A B S
0 0 0
0 1 1
1 0 1
1 1 1
On obtient donc :
S = A .B + A B + AB
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
de trouver des termes communs pour un systme plusieurs sorties, dans le but de limiter
le nombre de portes.
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.
B
A
B
0
S = A.B
B
0
S = A.B
B
0
S=B
S=A
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
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
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
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
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.
base
(93452)10
Chiffre de
poids fort
Chiffre de
poids faible
23
-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 :
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.
9
10
11
12
13
14
15
1001
1010
1011
1100
1101
1110
1111
9
a
b
c
d
e
f
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) :
(a0c25)16
=
Remarque : il existe en binaire un regroupement trs utile, loctet (ou byte) qui est un groupe
de 8 bits. Par exemple loctet :
(10000001)2 = 1*27 + 1*20 = (129)10
La valeur dun octet est comprise entre 0 et (255)10. Pour raccourcir lcriture, on utilise
souvent la notation hexadcimale (base 16) en regroupant les bits par paquets de 4. Par
exemple loctet :
25
(10000001)2 = (81)16
Le changement de base dcimal binaire est moins vident. Il faut diviser le nombre
convertir par 2. On conserve le reste (qui vaut 0 ou 1) et on rpte la division sur le quotient,
jusqu ce que le quotient vaille 0. On crit alors tous les restes la suite, le premier reste
obtenu tant le poids faible. Exemple :
47
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 :
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 :
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.
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 :
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 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
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.
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)
29
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
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
0
1
1
0
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
binaire
Gray
b2 b1 b0
g2 g1 g0
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
1.3.4.3
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
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
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.
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
a1
a0
Y0
Y1
Y2
Y3
a1
a0
37
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
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
YK(N) = 1 si K = N
YK(N) = 0 si K N
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
a0
I0
I1
I2
I3
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
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
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
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
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
S3
S2
S1
C-1 = 0
S0
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
Table de vrit
A3,B3
A2,B2
A1,B1
A0,B0
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
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
a2
a1
a0
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 :
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
a2
a1
a0
G=1
0
1
2
3
4
5
6
7
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
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.
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
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
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
abc
000 001
011 010
110 111
101 100
phases
transitoires
phases
stables
abc = 111
S=1
53
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
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
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
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 :
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
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
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
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
61
Ai
Bi
Ci-1
additionneur
complet
1 bit
Si
Ci
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.
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 :
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
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)
circuit
combinatoire
Horl
2.1
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
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.
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
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
69
r notation
Q0
Q1
notation
rs
Q1Q0
a
d
instable Q1+ Q0+ Q1 Q0
Q1 Q0
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.
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
Q+
fonction
mmoire
mise 1
mise 0
interdit
Q
latch
R-S
J
S
Q+
fonction
mmoire
mise 0
mise 1
inversion
2.2
s
Q
Qn+1
fonction
Qn
mmoire
Qn
mmoire
mise 1
mise 0
interdit
S
R
Q
RSH
Q
73
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
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
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
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
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
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
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.
D=1
D=1
0
1
D=0
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
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
Nous allons dfinir dans ce chapitre les intervalles de temps importants utiliss pour
caractriser les circuits squentiels synchrones.
79
2.6.1 Dfinitions
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 :
signal
ralisant
deux
fonctions
(une
sur
chaque
niveau)
est
nomm
SIGNAL1/ SIGNAL2 .
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
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
Vers le montage
squentiel synchrone
clock
2.7
Rgles de conception
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
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
CE
D
clock
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
f max <
t SU + t critique
1
+ max(t PHL , t PLH )
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
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 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 :
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
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
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.
Q2
Q1
Q0
D0
92
Q1 Q0
00
01
11
10
Q2
D0
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
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
Q2 + Q1 + Q0 +
Prenons lexemple dune ralisation avec des bascules D dquation Q+=D. On obtient
+
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).
94
Q 1 Q0
Q 1 Q0
00
Q2
0
01
11
10
Q2
J 2J 1J 0
00
01
11
10
K2 K1 K0
1
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
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.
T0
H
Q0
T1
Q1
T2
Q2
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
appellation
notation
96
preset
D
D
CE
CK
clear
Latches
transparents
Q
OE
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 :
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
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
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
Tp Ck to Q
Ck
Q0
Q1
Q2
N
d'tats
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
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
Ei entre parallle
Load asynchrone
Set
D
Qi
Etage N i
Ck
Reset
2.10.2.4
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
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
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
2.10.2.5.1
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
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
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
105
tat 4
tat 5
Horloge
tp porte
Sortie du NAND
Tsetup Clear
tP Ck to Qi
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
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
Carry
Q3 Q2 Q1 Q0 sorties
Frquence F/6
106
Frquence F/6
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
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
CK
Q0
Q1
S2
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
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
S2
D
H
S2resync
Q
Ck
Dfinition
entres //
entre srie
horloge
P0
PN-1
chargement
Q0
QN-1
sortie srie
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
110
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
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
SE.PE
Di
Qi-1
SE
Q
Qi
SE.PE
Ck
Etage i
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
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
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
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
entre
asynchrone
QA
QB
QC
QD
EN
H
horloge
compteur
16 bits
H
afficheur
e K 2 .t
avec F2 = frquence dhorloge, F1 = frquence
F1 .F2 .K 1
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
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
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
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
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
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
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 :
122
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
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.
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
VCC
IC
VCE
T1
RC
T0
VCC
0
VCE
T = 1/f
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
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 :
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
iMmax
M
puce
t
tT
vM
r
vMmax
0
vM
iM
-vMmax
di M
par rapport la masse
dt
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
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
Les gammes militaires sont de moins en moins souvent commercialises. On peut observer
sur les feuilles de caractristiques constructeur que les spcifications du circuit sont donnes
en valeur minimale (min), typique (typ) et maximale (max). Ces valeurs min, typ et max
reprsentent des phnomnes diffrents selon que lon sintresse aux tensions et courants ou
aux temps et frquences :
La tension dalimentation du circuit peut varier entre VCCmin et VCCmax. Les valeurs min et
max des tensions et courants dentre et de sortie sont spcifies afin de respecter les
niveaux de marge de bruit.
Les temps et les frquences min, typ et max correspondent la dispersion des
caractristiques des composants sur une grande srie. Cette dispersion est fonction de trois
facteurs qui sont, par ordre dimportance :
1. Les conditions de fabrication.
2. La temprature de fonctionnement.
3. La valeur de la tension dalimentation.
Lcart entre valeur minimale et valeur maximale peut aller du simple au quadruple. Les
temps max sont une garantie de fonctionnement dans le pire des cas. Une carte dveloppe en
132
prenant en compte ces valeurs marchera dans 100% des cas. Si les valeurs typiques sont
utilises pour la conception, alors le fonctionnement nest plus garanti. Le paramtre de
frquence maximale du circuit, fmax, doit tre pris avec beaucoup de prcaution. Il sagit
souvent de la frquence maximale du circuit fonctionnant seul, sans charge. Vous trouverez
sur la figure suivante un exemple de temps de propagation normalis pour un circuit CMOS.
Vous remarquerez le facteur 4 entre temps min et max ainsi que le facteur 2 entre typique et
max.
On peut noter les variations suivantes sur cet exemple (srie commerciale) :
t p
T
t p
VCC
t p
fabrication
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
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
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
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
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
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
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
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
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
VCC VOLmax
= 287 . La valeur de RCmax est
I OLmax
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
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
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
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).
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
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
S
e
VGS
S=0
ID
S=1
VDS
S
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
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
C.U
. Comme Imoyen = k.IDmax, tT
Imoyen
diminue linairement quand U augmente. Les performances dun circuit CMOS sont donc
proportionnelles U.
146
5 mW
CMOS
5 W
f
5 kHz 50 kHz 500 kHz 5 MHz
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
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
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 :
149
0.5 m
0.35 m
5V
2 (en
thorie)
3.3 V
0.66
1.3
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.
Frquence maximale
Temps de transition
151
LS
ALS
ABT
FAST
MG
HC
FACT
LVC
10KH
E-lite
152
familles logiques
commerciaux
typiques 25 C
TTL/ABT
CMOS
LS
ALS
ABT
FAST
MG (Vcc=5V)
HC
FACT
14
2,3
160
10
33
45
250
125
40
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
4,75
5,25
20
20
24
24
charge 50
charge 50
22
22
22
22
30
30
30
30
30
33
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
190
210
50
110
125
103
80
35
64
40
0,9
1,6
0,9
0,9
1,4
1,8
32
botiers
153
3.4
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.
154
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
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
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.
aspect
DIP
dimensions
application
circuits
standards
hauteur = 130
170 mil
SHRINK DIP
pitch = 70 mil
circuits
standards
hauteur = 130
170 mil
hauteur = 130
circuits
170 mil
standards
largeur divise
par 2
158
windowed
CERDIP
botier
hauteur = 100
cramique avec
170 mil
mmoire
PROM
effaable
aux UV
fentre en mica
aspect
SOIC
dimensions
application
pitch = 50 mil
circuits
standards
hauteur = 100
120 mil
SOJ
pitch = 50 mil
circuits
standards
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
extrmits
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
aspect
QFP
dimensions
application
circuits
mm (20 mil)
spcifiques,
circuits
priphriques
mil
microprocesseurs
TQFP
pitch = 26 mil
ASIC,
priphriques
hauteur = 67 mil
microprocesseurs
3.5.2.3
aspect
PGA
dimensions
application
microprocesseurs,
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)
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.
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.
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
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
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
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
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
168
exercice 3.7
Soit la porte TTL collecteur ouvert suivante :
5V
4 k
A
B
2 k
T2
T1
S
T3
1 k
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
exercice 3.9
Soit le circuit suivant :
170
VDD
Disable
T1
T2
Input
Output
T3
Disable
T4
Input
Disable
Output
exercice 3.10
Soit le circuit suivant :
VDD
T2
T3
T1
S
E1
E2
E3
T4
T5
T6
171
exercice 3.11
Soit le schma de la porte de transmission CMOS suivant :
G2= G1
T1
E
VDD
T2
G1
G1
VDD
VDD
VDD
A
Input
exercice 3.12
Soit le circuit suivant :
172
VDD
T1
A
T2
Output
T3
B
T
T'
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
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
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
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 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.
disque
disquette
bande
1012
semiconducteur
109
106
temps daccs
103
1 ns
1 s
1 ms
1s
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
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
bus de donnes
dcodeur
dadresses
bus dadresses
signaux de contrle
microprocesseur
signaux de
slection
VMA
A11
A10
A9-A0
zone dadresses
Y0
de 000000000000
001111111111
Y1
de 010000000000
011111111111
Y2
de 100000000000
101111111111
Y3
de 110000000000
111111111111
183
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
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
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
Les buffers dadresses servent adapter les niveaux de tension du bus aux niveaux de
tension requis dans la mmoire.
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 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
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
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
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 :
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
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
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
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.
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 :
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
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.
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
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 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 :
204
4.3
Principe gnral
Il existe deux familles de cellules de stockage qui sont utilises dans toutes les mmoires de
type RAM : la cellule RAM dynamique qui doit tre rafrachie rgulirement pour garder la
donne en mmoire et la cellule RAM statique qui ne ncessite pas de rafrachissement. Cette
dernire est constitue de 6 transistors (voir figure ci-dessous). Les transistors T1 T4
forment les deux inverseurs CMOS qui sont reboucls pour constituer la bascule qui va
mmoriser le bit. Les transistors T5 et T6 permettent de slectionner la cellule de stockage
afin de lire ou dcrire un bit.
Word
line
T6
T5
Bit line
Bit line
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
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
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
Principe gnral
Port droit
bus
dadresses
gauche
bus
dadresses
droit
bus
de donnes
gauche
RAM
Statique
Double port
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
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 :
Ligne 8 : signal darbitrage indiquant que la cellule de stockage est en cours dutilisation.
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.
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
FF = 0
EF = 1
O4
Pcriture
O3
Plecture
O6
O5
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
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
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
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 :
218
4.3.5 FRAM
4.3.5.1
Principe gnral
Sa constante dilectrique tant 100 fois plus leve que celle de loxyde de silicum
(SiO2), cest un meilleur isolant.
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
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.
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 :
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.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
Cs
Vb
Ecriture
Cb
Rgnration
Ecriture
Lecture
donne
Lecture
Amplificateur de
lecture seuil
Latch
Ym
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
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 ) :
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
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.
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
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 :
Le rafrachissement.
4.3.6.1.2
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.
4.3.6.2
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
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
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
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
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,
238
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
239
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