cours_Xilinx_2006

Les circuits FPGA Concepts de base, architecture et applications

Cours Master Recherche «S ystèmes Intelligents et Communicants »

François Verdier
www-etis.ensea.fr/~verdier/ Université de Cergy-Pontoise Laboratoire ETIS - UMR CNRS 8051

Plan du cours
1 - Technologie et densité 2 - La famille des circuits logiques
2.1 - Les fonctions logiques 2.2 - Les technologies

4 - Méthodologie de conception
4.1 - Le flot de conception 4.2 - Les Intelectual Properties 4.3 - La production en volume

3 - Architecture des FPGA XILINX
3.1 3.2 3.3 3.4 3.6 circuits 3.5 3.6 3.7 3.8 - Les canaux de routage - La mémoire interne - Configuration des FPGA - Evolution des produits - Architecture générale - Les interconnexions - Les CLB - Les IOB - La configuration des

5 - Applications : Les FCCM
5.1 - Exemples de machines 5.2 - Le CoDesign

6 - La reconfiguration dynamique 7 - Des FPGA aux SOPC
7.1 7.2 7.3 7.4 - Architecture Virtex2-Pro - Architecture Virtex4 - ALTERA Excalibur-ARM - XPP de PACT

8 - Conclusion 9 - Pistes

1 - Technologie et densité
• •

