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

Les composants logiques programmables. PLAN I. Introduction II. Les mémoires vives III. Les mémoires mortes IV.Évolution des composants programmables.

Présentations similaires


Présentation au sujet: "Les composants logiques programmables. PLAN I. Introduction II. Les mémoires vives III. Les mémoires mortes IV.Évolution des composants programmables."— Transcription de la présentation:

1 Les composants logiques programmables

2 PLAN I. Introduction II. Les mémoires vives III. Les mémoires mortes IV.Évolution des composants programmables V.Les FPGA

3 I INTRODUCTION Il existe deux grandes familles de circuits logiques programmables : Les mémoires programmables Les PLD (programmable logic device)

4 Quelques rappels : Les mémoires Une mémoire est un élément de stockage dinformation Les bits stockés sont organisés sous forme de matrice: la dimension de la mémoire est donnée par le nombre de lignes fois la largeur de la ligne Chaque ligne de la mémoire est appelée un mot. Elle est identifiée par une adresse (numéro de la ligne) Le nombre de lignes est toujours une puissance de deux Deux opérations sont possibles, sur un mot complet: La lecture (read) et lécriture (write)

5 Classification des mémoires

6 II Les Mémoires Vives : RAM Random Acces Memory, mémoires vives Des mémoires contenant des programmes et des données Information disponible tant que le courant est présent 2 types de RAM: StaticRAM ET DynamicRAM Statique Ram: Un bit = une bascule D (4 transistors) Dynamique Ram : Un bit = une capacité (1 transistor)

7 RAM Statique

8 RAM Statique : simulation

9 un CI Ram de 4 mots de 4 bits Addition horizontale de CI pour augmenter le nombre de bits d un mot Une mémoire de 4 mots de 8 bits chacun NB: Les signaux cs et wr sont actifs à 0 (niveau bas)

10 Addition verticale de CI pour augmenter le nombre de mots SRAM de 8 mots de 4 bits

11 LES RAM DYNAMIQUE (DRAM) Info stockée dans un condensateur sous forme de charge électrique Plus grande intégration mais nécessite des opérations de rafraîchissement. Rafraîchissement= lire le bit et le réécrire environ toutes les 10nsec temps Tension en volts Avec rafraîchissement

12 RAM dynamique Un seul transistor : gain de place Cycle complexe de lecture Lecture puis ré-écriture Cycle de rafraîchissement

13

14 Présentation des DRAM SIMM Single In line Memory Module

15 III Les Mémoires mortes: Read Only Mémory Les données ne peuvent être que lues Lécriture se fait soit lors de la fabrication ou nécessite un matériel spécialisé. La donnée est retenue même en absence du courant (donnée non volatile)

16 1 Les différentes familles de PROM

17 2) PROM: Programmable ROM ROM programmable par l'utilisateur une seule fois: 1 point mémoire = fusible EPROM: PROM effaçable plusieurs fois Effacement = soumettre l Eprom à un rayonnement ultraviolet (UVPROM) ou un courant électrique EEPROM Lécriture nécessite un temps grand que dans une Ram

18 a) PRINCIPE DES PROM A FUSIBLE Structure à : ET fixes (les circuits de décodage d'adresse) OU programmables (les données placées dans la mémoire) Zone mémoire ADRESSESADRESSES

19 ROM (suite)

20 PRINCIPE DES PROM A FUSIBLE Lorsque la mémoire est livrée tous les fusibles sont intacts. Elle ne contient alors que des l. La programmation va consister à faire sauter les fusibles aux emplacements où on souhaite mémoriser des 0 en utilisant une haute tension (généralement 12 volts), pour faire sauter le ou les fusibles. Les PROM à fusibles sont en voie de disparition

21 Fusibles métalliques ou Si Lignes métalliques : interconnexions Intact«Programmé»

22 Rem : Antifusibles

23 UV-PROM

24 b) PRINCIPE DES UVPROM chaque cellule mémoire élémentaire est constituée d'un transistor MOS dont la grille de commande est totalement isolée dans une couche d'oxyde. Par application d'une tension suffisamment élevée, qui est appelée tension de programmation, on créé des électrons chauds ou électrons ayant une énergie suffisante pour passer au travers de cet isolant. Ces charges s'accumulent alors sur cette grille isolée où elles se trouvent piégées. La cellule mémoire est programmée. Grille isolée Grille de contrôle Isolant

25 UV-EPROM / EEPROM SAMOS : Stacked MOS Non-volatile

26 Durée de rétention La qualité de l'isolant étant excellente, la durée de rétention des charges atteint au minimum 10 ans à 70 °C, c'est-à-dire jusqu'à 100 fois plus à 25 °C Effacement On expose la puce à un rayonnement ultraviolet. Les photons, communiquent leur énergie aux électrons et leur font franchir la barrière en sens inverse

27 c) Principe des EEPROM Ce sont des PROM effaçables électriquement octet par octet si nécessaire. Les EPROM FLASH sont effaçables globalement, sont plus rapides et plus simples (1 CMOS par bit) que les EEPROM. Toutes deux sont programmables en circuit.

28 d) Les Mémoires FLASH Mémoires non volatiles, réécriture possible ( fois), capacité 8 Gigabytes. Même structure quune Ram équipée d une alimentation de faible consommation. Contrairement au Ram, effacement par bloc de données et non par octet. Grande tolérance au chocs, extrêmes températures, environnement avec beaucoup de perturbation. Utilisation: Caméras digitaux, téléphones mobiles, Imprimantes, Pc portables, Applications militaires…

29 Comparaison

30 IV Évolution du marché des composants programmables De plus en plus présent dans le quotidien –Ordinateurs, PDA –GSM,GPRS,UMTS, GPS –TV numérique –Electronique embarquée –Baladeurs CD/MP3 DVD –Traitement du signal

