La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

-1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours.

Présentations similaires


Présentation au sujet: "-1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours."— Transcription de la présentation:

1 -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA Jean-Luc Danger, ENST Paris Cours de lISEP disponible sur le WEB Pierre Bomel

2 -2- Emmanuel Boutillon Comment et pourquoi faire de la logique programmable ? Les technologies de personnalisation PAL, EPLD et FPGA Spécificité du développement des CLPs Situation présente et évolution. PLAN

3 -3- Emmanuel Boutillon microprocesseurs processeurs DSPs mémoires périphériques FPGA EPLD circuits logiques programmables circuits logiques programmables ASICs Position du problème Matériel Logiciel circuits existants circuits personnalisés

4 -4- Emmanuel Boutillon Position du problème Lintérêt des CLP se justifie (depuis 30 ans) par : Le coûts très important des ASICs Le temps de développement d un ASIC Les performances faibles du logiciel La non flexibilité des solutions ASIC « Démocratisation » des FPGA

5 -5- Emmanuel Boutillon Coût à la pièce Nombre de pièces ASIC CLP NRE seuil le seuil augmente si le nombre de portes baisse seuil mini = 1000 pièces Coût CLP/ASIC

6 -6- Emmanuel Boutillon temps Temps de conception spec FPGA ASIC Code+synth Placement Routage Placement Routage fab spec Code+synth spec logiciel PRPR PRPR Code P + Time to market

7 -7- Emmanuel Boutillon processeur : traitement séquentiel f clock nb op/cycle f = f Nb opérations/cycle circuit personnalisé : traitement parallèle F clock fréquence de traitement Les performances

8 -8- Emmanuel Boutillon Démocratisation de la conception Temps log10(complexité) 10Masque 8Transistor 7Porte 5RTL 4Spécifications 3Idée T0 Tfin Développement Validation ASIC Fonderie Produit Validation CLP Affaire de Spécialistes avec un équipement lourd

9 -9- Emmanuel Boutillon l prototypage ï conception rapide de démonstrateurs ï autonomie (pas de fondeur) l Reprogrammation ï maintenance in situ Intérêts propres aux CLPs

10 -10- Emmanuel Boutillon Comment faire des CLP ? Un circuit classique contient : - des portes logiques ; - des connections entre les portes logiques ; - des éléments de mémorisation (registre et/ou mémoire) ; - des entrées-sorties. - une (ou des) horloges - une structure hiérarchique Le CLP doit donc avoir les mêmes fonctionnalités, avec la notion de « programmabilité ».

11 -11- Emmanuel Boutillon Toute fonction logique booléenne peut s'exprimer sous forme canonique S = A 2 A 1 A 0 + A 2 A 1 A 0 + A 2 A 1 A 0 + A 2 A 1 A 0 minterme ou terme produit Matrice ET produits des entrées Matrice ET produits des entrées Matrice OU somme des produits Matrice OU somme des produits AiAi SjSj = Réseau logique programmable exemple : Fonction logique simple : Réseau logique

12 -12- Emmanuel Boutillon f(A 1,A 0 ) = f(0,0)A 1 A 0 + f(0,1)A 1 A 0 + f(1,0)A 1 A 0 +f(1,1)A 1 A 0 fonction logique 2 entrées : mémoire 4 mots de 1 bit : d = d 0 A 1 A 0 + d 1 A 1 A 0 + d 2 A 1 A 0 + d 3 A 1 A 0 A0A1A0A1 F(A 1,A 0 )=d= A 1 A 0 + A 1 A 0 adresse=entrées liaison non programmable liaison programmable Mémoire d0=0 d1=1 d2=1 d3=0

13 -13- Emmanuel Boutillon A0A1A2A3A0A1A2A3 S0S1S0S1 matrice ET figée matrice OU programmable adresse=entrées liaison non programmable liaison programmable mémoire 16 mots de 2 bits => 2 fonctions logiques de 4 entrées Mémoire

14 -14- Emmanuel Boutillon LOOK UP TABLE (LUT) Une mémoire contient la table de vérité d une fonction logique : Ex : Fonction F(a,b,c) = a xor b xor c SRAM Adresse (a,b,c) F(a,b,c) => Mode de lecture différent du résultat

