Vous êtes sur la page 1sur 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

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

4 - Mthodologie 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 mmoire interne - Configuration des FPGA - Evolution des produits - Architecture gnrale - 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 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 (tlphonie mobile, ordinateurs, traitement du signal, de l'image, etc...). Accroissement spectaculaire des densits.

Les techniques de circuit imprims trous traversants


Densit limite par la surface !
Trous mtalliss Insertion des composants

Pistes de cuivre

Soudure

Carte en fibre epoxy

Les techniques de circuit imprims montage en surface


Densit multiplie par 10
Dpt et collage des CMS Pistes en cuivre multicouches

Composants sur les deux faces !

Carte en fibre epoxy

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...

2 - La grande famille des circuits logiques


La logique standard Les mmoires (RAM, PROM, EPROM...) Les rseaux logiques programmables (PLA, PLD, EPLD, CPLD...) rseaux ET/OU technologie fusibles/anti-fusibles rseaux logiques programmables sur site (FPGA)

technologie RAM/SRAM logique LUT

2.1 - Les diffrentes techniques de ralisation dune fonction logique

S = (A . B) + C
A B C

2.1.1 - La logique standard


Utilisation de circuits TTL / CMOS ...
A B C S

densit : <20% temps : mn h


7408 7432

2.1.2 - La logique mmoire : LUT


partir dune table de vrit S = (A . 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 dune mmoire (8x1bit)


0 0 0 1 1 1 1 1 S

A B C

2.1.3 - Les connexions programmables : Les circuits PAL


A B C

rseau de portes ET rseau de portes OU

S = A.B + C

Connexions base A.B de fusibles

Lquation se programme sous sa premire forme canonique (somme de produits)

2.1.4 - Les FPGA (Field Programmable Gate Array)


A B

LUT ET

LUT

Un ensemble de chemins de routage S = A.B + C

LUT
C

LUT OU

Programmation des mmoires Un ensemble de mmoires LUT et tablissement des connexions

2.1.4 - Les FPGA

A B

Connexions par transistors MOS ET

OU
C

S = A.B + C

Cellule mmoire

2.2 - Classification des technologies


Logique Logique standard PLD PAL EPROM EEPROM/FLASH CPLD ASIC

FPGA
anti-fusibles

SRAM

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

3 - Architecture des circuits FPGA (XILINX)

Un FPGA ralise une fonction logique complexe. Il est programmable, et re-programmable dans son environnement Les circuits FPGA XILINX sont disponibles en de nombreuses configurations de taille, de vitesse et de prix Des outils logiciels puissants et automatiques permettent de raliser facilement un systme sur FPGA.

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 Mt a l 85 K 800 2 3 ,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

Les diffrentes familles FPGA XILINX


Famille XC2000* XC3000* XC4000 XC6200* # portes 0.6 - 1.5K 1.3 - 9K 2 - 180K # E/S 58 - 74 # bascules # RAM bits 122 - 174 0 0 3K - 100K 0 16K - 57K # CLB 64-100 64-484 100-3136 2K - 16K 2.5K-5K 238 - 5292 384-6144

64 - 176 256 - 1320 80 - 448 360 - 7168 2K - 16K 448

9K - 100K 192 - 512

XC4000XV 75K - 500K SPARTAN 2K - 200K VIRTEX VIRTEX2

10K - 20K 131K - 270K

77 - 284 360 - 2016

58K - 1M 180 - 512 1728 - 27K 32K - 131K 40K - 10M 88 - 1108 256 - 61K

72K - 3.4M 64-15360*

* produits obsoltes

3.1 - Architecture gnrale


Un FPGA est un rseau (matrice) de blocs combinatoires et squentiels (CLB) Des blocs dentre/sortie (IOB) sont associs aux broches du circuit Les CLB et IOB sont interconnects entre eux par des dispositifs varis Les matrices sorganisent de 8x8 128x120

3.1 - Architecture gnrale


CLB IOB
lignes de connections matrices de connexion

3.2 - Les interconnexions (directes)


2 ns CLB CLB

DELAIS DEPENDANT 5 ns DU ROUTAGE !!!


CLB CLB

3.2 - Les interconnexions (matrices)


CLB CLB

CLB

CLB

3.2 - Les interconnexions (lignes)

CLB

CLB

CLB

CLB

3.3 - Structure des CLB

Une table de transcodage combinatoire (LUT) pouvant implanter :


deux fonctions indpendantes 4 variables une fonction complte 5 variables une fonction incomplte 6 variables

Deux cellules squentielles (bascules D) Des multiplexeurs de configuration

3.3.1 - Structure dun CLB 3000

3.3.2 - Structure dun CLB 4000

3.3.3 - Structure dun CLB SPARTAN

3.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

3.4.1 - Structure des IOB (XC3000)

3.4.2 - Structure des IOB (XC4000)

3.4.3 - Structure des IOB (SPARTAN)

3.5 - Canaux de routage

Matrices d'interconnexions (Programmable Switch Matrix)

Routage inter-CLB

3.6 - Utilisation des CLB en mmoires

3.7 - Configuration des FPGA


Les circuits FPGA XILINX se configurent selon plusieurs modes : 1) Le mode srie qui utilise une EEPROM srie (avantage de la compacit mais faible rapidit) 2) Le mode parallle 8 bits (EPROM classique) plus rapide 3) Le mode parallle asynchrone : le circuit FPGA se comporte comme un priphrique de micro-processeur : possibilit de (re)configuration partielle intelligente Dans chaque mode, plusieurs FPGAs peuvent tre chans en mode matre/esclave.

