M. Robert: CAO de systèmes sur puce CAO de SYSTEMES SUR PUCE: composants virtuels, réutilisation et reconfiguration Michel ROBERT, Membre de L'Institut Universitaire de France LIRMM, UMR CNRS /Université Montpellier 2, 161, rue Ada, 34392 Montpellier Cedex 5 Mél: [email protected] L'évolution très rapide des technologies de fabrication de circuits intégrés sur silicium (CMOS) 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 faites par la SIA (Semiconductor Industry Association) montrent que le nombre de transistors par circuit va être multiplié par un facteur 50 dans les 10 prochaines années. En 1998, un microprocesseur était composé d'environ 10 millions de transistors. En 2008, un circuit de référence équivalent dont la surface ne sera que le double par rapport à 98 (600 mm2) pourra être composé de près de 500 millions de transistors.: on prévoit ainsi d’atteindre 1 milliard de transistor sur une puce autour de 2010. Il sera alors aisé (si les outils de CAO ont suivi l'augmentation de la complexité) de concevoir des systèmes parallèles, intégrer des contrôleurs de périphériques ou des fonctions élaborées de manipulation 3D d'images tout en disposant d'une mémoire intégrée donc à accès très rapide. Ces systèmes hautement complexes doivent être conçus de manière efficace car le temps d’arrivée du produit sur le marché est un facteur crucial de réussite. Ils doivent également être conçus et vérifiés de manière sure car les coûts de fabrication sont tels qu’ils ne tolèrent pas des tentatives multiples. Supposant une conception efficace et une vérification/validation sure, ces systèmes sur puce doivent tout de même être vérifiés après fabrication car les technologies sous-microniques actuelles ne peuvent toujours pas garantir un rendement de 100%. Qu’il s’agisse de conception ou de vérification l’approche méthodologique fondamentale pour ces systèmes est toujours la même du fait de la complexité inhérente à ces systèmes. Dans une première phase, un concept, sensé apporter une solution à un problème posé, est mis en place. Dans une deuxième phase cette solution est appliquée au niveau du système complexe à travers un outil logiciel. A noter que le terme concept peut désigner ici n’importe quel aspect de la conception ou de la vérification: modèle de retard, modèle de puissance, modèle de sensibilité aux radiations, modèle de défaillances... 1-Outils de conception et de vérification Devant les possibilités offertes par les technologies de fabrication, les techniques de conception des systèmes électroniques vont évoluer 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) devront être de plus en plus utilisés. 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 coeur de processeur ou même à un ordinateur complet avec sa mémoire et ses entrées/sorties. Le concepteur d'ASICs a "manipulé" des transistors 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 ou IPs pendant la prochaine décennie. La conception réutilise; elle devient incrémentale et flexible. A partir de blocs IPs, les concepteurs adapteront rapidement le système à l'application visée. Dans les années 80, à coté des outils graphiques (schématique, dessin de masques, placement/routage), les concepteurs de circuits intégrés disposaient de simulateurs électriques au niveau transistor pour les fonctions analogiques et de simulateurs au niveau porte pour les fonctions logiques. A la fin des années 80, l'utilisation du langage VHDL (comportemental et structurel) s'est généralisée. Ce langage, initialement développé pour la modélisation et la simulation, est également utilisé pour la description comportementale ou RTL (transfert de registres) d'une architecture logique pour la synthèse automatique Des environnements de CAO permettent de vérifier la GDR Nanoélectronique : les composants ultimes et leurs alternatives M. Robert: CAO de systèmes sur puce fonctionnalité du système à ce niveau d'abstraction par des simulations de type flot de données. 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. des systèmes se fera ainsi de manière croissante au niveau logiciel. La reconfiguration de système permettra une redéfinition du circuit à tout moment. Des processeurs reconfigurables autoriseront l’adaptation des opérateurs matériels en temps réel avec les besoins de l’algorithme en cours d’exécution. La figure représente le flot de conception d'un système sur silicium. La réutilisation de blocs affecte le flot de conception sous plusieurs aspects. Il convient de distinguer plusieurs niveaux de blocs réutilisables ou IP: les “ hard-cores ” sont des blocs entièrement conçus et optimisés pour une technologie donnée, les “ softcores ” sont des blocs définissant une architecture au niveau RTL. Du point de vue de l'utilisateur de blocs réutilisables, il est nécessaire de faire le choix des blocs qui permettront d'implanter efficacement le plus grand nombre de fonctionnalités du système à un coût acceptable. Le flot n'est alors pas complètement descendant puisqu'il sera nécessaire de capturer pour les blocs choisis leur comportement, d'obtenir des modèles de simulation, pour finalement intégrer ces blocs dans le système. En revanche, du point de vue du fournisseur de blocs réutilisables, la notion primordiale est celle de la conception en vue de la réutilisation (“ Design For Reuse ”). Ainsi, un bloc IP pourra être défini pour une application donnée, puis optimisé pour une technologie cible. Le flot est alors vraiment descendant: le comportement du bloc est d'abord décrit, puis son implantation est progressivement raffinée. • 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 (téléphones portables par exemple). Les recherches actuelles en CAO de SOCs se situent à différents niveaux: spécification, modélisation, synthèse, vérification, test. On parle de technologie de la conception (“ Design Technology ”), notion qui recouvre les algorithmes, les outils logiciels et matériels, ainsi que les méthodes de conception des systèmes. 2-Circuits et systèmes Deux techniques de réalisation électroniques se dégagent: des systèmes • 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. Les solutions technologiques apportées par les circuits programmables de type FPGA (Field Programmable Gate Array) permettent actuellement l'intégration de 1 million de portes logiques équivalentes sur le même circuit. Ces circuits suivront l'évolution technologique décrite plus haut, et contribueront à une standardisation du matériel: la personnalisation L’architecture d’un système sur puce sera composée autour des éléments suivants: • matériel partiellement 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, • - mémoires, • - logiciel embarqué (ou enfoui). Ces circuits devront fonctionner dans des environnements de communications complexes en s’adaptant rapidement à tout type de standard. La course à la miniaturisation est une caractéristique essentielle des technologies CMOS. Dans ce domaine, miniaturisation et donc intégration sont synonymes de performances. On intègre toujours plus de composants sur un même substrat de silicium pour obtenir des systèmes qui fonctionnent à des fréquences plus élevées, qui consomment moins, qui ont plus de capacité mémoire ou de ressources de calcul, qui présentent un coût ou un encombrement moindre… L’art du concepteur consiste à gérer un compromis entre tous ces paramètres. Les technologies de fabrication sont limitées par les propriétés des matériaux et les lois physiques. Les outils et méthodes de CAO de circuits sont limitées par la prise en compte de l’ensemble de ces paramètres dans des domaines d’applications divers: • gestion de la complexité, optimisation et vérification des systèmes, • modélisation des niveaux électriques et topologiques (“layout”: dessin des masques technologiques, interconnexions de cellules,…), où les modèles GDR Nanoélectronique : les composants ultimes et leurs alternatives M. Robert: CAO de systèmes sur puce doivent être suffisamment précis et simple pour permettre des simulations dans des temps raisonnables. Math./in fo…. Spécific ions - Algorat ithm : - Perform e ances Concept ion la réutilis pour ation Concept ion la réutilis pour ation Système Flot de do nnées Choix de Librairie s de blocs matériels réutilisa bles Modèles De simul at blocs Architec ture Sys tème : - Optimis at - Partition ion des mémoire s Matériel/ Logiciel Choix d' objets Librairie s d'objets logiciels réutilisa bles ion Architect ur Matériell e e Architect ur logicielle e Synthès e Matériell e Compila tion Logiciell e Prototyp e Système su Silicium r …. Techno./ Phys. Figure 1 GDR Nanoélectronique : les composants ultimes et leurs alternatives