LES CIRCUITS FPGA XILINX Concepts de base,...

113
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

Transcript of LES CIRCUITS FPGA XILINX Concepts de base,...

Page 1: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

Les circuits FPGAConcepts de base, architecture et applications

Cours Master Recherche

«S  ystèmes Intelligents et Communicants  »

François Verdierwww-etis.ensea.fr/~verdier/

Université de Cergy-Pontoise Laboratoire ETIS - UMR CNRS 8051

Page 2: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

Plan du coursPlan du cours

1 - Technologie et densité2 - La famille des circuits logiques

2.1 - Les fonctions logiques2.2 - Les technologies

3 - Architecture des FPGA XILINX3.1 - Architecture générale3.2 - Les interconnexions3.3 - Les CLB3.4 - Les IOB3.6 - La configuration des

circuits3.5 - Les canaux de routage3.6 - La mémoire interne3.7 - Configuration des FPGA3.8 - Evolution des produits

4 - Méthodologie de conception4.1 - Le flot de conception4.2 - Les Intelectual Properties4.3 - La production en volume

5 - Applications : Les FCCM5.1 - Exemples de machines5.2 - Le CoDesign

6 - La reconfiguration dynamique7 - Des FPGA aux SOPC

7.1 - Architecture Virtex2-Pro7.2 - Architecture Virtex47.3 - ALTERA Excalibur-ARM7.4 - XPP de PACT

8 - Conclusion9 - Pistes

Page 3: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

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.

Page 4: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

Les techniques de circuit imprimés à trous Les techniques de circuit imprimés à trous traversantstraversants

Carte en fibre epoxy

Pistes de cuivreTrous métallisés

Insertion descomposants

Soudure

Densité limitée par la surface !

Page 5: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

Les techniques de circuit imprimés à Les techniques de circuit imprimés à montage en surfacemontage en surface

Carte en fibre epoxy

Pistes en cuivremulticouches

Dépôt et collagedes CMS

Composants sur les deux faces !

Densité multipliée par 10

Page 6: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

Les contraintes physiques, technologiques et commerciales imposent aujourd'hui la conception de systèmes de plus en plus :

- compacts,- économes en énergie,- rapides à concevoir,- 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, abordable et souple...

Page 7: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

2 - La grande famille des circuits 2 - La grande famille des circuits logiqueslogiques

• La logique standard La logique standard • Les mémoires (RAM, PROM, EPROM...)Les mémoires (RAM, PROM, EPROM...)• Les réseaux logiques programmables (PLA, PLD, Les réseaux logiques programmables (PLA, PLD,

EPLD, CPLD...)EPLD, CPLD...)• réseaux ET/OUréseaux ET/OU• technologie fusibles/anti-fusiblestechnologie fusibles/anti-fusibles

• réseaux logiques programmables sur site (FPGA)réseaux logiques programmables sur site (FPGA)• technologie RAM/SRAMtechnologie RAM/SRAM• logique à LUTlogique à LUT

Page 8: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

2.1 - Les différentes techniques de 2.1 - Les différentes techniques de réalisation dréalisation d’’une fonction logiqueune fonction logique

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

AABBCC

SS

Page 9: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

2.1.1 - La logique standard2.1.1 - La logique standard

• Utilisation de circuits TTL / CMOS ...Utilisation de circuits TTL / CMOS ...

AABBCC

SS

74087408 74327432

densité : <20%densité : <20%

temps : mn à htemps : mn à h

Page 10: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

2.1.2 - La logique à mémoire : LUT2.1.2 - La logique à mémoire : LUT

• à partir dà partir d’’une table de véritéune table de vérité

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

C B A S0 0 0 00 0 1 00 1 0 00 1 1 11 0 0 11 0 1 11 1 0 11 1 1 1

et det d’’une mémoire (8x1bit)une mémoire (8x1bit)

00011111

ABC

S

Page 11: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

2.1.3 - Les connexions 2.1.3 - Les connexions programmables : Les circuits PALprogrammables : Les circuits PAL

réseau de portes ET

réseau de portes OU

ABC

S = A.B + C