31 Les atouts des CLP : les standards Les standards facilitent lintégration de services : –PDA + GSM –GSM + MP3 –UMTS + MPEG4 + MP3 + Hiperlan2 +...

32 Plus de performance GSM =>GPRS =>EDGE =>UMTS Bluetooth 11 Mbits/s =>Hiperlan2 à 54 Mbits/s

33 Réduire le « time to market » Les produits ont une durée de vie de plus en plus faible –Réduire le «time to market» –Réutilisation pour concevoir dautres produits (rentabiliser)

34 REUTILISATION Approche retenue pour limiter les coûts Conception dun « Système On Chip » à partir de blocs prédéfinis : Intellectual Properties

35 Notion dIP (Intellectual Property) Blocs fonctionnels complexes réutilisables –Hard: déjà implanté, dépendant de la technologies, fortement optimisé –Soft: dans un langage de haut niveau (VHDL, Verilog, C++…), paramétrables Normalisation des interfaces Environnement de développement (co-design, co- specif, co-verif) Performances moyennes (peu optimisé)

36 Contraintes liées à lutilisation dIP - connaître les fonctionnalités –estimer les performances dans un système –être sûr du bon fonctionnement de lIP –intégrer cet IP dans le système –valider le système

37 MERCI...

38 ARCHITECTURES CONCEPTION FPGA UTILISATION DES

39 PLAN I. Introduction, historique II. FPGA vs ASIC III. Architecture et conception des FPGA IV. Famille de FPGA Altera V. Famille de FPGA Xilinx VI. Autres Exemples de FPGA VII. Utilisation des FPGA, CAO VIII. CoDesign, SORC et nouvelles Conclusion

40 I. INTRODUCTION

41 Définition FPGA : Field Programmable Gate Array En français : Composant, constitué dun ensemble de ressources logiques élémentaires configurables pouvant être mises en relation par un réseau dinterconnexions également configurable

42 Historique IXème av JC Les chinois comptent avec un boulier ! 1640Blaise Pascal, invente une machine mécanique à additionner et soustraire : la Pascaline 1875Sir J.W. Swan invente le tube à incandescence 1940Utilisation des premières PLL (principe étudié en 1932 par Bellescize) 1946 ENIAC 1er calculateur électronique ( tubes, tient dans un hall de 10*17m) Von Neumann présente le concept de programme enregistré 1948 Bardeen, Brattain et Shockley (Bells Labs) inventent le transistor bipolaire 1er ordinateur le SSEC dIBM 19501er circuit reconfigurable « the fuse configurable diode matrix » Harris Semiconductor 1958Jack Kibly invente le circuit intégrée, brevet Texas Fairchild dépose un brevet sur la fabrication des CI par procédé Planar 1962 Famille TTL

43 Historique 1968Famille MOS Robert Noyce et Gordon Moore créer une startup : intel 1er PLA « read only associative memory ROAM » IBM 1969Neil Amstrong marche sur la Lune 1970 Introduction du terme PAL Texas Instrument 1ère ROM, Harris Semiconductor 1971intel, 1er UV-PROM (effaçable par UV) 1972Intel, 1er processeur : André Truong et Francis Grenelle mettent au point et commercialisent le 1er micro-ordinateur du monde, le Micral, made in France ! 1975Un certain Bill Gates fonde une petite société dinformatique : Microsoft 19781ère famille PAL commerciale, MMI 1980Premiers microprocesseurs 32 bits chez intel et Motorola 1981IBM lance le PC

44 Historique 19831er GAL effaçable électriquement, Lattice 1984Apple lance le Macintosh 1984 Introduction du FPGA par XILINX : le XC2000 (de 600 à 1500 portes) création de la société ALTERA Technologie CMOS UV-EPROM 1985 mise sur le marché du 1er FPGA XILINX er FPGA Altera : le Flex 8000 ( portes max) 1993Technologie EEPROM 2001 Lancement du Virtex II Xilinx (jusquà 10 millions de portes) 2005FPGA avec des capacités supérieures à 50 millions de portes fonctionnant à des fréquences surpassant les 500 MHz

45 Marché des FPGA

46

47

48 Évolution de la technologie Taille relative : µ trois couches de métal 100% µ trois couches de métal 78% µ quatre couches de métal 32% µ cinq couches de métal 19% µ six couches de métal 12% Évolution de la technologie 2004 : techno cuivre 0.09 µm à 12 couches de métal ( portes/mm²) Technologie : Année : 2002 : techno cuivre 0.13 µm à 8 couches de métal

49 Évolution de la technologie La technologie cuivre (aujourdhui maîtrisée) permet daugmenter la rapidité des circuits donc daugmenter les fréquences de fonctionnement

50 Problèmes techniques Pourcentage de perte à la fabrication du à laugmentation de la taille des wafers (de 200 à 300 mm) => Ressources surnuméraires déconnectables permettent de prévoir le % de perte à la fabrication 300 mm 200 mm

51 Évolution des prix 0 0,2 0,4 0,6 0,8 1 1, INDICE PRIX PAR ELEMENT LOGIQUE (Source : Altera) Le prix par élément logique diminue de 40 % par an

52 Évolutions Prix (de lélément logique) - 46% par an Densité (logique)+ 55% par an Vitesse (fréquence système)+ 35% par an

53 Évolutions Daprès Xilinx, en 2005 les plus gros FPGA auront des capacités de 50 millions de portes des complexités de 2 billions de transistors utilisant des technologies à 70 nm avec 12 couches de métallisations (cuivre) avec des cœurs de microprocesseurs câblés cadencés à 1GHz

54 FPGAASIC ?

55 Taxonomie des CI (HARD) PLD ASIC Circuits sur mesure Circuits précaractérisés Circuits prédiffusés Circuits configurables SEMI-CUSTOMCUSTOM FPGACPLDPAL Sea of gate Gate array Standard cell Full Custom ASIC : Application Specific Integrated Circuit FPGA : Field Programmable Gate Array CPLD : Complex Programmable Logic Device PAL : Programmable Array Logic GAL: Generic Array Logic = PAL SRAM: Static Random Access Memory AntifuseSRAM

