É É É ÉLECTRONIQUE NUMÉRIQUE AVANCÉE
Transcription
É É É ÉLECTRONIQUE NUMÉRIQUE AVANCÉE
É ÉLECTRONIQUE NUMÉRIQUE É AVANCÉE É Filière : InfoTronique q Chap. 5 : Architecture des circuits programmables et FPGA Dr. Abdelhakim Khouas Email : [email protected] akhouas@hotmail com Département de Physique Faculté des Sciences Objectifs de ce chapitre Co p e d e les Comprendre es d différentes é e tes a architectures c tectu es et le e fonctionnement des circuits logiques programmables Avantages et inconvénients des circuits programmables Types de programmation EPROM Anti fuse Anti-fuse SRAM Types de circuits programmables Les PLD : PAL, PLA, PROM Les CPLD Les FPGA ÉNA – Chap. 5 : FPGA 1 © A. Khouas, 2009 Plan 1. Circuits logiques programmables (CLP) 1. Définitions 2. Avantages et inconvénients des circuits programmables 3. ASICs vs. Circuits programmables 2. Technologies de programmation 1. Technologie EPROM et EEPROM 2. Technologie anti-fuse 3 3. Technologie SRAM 3. Architectures des circuits programmables 1. 2. 3. 4. 5. Circuits programmables simples PLD « Programmable Logic Device » Circuits programmables complexes CPLD « Complex Programmable Logic Device » FPGA « Filed Programmable Gate Array » CPLD vs. FPGA Autres circuits programmables 4 Flot de conception sur CLP 4. ÉNA – Chap. 5 : FPGA 2 © A. Khouas, 2009 1. Circuits logiques programmables (CLP) Les circuits logiques programmables CLP Circuits logiques dont les fonctions peuvent être ê programmées é pour une application particulière, après sa fabrication Acronymes : PLD : Programmable Logic Device SPLD : Simple p Programmable g Logic g Device PLA : Programmable Logic Array PROM : Programmable Read Only Memory PAL : Programmable g Arrayy Logic g GAL : Generic Array Logic CPLD : Complexe Programmable Logic Device FPGA : Field Programmable Gate Array ÉNA – Chap. 5 : FPGA 3 © A. Khouas, 2009 1.1 Avantages des CLP Faible coût Production de petites séries Validation de conceptions d’ASIC Validation réelle du circuits dans le système complet Validation à faible coût Coût de fabrication du prototype Temps nécessaire pour la fabrication du prototype Validation rapide d’une conception d’un ASIC Permet de réagir rapidement aux erreurs de conception Diminution du temps de mise en marché « TTM » de l’ASIC Validation à faible risque q ÉNA – Chap. 5 : FPGA 4 © A. Khouas, 2009 1.2 Inconvénients des CLP Faible performance Vitesse (fréquence) Consommation Faible densité (grande surface) Coût élevé Pour une très grande production ÉNA – Chap. 5 : FPGA 5 © A. Khouas, 2009 1.3 ASIC vs. CLP Circuit intégré IC Spécifique "Full Custom" Semi-spécifique "Semicustom" ASIC "Standard Standard Cell Cell" Programmables "Gate Gate Array Array" Circuits programmables FPGA ÉNA – Chap. 5 : FPGA 6 CPLD PLD Systèmes Programmables FPSLIC FPSC PSoC Atmel Lattice Cypress © A. Khouas, 2009 Spécifique "Full Full Custom" Custom "Standard Cell" "Gate Array" FPGA CPLD P Performan nces Coût de développpement 1.3 ASIC vs. CLP Coût de développement vs performances ÉNA – Chap. 5 : FPGA 7 © A. Khouas, 2009 1.3 ASIC vs. CLP 25 Coût tootal ($) 20 15 FPGA Gate Array Stand. Cell 10 Full-Custom 5 0 0 5 10 15 20 25 30 3 V l Volume de d fabrication f b i ti (10 ) Coût de revient d'un IC vs. volume de fabrication pour les différents styles de conception ÉNA – Chap. 5 : FPGA 8 © A. Khouas, 2009 2. Technologies de programmation Le choix de la technologie de programmation affecte plusieurs caractéristiques du circuit programmable Densité Délais de propagation Cellules Routage La consommation Re-programmation du circuit ÉNA – Chap. 5 : FPGA 9 © A. Khouas, 2009 2. Technologies de programmation Deux types de circuits programmables Circuits programmables une seule fois OTP pour « One Time Programmable » Circuits Ci it programmables bl plusieurs l i fois f i Méthodes de programmations EPROM « Erasable Programmable ROM » EEPROM « Electrical Erasable Programmable ROM » Anti-fuse SRAM « Static RAM » ÉNA – Chap. 5 : FPGA 10 © A. Khouas, 2009 2.1 Technologie EPROM Utilisation de la grille flottante pour les transistors EPROM Source : Programmable Logic and ASIC, D. Landis ÉNA – Chap. 5 : FPGA 11 © A. Khouas, 2009 2.1 Technologie EPROM Différents modes d’un transistor EPROM, a) programmation avec une t i Vpp tension V > 12V, 12V b) ttransistor i t ttoujours j off ff ett c)) dé dé-programmation ti du d transistor avec de la lumière UV Source : ASICs Circuits, M.J.S. Smith ÉNA – Chap. 5 : FPGA 12 © A. Khouas, 2009 2.1 Technologie EPROM Fonctionnement Utilisation d’une grille flottante pour programmer les transistors de transmission Avantages Circuits programmables plusieurs fois Programmation sur site I Inconvénients é i Consommation statique Nécessite une grande surface Plusieurs tensions d’alimentation Dé-programmation lente et « off site » B îti d’encapsulation Boîtier d’ l ti spécial é i l (avec ( du d verre)) ÉNA – Chap. 5 : FPGA 13 © A. Khouas, 2009 2.1 Technologie EPROM Fonctionnement de la technologie EEPROM Même méthode de programmation que pour EPROM Pour la dé-programmation : Utilisation de champs électriques Avantages de la technologie EEPROM Dé-programmation plus rapide que pour EPROM Pas besoin d’utiliser un boîtier spécial (avec du verre) Dé-programmation sur site ÉNA – Chap. 5 : FPGA 14 © A. Khouas, 2009 2.2 Technologie Anti-fuse Fonctionnement : g de la résistance du fil de routage g à Changement programmer A Avant programmation i : Résistance Ré i > 100 MΩ M Après programmation : Résistance < 500 Ω ÉNA – Chap. 5 : FPGA 15 © A. Khouas, 2009 2.2 Technologie Anti-fuse Technologie introduite par Actel Circuit programmable une fois La programmation anti-fuse anti fuse permet de créer une connexion électrique directe entre deux métaux Fabrication avec un process CMOS avec 3 masques supplémentaires La programmation est réalisée en appliquant une grande tension (18V) Le courant élevé fait fondre l’isolant ONO « Oxide-Nitride-Oxide » qui devient conducteur ÉNA – Chap. 5 : FPGA 16 © A. Khouas, 2009 2.2 Technologie Anti-fuse Avantages Faible surface du circuit Faible délai de routage Faible résistance Faible capacité Confidentialité Inconvénients Circuits programmables une seule fois Modification du procédés CMOS de base pour la fabrication ÉNA – Chap. 5 : FPGA 17 © A. Khouas, 2009 2.3 Technologie SRAM Technologie h l utilisant l de d la l mémoire é statique SRAM Les SRAM sont utilisés pour : Implémenter les tables de vérité LUT « Look Up Table » des fonctions logiques Contrôler les interconnexions programmables avec Mux Portes ou transistors de transmission ÉNA – Chap. 5 : FPGA 18 © A. Khouas, 2009 2.3 Technologie SRAM Technologie introduite par Xilinx Programmation volatile Avantage Programmation sur site et en ligne du circuit Inconvénients Grande surface Utili ti d’une Utilisation d’ PROM pour la l programmation ti de d la l SRAM lors l de d la mise sous tension du système Confidentialité ÉNA – Chap. 5 : FPGA 19 © A. Khouas, 2009 2.3 Technologie SRAM Exemple d’utilisation d utilisation de LUT Source : FPGAs for Rapid Prototyping, CRC Press ÉNA – Chap. 5 : FPGA 20 © A. Khouas, 2009 2.3 Technologie SRAM Exemple d’utilisation de la technologie SRAM pour programmer un bl logique bloc l i Source : Reconfigurable Device Interconnect Test and Diagnosis Time Reduction ÉNA – Chap. 5 : FPGA 21 © A. Khouas, 2009 2.3 Technologie SRAM Interconnexions Multiplexeur interrupteur CLB MUX LUT FF LUT Différentes utilisation de cellules SRAM ÉNA – Chap. 5 : FPGA 22 © A. Khouas, 2009 2.4 Comparaison des technologies de prog. Technologie Reprogrammable Volatile Resistance Capacité Surface SRAM in circuit in-circuit oui 1 KΩ 15 ff 5 fois Anti-fuse non non 50-500 Ω 1,2-5,0 ff 1 fois EPROM hors circuit non 2 KΩ 10 ff 1 fois EEPROM in-circuit non 2 KΩ 10 ff 2 fois Comparaison des technologies de programmation Source : Programmable Logic and ASIC, D. Landis ÉNA – Chap. 5 : FPGA 23 © A. Khouas, 2009 3. Architecture des CLP Circuits/systèmes logiques programmables CLP PLD ou SPLD PAL PROM PLA CPLD FPGA GAL Systèmes y FPSLIC FPSC PSoC Les CLPs les p plus utilisés sont : PLA CPLD FPGA ÉNA – Chap. 5 : FPGA 24 © A. Khouas, 2009 3. Architecture des CLP Source : Programmable Logic Devices ; F. Gail Gray ÉNA – Chap. 5 : FPGA 25 © A. Khouas, 2009 3.1 Architecture des PLD : PLA Les PLA sont des circuits programmables qui peuvent implémenter n’importe quelle fonction booléenne Selon la technologie utilisée, les PLAs implémentent deux niveaux logiques programmables AND-OR NAND-NAND NOR-NOR O O Chaque PLA est définie par la matrice P Exemple e pe : Pour l’implémentation : AND/OR ==> P=(A,O) A représente la matrice des termes AND O représente la matrice des termes OR ÉNA – Chap. 5 : FPGA 26 © A. Khouas, 2009 3.1 Architecture des PLD : PLA Crosspoint pro oduits …… …… Pm ……... Matrice AND ……... Matrice OR P2 P1 ……… Bit line x1 x1 ……... sommes xn xn Décodeur d’entrée ……... Entrées x1 ÉNA – Chap. 5 : FPGA x2 f1 f2 fk xn 27 © A. Khouas, 2009 3.1 Architecture des PLD : PLA Exemple : Soit un circuit avec 4 entrées x1,x2,x3,x4 et 2 sorties s1 et s2 définies par : s1 = x1 + x3 x4 + x2 x3 s2 = x3 x4 + x1x2 x3 x4 + x2 x3 + x1x2 x4 Les matrices A et O de ce circuit sont : x1 x2 x3 x4 ⎡0 ⎢x ⎢ ⎢x A=⎢ ⎢0 ⎢x ⎢ ⎣⎢1 ÉNA – Chap. 5 : FPGA x x x⎤ x 1 1⎥⎥ 0 0 x⎥ ⎥ 0 0 0⎥ 1 1 x⎥ ⎥ 1 x 0⎥⎦ s1 s2 ⎡1 ⎢1 ⎢ ⎢1 O=⎢ ⎢0 ⎢0 ⎢ ⎣⎢0 28 0⎤ 1⎥⎥ 0⎥ ⎥ 1⎥ 1⎥ ⎥ 1⎦⎥ © A. Khouas, 2009 3.1 Architecture des PLD : PLA Architecture de base d’un PLA Source : Programmable Logic Devices ; F. Gail Gray ÉNA – Chap. 5 : FPGA 29 © A. Khouas, 2009 3.1 Architecture des PLD : PLA Exemple de programmation d d’un un PLA Source : Programmable Logic Devices ; F. Gail Gray ÉNA – Chap. 5 : FPGA 30 © A. Khouas, 2009 3.1 Architecture des PLD : PLA Rappel : réalisation d’une porte logique en technologie NMOS Vdd x ÉNA – Chap. 5 : FPGA y 31 z s = x+ y+z © A. Khouas, 2009 3.1 Architecture des PLD : PLA p1 = …?….. p2 = …?….. p3 = …?….. f1 = …?….. f2 = …?….. f3 = …?….. Source : Programmable Logic Devices, Muroga, S. ÉNA – Chap. 5 : FPGA 32 © A. Khouas, 2009 3.1 Architecture des PLD : PROM Les PROM « Programmable Read Only Memory » sont des cas p particulier de PLA avec un seul niveau programmable La matrice des ANDs est fixe n Le nombre de ligne produit « product lines » est 2 avec n= le nombre d’entrées de la matrices des ANDs La matrice des ORs est programmable ÉNA – Chap. 5 : FPGA 33 © A. Khouas, 2009 3.1 Architecture des PLD : PROM Diagramme conceptuel d d’une une PROM Source : Programmable Logic Devices ; F. Gail Gray ÉNA – Chap. 5 : FPGA 34 © A. Khouas, 2009 3.1 Architecture des PLD : PROM Exemple de programmation d d’une une PROM Source : Programmable Logic Devices ; F. Gail Gray ÉNA – Chap. 5 : FPGA 35 © A. Khouas, 2009 3.1 Architecture des PLD : PROM f1 = …?….. f2 = …?….. f3 = …?….. Source : Programmable Logic Devices, Muroga, S. ÉNA – Chap. 5 : FPGA 36 © A. Khouas, 2009 3.1 Architecture des PLD : PAL Les PAL « Programmable Array Logic » sont aussi des cas particulier de PLA avec un seul niveau programmable La matrice des ANDs est programmable La matrice des ORs est fixe A antages Avantages Faible coût Grande densité Inconvénient Limitation dans les fonctions qu qu’on on peut implémenter ÉNA – Chap. 5 : FPGA 37 © A. Khouas, 2009 3.1 Architecture des PLD : PAL Architecture de base d’un PAL Source : Programmable Logic Devices ; F. Gail Gray ÉNA – Chap. 5 : FPGA 38 © A. Khouas, 2009 3.1 Architecture des PLD : PAL Exemple de programmation d d’un un PAL Source : Programmable Logic Devices ; F. Gail Gray ÉNA – Chap. 5 : FPGA 39 © A. Khouas, 2009 3.1 Architecture des PLD : GAL Même architecture que les PLA Utilisation de cellules programmables pour I/O Rebouclage des sorties Source : ispGAL22V10AV/B/C Data Sheet, LATTICE ÉNA – Chap. 5 : FPGA 40 © A. Khouas, 2009 3.1 Architecture des PLD : Limitations Les circuits qu’on qu on peux implémenter dans un PLD sont limités par Nomb Nombre e d’entrées/sorties d’ent ée / o tie Nombre de portes équivalentes En plus de la limitation du nombre d’entrées/sorties du circuit, le type de fonctions qu’on peux implémenter d dans un PLD est limité l é par Le nombre de termes produit dans la somme ÉNA – Chap. 5 : FPGA 41 © A. Khouas, 2009 3.2 Architecture des CPLD Source : Barr, Michael. "Programmable Logic: What's it to Ya?" Embedded Systems Programming, June 1999, pp. 75-84. ÉNA – Chap. 5 : FPGA 42 © A. Khouas, 2009 3.2 Architecture des CPLD Définition UN CPLD est un ensemble de PLDs simples connectés entre eux avec une matrice d’interconnexion Un CPLD est composé de : CLB Bloc logique complexe « Complexe Logic Bloc » Équivalent à un PLD Dans un CPLD on a plusieurs CLB SM Matrice d’interconnexion « Switch Matrix » Dans un CPLD on a une ou plusieurs matrices IOB Blocs d’entrée/sortie « Input/Output Bloc » ÉNA – Chap. 5 : FPGA 43 © A. Khouas, 2009 3.2 Architecture des CPLD Advanced Interconnect Matrix Architecture du CoolRunner-II CPLD de Xilinx Source : CoolRunner-II CPLD Family, Xilinx ÉNA – Chap. 5 : FPGA 44 © A. Khouas, 2009 3.2 Architecture des CPLD Architecture de la macro-cellule du CoolRunner-II Source : CoolRunner-II CPLD Family, Xilinx ÉNA – Chap. 5 : FPGA 45 © A. Khouas, 2009 3.2 Architecture des CPLD Caractéristiques des CPLD CoolRunner-II de Xilinx Source : CoolRunner-II CPLD Family, Xilinx ÉNA – Chap. 5 : FPGA 46 © A. Khouas, 2009 3.2 Architecture des CPLD Programmable Interconnect Array Logic Array Block Bloc diagramme g d’un CPLD de la ffamille MAX 3000A d’Altera Source : MAX 3000A Programmable Logic Device Family Data Sheet, ALTERA ÉNA – Chap. 5 : FPGA 47 © A. Khouas, 2009 3.2 Architecture des CPLD Architecture de la macro-cellule de MAX 3000A Source : MAX 3000A Programmable Logic Device Family Data Sheet, ALTERA ÉNA – Chap. 5 : FPGA 48 © A. Khouas, 2009 3.2 Architecture des CPLD Fonctionnement du PIA « Programmable Interconnect Routing » de MAX 3000A Un transistor EEPROM (à grille flottante) contrôle une entrée d’une porte AND à deux entrées qui sélectionne le signal à connecter au LAB « Logic Array Block » Source : MAX 3000A Programmable Logic Device Family Data Sheet, ALTERA ÉNA – Chap. 5 : FPGA 49 © A. Khouas, 2009 3.2 Architecture des CPLD Modèle de timing pour MAX 3000A Source : MAX 3000A Programmable Logic Device Family Data Sheet, ALTERA ÉNA – Chap. 5 : FPGA 50 © A. Khouas, 2009 3.2 Architecture des CPLD Caractéristiques des CPLD de la famille MAX 3000A d’Altera Source : MAX 3000A Programmable Logic Device Family Data Sheet, ALTERA ÉNA – Chap. 5 : FPGA 51 © A. Khouas, 2009 3.2 Architecture des CPLD LATTICE Famille ispMACH 4000 ATMEL Famille ATF15xx CYPRESS Famille CY3LV Famille CY39 Famille FLASH370i ÉNA – Chap. 5 : FPGA 52 © A. Khouas, 2009 3.3 Architecture des FPGA Source : Barr, Michael. "Programmable Logic: What's it to Ya?" Embedded Systems Programming, June 1999, pp. 75-84. ÉNA – Chap. 5 : FPGA 53 © A. Khouas, 2009 3.3 Architecture des FPGA Définition Un FPGA est une matrice de blocs élémentaires configurables organisés en lignes et en colonnes et connectés entre avec des interconnexions programmables Un FPGA est composé de : Bloc logique Appelé CLE « Configurable Logic Element », CLB « Configurable Logic Bloc », LE et LB Permet de réaliser les fonctions de base En général, un CLE est composé de : 4 à 6 entrées Une sortie Une bascule Module de routage Appelé SM « Switch Matrix » et RM « Routing Matrix » Permet de connecter les blocs logiques Blocs d’entrée/sortie d entrée/sortie « IOB » ÉNA – Chap. 5 : FPGA 54 © A. Khouas, 2009 3.3 Architecture des FPGA Un FPGA est composé de : Bloc logique Appelé CLE « Configurable Logic Element », CLB « Configurable g Bloc »,, LE et LB Logic Permet de réaliser les fonctions de base En général, un CLE est composé de : 4 à 6 entrées Une sortie Une bascule Module de routage Appelé SM « Switch Matrix » et RM « Routing Matrix » Permet de connecter les blocs logiques Blocs d’entrée/sortie / ((IOB ou I/O) / ) ÉNA – Chap. 5 : FPGA 55 © A. Khouas, 2009 3.3 Architecture des FPGA : Blocs logiques Blocs logiques Le choix de l’architecture des blocs logiques et des modules d’interconnexion influence di e tement : directement La rapidité La surface L’architecture la p plus utilisé pour p les blocs logiques est : Table de vérité LUT « Look-up p Table » ÉNA – Chap. 5 : FPGA 56 © A. Khouas, 2009 3.3 Architecture des FPGA : Blocs logiques Architecture minimum d’un bloc logique gq p pour FPGA Source : Programmable Logic Devices ; F. Gail Gray ÉNA – Chap. 5 : FPGA 57 © A. Khouas, 2009 3.3 Architecture des FPGA : Blocs logiques Exemple d’utilisation d’un bloc logique Déterminer la fonction réalisée par le bloc logique cidessous : Source : Programmable Logic Devices ; F. Gail Gray ÉNA – Chap. 5 : FPGA 58 © A. Khouas, 2009 3.3 Architecture des FPGA : Blocs logiques Architecture typique d’un bloc logique pour FPGA Source : FPGAs for Rapid Prototyping, CRC Press ÉNA – Chap. 5 : FPGA 59 © A. Khouas, 2009 3.3 Architecture des FPGA : Blocs logiques Architecture d d’un un bloc LE « Logic Element » pour APEX 20K Source : APEX 20K Programmable Logic Device Family Data Sheet, ALTERA ÉNA – Chap. 5 : FPGA 60 © A. Khouas, 2009 3.3 Architecture des FPGA : Blocs logiques Architecture d’un bloc CLB « Configurable Logic Block » pour VIRTEX Chaque CLB contient 4 LC « Logic Cell » Source : VIRTEX Field Programmable Gate Array Data Sheet, XILINX ÉNA – Chap. 5 : FPGA 61 © A. Khouas, 2009 3.3 Architecture des FPGA : Blocs logiques Architecture d’un bloc logique simple d’Actel d Actel avec 8 entrées et une sortie Exemple d’utilisation : Y = A.B.C Source :Introduction to Actel FPGA Architecture, Actel ÉNA – Chap. 5 : FPGA 62 © A. Khouas, 2009 3.3 Architecture des FPGA : Modules de routage Selon les architectures de routage, les FPGA peuvent être classés en 4 groupes g p Island/Symmetrical array FPGA Row based FPGA Sea of gates FPGA Hierarchical PLD FPGA ÉNA – Chap. 5 : FPGA 63 © A. Khouas, 2009 3.3 Architecture des FPGA : Modules de routage Différentes ff ffamille de routage g pour p FPGA Source : Programmable Logic and ASIC, D. Landis ÉNA – Chap. 5 : FPGA 64 © A. Khouas, 2009 3.3 Architecture des FPGA : Modules de routage Exemple p de structure d’un module de routage g Source : Reconfigurable Device Interconnect Test and Diagnosis Time Reduction ÉNA – Chap. 5 : FPGA 65 © A. Khouas, 2009 3.3 Architecture des FPGA : Modules de routage Switch ouvert N1 N2 N3 E1 W1 0 1 W2 E2 E3 W3 S1 S3 S2 Points d’interconnexion programmables bl Switch fermé ÉNA – Chap. 5 : FPGA 66 © A. Khouas, 2009 3.3 Architecture des FPGA : Modules de routage Interconnexions CLB MUX LUT FF Utilisation de cellules SRAM pour configurer les modules d l d de routage ÉNA – Chap. 5 : FPGA 67 © A. Khouas, 2009 3.3 Architecture des FPGA : Modules de routage Bloc diagramme d’un FPGA de la famille APEX 20K d’Altera Source : APEX 20K Programmable Logic Device Family Data Sheet, ALTERA ÉNA – Chap. 5 : FPGA 68 © A. Khouas, 2009 3.3 Architecture des FPGA : Modules de routage Structure d’un MegaLAB pour APEX 20K Source : APEX 20K Programmable Logic Device Family Data Sheet, ALTERA ÉNA – Chap. 5 : FPGA 69 © A. Khouas, 2009 3.3 Architecture des FPGA : Modules de routage Architecture d d’un un LAB « Logic Array Bloc » pour APEX 20K Source : APEX 20K Programmable Logic Device Family Data Sheet, ALTERA ÉNA – Chap. 5 : FPGA 70 © A. Khouas, 2009 3.3 Architecture des FPGA : Modules de routage Structure d d’interconnexion interconnexion pour les FPGA de la famille APEX 20K Source : APEX 20K Programmable Logic Device Family Data Sheet, ALTERA ÉNA – Chap. 5 : FPGA 71 © A. Khouas, 2009 3.3 Architecture des FPGA : Modules de routage Architecture générale d d’un un FPGA de la famille VIRTEX de Xilinx Source : VIRTEX Field Programmable Gate Array Data Sheet, XILINX ÉNA – Chap. 5 : FPGA 72 © A. Khouas, 2009 3.3 Architecture des FPGA : Modules de routage General Routing Matrix Structure d’interconnexion VLR « Virtex Local routing » Source : VIRTEX Field Programmable Gate Array Data Sheet, XILINX ÉNA – Chap. 5 : FPGA 73 © A. Khouas, 2009 3.4 CPLD vs FPGA CPLD Faible consommation Faible a b e coût Les délais sont précis et prévisibles FPGA Grande densité Plus rapide Les délais ne sont connus qu’après placement-routage ÉNA – Chap. 5 : FPGA 74 © A. Khouas, 2009 3.5 Autres CLP FPSC « Field Programmable System Chip » de Lattice 400 K programmable FPGA Jusqu’à 8 canaux de transmission de 1.0 à 3.7 Gbits/s ispPAC p de Lattice Premier circuit programmable mixte analogique/numérique FPSLIC « Field Prog. System Level IC » de Atmel Combine FPGA, FPGA mémoire et μ-contrôleur contrôleur PSoC de Cypress « Programmable System-on-Chip » Combine μ-contrôleur 8 bits, mémoire, blocs analogiques et numériques configurables Excalibur de Altera Combine APEX20KE et μ μ-processeur processeur 32 bits ARM922T ÉNA – Chap. 5 : FPGA 75 © A. Khouas, 2009 3.5 Autres CLP Paramètres à considérer dans le choix d’un CLP: Nombre N b d de portes t é équivalentes i l t ttypiques i Nombre de bascules Taille de la mémoire Nombre de plots d’entrées/sorties d entrées/sorties Coût Performances Vitesse Consommation Type de programmation Une ou plusieurs fois Sur site ou non Autres ÉNA – Chap. 5 : FPGA Autres modules intégrés (μP, DSP, blocs analogiques, …) Outils de développement pp disponibles p 76 © A. Khouas, 2009 3.5 Autres CLP Compagnies : ACTEL ALTERA ATMEL CYPRESS LATTICE QUICKLOGIC TEXAS INSTRUMENT XILINX Altera et Xilinx ont 80% du marché A connaître pour mériter le titre de « FPGA Designer » !!! ÉNA – Chap. 5 : FPGA 77 © A. Khouas, 2009 4. Flot de conception sur CLP Saisie PlacementRoutage Synthèse Vérification ÉNA – Chap. 5 : FPGA 78 © A. Khouas, 2009 4. Flot de conception sur CLP Paramètres à considérer pour la migration i ti de d FPGA vers ASIC: ASIC TTM Coût Coût Ressources Risk Outils de migration Altera HardCopy Il faut suivre quelques règles pour faciliter la migration ÉNA – Chap. 5 : FPGA 79 © A. Khouas, 2009 Conclusion Aujourd’hui, il y 10 fois plus de « CPLD-FPGA Based Design » que de « ASIC Based Design » !!! ÉNA – Chap. 5 : FPGA 80 © A. Khouas, 2009