Les systèmes électroniques modernes sont de plus en plus complexes, Les contraintes de taille, de puissance dissipée et de performances sont de plus en plus sévères (téléphonie mobile, ordinateurs, traitement du signal, de l'image, etc...). Accroissement spectaculaire des densités.

Les techniques de circuit imprimés à trous traversants Densité limitée par la surface ! Trous métallisés Insertion des composants Pistes de cuivre Soudure Carte en fibre epoxy .

Les techniques de circuit imprimés à montage en surface Densité multipliée par 10 Dépôt et collage des CMS Pistes en cuivre multicouches Composants sur les deux faces ! Carte en fibre epoxy .

économes en énergie.fiables et peu coûteux. La contrainte de « time to market » devient la plus importante et rend inefficace désormais les cycles classiques de développement / vérification / réalisation physique. . . => besoin d'une technologie fiable. .rapides à concevoir.compacts... abordable et souple.Les contraintes physiques. . technologiques et commerciales imposent aujourd'hui la conception de systèmes de plus en plus : .

) • réseaux ET/OU technologie fusibles/anti-fusibles réseaux logiques programmables sur site (FPGA) • • • • technologie RAM/SRAM logique à LUT . PLD.) Les réseaux logiques programmables (PLA... EPLD.La grande famille des circuits logiques • • • La logique standard Les mémoires (RAM. EPROM.2 . CPLD.. PROM..

2.Les différentes techniques de réalisation d’une fonction logique S = (A .1 . B) + C A B C S .

1.La logique standard • Utilisation de circuits TTL / CMOS . A B C S densité : <20% temps : mn à h 7408 7432 ..2..1 .

2 .2. B) + C C 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 A 0 1 0 1 0 1 0 1 S 0 0 0 1 1 1 1 1 et d’une mémoire (8x1bit) 0 0 0 1 1 1 1 1 S A B C .1.La logique à mémoire : LUT • à partir d’une table de vérité S = (A .

2.Les connexions programmables : Les circuits PAL A B C réseau de portes ET réseau de portes OU S = A.B de fusibles C L’équation se programme sous sa première forme canonique (somme de produits) .B + C Connexions à base A.3 .1.

B + C LUT C LUT OU Programmation des mémoires Un ensemble de mémoires LUT et établissement des connexions .Les FPGA (Field Programmable Gate Array) A B LUT ET LUT Un ensemble de chemins de routage S = A.2.4 .1.

Les FPGA A B Connexions par transistors MOS ET OU C S = A.1.B + C Cellule mémoire .2.4 .

Classification des technologies Logique Logique standard PLD PAL EPROM EEPROM/FLASH CPLD ASIC FPGA anti-fusibles SRAM .2 .2.

Les cycles de développement et de prototypage (test et vérification en conditions réelles) sont accélérés et même confondus.Les circuits FPGA SRAM deviennent des solutions de remplacement avantageuses pour les systèmes numériques à haute intégration. Spécification Conception Vérification Réalisation .

de vitesse et de prix Des outils logiciels puissants et automatiques permettent de réaliser facilement un système sur FPGA. et re-programmable dans son environnement Les circuits FPGA XILINX sont disponibles en de nombreuses configurations de taille. Il est programmable. .3 .Architecture des circuits FPGA (XILINX) • • • Un FPGA réalise une fonction logique complexe.

5 M 25 K 3 1995 1996/97 2000 6M 50 K 3 12 M 100 K 3-4 75 M 500 K 4-5 2001 > 100 M 10 M 8 .Evolution de la technologie des circuits FPGA XILINX 198 5 /8 6 1994 Nom bre de Tra nsist ors Nom bre de Port es Couches de Mét a l 85 K 800 2 3 .

512 1728 .3 .174 0 0 3K .4M 64-15360* * produits obsolètes .512 XC4000XV 75K .100K 192 .270K 77 .3.2016 58K .7168 2K .16K 448 9K .16K 2.6 .131K 40K .20K 131K .61K 72K .500K SPARTAN 2K .448 360 .27K 32K .5292 384-6144 64 .5K-5K 238 .Les différentes « familles » FPGA XILINX Famille XC2000* XC3000* XC4000 XC6200* # portes 0.1108 256 .9K 2 .1M 180 .1320 80 .5K 1.200K VIRTEX VIRTEX2 10K .180K # E/S 58 .74 # bascules # RAM bits 122 .10M 88 .100K 0 16K .284 360 .57K # CLB 64-100 64-484 100-3136 2K .176 256 .1.

3.1 .Architecture générale • • • • Un FPGA est un réseau (matrice) de blocs combinatoires et séquentiels (CLB) Des blocs d’entrée/sortie (IOB) sont associés aux broches du circuit Les CLB et IOB sont interconnectés entre eux par des dispositifs variés Les matrices s’organisent de 8x8 à 128x120 .

Architecture générale CLB IOB lignes de connections matrices de connexion .1 .3.

.

3.2 .Les interconnexions (directes) 2 ns CLB CLB DELAIS DEPENDANT 5 ns DU ROUTAGE !!! CLB CLB .

2 .Les interconnexions (matrices) CLB CLB CLB CLB .3.

3.2 .Les interconnexions (lignes) CLB CLB CLB CLB .

Structure des CLB • Une table de transcodage combinatoire (LUT) pouvant implanter : – deux fonctions indépendantes à 4 variables – une fonction complète à 5 variables – une fonction incomplète à 6 variables • • Deux cellules séquentielles (bascules D) Des multiplexeurs de configuration .3 .3.

3.Structure d’un CLB 3000 .3.1 .

2 .3.Structure d’un CLB 4000 .3.

Structure d’un CLB SPARTAN .3.3.3 .

Structure des IOB Ports d’entrée/sortie totalement programmables : • Seuil d’entrée TTL ou CMOS • Slew-rate programmable • Buffer de sortie programmable en haute impédance • Entrées et sorties directes ou mémorisées • Inverseur programmable .3.4 .

1 .4.3.Structure des IOB (XC3000) .

4.2 .Structure des IOB (XC4000) .3.

3.Structure des IOB (SPARTAN) .3 .4.

3.Canaux de routage .5 .

Matrices d'interconnexions (Programmable Switch Matrix) Routage inter-CLB .

3.6 .Utilisation des CLB en mémoires .

.

7 . plusieurs FPGAs peuvent être chaînés en mode maître/esclave. .3.Configuration des FPGA Les circuits FPGA XILINX se configurent selon plusieurs modes : 1) Le mode série qui utilise une EEPROM série (avantage de la compacité mais faible rapidité) 2) Le mode parallèle 8 bits (EPROM classique) plus rapide 3) Le mode parallèle asynchrone : le circuit FPGA se comporte comme un périphérique de micro-processeur : possibilité de (re)configuration partielle intelligente Dans chaque mode.