56 ASIC Full Custom ASIC Circuits sur mesure Circuits précaractérisés Circuits prédiffusés Circuits configurables SEMI-CUSTOMCUSTOM FPGACPLDPAL Sea of gate Gate array Standard cell Full Custom AntifuseSRAM ASIC : Application Specific Integrated Circuit

57 ASIC Full Custom Au final Au départ SPECIFICATIONS +

58 ASIC Standard Cell ASIC Circuits sur mesure Circuits précaractérisés Circuits prédiffusés Circuits configurables SEMI-CUSTOMCUSTOM FPGACPLDPAL Sea of gate Gate array Standard cell Full Custom AntifuseSRAM ASIC : Application Specific Integrated Circuit

59 ASIC Standard Cell Au final Au départ SPECIFICATIONS + BIBLIHOTEQUE DELEMENTS PRE-CARACTERISES +

60 ASIC Gate Array ASIC Circuits sur mesure Circuits précaractérisés Circuits prédiffusés Circuits configurables SEMI-CUSTOMCUSTOM FPGACPLDPAL Sea of gate Gate array Standart cell Full Custom AntifuseSRAM ASIC : Application Specific Integrated Circuit

61 ASIC Gate Array Au départ SPECIFICATIONS + Au final Il est possible aussi dutiliser des bibliothèques de composants pré-caractérisés

62 PAL ASIC Circuits sur mesure Circuits précaractérisés Circuits prédiffusés Circuits configurables SEMI-CUSTOMCUSTOM FPGACPLDPAL Sea of gate Gate array Standart cell Full Custom AntifuseSRAM PAL : Programmable Array Logic

63 PAL Matrice de ET réalisant tous les produits possibles (maxtermes) connectée aux sorties par des OU Grande surface de Si utilisée. Ces circuits ne sont plus utilisés aujourdhui

64 CPLD ASIC Circuits sur mesure Circuits précaractérisés Circuits prédiffusés Circuits configurables SEMI-CUSTOMCUSTOM FPGACPLDPAL Sea of gate Gate array Standart cell Full Custom AntifuseSRAM CPLD : Complex Programmable Logic Device

65 CPLD PAL MATRICE DINTERCONNECTIONS E/S Les CPLDs regroupent plusieurs PALs interconnectés par un réseau de connexions programmables. Les CPLDs sont les prémisses des premiers FPGAs. Ces circuits ne sont plus utilisés aujourdhui car remplacés par les FPGAs.

66 FPGA ASIC Circuits sur mesure Circuits précaractérisés Circuits prédiffusés Circuits configurables SEMI-CUSTOMCUSTOM FPGACPLDPAL Sea of gate Gate array Standart cell Full Custom AntifuseSRAM A SUIVRE !!! FPGA : Field Programmable Gate Array

67 Comparaison

68 Capacités comparées Nombre de portes (log) année Moyenne dutilisation 100M 10M 1M 100k 10k 1k Capacité max ASIC Capacité max FPGA 80% des design fonctionnent aujourdhui à moins de 200MHZ

69 Les FPGA sont au cœurs des systèmes

70 Temps de mise en œuvre

71 Point de "cross-over" des FPGA et des ASIC Nick Tredennick, Brion Shimamoto. The Rise of Reconfigurable Systems. In proceeding of Engineering of Reconfigurable Systems and Algorithms, ERSA2003. June 23-26,Las Vegas, Nevada, USA. Cross-over de de pièces environ en 2000 Cross-over de de pièces environ en 2004 Un jeu de masques correspond à 1M$ à amortir en techno 0,13µm

72 Contextes dutilisations en grandes séries ASIC FPGA Volume Temps Conception prototypage Pré-sérieProductionFin de vie À-coup de production

73 Les ASIC AVANTAGES hautes intégrations hautes performances (vitesse, low-power) coûts faibles pour de gros volumes de production personnalisation sécurité industrielle INCONVENIENTS prix du 1er exemplaire pas derreur possible non-flexible time-to-market élevé fabrication réservée aux spécialistes (fondeur)

74 Les FPGA AVANTAGES possibilité de prototypage time-to-market faible adaptabilité aux futurs évolutions grâce à la reconfiguration flexibilité INCONVENIENTS intégration limité par les ressources de routage performances prix à lunité élevé pour de grosses productions

75 Conclusion Le choix entre FPGA ou ASIC, se fait en fonction du cahier des charges de lapplication : temps de mise sur le marché et durée de vie courte FPGA très petit nombre de circuits FPGA optimisation des performances ASIC grande série ASIC

76 FPGA et conjoncture économique mondiale Daprès une interview du directeur de Xilinx dans la revue électronique internationale Les FPGA sont les rares produits délectronique qui profite de la crise économique actuelle dans le domaine des technologies de pointes ceci pour plusieurs raisons : diminution des volumes de production diminution de la durée de vies des produits possibilités techniques des FPGAs largement suffisantes pour la plus part des applications « en 2006, il y aura un circuit logique programmable dans chaque appareil numérique …. »

77 FPGA et conjoncture économique mondiale

78 III. ARCHITECTURE CONCEPTION &

79 Les différentes familles de circuits logiques programmables 1) Quelques définitions EEPROM ou E2PROM (Electrical Erasable Programmable Read- Only Memory) :Mémoire programmable à lecture seule, effaçable électriquement. EPLD (Erasable Programmable Logic Device):Circuits logiques reprogrammables. FPGA (Field Programmable Gate Array):Réseau de portes programmables GAL (Generic Array Logic):Circuits logiques PAL reprogrammables à technologie CMOS. ISP (In System Programmable):Circuit que lon peut programmer (et donc effacer) même lorsquil est en place sur lapplication. PAL (Programmable Array Logic):Circuits logiques programmables dans lesquels seules les fonctions ET sont programmables, les fonctions OU ne le sont pas. PLD (Programmable Logic Device):Famille des circuits programmables qui comprend les PAL,GAL,EPLD et FPGA.