15 -15- Emmanuel Boutillon ABCDABCD S0S1S2S3S0S1S2S3 matrice ET programmable matrice OU figée liaison non programmable liaison programmable Programmable Array Logic somme de produits = Macrocellule PAL PLD : 4 fonctions de 12 mintermes (max) de 3 variables Au déparet #70-85 : programmation « à la main » (fichier de fusibles)

16 -16- Emmanuel Boutillon utilisée pour la technologie ANTIFUSIBLE équivaut à une LUT cablée mux a b sortie e0e0 e1e1 e2e2 e3e3 sortie = ab e 0 ou ab e 1 ou ab e 2 ou ab e 3 intérêt : surface réduite cellule grain fin cellule logique à MUX

17 -17- Emmanuel Boutillon ET OU ET MEMOIRE PAL MUX typestructureavantageinconvénient toutes les fonctions => 2 2 n possibles grand nombre d'entrées économique Mémoire conséquente si nombreuses entrées Nombre de mintermes limité Taille très faible Limité à peu d entrées comparatif des réseaux programmables

18 -18- Emmanuel Boutillon Programmation des interconnections Par connexion ou non de deux fils F1 F2 F1 F2 Par lutilisation de multiplexeur F1 F2 F1 Le nombre de connexions réalisables est limité à ce qui existe... !

19 -19- Emmanuel Boutillon Programmation des registres et E/S clk D Q rst Registre Possibilité d utiliser ou non le registre Possibilité de programmer le PAD en mode entrée ou sortie.

20 -20- Emmanuel Boutillon Système dentrée sortie complet DFF OE OUT IN broche la broche peut être : entrée simple sortie simple bidir entrée avec DFF (structure FPGA) sortie avec DFF (structure FPGA) inutilisée pour faciliter le routage (structure PAL) avec logique JTAG

21 -21- Emmanuel Boutillon Gestion des horloges Mise en place d un arbre de d horloge pour effectuer de la logique synchrone. Principe : système asservi en phase CLK CLK_OUT PLL compensation le "skew" d'horloge multiplication de la fréquence si diviseur dans la boucle de réaction

22 -22- Emmanuel Boutillon Gestion de la complexité Pour les CLP complexes, il est possible de définir des niveaux de hiérarchie du matériel. => Au niveau des interconnections => Au niveau du regroupement de fonctions logiques Il est aussi possible de diviser le circuit en fonctionnalités différentes : => Zone de mémoire RAM => Zone de CLP => Zone spécialisée

23 -23- Emmanuel Boutillon technologies de programmation : - EEPROM - SRAM - antifusible technologies de programmation : - EEPROM - SRAM - antifusible architectures du plan actif : - PAL hiérarchique (EPLD) - gate-array (FPGA) - mixtes (CPLD ALTERAs) architectures du plan actif : - PAL hiérarchique (EPLD) - gate-array (FPGA) - mixtes (CPLD ALTERAs) Entrées / Sorties Plan actif : cellules logiques Plan de programmation : interconnexion Entrées / Sorties programmation ou configuration Entrées / Sorties Principes du CLP

24 -24- Emmanuel Boutillon Comment et pourquoi faire de la logique programmable ? Les technologies de personnalisation PAL, EPLD et FPGA Spécificité du développement des CLPs Situation présente et évolution. PLAN

25 -25- Emmanuel Boutillon Les composants logiques programmables : Les technologies de personnalisation ï Fusibles ï Anti-fusibles ï UV PROM (obsolète) EEPROM ï SRAM ï Métalisation ï Comparaison des différents techniques. Le circuit est personnalisé par création/destruction de connections sur la structure prédéfinie.

26 -26- Emmanuel Boutillon Les composants logiques programmables : Technologie de personnalisation : Fusibles métalliques ou Si Lignes métalliques : interconnexions Intact«Programmé» Problème de lélectro-migration Même structure en ligne polysilicium Ou Transistor «grillable» joue le rôle de fusible

27 -27- Emmanuel Boutillon Les composants logiques programmables : Technologie de personnalisation : Antifusibles

28 -28- Emmanuel Boutillon Les composants logiques programmables : Technologie de personnalisation : UV-EPROM / EEPROM SAMOS : Stacked MOS Non-volatile

29 -29- Emmanuel Boutillon Les composants logiques programmables : Technologie de personnalisation : SRAM Besoin dune mémoire externe dinitialisation : Processeur associé ou EEPROM série