LL’’équation se programme sous sa première formeéquation se programme sous sa première formecanonique (somme de produits)canonique (somme de produits)

A.B CConnexions à base

de fusibles

Page 12: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

2.1.4 - Les FPGA 2.1.4 - Les FPGA (Field Programmable Gate Array)(Field Programmable Gate Array)

LUT

LUT

LUT

LUT

Un ensemble de mémoires LUTUn ensemble de mémoires LUT

Un ensemble deUn ensemble dechemins de chemins de routageroutage

A

B

C

ET

OU S = A.B + C

Programmation des mémoiresProgrammation des mémoireset établissement des connexionset établissement des connexions

Page 13: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

2.1.4 - Les FPGA2.1.4 - Les FPGA

A

B

C

ET

OU S = A.B + C

Cellule mémoire

Connexions par transistors MOSConnexions par transistors MOS

Page 14: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

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

Page 15: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

Les circuits FPGA SRAM deviennent des solutions de remplacement avantageuses pour les systèmes numériquesà haute intégration.

Les cycles de développement et de prototypage (test et vérification en conditions réelles) sont accélérés et mêmeconfondus.

Spécification

Conception

Vérification

Réalisation

Page 16: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

3 - Architecture des circuits FPGA 3 - Architecture des circuits FPGA (XILINX)(XILINX)

• Un FPGA réalise une fonction logique complexe. Il est Un FPGA réalise une fonction logique complexe. Il est programmableprogrammable, et , et re-programmablere-programmable dans son dans son environnementenvironnement

• Les circuits FPGA XILINX sont disponibles en de Les circuits FPGA XILINX sont disponibles en de nombreuses configurations de taille, de vitesse et de nombreuses configurations de taille, de vitesse et de prixprix

• Des outils logiciels puissants et automatiques Des outils logiciels puissants et automatiques permettent de réaliser facilement un système sur permettent de réaliser facilement un système sur FPGA.FPGA.

Page 17: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

Evolution de la technologie des circuits Evolution de la technologie des circuits FPGA XILINXFPGA XILINX

198 5 /8 6 1994 1995 1996/97 2000 2001Nom bre deTra nsist ors 8 5 K 3 ,5 M 6 M 1 2 M 7 5 M > 1 0 0 MNom bre de Port es 8 0 0 2 5 K 5 0 K 1 0 0 K 5 0 0 K 1 0 MCouches deMét a l 2 3 3 3 - 4 4 - 5 8

Page 18: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

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

XC6200* 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 différentes « familles » FPGA XILINXLes différentes « familles » FPGA XILINX

* produits obsolètes

Page 19: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

3.1 - Architecture générale3.1 - Architecture générale

• Un FPGA est un réseau (matrice) de Un FPGA est un réseau (matrice) de blocs combinatoires et séquentiels (CLB)blocs combinatoires et séquentiels (CLB)

• Des blocs dDes blocs d’’entrée/sortie (IOB) sont entrée/sortie (IOB) sont associés aux broches du circuitassociés aux broches du circuit

• Les CLB et IOB sont interconnectés entre Les CLB et IOB sont interconnectés entre eux par des dispositifs variéseux par des dispositifs variés

• Les matrices sLes matrices s’’organisent de 8x8 à organisent de 8x8 à 128x120128x120

Page 20: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

3.1 - Architecture générale3.1 - Architecture générale

CLBCLB

IOBIOB

matrices dematrices deconnexionconnexion

lignes delignes deconnectionsconnections

Page 21: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -
Page 22: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

3.2 - Les interconnexions 3.2 - Les interconnexions (directes)(directes)

CLB CLB

CLB CLB

2 ns

5 nsDELAIS DEPENDANTDELAIS DEPENDANT

DU ROUTAGE !!!DU ROUTAGE !!!

Page 23: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

3.2 - Les interconnexions 3.2 - Les interconnexions (matrices)(matrices)

CLB CLB

CLB CLB

Page 24: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

3.2 - Les interconnexions (lignes)3.2 - Les interconnexions (lignes)

CLB CLB

CLB CLB

Page 25: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

