Circuits logiques programmables

Circuits logiques programmables

Les composants programmables PLAN I. Introduction II. Les mmoires vives III. Les mmoires mortes IV.

volution des composants programmables V. Les FPGA I INTRODUCTION Il existe deux grandes familles de circuits logiques programmables : Les mmoires mortes programmables appeles PROM Les PLD (programmable logic device) Quelques rappels : Les mmoires Une mmoire est un lment de stockage dinformation

Les bits stocks sont organiss sous forme de matrice: la dimension de la mmoire est donne par le nombre de lignes fois la largeur de la ligne Chaque ligne de la mmoire est appele un mot. Elle est identifie par une adresse (numro de la ligne) Le nombre de lignes est toujours une puissance de deux Deux oprations sont possibles, sur un mot complet: La lecture (read) et lcriture (write) Classification des mmoires II Les Mmoires Vives : RAM Random Acces Memory, mmoires vives Des mmoires contenant des programmes et des

donnes Information disponible tant que le courant est prsent 2 types de RAM: StaticRAM ET DynamicRAM Statique Ram: Un bit = une bascule D (4 transistors) Dynamique Ram : Un bit = une capacit (1 transistor) RAM Statique data \data 1 2 mem 2 select

1 RAM Statique : simulation un CI Ram de 4 mots de 4 bits NB: Les signaux cs et wr sont actifs 0 (niveau bas) Addition horizontale de CI pour augmenter le nombre de bits d un mot Une mmoire de 4 mots de 8 bits chacun Addition verticale de CI pour augmenter le nombre de mots

SRAM de 8 mots de 4 bits LES RAM DYNAMIQUE (DRAM) Info stocke dans un condensateur sous forme de charge lectrique Plus grande intgration mais ncessite des oprations de rafrachissement. Rafrachissement= lire le bit et le rcrire environ toutes les 10nsec Avec rafrachissement Tension en volts 5 1 3 2

0 temps 0 RAM dynamique Un seul transistor : gain de place Cycle complexe de lecture Lecture puis r-criture Cycle de rafrachissement data

select Prsentation des DRAM SIMM Single In line Memory Module III Les Mmoires mortes: Read Only Mmory Les donnes ne peuvent tre que lues Lcriture se fait soit lors de la fabrication ou ncessite un matriel spcialis. La donne est retenue mme en absence du courant (donne non volatile) 1 Les diffrentes familles de PROM 2) PROM: Programmable ROM ROM programmable par l'utilisateur une

seule fois: 1 point mmoire = fusible EPROM: PROM effaable plusieurs fois Effacement = soumettre l Eprom un rayonnement ultraviolet (UVPROM) ou un courant lectrique EEPROM env 15 min Lcriture ncessite env un temps 1000 + grand que dans une Ram a) PRINCIPE DES PROM A FUSIBLE Structure : ET fixes (les circuits de dcodage d'adresse) OU programmables (les donnes places dans la mmoire).

A D R E S S E S 00 01 10 11 Zone mmoire ROM (suite)

ROM (suite) Bit Word Fusible - mtallique (obsolte) - polysilicium Le transistor fait fusible PRINCIPE DES PROM A FUSIBLE Lorsque la mmoire est livre tous les fusibles sont intacts. Elle ne contient alors que des l. La programmation va consister faire sauter les fusibles aux emplacements o on souhaite mmoriser des 0 en utilisant une haute tension (gnralement 12 volts), pour faire sauter le ou les fusibles. Les PROM fusibles sont en voie de disparition

Fusibles mtalliques ou Si Lignes mtalliques : interconnexions Intact Programm Mme structure en ligne polysilicium Ou Transistor grillable joue le rle de fusible Rem : Antifusibles UV-PROM b) PRINCIPE DES UVPROM chaque cellule mmoire lmentaire est constitue d'un transistor MOS dont la grille de commande est totalement

isole dans une couche d'oxyde. Par application d'une tension suffisamment leve, qui est appele tension de programmation, on cr des lectrons chauds ou lectrons ayant une nergie suffisante pour passer au travers de cet isolant. Ces charges s'accumulent alors sur cette grille isole o elles se trouvent piges. La cellule mmoire est programme. Grille isole Grille de contrle Isolant

UV-EPROM / EEPROM Non-volatile SAMOS : Stacked MOS Dure de rtention La qualit de l'isolant tant excellente, la dure de rtention des charges atteint au minimum 10 ans 70 C, c'est--dire jusqu' 100 fois plus 25 C Effacement On expose la puce un rayonnement ultraviolet. Les photons, communiquent leur nergie aux lectrons et leur font franchir la barrire en sens inverse c) Principe des EEPROM

Ce sont des PROM effaables lectriquement octet par octet si ncessaire. Les EPROM FLASH sont effaables globalement et sont plus rapides et plus simples (1 CMOS par bit) que les EEPROM. Toutes deux sont programmables en circuit. d) Les Mmoires FLASH Mmoires Non volatiles, rcriture possible (100 000), capacit 100 Mbytes. Mme structure qu une Ram quip d une alim. de faible consommation Contrairement au Ram, effacement par bloc de donne et non par octet Grande tolrance au chocs, extrmes tempratures, envi avec beaucoup de perturbation Utilisation: Camras digitaux, tlphones mobiles,

Imprimantes, Pc portables, Applications militaires Comparaison IV volution du march des composants programmables De plus en plus prsent dans le quotidien Ordinateurs, PDA GSM,GPRS,UMTS, GPS TV numrique Electronique embarque dans lautomobile

Baladeurs CD/MP3 DVD Traitement du signal Standard Les standards facilitent cette volution vers lintgration de services : PDA + GSM GSM + MP3 UMTS + MPEG4 + MP3 + Hiperlan2 + ... Plus de performance GSM =>GPRS =>EDGE =>UMTS Bluetooth 11 Mbits/s =>Hiperlan2 54 Mbits/s Rduire le time to market Les produits ont une dure de vie de plus en plus faible

Rduire le time to market Rutilisation pour concevoir dautres produits (rentabiliser) REUTILISATION Approche retenue pour limiter les cots Conception dun SOC partir de blocs prdfinis : Intellectual Properties Notion dIP (Intellectual Property) Blocs fonctionnels complexes rutilisables Hard: dj implant, dpendant de la technologies, fortement optimis Soft: dans un langage de haut niveau (VHDL, Verilog, C++), paramtrables Normalisation des interfaces Environnement de dveloppement (co-design, cospecif, co-verif)

Performances moyennes (peu optimis) Utilisation dIP Bloc rutilisable (IP) connatre les fonctionnalits estimer les performances dans un systme tre sr du bon fonctionnement de lIP intgrer cet IP dans le systme valider le systme MERCI ...

ARCHITECTURES CONCEPTION DES UTILISATION FPGA PLAN I. Introduction, historique II. FPGA vs ASIC

III. Architecture et conception des FPGA IV. La configuration des FPGA V. Famille de FPGA Altera VI. Famille de FPGA Xilinx VII.

Autres Exemples de FPGA VIII. Utilisation des FPGA, CAO IX. CoDesign, SORC et nouvelles X. Architectures reconfigurables gros grains Conclusion I. INTRODUCTION

Dfinition FPGA : Field Programmable Gate Array En franais : Composant, constitu dun ensemble de ressources logiques lmentaires configurables pouvant tre mises en relation par un rseau dinterconnexions aussi configurable Historique IXme av JC Les chinois comptent avec un boulier ! 1640 Blaise Pascal, invente une machine mcanique additionner et soustraire 1875

