Electronique - Les plates-formes de prototypage d'Asic à base de FPGA




Les microcontrôleurs 32 bits sont sous le charme des coeurs Arm
Les multimètres de table
Autosar et UML
Le marché classé de l'électronique






Abréviations, expression inédite, évolution du vocabulaire, le lexique d'Electronique International vous explique l'électronique et son environnement !

> tout le lexique



Les plates-formes de prototypage d'Asic à base de FPGA François Gauthier


[ DOSSIER ]
Les plates-formes de prototypage d'Asic à base de FPGA
La puissance disponible sur les plates-formes de prototypage d'Asic, via les FPGA de dernière génération, associée aux outils logiciels proposés par les fournisseurs de tels systèmes en font désormais des solutions de choix pour la vérification d'une conception, à la fois sur les plans matériel et logiciel.

François Gauthier , Electronique Mensuel, le 18/05/2007 à 07h00

écrire à l'auteur de l'article imprimer l'article
envoyer par mail télécharger le PDF de l'article



Réaliser le prototypage de la conception d'un Asic sur une cible à base de FPGA est une approche qui gagne du terrain, chaque année, auprès des équipes de conception d'Asic et de SoC. Une étude menée en 2004 par Sinplicity, éditeur de solutions de synthèse (Synplify), de débogage (Identify) et de partitionnement (Certify) sur FPGA, montrait déjà que plus d'un tiers des conceptions d'Asic étaient vérifiées par l'entremise d'un prototypage à base de FPGA. Aujourd'hui, on est sans doute plus près du chiffre de 50 %, tant il semble que le marché s'oriente vers ce type de solution. En effet, bien qu'il n'existe pas de chiffres officiels concernant le secteur des systèmes de prototypage d'Asic, on estime qu'il représente aujourd'hui environ 800 M$, chiffre obtenu à partir des ventes de FPGA haut de gamme de Xilinx et Altera, utilisés pour la majorité d'entre eux sur ces systèmes, qu'il s'agisse de solutions commerciales sur étagère ou de solutions développées en interne par les équipes de conception. Un chiffre à comparer aux 160 M$ du marché de l'émulation (chiffre officiel cette fois-ci, issus de l'EDA consortium pour 2006) avec qui certains systèmes de prototypage haut de gamme commencent à entrer en concurrence.

Reste que le marché du prototypage d'Asic est très éclaté, une multitude de sociétés dans le monde proposant des solutions. Parmi elles, seule une dizaine (celles rassemblées sur les tableaux) présente une offre matériel/logiciel complète qui va au-delà d'une « simple » carte à base de FPGA. Quant au numéro un du secteur, c'est le français Eve Engineering. Avec un effectif de 80 personnes, avec des filiales aux Etats-Unis, au Japon et récemment en Inde, la société, créée en 2000, a réalisé un chiffre d'affaires de l'ordre de 20 M d'euros en 2006, soit le double de celui de 2005, des chiffres révélateurs de l'attrait actuels des industriels pour les solutions de prototypage à base de FPGA. Dans ce paysage, il ne faut pas non plus oublier les sociétés qui proposent leurs services à partir de systèmes qu'ils ont développés en interne, comme par exemple l'allemand AMO, ou encore le français Scaleo chip qui offre des solutions d'accompagnement du développement de systèmes multicoeurs à base de processeurs Arm grâce, notamment, à sa plate-forme de prototypage FCM3.

Pallier les inconvénients de la simulation et de l'émulation

L'origine de l'engouement pour les technologies de prototypage est liée à la conjonction de plusieurs phénomènes. En premier lieu, la complexité croissante des Asic et SoC nécessite des stratégies de vérification de plus en plus élaborées, avec le souhait de pouvoir vérifier son design à des vitesses élevées, proches du monde réel, pour valider à la fois le matériel et le logiciel embarqué. Or, avec la simulation RTL classique, les vitesses de calcul obtenues, de quelques hertz, empêchent de facto la vérification de l'ensemble d'une conception. Les solutions d'accélération matérielle améliorent cet état de fait, mais ne le résolvent pas. A l'autre bout du spectre des outils de vérification, les émulateurs ont l'avantage d'offrir des vitesses de vérification nettement supérieures, tout en conservant un degré élevé de visibilité sur les signaux. Mais les vitesses proposées par ces équipements, de 500 kHz à 2 MHz, sont encore insuffisantes et surtout leur prix d'achat est trop élevé pour permettre un déploiement à grande échelle au sein des équipes de conception (figure). Face aux inconvénients inhérents à ces technologies classiques, le prototypage d'Asic basé sur FPGA prend tout son sens, car il permet de vérifier une conception à des vitesses nettement plus élevées, de 10 à 20 MHz, compatibles avec les besoins liés à la vérification d'un système complet (matériel et son logiciel embarqué) et ce pour des prix de deux à dix fois inférieurs à ceux des émulateurs.

En second lieu, la popularité croissante des solutions de prototypage est liée à l'extraordinaire avancée technologique des FPGA, dont les performances et les richesses fonctionnelles actuelles étaient inenvisageables il y a quelques années. La complexité des circuits logiques programmables les plus avancés au milieu des années quatre-vingt-dix ne dépassait pas par exemple 30 000 portes logiques, pour une vitesse de fonctionnement de 30 à 50 MHz. Alors qu'aujourd'hui un circuit comme le Virtex-4 de Xilinx offre 30 millions de portes logiques, une vitesse de fonctionnement supérieure à 200 MHz, sans compter l'intégration d'interfaces rapides (comme PCI Express), un nombre de blocs mémoire élevé et la présence de coeurs de processeurs, tel le PowerPC 405. Cette richesse fonctionnelle, rendue possible par la maîtrise des technologies de fabrication en 90 et 65 nm (et bientôt 45 nm), permet désormais la synthèse de conception d'Asic complexe au sein d'une logique programmable.

