É É É ÉLECTRONIQUE NUMÉRIQUE AVANCÉE

Transcription

É É É ÉLECTRONIQUE NUMÉRIQUE AVANCÉE
É
ÉLECTRONIQUE
NUMÉRIQUE
É
AVANCÉE
É
Filière : InfoTronique
q
Chap. 5 : Architecture des circuits
programmables et FPGA
Dr. Abdelhakim Khouas
Email : [email protected]
akhouas@hotmail com
Département de Physique
Faculté des Sciences
Objectifs de ce chapitre
Co p e d e les
Comprendre
es d
différentes
é e tes a
architectures
c tectu es et le
e
fonctionnement des circuits logiques programmables
Š Avantages et inconvénients des circuits programmables
Š Types de programmation
™
™
™
EPROM
Anti fuse
Anti-fuse
SRAM
Š Types de circuits programmables
™
™
™
Les PLD : PAL, PLA, PROM
Les CPLD
Les FPGA
ÉNA – Chap. 5 : FPGA
1
© A. Khouas, 2009
Plan
1. Circuits logiques programmables (CLP)
1.
Définitions
2.
Avantages et inconvénients des circuits programmables
3.
ASICs vs. Circuits programmables
2. Technologies de programmation
1.
Technologie EPROM et EEPROM
2.
Technologie anti-fuse
3
3.
Technologie SRAM
3. Architectures des circuits programmables
1.
2.
3.
4.
5.
Circuits programmables simples PLD « Programmable Logic Device »
Circuits programmables complexes CPLD « Complex Programmable Logic Device »
FPGA « Filed Programmable Gate Array »
CPLD vs. FPGA
Autres circuits programmables
4 Flot de conception sur CLP
4.
ÉNA – Chap. 5 : FPGA
2
© A. Khouas, 2009
1. Circuits logiques programmables (CLP)
Les circuits logiques programmables CLP
Š Circuits logiques dont les fonctions peuvent être
ê
programmées
é pour
une application particulière, après sa fabrication
Acronymes :
Š
Š
Š
Š
Š
Š
Š
Š
PLD : Programmable Logic Device
SPLD : Simple
p Programmable
g
Logic
g Device
PLA : Programmable Logic Array
PROM : Programmable Read Only Memory
PAL : Programmable
g
Arrayy Logic
g
GAL : Generic Array Logic
CPLD : Complexe Programmable Logic Device
FPGA : Field Programmable Gate Array
ÉNA – Chap. 5 : FPGA
3
© A. Khouas, 2009
1.1 Avantages des CLP
Faible coût
Š Production de petites séries
Validation de conceptions d’ASIC
Š Validation réelle du circuits dans le système complet
Š Validation à faible coût
™
™
Coût de fabrication du prototype
Temps nécessaire pour la fabrication du prototype
Š Validation rapide d’une conception d’un ASIC
™
™
Permet de réagir rapidement aux erreurs de conception
Diminution du temps de mise en marché « TTM » de l’ASIC
Š Validation à faible risque
q
ÉNA – Chap. 5 : FPGA
4
© A. Khouas, 2009
1.2 Inconvénients des CLP
Faible performance
Š Vitesse (fréquence)
Š Consommation
Faible densité (grande surface)
Coût élevé
Š Pour une très grande production
ÉNA – Chap. 5 : FPGA
5
© A. Khouas, 2009
1.3 ASIC vs. CLP
Circuit intégré IC
Spécifique "Full Custom"
Semi-spécifique "Semicustom"
ASIC
"Standard
Standard Cell
Cell"
Programmables
"Gate
Gate Array
Array"
Circuits programmables
FPGA
ÉNA – Chap. 5 : FPGA
6
CPLD
PLD
Systèmes Programmables
FPSLIC FPSC PSoC
Atmel Lattice Cypress
© A. Khouas, 2009
Spécifique "Full
Full Custom"
Custom
"Standard Cell"
"Gate Array"
FPGA
CPLD
P
Performan
nces
Coût de développpement
1.3 ASIC vs. CLP
Coût de développement vs performances
ÉNA – Chap. 5 : FPGA
7
© A. Khouas, 2009
1.3 ASIC vs. CLP
25
Coût tootal ($)
20
15
FPGA
Gate Array
Stand. Cell
10
Full-Custom
5
0
0
5
10
15
20
25
30
3
V l
Volume
de
d fabrication
f b i ti (10 )
Coût de revient d'un IC vs. volume de fabrication pour
les différents styles de conception
ÉNA – Chap. 5 : FPGA
8
© A. Khouas, 2009
2. Technologies de programmation
Le choix de la technologie de programmation affecte
plusieurs caractéristiques du circuit programmable
Š Densité
Š Délais de propagation
™
™
Cellules
Routage
Š La consommation
Š Re-programmation du circuit
ÉNA – Chap. 5 : FPGA
9
© A. Khouas, 2009
2. Technologies de programmation
Deux types de circuits programmables
Š Circuits programmables une seule fois
™
OTP pour « One Time Programmable »
Š Circuits
Ci it programmables
bl plusieurs
l i
fois
f i
Méthodes de programmations
Š
Š
Š
Š
EPROM « Erasable Programmable ROM »
EEPROM « Electrical Erasable Programmable ROM »
Anti-fuse
SRAM « Static RAM »
ÉNA – Chap. 5 : FPGA
10
© A. Khouas, 2009
2.1 Technologie EPROM
Utilisation de la grille flottante pour les transistors EPROM
Source : Programmable Logic and ASIC, D. Landis
ÉNA – Chap. 5 : FPGA
11
© A. Khouas, 2009
2.1 Technologie EPROM
Différents modes d’un transistor EPROM, a) programmation avec une
t i Vpp
tension
V > 12V,
12V b) ttransistor
i t ttoujours
j
off
ff ett c)) dé
dé-programmation
ti du
d
transistor avec de la lumière UV
Source : ASICs Circuits, M.J.S. Smith
ÉNA – Chap. 5 : FPGA
12
© A. Khouas, 2009
2.1 Technologie EPROM
Fonctionnement
Š Utilisation d’une grille flottante pour programmer les transistors de
transmission
Avantages
Š Circuits programmables plusieurs fois
Š Programmation sur site
I
Inconvénients
é i
Š
Š
Š
Š
Š
Consommation statique
Nécessite une grande surface
Plusieurs tensions d’alimentation
Dé-programmation lente et « off site »
B îti d’encapsulation
Boîtier
d’
l ti spécial
é i l (avec
(
du
d verre))
ÉNA – Chap. 5 : FPGA
13
© A. Khouas, 2009
2.1 Technologie EPROM
Fonctionnement de la technologie EEPROM
Š Même méthode de programmation que pour EPROM
Š Pour la dé-programmation :
™
Utilisation de champs électriques
Avantages de la technologie EEPROM
Š Dé-programmation plus rapide que pour EPROM
Š Pas besoin d’utiliser un boîtier spécial (avec du verre)
Š Dé-programmation sur site
ÉNA – Chap. 5 : FPGA
14
© A. Khouas, 2009
2.2 Technologie Anti-fuse
Fonctionnement :
g
de la résistance du fil de routage
g à
Š Changement
programmer
A
Avant
programmation
i : Résistance
Ré i
> 100 MΩ
M
Après programmation : Résistance < 500 Ω
ÉNA – Chap. 5 : FPGA
15
© A. Khouas, 2009
2.2 Technologie Anti-fuse
Technologie introduite par Actel
Circuit programmable une fois
La programmation anti-fuse
anti fuse permet de créer une connexion
électrique directe entre deux métaux
Š Fabrication avec un process CMOS avec 3 masques supplémentaires
La programmation est réalisée en appliquant une grande
tension (18V)
Š Le courant élevé fait fondre l’isolant ONO « Oxide-Nitride-Oxide » qui
devient conducteur
ÉNA – Chap. 5 : FPGA
16
© A. Khouas, 2009
2.2 Technologie Anti-fuse
Avantages
Š Faible surface du circuit
Š Faible délai de routage
™
™
Faible résistance
Faible capacité
Š Confidentialité
Inconvénients
Š Circuits programmables une seule fois
Š Modification du procédés CMOS de base pour la
fabrication
ÉNA – Chap. 5 : FPGA
17
© A. Khouas, 2009
2.3 Technologie SRAM
Technologie
h l
utilisant
l
de
d la
l mémoire
é
statique SRAM
Les SRAM sont utilisés pour :
Š Implémenter les tables de vérité LUT « Look Up Table »
des fonctions logiques
Š Contrôler les interconnexions programmables avec
™
™
Mux
Portes ou transistors de transmission
ÉNA – Chap. 5 : FPGA
18
© A. Khouas, 2009
2.3 Technologie SRAM
Technologie introduite par Xilinx
Programmation volatile
Avantage
™
Programmation sur site et en ligne du circuit
Inconvénients
™
™
™
Grande surface
Utili ti d’une
Utilisation
d’
PROM pour la
l programmation
ti de
d la
l SRAM lors
l
de
d
la mise sous tension du système
Confidentialité
ÉNA – Chap. 5 : FPGA
19
© A. Khouas, 2009
2.3 Technologie SRAM
Exemple d’utilisation
d utilisation de LUT
Source : FPGAs for Rapid Prototyping, CRC Press
ÉNA – Chap. 5 : FPGA
20
© A. Khouas, 2009
2.3 Technologie SRAM
Exemple d’utilisation de la technologie SRAM pour programmer un
bl logique
bloc
l i
Source : Reconfigurable Device Interconnect
Test and Diagnosis Time Reduction
ÉNA – Chap. 5 : FPGA
21
© A. Khouas, 2009
2.3 Technologie SRAM
Interconnexions
Multiplexeur
interrupteur
CLB
MUX
LUT
FF
LUT
Différentes utilisation de cellules SRAM
ÉNA – Chap. 5 : FPGA
22
© A. Khouas, 2009
2.4 Comparaison des technologies de prog.
Technologie
Reprogrammable
Volatile
Resistance
Capacité
Surface
SRAM
in circuit
in-circuit
oui
1 KΩ
15 ff
5 fois
Anti-fuse
non
non
50-500 Ω
1,2-5,0 ff
1 fois
EPROM
hors circuit
non
2 KΩ
10 ff
1 fois
EEPROM
in-circuit
non
2 KΩ
10 ff
2 fois
Comparaison des technologies de programmation
Source : Programmable Logic and ASIC, D. Landis
ÉNA – Chap. 5 : FPGA
23
© A. Khouas, 2009
3. Architecture des CLP
Circuits/systèmes logiques programmables
CLP
PLD ou SPLD
PAL
PROM
PLA
CPLD
FPGA
GAL
Systèmes
y
FPSLIC FPSC
PSoC
Les CLPs les p
plus utilisés sont :
Š PLA
Š CPLD
Š FPGA
ÉNA – Chap. 5 : FPGA
24
© A. Khouas, 2009
3. Architecture des CLP
Source : Programmable Logic Devices ; F. Gail Gray
ÉNA – Chap. 5 : FPGA
25
© A. Khouas, 2009
3.1 Architecture des PLD : PLA
Les PLA sont des circuits programmables qui peuvent
implémenter n’importe quelle fonction booléenne
Š Selon la technologie utilisée, les PLAs implémentent deux
niveaux logiques programmables
™
™
™
AND-OR
NAND-NAND
NOR-NOR
O
O
Š Chaque PLA est définie par la matrice P
Š Exemple
e pe :
™
™
™
Pour l’implémentation : AND/OR ==> P=(A,O)
A représente la matrice des termes AND
O représente la matrice des termes OR
ÉNA – Chap. 5 : FPGA
26
© A. Khouas, 2009
3.1 Architecture des PLD : PLA
Crosspoint
pro
oduits
……
……
Pm
……...
Matrice
AND
……...
Matrice
OR
P2
P1
………
Bit line
x1 x1
……...
sommes
xn xn
Décodeur d’entrée
……...
Entrées
x1
ÉNA – Chap. 5 : FPGA
x2
f1
f2
fk
xn
27
© A. Khouas, 2009
3.1 Architecture des PLD : PLA
Exemple : Soit un circuit avec 4 entrées x1,x2,x3,x4 et 2
sorties s1 et s2 définies par :
s1 = x1 + x3 x4 + x2 x3
s2 = x3 x4 + x1x2 x3 x4 + x2 x3 + x1x2 x4
Les matrices A et O de ce circuit sont :
x1 x2 x3 x4
⎡0
⎢x
⎢
⎢x
A=⎢
⎢0
⎢x
⎢
⎣⎢1
ÉNA – Chap. 5 : FPGA
x x x⎤
x 1 1⎥⎥
0 0 x⎥
⎥
0 0 0⎥
1 1 x⎥
⎥
1 x 0⎥⎦
s1 s2
⎡1
⎢1
⎢
⎢1
O=⎢
⎢0
⎢0
⎢
⎣⎢0
28
0⎤
1⎥⎥
0⎥
⎥
1⎥
1⎥
⎥
1⎦⎥
© A. Khouas, 2009
3.1 Architecture des PLD : PLA
Architecture de base d’un PLA
Source : Programmable Logic Devices ; F. Gail Gray
ÉNA – Chap. 5 : FPGA
29
© A. Khouas, 2009
3.1 Architecture des PLD : PLA
Exemple de programmation d
d’un
un PLA
Source : Programmable Logic Devices ; F. Gail Gray
ÉNA – Chap. 5 : FPGA
30
© A. Khouas, 2009
3.1 Architecture des PLD : PLA
Rappel : réalisation d’une porte logique en technologie
NMOS
Vdd
x
ÉNA – Chap. 5 : FPGA
y
31
z
s = x+ y+z
© A. Khouas, 2009
3.1 Architecture des PLD : PLA
p1 = …?…..
p2 = …?…..
p3 = …?…..
f1 = …?…..
f2 = …?…..
f3 = …?…..
Source : Programmable Logic Devices, Muroga, S.
ÉNA – Chap. 5 : FPGA
32
© A. Khouas, 2009
3.1 Architecture des PLD : PROM
Les PROM « Programmable Read Only Memory » sont
des cas p
particulier de PLA avec un seul niveau
programmable
Š La matrice des ANDs est fixe
™
n
Le nombre de ligne produit « product lines » est 2 avec n= le
nombre d’entrées de la matrices des ANDs
Š La matrice des ORs est programmable
ÉNA – Chap. 5 : FPGA
33
© A. Khouas, 2009
3.1 Architecture des PLD : PROM
Diagramme conceptuel d
d’une
une PROM
Source : Programmable Logic Devices ; F. Gail Gray
ÉNA – Chap. 5 : FPGA
34
© A. Khouas, 2009
3.1 Architecture des PLD : PROM
Exemple de programmation d
d’une
une PROM
Source : Programmable Logic Devices ; F. Gail Gray
ÉNA – Chap. 5 : FPGA
35
© A. Khouas, 2009
3.1 Architecture des PLD : PROM
f1 = …?…..
f2 = …?…..
f3 = …?…..
Source : Programmable Logic Devices, Muroga, S.
ÉNA – Chap. 5 : FPGA
36
© A. Khouas, 2009
3.1 Architecture des PLD : PAL
Les PAL « Programmable Array Logic » sont aussi des
cas particulier de PLA avec un seul niveau
programmable
Š La matrice des ANDs est programmable
Š La matrice des ORs est fixe
A antages
Avantages
Š Faible coût
Š Grande densité
Inconvénient
Š Limitation dans les fonctions qu
qu’on
on peut implémenter
ÉNA – Chap. 5 : FPGA
37
© A. Khouas, 2009
3.1 Architecture des PLD : PAL
Architecture de base d’un PAL
Source : Programmable Logic Devices ; F. Gail Gray
ÉNA – Chap. 5 : FPGA
38
© A. Khouas, 2009
3.1 Architecture des PLD : PAL
Exemple de programmation d
d’un
un PAL
Source : Programmable Logic Devices ; F. Gail Gray
ÉNA – Chap. 5 : FPGA
39
© A. Khouas, 2009
3.1 Architecture des PLD : GAL
Même architecture que les PLA
Utilisation de cellules programmables pour I/O
Rebouclage des sorties
Source : ispGAL22V10AV/B/C Data Sheet, LATTICE
ÉNA – Chap. 5 : FPGA
40
© A. Khouas, 2009
3.1 Architecture des PLD : Limitations
Les circuits qu’on
qu on peux implémenter dans un PLD sont
limités par
Š Nomb
Nombre
e d’entrées/sorties
d’ent ée / o tie
Š Nombre de portes équivalentes
En plus de la limitation du nombre d’entrées/sorties du
circuit, le type de fonctions qu’on peux implémenter
d
dans
un PLD est limité
l
é par
Š Le nombre de termes produit dans la somme
ÉNA – Chap. 5 : FPGA
41
© A. Khouas, 2009
3.2 Architecture des CPLD
Source : Barr, Michael. "Programmable Logic: What's it to Ya?"
Embedded Systems Programming, June 1999, pp. 75-84.
ÉNA – Chap. 5 : FPGA
42
© A. Khouas, 2009
3.2 Architecture des CPLD
Définition
Š UN CPLD est un ensemble de PLDs simples connectés entre eux avec
une matrice d’interconnexion
Un CPLD est composé de :
Š CLB
™
™
™
Bloc logique complexe « Complexe Logic Bloc »
Équivalent à un PLD
Dans un CPLD on a plusieurs CLB
Š SM
™
™
Matrice d’interconnexion « Switch Matrix »
Dans un CPLD on a une ou plusieurs matrices
Š IOB
™
Blocs d’entrée/sortie « Input/Output Bloc »
ÉNA – Chap. 5 : FPGA
43
© A. Khouas, 2009
3.2 Architecture des CPLD
Advanced
Interconnect
Matrix
Architecture du CoolRunner-II CPLD de Xilinx
Source : CoolRunner-II CPLD Family, Xilinx
ÉNA – Chap. 5 : FPGA
44
© A. Khouas, 2009
3.2 Architecture des CPLD
Architecture de la macro-cellule du CoolRunner-II
Source : CoolRunner-II CPLD Family, Xilinx
ÉNA – Chap. 5 : FPGA
45
© A. Khouas, 2009
3.2 Architecture des CPLD
Caractéristiques des CPLD CoolRunner-II de Xilinx
Source : CoolRunner-II CPLD Family, Xilinx
ÉNA – Chap. 5 : FPGA
46
© A. Khouas, 2009
3.2 Architecture des CPLD
Programmable Interconnect
Array
Logic Array Block
Bloc diagramme
g
d’un CPLD de la ffamille MAX 3000A d’Altera
Source : MAX 3000A Programmable Logic Device Family Data Sheet, ALTERA
ÉNA – Chap. 5 : FPGA
47
© A. Khouas, 2009
3.2 Architecture des CPLD
Architecture de la macro-cellule de MAX 3000A
Source : MAX 3000A Programmable Logic Device Family Data Sheet, ALTERA
ÉNA – Chap. 5 : FPGA
48
© A. Khouas, 2009
3.2 Architecture des CPLD
Fonctionnement du PIA « Programmable Interconnect Routing » de MAX 3000A
Un transistor EEPROM (à grille flottante) contrôle une entrée d’une porte AND à deux
entrées qui sélectionne le signal à connecter au LAB « Logic Array Block »
Source : MAX 3000A Programmable Logic Device Family Data Sheet, ALTERA
ÉNA – Chap. 5 : FPGA
49
© A. Khouas, 2009
3.2 Architecture des CPLD
Modèle de timing pour MAX 3000A
Source : MAX 3000A Programmable Logic Device Family Data Sheet, ALTERA
ÉNA – Chap. 5 : FPGA
50
© A. Khouas, 2009
3.2 Architecture des CPLD
Caractéristiques des CPLD de la famille MAX 3000A d’Altera
Source : MAX 3000A Programmable Logic Device Family Data Sheet, ALTERA
ÉNA – Chap. 5 : FPGA
51
© A. Khouas, 2009
3.2 Architecture des CPLD
LATTICE
Š Famille ispMACH 4000
ATMEL
Š Famille ATF15xx
CYPRESS
Š Famille CY3LV
Š Famille CY39
Š Famille FLASH370i
ÉNA – Chap. 5 : FPGA
52
© A. Khouas, 2009
3.3 Architecture des FPGA
Source : Barr, Michael. "Programmable Logic: What's it to Ya?"
Embedded Systems Programming, June 1999, pp. 75-84.
ÉNA – Chap. 5 : FPGA
53
© A. Khouas, 2009
3.3 Architecture des FPGA
Définition
Š Un FPGA est une matrice de blocs élémentaires configurables organisés en
lignes et en colonnes et connectés entre avec des interconnexions
programmables
Un FPGA est composé de :
Š Bloc logique
™
™
™
Appelé CLE « Configurable Logic Element », CLB « Configurable Logic Bloc », LE et
LB
Permet de réaliser les fonctions de base
En général, un CLE est composé de :
4 à 6 entrées
Une sortie
Une bascule
Š Module de routage
™
™
Appelé SM « Switch Matrix » et RM « Routing Matrix »
Permet de connecter les blocs logiques
Š Blocs d’entrée/sortie
d entrée/sortie « IOB »
ÉNA – Chap. 5 : FPGA
54
© A. Khouas, 2009
3.3 Architecture des FPGA
Un FPGA est composé de :
Š Bloc logique
™
™
™
Appelé CLE « Configurable Logic Element », CLB « Configurable
g Bloc »,, LE et LB
Logic
Permet de réaliser les fonctions de base
En général, un CLE est composé de :
4 à 6 entrées
Une sortie
Une bascule
Š Module de routage
™
™
Appelé SM « Switch Matrix » et RM « Routing Matrix »
Permet de connecter les blocs logiques
Š Blocs d’entrée/sortie
/
((IOB ou I/O)
/ )
ÉNA – Chap. 5 : FPGA
55
© A. Khouas, 2009
3.3 Architecture des FPGA : Blocs logiques
Blocs logiques
Š Le choix de l’architecture des blocs logiques et
des modules d’interconnexion influence
di e tement :
directement
™
™
La rapidité
La surface
L’architecture la p
plus utilisé pour
p
les blocs
logiques est :
Š Table de vérité LUT « Look-up
p Table »
ÉNA – Chap. 5 : FPGA
56
© A. Khouas, 2009
3.3 Architecture des FPGA : Blocs logiques
Architecture minimum d’un bloc logique
gq p
pour FPGA
Source : Programmable Logic Devices ; F. Gail Gray
ÉNA – Chap. 5 : FPGA
57
© A. Khouas, 2009
3.3 Architecture des FPGA : Blocs logiques
Exemple d’utilisation d’un bloc logique
Š Déterminer la fonction réalisée par le bloc logique cidessous :
Source : Programmable Logic Devices ; F. Gail Gray
ÉNA – Chap. 5 : FPGA
58
© A. Khouas, 2009
3.3 Architecture des FPGA : Blocs logiques
Architecture typique d’un bloc logique pour FPGA
Source : FPGAs for Rapid Prototyping, CRC Press
ÉNA – Chap. 5 : FPGA
59
© A. Khouas, 2009
3.3 Architecture des FPGA : Blocs logiques
Architecture d
d’un
un bloc LE « Logic Element » pour APEX 20K
Source : APEX 20K Programmable Logic Device Family Data Sheet, ALTERA
ÉNA – Chap. 5 : FPGA
60
© A. Khouas, 2009
3.3 Architecture des FPGA : Blocs logiques
Architecture d’un bloc CLB « Configurable Logic Block » pour VIRTEX
Chaque CLB contient 4 LC « Logic Cell »
Source : VIRTEX Field Programmable Gate Array Data Sheet, XILINX
ÉNA – Chap. 5 : FPGA
61
© A. Khouas, 2009
3.3 Architecture des FPGA : Blocs logiques
Architecture d’un bloc logique simple
d’Actel
d
Actel avec 8 entrées et une sortie
Exemple d’utilisation : Y = A.B.C
Source :Introduction to Actel FPGA Architecture, Actel
ÉNA – Chap. 5 : FPGA
62
© A. Khouas, 2009
3.3 Architecture des FPGA : Modules de routage
Selon les architectures de routage, les FPGA peuvent
être classés en 4 groupes
g p
Š
Š
Š
Š
Island/Symmetrical array FPGA
Row based FPGA
Sea of gates FPGA
Hierarchical PLD FPGA
ÉNA – Chap. 5 : FPGA
63
© A. Khouas, 2009
3.3 Architecture des FPGA : Modules de routage
Différentes
ff
ffamille de routage
g pour
p
FPGA
Source : Programmable Logic and ASIC, D. Landis
ÉNA – Chap. 5 : FPGA
64
© A. Khouas, 2009
3.3 Architecture des FPGA : Modules de routage
Exemple
p de structure d’un module de routage
g
Source : Reconfigurable Device Interconnect Test
and Diagnosis Time Reduction
ÉNA – Chap. 5 : FPGA
65
© A. Khouas, 2009
3.3 Architecture des FPGA : Modules de routage
Switch
ouvert
N1
N2
N3
E1
W1
0
1
W2
E2
E3
W3
S1
S3
S2
Points
d’interconnexion
programmables
bl
Switch
fermé
ÉNA – Chap. 5 : FPGA
66
© A. Khouas, 2009
3.3 Architecture des FPGA : Modules de routage
Interconnexions
CLB
MUX
LUT
FF
Utilisation de cellules SRAM pour configurer les
modules
d l d
de routage
ÉNA – Chap. 5 : FPGA
67
© A. Khouas, 2009
3.3 Architecture des FPGA : Modules de routage
Bloc diagramme d’un FPGA de la famille APEX 20K d’Altera
Source : APEX 20K Programmable Logic Device Family Data Sheet, ALTERA
ÉNA – Chap. 5 : FPGA
68
© A. Khouas, 2009
3.3 Architecture des FPGA : Modules de routage
Structure d’un MegaLAB pour APEX 20K
Source : APEX 20K Programmable Logic Device Family Data Sheet, ALTERA
ÉNA – Chap. 5 : FPGA
69
© A. Khouas, 2009
3.3 Architecture des FPGA : Modules de routage
Architecture d
d’un
un LAB « Logic Array Bloc » pour APEX 20K
Source : APEX 20K Programmable Logic Device Family Data Sheet, ALTERA
ÉNA – Chap. 5 : FPGA
70
© A. Khouas, 2009
3.3 Architecture des FPGA : Modules de routage
Structure d
d’interconnexion
interconnexion pour les FPGA de la famille APEX 20K
Source : APEX 20K Programmable Logic Device Family Data Sheet, ALTERA
ÉNA – Chap. 5 : FPGA
71
© A. Khouas, 2009
3.3 Architecture des FPGA : Modules de routage
Architecture générale d
d’un
un FPGA de la famille VIRTEX de Xilinx
Source : VIRTEX Field Programmable Gate Array Data Sheet, XILINX
ÉNA – Chap. 5 : FPGA
72
© A. Khouas, 2009
3.3 Architecture des FPGA : Modules de routage
General Routing Matrix
Structure d’interconnexion VLR « Virtex Local routing »
Source : VIRTEX Field Programmable Gate Array Data Sheet, XILINX
ÉNA – Chap. 5 : FPGA
73
© A. Khouas, 2009
3.4 CPLD vs FPGA
CPLD
Š Faible consommation
Š Faible
a b e coût
Š Les délais sont précis et prévisibles
FPGA
Š Grande densité
Š Plus rapide
Š Les délais ne sont connus qu’après placement-routage
ÉNA – Chap. 5 : FPGA
74
© A. Khouas, 2009
3.5 Autres CLP
FPSC « Field Programmable System Chip » de Lattice
™
™
400 K programmable FPGA
Jusqu’à 8 canaux de transmission de 1.0 à 3.7 Gbits/s
ispPAC
p
de Lattice
™
Premier circuit programmable mixte analogique/numérique
FPSLIC « Field Prog. System Level IC » de Atmel
™
Combine FPGA,
FPGA mémoire et μ-contrôleur
contrôleur
PSoC de Cypress « Programmable System-on-Chip »
™
Combine μ-contrôleur 8 bits, mémoire, blocs analogiques et numériques
configurables
Excalibur de Altera
™
Combine APEX20KE et μ
μ-processeur
processeur 32 bits ARM922T
ÉNA – Chap. 5 : FPGA
75
© A. Khouas, 2009
3.5 Autres CLP
Paramètres à considérer dans le choix d’un CLP:
Š
Š
Š
Š
Š
Š
Nombre
N
b d
de portes
t é
équivalentes
i l t ttypiques
i
Nombre de bascules
Taille de la mémoire
Nombre de plots d’entrées/sorties
d entrées/sorties
Coût
Performances
™
™
Vitesse
Consommation
Š Type de programmation
™
™
Une ou plusieurs fois
Sur site ou non
Š Autres
™
™
ÉNA – Chap. 5 : FPGA
Autres modules intégrés (μP, DSP, blocs analogiques, …)
Outils de développement
pp
disponibles
p
76
© A. Khouas, 2009
3.5 Autres CLP
Compagnies :
Š
Š
Š
Š
Š
Š
Š
Š
ACTEL
ALTERA
ATMEL
CYPRESS
LATTICE
QUICKLOGIC
TEXAS INSTRUMENT
XILINX
Altera et Xilinx ont 80% du marché
Š A connaître pour mériter le titre de « FPGA Designer » !!!
ÉNA – Chap. 5 : FPGA
77
© A. Khouas, 2009
4. Flot de conception sur CLP
Saisie
PlacementRoutage
Synthèse
Vérification
ÉNA – Chap. 5 : FPGA
78
© A. Khouas, 2009
4. Flot de conception sur CLP
Paramètres à considérer pour la
migration
i ti de
d FPGA vers ASIC:
ASIC
ŠTTM
ŠCoût
Coût
ŠRessources
Š Risk
Outils de migration
Š Altera
HardCopy
™
Il faut suivre quelques règles
pour faciliter la migration
ÉNA – Chap. 5 : FPGA
79
© A. Khouas, 2009
Conclusion
Aujourd’hui, il y 10 fois plus de « CPLD-FPGA Based
Design » que de « ASIC Based Design » !!!
ÉNA – Chap. 5 : FPGA
80
© A. Khouas, 2009