Circuits Logiques Personalisés

publicité
CIRCUITS LOGIQUES PERSONALISÉS
Table des matières
I. Présentation :......................................................................................................................................................................... 2
I.1. Généralités : ................................................................................................................................................................... 2
I.2. Les familles d'ASIC : ..................................................................................................................................................... 2
II. asic précaractérisés : ............................................................................................................................................................ 2
III. asic prédiffusés masquables : ............................................................................................................................................. 3
III.1. Gate array :.................................................................................................................................................................. 3
III.2. Réseaux compactés - mers de portes - :....................................................................................................................... 3
III.3. Réseaux structurés :..................................................................................................................................................... 3
IV. asic prédiffusés programmables :....................................................................................................................................... 3
IV.1. Les PROM : ................................................................................................................................................................ 4
IV.1.1. Les différentes familles : ...................................................................................................................................... 4
IV.1.2. ROM programmables par masque :...................................................................................................................... 4
IV.1.3. Les PROM à fusibles : ......................................................................................................................................... 4
IV.1.4. Les UVPROM ou EPROM : ................................................................................................................................ 5
IV.1.5. Les OTPROM : .................................................................................................................................................... 6
IV.1.6. Les EEPROM ou E2PROM :............................................................................................................................... 6
IV.1.7. Les Flash EPROM : ............................................................................................................................................. 6
IV.2. Les PLD : .................................................................................................................................................................... 6
IV.2.1. Les différentes familles : ...................................................................................................................................... 6
IV.2.2. Les PAL bipolaires :............................................................................................................................................. 7
IV.2.2.1. Notions de base : ........................................................................................................................................... 7
IV.2.2.2. Conventions de notation :.............................................................................................................................. 7
IV.2.2.3. Représentation simplifiée de la structure d'un PAL : .................................................................................... 8
IV.2.2.4. Les entrées / sorties des PAL : ...................................................................................................................... 9
IV.2.2.5. Le décodage des références :......................................................................................................................... 9
IV.2.2.6. Exemple de PAL Combinatoire : le 16 L 8 : ............................................................................................... 10
IV.2.2.7. Exemple de PAL à registre : le 16 R 8 :...................................................................................................... 11
IV.2.2.8. Les PAL versatiles ou VPAL : .................................................................................................................... 12
IV.2.2.9. Technologie des PAL bipolaires : ............................................................................................................... 12
IV.2.3. Les PAL CMOS et GAL : .................................................................................................................................. 12
IV.2.3.1. Notions de base : ......................................................................................................................................... 12
IV.2.3.2. Le GAL 22V10 : ......................................................................................................................................... 12
PIAU J.P. LTR DORIAN
Sommaire
page 1 / 14
CIRCUITS LOGIQUES PERSONALISÉS
CIRCUITS LOGIQUES PERSONNALISÉS.
I. PRÉSENTATION :
I.1. Généralités :
La réalisation pratique d’un opérateur logique complexe en logique câblée consiste à utiliser des composants intégrés
disponibles sur le marché. Le problème consiste à optimiser le choix des composants par rapport à des critères de coût, de
performance, du nombre de composants, de la complexité des connexions.
La notion de circuit intégré personnalisé à la demande de l’utilisateur est récente ( 1980 ) et constitue certainement
l’évolution la plus importante de l’électronique depuis l’apparition du microprocesseur dans les années 1970. Les circuits intégrés
à la demande, ou ASIC : Application Specific Integrated Circuits, permettent d’intégrer, sur une surface réduite de semiconducteur ( 30 à 40 mm² ), tout ou partie des fonctions complexes propres à un équipement électronique et, ainsi de remplacer
plusieurs circuits.
Quels sont les bénéfices que l’on peut tirer des ASIC par rapport à la solution classique (association de circuits standards)?
Essentiellement une réduction du coût global du système grâce à:
- la diminution du temps de conception obtenue grâce à la CAO;
- la diminution du nombre de circuits intégré nécessaires à la réalisation d’une application résultant de l’optimisation
de l’intégration des fonctions sur la puce;
- la diminution du stock de composants due à des circuits « universels »;
- l’augmentation de la fiabilité;
- une meilleure protection de la propriété industrielle du produit;
Comme cette réduction de coût s’accompagne d’une amélioration des performances, en particulier de la vitesse, que
demander de plus?
Il ne faut pas oublier toutefois que la conception des ASIC passe nécessairement par l’utilisation de moyens de CAO. Tout ce petit
monde n’existerait pas sans les progrès de l’informatique.
I.2. Les familles d'ASIC :
ASIC
Prédiffusés
Prédiffusés
programmables
( PLD, FPGA )
Précaractérisés
Prédiffusés
masquables
( Gate Array )
La plupart de ces circuits existent en TLL, CMOS, ECL ou AsGa.
II. ASIC PRÉCARACTÉRISÉS :
Les réseaux précaractérisés font appel à toutes les étapes de fabrication des circuits intégrés: de la diffusion à la
métallisation. Ils sont obtenus par assemblage de fonctions prédéfinies et précaractérisées électriquement par le fabricant de semiconducteur. Ces fonctions, fixes ou paramétrables, sont extraites d’une bibliothèque qui est en quelque sorte un catalogue logiciel
dans lequel le client tire les composants qui vont constituer son circuit.
L’étape de conception consiste d’abord à définir l’ensemble des fonctionnalités du circuit afin de juger de sa faisabilité. Il
faut ensuite saisir le schéma logique du circuit. Le concepteur utilise un éditeur de schéma hiérarchisé en liaison avec une
bibliothèque de cellules fournies par le fondeur dans une technologie déterminée. Le simulateur permet ensuite de tester les
fonctionnalités et de détecter les erreurs ou les problèmes de timing. La définition des entrées/sorties sur le boîtier est ensuite faite.
Le résultat des travaux de conception du circuit est la fabrication des masques nécessaires à la réalisation de la puce ( une dizaine
de masques en général ).
Les composants réalisables sont:
- des cellules standards (standards cells ): gamme de circuits pouvant aller du simple transistor aux portes, bascules,
compteurs …
- des mégacellules (mega cells ): ALU, microprocesseur…
- des cellules compilées ( compiled cells ): ROM, RAM, PLD…
PIAU J.P. LTR DORIAN
ASICs
page 2 / 14
CIRCUITS LOGIQUES PERSONALISÉS
III. ASIC PRÉDIFFUSÉS MASQUABLES :
Les réseaux prédiffusés sont des matrices de fonctions logiques déjà diffusées (préparées ) dans le substrat mais non
interconnectées. C’est l’interconnexion des portes qui va personnaliser le circuit en fonction de l’application visée. La réalisation
des interconnexions correspond à l’élaboration par le constructeur des derniers masques nécessaires à la fabrication du circuit.
III.1. Gate array :
Dans le domaine logique, les circuits les plus utilisés sont les réseaux de portes (gate array). Ils sont constitués d’une
matrice de portes à deux entrées placées en colonnes et séparées par des chemins d’interconnexions. En périphérie sont réparties
les blocs d’entrées/sorties. Toutes ces cellules sont interconnectées par 2 ou 3 couches de métallisation.
Caractéristiques essentielles des gate array ( valables en 1990 ... ) :
- nombre de portes équivalents allant jusqu’à 20000 dont au moins 80% effectivement utilisées. Mais ce
pourcentage diminue avec la complexité du problème ;
- le nombre de portes est fonction du nombre de couches de métallisation données par le fabricant et le coût
fonction du nombre de masques nécessaires ;
- existent en TTL, CMOS, ECL, AsGa et même en BiCMOS ;
- temps de propagation élémentaires de quelques 100ps à quelques ns ( fréquence d’horloge de 50MHz à 1GHz )
et des puissances dissipées de 1 à 15W selon les technologies ;
- le routage est effectué par le fabricant de semi-conducteur ou par des ingénieurs ayant accès aux bases de
données du fabricant.
III.2. Réseaux compactés - mers de portes - :
Ce sont des réseaux de portes pour lesquels il n’existe pas de canaux de routage spécialisés, le routage se faisant au-dessus
des portes élémentaires. L’intérêt de cette solution est de permettre d’augmenter le nombre de portes existant sur la puce, la
surface réservée aux chemins d’interconnexions étant ici utilisée par les portes.
III.3. Réseaux structurés :
Ce sont des réseaux de portes prédiffusés auxquels sont associés des fonctions précaractérisées standards: ROM, RAM,
ALU … Ce type de réseau est bien adapté aux applications microinformatiques haut de gamme: traitement du signal, processeur
graphique … C’est une solution intermédiaire avec la solution circuit précaractérisé complet. Elle présente un coût de
développement moins élevé que celui des précaractérisé.
IV. ASIC PRÉDIFFUSÉS PROGRAMMABLES :
Les réseaux logiques programmables sont des circuits intégrés complètements achevés et disponibles sur catalogues. Ils
doivent être personnalisés par l’utilisateur final qui programme les interconnexions entre les différents sous ensembles, inclus dans
le circuit, à l’aide d’un outil de développement associé à un programmateur de circuits. Ils permettent de résoudre la plupart des
problèmes de logique combinatoire ou séquentielle réalisés jusqu’alors par l’association de circuits 74xxnnn biens connus.
La structure classique des PLD (Programmable Logique Device) comporte une partie combinatoire composée de deux
zones de portes ET et OU, une partie séquentielle composée de bascules (D, JK ), et des portes d’interfaçage entrées/sorties figées.
Tout ou partie de ces éléments sont reliés par des fusibles qui sont laissés intacts (liaison présente) ou détruits (pas de liaison)
selon les besoins.
Ces réseaux permettent typiquement de remplacer 4 à 10 circuits intégrés logiques de moyenne complexité. Ils peuvent
êtres utilisés pour remplacer plus de 90% des circuits logiques classiques et ceci avec une vingtaine de références distinctes.
De nouvelles générations de PLD présentant une structure plus modulaire et des blocs d’entrées/sorties plus élaborés,
permettent actuellement d’augmenter encore les possibilités de remplacement.
On peut distinguer deux grandes familles de circuits logiques programmables :
•
•
les mémoires mortes programmables ou PROM : Programmable Read Only Memory, ou encore mémoire
programmable à lecture seule ;
les circuits logiques programmables ou PLD ;
On distingue pour chacune de ces deux familles, d’autres familles en fonction de différents critères qui sont :
•
la nature du fusible ( PLD, PROM, EPLD, EPROM, EEPLD, EEPROM ) ;
•
la technologie de réalisation bipolaire (TTL, ECL ) à fusible métalliques ou MOS ( C ou HCMOS) ;
•
l’architecture interne du réseau ( ET/OU, modulaire à OLMC, ... ).
PIAU J.P. LTR DORIAN
ASICs
page 3 / 14
CIRCUITS LOGIQUES PERSONALISÉS
IV.1. Les PROM :
IV.1.1. Les différentes familles :
Elles sont résumées dans le schéma suivant :
Mémoires mortes
ROM
programmables
par masque
PROM
programmables
par l'utilisateur
PROM
à fusibles
EPROM ou PROM
effaçables
UVPROM ou PROM
effaçables
aux UV
EEPROM ou E2PROM
PROM effaçables
électriquement
OTPROM ou EPROM
programmables
une seule fois
EPROM flash
effaçable
électriquement
IV.1.2. ROM programmables par masque :
Les ROM ( Read Only Memory ) ne sont programmées que lors de leur fabrication par action directe sur le masque de
gravure du circuit intégré. Elles sont réservées à des productions en grande série et ne peuvent en aucun cas être programmées
directement par l’utilisateur.
IV.1.3. Les PROM à fusibles :
La zone mémoire d’une PROM ( Programmable Read Only Memory ) à fusible est constituée d’une matrice de fils croisés.
À chaque intersection, une diode en série avec un fusible établissent la liaison entre deux fils. Chaque intersection correspond à un
bit de mémoire. La matrice contient 2N lignes et 8 colonnes ( si mémoire de 8bits...).
Vcc
fusible
n fils
d'adresse
n
2
lignes
A0
A1
Logique
de
décodage
An
d'adresse
D0
D1
D2
D3
fusible intact : Donnée = 0
fusible détruit : Donnée = 1
Principe des PROM à fusible :
Exemple d'une mémoire 4bits
La programmation consiste à griller les fusibles appropriés selon la donnée à mémoriser ( 0 ou 1 ). La programmation est
irréversible. Les diodes sont réalisées soit par des transistors bipolaires soit par des transistors MOS. Les fusibles sont réalisés soit
en diminuant la section de la métallisation des interconnexions lors de la dernière étape de réalisation du circuit, soit par dépôt de
silicium polycristallin à la place de la métallisation d’interconnexion. Dans les deux cas la programmation se fait en appliquant
une impulsion de tension provoquant un courant d’amplitude et de durée permettant la fusion du fusible.
PIAU J.P. LTR DORIAN
Les PROM
page 4 / 14
CIRCUITS LOGIQUES PERSONALISÉS
IV.1.4. Les UVPROM ou EPROM :
Dans les UVPROM ou EPROM ( Erasable Programmable Read Only Memory ), le point mémoire est constitué par un
transistor MOS particulier : le SAMOS ( Stacked gate Avalanche injection Metal Oxyd Semiconductor ). C’est un transistor MOS
à « grille flottante ». Ce transistor à deux mode de fonctionnement :
•
en utilisation normale, en polarisant Vgs et Vds positivement, on observe le mode de fonctionnement
classique ;
•
par contre, en polarisant très fortement le drain par rapport à la source, l’énergie apportée au niveau du canal
est telle que certains électrons traversent la couche d’isolant, et s’accumulent sur la grille flottante. Après
suppression de cette forte polarisation, les électrons accumulés sur la grille flottante demeurent emprisonnés.
Le premier mode de fonctionnement correspond au fonctionnement normal ou non programmé ; le second mode de
fonctionnement correspondant au mode programmé.
De ce fait, lorsqu’un transistor SAMOS a été préalablement programmé, et qu’on le polarise avec des valeurs de Vgs et
Vds correspondant au mode fonctionnement classique, les charges négatives accumulées sur la grille flottante créent une barrière
de potentiel trop élevée entre la grille et la source pour que le transistor soit passant. Pour le rendre passant, il faudrait appliquer
des valeurs de Vgs plus importantes.
ID
Grille non
Chargée
Grille
Chargée
Si le potentiel de la ligne de sélection est choisi
à une valeur égale à Vc pour le niveau haut :
ID
G
V
VT2
Vc
Transistor non programmé : transistor
passant ;
•
Transistor programmé : transistor bloqué.
S
GS
VT1
•
V GS
Inversement, pour effacer la programmation du transistor SAMOS, on applique un rayonnement ultraviolet, qui, par effet
photoélectrique, apporte l’énergie suffisante aux électrons piégés dans la grille flottante pour se libérer.
La structure d’un point mémoire est donc :
•
Vcc
Transistor non programmé :
Ligne de sélection à l’état bas
Ligne de sélection à l’état haut
•
Ligne de
sélection
à ligne de bit à l’état haut ;
à ligne de bit à l’état bas ;
Transistor programmé :
Ligne de sélection à l’état bas
Ligne de sélection à l’état haut
à ligne de bit à l’état haut.
à ligne de bit à l’état haut.
Transistor SAMOS
Ligne de bit
La programmation de la mémoire EPROM consiste donc à
programmer chaque transistor SAMOS de la matrice pour
lequel la donnée lue doit être au niveau haut.
L’effacement ne peut pas être partiel, et concerne donc la totalité de la mémoire. A cet effet, une fenêtre en quartz,
transparente aux ultraviolets est prévue sur le boîtier. Le temps de programmation est relativement rapide (le programmateur
d’EPROM applique des tensions de 21 ou 12,5 Volts, selon les modèles, pendant une dizaine de ms à chaque transistor à
programmer), alors que le temps d’effacement ( exposition aux UV) est relativement long (10mn à 20 mn selon la puissance de la
source d’UV)
.
PIAU J.P. LTR DORIAN
Les PROM
page 5 / 14
CIRCUITS LOGIQUES PERSONALISÉS
IV.1.5. Les OTPROM :
Ce sont des circuits mémoires dérivés des EPROM. Leur processus de fabrication est pratiquement le même mais leur
boîtier ne possède pas de fenêtre en quartz. Ils ne sont donc pas reprogrammables. Ce sont donc des mémoire programmable une
seule fois : One Time Programmable Read Only Memory ( OTP ). Elles ont les mêmes caractéristiques que les EPROM et sont
destinées aux grandes séries car elles sont moins coûteuses.
IV.1.6. Les EEPROM ou E2PROM :
Les EEPROM ( Electrically Erasable Programmable Read Only Memory ) ou PROM effaçable électriquement. Leur
principe est voisin de celui des EPROM. Elles intègrent des transistors FLOTOX de technologie MOS. La structure du transistor
FLOTOX (FLOating gate Tunnel Oxyd) est très proche de celle du SAMOS, la seule différence étant au niveau du drain, la
présence d’une épaisseur très fine d’isolant. Lorsqu’on applique une tension Vgd positive, la grille flottante se charge d’électrons.
Après suppression de cette polarisation de programmation, les électrons restent piégés, et le transistor reste bloqué, quel que soit le
niveau appliqué sur la ligne de sélection. Le transistor étant chargé, si on applique une tension Vgd négative, la grille flottante se
décharge, et le transistor se comporte désormais comme un transistor MOS classique.
IV.1.7. Les Flash EPROM :
Ce sont également des mémoires effaçables électriquement, mais plus rapides que les EEPROM.
IV.2. Les PLD :
IV.2.1. Les différentes familles :
PLD
Circuits logiques
programmables
PAL
bipolaires
non effaçables
EPLD
Circuits logiques
effaçables
PAL CMOS
et
GAL
PAL CE
GAL
EPLD
complexes
ou CPLD
AMD
VATTICE
EPLD
UVPROM
} ALTERA
EP XXX
MAX 5000
PIAU J.P. LTR DORIAN
FPGA
réseaux de portes
programmables
FPGA
de type
RAM
XC
FLEX
FPGA
à
anti-fusibles
XILINX
ALTERA
TPC
EPLD
E²CMOS
isp
EPLD
MAX 7000
ALTERA
MAX 9000
MACH 3 et 4 AMD
pLSI
VATTICE
MAX 9000 ALTERA
ispLSI
VATTICE
MACH 3 et 4
AMD
}
Les PLD
TEXAS
page 6 / 14
CIRCUITS LOGIQUES PERSONALISÉS
IV.2.2. Les PAL bipolaires :
IV.2.2.1. Notions de base :
Le concept de PAL ( Programmable Array Logic ) a été inventé il y a maintenant plus de 20 ans par la société MMI.
Toute fonction logique à n variables peut se mettre sous la
forme d’une somme de produits ou de produit de sommes.
Il semble donc naturel d’utiliser une structure comportant
1
deux ensembles fonctionnels:
- un ensemble d’opérateurs ET organisés sous forme
MATRICE
1
de matrices qui génèrent les produits de variables
ET
d’entrée, éventuellement complémentées.
- un ensemble d’opérateurs OU, appelé matrice OU,
qui somme les produits.
1
e1
e2
en
m termes produits
MATRICE
OU
f1
f2
fonctions
somme de produits
fp
On obtient donc en sortie, une somme de produit qui nous
permettra de réaliser toutes les équations logiques imaginables.
Dans un PLD, la matrice ET est programmable et la matrice
OU est figée. Dans une PROM, c’est l’inverse. Les
interconnexions des lignes de la matrice ET sont réalisées par
des fusibles.
Dans l’exemple qui suit, on a pris le cas d’une structure à deux entrées :
I1
F4
F5
I2
Présenté tel quel, ce montage comporte deux entrées I1 et I2
et une sortie O.
Lors de la livraison du PAL, tous les fusibles sont intacts et
la programmation consiste à faire sauter les fusibles nécessaires
afin de réaliser la fonction de son choix. Le principe est donc
très proche de celui des PROM bipolaires à fusibles.
F1
Sortie
F8
IV.2.2.2. Conventions de notation :
La représentation précédente n’est pas vraiment utilisable en pratique. En effet, elle occupe beaucoup de place et conduit
vite à des schémas illisibles surtout lorsque l’on sait que les PAL contiennent plusieurs dizaines d’exemplaires de cette cellule
élémentaire. Une autre représentation schématique a donc été adoptée dans l’industrie :
I1
Sortie
I2
PIAU J.P. LTR DORIAN
Les PAL
page 7 / 14
CIRCUITS LOGIQUES PERSONALISÉS
IV.2.2.3. Représentation simplifiée de la structure d'un PAL :
D
C
B
A
Matrice OU
(cablée )
Lorsque la matrice ET est figée et que la matrice
OU est programmable, on retrouve la structure des
PROM, la matrice ET réalisant le décodage des
adresses.
Lorsque la matrice ET est programmable et que
la matrice OU est figée, on obtient le principe de
fonctionnement des PAL.
Lorsque les matrices OU et ET sont toutes les
deux programmables, on est alors en présence d’un
PLA (Programmable Logic Array).
Exemple :
1- Entourez les connections qui doivent rester
intactes pour obtenir les équations suivantes :
O0 = A.B + C.D + A.D
O1 = A + B/.D/.C + A/.D
O2 = ( A.B )/ + C.D/
O3 = ( A.B.C/.D )/
Une telle structure ne permet évidemment
d’obtenir que des expressions de type combinatoire.
On dit qu’il s’agit de PAL Combinatoire ou PAL
simple, mais il existe des PAL à registres dans
lesquels les sorties se font sur des bascules D, et des
PAL Versatiles où la structure de sortie est une
macro-cellule ( bloc logique configurable ).
Matrice ET
( programmable )
O3
PIAU J.P. LTR DORIAN
O2
O1
O0
Les PAL
page 8 / 14
CIRCUITS LOGIQUES PERSONALISÉS
IV.2.2.4. Les entrées / sorties des PAL :
-
Entrées / sorties d’un PAL combinatoire :
Zone des fusibles
I/O
I
Le signal résultant de la zone de fusibles programmables est appliqué à la patte d’entrée/sortie via un buffer trois
états, lui –même commandé par cette même zone de fusibles. Cela signifie donc que l’état de la sortie : valide ou haute impédance,
pourra être une fonction logique des signaux d’entrée.
Cette même patte est reliée, comme les pattes d’entrées, à un inverseur/non-inverseur qui attaque à son tour la zone de
fusibles programmables. Il est ainsi possible :
- soit de ré-injecter le signal de sortie dans la zone d’entrée ;
- soit d’utiliser tour à tour la patte de sortie comme patte d’entrée en faisant passer le buffer de sortie dans le troisième
état.
-
Entrées / sorties d’un PAL à registre :
Les PAL à registres utilisent une approche un peu différente. En effet la sortie du réseau de fusibles programmables
aboutit sur l’entrée d’une bascule D. La sortie Q/ de ce registre est ré-injectée sur la matrice de fusible via un
inverseur/non-inverseur comme dans le cas des PAL simples. La sortie Q est envoyée sur la patte de sortie via un buffer
trois états, mais contrairement aux PAL simples, cette patte de sortie ne peut être utilisée en entrée car elle ne dispose
d’aucun accès direct vers la matrice de fusibles. Les entrées d’horloges des bascules sont communes pour toutes les sorties
et sont commandées par une seule et unique ligne appelée CLOCK. De même, les buffers de sorties sont commandées par
une seule ligne nommée OE.
Zone des fusibles
OE
Horloge
Q
D
Q
Q
I
IV.2.2.5. Le décodage des références :
Voici un exemple de codage de la référence d’un PAL ( PAL 22V10 d’AMD ) :
PAL
( CE )
22
V
10
H
- 7
P C
PAL
CE pour version CMOS
Nombre d'entrées
Structure de sortie
Nombre de sorties
Consommation
Vitesse
Boîtier, gamme, etc...
La référence est décomposée de la manière suivante :
Un terme PAL ou GAL qui précise le tpe de circuit ;
Un terme CE ou C, présent dans le cas des PAL CMOS effaçables électriquement et absent dans le cas des PAL
bipolaires.
• Un nombre indiquant les entrées disponibles qui peuvent être des entrées simples ou des entrées / sorties ;
• Une ou deux lettres indiquant le type de structure de sortie :
•
•
L:
H:
R:
Combinatoire active au niveau bas ;
Combinatoire active au niveau haut ;
Registre ;
PIAU J.P. LTR DORIAN
RA : Registre asynchrone ;
X:
Registre et OU exclusif ;
V:
Versatile.
Les PAL
page 9 / 14
CIRCUITS LOGIQUES PERSONALISÉS
•
•
•
•
Un nombre indiquant les sorties disponibles ;
Une lettre indiquant la consommation ( normale, faible ou très faible ) ;
Un nombre indiquant le temps de propagation typique par porte, en nanoseconde ;
Diverses autres lettres codant le type de boîtier utilisé et la gamme de température de fonctionnement du circuit.
IV.2.2.6. Exemple de PAL Combinatoire : le 16 L 8 :
16L8
1
0
3
4
7
8
11 12
15 16
19 20
23 24
27 28
VCC
31
20
0
19
7
2
8
18
15
3
16
17
23
4
24
16
31
5
32
15
39
6
40
14
47
7
48
13
55
8
56
12
63
9
GND
11
0
3
4
7
8
11 12
15 16
19 20
23 24
27 28
31
10
PIAU J.P. LTR DORIAN
Les PAL
page 10 / 14
CIRCUITS LOGIQUES PERSONALISÉS
IV.2.2.7. Exemple de PAL à registre : le 16 R 8 :
16R8
CLK
1
0
3
4
7
8
11 12
15 16
19 20
23 24
27 28
VCC
20
31
0
O8
D
Q
19
7
Q
I1
2
8
O7
D
Q
18
15
Q
I2
3
16
O6
D
Q
17
23
Q
I3
4
24
O5
D
Q
16
31
Q
I4
5
32
O4
D
Q
15
39
Q
I5
6
40
O3
D
Q
14
47
Q
I6
7
48
O2
D
Q
13
55
Q
I7
8
56
O1
D
12
63
Q
I8
9
GND
Q
OE
0
3
4
7
8
11 12
15 16
19 20
23 24
27 28
31
11
10
PIAU J.P. LTR DORIAN
Les PAL
page 11 / 14
CIRCUITS LOGIQUES PERSONALISÉS
IV.2.2.8. Les PAL versatiles ou VPAL :
Ces PAL, dont le plus célèbre est très certainement le 22V10 d’AMD qui a été le premier circuit de ce type introduit sur le
marché, présentent une évolution des PAL vers les circuits logiques programmables de haut niveau. En effet, ils continuent à
respecter les principes généraux rencontrés plus haut mais utilisent une structure de cellule de sortie très proche des macro-cellules
ou OLMC des GAL que nous verrons par la suite.
IV.2.2.9. Technologie des PAL bipolaires :
La technologie de ces PAL est celle des PROM. Les fusibles sont réalisés de la même façon.
De ce fait, il ne sont pas reprogrammables et donc, pas effaçable.
IV.2.3. Les PAL CMOS et GAL :
IV.2.3.1. Notions de base :
Faisant partie d’une génération récente de circuits logiques programmables, les GAL ( Generic Array Logic ) sont des PAL
versatiles en technologie CMOS. La structure de base est donc la même que les PAL, matrice ET programmable et matrice OU
figée, mais les cellules de sortie sont constituées par des OLMC ( Output Logic Macro Cell ), qui sont des blocs de sortie
programmables et permettent donc d’obtenir différents type de sorties.
Outre les possibilités des blocs de sorties, les GAL présentent l’avantage d’être reprogrammables. Ils sont pratiquements
tous du type EEPLD et permettent donc une programmation et un effacement électrique. Les fusibles sont de la même technologie
que ceux des EEPROM.
Il existe une dizaine de familles de PAL CMOS mais nous allons limiter notre étude à celle des GAL du type du GAL
22V10.
IV.2.3.2. Le GAL 22V10 :
Architecture interne :
Elle est donnée à la page suivante. On retrouve la matrice ET programmable et les cellules de sortie.
Matrice ET programmable :
La matrice est organisée en 44 lignes d’entrées ( 22 entrées et leurs complément ) croisant 132 lignes de produits
avec un fusible à chaque intersection ( en fait une cellule E²CMOS ). Parmi les 132 lignes de produits, 130 arrivent directement
sur les dix OLMC en nombre variable ( 9, 11, 13, 15, ou 17 ) pour chacune. Les deux autres lignes de produits, sont utilisées
comme reset Asynchrone ( AR ) et Preset synchrone ( SP ). Enfin, c’est le signal appliqué à la broche « 1 » qui synchronise toutes
les OLMC dans le cas d’une utilisation séquentielle.
Structure d’une OLMC :
C
I
CLK
OLMC
AR
Output Enable
P1
..
..
D
AR
Q
MATRICE Pn
ET
n = 8, 10, 12,
14 ou 16
SP
1
1
0
0
Q
0
1
0
1
I/On
S1
S0
0
1
SP
PIAU J.P. LTR DORIAN
Le GAL 22V10
page 12 / 14
CIRCUITS LOGIQUES PERSONALISÉS
GAL 22V10
VCC
1
CLK
24
AR
2
OLMC
23
OLMC
22
OLMC
21
OLMC
20
OLMC
19
OLMC
18
OLMC
17
OLMC
16
OLMC
15
OLMC
14
8
3
10
4
12
5
14
6
MATRICE
7
ET
16
16
8
14
9
12
10
10
11
8
SP
12
GND
PIAU J.P. LTR DORIAN
13
Le GAL 22V10
page 13 / 14
CIRCUITS LOGIQUES PERSONALISÉS
On s’aperçoit que dans chaque groupe de 9, 11, 13, 15 ou 17 lignes de produits arrivant aux OLMC, la première est la ligne
de validation de la sortie trois états ( Output Enable ).
Les 8, 10, 12, 14 ou 16 autres lignes arrivent, elles, sur une porte OU constitutive de la matrice OU.
Configuration d’une OLMC :
Deux bits ( en fait deux fusibles ), SOi et S1i , configurent chaque OLMC. SOi et S1i possèdent une adresse ( voir la
structure interne du GAL ) et vont se programmer comme les fusibles de la matrice ET.
Remarque : SOi et S1i sont en réalité 2 fusibles qui assurent une liaison avec la masse ( état logique 0). Pour les mettre à l’état
logique 1, il suffit de « griller » ces fusibles.
Les schémas suivant représentent les quatre configurations possibles des OLMC.
S0 =
S1 =
S0 =
S1 =
AR
D
Clk
AR
Q
D
Clk
Q
SP
Sortie registre active au niveau bas
Q
SP
Sortie registre active au niveau haut
S0 =
S1 =
S0 =
S1 =
Sortie combinatoire active au niveau haut
PIAU J.P. LTR DORIAN
Q
Sortie combinatoire active au niveau bas
Le GAL 22V10
page 14 / 14
Téléchargement