Mode de configuration série (EEPROM série) Circuit «principal» Circuits en «daisy chain» .

Mode de configuration parallèle (EPROM parallèle) .

Mode de configuration parallèle asynchrone (mode périphérique de processeur) .

3.8 - Evolution des produits
La technologie micro-électronique continue d'évoluer de manière exponentielle (en densité, en vitesse, en taille et en consommation) : La taille des puces augmente : les entrées/sorties sont plus nombreuses La densité augmente : le grain des FPGA augmente La technologie SRAM se fiabilise : la quantité de mémoire augmente Les nouvelles familles apparaissent : - XC4000(X) - VIRTEX - VIRTEX-II - VIRTEX-II PRO - VIRTEX-4

• • • •

3.8.1 - XC4000X
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 - XC4000X
Les performances augmentent avec la finesse de la technologie

Fréquences inter-circuits

Fréquences intra-ciruits

Les produits XC4000(X) .

2 .1M 16 20 24 28 32 40 48 56 64 x x x x x x x x x 24 30 36 42 48 60 72 84 96 Logic Block SelectRAM Cells RAM bits bits Max I/O 1728 2700 3888 5292 6912 10800 15552 21168 27648 32768 40960 49152 57344 65536 81920 98304 114688 131072 24576 38400 55296 75264 98304 153600 221184 301056 393216 180 180 260 284 316 404 512 512 512 Device XCV50 XCV100 XCV150 XCV200 XCV300 XCV400 XCV600 XCV800 XCV1000 .8.La famille VIRTEX CLB # gates Array 58K 109K 164K 236K 323K 468K 661K 888K 1.3.

3.8.La famille VIRTEX-II Accélération des délais de routage Avec la densité qui augmente.3 . intégration de la notion d'« Intelectual Properties » (IP = Macro-Cellules tierces) .

3.8.La famille VIRTEX-II Vaste choix de formats et de standards d'entrées/sorties grâce aux canaux différentiels configurables Technologie plus rapide : certaines applications DSP deviennent concurentielles .3 .

3.8.La famille VIRTEX-II Protection de la propriété industrielle : le Reverse Engineering est impossible .3 .

8.3.La famille VIRTEX-II Device CLB SelectRAM # gates Array SlicesMax RAM Kbits Multipliers Kbits Max I/O 40K 8x8 256 80K 16 x 8 512 250K 24 x 16 1536 500K 32 x 24 3072 1M 40 x 32 5120 1.3 .5M 48 x 40 7680 2M 56 x 48 10752 3M 64 x 56 14336 4M 80 x 72 23040 6M 96 x 88 33792 8M 112 x 10446592 10M 128 x 12061440 8 16 48 96 160 240 336 448 720 1056 1456 1920 4 8 24 32 40 48 56 96 120 144 168 192 72 144 432 576 720 864 1008 1728 2160 2592 3024 3456 88 120 200 264 432 528 624 720 912 1104 1108 1108 XC2V40 XC2V80 XC2V250 XC2V500 XC2V1000 XC2V1500 XC2V2000 XC2V3000 XC2V4000 XC2V6000 XC2V8000 XC2V10000 .

Architecture VIRTEX-II Matrice de « Slices » Générateurs d'horloge Blocs d'E/S Blocs de mémoire Multiplieurs 18x18 .3 .3.8.