30 -30- Emmanuel Boutillon Prédiffusés (Gate Array) l Circuits génériques au «catalogue» (ressources sans les interconnexions finales) l Développement / production rapides l Pas d utilisation optimale du Si Exemple de métalisation pour obtenir un registre. Les outils de CAO vont permettre de dériver le dessin du ou des masques de connexions en tenant compte du schéma et du circuit choisi Les ressources peuvent être uniques (par exemple des NAND) ou plus diversifiées Le routage se fait «dessus» : sea of gate ou «à coté» : row-based

31 -31- Emmanuel Boutillon Comparaison Critères pour les interconnexions : rapidité de propagation à travers l interrupteur (produit résistance - capacité parasite) densité possible des interconnexions (surface de la cellule) facilité d utilisation (ISP, support, PROM de configuration) maintien de la configuration (volatile) reprogrammablilité (OTP)

32 -32- Emmanuel Boutillon Comment et pourquoi faire de la logique programmable ? Les technologies de personnalisation PAL, EPLD et FPGA Spécificité du développement des CLPs Situation présente et évolution. PLAN

33 -33- Emmanuel Boutillon Taxinomie des CLPs (PLD) Circuits logiques programmable (Programmable Logic Device) PLDEPLD-CPLDFPGA SRAMantifusePALGAL UVPROMEECMOS isp Les noms peuvent changer selon lauteur, le fondeur... !

34 -34- Emmanuel Boutillon Vocabulaire (1) a. PAL, GAL ( Programmable Array Logic, Généric Array Logic). b. EPLD-CPLD (Erasable PLD ou Complex PLD) Les EPLD sont programmables électriquement et effaçables aux UV ; Les EEPLD sont effaçables électriquement Principe similaire aux PAL mais avec interconnexions réalisées en techno UVPROM On trouve également les pLSI et ispLSI (in situ programmable) c. FPGA (Field Programmable Gate Array) C est un ensemble de blocs logiques élémentaires que l utilisateur peut interconnecter pour réaliser les fonctions logiques de son choix La densité des portes est importante et sans cesse en évolution FPGA à SRAM ou LCA Logic Cell Array (1985 par Xilinx) FPGA à antifusibles (1990 Actel) non effaçables

35 -35- Emmanuel Boutillon Vocabulaire (2) ASICApplication Specific Integrated Circuit - Circuit intégré conçu à la demande CPLDComplex Programmable Logic Device - Réseau logique programmable complexe DRAM Dynamic Random Access Memory - Mémoire dynamique à accès aléatoire DSP Digital Signal Processor - Processeur orienté vers le traitement du signal EDIFElectronic Design Interchange Format EEPLD Electrically Erasable Programmable Logic Device - PLD effaçable électriquement FPGAField Programmable Gate Array - Réseau de portes programmables GALGeneric Array Logic - PAL générique ISPIn-System (In Situ) Programmable - Composant programmable sur carte JEDECJoint Electronic Device Engineering Council - Organisme de normalisation JTAGJoint Test Action Group - Bus de test des composants LCALogic Cell Array (Xilinx) - Réseau de cellules logiques LUTLook-Up Table MAXMultiple Array Matrix - Megapals d'Altera NOVRAM ou NVRAM Non Volatile Random Access Memory - RAM non volatile OTPOne Time Programmable - Programmable une seule fois PALProgrammable Array Logic - Réseau logique programmable PGAProgrammable Gate Array - Réseau de portes programmable PLAProgrammable Logic Array - Réseau logique programmable PLDProgrammable Logic Device - Dispositif logique programmable, EPLD : Erasable PLD : PLD Effacable ROM Read Only Memory, Mémoire à lecture seule, PROM : Programmable ROM,. EPROM: Erasable : Effacable, EEPROM : Electricaly EPROM : Mémoire à lecture seule, électriquement effaçable. RAMRandom Access Memory - Mémoire à accès aléatoire SDFStandard Delay File SOGSea-of-Gates - Mer de portes : réseau actif logique prédiffusé SRAM Static Random Access Memory - Mémoire statique à accès aléatoire TTLTransistor Transistor Logic - Logique transistor-transistor VHDLVHSIC Hardware Description Language - Langage de description matérielle VHSIC

36 -36- Emmanuel Boutillon Nomenclature des PALs l Convention de dénomination PAL II AB 00 (CE) C ZZ DEF ï PAL (nbr d entrées) (structure de sortie) (nbr sorties) (CMOS Eraseble) (conso.) (vitesse) (boitier) l Types de sorties

