fpga

44
- 1 - « Circuits et systèmes intégrés micro -électroniques: technologies, conception » Circuits et systèmes intégrés micro-électroniques : technologies, conception Pr. Michel ROBERT Université Montpellier 2 2002

Transcript of fpga

Page 1: fpga

- 1 -

« Circuits et systèmes intégrés micro -électroniques: technologies, conception »

Circuits et systèmes intégrés

micro-électroniques : technologies, conception

Pr. Michel ROBERT

Université Montpellier 2

2002

Page 2: fpga

- 2 -

« Circuits et systèmes intégrés micro -électroniques: technologies, conception »

Pr. M.ROBERT 10/9/2001

Circuits et systèmes intégrés micro-électroniques : technologies, conception OBJECTIFS : présentation de l'état de l'art dans le domaine de la conception des circuits intégrés spécifiques "ASIC " et des logiciels de CAO associés. Intérêt et limites des techniques d'intégration. Flots de conception. Evolutions : systèmes sur puces. MOTS CLES : Electronique, Micro-électronique. Technologie CMOS. ASIC. Systèmes sur puce (« Systems On Chip, SOC »). Circuits programmables (FPGA, FPGA-SRAM, PLD, CPLD, EPLD). Reconfiguration. Matrice et circuits pré-diffusés ("Gate array"). Circuits pré-caractérisés ("standard cell", "cell based"). Composants virtuels ( ou bloc « IP »). CAO. Vérification. Prototypage.

PLAN

1) INTRODUCTION : DU SYSTEME AU SILICIUM

1.1 Technologies de fabrication 1.2 Conception de circuit intégré

2) LES SOLUTIONS ASIC : PRINCIPES ET ANALYSE COMPARATIVE

2.1 – Circuits semi-spécifiques 2.2 – Circuits spécifiques 2.3 – Comparaisons

3) LES CIRCUITS PROGRAMMABLES

3.1 - Principes 3.2 - Conception 3.3 - Applications 3.4 - Evolutions

4) METHODOLOGIES DE CONCEPTION

4.1 - Spécification 4.2 - Bibliothèque de cellules : principes 4.3 - Flot de conception

5) SYSTEMES SUR PUCES (SOC)

5.1 - Principes : réutilisation 5.2 - Vérification

6) CONCLUSION ANNEXE 1 : technologie CMOS REFERENCES

Page 3: fpga

- 3 -

« Circuits et systèmes intégrés micro -électroniques: technologies, conception »

1) INTRODUCTION : DU SYSTEME AU SILICIUM

La micro-électronique silicium est déjà aujourd'hui et le sera encore davantage demain, un des moteurs essentiels dans la construction de la nouvelle société de l'information et de la communication du 21ème siècle. Le secteur des équipements et systèmes électroniques est un des premiers secteurs industriels mondial. L'industrie électronique concerne plusieurs segments. Certains nécessitent des circuits intégrés très performants : ce sont les secteurs qui concernent les technologies de l'informatique et les télécommunications. Pour d'autres, des circuits moins performants sont suffisants: ce sont les secteurs de l'électronique grand public et de l'électronique industrielle. L'électronique pour l'automobile et les transports quant à elle suppose un fonctionnement de circuits fiables dans un environnement sévère. Enfin l'électronique militaire et spatiale est un secteur stratégique et très spécifique mais qui, compte tenu des contraintes budgétaires, fait appel de plus en plus à des circuits se satisfaisant des technologies de fabrication développées pour les autres segments.

Un circuit intégré conçu de nos jours dans une technologie CMOS submicronique utilise plusieurs dizaines de millions de transistors de très faibles dimensions sur une surface de quelques cm2. De plus, il fonctionne à une fréquence élevée (plus de 1,5 GHz pour les processeurs actuels) et dissipe une puissance importante. Les performances techniques recherchées pour les téléphones mobiles sont une bonne illustration des objectifs à atteindre dans des marchés où la compétition est très forte : faible poids, faible volume, grande autonomie, bonne couverture géographique, faible coût. Ces performances sont atteintes en intégrant l’ensemble des fonctions sur un ou deux circuits intégrés spécifiques.

Le nombre de transistors par circuit intégré double tous les un an et demi. Cette

évolution déterministe a été prédite par la loi de "Moore" (du nom de G. Moore, co-fondateur de la société Intel) et s'est vérifiée sur les trente dernières années. Ce prodigieux essor a été rendu possible par les progrès concernant aussi bien l'architecture des transistors et leurs technologies de fabrication que l'architecture des circuits et les méthodes de conception assistée par ordinateur (CAO). La croissance exponentielle du nombre de transistors sur une seule puce (une puce est le morceau de silicium sur lequel est réalisé le circuit intégré), conséquence de l'évolution des technologies de fabrication, permet d'y intégrer des fonctions de plus en plus complexes, avec de plus en plus de fonctionnalités, jusqu'à l'intégration de systèmes complets.

1.1 Technologies de fabrication des circuits intégrés Un système électronique fait appel à plusieurs fonctions de l'électronique et comporte de façon générale des circuits analogiques et/ou des circuits numériques. Jusqu'au milieu des années 60, les fonctions de l'électronique étaient réalisées à l'aide de composants discrets, des tubes à vide puis, après l'invention du transistor en 1948, à l'aide de ces derniers. L'invention du transistor a été la première étape de la révolution apportée par la micro-électronique (prix Nobel de physique en 1956 pour J. Bardeen, W. Brattain, et W. Schockley). C'est un composant de petites dimensions (micromètres), fabriqué à partir de matériaux semiconducteurs (essentiellement du silicium) par une succession de photolithogravures de diffusions d'espèces chimiques (les dopants) et de dépôts de couches minces. La deuxième étape a été l'invention du circuit intégré (prix Nobel de physique en 2000 pour J. Kilby inventeur en 1958 du circuit monolithique intégré).

Page 4: fpga

- 4 -

« Circuits et systèmes intégrés micro -électroniques: technologies, conception »

Un circuit intégré est un circuit électronique réalisant une fonction et comportant plusieurs transistors fabriqués de façon collective. Les techniques de fabrication collective (successions d'étapes dépôts-lithographies-gravures-dopages) sont très sophistiquées et très coûteuses, mais elles permettent de réaliser sur une même tranche de silicium un grand nombre de circuits intégrés qui comportent eux-mêmes un grand nombre de transistors. La Figure 1.1 résume les étapes principales de fabrication d’un circuit intégré en technologie CMOS. Les divers motifs sont réalisés à partir des masques technologiques. Le dessin de ces masques est l’objectif final de la phase de conception. Les premiers transistors étaient des transistors bipolaires. Ces transistors sont rapides mais ne sont pas bien adaptés à la miniaturisation (encombrement et forte consommation). Ils sont actuellement essentiellement utilisés pour les circuits analogiques. Ils sont à base de silicium pour les basses fréquences et les radiofréquences jusqu'à quelques milliards de Hertz (GHz). Pour les fréquences plus élevées (hyperfréquences), les matériaux de base sont les semiconducteurs composés d'atomes des troisième et cinquième colonnes du tableau de Mendéléïev (composés III-V de type GaAs), ou SiGe dont les performances devraient atteindre celles des circuits intégrés III-V. Au milieu des années 60, grâce aux recherches concernant l'oxyde de silicium, est apparu le transistor à effet de champ (MOSFET pour metal-oxide-semiconducteur field effect transistor). A l'origine, on ne savait fabriquer que des MOSFET dont l'électrode de commande (la grille) était fabriquée en aluminium. Dans les années 70, de nouvelles techniques d'isolation entre des transistors (LOCOS pour localized oxide separation) et la maîtrise des grilles en silicium polycristallin ont permis de fabriquer des MOSFET à conduction par électrons. Enfin, dans les années 80, on a su réaliser sur une même tranche et avec des procédés technologiques compatibles des MOSFET à conduction par trous et des MOSFET à conduction par électrons. Les circuits CMOS (« Complementary MOSFET ») étaient nés. Ces circuits, bien que relativement lents, sont bien adaptés pour une miniaturisation (faible encombrement, technologie de fabrication relativement simple, faible consommation). Dans le futur, les performances des circuits pourraient encore être améliorées, à technologie comparable, par l'utilisation de substrats de type SOI (silicon on insulator). L’annexe 1 résume les caractéristiques électriques de base des circuits CMOS. Compte tenu du compromis (vitesse, puissance dissipée, densité d’intégration, coût), la plupart des circuits intégrés sont fabriqués dans cette technologie. Le silicium a donc aujourd’hui le quasi monopole. Il est prévu dans les prochaines années, une évolution avec l'émergence de circuits intégrés fabriqué sur substrats SOI, et l'utilisation du silicium-germanium (SiGe). Les technologies de fabrication ont suivi une évolution déterministe, prédite par la feuille de route "roadmap" du SIA [SIA1] (« Semiconductor Industry Association »). Cette évolution est quantifiée par les dimensions les plus faibles que l'on sait réaliser et que l'on qualifie de règles de dessin. Les règles de dessin diminuent d'un facteur deux tous les cinq ans et on parle de générations successives (d'une génération à l'autre, la surface des transistors diminue d'un facteur deux, soit 2 pour les règles de dessin). Actuellement, on sait réaliser industriellement des motifs de 0,12 µm et des motifs inférieurs à 0,05 µm (ou 50 nm) sont prévisibles à partir de 2005 : on prévoit ainsi d’atteindre 1 milliard de transistor sur une puce avant 2010. Cette évolution déterministe n'a été possible que grâce à des nouvelles techniques de fabrications telles que les implantations ioniques qui ont permis l'émergence des technologies auto alignées, l'isolation par tranchées (STI pour « shallow trench isolation ») ou la planarisation par polissage mécano-chimique (CMP pour « chemical mechanical polishing »).

Page 5: fpga

- 5 -

« Circuits et systèmes intégrés micro -électroniques: technologies, conception »