Méthodologie de conception Les systèmes à concevoir devenant de plus en plus complexes.ABEL (machines à états). .simulation fonctionnelle.VHDL structurel. .4 . les types de descriptions deviennent de plus en plus variés : ..schémas..analyse des timings (chemins critiques).simulation post-routage (temporelle). Verilog.floorplanning . . les notions de placement géométrique deviennent indispensables : . fonctionnel.code C / C++ ? Plus les systèmes deviennent complexes à concevoir.. . . plus les étapes de vérification sont nécessaires : . Avec l'augmentation de la densité des circuits.

conversion du Netlist.Le flot de conception 1.optimisation combinatoire.Vérification finale : .Compilation du circuit : .Schémas (hiérarchie).4.Description du système : .Simulation fonctionnelle : . .code VHDL (Verilog.Compilation du code VHDL : .simulation temporelle. ABEL) 2.configuration / validation .Placement relatif et estimation du routage : . .synthèse si code fonctionnel 3.retro-annotation temporelle 6.«floorplanning» et gestion des contraintes d'E/S 5.placement / routage des cellules . .vérification de la description 4. .1 .

.

.

.

.

.

On transpose directement la méthodologie de conception d'un système complexe (associant logique discrète.2 .. spécifications de haut niveau (structurelle et/ou fonctionnelle) en langage VHDL ou Verilog et langage C. circuits spécifiques) dans un seul circuit FPGA.Les Intelectual Properties (IP) Les IP sont des macro-celulles (pré-placées et/ou pré-routées) disponibles comme des cellules de bibliothèque proposant sous forme de « boites noires » des fonctions complexes entièrement simulables et respectant la propriété industrielle.4.. . La description complète du système associe saisie de schémas. composants standards.

Spécification C Spécification VHDL Bibliothèque standard COMPILATEUR Simulation PLACE & ROUTE Rétroannotation temporelle Bibliothèque IP Programmation du composant Modèle de composant Validation .

org OpenCores.Les bibliothèques d'Intelectual Properties IP C2 9 1 0 a C8 0 5 1 ARC3 2 Typ e Pr ovid e r CAST Inc.org Deriv at ion Syst em Inc. West ern Design Cent er OpenCores. The Free IP Project European Space Agency (ESA) Microprogram cont roller Micro Cont roller 32-bit Configurable RISC Processor D8 0 5 3 0 8 -bit Micro Cont roller C2 9 0 1 Microprocessor Slice W 6 5 C0 2 S Micro Processor M in i-RISC Micro Processor Op e n RISC-1 0 0 0 RISC Processor La va CORE Jav a Microprocessor Fr e e -RISC8 Microprocessor LEON-1 SPARC-com pat ible Micro Processor . ARC Cores CAST Inc. CAST Inc. CAST Inc.

Les bibliothèques d'Intelectual Properties IP Applica t ion Encode ur Re e d-Solom on Transm ission de données Dé code ur Re e d-Solom on Transm ission de données Int e r fa ce PCI-X Cont r ôle ur H DLC Bus de com m unicat ion Connect ion couche physique Code ur /dé code ur ADPCMTransm ission. com pression .

Les cibles FpgASIC sont totalement compatibles et vérifiées.4. => Transformation FPGA -> ASIC (Gate Array) La technologie HardWireTM permet le passage d'une version prototype (reprogrammable) validée à une version de production en grande série. Volume Début de production Fin de vie Circuits FpgASIC FPGA HardWire FPGA Durée de vie du produit .La production en volume : HardWireTM Le coût de production d'une solution sur FPGA devient considérable sur de grands volumes.3 . Le surcoût introduit par les capacités de re-programmabilité devient prohibitif.

TI. Les FCCM (FPGA-based Custom Computing Machines) deviennent de réels (co)processeurs de calcul optimisés.Application des FPGAs : Les machines (re)configurables L'existence de composants logiques (re)programmables in-situ et performants conduit à un nouveau paradigme de programmation : « la fonction cablée reconfigurable » Un traitement complexe se pense désormais en termes d'opérateurs matériels optimisés configurables et programmables à l'infini. TS.). etc..5 . Des traitements coûteux deviennent possibles : le temps-réel embarqué devient possible (codage/décodage. .

