(57)【要約】【課題】  本発明の課題は、組み合せ回路を含めた電力解析を効率的かつ高速に行うことを目的とする。【解決手段】  上記課題は、回路の動作記述の抽象度が異なる概要回路モデルと、該概要回路モデルより抽象度が低い詳細回路モデルとを含む回路データと、該回路の電力検証方法に係る動作シーケンス・データとを記憶する記憶部と、論理回路の動作シミュレーションを行う論理シミュレーション部に、前記前記概要回路モデルと前記詳細回路モデルとを含む前記回路データをロードし、該記憶部に記憶されている前記動作シーケンス・データに従って、該概要回路モデルによって前記動作シミュレーションを行わせる概要モードと、該詳細回路モデルによって該動作シミュレーションを行わせる詳細モードとを切り替えて、該論理シミュレーション部に該動作シミュレーションを行わせるシミュレーション制御部とを有することを特徴とする消費電力解析装置により達成される。【選択図】  図２
2013029893.tif 000002
【特許請求の範囲】
【請求項１】
回路の動作記述の抽象度が異なる概要回路モデルと、該概要回路モデルより抽象度が低い詳細回路モデルとを含む回路データと、該回路の電力検証方法に係る動作シーケンス・データとを記憶する記憶部と、
論理回路の動作シミュレーションを行う論理シミュレーション部に、前記記憶部に記憶されている前記概要回路モデルと前記詳細回路モデルとを含む前記回路データをロードし、該記憶部に記憶されている前記動作シーケンス・データに従って、該概要回路モデルによって前記動作シミュレーションを行わせる概要モードと、該詳細回路モデルによって該動作シミュレーションを行わせる詳細モードとを切り替えて、該論理シミュレーション部に該動作シミュレーションを行わせるシミュレーション制御部と
を有することを特徴とする消費電力解析装置。
【請求項２】
前記シミュレーション制御部は、
前記動作シーケンス・データのモード切替条件で指定される前記詳細モードへの切替タイミングで、前記詳細モードへと切り替えることによって、前記概要モードと前記詳細モードとを交互に切り替えながら一連の連続した動作シミュレーションを、前記論理シミュレーション部に行わせることを特徴とする請求項１記載の消費電力解析装置。
【請求項３】
前記シミュレーション制御部は、
前記動作シーケンス・データのモード切替条件で指定される前記概要モードによるシミュレーション結果に基づく前記詳細モードへの切替タイミングでの、該概要モードの実行時に得た前記概要回路モデルの状態値を用いて、前記論理シミュレーション部に該切替タイミングから詳細モードでの前記動作シミュレーションを開始させることを特徴とする請求項１記載の消費電力解析装置。
【請求項４】
前記シミュレーション制御部は、
論理シミュレーション部に、前記動作シーケンス・データのモード切替条件で指定される複数の処理の実行区間で前記概要モードによる電力測定を行い、該電力測定の結果に基づく電力の大きい一以上の実行区間で、前記詳細モードによる電力測定を行わせることを特徴とする請求項１記載の消費電力解析装置。
【請求項５】
コンピュータによって実行される消費電力解析方法であって、該コンピュータが、
論理回路の動作シミュレーションを行う論理シミュレーション部に、記憶部に記憶されている回路の動作記述の抽象度が異なる概要回路モデルと、該概要回路モデルより抽象度が低い詳細回路モデルとを含む回路データをロードし、該記憶部に記憶されている前記動作シーケンス・データに従って、該概要回路モデルによって前記動作シミュレーションを行わせる概要モードと、該詳細回路モデルによって該動作シミュレーションを行わせる詳細モードとを切り替えて、該論理シミュレーション部に該動作シミュレーションを行わせることを特徴とする消費電力解析方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、低消費電力な大規模論理回路（例えば、ＬＳＩ（Large Scale Integration））を設計するための論理回路設計技術に関する。
【背景技術】
【０００２】
近年、システムＬＳＩの消費電力（電流）は、設計制約のひとつであり、また低消費電力が実現されれば強い商品力となる。
【０００３】
低電力設計を正しく効率よく行うためには、電力の正確な見積もりを行い、電力消費の原因を的確に把握し、設計にフィードバックをかけることが必要である。
【０００４】
全体シミュレーションで全信号の波形データや、全信号の信号変化回数を計測することなく、クロック及びメモリのみの信号変化回数を計測することによって、モジュールごとの消費電力と解析意対象の回路全体の消費電力とを解析すること等が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−２３４１８７号公報
【特許文献２】特開２００６−２０２１０２号公報
【特許文献３】特開２００７−１０２３３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
回路全体のなかで最も電力を消費する部分は、クロックやメモリであったが、最近の回路設計における徹底したクロックゲーティングにより、クロックで消費される電力の全体に対する割合は減少する一方で、組み合せ回路部の消費電力の割合が大きくなってきている。
【０００７】
例えば、ＣＭＯＳ（Complementary Metal Oxide Semiconductor）回路の電力は回路の動作（すなわち、回路の変化回数）に大きく依存するので、電力見積もりのためには、回路の動作シミュレーションの結果が要求される。
【０００８】
回路の設計及び検証は、ＲＴＬ（Register Transfer Level）で行われることが多い。組み合せ回路の電力は、論理合成、クロック木合成、レイアウト設計が行われた回路でないと、正確に見積もることができない。
【０００９】
上述した従来技術では、クロック及びメモリの消費電力の解析を精度良く行えるようになったものの、設計段階で組み合せ回路部の消費電力を精度良く行うことは困難であり、そのため組み合せ回路を含めた低電力な回路設計を効率的に行うことができないと言った問題があった。
【００１０】
また、電力は、動作率と回路構成の２つの要因が関わっているため、シミュレーション波形だけや回路記述だけを見ても容易には判断することができない。低電力施策の効果確認や無駄電力の修正を行うためには、場所別、電力要因別といった詳細な電力値と回路動作の関係を確かめる必要がある。しかしながら、従来技術では、低電力施策の効果確認や無駄電力の修正を行うための対話的な解析機能が十分に備えられておらず、その結果、高速にかつ効果的な電力解析を行えていなかった。
【課題を解決するための手段】
【００１１】
開示の技術は、回路の動作記述の抽象度が異なる概要回路モデルと、該概要回路モデルより抽象度が低い詳細回路モデルとを含む回路データと、該回路の電力検証方法に係る動作シーケンス・データとを記憶する記憶部と、論理回路の動作シミュレーションを行う論理シミュレーション部に、前記記憶部に記憶されている前記概要回路モデルと前記詳細回路モデルとを含む前記回路データをロードし、該記憶部に記憶されている前記動作シーケンス・データに従って、該概要回路モデルによって前記動作シミュレーションを行わせる概要モードと、該詳細回路モデルによって該動作シミュレーションを行わせる詳細モードとを切り替えて、該論理シミュレーション部に該動作シミュレーションを行わせるシミュレーション制御部とを有することを特徴とする消費電力解析装置のように構成される。
【００１２】
また、上記課題を解決するための手段として、コンピュータに上記消費電力解析装置として機能させるためのプログラム、そのプログラムを記録した記録媒体、及び消費電力解析方法とすることもできる。
【発明の効果】
【００１３】
開示の技術では、概要モードと詳細モードの切り替えることによって、組み合せ回路を含めた電力解析を効率的かつ高速に行うことができる。
【図面の簡単な説明】
【００１４】
【図１】消費電力解析装置のハードウェア構成例を示す図である。
【図２】本実施例に係る機能構成例を示す図である。
【図３】消費電力解析処理の全体概要を説明するための図である。
【図４】エミュレータ装置の動作シミュレーションの切り替えに係る機能構成の一例を示す図である。
【図５】切り替え手順の例を示す図である。
【図６】モード切替による連続処理を説明するためのフローチャート図である。
【図７】動作シーケンス・データの構成例を示す図である。
【図８】アサーション関連付けテーブルの例を示す図である。
【図９】モード切替例を示す図である。
【図１０】シーン毎の電力値の例を示す図である。
【図１１】区間指定のモード切替による処理の全体概要を示すフローチャート図である。
【図１２】シミュレーション制御部による概要モードでの電力測定に係る処理を説明するためのフローチャート図である。
【図１３】シミュレーション制御部による詳細モードに係る処理を説明するためのフローチャート図である。
【図１４】高電力値を示す区間で詳細モードに切り替える処理を説明するためのフローチャート図である。
【図１５】メニュー画面例を示す図である。
【図１６】概要モードと詳細モードとを切り替えながら回路の動作シミュレーション全体を実行する例を示す図である。
【図１７】アサーションを用いた応用例を説明するための図である。
【発明を実施するための形態】
【００１５】
以下、本発明の実施の形態を図面に基づいて説明する。本実施例に係る消費電力解析装置は、図１に示されるようなハードウェア構成を有する。図１は、消費電力解析装置のハードウェア構成例を示す図である。図１に例示される消費電力解析装置１００は、ホスト計算機であり、ＣＰＵ（Central Processing Unit）１０１によって装置全体が制御されている。
【００１６】
ＣＰＵ１０１には、バス１０７を介してＲＡＭ（Random Access Memory）１０２と、ハードディスクドライブ（ＨＤＤ：Hard Disk Drive）１０３と、グラフィック処理装置１０４と、入力インタフェース１０５と、通信インタフェース１０６と、ドライブ１０８とが接続されている。
【００１７】
ＲＡＭ１０２には、ＣＰＵ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、ＣＰＵ１０１による処理に必要な各種データが格納される。ＨＤＤ１０３には、ＯＳやアプリケーションプログラムが格納される。なお、半導体集積回路の設計情報及び解析情報は、ＨＤＤ１０３、または、図示しないＨＤＤインタフェースを介して接続する外部ＨＤＤに格納される。以下、本実施例に係る処理に必要なプログラム、各種データ等を格納するための記憶領域を提供するＲＡＭ１０２、ＨＤＤ１０３、外部ＨＤＤ等を総称して記憶部と言う。
【００１８】
グラフィック処理装置１０４には、モニタ１０８が接続されており、ＣＰＵ１０１からの命令に従って画像をモニタ１０８の画面に表示させる。入力インタフェース１０５には、キーボード１０９ａやマウス１０９ｂが接続されており、キーボード１０９ａやマウス１０９ｂから送られてくる信号を、バス１０７を介してＣＰＵ１０１に送信する。通信インタフェース１０６は、エミュレータ装置２００に接続されている。
【００１９】
消費電力解析装置１００が、対象の半導体集積回路の設計データ及び全体テストベンチをエミュレータ装置２００に送信することで、エミュレータ装置２００に論理エミュレーションを実行させる。そして、エミュレータ装置２００が実行したエミュレーション結果は、通信インタフェース１０６を介してＣＰＵ１０１に送られる。
【００２０】
消費電力解析装置１００によって行われる処理を実現するプログラムは、例えば、ＣＤ−ＲＯＭ（Compact Disc Read-Only Memory）等の記憶媒体１０９によって消費電力解析装置１００に提供される。即ち、後述される本実施例に係る処理を実現するためのプログラムが保存された記憶媒体１０９がドライブ１０８にセットされると、ドライブ１０８が記憶媒体１０９からプログラムを読み出し、その読み出されたプログラムがシステムバスＢを介して記憶装置１０３にインストールされる。そして、プログラムが起動されると、記憶装置１０３にインストールされたプログラムに従ってＣＰＵ１０１がその処理を開始する。尚、プログラムを格納する媒体としてＣＤ−ＲＯＭに限定するものではなく、コンピュータが読み取り可能な媒体であればよい。コンピュータ読取可能な記憶媒体として、ＣＤ−ＲＯＭの他に、ＤＶＤディスク、ＵＳＢメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリであっても良い。消費電力解析装置１００は、各媒体に対応したインタフェースを有するものとする。
【００２１】
また、消費電力解析装置１００がネットワーク通信インタフェースを有する場合、消費電力解析装置１００によって行われる処理を実現するプログラムが、外部装置から提供されてもよい。或いは、外部装置へ該プログラムを提供し、後述される各処理は外部装置で実現されるように構成してもよい。ネットワーク通信インタフェースを介する通信は無線又は有線に限定されるものではない。
【００２２】
図２は、本実施例に係る機能構成例を示す図である。図２において、消費電力解析装置１００は、シミュレーション制御部１０と、入力制御部２０と、電力見積部３０と、動作・電力ビューア部４０と、記憶部５０とを有する。シミュレーション制御部１０と、入力制御部２０と、電力見積部３０と、動作・電力ビューア部４０とは、ＣＰＵ１０１が、記憶媒体１０９等によってインストールされた対応するプログラムを実行することによって動作する処理によって実現される。
【００２３】
シミュレーション制御部１０は、通信インタフェース１０６を介して、エミュレータ装置２００を制御して、本実施例に係る概要動作と詳細動作とを切り替えて回路の動作シミュレーションを行う処理部である。
【００２４】
入力制御部２０は、設計者から回路の動作シミュレーションに必要なデータを取得するためのユーザインタフェースを制御する処理部である。入力制御部２０は、設計者から動作シーケンス・データ５７を取得するためのユーザインタフェースを提供する。動作シーケンス・データ５７は、記憶部５０に記憶され、シミュレーション制御部１０は、記憶部５０から動作シーケンス・データ５７を参照することによって、エミュレータ装置２００を制御する。また、入力制御部２０は、設計者による割り込み入力に応じて、シミュレーション制御部１０へ通知する。シミュレーション制御部１０は、割り込み入力の種別に応じた処理をエミュレータ装置２００に対して行う。
【００２５】
動作・電力ビューア部４０は、エミュレータ装置２００から取得した動作データ２３０、電力結果データ５５、動作出力データ５６の各々を、グラフィック処理装置１０４によってモニタ１０８に表示させる処理部である。
【００２６】
電力見積部３０は、エミュレータ装置２００から取得した動作データ２３０を用いて、回路の電力を見積る処理部であり、高速電力見積部３１と、詳細電力見積部３２とを有する。高速電力見積部３１は、動作データ２３０の概要動作データ２３１を用いて電力見積りを行う処理部である。詳細電力見積部３２は、動作データ２３０の詳細動作データ２３２を用いて電力見積りを行う処理部である。高速電力見積部３１と、詳細電力見積部３２とから得られた夫々の結果は、記憶部５０の電力結果データ５５に格納される。
【００２７】
記憶部５０には、少なくとも、回路データ５１と、テストベンチ・データ５２と、電力結果データ５５と、動作出力データ５６と、動作シーケンス・データ５７とが格納される。
【００２８】
回路データ５１には、ＲＴＬで回路の動作を記述したデータ（概要回路モデル２２１及び計数回路モデル２２２のデータ）と、Ｖｅｒｉｌｏｇ等のハードウェア記述言語によってゲートレベルで回路の動作を記述したデータ（詳細回路モデル２２３及び計数回路モデル２２４のデータ）とが含まれる。回路データ５１は、エミュレータ装置２００のメモリにロードされ、エミュレーション実行部２１０によって、各回路モデルとして動作する。
【００２９】
ＲＴＬによって記述された回路モデルは、エミュレーション実行部２１０によって、概要回路モデル２２１及び計数回路モデル２２２として動作する。また、ゲートレベルで記述された回路モデルは、エミュレーション実行部２１０によって、詳細回路モデル２２３及び計数回路モデル２２４として動作する。
【００３０】
各計数回路モデル２２２及び２２４を予め回路データ５１に組み込んでおくことによって、回路の特定箇所の動作を測定できる。また、所定値を設定しておくことによって、計数値が所定値となった際に、概要回路モデル２２１によって回路の動作シミュレーション回路の中であれば、詳細回路モデル２２３へと切り替えて詳細回路モデル２２３による動作シミュレーションを継続して行う。詳細回路モデル２２３によって回路の動作シミュレーション中であれば、概要回路モデル２２１へと切り替えて詳細回路モデル２２３による動作シミュレーションを継続して行う。
【００３１】
電力結果データ５５は、電力見積部３０によって見積られた回路の電力値を含み、回路モデル、場所毎に対応付けして記憶部５０に記憶される。設計者の指示に応じて、電力結果データ５５は、動作・電力ビューア部４０によって参照され、グラフィック処理装置１０４によってモニタ１０８に表示される。
【００３２】
動作出力データ５６は、エミュレータ装置２００から取得したエミュレーション実行部２１０による回路の動作シミュレーションの結果である概要動作データ２３１と詳細動作データ２３２とを含む動作データ２３０である。設計者の指示に応じて、動作出力データ５６は、動作・電力ビューア部４０によって参照され、グラフィック処理装置１０４によってモニタ１０８に表示される。
【００３３】
動作シーケンス・データ５７は、入力制御部２０を介して設計者によって設定された検証条件等を示すデータである。動作シーケンス・データ５７によって指定される検証条件等に従って回路動作のシミュレーションが行われるように、エミュレータ装置２００は、シミュレーション制御部１０によって制御される。
【００３４】
エミュレータ装置２００は、設計回路の動作を評価するための論理シミュレーション部であって、回路の動作をエミュレートするためのハードウェアと、設計回路の動作を評価するために装置全体を制御するプロセッサと、シミュレーションに必要な種々のプログラム及びデータ、シミュレーションによって得られる種々のデータなどを記憶する記憶部（図４の記憶部２５０）とを少なくとも有する。
【００３５】
エミュレータ装置２００は、機能構成において、回路動作を記述したデータに従って、回路動作をエミュレートするためのハードウェアを動作させて、回路の動作シミュレーションを実行するエミュレーション実行部（エミュレータ）２１０と、消費電力解析装置１００のシミュレーション制御部１０に割り込みを発生させるトリガー部２７０とを有する。
【００３６】
エミュレータ装置２００は、ホスト計算機である消費電力解析装置１００から回路データ５１とテストベンチ・データ５２とを記憶部２５０（図４）にロードし、シミュレーション制御部１０による制御に従って、エミュレーション実行部２１０によって回路の動作シミュレーションを実行させる。本実施例では、回路動作の抽象度の異なる概要回路モデル２２１と詳細回路モデル２２３の両方が、回路データ５１によってロードされる。
【００３７】
エミュレーション実行部２１０は、消費電力解析装置１００からロードされた回路データ５１によって、概要回路シミュレーション部Ｍ１と詳細回路シミュレーション部Ｍ２とを有し、シミュレーション制御部１０からの切替指示に応じて、概要回路シミュレーション部Ｍ１と詳細回路シミュレーション部Ｍ２とを互いに切り替えながら、回路の動作シミュレーションを行う。
【００３８】
概要回路シミュレーション部Ｍ１は、概要回路モデル２２１及び計数回路モデル２２２によって回路の動作シミュレーションを行う処理部である。計数回路モデル２２２は予め回路データ５１に組み込まれている。
【００３９】
詳細回路シミュレーション部Ｍ２は、詳細回路モデル２２３及び計数回路モデル２２４によって回路の動作シミュレーションを行う処理部である。計数回路モデル２２４は予め回路データ５１に組み込まれている。
【００４０】
トリガー部２７０は、シミュレーション制御部１０より予め指示されている所定値に達した場合、消費電力解析装置１００のシミュレーション制御部１０へ割り込みを発生させる。
【００４１】
動作データ２３０は、エミュレーション実行部２１０による回路の動作シミュレーションの結果を含み、概要回路シミュレーション部Ｍ１による動作シミュレーション結果は概要動作データ２３１で示され、詳細回路シミュレーション部Ｍ２による動作シミュレーション結果は詳細動作データ２３２で示される。
【００４２】
概要回路シミュレーション部Ｍ１から詳細回路シミュレーション部Ｍ２への切り替え時には、詳細回路シミュレーション部Ｍ２において概要動作データ２３１の切り替え時のＦＦなどの状態値が詳細回路シミュレーション部Ｍ２の詳細回路モデル２２３に対して設定された後、動作シミュレーションが詳細回路シミュレーション部Ｍ２によって実行される。
【００４３】
同様に、詳細回路シミュレーション部Ｍ２から概要回路シミュレーション部Ｍ１への切り替え時には、概要回路シミュレーション部Ｍ１において詳細動作データ２３２の切り替え時のＦＦなどの状態値が概要回路シミュレーション部Ｍ１の概要回路モデル２２１に対して設定された後、動作シミュレーションが概要回路シミュレーション部Ｍ１によって実行される。
【００４４】
図３は、消費電力解析処理の全体概要を説明するための図である。図３において、消費電力解析装置１００の入力制御部２０は、計数回路モデル２２２及び２２４を埋め込んだ回路データ５１と、テストベンチ・データ５２とをエミュレータ装置２００にロードする（ステップＳ１）。概要回路シミュレーション部Ｍ１と詳細回路シミュレーション部Ｍ２の両方がエミュレータ装置２００にロードされる。テストベンチ・データ５２には、テストデータが含まれている。
【００４５】
入力制御部２０は、グラフィック処理装置１０４によって検証条件設定画面をモニタ１０８に表示させ、検証条件設定画面から設計者によって設定された検証条件を解釈して、動作シーケンス・データ５６へと変換する（ステップＳ２）。得られた動作シーケンス・データ５６は記憶部５０に格納される。
【００４６】
そして、消費電力解析装置１００のシミュレーション制御部１０は、動作シーケンス・データ５７を用いてエミュレータ装置２００を制御することによって、設計者が設定した検証条件に従った回路の動作シミュレーションを実行する（ステップＳ３）。
【００４７】
回路の動作シミュレーションは、エミュレータ装置２００のエミュレーション実行部２１０によって実行され、回路の動作シミュレーションによって得られた動作出力データ５６と電力結果データ５５とが消費電力解析装置１００の記憶部５０に格納される。
【００４８】
動作・電力ビューア部４０は、回路の動作シミュレーションの結果を解析するために、記憶部５０に格納された電力結果データ５５と動作出力データ５６と用いて、電力値、動作率などを表示するための結果解析画面をグラフィック処理装置１０４によってモニタ１０８にビューア表示させる（ステップＳ４）。
【００４９】
結果解析画面では、電力結果を常時出力するようにし、動作シーケンス遷移結果をトリガーが立ったことで出力する。また、設計者が検証条件を変更するための補助情報が表示される。
【００５０】
入力制御部２０は、設計者による指示が電力解析の終了であるか否かを判断する（ステップＳ５）。電力解析の終了でない場合、入力制御部２０は、検証条件設定画面を再度グラフィック処理装置１０４によってモニタ１０８にビューア表示させ、設計者によって変更された検証条件を動作シーケンス・データ５７に変換する（ステップＳ６）。
【００５１】
そして、ステップＳ３へと進み、上記同様の処理を繰り返し、ステップＳ５の判断処理において、設計者による指示が電力解析の終了となった場合に、この消費電力解析処理を終了する。
【００５２】
図４は、エミュレータ装置の動作シミュレーションの切り替えに係る機能構成の一例を示す図である。図４において、エミュレータ装置２００の記憶部２５０に格納される動作データ２３０は、時刻インデックス２３ａ及び概要動作データ２３１と、時刻インデックス２３ｂ及び詳細動作データ２３２とを有する。
【００５３】
概要動作データ２３１は、概要回路シミュレーション部Ｍ１が詳細回路シミュレーション部Ｍ２へと切り替えられる際に、記憶部２５０に格納される回路動作の状態を示すデータである。時刻インデックス２３ａは、回路動作の状態を示す概要動作データ２３１を保存した時刻と、その概要動作データ２３１へのポインタとを対応付けたインデックスである。時刻インデックス２３ａを備えることによって、指定された時刻に対応する概要動作データ２３１を用いて、その時刻から詳細回路シミュレーション部Ｍ２による動作シミュレーションを実行させることができる。
【００５４】
詳細動作データ２３２は、詳細回路シミュレーション部Ｍ２が概要回路シミュレーション部Ｍ１へと切り替えられる際に、記憶部２５０に格納される回路動作の状態を示すデータである。時刻インデックス２３ｂは、回路動作の状態を示す詳細動作データ２３２を保存した時刻と、詳細動作データ２３２へのポインタとを対応付けたインデックスである。時刻インデックス２３ｂを備えることによって、指定された時刻に対応する詳細動作データ２３２を用いて、その時刻から概要回路シミュレーション部Ｍ１による動作シミュレーションを実行させることができる。
【００５５】
更に、記憶部２５０には、マッピング情報２５ａと、追加ＦＦ設定値情報２５ｂとが格納される。
【００５６】
マッピング情報２５ａと追加ＦＦ設定値情報２５ｂとは、論理合成によって、抽象度の高いＲＴＬで回路の動作を記述した概要回路モデル２２１から、ゲートレベルで回路の動作を記述した詳細回路モデル２２３が生成される際に作成される情報である。
【００５７】
マッピング情報２５ａは、概要回路モデル２２１と詳細回路モデル２２３間のＦＦ（Flip Flop）の対応付けを示す情報である。概要回路モデル２２１に存在するＦＦの詳細回路モデル２２３におけるＦＦへの対応を示す情報である。
【００５８】
概要回路シミュレーション部Ｍ１から詳細回路シミュレーション部Ｍ２への切り替え時に、概要回路モデル２２１のＦＦの状態値を詳細回路モデル２２３のＦＦへ設定するために、マッピング情報２５ａが参照される。
【００５９】
追加ＦＦ設定値情報２５ｂは、論理合成によって、概要回路モデル２２１には存在しないが詳細回路モデル２２３には存在するＦＦに設定するための状態値である。テスト用ＦＦなどは概要回路モデル２２１には存在しない。
【００６０】
概要回路シミュレーション部Ｍ１から詳細回路シミュレーション部Ｍ２への切り替え時に、概要回路モデル２２１には存在しないが詳細回路モデル２２３には存在するＦＦへ状態値を設定するために、追加ＦＦ設定値情報２５ｂが参照される。
【００６１】
また、詳細回路シミュレーション部Ｍ２から概要回路シミュレーション部Ｍ１への切り替え時に、詳細回路モデル２２３のＦＦの状態値を概要回路モデル２２１のＦＦへ設定する際に、概要回路モデル２２１に存在しないＦＦであるか否かを判断するために追加ＦＦ設定値情報２５ｂが参照されても良い。更に、概要回路モデル２２１に存在するＦＦである場合には、マッピング情報２５ａが参照されて、概要回路モデル２２１において対応するＦＦを特定して、詳細回路モデル２２３のＦＦの状態値を概要回路モデル２２１のＦＦへと設定されるようにしても良い。
【００６２】
以下に、本実施例に係る処理について詳述する。
（１）高速処理
（１−１）概要モードと詳細モード
概要モードとは、概要回路シミュレーション部Ｍ１によって行われる、抽象度の高い回路の動作記述による動作シミュレーション（ＲＴＬシミュレーション）によって、概要電力を算出するためのモードである。概要電力の算出では、クロック、メモリ部分に備えた少数の観測ポイントから算出する。従って、クロック動作電力とメモリ動作電力だけが算出される。概要電力は、詳細な電力計算を必要とする箇所及び必要な時刻のみで算出される。
【００６３】
詳細モードとは、詳細回路シミュレーション部Ｍ２によって行われる、概要モードより抽象度の低い回路の動作記述による動作シミュレーション（ゲート・シミュレーション）によって、組み込み回路を含む回路全体に係る詳細電力を算出するためのモードである。従って、全てのノードの動作波形を用いて、全てのノードの電力が計算される。
【００６４】
高速化のために、通常は概要モードで電力を算出する。概要モードから詳細モードへの切り替えは、シミュレーション制御部１０によって判定される。本実施例では、設計者は、概要モードでの電力算出結果に基づく電力状態を見ることで、詳細モードへ切り替える場所を決定することができる。
（１−２）動作シミュレーションの切り替え
前走行シミュレーションのＦＦの出力及びメモリの状態値を含む回路状態を記憶部２５０に格納し、後走行シミュレーションのＦＦの出力及びメモリの状態値の初期状態として設定することで、動作シミュレーションの切り替えを行う。
【００６５】
前走行シミュレーションが概要モードによる動作シミュレーション（ＲＴＬシミュレーション）である場合、ＦＦの出力及びメモリの状態値を含む回路状態を示す概要動作データ２３１が記憶部２５０に格納され、概要動作データ２３１を参照することにより、詳細モードによる後走行シミュレーション（ゲート・シミュレーション）のＦＦの出力及びメモリの状態値の初期状態として設定される。
【００６６】
また、回路状態を保存することで、途中時刻からの再実行も可能となる。いずれのモードであっても、設計者によって指定された時刻の組み合せ回路部に係るＦＦの出力及びメモリの状態値を設定することで、その時刻から再シミュレーションが可能である。
【００６７】
概要モードでの回路の動作シミュレーション（概要回路シミュレーション又はＲＴＬシミュレーションと言う）と詳細モードでの回路の動作シミュレーション（詳細回路シミュレーション又はゲート・シミュレーションと言う）間の切り替えは、その切り替え時刻で、前走行のシミュレーション結果を保存し、後走行の際に設定する状態値とすることによって実現することができる。
（１−２−１）動作シミュレーション切り替え用のトリガー機能
特定の信号又は特定の信号群を常にチェックして、指定した値になったら、トリガー信号を上げ、動作シミュレーションを停止する。計測回路モデル２２２及び２２４を予め組み込んでおくことにより、所定のクロック数に達すると、トリガー部２７０が割り込みを消費電力解析装置１００のシミュレーション制御部１０へ通知することによって、動作シミュレーションを停止するように制御できる。
【００６８】
ここで、切り替え手順の例について図５で説明する。図５では、最初に概要モードでの概要回路シミュレーションを実行し、詳細モードへ切り替えて詳細回路シミュレーションを実行して詳細回路シミュレーションが終了するまでの手順が示される。
【００６９】
図５において、シミュレーション制御部１０からの指示によって、概要回路シミュレーション部Ｍ１は、回路の動作シミュレーションを実行する前に、開始時の設定値を設定する（ステップＳ１１）。ここでは、初期値或いは状態値が設定される。初期値は、例えば、全てＸ値（不定値）や全て論理「１」値である。概要モードでの回路の動作シミュレーションが開始される。
【００７０】
そして、シミュレーション制御部１０は、トリガー設定を行う（ステップＳ１２）。トリガー設定によって、概要回路シミュレーション部Ｍ１に対して、シミュレーションが終了する条件（例えば、終了時刻）がトリガーとして設定され、概要回路シミュレーション部Ｍ１による回路の動作シミュレーションが実行される。
【００７１】
トリガー条件が成立すると、概要回路シミュレーション部Ｍ１は、動作シミュレーションを停止し、概要動作データ２３１を記憶部２５０に保存する（ステップＳ１３）。トリガー部２７０は割り込みを発生して、シミュレーション制御部１０に終了を通知する。
【００７２】
シミュレーション制御部１０は、概要回路シミュレーション部Ｍ１による回路の動作シミュレーションの終了時の回路の状態値を記憶部２５０に格納された概要動作データ２３１から取得する（ステップＳ１４）。
【００７３】
シミュレーション制御部１０は、マッピング情報２５ａを参照して、概要回路モデル２２１の状態値を詳細回路モデル２２３の状態値に書き込む（ステップＳ１５）。詳細回路モデル２２３に状態値が設定され、モードの切り替えが行われる。
【００７４】
詳細回路シミュレーション部Ｍ２のトリガー条件を設定する（ステップＳ１６）。詳細回路シミュレーション部Ｍ２に対して、シミュレーションが終了する条件（例えば、終了時刻）がトリガーとして設定され、詳細回路シミュレーション部Ｍ２による回路の動作シミュレーションが実行される。詳細モードでの回路の動作シミュレーションが開始される。
【００７５】
トリガー条件が成立すると、詳細回路シミュレーション部Ｍ２は、動作シミュレーションを停止し、詳細動作データ２３２を記憶部２５０に保存する（ステップＳ１７）。トリガー部２７０は割り込みを発生して、シミュレーション制御部１０に終了を通知する。
【００７６】
シミュレーション制御部１０によって、シミュレータ装置２００の記憶部２５０に格納されている詳細動作データ２３２から状態値が読み出される（ステップＳ１８）。更に、概要モードへ切り替えた場合には、上記同様の処理が繰り返される。
【００７７】
図６は、モード切替による連続処理を説明するためのフローチャート図である。図６において、シミュレーション制御部１０は、入力制御部２０からの設計者によるシミュレーション開始指示に応じて、概要モード又は詳細モードのいずれで開始かを判断する（ステップＳ３０）。シミュレーション開始指示にモードが指定されていない場合、デフォルトを概要モードとする。
【００７８】
概要モードで開始であると判断した場合、シミュレーション制御部１０は、エミュレータ装置２００に概要モードを指定したシミュレーション開始指示を行う。エミュレータ装置２００は、エミュレーション実行部２１０に概要回路モデル２２１の回路状態に開始時の設定値を設置する（ステップＳ３１）。
【００７９】
次に、シミュレーション制御部１０は、概要回路モデル２２１による動作シミュレーションが終了するトリガー条件を設定する（ステップＳ３２）。
【００８０】
エミュレーション実行部２１０の概要回路シミュレーション部Ｍ１によって、概要回路モデル２２１による動作シミュレーションが実行され、トリガー条件が成立すると停止し、トリガー部２７０によってシミュレーション制御部に終了が通知される（ステップＳ３３）。動作シミュレーションの停止時に、概要回路モデル２２１の状態値を含む概要動作データ２３１が停止した時刻と対応付けられて記憶部２５０に格納される。
【００８１】
シミュレーション制御部１０は、回路の動作シミュレーションを終了するか又はモード切替かを判断する（ステップＳ３４）。回路の動作シミュレーションの終了であると判断した場合、この処理を終了する。
【００８２】
一方、モード切替であると判断した場合、シミュレーション制御部１０は、エミュレータ装置２００の記憶部２５０に格納されている概要動作データ２３１から概要回路モデル２２１の状態値を取得する（ステップＳ３５）。
【００８３】
そして、シミュレーション制御部１０は、エミュレータ装置２００の記憶部２５０に格納されているマッピング情報２５ａ及び追加ＦＦ設定値情報２５ｂを参照して、概要回路モデル２２１の状態値を詳細回路モデル２２３の状態値に設定する（ステップＳ３６）。その後、シミュレーション制御部１０は、ステップＳ４２へと進む。以下に説明されるステップＳ４２からＳ４６の処理が繰り返される。
【００８４】
ステップＳ３０にて、シミュレーション開始指示によって詳細モードで開始であると判断した場合、シミュレーション制御部１０は、エミュレータ装置２００に詳細モードを指定したシミュレーション開始指示を行う。エミュレータ装置２００は、エミュレーション実行部２１０に詳細回路モデル２２３の回路状態に開始時の設定値を設置する（ステップＳ４１）。
【００８５】
次に、シミュレーション制御部１０は、詳細回路モデル２２３による動作シミュレーションが終了するトリガー条件を設定する（ステップＳ４２）。
【００８６】
エミュレーション実行部２１０の詳細回路シミュレーション部Ｍ２によって、詳細回路モデル２２３による動作シミュレーションが実行され、トリガー条件が成立すると停止し、トリガー部２７０によってシミュレーション制御部に終了が通知される（ステップＳ４３）。動作シミュレーションの停止時に、詳細回路モデル２２３の状態値を含む詳細動作データ２３２が停止した時刻と対応付けられて記憶部２５０に格納される。
【００８７】
シミュレーション制御部１０は、回路の動作シミュレーションを終了するか又はモード切替かを判断する（ステップＳ４４）。回路の動作シミュレーションの終了であると判断した場合、この処理を終了する。
【００８８】
一方、モード切替であると判断した場合、シミュレーション制御部１０は、エミュレータ装置２００の記憶部２５０に格納されている詳細動作データ２３２から詳細回路モデル２２３の状態値を取得する（ステップＳ４５）。
【００８９】
そして、シミュレーション制御部１０は、エミュレータ装置２００の記憶部２５０に格納されているマッピング情報２５ａを参照して、詳細回路モデル２２３の状態値を概要回路モデル２２１の状態値に設定する（ステップＳ４６）。その後、シミュレーション制御部１０は、ステップＳ３２へと進む。上述したステップＳ３２からＳ３６の処理が繰り返される。
【００９０】
上述したように、概要モードから詳細モードへ切り替え、また、詳細モードから概要モードへ切り替えの両方を行うことができる。
（１−３）再実行
再実行とは、概要モードでの回路の動作シミュレーション実行中に、エミュレータ装置２００の記憶部２５０に途中状態を含む概要動作データ２３１を保存して、その途中状態から詳細モードでの回路の動作シミュレーションを実行すること、又は、詳細モードでの回路の動作シミュレーション実行中に、エミュレータ装置２００の記憶部２５０に途中状態を含む詳細動作データ２３２を保存して、その途中状態から概要モードでの回路の動作シミュレーションを実行することである。
【００９１】
概要モードでの実行中の幾つかの時刻における途中状態は、時刻インデックス２３ａによって対応付けられるため、それらのうち指定された時刻から詳細モードで回路の動作シミュレーションを開始することができる。また、同様に、詳細モードでの実行中の幾つかの時刻における途中状態は、時刻インデックス２３ｂによって対応付けられるため、それらのうち指定された時刻から概要モードで回路の動作シミュレーションを開始することができる。
【００９２】
指定された時刻からシミュレーションを再実行できるように、再実行可能ポイントを設定される。再実行可能ポイントは、動作データ２３０を保存する時刻であり、時刻データ、全メモリダンプデータ、全レジスタ内容データが保存される。
【００９３】
このように再実行可能ポイントに時刻データが含まれることによって、詳細モードのために、全ノードの動作波形を取得するような場合には、詳細モードでの回路の動作シミュレーションを開始する時刻より、シミュレーションの実行が進んでしまった場合などに、時刻を戻して再実行することができる。
【００９４】
（２）対話的な検証方式
設計者が対話的な検証を行なうための入力制御部２０の種々の役割について以下に説明する。
【００９５】
（２−１）動作シーケンス
入力制御部２０は、設計者の電力検証のための入力設定に基づいて電力検証シナリオを作成する。入力制御部２０は、モニタ１０８にメニュー形式による検証条件設定画面などを表示させ、設計者によって指定された情報の入力によって、電力検証シナリオを作成する。更に、入力制御部２０は、作成された電力検証シナリオに基づいて、シミュレーション動作の手順である動作シーケンスを示す動作シーケンス・データ５７を生成する。
【００９６】
図７は、動作シーケンス・データの構成例を示す図である。図７に例示される動作シーケンス・データ５７は、基本項目と条件項目などで構成される。
【００９７】
基本項目は、電力測定対象、動作観測対象などの項目を有する。電力測定対象は、概略モード及び詳細モードに適用される情報であり、測定開始時間（開始イベント）と測定終了時間（終了イベント）とを指定する。動作観測対象は、詳細モードに適用される情報であり、測定開始時間（開始イベント）と測定終了時間（終了イベント）とを指定する。
【００９８】
条件項目は、モード切替、再実行用データダンプ条件などの項目を有する。モード切替は、モード切替のタイミングを示す情報であり、クロック数（詳細モード開始時刻及び終了時刻）、高電力値を示す区間などの設定によってモード切替のタイミングを指定する。再実行用データダンプ条件は、データをダンプするためのタイミングを示す情報であり、ダンプ時刻の決定条件を指定する。
【００９９】
（２−２）電力アサーション
入力制御部２０は、電力を詳細に調べたい状況をアサーションとして、設計者による設定を可能とする。設計者は、シーン毎の予測される処理量から大小関係を定義することによって、想定電力の大小関係を指定する。例えば、状態例として、テレビ映像の特定のシーンＡ、Ｂ、及びＣで説明する。
【０１００】
シーンＡ  ＞  シーンＢ  ＞  シーンＣ
シーンＡは全体的に高め
シーンＢは機能Ｆは使っているが、他は平均のはず
シーンＣは機能Ｇだけを使っていて、他は使わないはず
のように、設計者はＴＶ映像に係る処理状況を予測して設定する。次に、設計者は、入力制御部２０を介して、アサーションに使われる状態（各シーンＡ、Ｂ、及びＣ）を信号と関連付ける。入力制御部２０は、設計者によって定義された、アサーションに使われる状態（各シーンＡ、Ｂ、及びＣ）を信号とのアサーション関連付けテーブルを記憶部５０に格納する。
【０１０１】
図８は、アサーション関連付けテーブルの例を示す図である。図８に例示するアサーション関連付けテーブル２７は、状態定義、観測信号などの項目を有する。この例では、状態定義「シーンＡ処理中」は観測信号「シーンＩＤ  ＝  "Ａ"」で判断され、状態定義「シーンＢ処理中」は観測信号「シーンＩＤ  ＝  "Ｂ"」で判断され、状態定義「シーンＣ処理中」は観測信号「シーンＩＤ  ＝  "Ｃ"」で判断される。
【０１０２】
このように定義された状態（各シーンＡ、Ｂ、及びＣ）の電力は、概要モードで評価される。この場合の概要モードでは、アサーション関連付けテーブル２７で定義される状態の開始時刻で、概要モデル２２１の状態値を示す概要動作データ２３１が保存される。そして、高速電力見積部３１によって、概要モードで得た概要動作データ２３１を用いて概要電力見積が実行され、記憶部５０に概要電力見積を含む電力結果データ５５が格納される。
【０１０３】
アサーション関連付けテーブル２７は、図７の動作シーケンス・データ５７の基本項目の電力測定対象として設定される一例である。
【０１０４】
（２−３）電力の集計と表示
アサーションの関係をシーケンスとして観測し、評価すべき状態になったら詳細に電力を見積もる。
【０１０５】
入力制御部２０は、処理量の大小関係を電力の大小関係とし、アサーションの関係を満たさない箇所を要確認区間として表示する。入力制御部２０は、シーン毎の電力を集計し、アサーションをチェックして表示する。
【０１０６】
図９は、モード切替例を示す図である。図９（ａ）は、ＴＶ映像などの動作例を示す。ＴＶ映像データにおける図８に示すアサーション関連付けテーブル２７によって定義された観測信号に基づいて、シーンＡ、Ｂ、及びＣの出現状態が時系列に示されている。
【０１０７】
図９（ａ）において、シーンＡは４回出現したことを示し、シーンＡに関して、実行区間Ａ１は開始時刻ｔ１から終了時刻ｔ２までであり、実行区間Ａ２は開始時刻ｔ７から終了時刻ｔ８までであり、実行区間Ａ３は開始時刻ｔ１３から終了時刻ｔ１４までであり、及び、実行区間Ａ４は開始時刻ｔ１７から終了時刻ｔ１８であることが示される。
【０１０８】
そして、シーンＢは６回出現したことを示し、シーンＢに関して、実行区間Ｂ１は開始時刻ｔ３から終了時刻ｔ４までであり、実行区間Ｂ２は開始時刻ｔ９から終了時刻ｔ１０までであり、実行区間Ｂ３は開始時刻ｔ１１から終了時刻ｔ１２までであり、実行区間Ｂ４は開始時刻ｔ１９から終了時刻ｔ２０までであり、実行区間Ｂ５は開始時刻ｔ２３から終了時刻ｔ２４までであり、及び、実行区間Ｂ６は開始時刻ｔ２５から終了時刻ｔ２６までであることが示される。
【０１０９】
また、シーンＣは３回出現したことを示し、シーンＣに関して、実行区間Ｃ１は開始時刻ｔ５から終了時刻ｔ６までであり、実行区間Ｃ２は開始時刻ｔ１５から終了時刻ｔ１６までであり、及び、実行区間Ｃ３は開始時刻ｔ２１から終了時刻ｔ２２までであることが示される。
【０１１０】
各実行区間の開始時刻ｔ１、ｔ３、ｔ５、ｔ７、ｔ９、ｔ１１、ｔ１３、ｔ１５、ｔ１７、ｔ１９、ｔ２１、ｔ２３、及びｔ２５は、再実行用データのダンプ時刻となる。また、これら開始時刻が概要モードでの回路の動作シミュレーションの開始時刻となり、各実行区間の終了時刻ｔ２、ｔ４、ｔ６、ｔ８、ｔ１０、ｔ１１２、ｔ１４、ｔ１６、ｔ１８、ｔ２０、ｔ２２、ｔ２４、及びｔ２６は、動作シミュレーションの終了時刻となる。
【０１１１】
図９（ｂ）は、概要モードでの回路の動作シミュレーションにおいて、電力測定の開始（上矢印）と終了（下矢印）とを示す。概要モードの開始（上矢印）と終了（下矢印）は、アサーション関連付けテーブル２７で定義される各観測信号がオンになった時刻とオフになった時刻で決定される。
【０１１２】
各実行区間で電力が測定され、シーン毎の各電力が見積もられ、アサーションの関係が満たされるか否かが判断される。概要モードによって得られた電力の見積もり結果は、例えば、図１０のようにモニタ１０８に表示される。
【０１１３】
図９（ｃ）は、データダンプのタイミング（上矢印）を示している。エミュレータ装置２００の記憶部２５０に出力されたダンプデータは、モードの切り替えなどにおいて、時刻指定で回路の動作シミュレーションを行う際に利用される。
【０１１４】
図９（ｄ）は、概要モードでのシミュレーション結果に基づいて、設計者によって指定された詳細モードでの回路の動作シミュレーションの開始（上矢印）と終了（下矢印）とを示す。詳細モードの開始（上矢印）と終了（下矢印）は、設計者が、モニタ１０８に表示されたシーン毎の各実行区間の電力値（図１０）を参照することによって、指定した実行区間の開始時刻と終了時刻とによって設定される。
【０１１５】
図１０は、シーン毎の電力値の例を示す図である。図１０中、ＩＤは、出現順に処理を識別するためのＩＤであり、ＩＤに対応させて処理毎に見積もられた電力値が示されている。例えば、シーンＡに関して、ＩＤ「Ｎｏ．１」、「Ｎｏ．２」、「Ｎｏ．３」、及び「Ｎｏ．４」の処理は、図９中の実行区間Ａ１、Ａ２、Ａ３、及びＡ４に夫々対応する。シーンＢ及びＣについても同様である。また、このようにシーン毎に各処理を識別するＩＤは、図９に示されるその処理が実行される実行区間の開始時刻と終了時刻とに対応付けられている。
【０１１６】
図１０に示すシーン毎の電力値の例では、各処理の電力値に加えて、シーン毎の平均電力値が示される。設計者は、モニタ１０８に表示された概要モードでのシミュレーション結果を参照して、更に詳細に電力解析をしたい処理をマウス１０９ｂなどで選択する。
【０１１７】
例えば、設計者は、シーンＡに関して、ＩＤ「Ｎｏ．２」の処理（図９の開始時刻ｔ７から終了時刻ｔ８の実行区間Ａ２）を指定する。
【０１１８】
また、設計者は、シーンＢに関して、ＩＤ「Ｎｏ．２」の処理（図９の開始時刻ｔ９から終了時刻ｔ１０の実行区間Ｂ２）、ＩＤ「Ｎｏ．３」の処理（図９の開始時刻ｔ１１から終了時刻ｔ１２の実行区間Ｂ３）、ＩＤ「Ｎｏ．４」の処理（図９の開始時刻ｔ１９から終了時刻ｔ２０の実行区間Ｂ４）、ＩＤ「Ｎｏ．５」の処理（図９の開始時刻ｔ２３から終了時刻ｔ２４の実行区間Ｂ５）、及びＩＤ「Ｎｏ．６」の処理（図９の開始時刻ｔ２５から終了時刻ｔ２６の実行区間Ｂ６）を指定する。
【０１１９】
更に、設計者は、シーンＣに関して、ＩＤ「Ｎｏ．２」の処理（図９の開始時刻ｔ１５から終了時刻ｔ１６の実行区間Ｃ２）を指定する。
【０１２０】
設計者によって指定された各処理（開始時刻から終了時刻）は、図７の動作シーケンス・データ５７の条件項目のモード切替条件において、クロック数（詳細モード開始時刻及び詳細モード終了時刻）に設定される。
【０１２１】
このように、設計者は、所望の処理を指定するのみで、詳細モードによる電力を測定する区間を容易に設定することができる。
【０１２２】
概要モードでの回路の動作シミュレーションの結果に基づいて指定された区間で、詳細モードでの回路の動作シミュレーションを実行するための処理について、図１１及び図１２で説明する。
【０１２３】
図１１は、区間指定のモード切替による処理の全体概要を示すフローチャート図である。図１１において、シミュレーション制御部１０は、動作シーケンス・データ５７に基づいて、エミュレータ装置２００に概要モードでの回路の動作シミュレーションを実行させる（ステップＳ５１）。動作シーケンス・データ５７に設定される図８に示すアサーション関連付けテーブル２７によって、電力測定対象の測定開始時間及び測定終了時間が指定されている。アサーション関連付けテーブル２７に従って、概要モードでの電力測定が行われる。
【０１２４】
そして、高速電力見積部３１によって算出された概要モードでの電力測定結果を、動作・電力ビューア部４０が、グラフィック処理装置１０４を介してモニタ１０８に表示させる。入力制御部２０は、モニタ１０８に表示された電力測定結果に基づいて、設計者が詳細モードの区間を指定することによって、詳細モードでシミュレーションを実行する区間を取得する（ステップＳ５２）。
【０１２５】
設計者によって指定された区間は、入力制御部２０によって生成される図７の動作シーケンス・データ５７の条件項目のモード切替条件として設定され、各区間はクロック数（詳細モード開始時間及び詳細モード終了時間）で指定される。
【０１２６】
そして、シミュレーション制御部１０は、動作シーケンス・データ５７に基づいて、エミュレータ装置２００に詳細モードでの回路の動作シミュレーションを実行させる（ステップＳ５３）。
【０１２７】
シミュレーション制御部による、図９（ｂ）及び図９（ｃ）に例示されるような概要モードでの電力測定を行う処理について図１２で説明する。図１２は、シミュレーション制御部による概要モードでの電力測定に係る処理を説明するためのフローチャート図である。
【０１２８】
図１２において、シミュレーション制御部１０は、トリガー１をエミュレータ装置２００に設定する（ステップＳ６１）。図９（ａ）の動作例において、トリガー１は、シーンＡの各処理の開始、シーンＢの各処理の開始、又は、シーンＣの各処理の開始、又は、回路の動作シミュレーションの終了時刻である。
【０１２９】
そして、シミュレーション制御部１０は、エミュレータ装置２００による回路の動作シミュレーションを実行する（ステップＳ６２）。シミュレーション制御部１０の制御によって、概要回路シミュレーション部Ｍ１による回路の動作シミュレーションが実行される。
【０１３０】
設定されたトリガー１が成立すると、シミュレーション制御部１０は、トリガー部２７０から割り込みにより終了イベントを受信する（ステップＳ６３）。シミュレーション制御部１０は、受信した終了イベントから、何が原因で止まったのかを判定するトリガー判定を行う（ステップＳ６４）。
【０１３１】
シミュレーション制御部１０は、止まった原因が終了時間であったのか否かを判断する（ステップＳ６５）。止まった原因が終了時間であると判断した場合、シミュレーション制御部１０は、この処理を終了する。
【０１３２】
一方、止まった原因が終了時間でないと判断した場合、シーンＡ、Ｂ、Ｃの各々に対応付けられる観測信号（図８）の立ち上がりを検出したと判断し、シミュレーション制御部１０は、エミュレータ装置２００にシミュレーションの再実行用データをダンプさせ、トリガー２を設定し、概要モードでの電力測定を開始する（ステップＳ６６）。再実行用データのダンプ時刻は、動作シーケンス・データ５７の条件項目の再実行用データダンプ条件で指定される。図９（ａ）の動作例の場合、シーンＡ、Ｂ、及びＣの各実行区間の開始時刻などが指定される。トリガー２は、シーンＡの各処理の終了、シーンＢの各処理の終了、又は、シーンＣの各処理の終了、又は、回路の動作シミュレーションの終了時刻である。
【０１３３】
そして、シミュレーション制御部１０は、エミュレータ装置２００による概要モードでの回路の動作シミュレーションを実行する（ステップＳ６７）。シミュレーション制御部１０の制御によって、概要回路シミュレーション部Ｍ１による回路の動作シミュレーションが実行される。
【０１３４】
その後、設定されたトリガー２が成立すると、シミュレーション制御部１０は、トリガー部２７０から割り込みにより終了イベントを受信する（ステップＳ６８）。シミュレーション制御部１０は、受信した終了イベントから、何が原因で止まったのかを判定するトリガー判定を行う（ステップＳ６９）。
【０１３５】
シミュレーション制御部１０は、止まった原因が終了時間であったのか否かを判断する（ステップＳ７０）。止まった原因が終了時間であると判断した場合、シミュレーション制御部１０は、この処理を終了する。
【０１３６】
一方、止まった原因が終了時間でないと判断した場合、シミュレーション制御部１０は、エミュレータ装置２００に時刻を保存させ、概要モードでの電力測定を終了し（ステップＳ７１）、ステップＳ６１へ戻り、上述同様の処理を繰り返す。
【０１３７】
上述したシミュレーション制御部１０による処理によって、指定されたシーンのみの電力測定を行うため、概要モードでの動作中の全てのデータを保存する必要がない。
【０１３８】
シミュレーション制御部１０による、図９（ｄ）に例示されるような詳細モードに係る処理について図１３で説明する。図１３は、シミュレーション制御部による詳細モードに係る処理を説明するためのフローチャート図である。
【０１３９】
図１３において、シミュレーション制御部１０は、図７の動作シーケンス・データ５７の条件項目のモード切替条件のクロック数（詳細モード開始時刻）を参照することによって、エミュレータ実行部２１０にダンプした再実行用データをロードさせる（ステップＳ８１）。図１０に例示されるような、設計者によって指定された処理の開始時刻（測定開始時刻）に関連付けされた再実行用データが、エミュレータ実行部２１０の詳細回路シミュレーション部Ｍ２にロードされる。
【０１４０】
また、シミュレーション制御部１０は、図７の動作シーケンス・データ５７の条件項目のモード切替条件のクロック数（詳細モード終了時刻）を参照することによって、エミュレータ装置２００にトリガーを設定する（ステップＳ８２）。トリガーの設定によって、終了時刻（測定終了時刻）が設定される。
【０１４１】
そして、シミュレーション制御部１０は、エミュレータ装置２００による詳細モードでの回路の動作シミュレーションを実行する（ステップＳ８３）。シミュレーション制御部１０の制御によって、詳細回路シミュレーション部Ｍ２による回路の動作シミュレーションが実行される。
【０１４２】
その後、設定されたトリガーが成立すると、シミュレーション制御部１０は、トリガー部２７０から割り込みにより終了イベントを受信する（ステップＳ８４）。終了イベントを受信すると、シミュレーション制御部１０は、動作シーケンス・データ５７を参照して、条件項目のモード切替条件を全て完了したか否かを判断する（ステップＳ８５）。全て完了した場合、シミュレーション制御部１０は、この処理を終了する。
【０１４３】
一方、モード切替条件を全て完了していない場合、シミュレーション制御部１０は、ステップＳ８１へ戻り、次のモード切替条件について上述同様の処理を実行する。
【０１４４】
再実行用データを用いて、詳細モードでのシミュレーションを行うため、再実行用データに関連付けられる時刻を指定すればよく、従って、モード切替条件におけるクロック数（詳細モード開始時刻及び詳細モード終了時刻）の指定順序は、図９に示されるような時系列な処理の順序である必要がない。
【０１４５】
次に、図７の動作シーケンス・データ５７の条件項目のモード切替条件に高電力値を示す区間が指定された場合の、シミュレーション制御部１０による処理について図１４で説明する。
【０１４６】
図１４は、高電力値を示す区間で詳細モードに切り替える処理を説明するためのフローチャート図である。図１４において、シミュレーション制御部１０は、動作シーケンス・データ５７に従って、モード切替条件で指定される区間１から区間ｎの各区間ｉで、概要モードで電力を測定するようにエミュレータ装置２００を制御する（ステップＳ９１）。
【０１４７】
そして、概要モードでの電力測定結果に基づいて、概要モードで電力の大きい所定数の区間を選択する（ステップＳ９３）。区間の選択は、動作・電力ビューア部４０によってもニタ１０８に表示された電力測定結果を参照することによって、設計者が選択しても良い。或いは、設計者によって予め指定された所定数で、シミュレーション制御部１０によって電力の大きい値の順に区間を自動的に選択するようにしてもよい。選択された区間の開始時刻及び終了時刻に基づいて、モード切替条件が変更された動作シーケンス・データ５７が生成される。
【０１４８】
所定数の区間が選択されると、シミュレーション制御部１０は、動作シーケンス・データ５７に従って、モード切替条件で指定される所定数の各区間ｉで、詳細モードで電力を測定するようにエミュレータ装置２００を制御する（ステップＳ９５）。そして、動作・電力ビューア部４０は、詳細モードで測定された電力の最も高い区間を最大電力としてモニタ１０８に表示する（ステップＳ９７）。表示される情報には、最大電力と、その区間の開始時刻とを含む。
【０１４９】
（２−４）画面例
上述した概要モードと詳細モードとを利用したシミュレーションの実行を、設計者に選択可能とする画面例について図１５で説明する。
【０１５０】
図１５は、メニュー画面例を示す図である。図１５に示すメニュー画面Ｇ１５は、入力制御部２０によってグラフィック処理装置１０４を介してモニタ１０８に表示されるメニュー画面である。設計者は、電力解析を、「概要電力レビューモードで実行する」、「調査モードで実行する」、及び「最も電力の高い時刻ポイントを求める」から選択することができる。選択に応じて、入力制御部２０は、選択された電力解析に係る検証条件を入力可能な画面を表示する。設計者によって検証条件が入力されると、入力制御部２０は、動作シーケンス・データ５７を生成して記憶部５０に格納する。
【０１５１】
（２−５）利便性
本実施例に係る消費電力解析装置１００を利用する設計者の利便性について説明する。
【０１５２】
（２−５−１）概要電力レビューモード
概要モードで測定された電力を表示させることができ、更に、設計者に電力を表示させるブロックを指定可能とする。
【０１５３】
動作・電力ビューア部４０は、電力結果データ５５を用いて、回路の動作シミュレーションを表示させることができる。例えば、動画表示で電力の変化を表示する。また、動作・電力ビューア部４０は、動作出力データ５６を用いて、動作波形の表示を行うことによって、設計者は、動作モードの確認を行うことができる。また、設計者によってどの信号線の理論を波形表示するかを指定させることができる。
【０１５４】
設計者は、必要に応じて割り込みを発生させ、シミュレーションを停止されることができる。
【０１５５】
モニタ１０８に表示された電力又は波形を参照して、設計者は、検証条件を変更したり、詳細モードで検証したい時刻を設定できる。また、概要モードの結果から時区間を絞り込み、詳細モードで検証することができる。
【０１５６】
（２−５−２）調査モード
電力を見積もる際に、概要モードと詳細モードとを切り替えながら、詳細な検証が必要な処理の実行区間を詳細モードで電力検証を行なうことができる。
【０１５７】
観測信号に基づいて詳細モードへ切り替えるように、エミュレータ装置２００を制御することによって、例えば、図１６に示すように、シーンＡ、Ｂ、及びＣで詳細モードに切り替え、それ以外では概要モードで電力を測定することができる。
【０１５８】
図１６は、概要モードと詳細モードとを切り替えながら回路の動作シミュレーション全体を実行する例を示す図である。図１６において、動作シーケンス・データ５７で指定されるシーンＡ、Ｂ、及びＣの処理の実行区間のみで詳細モードとなる。
【０１５９】
回路の動作シミュレーション全体では、シーンＡの実行区間の開始時刻で概要モードから詳細モードへと切り替え、シーンＡの実行区間の終了時刻で詳細モードから概要モードへと切り替えられる。同様に、シーンＢの実行区間の開始時刻で概要モードから詳細モードへと切り替え、シーンＢの実行区間の終了時刻で詳細モードから概要モードへと切り替えられる。また、シーンＣの実行区間の開始時刻で概要モードから詳細モードへと切り替え、シーンＣの実行区間の終了時刻で詳細モードから概要モードへと切り替えられる。
【０１６０】
図１６に示す動作例は、図８に例示されるアサーション関連付けテーブル２７による動作シーケンス・データ５７の条件項目のモード切替条件の設定と、図６に示すモード切替による連続処理によって実現される。
【０１６１】
（２−５−３）応用例
アサーションを用いた応用例について図１７で説明する。図１７中、設計者による一連の電力解析の手順の一例を示し、左に設計者によって設定されたシナリオのバリエーションを示し、右にシナリオに基づいた表示のバリエーションを示している。
【０１６２】
設計者は、先ず、回路全体の大まかな電力を見るために、概要モードによる電力表示シナリオを、入力制御部２０を介して設定する（ステップＳ１０１）。このシナリオに基づく、概要モードによる電力波形の動画表示が、動作・電力ビューア部４０によってモニタ１０８に行われる（ステップＳ１０２）。
【０１６３】
設計者は、モニタ１０８に表示された電力波形の動画を検証することによって、あるシーンに係る電力を消費している場所を検証するためにブロック別の電力動作表示シナリオを設定する（ステップＳ１０３）。このシナリオに基づく、ブロック別の電力動作表示が、動作・電力ビューア部４０によってモニタ１０８に行われる（ステップＳ１０４）。シーンは、上述したように、シーンに係る処理の実行区間（開始時刻及び終了時刻）で指定される。ステップＳ１０４では、ブロック別電力波形表示、ブロック別動作モード表示、ブロック別動作量（性能）表示などが行われる。
【０１６４】
また、設計者は、ステップＳ１０３で指定したシーンとは別のシーンに関して、電力を消費している場所を検証するためにブロック別の電力動作表示シナリオを設定する（ステップＳ１０５）。このシナリオに基づく、ブロック別の電力動作表示が、動作・電力ビューア部４０によってモニタ１０８になされる（ステップＳ１０６）。ステップＳ１０６では、ステップＳ１０４と同様の処理が行われると共に、ステップＳ１０３で指定されたシーンとの比較がなされ、電力比較表示、動作量（性能）比較表示などがモニタ１０８に表示される。
【０１６５】
設計者は、モニタ１０８に表示された電力比較、動作量（性能）比較などを参照することによって、詳細モードでの電力動作表示シナリオを設定する（ステップＳ１０７）。このシナリオに基づく、詳細モードによる電力波形表示が、動作・電力ビューア部４０によってモニタ１０８に行われる（ステップＳ１０８）。
【０１６６】
携帯電話機のＴＶ映像の画像処理などの実アプリケーションでは、数百ＭＨｚクロックで数秒に及ぶ処理の電力解析が要求され、膨大な変化数を集計し、電力計算を行う必要がある。従って、本実施例を適用することによって、設計者は、概要モードでの電力検証後、指定した処理の実行区間を指定した詳細モードでの電力検証を行なうことができるため、効率的な電力検証を行なえる。
【０１６７】
また、再実行では、指定された時刻からの回路の動作シミュレーションが可能であるため、電力検証の時間を大幅に削減することができる。
【０１６８】
更に、予め詳細モードでの電力検証が必要な処理に関して、アサーション関連付けテーブル２７によるモード切替条件（図７）を設定することで、概要モードと詳細モードと切り替えながら連続した処理によって回路の動作シミュレーションを実現することができる。
【０１６９】
本実施例に係る消費電力解析装置１００により、回路の動作シミュレーションは１０倍以上の高速化が期待できる。また、詳細モードと概要モードとの動作比率を１：１０程度にすることができ、それらの結果による詳細モードと概要モードでのデータのダンプ比率は１：１０００程度にできると期待できる。
【０１７０】
精度に関して、必要な部分での詳細モードによる結果は、略１００％の精度を得ることができ、概要モードの場合は、５０〜８０％の精度を得ることができる。
【０１７１】
対話的な電力検証に関して、電力検証に係るアサーションによる精度と速度トレードオフを設計者が設定可能である。また、アサーションを設定することで、電力バグを検出することも可能である。
【０１７２】
上述したように、本実施例では、論理回路の電力検証において、モード切替のタイミングを設計者が設定できることにより対話的な電力検証が行なえると共に、電力解析の要求精度を考慮した効率的かつ高速な電力見積もりを実現することができる。
【０１７３】
概要モードと詳細モードとを必要に応じて切り替えることで、高速な電力見積もりを行う。概要モードでは、ＲＴＬレベルでの高速な電力見積もりが行われ、ＲＴＬによる回路動作からメモリとクロックゲーティングの動作を計数し、メモリ、クロック木、ＦＦクロックの電力を算出する。また、詳細モードでは、ゲートレベルでの詳細な電力見積もりが行われ、Ｖｅｒｉｌｏｇなどによるハードウェア記述言語による回路動作から、全ての回路の動作を計数し、組み合せ回路を含めた全電力を算出する。
【０１７４】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【０１７５】
以上の実施例を含む実施形態に関し、更に以下の付記を開示する。
（付記１）
回路の動作記述の抽象度が異なる概要回路モデルと、該概要回路モデルより抽象度が低い詳細回路モデルとを含む回路データと、該回路の電力検証方法に係る動作シーケンス・データとを記憶する記憶部と、
論理回路の動作シミュレーションを行う論理シミュレーション部に、前記記憶部に記憶されている前記概要回路モデルと前記詳細回路モデルとを含む前記回路データをロードし、該記憶部に記憶されている前記動作シーケンス・データに従って、該概要回路モデルによって前記動作シミュレーションを行わせる概要モードと、該詳細回路モデルによって該動作シミュレーションを行わせる詳細モードとを切り替えて、該論理シミュレーション部に該動作シミュレーションを行わせるシミュレーション制御部と
を有することを特徴とする消費電力解析装置。
（付記２）
前記シミュレーション制御部は、
前記動作シーケンス・データのモード切替条件で指定される前記詳細モードへの切替タイミングで、前記詳細モードへと切り替えることによって、前記概要モードと前記詳細モードとを交互に切り替えながら一連の連続した動作シミュレーションを、前記論理シミュレーション部に行わせることを特徴とする付記１記載の消費電力解析装置。
（付記３）
前記概要モードから前記詳細モードへの切替タイミングにて、前記概要モードにおける前記概要回路モデルの状態値が前記詳細回路モデルの状態値に設定されることを特徴とする付記２記載の消費電力解析装置。
（付記４）
前記概要モードから前記詳細モードへの切替タイミングでの前記状態値の設定は、前記概要回路モデルから前記詳細回路モデルへの対応付けを示すマッピング情報に基づいて行われることを特徴とする付記３記載の消費電力解析装置。
（付記５）
前記詳細モードから前記概要モードへの切替タイミングにて、前記詳細モードにおける前記詳細回路モデルの状態値が前記概要回路モデルの状態値に設定されることを特徴とする付記３又は４記載の消費電力解析装置。
（付記６）
前記詳細モードから前記概要モードへの切替タイミング前記状態値の設定は、前記マッピング情報と、前記詳細回路モデルに存在するが前記概要モデルに存在しない回路への設定値を示す設定値情報とに基づいて行われることを特徴とする付記５記載の消費電力解析装置。
（付記７）
前記シミュレーション制御部は、
前記動作シーケンス・データのモード切替条件で指定される前記概要モードによるシミュレーション結果に基づく前記詳細モードへの切替タイミングでの、該概要モードの実行時に得た前記概要回路モデルの状態値を用いて、前記論理シミュレーション部に該切替タイミングから詳細モードでの前記動作シミュレーションを開始させることを特徴とする付記１記載の消費電力解析装置。
（付記８）
前記シミュレーション制御部は、
論理シミュレーション部に、前記動作シーケンス・データのモード切替条件で指定される複数の処理の実行区間で前記概要モードによる電力測定を行い、該電力測定の結果に基づく電力の大きい一以上の実行区間で、前記詳細モードによる電力測定を行わせる
ことを特徴とする付記１記載の消費電力解析装置。
（付記９）
前記回路データには、前記概要回路モデル用の計数回路モデルと、前記詳細回路モデル用の計数回路モデルとが含まれていることを特徴とする付記１乃至８のいずれか一項記載の消費電力解析装置。
（付記１０）
前記概要モードでの前記論理シミュレーション部による前記動作シミュレーションの結果に基づいて、電力を見積もる概要電力見積部と、
前記詳細モードでの前記論理シミュレーション部による前記動作シミュレーションの結果に基づいて、電力を見積もる詳細電力見積部と
を更に有する付記１乃至９のいずれか一項記載の消費電力解析装置。
（付記１１）
前記概要電力見積部による電力見積もり結果と、前記詳細電力見積部による電力見積もり結果とをモニタに表示させるビューア部と、
前記動作シミュレーションの前記電力検証方法に係る設定、又は、前記ビューア部によって前記モニタに表示された結果から選択することによる該電力検証方法に係る設定を設計者に行わせる入力制御部と
を更に有する付記１０記載の消費電力解析装置。
（付記１２）
コンピュータによって実行される消費電力解析方法であって、該コンピュータが、
論理回路の動作シミュレーションを行う論理シミュレーション部に、記憶部に記憶されている回路の動作記述の抽象度が異なる概要回路モデルと、該概要回路モデルより抽象度が低い詳細回路モデルとを含む回路データをロードし、該記憶部に記憶されている前記動作シーケンス・データに従って、該概要回路モデルによって前記動作シミュレーションを行わせる概要モードと、該詳細回路モデルによって該動作シミュレーションを行わせる詳細モードとを切り替えて、該論理シミュレーション部に該動作シミュレーションを行わせることを特徴とする消費電力解析方法。
（付記１３）
論理回路の動作シミュレーションを行う論理シミュレーション部に、記憶部に記憶されている回路の動作記述の抽象度が異なる概要回路モデルと、該概要回路モデルより抽象度が低い詳細回路モデルとを含む回路データをロードし、
前記記憶部に記憶されている前記動作シーケンス・データに従って、前記概要回路モデルによって前記動作シミュレーションを行わせる概要モードと、前記詳細回路モデルによって該動作シミュレーションを行わせる詳細モードとを切り替えて、前記論理シミュレーション部に前記動作シミュレーションを行わせる、
処理をコンピュータに実行させるプログラム。
（付記１４）
論理回路の動作シミュレーションを行う論理シミュレーション部に、記憶部に記憶されている回路の動作記述の抽象度が異なる概要回路モデルと、該概要回路モデルより抽象度が低い詳細回路モデルとを含む回路データをロードし、
前記記憶部に記憶されている前記動作シーケンス・データに従って、前記概要回路モデルによって前記動作シミュレーションを行わせる概要モードと、前記詳細回路モデルによって該動作シミュレーションを行わせる詳細モードとを切り替えて、前記論理シミュレーション部に前記動作シミュレーションを行わせる、
処理をコンピュータに実行させるプログラムを記憶したコンピュータ読取可能な記憶媒体。
【符号の説明】
【０１７６】
１０          シミュレーション制御部
１１          ＣＰＵ
１２          メモリユニット
１３          表示ユニット
１４          出力ユニット
１５          入力ユニット
１６          通信ユニット
１７          記憶装置
１８          ドライブ
１９          記憶媒体
２０          入力制御部
３０          電力見積部
３１          高速電力見積部
３２          詳細電力見積部
４０          動作・電力ビューア部
５０          記憶部
５１          回路データ
５２          テストベンチ・データ
５５          電力結果データ
５６          動作出力データ
５７          動作シーケンス・データ
１００        消費電力解析装置（ホスト計算機）
２００        エミュレータ装置
２１０        エミュレーション実行部
２２１        概要回路モデル
２２２        計数回路モデル
２２３        詳細回路モデル
２２４        計数回路モデル
２３０        動作データ
２３１        概要動作データ
２３２        詳細動作データ
２７０        トリガー部
Ｍ１          概要回路シミュレーション部
Ｍ２          詳細回路シミュレーション部
【図１】
2013029893.tif 000003
【図２】
2013029893.tif 000004
【図３】
2013029893.tif 000005
【図４】
2013029893.tif 000006
【図５】
2013029893.tif 000007
【図６】
2013029893.tif 000008
【図７】
2013029893.tif 000009
【図８】
2013029893.tif 000010
【図９】
2013029893.tif 000011
【図１０】
2013029893.tif 000012
【図１１】
2013029893.tif 000013
【図１２】
2013029893.tif 000014
【図１３】
2013029893.tif 000015
【図１４】
2013029893.tif 000016
【図１５】
2013029893.tif 000017
【図１６】
2013029893.tif 000018
【図１７】
2013029893.tif 000019