Brevet FR3112635A1 — publié le 20220121

L’invention porte sur un procédé mis en œuvre par ordinateur de conception d’un système sur puce. Ce procédé comprend la détermination d’un modèle de consommation de puissance dudit système (Mod) à partir de données d’apprentissage (Dapp) chacune constituée : - d’une trace, dite d’apprentissage (Tapp), constituée par l’enregistrement, lors d’une simulation ou d’une émulation d’une conception possible dudit système dite d’apprentissage (Capp), d’un ensemble de valeurs de signaux dits essentielles dudit système (LSess), et - d’une évaluation de la consommation de puissance de ladite conception d’apprentissage (Capp) basée sur la trace d’apprentissage (Tapp). - Selon l’invention, pour constituer une trace d’apprentissage l’ensemble des valeurs des signaux essentiels n’est enregistré que sur certaines fenêtres temporelles (LW) de ladite simulation ou émulation. Figure pour l’abrégé : Figure 1 Procédé de modélisation de la consommation de puissance d’un système sur puce avec réduction de trace de simulation/émulation Le domaine de l’invention est celui de la conception par ordinateur de systèmes sur puce. L’invention concerne plus particulièrement les méthodes d’analyse de consommation de puissance de systèmes sur puce en cours de développement qui exploitent un modèle construit par apprentissage machine. L’analyse de la consommation de puissance est une étape importante durant le développement de logiciels et de matériels. Au niveau logiciel, il est par exemple nécessaire d’instrumenter un système sur puce à des fins de gestion de la consommation de puissance dans le but d’augmenter la durée de vie des batteries. L’analyse de consommation de puissance est aussi utilisée lors de l’étape de développement matériel d’une architecture numérique afin d’apporter au plus tôt des modifications permettant à cette architecture de moins consommer. Avec la complexité grandissante des architectures numériques et des applications exécutées sur ces architectures, l’analyse de consommation prend beaucoup de temps (plusieurs semaines ou mois) car elle dépend d’une longue trace de simulation correspondant à l’enregistrement d’une grande quantité de données. Ainsi, pour accélérer cette étape et comme par exemple décrit dans l’article de Y. Zhou, H. Ren, Y. Zhang, B. Keller, B. Khailany et Z. Zhang, intitulé «PRIMAL: Power Inference using Machine Learning,» Design Automation Conference, pp. 1-6, 2019, il est avantageux d’avoir recours à un modèle de consommation de puissance de l’architecture numérique construit par apprentissage machine. La création d’un modèle de consommation de puissance par apprentissage machine se décompose en deux étapes. La première étape consiste en la génération de données d’apprentissage chacune constituée d’une trace de simulation ou d’émulation d’une conception possible (on parle également d’architecture ou de design ) du système sur puce et d’une estimation de consommation de puissance d’une telle conception. La trace de simulation/émulation est obtenue à l’issue d’une simulation ou d’une émulation de ladite conception, avec des outils de simulation ou d’émulation du commerce. Cette trace de simulation/émulation est constituée par l’enregistrement, lors de ladite simulation ou émulation, d’un ensemble de valeurs de signaux du système dont une liste est pour cela définie. En fonction du nombre de signaux dont les valeurs sont à enregistrer, de la complexité du système et/ou de l’application exécutée sur ce système, l’étape de simulation/émulation peut être très longue. La consommation de puissance est quant à elle estimée à l’aide d’outils, très précis, d’analyse de consommation du commerce qui effectuent par exemple cette analyse à partir d’une description au niveau portes logiques de ladite conception et de la trace de simulation/émulation. Le temps d’estimation de la consommation de puissance peut être très élevé lorsque la conception est complexe et/ou lorsque la trace de simulation/émulation est grande. La deuxième étape consiste en la modélisation elle-même qui peut être faite à l’aide d’une régression linéaire, d’un réseau de neurones convolutionnels ou d’autres algorithmes d’apprentissage. En fonction de la quantité de données utilisées lors de l’apprentissage, cette étape peut aussi être très consommatrice en temps. Une fois le modèle construit, seule est enregistrée une trace de simulation/émulation contenant les valeurs des signaux du modèle d’une conception du système à évaluer. Cette trace de simulation/émulation et le modèle précédemment construit permettent alors de fournir une estimation de la consommation de puissance de la conception à évaluer, sans qu’il soit alors nécessaire de mener une analyse de consommation de puissance en tant que telle. Pour que le modèle généré soit fiable il est nécessaire d’enregistrer une quantité importante de valeurs de signaux ce qui engendre une taille de trace de simulation/émulation pouvant aller jusqu’à quelques téraoctets. Par conséquent, la construction d’un tel modèle devient le nouveau goulot d’étranglement. L’invention a pour objectif d’accélérer la modélisation de la consommation de puissance d’un système sur puce tout en générant un modèle précis. A cet effet, l’invention propose un procédé mis en œuvre par ordinateur de conception d’un système sur puce, comprenant la détermination d’un modèle de consommation de puissance dudit système à partir de données d’apprentissage. Chaque donnée d’apprentissage comprend : une trace, dite d’apprentissage, constituée par l’enregistrement, lors d’une simulation ou d’une émulation d’une conception possible dudit système, d’un ensemble de valeurs de signaux dits essentiels dudit système ; et une évaluation de la consommation de puissance de ladite conception basée sur la trace d’apprentissage. Dans ce procédé, pour constituer une trace d’apprentissage l’ensemble de valeurs des signaux essentiels n’est enregistré que sur certaines fenêtres temporelles de ladite simulation ou émulation. Certains aspects préférés mais non limitatifs de ce procédé sont les suivants : - il comprend une étape de sélection des fenêtres temporelles sur lesquelles l’ensemble de valeurs des signaux essentiels d’une trace d’apprentissage est enregistré, ladite étape de sélection comprenant : - l’enregistrement, lors d’une simulation ou d’une émulation de ladite conception, d’un ensemble de valeurs de signaux dits de sélection dudit système pour constituer une trace dite de sélection ; - le découpage de la trace de sélection en une pluralité de fenêtres temporelles successives ; - l’identification d’ensembles de fenêtres temporelles similaires dans la pluralité de fenêtres temporelles successives ; - pour chaque ensemble de fenêtres temporelles similaires, la sélection d’une fenêtre représentative de l’ensemble, ladite fenêtre représentative constituant une fenêtre sur laquelle l’ensemble des valeurs des signaux essentiels de la trace d’apprentissage est enregistré ; - chacune des fenêtres temporelles successives comprend pour chacun desdits signaux de sélection une série temporelle d’instances du signal de sélection et l’identification d’ensembles de fenêtres temporelles similaires comprend : - la transformation de chaque série temporelle en une donnée non temporelle, chacune des fenêtres temporelles successives étant représentées par un ensemble de données non temporelles, - un partitionnement des fenêtres temporelles successives en lesdits ensembles de fenêtres temporelles similaires en fonction d’une similarité de leur représentation par l’ensemble de données non temporelles ; - la donnée non temporelle dans laquelle une série temporelle d’instances d’un signal de sélection est transformée correspond à la somme de chaque instance de la série temporelle ; - le partitionnement des fenêtres temporelles successives en lesdits ensembles de fenêtres temporelles similaires est un partitionnement du type à k-moyennes ; - la sélection d’une fenêtre représentative d’un ensemble de fenêtres similaires comprend la sélection de la fenêtre la plus proche du centroïde des fenêtres similaires dudit ensemble ; - le nombre de signaux de sélection est inférieur au nombre de signaux essentiels. - l’enregistrement de l’ensemble de valeurs des signaux de sélection comprend, de préférence consiste en, l’enregistrement de valeurs de compteurs de performance matérielle ; - l’évaluation de la consommation de puissance de ladite conception exploite une description de ladite conception et la trace d’apprentissage constituée lors de la simulation ou de l’émulation de ladite conception ; - la description de ladite conception est une description au niveau transfert de registres ; - il comprend une étape de synthèse logique qui convertit une description au niveau transferts de registres de ladite conception en ladite description au niveau portes logiques ; - la détermination du modèle de consommation de puissance à partir des données d’apprentissage comprend une réduction de dimensionnalité suivie d’une régression linéaire ; - la réduction de dimensionnalité comprend une analyse en composantes principales. - il comprend comprenant une estimation de la consommation de puissance de ladite conception, ladite estimation étant basée sur une trace constituée par l’enregistrement, lors d’une simulation ou d’une émulation de ladite conception, d’un ensemble de valeurs de signaux dits d’évaluation dudit système et sur le modèle de consommation de puissance. D'autres aspects, buts, avantages et caractéristiques de l’invention apparaîtront mieux à la lecture de la description détaillée suivante de formes de réalisation préférées de celle-ci, donnée à titre d'exemple non limitatif et faite en référence aux dessins annexés sur lesquels : la figure 1 est un schéma représentant la génération de données d’apprentissage destinées à être utilisées lors de la détermination par apprentissage machine d’un modèle de consommation de puissance d’une conception possible d’un système sur puce en cours de développement ; la figure 2 est un schéma représentant un exemple de réalisation possible de la sélection des fenêtres temporelles sur lesquelles l’ensemble de valeurs des signaux essentiels d’une trace d’apprentissage est enregistré ; la figure 3 est un schéma représentant l’utilisation du modèle de consommation de puissance pour estimer la consommation de puissance d’une conception en cours d’évaluation du système sur puce. EXPOSÉ DÉTAILLÉ DE MODES DE RÉALISATION PARTICULIERS L’invention a pour cadre la conception par ordinateur d’un système sur puce. Cette conception intègre l’estimation de la consommation de puissance du système sur puce pour différents applicatifs. L’invention s’inscrit plus particulièrement dans les techniques qui, pour accélérer cette estimation, élaborent et exploitent un modèle de consommation de puissance dudit système. Dans ce cadre, l’invention porte plus particulièrement sur un procédé permettant d’accélérer la modélisation par apprentissage de la consommation de puissance des architectures numériques. Comme représenté sur la figure 1, ce procédé comprend la détermination d’un modèle de consommation de puissance Mod d’un système sur puce à partir de données d’apprentissage Dapp chacune constituée : - d’une trace, dite d’apprentissage Tapp, constituée par l’enregistrement, lors d’une simulation ou d’une émulation d’une conception possible dudit système CON, d’un ensemble de valeurs de signaux dits essentiels dudit système LSess, et - d’une évaluation Papp de la consommation de puissance de ladite conception CON basée sur la trace d’apprentissage Tapp. Les données d’apprentissage Dapp sont plus particulièrement générées dans un bloc référencé 10 sur la figure 1. On retrouve dans ce bloc 10 de génération des données d’apprentissage une liste de signaux essentiels LSess de la conception CON. Ces signaux essentiels de la conception CON correspondent par exemple aux registres, aux entrées/sorties et aux signaux combinatoires non supprimés lors d’une étape de synthèse logique de la conception CON. A titre purement illustratif, dans un exemple de réalisation particulier de l’invention ces signaux essentiels sont au nombre de 60487. Cette liste de signaux essentiels LSess est fournie à un simulateur ou à un émulateur SIM/EMU de la conception CON. Le simulateur peut être un outil de simulation qui exploite une description au niveau transferts de registres (RTL pour « Register Transfer Level ») de ladite conception CON. Dans un exemple de réalisation de l’invention, l’émulateur ZeBu® de la société Synopsys est utilisé. Le simulateur/émulateur SIM/EMU va former la trace d’apprentissage Tapp constituée par l’enregistrement, lors de la simulation ou de l’émulation de la conception CON, de l’ensemble de valeurs des signaux essentiels dudit système LSess. La trace ainsi constituée peut être enregistrée sous un format VCD (« Value Change Dump ») ou FSDB (« Fast Signal Data Base »). L’évaluation de la consommation de puissance Papp de la conception CON est quant à elle générée par un outil d’analyse de consommation PWest, par exemple l’outil PrimeTime PX, l’outil PrimePower ou encore l’outil ZeBu® Power Analyzer, tous proposés par la société Synopsys. Cet outil PWest exploite la trace d’apprentissage Tapp et une description de la conception CON. La description de ladite conception CON peut être une description au niveau portes logiques. Si nécessaire, une étape de synthèse logique SynLog peut être mise œuvre afin de convertir une description au niveau transferts de registres de ladite conception CON en ladite description au niveau portes logiques. Les données d’apprentissage Dapp sont exploitées pour déterminer par apprentissage machine le modèle de consommation de puissance Mod. Une mise en forme de la trace d’apprentissage peut être réalisée qui consiste à générer une matrice d’activité, à savoir une matrice binaire dont les coefficients (0 ou 1) traduisent le changement de valeur d’un signal essentiel du cycle précédent au cycle courant. Ainsi, un changement de valeur peut correspondre à un coefficient égal à 1 et une absence de changement de valeur à un coefficient égal à 0. L’apprentissage machine est basée sur les méthodes d’apprentissage connues, telles que la régression linéaire, la régression linéaire combinée avec de la réduction de dimensionnalité par exemple au moyen d’une analyse en composantes principales (PCA pour « Principal Component Analysis »), les réseaux de neurones convolutionnels, les arbres de décision, etc. Dans un mode de réalisation possible, un modèle linéaire est recherché, par exemple au moyen d’une régression linéaire, qui relie la consommation de puissance P aux activités X des signaux essentiels selon P=βX avec β des coefficients à déterminer lors de la caractérisation du modèle de consommation de puissance. Dans un mode de réalisation préférentiel, la détermination du modèle de consommation de puissance Mod intègre une réduction de dimensionnalité de manière à créer un modèle qui n’exploite parmi les signaux essentiels que des signaux pertinents en matière de consommation. Dans ce cadre, un modèle linéaire peut également être recherché, par exemple au moyen d’une réduction de dimensionnalité suivie d’une régression linéaire pour résoudre l’équation P=βX. La réduction de dimensionnalité peut par exemple être obtenue au moyen d’une analyse en composantes principales. A titre illustratif, dans un exemple de réalisation de l’invention, les seuls signaux essentiels pertinents en matière de consommation ne représentent qu’environ 2% des signaux essentiels. Une fois le modèle déterminé, la consommation de puissance peut alors être estimée selon l’équation P’=β’X’ avec X’ les activités de signaux dits d’évaluation qui correspondent aux signaux utilisés dans le modèle de consommation de puissance, en l’occurrence les seuls signaux essentiels pertinents en matière de consommation. Selon l’invention, la taille des traces d’apprentissage Tapp est réduite. Pour cela, lors de la constitution d’une trace d’apprentissage Tapp, l’ensemble de valeurs de signaux essentiels n’est enregistré que sur certaines fenêtres temporelles de ladite simulation ou émulation SIM/EMU de la conception CON. Une liste de fenêtres LW est pour cela fournie au bloc 10 de génération des données d’apprentissage, plus particulièrement au simulateur/émulateur SIM/EMU. L’enregistrement de l’ensemble de valeurs de signaux essentiels sur une liste de fenêtres réduite permet d’accélérer l’étape de simulation ou émulation SIM/EMU de la conception CON et, de là, la constitution de la trace d’apprentissage. L’utilisation d’une trace d’apprentissage réduite permet d’accélérer fortement l’évaluation de la consommation de puissance Papp de la conception d’apprentissage Capp réalisée par l’outil d’analyse de consommation PWest. L’accélération conjointe de l’étape de simulation/émulation et de l’étape d’évaluation de la consommation de puissance permet in fine d’accélérer l’étape de détermination du modèle de consommation de puissance Mod. Cette liste LW est plus particulièrement fournie au bloc 10 par un bloc 20 de sélection des fenêtres temporelles sur lesquelles l’ensemble de valeurs des signaux essentiels d’une trace d’apprentissage est enregistré. D’une manière générale, ce bloc 20 vient générer une trace de simulation/émulation de la conception CON constituée par l’enregistrement de valeurs d’un faible nombre de signaux du système sur puce en cours de développement, ces signaux étant fortement corrélées aux différents états de fonctionnement dudit système. Puis les redondances dans cette trace de simulation/émulation sont identifiées et éliminées. Seules des fenêtres temporelles uniques caractéristiques de l’activité du système sur puce sont alors conservées pour former la liste LW. Dans un mode de réalisation possible, le procédé selon l’invention comprend la mise en œuvre dans le bloc 20 d’une étape de sélection, manuelle ou automatique, des fenêtres temporelles LW sur lesquelles l’ensemble de valeurs des signaux essentiels LSess d’une trace d’apprentissage Tapp de la conception CON est enregistré. Ladite étape de sélection comprend l’enregistrement, lors d’une simulation ou d’une émulation de la conception CON, d’un ensemble de valeurs de signaux dits de sélection dudit système LSsel pour constituer une trace dite de sélection Tsel. On retrouve ainsi dans ce bloc 20 une liste des signaux de sélection LSsel de la conception CON. Ces signaux de sélection sont de préférence fortement corrélés au fonctionnement de la conception CON et en nombre inférieur au nombre de signaux essentiels. Dans un mode de réalisation préférentiel, l’ensemble de valeurs des signaux de sélection comprend, de préférence consiste en, un ensemble de valeurs de compteurs de performance matérielle (HPC pour « Hardware Performance Counter », ces compteurs étant également désignés comme des moniteurs de performance matérielle HPM pour « Hardware Performance Monitors ») qui permettent d’observer la performance d’une application exécutée sur un processeur. Dans une réalisation de l’invention basée sur le processeur RISC-V Rocket core, les signaux de sélection sont constitués de moniteurs HPM qui, en faible nombre, permettent d’avoir des informations telles que le nombre d’instructions exécutées par cycles et leur type, le nombre d’accès aux caches, etc. A titre d’exemple illustratif, les 12 HPM suivants ont pu être retenus dans la liste des signaux de sélection LSsel : Type d’évènements HPM Mémoire et système Défaut de cache de données/Accès MMIO ( Data cache miss/MMIO access ) Présence en cache de données ( Data cache hits ) Présence en cache d’instructions ( Instruction cache hits ) Instructions Chargement de donnée entière ( Integer load ) Stockage de donnée entière ( Integer store ) Division de donnée entière ( Integer division ) Opération arithmétique de donnée entière ( Integer arithmetic ) Microarchitecture Branche conditionnelle ( Conditional branch ) Mauvaise prédiction de direction de branchement ( Branch direction misprediction ) Mauvaise prediction de saut de branchement ( Branch jump to target misprediction ) Vidage du pipeline ( Pipeline flush ) Verrouillage de multiplication entière ( Integer multiply interlock ) Cette liste de signaux de sélection LSsel est fournie au simulateur ou à l’émulateur SIM/EMU lors de la simulation ou émulation de la conceptionCON. Le simulateur/émulateur SIM/EMU va former la trace de sélection Tsel constituée par l’enregistrement, lors de la simulation ou de l’émulation de la conception CON, de l’ensemble de valeurs des signaux de sélection LSsel. La trace ainsi constituée peut être enregistrée sous un format VCD (« Value Change Dump ») ou FSDB (« Fast Signal Data Base »). L’étape de sélection des fenêtres temporelles LW peut se poursuivre de manière à identifier et éliminer les redondances dans la trace de sélection Tsel par une opération d’analyse ELIM de la trace de sélection. En référence à la figure 2, cette opération d’analyse peut comprendre : - le découpage WD de la trace de sélection en une pluralité de fenêtres temporelles successives, typiquement en fenêtres de même taille, par exemple en fenêtres de 100 cycles; - l’identification TRANS, CLUST d’ensembles de fenêtres temporelles similaires dans la pluralité de fenêtres temporelles successives ; - pour chaque ensemble de fenêtres temporelles similaires, la sélection SLC d’une fenêtre représentative de l’ensemble, ladite fenêtre représentative étant intégrée à la liste LW comme une fenêtre sur laquelle l’ensemble de valeurs des signaux essentiels de la trace d’apprentissage est enregistré. Chacune des fenêtres temporelles successives comprend pour, chacun desdits signaux de sélection, une série temporelle d’instances d’un signal de sélection, où chaque instance représentant la valeur du signal de sélection j au cycle k est notée e k ,j . Les algorithmes pour identifier des similitudes entre des séries temporelles ont une complexité très élevée et sont donc très gourmands en calcul contrairement aux algorithmes utilisés pour identifier des similitudes entre données non temporelles. Ainsi dans un mode de réalisation privilégié de l’invention, l’identification d’ensembles de fenêtres temporelles similaires comprend : - la transformation TRANS de chaque série temporelle en une donnée non temporelle, chacune des fenêtres temporelles successives étant représentées par un ensemble des données non temporelles, - un partitionnement CLUST des fenêtres temporelles successives en lesdits ensembles de fenêtres temporelles similaires en fonction d’une similarité de leur représentation par l’ensemble de données non temporelles. La donnée non temporelle dans laquelle une série temporelle d’instances d’un signal de sélection est transformée peut correspondre à la somme de chaque instance de la série temporelle. Avec ws représentant la taille d’une fenêtre en nombre de cycles, la donnée non temporelle relative à la série temporelle des valeurs d’un signal de sélection j pour la fenêtre i s’exprime selon . Ainsi, après transformation des séries temporelles, chaque fenêtre i se retrouve représentée par un vecteur de données non temporelles avec m le nombre de signaux de sélection. Le partitionnement CLUST est alors mis en œuvre pour identifier des fenêtres présentant des vecteurs de données non temporelles similaires. Dans un mode de réalisation possible, le partitionnement des fenêtres temporelles successives en ensembles de fenêtres temporelles similaires est un partitionnement du type à k-moyennes. L’invention n’est toutefois aucunement limitée à ce type d’algorithme, d’autres algorithmes de partitionnement pouvant parfaitement être mis en œuvre comme par exemple l’algorithme de classification ascendante hiérarchique (CAH) ou le k-médoïdes. Lorsqu’un partitionnement du type à k-moyennes est utilisé, la sélection d’une fenêtre représentative d’un ensemble de fenêtres similaires peut comprendre la sélection de la fenêtre la plus proche (par exemple au sens de la distance euclidienne ou de la distance de Manhattan) du centroïde des fenêtres similaires dudit ensemble. Lorsqu’un partitionnement du type à k-médoïdes est utilisé, la fenêtre représentative peut correspondre au médoïde qui est la fenêtre la plus centrale d’une partition. Dans un exemple de réalisation de l’invention, l’exploitation de la liste LW pour réduire la taille de la trace d’apprentissage conduit, dans le cas d’un démarrage d’un système d’exploitation Linux sur le processeur RISC-V Rocket core, à ce que cette trace d’apprentissage présente une taille de 55 Mo là où elle présenterait une taille de 161 Go en l’absence de mise en œuvre de l’invention. Un taux de compression d’environ 3000 est ainsi constaté. Des résultats du temps d’exécution nécessaire pour mener différentes étapes de la détermination d’un modèle de consommation de puissance sont donnés ci-dessous à titre d’exemples, en venant comparer mise en œuvre de l’invention (« Avec fenêtrage ») et absence de mise en œuvre de l’invention (« Sans fenêtrage ») toujours dans le cadre d’un démarrage d’un système d’exploitation Linux. Etapes Temps d’exécution (secondes) Sans fenêtrage Avec fenêtrage Génération de la trace de sélection - 994 Sélection des fenêtres - 900 Génération de la trace d’apprentissage 8354 197 Génération de la donnée d’apprentissage Impossible à générer 85 Création du modèle de consommation de puissance Infaisable 115 Total Infaisable 2291 On constate ainsi que 38 minutes seulement sont nécessaires pour élaborer le modèle de consommation de puissance. On rappelle en outre que ce modèle peut ne reposer que sur des signaux essentiels pertinents en matière de consommation qui ne représentent qu’environ 2% des signaux essentiels. Pour autant le modèle présente une précision d’environ 95%. On a représenté sur la figure 3 un schéma représentant l’utilisation du modèle de consommation de puissance Mod pour estimer la consommation de puissance de la conception CON. Cette estimation est basée sur une trace Teva constituée par l’enregistrement, lors d’une simulation ou d’une émulation SIM/EMU de ladite conception CON, d’un ensemble de valeurs de signaux dits d’évaluation dudit système (définis dans une liste LSeva) et sur le modèle de consommation de puissance Mod. Les signaux d’évaluation correspondent aux signaux utilisés dans le modèle de consommation de puissance Mod. L’invention n’est pas limitée au procédé tel que précédemment décrit, mais s’étend également à un produit programme d’ordinateur comprenant des instructions de code de programme pour la mise en œuvre de ce procédé lorsque ledit programme est exécuté sur un ordinateur. Procédé mis en œuvre par ordinateur de conception d’un système sur puce, comprenant la détermination d’un modèle de consommation de puissance dudit système (Mod) à partir de données d’apprentissage (Dapp) chacune constituée : d’une trace, dite d’apprentissage (Tapp), constituée par l’enregistrement, lors d’une simulation ou d’une émulation d’une conception possible dudit système (CON), d’un ensemble de valeurs de signaux dits essentiels dudit système (LSess) ; et d’une évaluation de la consommation de puissance de ladite conception (CON) basée sur la trace d’apprentissage (Tapp) ; caractérisé en ce que pour constituer une trace d’apprentissage l’ensemble de valeurs des signaux essentiels n’est enregistré que sur certaines fenêtres temporelles (LW) de ladite simulation ou émulation. Procédé selon la revendication 1, comprenant une étape de sélection des fenêtres temporelles sur lesquelles l’ensemble de valeurs des signaux essentiels d’une trace d’apprentissage est enregistré, ladite étape de sélection comprenant : l’enregistrement, lors d’une simulation ou d’une émulation de ladite conception (CON), d’un ensemble de valeurs de signaux dits de sélection dudit système (LSsel) pour constituer une trace dite de sélection (Tsel) ; le découpage de la trace de sélection en une pluralité de fenêtres temporelles successives ; l’identification d’ensembles de fenêtres temporelles similaires dans la pluralité de fenêtres temporelles successives ; pour chaque ensemble de fenêtres temporelles similaires, la sélection d’une fenêtre représentative de l’ensemble, ladite fenêtre représentative constituant une fenêtre sur laquelle l’ensemble des valeurs des signaux essentiels de la trace d’apprentissage est enregistré. Procédé selon la revendication 2, dans lequel chacune des fenêtres temporelles successives comprend pour chacun desdits signaux de sélection une série temporelle d’instances du signal de sélection et dans lequel l’identification d’ensembles de fenêtres temporelles similaires comprend : la transformation de chaque série temporelle en une donnée non temporelle, chacune des fenêtres temporelles successives étant représentées par un ensemble de données non temporelles, un partitionnement des fenêtres temporelles successives en lesdits ensembles de fenêtres temporelles similaires en fonction d’une similarité de leur représentation par l’ensemble de données non temporelles. Procédé selon la revendication 3, dans lequel la donnée non temporelle dans laquelle une série temporelle d’instances d’un signal de sélection est transformée correspond à la somme de chaque instance de la série temporelle. Procédé selon l’une des revendications 3 et 4, dans lequel le partitionnement des fenêtres temporelles successives en lesdits ensembles de fenêtres temporelles similaires est un partitionnement du type à k-moyennes. Procédé selon la revendication 5, dans lequel la sélection d’une fenêtre représentative d’un ensemble de fenêtres similaires comprend la sélection de la fenêtre la plus proche du centroïde des fenêtres similaires dudit ensemble. Procédé selon l’une des revendications 2 à 6, dans lequel le nombre de signaux de sélection est inférieur au nombre de signaux essentiels. Procédé selon la revendication 7, dans lequel l’enregistrement de l’ensemble de valeurs des signaux de sélection comprend, de préférence consiste en, l’enregistrement de valeurs de compteurs de performance matérielle. Procédé selon l’une des revendications 1 à 7, dans lequel l’évaluation de la consommation de puissance de ladite conception (CON) exploite une description de ladite conception et la trace d’apprentissage (Tapp) constituée lors de la simulation ou de l’émulation de ladite conception. Procédé selon la revendication 9, dans lequel la description de ladite conception est une description au niveau transfert de registres. Procédé selon la revendication 10, comprenant une étape de synthèse logique (SynLog) qui convertit une description au niveau transferts de registres de ladite conception en ladite description au niveau portes logiques. Procédé selon l’une des revendications 1 à 11, dans lequel la détermination du modèle de consommation de puissance à partir des données d’apprentissage comprend une réduction de dimensionnalité suivie d’une régression linéaire. Procédé selon la revendication 12, dans lequel la réduction de dimensionnalité comprend une analyse en composantes principales. Procédé selon l’une des revendications 1 à 13, comprenant en outre une estimation de la consommation de puissance de ladite conception (CON), ladite estimation étant basée sur une trace (Teva) constituée par l’enregistrement, lors d’une simulation ou d’une émulation de ladite conception, d’un ensemble de valeurs de signaux dits d’évaluation dudit système (LSeva) et sur le modèle de consommation de puissance (Mod). Produit programme d’ordinateur comprenant des instructions de code de programme pour la mise en œuvre du procédé selon l’une des revendications 1 à 14 lorsque ledit programme est exécuté sur un ordinateur.