80 2)Les différentes familles de PLD PLD ASIC Circuits sur mesure Circuits précaractérisés Circuits prédiffusés Circuits configurables SEMI-CUSTOMCUSTOM FPGACPLDPAL Sea of gate Gate array Standard cell Full Custom ASIC : Application Specific Integrated Circuit FPGA : Field Programmable Gate Array CPLD : Complex Programmable Logic Device PAL : Programmable Array Logic GAL: Generic Array Logic = PAL SRAM: Static Random Access Memory AntifuseSRAM

81 Les différentes familles de PLD (suite) TYPENombre de portes intégrées Matrice ETMatrice OUEffaçable PROM2 000 à FixeProgrammableNon PAL10 à 100ProgrammableFixeNon GAL10 à 100ProgrammableFixeElectriquement EPLD100 à 3000ProgrammableFixeAux U-V Electriquement FPGA3000 à Programmable Electriquement Non

82 a) Les PAL Linvention des PAL date dune vingtaine dannée, ce sont les ingénieurs de la société MMI rachetée par AMD qui ont eut lidée dutiliser la technologie des fusibles. Ce sont des composants programmables une seule fois.

83 Structure de base dun PLD Ils possèdent des matrices « ET » programmables et des matrices « OU » fixes. La fusion des fusibles est obtenue en appliquant à leurs bornes une tension de 11,5 V pendant 10 à 50 µS (leur tension de fonctionnement est environ de 5V). Cette opération est bien sûr effectuée en utilisant un programmateur adapté.

84 . PLD programmé PLD ayant ses fusibles intacts Structure de base avec les normes des constructeurs

85 Porte trois états permettant de déconnecter la broche de la matrice "ET" I/O Certaines broches de ces circuits peuvent être utilisées aussi bien en entrée quen sortie grâce à un système de logique 3 états. La commande de cette dernière est configurée au moment de la programmation. La structure de sortie permet aussi de réinjecter les sorties en entrée (Feed- back). Configuration des entrées/sorties

86 REFERENCE DES PAL Les diverses possibilités de ces circuits et leur standardisation ont conduit les constructeurs à définir une nomenclature permettant de décoder assez facilement la référence des PALs. PAL : PAL (CE) : CE pour version CMOS XX : Nombre dentrées AB : Structure de sortie YY : Nombre de sorties C : Consommation ZZ : Vitesse DEF : Type de boîtier Lettre(s) Code(s)Structure de sortie LCombinatoire active bas HCombinatoire active haut CCombinatoire complémentaire RRegistre synchrone (D) RARegistre asynchrone XRegistre OU exclusif VVersatile

87 Remarques : Le nombre dentrées varie entre 10 et 22. Le nombre de sorties varie entre 1 et 10. La puissance est indiquée par une lettre code. La vitesse indique le temps de propagation en nS. Les versions versatiles ont une cellule de sortie programmable permettant dobtenir nimporte quel autre type de structure de sortie (L, H, R...). Les versions CMOS (CE) sont effaçables électriquement. Les fusibles sont remplacés par des transistors de type MOS FET. Ce ne sont ni plus ni moins que des « GALs ». Exemple : PAL 16 L 8 H 15 PC PAL : PAL : Nombre dentrées : : Structure de sortie : : Nombre de sorties : : Consommation : : Vitesse : : Type de boîtier :

88 Structures de base des PAL Brochage du PAL 16R6 - Brochage du PAL 16L6 -

89 PAL22V10 : Sortie (VERSATILE)

90 PAL22V10 ZOOMComplet

91 b) Les GAL Les GAL sont des PAL à technologie CMOS, cest à dire programmables et surtout effaçables électriquement. On retrouve les mêmes références quen PAL. Protection contre la duplication. Les GAL sont dotés dun bit de sécurité qui peut être activé lors de la programmation empêchant ainsi toute lecture du contenu du circuit. Ce bit est remis à zéro seulement en effaçant complètement le GAL. Il est constitué dun ensemble de huit octets, appelé signature électronique, pouvant contenir des informations diverses sur le produit.

92 c) Les EPLD Généralités Lintroduction des EPLD telle que la voulue ALTERA visait deux buts : Densité dintégration supérieure aux PAL Fonctionner à une vitesse au moins égale aux PAL bipolaires

93 EPLD : Description Fonctionnelle Les EPLD de la famille MAX possèdent une architecture comportant les éléments suivants : Logic array blocks (LABs) Macrocellules Réseau dinterconnections Programmables (PIA) I/O control blocks Les séries MAX incluent des entrées dédiées telles que des (horloges,clear,..) pour chaque macrocellule.

94 Exemple de EPLD : le MACH 4 Le MACH 4 est un EPLD programmable in situ (ISP) par l'intermédiaire d'un bus J-TAG. Il dispose de 32 entrées / sortie, de matrices « ET » programmables, de matrices "OU" fixes, d'une matrice centrale d'interconnexion, d'une circuiterie d'horloge et de 32 ou 64 macrocellules. L'architecture interne du MACH 4-32/32 est équivalente à 4 PALCE 22V10 interconnectés.

95 d) LES FPGA (field programmable gate arrays) L'architecture, retenue par Xilinx, se présente sous forme de deux couches : une couche appelée circuit configurable, une couche réseau mémoire SRAM.