37 -37- Emmanuel Boutillon Principe des PAL Possibilité de rebouclage Vedette : PAL22V10CE Programmable array logic 22 I/O - 10 Versatile Outputs CMOS ERASABLE Architecture générale des PALs

38 -38- Emmanuel Boutillon PAL22V10CE : sortie Versatile Choix de la polarité de la logique Programmation entrée sortie Rebouclage programmable.

39 -39- Emmanuel Boutillon PAL22V10

40 -40- Emmanuel Boutillon Architecture PAL hiérarchique (EPLD) Ensemble de blocs logiques LAB (Logic Array Block) composés de macrocellules Une matrice d'interconnexion PIA (Programmable Interconnect Array) Chaque E/S est liée à une macrocellule PIA E/S matrice d'interconnexion... LAB macrocellule... macrocellule

41 -41- Emmanuel Boutillon Routage dun EPLD ï routage systématisé ï modèle électrique et délais prédictibles ï placement non critique (temps de compilation faible LAB E/SLAB

42 -42- Emmanuel Boutillon Exemple : EP610/1810 (1)

43 -43- Emmanuel Boutillon Exemple (ALTERA) : P610/1810 (2)

44 -44- Emmanuel Boutillon MAX9000 (1)

45 -45- Emmanuel Boutillon PLD / CPLD / FPGA : Loffre ALTERA : MAX9000 (2)

46 -46- Emmanuel Boutillon MAX9000 (3)

47 -47- Emmanuel Boutillon Architecture gate-array (FPGA) Ensemble de cellules logiques disposées en matrice et séparées par des canaux de routage organisés en Rangées/Colonnes. A chaque intersection se trouve un commutateur. Le temps de propagation dépend du routage choisi pour réaliser l'interconnexion. canaux de routage cellule logique E/S

48 -48- Emmanuel Boutillon rangée pour connexions locales =segments colonne pour connexions locales commutateur cellule logique cellule logique rangée pour connexions globales = lignes longues exemple : XC4000 XILINX routage dans un FPGA cellule logique cellule logique

49 -49- Emmanuel Boutillon A B A B grande adaptabilité du routage routage dans un FPGA

50 -50- Emmanuel Boutillon A A A routage local dans le bloc A B cellules dans le même bloc cellules dans blocs différents : 1 ligne rangée et colonne occupée 1 commutation max => temps de propagation + déterministe besoin de + de lignes routage dans un FPGA : FLEX ALTERA B

51 -51- Emmanuel Boutillon FLEX10K(1)

52 -52- Emmanuel Boutillon FLEX10K(2)

53 -53- Emmanuel Boutillon FLEX10K(3)

54 -54- Emmanuel Boutillon FLEX10K(4)

55 -55- Emmanuel Boutillon FLEX10K(5) Mode normal Mode arithmétique

56 -56- Emmanuel Boutillon FLEX10K(6)

57 -57- Emmanuel Boutillon performances granularité fine flexibilité granularité fine flexibilité rapidité de compilation rapidité de compilation prédictibilité des temps de propagation prédictibilité des temps de propagation grand nombre de registres grand nombre de registres type EPLD type FPGA Intérêts des deux architectures

58 -58- Emmanuel Boutillon EPLDFPGA machine à états complexe machine à états performante intégration de circuits logiques et PALs temps de calcul pin à pin prédictible. traitement en pipeline arithmétique machine à état codée "hot line" applications à haut niveau d'intégration nombre registres et E/S Applications EPLD/FPGA

59 -59- Emmanuel Boutillon APEX20K(1)

60 -60- Emmanuel Boutillon APEX20K(2)

61 -61- Emmanuel Boutillon XILINX : Famille VIRTEX CLB BRAMBRAM BRAMBRAM BRAMBRAM BRAMBRAM DLL CL IOB IOBIOB IOBIOB IOBIOB IOBIOB DLL CL CLB 4th Generation Logic/Memory/Routing Fabric DLL Technology for High-Performance Clock & I/O Select I/O Technology Thermal Management SelectMAP Advanced Configuration Technology Ultra-High Performance Synchronous Dual-Port SRAM

62 -62- Emmanuel Boutillon Comment et pourquoi faire de la logique programmable ? Les technologies de personnalisation PAL, EPLD et FPGA Comment choisir un FPGA Situation présente et évolution. PLAN

63 -63- Emmanuel Boutillon Comment choisir un FPGA ? Caractéristiques techniques du FPGA - Performances (complexité, vitesse, conso.) - Nombre E/S et interface - Tension dalimentation - Boitié Qualité des softs associés au FPGA (CAO et IP) Technique de programmation (Field/InSitu) Technique de debug et de test Critères économiques - prix, disponibilité - pérennité et flexibilité de la famille.

64 -64- Emmanuel Boutillon PC et/ou station de travail SAISIE SYNTHESE PLACEMENT ROUTAGE PLACEMENT ROUTAGE VERIFICATION PROGRAMMATION CONFIGURATION PROGRAMMATION CONFIGURATION CAO pour conception de CLP spécifications Très similaires à celle des circuits VLSI : Technologie CLP : : Synthèse et P/R spécifique : nombre de cellules figé par circuit 1 cellule = entre 1 et 20 portes 2 entrées Synthèse et P/R spécifique : nombre de cellules figé par circuit 1 cellule = entre 1 et 20 portes 2 entrées Autonomie : réalisation= téléchargement de la liste déquipotentielles dans le circuit Autonomie : réalisation= téléchargement de la liste déquipotentielles dans le circuit

65 -65- Emmanuel Boutillon partitionnement circuits multiples floorplanningplacementroutage "Netlist " après synthèse vers programmeur CLP + adder control FIFO timing glue placement routage Chaque vendeur de CLP fournit son outil de P/R dédié CLP Bloccelluleéquipotentielle

66 -66- Emmanuel Boutillon Importance de la qualité des softs Les FPGAs deviennent très complexes et très flexibles. => Loptimisation du P/R devient très complexe => Logiciels performants Hors les logiciels de CAO pour les CLPs manquent de maturités : => très lents (24 h pour un placement routage) => peu stables (machine à rebouter) => peu efficaces et non déterministes : a) temps de propagation trop long b) en échec (pas de solution trouvée). =>il faut alors guider « à la main » le placement

