Upload
saf-bes
View
307
Download
0
Embed Size (px)
Citation preview
Les Circuits logiques programmables
PLAN
I. II. III. IV. V.
Introduction Les mmoires vives Les mmoires mortes volution des composants programmables Les FPGA
I INTRODUCTIONIl existe deux grandes familles de circuits logiques programmables :
Les mmoires programmables 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 DynamicRAMStatique Ram: Un bit = une bascule D (4 transistors) Dynamique Ram : Un bit = une capacit (1 transistor)
RAM Statiquedata \data 1 2
mem
2 sel ect
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 volts5
320
1 0
temps
RAM dynamique Un seul transistor : gain de place Cycle complexe de lecture Lecture puis r-criture Cycle de rafrachissement
sel ect
data
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 Lcriture ncessite 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
1011
Zone mmoire
ROM (suite)
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 SiLignes mtalliques : interconnexions Intact Programm
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, 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 (500 000 fois), capacit 8 Gigabytes. Mme structure quune Ram quipe d une alimentation de faible consommation. Contrairement au Ram, effacement par bloc de donnes et non par octet. Grande tolrance au chocs, extrmes tempratures, environnement 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 Baladeurs CD/MP3 DVD Traitement du signal
Les atouts des CLP : les standards Les standards facilitent 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 Systme On Chip 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)
Contraintes lies lutilisation dIP
- 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
UTILISATION
DES
FPGA
PLANI. II. Introduction, historique FPGA vs ASIC
III.IV. V. VI. VII. VIII.
Architecture et conception des FPGAFamille de FPGA Altera Famille de FPGA Xilinx Autres Exemples de FPGA Utilisation des FPGA, CAO CoDesign, SORC et nouvelles 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 galement configurable
HistoriqueIXme av JC Les chinois comptent avec un boulier ! 1640 Blaise Pascal, invente une machine mcanique additionner et soustraire : la Pascaline
18751940 1946
Sir J.W. Swan invente le tube incandescenceUtilisation des premires PLL (principe tudi en 1932 par Bellescize) 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 1958
1er circuit reconfigurable the fuse configurable diode matrix Harris Semiconductor Jack Kibly invente le circuit intgre, brevet Texas Fairchild dpose un brevet sur la fabrication des CI par procd Planar
1962
Famille TTL
Historique1968 Famille MOS Robert Noyce et Gordon Moore crer une startup : intel 1er PLA read only associative memory ROAM IBM 1969 1970 Neil Amstrong marche sur la Lune Introduction du terme PAL Texas Instrument 1re ROM, Harris Semiconductor 1971 1972 1973 1975 1978 intel, 1er UV-PROM (effaable par UV) Intel, 1er processeur : 4004 Andr Truong et Francis Grenelle mettent au point et commercialisent le 1er micro-ordinateur du monde, le Micral, made in France ! Un certain Bill Gates fonde une petite socit dinformatique : Microsoft 1re famille PAL commerciale, MMI
19801981
Premiers microprocesseurs 32 bits chez intel et MotorolaIBM lance le PC
Historique1983 1984 1984 1er GAL effaable lectriquement, Lattice Apple lance le Macintosh Introduction du FPGA par XILINX : le XC2000 (de 600 1500 portes) cration de la socit ALTERA Technologie CMOS UV-EPROM 1985 1992 1993 2001 2005 mise sur le march du 1er FPGA XILINX 1er FPGA Altera : le Flex 8000 (15 000 portes max) Technologie EEPROM Lancement du Virtex II Xilinx (jusqu 10 millions de portes) FPGA avec des capacits suprieures 50 millions de portes fonctionnant des frquences surpassant les 500 MHz
March des FPGAREVENUS NETS DE XILINX ET ALTERA1200000
1000000
REVENUS NETS EN $
800000
600000
400000
200000
0 1991 1992 1993 1994 1995ANNEE
1996
1997
1998
1999
2000
XILINX
ALTERA
March des FPGAPARTS DE MARCHE DES FABRICANTS DE FPGA
40
35
30
25
% 20
15
Xilinx Altera Lattice Other Actel
10
5
0 1998 1999ANNEE
2000
March des FPGAPARTS DE MARCHE DES FABRICANTS DE FPGA POUR 2000
Other 8%
Actel 6%
Lattice 14%
Xilinx 38%
Altera 34%
volution de la technologievolution de la technologie
Technologie : Taille relative : Anne :
0.6 trois couches de mtal 100% 1994
0.5 trois couches de mtal 78%1995
0.18 0.25 0.35 quatre couches cinq couches six couches de mtal de mtal de mtal 32% 1996 19% 1998 12% 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
Problmes techniquesPourcentage 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
volution des prix1,2INDICE PRIX PAR ELEMENT LOGIQUE 1 0,8 0,6 0,4
(Source : Altera)
Le prix par lment logique diminue de 40 % par an
0,20 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 sur mesure
Circuits prcaractriss
Circuits prdiffuss
Circuits configurables
Full Custom
ASIC
Standardcell
Sea of gate
Gate arraySRAM
FPGA
CPLD
PAL
Antifuse
ASIC FPGA
: Application Specific Integrated Circuit : Field Programmable Gate Array
PLD
CPLDPAL GAL SRAM
: Complex Programmable Logic Device: Programmable Array Logic : Generic Array Logic = PAL : Static Random Access Memory
ASIC Full CustomASIC
CUSTOM
SEMI-CUSTOM
Circuits sur mesure
Circuits prcaractriss
Circuits prdiffuss
Circuits configurables
Full Custom
Standardcell
Sea of gate
Gate arraySRAM
FPGA
CPLD
PAL
Antifuse
ASIC
: Application Specific Integrated Circuit
ASIC Full Custom
Au dpart
Au final
SPECIFICATIONS
+
ASIC Standard CellASIC
CUSTOM
SEMI-CUSTOM
Circuits sur mesure
Circuits prcaractriss
Circuits prdiffuss
Circuits configurables
Full Custom
Standardcell
Sea of gate
Gate arraySRAM
FPGA
CPLD
PAL
Antifuse
ASIC
: Application Specific Integrated Circuit
ASIC Standard Cell
Au dpart
BIBLIHOTEQUE DELEMENTS PRE-CARACTERISESSPECIFICATIONS
Au final
+ +
ASIC Gate ArrayASIC
CUSTOM
SEMI-CUSTOM
Circuits sur mesure
Circuits prcaractriss
Circuits prdiffuss
Circuits configurables
Full Custom
Standartcell
Sea of gate
Gate arraySRAM
FPGA
CPLD
PAL
Antifuse
ASIC
: Application Specific Integrated Circuit
ASIC Gate Array
Au dpart
Au final
SPECIFICATIONS
+
Il est possible aussi dutiliser des bibliothques de composants pr-caractriss
PALASIC
CUSTOM
SEMI-CUSTOM
Circuits sur mesure
Circuits prcaractriss
Circuits prdiffuss
Circuits configurables
Full Custom
Standartcell
Sea of gate
Gate arraySRAM
FPGA
CPLD
PAL
Antifuse
PAL
: Programmable Array Logic
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
CPLDASIC
CUSTOM
SEMI-CUSTOM
Circuits sur mesure
Circuits prcaractriss
Circuits prdiffuss
Circuits configurables
Full Custom
Standartcell
Sea of gate
Gate arraySRAM
FPGA
CPLD
PAL
Antifuse
CPLD
: Complex Programmable Logic Device
CPLDLes CPLDs regroupent plusieurs PALs interconnects par un rseau de connexions programmables.
PAL
PAL
Les CPLDs sont les prmisses des premiers FPGAs.
E/S
MATRICE DINTERCONNECTIONS
E/S
Ces circuits ne sont plus utiliss aujourdhui car remplacs par les FPGAs.
PAL
PAL
FPGAASIC
CUSTOM
SEMI-CUSTOM
Circuits sur mesure
Circuits prcaractriss
Circuits prdiffuss
Circuits configurables
Full Custom
Standartcell
Sea of gate
Gate arraySRAM
FPGA
CPLD
PAL
Antifuse
FPGA
: Field Programmable Gate ArrayA SUIVRE !!!
Comparaison
ASIC CARACTERISTIQUES FPGA GATE ARRAY DENSITE FLEXIBILITE ANALOGIQUE PERFORMANCE TEMPS DE CONCEPTION COUT DE CONCEPTION UTILISATION DES OUTILS VOLUME DE PRODUCTION FAIBLE GRANDE NON FAIBLE TRES PETIT TRES PETIT SIMPLE PETIT MOYENNE PETITE NON MOYENNE MOYEN MOYEN COMPLEXE MOYEN STANDARD CELL MOYENNE MOYENNE OUI BONNE MOYEN MOYEN COMPLEXE GRAND FULL CUSTOM GRANDE GRANDE OUI TRES BONNE GRAND TRES GRAND TRES COMPLEXE GRAND
Capacits compares100M
Nombre de portes (log)
10M1M
100k10k 1k
80% des design fonctionnent
aujourdhui moins de 200MHZ
1989
anne 1997
2001
Les FPGA sont au curs des systmes
Temps de mise en uvreTEMPS DE MISE EN OEUVRE COMPARES
FPGA
ASIC
0
1
2
3
4
5
6
7
8
9
10
APPRENTISSAGE
SAISIE
COMPILATION
SIMULATION
FABRICATION
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.
Contextes dutilisations en grandes sries
Volume
ASIC FPGA-coup de production
Conception prototypage
Pr-srie
Production
Fin de vie
Temps
Les ASICAVANTAGES 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 FPGAAVANTAGES 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
ConclusionLe 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
FPGA
trs petit nombre de circuits optimisation des performances grande srie ASIC
FPGA
ASIC
FPGA et conjoncture conomique mondialeDaprs 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 ReadOnly 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 PLDASIC
CUSTOM
SEMI-CUSTOM
Circuits sur mesure
Circuits prcaractriss
Circuits prdiffuss
Circuits configurables
Full Custom
ASIC
Standardcell
Sea of gate
Gate arraySRAM
FPGA
CPLD
PAL
Antifuse
ASIC FPGA
: Application Specific Integrated Circuit : Field Programmable Gate Array
PLD
CPLDPAL GAL SRAM
: Complex Programmable Logic Device: Programmable Array Logic : Generic Array Logic = PAL : Static Random Access Memory
Les diffrentes familles de PLD (suite)TYPE Nombre de portes intgres2 000 500 000
Matrice ET
Matrice OU
Effaable
PROM
Fixe
Programmable
Non
PAL
10 100
Programmable
Fixe
Non
GAL
10 100
Programmable
Fixe
Electriquement
EPLD
100 3000
Programmable
Fixe
Aux U-V Electriquement Electriquement Non
FPGA
3000 6.000.000
Programmable
Programmable
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 PLDIls possdent des matrices ET programmables et des matrices OU fixes. 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.
b1 1 1
a1
&
&
&
&
>1
>1
Q0
Q1
Structure de base avec les normes des constructeurs.
b
a
b
a
: Fusible intact
: Fusible intactQ0 Q1Q0 a . b a . bQ1 a. b a. b
Q0
Q1
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/sortiesCertaines broches de ces circuits peuvent tre utilises aussi bien en entre quen sortie grce un systme de logique 3 tats.
Porte trois tats permettant de dconnecter la broche de la matrice "ET"
La commande de cette dernire est configure au moment de la programmation.La structure de sortie permet aussi de rinjecter les sorties en entre (Feedback).
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 complmentaireR RA X V Registre synchrone (D) Registre asynchrone Registre OU exclusif 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 : : Structure de sortie : : Nombre de sorties : : Consommation : : Vitesse : : Type de botier :
Structures de base des PALBrochage 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 FonctionnelleLes EPLD de la famille MAX possdent une architecture comportant les lments suivants : Logic array blocks (LABs) Macrocellules 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 4Le 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 architecturesLarchitecture 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 calculslment 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 logarithmiqueCell Cell Cell Cell
Cellule logique de base
Cell
Cell
Cell
Cell
Cell
Cell
Cell
Cell
Matrice de 16 cellules
Cell
Cell
Cell
Cell
Cell
Cell
Cell
Cell
Cell
Cell
Cell
Cell
Cell
Cell
Cell
Cell
Lignes de longueur 4 cellules
Cell
Cell
Cell
Cell
4*4
4*4
4*4
4*4
16*16
16*16
16*16
16*16
4*4
4*4
4*4
4*4
Lignes de longueur 16 cellules
16*16
16*16
16*16
16*16
4*4
4*4
4*4
4*4
16*16
16*16
16*16
16*16
4*4
4*4
4*4
4*4
Lignes de longueur 64 cellules
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 TablesCe 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 2octetsSRAM
SRAM
In 0 In 1 In 2 In 3
SRAM
LUT 4
OutSRAM
SRAM SRAM
Out
Les Look Up Tables
In 0
In 1
In 2
In 3
1111 1110 1101 1100 1011 1010
0
1
1
0
01
Out
Les Look Up Tables
In 0 = 0
In 1
In 2
In 3
1111 1110 1101 1100 1011 1010
0
1
1
0
01
Out
Les Look Up Tables
In 0 =0
In 1
In 2
In 3
1111 1110 1101 1100 1011 1010
0
1
1
0
01
Out
Les Look Up Tables
In 0 =0
In 1 = 1
In 2
In 3
1111 1110 1101 1100 1011 1010
0
1
1
0
01
Out
Les Look Up Tables
In 0 =0
In 1 = 1
In 2
In 3
1111 1110 1101 1100 1011 1010
0
1
1
0
01
Out
Les Look Up Tables
In 0 =0
In 1 = 1
In 2 =1
In 3 = 1
1111 1110 1101 1100 1011 1010
0
1
1
0
01
Out= 1 = In3 In2 In1 Ino
Les Look Up TablesGnralement 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 Tableslment logique de base avec LUTCarry-In
ENTREES
LUTFAST CARRY CHAINHORLOGE
D Q
SORTIES
Carry-Out
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 dhorlogesLe 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 processeursAujourdhui 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 processeursAltera propose le circuit Excalibur contenant : 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 DonnesMatrice FPGARAM double port RAM simple port Cur ARM 922T
Les curs de processeursPLL JTAG ARM
Processor & Memory InterfacesInterfaces
UART
External
Trace Module
SRAM
SRAM
SRAM
Timer I-CACHE Interrupt D-CACHE ARM922T Watchdog 8K Bytes Controller 8K Byte Timer
Coeur de processeurDPRAM DPRAM DPRAM
XA1LEs ESB Bytes 4160 6.5K32 Kbytes SRAM 16 Kbytes DPRAM
FPGALEs ESB Bytes 16400 26K
XA4128 Kbytes SRAM 64 Kbytes DPRAM
LEs ESB Bytes
38400 40K
XA10256 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 nergieLe 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 alimentationsAttention 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 DHORLOGE21%
ENTREES SORTIES
9%
RESSOURCES DE ROUTAGE 65%
RESSOURCES LOGIQUES 5%
Modlisation de la consommation de puissanceLa consommation globale du circuit peut tre donne par le modle suivant : P = Pstat + *[Cwire + 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 FAMILLE ALTERA
La famille ALTERA19841988 1992 1995 1997 1999 2000 2000 2001 2001
Dbuts dAltera qui vend des EPLDLancement des CPLD MAX (Multiple Array matriX) qui sont des ftus de FPGA 1er FPGA Altera : le FLEX 8000 (15 000 portes) (Flexible Logic Element matriX) technologie 0.5 m Lancement de la famille FLEX 10K (250 000 portes) Famille FLEX 6K bas cots (24 000 portes) Famille APEX 20K (1 500 000 portes) Famille APEX 20K C utilisant la technologie cuivre Famille APEX 20K E avec plus de ressources mmoires technologie 0.18 m Circuit Excalibur couplant une matrice FPGA APEX 20K 1000 et un cur de processeur ARM 9 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 - ArchitectureLarchitecture 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. FAMILLEXILINX
La Famille XILINX1985 1987 1991 1995 1996 1998 Lancement de la 1er famille de FPGA Xilinx le XC2000 (1500 portes - obsolte) Famille XC3000 (6000 portes - obsolte) Famille XC 4000 (500 000 portes) Famille XC 5200 spciale petit design (18 000 portes) 0.6 m 6 couches Innovations avec la famille XC 6200 (100 000) visant le coprocessing et le reconfigurable dynamiquement, echec commercial Famille SPARTRAN vise la souplesse dutilisation et les petits design
19991999 2000 2001 2002
Famille VIRTEX vise les fortes capacits ( 4 millions de portes) techno 0,22 m 5 niveaux de mtallisationVIRTEX-E amlioration du VIRTEX avec plus de mmoires, techno 0.18 m 6 niveaux de mtallisation Famille SPARTRAN II, FPGA moyennes capacits (100 000 portes) bas cots, ce sont de petits VIRTEX, techno 0.18 m 6 niveaux de mtallisation 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 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 - CaractristiquesLe 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 - ArchitectureCLB : Configurable Logic BlockCLB Slice
Virtex II - Rseau de routage
Virtex II - Rseau dhorloges
DCM : Digital Clock Manager
Virtex II - DCMDigital 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 AlteraMais 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 FPGAATMEL 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. 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
Lattice
Autres exemples de FPGA
Quick Logic
pASIC (1,2 et 3), srie Quick (Ram, PCI), technologie antifusible (One Time Programmable), faible densit de 1K 90K portes
Cypress
CY39K, architecture mixte CPLD-FPGA
VIII. UTILISATIONS & CAO
Programmation des PLDs.La programmation des PLDs ncessite un logiciel adapt pour le dveloppement du programme et un programmateur permettant de griller le circuit.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
Le fichier JEDEC est un ensemble de donnes binaires indiquant au programmateur les fusibles griller .
Simplification logique
Gnration dun fichier au format JEDEC
Ces tapes sont effectues par le logiciel
Simulation Programmation du PLD laide du fichier JEDEC et du programmateur
PLD programm
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 CAOTous 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 PropertyCommunicationsADPCM (u-law, a-law) ATM Controller CRC Ethernet MAC (10/100/Gigabit) HDLC Protocol Core IMA Controller SONET/SDH Framer T3/E3 Framer Packet Over SONET Processor Telephony Tone Generator Utopia Master & Slave POS-PHY Interface
Bus InterfacePCI Target PCI Master-Target PCI-X CAN Bus IIC Master & Slave IEEE 1394 PowerPC Bus Arbiter PowerPC Bus Master PowerPC Bus Slave USB Function Controller USB Host Controller
Digital Signal ProcessingColor Space Converter Correlator Digital Modulator Discrete Cosine Transform Fast Fourier Transform FIR Compiler IIR Filter Image Processing Library NCO Reed Solomon Encoder/Decoder Interleaver/Deinterleaver Viterbi Decoder Turbo Decoder
Processor, PeripheralNiosTM Processor Tensilica X-tensa Processor PalmChip Bus SDRAM Controller DDR-SDRAM Controller QDR-SDRAM Controller 8237 DMA Controller 8255 Peripheral Interface 8259 Interrupt Controller 8254 Timer/Counter 8051, 6502, Z80
Et plus encore !
Exemple dIP : NIOS
PBM
CPU
Caractristiques : 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)
FLASH
Timer
Serial Port
UART
12% dun EP20K200E
Ici le reste de votre systme
APEX EP20K200E
IRQ
NIOS : cur de processeur RISC gnrique optimis
SRAM
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 CoDesignDfinition : 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 CoDesignSPECIFICATION HAUT NIVEAU DE LAPPLICATION ordonnancement de lapplication proposition de candidats HW et SW
ESTIMATION SYSTEME
ESTIMATION LOGICIELLE
ESTIMATION MATERIELLE
PARTITIONNEMENT
Choix des ralisation HW ou SW
SYNTHESE LOGICIELLE
SYNTHESE INTERFACE
SYNTHESE MATERIELLE
COSIMULATIONRetour dexprience
IMPLEMENTATION HW et SW
TESTS
Les SORCTechnique 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
CONCLUSIONS
Le futur
Le futurProcesseurs re-programmant leur environnement en temps rel : Hardware intelligent programm haut niveau
Le futurCircuit programmable Analogiques et Mixtes : (www.anadigm.com)
Intgration de MEMS : Plus tard
REFERENCES BIBLIOGRAPHIQUES
Rfrences bibliographiquesLivres :
Laurent Dutrieux, Didier Demigny, LOGIQUE PROGRAMMABLE, Architecture des FPGA et CPLD, Mthodes de conception, Le langage VHDL. Eyrolles, 1997Vaughn 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 bibliographiquesSites 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
confrencesConfrences spcialises : FPGA FPL ACM International Symposium on Field-Programmable Gate Arrays International Workshop on Field-Programmable Logic and Applications
FCCMFTP RSP ERSA RAW
IEEE Symposium on Field-Programmable Custom Computing MachinesIEEE International Conference on Field-Programmable Technology IEEE International Workshop on Rapid System Prototyping Engineering of Reconfiguraable Systems and Algorithms 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 ConferenceDATE ISCAS Design Automation & Test Exhibition IEEE International Symposium on Circuits and Systems
MERCI ...