Sir J.W. Swan, tube incandescence 1940 Utilisation des premires PLL (principe tudi en 1932 par Bellescize) 1946 ENIAC 1er calculateur lectronique (18 000 tubes, tient dans un hall de 10*17m) Von Neumann prsente le concept de programme enregistr 1948 Bardeen, Brattain et Shockley (Bells Labs) inventent le transistor bipolaire 1er ordinateur le SSEC dIBM 1950

1er circuit reconfigurable the fuse configurable diode matrix Harris Semiconductor 1958 Jack Kibly invente le circuit intgre, brevet Texas Fairchild dpose un brevet sur la fabrication des CI par procd Planar 1962 Famille TTL Historique 1968 Famille MOS Robert Noyce et Gordon Moore crer une startup : intel 1er PLA read only associative memory ROAM IBM

1969 Neil Amstrong marche sur la Lune 1970 Introduction du terme PAL Texas Instrument 1re ROM, Harris Semiconductor 1971 intel, 1er UV-PROM (effaable par UV) 1972 Intel, 1er processeur : 4004

1973 Andr Truong et Francis Grenelle mettent au point et commercialisent le 1er micro-ordinateur du monde, le Micral, made in France ! 1975 Un certain Bill Gates fonde une petite socit dinformatique : Microsoft 1978 1re famille PAL commerciale, MMI 1980 Premiers microprocesseurs 32 bits chez intel et Motorola 1981

IBM lance le PC Historique 1983 1er GAL effaable lectriquement, Lattice 1984 Apple lance le Macintosh 1984 Introduction du FPGA par XILINX : le XC2000 (de 600 1500 portes) cration de la socit ALTERA Technologie CMOS UV-EPROM

1985 mise sur le march du 1er FPGA XILINX 1992 1er FPGA Altera : le Flex 8000 (15 000 portes max) 1993 Technologie EEPROM 2001 Lancement du Virtex II Xilinx (jusqu 10 millions de portes) 2005

FPGA avec des capacits suprieures 50 millions de portes fonctionnant des frquences surpassant les 500 MHz March des FPGA REVENUS NETS DE XILINX ET ALTERA 1200000 REVENUS NETS EN $ 1000000 800000 600000 400000

200000 0 1991 1992 1993 1994 1995 1996 ANNEE XILINX

ALTERA 1997 1998 1999 2000 March des FPGA PARTS DE MARCHE DES FABRICANTS DE FPGA 40 35 30

25 Xilinx Altera Lattice Other Actel % 20 15 10 5 0

1998 1999 ANNEE 2000 March des FPGA PARTS DE MARCHE DES FABRICANTS DE FPGA POUR 2000 Other 8% Actel 6% Xilinx 38%

Lattice 14% Altera 34% volution de la technologie volution volution de de la la technologie technologie Technologie : Taille relative : Anne :

0.6 trois couches de mtal 100% 0.5 trois couches de mtal 78% 1994 1995 0.18 0.35 0.25 quatre couches cinq couches six couches

de mtal de mtal de mtal 32% 19% 12% 1996 1998 1999 2002 : techno cuivre 0.13 m 8 couches de mtal 2004 : techno cuivre 0.09 m 12 couches de mtal (200 000 portes/mm)

volution de la technologie La technologie cuivre (aujourdhui matrise) permet daugmenter la rapidit des circuits donc daugmenter les frquences de fonctionnement Cots de production 300 mm 200 mm Laugmentation de la taille des wafers de 200mm 300mm permet des conomies dchelles => Pour un cot gal 1.9 fois celui dun wafers 200 mm

Intgration de 2.3 2.5 fois plus => diminution des prix de reviens Problmes techniques Pourcentage de perte la fabrication du laugmentation de la taille des wafers (de 200 300 mm) => 300 mm 200 mm Ressources surnumraires dconnectables permettent de prvoir le % de perte la fabrication 1,2 1

(Source : Altera) INDICE PRIX PAR ELEMENT LOGIQUE volution des prix Le prix par lment logique diminue de 40 % par an 0,8 0,6 0,4 0,2 0 1995 1996

1997 1998 1999 2000 volutions Prix (de llment logique) - 46% par an Densit (logique) + 55% par an

Vitesse (frquence systme) + 35% par an volutions Daprs Xilinx, en 2005 les plus gros FPGA auront des capacits de 50 millions de portes des complexits de 2 billions de transistors utilisant des technologies 70 nm avec 12 couches de mtallisations (cuivre) avec des curs de microprocesseurs cbls cadencs 1GHz FPGA ?

ASIC Taxonomie des CI (HARD) ASIC CUSTOM SEMI-CUSTOM Circuits Circuits Circuits Circuits sur mesure

prcaractriss prdiffuss configurables Full Custom Standard ASIC cell Sea of gate

Gate array SRAM ASIC : Application Specific Integrated Circuit FPGA : Field Programmable Gate Array CPLD : Complex Programmable Logic Device PAL

: Programmable Array Logic GAL : Generic Array Logic = PAL SRAM : Static Random Access Memory FPGA CPLD Antifuse PLD

PAL ASIC Full Custom ASIC CUSTOM SEMI-CUSTOM Circuits Circuits Circuits Circuits

sur mesure prcaractriss prdiffuss configurables Full Custom Standard cell Sea of gate Gate

array SRAM ASIC : Application Specific Integrated Circuit FPGA CPLD Antifuse PAL ASIC Full Custom Au dpart

Au final SPECIFICATIONS + ASIC Standard Cell ASIC CUSTOM SEMI-CUSTOM Circuits Circuits

Circuits Circuits sur mesure prcaractriss prdiffuss configurables Full Custom Standard cell

Sea of gate Gate array SRAM ASIC : Application Specific Integrated Circuit FPGA CPLD Antifuse PAL

ASIC Standard Cell Au dpart BIBLIHOTEQUE DELEMENTS PRE-CARACTERISES SPECIFICATIONS + + Au final ASIC Gate Array ASIC

CUSTOM SEMI-CUSTOM Circuits Circuits Circuits Circuits sur mesure prcaractriss prdiffuss

configurables Full Custom Standart cell Sea of gate Gate array SRAM ASIC : Application Specific Integrated Circuit

FPGA CPLD Antifuse PAL ASIC Gate Array Au dpart Au final SPECIFICATIONS +

Il est possible aussi dutiliser des bibliothques de composants pr-caractriss PAL ASIC CUSTOM SEMI-CUSTOM Circuits Circuits Circuits Circuits

sur mesure prcaractriss prdiffuss configurables Full Custom Standart cell Sea of gate Gate

array SRAM PAL : Programmable Array Logic FPGA CPLD Antifuse PAL PAL Matrice de ET ralisant

tous les produits possibles (maxtermes) connecte aux sorties par des OU Grande surface de Si utilise. Ces circuits ne sont plus utiliss aujourdhui CPLD ASIC CUSTOM SEMI-CUSTOM Circuits

Circuits Circuits Circuits sur mesure prcaractriss prdiffuss configurables Full Custom

Standart cell Sea of gate Gate array SRAM CPLD : Complex Programmable Logic Device FPGA CPLD

Antifuse PAL CPLD Les CPLDs regroupent plusieurs PALs interconnects par un rseau de connexions programmables. Les CPLDs sont les prmisses des premiers FPGAs. Ces circuits ne sont plus utiliss aujourdhui car remplacs par les FPGAs.

PAL E/S PAL MATRICE DINTERCONNECTIONS PAL PAL E/S FPGA ASIC

CUSTOM SEMI-CUSTOM Circuits Circuits Circuits Circuits sur mesure prcaractriss prdiffuss

configurables Full Custom Standart cell Sea of gate Gate array FPGA SRAM

FPGA CPLD Antifuse : Field Programmable Gate Array A SUIVRE !!! PAL March des composants CMOS REPARTITION DU MARCHE DES COMPOSANTS LOGIQUES CMOS 45 40