67 -67- Emmanuel Boutillon Synthèse sur FPGA Pour optimiser la synthèse, il faut la guider : => Directive global de compilation : Effort d optimisation, critères de synthèse (Vitesse vs Surface, Fan out) => Directive locale de compilation dans le texte -- « mot clef » « directive compilation » => Directive hiérarchique de compilation tel bloc, telle méthode (insertion libre de registres, méthode A). => Utilisation d opérateurs « optimisés par le fondeur » appels de macro-blocs additionneurs, multiplieurs,... paramétrables PROBLEME : Le code VHDL devient spécifique au FPGA

68 -68- Emmanuel Boutillon Placement sur FPGA Problème NP-complet qui conditionne : - la possibilité de trouver une solution de routage - le chemin critique Solution : - Indiquer « à la main » le placement des blocs dans le floor plan. - Placement routage incrémental Assignation manuelle ou automatique des PAD E/S sur les entrées/sorties du composant VHDL.

69 -69- Emmanuel Boutillon Intellectual Property (IP) l Les structures matérielles deviennent du consommable l Achat ou location d un design paramétrable l Licence ou royalties l Développement et échange dIP grâce aux langages standards La qualité d une CLPs dépend aussi des IPs disponibles pour accélérer la conception (de même que la qualité dun système d exploitation dépend des logiciels existant).

70 -70- Emmanuel Boutillon IP MegaStore: Search Engine

71 -71- Emmanuel Boutillon The Portfolio (XILINX, ALTERA) Communications ADPCM (u-law, a-law) ATM Controller Cell Delineation CRC Ethernet MAC (10/100/Gigabit) HDLC Protocol Core IMA Controller Intermediate Data Rate Framer/DeFramer Multi-Channel ATM TC Packet Over SONET Controller Rank Order Filter Speedbridge Telephony Tone Generator Utopia Level II/III Master and Slave Bus Interface CAN Bus IIC Slave IIC Master IEEE 1394 PCI Target PCI Master/Target PCI-X Master/Target PowerPC Bus Arbiter PowerPC Bus Master PowerPC Bus Slave USB Function Controller USB Host Controller Digital Signal Processing Adaptive Filter Binary Pattern Correlator Biorthogonal Wavelet Filter Complex Multiplier Mixer CSC Decimating Filter Digital Modulator Discrete Cosine Transform Early/Late Gate Symbol FFT FIR Compiler FIR Filter Library Floating Point Adder/Divider IIR Compiler Image Processing Library Integer Divider NCO Reed Solomon Compiler Square Root Operator Symbol Interleaver/Deinterleaver Viterbi Decoder Processor, Peripheral UART 6850 UART 16450/550 UARTs 8251 UART 8237 DMA Controller 8255 Peripheral Interface 8259 Interrupt Controller 8254 Timer/Counter Z80 Excalibur NIOS Processor LX-4080R Xtensa 32-bit Processor SDRAM Controller

