cours_Xilinx_2006
-
Upload
beau-algerie -
Category
Documents
-
view
220 -
download
0
Transcript of cours_Xilinx_2006
-
8/7/2019 cours_Xilinx_2006
1/113
Les circuits FPGA
Concepts de base, architecture et applications
Cours Master Recherche
S ystmes Intelligents et Communicants
Franois Verdier
www-etis.ensea.fr/~verdier/
Universit de Cergy-Pontoise Laboratoire ETIS - UMR CNRS 8051
-
8/7/2019 cours_Xilinx_2006
2/113
Plan du coursPlan du cours
1 - Technologie et densit
2 - La famille des circuits logiques
2.1 - Les fonctions logiques
2.2 - Les technologies
3 - Architecture des FPGA XILINX3.1 - Architecture gnrale
3.2 - Les interconnexions
3.3 - Les CLB
3.4 - Les IOB
3.6 - La configuration des
circuits3.5 - Les canaux de routage
3.6 - La mmoire interne
3.7 - Configuration des FPGA
3.8 - Evolution des produits
4 - Mthodologie de conception
4.1 - Le flot de conception
4.2 - LesIntelectual Properties
4.3 - La production en volume
5 - Applications : Les FCCM5.1 - Exemples de machines5.2 - Le CoDesign
6 - La reconfiguration dynamique
7 - Des FPGA aux SOPC7.1 - Architecture Virtex2-Pro
7.2 - Architecture Virtex47.3 - ALTERA Excalibur-ARM
7.4 - XPP de PACT
8 - Conclusion
9 - Pistes
-
8/7/2019 cours_Xilinx_2006
3/113
1 - Technologie et densit
Les systmes lectroniques modernes sont de plus en
plus complexes,
Les contraintes de taille, de puissance dissipe et de
performances sont de plus en plus svres (tlphoniemobile, ordinateurs, traitement du signal, de l'image,
etc...).
Accroissement spectaculaire des densits.
-
8/7/2019 cours_Xilinx_2006
4/113
Les techniques de circuit imprims trousLes techniques de circuit imprims trous
traversantstraversants
Carte en fibre epoxy
Pistes de cuivre
Trous mtalliss
Insertion des
composants
Soudure
Densit limite par la surface !
-
8/7/2019 cours_Xilinx_2006
5/113
Les techniques de circuit imprims Les techniques de circuit imprims
montage en surfacemontage en surface
Carte en fibre epoxy
Pistes en cuivre
multicouches
Dpt et collage
des CMS
Composants sur les deux faces !
Densit multiplie par 10
-
8/7/2019 cours_Xilinx_2006
6/113
Les contraintes physiques, technologiques et commerciales
imposent aujourd'hui la conception de systmes de plus en
plus :
- compacts,
- conomes en nergie,
- rapides concevoir,
- fiables et peu coteux.
La contrainte de time to market devient la plus
importante et rend inefficace dsormais les cycles classiques
de dveloppement / vrification / ralisation physique.
=> besoin d'une technologie fiable, abordable et souple...
-
8/7/2019 cours_Xilinx_2006
7/113
2 - La grande famille des circuits2 - La grande famille des circuits
logiqueslogiques La logique standardLa logique standard
Les mmoires (RAM, PROM, EPROM...)Les mmoires (RAM, PROM, EPROM...)
Les rseaux logiques programmables (PLA, PLD,Les rseaux logiques programmables (PLA, PLD,
EPLD, CPLD...)EPLD, CPLD...)
rseaux ET/OUrseaux ET/OU
technologie fusibles/anti-fusiblestechnologie fusibles/anti-fusibles
rseaux logiques programmables sur site (FPGA)rseaux logiques programmables sur site (FPGA)
technologie RAM/SRAMtechnologie RAM/SRAM
logique LUTlogique LUT
-
8/7/2019 cours_Xilinx_2006
8/113
2.1 - Les diffrentes techniques de2.1 - Les diffrentes techniques de
ralisation dralisation dune fonction logiqueune fonction logique
S = (A . B) +S = (A . B) +
CC
BB
CSS
-
8/7/2019 cours_Xilinx_2006
9/113
2.1.1 - La logique standard2.1.1 - La logique standard
Utilisation de circuits TTL / CMOS ...Utilisation de circuits TTL / CMOS ...
SS
74087408 74327432
densit :
-
8/7/2019 cours_Xilinx_2006
10/113
2.1.2 - La logique mmoire : LUT2.1.2 - La logique mmoire : LUT
partir d partir dune table de vritune table de vrit
S = (A . B) + CS = (A . B) + C
C B A S0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 11 0 1 1
1 1 0 1
1 1 1 1
et det dune mmoire (8x1bit)une mmoire (8x1bit)
0
0
0
1
11
1
1
A
B
C
S
-
8/7/2019 cours_Xilinx_2006
11/113
2.1.3 - Les connexions2.1.3 - Les connexions
programmables : Les circuits PALprogrammables : Les circuits PAL
rseau de portes ET
rseau de portes OU
A
B
C
S = A.B + C
LLquation se programme sous sa premire formequation se programme sous sa premire forme
canonique (somme de produits)canonique (somme de produits)
A.B CConnexions base
de fusibles
-
8/7/2019 cours_Xilinx_2006
12/113
2.1.4 - Les FPGA2.1.4 - Les FPGA
(Field Programmable Gate Array)(Field Programmable Gate Array)
LUT
LUT
LUT
LUT
Un ensemble de mmoires LUTUn ensemble de mmoires LUT
Un ensemble deUn ensemble de
chemins dechemins deroutageroutage
A
B
C
ET
OU S = A.B + C
Programmation des mmoiresProgrammation des mmoires
et tablissement des connexionset tablissement des connexions
-
8/7/2019 cours_Xilinx_2006
13/113
2.1.4 - Les FPGA2.1.4 - Les FPGA
A
B
C
ET
OU S = A.B + C
Cellule mmoire
Connexions par transistors MOSConnexions par transistors MOS
-
8/7/2019 cours_Xilinx_2006
14/113
2.2 - Classification des technologies2.2 - Classification des technologies
Logique standardLogique standard
LogiqueLogique
ASICASIC
PLDPLD
PALPAL CPLDCPLD
EPROMEPROM
EEPROM/FLASHEEPROM/FLASH
FPGAFPGA
anti-fusiblesanti-fusibles
SRAMSRAM
-
8/7/2019 cours_Xilinx_2006
15/113
Les circuits FPGA SRAM deviennent des solutions de
remplacement avantageuses pour les systmes numriques
haute intgration.
Les cycles de dveloppement et de prototypage (test et
vrification en conditions relles) sont acclrs et mme
confondus. Spcification
Conception
Vrification
Ralisation
-
8/7/2019 cours_Xilinx_2006
16/113
3 - Architecture des circuits FPGA3 - Architecture des circuits FPGA
(XILINX)(XILINX) Un FPGA ralise une fonction logique complexe. Il estUn FPGA ralise une fonction logique complexe. Il est
programmableprogrammable, et, et re-programmablere-programmable dans sondans son
environnementenvironnement Les circuits FPGA XILINX sont disponibles en deLes circuits FPGA XILINX sont disponibles en de
nombreuses configurations de taille, de vitesse et denombreuses configurations de taille, de vitesse et de
prixprix
Des outils logiciels puissants et automatiquesDes outils logiciels puissants et automatiques
permettent de raliser facilement un systme surpermettent de raliser facilement un systme sur
FPGA.FPGA.
-
8/7/2019 cours_Xilinx_2006
17/113
Evolution de la technologie des circuitsEvolution de la technologie des circuits
FPGA XILINXFPGA XILINX
198 5 /8 6 19 94 1995 19 96/9 7 2000 2 001Nombre de
Tra nsist ors 8 5 K 3 ,5 M 6 M 1 2 M 7 5 M > 1 0 0 MNombre de
Port es 8 0 0 2 5 K 5 0 K 1 0 0 K 5 0 0 K 1 0 M
Couches de
Mt a l 2 3 3 3 - 4 4 - 5 8
-
8/7/2019 cours_Xilinx_2006
18/113
Famille # portes # E/S # bascules # RAM bits # CLB
XC2000* 0.6 - 1.5K 58 - 74 122 - 174 0 64-100
XC3000* 1.3 - 9K 64 - 176 256 - 1320 0 64-484
XC4000 2 - 180K 80 - 448 360 - 7168 3K - 100K 100-3136XC6200* 9K - 100K 192 - 512 2K - 16K 0 2K - 16K
XC4000XV 75K - 500K 448 10K - 20K 131K - 270K 2.5K-5K
SPARTAN 2K - 200K 77 - 284 360 - 2016 16K - 57K 238 - 5292
VIRTEX 58K - 1M 180 - 512 1728 - 27K 32K - 131K 384-6144
VIRTEX2 40K - 10M 88 - 1108 256 - 61K 72K - 3.4M 64-15360*
Les diffrentes familles FPGA XILINXLes diffrentes familles FPGA XILINX
* produits obsoltes
-
8/7/2019 cours_Xilinx_2006
19/113
3.1 - Architecture gnrale3.1 - Architecture gnrale
Un FPGA est un rseau (matrice) deUn FPGA est un rseau (matrice) de
blocs combinatoires et squentiels (CLB)blocs combinatoires et squentiels (CLB)
Des blocs dDes blocs dentre/sortie (IOB) sontentre/sortie (IOB) sont
associs aux broches du circuitassocis aux broches du circuit
Les CLB et IOB sont interconnects entreLes CLB et IOB sont interconnects entre
eux par des dispositifs variseux par des dispositifs varis Les matrices sLes matrices sorganisent de 8x8 organisent de 8x8
128x120128x120
-
8/7/2019 cours_Xilinx_2006
20/113
3.1 - Architecture gnrale3.1 - Architecture gnrale
CLBCLB
IOBIOB
matrices dematrices de
connexionconnexion
lignes delignes de
connectionsconnections
-
8/7/2019 cours_Xilinx_2006
21/113
-
8/7/2019 cours_Xilinx_2006
22/113
3.2 - Les interconnexions3.2 - Les interconnexions
(directes)(directes)
CLB CLB
CLB CLB
2 ns
5 nsDELAIS DEPENDANTDELAIS DEPENDANT
DU ROUTAGE !!!DU ROUTAGE !!!
-
8/7/2019 cours_Xilinx_2006
23/113
3.2 - Les interconnexions3.2 - Les interconnexions
(matrices)(matrices)
CLB CLB
CLB CLB
-
8/7/2019 cours_Xilinx_2006
24/113
3.2 - Les interconnexions (lignes)3.2 - Les interconnexions (lignes)
CLB CLB
CLB CLB
-
8/7/2019 cours_Xilinx_2006
25/113
3.3 - Structure des CLB3.3 - Structure des CLB
Une table de transcodage combinatoire (LUT)Une table de transcodage combinatoire (LUT)
pouvant implanter :pouvant implanter :
deux fonctions indpendantes 4 variablesdeux fonctions indpendantes 4 variables
une fonction complte 5 variablesune fonction complte 5 variables
une fonction incomplte 6 variablesune fonction incomplte 6 variables
Deux cellules squentielles (bascules D)Deux cellules squentielles (bascules D)
Des multiplexeurs de configurationDes multiplexeurs de configuration
-
8/7/2019 cours_Xilinx_2006
26/113
3.3.1 - Structure d3.3.1 - Structure dun CLB 3000un CLB 3000
-
8/7/2019 cours_Xilinx_2006
27/113
3.3.2 - Structure d3.3.2 - Structure dun CLB 4000un CLB 4000
-
8/7/2019 cours_Xilinx_2006
28/113
3.3.3 - Structure d3.3.3 - Structure dun CLBun CLB
SPARTANSPARTAN
-
8/7/2019 cours_Xilinx_2006
29/113
3.4 - Structure des IOB3.4 - Structure des IOB
Ports dentre/sortie totalement programmables :
Seuil dentre TTL ou CMOS
Slew-rate programmable
Buffer de sortie programmable en haute
impdance
Entres et sorties directes ou mmorises
Inverseur programmable
-
8/7/2019 cours_Xilinx_2006
30/113
3.4.1 - Structure des IOB (XC3000)3.4.1 - Structure des IOB (XC3000)
-
8/7/2019 cours_Xilinx_2006
31/113
3.4.2 - Structure des IOB (XC4000)3.4.2 - Structure des IOB (XC4000)
-
8/7/2019 cours_Xilinx_2006
32/113
3.4.3 - Structure des IOB3.4.3 - Structure des IOB
(SPARTAN)(SPARTAN)
-
8/7/2019 cours_Xilinx_2006
33/113
3.5 - Canaux de routage3.5 - Canaux de routage
-
8/7/2019 cours_Xilinx_2006
34/113
Routage inter-CLB
Matrices d'interconnexions
(Programmable Switch Matrix)
3 6 U ili i d CLB3 6 Utili ti d CLB
-
8/7/2019 cours_Xilinx_2006
35/113
3.6 - Utilisation des CLB en3.6 - Utilisation des CLB en
mmoiresmmoires
-
8/7/2019 cours_Xilinx_2006
36/113
-
8/7/2019 cours_Xilinx_2006
37/113
-
8/7/2019 cours_Xilinx_2006
38/113
Mode de configuration srie (EEPROM srie)Mode de configuration srie (EEPROM srie)
Circuit principal Circuits en daisy chain
-
8/7/2019 cours_Xilinx_2006
39/113
Mode de configuration parallleMode de configuration parallle
(EPROM parallle)(EPROM parallle)
-
8/7/2019 cours_Xilinx_2006
40/113
Mode de configuration parallle asynchroneMode de configuration parallle asynchrone
(mode priphrique de processeur)(mode priphrique de processeur)
-
8/7/2019 cours_Xilinx_2006
41/113
3.8 - Evolution des produits3.8 - Evolution des produits
La technologie micro-lectronique continue d'voluer de manire
exponentielle (en densit, en vitesse, en taille et en consommation) :
La taille des puces augmente : les entres/sorties sont plus
nombreuses
La densit augmente : le grain des FPGA augmente
La technologie SRAM se fiabilise : la quantit de mmoire augmente
Les nouvelles familles apparaissent :
- XC4000(X)
- VIRTEX
- VIRTEX-II
- VIRTEX-II PRO
- VIRTEX-4
-
8/7/2019 cours_Xilinx_2006
42/113
La technologie volue (premier FPGA
avec une technologie 0.25 microns)
et la densit des circuits augmente...
...tandis que la consommation
diminue
3.8.1 - XC4000X3.8.1 - XC4000X
-
8/7/2019 cours_Xilinx_2006
43/113
Frquences inter-circuits Frquences intra-ciruits
Les performances augmentent avec
la finesse de la technologie
3.8.1 - XC4000X3.8.1 - XC4000X
-
8/7/2019 cours_Xilinx_2006
44/113
Les produits XC4000(X)
-
8/7/2019 cours_Xilinx_2006
45/113
CLB Logic Block SelectRAM
Device # gate Array Cells RAM bit bits Max I/
XCV50 58K 16 x 24 1728 32768 24576 180
XCV100 109K 20 x 30 2700 40960 38400 180XCV150 164K 24 x 36 3888 49152 55296 260XCV200 236K 28 x 42 5292 57344 75264 284XCV300 323K 32 x 48 6912 65536 98304 316
XCV400 468K 40 x 60 10800 81920 153600 404XCV600 661K 48 x 72 15552 98304 221184 512XCV800 888K 56 x 84 21168 114688 301056 512
XCV1000 1.1M 64 x 96 27648 131072 393216 512
3.8.2 - La famille VIRTEX3.8.2 - La famille VIRTEX
-
8/7/2019 cours_Xilinx_2006
46/113
Acclration
des dlais
de routage
Avec la densit qui augmente,
intgration de la notion
d' Intelectual Properties
(IP = Macro-Cellules tierces)
3.8.3 - La famille VIRTEX-II3.8.3 - La famille VIRTEX-II
-
8/7/2019 cours_Xilinx_2006
47/113
-
8/7/2019 cours_Xilinx_2006
48/113
Protection de la proprit industrielle :
leReverse Engineering est impossible
3.8.3 - La famille VIRTEX-II3.8.3 - La famille VIRTEX-II
-
8/7/2019 cours_Xilinx_2006
49/113
3.8.3 - La famille VIRTEX-II3.8.3 - La famille VIRTEX-II
CLB SelectRAMDevice # gate Array SlicesMax RAM Kbit Multiplier Kbits Max I/
XC2V40 40K 8 x 8 256 8 4 72 88
XC2V80 80K 16 x 8 512 16 8 144 120XC2V250 250K 24 x 16 1536 48 24 432 200
XC2V500500K 32 x 24 3072 96 32 576 264
XC2V1000 1M 40 x 32 5120 160 40 720 432XC2V1500 1.5M 48 x 40 7680 240 48 864 528XC2V2000 2M 56 x 48 10752 336 56 1008 624XC2V3000 3M 64 x 56 14336 448 96 1728 720XC2V4000 4M 80 x 72 23040 720 120 2160 912XC2V6000 6M 96 x 88 33792 1056 144 2592 1104XC2V8000 8M 112 x 10446592 1456 168 3024 1108XC2V1000 10M 128 x 12061440 1920 192 3456 1108
-
8/7/2019 cours_Xilinx_2006
50/113
3.8.3 - Architecture VIRTEX-II3.8.3 - Architecture VIRTEX-II
Matrice de Slices
Blocs d'E/SBlocs de mmoire Multiplieurs 18x18
Gnrateurs d'horloge
-
8/7/2019 cours_Xilinx_2006
51/113
4 - Mthodologie de conception4 - Mthodologie de conception
Les systmes concevoir devenant de plus en plus complexes, les
types de descriptions deviennent de plus en plus varis :- schmas,
- VHDL structurel, fonctionnel,
- ABEL (machines tats), Verilog,
- code C / C++ ?
Plus les systmes deviennent complexes concevoir, plus les
tapes de vrification sont ncessaires :
- simulation fonctionnelle,
- analyse des timings (chemins critiques),
- simulation post-routage (temporelle),...
Avec l'augmentation de la densit des circuits, les notions de
placement gomtrique deviennent indispensables :
- floorplanning
4 1 L fl t d ti4 1 L fl t d ti
-
8/7/2019 cours_Xilinx_2006
52/113
4.1 - Le flot de conception4.1 - Le flot de conception1- Description du systme :
- Schmas (hirarchie),
- code VHDL (Verilog, ABEL)2- Compilation du code VHDL :
- synthse si code fonctionnel
3- Simulation fonctionnelle :
- vrification de la description
4- Placement relatif et estimation du routage :- floorplanning et gestion des contraintes d'E/S
5- Compilation du circuit :
- conversion du Netlist,
- optimisation combinatoire,
- placement / routage des cellules
- retro-annotation temporelle
6- Vrification finale :
- simulation temporelle,
- configuration / validation
-
8/7/2019 cours_Xilinx_2006
53/113
-
8/7/2019 cours_Xilinx_2006
54/113
-
8/7/2019 cours_Xilinx_2006
55/113
-
8/7/2019 cours_Xilinx_2006
56/113
-
8/7/2019 cours_Xilinx_2006
57/113
-
8/7/2019 cours_Xilinx_2006
58/113
LesIP sont des macro-celulles (pr-places et/ou pr-routes)disponibles comme des cellules de bibliothque proposant sous
forme de boites noires des fonctions complexes entirement
simulables et respectant la proprit industrielle.
On transpose directement la mthodologie de conception d'unsystme complexe (associant logique discrte, composants
standards, circuits spcifiques) dans un seul circuit FPGA...
La description complte du systme associe saisie de schmas,
spcifications de haut niveau (structurelle et/ou fonctionnelle)
en langage VHDL ou Verilog et langage C.
4.2 - Les4.2 - LesIntelectual Properties (IP)Intelectual Properties (IP)
-
8/7/2019 cours_Xilinx_2006
59/113
Spcification
C
Spcification
VHDL
Bibliothque
standard
Bibliothque
IPCOMPILATEUR
PLACE & ROUTE
Rtro-
annotation
temporelle
Simulation
Modle de
composant
Programmation
du composant
Validation
-
8/7/2019 cours_Xilinx_2006
60/113
Les bibliothques dLes bibliothques d'Intelectual Properties'Intelectual Properties
IP Type Provider
C2910a Microprogram contr oller CAST Inc.
C8051 Micro Cont roller CAST Inc.
ARC32 32 -bit Conf igurable ARC Cores
RISC Processor
D80530 8-bit Micro Cont ro lle r CAST Inc.
C2901 Microprocessor Slice CAST Inc.W65C02S Micro Processor West ern Design Cent er
Mini-RISC Micro Processor OpenCores.orgOpenRISC-1000 RISC Processor OpenCores.org
LavaCORE Java Microprocessor Der iva t ion System Inc.
Free-RISC8 Microprocessor The Free IP Project
LEON-1 SPARC-com pat ible Eu ropean Space Agen cy
Micro Processor (ESA)
-
8/7/2019 cours_Xilinx_2006
61/113
Les bibliothques dLes bibliothques d'Intelectual Properties'Intelectual Properties
IP Applica t ion
Encodeu r Reed -Solomon Transmission de donn es
Dcodeur Reed-Solomon Transmission de donn esInte rface PCI-X Bus de comm unicat ion
Contrleur HDLC Connect ion couche physique
Codeur/dcodeur ADPCMTransmission, compr ession
4 3 L d i l H dWi4 3 L d i l H dWi
-
8/7/2019 cours_Xilinx_2006
62/113
4.3 - La production en volume : HardWire4.3 - La production en volume : HardWireTMTM
Le cot de production d'une solution sur FPGA devient
considrable sur de grands volumes. Le surcot introduit
par les capacits de re-programmabilit devient prohibitif.
=> Transformation FPGA -> ASIC (Gate Array)
La technologie HardWireTM permet le passage d'une version
prototype (reprogrammable) valide une version de
production en grande srie.
Les cibles FpgASIC sont totalement compatibles et vrifies.
Volume
Dure de vie du produit
Fin de vie
Dbut de production
FPGA FPGA
Circuits FpgASIC
HardWire
5 A li i d FPGA5 A li i d FPGA
-
8/7/2019 cours_Xilinx_2006
63/113
5 - Application des FPGAs :5 - Application des FPGAs :
Les machines (re)configurablesLes machines (re)configurables
L'existence de composants logiques (re)programmables in-situ etperformants conduit un nouveau paradigme de programmation :
la fonction cable reconfigurable
Un traitement complexe se pense dsormais en termes d'oprateursmatriels optimiss configurables et programmables l'infini.
Les FCCM (FPGA-based Custom Computing Machines) deviennent
de rels (co)processeurs de calcul optimiss.
Des traitements coteux deviennent possibles : le temps-rel
embarqu devient possible (codage/dcodage, TI, TS, etc..).
-
8/7/2019 cours_Xilinx_2006
64/113
FPGA
FPGA
FPGA
FPGA
Mem. Mem.
Mem.
Processeur
hte
Le concept de FCCMLe concept de FCCM
Plusieurs circuits FPGARseau d'interconnexion
Mmoiresde travail
5 1 Q l l d5 1 Q l l d
-
8/7/2019 cours_Xilinx_2006
65/113
Machine FPGA Processeur Mmoire Bus
9204/FPGA 2 x XC4025 T9000 64Ko + 8Mo Transputer DS-Lin
DVC1 2 x XC4013 1Mo + FIFOs Sbus
EDgAR-2 4 x XC4013 PCI
Functional M emory Compu8 x XC4010 + 3 x XC4013 1Mo PCI
LIRMM 2 x XC4013 TMS 320C40 2 x 1Mo ISA ou SbusMARC-1 25 x XC4005 6 Mo SbusMORRPH-ISA 6 x XC4025 DdiCARMeN VIRTEX XCV1000 ARM 8Mo + 2Mo PCI, CAN, et c...
OPART 2 x XC4028EX Pent ium + PP 2Mo + FIFO Compact PCI
ARDOISE ATMEL At40K DSP 2Mo / modul Ddi
5.1 - Quelques exemples de5.1 - Quelques exemples de
FCCMFCCM
5 1 1 L hi ARMEN5 1 1 La machine ARMEN
-
8/7/2019 cours_Xilinx_2006
66/113
5.1.1 - La machine ARMEN5.1.1 - La machine ARMENLaboratoire d'Informatique de BrestLaboratoire d'Informatique de Brest
Universit de Bretagne OccidentaleUniversit de Bretagne Occidentale
Processeurs Transputer T805
FPGA XC3090
-
8/7/2019 cours_Xilinx_2006
67/113
-
8/7/2019 cours_Xilinx_2006
68/113
5 2 P ti d FCCM5 2 Programmation des FCCM :
-
8/7/2019 cours_Xilinx_2006
69/113
5.2 - Programmation des FCCM :5.2 - Programmation des FCCM :
LeLe CODESIGNCODESIGN
Application
?
DSP Rseau FPGA
-
8/7/2019 cours_Xilinx_2006
70/113
Les projets d'outils de CODESIGNLes projets d'outils de CODESIGN
COSI IRISA (Rennes) ASIC : Syst em On Ch ip
SYNDEX INRIA Trait em ent du signal
MCSE IRESTE (Nant es) Spcif icat ion pour le Codesign
MOSARTS Univers it de Nice-Ant ipo lis T lcom. : par t i t ionnem ent
LIRMM Un iv e r sit d e M on tp ellie r T lco m . Sy n th se et v rif ica t io n
SKIPPER Univ . de Clerm ont-Ferrand Paral l lisa t ion de code en TICOSMOS TIMA (Grenoble) IP + p rocesseurs classiques
POLIS Univ . de Berkeley Concept ion m ix t e / FSMCOWARE Belgique IP et st andardisat ion
CodeX Un iv . de Kaiser Slau t er n Rseau x m i xt e s sy st o liqu es
CHINOOK Univ . de Wash ingt on Syst m es m ix t es indust riels
Form alisation des langages de descript ion :
Hande lC Anglet er re Langage de descr ipt ion m ix t e (OCCAM)LCC Univ . de Virgin ie Langage m ix t e DSP + FPGA
Sys t emC COWARE / Front ier / SynopsysLangage et com pilat eur C+ + m ixt e
5 2 1 L bl d5 2 1 L bl t d C D iC D i
-
8/7/2019 cours_Xilinx_2006
71/113
5.2.1 - Les problmes ouverts du5.2.1 - Les problmes ouverts du CoDesignCoDesign
Spcification de haut niveau
(C, C++)
Analyse
du code
Bibliothque
standard et IP
Extraction
du paralllisme
Analyse des dpendances
de donnes
Analyse des ressoucesmmoire
Compilateur
squentielDSP
Place / RouteFPGA
Gestion des
communication
s
Modle
d'architecture
-
8/7/2019 cours_Xilinx_2006
72/113
5.2.2 - Le flot classique de conception5.2.2 - Le flot classique de conception
Modle niveau systme
C / C++
ANALYSE
Rsultats de test
Dveloppe
ment
Description
VHDL / Verilog
SIMULATION
SYNTHESE
Traduction
5 2 2 - Un nouveau standard : SystemC5 2 2 - Un nouveau standard : SystemCTMTM
-
8/7/2019 cours_Xilinx_2006
73/113
5.2.2 Un nouveau standard : SystemC5.2.2 Un nouveau standard : SystemC(Synopsys + CoWare + Frontier Design :(Synopsys + CoWare + Frontier Design : www.systemc.orgwww.systemc.org))
Modle SystemC
Amlioration
Modle temporel
Partitionnemen
t
Modle Bus
Amlioration
Modle cycle
synthtisable
Modle abstrait
RTOS
Amlioration
Cible RTOS
Essais d'architectures
Analyse de
performances
Harware / Software
http://www.systemc.org/http://www.systemc.org/http://www.systemc.org/http://www.systemc.org/ -
8/7/2019 cours_Xilinx_2006
74/113
6 La Reconfiguration Dynamique des FPGA6 La Reconfiguration Dynamique des FPGA
Les architectures de type FPGA offrent la possibilit de modifier
la demande lagencement structurel ainsi que la fonctionalit des
ressources internes de la puce.
Lexploitation de ce concept introduit la notion de fonction
cble programmable :
Paralllisme spatial (de donnes)
Paralllisme temporel (pipeline)Flexibilit
La machine ARDOISE (Atmel)La machine ARDOISE (Atmel)
-
8/7/2019 cours_Xilinx_2006
75/113
ARDOISE :
Architecture Reconfigurable Dynamiquement Oriente Image et Signal Embarqu
( )
Action incitative inter-GDR (ETIS)Action incitative inter-GDR (ETIS)
Prototype dun module
Carte mre + 3 modules
Objectifs du projet ARDOISEObjectifs du projet ARDOISE
-
8/7/2019 cours_Xilinx_2006
76/113
Objectifs du projet ARDOISEObjectifs du projet ARDOISE
1. Utiliser la reconfiguration dynamique des FPGA
Reconfiguration totale = 0,8 ms
Reconfiguration partielle possible
Changement dalgorithmes en temps rel sur le mme
circuit
Vitesse des architectures cbles, flexibilit desarchitectures programmables
2. Dvelopper larchitecture, les mthodes et les outils
ARDOISE = prototype exprimental (acadmique)
Applications en segmentation dimages
Applications en camras intelligentes
Application en compression / dcompression dimages
(MPEG)
-
8/7/2019 cours_Xilinx_2006
77/113
Ac quisition, traitem entet visualisation en temps rel
Proc esseur front-end de c ontrle des
c onfigurations ADSP SHARC 21161 Reconfiguration partielle et dynamiquedes c irc uits FPGA ATMEL AT40K40
A hi dARDOISE
-
8/7/2019 cours_Xilinx_2006
78/113
Architecture dARDOISE :Architecture dARDOISE :
ARDOISE = application du principe deARDOISE = application du principe de
-
8/7/2019 cours_Xilinx_2006
79/113
reconfiguration dynamique en traitementreconfiguration dynamique en traitement
d'images :d'images :
Image i
Image i-1
Image i-2
Image i+1
op1 op2
op1
C f i h 1
-
8/7/2019 cours_Xilinx_2006
80/113
Conf. Deriche1
FPGA
GTI1
FPGA
GTI2
GTI1 GTI2
Deriche 1
Mmoire
256kx32
Mmoire256kx32
BC
IN OUT
E D i h 1 / C f D i h 2
-
8/7/2019 cours_Xilinx_2006
81/113
Exec. Deriche1 / Conf. Deriche 2
FPGA
GTI1
FPGA
GTI2
GTI1 GTI2
Deriche 1
Mmoire
256kx32
Mmoire256kx32
BC
IN OUT
-
8/7/2019 cours_Xilinx_2006
82/113
Exec. Deriche 2 / Conf. Contours
FPGA
GTI1
FPGA
GTI2
GTI1 GTI2
Deriche 2
Mmoire
256kx32
Mmoire256kx32
BC
IN OUT
E C / C f F 1
-
8/7/2019 cours_Xilinx_2006
83/113
Exec. Contours / Conf. Fermeture 1
FPGA
GTI1
FPGA
GTI2
GTI1 GTI2
Contours
Mmoire
256kx32
Mmoire256kx32
BC
IN OUT
E F 1 / C f F 2
-
8/7/2019 cours_Xilinx_2006
84/113
Exec. Fermeture 1 / Conf. Fermeture 2
FPGA
GTI1
FPGA
GTI2
GTI1 GTI2
Fermeture1
Mmoire
256kx32
Mmoire256kx32
BC
IN OUT
-
8/7/2019 cours_Xilinx_2006
85/113
E R i 1 / C f i 2
-
8/7/2019 cours_Xilinx_2006
86/113
Exec. Rgion 1 / Conf. rgion 2
FPGA
GTI1
FPGA
GTI2
GTI1 GTI2
Rgion1
Mmoire
256kx32
Mmoire256kx32
BC
IN OUT
E R i 2 / C f D i h 1
-
8/7/2019 cours_Xilinx_2006
87/113
Exec. Rgion 2 / Conf. Deriche 1
FPGA
GTI1
FPGA
GTI2
GTI1 GTI2
Rgion2
Mmoire
256kx32
Mmoire256kx32
BC
IN OUT
E D i h 1 / C f D i h 2
-
8/7/2019 cours_Xilinx_2006
88/113
Exec. Deriche 1 / Conf. Deriche 2
FPGA
GTI1
FPGA
GTI2
GTI1 GTI2
Deriche 1
Mmoire
256kx32
Mmoire256kx32
BC
IN OUT
ARDOISE : Estimation de performancesARDOISE : Estimation de performances
-
8/7/2019 cours_Xilinx_2006
89/113
ARDOISE : Estimation de performancesARDOISE : Estimation de performances
Application de segmentation dimagesApplication de segmentation dimages
-
8/7/2019 cours_Xilinx_2006
90/113
Application de segmentation d imagesApplication de segmentation d images
-
8/7/2019 cours_Xilinx_2006
91/113
7.1 Architecture des Virtex2-Pro7.1 Architecture des Virtex2-Pro
-
8/7/2019 cours_Xilinx_2006
92/113
7.1 Architecture des Virtex2 Pro7.1 Architecture des Virtex2 Pro
Transceivers
RocketIO 622 Mbps
Transceivers
RocketIO 622 Mbps
Transceivers
RocketIO 622 Mbps
Transceivers
RocketIO 622 Mbps
Architecture FPGAVitexII
Processeur PowerPC
32 bits 400MHz
-
8/7/2019 cours_Xilinx_2006
93/113
7.1 Architecture des Virtex2-Pro7.1 Architecture des Virtex2-Pro
-
8/7/2019 cours_Xilinx_2006
94/113
7.1 Architecture des Virtex2 Pro7.1 Architecture des Virtex2 Pro
PPC405
7.1 Architecture des Virtex2-Pro7.1 Architecture des Virtex2-Pro
-
8/7/2019 cours_Xilinx_2006
95/113
7.1 Architecture des Virtex2 Pro7.1 Architecture des Virtex2 Pro
PPC405
EthernetI/O
Mmoire
Internal Configuration
Acces Port
Auto-reconfiguration complte de la plate-forme !
7.2 Architecture des Virtex4-multiPlatform7.2 Architecture des Virtex4-multiPlatform
-
8/7/2019 cours_Xilinx_2006
96/113
7.2 Architecture des Virtex4 multiPlatform
Une famille de composants plate-forme
diffrencis en fonction des besoins : LX : logique haute performances
FX : TS trs hautes performances
SX : traitement embarqu et connectivit
rapide
Virtex-4 LX FPGA Devices
Virtex-4 SX FPGA Devices
Virtex-4 FX FPGA Devices
-
8/7/2019 cours_Xilinx_2006
97/113
-
8/7/2019 cours_Xilinx_2006
98/113
-
8/7/2019 cours_Xilinx_2006
99/113
7.3 Architecture Excalibur-ARM7.3 Architecture Excalibur-ARM
-
8/7/2019 cours_Xilinx_2006
100/113
-
8/7/2019 cours_Xilinx_2006
101/113
7.4 Architecture XPP7.4 Architecture XPPTMTM de PACTde PACT
-
8/7/2019 cours_Xilinx_2006
102/113
Du SOPC au RSoC :Reconfigurable System on Chip
-
8/7/2019 cours_Xilinx_2006
103/113
Architecture interne organise autour dun rseau de communication :
Processeur central intgr (ARM 32 bits)
Mmoire intgre
Ressources dentre/sortie
Priphriques Zone reconfigurable dynamiquement (64 ALUs reconfigurables)
Applications de type multimdia
8 CONCLUSION8 CONCLUSION
-
8/7/2019 cours_Xilinx_2006
104/113
Lvolution des performances de la technologie reconfigurable rend
les RSoC conomiquement faisables et meilleurs candidats pour les
machines de typeplateformes.
La technologie est mre, matrise et les concepts de configuration
statique largement accepts.
Les SOPC et RSoC deviennent de plus en plus intgrs, parallles et
htrognes. Leurs applications se dplacent progressivement vers le
temps rel mou et dur .
Besoin de dvelopper des mthodologies dexploitation efficace deces machines :
OS embarqus temps-rel
mthodologies de conception par composants
exploitation de la reconfiguration dynamique en ligne
9 PISTES9 PISTES
-
8/7/2019 cours_Xilinx_2006
105/113
Le challenge scientifique est aujourdhui de concevoir des plate-
formes embarques totalement autonomes dotes des capacits de
reconfiguration partielle dynamique (RSoC).
Complexit architecturale + complexit des applications
+ htrognit des ressources + HW/SW
= nouvelles mthodologies de conception
-
8/7/2019 cours_Xilinx_2006
106/113
Applications : radio-logicielle, plate-formes multimdia portables,
contrle/commande embarqu
Ressources : processeurs RISC (ARM, PPC), processeurs DSP,
Contrleurs, mmoire(s), bus, rseaux, IP ddies,
ARD, I/O
Concepts : Reconfiguration dynamique (ARD), routage
dynamique (rseaux), SW+HW, RTOS,
paralllisme, squentiel, reprogrammabilit en ligne ,
qualit de service
Mthodes : Gnie logiciel, modlisation, concepts objets,
portabilit, validation haut niveau
Modle logiciel des plate-formesModle logiciel des plate-formes
-
8/7/2019 cours_Xilinx_2006
107/113
ARD1 ARD2DSPProc.
Reconf. HAL Reconf. HAL
MV MM MM MV MV MM
noyau noyau noyau noyau noyau noyau
Communications flexibles Communications flexibles
noyau noyau
Interconnexions (rseau, bus...)
OS pour SOC+ARD
reconfigurablenon-reconfigurable
Application
OS pour ARD
-
8/7/2019 cours_Xilinx_2006
108/113
p
PROCESSEUR CENTRAL
MACHINE VIRTUELLEMODULE MATERIEL
main
entrepot
de config.
OS_createMV()
OS_createMM()
Zone reconfigurable
Gestion
des
communications
rseau de communication
flexible
-
8/7/2019 cours_Xilinx_2006
109/113
OS pour ARD changement de contexte
-
8/7/2019 cours_Xilinx_2006
110/113
PROCESSEUR CENTRAL
changements
de contexte
Migration
soft / soft
Migration
hard / soft
Premption
matrielle
MODULE MATERIEL MACHINE VIRTUELLE
Zone reconfigurable
Ordonnancement
Modlisation UML des plate-formesModlisation UML des plate-formes
-
8/7/2019 cours_Xilinx_2006
111/113
Flot de modlisation, dabstraction et de raffinementFlot de modlisation, dabstraction et de raffinement
-
8/7/2019 cours_Xilinx_2006
112/113
http://oversoc.ensea.frhttp://oversoc.ensea.frProjet ANR 2005-2008Projet ANR 2005-2008
-
8/7/2019 cours_Xilinx_2006
113/113