35 30 Standard Cell Other Logic Gate Array Programmable Standard Logic Custom 25 % 20 15

10 5 0 1998 1999 ANNEE 2000 March des composants CMOS MARCHE DES COMPOSANTS LOGIQUES CMOS POUR 2000 Custom 3% Standard Logic

9% Programmable 12% Standard Cell 39% Gate Array 9% Other Logic 28% Comparaison ASIC CARACTERISTIQUES

FPGA GATE ARRAY STANDARD CELL FULL CUSTOM DENSITE FAIBLE MOYENNE MOYENNE GRANDE

FLEXIBILITE GRANDE PETITE MOYENNE GRANDE ANALOGIQUE NON NON OUI

OUI PERFORMANCE FAIBLE MOYENNE BONNE TRES BONNE TRES PETIT MOYEN MOYEN

GRAND TRES PETIT MOYEN MOYEN TRES GRAND SIMPLE COMPLEXE COMPLEXE TRES COMPLEXE

PETIT MOYEN GRAND GRAND TEMPS DE CONCEPTION COUT DE CONCEPTION UTILISATION DES OUTILS VOLUME DE PRODUCTION Capacits compares

Nombre de portes (log) 100M 10M t i c pa a C 1M 100k 10k 1k

x a m IC S A n o i t a lis i t u

d e n n e Moy GA P F 80% des design fonctionnent x a m t aujourdhui moins de 200MHZ ci a

p a C 1989 anne 1997 2001 Les FPGA sont au curs des systmes Temps de mise en uvre TEMPS DE MISE EN OEUVRE COMPARES FPGA ASIC

0 1 2 APPRENTISSAGE 3 SAISIE 4 5 COMPILATION

6 7 SIMULATION 8 9 FABRICATION 10 Point de "cross-over" des FPGA et des ASIC Cross-over de 200 000 de pices environ en 2000

Cross-over de 1 000 000 de pices environ en 2004 Un jeu de masques correspond 1M$ amortir en techno 0,13m Nick Tredennick, Brion Shimamoto. The Rise of Reconfigurable Systems. In proceeding of Engineering of Reconfigurable Systems and Algorithms, ERSA2003. June 23-26,Las Vegas, Nevada, USA. Volume Contextes dutilisations en grandes sries Conception prototypage

ASIC FPGA -coup de production Pr-srie Production Fin de vie Temps Prix de ventes moyen Solution intermdiaire FPGA

HARD COPY ASIC partir de qq pices 2000 pices Volume 1 000 000 pices Les solutions Hard-Copy Rduction de la taille jusqu 70% Temps de ralisation de 1 2 mois (6 9 pour les ASIC) Conversion partir du fichier binaire de configuration

Possibilit destimer les performances partir des outils constructeurs Possibilit de garder le mme package (pin-to-pin compatible) HARD-COPY est la dnomination ALTERA. Dans ce cas tous les bits de configuration SRAM sont remplacs par 5 masques de mtal. Les ASIC AVANTAGES hautes intgrations hautes performances (vitesse, low-power) cots faibles pour de gros volumes de production personnalisation scurit industrielle

INCONVENIENTS prix du 1er exemplaire pas derreur possible non-flexible time-to-market lev fabrication rserve aux spcialistes (fondeur) Les FPGA AVANTAGES possibilit de prototypage time-to-market faible adaptabilit aux futurs volutions grce la reconfiguration flexibilit INCONVENIENTS intgration limit par les ressources de routage performances prix lunit lev pour de grosses productions

Conclusion Le choix entre FPGA ou ASIC, se fait en fonction du cahier des charges de lapplication : temps de mise sur le march et dure de vie courte trs petit nombre de circuits FPGA optimisation des performances ASIC grande srie ASIC FPGA

FPGA et conjoncture conomique mondiale Daprs une interview du directeur de Xilinx dans la revue lectronique internationale Les FPGA sont les rares produits dlectronique qui profite de la crise conomique actuelle dans le domaine des technologies de pointes ceci pour plusieurs raisons : diminution des volumes de production diminution de la dure de vies des produits possibilits techniques des FPGAs largement suffisantes pour la plus part des applications en 2006, il y aura un circuit logique programmable dans chaque appareil numrique . FPGA et conjoncture conomique mondiale

III. ARCHITECTURE & CONCEPTION Les diffrentes familles de circuits logiques programmables 1) Quelques dfinitions EEPROM ou E2PROM (Electrical Erasable Programmable Read-Only Memory) :Mmoire programmable lecture seule, effaable lectriquement.

EPLD (Erasable Programmable Logic Device):Circuits logiques reprogrammables. FPGA (Field Programmable Gate Array):Rseau de portes programmables GAL (Generic Array Logic):Circuits logiques PAL reprogrammables technologie CMOS. ISP (In System Programmable):Circuit que lon peut programmer (et donc effacer)mme lorsquil est en place sur lapplication. PAL (Programmable Array Logic):Circuits logiques programmables dans lesquels seules les fonctions ET sont programmables, les fonctions OU ne le sont pas. PLD (Programmable Logic Device):Famille des circuits programmables qui comprend les PAL,GAL,EPLD et FPGA. 2)Les diffrentes familles de PLD ASIC

CUSTOM SEMI-CUSTOM Circuits Circuits Circuits Circuits sur mesure prcaractriss prdiffuss

configurables Full Custom Standard ASIC cell Sea of gate Gate array SRAM

ASIC : Application Specific Integrated Circuit FPGA : Field Programmable Gate Array CPLD : Complex Programmable Logic Device PAL : Programmable Array Logic GAL

: Generic Array Logic = PAL SRAM : Static Random Access Memory FPGA CPLD Antifuse PLD PAL Les diffrentes familles de PLD (suite)

TYPE Nombre de portes intgres Matrice ET Matrice OU Effaable PROM 2 000 500 000 Fixe Programmable

Non PAL 10 100 Programmable Fixe Non GAL 10 100 Programmable

Fixe Electriquement EPLD 100 3000 Programmable Fixe Aux U-V Electriquement FPGA

3000 6.000.000 Programmable Programmable Electriquement Non a) Les PAL Linvention des PAL date dune vingtaine danne, ce sont les ingnieurs de la socit MMI rachete par AMD qui ont eut lide dutiliser la technologie des fusibles. Ce sont des composants programmables une seule fois.

Structure de base dun PLD Ils possdent des matrices ET programmables et des matrices OU fixes. b 1 a 1 1 1 & La fusion des fusibles est

obtenue en appliquant leurs bornes une tension de 11,5 V pendant 10 50 S (leur tension de fonctionnement est environ de 5V). Cette opration est bien sr effectue en utilisant un programmateur adapt. & & & >1 Q0

>1 Q1 Structure de base avec les normes des constructeurs . b b a : Fusible intact a : Fusible intact Q0

Q1 Q0 a. b a. b Q0 Q1 Q1 a.b a.b Q0 Q1 a.b.a.b a.b.a.b a.b.a.b a.b.a.b 0 PLD ayant ses fusibles intacts PLD programm Configuration des entres/sorties Certaines broches de ces circuits peuvent tre

