000060196.pdf

download 000060196.pdf

of 145

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