Les circuits logiques programmables : Technologie du transistor au

Transcription

Les circuits logiques programmables : Technologie du transistor au
Les circuits logiques programmables :
Technologie
du transistor
au P.L.D.
(Programmable Logic Device)
1
Toutes les composants logiques (de la porte logique au µP) sont obtenues à
partir d’association de quelques (millions ?) de transistors. Ces transistors
peuvent être des transistors bipolaires (familles TTL et ECL) ou des transistors
MOS (famille NMOS, PMOS, CMOS…).
Les fonctions programmables sont réalisées à partir des familles à base de
transistors MOS.
2
composant de base : le transistor
S
N P
E B
N
C
P
G
D
N P
bipolaire
C
Ib
MOS
D
Ic
Ids
Vce
B
Vgs
E
Ic
S
Vds
Ids
Ib
Vce
Vg
Vds
3
circuits intégrés
deux grandes familles technologiques:
CMOS et bipolaire
∆t
I
∆V
diminution du paramètre techno.
diminution des tensions
compromis vitesse - consommation
C
∆t = C
∆V
I
4
Terminologie des Circuits intégrés
Niveau bas
Niveau haut
+5V
IOH
IIH
IOL
+
VOH
-
+
+
VOL
-
VIH
-
VIH(min) : tension d’entrée niveau HAUT
VIL(max) : tension d’entrée niveau BAS
VOH(min) : tension d’entrée niveau HAUT
VOL(max) : tension de sortie niveau BAS
IIH : courant d’entrée niveau HAUT
IIL : courant d’entrée niveau BAS
IOH : courant de sortie niveau HAUT
IOL : courant de sortie niveau BAS
IIL
+
VIL
-
5
Paramètres électriques et temporels
Définition des niveaux logiques
Vs
Valim
VOHmin
A
ve1
A
A
ve2
vs2
VOLmax
Ve
VILmax VIHmin
Valim
VOLmax < VILmax et VOHmin > VIHmin
6
Paramètres électriques et temporels
Définition des niveaux logiques
valeur minimale de la tension d ’entrée
pour que le signal soit vu comme « 1 »
valeur maximale
de la tension d ’entrée
pour que le signal
soit vu comme « 0 »
dans les conditions du test
le circuit assure cette tension
7
Paramètres électriques et temporels
Courants de sortie
courant maximal
délivré par l ’alimentation
au repos
courants minimaux fournis à la charge
pendant les transitions
8
9
Paramètres électriques et temporels
Paramètres temporels
écart relatif maximal
10
Autres série TTL
Le sigle TTL se réfère généralement à la série 74 standard ou « N ».
Il existe d’autres séries :
• 74L : faible consommation
• 74H : plus rapide
• 74S (Schottky) : faible consommation et plus rapide
• 74LS : faible consommation mais moins rapide.
• 74AS et ALS : associent vitesse de commutation et faible consommation.
11
Les différentes série TTL
N
L
H
S
AS
LS
ALS
Tension
d’alimentation
5v
5v
5v
5v
5v
5v
5v
Voh(min)
2,4 v
2,4 v
2,4 v
2,7 v
2,7 v
2,7 v
2,7 v
Vih(min)
2v
2v
2v
2v
2v
2v
2v
Vol(max)
0,4 v
0,3 v
0,4 v
0,5 v
0,5 v
0,5 v
0,5 v
Vil(max)
0,8 v
0,8 v
0,8 v
0,8 v
0,8 v
0,8 v
0,8 v
Retard de
propagation
10 ns
33 ns
6 ns
3 ns
1,5 ns
9,5 ns
4 ns
Consommation
10 mW
1 mW
22 mW
19 mW
20 mW
2 mW
1 mW
Entrance à l’état
haut : IIH
40 µA
10 µA
50 µA
50 µA
200 µA
20 µA
20 µA
Entrance à l’état
bas : IIL
1,6 mA
180 µA
2 mA
2 mA
2 mA
400 µA
200 µA
Sortance à l’état
haut : IOH
400 µA
200 µA
500 µA
1 mA
2 mA
400 µA
400 µA
Sortance à l’état
bas : IOL
16 mA
3,6 mA
20 mA
20 mA
20 mA
8 mA
8 mA
12
Facteur de charge et sortance des TTL
État bas
État haut
+5 V
+5 V
R1
R2
+5V
R1
R4
D1
Q4
+5 V
R2
Bloqué
Q3
+5 V
IOL
R1
+5V
R1
R4
conduit
IIL
IIL
IOH
+
+
VOL
VOH
Conduit
-
IIH
IIH
bloqué
-
Nombre d’entrée 7400 que peut piloter une sortie 7400 :
IOL(max) = 16 mA
IIL(max) = 1.6 mA
Sortances = IOL(max)/IIL(max) = 10
IOH(max) = 400 µA
IIH(max) = 40 µA
Sortances = IOH(max)/ IIH(max) = 10
13
Autres familles :
14
circuits intégrés CMOS
D
D
G
Vgs
G
Vgs
S
nMOS
Vgs≅Vdd
Vgs ≅ 0
S
pMOS
S
D
S
D
Vgs≅-Vdd
Vgs ≅ 0
15
circuits intégrés CMOS
nMOS
technologie CMOS
pMOS
16
circuits intégrés CMOS
exemple : inverseur
Valim
Valim
pMOS
E
S
E
S
nMOS
17
18
circuits intégrés CMOS
exemple : inverseur
Valim
S=0
1
=
E
E
E
S
E=
0
S
0
1
1
0
E
S
S=1
19
circuits intégrés CMOS
exemple : inverseur
grille
Valim
E
n+
S
p+
n+
p+
substrat p
Vref
caisson n
transistor n
transistor p
20
circuits intégrés CMOS
exemple : inverseur
21
circuits intégrés CMOS
exemple : inverseur
22
23
circuits intégrés CMOS
exemple : porte NAND
Valim
A
B
A
=1
=1
B
t
e
S=0
S
A
=0
ou
B
=0
A
B
S
0
0
1
0
1
1
1
0
1
1
1
0
S=1
A
S
B
24
circuits intégrés CMOS
exemple : porte NAND
25
circuits intégrés CMOS
exemple : porte NOR
Valim
A
A
=1
ou
=1
B
S=0
A
B
S
0
0
1
0
1
0
1
0
0
1
1
0
B
S
A
=0
et
B
=0
S=1
A
S
B
26
circuits intégrés CMOS
exemple : porte NOR
27
Le soustracteur
28
circuits intégrés
29
circuits intégrés
évolution du nombre de transistors des µP Intel
nb de trans.
param. techno.
12
1.0E+08
P-III
P-II
1.0E+07
10
P
8
80486
1.0E+06
6
1.0E+05
4
8086
1.0E+04
8080
2
4004
2000
1990
0
1980
1971
1.0E+03
loi de Moore :
Ntr est multiplié par 1,4 par an
30
circuits intégrés
évolution de la fréquence d'horloge des µP Intel
MHz
fréquence d'horloge
P-III
1000
P-II
100
P
80486
10
8086
8080
2000
1990
1980
1971
1
31
circuits intégrés
1972: 2500 transistors
4004
2000: >10 000 000 transistors
P-II
32
circuits intégrés
hiérarchie
système
fonction
porte
circuit
composant
33
34
circuits intégrés
salle blanche
masque de lithographie
fours de diffusion
Wafer épitaxié
35
Wafer épitaxié
36
Epitaxie par jets moléculaires à sources gaz :
37
Epitaxie par jets moléculaires à sources gaz :
38
Epitaxie par jets moléculaires à sources gaz :
39
salle blanche
40
composant
41
circuits intégrés
substrat (Si)
gravure
(HF ou plasma)
oxyde (SiO2)
résine
UV
masque
42
43
circuits intégrés
dépôt poly-Si
dépôt d'oxyde
oxydation
gravure poly-Si
ouverture des contacts
gravure
gravure oxyde mince
dépôt de métal
oxydation
(grille)
implantation-diffusion
gravure du métal
44
fours de diffusion
45
circuits intégrés
"bonding"
boitiers
boitier DIL
46
microsystèmes
47
circuits intégrés
300
1000
param ètre
techno. (nm)
200
500
100
0
surface de la
2
puce (mm )
19 20 20 20 20
95 00 05 10 15
20000
15000
nom bre d'E/S
10000
fréquence
d'horloge (MHz)
5000
0
1995
2000
2005
2010
2015
nom bre de
transistors/cm 2 (en millions)
0
200
150
100
50
0
3
2
1
1995 2000 2005 2010 2015
(W)
puissance
alimentation (V)
a
0
48
49
50
suite…
51
52
53
54
55
56
57
58
Les différents types de circuits programmables
59
Mémoire programmable
mémoire 16 mots de 2 bits => 2 fonctions logiques de 4 entrées
A0
A1
A2
A3
Matrice de
ET figée
Adresses =entrées
S0
Matrice de
Ou
Programmable
S2
liaison non programmable
liaison programmable
60
Circuit logique programmable
PAL : programmable array logic
A0
A1
A2
A3
Matrice
ET
programmable
Adresses =entrées
S0
Matrice
Ou
figée
S2
S3
S4
somme de produits = Macrocellule
liaison non programmable
liaison programmable
61
62
63
64
65
66
67
68
69
70
71
72
73
Field-Programmable Gate
Array (FPGA)
• Xilinx série XC4000
74
75
76
77
78
79
80
81
82
Points à examiner avant réalisation :
• Matériel
Logiciel:
Lequel ?
ld In, x0
xor x0, r2, x1
ld Gate, x2
and x1, x2, x1
xor x1, r0, x2
mov x1, r0
...
– In Out
– Gate
Matériel: techno, coût ?
Gate
In
Out
• Performance
• Temps-réel
• Interfaçage
physique
• Coût
• Encombrement
83
• ...
Modèles de réalisation
• Circuits à façon (full-custom) : dessin de transistors
(gravure de rectangles).
• Circuits prédiffusés (gate array) : connexion de portes
logiques élémentaires (ex. NOR).
• Circuits logiques programmables (PROM, PAL,
EPLD) :
réalisation d’un petit nombre d’équations booléennes.
Généralement programmables une seule fois.
• Prédiffusés programmables (FPGA) : connexion de
fonctions booléennes programmables et de registres
synchrones.
Programmables une fois ou indéfiniment
reprogrammables.
84
Plate-forme matérielle (1)
•
•
PC (Windows NT)
Carte “PCI Pamette” (Compaq Systems Research Center)
– 4 circuits Xilinx XC4010E-3 à XC4085XLA-09
• 800 à 6272 fonctions booléennes 4 entrées
• 800 à 6272 registres
• 160 ports d’entrée-sortie
– 2 banques mémoire, 64k x 16b, 12ns
– Interface PCI (téléchargement et communication)
– Horloge programmable 0–100 MHz
85
Plate-forme matérielle (2)
4 Xilinx
4010Es
256 KB
SRAM
External I/O
CMC
Connectors
PCI Interface
Up To 256 MB
DRAM SIMMs
86
Plate-forme matérielle (3)
•
Périphériques optionnels
– DRAM
– Ecran VGA
– Caméra numérique
– Carte ethernet
– Convertisseurs A/D et D/A
– ...
87
Outils logiciels (1)
•
•
Description des circuits
– Schémas
– Equations booléennes
– VHDL
Compilation
– Traduction des fichiers sources en portes logiques –
fusion
– Fabrication de tables à 4 entrées
– Placement et routage
– Génération du binaire de configuration
88
Outils logiciels (2)
•
•
Exécution
– Initialisation des RAMs
– Configuration du circuit
– Protocole d’entrées-sorties (PCI)
– Commandes clavier, scripts, programmes C/Java.
Mise au point
– Simulation
– Exécution pas-à-pas – relecture de l’ état interne
– Oscilloscope
89
90
91
92
Langages de description (1)
• Schémas :
Count
Cnt3
Dec7s
seg[0..6]
R
93
Langages de description (2)
•
Equations booléennes : ABEL.
– module count8;
" Inputs
Clk,up,down pin;
" Outputs
q0,q1,q2,q3,q4,q5,q6,q7 pin istype ’reg’;
" Variables
count = [q7..q0];
equations
count:=(count+1) & up & !down "count up
# (count-1) & !up & down "count down
# count & up & down
"hold
# count & !up & !down;
"hold
end
94
Langages de description (3)
•
Imperative Generation : PamDC.
– int i,j;
Bool clk, limit;
WireVector<Bool,3> Cnt;
limit = Cnt[0] & (~Cnt[1]) & Cnt[2];
for (i = 0; i < 3; i++)
{
EquationHandler Carry = ONE;
for (j = 0; j < i; j++)
Carry = Carry & Cnt[j];
Cnt[i] = reg(
mux(limit, ZERO, Cnt[i] ^ Carry),clk);
}
95
Langages de description (4)
•
Synthèse logique : VHDL.
– process begin
wait until CLK’event and CLK = ’1’;
if SECS = 59 then
SECS <= 0;
if MINUTES = 59 then
MINUTES <= 0;
else
MINUTES <= MINUTES + 1;
end if;
else
SECS <= SECS + 1;
end if;
end process;
96
Projets microprocesseurs
• RISC
• Microprocesseur classique : PDP8, PDP11, 6502
– Possibilité de trouver spécifications, compilateurs, code sur le web
– http://www.spies.com/~dgc/pdp8x/
• Microprocesseur + périphériques
• Carte graphique
• Contrôleur disque
97
Projets microprocesseurs
(suite)
• Calculatrice
– Calculatrice à pile simple
– Calculatrice programmable
• Automates spécialisés
–
–
–
–
–
calendrier perpétuel. . .
Montre numérique
Contrôleur d’ascenseur
Voltmètre numérique
Oscilloscope numérique
• Codes
– Codes cryptographiques
– Codes correcteurs d’erreur
98
Projets microprocesseurs (suite)
• Pilotage d’ écran graphique
– Terminal alphanumérique
– Jeu vidéo, animations
• Audio numérique
– Synthèse additive
– Filtrage
– Analyse fréquentielle temps-réel
• Acquisition et traitement d’image
•
– Caméra numérique
Autres. . .
99
Exemple : calculatrice
• Type “polonaise inverse” (HP)
• Version minimale
– Hexadécimale
– 8 bits
– Addition – soustraction
• Extensions
–
–
–
–
12 ou 16 bits
BCD
Multiplication
Sous-programmes en ROM
100
Exemple : synthétiseur sonore
• Version minimale
– Synthèse d’ échantillons sonores en temps r éel
– Forme(s) d’onde en RAM
– Partitions en RAM (fréquence/durée)
• Extensions
– Enveloppes
– Voies multiples
101
102