96 LES FPGA La couche dite 'circuit configurable' est constituée d'une matrice de blocs logiques configurables CLB permettant de réaliser des fonctions combinatoires et des fonctions séquentielles. Tout autour de ces blocs logiques configurables, nous trouvons des blocs entrées/sorties IOB dont le rôle est de gérer les entrées-sorties réalisant l'interface avec les modules extérieurs. La programmation du circuit FPGA appelé aussi LCA (logic cells arrays) consistera par le biais de l'application d'un potentiel adéquat sur la grille de certains transistors à effet de champ à interconnecter les éléments des CLB et des IOB afin de réaliser les fonctions souhaitées et d'assurer la propagation des signaux. Ces potentiels sont mémorisés dans le réseau mémoire SRAM.

97 La SRAM La configuration du circuit est mémorisée sur la couche réseau SRAM et stockée dans une ROM externe. Un dispositif interne permet à chaque mise sous tension de charger la SRAM interne à partir de la ROM. Ainsi, un même circuit peut être exploité successivement avec des ROM différentes puisque sa programmation interne n'est jamais définitive. On voit tout le parti que l'on peut tirer de cette souplesse en particulier lors d'une phase de mise au point. La mise au point d'une configuration s'effectue en deux temps: une première étape purement logicielle va consister à dessiner puis simuler logiquement le circuit fini, puis lorsque cette étape sera terminée on effectuera une simulation matérielle en configurant un circuit réel et l'on pourra alors vérifier si le fonctionnement réel correspond bien à l'attente du concepteur, et si besoin est identifier les anomalies liées généralement à des temps de transit réels légèrement différents de ceux supposés lors de la simulation logicielle ce qui peut conduire à des états instables voire même erronés..

98 Architecture interne du FPGA

99 Les architectures Larchitecture reflète la topologie du réseau de routage Trois grands styles architecturaux saffrontent îlots de calcul, majoritaire chez Xilinx hiérarchique, majoritaire chez Altera logarithmique, un peu exotique...

100 Architecture îlots de calculs Les éléments fonctionnels (logique, mémoire, IO) sont regroupés sous forme de matrice Ce type darchitecture est très répandu, en particulier chez Xilinx, mais aussi chez ATMEL

101 Les composants logiques programmables : Architectures globales Figure 1 : Structure of a CPLD Les MACROCELL = P-TERM (PAL-Like)

102 Architecture îlots de calculs Réseau de routage : lignes horizontales lignes verticales Élément configurable : élément logique élément de mémorisation élément arithmétique entrée/sortie EC Matrice de connexions MC Bloc de connexions BC

103 Les blocs de connexions EC BC EC

104 Architecture hiérarchique Les réseaux de routage dune architecture hiérarchique dépendent du niveau de hiérarchie dans lequel on se trouve. Ceci permet une optimisation du routage par niveau Très répandu chez Altera et Lattice

105 Architecture hiérarchique

106 Élément Hiérarchique de niveau 1 Élément Hiérarchique de niveau 2 Architecture hiérarchique Réseau de routage de niveau 1 Réseau de routage de niveau 2 Élément Hiérarchique de niveau 3 éléments logiques éléments de mémorisation... Réseau de routage de niveau 3

107 Architecture logarithmique Architecture hiérarchique dans laquelle chaque niveau i correspond à une matrice de 4 2i cellules de bases. Chacun de ces niveaux possède des ressources de longueur 4 2i-1. Exemple typique: le circuit Xc6200 de Xilinx

108 Cell Architecture logarithmique Cellule logique de base Matrice de 16 cellules Cell Lignes de longueur 4 cellules 4*4 16*16 Lignes de longueur 64 cellules Lignes de longueur 16 cellules

109 Les éléments logiques Les éléments logiques configurables sont les briques de bases de tous les FPGA, ils sont majoritairement réalisés autour de LUT, Look Up Table, de chaîne de propagation rapide de la retenue et de bascule D. On rencontre toutefois des cellules logiques rudimentaires à base de multiplexeurs

110 Les Look Up Tables Ce sont de petits éléments de mémorisation, qui reflètent la table de vérité dune fonction logique. SRAM In 0In 1In 2In 3 Out In 0 In 1 In 3 In 2 LUT 4 LUT = Table de scrutation LUT 4 entrées = RAM 2octets

111 Les Look Up Tables In 0In 1In 2In 3 Out

112 Les Look Up Tables In 0 = 0In 1In 2In 3 Out

113 Les Look Up Tables In 0 =0In 1In 2In 3 Out

114 Les Look Up Tables In 0 =0In 1 = 1In 2In 3 Out

115 Les Look Up Tables In 0 =0In 1 = 1In 2In 3 Out

116 Les Look Up Tables In 0 =0In 1 = 1In 2 =1In 3 = 1 Out= 1 = In3 In2 In1 Ino

117 Les Look Up Tables Généralement le nombre dentrées des LUT est de quatre car cest un bon compromis entre vitesse et surface Le nombre de LUT dans les éléments logiques varie de 2 à 4 généralement Résultats dune étude de lUniversité de Toronto :

118 Les Look Up Tables Élément logique de base avec LUT LUT FAST CARRY CHAIN D Q SORTIES ENTREES Carry-In Carry-Out HORLOGE

119 Les réseaux dhorloges Les circuits sont de plus en plus grands => augmentation de la longueur des connexions => les chemins dhorloges sont plus longs => plus de retard => ASYNCHRONISME MALSAINT !!!

120 Les réseaux dhorloges Le problème 1 : JITTER : bruit de phase Le problème 3 : on peut avoir besoin de plusieurs horloges dans un même circuit Le problème 2 : CLOCK SKEW : Décalage entre les transitions de la même horloge à différents points dun circuit.

121 Solutions dasservissement des horloges Les DLL (numérique) Delay-Locked Loop ( XILINX ) Les PLL (analogique) Phase-Locked Loop ( ALTERA )

122 Caractéristiques des PLL et DLL

123 Comparaison PLL vs DLL Bien que plus performantes les PLL sont aussi beaucoup plus complexes à intégrer (mixage analogique et numérique) Avons nous besoin dune telle précision ??? Comparaison "objective" faite par ALTERA