3.3 - Structure des CLB 3.3 - Structure des CLB

• Une table de transcodage combinatoire (LUT) Une table de transcodage combinatoire (LUT) pouvant implanter :pouvant implanter :– deux fonctions indépendantes à 4 variablesdeux fonctions indépendantes à 4 variables– une fonction complète à 5 variablesune fonction complète à 5 variables– une fonction incomplète à 6 variablesune fonction incomplète à 6 variables

• Deux cellules séquentielles (bascules D)Deux cellules séquentielles (bascules D)• Des multiplexeurs de configurationDes multiplexeurs de configuration

Page 26: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

3.3.1 - Structure d3.3.1 - Structure d’’un CLB 3000un CLB 3000

Page 27: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

3.3.2 - Structure d3.3.2 - Structure d’’un CLB 4000un CLB 4000

Page 28: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

3.3.3 - Structure d3.3.3 - Structure d’’un CLB un CLB SPARTANSPARTAN

Page 29: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

3.4 - Structure des IOB 3.4 - 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

Page 30: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

3.4.1 - Structure des IOB (XC3000) 3.4.1 - Structure des IOB (XC3000)

Page 31: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

3.4.2 - Structure des IOB (XC4000)3.4.2 - Structure des IOB (XC4000)

Page 32: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

3.4.3 - Structure des IOB 3.4.3 - Structure des IOB (SPARTAN)(SPARTAN)

Page 33: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

3.5 - Canaux de routage3.5 - Canaux de routage

Page 34: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

Routage inter-CLB

Matrices d'interconnexions(Programmable Switch Matrix)

Page 35: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

3.6 - Utilisation des CLB en 3.6 - Utilisation des CLB en mémoiresmémoires

Page 36: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -
Page 37: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

3.7 - Configuration des FPGA3.7 - 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, plusieurs FPGAs peuvent être chaînés en mode maître/esclave.

Page 38: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

Mode de configuration série (EEPROM série)Mode de configuration série (EEPROM série)

Circuit «principal» Circuits en «daisy chain»

Page 39: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

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

Page 40: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

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

Page 41: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

3.8 - Evolution des produits 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

Page 42: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

La technologie évolue (premier FPGAavec une technologie 0.25 microns)et la densité des circuits augmente...

...tandis que la consommation diminue

3.8.1 - XC4000X 3.8.1 - XC4000X

Page 43: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

Fréquences inter-circuits Fréquences intra-ciruits

Les performances augmentent avecla finesse de la technologie

3.8.1 - XC4000X 3.8.1 - XC4000X

Page 44: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

Les produits XC4000(X)

Page 45: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

CLB Logic Block SelectRAMDevice # gates Array Cells RAM bits bits Max I/O

XCV50 58K 16 x 24 1728 32768 24576 180XCV100 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 316XCV400 468K 40 x 60 10800 81920 153600 404XCV600 661K 48 x 72 15552 98304 221184 512XCV800 888K 56 x 84 21168 114688 301056 512XCV1000 1.1M 64 x 96 27648 131072 393216 512

3.8.2 - La famille VIRTEX 3.8.2 - La famille VIRTEX

Page 46: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

Accélération des délais

de routage

Avec la densité qui augmente,intégration de la notion d'« Intelectual Properties »(IP = Macro-Cellules tierces)

3.8.3 - La famille VIRTEX-II 3.8.3 - La famille VIRTEX-II

Page 47: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

Vaste choix de formats et de standards d'entrées/sorties grâceaux canaux différentiels configurables

Technologie plus rapide :certaines applications DSPdeviennent concurentielles

3.8.3 - La famille VIRTEX-II 3.8.3 - La famille VIRTEX-II

Page 48: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

Protection de la propriété industrielle : le Reverse Engineering est impossible

3.8.3 - La famille VIRTEX-II 3.8.3 - La famille VIRTEX-II

Page 49: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

3.8.3 - La famille VIRTEX-II 3.8.3 - La famille VIRTEX-II

CLB SelectRAMDevice # gates Array SlicesMax RAM KbitsMultipliers Kbits Max I/O