Mode de configuration srie (EEPROM srie)

Circuit principal

Circuits en daisy chain

Mode de configuration parallle (EPROM parallle)

Mode de configuration parallle asynchrone (mode priphrique de processeur)

3.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

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

Frquences inter-circuits

Frquences intra-ciruits

Les produits XC4000(X)

3.8.2 - La famille VIRTEX


CLB # gates Array 58K 109K 164K 236K 323K 468K 661K 888K 1.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

3.8.3 - La famille VIRTEX-II

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-II


Vaste choix de formats et de standards d'entres/sorties grce aux canaux diffrentiels configurables

Technologie plus rapide : certaines applications DSP deviennent concurentielles

3.8.3 - La famille VIRTEX-II


Protection de la proprit 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.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

3.8.3 - Architecture VIRTEX-II


Matrice de Slices Gnrateurs d'horloge

Blocs d'E/S

Blocs de mmoire

Multiplieurs 18x18

4 - 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 - Le flot de conception


1- 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

4.2 - Les Intelectual Properties (IP)


Les IP 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'un systme 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.

Spcification C

Spcification VHDL Bibliothque standard

COMPILATEUR Simulation PLACE & ROUTE Rtroannotation temporelle

Bibliothque IP

Programmation du composant

Modle de composant

Validation

Les bibliothques d'Intelectual Properties


IP C2 9 1 0 a C8 0 5 1 ARC3 2 Typ e Pr ovid e r CAST Inc. CAST Inc. ARC Cores CAST Inc. CAST Inc. West ern Design Cent er OpenCores.org OpenCores.org Deriv at ion Syst em Inc. 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

Les bibliothques d'Intelectual Properties

IP

Applica t ion

Encode ur Re e d-Solom on Transm ission de donnes D code ur Re e d-Solom on Transm ission de donnes 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

4.3 - La production en volume : HardWireTM


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 Dbut de production Fin de vie

Circuits FpgASIC FPGA HardWire

FPGA

Dure de vie du produit

5 - 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 cable reconfigurable Un traitement complexe se pense dsormais en termes d'oprateurs matriels 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..).

Le concept de FCCM
Processeur hte Rseau d'interconnexion Plusieurs circuits FPGA

FPGA Mem. FPGA

FPGA Mem. FPGA

Mem.

Mmoires de travail

5.1 - Quelques exemples de FCCM


Machine FPGA Processeur Mmoire 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 Ddi CARMeN VIRTEX XCV1 000 ARM 8Mo + 2 Mo PCI, CAN, 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 Ddi

5.1.1 - La machine ARMEN


Laboratoire d'Informatique de Brest Universit de Bretagne Occidentale

Processeurs Transputer T805

FPGA XC3090

5.1.2 - La machine CARMeN


SIDSA

5.2 - Programmation des FCCM : Le CODESIGN


Application

DSP

Rseau FPGA

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 Clerm ont -Ferran d TIMA (Grenoble) Univ . de Berkeley Belgique Univ . de KaiserSlau t ern Univ . de Wash in gt on ASIC : Sy st em On Ch ip Trait em en t du signal Spcif icat ion pou r le Codesign Tlcom . : part it ionn em en t Tlcom . Sy nt h se et v rif icat ion Paralllisat ion de code en TI IP + processeu rs classiques Concept ion m ix t e / FSM IP et st andardisat ion Rseau 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 . 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

5.2.1 - Les problmes ouverts du CoDesign


Spcification de haut niveau (C, C++) Bibliothque standard et IP Modle d'architecture

Analyse du code

Extraction du paralllisme

DSP Gestion des communication s FPGA

Compilateur squentiel

Analyse des dpendances de donnes Analyse des ressouces mmoire

Place / Route

5.2.2 - Le flot classique de conception

Modle niveau systme C / C++

Traduction

Description VHDL / Verilog


SIMULATION

Dveloppement

ANALYSE
SYNTHESE

Rsultats de test

5.2.2 - Un nouveau standard : SystemCTM


(Synopsys + CoWare + Frontier Design : www.systemc.org) Modle SystemC
Essais d'architectures
Amlioration

Analyse de performances Harware / Software

Modle temporel
Partitionnemen t

Modle Bus
Amlioration

Modle abstrait RTOS


Amlioration

Modle cycle synthtisable

Cible RTOS

6 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) Action incitative inter-GDR (ETIS)


