Académique Documents
Professionnel Documents
Culture Documents
Asic
Asic
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 semi-
conducteur ( 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.
ASIC
Prédiffusés Précaractérisés
Prédiffusés Prédiffusés
programmables masquables
( PLD, FPGA ) ( Gate Array )
• 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, ... ).
Mémoires mortes
ROM PROM
programmables programmables
par masque par l'utilisateur
Vcc
fusible
n fils
d'adresse n
2
A0 lignes
A1 Logique
de
décodage
d'adresse
An
fusible intact : Donnée = 0
fusible détruit : Donnée = 1
D0 D1 D2 D3
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.
• 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.
V GS
VT1 Vc VT2
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 :
• Transistor programmé :
Ligne de
sélection Ligne de sélection à l’état bas à ligne de bit à l’état haut.
Ligne de sélection à l’état haut à ligne de bit à l’état haut.
Transistor SAMOS
La programmation de la mémoire EPROM consiste donc à
programmer chaque transistor SAMOS de la matrice pour
Ligne de bit 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)
.
PLD
Circuits logiques
programmables
EP XXX
} ALTERA
MAX 5000
MAX 7000
MAX 9000 }
ALTERA
MAX 9000 ALTERA
ispLSI VATTICE
MACH 3 et 4 AMD MACH 3 et 4 AMD
pLSI VATTICE
Dans l’exemple qui suit, on a pris le cas d’une structure à deux entrées :
I1
Présenté tel quel, ce montage comporte deux entrées I1 et I2
F1 et une sortie O.
Lors de la livraison du PAL, tous les fusibles sont intacts et
F4 Sortie la programmation consiste à faire sauter les fusibles nécessaires
F5 afin de réaliser la fonction de son choix. Le principe est donc
très proche de celui des PROM bipolaires à fusibles.
I2 F8
I1
Sortie
I2
D C B A
Matrice OU Lorsque la matrice ET est figée et que la matrice
(cablée ) OU est programmable, on retrouve la structure des
PROM, la matrice ET réalisant le décodage des
adresses.
Exemple :
O1 = A + B/.D/.C + A/.D
O2 = ( A.B )/ + C.D/
O3 = ( A.B.C/.D )/
Matrice ET
( programmable )
O3 O2 O1 O0
I/O
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.
Q
D Q
I Q
16L8 VCC
1 0 3 4 7 8 11 12 15 16 19 20 23 24 27 28 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 11
0 3 4 7 8 11 12 15 16 19 20 23 24 27 28 31
GND
10
1 0 3 4 7 8 11 12 15 16 19 20 23 24 27 28 31 20
0
O8
D Q
19
7
I1 Q
2
8
O7
D Q
18
15
I2 Q
3
16
O6
D Q
17
23
I3 Q
4
24
O5
D Q
16
31
I4 Q
5
32
O4
D Q
15
39
I5 Q
6
40
O3
D Q
14
47
I6 Q
7
48
O2
D Q
13
55
I7 Q
8
56
O1
D Q
12
63
I8 Q
OE
9
0 3 4 7 8 11 12 15 16 19 20 23 24 27 28 31
GND
11
10
1 0
P1
.. 1 1
I/On
.. D
AR
Q 0 0
0 1
MATRICE Pn
n = 8, 10, 12, S1
14 ou 16 SP Q
ET S0
0
1
SP
AR
2 OLMC 23
8
3 OLMC 22
10
4 OLMC 21
12
5 OLMC 20
14
6 OLMC 19
MATRICE 16
7 OLMC 18
ET 16
8 OLMC 17
14
9 OLMC 16
12
10 OLMC 15
10
11 OLMC 14
8
SP
12 GND 13
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 = S0 =
S1 = S1 =
AR AR
D Q D Q
Clk Q Clk Q
SP SP
Sortie registre active au niveau bas Sortie registre active au niveau haut
S0 = S0 =
S1 = S1 =
Sortie combinatoire active au niveau haut Sortie combinatoire active au niveau bas