FR 3010208 A1 20150306 FR 1358534 A 20130905 Procédé ("Enalyse d-- c -nportement d'-- c'rcuit inté-é mis -n oeuvre p-r ordinateur Le domaine de l'invention est celui de la conception de circuits 5 intégrés. De manière générale, la conception d'un circuit intégré (Cl) suit une approche descendante. Elle débute par exemple par une description semi comportementale-structurelle et se termine par une description détaillée de sa réalisation matérielle. A chaque étape de développement, une phase de vérification valide la description faite du Cl vis-à-vis du cahier des charges. 10 La vérification consiste notamment à simuler le comportement du Cl. La simulation d'une description abstraite est plus rapide que la simulation d'une réalisation détaillée du Cl. Au niveau transfert de registre encore appelé « Register transfer level » (RTL), le système est généralement formé de registres, de machines 15 à états finis, de fonctions combinatoires et de signaux qui relient les autres entités entre-elles. Au niveau inférieur, porte logique, le système est composé de registres, cellules logiques (par exemple ET, OU, NON-OU-ET, etc.) et de signaux. La description contient les composants physiques déjà représentés au niveau supérieur et de nouveaux composants physiques. 20 De manière générale, la notion de composant physique recouvre une ligne de métal sur laquelle se propage un signal ou une cellule logique (porte, bascule, multiplexeur, etc.) et la notion de chemin est définie au niveau porte logique ou porte. Le chemin est la composition série signalcellule-signal-cellule-etc..., entre la sortie de donnée d'un registre et l'entrée 25 de donnée d'un autre registre. La plupart des travaux qui traitent le problème de l'estimation de caractéristiques temporelles au niveau RTL et supérieur, assignent/annotent des valeurs aux composants physiques RTL qui ont été estimées avec des techniques basées sur une caractérisation préalable du chemin physique le 30 plus long ou d'autres techniques, tel que décrit notamment dans l'article de : Anand Raghunathan, Sujit Dey, and Niraj K. Jha "High-Level Macro-Modeling and Estimation Techniques for Switching Activity and Power Consumption", IEEE Transactions On Very Large Scale Integration (VLSI) Systems, Vol. 11, No. 4, August 2003. Quelle que soit l'approche adoptée, l'estimation du temps de propagation d'un signal entre deux registres au niveau RTL est la somme des temps (annotés) des composants physiques traversés par le signal. La précision de ces approches n'est plus satisfaisante lorsque les 5 paramètres physiques de certains composants par exemple des transistors, varient au cours du temps (par exemple les effets du vieillissement ou de la température). La variation n'étant pas uniformément répartie sur l'ensemble des transistors et de fait des chemins, le temps de propagation du signal dépend du chemin emprunté. Pour certains chemins, leurs marges 10 temporelles peuvent être violées ce qui entraîne une erreur logique. Sous la condition d'une variation des paramètres physiques des transistors, il est nécessaire de conserver la topologie des chemins au niveau RTL et supérieur. Dans ce contexte général, l'objectif est de calculer des paramètres 15 physiques du chemin d'un Cl à partir de la connaissance des paramètres physiques des composants physiques constituants le chemin au niveau RTL (ou supérieur). La figure 1 illustre, au niveau d'abstraction porte Npa, les signaux (source, intermédiaire et terminaison) d'un chemin P qui sont 20 inclus dans un même module, ou sont répartis dans plusieurs modules, en l'occurrence sur la figure 1, un module A et un module B, un module regroupant les composants physiques permettant de réaliser une fonction. Le chemin P montre la ligne de métal sur laquelle se propage un signal, référencée Ls. Le chemin illustré P traverse les modules A et B, 25 lesdits modules comportant également des cellules logiques C109 i. A ce niveau d'abstraction, tous les composants physiques (ligne de métal, cellules logiques, ...) constituants les chemins sont décrits, cela permet d'évaluer directement leurs paramètres physiques, par exemple avec l'aide d'une simulation du Cl. 30 Le paramètre physique du chemin est une combinaison des paramètres physiques des composants physiques. Un paramètre physique peut être la fréquence de commutation d'un signal, la caractéristique temporelle d'une cellule, le rapport cyclique d'un signal, etc... Aux niveaux d'abstraction supérieurs, le nombre de composants physiques décrits est inférieur. Ceux représentés sont appelés composants physiques représentés : leur description existe dans les deux niveaux d'abstraction. La figure 2 met ainsi en parallèle, le niveau d'abstraction porte Np0 et un niveau d'abstraction RTL : N RTL , avec des composants physiques non représentés qui sont appelés composants physiques non représentés Cnn (repérés en traits pointillés) dont les paramètre physiques ne peuvent pas être évalués et des composants physiques représentés Cri (repérés en traits pleins). Un chemin comportant des composants physiques non-représentés est appelé chemin incomplet au niveau RTL, et est illustré sur la figure 2, par le chemin « a-gb-b-gc-c-gd-d ». Les composants physiques représentés (a, b et d) sont ainsi 15 repérés en traits pleins, alors que ceux non représentés (gb, gc, c et gd) sont repérés en traits pointillés. Au niveau RTL, seul le paramètre physique des signaux a, b et d peut être évalué. Un paramètre physique du chemin P: « a-gb-b-gc-c-gd-d » peut être déterminé au niveau RTL à partir de celui connu de ces signaux 20 seulement. Il est clair que le résultat diverge de la valeur calculée au niveau porte. La divergence est aggravée sur les chemins contenant un grand nombre de composants physiques. Dans ce contexte, le problème que cherche à résoudre la 25 présente invention est de réaliser l'estimation des paramètres physiques des composants physiques non représentés au niveau RTL et supérieur. Il a déjà été décrit et notamment dans les articles de V. Huard et al., « A predictive bottom-up hierarchical approach to digital system reliability", Reliability Physics Symposium (IRPS), 2012 IEEE International et 30 de Clement Bertolini, Olivier Héron, Nicolas Ventroux, François Marc, "Relation between HCI-induced performance degradation and applications in a RISC processor", IOLTS 2012, une méthode pour l'estimation de la dégradation temporelle des cellules logiques et des chemins d'un circuit intégré au niveau porte. Les auteurs présentent une équation qui permet de 35 calculer la dégradation temporelle d'une cellule logique en fonction de 30102 0 8 4 l'activité de ses signaux d'entrée. Le procédé inclut les étapes suivantes : description du circuit, simulation du circuit, extraction des chemins physiques et de leur caractéristique temporelle, extraction de l'activité des signaux et calcul de la dégradation des chemins. Cette solution ne permet néanmoins 5 pas de résoudre le problème posé dans la présente invention, car elle ne traite pas le problème de l'estimation des paramètres physiques des chemins à plus haut niveau d'abstraction. Le brevet US7836418B2, présente un procédé qui inclut une étape dans laquelle un chemin est assigné à des modules dans une 10 description hiérarchique du circuit. Cette assignation est triviale puisque le nom des modules est inclus dans la description détaillée du circuit. Ce procédé inclut une étape dans laquelle il associe un paramètre physique à uniquement, certains signaux d'un chemin. Les signaux candidats sont ceux situés à l'entrée et à la sortie d'un module. Le paramètre physique est déterminé avec l'aide d'une analyse du chemin. Il a également été décrit dans l'article de Sheng Li, Jung Ho Ahn, Jay B. Brockman, Norman P. Jouppi, "McPAT: An Integrated Power, Area, and Timing Modeling Framewor.: for Multicore Architectures", Micro'09 & technical report V1.0, un environnement logiciel pour modéliser surface, délais et consommation d'énergie d'un circuit multi-coeur à différents niveaux d'abstraction. L'utilisateur entre des paramètres physiques liés aux caractéristiques géométriques et physiques qui sont ensuite assignés aux composants physiques du circuit dans le but de modéliser ces propriétés. L'environnement génère les descriptions aux différents niveaux d'abstraction. A chaque niveau, les composants physiques recevront une valeur unique de paramètre physique préalablement calculé par le logiciel. L'estimation du temps de propagation des signaux aux niveaux d'abstraction supérieurs ne considère pas le chemin emprunté par ces signaux. La demande de brevet US20060253814 présente un procédé qui inclut une étape (108) dans laquelle certains chemins du circuit sont « placés » dans des tableaux choisi parmi un ensemble de tableaux. Un tableau est référencé par les bornes d'une plage de valeurs de temps. Pour un chemin donné, le critère de choix du tableau est une comparaison entre le temps du chemin et les bornes de temps du tableau. Le tableau contient le nom d'un composant physique. Le composant physique sélectionné sera inséré sur le chemin (à partir d'une bibliothèque préalablement fournie). Cette étape revient à chercher une entrée dans un tableau associatif dont la clef est les deux bornes de temps puis d'assigner le contenu au chemin courant. Néanmoins, ce procédé ne nécessite pas la connaissance détaillée des composants physiques constituants le chemin. Elle ne permet donc pas de résoudre le problème de l'assignation d'un paramètre physique spécifique à chaque composant physique d'un chemin. L'article des auteurs : O. Heron et al. « On the simulation of HCIinduced variations of IC timings at high level », Journ. Of Electronic Testing: Theory & App., to appear, divulgue une méthode pour l'estimation de la dégradation temporelle de tous les chemins internes d'un processeur au niveau d'abstraction fonctionnelle. La solution propose le procédé suivant ; i) la génération de la trace des instructions lues par le processeur à l'aide d'une simulation, ii) pour chaque instruction et pour chaque chemin, l'instruction lue entre dans une table qui fournit en sortie une valeur d'activité du chemin (combinaison de l'activité tous les signaux du chemin), et iii) pour chaque chemin et pour la valeur d'activité sélectionnée, le calcul de l'incrément de dégradation temporelle du chemin due à cette instruction. La table en question est préalablement construite avec l'aide d'une caractérisation de l'activité des chemins avec plusieurs patterns d'instructions. Cette solution résout seulement le problème de l'estimation de paramètres physiques des chemins appartenant exclusivement au processeur. En effet, la solution n'emploie pas un procédé qui permet d'identifier les composants physiques non représentés traversés par un chemin. Cette absence empêche l'opération qui assigne judicieusement un paramètre physique à chaque composant physique du chemin. Cette solution ne permet pas de résoudre le problème pour des chemins répartis entre au moins deux modules. Ainsi dans ce contexte, la présente invention a pour objet un procédé permettant l'évaluation de paramètre physique de l'ensemble des composants physiques d'un circuit intégré, et ce à un niveau d'abstraction supérieur à celui du niveau porte. Plus précisément, il s'agit d'un procédé d'analyse du comportement d'un circuit intégré comprenant des chemins et composants physiques, mis en oeuvre par ordinateur, lesdits composants physiques étant soit non représentés dans un premier niveau d'abstraction au moins égal ou supérieur au niveau RTL, soit représentés dans ledit premier niveau d'abstraction ; - ledit circuit intégré comprenant un ensemble de modules constitués de composant(s) physiques(s) ; chaque module définissant une fonction entre un signal d'entrée et un signal de sortie, les composants physiques, les chemins et les modules étant identifiés chacun par un nom, ledit procédé comprenant les étapes suivantes : - une première étape d'extraction d'un premier ensemble de noms correspondant aux composants physiques représentés et aux modules ; une seconde étape comprenant l'extraction des noms des chemins et ceux des composants physiques pour chacun desdits chemins et comprenant l'assignation d'un nom de module d'appartenance auxdits composés physiques ; - une troisième étape attribuant un label à l'ensemble des composants physiques : o ledit label étant leur nom pour les composants représentés ; o ledit label étant le nom du module d'appartenance pour les composants non représentés ; - une quatrième étape de détermination d'au moins un paramètre physique pour chacun des composants représentés et pour chacun des modules, et d'association des noms des composants représentés aux paramètres physiques déterminés et d'association des noms des modules aux paramètres physiques déterminés ; une cinquième étape d'assignation de paramètres physiques déterminés et nommés dans la quatrième étape, aux composants physiques nommés dans la seconde étape d'extraction. Selon une variante de l'invention, les paramètres physiques des composants physiques représentés sont obtenus par simulation/analyse du 5 circuit au niveau supérieur. Selon une variante de l'invention, l'assignation d'un module à un composant physique représenté est réalisée par l'analyse de la hiérarchie du circuit intégré au niveau porte. A ce niveau d'abstraction, la description du circuit intégré détaille l'appartenance des composants physiques aux 10 modules. Selon une variante de l'invention, au moins un module étant traversé par plusieurs chemins, la quatrième étape de détermination d'au moins un paramètre physique pour chacun des modules comprend : - une étape de chaînage d'au moins deux sous-étapes : 15 o une première sous-étape de pointage des chemins traversant chaque module ; o une seconde sous-étape de détermination pour chaque chemin pointé, du paramètre physique associé audit module. 20 Selon une variante de l'invention, la troisième étape attribuant un label à l'ensemble des composants physiques comporte en outre l'affectation d'un discrimant de l'état représenté et non représenté, à chacun des composants physiques. Selon une variante de l'invention, le paramètre physique peut être la 25 fréquence de commutation d'un signal ou le temps de maintien d'un signal ou l'activité correspondant au ratio entre un nombre (total) de changement de valeur ou un nombre de cycles de maintien a 1 ou un nombre de cycles de maintien a 0 d'un signal et le nombre de cycles du signal d'horloge. Selon une variante de l'invention, le paramètre physique est le délai 30 de propagation d'une cellule logique. Selon une variante de l'invention, le procédé comprend la construction de tableaux associatifs avec des clefs d'entrée et des champs valeurs pour exploiter les résultats des seconde, troisième, quatrième et cinquième étapes. Selon une variante de l'invention, le premier niveau d'abstraction au moins égal ou supérieur au niveau RTL est un niveau transactionnel-comportemental (TLM), les modules étant des modules comportementaux pouvant comprendre au moins une mémoire ou une unité de calcul ou une unité de contrôle et des ports ou interfaces TLM qui connectent les modules entre eux. L'invention a aussi pour objet un procédé d'analyse du comportement d'un circuit intégré mis en oeuvre par ordinateur, comprenant : - les étapes du procédé d'analyse de comportement d'un circuit intégré, mis en oeuvre par ordinateur, selon l'invention ; dont une succession d'au moins deux séries d'opérations décalées dans le temps pour : o ladite quatrième étape de détermination d'au moins un paramètre physique pour chacun des composants représentés et pour chacun des modules, et d'association des noms des composants représentés et des noms des modules, avec les paramètre physiques déterminés, la détermination d'au moins un paramètre physique pour les composants physiques représentés permettant d'établir un quatrième tableau associatif (TAB4) comportant le nom des composants physiques et leur paramètre physique associé ; une étape de comparaison des cinquièmes étapes d'assignation de paramètres physiques déterminés et nommés dans la quatrième étape, aux composants physiques identifiés dans la seconde étape d'extraction, permettant de suivre l'évolution temporelle dudit circuit intégré. L'invention a aussi pour objet un programme d'ordinateur comportant des instructions pour l'exécution du procédé d'analyse du comportement d'un 30 circuit intégré mis en oeuvre par ordinateur, selon l'invention, lorsque le programme est exécuté par un processeur. L'invention a encore pour objet un module de conception destiné à être embarqué dans un circuit intégré comportant au moins une unité de calcul et une mémoire, mettant en oeuvre le procédé d'analyse du comportement d'un circuit intégré mis en oeuvre par ordinateur selon l'invention. L'invention sera mieux comprise et d'autres avantages apparaitront à 5 la lecture de la description qui va suivre donnée à titre non limitatif et grâce aux figures annexées parmi lesquelles : - la figure 1 illustre un exemple de chemin au niveau d'abstraction porte ; - la figure 2 met en parallèle le chemin illustré en figure 1 et ce 10 même chemin dans un niveau d'abstraction RTL ; la figure 3 illustre les principales étapes du procédé de la présente invention ; la figure 4 illustre plus en détails l'opération d'association du tableau de labellisation et des quatrième et cinquième 15 tableaux associatifs de manière à définir le sixième tableau associatif ; la figure 5 illustre un exemple de circuit intégré composé d'un chemin réparti sur deux modules dans lequel seuls sont considérés les signaux le long dudit chemin. 20 Le procédé de la présente invention offre l'avantage de pouvoir s'appliquer à différents niveaux d'abstraction supérieurs au niveau porte et sa réalisation est indépendante du circuit étudié. Il permet de combiner des paramètres physiques relatifs aux chemins (par exemple dégradation du 25 temps de propagation des signaux sur le chemin) et ceux indépendants de la notion de chemin (température dissipée d'un ensemble de composant physiques) Il peut être mis en oeuvre avec un logiciel exécutable sur une machine ou bibliothèque logicielle pouvant être couplées à d'autres logiciels 30 de simulation existants pour effectuer l'estimation de la dégradation temporelle des chemins d'un système embarqué à des niveaux supérieurs par exemple, niveau RTL et niveau transactionnel TLM (transactionnel-comportemental). Le procédé de la présente invention permet d'envisager les 35 avantages suivants au niveau de la conception : - l'estimation de la dégradation dès les premiers cycles de développement du système : levée tôt des risques et de l'incertitude à propos de l'impact des choix de conception et de la technologie sur le circuit final ; - l'effort d'analyse et l'expertise peuvent être transférés à l'outil ; - une amélioration in fine de la productivité du concepteur ; - une exploration d'un grand nombre de configurations de l'architecture incluant l'identification des configurations qui affectent le plus (ou le moins) la performance et la fiabilité du système, cette exploration pouvant également se faire sans la connaissance de la technologie et permettant de procéder alors seulement à une analyse comparative entre deux choix de conception. Le procédé de l'invention comprend notamment et avantageusement l'estimation d'un ou plusieurs paramètres physiques des composants physiques non représentés constituants un chemin au niveau d'abstraction RTL ou supérieur. La sortie est un tableau associatif contenant les paramètres physiques nécessaires au calcul des paramètres physiques des chemins et du Cl au niveau d'abstraction RTL et supérieur. Le déroulement du procédé est illustré en figure 3. Il se décompose principalement en 5 étapes : Etape 1 : L'extraction 1 du nom dans la présente description, des 25 composants physiques décrits au niveau RTL (ou supérieur) 31, donc des composants physiques représentés, ainsi que les noms des modules. La sortie est un tableau TAB1 (détaillé ci-après). Etape 2: L'extraction 2 du nom des composants physiques d'un chemin du circuit au niveau porte logique 32. La sortie est un tableau 30 associatif TAB2 (détaillé ci-après). En parallèle, il a été établi un tableau associatif des noms des composants physiques et des noms de leur module d'appartenance, à partir de la description détaillée du circuit intégré. Etape 3: La labellisation 3 des noms des composants physiques 35 des chemins (TAB2) avec le nom des composants physiques connus ou module connu dans le tableau TAB1. La sortie est un tableau associatif TAB3 (détaillé ci-après). Etape 4: L'extraction 4 des paramètres physiques des résultats de simulation/analyse du circuit au niveau supérieur. La sortie est composée 5 de tableaux associatifs contenant les paramètres physiques des composants physiques décrits au niveau visé (TAB4 et TAB5). Etape 5: L'assignation 5 des paramètres physiques contenus dans les tableaux TAB4 et TAB5 aux signaux labellisés des chemins dans TAB3. La sortie est le tableau associatif TAB6. 10 Avantageusement, le procédé est renouvelé lorsque les entrées changent : modification de la description du circuit ou exécution d'une nouvelle simulation (modification des tableaux TAB4 et TAB5). 15 Les différentes étapes sont décrites ci-après plus en détails : Etape 1 : Cette étape consiste à analyser la description du circuit (par exemple en langage VHDL ou VERILOG ou SystemC ou SystemVERILOG) 20 et à extraire le nom des modules et celui des composants physiques représentés (NAME). La sortie est une liste de noms écrite dans le tableau TAB1 suivant (les entrées du tableau sont repérées par des indices (0, 1, ...) TAB1 - NAME NAME 0: 1: 000 25 30 Etape 2: Cette étape consiste tout d'abord à analyser la description matérielle du circuit (par exemple en langage VHDL ou VERILOG) et à extraire la liste des chemins (comme défini ci-dessus). Il existe des 5 algorithmes et outils capables d'effectuer cette opération. Le procédé écrit chaque chemin dans un tableau associatif TAB2. Une entrée est créée pour chaque chemin identifié. Le champ clef comporte le nom du chemin (Path). Pour chaque entrée, le nombre de champs de valeurs est égal au nombre de composants physiques constituants le chemin. Un champ de valeur 10 mémorise le nom du composant physique (name). L'ordre d'arrangement des composants physiques n'a pas d'importance. index TAB2 0: 1: 000 clef Champs de valeur name name name name d",117,11 ^^^^111"8 Path Path 15 Etape 3 : Cette étape est une étape de labellisation qui discrimine les composants physiques représentés et non représentés au niveau supérieur considéré. L'opération consiste à labelliser les noms des composants physiques de TAB2 (par exemple le composant physique d illustré en figure 20 2) avec des noms listés dans TAB1. Un composant physique de TAB2 est représenté si son nom apparait dans les tableaux TAB2 et TAB1 sinon il sera qualifié de non représenté. Lorsqu'il s'agit d'un composant physique représenté, le label sera son nom. Lorsqu'il s'agit d'un composant physique non représenté, le 25 label sera le nom du module parent qui inclut le composant physique non représenté et dont le nom est listé dans TAB1. Ainsi, le nom d'un composant physique non représenté au niveau porte est labellisé avec le nom du module RTL (parent) qui inclut ce composant physique. L'identification du module parent peut avoir été préalablement 5 obtenue avec l'aide d'une analyse de la hiérarchie du Cl au niveau porte et répertorié dans un tableau annexe TAB2'. 10 0 1: TAB2' 15 Une entrée est créée pour chaque chemin. La clef est le nom du chemin lu dans TAB2. Les champs valeur comportent les labels. Pour chaque entrée, le nombre de champs de valeur est égal au nombre de composants physiques ou de modules dans TAB2 pour ce 20 chemin. Un champ de valeur mémorise le label du composant physique. TAB3 Path Path label label label label iteeite0 0: 1: Un label est un motif constitué de deux ou trois champs selon le 25 nombre de paramètre physiques insérés dans les tableaux TAB4 et TAB5 comme il sera détaillé ci-après et pouvant avantageusement intégrer un discriminant. Le premier champ indique s'il s'agit d'un composant physique représenté (0) ou non (NO) qui constitue un discriminant. 30 Le second champ contient le nom du composant physique (nom). Dans le cas où au moins deux paramètres physiques sont utilisés dans TAB4 et/ou TAB5, le second champ définit le numéro du paramètre physique à considérer (param no). fre1810^05i2"1""Ift^td^ Label: 0/ NAME/ param no NO name Etape 4 : Cette étape consiste en l'extraction des paramètres physiques des 10 composants physiques décrits au niveau d'abstraction considéré. La simulation peut débuter par l'initialisation des registres et variables et le chargement des données dans les mémoires du circuit. A chaque pas de simulation, des stimuli prédéfinis sont appliqués en entrée du circuit et tous les signaux et registres et variables du système sont évalués. 15 La sortie de la simulation peut fournir une trace des valeurs des signaux, des registres et des variables à chaque pas. Deux opérations sont combinées dans cette étape : - une première opération est l'extraction des paramètres physiques des composants physiques représentés, c'est-à-dire 20 ceux décrits dans les deux niveaux d'abstraction et listés à la fois dans TAB1 et TAB2. Cette opération peut s'appuyer avantageusement sur une simulation du circuit au niveau d'abstraction supérieur. Ce paramètre physique est écrit dans le tableau associatif TAB4. Une entrée est créée pour chaque 25 composant physique. La clef est le nom du composant physique (NAME). Chaque entrée peut contenir un ou plusieurs champs. Un champ contient la valeur du paramètre physique du composant physique (Param) (par exemple la fréquence de commutation). 30 TAB4 15 0: param param 11.111.1,6 1: W.@ une deuxième opération est l'extraction du ou des valeurs des paramètres physiques estimés des modules parents, c'est-à- dire ceux listés uniquement dans TAB1 . Les paramètres physiques sont extraits à partir d'une simulation/analyse du Cl au niveau supérieur seulement ou la simulation/analyse est combinée avec une étape préalable de caractérisation des paramètres physiques qui sera effectuée avec l'aide d'une simulation/analyse au niveau porte. Les paramètres physiques obtenus sont écrits dans le tableau associatif TAB5. Dans le cas d'un seul chemin, partagé sur plusieurs modules, on attribue une valeur unique pour le paramètre physique du module parent, il n'y a pas de discrimination au niveau des différents composants physiques appartenant à un même module. Le tableau TAB5 a une structure identique à celle du tableau TAB4. Une entrée est créée pour chaque module parent. La clef contient le nom du module parent (NAME). Les champs de valeur mémorisent la valeur du paramètre physique (param). 0: TAB5 param au:watt-In 1: param NAME param NAME param Dans le cas de plusieurs chemins, partagés sur plusieurs modules, on discrimine entre les chemins, les paramètres physiques. 25 Typiquement deux chemins peuvent conduire à deux paramètres physiques pour un même module parent. Le tableau TAB5 est alors formé par le chaînage de deux sous tableaux associatifs. Dans le sous-tableau TA/35.1, une entrée est créée pour chaque module parent. La clef de ce tableau est le nom du module parent. Chaque entrée contient un champ de valeur qui est 5 un pointeur (ptr) sur le sous-tableau TAB.5.2 qui contient le ou les paramètres physiques de chaque chemin traversant ce module parent. Les chemins ont au moins un composant physique non représenté et enfant du module parent. Le nombre de tableaux est égal au plus au nombre d'entrée du tableau TAB5.1. La clef est le nom du chemin. Chaque entrée de ce 10 tableau contient un ou plusieurs champs de valeur. Un champ mémorise le paramètre physique du module parent (param). TAB5.1 NAME ptr TAB5.2 NAME ptr path para m path para m 0: 1: 15 Etape 5 : Cette étape combine les tableaux TAB3 avec les tableaux TAB4 et TAB5 afin d'associer le paramètre physique aux composants physiques des chemins. La sortie est le tableau TAB6. Le procédé s'appuie classiquement sur des opérations de lecture, de recherche et d'écriture dans les tableaux 20 associatifs. Les opérations de lecture et écriture accèdent à la clef et aux champs de valeur. L'opération de recherche consiste à déterminer l'index de l'entrée pour laquelle la clef correspond au motif recherché. Un exemple de réalisation de cette fonction est le parcours séquentiel des clefs depuis la première entrée. Les entrées de cette étape 5 du procédé sont les tableaux TAB3, TAB4 et TAB5. Les détails de cette étape sont illustrés en figure 4 sur 5 laquelle les opérations suivantes sont référencées comme suit : - l'opération de lecture : L - l'opération de recherche : R l'opération d'écriture : E l'opération de discrimination : D 10 Cette démarche est exécutée pour chaque entrée et chaque champ de valeur de TAB3. Une exécution débute par la lecture de la clef de l'entrée pointée dans TAB3 (path). Une boucle d'exécution se déroule ensuite de la manière suivante. 15 La première étape est la lecture du label du premier champ de l'entrée sélectionnée dans TAB3. La clef et la valeur lues sont mémorisées dans la mémoire MEM1. Le label est ensuite analysé pour déterminer s'il s'agit d'un composant physique représenté ou non (discrimination). S'il s'agit d'un 20 composant physique représenté, le label dans la mémoire MEM1 est envoyé à la fonction de recherche de TAB4 sinon le contenu de MEM1 est envoyé à celle du tableau TAB5, via un multiplexeur MUX1. Dans la seconde variante, la fonction de recherche du tableau TAB5.1 reçoit en entrée le label. Celle du tableau TAB5.2 reçoit en entrée le 25 nom du chemin (path). Après détermination de l'entrée, la fonction de lecture du tableau TAB5 récupère la valeur du paramètre physique (lorsque plusieurs champs existent, le numéro du champ à lire est contenu dans le label). Le paramètre physique lu est mémorisé dans la mémoire MEM2. Son contenu et le nom du 30 chemin (MEM1) sont finalement écrits dans le tableau TAB6 ayant une structure identique à celle du tableau TAB3 (figure 4). Le nombre d'entrée via le multiplexeur MUX2 sera égal à celui de TAB3. Une entrée est créée pour chaque chemin. La clef est le nom du chemin en cours de lecture dans MEM1. Le nombre de champs de valeur est égal au nombre de signaux du chemin courant. Le champ de valeur TAB6 reçoit la valeur contenue dans MEM2. Un champ sera créé à chaque boucle d'exécution. Lorsqu'un seul chemin, est à considérer, les paramètres d'un composant physique parent sont donc partagés par tous ses composants physiques enfants. Dans la deuxième variante de TAB5, l'opération assigne les paramètres physiques des composants physiques parent aux chemins « enfants » séparément : deux composants physiques enfants d'un même parent peuvent avoir deux valeurs différentes du même paramètre physique. Les tableaux TAB4 et TAB5/TAB5.1 peuvent être combinés dans un même tableau. Le champ de valeur indique également s'il s'agit d'une valeur de paramètre physique ou d'un pointeur. La notion de paramètre physique d'un parent peut correspondre à la fréquence de commutation moyenne des signaux internes (enfants), au maximum/minimum des fréquences de commutation des signaux internes ou à la puissance consommée du module ou à la température du module ou le délai de propagation d'un signal sur la ligne de métal . Le procédé décrit ci-dessus intervient après simulation du Cl au niveau RTL (ou supérieur). Le procédé (étape 5) peut être exécuté 20 également pendant la simulation du Cl à chaque pas de simulation ou de manière périodique entre plusieurs pas de simulation. Exemple de mise en oeuvre du procédé de l'invention au niveau RTL: 25 Considérons l'exemple d'un Cl composé d'un chemin P réparti sur 2 modules A et B, décrits au niveau RTL. Seuls les signaux des chemins sont considérés. Le paramètre physique étudié est la fréquence de commutation du signal ou l'activité, c'est-à-dire le ratio entre le nombre de 30 cycles d'horloge du Cl et le nombre de changements de sa valeur (0 à 1 et vice versa). L'exemple est illustré sur la figure 5. Seuls les signaux (composant physiques) utiles à l'exemple sont décrits au niveau porte. 35 Après réalisation des Etapes 1 et 2, les tableaux TAB1 et TAB2 sont définis comme représentés ci-après : O: A 1: 2: 3: 4: B 10 SOO 15 S20 20 S40 TAB1 25 A, B étant les noms des modules, s00, s20 et s40 étant les noms des composants physiques représentés. TAB2 0: Le tableau TAB2 comporte une seule entrée correspondant au 30 chemin dont le nom P est indiqué dans le champ def. s00, s10, s20, s30 et s40 sont inscrits dans les champs valeur indiquant les noms des signaux issus des composants physiques. On assimilera par la suite, les signaux aux composants dont ils sont issus. Un signai observable correspond à un composant représenté et un signal non 35 observable à un composant non représenté. Etape 3: Dans la réalisation de l'étape 3, le tableau de label TAB3 ci-après est défini. Dans le tableau TAB2, les signaux s00, s20 et s40 sont 40 représentés (label avec motif O) alors que les signaux s10, s30 et s40 ne le sont pas (label avec comme discriminant le motif NO). Les signaux s10, s30 et s40 scnt labellisés resp tivE:d.a.)nt ies MOd.:..lieS A et B d'ï uarterrance. TA 0: Etape 4: 4.1. : Réalisation de la Table TAB4 : Après simulation du circuit au niveau RTL, les valeurs des signaux s00, s20 et s40 et le nombre de cycles de simulation sont collectés. La fréquence de commutation des signaux AC est calculée et écrite dans le tableau TAB4. Le tableau contient trois entrées (trois signaux représentés). Le 15 nom du signal est écrit dans le champ clef et la valeur du paramètre physique AC est écrite dans le champ de valeur. 0: TAB4 1: 2 s00 ACOO s20 AC20 s40 AC40 20 4.2 : Réalisation de la Table TAB5 : Concernant l'estimation de l'activité des modules A et B, une approche assez précise est de caractériser l'activité des signaux internes des 25 modules. La procédure débute avec une description porte du Cl. Un ensemble de stimuli d'entrée est généré de manière aléatoire. La simulation du circuit est effectuée avec ces stimuli. L'activité totale des signaux AC du chemin est calculée pour chaque module séparément : ACA pour le module A et ACB pour le module B, permettant de définir l'activité qui pourra être associée aux composants physiques non-représentés. La deuxième variante de TAB5 est la meilleure réalisation 5 (meilleure précision). Pour le module A, la valeur ACA correspond à la somme des activités des signaux s00 et s10. Une entrée est créée dans TAB5.1. Le champ clef reçoit le symbole A et le champ valeur contient le pointeur permettant de pointer le tableau TAB5.2 relatif au module A. 10 Le tableau TAB5.2 relatif au module A est créé avec une entrée. Les symboles P et ACa sont écrits respectivement dans le champ clef et dans le champ valeur. Etape 5: Au cours de cette étape, on sélectionne le premier chemin P dans 20 TAB3. Une entrée est créée dans le tableau TAB6 et l'identifiant « P » est écrit dans le champ clef. Le premier champ de valeur s00 est lu. Le label « Ois00 » correspond au signal représenté « s00 » ; le tableau TAB4 est sélectionné et le nom « s00» est recherché dans la clef des entrées de TAB4. La valeur ACOO est écrite dans le premier champ de 0: 1: A ptr B ptr 15 TAB5.1 TekB5.2 67110714. P ACa 0: P ACb 0: valeur de TAB6. Le second champ de TAB3 contient le label « NOIA » ; le signal est non observable. Le tableau TAB5.1 est sélectionné puis le nom « A » est recherché dans la clef des entrées de ce tableau. Le tableau TAB5.2 est sélectionné puis le symbole « P» est recherché dans la clef des entrées. Enfin, le champ de valeur est lu. Le contenu ACa sera écrit dans le 2nd champ de la première entrée (0:) de TAB6. TAB6 0: Il est ainsi possible de calculer l'activité totale du chemin « P » au niveau RTL (somme des champs de valeurs du tableau TAB6 associés à la clef P) ou la dégradation du temps de propagation du chemin en insérant les champs de vaieur dans l'équation donnée dans l'article de Clement Bertolini, Olivier Héron, Nicolas Ventroux, François Marc, "Relation between HCI- induced performance degradation and applications in a RISC processor", IOLTS 2012. Exemple de procédé de l'invention utilisant un niveau supérieur de RTL : Le procédé peut également être appliqué au niveau transactionnel-comportemental (TLM), le Cl est décrit avec des modules comportementaux (par exemple une mémoire ou une unité de calcul ou une unité de contrôle) et des ports ou interfaces TLM qui connectent les modules entre eux (langage SystemC). En général, seul le comportement du composant est décrit dans le module (assez similaire à une machine d'états). Le langage SystemC offre une liberté dans la manière de décrire le système. Il y a néanmoins des règles pour attribuer un nom aux variables à respecter pour garantir le bon déroulement de l'opération de labellisation. Etant donné que la notion de signal est également présente dans le langage SystemC, le nom d'un signal SystemC doit exister également dans la description porte du Cl. Une interface TLM est matérialisée par une structure de donnée 5 qui est lue et écrite par les modules. La structure contient une ou plusieurs variables d'un type prédéfini (par exemple entier 32 bits). La structure de donnée modélise le comportement d'un groupe de signaux réels. Il doit exister une correspondance entre le nom des signaux au niveau porte et le nom des variables dans cette structure. 10 REVENDICATIONS1. Procédé d'analyse du comportement d'un circuit intégré comprenant des chemins et composants physiques, mis en oeuvre par ordinateur, lesdits composants physiques étant soit non représentés dans un premier niveau d'abstraction au moins égal ou supérieur au niveau RTL, soit représentés dans ledit premier niveau d'abstraction ; - ledit circuit intégré comprenant un ensemble de modules (A, B) constitués de composant(s) physiques(s) ; - chaque module définissant une fonction entre un signal d'entrée et un signal de sortie, - les composants physiques, les chemins et les modules étant identifiés chacun par un nom, ledit procédé comprenant les étapes suivantes : - une première étape d'extraction d'un premier ensemble de noms correspondant aux composants physiques représentés et aux modules (TAB1) ; - une seconde étape comprenant l'extraction des noms des chemins et ceux des composants physiques pour chacun desdits chemins (TAB2) et comprenant l'assignation d'un nom de module d'appartenance auxdits composés physiques (TAB2') ; - une troisième étape attribuant un label à l'ensemble des composants physiques (TAB3) : o ledit label étant leur nom pour les composants représentés ; o ledit label étant le nom du module d'appartenance pour les composants non représentés ; une quatrième étape de détermination d'au moins un paramètre physique pour chacun des composants représentés et pour chacun des modules, et d'association des noms des composants représentés aux paramètres physiques déterminés(TAB4) et d'association des noms des modules aux paramètres physiques déterminés (TAB5) ; - une cinquième étape d'assignation de paramètres physiques déterminés et nommés dans la quatrième étape, aux composants physiques nommés dans la seconde étape d'extraction (TAB6). 2. Procédé d'analyse du comportement d'un circuit intégré mis en oeuvre par ordinateur selon la revendication 1, caractérisé en ce que les 10 paramètres physiques des composants physiques représentés sont obtenus par simulation/analyse du circuit au niveau supérieur. 3. Procédé d'analyse du comportement d'un circuit intégré mis en oeuvre par ordinateur, selon l'une des revendications 1 ou 2, caractérisé en 15 ce que l'assignation d'un module à un composant physique non représenté est réalisée par l'analyse de la hiérarchie du circuit intégré au niveau porte. 4. Procédé d'analyse du comportement d'un circuit intégré mis en oeuvre par ordinateur, selon l'une des revendications 1 à 3, caractérisé en ce 20 qu'au moins un module étant traversé par plusieurs chemins, la quatrième étape de détermination d'au moins un paramètre physique pour chacun des modules comprend : - une étape de chaînage d'au moins deux sous-étapes : o une première sous-étape de pointage des chemins 25 traversant chaque module (TAB5.1) ; o une seconde sous-étape de détermination pour chaque chemin pointé, du paramètre physique associé audit module (TAB5.2). 30 5. Procédé d'analyse du comportement d'un circuit intégré mis en oeuvre par ordinateur, selon l'une des revendications 1 à 4, caractérisé en ce que la troisième étape attribuant un label à l'ensemble des composants physiques comporte en outre l'affectation d'un discrimant de l'état représenté et non représenté, à chacun des composants physiques (O, NO). 35 6. Procédé d'analyse du comportement d'un circuit intégré mis en oeuvre par ordinateur, selon l'une des revendications 1 à 5, caractérisé en ce que le paramètre physique peut être la fréquence de commutation d'un signal ou le temps de maintien d'un signal ou l'activité correspondant au ratio entre un nombre (total) de changement de valeur ou un nombre de cycles de maintien a 1 ou un nombre de cycles de maintien a 0 d'un signal et le nombre de cycles du signal d'horloge. 7. Procédé d'analyse du comportement d'un circuit intégré mis en 10 oeuvre par ordinateur, selon l'une des revendications 1 à 5, caractérisé en ce que le paramètre physique est le délai de propagation d'une cellule logique. 8. Procédé d'analyse du comportement d'un circuit intégré mis en oeuvre par ordinateur, selon l'une des revendications 1 à 7, caractérisé en 15 ce qu'il comprend la construction de tableaux associatifs avec des clef d'entrée et des champs valeurs pour exploiter les résultats des seconde, troisième, quatrième et cinquième étapes. 9. Procédé d'analyse du comportement d'un circuit intégré mis en 20 oeuvre par ordinateur, selon l'une des revendications 1 à 5, caractérisé en ce que le premier niveau d'abstraction au moins égal ou supérieur au niveau RTL est un niveau transactionnel-comportemental (TLM), les modules étant des modules comportementaux pouvant comprendre au moins une mémoire ou une unité de calcul ou une unité de contrôle et des ports ou interfaces 25 TLM qui connectent les modules entre eux. 10. Procédé d'analyse du comportement d'un circuit intégré mis en oeuvre par ordinateur, comprenant : les étapes du procédé d'analyse fonctionnelle, mis en oeuvre 30 par ordinateur, d'un circuit intégré selon l'une des revendications 1 à 9 ; - dont une succession d'au moins deux séries d'opérations décalées dans le temps pour : o ladite quatrième étape de détermination d'au moins un 35 paramètre physique pour chacun des composantsreprésentés et pour chacun des modules, et d'association des noms des composants représentés et des noms des modules, avec les paramètres physiques déterminés, la détermination d'au moins un paramètre physique pour les composants physiques représentés permettant d'établir un quatrième tableau associatif (TAB4) comportant le nom des composants physiques et leur paramètre physique associé ; - une étape de comparaison des cinquièmes étapes d'assignation de paramètre physiques déterminés et nommés dans la quatrième étape, aux composants physiques nommés dans la seconde étape d'extraction, permettant de suivre l'évolution temporelle dudit circuit intégré. 11. Programme d'ordinateur comportant des instructions pour l'exécution du procédé d'analyse du comportement d'un circuit intégré mis en oeuvre par ordinateur, selon l'une quelconque des revendications 1 à 10, lorsque le programme est exécuté par un processeur. 12. Module de conception destiné à être embarqué dans un circuit intégré comportant au moins une unité de calcul et une mémoire, mettant en oeuvre le procédé d'analyse du comportement d'un circuit intégré mis en oeuvre par ordinateur selon l'une quelconque des revendications 1 à 10.