Académique Documents
Professionnel Documents
Culture Documents
CONCEPTION
UTILISATION
DES
FPGA
1
Plan
I. Introduction, historique
II. FPGA vs ASIC
III. Architecture et conception des FPGA
IV. Les FPGA Altera
V. Les FPGA Xilinx
VI. Utilisation des FPGA, CAO
2
Historique
1970 Introduction du terme PAL Texas Instrument
1975 Un certain Bill Gates fonde une petite société d’informatique : Microsoft
3
Historique
1983 1er GAL effaçable électriquement, Lattice
1984 Apple lance le Macintosh
1984 Introduction du FPGA par XILINX : le XC2000 (de 600 à 1500 portes)
création de la société ALTERA
Technologie CMOS UV-EPROM
1985 mise sur le marché du 1er FPGA XILINX
1992 1er FPGA Altera : le Flex 8000 (15 000 portes max)
1993 Technologie EEPROM
2001 Lancement de la famille Virtex Xilinx
Lancement de la Stratix d’Altera
2005 Fabrication des FPGA avec des capacités de quelques millions de portes
et fonctionnant à des fréquences surpassant les 500 MHz
4
Historique
La technologie cuivre
(aujourd’hui maîtrisée) permet
d’augmenter la rapidité des
circuits donc d’augmenter les
fréquences de fonctionnement
7
Évolutions de la technologie
Évolution de la technologie
8
Marché des FPGA
9
( milliards de dollars )
Les ventes de FPGA et CPLD
6
5
4,78
4
3,38
3
0
2009 2010 2011 Années
10
FPGA ? ASIC
11
Comparaison: Capacités
100M
Nombre de portes (log)
10M
1M
100k
10k
80% des design fonctionnent
aujourd’hui à moins de 200 MHZ
1k
INCONVENIENTS
• prix du 1er exemplaire
• pas d’erreur possible
• non-flexible
• time-to-market élevé
• fabrication réservée aux spécialistes (fondeur)
13
Les FPGA
AVANTAGES
• possibilité de prototypage
• time-to-market faible
• adaptabilité aux futurs évolutions grâce à la reconfiguration
• flexibilité
INCONVENIENTS
• intégration limité par les ressources de routage
• performances
• prix à l’unité élevé pour de grosses productions
14
Conclusion: ASIC vs FPGA
Le choix entre les FPGA ou les ASIC se fait en fonction du cahier des
charges de l’application :
15
Les FPGA (Field Programmable Gate Arrays)
16
Les FPGA (Field Programmable Gate Arrays)
18
Principe de la reconfiguration
VGA
Flash OGG
OGG WMA
WMA
I/O
Processeur
MP3
MP3
AIFF
AIFF
Flexible: Nécessité de service
central
RAM CNA Évolutif :
CAN I/O Mise à jour
MPEG 1
MPEG 2 Ajout de service
MPEG 4
Bluetooth
Bluetooth
802.11
802.11 VGA
GPRS
GPRS
Flash
I/O
Processeur
central
RAM CNA
CAN I/O
Accélérateur Flexible
Systèmes sur puce (SoC)
19
Accélérateur reconfigurable
Le concept de base de la reconfiguration
statique
La reconfiguration statique :
Gestionnaire
Mise Application 1 Application 2 Application N
sous d’application
tension
Traitement
Gestionnaire
Résultat 1 Résultat 2 Résultat N
de résultat
Arrêt
Mémoire de 20
données
Le concept de base de la reconfiguration
dynamique totale
Sélection
Architecture
Reconfigurable
Dynamiquement
Traitement Traitement
2 3
FPGA
Application 21
Le concept de base de la reconfiguration
dynamique totale
FPGA
Traitement
4
Application 22
Le concept de base de la reconfiguration
dynamique partielle
Mémoire Gestionnaire
principale de tâches Configuration 3
1
2
Exécution
Tâche
1
Tâche
2 FPGA
Tâche Tâche
3 4
Tâche Tâche
5 6
23
Les types de Reconfiguration ________
La Reconfiguration statique
Configuration 2
1
Start
Arrêter
Virtex-II Pro
Les types de Reconfiguration ________
La Reconfiguration statique
Configuration 2
Start
Arrêter
Virtex-II Pro 2
Les types de Reconfiguration _____
La Reconfiguration dynamique
Configuration 21
Start
Arrêter
Virtex-II Pro
Les architectures
27
Les architectures îlots de calculs
28
Les architectures îlots de calculs
29
Les architectures îlots de calculs
Élément configurable :
• élément logique
• élément de mémorisation
EC • élément arithmétique
• entrée/sortie
Réseau de routage :
• lignes horizontales
• lignes verticales
Matrice de connexions
BC MC
Bloc de connexions
30
Architecture hiérarchique
31
Architecture hiérarchique
32
Architecture hiérarchique
Réseau de routage de
niveau 2
Élément Hiérarchique de
niveau 2
34
Architecture logarithmique
Cellule logique
Cell Cell Cell Cell de base Cell Cell Cell Cell
Lignes de
Cell Cell Cell Cell longueur Cell Cell Cell Cell
4 cellules
Lignes de
4*4 4*4 4*4 4*4 longueur 16*16 16*16 16*16 16*16
64 cellules
35
Les éléments logiques CLB
36
Les Look Up Tables
Ce sont de petits éléments de mémorisation, qui reflètent la
table de vérité d’une fonction logique.
LUT = Générateur de fonction In 0 In 1 In 2 In 3
SRAM
SRAM
In 0
SRAM
In 1
LUT 4 Out
In 2 SRAM
In 3
SRAM
SRAM
Out
37
Les Look Up Tables
In 0 In 1 In 2 In 3
1111 0
1110 1
1101 1
1100 0
1011 0
1010 1
Out
38
Les Look Up Tables
In 0 = 0 In 1 In 2 In 3
1111 0
1110 1
1101 1
1100 0
1011 0
1010 1
Out
39
Les Look Up Tables
In 0 =0 In 1 In 2 In 3
1111 0
1110 1
1101 1
1100 0
1011 0
1010 1
Out
40
Les Look Up Tables
In 0 =0 In 1 = 1 In 2 In 3
1111 0
1110 1
1101 1
1100 0
1011 0
1010 1
Out
41
Les Look Up Tables
In 0 =0 In 1 = 1 In 2 In 3
1111 0
1110 1
1101 1
1100 0
1011 0
1010 1
Out
42
Les Look Up Tables
In 0 =0 In 1 = 1 In 2 =1 In 3 = 1
1111 0
1110 1
1101 1
1100 0
1011 0
43
Les Look Up Tables
44
Les Look Up Tables
Élément logique de base avec une LUT
Carry-In
ENTREES
SORTIES
LUT D
Portes
logiques
HORLOGE
Carry-Out
45
Les réseaux d’horloges
Les circuits sont de
plus en plus grands =>
augmentation de la
longueur des
connexions =>
les chemins d’horloges
sont plus longs =>
plus de retard =>
ASYNCHRONISME
MALSAINT !!!
46
Les réseaux d’horloges
Le problème 1 : JITTER : bruit de phase
Les DLL
Delay-Locked Loop
( XILINX )
48
Les cœurs de processeurs
Aujourd’hui les systèmes numériques font de plus en plus
appel conjointement à des ressources logicielles micro-
programmées (µP, µC, DSP) et des ressources matérielles
re-configurables (FPGA)
D’où l’idée de mettre sur une même puce un cœur de
microprocesseur et un cœur de logique configurable, les
deux étant optimisés technologiquement
50
Les alimentations en énergie
51
IV- Les FPGA
Altera
52
La Famille Altera
1984 Débuts d’Altera qui vend des EPLD
1988 Lancement des CPLD MAX (Multiple Array matriX) qui sont des fétus de FPGA
1992 1er FPGA Altera : le FLEX 8000 (15 000 portes) (Flexible Logic Element matriX)
technologie 0.5 µm
1995 Lancement de la famille FLEX 10K (250 000 portes)
1997 Famille FLEX 6K bas coûts (24 000 portes)
1999 Famille APEX 20K (1 500 000 portes)
2000 Famille APEX 20K C utilisant la technologie cuivre
2000 Famille APEX 20K E avec plus de ressources mémoires technologie 0.18 µm
2001 Circuit Excalibur couplant une matrice FPGA APEX 20K 1000 et un cœur de
processeur ARM 9
2001 Famille APEX II (dont le but est de concurrencer le Virtex de Xilinx) (3 000 000 de
portes) technologie 0.15 µm
2002 Lancement du STRATIX concurrent direct du Virtex II Xilinx, technologie
cuivre 0.13 µm
2002 Lancement du Cyclone un petit FPGA (architecture STRATIX) pour
application grand public bas-coûts
53
La Famille Altera
Faible Milieux de Haute
Technologies performance
coût gamme
130 nm Cyclone Stratix
90 nm Cyclone II Stratix II
55
La Famille Altera
57
La Famille Altera
58
La Famille Altera
59
V- Les FPGA Xilinx
60
La Famille Xilinx
1985 Lancement de la 1er famille de FPGA Xilinx le XC2000 (1500 portes - obsolète)
1987 Famille XC3000 (6000 portes - obsolète)
1991 Famille XC 4000 (500 000 portes)
1995 Famille XC 5200 spéciale petit design (18 000 portes) 0.6 µm 6 couches
1996 Innovations avec la famille XC 6200 (100 000) visant le coprocessing et le
reconfigurable dynamiquement, echec commercial
1998 Famille SPARTRAN vise la souplesse d’utilisation et les petits design
1999 Famille VIRTEX vise les fortes capacités ( 4 millions de portes)
techno 0,22 µm 5 niveaux de métallisation
1999 VIRTEX-E amélioration du VIRTEX avec plus de mémoires,
techno 0.18 µm 6 niveaux de métallisation
2000 Famille SPARTRAN II, FPGA moyennes capacités (100 000 portes) bas coûts,
ce sont de petits VIRTEX, techno 0.18 µm 6 niveaux de métallisation
2001 Famille VIRTEX II, toujours plus fort (10 millions de portes)
techno 0.15 µm 8 niveaux de métallisation, avec des transistors rapide 0.12 µm
2002 Famille VIRTEX II-Pro qui contient 4 cœurs de µP RISC Power-PC
2012 Famille VIRTEX 7
Xilinx propose aussi une gamme complète de CPLD 61
La Famille Xilinx
62
La Famille Xilinx
64
La Famille Xilinx
Spartan 3 : Architecture
Configurable logic block (CLB)
Slice Slice
Slice Slice
CLB CLB Logic cell Logic cell
65
La Famille Xilinx
Spartan 3 : Architecture
66
La Famille Xilinx
Nombre de slices 4 2
par CLB
Nombre de LUTs 2 4
par CLB slice
67
La Famille Xilinx
68
La Famille Xilinx
69
VI- Autres Familles de FPGA
70
Autres exemples de FPGA
71
Marché des FPGA
72
Autres exemples de FPGA
ACTEL ProASIC technologie flash, ASIC
reprogrammable, non volatile et à
granularité fine.
73
Autres exemples de FPGA
ATMEL AT40K, technologie SRAM, architecture
îlots de calcul, faible densité (5K à 50K
portes), reconfigurable dynamiquement,
des cœurs FPGA dérivés de cette
famille peuvent s’intégrer dans les
circuits prédiffusés ATMEL.
75
VII- Utilisation des FPGA, CAO
76
Programmation des FPGA
77
Outils de CAO
Tous les fabricants de FPGA proposent des
outils de CAO, passage obligé pour
configurer leurs circuits
78
Outils de CAO
Flot FPGA
Synthèse
Simulation
79