XC2V40 40K 8 x 8 256 8 4 72 88XC2V80 80K 16 x 8 512 16 8 144 120XC2V250 250K 24 x 16 1536 48 24 432 200XC2V500 500K 32 x 24 3072 96 32 576 264XC2V1000 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 1108XC2V10000 10M 128 x 12061440 1920 192 3456 1108

Page 50: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

3.8.3 - Architecture VIRTEX-II 3.8.3 - Architecture VIRTEX-II

Matrice de « Slices »

Blocs d'E/SBlocs de mémoire Multiplieurs 18x18

Générateurs d'horloge

Page 51: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

4 - Méthodologie de conception 4 - Méthodologie de conception

Les systèmes à concevoir devenant de plus en plus complexes, les types de descriptions deviennent de plus en plus variés :

- schémas,- VHDL structurel, fonctionnel,- ABEL (machines à états), Verilog,- code C / C++ ?

Plus les systèmes deviennent complexes à concevoir, plus les étapes de vérification sont nécessaires :

- simulation fonctionnelle,- analyse des timings (chemins critiques),- simulation post-routage (temporelle),...

Avec l'augmentation de la densité des circuits, les notions de placement géométrique deviennent indispensables :

- floorplanning

Page 52: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

4.1 - Le flot de conception4.1 - Le flot de conception1- Description du système :

- Schémas (hiérarchie),- code VHDL (Verilog, ABEL)

2- Compilation du code VHDL :- synthèse si code fonctionnel

3- Simulation fonctionnelle :- vérification 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- Vérification finale :- simulation temporelle,- configuration / validation

Page 53: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -
Page 54: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -
Page 55: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -
Page 56: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -
Page 57: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -
Page 58: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

Les IP sont des macro-celulles (pré-placées et/ou pré-routées)disponibles comme des cellules de bibliothèque proposant sousforme de « boites noires » des fonctions complexes entièrementsimulables et respectant la propriété industrielle.

On transpose directement la méthodologie de conception d'unsystème complexe (associant logique discrète, composantsstandards, circuits spécifiques) dans un seul circuit FPGA...

La description complète du système associe saisie de schémas,spécifications de haut niveau (structurelle et/ou fonctionnelle)en langage VHDL ou Verilog et langage C.

4.2 - Les 4.2 - Les Intelectual Properties (IP)Intelectual Properties (IP)

Page 59: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

SpécificationC

SpécificationVHDL

Bibliothèquestandard

BibliothèqueIP

COMPILATEUR

PLACE & ROUTE

Rétro-annotationtemporelle

Simulation

Modèle decomposant

Programmationdu composant

Validation

Page 60: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

Les bibliothèques dLes bibliothèques d'Intelectual Properties'Intelectual Properties

IP Type Provider

C2 91 0a Microprogram cont roller CAST Inc.C8051 Micro Cont roller CAST Inc.ARC32 32-bit Conf igurable ARC Cores

RISC ProcessorD80530 8 -bit Micro Cont roller CAST Inc.C2 901 Microprocessor Slice CAST Inc.W 65C02 S Micro Processor West ern Design Cent erM ini-RISC Micro Processor OpenCores.orgOpenRISC-1 000 RISC Processor OpenCores.orgLavaCORE Jav a Microprocessor Deriv at ion Syst em Inc.Free -RISC8 Microprocessor The Free IP ProjectLEON-1 SPARC-com pat ible European Space Agency

Micro Processor (ESA)

Page 61: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

Les bibliothèques dLes bibliothèques d'Intelectual Properties'Intelectual Properties

IP Applicat ion

Encodeur Reed-Solom on Transm ission de données

Décodeur Reed-Solom on Transm ission de données

Inter face PCI-X Bus de com m unicat ion

Cont rôleur HDLC Connect ion couche physique

Codeur /décodeur ADPCMTransm ission, com pression

Page 62: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

4.3 - La production en volume : HardWire4.3 - La production en volume : HardWireTMTM

Le coût de production d'une solution sur FPGA devientconsidérable sur de grands volumes. Le surcoût introduitpar les capacités de re-programmabilité devient prohibitif.