ARDOISE : Architecture Reconfigurable Dynamiquement Oriente Image et Signal Embarqu

Carte m re + 3 m odules

Pro toty p e dun m odule

Objectifs 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 des architectures 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)

Ac quisition, traitem ent et visualisation en tem ps rel

Proc esse ur front-end de c ontrle 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 dARDOISE :

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 Mmoire 256kx32 GTI2

IN

FPGA GTI1

Deriche 1

FPGA GTI2

OUT

Mmoire 256kx32

Exec. Deriche1 / Conf. Deriche 2


GTI1 BC Mmoire 256kx32 GTI2

IN

FPGA GTI1

Deriche 1

FPGA GTI2

OUT

Mmoire 256kx32

Exec. Deriche 2 / Conf. Contours


GTI1 BC Mmoire 256kx32 GTI2

IN

FPGA GTI1

Deriche 2

FPGA GTI2

OUT

Mmoire 256kx32

Exec. Contours / Conf. Fermeture 1


GTI1 BC Mmoire 256kx32 GTI2

IN

FPGA GTI1

Contours

FPGA GTI2

OUT

Mmoire 256kx32

Exec. Fermeture 1 / Conf. Fermeture 2


GTI1 BC Mmoire 256kx32 GTI2

IN

FPGA GTI1

Fermeture 1

FPGA GTI2

OUT

Mmoire 256kx32

Exec. Fermeture 2 / Conf. rgion 1


GTI1 BC Mmoire 256kx32 GTI2

IN

FPGA GTI1

Fermeture 2

FPGA GTI2

OUT

Mmoire 256kx32

Exec. Rgion 1 / Conf. rgion 2


GTI1 BC Mmoire 256kx32 GTI2

IN

FPGA GTI1

Rgion 1

FPGA GTI2

OUT

Mmoire 256kx32

Exec. Rgion 2 / Conf. Deriche 1


GTI1 BC Mmoire 256kx32 GTI2

IN

FPGA GTI1

Rgion 2

FPGA GTI2

OUT

Mmoire 256kx32

Exec. Deriche 1 / Conf. Deriche 2


GTI1 BC Mmoire 256kx32 GTI2

IN

FPGA GTI1

Deriche 1

FPGA GTI2

OUT

Mmoire 256kx32

ARDOISE : Estimation de performances

Application de segmentation dimages

7 Des FPGA aux SOPC Systems On Programmable Chips


Les applications susceptibles d'tre intgres dans des FPGA (ou dans des systmes configurables) gagnent en complexit et en densit. La granularit des architectures FPGA ne suffit plus pour le dveloppement des applications : - multiplieurs, mmoires, E/S rapides (Xilinx Virtex) - blocs Mult-Accu-Reg pour le traitement du signal (Altera) De plus en plus d'applications ncessitent des ressources programmables classiques sous forme de processeurs (RISC ou DSP)

7.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 complte de la plate-forme !

Mmoire

PPC 405

Ethernet I/O
Internal Configuration Acces Port

7.2 Architecture des Virtex4-multiPlatform


Virtex-4 LX FPGA Devices

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 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

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

7.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,312

19,224

41,904

56,880

142,128

Block RAM/FIFO w/ECC (18 kbits each)

36

68

144

232

552

Total Block RAM (kbits)

648

1224

2,592

4,176

9,936

Digital Clock Managers (DCM) Phase-matched Clock Dividers (PMCD)

12

20

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

12

16

24

Configuration Memory Bits

5,017,088

7,641,088

15,838,464

22,262,016

50,900,352

Max SelectIO

320

320

448

576

896

7.3 Architecture Excalibur-ARM

7.4 Architecture XPPTM de PACT

Du SOPC au RSoC : Reconfigurable System on Chip

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 CONCLUSION
Lvolution des performances de la technologie reconfigurable rend les RSoC conomiquement faisables et meilleurs candidats pour les machines de type plateformes. 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 de ces machines : OS embarqus temps-rel mthodologies de conception par composants exploitation de la reconfiguration dynamique en ligne

9 PISTES
Le challenge scientifique est aujourdhui de concevoir des plateformes 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

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-formes


Application

OS pour SOC+ARD Interconnexions (rseau, bus...) Communications flexibles noyau noyau noyau noyau noyau Communications flexibles noyau noyau noyau

MV

MM ARD1

MM

MV

MV ARD2

MM

Reconf. HAL

Reconf. HAL

Proc.

DSP

non-reconfigurable

reconfigurable

OS pour ARD
Gestion des communications

entrepot de config.

OS_createMV()

main
OS_createMM()

MODULE MATERIEL

MACHINE VIRTUELLE

PROCESSEUR CENTRAL

rseau de communication flexible


Zone reconfigurable

OS pour ARD
mmoires de tches

PROCESSEUR CENTRAL MODULE MATERIEL MACHINE VIRTUELLE

rseau 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

Premption matrielle
Zone reconfigurable

Modlisation UML des plate-formes

Flot de modlisation, dabstraction et de raffinement

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

Vous aimerez peut-être aussi