Les technologies de fabrication étant de plus en plus fiables et de plus en plus performantes, les utilisateurs de circuits intégrés demandent des circuits comportant de plus en plus de transistors. Compte tenu des investissement nécessaires (le prix d'une usine de fabrication de circuits intégrés dépasse un milliard de dollars), le seuil de rentabilité suppose que l'on fabrique un minimum de circuits intégrés par tranche, à forte valeur ajoutée (pour une surface de silicium équivalente, le prix d’une mémoire, d’un processeur ou d’un circuit spécifique n’est pas le même. C'est ainsi que la surface des tranches de silicium utilisées dans l'industrie double tous les six ans (diamètre des tranches de trois cents millimètres actuellement).

1.2 Conception de circuits intégrés La fabrication du circuit intégré est précédée d'une phase de conception durant laquelle s'élaborent les plans du circuit sur la base de ses spécifications fonctionnelles. La Figure 1.2, illustre les relations entre les phases de conception et de fabrication. La conception d'un circuit intégré permet ainsi de passer du "système" au "silicium" (technologie de fabrication) en passant d'un modèle dit de haut niveau qui est une description fonctionnelle du circuit à un modèle dit de bas niveau correspondant à l'élaboration des plans des masques (« layout ») qui vont définir la topologie des circuits (assemblage de plusieurs centaines de millions de rectangles ou de polygones sur plusieurs niveaux). Pour cela, plusieurs étapes correspondant à différents niveaux de modélisation sont enchaînées (Figure 1.3) : spécification du système, identification des fonctions logicielles et matérielles, description de l'architecture, puis des structures logiques (modèle booléen correspondant à deux valeurs 0 et 1, modélisant les tensions aux bornes des circuits), électriques (assemblage et dimensionnement des transistors) et topologiques (dessin des plans des masques en respectant des contraintes géométriques strictes). Jusqu'au début des années 80, la conception des circuits (en anglais "design"), dont la complexité ne dépassait pas quelques milliers de transistors, s'effectuait de manière manuelle, c'est à dire sans outils logiciels d'aide à la conception, ce qui avait pour conséquence une productivité assez faible et des erreurs de conception fréquentes. Le développement de méthodes et d'outils de CAO (conception assistée par ordinateur) a permis d'accélérer le cycle de conception et de rendre les circuits plus performants. Les premiers outils pour la CAO micro-électronique sont apparus à la fin des années 70. Il s'agissait d'une part de simulateurs électriques (Spice) qui permettent de vérifier le fonctionnement statique (tensions, courants) et dynamique (délais, ...etc.) des circuits avant leur fabrication en évitant ainsi la nécessité de réaliser des maquettes, et d'autre part de logiciels de dessin des masques technologiques. La course à la productivité et aux performances a eu pour conséquence d'accélérer les recherches sur l'automatisation du processus de conception. Ainsi est apparu au début des années 80 le concept de bibliothèque de cellules "pré-caractérisées" qui permet d'envisager la conception de circuits intégrés en assemblant automatiquement des briques "pré-fabriquées" correspondant à des fonctions bien définies. L'accroissement de la complexité des circuits, joint à une pression constante de réduire les temps de mise sur le marché, a pour conséquence de faire évoluer les méthodes et les outils de conception. Les sociétés spécialisées en CAO microélectronique [CAO] fournissent des environnements logiciels dans lesquels sont « greffés » des outils spécifiques (description d’architecture, synthèse, simulation, ...etc.). On distingue (Figure 1.4) les outils de « front End » qui permettent de passer d’une spécification à une architecture validée, et les outils de

Page 6: fpga

- 6 -

« Circuits et systèmes intégrés micro -électroniques: technologies, conception »

« back end » qui permettent la réalisation des étapes physiques de dessin des masques technologiques. Des langages de description (par exemple VHDL ou VERILOG) permettent de modéliser et de simuler un circuit à différents niveaux d’abstraction: - niveau "électrique" pour lequel le fonctionnement de chaque transistor est décrit mais qui est limité à des circuits de quelques centaines de transistors, - niveau "logique" pour lequel on ne décrit que le comportement des portes élémentaires (et non pas des transistors qui les composent), ce qui permet de traiter quelques dizaines de milliers de portes , - niveau « comportemental ou fonctionnel », pour lequel on ne considère que les fonctionnalités nécessaires (par exemple la description du fonctionnement d'un microprocesseur).

Ces langages et outils de simulation initialement développés pour la modélisation et la simulation, mais également utilisés par la suite pour la synthèse automatique, permettent ainsi de valider le fonctionnement d'un circuit ou d'un système électronique à des niveaux de plus en plus éloignés des technologies de fabrication. 2) LES SOLUTIONS ASICs : PRINCIPE ET ANALYSE COMPARATIVE

L’évolution des technologies de la microélectronique permet aujourd’hui la réalisation de systèmes électroniques intégrés d’une grande complexité satisfaisant de multiples critères : grande vitesse d’exécution, encombrement réduit, faible consommation, fiabilité accrue, ...etc. Le développement d’un circuit intégré spécifique à une application est un élément stratégique dans la définition d’un produit. Il permet de remplacer ou d’améliorer une fonction (mécanique, électronique,…etc.) tout en miniaturisant le produit, en réduisant les coûts de production et en augmentant les performances.

Les approches de réalisation sont nombreuses (Figure 2.1). Les différentes catégories de circuits intégrés peuvent être classifiées en trois catégories : standard, semi-spécifique ou spécifique. On peut compléter cette classification par les technologies de réalisation de circuits hybrides (« Multi Chip Module, MCM »,..etc.), ou de microsystèmes (assemblage d’un ASIC et d’un capteur, mécanique ou chimique par exemple, sur un même substrat).

Les circuits standards (par exemple fonctions logiques ou analogiques, processeurs, mémoires, etc.), sont fabriqués en série conformément à une spécification (« data sheet »), décrivant la fonctionnalité, les paramètres électriques statiques et dynamiques, et pour chaque boîtier les conventions de brochage.

Les circuits intégrés à applications spécifiques (ASIC) regroupent 2 catégories principales : - les circuits semi-spécifiques, pour lesquels une partie ou l’ensemble des étapes de fabrication ont été réalisées avant la conception,

Page 7: fpga

- 7 -

« Circuits et systèmes intégrés micro -électroniques: technologies, conception »

- les circuits spécifiques, pour lesquels l’ensemble des étapes de fabrication seront réalisées après la conception.

2.1 Circuits semi-spécifiques

On distinguera à ce niveau deux sous catégories suivant le type de personnalisation :

- les circuits programmables – qui pourraient être aussi classés en catégorie standard -, où l’ensemble des étapes de fabrication sont réalisées par le fabricant. Le concepteur fera lui même selon ses besoins la personnalisation du circuit, de manière réversible ou irréversible suivant les technologies, à partir d’outils spécifiques (logiciels, programmateur). Ils constituent une solution adaptée aux développement de prototypes, aux petites et moyennes séries d'équipements. Ils ont pour avantage d’être disponibles avant la conception, et pour inconvénients des performances en densité d’intégration et en vitesse limitées par leurs architectures et leurs technologies, ainsi que des prix unitaires élevés pour des grandes séries d’équipement (surface de silicium importante par rapport à des circuits spécifiques).

- les circuits prédiffusés (« gate array »), où les premières étapes de fabrication sont réalisées, préalablement à la conception. L’utilisateur va personnaliser une matrice standard caractérisée par un nombre de transistors et de plots d’entrée/sortie limité, en concevant les masques finaux de fabrication (contacts, métallisations) de manière automatique à l’aide d’une bibliothèque de cellules. Les réseaux de transistors vont être ainsi programmés et interconnectés par les niveaux de métallisation. Les étapes finales de fabrication de la puce et son encapsulation seront ensuite réalisées par le fabricant, dans des délais réduits par rapport à un cycle de fabrication complet. La topologie de ces circuits (Figure 2.2) correspond à des bandes de cellules séparées par des canaux de routage figés, ou à des réseaux de transistors (« sea of gates ») qui permettent une meilleure densité d’intégration en optimisant les zones de routage des interconnexions à réaliser. Les limitations de cette approche sont liées au manque de flexibilité (par rapport à l’approche « spécifique » présentée ci-dessous) puisque la topologie (nombre de portes, plots) est figée. Les densités d’intégration obtenues sont - à technologie équivalente - meilleures que pour les circuits programmables.

2.2 Circuits spécifiques

On distinguera à ce niveau, deux sous catégories suivant la méthode de conception utilisée : - les circuits pré-caractérisés (standard cell ou cell based) lorsqu’une bibliothèque de

cellules est utilisée (c’est surtout le cas pour les circuits logiques). Une bibliothèque est constituée de cellules élémentaires plus ou moins complexes prédéfinis dans des bases de données informatiques (Figure 2.3). Les caractéristiques de ces cellules sont connues (pré-caractérisation par le fabricant à l’aide de simulations électriques). Cette notion de réutilisation du matériel se justifie d’une part en raison de la stabilité des procédés de fabrication et d’autre part par l’existence de moyens de CAO qui permettent une meilleure efficacité de la conception en automatisant certaines étapes (synthèse logique et topologique). La topologie de ces circuits (Figure 2.4) correspond à des bandes de cellules séparées par des canaux de routage de largeurs variables (en fonction des contraintes d’interconnexion du circuit).

Page 8: fpga

- 8 -

« Circuits et systèmes intégrés micro -électroniques: technologies, conception »

- les circuits sur mesure (« custom ou full custom ») lorsque toutes les étapes de conception

électriques et topologiques (layout) sont réalisées. Chaque élément actif du circuit est optimisé pour réaliser la meilleure performance fonctionnelle et électrique et réduire la surface du silicium. Ces circuits sont analogiques ou numériques.

2.3 Comparaisons

Comme l’illustre la Figure 2.5, les critères de choix entre ces solutions vont dépendre de paramètres techniques (vitesse, puissance,…) et économiques (surface, délais pour la conception et la fabrication, moyens et coûts de conception des prototypes, des pièces de série, volumes de pièces prévus sur la durée de vie du produit…). Le point d’équilibre entre tous ces paramètres pouvant évoluer dans le temps, le choix d’une solution pour intégrer un système peut varier pendant la durée de vie du produit. Par exemple, les prototypes puis les premières séries d’un système électronique numérique peuvent être réalisées avec des circuits programmables, puis par des circuits pré-caractérisés (ou sur mesure) pour une production à fort volume.

Quelque soit l’approche utilisée les circuits sont fabriqués par un nombre limité de fabricants de semiconducteurs (« fondeurs de silicium »), dans un contexte industriel où les investissements coûteux doivent être rentabilisés sur des périodes courtes (2-3 ans) compte tenu de l’évolution rapide des technologies CMOS (loi de Moore). En conséquence, l’accès à une fabrication spécifique ou semi-spécifique est aujourd’hui très coûteux et se limite à des marchés à fort volume (télécommunications, multimédia, ..etc). Pour les circuits semi-spécifiques, le marché des circuits pré-diffusés est en repli compte tenu des coûts et des performances offertes par les circuits programmables (capacités d’intégration de plus d’un million de portes logiques aujourd’hui). Pour les circuits spécifiques, l’intégration sur mesure ne se justifie plus économiquement compte tenu des délais de conception (à comparer aux cycles de fabrication de nouveaux produits qui sont de plus en plus court) à l’exception de certains cas ou on peut envisager la conception d’un bloc de circuit sur mesure pour des questions de performance (analogique par exemple).

La tendance actuelle est à la réutilisation de fonctions élémentaires (cellules pré-

caractérisées) ou complexes (processeur par exemple) pour réduire au maximum le cycle de conception. Compte tenu des capacités d’intégration actuelles on parlera de systèmes sur puces (ou systèmes sur silicium ou « Systems On Chip, S.O.C. »). Il faut donc entendre aujourd'hui par système tout ce que le concepteur souhaite mettre sur la puce et qui couvre de plus en plus de fonctions matérielles ou logicielles. Un système complexe sur une puce comprend en général un ensemble de macro-cellules "standards" (processeur, mémoire, périphériques,...), et des blocs spécifiques personnalisés par l'utilisateur. Ces principes seront détaillés dans le paragraphe 5.

Page 9: fpga

- 9 -

« Circuits et systèmes intégrés micro -électroniques: technologies, conception »

3) LES CIRCUITS PROGRAMMABLES

Ce sont des composants standards programmables électriquement une seule fois (fusibles), ou plusieurs fois (reconfigurables). 3.1 Principes

Les architectures de ces circuits offrent un ensemble de ressources logiques (portes, bascules, …etc.) qui peuvent être interconnectées de différentes façons : réalisation de fonctions booléennes sous forme d’une somme limitée de monômes (circuits PAL, PLD), ou d’un réseau de cellules (FPGA). Les technologies de fabrication sont nombreuses : fusibles en métal pour les premiers circuits programmables réalisés dans des technologies bipolaires, antifusibles (capacités), transistor MOS à grille flottante (EPLD), mémoire RAM statique (FPGA-SRAM) ou flash. On trouve ainsi 3 catégories : - les circuits élémentaires de type PLD (Programmable Logis Device), de faible complexité

et à architecture régulière (un plan « ET » pour construire les monômes, suivi par un plan « OU » pour réaliser les fonctions logiques (Figure 3.1).

- les circuits de type CPLD (« Complex Programmable Logic Device »), aujourd’hui

réalisés en technologies MOS, dont les architectures sont basées sur un assemblage de structures régulières de type PLD. C’est dans cette catégorie qu’on trouve notamment les EPLD (Erasable Programmable Logic Device), caractérisés par l’utilisation d’un procédé MOS particulier décrit dans la Figure 3.2 (transistor MOS à double grille, une des grilles « flottante » permettant de rendre le transistor passant ou bloqué lors de la programmation, l’effacement se faisant de manière électrique ou par l’utilisation d’un rayonnement ultraviolet pour décharger la grille flottante).

- les FPGA (« Field Programmable Gate Array »), dont l’architecture correspond à une

matrice de blocs logiques séparés par des réseaux d’interconnexion. On distinguera les FPGA non reprogrammables (technologies de type antifusible, offrant les meilleures performances en termes de densité d’intégration et de vitesse), et les FPGA reprogammables (technologies de type SRAM par exemple).

Les circuits FPGA-SRAM, introduits à la fin des années 80, offrent des spécificités

particulières (Figure 3.3) : le contenu des mémoires SRAM, est automatiquement téléchargé à la mise sous tension, à partir d’une mémoire externe. La reconfiguration peut se faire ainsi pendant son fonctionnement en utilisant plusieurs mémoires externes permettant d’adapter au mieux l’architecture du circuit. L’utilisation d’une technologie CMOS standard (pas d’étapes de fabrication supplémentaires spécifiques) permet d’optimiser les coûts de fabrication et de prendre en compte les évolutions rapides de ces procédés. L’architecture de ces circuits est présentée dans la Figure 3.4 : un plan de mémoire de configuration est associé à un plan de calcul constitué par des CLBs (Blocs Logiques Configurables). Le fonctionnement de ces circuits se fait à la mise sous tension en 2 phases : une phase de configuration suivie par un phase de fonctionnement (Figures 3.5 et 3.6). Chaque CLB est construit à partir d’un ou de plusieurs générateurs de fonction (LUT, pour « Look Up Table »). Un LUT correspond à un arbre de multiplexeurs connecté à des points mémoires S-RAM (Figure 3.7, où l’on notera que toute fonction logique peut être réalisée avec des multiplexeurs).

Page 10: fpga

- 10 -

« Circuits et systèmes intégrés micro -électroniques: technologies, conception »

3.2 Conception

L’utilisateur de circuits programmables s’équipe de moyens logiciels (CAO sur PC en général) pour la conception, et d’une platine de programmation (Figure 3.8). Les logiciels permettent de décrire l’architecture (schéma, ou synthèse à partir d’une description de type VHDL), de la simuler, de réaliser les étapes automatisées de placement et de routage, avant de passer à la programmation physique du composant, ou de la mémoire associée dans le cas des circuits FPGA-SRAM. 3.3 Applications

On s’intéressera dans cette partie aux circuits FPGA-SRAM, qui permettent

d’exploiter le concept innovant de logique reconfigurable. Cette démarche permet d’optimiser l’implémentation de certaines fonctions (comparateurs, additionneurs, multiplieurs, filtres numériques…etc.) dans certains cas particuliers, par exemple dans les cas où une partie des données manipulées dans une application sont des constantes.

A titre d’illustration, considérons la réalisation de fonction S= A>B, où A = (A7,

A6,…,A0) est une variable codée sur 8 bits, et B est une constante. L’équation du comparateur s’écrira en logique reconfigurable : SB= FB(A7, A6,…,A0) avec FB = A7@(A6@(A5@(A4@(A3@(A2 @(A1@(A0))))))) où @ désigne l’opérateur « ET » ou « OU ». Par exemple, si B = 129 = 10000001, alors S129 = A7.(A6+(A5+(A4+(A3+(A2+(A1))))))) Si B = 127, alors S127 = A7, ce qui signifie que la comparaison se fera sans ressource logique. Suivant la valeur de la constante, le comparateur qui sera téléchargé dans le circuit programmable, aura ainsi une complexité variable, ce qui globalement peut apporter des optimisations en surface significatives (c’est le cas par exemple pour des architectures de réseaux de neurones).

La Figure 3.9 compare la conception d’un filtre numérique dans un processeur et un circuit programmable, dont l’architecture exploitera le parallélisme pour optimiser la vitesse. Chaque calcul nécessitera par contre un cycle d’horloge pour un processeur de traitement numérique du signal (ou « DSP, pour digital signal processor »), ou plusieurs cycles s’il s’agit d’un micro-controleur. Compte tenu des performances actuelles des technologies CMOS, il est ainsi possible de réaliser des fonctions de traitement d’images « cablées » dans des FPGA-SRAM pour des applications vidéo en temps réel (25 images par seconde).

La figure 3.10, montre de manière plus générale l’utilisation d’un circuit

programmable, comme co-processeur reconfigurable d’un sys tème programmable.

3.4 Evolutions

Les circuits programmables de type FPGA permettent actuellement l'intégration de plus d’un million de portes logiques équivalentes sur le même circuit. Ces circuits qui suivent l'évolution technologique décrite plus haut, offrent maintenant la possibilité de réaliser des systèmes sur puce (Figure 3.11), en utilisant des « composants virtuels. Les blocs de propriété

Page 11: fpga

- 11 -

« Circuits et systèmes intégrés micro -électroniques: technologies, conception »

intellectuelle (IP) sont soit câblé sur le silicium, soit synthétisé » (à partir d’un modèle décrit en langage VHDL par exemple). L’utilisation de blocs de propriété intellectuelle IP, pour la conception de circuits programmables, sera dans l’avenir de plus en plus fréquente. La logique « câblée » sera conçue autour de cœurs de logique programmée (micro-contrôleurs par exemple) dans un même circuit programmable : des logiciels enfouis ou embarqués seront développés.

Les possibilités offertes par les circuits programmables (FPGA-SRAM) permettent par

ailleurs de mettre en œuvre pour certaines applications le concept de prototypage (ou maquette) pour la vérification fonctionnelle de systèmes sur puce, qui sera décrit par la suite au paragraphe 5.

4) METHODOLOGIES DE CONCEPTION

