Les circuits logiques programmables - FPGA Etude Etude des des circuits circuits logiques logiques programmables programmables Les Les FPGA FPGA Fabrice CAIGNET LAAS - CNRS [email protected] F.CAIGNET 1 Les circuits logiques programmables - FPGA Contenu Contenu:: I. Les Réseaux Logiques Programmables : PLD II. Les technologies des éléments programmables III. Les FPGAs IV. Les outils de développement V. Les tendances des composants programmables VI. Le langage VHDL F.CAIGNET 2 Les circuits logiques programmables - FPGA I.I.Les LesRéseaux RéseauxLogiques LogiquesProgrammables Programmables::PLD PLD PLD = Programmable Logic Devices Circuits logiques + ou - complexes remplaçant l’association de plusieurs boîtes logiques • Simplification de câblage • Encombrement réduit • Diminution des coûts • Facilité d’utilisation • Diminution du risque des pannes entrées PLD Association de fct Logiques Sorties 1 seul circuit intégré F.CAIGNET 3 Les circuits logiques programmables - FPGA I.I.Les LesRéseaux RéseauxLogiques LogiquesProgrammables Programmables::PLD PLD Importance du «Time To Market » Le cahier des charges du développement d’un système doit prendre en compte les paramètres suivants : • Le coût de production Nb de ventes • Les performances • La consommation • L'intégration • L'évolution du produit Entreprise 1 Entreprise 2 • La maintenance • La protection industrielle Deux alternatives existent : temps • Les ASIC (Application Specific integrated Circuits) • Les Circuits à réseaux programmables F.CAIGNET 4 Les circuits logiques programmables - FPGA I.I.Les LesRéseaux RéseauxLogiques LogiquesProgrammables Programmables::PLD PLD Quelles différences entre un ASIC et un PLD ASIC Application Specific Integrated Circuits PLD Programmable Logic Device Choix du fondeur Choix du circuit Conception du circuit (full-custom - bibliothèques) Programmation du circuit (logiciel + interface circuit) Très grand niveau d’intégration Intégration limitée Fabrication à très grand nombre d’exemplaire Implémentation nombre d’exemplaires limité • Un circuit dédié à une application • Choix de la technologie Maximum de performances F.CAIGNET • Un circuit programmé pour une application • Technologie figée mais : Facilité de programmation 5 Les circuits logiques programmables - FPGA I.I.Les LesRéseaux RéseauxLogiques LogiquesProgrammables Programmables::PLD PLD F.CAIGNET 6 Les circuits logiques programmables - FPGA I.I.Les LesRéseaux RéseauxLogiques LogiquesProgrammables Programmables::PLD PLD Avantages des PLD • Le coût et temps de développement. • Le prototypage et temps de simulation accéléré. • La prise de risque est réduite. (modifications possibles, risque d'inventaire) • Des supports logiciels peu chers. • Des produits éprouvés. (pas de vecteurs de test structurel) Inconvénients • Un niveau d'intégration moindre aux ASIC. • Une consommation plus élevée. • Des prix importants et une faible disponibilité pour de grandes séries . F.CAIGNET Symbolisation Normalisée 7 Les circuits logiques programmables - FPGA I.I.Les LesRéseaux RéseauxLogiques LogiquesProgrammables Programmables::PLD PLD Quatre Familles de PLD boîtes logiques PLD PAL F.CAIGNET GAL EPLD FPGA 8 Les circuits logiques programmables - FPGA I.I.Les LesRéseaux RéseauxLogiques LogiquesProgrammables Programmables::PLD PLD PAL (Programmable Array Logic) : réseaux logiques programmables • Développés au début des années 70 par MMI (ex-AMD) • La programmation se fait par destruction de fusibles • Aucun fusible n’est grillé à l’achat de la PAL Fusibles Fusibles Les fonctions ET sont programmables F.CAIGNET 9 Les circuits logiques programmables - FPGA I.I.Les LesRéseaux RéseauxLogiques LogiquesProgrammables Programmables::PLD PLD PAL (Programmable Array Logic) : réseaux logiques programmables Représentation : - les fusibles intactes sont représentés par une connexion - les fusibles détruits sont représentés par une absence de connexion Fusible Fusibleintact intact Fusible Fusible détruit détruit Exemple d’un “OU EXCLUSIF” F.CAIGNET 10 Les circuits logiques programmables - FPGA I.I.Les LesRéseaux RéseauxLogiques LogiquesProgrammables Programmables::PLD PLD PAL (Programmable Array Logic) : réseaux logiques programmables Que peut-on trouver dans une PAL?? Tout P.A.L. est constitué : - D'entrées (Input): I1 à In avec 8<n<20. - De sorties (Output) Ou d’entrées / sorties (I/O) de type Totem Pôle ou Trois Etats :O1 à On ou IO1 à IOn (2<n<15). On trouve aussi : - Une entrée d'horloge (Clock): Clk ou Clock. - Une entrée de validation des sorties trois états: OE (Output Enable) ou Enable. - Une entrée de remise à zéro des registres: RESET. F.CAIGNET 11 Les circuits logiques programmables - FPGA I.I.Les LesRéseaux RéseauxLogiques LogiquesProgrammables Programmables::PLD PLD PAL : Matrice de programmation La plupart des P.A.L. sont constitués : - Un ensemble de portes « ET » sur lesquelles viennent se Matrice Matricede de programmation programmation connecter les variables d’entrée et leurs compléments. - Un ensemble de portes « OU » sur lesquelles les sorties des opérateurs « ET » sont connectées les variables d’entrée. F.CAIGNET 12 Les circuits logiques programmables - FPGA I.I.Les LesRéseaux RéseauxLogiques LogiquesProgrammables Programmables::PLD PLD PAL : Structure de sortie Il existe 3 structures de sortie qui peuvent-être aussi de entrées/sorties : - Combinatoire - Séquentielle - versatiles • Entrées / Sorties combinatoires Sortie 3 états rebouchée vers la matrice une sortie peut servir de variable intermédiaire une sortie peut servir d’entrée (en mode haute impédance) F.CAIGNET 13 Les circuits logiques programmables - FPGA I.I.Les LesRéseaux RéseauxLogiques LogiquesProgrammables Programmables::PLD PLD PAL : Structure de sortie • Entrées / Sorties séquentielles, à registre Une bascule D permet la logique séquentielle sorties séquencées sur une horloge H une sortie ne peut pas servir d’entrée une commande OE (Ouput Enable) permet de désactiver la sortie OE Sortie à REGISTRE F.CAIGNET 14 Les circuits logiques programmables - FPGA I.I.Les LesRéseaux RéseauxLogiques LogiquesProgrammables Programmables::PLD PLD PAL (Programmable Array Logic) : Structure de sortie • Entrées / Sorties versatiles (VPAL) On peut configurer par programmation le mode d’utilisation de la broche de sortie Entrée / Sortie VERSATILE F.CAIGNET 15 Les circuits logiques programmables - FPGA I.I.Les LesRéseaux RéseauxLogiques LogiquesProgrammables Programmables::PLD PLD PAL (Programmable Array Logic) : Exemple de PAL22V10 (AMD) F.CAIGNET 16 Les circuits logiques programmables - FPGA I.I.Les LesRéseaux RéseauxLogiques LogiquesProgrammables Programmables::PLD PLD GAL (Généric Array Logic), « LATICE Semiconductor » Réseau Logique Reprogrammable n u st e L e l A b a G faç n t f U n e e L uem A P triq élec F.CAIGNET 17 Les circuits logiques programmables - FPGA I.I.Les LesRéseaux RéseauxLogiques LogiquesProgrammables Programmables::PLD PLD Erasable Programmable Logic Device Circuit Logique reprogrammable de grande capacité F.CAIGNET 18 Les circuits logiques programmables - FPGA I.I.Les LesRéseaux RéseauxLogiques LogiquesProgrammables Programmables::PLD PLD Forecasting Programmable Gate Array Réseau de portes programmables à la demande La densité croissante des circuits programmables actuels, notamment des FPGA (Field Programmable Gate Array), permet le prototypage rapide des circuits numériques à grande complexité. Aussi, il est possible de tester rapidement la validité de concepts architecturaux nouveaux: l'implémentation complète d'un processeur sur des circuits FPGA est aujourd'hui à notre portée, entraînant ainsi plus de possibilités d'évaluation que celles offertes par des simulateurs logiciels. De plus, la reprogrammabilité de certains circuits FPGA a ouvert de nouvelles voies de recherche: des méthodologies de conception des systèmes reconfigurables, capables d'évoluer ou de s'adapter à des environnements ou à des contraintes variables. F.CAIGNET 19 Les circuits logiques programmables - FPGA I.I.Les LesRéseaux RéseauxLogiques LogiquesProgrammables Programmables::PLD PLD Résumé graphique des familles de P.L.D. PLD Circuits Logiques Programmables PAL et FPLS PAL à fusibles bipolaires PAL CMOS effaçables électriquement GAL effaçables électriquement PAL effaçables aux UV GPLD - EPLD LCA FPGA F.CAIGNET 20 Les circuits logiques programmables - FPGA I.I.Les LesRéseaux RéseauxLogiques LogiquesProgrammables Programmables::PLD PLD Les principaux critères de choix des P.L.D. sont: - Vitesse de fonctionnement - Nombre de portes - Consommation - Technologie - Prix F.CAIGNET 21 Les circuits logiques programmables - FPGA II. II.Les Lestechnologies technologiesdes deséléments élémentsprogrammables programmables Généralité sur les technologies des éléments programmables On trouve les éléments programmables dans les blocs logiques des PLDs, afin de leur donner une fonctionnalité, mais aussi dans les matrices d'interconnexions entre ces blocs. Un élément programmable peut être considéré comme un interrupteur. Afin de respecter les contraintes imposées à l'ingénieur, les éléments programmables doivent posséder plusieurs qualités : - Ils doivent occuper une surface la plus petite possible (Ce point s'explique pour des raisons évidentes de coût. Ceci est d'autant plus vrai que l'on désire en disposer d'un grand nombre). - Ils doivent posséder une résistance de passage faible et une résistance de coupure très élevée. - Ils doivent apporter un minimum de capacité parasite. Les deux derniers points s'expliquent quant à eux pour des raisons de performance en terme de fréquence de fonctionnement du PLD. Plus la résistance et la capacité sur le chemin d'un signal sont faibles, plus la fréquence de ce signal peut être élevée (RC effet). F.CAIGNET 22 Les circuits logiques programmables - FPGA II. II.Les Lestechnologies technologiesdes deséléments élémentsprogrammables programmables Les technologies à fusibles Les fusibles sont grillés en appliquant des tensions élevées (12V) Technologie fusible-diode Technologie fusible-transistor Technologies Technologiesmaintenant maintenantabandonnées abandonnéespour pourdes desraisons raisonsde demanque manquede defiabilité. fiabilité. Le fait de "griller" les fusibles provoque des perturbations qui peuvent affecter Le fait de "griller" les fusibles provoque des perturbations qui peuvent affecterlelereste restedu ducircuit. circuit. De plus, cette programmation est irréversible et ne permet donc pas la re-programmabilité. De plus, cette programmation est irréversible et ne permet donc pas la re-programmabilité. F.CAIGNET 23 Les circuits logiques programmables - FPGA II. II.Les Lestechnologies technologiesdes deséléments élémentsprogrammables programmables Les technologies à anti-fusibles (Actel, QuickLogic, Crosspointet Xilinx) un anti-fusible est un élément programmable qui à l'inverse des fusibles n'est passant qu'après programmation. La connexion s effectue en détruisant un diélectrique Technologie anti-fusible PLICE Technologie anti-fusible VIA-Link Petite Petitetaille taille(grande (grandecapacité capacitéd’intégration) d’intégration) Technologie Technologiedifficile difficileààmaîtriser maîtriser Base Baseimpédance impédance(rapidité) (rapidité) ne nepermettent permettentpas paslalareprogrammation reprogrammation F.CAIGNET 24 Les circuits logiques programmables - FPGA II. II.Les Lestechnologies technologiesdes deséléments élémentsprogrammables programmables Les technologies à EPROM/FLASH (Actel, AMD...) Il existe deux variantes de l'EPROM, - Erasable Programmable Read Only Memory classique (EPROM) - Electrically Erasable Programmable Read Only Memory (EEPROM). Cellule à grille flottante d’une EPROM Petite Petitetaille taille(grande (grandecapacité capacitéd’intégration) d’intégration) Système d’interconnexion Possibilité Possibilitéde dereprogrammation reprogrammationààloisir loisir Base Baseimpédance impédance(rapidité) (rapidité) F.CAIGNET 25 Les circuits logiques programmables - FPGA II. II.Les Lestechnologies technologiesdes deséléments élémentsprogrammables programmables Les technologies à EPROM/FLASH (Actel, AMD...) Le système à Grille flottante : Charge de la grille VT1 Non programmé VT0 Programmé Etat n'existepas pasde decharge chargedans danslalagrille grilleflottante flottanteet etlele Etatnon nonprogrammé programmé: :ililn'existe transistor transistorpeut peutêtre êtreutilisé utilisénormalement. normalement. En Encours coursde deprogrammation programmation(effet (effettunel, tunel,passage passaged'un d'unfort fortcourant courantentre entrelala source sourceet etleledrain), drain),une unepartie partiede delalacharge chargeest estretenue retenuedans danslalagrille grilleflottante. flottante.Le Le seuil du transistor augmente, seuil du transistor augmente, Le Letransistor transistorest estbloqué bloquéjusqu'à jusqu'àce cequ'il qu'ilsoit soit"effacé". "effacé". F.CAIGNET 26 Les circuits logiques programmables - FPGA II. II.Les Lestechnologies technologiesdes deséléments élémentsprogrammables programmables Les technologies à RAM statique -SRAM (XILINX, ALTERA...) Elle fait appel à une phase de chargement de la configuration depuis l'extérieur Commande Commande Structure + complexe (4 à 6 Transistors) Transistor de passage Portes de passage Portes de passage Grande Grandepossibilité possibilitéde deprogrammation programmation Place Placeimportante importante Technologie Technologiede detype typeCMOS CMOS(très (trèsbien bien Mémoire Mémoirevolatile volatile(reprogrammation (reprogrammation maîtrisée) maîtrisée) obligatoire) obligatoire) F.CAIGNET 27 Les circuits logiques programmables - FPGA II. II.Les Lestechnologies technologiesdes deséléments élémentsprogrammables programmables Les technologies à RAM statique -SRAM (XILINX, ALTERA...) Exemples de structure SRAM implantées F.CAIGNET 28 Les circuits logiques programmables - FPGA II. II.Les Lestechnologies technologiesdes deséléments élémentsprogrammables programmables Récapitulatif : La technologie EEPROM Les PLD à EPROM se programment électriquement et s’effacent aux UV, Par contre Les PLD à EEPROM se programment quasi instantanément, et gardent la configuration jusqu’à une nouvelle programmation (même en l’absence de tension) La technologie EEPROM Facile et rapide à programmer, la configuration disparaît sans alimentation. F.CAIGNET 29 Les circuits logiques programmables - FPGA II. II.Les Lestechnologies technologiesdes deséléments élémentsprogrammables programmables Technologies utilisées par les différents fabricants F.CAIGNET 30 Les circuits logiques programmables - FPGA III. III.Les LesFPGA FPGA Rappel des caractéristiques principales Comme nous venons de le voir, les éléments programmable sont à la base des caractéristiques des FPGA Le choix d’un PLD dépendra dont : • La densité d’intégration • De la rapidité de fonctionnement (paramètre directement lié à l’impédance intrinsèque des éléments programmables • De la facilité de mise en œuvre (programmation, reprogrammation…) • de la possibilité de maintien de l’information F.CAIGNET 31 Les circuits logiques programmables - FPGA III. III.Les LesFPGA FPGA Rappel des caractéristiques principales Les structures PAL sont à la base des CPLD, FPGA d’aujourd’hui Zone de programmation F.CAIGNET OMLC Output Logic MacroCell (Combinatoires Séquentielles Versatiles 32 Les circuits logiques programmables - FPGA III. III.Les LesFPGA FPGA Les CPLD (Complexe Programmable Logic Device) : Ces circuits ont une capacité de portes et de configuration très largement supérieur aux PAL Macro-cellules composées de : - une zone de portes logiques - un bascule Bloc Logiques • •Architecture Architectureidentique identiqueaux auxPAL PAL • •équivalent équivalentààplusieurs plusieursPAL PALséparées séparéespar par Zone d ’interconnexion Bloc Logiques F.CAIGNET une unezone zoned’interconnexion d’interconnexion Bloc Logiques • •100 100àà100000portes 100000portes • •16 16àà1000 1000bascules bascules 33 Les circuits logiques programmables - FPGA III. III.Les LesFPGA FPGA Les FPGA (Fields Programmable Gate Array) : Réseau de portes programmables à la demande - XILINX et ALTERA. • les FPGA à la différence des CPLD sont assimilables à des A.S.I.C. programmables par l’utilisateur. • La puissance de ces circuits est telle qu’ils peuvent être composés de plusieurs milliers voir millions de portes logiques et de bascules. Les dernières générations de FPGA intègrent même de la mémoire vive (RAM). Les deux plus grands constructeurs de FPGA sont XILINX et ALTERA. • Ils sont composés de blocs logiques élémentaires (plusieurs milliers de portes) qui peuvent être interconnectés. • Critère de choix : vitesse de fonctionnement plus élevées pour les CPLD F.CAIGNET 34 Les circuits logiques programmables - FPGA III. III.Les LesFPGA FPGA Structure interne d’un FPGA type XILINX leleFPGA FPGAest estprésenté présentépour pourlala1er 1erfois foispar par XILINX XILINX avec avecdes desstructure structure: : • •blocs blocslogiques logiquesconfigurables configurables • •blocs blocsd’I/O d’I/Oconfigurables configurables • •des desinterconnexions interconnexionsentre entrebloc bloc configurables configurables F.CAIGNET 35 Les circuits logiques programmables - FPGA III. III.Les LesFPGA FPGA Structure interne des FPGA Exemple Exemplede destructures structuresde deFPGA FPGA F.CAIGNET 36 Les circuits logiques programmables - FPGA III. III.Les LesFPGA FPGA Structure interne des FPGA FPGA « Raw-based » F.CAIGNET FPGA « Sea of gates » 37 Les circuits logiques programmables - FPGA III. III.Les LesFPGA FPGA Les interconnexions programmables dans les FPGA Dans Dansles lesFPGA FPGAles lesblocs blocssont sont interconnectés interconnectésde dedifférentes différentes façons façons: : ••des desoptimisations optimisationsde deroutage routage sont sontpossibles possibles ••sélections sélectionsde delignes lignesou ou colonnes colonnes ••canaux canauxde deroutage routagerapide rapide (longues (longuesdistances) distances) F.CAIGNET 38 Les circuits logiques programmables - FPGA III. III.Les LesFPGA FPGA Les interconnexions programmables dans les FPGA Afin Afinde dediminuer diminuerlelenombre nombrede decanaux canauxde deroutage, routage,ils ilssont sontsegmentés segmentésou oupeuvent peuvent l'être l'êtrepar parprogrammation. programmation.Cette Cettedernière dernièreméthode méthodeest estutilisée utiliséedans danslelecas casd'une d'une technologie technologiede deprogrammation programmationpar paranti-fusibles anti-fusiblescar carles leséléments élémentsprogrammables programmablessont sont de depetite petitetaille. taille. On Onnotera noterales lescompromis compromisqu'il qu'ilexiste existeentre entrenombre nombrede decanaux canauxde deroutage, routage,nombre nombre d'éléments d'élémentsde deprogrammation programmationet ettemps tempsde depropagation. propagation. Les figures illustrent les différents types de segmentation pour un même exemple de routage F.CAIGNET 39 Les circuits logiques programmables - FPGA III. III.Les LesFPGA FPGA Les types de blocs logiques dans les FPGA IlIlexiste existe44types typesde deblocs blocslogiques logiques: : - -Les Lesmacrocellules. macrocellules. - -Les Lesblocs blocsààmultiplexeurs. multiplexeurs. - -Les LesLUT. LUT. - -Les Lescellules cellulessymétriques. symétriques. Cellules symétriques : Ces blocs de petite taille servent à réaliser des fonctions logiques simples mais aussi comme ressources de connexion F.CAIGNET 40 Les circuits logiques programmables - FPGA III. III.Les LesFPGA FPGA Les types de blocs logiques dans les FPGA Les Multiplexeurs : En venant programmer les entrées du multiplexeur et en pilotant les signaux de sélection, il est possible de réaliser toutes les fonctions logiques (à autant d'entrées que de signaux de sélection). Leur très petite taille est particulièrement adaptée à la technologie anti-fusible. F.CAIGNET 41 Les circuits logiques programmables - FPGA III. III.Les LesFPGA FPGA Les types de blocs logiques dans les FPGA Les LUT (Look-Up Table) : Les Look-Up Table sont un cas particulier des cellules à multiplexeur, avec de 2 à 9 entrées et dont la technologie du point mémoire est une technologie SRAM. Une Look Up Table de N entreées est une mémoire qui peut implémenter n'importe quelle fonction booléenne de N variables. Les N entrées sont utilisées comme adresse d'une mémoire de 2n bits qui code la fonction booléenne à réaliser. On peut donc réaliser 2n fonctions différentes avec une LUT à N entrées. Les Look-Up Tables sont des blocs logiques de très petite granularité dans un CLP. Comme Les Look-Up Table possèdent une bascule de sortie, les architectures à base de Look-Up Table sont beaucoup plus riches en bascules que les architectures à macro-cellules. F.CAIGNET 42 Les circuits logiques programmables - FPGA III. III.Les LesFPGA FPGA Les types de blocs logiques dans les FPGA Les LUT (Look-Up Table) : Entrées Point mémoires F.CAIGNET 43 Les circuits logiques programmables - FPGA III. III.Les LesFPGA FPGA Les types de blocs logiques dans les FPGA Les Macro-cellules : On retrouve dans certaines macro-cellules toute la complexité d'un PAL. Il y a en général un nombre réduit de macrocellules dans un EPLD, car ces cellules occupent une grande surface. la macro-cellule présente plusieurs intérêts : - grand nombre de variables d'entrées possibles - grand nombre de termes de produits possibles F.CAIGNET 44 Les circuits logiques programmables - FPGA IV. IV.Les Lesoutils outilsde dedéveloppement développement Deux DeuxOutils Outilssont sontnécessaires nécessairesààlalaprogrammation programmationdes desFPGA FPGA: : - -Le Lesystème systèmede dedéveloppement développement - -Le programmeur Le programmeur F.CAIGNET 45 Les circuits logiques programmables - FPGA IV. IV.Les Lesoutils outilsde dedéveloppement développement Les systèmes de développement Ces Cessystèmes systèmesproduisent produisentune unetable tablereprésentant représentantles lesfusibles fusiblesààdétruire détruireen en fonction fonctiondes deséquations équationslogiques, logiques,diagramme diagrammed'états d'étatset ettables tablesde devérités véritésécrit écritdans dans lelelangage langagepropre propreau ausystème, système,c'est c'estlelerôle rôledu ducompilateur compilateurou ousynthétiseur. synthétiseur. La Ladescription descriptiondu dufonctionnement fonctionnementdes descircuits circuitspeut peutse sefaire fairede deplusieurs plusieursfaçons, façons, soit soit: : - -Par (Portes Parun unschéma schémaààbase basede defonctions fonctionslogiques logiquesélémentaires élémentaires(Portes ET,OU,NON, ET,OU,NON,… …bascules, bascules,compteurs, compteurs,registres registresààdécalages). décalages). - -En Enutilisant utilisantun unlangage langagede dedescription descriptioncomportementale comportementaleH.D.L. H.D.L. (Hardware (HardwareDescription DescriptionLanguage). Language).Les Lesplus plusanciens ancienssont sontPALASM, PALASM,ORCAD/PLD ORCAD/PLDet et leleplus plusconnu connuet etutilisé utiliséest estsans sansconteste contesteABEL ABEL(utilisé (utilisépar parlalaplus pluspart partdes des systèmes systèmesde dedéveloppements). développements).Enfin Enfinles leslangages langagesdit ditde dehaut hautniveau, niveau,VHDL VHDL( (Very Very high highspeed speedHardware HardwareDescription DescriptionLanguage) Language)et etVERILOG VERILOGsont sonten engénéral généralutilisés utilisés pour pourdes descircuits circuitscomplexes. complexes.Le Lelangage langageVHDL VHDLest esttrès trèsutilisé utiliséen enEurope. Europe. F.CAIGNET 46 Les circuits logiques programmables - FPGA Voir 2ème fichier F.CAIGNET 47 Les circuits logiques programmables - FPGA IV. IV.Les Lesoutils outilsde dedéveloppement développement Les systèmes de développement - -Par Parl’utilisation l’utilisationde degraphes graphesd'états d'états(Flow (FlowStates StatesMachines, Machines,FSM) FSM) F.CAIGNET 48 Les circuits logiques programmables - FPGA V. V.Le LeFPGA FPGAM7000 M7000de deALTERA ALTERA Presentation générale •• Eléments Elémentsprogrammables programmablesde detype typeEEPROM, EEPROM,basé basésur surleleprincipe principede de seconde secondegénération générationde dematrice matriceprogrammables. programmables. •• •• •• F.CAIGNET 5.0V, 5.0V,IEEE IEEE1149.1 1149.1test teststandard standard 600 600àà5000 5000portes portes 55ns nsPin Pinto topin pindelay delay(175MHz) (175MHz) 49 Les circuits logiques programmables - FPGA V. V.Le LeFPGA FPGAM7000 M7000de deALTERA ALTERA Performances de certains FPGA parmi les MAX7000 F.CAIGNET 50 Les circuits logiques programmables - FPGA V. V.Le LeFPGA FPGAM7000 M7000de deALTERA ALTERA Les Macrocells F.CAIGNET 51 Les circuits logiques programmables - FPGA V. V.Le LeFPGA FPGAM7000 M7000de deALTERA ALTERA Les contraintes de temps (timing constrains) Chaque Chaqueélément élémentintervient intervientet etdoit doitêtre êtreprit priten encompte comptedans dansl’évaluation l’évaluationdes destemps temps de depropagation propagation F.CAIGNET 52 Les circuits logiques programmables - FPGA V. V.Le LeFPGA FPGAM7000 M7000de deALTERA ALTERA Les contraintes de temps (timing constrains) Exemple Exempled’application d’applicationààun uncas cassimple simplede delogique logiquecombinatoire combinatoire F.CAIGNET 53 Les circuits logiques programmables - FPGA V. V.Le LeFPGA FPGAM7000 M7000de deALTERA ALTERA Les contraintes de temps (timing constrains) Exemple Exempled’application d’applicationau aucas casséquentiels séquentiels F.CAIGNET 54 Les circuits logiques programmables - FPGA V. V.Le LeFPGA FPGAM7000 M7000de deALTERA ALTERA Le format de test JTAG : IEEE 1149.1 (the boundary scan standard) F.CAIGNET 55 Les circuits logiques programmables - FPGA V. V.Le LeFPGA FPGACX4000 CX4000de deXilinx Xilinx F.CAIGNET 56 Les circuits logiques programmables - FPGA V. V.Le LeFPGA FPGACX4000 CX4000de deXilinx Xilinx F.CAIGNET 57 Les circuits logiques programmables - FPGA V. V.Le LeFPGA FPGACX4000 CX4000de deXilinx Xilinx F.CAIGNET 58 Les circuits logiques programmables - FPGA V. V.Le LeFPGA FPGAFLEX6000 FLEX6000de deALTERA ALTERA Informations générales Informations Informationsgenerales generales - -Nb Nbde deportes portes: :5000 5000- -24000 24000 The Thelogic logicarray arraycontains containslogic logicarray arrayblocks blocks (LABs) (LABs)composed composedof of10 10logic logicelements elements (LEs) that communicate through (LEs) that communicate throughaafully fully populated populatedlocal localinterconnect interconnectstructure structure F.CAIGNET 59 Les circuits logiques programmables - FPGA V. V.Le LeFPGA FPGAFLEX6000 FLEX6000de deALTERA ALTERA Informations générales LAB Le Le LAB Le Le Interleaved InterleavedLABs LABs Chaque ChaqueLe Led’un d’unmême mêmeLAB LABpeuvent peuvent être interconnectés ainsi qu’à être interconnectés ainsi qu’àleurs leurs plus proches voisins plus proches voisins F.CAIGNET FastTrack FastTrackInterconnect Interconnect Les LesLAB LABpeuvent peuventêtre êtreinterconnectés interconnectés grâce à un réseau d’interconnections grâce à un réseau d’interconnections longue longuedistance distance 60 Les circuits logiques programmables - FPGA V. V.Le LeFPGA FPGAFLEX6000 FLEX6000de deALTERA ALTERA Informations générales : que sont les LE (logic Element)? Chaque ChaqueLE LE(Logic (LogicElement) Element)contient contient11LUT LUTaa44entrees entrees F.CAIGNET 61 Les circuits logiques programmables - FPGA V. V.Le LeFPGA FPGAFLEX6000 FLEX6000de deALTERA ALTERA Informations générales : que sont les LE (logic Element)? Le LeCarry CarryChain Chain F.CAIGNET 62 Les circuits logiques programmables - FPGA V. V.Le LeFPGA FPGAFLEX6000 FLEX6000de deALTERA ALTERA Informations générales : que sont les LE (logic Element)? Le LeCascade Cascadechain chain F.CAIGNET 63 Les circuits logiques programmables - FPGA V. V.Le LeFPGA FPGAFLEX6000 FLEX6000de deALTERA ALTERA Informations générales : performances F.CAIGNET 64 Les circuits logiques programmables - FPGA V. V.Le LeFPGA FPGAFLEX10K FLEX10Kde deALTERA ALTERA Informations générales Premier circuit programmable dit: embedded programmable logic device (PLD) family, providing System-on-a-Programmable-Chip (SOPC) De 10000 à 250000 portes F.CAIGNET 65 Les circuits logiques programmables - FPGA V. V.Le LeFPGA FPGAAPEX APEXde deALTERA ALTERA Informations générales The APEX™ device family ranges from 30,000 to over 1.5 million gates (113,000 to over 2.5 million system gates) and ships on 0.22-µm, 0.18-µm, and 0.15-µm processes. Introduced in 1999 with all copper interconnect layers F.CAIGNET 66 Les circuits logiques programmables - FPGA V. V.Le LeFPGA FPGAAPEX APEXde deALTERA ALTERA Informations générales (1 ESB = 4096bits) Protocole Protocolede de communication communication 1Gbs 1Gbs F.CAIGNET 67 Les circuits logiques programmables - FPGA V. V.Le LeFPGA FPGAAPEX APEXde deALTERA ALTERA Informations générales Package informations F.CAIGNET 68 Les circuits logiques programmables - FPGA V. V.Le LeFPGA FPGAAPEX APEXde deALTERA ALTERA Informations générales F.CAIGNET 69 Les circuits logiques programmables - FPGA V. V.Le LeFPGA FPGAAPEX APEXde deALTERA ALTERA F.CAIGNET 70 Les circuits logiques programmables - FPGA V. V.Le LeFPGA FPGAAPEX APEXde deALTERA ALTERA Structure Système de communication entre les LABs Chaque MegaLAB contient un groupe de 16 ou 24 LABs F.CAIGNET 71 Les circuits logiques programmables - FPGA F.CAIGNET 72 Les circuits logiques programmables - FPGA V. V.Le LeFPGA FPGAAPEX APEXde deALTERA ALTERA Structure des Le F.CAIGNET 73 Les circuits logiques programmables - FPGA V. V.Le LeFPGA FPGAAPEX APEXde deALTERA ALTERA Mode de programmation des Le LE mode normal est utilisé pour la synthèse de structures combinatoires ou séquentiel, avec les possibilités de mise en cascade F.CAIGNET 74 Les circuits logiques programmables - FPGA V. V.Le LeFPGA FPGAAPEX APEXde deALTERA ALTERA Mode de programmation des Le LE mode arithmétique est utilisé pour la synthèse de fonctions addition, comparaison, accumulation… F.CAIGNET 75 Les circuits logiques programmables - FPGA V. V.Le LeFPGA FPGAAPEX APEXde deALTERA ALTERA Mode de programmation des Le LE mode comptage propose des clock enable, counter enable, synchrone, Asynchrones, up, douwn, … F.CAIGNET 76 Les circuits logiques programmables - FPGA V. V.Le LeFPGA FPGACyclone Cyclonede deALTERA ALTERA F.CAIGNET 77 Les circuits logiques programmables - FPGA V. V.Le LeFPGA FPGACyclone Cyclonede deALTERA ALTERA Cyclone I Cyclone II F.CAIGNET 78 Les circuits logiques programmables - FPGA V. V.Le LeFPGA FPGAStratix Stratixde deALTERA ALTERA F.CAIGNET 79 Les circuits logiques programmables - FPGA V. V.Le LeFPGA FPGAStratix Stratixde deALTERA ALTERA F.CAIGNET 80 Les circuits logiques programmables - FPGA VI. VI.Les Lestendances tendancesdes descomposants composantsprogrammables programmables Evolution des systèmes vers les très grandes complexités Complexité FPGA CPLD (réduction (réductiondes desdimensions dimensionsde de transistors transistors- -densités densitésdd’intégration) ’intégration) PAL GAL LCA CPLD - -des desprogrès progrèslogiciel logicieldes desoutils outilsde de développement développement(langage (langageHDL HDL- simplicité simplicitéde dedéveloppement) développement) PAL 1970 F.CAIGNET 1980 Evolutions Evolutionsrésultantes résultantes: : - -des desprogrès progrèstechnologiques technologiques 1990 2001 Années 81 Les circuits logiques programmables - FPGA VI. VI.Les Lestendances tendancesdes descomposants composantsprogrammables programmables Performances : F.CAIGNET 82 Les circuits logiques programmables - FPGA VI. VI.Les Lestendances tendancesdes descomposants composantsprogrammables programmables Evolution vers les systèmes de très grande complexité APEX Devices: System-on-a-Programmable-Chip Solutions from ALTERA chip 30,000 30,000vers versplus plusde de1.5 1.5million millionde deportes portes (113,000 (113,000to toover over2.5 2.5million million system systemgates) gates) Technologie 0.22-µm,0.18-µm 0.18-µmetet Technologie: :0.22-µm, 0.09µm 0.09µm Ports 128àà808 808I/O I/O Portsdd’entrée/sortie ’entrée/sortie: :128 Introduction des « System-on-chip Introduction des « System-on-chip»» dans dansles lescomposants composantsprogrammables programmables (RAM, ROM, FIFO, CAN, (RAM, ROM, FIFO, CAN,PCI, PCI,µP…..) µP…..) Aujourd’hui, Aujourd’hui,près prèsde de50% 50%des desFPGA FPGAsont sontdes desSoC SoC Introduction Introductiondes desIPs IPsdans dansles lesFPGA FPGA(Intelectual (IntelectualProperties) Properties) F.CAIGNET 83 Les circuits logiques programmables - FPGA VI. VI.Les Lestendances tendancesdes descomposants composantsprogrammables programmables Quels sont les problèmes limitant l’évolution et les performances des FPGA’s? Les Lesinterconnexions interconnexions Plus les technologies évoluent plus les interconnexion deviennent des éléments actifs des circuits La Ladensité densitéd’intégration d’intégration La quantité de mémoire nécessaire pour accroître les performances des FPGA devient très importante Les Lessofts softs(méthodes (méthodesde deprogrammation) programmation)évolution évolutionvers versles les««systemC systemC»» Les logiciel de développement évoluent vers des systèmes types Visual C++. C’est une obligation face à l’augmentation des possibilités de programmation des FPGA F.CAIGNET 84