FPGA Mem. Mémoires de travail .Le concept de FCCM Processeur hôte Réseau d'interconnexion Plusieurs circuits FPGA FPGA Mem. FPGA FPGA Mem.

. CAN.5.Quelques exemples de FCCM Machine FPGA Processeur Mémoire Bus 9 20 4 /FPGA 2 x XC402 5 T9000 64Ko + 8Mo Tran spu t er DS-Lin k DVC1 2 x XC401 3 1 Mo + FIFOs Sbu s EDgAR-2 4 x XC401 3 PCI Funct ional Memory Comput er XC401 0 + 3 x XC401 3 8x 1 Mo PCI LIRMM 2 x XC401 3 TMS 3 2 0C40 2 x 1 Mo ISA ou Sbu s MARC-1 2 5 x XC4005 6 Mo Sbu s MORRPH-ISA 6 x XC402 5 Dédié CARMeN VIRTEX XCV1 000 ARM 8Mo + 2 Mo PCI..1 . et c. OPART 2 x XC402 8EX Pen t iu m + PPC2 Mo + FIFO Com pact PCI ARDOISE ATMEL At 40K DSP 2 Mo / m odu le Dédié .

1.1 .5.La machine ARMEN Laboratoire d'Informatique de Brest Université de Bretagne Occidentale Processeurs Transputer T805 FPGA XC3090 .

5.2 .1.La machine CARMeN SIDSA .

.

5.2 .Programmation des FCCM : Le CODESIGN Application ? DSP Réseau FPGA .

: part it ionn em en t Télécom . de Clerm ont -Ferran d TIMA (Grenoble) Univ . de Virgin ie Lan gage m ix t e DSP + FPGA COWARE / Fron t ier / Sy n opsy s Lan gage et com pilat eu r C+ + m ix t e . de Berkeley Belgique Univ . Sy nt h èse et v érif icat ion Parallélisat ion de code en TI IP + processeu rs classiques Concept ion m ix t e / FSM IP et st andardisat ion Réseau x m ix t es sy st oliqu es Sy st èm es m ix t es in du st riels Form alisat ion des lan gages de descript ion : H a n d e lC LCC Sy st e m C Anglet erre Lan gage de descript ion m ix t e (OCCAM) Univ .Les projets d'outils de CODESIGN CO SI SYN D EX M CSE M O SARTS LI RM M SKIPPER CO SM O S PO LI S CO W ARE Cod e X CH IN O O K IRISA (Renn es) INRIA IRESTE (Nan t es) Univ ersit é de Nice-An t ipolis Univ ersit é de Mon t pellier Univ . de Wash in gt on ASIC : Sy st em On Ch ip Trait em en t du signal Spécif icat ion pou r le Codesign Télécom . de KaiserSlau t ern Univ .

C++) Bibliothèque standard et IP Modèle d'architecture Analyse du code Extraction du parallélisme DSP Gestion des communication s FPGA Compilateur séquentiel Analyse des dépendances de données Analyse des ressouces mémoire Place / Route .5.1 .Les problèmes ouverts du CoDesign Spécification de haut niveau (C.2.

2.5.Le flot classique de conception Modèle niveau système C / C++ Traduction Description VHDL / Verilog SIMULATION Développement ANALYSE SYNTHESE Résultats de test .2 .

org) Modèle SystemC Essais d'architectures Amélioration Analyse de performances Harware / Software Modèle temporel Partitionnemen t Modèle Bus Amélioration Modèle abstrait RTOS Amélioration Modèle cycle synthétisable Cible RTOS .2.Un nouveau standard : SystemCTM (Synopsys + CoWare + Frontier Design : www.2 .systemc.5.