4.1 Spécification

La Figure 4.1 décrit le flot général de conception d’un circuit intégré. Un circuit, du plus simple au plus complexe, doit être réalisé conformément à son "cahier des charges" pour être utilisable : il s’agit de la phase la plus critique, car elle déterminera tous les modes de fonctionnement du circuit qui serviront en particulier à établir ultérieurement les protocoles de test en production du circuit. Il est indispensable de spécifier à ce niveau les contraintes techniques (performances électriques recherchées en vitesse et consommation, description du fonctionnement et identification de fonctions spécifiques éventuelles –notamment analogiques -, type de boîtier,...etc.) et économiques (délais de conception et de fabrication des prototypes, volume de pièces prévus, moyens humains et logiciels,…etc.). L’analyse de ce document, conduira à un choix de technologie, de fabricant, et de type de circuit. La spécification d’une partie ou d’un système se fait de plus en plus fréquemment au moyen de langages (C/C++, VHDL,..etc.) : cela permettra dans l’avenir de mettre en place des techniques de vérification (preuve formelle par exemple pour comparer divers niveaux d’abstraction.), de simulation et de synthèse avant de figer l’architecture finale du circuit.

4.2 Bibliothèque de cellules

Nous nous placerons dans le cas particulier des circuits numériques CMOS conçus à l’aide de bibliothèque de cellules, c’est à dire dans le cas des circuits pré-caractérisés, pré-diffusés, ou les circuits programmables complexes (ou la plupart des concepts développés dans cette partie s’applique à la conception de ces circuits). Une bibliothèque de cellules est en général constituée de cellules logiques élémentaires (à une même fonction logique de base peut correspondre plusieurs cellules, chacune offrant un compromis vitesse, surface, puissance, capacité d’entrée, différent), de cellules paramétrables (mémoire, fonctions arithmétiques,…etc.), plots, macro-cellules logicielles, ..etc. On peut compléter ces briques de base par des cellules spécifiques à une application, ou des cellules en provenance de fournisseurs spécialisés (composants virtuels).

