Electronique - Les logiciels de synthèse logique et physique




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 logiciels de synthèse logique et physique François Gauthier


[ GUIDE D'ACHAT ]
Les logiciels de synthèse logique et physique
Les logiciels de synthèse logique sont aujourd'hui en pleine évolution. Utilisant de nouveaux algorithmes, ils cherchent à générer une estimation des timings plus proches de ceux du circuit final et à fournir aux outils de synthèse physique, devenus incontournables, la meilleure liste d'équipotentielles possible.

François Gauthier , Electronique Mensuel, le 14/11/2005 à 07h00

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



L'objectif premier d'un outil de synthèse logique, quel que soit l'algorithme utilisé, est d'abord et avant tout de transformer la conception d'un circuit du point de vue des échanges de données au niveau registres, écrite en VHDL ou Verilog, en une représentation de ce circuit au niveau portes logiques, associée à un calcul des délais (le timing) et à une estimation de la surface finale du circuit. Le but étant d'obtenir in fine le plus petit circuit possible tenant les délais imposés par les concepteurs.

Les algorithmes classiques de synthèse, utilisés depuis leur apparition commerciale dans les années 80(*), oeuvrent peu ou prou de la manière suivante : le code RTL est analysé en tant que description d'un flot de données, puis transformé en une netlist à base de portes propriétaires par l'outil de synthèse. Ces portes sont par la suite remplacées par des portes issues des bibliothèques de fondeurs. Une fois cette tâche réalisée, tout le travail du logiciel consiste alors à analyser les caractéristiques temporelles du circuit, à détecter les chemins critiques puis à optimiser de manière incrémentale l'ensemble dudit circuit. Cette dernière opération représente classiquement aujourd'hui plus des deux tiers des temps de calcul d'une synthèse logique.

Or, cette approche, qui a très bien fonctionné jusque-là, est moins bien adaptée aux contraintes rencontrées sur les circuits nanométriques. En effet, deux difficultés apparaissent : d'une part, les temps d'itérations deviennent de plus en plus longs, puisque l'algorithme essaie de faire converger le circuit vers des délais corrects à partir d'une masse importante d'informations de bas niveau issues des données des fondeurs. D'autre part, on le sait, avec les technologies nanométriques, dans le calcul des délais, la part prise par les interconnexions devient prépondérante en regard de celle des portes elles-mêmes. Conséquence, les modèles traditionnels utilisés pour estimer les temps de propagation des signaux entre portes ­les Wire load models (WLM) issus d'une approche statistique fournis dans les bibliothèques des fondeurs, et qui ne tiennent pas compte des interconnexions­, ne permettent plus à eux seuls d'obtenir une qualité de résultats suffisante.

Face à ces évolutions, bien que le marché de la synthèse logique soit toujours très largement dominé par Synopsys et son outil Design Compiler, le paysage s'est néanmoins profondément modifié, avec une concurrence beaucoup plus marquée que dans les années 90.

Une concurrence accrue

Synplicity, le leader incontesté sur le marché de la synthèse logique pour les FPGA, s'est lancé depuis quelques années sur le marché de la synthèse logique pour circuits Asic avec son outil Synplify Asic. L'approche choisie par la société dans ses algorithmes est d'analyser la logique du circuit issue du code RTL à un niveau d'abstraction élevé, avant de la raffiner progressivement sans avoir à réaliser des itérations sur l'ensemble du composant. La vue de bas niveau du circuit est donc obtenue plus tardivement, ce qui réduit, selon la société, le nombre d'itérations nécessaires pour converger, donc le temps de calcul.

De son côté, Cadence, suite au rachat de la société Get2Chip en 2004, propose avec son outil RTL Compiler d'analyser le circuit de manière globale en utilisant des portes génériques dérivées des bibliothèques des fondeurs. Cette approche permet de détecter très tôt les zones de timing difficiles en limitant les temps de calcul pour y remédier.

Magma, quant à lui, met en avant la notion de délais fixés à l'avance sur des cellules génériques, d'un niveau d'abstraction plus élevé que les primitives classiques, et qui sont en quelque sorte des supercellules représentatives d'une famille de composants (inverseurs, multiplieurs...). L'objectif de l'outil de synthèse est alors d'arriver à un résultat cohérent tout en gardant les délais fixés au départ, avant de placer les cellules réelles issues des bibliothèques de fondeurs.

Face à ces évolutions, Synopsys se devait de réagir. Avec son outil Design Compiler 2005, introduit récemment ( Electronique n° 161, p. 20), la société amène la notion d'analyse topologique du circuit dès la phase de synthèse logique afin de s'affranchir des modèles WLM. L'objectif ici est d'obtenir des résultats de timing les plus exacts possibles et, surtout, mieux corrélés avec ceux issus de la synthèse physique.

Des tendances de fond

L'analyse de ces différentes annonces montre plusieurs tendances. La première est liée à la prise en compte dans la synthèse logique de la notion de placement des cellules, c'est-à-dire de la topologie du circuit à un niveau d'abstraction élevé, afin de mieux tenir compte des délais d'interconnexion. L'idée est de s'affranchir du traditionnel modèle statistique d'estimation des délais entre portes qui amène bien souvent une vision pessimiste du circuit : portes trop grosses pour être assuré de tenir les délais avec, comme conséquence, une taille de circuit non optimisée.

Cette évolution est aussi visible dans le domaine du FPGA, avec la toute récente annonce de Synplicity et son outil Synplify Premier, qui introduit la notion de pilotage de la synthèse à partir du routage préexistant sur le FPGA (voir « Actualité » p. 16). La seconde tendance découle des liens de plus en plus étroits entre la synthèse logique et la synthèse physique, avec la volonté de les intégrer dans un flot commun. Chez Magma, par exemple, synthèse logique et physique sont réalisées au sein d'un même environnement, Blast Create, qui délivre une netlist placée et optimisée en timing à l'environnement d'implantation physique du circuit Blast Fusion. Chez Mentor Graphics, on insiste aussi sur cette intégration entre les différentes étapes de synthèse, ce qui autorise une remontée des informations sur les modifications apportées sur un bloc à travers divers niveaux d'abstraction.

On peut constater à ce sujet un double mouvement au sein des équipes de conception. Les ingénieurs du « front end » , ceux qui écrivent le code RTL et utilisent les logiciels de synthèse logique, vont devoir s'intéresser de plus en plus aux informations issues des ingénieurs du « back end » qui manipulent les outils de synthèse et d'implantation physique d'un circuit. D'un autre côté, ces derniers devront aussi tenir compte des données issues de la synthèse logique pour les analyser et les travailler en amont afin d'éviter d'inutiles itérations. Une évolution favorisée par le fait que, dans certains cas, la base de données entre les différents outils est commune, ce qui permet de naviguer à plusieurs niveaux d'abstraction entre les diverses équipes, comme c'est le cas avec les outils de Mentor Graphics pour les FPGA ou chez Magma pour les Asic.

Cette idée est liée à une autre tendance forte du moment qui est de considérer que la netlist issue du logiciel de synthèse logique se doit d'être la plus cohérente possible, avec des valeurs de délais précises, afin que les étapes ultérieures de synthèse physique et d'implantation du circuit se déroulent sans la découverte de problèmes majeurs. Ceci afin de limiter au maximum les cycles d'itération longs et coûteux entre ces différents niveaux de représentation du circuit. Aujourd'hui, l'idée que les erreurs ou imprécisions de la synthèse logique n'ont pas grande importance, car elles seront de toute façon corrigées par les outils du back end, n'a plus cours.

Enfin, dernière tendance de fond, les outils de synthèse logique doivent de plus en plus prendre en compte les contraintes de consommation des circuits (gestion de plusieurs domaines de tension, capacité à choisir des cellules plus ou moins rapides...), ainsi que les problèmes liés à leur fabrication.

La synthèse physique : un marché plus flou

La définition de la notion de synthèse physique, apparue plus récemment, est plus délicate. On peut dire qu'il s'agit d'une opération d'optimisation du circuit, grâce à un premier placement des cellules associé à un routage global, qui tient compte d'informations physiques issues des bibliothèques des cellules du fondeur. La synthèse physique, qui utilise en entrée les fichiers fournis par les outils de synthèse logique, se positionne donc avant les opérations de placement-routage détaillé.

Il y a encore deux ou trois ans, que ce soit dans le domaine de l'Asic ou du FPGA, la netlist issue de la synthèse logique était directement utilisée par les outils de placement-routage des fondeurs dans le cas des FPGA, ou des éditeurs de CAO dans le cas des Asic. Aujourd'hui, pour l'Asic ou le FPGA, on retrouve la même tendance, à savoir la prise en compte de la physique du circuit avant routage afin d'obtenir des valeurs de délais les plus justes possibles, principalement en rapprochant les noeuds logiques pour diminuer les temps de propagation sur les chemins critiques. Ces outils sont en général très intégrés dans les flots des éditeurs et ne sont pas fournis en tant que tels. A l'exception notable de Sierra Design, nouveau venu dans le domaine, qui propose avec Pinnacle, destiné aux gros circuits Asic, un outil qui s'insère dans les flots existants. Un des avantages de cette solution mis en avant par la société est de pouvoir traiter à plat des circuits de 10 à 20 millions de portes (sur des architectures 64 bits), en gérant ses différents modes en une seule fois, rendant ainsi la notion de partitionnement du circuit beaucoup plus rationnelle. En effet, les équipes de conception doivent souvent partitionner leur circuit en fonction des possibilités offertes par les outils de synthèse physique, et non en fonction d'une réflexion globale sur son architecture.

(*) Synopsys a été créé en 1986 et a bâti tout son développement sur la fourniture du premier outil de synthèse logique du marché.




Nous contacter

Charte de confiance

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