72 -72- Emmanuel Boutillon EPLD Technologie EEPROM programmation sur site via des broches dédiées : ISP (In system Programmation) connecteur de configuration broches JTAG programmateur Programmation

73 -73- Emmanuel Boutillon Technologie SRAM Configuration mémoire de configuration configuration autonome sur site : ICR (In Circuit Reconfiguration) microcontrôleur broches de configuration dédiées ou port JTAG CLP FPGA

74 -74- Emmanuel Boutillon Debug : Analyseur embarqué Internal Chip-level Activity External Board-level Activity Certains constructeurs proposent des IPs « analyseur logique » Cela permet de sortir du FPGA des signaux internes pour le debug du système. + Simulation en temps réel (très important). - Synthèse et placement à chaque modification de l environnement de test.

75 -75- Emmanuel Boutillon JTAG pour le test : boundary scan test puce TDITD0 puce TDITD0 ligne à tester circuit Jtag 1circuit Jtag 2 Le boudary scan test impose : broches dédiées : TDI,TDO,TMS,TCLK,nTRST controleur JTAG T est A ccess P ort avec registre d'instruction registre à décalage sur les broches (Boundary scan register)

76 -76- Emmanuel Boutillon Critère économique Coût du composant : évidemment... Coût du développement : dépend de la culture de lentreprise => Savoir faire => Réutilisation de code déjà existant => Existence ou non des logiciels de CAO (conditionne aussi le temps de développement) Coût de maintenance : => extension de la famille FPGA : nouvelle génération de produit

77 -77- Emmanuel Boutillon Comment et pourquoi faire de la logique programmable ? Les technologies de personnalisation PAL, EPLD et FPGA Comment choisir un FPGA Situation présente et évolution. PLAN

78 -78- Emmanuel Boutillon l opérateurs ï +,- :chaîne de retenue, cellule utilisée en "full adder" ï * : chaîne de retenue pour arbre daddition + LUT ou RAM pour logique câblée ï non linéaires : LUT, mémoire l mémoire temporaires ï nombreux registres pour pipeline et retards ï blocs mémoires l Gestion de l'horloge ï PLL pour diminuer le "skew" et augmenter la fréquence Intérêts des CLPs pour le traitement du signal

79 -79- Emmanuel Boutillon coprocesseur "front end" : décodage canal filtrage coprocesseur "front end" : décodage canal filtrage processeur "back end" données au débit élevé canal 1 canal 2 info au débit moins élevé CLP processeur DSP, RISC,... performances calcul et mémoire distribués centralisation du calcul et de la mémoire fonctions multiples et algorithme complexe contrôle interface asynchrone gestion système complémentarité CLP processeur

80 -80- Emmanuel Boutillon Evolution (Roadmap) CircuitAnnéeN (T ou gates) T Pentium I T Pentium IV T ALTERA20001à Portes

81 -81- Emmanuel Boutillon Loffre ALTERA (début 2001) ALTERADevice APEX High Density, CAM, High Performance IOs FLEX, ACEX Density Memory Excalibur NIOS, ARM, MIPS Embedded Processor Peripherals, More Memory MAX LogicMAX

82 -82- Emmanuel Boutillon PLD / CPLD / FPGA : Loffre ALTERA : EXCALIBUR Processeur embarqué dans une FPGA - Primitive VHDL synthétisé : NIOS - Processeur matériel ARM ou MIPS + FPGA Performance (MIPs) ARM Core MIPS Core 0 Soft CoreHard Cores Core TM

83 -83- Emmanuel Boutillon l Configurable Soft Core l Optimized for ALTERAs PLD Architecture l 16 or 32 bits Data Path l 16 bits instruction set l RISC base, 4-stage pipeline l 50 MIPS performance l 1100 LE for 16-bit mode l 1700 LE for 32-bit mode ï 12% of EP20K200E NIOS Embedded Processor Timer IRQ PBM CPU UART APEX EP20K200E Your Design Here FLASH SRAM Serial Port