La Figure 4.2, résume les étapes d’élaboration d’une bibliothèque de cellules par le

fondeur. La connaissance de ce processus de conception et de caractérisation électrique est indispensable pour comprendre les limitations de cette approche (Figure 4.3) : la précaractérisation des cellules doit prendre en compte les fluctuations statistiques du procédé de fabrication, les fluctuations des conditions d’utilisation du circuit en température et en

Page 12: fpga

- 12 -

« Circuits et systèmes intégrés micro -électroniques: technologies, conception »

tension d’alimentation, et pour l’évaluation des délai, les conditions de charge électriques appliquées sur les sorties des cellules. Compte tenu de ces éléments les modèles de délais des portes logiques seront spécifiés avec des intervalles (min, typ, max).

L’objectif final de la phase de conception, étant de prévoir une fabrication en série du

circuit, le concepteur débutant évitera les structures asynchrones de type ligne à retard, oscillateurs, bascules RS,..etc., dont les performances pourront varier de manière importante entre 2 lots de fabrication. L’utilisation de structures synchrones, permet de s’affranchir de ce type de problème. Parmi les règles élémentaires de conception d’un ASIC CMOS, on retiendra aussi les règles relatives au test, afin de pouvoir rapidement détecter et localiser les éventuels défaut de fabrication du circuit : initialisation par un signal, partitionnement, horloge de test,… etc. La prise en compte du test lors de la conception est un élément important d’un projet ASIC.

4.3 Flot de conception Le flot de conception peut être découpé en deux étapes : - L’étape « Front end » consiste à traduire la spécification en une description sous forme de

schéma logique (« netlist »), de manière manuelle, ou automatique pour les circuits complexes. La synthèse correspond à la génération, le traitement et l’optimisation de descriptions intermédiaires à différents niveaux d’abstraction. Le langage VHDL (comportemental et structurel), initialement développé pour la modélisation et la simulation, est également utilisé pour la description comportementale (parfois issu d'une description à un plus haut niveau d'abstraction en langage C), ou RTL (transfert de registres) d'une architecture logique pour la synthèse automatique [cao]. On distinguera 2 niveaux de synthèse :

- La description comportementale définit la fonction du circuit, sans définir les structures, ni les connexions entre les éléments. La synthèse architecturale va consister à définir l’allocation des ressources matérielles (multiplieurs, ALUs, registres,…etc.) nécessaire à l’implantation des opérations, et l’ordonnancement des opérations). L’objectif est de minimiser une fonction de coût en surface (nombre d’unités fonctionnelles, nombre de registres, nombre de connexions, ...etc.) et en temps (nombre de pas de contrôle). - La description de l’architecture du circuit sous forme de blocs logiques. La synthèse logique permet d’optimiser les équations logiques, puis de faire une assignation technologique (« technology mapping ») vers une cible (la bibliothèque de cellules sélectionnées). L’objectif à ce niveau est de minimiser une fonction de coût (surface, vitesse, puissance) calculée à partir de la pré-caractérisation des cellules. - L’étape « Back end » consiste à transformer le schéma logique en un plan de masse (« floorplanning », Figure 4.4) ou chaque cellule et placée et interconnectée conformément au schéma logique. On parle à ce niveau de synthèse physique. La figure 4.5 décrit les étapes de placement-routage de cellules (qui sont indissociables : un mauvais placement de cellules conduira à des interconnexions non optimisées, quelque soit l’algorithme de routage utilisé) des cellules précaractérisés. Plusieurs techniques de placement de cellules existent. L’objectif est de hiérarchiser ce problème en rassemblant les cellules fortement interconnectées dans des partitions (les cellules de base d’une bibliothèque ont par construction une hauteur identique et peuvent être déplacées). Les interconnexions se font ensuite avec les niveaux de

Page 13: fpga

- 13 -

« Circuits et systèmes intégrés micro -électroniques: technologies, conception »

métallisation. La figures 4.6, illustre le principe d’un algorithme de routage de canal. Dans la pratique, les phases de placement/routage sont en général entièrement automatisées. A chacun de ces niveaux, le circuit doit être vérifié en termes de fonctionnalité et de performances électriques. Parmi les nombreuses techniques de vérification, nous nous focaliserons sur la simulation. Nous verrons par la suite que pour les systèmes complexes sur puce, d’autres techniques de vérifications sont nécessaires (ana lyse temporelle, accélérateur de simulation, émulateurs, plateformes de prototypage rapide) pour diminuer le temps de conception.

La figure 4.7, illustre le principe de la simulation, et compare les différents niveaux. La simulation logico-temporelle servira de référence pour évaluer les performances du circuit (est il conforme à la spécification initiale ?). Pour améliorer la précision, une simulation finale (« post layout ») est effectuée après la synthèse physique, afin de prendre en compte les divers parasites R,C liés aux interconnexions, qui affectent les délais (Figure 4.8). Le principe de la simulation logico-temporelle consiste à gérer des événements en les propageant des entrées vers les sorties du circuit considéré (un événement correspond à un changement d’état d’un nœud du circuit et est défini par une date, un lieu et un type de transition). Les calculs prennent en compte les modèles de délais issus de la pré-caractérisation des cellules.

Le dossier de fabrication d’un ASIC sera composé des éléments suivants : fichier

contenant la description du dessin des masques, fichier contenant les stimuli (ou vecteurs de test), schéma d’encapsulation dans le boîtier sélectionné, spécifications électriques,…etc. La responsabilité du fondeur, consistera à fabriquer un lot de prototypes dont le fonctionnement sera conforme aux simulations « post layout » validées par le concepteur (fichier de test).

Le test électrique du circuit s’effectue lors de sa fabrication (test sous pointes des plaquettes de silicium), et après son encapsulation. Les tests pratiqués sont des tests fonctionnels, paramétriques (tensions, courants,..) et dynamique (vitesse). Ils ont pour objectif d’éliminer les circuits défectueux en détectant et en localisant les éventuels défauts de fabrication à partir des séquences de test prédéfinies. Le problème du test doit être considéré lors de la conception afin de détecter le plus grand nombre de défauts potentiel dans un temps de test minimum (pour optimiser le coût du circuit). Il peut même être partiellement ou totalement assumé par des modules intégrés dans le circuit (concept de test intégré, « Bist »).

4.4 Perspectives

L’évolution des technologies CMOS sub-microniques a pour conséquence :

- une diminution des longueurs de grille des transistors, ce qui conduit à une réduction relative des délais des portes logiques,

- une augmentation du nombre et de la longueur des lignes d’interconnections, et une réduction de leurs dimensions, ce qui conduit à une augmentation relative du délai des lignes.

Les recherches sur l’évolution des méthodes et des outils de conception se font

actuellement sur deux niveaux : - au niveau physique, où se pose des problèmes de modélisation de circuits

fonctionnant à des fréquences de plus en plus élevées et où on cherche à minimiser la puissance dissipée : l’utilisation de technologies CMOS sub-microniques, pour la conception

Page 14: fpga

- 14 -

« Circuits et systèmes intégrés micro -électroniques: technologies, conception »

de systèmes complexes, conduit ainsi à prendre en compte les effets physiques liés aux effets physiques concernant les portes logiques et les interconnections mentionnés ci dessus. Ces effets ont un impact sur la modélisation temporelle des portes logiques et des interconnexions, sur l’extraction des parasites (R,C, L) des interconnexions, ainsi que sur les techniques de placement et de routage des cellules : les étapes de synthèse logique ne peuvent plus être à ce niveau découplées des étapes de synthèse physique.

- au niveau des système mixtes matériels/logiciels, où se pose des problèmes de méthodologies et d’outils de conception (ré-utilisation de composants virtuels, vérification, émulation,…etc.), l’objectif étant de concevoir des systèmes sur puce de complexité croissante dans des temps de conception réduits, compte tenu de la réduction des cycles de fabrication des produits électroniques actuels.

5) SYSTEMES SUR PUCES (SOC)

5.1 Principes

L'évolution très rapide des technologies de fabrication de circuits intégrés sur silicium permet déjà de réaliser des systèmes numériques complets intégrés sur une même puce: les SOC (pour System On Chip). Les prévisions d'évolution des technologies faites par la SIA montrent que le nombre de transistors par circuit va être multiplié par un facteur 50 dans les 10 prochaines années (Figure 5.1). En 1998, un microprocesseur était composé d'environ 10 millions de transistors. En 2008, un circuit de référence équivalent pourra être composé de près de 500 millions de transistors. Devant ces possibilités, les techniques de conception des systèmes électroniques vont évoluer très rapidement vers l'intégration de systèmes de plus en plus complexes avec des durées d'obsolescence de plus en plus courtes. Des blocs fonctionnels déjà validés (y compris sur Silicium) appelés généralement IP (pour Intellectual Property) seront de plus en plus utilisés (Figure 5.2). De ce fait, les outils classiques de Conception Assistée par Ordinateur (CAO) dans les domaines de la microélectronique devront évoluer en prenant de plus en plus en compte l'aspect système et le recours au prototypage à des fins de validation. Les classiques bibliothèques utilisées pour la conception des Circuits Intégrés pour Applications Spécifiques (ASICs) seront complétées, voire remplacées, par des bases de données de composants virtuels dont la fonctionnalité pourra correspondre à un processeur ou même à un ordinateur complet avec sa mémoire et ses entrées/sorties. La Figure 5.3 décrit les analogies entre un « système sur carte » traditionnel et un système sur puce.

La ré-utilisation et l'assemblage de briques "virtuelles" protégées par des règles de propriétés intellectuelles (IP, « Intellectual property ») permet ainsi d'accélérer la conception des systèmes sur puce. Un bloc de propriété intellectuelle sera défini comme un composant virtuel ré-utilisable, testable, commercialisable et auquel est associé une notion de service (support, maintenance,.. etc.). Des sociétés spécialisées commercialisent des blocs IPs sous diverses formes : - composant « hard » avec un dessin de masques ciblé pour une technologie, - composant « soft » avec par exemple un modèle VHDL qui permet de synthétiser le

circuit à l’aide d’une bibliothèque de cellules précaractérisées).

Page 15: fpga

- 15 -

« Circuits et systèmes intégrés micro -électroniques: technologies, conception »