124 Les cœurs de processeurs Aujourdhui les systèmes numériques font de plus en plus appel conjointement à des ressources logicielles micro-programmées (µP, µC, DSP) et des ressources matérielles re-configurables (FPGA) Doù lidée de mettre sur un même puce un cœur de microprocesseur et un cœur de logique configurable, les deux étant optimisés technologiquement Le cœur de processeur peut prendre environ 10% de la surface totale de la puce

125 Les cœurs de processeurs Matrice FPGA Cœur ARM 922T RAM simple port RAM double port Altera propose le circuit Excalibur contenant : une partie configurable : type APEX 20K1000 un cœur de processeur : ARM9 (32 Bits) à 200MHz 8 K octets de cache Instructions 8 K octets de cache Données

126 Les cœurs de processeurs PLL Timer UART Interrupt Controller Watchdog Timer JTAG 128 Kbytes SRAM 64 Kbytes DPRAM 32 Kbytes SRAM 16 Kbytes DPRAM 256 Kbytes SRAM 128 Kbytes DPRAM Coeur de processeur FPGA DPRAM XA1 XA4 XA10 Trace Module ARM922T SRAM DPRAM External Memory Interfaces Processor & Interfaces I-CACHED-CACHE ARM8K Bytes8K Byte LEs4160 ESB Bytes6.5K LEs16400 ESB Bytes 26K LEs38400 ESB Bytes 40K

127 Les cœurs de processeurs Xilinx propose aussi une version de son circuit Virtex II avec un cœur de processeur le Virtex II-Pro comprenant : de 1 à 4 cœurs Power-PC (RISC 32 bits) 125MHz matrice VIRTEX avec capacité de 900 milleportes

128 Les alimentations en énergie Dans la plupart des cas il faut deux alimentations Attention à la consommation des E/S => minimiser leur nombre !!! Le cœur est alimenté généralement en 1.8 V (voir 1.5 V) car avec la technologie à 0.18 µm les oxydes ne sont pas assez épais pour supporter plus de tension Les entrées sorties sont alimentées sous 3.3V, 2.5V, 1.8V ou 1.5 V suivant le standard choisi

129 Les alimentations en énergie Technologiquement pour permettre aux entrées sorties de supporter des tensions dalimentations jusquà 3.3V on effectue plusieurs oxydations avec des masques spéciaux De cette façon la technologie utilisée pour les entrées-sorties nest pas la même que pour le cœur

130 Répartition de la consommation de puissance RESSOURCES DE ROUTAGE 65% RESEAU DHORLOGE 21% ENTREES SORTIES 9% RESSOURCES LOGIQUES 5%

131 Modélisation de la consommation de puissance La consommation globale du circuit peut être donnée par le modèle suivant : P = P stat + α*[C wire + C switches ]*V dd ²*f De ce fait la répartition vue précédemment est vraie dans certaines conditions: Technologie (P stat, C, V dd ) Fréquence (action linéaire) Taux dactivité (action linéaire) Taux doccupation (C) Algorithmes de placement routage (f max, C) Nombre dentrées sorties utilisées => du fait de ces nombreux paramètres il est très compliqué de trouver un moyen destimer la consommation de puissance du circuit pour une application

132 Les architectures de FPGA sont donc très variées, tant aux niveau du routage que du grain des ressources qui les composent. Savoir quels types darchitecture et de ressources sont les plus en adéquation avec lapplication que lon développe reste un challenge aujourdhui.

133 IV. LA FAMILLE ALTERA

134 La famille ALTERA 1984Débuts dAltera qui vend des EPLD 1988Lancement des CPLD MAX (Multiple Array matriX) qui sont des fétus de FPGA er FPGA Altera : le FLEX 8000 ( portes) (Flexible Logic Element matriX) technologie 0.5 µm 1995Lancement de la famille FLEX 10K ( portes) 1997Famille FLEX 6K bas coûts ( portes) 1999Famille APEX 20K ( portes) 2000 Famille APEX 20K C utilisant la technologie cuivre 2000Famille APEX 20K E avec plus de ressources mémoires technologie 0.18 µm 2001Circuit Excalibur couplant une matrice FPGA APEX 20K 1000 et un cœur de processeur ARM Famille APEX II (dont le but est de concurrencer le Virtex de Xilinx) ( de portes) technologie 0.15 µm Février 2002 : Lancement du STRATIX concurrent direct du Virtex II Xilinx, technologie cuivre 0.13 µm Septembre 2002 : Lancement du Cyclone un petit FPGA (architecture STRATIX) pour application grand public bas-coûts

135 La famille ALTERA STRATIX

136 APEX II - Caractéristiques Le plus gros composant disponible est lAPEX II EP2A70 Caractéristiques MAX: de portes utilisables bits de mémoires RAM soit 140 Kilo octets 4 PLL cœur alimenté en 1.5 V entrées sorties (tension 1.5 V, 1.8 V, 2.5 V ou 3.3 V) 380 Mbps de débit en entrées sorties technologie cuivre 0.15 µm 8 niveaux de métallisation taille de la puce 40*40 mm soit 1600 mm²

137 APEX II - Architecture Larchitecture est de type hiérarchique, au premier niveau de hiérarchie apparaisse les MegaLAB : Mega Logic Array Block 70 colonnes de MegaLAB 4 rangées de MegaLAB soit au total 280 MegaLAB

138 APEX II - MegaLAB Un MegaLAB contient de 16 à 24 LAB (Logic Array Block) et 1 ESB (Embedded System Block)

139 APEX II - LAB Les LAB sont constitués de 10 LE : Logic Element

140 APEX II - LE Le nombre max de LE pour un APEX II est de

141 APEX II - Carry Chain

142 APEX II - ESB Bloc de mémoire de 4096 bits configurable en simple ou double port Peut être utilisé en CAM (Content Access Memory) et en matrice PAL