84 -84- Emmanuel Boutillon Nios RISC Processor Block Diagram l Standard RISC Components l Fully- Synchronous Interface

85 -85- Emmanuel Boutillon Nios Compile-Time Parameters l Data Path (32 or 16) l Address Bus Width (10 to 33-bits) l Register File Size (128, 256 or 512) l Reset Address l Exception Vector Table Address l Barrel-Shifter Speed (1, 3, 7, 15 or 31 Bits/Clock) l Hardware-Assisted Multiply (MSTEP)

86 -86- Emmanuel Boutillon Nios Peripheral List & PBM Nios Core Address Decode Interrupt Control Wait State Generation Data In Multiplexer Bus Sizing (Optional) Peripherals Peripheral Bus Module UART Timer PIO Int.& Ext. Memory User-defined Peripheral User-defined Peripheral Processor Core Port Interface

87 -87- Emmanuel Boutillon Nios Flexibility & Scalability APEX EP20K100E APEX EP20K200E APEX EP20K1000E High-Performance Embedded Processor Custom DSP Multi-Processor Micro-Coded System 75K Gates Available 150K Gates Available 500K Gates Available FFT ESB ESB ESB ESB ESB ESB ESB ESB ESB ESB ESB ESB l Before Nios ï 68XXX = 8 MIPS ï ARM 7 = 53 MIPS ï Pentium III = 500 MIPS l After Nios ï 1 Nios = 44 MIPS ï 40 Nios = 1760 MIPS

88 -88- Emmanuel Boutillon ARM/MIPS : Logical Structure EBI SRAM (Single Port) SDRAM Controller DPRAM SDRAM Interface Flash Interface Bridge Master Port Slave Port Dual-Port RAM Interface ARM- or MIPS- Based Processor PLLs PLD

89 -89- Emmanuel Boutillon EPXA10 SRAM DPRAM EPXA4 SRAM DPRAM EPXA1 SRAM DPRAM Embedded Processor PLD Embedded Processor Stripe PLD JTAG Trace Module ARM922T External Memory Interfaces Interrupt Controller PLL Timer UART Watchdog Timer

90 -90- Emmanuel Boutillon ARM/MIPS : Ressources

91 -91- Emmanuel Boutillon ARM/MIPS : Design WorkFLow Notion de Co-Design

92 -92- Emmanuel Boutillon Les acteurs du marché des PLD/FPGA (en Million$) Ventes 1999 Ventes 2000 ALTERA XILINX LATTICE ACTEL LUCENT ATMEL CYPRESS... Permet aux PME daccéder aux circuits intégrés complexes

93 -93- Emmanuel Boutillon Les acteurs du marché des ASIC Prédiffusés (Million$) 1999 FUJITSU 494 NEC 370 TOSHIBA 350 HITACHI 300 LSI Logic 200 Précaractérisés (Million$) 1999 IBM micro-e 2200 AGERE (LUCENT) 1900 LSI Logic 1450 NEC 1050 FUJITSU 820

94 -94- Emmanuel Boutillon Evolution des marchés Répartition 99 (en $) des circuits CMOS et prévisions PLD10 %0,50,60,70,91 Prédiffusés12 % 0,40,30,30,30,2 Précaractérisés44 % 2,12,73,44,24,9 Full Custom 4 % 0,030,020,010,010 Glue 9 % Autres21 % Pour un marché de 25,8 Md$en 99 Forte croissance des PLD/FPGA et Précaractérisés Baisse (et mort) des prédiffusés et des full custom

95 -95- Emmanuel Boutillon Le futur (1) FPGA avec Processeur … ou Processeur avec zone de FPGA ? FPGA reconfigurable dynamiquement : - de façon déterministe (filtre A puis B sur image). - de façon dynamique en fonction des données… => Problèmes de recherche qui débutent. - software radio : la configuration est télé-chargée, - partitionnement logiciel-matériel - prouver que cela marche...

96 -96- Emmanuel Boutillon Le futur (2) Circuit programmable Analogiques et Mixtes : En cours (www.anadigm.com)


Télécharger ppt "-1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours."

Présentations similaires


Annonces Google