La conception de SOC réutilise : à partir d'un cœur (ou de plusieurs), les concepteurs adaptent le système à l'application visée. Des environnements de CAO permettent de vérifier la fonctionnalité du système à ce niveau d'abstraction par des simulations de type flot de données [cao] ces outils sont basés sur des Modèles Virtuels (codés en C). Ils permettent également d'assembler et de co-simuler des Modèles Virtuels décrits dans différents langages à des niveaux d'abstraction différents (Figure 5.4). Des modèles algorithmiques de processeurs sont disponibles et permettent des simulations (notamment par l’intermédiaire d’ISS, « ISS, Instructions Set Simulators »).

5.2 Vérification

A des fins de vérification à chaque étape de la conception et/ou d'exploration de l'espace des solutions, les concepteurs souhaitent disposer de résultats de simulation les plus précis possibles mais dans un temps réduit. De plus, la fonction qu'ils développent est généralement enfouie dans un système. Les modèles Virtuels VHDL conduisent à des temps de simulation prohibitifs (de plusieurs semaines ou plusieurs mois) pour de longues séquences de données, ce qui est le cas pour la vérification de systèmes de traitement du signal et des images. Ces temps de validation sont incompatibles avec les temps de cycle industriels actuels. Des solutions utilisant des accélérateurs matériels de simulation ou des techniques de co-simulation peuvent être utilisées pour réduire ces temps. Depuis quelques années, afin de répondre à ces demandes d'outils efficaces et rapides de vérification, des plateformes de prototypage rapide de matériel, basées sur des circuits programmables, ont été également développées [prototypage].

On distingue plusieurs techniques de vérification, comme l’illustre les Figures 5.5, 5.6 et 5.7) :

- Simulation : évaluation de la conception du circuit par un ensemble de stimuli pour

vérifier les aspect fonctionnels et temporels de celui-ci. Les accélérateurs de simulation (réseaux de processeurs identiques où l’on transpose de manière transparente pour l’utilisateur l’architecture à évaluer), permettent de réaliser une simulation « câblée » rapide.

- Emulation : les machines d’émulation (réseaux de circuits programmables identiques de

type FPGA-SRAM ou processeurs) permettant d’estimer rapidement les performances fonctionnelles d’une architecture) : ces machines permettent de prototyper des systèmes de plusieurs dizaines de millions de portes logiques à partir de compilations de descriptions VHDL propres à l'utilisateur. Compte tenu des limitations de performances des circuits FPGA et des retards dans les interconnexions des fonctions, l'émulation du futur système sur silicium peut être réalisée à une fréquence d'horloge relativement lente (de l’ordre de quelques MHz).

- Prototypage rapide : utilisation de circuits programmables FPGAs et de cœurs de circuits

(DSP, microcontrôleurs, etc ..) pour valider fonctionnellement (et temporellement) une architecture donnée dans son véritable environnement (maquette). Les nouvelles générations de machines (ou cartes) de prototypage permettent d’évaluer un système sur puce de manière statique et dynamique (quelques dizaines de MHz), à partir de modèles virtuels (ici placement/routage sur les FPGA) disponibles auprès de fournisseur de IPs, ou de modèles réels [composants virtuels], lorsque les composants utilisés sont disponibles. Le système de prototypage permet de programmer l'interconnexion de divers blocs

Page 16: fpga

- 16 -

« Circuits et systèmes intégrés micro -électroniques: technologies, conception »

(processeurs, RAM, FPGA configurables à partir de IPs ou de descriptions VHDL de l'utilisateur, de coeurs IPs (enfichables sur la carte prototype), de modules de communication, …etc. Les outils classiques de développement associés au processeur considéré permettent de développer le logiciel d'application. Les outils de synthèse et de placement/routage permettent de configurer des fonctions logiques dans les FPGA. Un logiciel d’exploitation permet de programmer l'interconnexion des différents modules et de visualiser les résultats en cours de fonctionnement. Ce type d'équipement est très bien adapté au prototypage de systèmes qui intègrent des blocs IPs disponibles sous forme de modules matériels. Ces plateformes permettent par ailleurs un développement conjoint du logiciel embarqué et du matériel, ce qui conduit à réduire le temps de conception.

- Les cartes spécifiques, que chacun peut développer, mais qui sont par construction figées

pour un type d’application donné. Notons, les cartes de prototypage de faible coût, vendues par les fournisseurs de circuits programmables (FPGA, processeurs) ou de composants virtuels (processeur Arm par exemple) : ces environnements permettant de développer des systèmes utilisant ces composants.

Ces approches sont comparées dans les Figures 5.6 et 5.7. L'intérêt supplémentaire

des machines de prototypage réside dans la possibilité de connexion physique du prototype au système englobant. Leur prix est toutefois un frein à leur dissémination. De plus, compte tenu de l’évolution rapide des technologies d’intégration de leurs composants, la durée de vie de ces machines est très courte. La figure 5.8 montre l’utilisation des techniques de prototypage de fonctions matérielles et logicielles dans un flot de conception de système sur puce. On notera la gestion parallèle de la conception des parties logicielles et matérielles. La maquette de prototypage permettra de vérifier le fonctionnement global du système en faisant exécuter par exemple le logiciel compilé dans un ou plusieurs processeurs, et la partie matérielle dans des circuits programmables FPGA. 6) CONCLUSION L’évolution des techniques de conception et de fabrication des circuits intégrés permet aujourd’hui de réaliser des systèmes intégrés de gr ande complexité. Diverses alternatives d’architectures basés sur des compromis entre logique « cablée » et logique « programmée » permettent de trouver un équilibre entre les contraintes d’efficacité et de flexibilité : pour une même architecture, c’est le logiciel embarqué (ou enfoui, ou « embedded ») qui permet et (permettra de plus en plus) de personnaliser et d’adapter le circuit à une application. Le concepteur d'ASICs a "manipulé" des transistors et des bibliothèques de cellules pendant les années 80, des blocs fonctionnels pendant les années 90 ; il assemble déjà, et il assemblera de plus en plus des composants virtuels complexes (qu’il configurera par programmation) pendant la prochaine décennie (Figure 6.1). Deux techniques de réalisation des systèmes électroniques se dégagent aujourd’hui (Figure 6.2) : - matériel standard : réalisations basées sur des composants programmables au niveau

matériel (FPGA) ou logiciel (processeurs). Cette technique souple est adaptée à la fabrication de prototypes ou de petites/moyennes séries, et est accessible à un grand nombre d’utilisateurs. Un circuit FPGA permet aujourd’hui d’intégrer plusieurs centaines de milliers de portes logiques, en intégrant pour certains des coeurs de processeurs (cablés ou synthétisés), que l’utilisateur peut configurer.

Page 17: fpga

- 17 -

« Circuits et systèmes intégrés micro -électroniques: technologies, conception »

- matériel spécifique : réalisations basées sur la conception de systèmes sur puce (SOC)

spécifiques, en utilisant des composants virtuels (IP). Cette technique permet d’obtenir les meilleures performances techniques (vitesse, puissance, surface), mais compte tenu des coûts (moyens humains, logiciels, coûts des prototypes,..etc) elle est réservée à des fabrications en grandes séries.

La figure 6.3 résume l’architecture d’un circuit intégré spécifique dans les prochaines

années : - matériel reconfigurable, avec des blocs FPGA, et des interconnexions reconfigurables, - architectures composées de multiprocesseurs hétérogènes (micro-controleurs, processeurs

de traitement numérique du signal,...etc.) et de blocs IPs divers, - logiciel embarqué - etc.

Ces circuits devront fonctionner dans des environnements de communications complexes en s’adaptant rapidement à tout type de standard. Ils seront développés avec des logiciels de CAO de systèmes sur puce, couplés à des plateformes de prototypage rapide reconfigurables (« Platform based design »), et permettant de ré-utiliser et d’interconnecter dans les meilleures conditions les composants virtuels (ou « IP ») disponibles.

REFERENCES CAO [1] : http://www.cadence.com [2] : http://www.synopsys.com [3] : http://www.mentor.com [4] : http://www.coware.com Prototypage, Emulation [1] : http://www.quickturn.com [2] : http://www.aptix.com [3] “Reuse methodology manual for system on chip designs”, M. Keating, P. Bricaud, Kluwer [4] « Surviving the SOC revolution, a guide to platform based design », Chang & all, Kluwer Circuits programmables [1] http://www.xilinx.com [2] http://www.altera.com Composants virtuels [1] : http://www.arm.com [2] : http://www.mips.com [3] : http://www.dolphin.fr [4] : http://www.design-reuse.com Fabricants de semiconducteurs [1] : http://www.sitelesc.com [2] : http://www.st.com SIA « roadmap » [1] : http://www.semichips.com http://www.itrs.net/ntrs/publntrs.nsf Formation en microélectronqiue [1] : http://www.cnfm.fr Remerciements : l’auteur tient à remercier P. Hesto, Professeur à l’université d’Orsay, pour son aide dans la rédaction de la partie relative aux procédés de fabrication des circuits intégrés, ainsi que ses collègues de l’Université Montpellier 2 (ISIM) G. Cambon et L. Torres.

Page 18: fpga

- 18 -

« Circuits et systèmes intégrés micro -électroniques: technologies, conception »

ANNEXE 1

Technologie CMOS

La figure A1, montre plusieurs vues du transistor MOS (Métal Oxyde Semi-conducteur) : une vue dans l’espace (a), une vue en coupe (b) et une vue de dessus (c). Les concepteurs utilisent la vue de dessus pour dessiner les masques technologiques de fabrication. On distingue 2 paramètres géométriques du transistor : sa largeur W et sa longueur L. La grille était autrefois réalisée en métal (d’où le nom MOS). Elle est actuellement en polysilicium (silicium polycristallin fortement dopé).

La conductance entre les zones de drain et de source est modulée par la tension appliquée sur la grille, laquelle engendre un champ électrique qui module la quantité de porteurs dans le canal (effet de champ). Les circuits logiques MOS ont une longueur de grille minimum pour réduire le temps de transit des porteurs dans le canal, c’est à dire augmenter la vitesse. Une modification de la largeur W du transistor aura pour conséquence de modifier le courant et la capacité de grille du transistor.

La figure A.2 résume de manière simplifiée le comportement électrique du transistor NMOS (les porteurs dans le canal sont les électrons). Suivant les tensions appliquées on distingue 3 régimes : bloqué, linéaire ou saturé.