6 – La Reconfiguration Dynamique des FPGA Les architectures de type FPGA offrent la possibilité de modifier à la demande l’agencement structurel ainsi que la fonctionalité des ressources internes de la puce. L’exploitation de ce concept introduit la notion de “fonction câblée” programmable : Parallélisme spatial (de données) Parallélisme temporel (pipeline) Flexibilité .

La machine ARDOISE (Atmel) Action incitative inter-GDR (ETIS) ARDOISE : Architecture Reconfigurable Dynamiquement Orientée Image et Signal Embarqué Carte m ère + 3 m odules Pro toty p e d’un m odule .

Développer l’architecture. les méthodes et les outils • ARDOISE = prototype expérimental (académique) • Applications en segmentation d’images • Applications en caméras intelligentes • Application en compression / décompression d’images (MPEG) . flexibilité des architectures programmables 2. Utiliser la reconfiguration dynamique des FPGA • Reconfiguration totale = 0.8 ms • Reconfiguration partielle possible • Changement d’algorithmes en temps réel sur le même circuit • Vitesse des architectures câblées.Objectifs du projet ARDOISE 1.

Ac quisition. traitem ent et visualisation en tem ps réel • Proc esse ur front-end de c ontrôle des c onfigurations ADSP SHARC 21161 • Rec o nfig uration pa rtielle et dy nam iq ue des c irc uits FPGA AT MEL AT 40K40 .

Architecture d’ARDOISE : .

ARDOISE = application du principe de reconfiguration dynamique en traitement d'images : op1 op2 Image i Image i-1 op1 Image i-2 Image i+1 .

Conf. Deriche1 GTI1 BC Mémoire 256kx32 GTI2 IN FPGA GTI1 Deriche 1 FPGA GTI2 OUT Mémoire 256kx32 .

Deriche1 / Conf. Deriche 2 GTI1 BC Mémoire 256kx32 GTI2 IN FPGA GTI1 Deriche 1 FPGA GTI2 OUT Mémoire 256kx32 .Exec.

Deriche 2 / Conf. Contours GTI1 BC Mémoire 256kx32 GTI2 IN FPGA GTI1 Deriche 2 FPGA GTI2 OUT Mémoire 256kx32 .Exec.

Exec. Fermeture 1 GTI1 BC Mémoire 256kx32 GTI2 IN FPGA GTI1 Contours FPGA GTI2 OUT Mémoire 256kx32 . Contours / Conf.

Fermeture 1 / Conf.Exec. Fermeture 2 GTI1 BC Mémoire 256kx32 GTI2 IN FPGA GTI1 Fermeture 1 FPGA GTI2 OUT Mémoire 256kx32 .

région 1 GTI1 BC Mémoire 256kx32 GTI2 IN FPGA GTI1 Fermeture 2 FPGA GTI2 OUT Mémoire 256kx32 . Fermeture 2 / Conf.Exec.

Exec. Région 1 / Conf. région 2 GTI1 BC Mémoire 256kx32 GTI2 IN FPGA GTI1 Région 1 FPGA GTI2 OUT Mémoire 256kx32 .

Région 2 / Conf.Exec. Deriche 1 GTI1 BC Mémoire 256kx32 GTI2 IN FPGA GTI1 Région 2 FPGA GTI2 OUT Mémoire 256kx32 .

Deriche 1 / Conf.Exec. Deriche 2 GTI1 BC Mémoire 256kx32 GTI2 IN FPGA GTI1 Deriche 1 FPGA GTI2 OUT Mémoire 256kx32 .

ARDOISE : Estimation de performances .

Application de segmentation d’images .

mémoires. E/S rapides (Xilinx Virtex) . La granularité des architectures FPGA ne suffit plus pour le développement des applications : .7 – Des FPGA aux SOPC Systems On Programmable Chips Les applications susceptibles d'être intégrées dans des FPGA (ou dans des systèmes configurables) gagnent en complexité et en densité.blocs Mult-Accu-Reg pour le traitement du signal (Altera) De plus en plus d'applications nécessitent des ressources programmables classiques sous forme de processeurs (RISC ou DSP) .multiplieurs.

