000060196.pdf
-
Upload
jaouane-hamza -
Category
Documents
-
view
220 -
download
0
Transcript of 000060196.pdf
-
7/24/2019 000060196.pdf
1/145
L-7
JL
PROF. DANTE A. C. BARONE
ENCENHEIRO ELETRONICO
CREA - 33.660
resentee a
4
I ns ti tu t N a t io na l P o ly technique d e G reno ble
pour obtenir le grade de
DOCTEUR INGENIEUR
par
A l ta m ir o A m a d e u S U Z IM
) I
ced4_6 111JF.
uF2G5-13 , \ I
E T U D E D E S P A R T IE S O P E R A T I V E S
A E L E M E N T S M O D U L A IR E S
P O U R P R O C E S S E U R S M O N O L IT H IQ U E S
CO
S i
I I I I I I
0522 442
g a
UFRGS
These soutenue le 6 novembre 1981 (levant la Commission d'Examen :
Monsieur. BOLLIET
President
Messieurs. ANCEAU
C. TRULLEMANS
Exaininateurs
J.-L. LARDY
M. VERGNIAULT
F R 0 S
i N l i T U T O D E 1 N F O R M A T I C A
-
7/24/2019 000060196.pdf
2/145
(
O
c c
Tr
?L
er
0L4
o -G
INSTITUTO D
1NFOF,'MATICA
TnTE(2A
N9- CHAMADA
(
Pol-t
.Zt,- t fj--( (c
-t)
03
DATA:
5
368
5-/
i
/83
0111GEM:
FUNDO:
I 1-
DATA:
lad
io4 ei
NT
f, 600,00
I Vac (Dan&+-C)
-
7/24/2019 000060196.pdf
3/145
INSTITUT NATIONAL POLYTECHNIOUE DE GRENOBLE
Armee universitaire 1979 1980
President
M. Philippe TR AYNAR D
Vice-Presidents
M. Georges LESPINARD
M. Rene PAUTHENET
PROF ESSEURS DES UNIVERSITES
MM. ANCEAU Francois
BENOIT Jean
BESSON Jean
BLIMAN Samuel
BLOCH Daniel
BOIS Philippe
BONNETA IN Lucien
BONNIER Etienne
BOUVARD Maurice
BR ISSONNEAU Pierre
BUYLE-BODIN M aurice
CHARTIER Germain
CHERADAME Herve
Mine CHERUY Arlette
MM . CI I I AV E R INA Jean
COHEN Joseph
COUMES Andre
DURAND Francis
DURAND Jean-Louis
FELICI Noel
FOULARD Claude
GUYOT Pierre
VANES Marcel
JOUBERT Jean-Claude
LACOUME Jean-Louis
LANCIARoland
LESI EUR Marcel
LESPINARD Georges
LONGEQUEUE Jean Pierre
MOREAU Rene
MOR ET Roger
PAR I AUD Jean-Charles
PAUTHENET Rene
PER 11 ET Rene
I rif ormatique fondamentale et appliqu
Radioelectricite
Chimie Minerals
Electronique
Physique du Solide - Cristallographie
Mecanique
Genie Chimique
Metallurgie
Genie Mecanique
Physique des Materiaux
Electronique
Electronique
Chimie Physique Macromoleculaires
Automatique
Biologie, Biochimie, Agronomic
Electronique
Electronique
Metallurgie
Physique Nucleaire et Corpusculaire
Electrotechnique
Autornatique
Metallurgic Physique
Electrotechnique
Physique du Solide - Cristallographie
Geographic - Traiternent du Signal
Electronique - Automatique
Mecanique
Mecanique
Physique Nucleaire Corpusculaire
Mecanique
Physique Nucleaire Corpusculaire
Chimie - Physique
Physique du Solide
ristallographie
Autornatique
-
7/24/2019 000060196.pdf
4/145
2
MM.ER R ET Robert
PIAU Jean Michel
PIER RA R D Jean-Marie
POLOUJADOF F Michel
POUPOT Christian
RAMEAU Jean-Jacques
ROBERT Andre
ROBERT Francois
SABONN ADI ER E Jean-Claude
Mm e
AUCIER Gabrielle
M.
OHM Jean-Claude
Mm e
CHLENKER Claire
MM .
RAYNAR D Philippe
VE I L LON Gerard
ZA DWOR NY Francois
Electrotechnique
Mecanique
Mecanique
Electrotechnique
Electronique - Automatique
Chimie
Chimie Appliquee et des materiaux
Analyse numerique
Electrotechnique
Informatique fondamentale et appliquee
Chimie - Physique
Physique du Solide - Cristallographie
Chimie - Physique
Informatique fondamentale et appliquee
Electronique
CHERCHEURS DU C.N.R.S. (Directeur et Maitre de Recherche)
M.
MM.
F R UCHART Robert
ANSARAIbrahim
BR ONOEL Guy
CAR RE Rene
DAVID Rene
DR IOLE Jean
KAMA R I NOS Georges
K LE ITZ Michel
LANDAU loan-Dore
ME R MET Jean
MUNI ER Jacques
Directeur de Recherche
Maitre de Recherche
Maitre de Recherche
Maitre de Recherche
Maitre de Recherche
Maitre de Recherche
Maitre de Recherche
Maitre de Recherche
Maitre de Recherche
Maitre de Recherche
Maitre de Recherche
Personnalites habilitees a diriger des travaux de recherche (decision du Conseil Scientifique)
E.N.S.E.E.G.
MM. ALLIBERT Michel
BERNARD Claude
CAI LLET Marcel
Mme CHATI LLON Catherine
MM. COULON Michel
HAMMOU Abdelkader
JOUD Jean-Charles
RAVAINE Denis
SAINFORT
C.E.N.G.
-
7/24/2019 000060196.pdf
5/145
3
MM.
ARRAZIN Pierre
SOUOUET Jean Louis
TOUZAIN Philippe
URBAIN Georges
E.N.S.M.E.E.
MM.
ISCONDI Michel
BOOS Jean-Yves
GUILHOT Bernard
KOBILANSKI Andre
LALAUZE Rene
LANCELOT Francis
LE COZE Jean
LESBATS Pierre
SOUSTELLE Michel
THEVENOT Francois
THOMAS Gerard
TRAN MINH Cant)
DRIVER Julian
RIEU Jean
E.N.S.E.R.G.
MM .
OR EL Joseph
CHEHIK IAN Alain
VIKTOROVITCII Pierre
E.N.S.I.E.G.
MM .
ORNARD Guy
DESCHIZEAUX Pierre
GLANGEAUD Francois
JAUSSAUD Pierre
Mm e
OURDAIN Genevieve
MM .
EJEUNE Gerard
PERARD Jacques
M.
ELHAYE Jean Marc
E. N. S. I . M. A. G .
MM.
OURTIN Jacques
LATOMBE Jean-Claude
LUCAS Michel
VERDILLON Andre
Laboratoire des Ultra Refractaires ODEILLO
-
7/24/2019 000060196.pdf
6/145
U N I VE R S I D A D E F E D E R A L D O R I O G R A N D E D O S U L
Sis tema de Bib lio teca da UFR G S
1209
SUZIM, ALTAMIRO AMADEU
ETUDE DES PARTIES OPERATIVES A
ELEMENTS MODULAIRES POUR
PROCESSEURS MONOLITHIQUES
621.38-181.4(043)
S968E
INF
1993/60196-9
1982/03/24
MOD 2 3 2
-
7/24/2019 000060196.pdf
7/145
ANeti,VanAkfa et Caltotina
qui V ont vJeu avecmoi .
-
7/24/2019 000060196.pdf
8/145
Je tiens A
remercier,
Monsieur Louis BOLLIET, professeur a l'Universite de Grenoble, de m'avoir
fait l'honneur de presider ce jury,
Monsieur Francois ANCEAU, professeur A
l'INPG-ENSIMAG,
qui
m'a oriente tout
au long de ce travail,
Monsieur Jean-Louis LARDY, Monsieur Charles TRULLEMANS et Monsieur Michel
VERGNIAULT d'avoir accepte de faire partie du jury ainsi que pour les
observations qu'ils m'ont faites,
Monsieur Jean-Pierre SCHOELLKOPF pour ses conseils lors de la revision du
manuscrit et des articles publics,
Madame Helene DIAZ pour sa dactylographie intelligente,
Monsieur Christian BERNARD d'avoir joue l'experience de l'utilisation de
ce systeme,
Monsieur Jacques RAYMOND pour sa collaboration dans les operations du
systeme graphique,
Tous les mcmhres de l'equipe qui m'ont fait part de leur amitie,
L'equipe de reprographie de l'IMAG
ou
j'ai trouve la sympathie et la competence,
Les organisationssuivantes, dont l'appui a rendu possible ce travail :
l'Universidade Federal do Rio Grande do Sul (UFRGS) Bresil, et en
particulier le Depattement d'Ingenierie Electrique,
le Conselho Nacional de Desenvolvimiento Cientifico c Technoldgico,
CNPQ, (Bresil),
l'Institut National Polytechnique de Grenoble, INPG,
le Centre Regional des Oeuvres universitaires, CROUS,
le Curso de POs-Graducao
em
Ciricia da Computaao, CPGCC-UFRGS,
Mes parents et amis qui ont
t presents malgre la distance et
tous ceux qui par leur amitie et leur sympathie,
out rendu plus agreable
et enrichissantnotre sejour en France.
-
7/24/2019 000060196.pdf
9/145
.5.
TABLE
ES
ATIERES
INTRODUCTION
METHODOLOGIE9
2.1 Introduction
1
2.2 Les Algortihmes et la Structure Interpretative
1
2.3 Notion de Partie Operative et Partie Contrelle
7
2.4 Implantation de la Partie Operative
2
2.4.1 Les composants d'une Partie Operative
2
2.4.2 Represantation symbolyque de la Partie Operative
4
2.5 Modele graphique de la Partie Operative
9
2.6 Connexion entre Parties Operatives
4
2.7 Les Entrees/Sorties
5
2.8 Ensemble de Cellules
7
3. REALISATION
9
3.1 Introduction
1
3.2 Les Elements de base
1
3.2.1 Les niveaux logiques
1
3.2.2 Les dispositifs
3
3.2.3 Realisation des Primitives
4
3.3 Les charges externes des portes
8
3.4 La Partie Operative
9
3.4.1 Les bus
9
3.4.2 Les constantes
1
3.4.3 Les portes
1
-
7/24/2019 000060196.pdf
10/145
. 6 .
3.4.4 Les memoires
1
3.4.5 Memoires
a
deux inverseurs
2
3.4.6 Le registre
4
3.4.7 Cas du bus complements
6
3.4.8 Consequences du bus complements
7
3.4.8.1 Les constantes
7
3.4.8.2 Les variables memorisees
8
3.4.8.3 Le circuit de precharge
0
3 5 Conclusion
1
4. DESSIN
3
4.1 Introduction
5
4.2 Influence des regles de dessin
6
4.3 Structure de bus
6
4.4 Les Cellules
9
4,5 La Partie Operative
0
4.5.1 Partie Operative de un bit
2
4.5.2 Partie Operative de n bits
3
4.6 Le catalogue de Cellules
5
4,7 Le programme de haut niveau
5
4.8 Le langage d'assemblage
7
4.9 Exemple
10
4.9.1 Dessin de la memoire
10
4.9.2 Generation d'une sortie
16
-
7/24/2019 000060196.pdf
11/145
.7.
4.10 Les Classes d'Interface
20
4.11 Conclusion
22
5. CONCLUSION
ANNEXE
Annexe 1: Le Circuit LISA
Annexe 2: L'UnitO Arithmetique et Logique - UAL
REFERENCES
12 3
131
133
145
149
-
7/24/2019 000060196.pdf
12/145
C
$ u t t o b i t a t e n
-
7/24/2019 000060196.pdf
13/145
1 - INTRODUCTION
Un circuit integre' monolithique est un assemblage de components electroniques
fabriques et relies sur tine seule tranche de silicium.
existe plusieurs technologies qui permettent la realisation de tels
circuits. Elles out en commun le fait que cheque &tape du processus de fabri-
cation est appliquee simultanement
a
tons les elements de la memo nature
sans influencer ceux de nature differente. Cele implique que l'ensemble des
operations de fabrication requises est independent du nombre de composants
realises.
Les circuits logiques complexes voient leur (met se reduire avec l'amellora-
tion des techniques d'integration. En fait, lo coot de fabrication par porta
logique est Presque inversement proportionnel
a la densite d'integration.
Cela suscite un effort tres important de la part des constructeurs
pow'
augmenter cette densite. On est pass, en une vingtaine d'annees, de quelques
portes
a
des milliers de portes par circuit. I1 y a un formidable progres
technique.
Evidemment, cet ensemble de portes dolt etre organise pour executer
Ia
fonction desiree: c'est ce qu'on appelle Ia conception du circuit. le travail
necessaire
a
la conception d'un circuit n'est pas proportionnel au nombre de
portes, mais
a
se complexite logique (mesuree, par exemple, par le nombre
d'etats et la complexite du vocabulaire d'un automate equivalent).
La microelectronique est une activite multi-disciplinaire. Le schema de
la figure 1.1. [WEI
all
montre les principales &tapes suivies par
un
produit
dans une industrie.
n'y a rien d'extraordinaire dans cette sequence d'activites telle qu'elle
est presentee dans le graphe. Elle s'applique a
beaucoup d'autres prdults
industriels. Ce qui est remarquable, par contre, c'est l'interaction accentuee
-
7/24/2019 000060196.pdf
14/145
DEFINITION
SYSTEME
CERTIFICATIO
DU PRODUIT
DEVELOPPEMENT
D'APPLICATIONS
DEVELOPPEMENT
DE L'ENVIRONNEMENT
DE MISE EN OEUVRE
.12.
DESSIN
DES MASQUES
MISE EN
FABRICATION
VENTES
Figure .1. - Principales stapes de l'elaboration d'un
circuit integre .
entre les differentes stapes et le niveau d'automatisation qu'on pout y
appliquer. L'interaction rend le graphe qu'on a presents beaucoup plus
complexe : presque toutes les activites sont reliees entre elles par des
liens bidirectionnels.
L'automatisation s'applique
a
plusieurs stapes du processus d'elaboration
d'un circuit integre. I1 y a par xemple :
-
7/24/2019 000060196.pdf
15/145
.13.
l'automatisation dans le phase de dessin des masques: on utilise des
systemes graphiques pour la description, l'assemblage, les corrections :
la fabrication automatique des masques
a
partir du dessin, par des machines
pilotees par ordinateur
I
le test automatique des circuits etc...
Ce travail se situe dans la phase "dessin dos masques". Pour des circuits
dune densit importante (au-dessus 1000 pnrtes logiques), des dizaines
de (Millers de motifs graphiques doivent etre dessines. Le dessin do circuit
est une tache qui exige beaucoup de travail (sauf pour des circuits tres
repetitifs comme les memoires, grace aux outils de systeme graphique).
Plusieurs techniques sent actuellement utilises pour raccourcir l'effort
de dessin. Ces techniques (comme le dessin symbolique, les bibliotheques
de cellules, les reseaux prdiffuses, etc...) sont efficaces au niveau du
temps de dessin, macs ont des domeines d'utilisation specifiques
a
cause des
contraintes imposees au concepteur.
Pour la VLSI, de nouvelles methodes de conception de circuits sent necessaires.
Les circuits ne sont plus
WIS CORITIO
un ensemble de pnrtes logiques mals plutOt
come une structuration de blocs fonctionnels.
L'approche choisie consiste
a
traiter, non un circuit particulier ma's une
classe de circuits. Cette approche est basee sur une decomposition fonctionnelle
des machines en deux parties: partie operative et partie controls [ANC 761.
La strategie presentee a une influence sur d'autres phases de la conception
des circuits, en particulier sur le projet du circuit. On models de machine
est offert au concepteur. I1 dolt orienter la conception de son circuit dans
le sens de l'utilisation de blocs fonctionnels dont la structure est pre-
definie. Des outils specialises qui permettent mine realisation automatique
optimises basee sur lee caracteristiques particulieres de cheque bloc sont
dveloppes.
-
7/24/2019 000060196.pdf
16/145
.14.
La partie contr5le est realisee essentiellement par des PLAs et des RUMS
dont la regularite est exploitee par les outils de generation automatique.
Ces outils acceptent des restrictions de forme dans le but de generer des
blocs qui s'assemblent harmonieusement.
La partie operative, but specifique de ce travail, est construite
a partir
de cellules Fonctionnelles. Les idees de base de l'outil de generation
des parties operatives sont les suivantes :
Tranche de hit (bit-slice)
L ' 'dee de tranche de bit decoule naturellement du concept de mot qui est
un vecteur de bits, concept largement utilise en informatique. Pans le
domaine de la conception des circuits integres, cette idee est renforcee,
en ajoutant A son sens fonctionnel
n sens topologique : une partie ope-
rative de n hits (qui traite des mots de n bits) sera construite par empilemen
de n trenches de un bit. Un examen de l'architecture interne de quelques
microprocesseurs montre une evolution dans le sens de l'utilisation de cette
technique qui se pr
g
te bien
a
l'automatisation.
Assemblage de cellules fonctionnelles
Un ensemble de functions de base de is partie operative est deduit
a
partir
d'un modele, developpe dans le texto. Un ensemble de cellules est ensuite
dessine. Cheque cellule est conque pour executer une fonction specifique.
La partie operative est construite par assemblage selectif de certaines
cellules.
Conception orient6e vers un bus
Les cellules sont dessinees en function dune structure pre-definie de bus,
c'est-a-dire qu'une structure de bus est choisie avant de dessiner les
cellules. Les positions des lignes d'alimentation sont fixees a priori et
toutes les cellules doivent respecter les conventions de position des lignes
-
7/24/2019 000060196.pdf
17/145
.15.
de bus et alimentation. Ainsi, all moment de l'assemblage, ii n'y a pas
do connexions a
faire: elles soot traitees on meme temps que le placement
des cellules. Cette technique pernet de travailler avec des cellules rigides
qui ont ate dessinees avec le souci d'optimiser l'utilisation de surface pour
cheque cellule. One preoccupation majeure est de ne pas degrader la densite
pendant l'assemblage : les solutions retenues seront presentees dans la these.
En particulier, les cellules soot toutes de la meme hauteur (ou d'une hauteur
multiple de cello du module do base). Contrairement
a
la technique presentee
dans [JOIl 79], it n'est pas necessaire de modifier la taille des cellules, ce
qui degrade manifestement la densite puisque des espaces vides sont introduits
quand on etire les cellules. Notre but est d'offrir des moyens de conception
autonotique tout en gardant une densite proche de cello obtenue par le dessin
manual.
C'est toute une discipline de conception qui est en jeu. Co travail en est
l'ue des modules. D'autres travaux do l'equipe de recherche en Architecture
des Ordinateurs detaillent les aspects complementaires: l'etude do la topologie
globale du circuit [REI 81], la realisation de la partie cuntrele [PER 80],
[0012 81], test [COO 81] etc...
One vue d'ensenble de la demarche presentee est donnee par le schema de
la figure 1.2 En partant du modele de la partie operative, l'ensemble des pri-
mitives qu'on se propose de realiser est defini. A chaque primitive, on
fait correspondre une cellule (la realisation de la primitive) quo )'on
a dessinee et stock& dans une bibliotheque du systeme gtophique. One des-
cription de haut niveau est interpretee par une programme qui la transfonne en
une sequence d'appels de cellules. (In programme de niveau intermdiaire
calcule ensulte la position de ces cellules et genere un texte dons le langage
graphique.
Ce systeme est fait de telle fawn qu'il puisse evoluer au fur et
a mesure
quo des circuits sent realises. On part d'une structure de bus sous laquelle
-
7/24/2019 000060196.pdf
18/145
definition
des cellules
programme
haut niveau
description
niveau intermed.
le
description
graphique
bibliotheque
de cellules
description
haut niveau
4.
caracteristiques
elect. & geomet.
V
caracteristiques
elect. globales
.16.
programme
niveau interment.
topologie des
signaux interface
description
graphique
systeme
graphique
1
masques
du circuit
Fig 1.2 Vue du SysCUrre
-
7/24/2019 000060196.pdf
19/145
.17.
sent dessinees les cellules de base et les cellules speciales necessitees
par une certain application. Pour cheque nouvelle application, it suffira
de dessiner les cellules qui n'existent pas encore. A mesure que le system
evolue, la probabilite,de trouver des cellules presentes dans la bibliotheque
augment. Ceci amene le concepteur a
chercher
a resoudre son problem avec
les primitives disponibles dans le systems et
a y
inserer, s'il on a vraiment
le besoin, une nouvelle primitive.
On presentera done :
1 - La mthodologie utilisee, le model de machine et les primitives de
base necessaires pour construire les parties operatives.
La description d'un algorithme, moyennant l'utilisation d'un ensemble de
primitives ad hoc, est le point de depart de la demarche. Comte tenu des
restrictions matrielles, les primitives complexes ne seront pas realisees
directement au niveau materiel mais par un algorithme d'interprlation qui
n'utilise que des primitives plus simples. Un modele de machine, extrait
d'observations de circuits existants, precise les primitives qu'on se propose
de realiser. Ce model s'appuie sur l'idee de trenches de hit.
2 - La realisation des primitives consist A definir un ensemble do cellules
fonctionnelles. Chaque cellule realise une fonctiun specifique qui correspond
A la realisation d'une primitive. Les cellules sont concues de toile fawn
qu'elles puissant travailler ensemble: lour assemblage constitue, en fait,
l'activite de generation d'une pantie operative. One etude du comportemeet
electrique est effectuhe pour certifier que leer fonctionnement est correct
du point de vue electrique.
3 - Le dessin du jeu de masques destine A le fabrication du circuit integre
est le but final du travail. Ce dessin est le resultat de l'assemblage de
cellules predessinees et stockees dans une bibliotheque du systeme informatique.
Les problemes de topologic et d'assemblage sont done etudies. Un mail est
ensuite presents, qui permet l'assemblage de cos cellules
a
partl
y
d'une
-
7/24/2019 000060196.pdf
20/145
.18.
description de haut niveau fournie par is concepteur. Dans is but d'isoler
les aspects fonctionnels de l'aspect purement graphique, l'outil est decompose
en deux parties :
un programme dit de haut niveau qui traduit un appel de fonction (primitive)
en une sequence d'appels de briques (dessin des cellules)
un programme dit de niveau intermediaire qui calcule l'emplacement des
briques et genere un texte dans le langage graphique.
Un ensemble de quelques cellules dessinees est presente dans l'annexe,
ainsi que leer assemblage en vue de realiser la partie operative d'un circuit
contrOleur de communications, en tours d'etude en cooperation avec la societe
EFCIS.
-
7/24/2019 000060196.pdf
21/145
O t t h o b o l o o t t
2
.21.
-
7/24/2019 000060196.pdf
22/145
2 METHODOLOGIE
2.1. INTRODUCTION
Dans ce chapitre on audio la methodologie generale utilisee pour realiser
des circuits logiques decrits par leer comportement. On traite ici deux
aspects :
La methodologie de base, oi) une machine sequentielle est assimilee
a la realisation d'un algorithm. A partir de la description de la machine par
un algorithme. on descend jusqu'a sa realisation materielle en appliquant des
operations d'interpretation selon la methode descendante [SCII77]. On decompose
l'algorithme en deux parties: le sequencement et les actions. A ces deux
parties, on fait correspondre deux parties de la machine: la partie contrOlo gel
realise le sequencement et la partie operative qui realise les actions.
La modelisation de la partie operative
on
ion oresente un model
pour en deduire un ensemble de primitives. La realisation de ces primitives
jusqu'au niveau des masques est le but de ce travail et on l'etudiera en
detail. Les primitives correspondent a des ressources d'action raises a dispo-
sition du conceptour qui dolt creer une version materielle d'un algorithme.
La nature de ces primitives est generale et elles sont done utilisables
dans toes les
algorithmes.
Toutefois, leer organisation varie seine les
besoins du concepteur. La reutilisation de ces primitives dans sa forme
finale (le dessin) est un atout important de cette methode, vu
l'effortconsi-
derable qu'il est necessaire de depenser pour les obtenir.
2.2.
LES ALGORITHMES ET LA STRUCTURE INTERPRETATIVE
Le comportement d'une machine sequencielle pent etre decrit sous la forme
d'un algorithme
A
L'expression de
A
dans u p
langage L, representee A/L
est un programme P du langage L.
Le memo algorithme pent etre realise sur du materiel. La realisation de
A sur
un materiel M, representee A
//M est une machine M.
-
7/24/2019 000060196.pdf
23/145
.22.
Un algorithme peut avoir differentes formes, aussi bien dans sa realisation
materielle que dans son expression graphique (programmes dans differents
langages, organigrammes, etc...).
es differentes formes sont representees
dans la figure 2.1 ot) P
1 ,
p 2
p 3
oot les differents programmes (ou
expressions graphiques). M 1 ,M 2
,
M 3
ont
es differentes machines. L
i
, L2...
sont des langages et M 1 , M
2
, M
3soot differentes organisations materielles.
A/L1
1
I
4 A//M1
A/L1
1
-
2 (
A
2/ /M2
A/L2
t
3
3
4
A//M3
Figure 2.1 - Differentes realisations de l'algorithme
A .
Les langages dans lesquels est exprime l'algorithme
A
constituent des ensembles
possibles de ressources. Les ressources d'un langage sont dites des primitives.
Les ressources materielles sont appelees composants.
Notre but est la construction de machines informatiques, c'est-6-dire, la
realisation materielle d'algorithmes. Dans le domaine des circuits integres,
les machines soot realisees par une sequence de traitement d'un materiau
sont definies les formes geometriques qui representent les composantes 6 l'aide
d'un jeu de masques.
es masques sont faits par des machines pilotees par des
ordinateurs et it Taut donc concevoir le circuit, dessiner ses masques et les
rentrer dans l'ordinateur: c'est la conception du circuit.
L'activite "circuits integres" se prAte A l'automatisation A differents
niveaux et dans plusieurs domaines (comme la simulation, la saisie des donnees
des masques. le dessin, is test, ...).
n s'interesse ici en particulier 6 la
.23.
-
7/24/2019 000060196.pdf
24/145
conception do circuit jusqu'au niveau des masques. L'approche choisie
est de considerer les circuits, non pas chacun comae un cas a part, mais
comma differentes realisations d'une memo structure de base ; on peu come
differents programmes ecrits dans un memo langage (tout langage nest pas
optimal pour tous les programmes come cette structure de base n'est pas la
meilleure pour toes les circuits). Les circuits vises sent les circuits qui
realisent des algorithmes complexes (evalu par le nomhre d'etats d'un
automate de Moore equivalent, avant un vocabulaire d'entree non trivial).
Un circuit dont l'algorithme est exprime par un programme pout etre realise
directement a partir de ce progranoe. Si les primitives du langage utilise
sont ralisables sur du materiel, alors une transposition direct est possible.
Si les primitives du langage utilise sont trop complexes et quo leur realisa-
tion directe sur du materiel n'est pas possible foe n'est pas interessante),
on va proceder a
des descriptions de plus en plus fines. en reduisant
a chaque
niveau la complexite des primitives utilisees. Le dernier niveau atteint ne
dolt done avoir quo des primitives realisables sur du materiel.
Un interprteur Ii du langage Li est un algorithme capable d'executer tout
programme Ocrit dans ce langage. Le processes d'interpretation est note :
Li
L'interpreteur lui-meme, pout etre programme dans un langage Li-1. Le
processes d'interpretation sera repte, s'il le faut, jusqu'a atteindre le
niveau de langage desire. Le resultat est la chains :
Ln
1 ,I1/L0
-
7/24/2019 000060196.pdf
25/145
.24.
IC) sera realise de maniere materielle. Sa realisation est is machine
M
capable d'executer, indirectement, les instructions de Ln via les interpreta-
tions imbriquees.
La structure interpretative permet un isolement entre les differentes couches
de langage. Il est evident que l'independance entre les couches est d'autant
plus grande que ces couches sont plus eloignees. Il en decoule une grande
independence entre les caracteristiques externes (specification au niveau
superieur) et la realisation interne des machines, specialement pour les plus
complexes, c'est-6-dire, celles qui contiennent plusieurs niveaux d'interpre-
tation.
On peut avoir plusieurs couches externes realisees avec la meme machine
physique, au prix d'allocateur, come on is volt dans le schema suivant :
Ln
,In/
Ln-1
Allocateur.--
Lm
Lm-1
1m-1/
Ln-1
n-1/
Ln-2
I 1 /
LO
TO
L'allocateur sert
a
gerer le partage In-1 entre les deux programmes qu'il
a
anterpreter.
Les primitives d'un langage sont constituens des ensembles d'operateurs
et de variables.
Exemple :
Sp
it le microprocesseur 6800. Prenons seulement l'algorithme d'interpretation
des instructions (interruption, halt, etc... exclus). Les primitives dont
dispose is programmeur sont les variables et is jeu d'instructions. Les variables
sont A, B, X, PC, SP, CC et ME0...640. c'est-h
-dire, les registres et la
memoirs.
.25.
-
7/24/2019 000060196.pdf
26/145
P/Ln
A
In/
Ln-1
1n-1/
Ln-2
Il/Le
f0//Materiel
donnees
variables n
donates 1
variables 0
donnees 0
entres/sorties
I1 + donnees 1 + variables 0
donnees n
+
variables n + donnees
variables n-1
donnees n-1
n + donnees n + variables n-1
R e m a r qu e :
ans le jeu d'instructions mentionne ci-dessus, sent comprises
les instructions qui executent des actions sur les variables et celles qui
contrOlent In flux de l'execution.
Un algorithme transformun ensemble de donnees (entres) dans un autre
ensemble de donnees (sorties). On pout representer cette structure par le
schema de Is figure 2.2.a, ou, plus synthetiquement. par celui de 2.2.b.
Dans ce cas,
es variables sont internes et representent ce dont a besoin tin
algorithme pour realiser ses operations.
entres
4-
variables
n
variables
sorties
onnes
a
Figure
2.2-On algorithme et son environnement
L'algorithme, exprime dans un langage Ln est note A/Ln. Un interpreteur
de In dolt acceder au programme ecrit en Ln aussi hien qu'aux variables et
donnees qu'il manipule. Le programme, les variables et les donnees sont
done des donnees pour l'interpreteur. L'interpreteur utilisera en plus,
des variables de travail internes. Le phenomena se repete tout an long des
couches d'interpretation, ce qu'on schematise dans is figure 2.3.
Figure 2.3. - EnchaInement des niveaux d'interpretation
.26.
-
7/24/2019 000060196.pdf
27/145
LO est un langage de description de materiel et ID est un interpreteur
physique realise sur du materiel. ID est donc figs. ID n'interprete pas
tous les programmes ecrits en LO mais un soul.
Chaque niveau d'interpretation correspond A un langage dont les primitives
sent plus elementaires, qui permet donc une description plus fine des actions.
En parallele on considere une hierarchie des donnees pour n'implanter sur
le materiel de IO qu'un petit sous-ensemble des donnees traitees. Les limi-
tations du materiel sont connues du concepteur et it pout avoir une ides
de ce qu'il est possible d'implanter. Les autres donnees sent implantees
dans d'autres organes dont l'acce-s se fait via des regles definies.
Exemple :
Supposons un systeme informatique (une carte microprocesseur et un terminal.
pour simplifier).
On dispose d'un terminal: it est la materialisation des donnees ( les
entrees/sorties ).
Le programme est Ocrit dans Ln. L'algorithme In qui interprets Ln accede
aux donne es du programme via des regles d'acces. Il en resulte que Ln-1
dans lequel est ecrit In ne contient pas l'ensemble des donnees mais seulement
les primitives qui permettent de construire les operations d'acces aux
donnees (figure 2.4). On implemente de la memo fawn les boutons "marche/arret"
et la lampe qui indique l'etat "arrete".
Si on descend d'un cran, on cnnsidere le microprocesseur
n-1
qui interprete Ln-1 est decrit dans le langage Ln-2. A ce niveau, on pout
decider d'implanter la memoire, par exemple, qui est alors accedee indirec-
tement. Ln-2 ne contient que les primitives necessaires A la construction
du mecanisme d'acces.
.27.
-
7/24/2019 000060196.pdf
28/145
arret6
RESSOURCES
.jeu d'instructions
.registres
. 1 1 1 m o i r e
.synchronisation
ENVIRONNEMENT
PROCESSEUR
Figure 2.4 - Fxemple d'implantation: les pripheriques
Ce travail se restraint a
la realisation dune partie des ressources de LO,
en materiel: un sous-ensemble des donne
es 0 et un sous-ensemble des actions.
On etudiera par la suite une decomposition des circuits pour preciser les
elements qu'on se propose de realiser.
2.3. NOTION DE PARTIE OPERATIVE ET PARTIE CONTROLE
Les machines sequentielles en general et les processeurs en particulier,
peuvent etre decomposes en deux parties: une partie contrele et une partie
operative. Cette decomposition est faite, non seulement du point de vue
FflG
S
I
NSTITUT DE INFORMATICA
8131_10TErA
.28.
-
7/24/2019 000060196.pdf
29/145
logique, mais aussi, souvent, du point de vue topologique.
- La partie operative realise les ressources de base pour in traitement des
donnees. Elle comprend :
le stockage des donnees (memoires et registres),
. l'acheminement des donnees (bus),
is transformation de donnees (operateurs).
- La partie contrOle pilote is partie operative en envoyant des commandes.
Pour executer is sequencement, is partie contrOle a besoin de connaitre
l'etat de is partie operative. La partie operative renvoie donc des
informations d'etat et de conditions telles que les mots d'etat at des
predicats calcules.
La decomposition des machines on partie contrOle et partie operative est
etroitement liee
a
la description de ces machines sous is forme d'un algorithms.
L'algorithme est ecrit dans un langage: le sequencement est assimile au
contrale at les operations, aux primitives de ce langage. Supposons l'algo-
rithme ci-dessous donne sous la forme d'un organigramme (figure 2.5.a). On
present separement le sequencement et les actions pour dissocier les composants
d'operations de ceux de contrOle.
L'algorithme demarre avec le signal "debut" on executant l'action 1.
Les actions 2, 3, 4, 1, 2, ... sont ensuite executees sequentiellement.
Pendant l'action 2, la partie contr6le analyse is predicat "A = 0" fournie
par la partie operative. Si (A
=
0) est VRAI, elle s'arrete on envoyant le
signal "fin", sinon, l'action 3 est actives.
La communication avec l'environnement se fait par les donnees at par les
signaux debut et fin .
.29 .
-
7/24/2019 000060196.pdf
30/145
debut
1
V R A I
fin
1 FAUX
3
(y
A + e ntre
test: (A=0?)
B + A+1
sor t ie + B
a
Figure 2.6. - Sequencement et actions dans un algorithme
a) Organigramme, b) Liste d'actions
) Sequencement.
Dans la figure 2.6 on schematise ces cliff areas elements: la pantie
operative, la partie contrOle et la commnicallon avec l'environnement.
La communication so fait par deux voles dites vole de donnees et vole de
synchronisation. Les commandes sont : addition, affectation, etc...
at la condition est le resultat du test (A=6).
-
7/24/2019 000060196.pdf
31/145
voie de synchronisation
vole de donn6es
Figure 7.6. - Partie contrele at partie operative.
Si on applique cette decomposition
a
la structure interpretative presentee
auparavant, on volt que les parties contrOle s'empilent, ce qui peut etre
represents come dans la figure 2.7. PC est une partie contrOle et PO
est une partie operative. Les indices sont les niveaux et les apostrophes
distinguent les elements d'un meme niveau. Un double rectangle represente
une partie operative implantee.
.31.
-
7/24/2019 000060196.pdf
32/145
PC n
POn
POn-1
PO
exiernr.
PCn-1
A
P
I P
' 0
PCn -2
A
P O"
POn-2
Figure 2.7. - Partie centrele at partie operative dans
la structure interpretative.
Par PO externe on veut representer on element qui nest pas synchrone avec
PCn, conme on pripherique dans l'exemple de la figure 2.4 r it est
consider cosine one boite noire de laquelle on ne connait que les entrees/
sorties (les voles de synchronisation at de donnees).
Dans cette memo
bone noire la
decomposition en niveaux d'interprtation
peut no poursuivre.
.32.
-
7/24/2019 000060196.pdf
33/145
2.4. IMPLANTATION
DE LA PARTIE OPERATIVE
['implantation d'une partie operative d'un circuit integre est comprise
ici dans le sons strict de la realisation du dessin des masques de cette
partie operative.
On introduit done les idees de specification d'une partie operative et de
topologie.
En partant des composants de la partie operative presentes auparavant, une
realisation physique est proposes. Un langage formalise l'equivalence entre
ces elements physiques et le comportement fonctionnel. Un modele de la
partie operative est ensuite defini
; a
partir de ce models sent concus les
differents elements. Une partie operative specifique est realise
a
partir
des specifications du concepteur et des cellules oredessinees stockees dans une
bibliotheque graphique.
2.4.1. Les composants d'une partie operative
Une partie operative est composes des elements de :
memorisation,
communication,
transformation de donnees.
2.4.1.1. La memorisation est la realisation d'un space d'adressage. Come
on est au niveau de la machine physique, cot space d'adressage represente
l'implantation des donnees de LO. Cet espace d'adressage n'est pas homogene,
c'est-6-dire qu'il est compose d'objets dont le comportement n'est pas iden-
tique. On les appelles tous memoires parceque la fonction physique qu'ils
remplissent est une memorisation. Cette notion recouvre le stockage
des constantes (lecture souls),
des variables banalisees (lecture/ecriture),
des variables specialise:es (lecture/ecriture),
des mots de commandos et d'etat (ecriture seule).
.33.
-
7/24/2019 000060196.pdf
34/145
a/ Les constantos sont rangees dans des memoires a lecture seulo.
Ce sont des sources d'informations qui ont ete enregistrees au moment de is
conception du circuit.
b/ Les variables banalisees sont implantees come des memires vives.
Il est possihle de lire et ecrire cos variables et lour valour initials n'est
pas definie.
c/ Les variables specialisees sent semblables aux variables banalisees
mais possedent une propriete de plus: elles pouvent titre chargees par is sortie
d'une function.
Remarque : Pans is pratique, it arrive souvent quo recriture dans les
variables specialisees soft restreinte au chargement d'une valour calculee,
c'est-a-dire a is sortie d'une fonction. U'est une simplification hue a la
nature du probleme traits puisqu'il s'avere quo l'ecriture a partir d'une
autre source n'est pas utilisee. flu point de vue de la conception du circuit
cod represente une optimisation car it y a one co:wand:3 de moins a gnerer.
2.4.1.2. Communication
Pour que les variables puissent communiquer entre elles it Taut qu'il existe
un chemin de donnees les reliant. En general, it n'est pas possible. ou
n'est pas economique, de roller chaque variable a toutes les autres. On
construit done des cheudns qui sent partages par les variables dont l'acces est
controls par des TMOS interrupteers quo l'on peut commander. Ces chemins sent
appeles des bus. Its representent des variables instantanees de LO puisque
leur valour n'est valido qu'A la condition que la connexion suit active.
Its sent en fait des variables de IO (l'interpreteur du langage de phases) :
la phase est indivisible et la variable n'est done utilisable qu'a ce niveau
(une variable instantanee ne change pas pendant into phase).
2.4.1.3. Transformation de donnes
La transformation des donnens est une fonction combinatoiro qui transforme une
configuration de bits on entre en une autre configuration en sortie.
.34.
-
7/24/2019 000060196.pdf
35/145
Par exemple :
y = f(xl, x2 ... xn).
Les machines qu'on se propose de realiser auront seulernent des fonctions
d'une ou deux variables. Les fonctions plus complexes devront 'Atre realise:es
par decomposition (interpretation). Toutes les fonctions d'une ou deux
variables ne seront pas implantees, macs seulement lee plus simples qui repre-
content des primitives suffisantes pour interpreter les autres. Dans l'etat
actuel de la technologie, par exemple, un multiplieur de 16 x 16 bits n'est
implants (cAble) que pour des processeurs speclaux ; it est, par contre,
realise par interpretation de maniere beaucoup plus frequente.
Remarque : Parmi les activites d'une partie operative, it faut considerer
les entres/sorties. On va considerer les entrees/sorties come faisant partie
de l'espace d'adressage de LO. Au niveau de LO on ne les voit pas autrement
puisque on n'accede qu'a des variables. La specificite de ces elements est
liee a des circuits tels que des amplificateurs et sont traites dans la commu-
nication entre parties operatives. La synchronisation propre A ces echanges
est gel-6e par un niveau superieur.
2.4.2.
Representation symbolique de la partie operative
On va definir des ensembles d'elements, cheque ensemble comprenant des
elements d'une certaine categorie. Les relations entre ces ensembles sont
ensuite exprimees par un symbolisme pour arriver A une formalisation de la
partie operative.
2.4.2.1. Definition des elements
L'espace d'adressage est constitue des elements de memorisation. Definissons
alors :
C - ensemble des constantes
V - ensemble des variables banalisees
X - ensemble des variables specialisees.
.35.
-
7/24/2019 000060196.pdf
36/145
Lespace d'adressage est alorsS
= CUVUX. Toutes les variables de
l'espace S n'ont pas les memes droits d'acces.
Definissons maintenant on ensemble El constitu des operateurs dyadiques.
c'est-6-dire des elements de transformation de donnees a deux operandes.
Cheque operateur dolt acceder a deux variables on entre et generer une
variable en sortie.
On va appeler a et fi deux variables instantanees, accessibles a tous les
elements de la partie operative.
On a vu quo les operateurs realisent une fonction et quo les variables
specialisees sent charges avec is valeur dune function. On ne pense pas
relier tous les operateurs a toutes les variables specialisees (sauf s'il
n'y en a quun ou deux) sinon on retrouve le mere probleme que pour le chernin
entre variables.
Lassociation operateur-variable present:El suffisamment d'internt pour etre
traitee 6 part. On definit alors le couple k=(d,x), dans lequel d est un
operateur et x Is variable associee. Si les ensembles 0 et X ont is metric
coordinalite, on peut ordonner les elements de chacun de ces ensembles et les
arranger en couples ki=(di.x1). Lensenble K sera done dfini par :
K =
u
ki / 15i
/0/.
On operateur d peut executer plusieurs fonctions. Physiquement, d n'a quune
sortie. Les differentes fonctions seront distinguees par des parametres
envoyes par la partie contrele. La fonction est distinguees par un indice qui
l'identifie.
Exemple
: Si d peut executer trois fonctions, on les appellera d
i
, d2et d
3
.
Parfois l'indice sera remplace par un symbole identifiant is function en vue
d'uno neilleure lisibilite : supposons que d
1
soit la fonction identite, on
la noterait, dans ce cas. d .
.36.
-
7/24/2019 000060196.pdf
37/145
2.4.2.2. Symbolisme des relations entre variables
Pour exprimer le comportement du circuit, on va representer les actions par
des symboles definis ci-apres. Tout le langage n'est pas completement
c'est en fait une partie des primitives de LO. LO est un langage de transfert
de registres dont on a beaucoup d'exemples dans la litterature. Le but est
d'etablir une correspondence bijective entre ces primitives et sa realisation
physique.
a/ Types des oprandes
Pans les expressions, on va utiliser les quatre types d'op6randes suivants :
constante
variable
registre
bus.
Nous appellerons variable, une variable banalisee et registre une variable
specialisee. Un bus est une variable instantanee. Les operandes sont
declares par un nom. Les constantes regoivent leur valour au moment
de la declaration.
Examples: Si on a des declarations comma :
constante zero=0, deux=2
variable addr, base
registre acu, tampon
bus alfa, beta
alors on pout faire reference
a zero, deux, addr... Un ensemble d'elements
du memo type pout constituer une variable structuree.
Example: soft mem une variable structuree declaree contenir cinq elements.
On fait reference aux trots premiers elements par :
mora1-3] ou mem[1,2,3].
Remarque : Pour faire reference aux bits d'un operande on utilise la forme
syntaxique suivante :
acu ,
addr
mem [2]
.
.37.
-
7/24/2019 000060196.pdf
38/145
Les bits sont nomerotes de 0 a
n, correspondent
a l'ordre poids foibles
vers poids forts.
Le nombre de hits des operandes correspond
a
la taille de la partie operative,
qui est definie dans les declarations.
Example : partie operative nom type dyadique taille 8 bits.
b/
es actions
On distingue les actions en :
affectation
transformation
connexion.
. Une affectation est le chargement d'une variable memorisee. On la represents
par is symhole + .
. Une transformation est l'effet d'une fonction sur one ou deux variables.
One fonction dune variable "a" s'ecrit :
op a
et one fonction de deux variables "a" at "h" s'acrit :
a op
h,
(JO op est l'opArateur. La fonction donne one valour qui peut etre attribuae
A one variable.
. La connexion correspond au transfert d'une variable dans une variable
instantanee, represents par ":-",
Exemples d'actions :
alfa := a
b
f
alfa op beta
On n'etudie pas ici le sequencement dans le langage de phase Le. Il sera
seolement precise que le sequencement progress pas a pas. at que, A cheque pas
.38.
-
7/24/2019 000060196.pdf
39/145
on certain nombre d'actions peuvent etre realisees. Les actions qui se
realisent dans le meme pas soot separees pal' une virgule. Les pas soot
separes par des points-virgules.
Exemple d'un pas : soft les trois actions "alfa:-a", "beta:=b"t "c + alfa op
beta". Si ces trois actions constituent on pas, on les ecrira :
alfa := a, beta := b,
c + alfa op beta
Les fleches marquent les etapes dans in sequencement. Dans les langages de
transfert de registres, les etapes soot identifiees par des etiquettes ou
par une expression booleenne.
Les actions qui constituent une etape snnt Bites on parallelism co-lateral.
Cela signifie que l'on ne fait aucune hypothese sur l'ordre dans lequel ces
actions se realisent r dans In cos de deux affectations
a+ x b+ y
no ne salt pas quelle est la premiere executee A cause de la dispersion des
horloges.
Remarque : Les operateurs sont des circuits combinatoires. Its peuvent avoir
deux types de variables on entree : les variables memorisees et les variables
instantanees. Une variable instantanee est valide tent que la connexion est
active, sinon elle est invalide (ou indfinie). La sortie d'un operateur mono-
clique est du meme type que son entre. Pour un operateur dynamique, l'etat de
la sortie est donne par le tableau ci-dessous :
entre 1
ndefihie
nstantanee
emorise
entre 2
indefihie
ndefinie
ndefinie
ndefinie
instantanee
ndefinie
nstantanee
nstantanee
memoriseendefinie
nstantanee
emorisee
.39.
2 .5 . M ODE LE GRA PI I I QUE DE LA PARTI E OPE RATI V E
-
7/24/2019 000060196.pdf
40/145
Les elements dune partie operative dolvent travailler ensemble. Dans un
circuit integre, it foot la realiser sur un plan (les circuits sont planaires).
On presente done un modele qui tient compte de ces restrictions et duquel
on deduit la structure topologique des divers elements de la partie operative.
2.5.1. Schema (general
Le schema qu'on va presenter (figure 2.8)
montre A la fois les elements de la
partie operative et leur communication, y compris le sens de cette communication
(unidirectionnelle ou bidirectionnelle). I1 y a deux voles de communication
a et
0 .
CONDITIONS
O M M A N D E S
tad T
Figure 2.8 - Schema graphique de la partie operative.
Les blocs C, V. X et D sont les ensembles decrits auparavant, c'est-A-dire
les constantes, les variables, les variables specialisees et les operateurs.
Le bloc E/S sent les entrees/sorties.
Taus les operateurs D ne sont pas lies
a
toutes les variables X. Plus
exactement, si on reprend la definition de l'ensemble K, chaque element de 0
est lie
a
one variable de X (variable associee). On couple (d,x) donne un
.40.
-
7/24/2019 000060196.pdf
41/145
d.
0(
L
vL
is
K =
di ,xi)
element k de K qui est represents par la figure 2.9.a. L'ensemble K
qu'on montre en 2.9.b a tous ses elements connectes comme celui de 2.9.a.
d
Figure 2.9. - Les elements de K a/un element k at h/l'ensemble K.
L'ensemble K remplace donc D at X dans la figure 2.8.
2.5.2. Connexion des lments
Un reseau complet de connexions n'est pas toujours necessaire. Dans la
realisation des circuits integres on a interet A optimiser l'utilisation de
la surface, c'est-A-dire A n'utiliser qu'un minimum de surface. Si une
commande n'est jamais utilisee, on va la supprimer car elle occupe de la sur-
face, ainsi que les circuits qui la calculent.
Exemple : Supposons qu'une constante Cl apparait toujours dans l'algorithme
ecrit en LO de la maniere suivante :
alfa := Cl,
oe
alfa est un bus (variable instantanen). On voit qu'il est inutile de
realiser la connexion b'eta:=C1 car elle ne serait jamais utilisee.
Cette optimisation est repoussee dans le description de l'algorithme lui-meme
at est valable pour presque tous les elements. Au point de vue de l'algorithme
.41.
-
7/24/2019 000060196.pdf
42/145
a fa
V VI
beta
V 2
V 3
elle consiste
a
trouver des cas comma celui donne dans l'exemple ci-dessous.
Supposons qu'on aft les deux tapes suivantes de l'algorIthme :
1/ v1
alfa
alfa
: = cl
2/ v2 4-
v3
beta
alfa
beta
,
lfa
: =
: =
cl,
x l
On peat modifier l'etape 1 en changeant de bus utilise (changer alfa par beta)
de maniere a
ce que c1 n'ait qu'une seule connexion (au bus beta) au lieu de
deux.
2.5.2.2. Les constantes (C) et les
ariables (V)
Les variables et les constantes presentees out la meme caracteristique du point
de vue de la connectique. On etudie lei les variables, mais le raisonnement
se transpose pour
les constantes. L'ensemble des variables V dans une partie
operative
a
deux bus alfa et beta
ent etre decompose en trois sous-ensembles:
V1 : variables connectees au bus alfa,
V2 : variables connectees an bus beta,
V3 : variables connectees aux deux bus.
Graphiquement, on presente ces ensembles cosine dans la figure 2.10.
Figure 2.10 - Decomposition de V en trois sous-ensembles V1, V2, V3.
.42.
-
7/24/2019 000060196.pdf
43/145
Remarque : Des sous-ensembles peuvent titre vides, c'est-A-dire qu'il n'existe
pas de variables d'une certaine classe. En particulier, si les trois sous-ensembles
sent vides, cela signifie que V est vide et que l'on n'a aucune variable banalisee
dans la partie operative.
2.5.2.3. Les variables spcialise'es
Les variables specialisees ont trois chemins d'acces: un en ecriture seule et
deux chemins bidirectionnels. Le premier est toujours present. Les deux autres
sont variables quant
a leur nombre et A leur nature :
a/ le nombre de chemins varie de la memo maniere que les variables banalisees ;
b/ la nature: on represents la connexion de la variable specialisee avec is bus
par un chemin bidirectionnel. Or, it s'avere que maintes applications ne
l'utilisent que dans un sens. Cette caracteristique est remarquee dans
l'algorithme par exemple, par l'absence d'instructions d'affectation dans
cette variable
a partir du bus.
2.5.2.4.
Les op6rateurs
Les operateurs (dyadiques) sent des fonctions de deux variables et generent
une sortie: it y a done trois connexions. On a utilise des expressions du type
b
F
alfa op beta,
o6 alfa et beta sont des bus et o6 b est une variable specialisee. L'operateur
calcule en permanence le fonction "op", si it est lie aux bus alfa et beta.
Le chargement de b ne se fait, cependant, qu'aux moments o6 le resultat doit
etre memorise.
2.53.
Partie oprative unaire
Dans l'etude de la partie operative, on a presents des operateurs monadiques et
dyadiques. Le models graphique contenait deux bus, sur lesquels se branchent
les variables, les constantes et les operateurs. On pourrait se demander ce qui
changerait s'il n'y avait que des operations unaires 6 executer. Tout d'abord
ce cas existe et on le met Bien on evidence, par exemple dans les microprocesseurs.
Les raisons et lee avantages de cette technique sont analyses brievement.
Les microprocesseurs executent des operations sur des donnees. Le programme
(ensemble des operations a
executer) et une partie des donnees sont places dans
.43.
dans une memoire externs
ou
ii faut rechercher les primitives et les donnees
(supposons que les entrees/sorties solent dans l'espace memoire) et y remettre
-
7/24/2019 000060196.pdf
44/145
les resultats. I1 y a
la une operation d'adressage. I1 faut remarquer encore
Won fait souvent reference a des positions consecutives de memoire.
les microprocesseurs de la premiere generation (8080, 6800, Z80 ...) not un
espace d'adressagn de la memoire externe de 64 Koctets. Ce sent des processeurs
qui traitent des donnees de 8 bits et qui adressent la memoire en 16 bits.
L'option 16 bits d'adresse - 8 bits de donnees est un compromis technique entre
plusieurs facteurs macs qui, finalement, est apparu Bien adapts aux applications
de ces machines.
L'ensemble des operations sur les donnees est assez riche ; elles soot du type
registre-accumulateur et memoire-accumulateur. La recherche de sophistication
se place surtout dans l'enrichissement des modes d'adressage et de l'implanta-
tion de primitives de synchronisation.
One structure interne en 8 bits pour les donnees et 16 bits pour les adresses
pose des problemes pour le traitement en 16 bits. Cola se remarque
a la
pauvrete des operations our les adresses. On se limite, en general.
a des
operations du typo :
comparaison en 16 bits (ne donnant que les resultats "egal" ou "different").
addition d'une valeur 8 bits our les poids faibles d'un nombre en 16 bits,
incrementation/decrmentation en 16 bits,
deplacenent registre vers memoire et vice-versa.
L'evolution de l'integration permettant le placement d'un nombre de transistors
superieur de presqu'un ordre de grandeur a
celui des microprocesseurs cites,
a donne naissance
a
une nouvelle famine: les microprocesseurs 16 bits. Mais
on est aussitht pass a
un espace d'adressage plus important, et le probleme
continue. Pour le 680011, par example, les adresses sent en 32 bits (actuelle-
ment. 24 bits seulement sortent du boitier) o it y a trois parties operatives
de seize bits, une pour les donnees et deux, plus simples, pour les adresses,
construites autour de deux bus segmentes. La partie adresse pourrait etre sans
doute optimises (comma dans le 78000, par exempla, oil les memoires accedent,
alternativement, A un bus ou a l'autre). I1 somble neannoins (pre l'interet de
.44.
la regularite et )'utilisation de cellules standard a plus d'importance que
-
7/24/2019 000060196.pdf
45/145
D
quelques millimetres carres de silicium. On rappellera cet argument, d'ailleurs,
pour encourager le concepteur a utiliser des cellules standardisees meme s'il
pout gagner un peu de surface en redessinant une cellule specifique.
Finalement, it faut mentionner que les processeurs utilisent bien le fait d'avoir
deux parties operatives independantes (qui peuvent communiquer entre elles)
puisqu'ils doivent chercher les instructions dans des positions successives de la
memoirs. La recherche de )'instruction suivante pout souvent etre declenchee en
parallele avec la derniere etape de l'instruction en cours, ce qui apporte une
amelioration sensible aux performances de la machine.
gamma
Figure 2.11 - Partie operative monadique.
2.6. CONNEXION ENTRE PARTIES OPERATIVES
Deux parties operatives peuvent communiquer entre elles directement par leurs
bus. Cola se fait par des connexions commandoes qui relient les deux bus
(figure 2.12). Ces connexions cunt bidirectionnellec.
T O W
Figure 2.12 - Connexion entre deux bus
faut faire reference
e
la taille de la partie operative. En effet, toutes les
parties operatives n'ont pas la meme taille (c'est-a-dire le meme nombre de bits).
bus 1
bus 2
.45.
-
7/24/2019 000060196.pdf
46/145
J
usquici. on a suppose que les connexions ou affectations se faisaient sur
tous les bits du bus (c'est-A-dire pour tous les bits de la partie operative).
Pour la connexion entre deux bus qui n'ont pas in meme non6re de bits, 11 faut
preciser les bits qui doivent conmuniquer. On represente is connexion entre
deux bus par :
alfa :=: beta.
ou alfa et beta sont deux bus. Si game est un bus de 16 bits et alfa est un bus
de 0 bits, on pourrait ecrlre :
alfa :=: gamma .
Remarque : Un bus est une variable instantanee et deux bus connectes sont aussi
une variable intantanee. A un instant donne on ne peut avoir quune seue source
d'inFormation sur les deux bus. Si on a par exempla :
beta := a,
alfa :=: beta,
11 est evident que pour que alfa soft vallde, les deux connexions doivent etre
actives. Le symbols ":=:" n'etablit pas une direction de transfert: it signifie
quun bus suit l'autre. La connexion entre deux bus peut etre mointenue sur
plusleurs pas.
2 . 7 . LE S E N T R E E S / S O R T I E S
Les entrees/sorties soot traitees de is memo facon que les variables ; on d'autes
terms. elles soot ramenees dans l'espace d'adressage de l'algorithmR. Les
entrees/sorties assurent la communication entre une partie operative et un bus
externe. Du point de vue de la partie operative, une entre est une lecture d'un
bus externe at une sortie est une ecriture sur le bus externe. One entree/sortie
permet les deux operations: lecture of Ocriture (figure 2.13).
.46 .
-
7/24/2019 000060196.pdf
47/145
bus de la Partie Operative
r
sort ie
ntree
ortie
ntre
bus ex ternes
bus externe
Figure
.13 - Les entres et les sorties
Des registres peuvent etre places entre le bus interne (bus de la partie operative)
et is bus externe si les deux bus ne sent pas synchrones. Dans la figure 2.14
on a une entree/sortie avec deux registres, un pour l'entree et l'autre pour la
sortie.
bus de la Part ie Operat ive
R e g .
sort ie
R e g .
entre
Si
5 2
l
bus ex terne
xterne
E2
Figure 2.14 - Entree/sortie avec registre en entre et en sortie
.47.
Par hypothese. les bus interne et externe ne peuvent pas etre connectes
-
7/24/2019 000060196.pdf
48/145
directement, sinon Veneration serait tout simplement une connexion.
Onva rioter les entrees/sorties par le symbole "
-
7/24/2019 000060196.pdf
49/145
. registre avec double acces (en plus de l'entree de l'operateur)
. registre a simple acces
Constantes (les constantes seront en general en simple acces)
Bus
. bus internes
. bus externes
Operateurs
. unite arithmetique et logique
. incrementeur, decrementeur, incrementeur/decrementeur
. decaleur (A gauche,
a
droite, bidirectionnel)
. multiplexeur
. amplificateur d'entree, de sortie.
Remarque : Les operateurs sont souvent lies
a un circuit specifique dans le sens
que ion a interet a
avoir des operateurs adaptes
a
l'algorithme, soit dans le
sens de simplifier l'algorithme, soft de minimiser la surface utilisee. Parfois
les deux avantages sont atteints simultanement. Si ion n'utilise que des fonctions
logiques tres simples, it n'est pas utile d'implanter une unite arithmetique et
logique. Si on fait systematiquement une operation de decalage, par exemple, on
peut liberer le bus qui serait alors utilise pour chaque operation de decalage
en construisant un operateur special. A ce point de vue, it est important de
laisser au concepteur la possibilite de construire des operateurs tout en utilisant
des cellules du systeme.
49
-
7/24/2019 000060196.pdf
50/145
i t ta l t sat iva
a
.51.
3 - REALISATION
-
7/24/2019 000060196.pdf
51/145
3.1. INTRODUCTION
Les systemes digitaux binaires sent exprimes par des variables at des
functions de commutation. Las variables sont associees
a deux etats bien
definis. Ces deux etats sont appeles VRAI at FAUX. OUVERT at FERME, 1(IIN)
et 0(ZER0). HAUT et DAS, etc...
es variables sont dittos logiques ou
booleennes.
Dans une realisation physique, ces etats sont associes a
des grandeurs
physiques come le flux, la difference de potentiel, le courant. la vitesse,
etc... Pour utiliser une grandeur physique representative des variables
logiques, 11 faut qu'on alt la possibilite technologique de construire des
composants qui les manipulent come les tubes
a
vide ou les transistors pour
les grandeurs electriques. I1 faut aussi qu'il soit possible de construire
un ensemble generatif de functions booleennes (par example NOR) at qua ces
functions puissent etre connectees. Suit la possibilite de :
construire des dispositifs de coummtation,
realiser un ensemble ndnimal de functions,
connecter les functions.
3.2. LES ELEMENTS DE BASE
3.2.1. Les niveaux logiques
nn comnence par faire une application des variables logiques darns le domalne
de la variable physique. Solent les valeurs logiques 0 et
1
at une grandeur
physique X dans le domain() (
.0).
Une application est de-flute par la donne
d'une valour
de
X appelee seuil et l'on etablit rule :
1
logique
*X
>swill
0 logique
*X
euil
11
est tres difficile do realiser des dispositifs qui distinguent exactement
le seuil. Sans perte de generalite. le scull est etendu dune valour a
un
intervalle. Prenons le seuil come l'intervalle rS1.S21. La nouvelle relation
entre la variable logique at la variable X sera definie (figure 3.11 :
.52.
-
7/24/2019 000060196.pdf
52/145
S
i
S2
valeurs lonieues
+ co
variable X
Si
2
b = 0
= 1
Figure 3.1. - Les valeurs logiques appliquees cur un
domaine: lee valeurs sent separees par un
interval le.
Lorsque les variables logiques changent d'etat, cela entraine que les variables
physiques transitent par la zone situee entre les deux seuils, o6 elles n'ont
pas de sens. Soient les deux variables a(continue) at b(bolleenne) dans la
figure 3.2.
L'axe vertical donne l'evolution de a et l'axe horizontal celle de b )
quand a=a1, h change d'etat.
Figure 3.2. -Changement d'etat dune variable booleenne
-
7/24/2019 000060196.pdf
53/145
Calve lee variables, les functions changent l'etat de lours sorties en un
temps fini. De plus. une function ne change pas necessairement son etat
au merne instant que ses variables dentree. Il en resulte qu'un systems
digital dolt etre studio en rapport etrolt avec son evolution ternporelle
car 11 y a des moments o6 quelques variables au functions ont une valeur
logique non definie.
3.2.2. Les dispositifs
Les dispositifs electriques, puis electroniques, prirent une position de
premier rang dans le domaine des systemes logiques. Les circuits electriques
presentent en fait des caracteristiques qui les distinguent indiscutablement
comae la vitesse, la facilit de connexion, la souplesse, les nomhreux trans-
ducteurs et la miniaturisation. Sans etudier l'histoire des dispositifs
electriques et electroniques, on peut mentionner les principaux pas suivis
dans la decouverte de ces dispositifs et des technologies qui ont permis
leur utlisation generaliser : les relais, le tube a vide. la diode, le transistor
a junction puis 6 effet de champ at enfin, les circuits integres.
Avec les circuits integres, plusieurs composants, aims que leurs connexions,
sont fabriques en meme temps. On integre done des fonctions. L'evolution
de l'integration a permis la realisation dun nombre de plus en plus grand de
fonctions dans des systemes digitaux cumplexes. L'implication economique de
tels "macro-composants" est evidente. Dun cote, leur fabrication on chains
les rend peu coOteux et favorise donc la generalisation de lam- utilisation.
et
par 16, la mise on service de puissants mnyens de recherche et de fabri-
cation, poosses par un marche florissant. Dautre part, l'assemblage de ces
macrocomposants a rendu possible la construction do gros systemes tell que les
ordinateurs.
Deux grandes families technologiques sont utilisees pour la fabrication des
circuits integres: la famine bipolaire (basee sur le transistor a ,junctions)
et la famille MOS (has& sur le transistor a effet de champ). Mans cheque
.54.
famine it existe plusieurs configurations possibles des elements en vue
-
7/24/2019 000060196.pdf
54/145
de realiser de la logique. On va examiner brievement la configuration de
base de chacune de ces configurations (appelees technologies) pour etudier
ensuite la technologie retenue :
Les principaux elements de la famille bipolaire sent : TTL, ECL et 12L.
- TTL : La configuration de base de cette technologie est montree
a la
figure 3.3.a. A l'entree, on a un transistor dit multi-emetteur (possedant
plusieurs emetteurs. La sortie de ce circuit (s) est a zero quand les trois
entres sent 6 un. La fonction execute est donc s = 11.12.13 ou s = 11.12.13.
el
e2
3
V
REF
Figure 3.3.
Famine bipolaire.
.55.
-
7/24/2019 000060196.pdf
55/145
- ECL : Le circuit de la figure 3.3.b est une configuration FCL sImplifiee
pour toirs entres, el, e2 et 03. Si une des entres est a un niveau
superieur
a
VREF, le transistor auquel cette entre est reliee, conduit et
le transistor lie a
VREF sera bloque. On aura done sl au niveau has et s2
au niveau haut. Si toutes les entres sant a
un niveau inferieur A VREF, le
transistor he
a
VREF conduit et tous les autres sont bloques. sl et s2 sont
complementaires. La fonction executee est :
s21 + 12 + 13
- I2L : La porta de base I2L est montree dans la figure 3.3.c. On a un
transistor multi-collecteur : si le transistor conduit, tous les collecteurs
(les sorties sl, s2 et s3) sent an niveau has. Si une entre est au niveau
has, elle absorb le courant I, ninon ce courant passe par le transistor qui
conduit. Toutes les sorties ont la mme valeur logique. La fonction logique
executee est :
sl =1.12.13
Famille MOS
La famine MOS est faite de differentes configurations des transistors
a
effot de champ du type N et du type P.
- NMOS: Les circuits constructs avec des transistors de canal N s'appellent
NMOS. II y a deux configurations de base qui permettent de realiser direc-
tement les deux fonctions NONE( et NOW)) (figures 3.5.a et 3.5.h). Les
transistors conduisent quand le signal d'entree est A un. Les functions
sont done :
sl =
1.12
2 = 11 + 12
La charge R est realisee per un transistor deplete. Il est possible d'utIliser
un transistor
COMM un interpreteur (3.4.c): 11 et 12 sont connect& quand
le signal est a on.
.56.
-
7/24/2019 000060196.pdf
56/145
el
I
e2
0
O
Figure 3.4. - Deux configurations de base NMOS (a et b) et le transistor
de passage (0).
- CMOS : En CMOS, on dispose des deux types de transistors, les P et les N.
Le signal d'entree commande
e
la fois deux transistors en serie: un des tran-
istors conduit quand le signal d'entree est a zero tandis que l'autre conduit
quand le signal d'entree est a
un. Dans la figure 3.5 on presente un inverseur,
un NONET et un NONOU en CMOS.
0 +v
el
e2
el
Figure 3.5. - Configuration CMOS, a/ inverseur, b/ NONET et c/ NONDO.
.57.
Remarque :
1 y a deux techniques pour realiser la grille des transistors
-
7/24/2019 000060196.pdf
57/145
MOS : grille en metal no grille en silicium polycristallln. Dans chaque
technologie,
es circuits integres sont classes par la taille minimale de
la grille des transistors. On parlera de technologie NMOS grille poly en
6 microns pour la technologie
NMOS
a
rille silicium polycristallin dans
laquelle la largeur minimal des grilles en poly est 6 microns.
On va travailler avec la technologie NMOS grille poly
ppelee
IIMOS.
3.2.2.1. Les transistors
En HMOS on a quatre composants de base et trois niveaux de conducteurs pour
les interconnexions. Le circuit est alimente en 5 volts. Les transistors.
leer tension de scull (Vt) typique ainsi que leer representation symbolique
dans la technologie utilisee, sont donnes dans le tableau ci-dessous :
type du transistor
ty m b o l e
unrichl
,6
V
= grille
legerement deplete
2V
- - -
= drain
- - ' S
1 1
fortement deplete
4V
- - - - 1
[ :
S =
source
S
naturel
V
.-I[WD
La caracteristique dynamique de transconductance d'un transistor est montree
dans la figure 3.6.
.58.
-
7/24/2019 000060196.pdf
58/145
der) ete naturel
enrichi
V
G S
Figure 3.6. - Caracteristique du transistor MOS
Les differents transistors se distinguent par l'ordonnee du point Vt sur
l'axe VGS. Si Vt est plus grand que zero, le transistor est dit enrichi
(ou A enrichissement), sinnn it est dit deplete (ou a
depletion). Si
t i
Vt = zero, it est dit naturel.
La variable tension varie dans l'intervalle OV-5V puisque le circuit est
aliments par une source de 5V. Les transistors depletes ne sont done pas
utilisables comme elements interrupteurs.
5.2.1.1. Le transistor enrichi
L'element utilise comme interrupteur est le transistor enrichi. Le
comportement de ce composant est presents dans la figure 3.7.
.59.
zone
one
resistive
aturee
-
7/24/2019 000060196.pdf
59/145
V
zone de blocage
V
GS2
IDS
DS
Figure 3.7. - Caracteristiques du transistor enrichi.
On y trouve trois zones :
Zone resistive : (VGS -
VDS > Vt.
Dans cette zone in transistor peat etre assimile
a une resistance
l'origine. La valeur de la resistance depend de VGS. Le courant est donne
par requation :
ID =
Ky ((VGS - Vt) x
-
DS
2
) .
Zone saturee : (VGS - VDS) < Vt.
Dans cette zone, in courant est pratiqueuent independant de WS pour un
VGS donne :
ID = K'y (VGS - Vt)
2
.
Zone de blocage : VGS < Vt.
Dans cette zone. it n'y a pas de courant
a
travers le transistor.
Les transistors MDS utilises ne sent pas des interrupteurs ideaux: quand
ils sont conducteurs, ils
ne sont pas un court-circuit Pur et quand ils sont
bloques ils ne sont pas un circuit ouvert parfait. Neanmoins, le rapport tres
grand entre leurs resistances dans ces deux etats leur permet d'etre utilises
comme des interrupteurs, sous reserve de quelques restrictions.
.60.
Le transistor conducteur realisant un interrupteur dans le montage d'une
charge resistive est represente dans la figure 3.8. par une resistance appolee
-
7/24/2019 000060196.pdf
60/145
\ i /
RON
seuil du
niveau zero
Vt
niveau logique
zero
5
RON. La sortie s doit etre dans la zone du niveau logique zero, d'o0 :
Figure 3.8. - Le transistor en conduction et le niveau zero.
Pour que la Porte suivante soft bloquee, Vs doit etre inferieur 6 Vt.
n'y a pas de formule pour calculer la valeur du niveau O. C'est un
compromis entre plusieurs facteurs comme :
variation de Vt et RON en fonction de is temperature de fonction-
nement du circuit et des tolerances de fabrication ;
immunite au bruit ;
relation vitesse x consommation.
Sans discuter en detail ces points, on prend ici comme seuil du niveau zero
la valeur de 0,2 volts.
Remarque : La convention logique ci-dessus n'est utilisee qu'6 l'interieur
du circuit integre'. La communication entre circuits peut etre faite selon
des conventions plus generales (niveaux TTL, par exemple).
La technologie fige les parametres electriques des transistors. Le concepteur
n'a que la liberte de definir is taille des transistors dans certaines limites.
.61.
Le transistor do la figure 3.9. est defini par L et W : L longueur et
W largeur. On appelle aussi la surface W x L la zone active on canal
J
la
-
7/24/2019 000060196.pdf
61/145
forme du drain et de la source n'ont pas d'Influence sur le comportement
electrique du transistor lui-meme. One taille minirnale est cependant
specifiee dans les regles de conception.
Figure 3.9. - Le transistor: zone active nu canal.
One excursion de VG de 0 a
5V fait se deplacer le point s (figure 3.8)
sur une droite de charge definie par
R
est les caracteristiques du transistor.
Dans la pratique, le transistor se trouve en general dans la zone resistive
pour le niveau zero de sortie de la porte. La resistance
RON)
est module
par VG. Elle peut etre donnee pour des valours discretes de VG cosine suit
(] signifie unite de surface) :
VG = 3V -
R O N
I= 12 KOhl
VG = LV -
R O N Q
= 8
041
VG =
5V - RONn = 6
KS141
La resistance de l'interrupteur peut donc etre choisie par le rapport des
dimensions W at L (rapport de forme) :
RON = RON
n
On note :
Y = r
On a donc :
1
R ON
=
T
R O N
H
V x R
S Z
Z
RON =
V - Vs1
d'oO :
.62.
Ces deux equations de RON permettent d'ecrire :
- V
SZ
-
7/24/2019 000060196.pdf
62/145
Y
VSZ x R x RON
VSZ est le niveau de tension choisi pour la valour logique zero.
3.2.2.1
Le transistor de charge
y a plusieurs possibilites pour realiser la charge d'une porte. Dans les
circuits integres on utilise: une resistance, un transistor commando (CMOS),
un transistor enrichi ou un transistor deplete. On ne va pas les etudier
toutes: en HMOS on utilise le transistor legerement deplete dans la configu-
ration de la figure 3.10. Etant donne quo in transistor de charge a une
tension de seuil negative, it conduit toujours si Vs < V, pour VGS = O. Il
suffit done de connaitre in courant I pour VS egal au niveau zero.
tv
i
ransistor de charge
Vs
commande
Figure 3.10 - L'inverseur avec un transistor deplete comme charge.
Le transistor de charge est nature si VGS - Vt < VOS. Dans notre exemple
(figure 3.10) et avec Vt = -2V et V=5V, on a :
Vs < 3V - le transistor de charge est sature,
Vs < 3V - le transistor de charge est dans la zone resistive.
Au lieu d'une droite de charge, on a la caracteristique suivante pour
l'inverseur :
comm ande = V
6
.63.
-
7/24/2019 000060196.pdf
63/145
Figure 3.11 - Caracteristique de l'inverseur.
La function de transfert vs=f(vi) (la conmand est appelee Vi) est montree
par la figure 3.12 pour un mama transistor interrupteur et differents
transistors de charge. Le transistor interrupteur sera dorenavant appel
transistor signal
e mot interrupteur sera utilise pour une configuration
specifique Won definira ulterieurement. Le rapport de forme du transistor
Figure 3.12 - Courhe de transfert Vi de l'inverseur.
signal sera note ys et celle du transistor de charge y
e . Pour le transistor
de charge sature, on peut donner le courant relativement au facteur de forme
(iu est le courant par unite de surface
a
Vs=O). Le courant Ic dens le
transistor sera :
= y cx
UFRGS
INSTITUTO DE INFORMTICA
8IBLIOTECA
.64.
3.2.2.2.
Les conducteurs
En MOS on a trois niveaux de conducteurs: le metal, le silicium polycristallin
-
7/24/2019 000060196.pdf
64/145
et la diffusion. En HMOS , ces conducteurs ont les caracteristiques electri-
ques suivantes (valeurs typiques) :
resistivite(Q/n) capacite/substrat(pFx10 4/)
metal (aluminium)
,033
,3
silicium
0 - 30
,4 (5 pour le canal)
diffusion
2 - 34
Les connexions seront faites avec le conducteur de plus faible impedance
(metal). Si cela n'est pas possible, on utilise du silicium polycristallin
at finalement de is diffusion. Il est possible de connecter chaque conducteur
aux deux autres par des contacts.
3.2.3.
Realisation des primitives
Les differentes primitives requises pour une partie operative seront construites
avec les dispositifs mentionnes precedemment. Les elements de base sont les
transistors et les conducteurs ; les portes logiques etudiees auparavant sort
aussi utilisees, representees ici par les symboles de la logique de commutation.
3.2.3.1.
Constantes
La realisation des constantes est immediate. La tension d'alimentation (+V)
at is reference (masse) correspondent aux niveaux logiques at fournissent
les constantes 1 at O.
3.2.3.2. Les variables memorisees
Les variables memorisees doivent conserver is valeur d'une variable intantanee,
ou d'une autre variable memorises ou d'une fonction. Dans tons les cas, le
stockage de )'information ne se fait pas continuement. I1 y a un instant. dans
la sequence des evenements, oil le chargement doit se produire: c'est la reali-
sation physique de )'affectation. L'ordre envoy
a
)'element de memorisation
pour executer in chargement sera appele commando de chargement ou
"commande d'ecriture". Hn circuit a reaction dont in gain de boucle est plus
-
7/24/2019 000060196.pdf
65/145
grand que 1. pout constituer un point memoire bi-stable. C'est le cas du
circuit de la figure 3.13.a, connu
CORIfle
BASCULE RS. En 3.13-h In mr
mle circuit
est precede d'un etage pour coma ander son chargement.
S
R Q
p+1
C D Q
p+1
0 0 Q
P
0 0 0
0 1 0
0
1
1
1 0
1
1 0 Q
1 1
*
1 1 Q
etat invalide
Q etat precedent
Figure 3.13 - Bascue RS a/ circuit de base, h/ avec un circuit de
commande en entree.
On a defini la notion de variable instantanee basee stir l'idee de connexion:
one variable instantanee est valahle tant quelle est connectee. On sous-
entend que la connexion peut etre conditionnee par in interruptour realise
par on transistor. C'est dans ce sens prcis que in mat interrupteur sera
desormais utilise. La figure 3.14 montre les differentes representations
utilisees. v2 est one variable instantanee. T1 n'y a pas de restriction pour
les variables vl et C (memoriseou instantanee). ['activation de la commande
correspond a la validation de la connexion.
. 6 6 .
v10---C+0
v2
-
7/24/2019 000060196.pdf
66/145
r
bus
C6
C5
0
si C alors y2:=1/1
transistor
ymboles logiques
escription
Figure 3.14 - Representation d'un interrupteur
3.2.3.4.
es oprateurs
Les operateurs sont des fonctions combinatoires qui executent des transfor-
mations sur les valeurs de donnees. Les operateurs sent donc tous des
fonctions logiques et on les realise avec des portes logiques ou des montages
electriques equivalents.
3.2.3.5.es bus
Les bus sent des variables instantanees auxquelles peuvent etre connectees
directement (par des interrupteurs) ou indirectement
(a
travers des portes
logiques) plusieurs variables memorisees.
Exemple d'un bus :
m2
Figure 3.15 - Exemple d'un bus
.67.
La ligno b est un bus. ml, m7 et m3 sont des elements de memorisation
(ram), r est uric RUM et f est une fonction (f=
(ml v m3)). Les elements
de memorisation sent la realisation des variables. la RUM est is realisation
-
7/24/2019 000060196.pdf
67/145
d'une constants et la fonction f est is realisation d'un operateur. Un seal
de ces elements peut &fire sur is bus
a
un instant donne :
ml par is commande Cl,
m2 par is commande C3,
m3 par is commando CR.
r par is commando C4.
ou f par is commando C7.
La valour du bus pout titre charges on m2 par Is commande C2, ou m3 par is commando
C5. m2 et m3 peuvent titre chargees simultanement. ml est charges A partir
de l'exterieur par les lignes S et R.
Supposons qu'on veuille realiser l'opration
m3 = m3 V ml,
avec les elements de la figure 3.15. La sequence des operations et les
commandos activees sont presentees ci-dessous :
pas
ctions
ommandos
bservations
1
:=f, m24-b
7, C2
2 = (m3 v ml)
2
: =m2, m34b
3, C5
3 = m2
3
:=f, m14-0, m2+b
, C7, C2
2 = m3
4
:=m2, m3+b
3, C5
3 = m2
Remarque :
a valour de ml a SI titre detruite. On pea observer quo le bus
est utilise
a toutos lee ("tapes. to nombre de celles-ci serait redult de
moitie si on disposait directement de is fonction 00. On volt done la necessite
is hien choisir les operateurs et is connexion entre les elements. lane
l'exemple precedent, on n'aurait pas eu besoin de detruire la valour de ml si
l'oprateur avait on entree is bus et m3, et m2 en sortie.
. 6 8 .
3 .3 . L E S C H A R G E S E X T E R N E S D E S P O R T E S
3.3 .1 . Mode l i sa t ion des condu c teurs
-
7/24/2019 000060196.pdf
68/145
1 1
Les elements d'un circuit sont distribues sur un plan. Les variables dont
on vient de parler sont physiqueme