La figure A3 donne la caractéristique statique de l’inverseur CMOS. Les 2 zones d’utilisation pour les circuits logiques sont la A (niveau haut, Vdd, en sortie : le transistor P charge les capacités sur le nœud de sortie) et la B (niveau Bas, O Volt, en sortie, le transistor N décharge les capacités sur le nœud de sortie). A l’état haut ou à l’état bas un des deux transistors est bloqué : ce n’est qu’à la commutation que les deux transistors conduisent, ce qui a pour conséquence une puissance dynamique dissipée proportionelle à la fréquence de fonctionnement.

La figure A4, donne les schémas logiques et électriques des portes “inverseur”, “Nand2”, “Nor2“ ainsi que le schéma d’un point mémoire (2 inverseurs rebouclés commandés par 2 transistors fonctionnant en mode opposé pour écrire et pour lire).

Les figures A.5 et A.6 donnent les représentations logiques, électriques et topologiques (“layout”) d’un inverseur et d’une porte “Nor2”.

Page 19: fpga

- 19 -

« Circuits et systèmes intégrés micro -électroniques: technologies, conception »

LEGENDE DES FIGURES (le titre est indiqué dans chaque figure)

- Figure 1.1 : Les masques technologiques utilisés lors de la fabrication du circuit, sont dessinés par le concepteur du circuit à l’aide de logiciels de CAO. - Figure 1.2 : Le concepteur du circuit a pour objectif de dessiner les masques technologiques conformément à la spécification initiale en respectant des règles électriques et topologiques. Le fabricant de circuit va fabriquer les puces, les tester et les encapsuler dans des boîtiers. Le coût du circuit dépendra de la surface de silicium occupée. - Figure 1.3 : De la spécification au dessin des masques, le concepteur va réaliser l’architecture, puis les descriptions logiques, électriques et topologiques du circuit. - Figure 1.4 : Autour d’un environnement logiciel commun, les outils de CAO peuvent être répartis dans une catégorie « Front end » (étapes de passage d’une spécification à une description structurelle) et dans une catégorie « back end » (étapes physiques :plan de masse, placement, routage..etc). - Figure 2.1 : pas de légende - Figure 2.2 : pas de légende - Figure 2.3 : une bibliothèque est constituée de cellules et de plots placés à la périphérie du circuit (pour assurer la liaison entre la puce et le boîtier). Les cellules ont des longueurs variables et une largeur fixe. Des peignes d’alimentation réguliers (réalisés à l’aide des niveaux de métallisation) permettent d’assurer la polarisation des cellules. Les bandes de cellules sont plus ou moins espacées en fonction de la densité des interconnexions à réaliser. - Figure 2.4 : On distingue les zones principales suivantes : macrocellules complexes (topologie : rectangles), cellules élémentaires (topologie en bandes), zones d’interconnexion (canaux de routage) et plots. - Figure 2.5 : pas de légende - Figure 3.1 : un rond entre une ligne et une colonne signifie qu’il y a liaison électrique. - Figure 3.2 : la légende est marquée dans la figure - Figure 3.3 : l’utilisation de plusieurs mémoires EPROM permet de reconfigurer de diverses manières le circuit lors de son fonctionnement. - Figure 3.4 : la légende est marquée dans la figure - Figure 3.5 : pas de légende - Figure 3.6 : lors de la phase de configuration, toutes les cellules mémoires du FPGA sont adressées via l’entrée de configuration. En mode normal, le circuit fonctionne au travers de ses plots d’entrées et de sorties. -Figure 3.7 : La programmation du contenu de la mémoire SRAM, et des entrées du réseau de multiplexeurs, permet de configurer la LUT à 3 entrées (A,B,C). On peut réaliser un

Page 20: fpga

- 20 -

« Circuits et systèmes intégrés micro -électroniques: technologies, conception »

multiplexeur 2 :1 avec 2 transistors fonctionnant en mode interrupteur : en programmant les valeurs des 2 entrées et de la commande de multiplexage, on réalise ainsi des fonctions logiques (par exemple S=X.Y ou S=X+Y). - Figure 3.8 : Les outils de CAO « standard » permettent de réaliser la conception pour tout type de circuit programmable - Figure 3.9a : pas de légende - Figure 3.9b : le circuit programmable FPGA permet d’exploiter le parallélisme, alors que le processeur (DSP ou micro-contrôleur) exécutera les instructions de manière séquentielle. - Figure 3.10 : la reconfiguration partielle a pour objectif de modifier une partie du circuit programmable sans interrompre son fonctionnement (reconfiguration dynamique) - Figure 3.11 : pas de légende - Figure 4.1 : pas de légende - Figure 4.2 : pas de légende - Figure 4.3 : pas de légende - Figure 4.4 : pas de légende - Figure 4.5 : pas de légende - Figure 4.6 : le canal de routage (a) doit contenir l’ensemble des connexions reliant les broches ayant un numéro identique. Il y a dans cet exemple 9 connexions à assurer (b), soit 9 pistes de métal horizontales. En réarrangeant ces connexions on peut optimiser le nombre de pistes (c), ce qui permet de minimiser la surface du canal de routage. - Figure 4.7 : pas de légende - Figure 4.8 : pas de légende - Figure 5.1 : on devrait atteindre 1 milliard de transistors sur une puce en 2010 ! - Figure 5.2 : Ré-utilisation et assemblage de briques « IP » ou composants virtuels au niveau fonctionnel ou physique (« layout ») fournis par des société spécialisées et protégées par des règles de propriétés intellectuelles. - Figure 5.3 : pas de légende - Figure 5.4 : la légende est marquée dans la figure - Figure 5.5 : pas de légende - Figure 5.6 : pas de légende - Figure 5.7 : pas de légende - Figure 5.8a : pas de légende - Figure 5.8b : le concepteur élabore un prototype virtuel en construisant à partir de blocs IPs, et de bibliothèques logicielles un modèle fonctionnel du système. La co-vérification consiste à comparer un modèle fonctionnel avec un modèle cablé sur une plateforme de prototypage. - Figure 6.1, 6.2, 6.3 : pas de légende

Page 21: fpga

- 21 -

« Circuits et systèmes intégrés micro -électroniques: technologies, conception »

Figure 1.1a : Etapes de fabrication d’un inverseur CMOS

Substrat n

Masque de puits

Masque de zone active

Masque de polysilicium

Substrat n

Substrat n

Puits p

Figure 1.1b : Etapes de fabrication d’un inverseur CMOS

Masque de diffusion p

Masque de diffusion n

Masque de contact

Substrat n

Substrat n

Substrat n

Masque de métal

Substrat n

Page 22: fpga

- 22 -

« Circuits et systèmes intégrés micro -électroniques: technologies, conception »

Fondeur

ASIC

Spécifications

FF / mm2

Règles

Dessin des masques“Layout”

Masques de fabrication

Figure 1.2 : Conception et fabrication de circuits intégrés

CONCEPTION

FABRICATION

Puce

Encapsulation

Test

Figure 1.3 : Conception d ’un circuit intégré spécifique : étapes

NiveauCIRCUIT

architecture

Niveaustructure

NiveauPhysique

NiveauSystème

NiveauLogique

?« Co-design »Matériel/Logiciel

Synthèsearchitecturale

Synthèsephysique

APPLICATION

SPECIFICATIONSP

RO

CE

SS

EU

R

MEM

ASICMEM

ASIC

FABRICATION

Synthèselogique

Page 23: fpga

- 23 -

« Circuits et systèmes intégrés micro -électroniques: technologies, conception »

Figure 1.4 : Outils de CAO

CODAGEEditeurs de shémas....

SYNTHESE LOGIQUE

SIMULATION

TESTsimulation de fautestestabilité

PLAN DE MASSEPLACEMENTROUTAGE

EDITEUR GRAPHIQUE(LAYOUT)

EXTRACTIONSVERIFICATIONS

ENVIRONNEMENT(“framework”)

“FRONT END” “BACK END”

EMULATION AUTRES OUTILS

AUTRESENVIRONNEMENTS

VERIFICATION

AUTRES OUTILS

Bibliothèque de cellules, IPs

? CIRCUITS STANDARDS

? ASIC SEMI-SPECIFIQUES- CIRCUITS PROGRAMMABLES (CPLD, EPLD, FPGA,...)

- MATRICES PREDIFFUSEES (“Gate array”,”sea of gates”)

? ASIC SPECIFIQUES

- CIRCUITS SUR MESURE (“full custom”)

- CIRCUITS PRE-CARACTERISES (“cell based”,”standard cell”)

- SYSTEMES SUR PUCE, (SOC, “System on a chip”) construits par assemblage de composants « virtuels » (IP)

? CIRCUITS STANDARDS

? ASIC SEMI-SPECIFIQUES

- CIRCUITS PROGRAMMABLES (CPLD, EPLD, FPGA,...)

- MATRICES PREDIFFUSEES (“Gate array”,”sea of gates”)

? ASIC SPECIFIQUES- CIRCUITS SUR MESURE (“full custom”)

- CIRCUITS PRE-CARACTERISES (“cell based”,”standard cell”)

- SYSTEMES SUR PUCE, (SOC, “System on a chip”) construits par assemblage de composants « virtuels » (IP)

Figure 2.1 : classification

? Circuits hybrides, MCM (Multi Chip Module)

? Micro-sytèmes (capteur, traitement, actionneur)

Page 24: fpga

- 24 -

« Circuits et systèmes intégrés micro -électroniques: technologies, conception »

Figure 2.2 : Topologie d’un circuit prédiffusé

Plots

colonnes

rangées

étage

canal de routage

métal 1métal 2

(a) Avant conception

(b) Aprés conception

Bibliothèque :

DFF

NAND 3

INV

XXX

. . . . . . . . . . . . .

CELLULES PLOTS

Vcc

E

S

E/S

CANAUX DE ROUTAGEDE LARGEUR VARIABLE

Description du circuitFigure 2.3 : circuit précaractérisé

CAO+

LIBRAIRIE

VccVss

Alimentation électrique des cellules

Page 25: fpga

- 25 -

« Circuits et systèmes intégrés micro -électroniques: technologies, conception »

Figure 2.4 : Topologie d’un circuit précaractérisé

CELLULES PRE-CARACTERISEES :- rectangulaires de hauteur fixe- connexions sur deux côtés ou dessus

BLOCS COMPLEXES :- forme variable (rectangles,..)- connexions sur 4 côtés ou dessus

Cellules

canaux de routage

TOPOLOGIE EN BANDES

Plots Cellulesélémentaires

macrocellules

1 102 105 107

10

100

Volume de production