Enfin, la troisième tendance qui pousse au déploiement de ces solutions est la place de plus en plus importante prise par le logiciel dans les conceptions de circuits : système d'exploitation embarqué, pilotes logiciels de bas niveau, code applicatif. Autant de blocs logiciels qu'il est vital de déboguer le plus en amont possible dans le cycle de conception d'un circuit, ce qu'autorisent à un coût raisonnable, donc utilisables par différentes équipes de développement logiciel et matériel d'un circuit, les systèmes de prototypage. Avec cette technologie, on peut par exemple vérifier un circuit de compression/décompression d'images vidéo en analysant directement la qualité de l'image produite, une approche inenvisageable avec les autres techniques de vérification. Autre avantage, on peut « booter » en quelques secondes un système d'exploitation installé sur un coeur de processeur synthétisé sur une plate-forme de prototypage, alors qu'il faut plusieurs minutes sur un émulateur classique. D'où des gains importants pour les temps de vérification, une donnée à ne pas négliger tant ils explosent sur les circuits complexes.

Aujourd'hui, les niveaux de performances atteintes par les systèmes de prototypage permettent donc de traiter un Asic ou un SoC dans sa totalité, même si le partitionnement du fichier RTL sur plusieurs FPGA reste une opération délicate (voir article suivant). Avec un bémol toutefois : pour les circuits de plus de 10 millions de portes, l'émulateur demeure encore la solution de choix. Mais peut-être plus pour très longtemps. Car celui-ci est de plus en plus concurrencé par la montée en puissance des systèmes de prototypage haut de gamme qui arrivent sur le marché. Ainsi, l'américain The Dini Group propose, avec son système DN8000K10, une capacité de 24 millions de portes équivalentes Asic grâce à l'agrégation de 16 FPGA Virtex-4 sur une seule carte. De son côté, Eve Engineering vient d'annoncer en début d'année son système Zebu-XXL (photo), basé sur des Virtex-4 LX200 et capable de gérer jusqu'à 100 millions de portes équivalentes Asic à des vitesses allant jusqu'à 20 MHz. Un équipement destiné à la vérification de processeurs haut de gamme ou de circuits graphiques, dans lesquels la vérification ou logiciel est très importante. Car le modèle Zebu-XXL fonctionne aussi bien en mode transaction, qu'en mode émulation in circuit ou encore avec le testbench synthétisé dans l'équipement. Enfin, l'israélien Gidel propose lui aussi, avec son système Proc_SoC, une capacité de 100 millions de portes équivalentes Asic mais avec, selon la société, des vitesses de vérification records atteignant 100 MHz ; ceci grâce à une technologie de lien spécifique entre les 20 Stratix II EP2S180 d'Altera, répartis deux par deux sur les dix cartes constituant l'équipement.

Un handicap : la faible visibilité des signaux

Reste un problème de taille avec les systèmes de prototypage : la faible visibilité des signaux internes à la logique programmable, induisant des difficultés de débogage non négligeables. Il est certain qu'il existe un compromis à trouver entre la vitesse de fonctionnement d'un système et les degrés de visibilité des signaux. La simulation, qui est la technologie la plus lente, donnant accès à la totalité des données sur les signaux, et la plus rapide, le prototypage, empêchant un accès aisé à l'évolution des signaux internes du FPGA dans le temps (figure).

Néanmoins, différentes techniques tentent de pallier ce handicap. La plus ancienne consiste à embarquer dans le FPGA de l'instrumentation appropriée (analyseur logique, trigger...), afin de visualiser l'évolution de l'état des signaux pendant le déroulement d'une session de vérification. Des sociétés comme le français Temento Systems, avec son outil DiaLite, qui a des accords de partenariats avec certains fournisseurs de solutions de prototypage, l'américain Synplicity, avec son outil Identify, ou encore Xilinx, avec son logiciel ChipScope, vont dans cette direction. Les fournisseurs de systèmes de prototypage eux-mêmes proposent de telles approches : par exemple, l'américain Dynalith avec un bloc IP d'analyse logique embarqué, ou encore Eve qui a développé une technologie de capture des états du design sans recompilation, la possibilité d'embarquer des déclenchements et le support d'assertions synthétisables écrites en SystemVerilog.

Des approches novatrices apparaissent aussi sur le marché, toujours dans le but d'améliorer sensiblement la visibilité des signaux au sein du silicium. Ainsi, la technologie mise au point par Novas, dénommée Siloti, qui consiste à identifier dans une conception les signaux importants au niveau du code RTL (les signaux « essentiels » ) puis, grâce à une technique d'expansion des données, à reconstituer le comportement des signaux dans le design. Pour sa part, Synplicity propose avec TotalRecall une technique de duplication de tout ou partie d'un design en cours de vérification dans le FPGA, puis d'enregistrer l'évolution des signaux dans un registre mémoire dédié, signaux que l'on peut alors faire rejouer dans un simulateur classique.

Enfin, signalons que le récent rachat de la société Tharas Systems, spécialisée dans l'accélération matérielle, par Eve Engineering ouvre encore une autre voie. Il s'agirait cette fois-ci de développer un compilateur commun à l'accélérateur et au système de prototypage, respectant au plus près la hiérarchie du design. Une approche qui permettrait d'aller facilement de l'accélération, pour mieux déboguer la conception grâce à une excellente visibilité des signaux, à la plate-forme de prototypage, pour vérifier à des vitesses rapides le composant et son logiciel dans un environnement réel.




Nous contacter

Charte de confiance

Voir notice légale
Tous droits réservés © 1999-2008 Groupe Tests - 01net.