143 APEX II - Entrées Sorties

144 APEX II - PLL

145 Stratix Toujours plus gros, toujours plus performant, Stratix, le dernier née dAltera !

146 Stratix - Architecture

147

148 Stratix - Blocs mémoires

149 Stratix - DSP élémentaires Des blocs multiplieurs sont insérés

150 Stratix - Réseau dhorloges

151 Évolutions futures Progression de la famille STRATIX: Version Excalibur avec un cœur ARM10 Version bas coûts, plus petite, pour les grandes séries (=> CYCLONE)

152 VI. FAMILLE XILINX

153 La Famille XILINX 1985Lancement de la 1er famille de FPGA Xilinx le XC2000 (1500 portes - obsolète) 1987Famille XC3000 (6000 portes - obsolète) 1991 Famille XC 4000 ( portes) 1995Famille XC 5200 spéciale petit design ( portes) 0.6 µm 6 couches 1996Innovations avec la famille XC 6200 ( ) visant le coprocessing et le reconfigurable dynamiquement, echec commercial 1998Famille SPARTRAN vise la souplesse dutilisation et les petits design 1999 Famille VIRTEX vise les fortes capacités ( 4 millions de portes) techno 0,22 µm 5 niveaux de métallisation 1999VIRTEX-E amélioration du VIRTEX avec plus de mémoires, techno 0.18 µm 6 niveaux de métallisation 2000Famille SPARTRAN II, FPGA moyennes capacités ( portes) bas coûts, ce sont de petits VIRTEX, techno 0.18 µm 6 niveaux de métallisation 2001Famille VIRTEX II, toujours plus fort (10 millions de portes) techno 0.15 µm 8 niveaux de métallisation, avec des transistors rapide 0.12 µm 2002 Famille VIRTEX II-Pro qui contient 4 cœurs de µP RISC Power-PC Xilinx propose aussi une gamme complète de CPLD

154 La Famille XILINX

155 Le plus gros composant disponible est le VIRTEX II XC2V Caractéristiques MAX: 10 millions de portes utilisables ( LUT et 10 *+ de bascule D) K bits de mémoires RAM soit 656 Kilo octets 192 Multiplieurs (18*18 bits à 200MHz) 12 DLL cœur alimenté en 1.5 V entrées sorties (tension 1.5 V, 1.8 V, 2.5 V ou 3.3 V) Fréquence interne 420 MHz 840 Mbps de débit en entrées sorties technologie allu 0.15µm 8 niveaux de métallisation taille de la puce 40*40 mm soit 1600 mm² Virtex II - Caractéristiques

156 Virtex II - Architecture CLB : Configurable Logic Block CLB Slice

157 Virtex II - Réseau de routage

158 Virtex II - Réseau dhorloges DCM : Digital Clock Manager

159 Virtex II - DCM Digital Clock Manager

160 Virtex II - Entrées sorties

161 Virtex II - Configuration

162 Virtex II - Évolution

163 Virtex II Pro- Architecture

164 VII. AUTRES DE FPGA EXEMPLES

165 Autres exemples de FPGA Il nest pas nécessaire de détailler dautres architectures de FPGA, elles napportent rien de plus que ce que lon a vue chez Xilinx ou Altera Mais il est toutefois intéressant de connaître loffre dautres fabricants

166 Autres exemples de FPGA ACTELProASIC technologie flash, ASIC reprogrammable, non volatile et à granularité fine, ISP. Utilise les outils ASIC ou FPGA AXELERATOR technologie antifusibles => OTP (One Time Programmable), FPGA les plus rapide à 500MHz interne et 300MHz de fonctionnement système HiRel, RT, RH, technologie antifusibles série militaire, tolérance aux radiations

167 Autres exemples de FPGA ATMELAT40K, technologie SRAM, architecture îlots de calcul, faible densité (5K à 50K portes), reconfigurable dynamiquement, des cœurs FPGA dérivés de cette famille peuvent sintégrer dans les circuits prédiffusés ATMEL. LatticeispXPGA, technologie SRAM, archi îlots de calcul, densité de 125K à 1,2M portes. EEPROM de configuration intégré => configuration à la mise sous tension en moins de 200 µs

168 Autres exemples de FPGA Quick LogicpASIC (1,2 et 3), série Quick (Ram, PCI), technologie antifusible (One Time Programmable), faible densité de 1K à 90K portes Cypress CY39K, architecture mixte CPLD-FPGA

169 VIII. UTILISATIONS CAO &

170 Programmation des PLDs. La programmation des PLDs nécessite un logiciel adapté pour le développement du programme et un programmateur permettant de « griller » le circuit. Le fichier JEDEC est un ensemble de données binaires indiquant au programmateur les fusibles à « griller ». Saisie des équations logiques, de la table de vérité, du logigramme ou de lalgorithme avec le logiciel Cahier des charges Mise en « équation » du problème Résolution du problème sous forme déquation logique, de logigramme ou dalgorithme Simplification logique Génération dun fichier au format JEDEC Simulation Choix du PLD en fonction du nombre dentrées et de sorties Ces étapes sont effectuées par le logiciel Programmation du PLD à laide du fichier JEDEC et du programmateur PLD programmé

171

172 Outils de CAO Les outils de CAO sont les points faibles de ces circuits. Si un circuit est très performant il ne se vendra pas si les outils qui lui sont associés ne sont pas performants ! Chez Xilinx 50% des ingénieurs de R&D se consacrent à ces outils !

173 Outils de CAO Tous les fabricants de FPGA proposent des outils de CAO, passage obligé pour configurer leurs circuits pour Xilinx cest ISE - Foundation pour Altera cest Quartus ou MAX + II Avec ces outils on peut réaliser tout le flot de conception de la synthèse à la configuration. Pour certaines phases du flot ces outils font en fait appel à dautres outils