Coût

uni

tair

e d’

un s

ystè

me

110310 104 106

Composants standards

Circuits programmables

Prédiffusés

Pre-caractérisés

Circuits sur mesure

Figure 2.5 : Comparaison des ASICs

Circuits ProgrammablesCircuits PrédiffusésCircuits Pre-caractérisésCircuits sur mesure

Temps de conception

Complexité et niveau

d’intégration

Page 26: fpga

- 26 -

« Circuits et systèmes intégrés micro -électroniques: technologies, conception »

Figure 3.1 : Principe de Figure 3.1 : Principe de l’architecture d’un l’architecture d’un circuit PLDcircuit PLD

ABCF2F1F0

F ABC

F ABC A B

F ABC BC AC

0

1

2

?

? ?

? ? ?

ABC

AB

BC

AC

grille

Grille flottante

source drain

transistor à grille flottante

L ’application d ’un potentiel sur la grille supérieure provoque le passage d ’une partie des électrons du canal à travers la mince couche d ’oxyde, ce qui charge la grille flottante. Lors de la lecture, une tension appliquée sur la grille supérieure est complètement masquée par la charge négative emmagasinée sur la grille flottante. Cela équivaut à un transistor toujours bloqué.

- même technologie que celle des mémoires EPROM - transistor à double grille- reprogrammable (effacement par UV ou électriquement)

Bit Word line

Figure 3.2 : Principe de la technologie EPLD

Page 27: fpga

- 27 -

« Circuits et systèmes intégrés micro -électroniques: technologies, conception »

Figure 3.3 : Principe Figure 3.3 : Principe des des circuits FPGAcircuits FPGA--SRAMSRAM

• Technologie CMOS standard • Portes de transmission ou multiplexeurs commandés par des

cellules SRAM• Les mémoires SRAM permettent de configurer les

interconnexions et de programmer les cellules• le FPGA doit être configuré à chaque mise sous tension à partir

d’une mémoire externe (EPROM)

EPROM

FPGA-SRAM

FPGA

EPROM1

FPGA

EPROM2

EPROM3

FPGA

Figure 3.4 : Principe de Figure 3.4 : Principe de l’architecture d’un l’architecture d’un circuit FPGAcircuit FPGA--SRAMSRAM

SQD

R

LUT

CLB = BLOC LOGIQUE CONFIGURABLE (“ Configurable Logic Block”), construit à partir d’un générateur de fonctions « LUT : Look Up Table »). Réalisation de blocs combinatoires ou séquentiels

CLB

Page 28: fpga

- 28 -

« Circuits et systèmes intégrés micro -électroniques: technologies, conception »

Figure 3.5 : Architecture d’un circuit FPGA-SRAM

Cellule Logique

CLB

Cellule d’interconnexion

globale

Celluled’interconnexion

locale

CelluleMémoireSRAM

CONF

? (b) Phase de configuration ? (c) Phase d’opération

E

S

Figure 3.6 : Fonctionnement d’un FPGA-SRAM

Entrée « CONF » active : chargementdes SRAM (en chaîne)

Entrée «CONF » désactivéefonctionnement normal du circuit configuré

CONF

Vcc

Gnd

? (a) Mise sous tensionVcc

Gnd

Page 29: fpga

- 29 -

« Circuits et systèmes intégrés micro -électroniques: technologies, conception »

Figure 3.7 : Figure 3.7 : Réalisation de fonctions logiques avec des multiplexeursRéalisation de fonctions logiques avec des multiplexeurs

A

B

S

C

AS

B

C

!C

LUT 3A B C Z0 0 0 10 0 1 00 1 0 10 1 1 11 0 0 11 0 1 11 1 0 11 1 1 0

« Look Up Table »

CB

A

Z

1011

1110

Si C=0, alors S=ASi C=1, alors S=B

Transistor NMOS = commutateur

DrainSource

Grille

G = 1

G = 0

Exemples:S=X.Y si C= X, A =0, B = YS=X+Y si C= !X, A =1, B = X

Figure 3.8 : Figure 3.8 : Méthodologie dMéthodologie d ’un conception d’un conception d ’un circuit programmable’un circuit programmable

“compilateur”synthése ...... mapping

SPECIFICATIONcircuit

Placement - Routage

EDITEUR DE SCHEMA ouDESCRIPTION (machines d’état,équations booléennes,..)LIBRAIRIE

DE CELLULES

- spécification- schémas symboles- modèles simulation

simulation

simulationpost-layout

PROGRAMMATION(fichier ----> programmateur)

Vérifications

TEST

(synthése logique,...etc.)

VHDL

CAO SPECIFIQUE FPGA

CAO “STANDARD”

Page 30: fpga

- 30 -

« Circuits et systèmes intégrés micro -électroniques: technologies, conception »

Figure 3.9a : Figure 3.9a : Architecture dArchitecture d ’un filtre numérique FIR’un filtre numérique FIR

