Académique Documents
Professionnel Documents
Culture Documents
FPGA : Historique
1
Implantation logicielle et/ou matérielle
FPGA : Historique
1968 Famille MOS
Robert Noyce et Gordon Moore créer une startup : intel
1er PLA « read only associative memory ROAM » IBM
1969 Neil Amstrong marche sur la Lune
1970 Introduction du terme PAL Texas Instrument
1ère ROM, Harris Semiconductor
1971 intel, 1er UV-PROM (effaçable par UV)
1972 Intel, 1er processeur : 4004
1973 André Truong et Francis Grenelle mettent au point et commercialisent le 1er
micro-ordinateur du monde, le Micral, made in France !
1975 Un certain Bill Gates fonde une petite société d’informatique : Microsoft
1978 1ère famille PAL commerciale, MMI
1980 Premiers microprocesseurs 32 bits chez intel et Motorola
1981 IBM lance le PC
2
Implantation logicielle et/ou matérielle
FPGA : 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 marchet du 1er FPGA XILINX
1992 1er FPGA Altera : le Flex 8000 (15 000 portes max)
1993 Technologie EEPROM
2001 Lancement du Virtex II Xilinx (jusqu’à 10 millions de portes)
2005 FPGA avec des capacités supérieures à 50 millions de portes fonctionnant à des
fréquences surpassant les 500 MHz
3
Implantation logicielle et/ou matérielle
FPGA : marché
REVENUS NETS DE XILINX ET ALTERA
1200000
1000000
REVENUS NETS EN $
800000
600000
400000
200000
0
1991 1992 1993 1994 1995 1996 1997 1998 1999 2000
ANNEE
XILINX ALTERA
4
Implantation logicielle et/ou matérielle
FPGA : marché
PARTS DE MARCHE DES FABRICANTS DE FPGA
40
35
30
25
Xilinx
Altera
% 20
Lattice
Other
15 Actel
10
0
1998 1999 2000
ANNEE
5
Implantation logicielle et/ou matérielle
FPGA : marché
PARTS DE MARCHE DES FABRICANTS DE FPGA POUR 2000
Actel
Other 6%
8%
Xilinx
Lattice 38%
14%
Altera
34%
6
Implantation logicielle et/ou matérielle
7
Implantation logicielle et/ou matérielle
8
Implantation logicielle et/ou matérielle
300 mm
200 mm
Intégration de 2.3 à 2.5 fois plus => diminution des prix de reviens
9
Implantation logicielle et/ou matérielle
300 mm
200 mm
10
Implantation logicielle et/ou matérielle
0,6
0,4
0,2
0
1995 1996 1997 1998 1999 2000
11
Implantation logicielle et/ou matérielle
FPGA : Évolution
12
Implantation logicielle et/ou matérielle
FPGA : Évolution
13
Implantation logicielle et/ou matérielle
FPGA /ASIC
FPGA ? ASIC
14
Implantation logicielle et/ou matérielle
FPGA /ASIC
15
Implantation logicielle et/ou matérielle
FPGA /ASIC
TEMPS DE MISE EN OEUVRE COMPARES
FPGA
ASIC
0 1 2 3 4 5 6 7 8 9 10
16
Implantation logicielle et/ou matérielle
FPGA /ASIC : avantages et inconvénients
AVANTAGES
hautes intégrations
hautes performances (vitesse, low-power)
coûts faibles pour de gros volumes de production
personnalisation
sécurité industrielle
INCONVENIENTS
prix du 1er exemplaire
pas d’erreur possible
non-flexible
time-to-market élevé
fabrication réservée aux spécialistes (fondeur)
17
Implantation logicielle et/ou matérielle
18
Implantation logicielle et/ou matérielle
19
Implantation logicielle et/ou matérielle
20
Implantation logicielle et/ou matérielle
21
Implantation logicielle et/ou matérielle
22
Implantation logicielle et/ou matérielle
23
Implantation logicielle et/ou matérielle
Réseau de routage :
• lignes horizontales
• lignes verticales
Matrice de connexions
BC MC
Bloc de connexions
24
Implantation logicielle et/ou matérielle
BC
EC
25
Implantation logicielle et/ou matérielle
FPGA : Architecture et conception, îlots de calcul
Les matrices de connexions
MC
0 1 2 3 0 1 2 3 0 1 2 3
3 3 3 3 3 3
2 2 2 2 2 2
1 1 1 1 1 1
0 0 0 0 0 0
0 1 2 3 0 1 2 3 0 1 2 3
EC EC EC EC
27
Implantation logicielle et/ou matérielle
FPGA : Architecture et conception, îlots de calcul
Topologie du routage : 2) la population (horizontale ou verticale)
EC EC EC EC
29
Implantation logicielle et/ou matérielle
30
Implantation logicielle et/ou matérielle
FPGA : Architecture et conception, Architecture hiérarchique
Réseau de routage de
niveau 2
31
Architecture logarithmique
32
Architecture logarithmique
Ce Ce Ce Ce Cellule logique de Ce Ce Ce Ce
base
ll ll ll ll ll ll ll ll
Ce Ce Ce Ce Ce Ce Ce Ce
Matrice de 16
ll ll ll ll cellules
ll ll ll ll
Ce Ce Ce Ce Ce Ce Ce Ce
ll ll ll ll ll ll ll ll
Lignes de
Ce Ce Ce Ce longueur 4
Ce Ce Ce Ce
ll ll ll ll cellules ll ll ll ll
33
Les éléments logiques
34
Les Look Up Tables
SRAM
SRAM
In 0
SRAM
In 1
LUT 4 Out
In 2 SRAM
In 3
SRAM
SRAM
Out
35
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
36
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
37
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
38
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
39
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
40
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
41
Les Look Up Tables
42
Les Look Up Tables
ENTREES
LUT D
SORTIES
FAST CARRY
CHAIN
HORLOGE
Carry-Out
43
Les éléments logiques
X1
Cellule très simple
X2 Cas du circuit Xilinx
1 XC6000
0
C
X3
SORTIE
Q
D S
CLK Q
44
Les éléments de mémorisation
45
Les éléments de mémorisation
Taille max
2*18-Koctets
46
Les éléments de mémorisation
47
Les opérateurs câblés
Embedded Multiplieur
18*18
48
Les opérateurs câblés
S IG N E
C O N F IG U R A T IO N PO RT A PO R T B S O R T IE
N O N -S I G N E
M U L T IP L IE U R 1 7 * 1 7 17 17 34 N O N -S IG N E
M U L T IP L IE U R 8 * 8 8 8 16 N O N -S IG N E
M U L T IP L IE U R 8 * 8 8 8 16 S IG N E
M U L T IP L IE U R 4 * 4 4 4 8 N O N -S IG N E
M U L T IP L IE U R 4 * 4 4 4 8 S IG N E
M U L T IP L IE U R 6 * 6 6 6 12 S IG N E
M U L T IP L IE U R 5 * 5 5 5 10 N O N -S IG N E
M U L T IP L IE U R 5 * 5 5 5 10 N O N -S IG N E
M U L T IP L IE U R 5 * 5 5 5 10 N O N -S IG N E
M U L T IP L IE U R 4 * 4 4 4 8 S IG N E
M U L T IP L IE U R 7 * 7 7 7 14 N O N -S IG N E
M U L T IP L IE U R 4 * 4 4 4 8 S IG N E
M U L T IP L IE U R 3 * 3 3 3 6 S IG N E
COM PLEM EN T à 2 18 - 18 -
COM PLEM EN T à 2 9 - 9 -
VALEUR ABSOLUE 18 - 17 -
49
Utilisation
50
Utilisation des BlockRAMs
51
Utilisation des multiplieurs
52
Conséquence
53
Les cœurs de processeurs
54
Les cœurs de processeurs
• un cœur de processeur :
ARM9 (32 Bits) à 200MHz
8 K octets de cache
Instructions
8 K octets de cache
Données
Matrice FPGA
55
Les cœurs de processeurs
XA1
FPGA
XA4
LEs 16400
128 Kbytes SRAM
ESB Bytes 26K 64 Kbytes DPRAM
56
Les cœurs de processeurs
57
Les entrées sorties
58
Les entrées sorties
particulières AGP-2X
Advance Graphic Port
Bus standard for graphic applications
INTEL
3.3 - 1.32 - 50 - 85
60
Exemple de connexions en différentielles
61
L’adaptation d’impédance
62
L’adaptation d’impédance
63
Le contrôleur d ’impédance
64
Exemple : XCITE
65
Exemple : XCITE
66
Les réseaux d’horloges
67
Les réseaux d’horloges
68
Solutions d’asservissement des horloges
69
Caractéristiques des PLL et DLL
70
Comparaison PLL vs DLL
71
Les alimentations en énergie
72
Les alimentations en énergie
73
Répartition de la consommation de puissance
RESEAU D’HORLOGE
21%
ENTREES SORTIES
9% RESSOURCES DE ROUTAGE
65%
RESSOURCES LOGIQUES
5%
74
Modélisation de la consommation de puissance
75
Les architectures de FPGA sont donc très variées,
tant aux niveau du routage que du grain des
ressources qui les composent.
Savoir quels types d’architecture et de ressources
sont les plus en adéquation avec l’application que
l’on développe reste un challenge aujourd’hui.
76
VIII. UTILISATIONS
&
CAO
77
Diagramme en Y - Gajski
Partitions pysiques
Plan de masse
78
Flot de conception
ENTREE
(schéma et/ou fichier VHDL)
SIMULATION FONCTIONNELLE
SYNTHESE LOGIQUE
SIMULATION FONCTIONNELLE
PLACEMENT
ROUTAGE
SIMULATION TEMPORELLE
CONFIGURATION
ET TESTS OPERATIONNELS
79
80
Outils de CAO
Les outils de CAO sont les points faibles de ces circuits. Si un circuit est très
performant il ne se vendra pas si les outils qui lui sont associés ne sont pas
performants !
81
Outils de CAO
82
Autres outils de CAO
Flot FPGA
Synthèse
Simulation
83
IP : Intellectual Property
Digital Signal Processor,
Communications Bus Interface
Processing Peripheral
ADPCM (u-law, PCI Target Color Space Converter NiosTM Processor
a-law)
PCI Master-Target Correlator Tensilica X-tensa
ATM Controller Processor
PCI-X Digital Modulator
CRC PalmChip Bus
CAN Bus Discrete Cosine Transform
Ethernet MAC SDRAM Controller
(10/100/Gigabit) IIC Master & Slave Fast Fourier Transform
DDR-SDRAM
HDLC Protocol Core IEEE 1394 FIR Compiler Controller
IMA Controller PowerPC Bus IIR Filter QDR-SDRAM
Arbiter Controller
SONET/SDH Framer Image Processing Library
PowerPC Bus 8237 DMA Controller
T3/E3 Framer Master NCO
Reed Solomon 8255 Peripheral
Packet Over SONET PowerPC Bus Slave Interface
Processor Encoder/Decoder
USB Function 8259 Interrupt
Telephony Tone Generator Controller Interleaver/Deinterleaver
Controller
Utopia Master & Slave USB Host Viterbi Decoder
8254 Timer/Counter
Controller Turbo Decoder
POS-PHY Interface 8051, 6502, Z80
Et plus encore !
84
Exemple d’IP : NIOS
SRAM
NIOS : cœur de processeur RISC
PBM
CPU
IRQ
générique optimisé
FLASH
Caractéristiques :
• données sur 16 ou 32 bits Timer
• 128, 256 ou 512 registres Serial
UART
• registres à décalage rapide ( 1, 3, 7, Port
15 ou 31 bits/clock)
• possibilités de lui adjoindre des
périphériques (UART, RAM, ROM)
12% d’un Ici le reste de
EP20K200E votre système
APEX EP20K200E
85
Exemple d’IP : NIOS
IP ALTERA Other
Cores
(Future)
200
ARM
Core
100
Performance
PERFRORMANT
(MIPs)
50
Core FLEXIBLE
20
86
Conclusion
Même si l’utilisation des FPGA paraît simple (en autre grâce au langage comme
VHDL) et même si les FPGA reconfigurables donnent droit à l’erreur il faut adopter
des méthodologies de conception des systèmes numériques (en autre ; les
méthodologies synchrones).
Elles sont obligatoires pour développer un ASIC, mais restent un peu de côté pour
les petits systèmes à base de FPGA. Aujourd’hui avec des FPGA de plus en plus
complexes elles deviennent aussi indispensables que pour les ASIC.
87
IX. EVOLUTIONS
CODESIGN, SORC
88
Les nouvelles utilisations des FPGA
Longtemps réduit au prototypage, aujourd’hui les FPGA sont utilisés, pour leur
capacité de reconfiguration, dans des systèmes électroniques complexes, même
pour de la grande série.
89
Le CoDesign
Buts :
• Gérer au mieux l’hétérogénéité de la nature des fonctions qui composent le
système (du logiciel à l’architecture reconfigurable)
• Comparer les différents choix de partitionnement
• Définir les interfaces entre le SW et le HW
• Valider le système complet (co-vérification et co-simulation)
90
Flot de CoDesign
ordonnancement de l’application
proposition de candidats HW et SW
ESTIMATION SYSTEME
COSIMULATION
TESTS
91
Les SORC
Différentes notations :
L’engouement pour les SORC est certain vue le nombre de cœur de processeurs (IP
ou câblés) présents sur le marché
92
Evolution des architectures de FPGA
FPGA
93