=> Transformation FPGA -> ASIC (Gate Array)

La technologie HardWireTM permet le passage d'une versionprototype (reprogrammable) validée à une version de

production en grande série.

Les cibles FpgASIC sont totalement compatibles et vérifiées.

Volume

Durée de vie du produit

Fin de vie

Début de production

FPGA FPGACircuits FpgASIC

HardWire

Page 63: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

5 - Application des FPGAs :5 - Application des FPGAs :Les machines (re)configurablesLes 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.

Les FCCM (FPGA-based Custom Computing Machines) deviennent de réels (co)processeurs de calcul optimisés.

Des traitements coûteux deviennent possibles : le temps-réel embarqué devient possible (codage/décodage, TI, TS, etc..).

Page 64: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

FPGA

FPGA

FPGA

FPGA

Mem. Mem.

Mem.

Processeurhôte

Le concept de FCCMLe concept de FCCM

Plusieurs circuits FPGARéseau d'interconnexion

Mémoiresde travail

Page 65: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

Machine FPGA Processeur Mémoire Bus

9204/FPGA 2 x XC4025 T9000 64Ko + 8Mo Transput er DS-LinkDVC1 2 x XC4013 1Mo + FIFOs SbusEDgAR-2 4 x XC4013 PCIFunctional Memory Computer8 x XC4010 + 3 x XC4013 1Mo PCILIRMM 2 x XC4013 TMS 320C40 2 x 1Mo ISA ou SbusMARC-1 25 x XC4005 6 Mo SbusMORRPH-ISA 6 x XC4025 DédiéCARMeN VIRTEX XCV1000 ARM 8Mo + 2Mo PCI, CAN, et c...OPART 2 x XC4028EX Pent ium + PPC2Mo + FIFO Com pact PCIARDOISE ATMEL At 40K DSP 2Mo / m odule Dédié

5.1 - Quelques exemples de 5.1 - Quelques exemples de FCCM FCCM

Page 66: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

5.1.1 - La machine ARMEN5.1.1 - La machine ARMENLaboratoire d'Informatique de BrestLaboratoire d'Informatique de BrestUniversité de Bretagne OccidentaleUniversité de Bretagne Occidentale

Processeurs Transputer T805

FPGA XC3090

Page 67: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

5.1.2 - La machine CARMeN5.1.2 - La machine CARMeNSIDSASIDSA

Page 68: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -
Page 69: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

5.2 - Programmation des FCCM : 5.2 - Programmation des FCCM : Le Le CODESIGNCODESIGN

Application

?

DSP Réseau FPGA

Page 70: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

Les projets d'outils de CODESIGNLes projets d'outils de CODESIGN

CO SI IRISA (Rennes) ASIC : Syst em On Ch ipSYN D EX INRIA Trait em en t du signalM CSE IRESTE (Nan t es) Spécif icat ion pou r le CodesignM O SARTS Univ ersit é de Nice-An t ipolis Télécom . : par t it ionnem en t LIRM M Univ ersit é de Mon t pellier Télécom . Sy n t hèse et v ér if icat ionSKIPPER Univ . de Clerm on t -Fer rand Parallélisat ion de code en TICO SM O S TIMA (Grenoble) IP + processeu rs classiquesPO LIS Univ . de Berkeley Concept ion m ix t e / FSMCO W ARE Belgique IP et st andardisat ionCod e X Univ . de KaiserSlau t ern Réseaux m ix t es syst oliquesCH IN O OK Univ . de Wash ingt on Sy st èm es m ix t es indust r iels

Form alisat ion des langages de descr ipt ion :

H a n d e 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 + FPGASyst e m C COWARE / Fron t ier / Sy nopsy sLangage et com pilat eu r C+ + m ix t e

Page 71: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

5.2.1 - Les problèmes ouverts du 5.2.1 - Les problèmes ouverts du CoDesignCoDesign

Spécification de haut niveau(C, C++)

Analysedu code

Bibliothèquestandard et IP

Extractiondu parallélisme

Analyse des dépendancesde données

Analyse des ressoucesmémoire