utilises aussi bien en entre quen sortie grce un systme de logique 3 tats. La commande de cette dernire est configure au moment de la programmation. La structure de sortie permet aussi de rinjecter les sorties en entre (Feed- Porte trois tats permettant de dconnecter la broche de la matrice "ET" I/O

REFERENCE DES PAL Les diverses possibilits de ces circuits et leur standardisation ont conduit les constructeurs dfinir une nomenclature permettant de dcoder assez facilement la rfrence des PALs. PAL : PAL (CE) : CE pour version CMOS Lettre(s) Code(s) Structure de sortie XX : Nombre dentres AB : Structure de sortie L Combinatoire active bas YY : Nombre de sorties C : Consommation H Combinatoire active haut ZZ : Vitesse

DEF : Type de botier C Combinatoire complmentaire R Registre synchrone (D) RA Registre asynchrone X Registre OU exclusif V Versatile

Remarques : Le nombre dentres varie entre 10 et 22. Le nombre de sorties varie entre 1 et 10. La puissance est indique par une lettre code. La vitesse indique le temps de propagation en nS. Les versions versatiles ont une cellule de sortie programmable permettant dobtenir nimporte quel autre type de structure de sortie (L, H, R ...). Les versions CMOS (CE) sont effaables lectriquement. Les fusibles sont remplacs par des transistors de type MOS FET. Ce ne sont ni plus ni moins que des GALs . Exemple : PAL 16 L 8 H 15 PC PAL : PAL : Nombre dentres : / tructure de sortie : : Nombre de sorties :

: Consommation : : Vitesse : : Type de botier : Structures de base des PAL Brochage du PAL 16R6 - Brochage du PAL 16L6 - PAL22V10 : Sortie (VERSATILE) PAL22V10 ZOOM Complet

b) Les GAL Les GAL sont des PAL technologie CMOS, cest dire programmables et surtout effaables lectriquement. On retrouve les mmes rfrences quen PAL. Protection contre la duplication. Les GAL sont dots dun bit de scurit qui peut tre activ lors de la programmation empchant ainsi toute lecture du contenu du circuit. Ce bit est remis zro seulement en effaant compltement le GAL. Il est constitu dun ensemble de huit octets, appel signature lectronique, pouvant contenir des informations diverses sur le produit. c) Les EPLD Gnralits

Lintroduction des EPLD telle que la voulue ALTERA visait deux buts : Densit dintgration suprieure aux PAL Fonctionner une vitesse au moins gale aux PAL bipolaires EPLD : Description Fonctionnelle Les EPLD de la famille MAX possdent une architecture comportant les lments suivants : Logic array blocks (LABs) Macrocellules Expanseur Rseau dinterconnections Programmables (PIA) I/O control blocks Les sries MAX incluent des entres ddies telles que des (horloges,clear,..) pour chaque macrocellule.

Exemple de EPLD : le MACH 4 Le MACH 4 est un EPLD programmable in situ (ISP) par l'intermdiaire d'un bus J-TAG. Il dispose de 32 entres / sortie, de matrices ET programmables, de matrices "OU" fixes, d'une matrice centrale d'interconnexion, d'une circuiterie d'horloge et de 32 ou 64 macrocellules. L'architecture interne du MACH 4-32/32 est quivalente 4 PALCE 22V10 interconnects. d) LES FPGA (field programmable

gate arrays) L'architecture, retenue par Xilinx, se prsente sous forme de deux couches : une couche appele circuit configurable, une couche rseau mmoire SRAM. LES FPGA La couche dite 'circuit configurable' est constitue d'une matrice de blocs logiques configurables CLB permettant de raliser des fonctions combinatoires et des fonctions squentielles. Tout autour de ces blocs logiques configurables, nous trouvons des blocs entres/sorties IOB dont le rle est de grer les entres-sorties ralisant l'interface avec les modules extrieurs . La programmation du circuit FPGA appel aussi LCA (logic cells arrays) consistera par le

biais de l'application d'un potentiel adquat sur la grille de certains transistors effet de champ interconnecter les lments des CLB et des IOB afin de raliser les fonctions souhaites et d'assurer la propagation des signaux. Ces potentiels sont mmoriss dans le rseau mmoire SRAM. La SRAM La configuration du circuit est mmorise sur la couche rseau SRAM et stocke dans une ROM externe. Un dispositif interne permet chaque mise sous tension de charger la SRAM interne partir de la ROM. Ainsi, un mme circuit peut tre exploit successivement avec des ROM diffrentes puisque sa programmation interne n'est jamais dfinitive. On voit tout le parti que l'on peut tirer de cette souplesse en particulier lors d'une phase de mise au point. La mise au point d'une configuration s'effectue en deux temps: une premire tape purement logicielle va consister dessiner puis simuler logiquement le circuit fini, puis lorsque cette tape sera termine on effectuera une simulation matrielle en configurant un circuit rel et l'on pourra alors vrifier si le fonctionnement

rel correspond bien l'attente du concepteur, et si besoin est identifier les anomalies lies gnralement des temps de transit rels lgrement diffrents de ceux supposs lors de la simulation logicielle ce qui peut conduire des tats instables voire mme errons.. Architecture interne du FPGA Les architectures Larchitecture reflte la topologie du rseau de routage Trois grands styles architecturaux saffrontent lots de calcul, majoritaire chez Xilinx hirarchique, majoritaire chez Altera logarithmique, un peu exotique... Architecture lots de calculs

Les lments fonctionnels (logique, mmoire, IO) sont regroups sous forme de matrice Ce type darchitecture est trs rpandu, en particulier chez Xilinx, mais aussi chez ATMEL Les composants logiques programmables : Architectures globales Figure 1 : Structure of a CPLD Les MACROCELL = P-TERM (PAL-Like) Architecture lots de calculs lment configurable : lment logique lment de mmorisation

EC lment arithmtique entre/sortie Rseau de routage : lignes horizontales lignes verticales Matrice de connexions BC MC Bloc de connexions Les blocs de connexions

EC BC EC Architecture hirarchique Les rseaux de routage dune architecture hirarchique dpendent du niveau de hirarchie dans lequel on se trouve. Ceci permet une optimisation du routage par niveau Trs rpandu chez Altera et Lattice Architecture hirarchique Architecture hirarchique

Rseau de routage de niveau 2 lment Hirarchique de niveau 2 Rseau de routage de niveau 1 lment Hirarchique de niveau 1 Rseau de routage de niveau 3 lment Hirarchique de niveau 3 lments logiques lments de mmorisation ...

Architecture logarithmique Architecture hirarchique dans laquelle chaque niveau i correspond une matrice de 42i cellules de bases. Chacun de ces niveaux possde des ressources de longueur 42i-1. Exemple typique: le circuit Xc6200 de Xilinx Architecture logarithmique Cell Cell Cell

Cell Cell Cell Cell Cell Cell Cell Cell Cell

Cell Cell Cell Cell 4*4 4*4 4*4 4*4 4*4

4*4 4*4 4*4 4*4 4*4 4*4 4*4 4*4 4*4

4*4 4*4 Cellule logique de base Matrice de 16 cellules Lignes de longueur 4 cellules Lignes de longueur 16 cellules

Lignes de longueur 64 cellules Cell Cell Cell Cell Cell Cell Cell

Cell Cell Cell Cell Cell Cell Cell Cell Cell

16*16 16*16 16*16 16*16 16*16 16*16 16*16 16*16 16*16

16*16 16*16 16*16 16*16 16*16 16*16 16*16 Les lments logiques Les lments logiques configurables sont les briques de bases de tous les FPGA, ils sont

majoritairement raliss autour de LUT, Look Up Table, de chane de propagation rapide de la retenue et de bascule D. On rencontre toutefois des cellules logiques rudimentaires base de multiplexeurs Les Look Up Tables Ce sont de petits lments de mmorisation, qui refltent la table de vrit dune fonction logique. In 0 In 1 In 2 In 3

LUT = Table de scrutation LUT 4 entres = RAM 2octets SRAM SRAM In 0 In 1 In 2 In 3 SRAM LUT 4 Out SRAM SRAM SRAM

Out Les Look Up Tables In 0 1111 0 1110 1 1101 1

1100 0 1011 0 1010 1 In 1 In 2 In 3

Out Les Look Up Tables In 0 = 0 1111 0 1110 1 1101 1

1100 0 1011 0 1010 1 In 1 In 2 In 3

