Institut Supérieur Industriel de Mons Haute Ecole de la Communauté française en

Institut Supérieur Industriel de Mons Haute Ecole de la Communauté française en Hainaut Unité Electronique Composants programmables Cours de 3è Bachelier en Electronique appliquée D. DECKERS 2008-2009 2ème partie : Composants programmables PLDs, CPLDs et FPGAs TABLE DES MATIERES Chapitre I : Introduction 2 Chapitre II : Architecture des circuits logiques programmables 4 II.1 Les PALs 5 II.1.1 : Généralités et conventions 5 II.1.2 : Structure des entrées / sorties 8 II.1.3 : Dénomination des PALs 9 II.1.4 : Exemples de PALs combinatoires et à registres 10 II.1.5 : Les PALs asynchrones à registres 13 II.1.6 : Les PALs versatiles 14 Chapitre III : Technologie d’interconnexion (de programmation) 17 III.1 : Circuits programmables une seule fois (OTP) 17 III.1.1 : Cellules à fusibles 17 III.1.2 : Cellules à antifusibles 18 III.2 : Circuits programmables et reprogrammables 18 III.2.1 : Cellules UVPROM 19 III.2.2 : Cellules Flash EEPROM 20 III.2.3 : Cellules SRAM 23 III.3 : Circuits EEPROM programmables In Situ 24 III.4 : Comparaison et choix des différentes technologies 25 III.5 : Fusible de sécurité 25 III.6 : Les outils de développement 26 III.7 : Du code VHDL à la programmation 26 III.7.1 : La synthèse 26 III.7.2 : L’optimisation 26 III.7.3 : Le fitting 27 III.7.4 : Placement et routage 27 III.7.5 : Fichier JEDEC (.jed) 28 Chapitre IV : Paramètres temporels 33 Chapitre V : Les CPLDs 35 V.1 : Architecture et ressources d’interconnexion 35 V.2 : Exemple : la structure des CY7C37xi (CPLDs Cypress) 37 Chapitre VI : Les FPGAs 40 VI.1 : Architecture 40 VI.2 : FPGA de type SRAM 42 VI.3 : FPGA de type antifuse 43 VI.4 : Comparaison des 2 types de FPGA 43 VI.5 : Exemple : la structure des FPGAs XC4000 44 Bibliographie : Annexes: « Composants programmables » page 1 COMPOSANTS PROGRAMMABLES I. INTRODUCTION : ASIC : Application Specific Integrated Circuits Cette dénomination d’ASIC regroupe tous les circuits dont les fonctions peuvent être personnalisées d’une manière ou d’une autre en vue d’une application spécifique. Avant l’apparition des circuits logiques programmables, toute application était construite à partir de composants logiques standards dont les fonctions étaient bien définies par le constructeur dans les data sheets. La complexité et le nombre de circuits standards nécessaires à une application rendaient la mise au point d’une carte électronique longue et coûteuse et la moindre erreur de conception entraînait une refonte du circuit imprimé. Dans les années 80 apparaissent des composants logiques programmables qui permettent de remplacer plusieurs composants standards. Malgré le degré d’intégration assez faible (quelques centaines de portes) de ces premiers composants, ils sont bien accueillis en raison de l’utilisation de composants homogènes et de leur souplesse d’utilisation. Au milieu des années 80 viennent alors les FPGAs (Field Programmable Gate Array), nouvelle technologie de composants programmables alliant souplesse d’utilisation (car programmables par l’utilisateur) et très grande densité d’intégration (quelques centaines de milliers de portes logiques). Evolution : 1963 : premiers circuits TTL (10 portes logiques, 50 transistors) 1997 : technologie CMOS 0.25 μm (250.000 portes logiques, 25.000.000 transistors) 2001 : technologie CMOS 0.15 μm (2.000.000 portes logiques) Les circuits logiques programmables repris dans les catalogues des constructeurs ne sont plus alors définis en termes de fonctionnalités mais bien en termes de possibilités. On peut définir un circuit programmable par : - sa structure de base : réseau programmable, cellule de base, matrice, … - les outils logiciels permettant sa personnalisation. - sa densité d’intégration : nombre de portes, de cellules élémentaires, … - sa technologie de programmation « Composants programmables » page 2 On peut distinguer deux familles d’ASICs : - les circuits spécifiques : ce sont des produits non préfabriqués chez le fondeur. Ce sont des composants coûteux que seules la très haute densité (millions de portes) et un très grand volume de production peuvent justifier. . réseaux pré-diffusés Gate Arrays : pas programmable par l'utilisateur mais le dernier masque chez le fondeur est sur mesure. . circuits pré-caractérisés Cell-Based ASIC : le fondeur propose une bibliothèque d'éléments que l'on peut assembler pour former un circuit spécifique. Tous les masques sont alors sur mesure. . circuits Full Custom ASIC : les dopages des différentes zones, la largeur des caissons, la géométrie des transistors, … Tout est décidé par le concepteur. Le fondeur n'est plus alors qu'un exécuteur. - les circuits semi-spécifiques : réseaux programmables par l'utilisateur: ce sont des produits déjà fabriqués chez le fondeur qui nécessitent une personnalisation (interconnexions) pour réaliser la fonction désirée. Ces circuits peuvent être obtenus à faibles coûts. Dans le cadre de ce cours intitulé « Circuits à logique programmable et VHDL », nous nous proposons de nous limiter à l’étude des composants semi-spécifiques que sont les réseaux programmables et aux méthodes de conception d’une application sur circuit programmable qui reposeront sur un langage de description hardware incontournable : le VHDL (Very high speed integrated circuits Hardware Description Language). - Etude des architectures internes des composants programmables PLDs (Programmable Logic Devices), CPLDs (Complex Programmable Logic Devices) et FPGAs (Field Programmable Gate Array). - Etude du langage de description hardware VHDL. - Laboratoires comprenant la conception de petites applications et la réalisation pratique avec test du circuit programmé. « Composants programmables » page 3 II. ARCHITECTURE DES CIRCUITS LOGIQUES PROGRAMMABLES : La classificaton des différentes familles de PLDs (Programmable Logic Devices) est reprise dans l’organigramme de la figure II.1 : > Densité croissante Figure II.1 Les PALs (Programmable Array Logic) ou réseaux logiques programmables sont les PLDs les plus anciens (1970). C’est une marque déposée qui est passée dans le langage courant (société MMI). La première génération de PALs était composée de PALs à fusibles programmables une seule fois (OTP : One Time Programmable) qui ne réalisaient que des fonctions combinatoires. Vinrent ensuite les PALs CMOS programmables et effaçables électriquement. Les GALs (Generic Array Logic) sont les premières PALs CMOS apparues sur le marché. Le terme GAL étant une marque déposée de la firme Lattice Semiconductor, les autres fabricants de PALs programmables et effaçables électriquement appellent leurs composants PALs CMOS. Bien que quelques différences d’organisation interne existent, on peut donc dire que les GALs et les PALs CMOS font parties de la même famille. Les EPLDs sont des circuits logiques programmables électriquement et effaçables par rayonnement ultra-violet. La tendance à la miniaturisation et l’augmentation du nombre de fonctions électroniques présentes sur une même carte a rendu les composants SSI (Single Scale Integration : jusqu’à 20 portes) et MSI (Medium Scale Integration: jusqu’à 100 portes) que sont les PALs un peu trop limités. La réponse des fabricants fut donc de construire des CPLDs (Complex PLDs) : ce sont des boîtiers renfermant plusieurs structures de base PAL associées à une matrice d’interconnexion programmable (Rq. : LSI : Large Scale Integration –jusqu’à 30.000 portes-, VLSI : Very Large Scale Integration ). PAL GAL EPLD CPLD FPGA Circuits logiques programmables par l’utilisateur (semi-spécifiques) « Composants programmables » page 4 Au début des années 80 sont apparus les FPGAs (Field Programmable Gate Array) qui sont de gros ensembles de portes logiques élémentaires dont l’interconnexion est programmable par l’utilisateur. II.1 Les PALs : II.1.1 : Généralités et conventions : L’idée de base des circuits programmables et donc de leur premier modèle, la PAL, était de construire un circuit, ensemble de portes logiques complètement interconnectées par des fusibles, et de pouvoir faire fondre certains de ceux-ci lors de la programmation (personnalisation du circuit) de manière à ce qu’il ne reste que les connexions souhaitées. Structure : On retrouve, sur le schéma de la figure II.2, une partie de la structure interne d’une PAL. Deux entrées (dont on produit l’inverse) et une sortie totalement combinatoire. Des fusibles permettent, par fusion (programmation), de déconnecter les entrées non désirées sur l’entrée d’une porte ET. Chaque porte ET étant elle-même connectée en Figure II.2 sortie sur l’entrée d’une porte OU. Cette structure permet donc de produire une équation logique de type SOMME DE PRODUITS. Pour plus de lisibilité, on adoptera la notation où les différentes lignes d’entrée de la porte ET se réduisent à une seule ligne sur laquelle chaque fusible intact est représenté par une croix. Le nombre de lignes d’entrée de la porte ET est donc égal au nombre de croix sur le schéma. Le schéma vu précédemment se transforme donc, en vertu des conventions, en celui de la figure II.3. Figure II.3 Rq. : la programmation de ce type de circuit passera par la création, par outil logiciel, d’un fichier JEDEC (*.jed) qui contiendra la liste des fusibles à éliminer. « Composants programmables » page 5 Exemple : représentation d’un ou exclusif (⊕) I1 ⊕ I2 = Ī 1 . I2 + I1 . Ī 2 Figure II.4 La fonction OU EXCLUSIF implantée sur une PAL donnera donc la cellule de base dans laquelle 4 fusibles ont étés détruits. La structure schématique complète et non programmée d’une PAL combinatoire est donnée à la figure II.5 : Figure II.5 « Composants programmables » page 6 Il s’agit d’une zone logique ‘ET’ programmable et d’une zone logique ‘OU’ fixe uploads/Ingenierie_Lourd/ cours-complet-2009-pld.pdf

  • 11
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager