Académique Documents
Professionnel Documents
Culture Documents
Chapitre Circuit Logique - Elève
Chapitre Circuit Logique - Elève
Structure lmentaire dun PLD Symbolisation Structure logique dun PAL Structure logique dune PROM Structure logique dun FPLA ou PLA
V. ORGANISATION DE LA MEMOIRE
1. Zone accessible et zone inaccessible 3. Dtermination des zones de la partie accessible 2. capacit de la partie accessible
I.
Les circuits logiques programmables comprennent la fois les mmoires mortes programmables ou PROM et les PLD qui permettent la ralisation des circuits logiques en tant que entit circuit logique. 1.1 Classification des mmoires mortes
Mmoires mortes
ROM
Programme par le constructeur
PROM
Programmable par lutilisateur
FPROM
PROM fusibles (Non effaable)
EPROM
ou PROM effaable
OTPROM ou EPROM
Programmable une seule fois (Non effaable)
UVPROM ou EPROM
Effaable aux rayons Ultra Violets
EEPROM ou E2PROM
PROM effaable lectriquement
EPROM Flash
Effaable lectriquement
a. ROM (Read Only Memory) Une ROM est un circuit mmoire dont le contenu a t programm sa fabrication et qui ne peut plus tre effac ni modifi. b. PROM (Programmable ROM) Les PROM sont programmables par lutilisateur. On en distingue 3 types : - FPROM ou PROM Fusibles : elles sont ralises partir de transistors bipolaires en srie avec des fusibles pouvant tre grills grce un programmateur de PROM. Les FPROM sont des mmoires dont le contenu peut tre programm par lutilisateur mais qui ne peut plus tre effac ni modifi. - EPROM (Erasable PROM) ou UVPROM (Ultra Violet PROM) : ce sont des PROM dont le contenu peut tre effacs. Ces puces possdent une petite fentre de quartz permettant de laisser passer des rayons ultraviolets provenant dun effaceur deprom. - OTPROM (One Time PROM) : les OTPROM sont des UVPROM dont la possibilit deffacement est inhibe par labsence de fentre en quartz. Elles ne sont donc pas effaables. c. EEPROM ou E2PROM (Electrically Erasable PROM) : ce sont des PROM effaables par simple impulsion lectrique adresse par adresse. d. EPROM Flash : PROM effaable lectriquement de toute la capacit de la mmoire. La dnomination Flash vient des oprations deffacement et
Page 2
de programmation de la mmoire qui sont trs rapides (10s/octet). Cette programmation a lieu en circuit. 1.2 Classification des PLD
P L D
PAL
bipolaires non effaables
EPLD
Circuits logiques effaables
FPGA
Rseaux de portes Programmables ilisateur
CPLD
ou PLD Complexe
LCA
FPGA de type RAM
FPGA
base danti-fusibles
CPLD
UVPROM
CPLD
E2CMOS
isp CPLD
Les PLD (Programmable Logic Devices) comprennent les grandes familles dont : a. Les PAL (Prgrammable Array Logic) : Les PAL ou Rseaux Logiques Programmables reprsentent la plus ancienne et la plus connue des familles de PLD. La programmation seffectue par destruction de fusibles. Une fois programms, on ne peut plus les effacer. Les PAL comprennent 2 sous familles : - les PAL COMBINATOIRES ou PAL simples. Ils sont constitus de fonctions logiques combinatoires. - Les PAL REGISTRES ou FPLS (Field Programmable Logic Sequencer) pour Squenceur logique Programmable sur site. Ils sont constitus de logiques combinatoires et squentielles (registres). b. PALCMOS ou PAL effaable. Les PALCMOS sont les tout premiers PLD qui soient effaables mais au rayon ultra violet. Ces circuits sont aux PAL ce que sont les UVPROM aux PROM. c. GAL (Generic Array Logic) ou rseaux logiques gnriques. Leur fonctionnement est identique aux PALCMOS, ils sont programmables et effaables lectriquement. Les GAL sont aux PAL ce que sont les EEPROM aux PROM. Dautres produits sont connus sous les appellations de E2PAL ou PAL EECMOS.
Page 3
d. CPLD (Complex PLD) Ces circuits sont composs de plusieurs PAL lmentaires relis entre eux par une zone dinterconnexion. Cest une volution des PALCMOS classiques qui suivant la mthode de programmation ou deffacement va donner les CPLD UVPROM, les CPLD E2CMOS ou les isp CPLD. e. FPGA (Field Programmable Gates Array) Ce sont des rseaux de portes logiques programmables par lutilisateur. On en distingue deux types : - Les LCA( Logic Cell Array)ou FPGA SRAM,rseaux de cellules logiques base de SRAM pour configurer les connexions, ces circuits sont composs de blocs logiques lmentaires de 2000 10 000 portes logiques que lutilisateur peut interconnecter. - Les FPGA anti-fusibles : ils sont identiques aux LCA sauf quils permettent une plus grande intgration de portes et quils ne sont pas effaables lectriquement. Le nom anti-fusible vient de la programmation des connexions qui seffectue par fermeture de circuits, compar aux fusibles o lon ouvre les circuits.
AB AB AB AB
Fusibles
S3
Page 4
S2
S1
S0
2.2 Symbolisation
Pour simplifier les reprsentations internes des PLD, les fondeurs ont recours une symbologie simplifie : - ... - ... - ... Exemple A A B B . . . . A A B B . . . .
Fusible intact
A.B
A+B
Connexion permanente
Page 5
Page 6
III. STRUCTURE ET FONCTIONNEMENT DES MEMOIRES MORTES 3.1 Les PROM Bipolaires
Les PROM BIPOLAIRES sont des mmoires mortes programmables par lutilisateur mais non effaables. Ceci est d la structure de leur cellule de base. 3.1.1 Cellule de base On distingue 2 grands types de cellules de base dont : .. ..
Selon le circuit associ au fusible, on distingue les cellules de PROM fusibles suivantes :
fusible
Dans la PROM fusibles, chaque intersection ligne - colonne, il y a une diode ou un transistor en srie avec un fusible. L utilisateur doit faire claquer le fusible pour programmer un bit. Pour programmer un bit, on doit tablir une liaison en faisant claquer la jonction de la diode en inverse par application entre X et Y dune tension suffisante pour mettre en avalanche la diode en question
Y
PROM avalanche X
3.1.2 Programmation
La PROM est livre vierge, tous les fusibles tant intacts. La programmation va consister faire griller les fusibles indsirables en leur appliquant des tensions leves de 12V. Initialement tous les bits sont 1.
Page 7
VCC R R R R
I0 I1
PROM Programme
OE
Durant le processus de programmation, le programmateur gnre des impulsions qui ont pour effet de claquer les fusibles aux emplacements prescrits, gnrant ainsi desD0 logiques. D D D
0 1 2 3
3.1.3 Exemples de PROM Du fait de leur technologie, les PROM bipolaires consomment normment de puissance. Cest pour quoi les capacits sont modestes : de 32 x 8 bits 16K x 8 bits.
AMD 27S19 27S21 27S13 27S29 27S33 27S181 PHILIPS 82S23 82S126 82S130 82S135 82S137 82S181 Capacit 32 x 8 256 x 4 512 x 4 512 x 8 1024 x 4 1024 x 8
Page 8
I1
I0
D3
D2
D1
D0
Exercice 2 On donne ci dessous la structure dune PROM fusibles. 1. A quel moment a-t-on un bit 0 sur les sorties notes S0 Sk ? 2. Calculez n, j et k pour une mmoire de capacit gale 2K x 16 bits. 3. Quelle est la capacit de la mmoire pour n = 15 et k = 7 ? En dduire j.
FUSIBLE
P0
PJ
S0
Page 9
SK
-
32 31 - .. A14 30 29 A13 28 A8 27 A9 BOTIER 26
droite VCC
.. PGM
MEMOIRE
- .. 20 D
7
19 D6 - .. 18 D5 17 D4
- ..
D3
Page 10
Toutes les UVPROM disposent de plusieurs modes de fonctionnement dingale importance dcrits ci-dessous. Le mode lecture : Dans ce mode la mmoire est valide ; la donne est prsente sur le bus de donne en sortie. Cette donne est fournie par ladresse de la cellule envoye sur le bus dadresse. Le mode invalidation des sorties : La mmoire est valide mais les donnes ne sont pas disponibles sur les lignes de sortie qui demeurent en haute impdance. Le mode attente : La mmoire est invalide et ladresse prsente sur le bus dadresse est ignore. Les lignes de donnes sont en haute impdance. Le mode programmation : La mmoire est valide et est mise en mode programmation, la donne sur le bus de donne est en entre et sera crite ladresse slectionne sur le bus dadresse. Le mode vrification : Ce mode est identique au mode lecture. Cependant, la tension de programmation est applique la broche Vpp. Cela permet de vrifier trs rapidement la programmation correcte ou incorrecte des donnes. Le mode inhibition de programmation : Ce mode est identique au mode attente. Seulement, la tension de programmation est applique la broche Vpp.
oches Modes Br
CE
OE
PGM
VPP
Sortie
Lecture Invalidation des sorties Attente TTL Programmation Vrification Inhibition de programmation
3.2.4 Programmation Les UVPROM vierges ont tous leurs bits positionns 1. La procdure de programmation consiste programmer les 0. Compte tenu de leur taille de plus en plus importante, des algorithmes de programmation rapides sont proposs : - Ladresse de la cellule mmoire est slectionne et la donne programmer est applique sur les lignes de donne. - Une Impulsion de programmation dune dure de 100s est applique (passage de CE ltat bas). - un compteur est incrment et la mmoire est relue. Si la valeur lue est conforme celle programme, on passe ladresse suivante. Dans le
Page 11
cas contraire une nouvelle impulsion de 100s est nouveau applique, le compteur sincrmente et la mmoire est relue. - Ce processus peut se rpter jusqu 25 fois au maximum. Au del de ce nombre, si la mmoire nest toujours pas correctement programme, elle sera considre comme dfectueuse. - Si tout sest droul comme il faut, on passe ladresse suivante. - Lorsque toute la mmoire a t totalement programme, son contenu est compar avec la donne originale. En cas de conformit, fin de programmation, dans le cas contraire le circuit est dclar dfectueux.
p+
p+ n
Pour supprimer ce blocage du transistor, la grille G2 et la source sont mises la masse et limpulsion de tension est applique entre le drain et la masse. Les lectrons prcdemment pigs dans la grille flottante transitent en sens inverse travers loxyde mince et la tension seuil redevient normale. 3.3.2 Caractristiques Pour le brochage, les EEPROM sont identiques aux UVPROM sauf que la broche PGM est remplace par la broche WE (Write Enable). Leffacement de la mmoire se fait octet par octet. 3.3.3 Modes de fonctionnement CE OE WE Sortie Modes
Page 12
3.3.4 Programmation La programmation dune EEPROM nest rien dautre qune criture dans la mmoire. Elle se passe comme lcriture dans une mmoire vive ceci prs, quau lieu dtre quasi immdiate, elle demande environ 10ms par octet. Le chronogramme de programmation suit les tapes suivantes : - validation de la mmoire par action sur CE - invalidation des sorties par action sur OE - on fait descendre WE - on applique les donnes crire sur les sorties. Ces donnes sont mmorises au front montant suivant de WE 3.3.5 Chronogramme de programmation En suivant les tapes du chronogramme de programmation dcrites cidessus, tracez les courbes reprsentant : CE, OE, WE, ladresse et la donne.
CE L L
OE L H
WE H H
Sortie
VPPL VPPL
Page 13
ONLY
READ WRITE
H L L H L
X L H X H
X H H X L
VppL = 5V, L=0 VppH = 12V, H=1 HZ = Haute Impdance 3.4.3 Programmation En mode programmation, la tension applique sur la broche Vpp est VppH. Cela donne accs un registre interne dans lequel on peut crire des codes et activer les possibilits deffacement et de programmation. La donne sera crite quand WE passe au niveau bas, CE au niveau bas et OE au niveau Haut. La programmation sera suivie dun test de vrification de loctet choisi. Cette vrification intervient aprs un temps de repos la fin de la programmation. Ce cycle de programmation seffectue lorsque ladresse est valide. Ce qui distingue les EPROM FLASH des EEPROM est le fait quelles soient plus rapides en terme de programmation et deffacement, do lappellation FLASH (temps de programmation= 100s, temps deffacement= 1s). 3.5 REFERENCES DES PROM Les rfrences des PROM peuvent se prsenter sous la forme gnrique suivante :
FIR XX AB YYYY - ZZ
.. .. .. .. ..
FIR XX
AB
: :
:
On trouve par exemple KM pour SAMSUNG, Am pour AMD 27 pour EPROM, 28 pour EEPROM, 28F pour EPROM Flash C pour CMOS, LV pour Low Voltage (3.3v), aucune lettre pour 16 pour 16 Kbits, 1024 pour 1024 Kbits ou 1 Mbits temps daccs en ns. 20 pour 200 ns
TTL YYYY : ZZ :
Page 14
CON XX AB 0Y0 ZZ
Exemples KM27C010 pour une capacit de 1Mbits soit 128K x 8 bits KM27C020 pour une capacit de 2Mbits soit 256K x 8 bits
Page 15
En utilisant une EPROM 27C256, on veut raliser un dcodeur 1 parmi 8 74LS138 comportant : - 3 entres de validation (G2A et G2B actives ltat bas et G1 tant de plus fort poids et active ltat haut) - 3 entres de slection A, B, C (A tant le bit de poids le plus faible) - 8 sorties Y0 Y7 actives ltat bas. 1. LEPROM 27C256 est une mmoire de 32 Ko. Elle possde donc un bus dadresse de 15 bits allant de A0 A14 et un bus de donne de 8 bits allant de D0 D7. Le dcodeur possde : - 6 entres dont 3 entres de validation (G2A G2B et G1) et 3 entres de slection (A, B, C) connecter sur la partie utile du bus dadresse, cest-dire A0 A5 de lEPROM. La partie non utile A6 A14 du bus dadresse sera relie la masse. - 8 sorties (Y0 Y7) connecter sur le bus de donne D0 D7 de lEPROM. On peut proposer les affectations suivantes : - Les entres de validation G1, G2B et G2A sont connectes respectivement aux lignes A5, A4 et A3. - Les entres de slection C, B et A sont respectivement connectes aux lignes A2, A1, A0. Pour que lEPROM fonctionne en lecture, on reliera la masse, ses 2 entres CE et OE actives ltat bas. On obtient le schma fonctionnel suivant : 2. Pour obtenir le contenu de lEPROM, on peut dterminer dabord les 8 diffrentes zones dfinies par les combinaisons de G1, G2A et G2B.
Combinaisons G1 0 0 0 0 1 1 1 1 G2B 0 0 1 1 0 0 1 1
Page 16
Seule la zone dfinie par la combinaison G1=1, G2A =0, G2B =0 permet de valider le botier dcodeur. Avec les affectations faites ci haut on obtient A5 = 1, A4 = 0, A3 = 0. Ce qui donne le contenu suivant de lEPROM
A14
A6
G1 A5 0 0
G2B A4 0 1
G2A A3 0 1
C A2 0 1
B A1 0 1
A A0 0 1
Adresse en hexadcimal
Contenu de l EPROM
D7 D6 D5 D4 D3 D2 D1 D0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Pas de dcodage
0000 H 001F H
0 . 0
Dcodage
1 1
0 1
1 1
0 1
0 1
0 1
0028 H 003F H
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
Pas de dcodage
La partie combinatoire gnre les sorties de ltat suivant en fonction de ltat prsent et des entres principales.
Partie combinatoire Page 17 Elment de mmorisation
Etat prsent
Etat suivant
A A210
Lutilisation dune PROM pour raliser un systme squentiel se fait de la manire suivante : la PROM ralise la partie combinatoire la partie de mmorisation est ralise soit par des bascules soit par des compteurs 4.2.2 Etude par lexemple On veut raliser un compteur ayant le cycle suivant, avec une PROM. 0 1 5 6
On spare la sortie et ltat suivant quil faut alors coder. Cette solution permet de considrer que lon a : - une partie volution du systme dcrite par ltat suivant - une partie gnration des sorties Les deux parties doivent tre prsentes simultanment. Cela sobtient en les stockant dans la mme case mmoire. On aura donc besoin de : 3 bits pour coder les tats suivants (nombre de chiffre compt = 7 23) de 4 bits pour coder les valeurs des sorties (le plus grand chiffre compt = 9 24) Chaque mot mmoire aura le format suivant :
D7 D6 D5 D4 D3 Code sortie D2 D1 D0
H
Bascules D Q6 Q5 Q4 Q3 Q2 Q1 Q0
Etats prsents
Mmoire
D2 D0 Etats suivants
Page 18
Sorties du systme
D7 D4
Page 19
En fixant certains bits du bus dadresse, on autorise laccs certaines zones de la mmoire et on en interdit pour dautres. On parle alors de zones accessibles et de zones inaccessibles : Une partie de la mmoire est dite accessible sil existe une combinaison des bits du bus dadresse permettant daccder une des cases mmoires quelle contient. Une partie de la mmoire sera dite inaccessible si quelle que soit la combinaison des bits du bus dadresse, on ne peut accder aucune case quelle contient.
Exemple : Soit une mmoire de 8 mots ayant un bus dadresse de 3 bits : A0, A1, A2. Cas 1 : on fixe A2 = 0 A2 0 1 0 1 1 A1 0 A0 0 1 0 1 0 1 0 1 Mot 0 Mot 1 Mot 2 Mot 3 Mot 4 Mot 5 Mot 6 Mot 7
Les mots 0, 1, 2, 3 sont accessibles. Etant contigus, on considre quils forment une seule zone de 4 mots. Les mots 4, 5, 6 et 7 forment aussi une seule zone mais inaccessible de 4 mots. Cas 2 : on fixe A0=1 A2 0 1 0 1 1 A1 0 A0 0 1 0 1 0 1 0 1 Mot 0 Mot 1 Mot 2 Mot 3 Mot 4 Mot 5 Mot 6 Mot 7
Les cases 1, 3, 5 et 7 sont accessibles. Ntant pas contigus, on considre quelles forment 4 zones dune case chacune. Les mots 0, 2, 4 et 6 forment galement 4 zones inaccessibles.
Conclusion :
Page 20
3. Parcourir le bus dadresse de A0 vers le bit An-1 et sarrter lorsque lon rencontre le premier bit fix nomm Ax. Ce bit sappelle bit sparateur. Il divise le bus dadresse en deux parties qui sont : A0 Ax-1 et Ax+1 An-1 4. La partie A0 Ax-1 permet de dterminer : ladresse de dbut dune zone en mettant tous les bits 0 et en lisant ladresse de dbut donne par tous les bits A0 An-1. Ladresse de fin dune zone en mettant tous les bits 1 et en lisant ladresse de fin donne par tous les bits A0 An-1.
Page 21
Symbolisation normalise On peut distinguer trois types de structures de base: - . - . - . 6.1.2 Structure de PAL combinatoire Le circuit est constitu uniquement de portes logiques combinatoires lmentaires. Les entres sont directes et inverss et aboutissent sur la matrice programmable. La sortie passe par un buffer command par le rseau programmable. La sortie est rinjecte dans la zone programmable travers un circuit inverseur non inverseur. Cela permet dutiliser la sortie comme une entre. On parle alors dentre/sortie. Il en existe trois types: - H (High) : Portes ET suivie d'une Porte OU. Sortie active l'tat haut.
Page 22
- L (Low) : Porte ET suivie d'une Porte NON OU. Sortie active l'tat bas. - C (Combine) programmable en type H ou L. Exemple : type L
6.1.3 Structure de PAL squentiel Il en existe trois types: - R (Register) : Registre. Ces circuits sont composs de bascule D. Les sorties des bascules sont de type trois tats contrls par un signal de validation Enable ou OE, et une horloge est commune toutes les bascules (clock). Exemple : type R
- X (Register Or Exclusif) : Ou Exclusif et Registre. Identique au prcdent sauf que le rseau programmable sort par une porte XOR avant dentrer dans la bascule D.
- RA (Register Asynchron) : Registre asynchrone polarit programmable. La structure de sortie est beaucoup plus volue par rapport aux autres PAL. Elle se rapproche des PAL de type versatile.
Page 23
Elle peut prendre quatre configurations (figures ci-dessous) suivant les valeurs de AP et AR. Si AP=AR=1 le registre est invalide et le PAL se transforme en modle combinatoire simple.
.. .
.. .
6.1.4 Caractristiques des PAL combinatoires et registres On distingue deux familles de ces PAL : lune 20 pattes et lautre 24 pattes. On parle alors de famille 20 pattes ou de famille 24 pattes. Elles portent respectivement les dsignations suivantes : PAL16R8 et PAL20R8 PAL16R8 : Elle comporte 4 membres 16L8 16R8 16R6 16R4 PAL20R8 : Elle comporte aussi 4 membres 20L8 20R8 20R6 20R4
Page 24
6.1.5 Structure de PAL versatile ou VPAL Ce type de structure reprsente les PAL les plus volues, car les structures de sorties dites versatiles proposent quatre configurations possibles. Le plus connu est le PAL22V10 de AMD. La structure de la cellule de sortie est la suivante.
Suivant les valeurs des entres de programmation de la cellule de sortie S0 et S1, on obtient les structures de sortie reprsentes ci-dessous.
..
..
..
..
Ces 4 structures reprsentent toutes les architectures de sorties des PAL classiques. 6.2. Les rfrences des PAL. Les diverses possibilits des PAL et leur standardisation ont conduit les constructeurs dfinir une nomenclature permettant de dcoder assez facilement leur rfrence.
Page 25
6.2.1 Lettres codes Des lettres codes sont utilises pour identifier chaque structure de sortie. Ces lettres codes sont rsumes dans le tableau ci-aprs.
Lettres codes L H P C R RA X RP V Structures de sorties Combinatoire active bas Combinatoire active haut Combinatoire polarit programmable Combinatoire complmentaire Registre synchrone ( bascule D) Registre asynchrone Registre et XOR Registre programmable Versatile (macro cellule)
PAL CE pour version CMOS Nombre dentres Structure de sortie Nombre de sortie Consommatio n Vitesse Botier, gamme
Remarque : Le nombre dentres varie entre 10 et 22. Le nombre de sorties varie entre 1 et 10. La vitesse indique le temps de propagation en ns. Les versions CMOS (CE) sont effaables lectriquement. Les fusibles sont remplacs par des transistors de type MOS FET. Ce ne sont ni plus ni moins que des GALs .
Page 26
6.3. LES GAL ET LES PALCMOS. Les aussi bien que les PALCMOS sont des PAL programmables et effaables lectriquement. Ils partagent les mmes rfrences : 16V8, 20V8, 18V10, 22V10, 26CV12. 6.3.1 Architecture gnrale Larchitecture gnrale montre une zone dinterconnexion programmable de type ET en technologie E2CMOS. Cette zone permet de relier entre elles des macros cellules appeles OLMC (Ouput Logic Macro Cell). Le schma cidessous en montre un exemple.
6.3.2 Structure de lOLMC LOLMC dun GAL versatile programmable et comprend : - 1 bascule D - 1 porte XOR - 1 buffer de sortie (reprsent ci-dessous) est polarit
Page 27
0 1
Comme cela a t spcifi auparavant, ces structures de sortie sont programmables et permettent dmuler nimporte quelle autre structure de sortie. Elles possdent en tout :
Page 28
Configurations de sortie
Page 29
DES
CIRCUITS
LOGIQUES
La programmation des PLD et des FPGA ncessite un logiciel adapt pour le dveloppement du programme et le programmateur permettant de griller le circuit tel que le montre la figure ci-dessous.
Circuit non encore programm enficher sur le programmateur
Circuit dj programm
Programmateur
Saisie des quations logiques, de la table de vrit, du logigramme ou de lalgorithme avec le logiciel de dveloppement
Page 30
Le logiciel de dveloppement permet de simplifier les quations et de gnrer un fichier JEDEC partir des donnes rentres par loprateur. Il simule aussi le fonctionnement du PLD avec le programme obtenu. Le logiciel PALASM dvelopp par AMD permet deffectuer ces oprations pour la programmation de PAL ou de GAL. * Le fichier JEDEC (Joint Electronic Device Engineering Council : Organisme de normalisation) est un ensemble de donnes binaires indiquant au programmateur les fusibles griller . * Le programmateur permet de griller les fusibles du PLD en fonctions des donnes du fichier JEDEC. Il est en gnral associ un logiciel de pilotage. Les programmateurs utiliss sont les mmes que ceux permettant la programmation des EPROM.
Page 31