Out Les Look Up Tables In 0 =0 1111 0 1110 1 1101 1

1100 0 1011 0 1010 1 In 1 In 2 In 3

Out Les Look Up Tables In 0 =0 1111 0 1110 1 1101 1

1100 0 1011 0 1010 1 In 1 = 1 In 2 In 3

Out Les Look Up Tables In 0 =0 1111 0 1110 1 1101 1

1100 0 1011 0 1010 1 In 1 = 1 In 2 In 3

Out Les Look Up Tables In 0 =0 1111 0 1110 1 1101 1

1100 0 1011 0 1010 1 In 1 = 1 In 2 =1 In 3 = 1

Out= 1 = In3 In2 In1 Ino Les Look Up Tables Gnralement le nombre dentres des LUT est de quatre car cest un bon compromis entre vitesse et surface Le nombre de LUT dans les lments logiques varie de 2 4 gnralement Rsultats dune tude de lUniversit de Toronto : Critre Surface Dlais Surface et dlais Taille des LUT 34 7

46 Nombre de LUT 6 10 4 10 4 10 Les Look Up Tables lment logique de base avec LUT Carry-In ENTREES LUT SORTIES D

Q FAST CARRY CHAIN HORLOGE Carry-Out Les lments logiques lment logique de base avec multiplexeur Multiplexeur = aiguillage Cellule trs simple X1 Cas du circuit Xilinx XC6000

X2 1 0 C X3 Q D CLK Q SORTIE S

Les lments de mmorisation Toutes les nouvelles gnrations de FPGA, chez tous les fabricants disposent dlments de mmorisation, car dans les systmes dlectronique numrique les accs mmoires restent des points faibles En disposant de larges zones mmoires (configurables) lintrieur du circuit on limite ainsi le nombre daccs externes. Trs intressants pour raliser des machines dtats Les lments de mmorisation Exemple des blocks SelectRAM dans les circuits Spartan II, Virtex et Virtex II de Xilinx Elements de mmorisation configurables en double port

ou Taille max 2*18-Koctets simple port Les oprateurs cbls Dans les ressources logiques dispositions, on peut trouver des oprateurs cbls optimiss. Exemple : Multiplieurs configurables Virtex II Xilinx Embedded Multiplieur 18*18 Utilisation Les outils de synthses (voir VII) ne savent pas synthtiser des blocs de mmoires ou des

oprateurs (type multiplieurs) dans des blocs spcialiss Il faut donc spcifier en VHDL que lon utilise telle ou telle ressource du composant Utilisation des BlockRAMs Utilisation dun Xilinx BlockRAM 512x36 DP entity . component RAMB4_S8 is // composant de la librairie Xilinx Virtex port (WE, EN, RST, CLK : in std_logic; ADDR : in std_logic_vector(8 down to 0); DI : in std_logic_vector(7 down to 0); DO : out std_logic_vector(7 down to 0)); end component