1 – Architecture des Virtex2-Pro Transceivers RocketIO 622 Mbps Architecture FPGA VitexII Processeur PowerPC 32 bits 400MHz .7.

.

1 – Architecture des Virtex2-Pro PPC 405 .7.

1 – Architecture des Virtex2-Pro Auto-reconfiguration complète de la plate-forme ! Mémoire PPC 405 Ethernet I/O Internal Configuration Acces Port .7.

7.2 – Architecture des Virtex4-multiPlatform
Virtex-4 LX FPGA Devices

Une « famille » de composants « plate-forme » différenciés en fonction des besoins : • LX : logique haute performances • FX : TS très hautes performances • SX : traitement embarqué et connectivité rapide

Virtex-4 SX FPGA Devices

Virtex-4 FX FPGA Devices

7.2 – Architecture des Virtex4-multiPlatform
Virtex-4 LX FPGA Device Combinations
Feature/Product EasyPath™ Cost Reduction Solutions Logic Cells Block RAM/FIFO w/ECC (18 kbits each) Total Block RAM (kbits) Digital Clock Managers (DCM) Phase-matched Clock Dividers (PMCD) Max Differential I/O Pairs XtremeDSP™ Slices PowerPC™ Processor Blocks 10/100/1000 Ethernet MAC Blocks RocketIO™ Serial Transceivers Configuration Memory Bits Max SelectIO™ XC 4VLX15 XC 4VLX25 XCE 4VLX25 24,192 XC 4VLX40 XCE 4VLX40 41,472 XC 4VLX60 XCE 4VLX60 59,904 XC 4VLX80 XCE 4VL80 80,640 XC 4VLX100 XCE 4VLX100 110,592 XC 4VLX160 XCE 4VLX160 152,064 XC 4VLX200 XCE 4LX200 200,448

--

13,824

48

72

96

160

200

240

288

336

864 4

1,296 8

1,728 8

2,880 8

3,600 12

4,320 12

5,184 12

6,048 12

0

4

4

4

8

8

8

8

160 32 --

224 48 --

320 64 --

320 64 --

384 80 --

480 96 --

480 96 --

480 96 --

--

--

--

--

---

--

--

--

-4,875,392 320

-8,037,312 448

-12,647,680 640

-18,315,520 640

-24,101,440 768

-31,818,624 960

-41,863,296 960

-50,648,448 960

7.2 – Architecture des Virtex4-multiPlatform
Virtex-4 SX FPGA Device Combinations
Feature/Product EasyPath Cost Reduction Solutions Logic Cells Block RAM/FIFO w/ECC (18 kbits each) Total Block RAM (kbits) Digital Clock Managers (DCM) Phase-matched Clock Dividers (PMCD) Max Differential I/O Pairs XtremeDSP™ Slices PowerPC Processor Blocks 10/100/1000 Ethernet MAC Blocks RocketIO Serial Transceivers Configuration Memory Bits Max SelectIO XC 4VSX25 XCE 4VSX25 23,040 128 2,304 4 0 160 128 ---9,651,072 320 XC 4VSX35 XCE 4VSX35 34,560 192 3,456 8 4 224 192 ---14,476,608 448 XC 4VSX55 XCE 4VSX55 55,296 320 5,760 8 4 320 512 ---24,088,320 640