Compilateurséquentiel

DSP

Place / RouteFPGA

Gestion descommunication

s

Modèled'architecture

Page 72: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

5.2.2 - Le flot classique de conception5.2.2 - Le flot classique de conception

Modèle niveau systèmeC / C++

ANALYSE

Résultats de test

Dév

elop

pem

ent

DescriptionVHDL / Verilog

SIMULATION

SYNTHESE

Traduction

Page 73: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

5.2.2 - Un nouveau standard : SystemC5.2.2 - Un nouveau standard : SystemCTMTM

(Synopsys + CoWare + Frontier Design : (Synopsys + CoWare + Frontier Design : www.systemc.orgwww.systemc.org))

Modèle SystemC

Amélioration

Modèle temporel

Partitionnement

Modèle Bus

Amélioration

Modèle cyclesynthétisable

Modèle abstrait RTOS

Amélioration

Cible RTOS

Essais d'architectures

Analyse de performances

Harware / Software

Page 74: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

6 – La Reconfiguration Dynamique des FPGA6 – 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é

Page 75: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

ARDOISE : Architecture Reconfigurable Dynamiquement Orientée Image et Signal Embarqué

La machine ARDOISE (Atmel)La machine ARDOISE (Atmel)Action incitative inter-GDR (ETIS)Action incitative inter-GDR (ETIS)

Prototype d’un module

Carte mère + 3 modules

Page 76: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

Objectifs du projet ARDOISEObjectifs du projet ARDOISE

1. 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, flexibilité des

architectures programmables2. 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)

Page 77: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

Ac quisition, traitementet visualisation en temps réel

• Proc esseur front-end de c ontrôle des c onfigurations ADSP SHARC 21161• Rec onfiguration partielle et dynamique des c irc uits FPGA ATMEL AT40K40

Page 78: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

Architecture d’ARDOISE :Architecture d’ARDOISE :

Page 79: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

ARDOISE = application du principe de ARDOISE = application du principe de reconfiguration dynamique en traitement reconfiguration dynamique en traitement

d'images :d'images :

Image i

Image i-1

Image i-2

Image i+1

op1 op2

op1

Page 80: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

Conf. Deriche1

FPGA

GTI1

FPGA

GTI2

GTI1 GTI2

Deriche 1

Mémoire

256kx32

Mémoire

256kx32

BC

IN OUT

Page 81: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

Exec. Deriche1 / Conf. Deriche 2

FPGA

GTI1

FPGA

GTI2

GTI1 GTI2

Deriche 1

Mémoire

256kx32

Mémoire

256kx32

BC

IN OUT

Page 82: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

Exec. Deriche 2 / Conf. Contours

FPGA

GTI1

FPGA

GTI2

GTI1 GTI2

Deriche 2

Mémoire

256kx32

Mémoire

256kx32

BC

IN OUT

Page 83: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

Exec. Contours / Conf. Fermeture 1

FPGA

GTI1

FPGA

GTI2

GTI1 GTI2

Contours

Mémoire

256kx32

Mémoire

256kx32

BC

IN OUT

Page 84: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

Exec. Fermeture 1 / Conf. Fermeture 2

FPGA

GTI1

FPGA

GTI2

GTI1 GTI2

Fermeture1

Mémoire

256kx32

Mémoire

256kx32

BC

IN OUT

Page 85: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

Exec. Fermeture 2 / Conf. région 1

FPGA

GTI1

FPGA

GTI2

GTI1 GTI2

Fermeture2

Mémoire

256kx32

Mémoire

256kx32

BC

IN OUT

Page 86: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

Exec. Région 1 / Conf. région 2

FPGA

GTI1

FPGA

GTI2

GTI1 GTI2

Région1

Mémoire

256kx32

Mémoire

256kx32

BC

IN OUT

Page 87: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

Exec. Région 2 / Conf. Deriche 1

FPGA

GTI1

FPGA

GTI2

GTI1 GTI2

Région2

Mémoire

256kx32

Mémoire

256kx32

BC

IN OUT

Page 88: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

Exec. Deriche 1 / Conf. Deriche 2