174 Autres outils de CAO Flot FPGA Synthèse Simulation

175 IP : Intellectual Property Et plus encore ! ADPCM (u-law, a-law) ATM Controller CRC Ethernet MAC (10/100/Gigabit) HDLC Protocol Core IMA Controller SONET/SDH Framer T3/E3 Framer Packet Over SONET Processor Telephony Tone Generator Utopia Master & Slave POS-PHY Interface PCI Target PCI Master-Target PCI-X CAN Bus IIC Master & Slave IEEE 1394 PowerPC Bus Arbiter PowerPC Bus Master PowerPC Bus Slave USB Function Controller USB Host Controller Color Space Converter Correlator Digital Modulator Discrete Cosine Transform Fast Fourier Transform FIR Compiler IIR Filter Image Processing Library NCO Reed Solomon Encoder/Decoder Interleaver/Deinterleaver Viterbi Decoder Turbo Decoder Nios TM Processor Tensilica X-tensa Processor PalmChip Bus SDRAM Controller DDR-SDRAM Controller QDR-SDRAM Controller 8237 DMA Controller 8255 Peripheral Interface 8259 Interrupt Controller 8254 Timer/Counter 8051, 6502, Z80 CommunicationsBus Interface Digital Signal Processing Processor, Peripheral

176 Exemple dIP : NIOS NIOS : cœur de processeur RISC générique optimisé Caractéristiques : données sur 16 ou 32 bits 128, 256 ou 512 registres registres à décalage rapide ( 1, 3, 7, 15 ou 31 bits/clock) possibilités de lui adjoindre des périphériques (UART, RAM, ROM) APEX EP20K200E Ici le reste de votre système FLASH SRAM Serial Port Timer IRQ UART 12% dun EP20K200E PBM CPU

177 IX. EVOLUTIONS CODESIGN, SORC

178 Les nouvelles utilisations des FPGA Longtemps réduit au prototypage, aujourdhui les FPGA sont utilisés, pour leur capacité de reconfiguration, dans des systèmes électroniques complexes, même pour de la grande série. le CoDesign pour le Run Time Reconfigurable les SORC : System-On-a-Reconfigurable-Chip

179 Le CoDesign Définition : Les méthodes de CoDesign sont des méthodes de développement simultané (de manière concurrente) des parties HW et SW (spécification, design, vérification) SW = microprocesseurHW = FPGA ou ASIC Buts : Gérer au mieux lhétérogénéité de la nature des fonctions qui composent le système (du logiciel à larchitecture reconfigurable) Comparer les différents choix de partitionnement Définir les interfaces entre le SW et le HW Valider le système complet (co-vérification et co-simulation)

180 Flot de CoDesign SPECIFICATION HAUT NIVEAU DE LAPPLICATION ESTIMATION SYSTEME ESTIMATION LOGICIELLEESTIMATION MATERIELLE PARTITIONNEMENT SYNTHESE LOGICIELLESYNTHESE MATERIELLESYNTHESE INTERFACE COSIMULATION IMPLEMENTATION HW et SW TESTS ordonnancement de lapplication proposition de candidats HW et SW Choix des réalisation HW ou SW Retour dexpérience

181 Les SORC Technique héritière direct des SOC : System On Chip Différentes notations : SORC (Xilinx) : System On a Reconfigurable Chip SOPC (Altera) : System On a Programmable Chip CSOC: Configurable System On Chip Lutilisation des techniques de CoDesign est inévitable ! Lengouement pour les SORC est certain vue le nombre de cœur de processeurs (IP ou câblés) présents sur le marché

182 CONCLUSIONS

183 Le futur

184 Processeurs re-programmant leur environnement en temps réel : « Hardware intelligent programmé à haut niveau »

185 Le futur Circuit programmable Analogiques et Mixtes : (www.anadigm.com) Intégration de MEMS : Plus tard

186 REFERENCES BIBLIOGRAPHIQUES

187 Références bibliographiques Livres : Laurent Dutrieux, Didier Demigny, LOGIQUE PROGRAMMABLE, Architecture des FPGA et CPLD, Méthodes de conception, Le langage VHDL. Eyrolles, 1997 Vaughn Betz, Jonathan Rose, Alexander Marquardt, Architecture and CAD for Deep-Submicron FPGAs. Kluwer Academic Publisher, 1999 Revues : Électronique - Le mensuel des ingénieurs de conception Électronique International Hebdo Xcell Journal (Xilinx press) Revues IEEE

188 Références bibliographiques Sites Internet : LES SITES DES CONSTRUCTEURS (Xilinx, Altera, Atmel, Actel, QuickLogic …) AUTRES : page de liens vers FPGA Programmable Logic Jump Station site de lembedded developers journal site dune entreprise française de service spécialisée dans les FPGA site sur les IP cours de SUPELEC J. Weiss cours de lENSEIRB L. Dulau autre cours en PPT

189 conférences Conférences spécialisées : FPGA ACM International Symposium on Field-Programmable Gate Arrays FPL International Workshop on Field-Programmable Logic and Applications FCCM IEEE Symposium on Field-Programmable Custom Computing Machines FTP IEEE International Conference on Field-Programmable Technology RSP IEEE International Workshop on Rapid System Prototyping ERSA Engineering of Reconfiguraable Systems and Algorithms RAW Reconfigure Architectures Workshop (part of IPDPS) FPGA/PLD Design Conference (part of ASP-DAC) Conférences généralistes DAC : Design Automation Conference ASP-DAC Asian and South Pacific Design Automation Conference DATE Design Automation & Test Exhibition ISCAS IEEE International Symposium on Circuits and Systems

190 MERCI...


Télécharger ppt "Les composants logiques programmables. PLAN I. Introduction II. Les mémoires vives III. Les mémoires mortes IV.Évolution des composants programmables."

Présentations similaires


Annonces Google