(57)【要約】      （修正有）【課題】ＳｏＣ回路の場合であっても、機能記述ファイルに基づいてデジタル回路がそれ自体の出力変数（温度など）を計算できるようにする。【解決手段】デジタル回路の機能記述を含むファイル１４に基づいたデジタル回路シミュレータ１２とシミュレータ１２に供給されるテストベンチ２６を実行する時にデジタル回路から出力変数３０’を予想する手段２８とイベントカウンタ３４’とを含み、イベントは、テストベンチ２６を実行する時にシミュレータ１２によって提供された制御信号を用いて検出される。システムは、イベントカウンタからの出力データを用いてデジタル回路の出力変数３０’を計算するモデルを反復して最適化することによって、イベントカウンタ３４’の一部を選択する手段４０、４４とイベントカウンタの選択された部分及び最適化された計算モデルを登録する手段４０、４４とを更に含む。【選択図】図１
2013105492.tif 000002
【特許請求の範囲】
【請求項１】
デジタル回路の機能記述を含むファイル（１４）に基づくデジタル回路（５２）シミュレータ（１２）と、前記シミュレータ（１２）に供給されたテストベンチ（２６）を実行する時に前記デジタル回路から出力変数（３０’）を予想する手段（２８）と、イベントカウンタ（３４’）であって、前記イベントは前記テストベンチ（２６）を実行する時に前記シミュレータ（１２）によって提供された制御信号を用いて検出されるイベントカウンタと、を含み、前記イベントカウンタからの出力データを用いて前記デジタル回路（５２）の前記出力変数（３０’）を計算するモデルを反復して最適化することにより、前記イベントカウンタ（３４’）の一部を選択する手段（４０、４４）と、前記イベントカウンタの選択された部分及び前記最適化された計算モデルを登録する手段（４０、４４）と、をさらに含むことにおいて特徴付けられた、デジタル回路を設計するシステム（１０）。
【請求項２】
前記デジタル回路の出力変数を予想する前記手段（２８）が、前記テストベンチ（２６）を実行する時に各々の瞬間で前記シミュレーションされたデジタル回路（５２）によって消費された前記電力のプロファイル（３０’）を提供するように設計された消費シミュレータを含む、請求項１記載のデジタル回路を設計するシステム。
【請求項３】
前記デジタル回路の機能記述を含むファイル（１４）に基づくデジタル回路（５２）の前記動作をシミュレーションする（１００、１０２、１０４、１０６）ステップと、前記シミュレーションへの入力として供給されたテストベンチ（２６）を実行する時に前記デジタル回路の出力変数（３０’）を予想する（１０４）ステップと、前記テストベンチ（２６）を実行する時に前記シミュレーションによって供給された制御信号を用いて検出されたイベントを計数（１０６）するステップと、を含み、イベントカウントデータ（３４’）を用いて前記デジタル回路の前記出力変数を計算するモデルを反復して最適化することによって前記計数されたイベントの一部を選択する（１１０）ステップと、前記計数されたイベント及び前記最適化された計算モデルの前記選択された部分を登録する（１２２）ステップと、をさらに含む、デジタル回路を設計する方法。
【請求項４】
前記選択ステップ（１１０）の前に、前記予想された出力変数及び前記イベントカウンタ出力データが、共通の所定周期によりそれらの値のサンプルをとることによって同期される（１０８）、請求項３記載のデジタル回路を設計する方法。
【請求項５】
前記選択ステップ（１１０）の前に、前記計数されたイベントの一部が、所定の制限より少ないビットを有する信号を用いて計数された前記イベントのみを保つ、及び／又は、独立性が相互相関により測定されている互いに独立している信号を用いて計数された前記イベントのみを保つことによって事前選択される（１０８）、請求項３又は４記載のデジタル回路を設計する方法。
【請求項６】
前記選択ステップ（１１０）が段階的回帰方法により実行される、請求項３から５のいずれか一項に記載のデジタル回路を設計する方法。
【請求項７】
前記段階的回帰方法が直線回帰を含み、最適化される前記計算モデルがイベントカウント・データ（３４’）及び回帰定数の線形の組合せである、請求項６記載のデジタル回路を設計する方法。
【請求項８】
前記段階的回帰方法が、各々のイベントの前記計数データ値（３４’）と前記予想された出力変数値（３０’）と間の相関を計算し、前記最も高い相関を有する前記計数されたイベントを選択することによって、第１の計数されたイベントを選択する第１のステップ（１１２）と、最小二乗法の最小化によって前記計算モデルへ選択された前記第１の計数されたイベントを一体化する第２のステップ（１１４）と、を含む、請求項６又は７記載のデジタル回路を設計する方法。
【請求項９】
前記第１の計数イベントを選択して一体化する前記第１及び第２のステップ（１１２、１１４）の後、前記段階的回帰方法は、少なくとも一回、次のステップ：まだ前記モデルに一体化されていない各々のイベントの前記計数データ値と、すでに前記モデルに一体化された計数イベントを取り消すことによって予想される前記出力変数値との間の部分的な相関を計算して、その部分的な相関に関連した重要度テストを最適化する前記計数イベントを選択することによって新規な計数イベントを選ぶ（１１８）ステップと、重要度テストが第１の所定の閾値を下回るタイプＩの確率値を提供する場合、すでに前記モデルに一体化された他の計数イベントと前記新しく選択された計数イベントとを取り消すことによって、すでに前記モデルに一体化された計数イベントの前記部分的な相関を更新（１２４）し、その更新された部分的な相関重要度テストが第２の所定の閾値より大きい計数イベントをモデルから出力し、最小二乗法の最小化によって、前記計算モデルに前記新しく選択された計数イベントを一体化（１２６）し、この一体化が計算モデルの決定の調整されたＲ２係数への更新をさらに含むステップと、前記ステップのループを出る（１２２）ステップであって、前記新しい選択された計数イベントの前記重要度テストが前記第１の閾値より大きい場合、最小二乗法の最小化によって得られた最後のモデルを最適のモデルとして保つ、又は、決定の前記調整されたＲ２係数への更新がその値を減少させる場合、最小二乗法の最小化によって得られた最後から二番目のモデルを最適のモデルとして保つステップとのルーピングを含む、請求項８記載のデジタル回路を設計する方法。
【請求項１０】
通信ネットワークからダウンロードされる、及び／又は、コンピュータ可読の媒体にセーブされる、及び／又は、プロセッサによって実行されるコンピュータプログラムであって、前記プログラムがコンピュータで実行される時に、請求項３から９のいずれか一項記載のデジタル回路を設計する方法の前記ステップを実行する指示を含むことにおいて特徴付けられる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、活動センサでデジタル回路を設計するシステムに関するものである。本発明はまた、このシステム及び対応するコンピュータプログラムによって実行される方法に関連するものである。
【０００２】
本発明は、−このデジタル回路の機能記述を含むファイルに基づくデジタル回路シミュレータと、−シミュレータに供給されるテストベンチを実行する時にデジタル回路からの出力変数を予想する手段と、−テストベンチを実行する時にシミュレータによって提供される制御信号を用いてイベントが検出されるイベントカウンタとを含む、デジタル回路を設計するシステムに特に適用されるものである。
【背景技術】
【０００３】
イベントカウンタは、シミュレーションされたデジタル回路で活動センサを形成する。イベントカウンタは、例えば動力消費量、放出温度などの未解明の回路における実際の出力変数を、モデルを用いて計算するためにそのようなセンサによって供給されたデータを使用することが知られている。したがって、シミュレーションによって与えられた出力変数の連続値及びイベントカウンタによって供給されたデータを知ることにより、線形回帰でこの出力変数を計算するようにモデルを構築することが知られている。このモデルはそれから、前にシミュレーションされた実際の回路において（現在の活動を捕らえる）モニタ及び（モデルを適用する）計算機を用いて実行され得る。そのような計算の利点は、それが実行されたプログラムに基づいて回路の活動を報告し、動的制御ループの回路の労力を調整することである。計算モデルからの出力はそれから、予想の変数を最適化するために回路の機能ブロックの周波数及びそれらの電圧を調整する調節システムに供給され得る。
【０００４】
システムオンチップ（ＳｏＣ）設計のような複雑なデジタル回路の出力変数を計算するためにそのようなモデルを適用したい場合、問題が生じる。そのような回路の表面は一般に制限されるので、制御信号上で、それゆえにイベントカウンタ上での選択が必要になる。選択は通常、アーキテクチャについての従来の知識に基づいて直観的に実行される。しかしながら、これはＳｏＣの複雑性の増大によりややこしくなった退屈なタスクである。
【０００５】
例えば、米国特許第７，５９０，８９４号、米国特許第７，２６９，７５６号及び米国特許第６，３５６，６１５号で公開された特許において、低コストで構成可能なモニタユニットが、この選択を作成するために提案される。その概念は、このユニットにできるだけ多くの制御信号を接続することである。そして、その変化が追跡されるような信号を示すように構成される。構成は、所定の指示によりアプリケーションレベルで実行される。特に米国特許第７，５９０，８９４号は、この構成論理を実行するためにエンコーダ／デコーダの一体化を提案し；米国特許第７，２６９，７５６号は、上流の結合論理でマスクレジスタを使用し；米国特許第６，３５６，６１５号において、カウンタは信号をモニタし、システムにおいてそれらのうちの２以上を結合するように構成され得る。
【０００６】
第１２回アジア及び南太平洋デザイン・オートメーション会議２００７、ＡＳＰ−ＤＡＣ‘０７（ＡＳＰ−ＤＡＣ’０７，  １２ｔｈ  Ａｓｉａ  ａｎｄ  Ｓｏｕｔｈ  Ｐａｃｉｆｉｃ  Ｄｅｓｉｇｎ  Ａｕｔｏｍａｔｉｏｎ  Ｃｏｎｆｅｒｅｎｃｅ  ２００７）の会議録、８９０−８９５ページ、２００７年１月２３−２６日において発表された「クリッパー：実行時のカウンタベースの低インパクトプロセッサ電力予想」（ＣＬＩＰＰＥＲ：  Ｃｏｕｎｔｅｒ−ｂａｓｅｄ  ｌｏｗ  ｉｍｐａｃｔ  ｐｒｏｃｅｓｓｏｒ  ｐｏｗｅｒ  ｅｓｔｉｍａｔｉｏｎ  ａｔ  ｒｕｎ−ｔｉｍｅ）と名付けられたペダーソン他（Ｐｅｄｄｅｒｓｏｎ  ｅｔ  ａｌ．）による論文において、信号及び消費プロファイルの形状の直接の観察に基づいて信号を選択するのにアルゴリズムが提案される。この方法は非実用的であり、又は、特殊かつ複雑なＳｏＣ回路では使用不可能でさえある。
【０００７】
それゆえに、上記の問題及び制約の少なくともいくつかを克服することができるデジタル回路設計システムを提供することが望ましい。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】米国特許第７，５９０，８９４号公報
【特許文献２】米国特許第７，２６９，７５６号公報
【特許文献３】米国特許第６，３５６，６１５号公報
【特許文献４】米国特許第７，５９０，８９４号公報
【特許文献５】米国特許第７，２６９，７５６号公報
【特許文献６】米国特許第６，３５６，６１５号公報
【非特許文献】
【０００９】
【非特許文献１】ペダーソン他（Ｐｅｄｄｅｒｓｏｎ  ｅｔ  ａｌ．）、「クリッパー：実行時のカウンタベースの低インパクトプロセッサ電力予想」（ＣＬＩＰＰＥＲ：  Ｃｏｕｎｔｅｒ−ｂａｓｅｄ  ｌｏｗ  ｉｍｐａｃｔ  ｐｒｏｃｅｓｓｏｒ  ｐｏｗｅｒ  ｅｓｔｉｍａｔｉｏｎ  ａｔ  ｒｕｎ−ｔｉｍｅ）、第１２回アジア及び南太平洋デザイン・オートメーション会議２００７（１２ｔｈ  Ａｓｉａ  ａｎｄ  Ｓｏｕｔｈ  Ｐａｃｉｆｉｃ  Ｄｅｓｉｇｎ  Ａｕｔｏｍａｔｉｏｎ  Ｃｏｎｆｅｒｅｎｃｅ  ２００７）ＡＳＰ−ＤＡＣ‘０７会議録、８９０−８９５ページ、２００７年１月２３−２６日
【発明の概要】
【課題を解決するための手段】
【００１０】
本発明はそれゆえに、−このデジタル回路の機能記述を含むファイルに基づくデジタル回路シミュレータと、−シミュレータに供給されたテストベンチを実行する時にデジタル回路からの出力変数を予想する手段と、−テストベンチを実行する時にシミュレータによって提供された制御信号を用いてイベントが検出されるイベントカウンタとを含み、−イベントカウンタからの出力データを用いてデジタル回路の出力変数を計算するモデルを反復して最適化することによってイベントカウンタの一部を選択する手段と、−イベントカウンタの選択された部分及び最適化された計算モデルを登録する手段と、をさらに含むデジタル回路を設計するシステムに関連するものである。  
【００１１】
モデルに最終的に関与するイベントカウンタの進行的選択自体と計算モデルの進行的最適化とを反復して結合することによって、最初に多数の潜在的な候補のイベントカウンタからでさえも、カウンタの効果的かつ自動的な選択をすることが可能になる。さらに反復的な最適化と同様、選択されるカウンタの数を制限するために、停止基準が選択され得る。それゆえに、回路が複雑であり変わっている、又は、ＳｏＣ回路の場合であっても、機能記述ファイルに基づいてデジタル回路がシミュレーションされ得る瞬間から、回路がそれ自体の出力変数（消費、温度など）を計算できるようにするため、その製造の上流において活動センサの大きさを設定することが可能になる。
【００１２】
任意に、デジタル回路の出力変数を予想する手段は、テストベンチを実行する時に各々の瞬間でシミュレーションされたデジタル回路によって消費される電力のプロファイルを提供するように設計された消費シミュレータを含む。
【００１３】
本発明はまた、−このデジタル回路の機能記述を含むファイルに基づいてデジタル回路の動作をシミュレーションするステップと、−シミュレーションへの入力として供給されるテストベンチを実行する時にデジタル回路の出力変数を予想するステップと、−テストベンチを実行する時にシミュレーションによって供給された制御信号を用いて検出されるイベントを計数するステップとで構成されるステップを含み、−イベントカウントデータを用いてデジタル回路の出力変数を計算するモデルを反復して最適化することにより計数されたイベントの一部を選択するステップと、−計数されたイベント及び最適化された計算モデルの選択された部分を登録するステップと、で構成されるステップをさらに含むデジタル回路を設計する方法に関連するものである。
【００１４】
任意に、選択ステップの前に、予想された出力変数及びイベントカウンタ出力データは、共通の所定期間によりそれらの値のサンプルをとることによって同期される。
【００１５】
また任意に、選択ステップの前に、計数されたイベントの一部は、所定の制限より少ないビットを有する信号を用いて計数されたイベントのみを保つ、及び／又は、独立性が相互相関により測定されている互いに独立している信号を用いて計数されたイベントのみを保つことによって事前選択される。
【００１６】
また任意に、選択ステップは、段階的回帰方法により実行される。
【００１７】
また任意に、段階的回帰方法は直線回帰を含み、最適化される計算モデルはイベントカウントデータ及び回帰定数の線形の組合せである。
【００１８】
また任意に、段階的回帰方法は、−各々のイベントの計数データ値と予想された出力変数値との間の相関を計算し、最も高い相関の計数イベントを選ぶことにより、第１の計数イベントを選ぶ第１のステップと、−選択された第１の計数イベントを最小二乗法の最小化によって計算モデルに一体化する第２のステップとを含む。
【００１９】
また任意に、第１の計数イベントを選択して一体化する第１及び第２のステップの後、段階的回帰方法は、少なくとも一回、次のステップ：−まだモデルに一体化されていない各々のイベントの計数データ値と、すでにモデルに一体化された計数イベントを取り消すことによって予想される出力変数値との間の部分的な相関を計算して、その部分的な相関に関連した重要度テストを最適化する計数イベントを選択することによって新規な計数イベントを選ぶステップと、−重要度テストが第１の所定の閾値を下回るタイプＩの確率値を提供する場合、●すでにモデルに一体化された他の計数イベントと新しく選択された計数イベントとを取り消すことによって、すでにモデルに一体化された計数イベントの部分的な相関を更新し、更新された部分的な相関重要度テストが第２の所定の閾値より大きい計数イベントをモデルから出力し、●最小二乗法の最小化によって、計算モデルに新しく選択された計数イベントを一体化し、この一体化が計算モデルの決定の調整されたＲ２係数への更新をさらに含むステップと、−ステップのループを出るステップであって、●新しい選択された計数イベントの重要度テストが第１の閾値より大きい場合、最小二乗法の最小化によって得られた最後のモデルを最適のモデルとして保つ、又は、●決定の調整されたＲ２係数への更新がその値を減少させる場合、最小二乗法の最小化によって得られた最後から二番目のモデルを最適のモデルとして保つステップと、のルーピングを含む。
【００２０】
最後に、本発明はまた、前記プログラムがコンピュータで実行される時に本発明のデジタル回路を設計する方法のステップを実行する指示を含む、通信ネットワークからダウンロードされる及び／又はコンピュータ可読の媒体にセーブされる及び／又はプロセッサによって実行され得るコンピュータプログラムに関連するものである。
【図面の簡単な説明】
【００２１】
本発明は、単に参照として与えられる以下の記載を用いて、添付の図面を参照してよりよく理解される。図面の説明は以下の通りである。
【図１】図１は、本発明の一実施態様によりデジタル回路を設計するシステムの一般的な構造を概略的に示すものである；
【図２】図２は、デジタル回路イベントカウンタを選択するために図１のシステムによって実行される第１の方法の連続したステップを示すものである；
【図３】図３は、図２における選択方法の実行によって提供される出力変数計算モデルを用いるために設計されたデジタル回路の全体的な構造を概略的に示すものである；
【図４】図４は、すでに選択されたイベントカウンタからデジタル回路出力変数計算モデルを構築するための図１のシステムによって実行される第２の方法の連続したステップを示すものである；
【図５】図５は、図４における構築方法の実行によって提供される出力変数計算モデルを用いるために設計されたデジタル回路の全体的な構造を概略的に示すものである。
【発明を実施するための形態】
【００２２】
以下の記載は、都合よく結合され得るにもかかわらず互いに独立している二つの異なる部分を含む。
【００２３】
第１の部分は、その出力がデジタル回路の出力変数計算モデルに供給される意図を有するイベントカウンタの選択を含むデジタル回路を設計するシステム及び方法に関するものである。この選択は、テストベンチ及び所定の計算モデルの最適化基準に基づいて、デジタル回路の動作をシミュレーションすることによって実行される。第１の部分はまた、直接測定する必要なくこの出力変数を予想するためにイベントカウンタの選択の間、最適化される計算モデルを用いるデジタル回路に関するものである。
【００２４】
第２の部分は、直接測定する必要なくこの出力変数を予想するためにそのような計算モデルを用いるデジタル回路と同様にデジタル回路出力変数を計算するためのモデルの構築を含むデジタル回路を設計するシステム及び方法に関するものである。
【００２５】
第１の部分は、イベントカウンタを選択した後、計算モデルを構築するのに不可欠ではないという意味において第２の部分とは別のものである。第１の部分の終わりで最適化される所定の計算モデルで十分である。第２の部分は、第１の部分で実行されるようにモデルの構築が必ずしもイベントカウンタの事前選択とみなされるわけではないという意味において第１の部分とは別のものである。所定のイベントカウンタは、それらを選ぶのに使用される方法に関係なくこの第２の部分への入力として提供されなければならないので、計算モデルはこれらのカウンタに基づいて構築される。しかしながら、両方の部分は、選択の間、最適化され得る第１の所定のモデルに基づいてイベントカウンタを選んだ後、第１の部分とは別のものであり、それとは異なる第２のモデルがこれらの選択されたカウンタに基づいて構築され得る意味において都合よく結合される。これらの組合わされた操作は、デジタル回路を設計するための完全なシステムによって、実行される。
【００２６】
例えば、計算が要求されるデジタル回路出力変数は、各々の瞬間でこの回路によって消費される電力である。この例は、残りの記載の全体にわたって使われるが、本発明は、例えば各々の瞬間で回路によって発される熱の量又はその温度のような他の出力変数の計算に関するものである。
【００２７】
第１の部分：デジタル回路をシミュレーションすることによるイベントカウンタの選択
図１に示されるデジタル回路を設計するシステム１０は、このデジタル回路の機能記述を含むファイル１４からのデジタル回路のシミュレータ１２を含む。ファイル１４はより詳しくは、ＶＨＤＬ（「超高速集積回路ハードウェア記述言語」）対応のようにデジタル回路を占めている機能ブロックの記述を含むファイルであり、特に合成可能ＲＴＬ（「レジスタ転送レベル」）言語で書かれている。
【００２８】
シミュレータ１２はまず、機能記述ファイル１４に基づいて二つの構造の記述ファイル１８及び２０を生成することができる階層シンセサイザ１６を含む。この階層シンセサイザは例えば、Ｄｅｓｉｇｎ  Ｃｏｍｐｉｌｅｒ（商標）ツールである。階層シンセサイザ１６によって供給される第１の構造記述ファイル１８は、ゲート、及び、デジタル回路の機能ブロック間の接続の記述を含むファイルである。ＳＤＦ（「標準遅延フォーマット」）フォーマットのように階層シンセサイザ１６によって供給される第２の構造記述ファイル２０は、機能ブロックのゲート間の伝搬時間の記述を含むファイルである。
【００２９】
シミュレータ１２は、二つの構造記述ファイル１８、２０及びテストベンチファイル２６から、例えばＶＣＤ（「値変更ダンプ」）フォーマットで、活動報告ファイル２４を供給することができる合成後シミュレータ２２をさらに含む。この活動報告ファイル２４は特にテストベンチ２６を実行する時に、第１の構造記述ファイル１８において定められるゲート間の切替え活動を報告する。
【００３０】
シミュレータ１２はまた、所定の変数の出力シミュレータ２８を含む。この例では、シミュレータ２８は、活動報告ファイル２４から、テストベンチ２６を実行する時にシミュレーションされたデジタル回路によって各々の瞬間で消費される電力をプロファイルするファイル３０を供給するように設計される例えばＰｒｉｍｅ  Ｐｏｗｅｒ（商標）ツールのような消費シミュレータである。他の出力変数（熱交換、回路温度など）の予想が必要である場合、シミュレータ２８は、したがって単純に適合されなければならない。
【００３１】
最後に、シミュレータ１２は、シミュレーションされたイベント検出器によって提供された制御信号を用いて検出されたイベントを含むファイル３４を供給することができる機能シミュレータ３２を含む。信号がバイナリ又はマルチビットコードであるかには関係なく、制御信号のイベントは、この制御信号を取ることができる値において一つのレベルから他のレベルへの通過として定められる。それゆえに、各々のゲートで又はデジタル回路の機能ブロックの各々の接続端部で捕らえられる制御信号が存在するので、計数するイベントが多くある。テストベンチ２６を実行する時に、イベントはデルタサイクル精度で登録される。
【００３２】
電力消費プロファイル・ファイル３０及びイベントファイル３４は、その主な機能が検出されたイベント及び各々の瞬間で消費された電力に関する情報をマップするようにこれら二つのファイルのデータを同期させることであり、その任意の機能がイベントを事前選択あるデジタル回路を設計するシステム１０のインタフェース３６にシミュレータ１２からの出力として、供給される。事前選択はまず、制御信号の実際の識別から構成される。特定の制限より少ないビットの信号のみが使われ、それによって、データ及びアドレスバスを拒絶する。事前選択は第２に、独立した制御信号のみの保持から構成される。同一であるが、（例えばフリップフロップの入出力信号のように）オフセットされ、対向して、増幅器などへの入力として供給される二重の信号はしたがって排除される。一般的にいえば、制御信号間の相互相関は、本当に独立したもののみを事前選択するため、インタフェース３６によって計算されてもよい。
【００３３】
被同期電力消費プロファイル・ファイル３０’及び複数の被同期及び事前選択イベントファイル３４’（例えば各々のイベントのファイル）は、インタフェース３６からの出力として供給される。ファイル３４’は、したがってイベントカウンタを形成する。
【００３４】
デジタル回路を設計するシステム１０は、選択及びモデリングモジュール３８をさらに含む。その第１の機能は、イベントカウンタからの出力データを用いてデジタル回路の電力消費を計算するモデルを反復して最適化することでインタフェースによって供給されるイベントカウンタ３４’の一部を選ぶことである。第２の機能は、測定する必要なく消費を予想することができるデジタル回路の電力消費を計算するモデルを構築することである。第１の機能は、この第１の部分によってカバーされる。第２の機能は、第２の部分において詳述される。
【００３５】
この選択及びモデリングモジュール３８は例えば、総称指示４２によって識別される一以上のメモリを有するプロセッサ４０を含む従来のコンピュータのようなコンピュータ装置において実行される。メモリ４２は、プロセッサ４０によって実行される時、以下の機能を実行する指示のシーケンスから構成される一以上のコンピュータプログラム４４、４６を記憶する：−イベントカウント・データ（プログラム４４）を用いてデジタル回路の電力消費を計算するため、モデルを反復して最適化することにより計数されるイベントの一部の選択、−選択された計数データ（プログラム４６）から、この消費を予想することができるデジタル回路の電力消費を計算するモデルの構築。
【００３６】
コンピュータプログラム４４、４６は別々のものとして示されるが、この分離は単に機能的なものであることに留意のこと。それらは、一以上のソフトウェア・プログラムに分類された方が好都合である。それらの機能はまた、専用の集積回路において少なくとも部分的にマイクロ・プログラム又はマイクロ配線されてもよい。したがって、二者択一的に、選択及びモデリングモジュール３８を実行するコンピュータ装置は、同じ動作を実行するため（コンピュータプログラムなしで）デジタル回路に単独で含まれる電子装置によって交換することができる。
【００３７】
シミュレータ１２及びインタフェース３６は、デジタル回路設計システム１０全体がプロセッサ及び共有の記憶手段を有するコンピュータ装置において実行されるようにコンピュータによって実行され得ることにも留意のこと。
【００３８】
選択及びモデリングモジュール３８は、イベントカウンタ及び最適化された計算モデルの選択された部分から、出力として記録を提供する。この記録は、例えば、シミュレーションされたデジタル回路を製造する時に使われ得るファイル４８の形で提供される。
【００３９】
デジタル回路を設計するシステム１０は、図２に示したもののような方法を実行する。
【００４０】
この方法の第１のステップ１００の間、階層シミュレータ１６が起動すると、二つの構造記述ファイル１８及び２０が、与えられたデジタル回路の機能記述ファイル１４を用いて供給される。
【００４１】
第２のステップ１０２の間、合成後シミュレータ２２が起動すると、活動レポートファイル２４が、二つの構造記述ファイル１８、２０及びテストベンチファイル２６を用いて供給される。
【００４２】
次のステップ１０４の間、消費シミュレータ２８が起動すると、シミュレーションされたデジタル回路によって各々の瞬間で消費される電力をプロファイリングするファイル３０が、活動レポートファイル２４から供給される。
【００４３】
ステップ１００、１０２及び１０４に平行して、ステップ１０６の間、機能シミュレータ３２が起動すると、イベントファイル３４が、機能記述ファイル１４及びテストベンチファイル２６から供給される。
【００４４】
ステップ１００、１０２、１０４及び１０６に続いて、ステップ１０８へ進み、その間にインタフェース３６が起動すると、イベントがイベントカウンタを形成する複数のファイルを提供するために任意に事前選択されてもよく、この複数のファイルは、ファイル３０’及び３４’を供給するため、電力消費プロファイル・ファイル３０と同期する。この時、サンプリング周期Ｔは、電力消費プロファイルを一連のサンプルをとられた電力消費に分割するために定められ、この直列における各々の値は、対応している時間ウィンドウＴ内でシミュレーションされる即時の電力の平均である。事前選択されたイベントカウンタはまた、この同じ周期Ｔに沿ってサンプルがとられる。各々の事前選択されたイベントカウンタで、一連の計数データが生成され、この直列における各々の値は、対応する時間ウィンドウＴ内の対応する計数されたイベントの数である。
【００４５】
そして、イベントカウンタ３４’の一部を選ぶ方法１１０は、プロセッサ４０により実行されているプログラム４４によって実施される。
【００４６】
この選択方法１１０は、事前選択イベントカウンタの一部を用いてデジタル回路によって消費される電力を計算する所定のモデルに基づいて、段階的回帰方法により実行される。計算モデルは例えば、以下のように線形である：
ＰＴ＝ｃ＋α１・Ｎｃ１＋・・・＋αｉ・ＮＣｉ＋・・・＋αｎ・ＮＣｎ，
ここで、｛Ｃｉ｝ｉ＝ｌ：ｎは、計算モデルに関与している一組のイベントカウンタであり、ｎはモデルの複雑性を特徴付けていて、Ｎｃ１は、時間ウィンドウＴのイベントカウンタＣｉによって計数されるイベントの数であり、ＰＴは、計算モデルを用いて値ＮＣｉから推論され得るようにこの同じ時間ウィンドウＴ内で消費される平均電力であり、ｃは、デジタル回路の静的電力及びモデルの修正項を含むモデルの回帰定数であり、αｉは、イベントカウンタＣｉによって検出された活動による、集積回路の部分的な消費を定量化する係数である。
【００４７】
選択方法１１０を実行する時、回帰定数及び係数αｉは計算モデルを最適化することによって反復して決定され、ここで以下に詳述される。
【００４８】
したがって、ステップ１１２の間、各々の直列（Ｎｃ１）とサンプルをとられた電力消費の直列（ＰＴ）との間で相関が計算される。最も高い相関を有する直列（Ｎｃ１）がこのステップの間に選ばれ、対応しているイベントカウンタが計算モデルに一体化される。
【００４９】
それから、ステップ１１４の間、（Ｎｃ１）のみに依存する電力消費を計算するモデルのＭＯＤ（１）と記録される第１のバージョンが、モデルにおいて使用されるイベントカウンタに対応して回帰定数ｃ及び係数α１を決定することによって予想される。この評価は、最小二乗法の最小化方法を用いて公知の方法で実行される。また、このステップの間、決定の調整されたＲ２係数は、モデルＭＯＤ（１）で計算される。この係数Ｒ２は、０と１との間である。それは、モデルＭＯＤ（１）と測定との間（すなわち、直列（Ｎｃ１）及び（ＰＴ））で適合するものの質を判断するために用いられる。これは、モデルによって説明される情報量とモデルの複雑性によって荷重された関連する残りのエラーとの間の比率である。モデルの複雑性の増加がその質の十分な増加として正当化されるとそれは増加し、それ以外では減少する。
【００５０】
次のステップ１１６は、ｋから２の繰り返しの反対値を初期化し、ステップ１１８の間、部分的な相関は、モデルＭＯＤ（ｋ−１）及びサンプルをとられた電力消費の直列（ＰＴ）にまだ一体化されていない各々の直列（Ｎｃ１）の間で計算される。これらの部分的な相関は、モデルＭＯＤ（ｋ−１）にすでに一体化された直列を取り消すことによって計算される。それから各々の部分的な相関に「ｐ値」を提供している従来の重要度テストを受ける。このｐ値は、対応している部分的な相関の帰無仮説における第１種エラーを犯す確率である。最も低いｐ値Ｖｐを有する直列（ＮＣｋ）が、このステップの間、選ばれる。
【００５１】
このｐ値Ｖｐは、テストステップ１２０の間、第１の閾値ｐ値ＶｐＩＮと比較される。ＶｐＩＮは、計算モデルのイベントカウンタの入力閾値を表す。デフォルトでは、閾値は例えば、０．０５に設定される。値が低くなると、モデルに最終的に一体化されるイベントカウンタの数をより制限するようになり、より単純になるが、正確ではなくなる。前のステップの間選択された直列（ＮＣｋ）のｐ値ＶｐがＶｐＩＮより大きい場合、選択方法１１０からの出力としてステップ１２２へ進む。
【００５２】
この出力ステップ１２２の間、モデルＭＯＤ（ｋ−１）は最適化された計算モデルであると考えられ、設計システム１０によりそのパラメータに登録される。同様に、このモデルＭＯＤ（ｋ−１）に考慮されるイベントカウンタは電力消費を予想するために最終的に関連すると考えられ、設計システム１０によりそのように登録される。この繰り返しｋのステップ１１８の間選択される最後の直列（ＮＣｋ）に対応するイベントカウンタは計算方法に一体化されないことに留意のこと。
【００５３】
代わりに、ステップ１１８の間選択される直列（ＮＣｋ）のｐ値ＶｐがＶｐＩＮより小さい場合、計算モデルＭＯＤ（ｋ−１）に一体化されるイベントカウンタをチェックするためにステップ１２４へ進む。このステップの間、新規な部分的相関が、モデルＭＯＤ（ｋ−１）に一体化される各々の直列とサンプルをとられた電力消費の直列（ＰＴ）と間で計算される。これらの新規な部分的相関は、モデルＭＯＤ（ｋ−１）及び最も直近に選択された直列（ＮＣｋ）にすでに一体化された他の直列を取り消すことによって計算される。新規な部分的相関は、それから各々の新規な部分的相関にｐ値を提供する従来の重要度テストを受ける。確かに、計算モデルへの新規なイベントカウンタの一体化により、他のイベントカウンタのすべてのｐ値がチェックされる。したがって、モデルにすでに一体化され、第２の閾値ｐ値ＶｐＯＵＴより大きいｐ値を有するイベントカウンタの直列（ＮＣｉ）は、対応しているカウンタのモデルからの出口を作成する。値ＶｐＯＵＴは、デフォルトで例えば、０．１に設定される。それは必然的にＶｐＩＮより大きく、ＶｐＩＮに関しては、低くなるほど、モデルに最終的に一体化されるイベントカウンタの数をより制限するようになる。
【００５４】
そして、ステップ１２６の間、電力消費を計算するモデルのＭＯＤ（ｋ）と記される新規なバージョンは、以前に計算モデルに一体化されて削除されていないイベントカウンタに対応する回帰定数ｃ及び係数αｉを更新することによって、予想される。この評価は、最小二乗法の最小化方法を用いて公知の方法で実行される。このステップの間、調整されたＲ２係数の決定は、モデルＭＯＤ（ｋ）で計算される。それは、モデルＭＯＤ（ｋ）と測定との間（すなわち、選択されたイベントカウンタに対応している直列（ＮＣｉ）と（ＰＴ））での適合の質を判断するために用いられる。
【００５５】
次のテストステップ１２８の間、モデルＭＯＤ（ｋ）のＲ２係数は、モデルＭＯＤ（ｋ−１）のＲ２係数と比較される。それが低い場合、出力ステップ１２２へ移動する。それ以外は、ステップ１３０へ進み、カウンタｋを１ユニット増加させて、新規の繰り返しのためにステップ１１８に戻る。
【００５６】
その選択方法からの出力として、電力消費計算モデルに用いられるイベントカウンタＣ１，・・・，Ｃｎは、ｋの最後の値のモデルＭＯＤ（ｋ−１）からのカウンタである。シミュレーションされた回路によって消費される電力を予想するために用いることができる最適化された計算モデルはそれから、対応している係数ｃ，α１．．．，αｎによって完全に定められる。
【００５７】
図３にて図示したように、それ自体の電力消費を計算するそのようなモデルを実行する実際のデジタル回路５２は、それから設計され得る。この図において、デジタル回路５０は、設計システム１０によって以前にシミュレーションされたデジタル回路５２を含む。例えば、それはＳｏＣ回路である。設計システム１０によって作成された選択によって、以前にシミュレーションされたデジタル回路５２は、プログラム４４を実行する時に選択されたカウンタに関連したイベント検出器ＤＥ１，・・・，ＤＥｎを備える。
【００５８】
デジタル回路５０はさらに、その電力消費を予想するために最適化された計算モデルを使用することができるモニタ５４及び計算機５６を含む。特にモニタ５４は、検出器ＤＥ１，・・・，ＤＥｎによって供給されるイベントの情報を受信することができるイベントカウンタを形成するレジスタＣ１，・・・，Ｃｎを含む。すべてのレジスタは、以前にシミュレーションされたデジタル回路５２の活動センサを形成する。すべてのレジスタは、各々のサンプリング周期Ｔ（すなわち、タイマーによって制御される）でレジスタＣ１，・・・，Ｃｎの内容Ｎｃ１，・・・，ＮＣｎを自動的に読み込み、これらの内容Ｎｃ１，・・・，ＮＣｎをメモリ６０に転送し、ｒｓｔリセット信号を送信することによってレジスタＣ１，・・・，Ｃｎをリセットするために設計される制御モジュール５８をさらに含む。計算機５６は、プログラム４４の実行中に最適化される係数ｃ，α１，．．．，αｎを記憶するメモリ６２を含む。計算機５６は、モニタ５４によって供給された値Ｎｃ１，・・・，ＮＣｎを通常に受信すると、メモリ６２に記憶されたこれらの係数ｃ，α１．．．，αｎを用いて、以前にシミュレーションされたデジタル回路５２によって消費された電力の値ＰＴを各々の周期Ｔで計算することができるプロセッサ６４をさらに含む。
【００５９】
それ自体の電力消費を計算するようなモデルを実行するデジタル回路の実在の例は、選択されたイベントカウンタがＣｈｉｐ＿Ｓｅｌｅｃｔ及びＷｒｉｔｅ＿Ｅｎａｂｌｅ信号と関連したカウンタであるＲＡＭ（ランダムアクセスメモリ）である。各々の周期Ｔで、これらの二つのカウンタの内容は、制御モジュール５８によって読み込まれ、三つの係数ｃ，α１及びα２を有する最適化された直線回帰モデルの用途のために計算機５６に提供される。
【００６０】
明らかに、上記のような活動センサでデジタル回路を設計するシステムにより、活動センサのサイズの制御のために設置され得る選択基準（ＶｐＩＮ）又は停止基準（ＶｐＯＵＴ、Ｒ２係数）でのイベントカウンタの自動的かつ効果的な選択が可能になる。
【００６１】
さらに、実行された段階的回帰方法により、それらに関連した重みによるモデルへの関連に基づいて選ばれたイベントカウンタを順位付けすることができる。したがって、モデルにおいて用いられたイベントカウンタは、活動センサ及びこの順位付けに利用可能な面に基づいて選ばれる。
【００６２】
第２の部分：デジタル回路出力変数のモデル化
デジタル回路を設計するシステム１０は、図４にて図示したように、デジタル回路出力変数を計算するモデルを構築する方法も実行する。この計算モデルを構築する方法は、プロセッサ４０によって実行されているプログラム４６によって実行される。またこの例では、出力変数は、テストベンチ２６を実行する時にシミュレーションされたデジタル回路によって各々の瞬間で消費された電力である。計算モデルのための入力データは、例えば第１の部分において選ばれたもののような所定のイベントカウンタによって供給されたデータである。第１の部分における選択方法が実行される場合、計算モデルのより高い精度のために、可能な限り短いサンプリング周期が選択される。
【００６３】
この方法は特に、電力消費プロファイル・ファイル３０’のような一連の予想された電力消費データ、及び、選択されたカウンタに対応するファイル３４’のような選択されたイベントカウンタからの出力データから、デジタル回路によって消費された電力を計算する複数のモデルの構築から構成される。特に、この方法は電力消費が複数の可能なモードによるものとして、電力消費プロファイルを複数の連続したシーケンスに分割し、可能なモードの中から各々のシーケンスを単一のモードと関連させる。それから、各々の可能なモードの異なる電力消費計算モデルを構築する。
【００６４】
複数の計算モデルを構築するこの方法は、マルコフモデルの各々の隠れた状態が可能なモードの一つに対応する隠れマルコフモデル決定方法により実行される。マルコフモデル、したがって複数の計算モデルの決定は、選択されたイベントカウンタからの電力消費プロファイル３０’及び出力データ３４’と関連したその最尤法に基づく。
【００６５】
隠れマルコフモデルは例えば、２００５年、ポールグレーブ経済学辞典（Ｐａｌｇｒａｖｅ  Ｄｉｃｔｉｏｎａｒｙ  ｏｆ  Ｅｃｏｎｏｍｉｃｓ，  ２００５）で出版された「体制切替えモデル」（Ｒｅｇｉｍｅ−ｓｗｉｔｃｈｉｎｇ  ｍｏｄｅｌｓ）と称されたジェームズＤ．ハミルトン（Ｊａｍｅｓ  Ｄ．  Ｈａｍｉｌｔｏｎ）による論文で定義された、ＭＳＭ（マルコフ切替えモデル）である。この場合、各々の隠れた状態又はモードＥｊで、計算モデルは例えば、Ｐ（Ｅｊ）＝ｃｊ＋α１，ｊ・Ｎｃ１＋・・・＋αｉ，ｊ・ＮＣｉ＋・・・＋αｎ，ｊ・ＮＣｎのように線形であり、そこで、
｛Ｃｉ｝ｉ＝ｌ：ｎは、計算方法に関与するのに選ばれた一組のイベントカウンタである。ｎはモデルの複雑性を特徴付ける。ＮＣｉは、すべてのイベントカウンタに共通の与えられた時間ウィンドウ内で、イベントカウンタＣｉによって計数されるイベントの数であり、そこで平均電力消費が予想されるが、第１の部分において定められたサンプリング周期に必ずしも一定である又は等しいというわけではない。Ｐ（Ｅｊ）は、モードＥｊと関連した計算モデルを用いて値ＮＣｉから推論され得る、同じ与えられた時間ウィンドウ内で消費される平均電力である。ｃｊは、デジタル回路の静的電力及びモデルの修正項を含む、モードＥｊと関連しているモデルの回帰定数である。α１，ｊは、電力消費プロファイルがモードＥｊに適合する時にイベントカウンタＣｉによって検出された活動のために、デジタル回路の部分的な消費を定量化している係数である。
【００６６】
複数のモデルからの回帰定数及び係数を用いて、ｍがマルコフモデルＭＳＭの隠れた状態の数である場合、寸法ｍｘ（ｎ＋１）のマトリクスＡは、
【００６７】
【数１】
2013105492.tif 000003
であることに留意のこと。
【００６８】
マルコフモデルＭＳＭの残りのエラーは相違σのガウス型ホワイトノイズであるとみなされる。
【００６９】
最後に、各々の状態又はモードＥｊから各々の状態又はモードＥｊへの転移の確率で寸法ｍｘｍを有するマトリクスΠで、
【００７０】
【数２】
2013105492.tif 000004
であることに留意のこと。
【００７１】
これらの記号で、三重項Θ＝（Ａ，σ，Π）は、選択されたイベントカウンタＣ１，・・・，Ｃｎからの出力データを用いて各々の瞬間で消費される平均電力のプロセスＰを表すことができるマルコフモデルＭＳＭを完全に定める。選択されたイベントカウンタから電力消費プロファイル３０’及び出力データ３４’の三重項Θ  ＝（Ａ，σ，Π）に適用される最尤法を予想することによってモデル・パラメータは、図４で示されるＭＳＭモデルを構築する方法に関して詳述されるように、公知の方法で決定される。
【００７２】
第１の初期化ステップ２００の間、所望の隠れた状態又はモードの数ｍが、定められる。これは、変更可能な値であり得る。次のステップ２０２の間、イベントカウンタは初期化され、定数は各々の隠れた状態又はモードの回帰定数を構成するためにそれらに加えられて、それで観測ベクトルＸ＝（１，Ｎｃ１，・・・，ＮＣｎ）Ｔを形成する。
【００７３】
それから選択されたファイル３０’及び３４’の三重項Θ  ＝（Ａ，σ，Π）に適用される最尤法の予想が、ステップ２０４の間、実行される。この実行は公知であり、それゆえに詳述しない。要約すると、以下の尤度関数Ｌが最大になる：
【００７４】
【数３】
2013105492.tif 000005
ここで、Ｔはシミュレーションで提供される連続したサンプルの数であり、Ｅは一組の隠れた状態又はモードを指定している。
【００７５】
このステップからの出力として、隠れた状態又はモードのシーケンスは、ファイル３０’及び観測３４’により提供された電力消費シーケンスで確立される。さらにマトリクスＡ及びΠが提供され、それによって、複数の対応するモード及び一方のモードから他方への転移の確率の複数の電力消費計算モデルを定める。
【００７６】
ステップ２００、２０２及び２０４は、ｍの異なる値で数回繰り返され、隠れた状態の数が選択されたファイル３０’及び３４’によって供給されたデータに関して最適化されるＭＳＭモデルを最終的に保持する。
【００７７】
ステップ２０４に続いて、計算を単純化する観点から、任意であるが都合よく、最も関連したイベントカウンタを選択するステップ２０６へ進む。第１の部分において選ばれたｎイベントカウンタから、ｐは電力消費計算に関与するために保たれ、マトリクスＡの最も低い係数を有するイベントカウンタを削除する。
【００７８】
またステップ２０４に続いて、ステップ１０８の間の従来の相関の計算は、イベント発生でステップ２０４から出力として提供される一方のモードから他のモードへの転移を適合させるために使われ得る。これらのイベントは条件付きの重要なイベントであり、それらのカウンタは、消費モードにおいて変化を検出するために選択される。計算を単純化する観点から好都合である可能な実施態様において、重要なイベントは、ステップ２０６の間選ばれなかったｎ−ｐカウンタに関するイベントから選択される。そして、計算に最終的に関与しているｐカウンタの選択によるモデルの単純化は、消費モード間の最高の転移を検出するための他のｎ−ｐカウンタの使用によって相殺される。
【００７９】
ステップ２０８に続いて、ステップ２１０は、各々のモードから各々の他のモードへ形成される転移を重要なイベントで観測された転移から、確定的に予想することができるＦＳＭ（有限状態機械）のような有限自動装置又は有限状態機械（すなわちｍモード）を運営する論理的規則の確立から構成される。同様に、ステップ２０６の間、確立されたる相関を有限状態機械の転移規則へと変換するこのステップは従来技術の範囲内であり、詳述されない。
【００８０】
図４における方法を実行することで構築されるマルコフモデルＭＳＭに基づいてそれ自体の電力消費を計算するモデルを実行しているデジタル回路は、図５にて図示したように設計され得る。
【００８１】
この図において、デジタル回路５０’は、設計システム１０によって以前にシミュレーションされたデジタル回路５２を含む。例えば、それはＳｏＣ回路である。設計システム１０によって作成される選択により、以前にシミュレーションされたデジタル回路５２は、プログラム４４を実行する時に選ばれたカウンタに関するイベント検出器ＤＥｉ・・・，ＤＥｎを備える。デジタル回路５０’はさらに、その電力消費を予想するために以前に定められたマルコフＭＳＭ計算モデルを使用することができるモニタ５４’及び計算機５６’を含む。
【００８２】
特に、第１の部分において選ばれたｎカウンタの中から第１のｐカウンタのみが電力消費計算のために使われる以前に言及された可能な実施態様によれば、モニタ５４’は、第１のｐ検出器ＤＥ１，・・・，ＤＥｐによって供給されるイベント情報を受信することができるこれらのｐイベントカウンタを形成するレジスタＣ１，・・・，Ｃｐを含む。これらのレジスタのすべては、以前にシミュレーションされたデジタル回路５２の活動センサを形成する。可変時間ウィンドウＴのため、レジスタＣ１，・・・，Ｃｐの内容Ｎｃ１，・・・，Ｎｃｐを自動的に読み込み、これらの内容Ｎｃ１，・・・，Ｎｃｐをメモリ６０’へ転送し、ｒｓｔ１リセット信号を送信することによりレジスタＣ１，・・・，Ｃｐをリセットするように設計された制御モジュール５８’をさらに含む。
【００８３】
図３の実施態様とは異なり、モニタ５４’の性能を改良するために、モニタは固定されたサンプリング周期を受けない。このため、ステップ２１０の間、確立される論理的規則を再現する有限状態機械モジュール６６’が含まれる。特に、電力消費計算のために用いられるもの以外のｎ−ｐカウンタのみが消費モード間の転移を検出するために用いられる、以前に言及された可能な実施態様によれば、モジュール６６’は、最後のｎ−ｐ検出器ＤＥｐ＋１，・・・，ＤＥｎにより供給されたイベント情報を入力として受信する。出力として、モジュール６６’は、そのような新規なモードＥへの転移が検出されるたびに、デジタル回路５２の新規な消費モードの情報Ｅを制御モジュール５８’に提供する。もちろん、モジュール６６’はまた、第１のｐ検出器ＤＥ１，・・・，ＤＥｐによって供給されるイベント情報の少なくとも一部を入力として受信することができる。
【００８４】
レジスタＣ１，・・・，Ｃｐの内容Ｎｃ１，・・・，Ｎｃｐを読み込み、この内容をメモリ６０’へ転送し、レジスタＣ１，・・・，Ｃｐをリセットする自動的な動作は、例えば、以下の二つのイベントによって制御される：−レジスタＣ１，・・・，Ｃｐの少なくとも一つの飽和。
このため、制御モジュール５８’はそのようなイベントが生じる時に飽和を示すｓａｔ信号を受信する、−消費モードへの変化。モードＥのこの変化は、モジュール６６’によって制御モジュール５８’に通信される。
【００８５】
これらのイベントは予測不可能であるので、モニタ５４’は、レジスタＣ１，・・・，Ｃｐの二つのリセットの間で経過した時間Ｔを供給することができるレジスタＣ１，・・・，Ｃｐと同期するものと同じクロックｃｌｋを用いてタイマー６８’をさらに含む。タイマー６８’は、レジスタＣ１，・・・，Ｃｐがリセットされるたびに、リセット信号ｒｓｔ２を用いて制御モジュール５８’によってリセットされる。Ｅ及びＴの値はそれから、制御モジュール５８’によってメモリ６０’にレジスタＣ１，・・・，Ｃｐの内容Ｎｃ１，・・・，Ｎｃｐで送信される。それゆえに、メモリ６０’は、連続した消費モードの履歴、各々のこれらの連続したモードの継続期間、及び、それらの計数データＮｃ１，・・・，Ｎｃｐを記憶する。
【００８６】
計算機５６’は、プログラム４６の実行中に計算されるマトリクスＡからの係数を記憶するメモリ６２’を含む。計算機５６’は、モニタ５４’によって提供された値Ｅ，Ｔ，Ｎｃ１，・・・，Ｎｃｐを受けるとメモリ６２’に記憶されたマトリクスＡからの係数を用いて、時間Ｔの間、以前にシミュレーションされたデジタル回路５２によって各々の可変時間ウィンドウＴで、各々の瞬間で消費される電力の平均値ＰＴを計算することができるプロセッサ６４をさらに含む。これは、Ｅの値を使用して、Ｎｃ１，・・・，ＮｃｐでそこからＰＴの値を推論するマトリクスＡの正しい直線回帰モデルを選択するためのものである。
【００８７】
第１の部分において選択されたイベントカウンタがＣｈｉｐ＿Ｓｅｌｅｃｔ及びＷｒｉｔｅ＿Ｅｎａｂｌｅ信号と関連したカウンタであるＲＡＭの実例を見ると、四つの消費モード：読出し、書込み、読出し／書込みの交替、未定に対応する四つの隠れた状態を有するマルコフモデルＭＳＭを適用することができる。マルコフモデルＭＳＭによると、これら各々の四つの消費モードそれ自体の消費モデルを有する。それから、各々の瞬間でＲＡＭによって消費される平均電力を計算するためにそれ自体をＣｈｉｐ＿Ｓｅｌｅｃｔイベントカウンタに制限できることを証明することができる。
【００８８】
加えて、四つの所定の消費モード間の転移を検出する有限状態機械は、Ｃｈｉｐ＿Ｓｅｌｅｃｔ及びＷｒｉｔｅ＿Ｅｎａｂｌｅ信号を受信すると、次のように定められる：
−Ｗｒｉｔｅ＿Ｅｎａｂｌｅ信号が「１」に変わる時、「読出し」モードから「交替」モードに進む。
−Ｃｈｉｐ＿Ｓｅｌｅｃｔ信号が「１」に変わり、Ｗｒｉｔｅ＿Ｅｎａｂｌｅ信号が「０」に変わる時、「書込み」モードから「交替」モードに進む。
−連続的な読出しの数が所定数（例えば１６）を上回る時、「交替」モードから「読出し」モードに進む。
−連続的な書込みの数が所定数（例えば１６）を上回る時、「交替」モードから「書込み」モードに進む。
−Ｃｈｉｐ＿Ｓｅｌｅｃｔ信号が「１」に変わり、Ｗｒｉｔｅ＿Ｅｎａｂｌｅ信号が「０」に変わる時、「未定」モードから「読出し」モードに進む。
−Ｗｒｉｔｅ＿Ｅｎａｂｌｅ信号が「１」に変わる時、「未定」モードから「書込み」モードに進む。
【００８９】
Ｃｈｉｐ＿Ｓｅｌｅｃｔ信号のカウンタレジスタの各々のモード変化又は飽和で、レジスタの内容は、制御モジュール５８’によって読出され、四つの状態装置によって検出された消費モードに基づいてマトリクスＡにおいて選択された二つの係数を有する最適化された直線回帰モデルを適用するため、値Ｅ及びＴで計算機５６’に供給される。
【００９０】
明らかに、第２の部分に記載されたように活動センサを用いてデジタル回路を設計するシステムは、複数のモードへ分解することができるデジタル回路出力変数を計算する複数のモデルを構築するために用いられ、それによっていくつかのイベントカウンタがモデルにおいて省かれ、それらの不在を異なるモードを含むことで相殺することができるという事実により、ほとんどオーバーヘッドなく、より正確にこれらのモデルを作成することができる。
【００９１】
さらに、尤度関数の最大化を用いて隠れマルコフモデルを決定することによって複数のモデルを構築することにより、サンプリング周波数から独立して有限状態機械を用いて選択することができる計算モデルを得る結果につながる。この特性は、活動センサにより大きな柔軟性を提供し、同期を節減させる。一般に従来技術において推奨されるように、活動センサ及び計算機は周期的にもはや通信しないが、むしろ有限状態機械から受信される転移の指示、又は、少なくとも一つの活動センサカウンタの飽和により通信する。
【００９２】
また本発明は、上記の実施態様に限られていないことに留意のこと。当業者に公知であるように、開示された説明に関して、上記の実施態様に作成される様々な修正が存在する。以下の請求項において、使用された用語は、請求項をこの記述に存在する実施態様に制限するものとして判断されるべきでないが、請求項がそれらの明確な記述により適用される意図を有し、開示された説明に一般的な知識を適用することによって、その予測が当業者の手の届く範囲であるすべての同等物を含むと判断されるべきである。
【図１】
2013105492.tif 000006
【図２】
2013105492.tif 000007
【図３】
2013105492.tif 000008
【図４】
2013105492.tif 000009
【図５】
2013105492.tif 000010