Brevet FR2842926A1 — publié le 20040130

SYST ME ET PROC D DE TRAITEMENT D'UNE CONCEPTION DE CIRCUIT PAR L'INTERM DIAIRE DE CHEMINS CRITIQUES DE CONCEPTION L'art antérieur connaît des logiciels de conception assistée par ordinateur (CAD) pour créer, vérifier et analyser des conceptions électroniques comprenant des conceptions de microprocesseur et de puces de processeur de signal numérique (DSP). Un tel logiciel assure la conception du niveau du système, la vérification, l'analyse et le test simulé du circuit logique de transfert de registre (RTL), de portes et de structures d'agencement physique. Un logiciel CAD peut effectuer, de plus, des analyses de synchronisation au niveau transistor de conceptions électroniques. Une amélioration au logiciel CAD de l'art antérieur tend, de même, à détecter des problèmes dans les conceptions et à suggérer des optimisations. Cependant, l'analyse de telles conceptions est complexe du point de vue de l'algorithme; une suggestion d'optimisations de telles conceptions utiliserait le logiciel CAD de façon peu maniable. En particulier, la complexité d'algorithme peut être estimée à l'aide d'un certain nombre de variables traitées; le nombre de variables peut comprendre par exemple le nombre de transistors à effet de champ (FETs) dans la conception. Dans un algorithme de tri d'analyse par exemple, la complexité de l'algorithme peut augmenter selon une relation approchée par nlog(n), n indiquant le nombre de variables. Dans un algorithme croisé de graphe d'analyse, la complexité de l'algorithme peut augmenter d'autre part selon une relation approchée par n'2. Ces complexités d'algorithme sont amplifiées, de plus, lorsque le logiciel CAD essaie de suggérer des optimisations de la conception. La complexité des conceptions électroniques augmentant, dépassant parfois un billion de composants, l'augmentation de la complexité de l'algorithme nécessite un accroissement de la puissance de traitement et/ou de la vitesse de l'ordinateur. L'accroissement de la puissance de traitement et/ou de la vitesse de l'ordinateur n'est pas facilement disponible à cause des contraintes de matériel et de logiciel. Un logiciel CAD de l'art antérieur à tenté d'analyser et d'optimiser des segments randomisés de la conception de circuit afin de réduire la complexité du circuit lors de l'optimisation; cependant, cela n'est pas efficace et peut réduire, en réalité, les performances du circuit. Le traitement d'une conception de circuit comprenant le ciblage d'un ou plusieurs chemins critiques d'une conception électronique est décrit. Chacun des chemins critiques comprend au moins un élément de conception comme un PET ou un fil conducteur de la conception. Une fois identifiés, ces chemins sont triés selon le caractère critique de chaque chemin. Ce caractère critique peut comprendre par exemple a) la vitesse de chaque chemin car cette vitesse peut commander la synchronisation et/ou la fréquence de tout ou partie de la conception et/ou b) l'utilisation en courant de chaque chemin car ce courant peut définir la consommation d'énergie pour tout ou partie de la conception. Les éléments de conception associés à chacun des chemins peuvent être groupés par type (par exemple, comme FET ou fil conducteur) puis analysés ou optimisés selon un ou plusieurs buts de conception. A titre d'exemple, les buts de conception peuvent comprendre l'amélioration de la vitesse et/ou la consommation d'énergie dans la conception. Selon un aspect du processus, le regroupement des éléments de conception peut être limité à un nombre défini par l'utilisateur. Ainsi, le nombre d'éléments de conception est prédéfini pour un traitement suivant. Cela assure une certaine flexibilité dans l'analyse et/ou l'optimisation de la conception à l'aide d'un système informatique disponible. Selon un autre aspect du processus, une ou plusieurs caractéristiques des éléments groupés de conception peuvent être modifiées de façon à optimiser, de façon potentielle, le chemin associé à ces éléments groupés de conception. A titre d'exemple, une de ces caractéristiques peut être la largeur physique d'un FET. Une autre caractéristique peut être l'épaisseur d'oxyde d'un FET. Une autre caractéristique peut être l'agencement de la source, des grilles et des drains du FET. Une autre caractéristique peut être le trajet de cheminement des fils conducteurs de la conception; le trajet de cheminement peut comprendre, par exemple, des enroulements de 900 de fils conducteurs à l'intérieur de la conception, ce qui peut créer une migration d'électrons. Certains avantages peuvent être souvent obtenus en accord avec le processus. A titre d'exemple, le logiciel CAD peut analyser et/ou optimiser plus rapidement moins de FETs par rapport à l'ensemble complet des FETs d'une conception. De plus, en optimisant les PETs critiques de synchronisation, comme défini par les chemins critiques triés à l'avance, la plus grande amélioration de l'ensemble de la conception est typiquement déterminée sans rupture de la fonctionnalité de la conception. Le logiciel CAD d'optimisation agissant sur un sous-ensemble de FETs à l'intérieur d'une conception peut s'exécuter, de plus, plus rapidement et de façon plus efficace par rapport aux opérations similaires sur tous les FETs de la conception et sans perte notable de la précision. L'optimisation recherchée, basée sur des chemins de synchronisation et des FETs, peut améliorer, de plus, la probabilité d'une optimisation réussie par opposition, par exemple, aux optimisations à caractère aléatoire tentées par certains logiciels CAD de l'art antérieur. Sur les dessins: la Figure 1 illustre un mode de mise en oeuvre d'un système pour le traitement d'une conception électronique; la Figure 2 illustre un organigramme présentant un procédé de traitement d'une conception électronique; et la Figure 3 illustre, de façon schématique, la sélection d'un chemin critique selon le procédé de la Figure 2. La Figure 1 illustre un système informatique 10 pour le traitement d'une conception électronique 12 à l'aide d'un logiciel CAD 14. La conception 12 et le logiciel 14 peuvent être résidents et/ou chargés dans une mémoire locale d'ordinateur 16. Le processeur 17 traite, en général, le logiciel 14 pour analyser et/ou optimiser la conception 12 selon les enseignements de notre cas. La conception 12 comprend une pluralité d'éléments de conception (DE). Les DE peuvent comprendre un ou plusieurs FETs, fils conducteurs, condensateurs, diodes, amplificateurs opérationnels, résistances, portes logiques et/ou d'autres composants de conception. Les DE sont connectés, en général, dans leur ensemble selon un ou plusieurs chemins 18 par l'intermédiaire de la conception 12. La Figure 1 illustre des chemins 18_, 182, 183 et 18Q o Q est un entier 24; le chemin 18, comprend, à titre illustratif, les éléments de conception DE1(1) à DE1(M); le chemin 182 comprend à titre illustratif les éléments de conception DE2(1) à DE2(N); le chemin 183 comprend, à titre illustratif, les éléments de conception DE3(1) à DE3(P) et le chemin 18Q comprend, à titre illustratif, les éléments de conception DEQ(1) à DEQ(R). Les entiers M, N, P et R peuvent être identiques ou différents et peuvent désigner une petite ou une grande pluralité de DE dans le chemin associé 18. La conception 12 peut comprendre plus ou moins de chemins 18 selon un choix de conception. Le processeur 17 est configuré pour déterminer un ou plusieurs chemins critiques de conception 12 sur la base d'un caractère critique comme la synchronisation ou la consommation en courant. Le processeur 17 peut utiliser un logiciel CAD 14 comprenant un programme comme le programme disponible dans le commerce PATHMILL de Synopsys Inc., situé au 700 East Middlefield Road Mountain View, Californie, connu de l'homme du métier, pour analyser les chemins de synchronisation de la conception 12. A titre d'exemple, le processeur 17 peut déterminer que les chemins 181, 183 sont bien plus lents que les chemins 182, 18Q et définir, par conséquent, les chemins 181, 183 comme des chemins critiques. Selon un autre exemple, le processeur 17 peut déterminer que le chemin 182 consomme nettement plus de courant que tout autre chemin 18 et définir, par conséquent, le chemin 182 comme un chemin critique. Le processeur 17 ordonne, de même et de préférence, ces chemins critiques selon le caractère critique. A titre d'exemple, le processeur 17 peut ordonner un premier chemin critique 18, devant un second chemin critique 183 car le premier chemin critique est plus lent que le second. Chaque chemin critique déterminé par le processeur 17 peut être identifié et stocké dans la mémoire 16 comme dans une table 20. Le processeur 16 peut être configuré, de plus, pour grouper les DE à partir de chaque chemin critique selon le type. Dans un exemple, les DE groupés sont des FETs; dans un autre exemple, les DE groupés sont des fils conducteurs. Si par exemple, le chemin 18(1) est défini comme un chemin critique à cause de la synchronisation, les éléments de conception DE(1), DE(5) et DE(M) peuvent représenter, à titre illustratif, des FETs du chemin 18(1) tandis que des éléments de conception DE(2), DE(3), DE(M-l) peuvent représenter, à titre illustratif, des fils conducteurs du chemin 18(1). Chaque DE groupé, déterminé par le processeur 17, peut être identifié et stocké en mémoire 16 selon son chemin associé 18 comme dans une table 20. Une fois les éléments de conception de chaque chemin critique groupés par type, le processeur 17 peut traiter le logiciel CAD 14 pour analyser et/ou optimiser la conception 12 selon les données de conception stockées dans la table , comme décrit en référence à la Figure 2. La Figure 2 illustre un organigramme 50 illustrant un procédé de traitement d'une conception électronique comme la conception 12 sur la Figure 1. La conception électronique est identifiée au début 52. Les chemins critiques de la conception sont terminés à l' tape 54. A titre d'exemple, l' tape 54 peut comprendre la détermination de chemin critique de la conception et/ou l' tape 54 peut comprendre la détermination des chemins critiques d'utilisation courante de la conception. Les chemins critiques de la conception peuvent être triés et ordonnés en mémoire (par exemple, dans la table 20) à l' tape 56. A titre d'exemple, l' tape 56 peut comprendre l'ordonnancement des chemin critique en mémoire, le chemin critique le plus lent étant placé en premier et le chemin critique le plus rapide en dernier. Des éléments de conception pour les chemins critiques sont groupés par type à l' tape 58. A titre d'exemple, l' tape 58 peut comprendre l'identification de FETs de chaque chemin critique et le stockage en mémoire d'un identificateur pour chaque FET et de son association avec son chemin critique. Selon un autre exemple, l' tape 58 peut comprendre l'identification de chaque fil conducteur d'un chemin critique et le stockage en mémoire d'un identificateur pour chaque fil conducteur et de son association avec le chemin critique. Les tapes 56 et 58 dans un mode de mise en oeuvre sont inversées. Le processus 54, 56, 58 de détermination et de stockage des chemins critiques et de regroupement des éléments de conception par type peut se poursuivre sur toute la conception. En option, ce processus se termine lorsque le nombre d'éléments de conception groupés pour un traitement suivant atteint une limite définie par l'utilisateur comme 500000 FETs ou un million de fils conducteurs afin de réduire l'analyse suivante et/ou la complexité d'optimisation. Ainsi, l' tape 58 peut se poursuivre jusqu'à ce que le nombre d'éléments de conception identifiés et/ou groupés atteigne un seuil défini par l'utilisateur comme indiqué par l' tape de décision 60. Le seuil défini par l'utilisateur peut être choisi comme indiqué par l' tape 62. Des chemins critiques peuvent être analysés et/ou optimisés à l' tape 64. Les chemins critiques peuvent être traités à l' tape 64 selon l'ordonnancement de chemins à l' tape 56. Dans un exemple, l' tape 64 peut comprendre la modification d'une ou plusieurs caractéristiques des éléments de conception groupés en connexion avec chaque chemin critique puis l'analyse du chemin critique par rapport à certains buts de conception. A titre d'exemple, les buts de conception peuvent comprendre un temps plus rapide et/ou une moindre consommation en courant pour le chemin critique. Des buts de conception peuvent être choisis pour le traitement 64 des chemins critiques comme indiqué par l' tape 66. Les caractéristiques modifiées des éléments de conception dépendent en général du type des éléments de conception. Dans un exemple, la caractéristique modifiée est la largeur physique et/ou la capacité en courant d'un élément de conception FET. Un autre exemple d'une caractéristique est le trajet de cheminement d'un élément de conception de fil conducteur. Si des optimisations de certains éléments de conception d'un ou plusieurs chemins critiques sont illustrées pour améliorer la conception, comme si un chemin critique est plus rapide et/ou consomme moins de courant, les éléments de conception associés aux chemins critiques sont alors modifiés selon l'optimisation à l' tape 68. Le processus des tapes 54 à 66 peut alors se répéter comme désiré, en particulier lorsque d'autres modifications de conception et/ou d'autres segments sont ajoutés en 70 à la conception électronique globale. La Figure 3 illustre un circuit 80 avec trois inverseurs 82, 84 et 86. L'inverseur 82 possède deux FETs 82n, 82p; l'inverseur 84 possède deux FETs 84n, 84p et l'inverseur 86 possède deux FETs 86n, 86p. Le circuit 80 possède un noeud d'entrée 88 et deux noeuds de sortie 90, 92; le noeud 90 est, de même, un noeud de sortie pour l'inverseur 84; le noeud 92 est, de même, un noeud de sortie pour l'inverseur 86. Le circuit 80 possède ainsi deux chemins, un à partir du noeud d'entrée 88 ("chemin un") vers le noeud de sortie 90 et un à partir du noeud d'entrée 88 vers le noeud de sortie 92 ("chemin deux"). Dans cet exemple, l'inverseur 86 est plus grand que l'inverseur 84. Ainsi, le chemin un est plus lent que le chemin deux et le chemin un peut être identifié comme un chemin critique de synchronisation selon les enseignements de notre cas. De plus, les FETs 82n, 82p, 84n et 84p peuvent ainsi être groupés pour une optimisation suivante comme à l' tape 58 sur la Figure 2. Les étapes de l'organigramme 50 de la Figure 2 peuvent être mises en oeuvre dans un support de stockage lisible par une machine comme un disque d'ordinateur. Le support de stockage peut contenir une série d'instructions de programme pour un ordinateur traitant la conception de circuit. A titre d'exemple, ces instructions peuvent indiquer à l'ordinateur de déterminer un ou plusieurs chemins critiques de conception de la conception de circuit, des éléments de conception groupés par type pour chacun des chemins critiques de conception et pour traiter la conception de circuit en fonction d'un ou plusieurs buts de conception. Les instructions peuvent amener, de plus, l'ordinateur à déterminer des chemins critiques de synchronisation de la conception de circuit et/ou à grouper par exemple des éléments de conception FET de la conception de circuit. Un utilisateur peut interagir avec l'ordinateur de telle façon que les instructions établissent les buts de conception, par exemple la vitesse et/ou la consommation en courant de la conception de circuit. Dans un autre exemple, les instructions peuvent amener l'ordinateur à modifier une ou plusieurs caractéristiques parmi une caractéristique de source, de drain et de grille des éléments de conception FET pour atteindre les buts de conception. REVENDICATIONS 1. Procédé de traitement d'une conception de circuit (12, 80), comprenant les étapes suivantes de: - détermination (54) d'un ou plusieurs chemins critiques de conception (18) de la conception de circuit (12, 80); - groupement (58) d'éléments de conception par type pour chacun des chemins critiques de conception (18); et - traitement (64) de la conception de circuit (12, 80) selon un ou plusieurs buts de conception. 2. Procédé selon la revendication 1, caractérisé en ce qu'il comprend, de plus, une étape d'établissement (66) des buts de conception par sélection d'une caractéristique parmi la vitesse et la consommation en courant de la conception de circuit (12, 80). 3. Procédé selon la revendication 1, caractérisé en ce que l'étape de groupement (58) comprend, de plus, l'identification et le groupement d'un ou de chacun des éléments de conception de FET ou de fil conducteur de la conception de circuit (12, 80). 4. Procédé selon la revendication 1, caractérisé en ce que l'étape de groupement (58) comprend, de plus, un groupement des éléments de conception jusqu'à l'atteinte d'un seuil sélectionné par l'utilisateur (62). 5. Procédé selon la revendication 1, caractérisé en ce que l'étape de traitement (64) comprend, de plus, la modification d'une ou plusieurs caractéristiques des éléments de conception. 6. Procédé selon la revendication 5, caractérisé en ce que l'étape de traitement comprend, de il plus, la modification d'au moins une caractéristique parmi une largeur physique d'un élément de conception FET, d'une capacité en courant d'un élément de conception FET, un agencement d'un élément de conception FET et un trajet de cheminement d'un élément de conception à fil conducteur. 7. Procédé selon la revendication 6, caractérisé en ce que l'étape de modification de l'agencement de l'élément de conception FET comprend la modification d'au moins une caractéristique parmi une configuration de source, de drain et de grille de l'élément de conception FET. 8. Système (10) pour le traitement d'une conception de circuit (12), caractérisé en ce qu'il comprend: - un moyen (17) pour la détermination d'un ou plusieurs chemins critiques de conception (18) de la conception de circuit (12); - un moyen (17) pour l'identification d'éléments de conception par type pour chacun des chemins critiques de conception (18); et - un moyen (17) pour l'optimisation de la conception de circuit (12) selon un ou plusieurs buts de conception. 9. Système selon la revendication 8, caractérisé en ce que le moyen de détermination comprend un moyen pour identifier et classer au moins un des chemins critiques de synchronisation et des chemins critiques d'utilisation de courant, et le moyen d'identification comprend un moyen pour grouper au moins un élément parmi les éléments de conception FET et les éléments de conception de fil conducteur. 10. Support de stockage lisible par ordinateur mettant en oeuvre, de façon concrète, l'instruction de programme pour le traitement d'une conception de circuit, le traitement comprenant les étapes suivantes de: détermination (54) d'un ou plusieurs chemins critiques de conception de la conception de circuit; - groupement (58) d'éléments de conception par type pour chacun des chemins critiques de conception; et - traitement (64) de la conception de circuit par comparaison avec un ou plusieurs buts de conception (66).