?Equation aux différences :

)()(1

0

inxanyNi

ii ?? ?

??

?

?Fonction de transfert en Z :

iNi

ii Za

ZXZY

ZF ???

????

1

1)()(

)(

?Architecture :

Figure 3.9b : Figure 3.9b : Architectures d’un filtre FIRArchitectures d’un filtre FIR

Mult. • • •Mult. Mult. Mult.Mult.Mult.

1 2 3 4 N

DSP FPGA

AddAdd

1

? Traitement parallèle? Architecture reconfigurable

? Traitement séquentiel? Architecture figée

Page 31: fpga

- 31 -

« Circuits et systèmes intégrés micro -électroniques: technologies, conception »

Figure 3.10 : Figure 3.10 : Coprocesseur programmableCoprocesseur programmable

CPU

FPGAFPGARPU (*)RPU (*)

E/S

E/SMémoire

Accés rapide aux registres internes Interface avec le micropocesseur

prévu

Reconfiguration partielle ou complète rapide (*) Reconfigurable Processing Unit

Figure 3.11 : Evolution des circuits programmables

µC

Bloc FPGA

Circuit programmable complexe

Page 32: fpga

- 32 -

« Circuits et systèmes intégrés micro -électroniques: technologies, conception »

Figure 4.1 : Flot de conception

Simulation

ComparaisonModification

Simulation post-layout

Vérification

Niveau comportementalNiveau comportemental

Niveau systèmeNiveau système

Synthèse architecturale

TestNiveau logiqueNiveau logique

Niveau physiqueNiveau physique

Synthèse Logique

Synthèse physique

Niveau RTLNiveau RTL

Codesign

layout TEST

SPECIFICATIONS

Figure 4.2 : Bibliothèques de cellules

TECHNOLOGIE

- MODELES ELECTRIQUES (SPICE)- REGLES DE DESSIN

CONCEPTION CELLULE

DESCRIPTION-SIMULATION:- ARCHITECTURE,- LOGIQUE- ELECTRIQUEDESSIN DES MASQUES

CARACTERISATION :SIMULATIONS SPICE (min,typ,max)

SPECIFICATION

LOGICIELS DE CAO......

ASIC

FABRICATION

FONDEUR

CONCEPTEUR SYSTEME

DOCUMENTATION

MODELES DESIMULATION

LAYOUT OUENVELOPPEPOUR PLACEMENT& ROUTAGE

SYMBOLE POUREDITEUR DE SCHEMA

“Design Kit”

Page 33: fpga

- 33 -

« Circuits et systèmes intégrés micro -électroniques: technologies, conception »

Figure 4.3 : Exemples de règles élémentaires de conception

? PARAMETRES TEMPORELS D’UNE CELLULE CMOS : MIN TYP MAX• FLUCTUATIONS DU “PROCESS”

• CONDITIONS D’UTILISATION :

(Vcc, température)

Vss

VDD TLH (ns) THL(ns) DT (ns/pF)

MIN

TYP

MAX

E S

CONSEQUENCE :

T

E

S

S

MIN

MAX

EVITER (ASYNCHRONE) : LIGNES A RETARD, OSCILLATEURS, GENERATEURS D’IMPULSIONS ASYNCHRONES, BASCULES RS, ....

Figure 4.4 : Plan de masse d’un circuit

Page 34: fpga

- 34 -

« Circuits et systèmes intégrés micro -électroniques: technologies, conception »

Figure 4.5 : Placement et routage de cellules

LISTE DES CELLULES UTILISEES ET INTERCONNEXIONS (netlist)

REPRESENTATION PHYSIQUEDES CELLULES

PLACEMENT

ROUTAGE GLOBAL

ROUTAGE LOCAL

LISTE DES INTERCONNEXIONSPOUR CHAQUE CANAL

PLACEMENT RELATIF DES CELLULES

ROUTAGE COMPLET DANS DES CANAUXPLACEMENT ABSOLU DES CELLULES

CELLULES PRE-CARACTERISEES :- rectangulaires de hauteur fixe- E/S positionnés sur une grille- connexions sur deux côtés ou dessus

BLOCS COMPLEXES :- forme variable (rectangles,..)- connexions sur 4 côtés ou dessus

= BLOC

= canal de routage

TOPOLOGIE EN BANDES

LISTE DES CHEMINSCRITIQUES

canal de routage1 2 1 5 2 5 4 3 4 3 5

2 1 4 1 5 3 6 5 6 3 3

cellules

cellules

métal 1métal 2

Figure 4.6 : Routeur de canal

PROBLEME A UNE DIMENSION : ROUTAGE HORIZONTAL

1 2 5 1 4 2 8 5 2 3 6 3 7 6 4 9 3 7 9

1 2 5 1 4 2 8 5 2 8 6 3 7 6 4 9 3 7 9

75

8

55 5

8 88

11

2 22

4 4

3 3

6 6

7 77

9 9

(a)

(b)

(c)55 5 3 3

6 6 9 98 88

4 411

2 22 7 77

CANAL DEROUTAGE

MISE EN ORDREA PARTIR DEL’EXTREMITEGAUCHE

ROUTAGEFINAL

Exemple d ’algorithme :« Left Edge »

Page 35: fpga

- 35 -

« Circuits et systèmes intégrés micro -électroniques: technologies, conception »

Figure 4.7 : Simulation

? FONCTIONNELLE OU COMPORTEMENTALE

? LOGIQUE OU LOGICO-TEMPORELLE? ELECTRIQUE

VITESSE PRECISION

SCHEMA NETLIST

SIMULATION

CHRONOGRAMMES

MODELES

SYNTHESE

STIMULI

T(A,E) = 1 + 2C..............

BIBLIOTHEQUE

VSS

VDD

Modèle des délais des portes logiques : la rampe(“slew-rate”) de l’entrée affectele délai de la porte

MODELISATION DES RETARDS A PARTIR DE LA PRECARACTERISATION DES CELLULES : T = T0 + DTx CL + ....

Figure 4.8 : Extraction de parasites R et C

Métal 1

Sub

- Capacités entre niveaux de métal (“fringe capacitance”), - Diaphonie (capacité latérale entre deux lignes d’un même niveau de métal), - Résistances d’interconnexions et de contacts,

Métal 1

Métal 2

Substrat

Rétroannotation pour smulation « postlayout »

Page 36: fpga

- 36 -

« Circuits et systèmes intégrés micro -électroniques: technologies, conception »

1998 2008

Géométrie minimum 0,25 micron 0,08 micron

Microprocesseur: nb de transistors 10 MT 500 MTASIC : nb de transistors 1 MT 50 MT

DRAM dans 1 circuit 500 Mbits 50 Gbits

Horloge (pin-to-pin) 300 Mhz 1000 Mhz

Horloge (local) 700 Mhz 2500 Mhz

Nombre d'entées/sorties 600 2000

Alimentations 1,8 - 3,3 V 0,6 - 0,8 V

Puissance (portable) 1,2 W 2,5 W

Puissance (haute performance) 70 W 160 W

Source SIA

Figure 5.1 : Evolution des technologies Silicium

CONCEPTION : réutilisation 20 - 30 % 70 - 80 %ASIC SOC

Exemple :

Intel Pentium 4

2001 : ~ 2 GHz2002 : ~ 4 GHz

CMOS 0,13 micron

RAM/ROM

µC

I / ODSP

RAM/ROM

µC

I / O DSP

SOC

Blocs «IP »ou composants virtuels

… …

Figure 5.2 : Système sur puce (SOC) : réutilisationCOMPLEXITE CROISSANTE DES CI (technologies & architectures)

RéutilisationRéutilisation

RENOUVELLEMENT ACCELERE DES GAMMES DE PRODUITS (« time to market »).

Page 37: fpga

- 37 -

« Circuits et systèmes intégrés micro -électroniques: technologies, conception »

Figure 5.3 : Analogies « système sur carte » et SOC

ASICMemoire

µP

µP

MEM

ASIC

ASICMEM

COMPOSANTS REELS

Logiciel

retard dans les connexions

Test au niveau carte

COMPOSANTS VIRTUELS

Logiciel embarqué

retard dans les connexions internes

Test au niveau circuit

Modèle du Système

P

Instrument Virtuel

Calculateur Signal

Analyses

S t a r t

A c q u i r e

T r a c k

[ l o c k ] /

s e a r c h _ m o d e = 1

[ D e t = = 1 ] /s e a r c h _ m o d e = 2

[ D e t = = 0 ] /

s e a r c h _ m o d e = 1[ l o c k = = 0 ]

Code C/C++

Figure 5.4 : CAO de systèmes sur puce

L’environnement de conception et de simulation permet de construire des systèmes comme ensembles de fonctionnalités décrites par des modèles hétérogènes (algorithmiques, logiciels ou matériels).

Spécifications

C, C++, Java, Esterel, SDL, ...

Ingénieur Système

Logiciel

C, C++, Asm

IngénieurSoftware

Définition du produit

Langage Naturel

Responsable Marketing

Matériel

VHDL,Verilog

ArchitecteHardware

Circuit

RTL, Portes, Transistors, Layout

Ingénieur Asic

Fonderie

Page 38: fpga

- 38 -

« Circuits et systèmes intégrés micro -électroniques: technologies, conception »

(2) Machines d’émulation

Coût et maintenance

élevés

(4) Cartes Spécifiques

Faible CoûtArchitecture figée

DSP RAM

FPGAFPGA

FPGAFPGAFPGA

FPGA

FPGA

FPGA

FPGA

FPGA

FPGA

FPGA

FPGA

Figure 5.5 : Prototypage de systèmes

(3) Plateformes Reconfigurables

FPGA

IP

IP

DSP

µP

Flexibilité

(1) Accélérateursde simulation

µP

µP

µP

µP

µP

µP

Mois

Semaine

Jour

Heure

Minute

CompilationTemps de

Année Mois Semaine Jour Heure Minute d’exécution

Temps

SimulationAccélérateur deSimulation

SOC

Prototypage

Emulation

Figure 5.6 : Techniques de vérification

Carte spécifique

Page 39: fpga

- 39 -

« Circuits et systèmes intégrés micro -électroniques: technologies, conception »

Simulation

Emulation

Prototypage

Vitesse

Evaluation de

performances

Coût

Flexibilité

Facilité de

mise au point

Figure 5.7 : Techniques de vérification

Figure 5.8a : Flot de conception de systèmes sur puce

Specification du système

Logiciel

Code C

Matériel

Description

PartitionnementPartitionnement

Co-SyntheseCo-Synthese

Synthèse

A/D

D/A

S=>P

µP

Logique

DSPDMA

RAM ROM

P=>S

Prototype SOC

µPASIC

ASIC

FPGA

ASIC

FPGA

ASIC

Analogmémoiremémoire

Ré-utilisation(blocs IP)

Librairieslogicielles

Compilation

+ Flexibilité, + Portabilité

- Performances

+ Performances+ Traitement du parallélisme+ Traitement des données

- Communication etsynchronisation avec le logiciel

Page 40: fpga

- 40 -

« Circuits et systèmes intégrés micro -électroniques: technologies, conception »

Specs

DF

Architecture

IP’sSoftwareLibraries

HW SWModels

Simulation

Synthesis

SynthesisPrototype

System OnSilicon

Prototype virtuel :• Haut niveau d’abstraction• Flexibilité

Prototype réel :• Architecture détaillée• Vitesse d’exécution

Figure 5.8b co-vérification

Logiciel Embarqué ?

? Années 70/80 : Conception ”Full Custom”– Simulation : Spice

? Années 80/00 : Conception ”cell based” + FPGA...– Réutilisation du matériel (briques : “standard cell”)

– Modélisation, Simulation, Synthèse

? Années 00/xx : Conception ”SOCs”– Réutilisation du matériel et du logiciel (“IP”)

– “Co-Design”

– Vérification

– “Time to Market”, coûts,...

?

IP ?

Figure 6.1 : Evolution des techniques de conception

Page 41: fpga

- 41 -

« Circuits et systèmes intégrés micro -électroniques: technologies, conception »

MATERIEL STANDARD ou SPECIFIQUE ?

Aujourd’hui

Demain

• Programmable (HW &SW)

• Complexité• Performances

• Prototype rapide• Programmable• Conception faible coût

“ASIC based system”

Matériel spécifique « SOC »

REUTILISATION DECOMPOSANTS “VIRTUELS”

Matériel standard “FPGA-based system”

- composants standards, - composants programmables (FPGA)

FPGA ~ 1M portes

Figure 6.2 : Evolution des systèmes microélectroniques

Hier

µPASIC

ASIC

FPGA

ASIC

FPGA

ASIC

Analogmémoiremémoire

µPFPGAFPGA

mémoiremémoire

FPGA

FPGA FPGA FPGA

µPCircuit

standard

Analogmémoiremémoire

Circuitstandard

A/D

D/A

S=>P

µC

Logique(« ASIC »)

DSP

RAM ROM

P=>S

µCµC

µCµC

µCµCDSP

DSPDSP

DSPIP

IPIP

BlocsReconfigurables

Connexions

reconfigurables

MEM

Logicielembarqué

ImagesVoix…….Donnéeswww

- primitive : du transistor au composant virtuel IP- Du matériel figé au logiciel embarqué- Reconfiguration du matériel- Architectures multiprocesseurs- Test : matériel et logiciel- Méthodes et outils de CAO …. Vérification- Modélisation (« Deep submicron » …)- Consommation électrique- …..

Services decommunicationsmulti-standards

Flexibilité

Figure 6.3 : perspectives

Page 42: fpga

- 42 -

« Circuits et systèmes intégrés micro -électroniques: technologies, conception »

ANNEXE

A1 : Transistor MOS

DrainSource

Grille

W

L

Canal

Oxyde de grilleSiO 2

Substrat p

nn

Drain SourceGrille

Drain

Source

Grille

(d) Schéma électrique

(b) Vue en coupe

L

W

(c) Vue de dessus

(a) principe

• Région linéaire : V V VDS GS T? ?

ox

oxnoxnn t

CKP ??? ??

? ?I KPWL

V V VV

D n GS T DSDS? ? ?

???

???

2

2

avec

• Saturation : V V VDS GS T? ?

? ? ? ?DSTGSn

D VVVLWKP

I ???? 12

2

n+ n+

substrat p

S G

B

D

VGS-VT

VDSVGS

ID

A2: Modes de fonctionnement du transistor MOS

TGS VV ?• Bloquage :

Ids Vgs = 5 V

VT = tension de seuilµ = mobilitéCox = capacité de l’oxyde mincepar unité de surface

Vgs = 4 V

Vgs = 3 V

0 5 VVds

Page 43: fpga

- 43 -

« Circuits et systèmes intégrés micro -électroniques: technologies, conception »

Vdd

Vth(n)

Caractéristique de transfert

Vdd00

Entrée

Sortie

ED

C

BA N bloqué, P linéaireNiveau Haut

N saturé, P linéaireB

N saturé, P saturéC

N linéaire, P saturéD

N linéaire, P bloquéNiveau BasVdd/2 Vdd-Vth(p)

A3 : Fonctionnement d’un inverseur CMOS

Entrée

G

Vdd

G

D

D

S

S

Sortie

Niveau Haut

Niveau Bas

A

E

A

A

B

BSA

A

S

Vdd

ABS

A

B

NMOS PMOS

AB S

AB

SA S

A4 : Portes logiques CMOS

H

D Q!

Q

Point mémoire

Page 44: fpga

- 44 -

« Circuits et systèmes intégrés micro -électroniques: technologies, conception »

VDDE

VSS

S

PN

E

S

VSSVDD

E S(1)

(3)

(2)

Représentation logique (1), électrique (2) et topologique (3) d’un inverseur CMOS

A5 : Inverseur CMOS

ABS

A

BAB S

Vdd

A

B

S

Vdd Gnd

métal

polysilicium

Diffusion pDiffusion n

A6 : Représentations logique, électrique et topologique d’une porte “Nor 2”