641.904 56.464 22.880 142.176 9.900.017.838.312 19.016 50.088 7.224 41.936 Digital Clock Managers (DCM) Phase-matched Clock Dividers (PMCD) 4 4 8 12 20 0 0 4 8 8 Max Differential I/O Pairs 160 160 224 288 448 XtremeDSP™ Slices 32 32 48 128 192 PowerPC Processor Blocks 10/100/1000 Ethernet MAC Blocks RocketIO Serial Transceivers 1 1 2 2 2 2 2 4 4 4 0 8 12 16 24 Configuration Memory Bits 5.7.088 15.2 – Architecture des Virtex4-multiPlatform Virtex-4 FX FPGA Device Combinations Feature/Product EasyPath Cost Reduction Solutions XC 4VFX12 XC 4VFX20 XCE 4VFX20 XC 4VFX40 XCE 4VFX40 XC 4VFX60 XCE 4VFX60 XC 4VFX140 XCE 4VFX140 -- Logic Cells 12.128 Block RAM/FIFO w/ECC (18 kbits each) 36 68 144 232 552 Total Block RAM (kbits) 648 1224 2.352 Max SelectIO 320 320 448 576 896 .262.592 4.

7.3 – Architecture Excalibur-ARM .

.

4 – Architecture XPPTM de PACT .7.

Du SOPC au RSoC : Reconfigurable System on Chip Architecture interne organisée autour d’un réseau de communication : • Processeur central intégré (ARM 32 bits) • Mémoire intégrée • Ressources d’entrée/sortie • Périphériques • Zone reconfigurable dynamiquement (64 ALUs reconfigurables) • Applications de type multimédia .

8 – CONCLUSION L’évolution des performances de la technologie reconfigurable rend les RSoC économiquement faisables et meilleurs candidats pour les machines de type plateformes. La technologie est mûre. Leurs applications se déplacent progressivement vers le temps réel « mou » et « dur ». Les SOPC et RSoC deviennent de plus en plus intégrés. maîtrisée et les concepts de configuration statique largement acceptés. parallèles et hétérogènes. Besoin de développer des méthodologies d’exploitation efficace de ces machines : • OS embarqués temps-réel • méthodologies de conception par composants • exploitation de la reconfiguration dynamique en ligne… .

Complexité architecturale + complexité des applications + hétérogénéité des ressources + HW/SW = nouvelles méthodologies de conception .9 – PISTES Le challenge scientifique est aujourd’hui de concevoir des plateformes embarquées totalement autonomes dotées des capacités de reconfiguration partielle dynamique (RSoC).

Applications : radio-logicielle. processeurs DSP. validation à haut niveau . ARD. portabilité. plate-formes multimédia portables. IP dédiées. I/O Concepts : Reconfiguration dynamique (ARD). qualité de service… Méthodes : Génie logiciel. µContrôleurs. RTOS. réseaux. contrôle/commande embarqué… Ressources : processeurs RISC (ARM. parallélisme. mémoire(s). routage dynamique (réseaux). séquentiel. modélisation. concepts objets. reprogrammabilité « en ligne ». PPC). SW+HW. bus.

) Communications flexibles noyau noyau noyau noyau noyau Communications flexibles noyau noyau noyau MV MM ARD1 MM MV MV ARD2 MM Reconf. DSP non-reconfigurable reconfigurable ..Modèle logiciel des plate-formes Application OS pour SOC+ARD Interconnexions (réseau. HAL Proc.. HAL Reconf. bus.

OS pour ARD Gestion des communications entrepot de config. OS_createMV() main OS_createMM() MODULE MATERIEL MACHINE VIRTUELLE PROCESSEUR CENTRAL réseau de communication flexible Zone reconfigurable .

OS pour ARD mémoires de tâches PROCESSEUR CENTRAL MODULE MATERIEL MACHINE VIRTUELLE réseau de communication flexible Zone reconfigurable .

OS pour ARD Ordonnancement changement de contexte Migration soft / soft changements de contexte Migration hard / soft PROCESSEUR CENTRAL MODULE MATERIEL MACHINE VIRTUELLE Préemption matérielle Zone reconfigurable .

Modélisation UML des plate-formes .

Flot de modélisation. d’abstraction et de raffinement .

ensea.http://oversoc.fr Projet ANR 2005-2008 .

Sign up to vote on this title
UsefulNot useful