Architecture Section .. U_RAM : RAMB4_S8 port map (WE=>#, EN=>#, RST=>#, CLK=>#, ADDR=>#, DI=>#, DO=>#); . Utilisation des multiplieurs Utilisation dun multiplieur sign 18x18 entity . component MUL18X18 is // composant de la librairie Xilinx Virtex port (A : in std_logic_vector(17 down to 0); B : in std_logic_vector(17 down to 0); P : out std_logic_vector(35 down to 0)); end component Architecture Section ..

U_MUL : MUL18X18 port map (A=>#, B=>#, P=>#); . Consquence Une consquence importante est que par le biais de lutilisation de composants de librairies spcifiques aux constructeurs (Xilinx, Altera, ) pour pouvoir utiliser les blocs spcialiss (RAM, oprateurs) => le code VHDL ainsi produit est de moins en moins portable !!! Les rseaux dhorloges Les circuits sont de plus en plus grands =>

augmentation de la longueur des connexions => les chemins dhorloges sont plus longs => plus de retard => ASYNCHRONISME MALSAINT !!! Les rseaux dhorloges Le problme 1 : JITTER : bruit de phase Le problme 2 : CLOCK SKEW : Dcalage entre les transitions de la mme horloge diffrents points dun circuit. Le problme 3 : on peut avoir besoin de plusieurs horloges dans un mme circuit

Solutions dasservissement des horloges Les PLL (analogique) Phase-Locked Loop ( ALTERA ) Les DLL (numrique) Delay-Locked Loop ( XILINX ) Caractristiques des PLL et DLL Comparaison PLL vs DLL Comparaison "objective" faite par ALTERA Bien que plus performantes les PLL sont aussi beaucoup plus complexes intgrer

(mixage analogique et numrique) Avons nous besoin dune telle prcision ??? Les curs de processeurs Aujourdhui les systmes numriques font de plus en plus appel conjointement des ressources logicielles micro-programmes (P, C, DSP) et des ressources matrielles re-configurables (FPGA) Do lide de mettre sur un mme puce un cur de microprocesseur et un cur de logique configurable, les deux tant optimiss technologiquement Le cur de processeur peut prendre environ 10% de la surface totale de la puce

Les curs de processeurs Altera propose le circuit Excalibur contenant : RAM double port RAM simple port une partie configurable : type APEX 20K1000 un cur de processeur : ARM9 (32 Bits) 200MHz 8 K octets de cache Instructions 8 K octets de cache Donnes Matrice FPGA Cur ARM 922T

Les curs de processeurs PLL UART External Processor & Memory Interfaces Interfaces JTAG ARM Trace Module

Timer I-CACHE Interrupt D-CACHE ARM922T Watchdog 8K Bytes Controller 8K Byte Timer SRAM SRAM SRAM Coeur de processeur DPRAM

DPRAM DPRAM XA1 LEs ESB Bytes 4160 6.5K 32 Kbytes SRAM 16 Kbytes DPRAM FPGA LEs ESB Bytes

16400 26K LEs ESB Bytes 38400 40K XA4 128 Kbytes SRAM 64 Kbytes DPRAM XA10 256 Kbytes SRAM 128 Kbytes DPRAM

Les curs de processeurs Xilinx propose aussi une version de son circuit Virtex II avec un cur de processeur le Virtex II-Pro comprenant : de 1 4 curs Power-PC (RISC 32 bits) 125MHz matrice VIRTEX avec capacit de 900 mille portes Les alimentations en nergie Le cur est aliment gnralement en 1.8 V (voir 1.5 V) car avec la technologie 0.18 m les oxydes ne sont pas assez pais pour supporter plus de tension Les entres sorties sont alimentes sous 3.3V, 2.5V,

1.8V ou 1.5 V suivant le standard choisi Dans la plupart des cas il faut deux alimentations Attention la consommation des E/S => minimiser leur nombre !!! Les alimentations en nergie Technologiquement pour permettre aux entres sorties de supporter des tensions dalimentations jusqu 3.3V on effectue plusieurs oxydations avec des masques spciaux De cette faon la technologie utilise pour les entres-sorties nest pas la mme que pour le cur

Rpartition de la consommation de puissance RESEAU DHORLOGE 21% ENTREES SORTIES 9% RESSOURCES DE ROUTAGE 65% RESSOURCES LOGIQUES 5% Modlisation de la consommation de puissance La consommation globale du circuit peut tre donne par le modle suivant : P = Pstat + *[CCwire + Cswitches]*Vdd*f

De ce fait la rpartition vue prcdemment est vraie dans certaines conditions: Technologie (Pstat , C, Vdd) Frquence (action linaire) Taux dactivit (action linaire) Taux doccupation (C) Algorithmes de placement routage (fmax, C) Nombre dentres sorties utilises => du fait de ces nombreux paramtres il est trs compliqu de trouver un moyen destimer la consommation de puissance du circuit pour une application Les architectures de FPGA sont donc trs varies, tant aux niveau du routage que du grain des ressources qui les composent. Savoir quels types darchitecture et de ressources sont les plus en adquation avec lapplication que lon dveloppe reste un

challenge aujourdhui. IV. LA CONFIGURATION DES FPGA Types de configuration On peut trouver 4 types de configuration : La configuration simple contexte (la plus utilise) La configuration partielle simple contexte La configuration partielle multi-contextes (la plus prometteuse) Configuration simple contexte 1 matrice de configuration SRAM (mthode de scan-path)

FPGA Le FPGA est reconfigur entirement Cest le type de configuration la plus utilise Configuration partielle Dcodeur ligne Dcodeur colonne 1 matrice de configuration SRAM FPGA

Le FPGA est reconfigur partiellement, on peut ne modifier quune partie de la configuration Configuration multi-contextes Dcodeur ligne Dcodeur contexte Dcodeur colonne 4 matrices de configuration SRAM Le FPGA est reconfigur partiellement, on peut rapidement passer dun contexte un autre Configuration dynamique

Ce type de configuration est le plus prometteur puisquil ouvre la voie au domaine des architectures dynamiquement reconfigurables et des techniques RUN TIME RECONFIGURABLE Techniques de configuration des FPGA On rencontre couramment 6 techniques de configuration : Master mode srie ou parallle Slave mode srie ou parallle Lenvois des donnes peut se faire en srie ou en parallle Peripheral mode srie ou parallle La slection de la technique de configuration se fait grce des bits de configuration du FPGA Dans tous les cas la configuration se fait via un fichier de configuration binaire : le Bitstream

Les entres sorties utilises pendant la configuration sont aussi des I/O du circuits utilisables en fonctionnement Master Mode Dans ce cas le FPGA est matre de sa configuration Data Data-in FPGA EPROM CLK CLK

OE CTRL MODE SERIE Master Mode Dans ce cas le FPGA est matre de sa configuration 8 bits Data(7:0) ADD (11:0) Data-in(7:0) ADD (11:0) FPGA

EPROM OE CTRL MODE PARALLELE Slave Mode Dans ce cas le FPGA est esclave, il subit sa configuration Data Data-in FPGA EPROM CLK

CLK OE Autre FPGA circuit logique de contrle ou cble de configuration Peripheral Mode Le FPGA est vue comme un priphrique du microprocesseur 8 bits Data(7:0) Data-in(7:0) ADD (11:0)

Chip_Selec FPGA P CTRL CTRL Le microprocesseur peut tre un cur de processeur embarqu dans le circuit Configuration et curs de processeurs Configuration centre sur le FPGA ARM-Based Processor

Processor Configuration Unit JTAG Link Serial / Parallel FPGA Configurator FPGA Configuration Port SRAM Hard Logic FPGA Array

FPGA Le FPGA est esclave pour sa configuration mais il est matre de la configuration du processeur Configuration et curs de processeurs Configuration centre sur le Processeur JTAG Link 16 or 8-Bit Flash Memory EBI ARM--Based Processor

Processor SRAM Configuration Unit Hard Logic FPGA Le processeur est matre de la configuration du FPGA Techniques de configuration des FPGA On peut trouver dautres techniques propre chacun

des fabricants. En particulier pour mettre en uvre des configurations partielles. Ou des algorithmes de test du circuit (norme Boundary Scan) Nouveaut : lauto-reconfiguration partielle Configuration Memory Configuration Manager Circuit Circuit11 circuit circuit22 Others Others circuits

circuits Others Others circuit circuit1 11 circuit circuit1 circuits circuits circuit circuit22 Use of embedded FPGA RAM to store the

decrypted configuration: Requires path between configuration and data RAMs V. LA FAMILLE ALTERA La famille ALTERA 1984 Dbuts dAltera qui vend des EPLD 1988 Lancement des CPLD MAX (Multiple Array matriX) qui sont des ftus de FPGA

1992 1er FPGA Altera : le FLEX 8000 (15 000 portes) (Flexible Logic Element matriX) technologie 0.5 m 1995 Lancement de la famille FLEX 10K (250 000 portes) 1997 Famille FLEX 6K bas cots (24 000 portes) 1999 Famille APEX 20K (1 500 000 portes)

2000 Famille APEX 20K C utilisant la technologie cuivre 2000 Famille APEX 20K E avec plus de ressources mmoires technologie 0.18 m 2001 Circuit Excalibur couplant une matrice FPGA APEX 20K 1000 et un cur de processeur ARM 9 2001 Famille APEX II (dont le but est de concurrencer le Virtex de Xilinx) (3 000 000 de portes) technologie 0.15 m

Fvrier 2002 : Lancement du STRATIX concurrent direct du Virtex II Xilinx, technologie cuivre 0.13 m Septembre 2002 : Lancement du Cyclone un petit FPGA (architecture STRATIX) pour application grand public bas-cots La famille ALTERA STRATIX APEX II - Caractristiques Le plus gros composant disponible est lAPEX II EP2A70 Caractristiques MAX: 3 000 000 de portes utilisables 1 146 880 bits de mmoires RAM soit 140 Kilo octets 4 PLL cur aliment en 1.5 V 1 060 entres sorties (tension 1.5 V, 1.8 V, 2.5 V ou 3.3 V) 380 Mbps de dbit en entres sorties

technologie cuivre 0.15 m 8 niveaux de mtallisation taille de la puce 40*40 mm soit 1600 mm APEX II - Architecture Larchitecture est de type hirarchique, au premier niveau de hirarchie apparaisse les MegaLAB : Mega Logic Array Block 4 ranges de MegaLAB soit au total 280 MegaLAB 70 colonnes de MegaLAB APEX II - MegaLAB Un MegaLAB contient de 16 24 LAB (Logic Array Block) et 1 ESB (Embedded System Block)

APEX II - LAB Les LAB sont constitus de 10 LE : Logic Element APEX II - LE Le nombre max de LE pour un APEX II est de 67 200 APEX II - Carry Chain APEX II - ESB Bloc de mmoire de 4096 bits configurable en simple ou double port Peut tre utilis en CAM (Content Access Memory) et en matrice PAL

APEX II - Entres Sorties APEX II - PLL Stratix Toujours plus gros, toujours plus performant, Stratix, le dernier ne dAltera ! Stratix - Architecture Stratix - Architecture Stratix - Blocs mmoires Stratix - DSP lmentaires Des blocs multiplieurs sont insrs

Stratix - Rseau dhorloges volutions futures Progression de la famille STRATIX: Version Excalibur avec un cur ARM10 Version bas cots, plus petite, pour les grandes sries (=> CYCLONE) VI. FAMILLE XILINX La Famille XILINX 1985 Lancement de la 1er famille de FPGA Xilinx le XC2000 (1500 portes - obsolte)

1987 Famille XC3000 (6000 portes - obsolte) 1991 Famille XC 4000 (500 000 portes) 1995 Famille XC 5200 spciale petit design (18 000 portes) 0.6 m 6 couches 1996 Innovations avec la famille XC 6200 (100 000) visant le coprocessing et le reconfigurable dynamiquement, echec commercial 1998

Famille SPARTRAN vise la souplesse dutilisation et les petits design 1999 Famille VIRTEX vise les fortes capacits ( 4 millions de portes) techno 0,22 m 5 niveaux de mtallisation 1999 VIRTEX-E amlioration du VIRTEX avec plus de mmoires, techno 0.18 m 6 niveaux de mtallisation 2000 Famille SPARTRAN II, FPGA moyennes capacits (100 000 portes) bas cots, ce sont de petits VIRTEX, techno 0.18 m 6 niveaux de mtallisation

2001 Famille VIRTEX II, toujours plus fort (10 millions de portes) techno 0.15 m 8 niveaux de mtallisation, avec des transistors rapide 0.12 m 2002 Famille VIRTEX II-Pro qui contient 4 curs de P RISC Power-PC Xilinx propose aussi une gamme complte de CPLD La Famille XILINX Virtex II - Caractristiques Le plus gros composant disponible est le VIRTEX II XC2V 10000 Caractristiques MAX: 10 millions de portes utilisables (122 880 LUT et 10 *+ de bascule D) 5 376 K bits de mmoires RAM soit 656 Kilo octets

192 Multiplieurs (18*18 bits 200MHz) 12 DLL cur aliment en 1.5 V 1 108 entres sorties (tension 1.5 V, 1.8 V, 2.5 V ou 3.3 V) Frquence interne 420 MHz 840 Mbps de dbit en entres sorties technologie allu 0.15m 8 niveaux de mtallisation taille de la puce 40*40 mm soit 1600 mm Virtex II - Architecture CLB : Configurable Logic Block CLB Slice Virtex II - Rseau de routage Virtex II - Rseau dhorloges

DCM : Digital Clock Manager Virtex II - DCM Digital Clock Manager Virtex II - Entres sorties Virtex II - Configuration Virtex II - volution Virtex II Pro- Architecture VII. AUTRES EXEMPLES DE FPGA

Autres exemples de FPGA Il nest pas ncessaire de dtailler dautres architectures de FPGA, elles napportent rien de plus que ce que lon a vue chez Xilinx ou Altera Mais il est toutefois intressant de connatre loffre dautres fabricants Autres exemples de FPGA ACTEL ProASIC technologie flash, ASIC reprogrammable, non volatile et granularit fine, ISP. Utilise les outils ASIC ou FPGA AXELERATOR technologie antifusibles => OTP (One Time Programmable),

FPGA les plus rapide 500MHz interne et 300MHz de fonctionnement systme HiRel, RT, RH, technologie antifusibles srie militaire, tolrance aux radiations Autres exemples de FPGA ATMEL AT40K, technologie SRAM, architecture lots de calcul, faible densit (5K 50K portes), reconfigurable dynamiquement, des curs FPGA drivs de cette famille peuvent sintgrer dans les circuits prdiffuss ATMEL. Lattice ispXPGA, technologie SRAM, archi

lots de calcul, densit de 125K 1,2M portes. EEPROM de configuration intgr => configuration la mise sous tension en moins de 200 s Autres exemples de FPGA Quick Logic Cypress pASIC (1,2 et 3), srie Quick (Ram, PCI), technologie antifusible (One Time Programmable), faible densit de 1K 90K portes CY39K, architecture mixte CPLD-FPGA

VIII. UTILISATIONS & CAO Diagramme en Y - Gajski Domaine comportemental Domaine structurel Synthse systme Systme Algorithme Transfert de registres Logique Fonction de transfert

Processeur, ASIC, ASIP, FPGA, etc. UAL, RAM, etc. Portes, bascules, etc. Transistor Partitions pysiques Plan de masse Synthse Systme Dessin des modules Synthse Architecturale Dessin des cellules Synthse RTL

Dessin des transistors Synthse Logique Domaine physique Programmation des PLDs. La programmation des PLDs ncessite un logiciel adapt pour le dveloppement du programme et un programmateur permettant de griller le circuit. Le fichier JEDEC est un ensemble de donnes binaires

indiquant au programmateur les fusibles griller . Cahier des charges Mise en quation du problme Rsolution du problme sous forme dquation logique, de logigramme ou dalgorithme Choix du PLD en fonction du nombre dentres et de sorties Saisie des quations logiques, de la table de vrit, du logigramme ou de lalgorithme avec le logiciel Simplification logique Gnration dun fichier au format JEDEC

Simulation Programmation du PLD laide du fichier JEDEC et du programmateur PLD programm Ces Cestapes tapessont sont effectues par effectues parlele logiciel logiciel Flot de conception

ENTREE (schma et/ou fichier VHDL) SIMULATION FONCTIONNELLE SYNTHESE LOGIQUE SIMULATION FONCTIONNELLE PLACEMENT ROUTAGE SIMULATION TEMPORELLE CONFIGURATION ET TESTS OPERATIONNELS

Outils de CAO Les outils de CAO sont les points faibles de ces circuits. Si un circuit est trs performant il ne se vendra pas si les outils qui lui sont associs ne sont pas performants ! Chez Xilinx 50% des ingnieurs de R&D se consacrent ces outils ! Outils de CAO Tous les fabricants de FPGA proposent des outils de CAO, passage oblig pour configurer leurs circuits pour Xilinx cest ISE - Foundation pour Altera cest Quartus ou MAX + II

Avec ces outils on peut raliser tout le flot de conception de la synthse la configuration. Pour certaines phases du flot ces outils font en fait appel dautres outils Autres outils de CAO Flot FPGA Synthse Simulation IP : Intellectual Property Digital Signal Processing Processor,

Peripheral PCI Target Color Space Converter NiosTM Processor PCI Master-Target Correlator PCI-X Digital Modulator Tensilica X-tensa Processor

CAN Bus Discrete Cosine Transform IIC Master & Slave Fast Fourier Transform HDLC Protocol Core IEEE 1394 FIR Compiler IMA Controller PowerPC Bus

Arbiter IIR Filter Communications ADPCM (u-law, a-law) ATM Controller CRC Ethernet MAC (10/100/Gigabit) SONET/SDH Framer T3/E3 Framer Packet Over SONET Processor Telephony Tone Generator Utopia Master & Slave

POS-PHY Interface Bus Interface PowerPC Bus Master PowerPC Bus Slave USB Function Controller USB Host Controller PalmChip Bus SDRAM Controller DDR-SDRAM Controller Image Processing Library

QDR-SDRAM Controller NCO 8237 DMA Controller Reed Solomon Encoder/Decoder 8255 Peripheral Interface Interleaver/Deinterleaver 8259 Interrupt Controller

Viterbi Decoder Turbo Decoder Et plus encore ! 8254 Timer/Counter 8051, 6502, Z80 SRAM Caractristiques : FLASH donnes sur 16 ou 32 bits 128, 256 ou 512 registres registres dcalage rapide ( 1,

3, 7, 15 ou 31 bits/clock) possibilits de lui adjoindre des priphriques (UART, RAM, ROM) CPU IRQ NIOS : cur de processeur RISC gnrique optimis PBM Exemple dIP : NIOS Timer

Serial Port 12% dun EP20K200E APEX EP20K200E UART Ici le reste de votre systme Exemple dIP : NIOS IP ALTERA Other Cores

(Future) 200 ARM Core 100 Performance (MIPs) PERFORMANT 50 20 0

Core Soft Core FLEXIBLE Hard Cores Conclusion Mme si lutilisation des FPGA parat simple (en autre grce au langage comme VHDL) et mme si les FPGA reconfigurables donnent droit lerreur il faut adopter des mthodologies de conception des systmes numriques (en autre ; les mthodologies synchrones). Elles sont obligatoires pour dvelopper un ASIC, mais restent un peu de ct pour les petits systmes base de FPGA. Aujourdhui avec des FPGA de plus en plus complexes elles deviennent aussi

indispensables que pour les ASIC. IX. EVOLUTIONS CODESIGN, SORC Les nouvelles utilisations des FPGA Longtemps rduit au prototypage, aujourdhui les FPGA sont utiliss, pour leur capacit de reconfiguration, dans des systmes lectroniques complexes, mme pour de la grande srie. le CoDesign pour le Run Time Reconfigurable les SORC : System-On-a-Reconfigurable-Chip Le CoDesign Dfinition : Les mthodes de CoDesign sont des mthodes de dveloppement simultan (de manire concurrente) des parties HW et SW (spcification, design, vrification)

SW = microprocesseur HW = FPGA ou ASIC Buts : Grer au mieux lhtrognit de la nature des fonctions qui composent le systme (du logiciel larchitecture reconfigurable) Comparer les diffrents choix de partitionnement Dfinir les interfaces entre le SW et le HW Valider le systme complet (co-vrification et co-simulation) Flot de CoDesign SPECIFICATION HAUT NIVEAU DE LAPPLICATION ESTIMATION SYSTEME ESTIMATION LOGICIELLE

ESTIMATION MATERIELLE PARTITIONNEMENT SYNTHESE LOGICIELLE SYNTHESE INTERFACE COSIMULATION Retour dexprience ordonnancement de lapplication proposition de candidats HW et SW IMPLEMENTATION HW et SW TESTS

Choix des ralisation HW ou SW SYNTHESE MATERIELLE Les SORC Technique hritire direct des SOC : System On Chip Diffrentes notations : SORC (Xilinx) : System On a Reconfigurable Chip SOPC (Altera) : System On a Programmable Chip CSOC : Configurable System On Chip Lutilisation des techniques de CoDesign est invitable ! Lengouement pour les SORC est certain vue le nombre de cur de

processeurs (IP ou cbls) prsents sur le march Evolution des architectures de FPGA FPGA Evolution : Architecture "Domaine Specific" Concept Xilinx : Application Specific Modular BLock (ASMBL) Architecture IX. EVOLUTIONS ARCHITECTURES RECONFIGURABLES GROS GRAINS The KressArray : a FPAA Field Programmable ALU Array

Laboratoire Xputer Universit de Kaiserslautern Allemagne The FPFA Field Programmable Function Array Dept Computer Science & Electrical Engineering, Universit de Twente, Pays-Bas Adaptatif System on Chip aSoC Architecture tuile (Tiled-Base) multi-granularits Motion Estimation and Compensation Core

DCT Cores Corepor ts North South East West Inputs FIR RISC FPGA

Interconnect Data Memory Outputs Local Config. Decoder Controller North to South & East Viterbi Decoder RAM

Control Crossba r North South East West PC Instruction Memory Interface VLSI Signal Processing Group

Universit du Massachusetts USA Une Architecture commerciale : Chameleon Chameleon System San Jose, Californie USA Conclusion Le domaine des architectures reconfigurables (de grain fin, moyen, gros ) est un domaine en extension il est ncessaire de faire des travaux de recherches sur : architectures basse consommation de puissance (low power) architectures htrognes (hard + soft) co-conception (Co-Design) outils de destimation de performances haut niveau outils dexploration de lespace de conception

scurit de conception domaine dapplications ; software radio, 3G, cryptographie, TI ... CONCLUSIONS REFERENCES BIBLIOGRAPHIQUES Rfrences bibliographiques Livres : Laurent Dutrieux, Didier Demigny, LOGIQUE PROGRAMMABLE, Architecture des FPGA et CPLD, Mthodes de conception, Le langage VHDL. Eyrolles, 1997 Vaughn Betz, Jonathan Rose, Alexander Marquardt, Architecture and CAD for Deep-Submicron FPGAs. Kluwer Academic Publisher, 1999 Revues : lectronique - Le mensuel des ingnieurs de conception

lectronique International Hebdo Xcell Journal (Xilinx press) Revues IEEE Rfrences bibliographiques Sites Internet : LES SITES DES CONSTRUCTEURS (Xilinx, Altera, Atmel, Actel, QuickLogic ) AUTRES : http://www.mrc.uidaho.edu/fpga/fpga.html page de liens vers FPGA http://optimagic.com/ the Programmable Logic Jump Station http://eet.com/embedsub site de lembedded developers journal http://www.mvd-fpga.com/fr/default.htm site dune entreprise franaise de service spcialise dans les FPGA http://www.design-reuse.com/ site sur les IP http://www.supelec-rennes.fr/ren/perso/jweiss/fpga/poly/fam99-fin.htm cours de SUPELEC J. Weiss http://www.enseirb.fr/~kadionik/formation/altera/index.htm cours de lENSEIRB L. Dulau

http://micdigital.web.cern.ch/micdigital/VLSI_Trieste/design_styles/index.htm autre cours en PPT confrences Confrences spcialises : FPGA ACM International Symposium on Field-Programmable Gate Arrays FPL International Workshop on Field-Programmable Logic and Applications FCCM IEEE Symposium on Field-Programmable Custom Computing Machines FTP

IEEE International Conference on Field-Programmable Technology RSP IEEE International Workshop on Rapid System Prototyping ERSA Engineering of Reconfiguraable Systems and Algorithms RAW Reconfigure Architectures Workshop (part of IPDPS) FPGA/PLD Design Conference (part of ASP-DAC) Confrences gnralistes

DAC : Design Automation Conference ASP-DAC Asian and South Pacific Design Automation Conference DATE Design Automation & Test Exhibition ISCAS IEEE International Symposium on Circuits and Systems MERCI ...

Recently Viewed Presentations

  • Why The Allies Didnt Bomb Auschwitz during World

    Why The Allies Didnt Bomb Auschwitz during World

    Hello Class! Lieutenant Colonel Michele Reid. Originally from Livonia, Michigan. Army officer for 24 years. Graduated from . Norwich University, VT-Bachelors of Science in Teaching & History
  • Mrs. Joy Onuh

    Mrs. Joy Onuh

    To take care of her family, she sells cashew nuts occasionally when she can afford to buy from the retailers. She makes about 3,000 naira from this on a monthly basis. This amount barely caters to their basic needs so...
  • PowerPivot avec Sharepoint 2010 avec retour d'expérience sur ...

    PowerPivot avec Sharepoint 2010 avec retour d'expérience sur ...

    32 bit Vs 64 bit. Mémoire RAM. Citrix. ... Pas besoin de savoir écrire une requête SQL. Pas besoin de connaître un langage de programmation (Vb, C#, Java ou autre) Connaissance fonctionnelles et théoriques. Connaître les données . Avoir l'habitude...
  • Aristotles Three Ways to Persuade Ethos Pathos Logos

    Aristotles Three Ways to Persuade Ethos Pathos Logos

    Aristotle wrote on an amazing range of subjects, from logic, philosophy, and ethics to physics, biology, psychology, politics, and rhetoric. What is rhetoric? Rhetoric is the art of persuasion. The goal of persuasion is to change others' point of view...
  • ODRC Grant Funding Options, Performance Measures, Standard ...

    ODRC Grant Funding Options, Performance Measures, Standard ...

    CCA & CBCF Financials. Quarterly Reports: Reports shall be submitted to demonstrate the use of grant funds according to the agreed upon schedule. (Once every 3 months unless otherwise stated). The utilization of grant funds must be documented in the...
  • Aspiration Pneumonia - PuzzleVex

    Aspiration Pneumonia - PuzzleVex

    Aspiration Pneumonia Pathophysiology. Aspiration pneumonia is caused by the abnormal entry of secretions or substances into lower airway. These substances them provide an environment for bacteria to grow. There are four stages of aspiration pneumonia pathophysiology and they are as...
  • Welcome to JHMS!!!!

    Welcome to JHMS!!!!

    SCPS recently adopted Canvas as the new Learning Management System to replace Blackboard. 2015-2016 ALL JHMS teachers will use Canvas: eCampus. Parents and students will be able to track all courses and assignments in one centralized location! BYOD School
  • Choose your Own Learning Assignment with EXTRA CREDIT

    Choose your Own Learning Assignment with EXTRA CREDIT

    You are a drop of water that has fallen from the sky during a thunderstorm. Compose an autobiography of your life. Focus on your feelings as the matter in your body changed states. Describe a time when you were frozen...