FPGA

GTI1

FPGA

GTI2

GTI1 GTI2

Deriche 1

Mémoire

256kx32

Mémoire

256kx32

BC

IN OUT

Page 89: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

ARDOISE : Estimation de performancesARDOISE : Estimation de performances

Page 90: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

Application de segmentation d’imagesApplication de segmentation d’images

Page 91: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

7 – Des FPGA aux SOPC7 – Des FPGA aux SOPCSystems On Programmable ChipsSystems 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é.

La granularité des architectures FPGA ne suffit plus pour le développement des applications :

- multiplieurs, mémoires, E/S rapides (Xilinx Virtex)- 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)

Page 92: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

7.1 – Architecture des Virtex2-Pro7.1 – Architecture des Virtex2-Pro

TransceiversRocketIO 622 Mbps

TransceiversRocketIO 622 Mbps

TransceiversRocketIO 622 Mbps

TransceiversRocketIO 622 Mbps

Architecture FPGAVitexII

Processeur PowerPC32 bits 400MHz

Page 93: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -
Page 94: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

7.1 – Architecture des Virtex2-Pro7.1 – Architecture des Virtex2-Pro

PPC405

Page 95: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

7.1 – Architecture des Virtex2-Pro7.1 – Architecture des Virtex2-Pro

PPC405

EthernetI/O

Mémoire

Internal ConfigurationAcces Port

Auto-reconfiguration complète de la plate-forme !

Page 96: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

7.2 – Architecture des Virtex4-multiPlatform7.2 – Architecture des Virtex4-multiPlatform

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 LX FPGA Devices

Virtex-4 SX FPGA Devices

Virtex-4 FX FPGA Devices

Page 97: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

7.2 – Architecture des Virtex4-multiPlatform7.2 – Architecture des Virtex4-multiPlatform

Virtex-4 LX FPGA Device Combinations

960960960768640640448320Max SelectIO™

50,648,44841,863,29631,818,62424,101,44018,315,52012,647,6808,037,3124,875,392Configuration Memory Bits

----------------RocketIO™ Serial Transceivers

-----------------10/100/1000 Ethernet MAC Blocks

----------------PowerPC™ Processor Blocks

9696968064644832XtremeDSP™ Slices

480480480384320320224160Max Differential I/O Pairs

88884440Phase-matched Clock Dividers (PMCD)

121212128884Digital Clock Managers (DCM)

6,0485,1844,3203,6002,8801,7281,296864Total Block RAM (kbits)

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

200,448152,064110,59280,64059,90441,47224,19213,824Logic Cells

XCE4LX200

XCE4VLX160

XCE4VLX100

XCE4VL80

XCE4VLX60

XCE4VLX40

XCE4VLX25 --

EasyPath™ Cost Reduction Solutions

XC4VLX200

XC4VLX160

XC4VLX100

XC4VLX80

XC4VLX60

XC4VLX40

XC4VLX25

XC4VLX15Feature/Product

Page 98: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

7.2 – Architecture des Virtex4-multiPlatform7.2 – Architecture des Virtex4-multiPlatform

Virtex-4 SX FPGA Device Combinations

640448320Max SelectIO

24,088,32014,476,6089,651,072Configuration Memory Bits

------RocketIO Serial Transceivers

------10/100/1000 Ethernet MAC Blocks

------PowerPC Processor Blocks

512192128XtremeDSP™ Slices

320224160Max Differential I/O Pairs

440Phase-matched Clock Dividers (PMCD)

884Digital Clock Managers (DCM)

5,7603,4562,304Total Block RAM (kbits)

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

55,29634,56023,040Logic Cells

XCE4VSX55

XCE4VSX35

XCE4VSX25 EasyPath Cost Reduction Solutions

XC4VSX55

XC4VSX35

XC4VSX25Feature/Product

Page 99: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

7.2 – Architecture des Virtex4-multiPlatform7.2 – Architecture des Virtex4-multiPlatformVirtex-4 FX FPGA Device Combinations

896576448320320Max SelectIO

50,900,35222,262,01615,838,4647,641,0885,017,088Configuration Memory Bits

24161280RocketIO Serial Transceivers

4442210/100/1000 Ethernet MAC Blocks

22211PowerPC Processor Blocks

192128483232XtremeDSP™ Slices

448288224160160Max Differential I/O Pairs

88400Phase-matched Clock Dividers (PMCD)

2012844Digital Clock Managers (DCM)

9,9364,1762,5921224648Total Block RAM (kbits)

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

142,12856,88041,90419,22412,312Logic Cells

XCE4VFX140

XCE4VFX60

XCE4VFX40

XCE4VFX20 --EasyPath Cost

Reduction Solutions

XC4VFX140

XC4VFX60

XC4VFX40

XC4VFX20

XC4VFX12Feature/Product

Page 100: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

7.3 – Architecture Excalibur-ARM7.3 – Architecture Excalibur-ARM

Page 101: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -
Page 102: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

7.4 – Architecture XPP7.4 – Architecture XPPTMTM de PACT de PACT

Page 103: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

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

Page 104: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

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, maîtrisée et les concepts de configuration statique largement acceptés.

Les SOPC et RSoC deviennent de plus en plus intégrés, parallèles et hétérogènes. Leurs applications se déplacent progressivement vers le temps réel «  mou  » et «  dur  ».

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…

8 – CONCLUSION8 – CONCLUSION

Page 105: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

9 – PISTES9 – PISTES

Le challenge scientifique est aujourd’hui de concevoir des plate-formes embarquées totalement autonomes dotées des capacités de reconfiguration partielle dynamique (RSoC).

Complexité architecturale + complexité des applications + hétérogénéité des ressources + HW/SW

= nouvelles méthodologies de conception

Page 106: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

Applications : radio-logicielle, plate-formes multimédia portables, contrôle/commande embarqué…

Ressources : processeurs RISC (ARM, PPC), processeurs DSP, µContrôleurs, mémoire(s), bus, réseaux, IP dédiées, ARD, I/O

Concepts : Reconfiguration dynamique (ARD), routage dynamique (réseaux), SW+HW, RTOS,

parallélisme, séquentiel, reprogrammabilité «  en ligne  », qualité de service…

Méthodes : Génie logiciel, modélisation, concepts objets, portabilité, validation à haut niveau

Page 107: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

ARD1 ARD2DSPProc.

Reconf. HAL Reconf. HAL

MV MM MM MV MV MMnoyau noyau noyau noyau noyau noyau

Communications flexibles Communications flexibles

noyau noyau

Interconnexions (réseau, bus...)

OS pour SOC+ARD

reconfigurablenon-reconfigurable

Application

Modèle logiciel des plate-formesModèle logiciel des plate-formes

Page 108: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

OS pour ARD

PROCESSEUR CENTRAL

MACHINE VIRTUELLEMODULE MATERIEL

main

entrepotde config.

OS_createMV()

OS_createMM()

Zone reconfigurable

Gestiondes

communications

réseau de communicationflexible

Page 109: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

OS pour ARD

PROCESSEUR CENTRAL

mémoiresde tâches

MODULE MATERIEL MACHINE VIRTUELLE

réseau de communicationflexible

Zone reconfigurable

Page 110: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

OS pour ARD

PROCESSEUR CENTRAL

changement de contexte

changementsde contexte

Migration

soft / soft

Migrationhard / soft

Préemptionmatérielle

MODULE MATERIEL MACHINE VIRTUELLE

Zone reconfigurable

Ordonnancement

Page 111: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

Modélisation UML des plate-formesModélisation UML des plate-formes

Page 112: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

Flot de modélisation, d’abstraction et de raffinementFlot de modélisation, d’abstraction et de raffinement

Page 113: LES CIRCUITS FPGA XILINX Concepts de base, …bertrand.granado.free.fr/Master/AAA/cours_Xilinx_2006.pdf · 2 - La famille des circuits logiques 2.1 - Les fonctions logiques 2.2 -

http://oversoc.ensea.frhttp://oversoc.ensea.frProjet ANR 2005-2008Projet ANR 2005-2008