(57)【要約】      （修正有）【課題】消費電力を求めるのに必要な時間を短縮してＴＡＴを短縮可能とする消費電力見積方法の提供。【解決手段】各メモリの周辺信号の変化数をカウントするカウンタをテストベンチ内に埋め込み、テストベンチでシミュレーションを行い、ダンプされたカウンタ値から時刻別メモリ動作率を算出し、周辺信号が設計対象全体の消費電力に対してどの程度影響を及ぼすかを示すメモリ影響度を算出し、時刻別メモリ動作率とメモリ影響度に基づいて時刻別データ平均動作率を予測し、データ動作率の変化量が閾値より大きい変化ポイントを波形取得ポイントとして選択し、波形取得ポイントで設計対象全体のシミュレーションを行い指定された期間のみの波形データを取得し、取得された波形データから時刻別データ平均動作率を算出し、それと時刻別メモリ動作率から消費電力を見積るように構成する。【選択図】図３
2008234224.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータによる消費電力見積方法であって、
設計対象内の各メモリの周辺信号の変化数をカウントするカウンタを、該設計対象に対するテストベンチ内に埋め込む埋め込み工程と、
該テストベンチでシミュレーション又はエミュレーションを行い、定期的に各カウンタのカウント値をダンプすると共に、ダンプされたカウンタ値から時刻別メモリ動作率を算出する工程と、
該設計対象のネットリストを解析し、該周辺信号が設計対象全体の消費電力に対してどの程度影響を及ぼすかを示すメモリ影響度を算出するメモリ影響度算出工程と、
該時刻別メモリ動作率と該メモリ影響度に基づいて時刻別データ平均動作率を予測する予測工程と、
該予測された時刻別データ平均動作率をサンプル間隔でサンプリングし、データ動作率の変化量が閾値より大きい変化ポイントを波形取得ポイントとして選択して波形データを取得する波形取得ポイント選択工程と、
該波形取得ポイントで該設計対象全体のシミュレーション又はエミュレーションを行い、指定された期間のみの波形データを取得する工程と、
取得された波形データから時刻別データ平均動作率を算出し、算出された時刻別データ平均動作率と該時刻別メモリ動作率から消費電力を見積る見積工程とを含むことを特徴とする、消費電力見積方法。
【請求項２】
該メモリはＲＡＭであり、
該埋め込み工程は、該ＲＡＭの周辺信号であるチップイネーブル信号、ライトイネーブル信号、アドレス信号、入力データ及び出力データに対してカウンタを埋め込み、各カウンタは該ＲＡＭに入力されるクロック信号をクロック入力として対応する信号のデータ変化数をカウントすることを特徴とする、請求項１記載の消費電力見積方法。
【請求項３】
該波形取得ポイント選択工程は、該時刻別データ平均動作率を該カウンタのカウント値のダンプ間隔と同じサンプル間隔でサンプリングすることを特徴とする、請求項１又は２記載の消費電力見積方法。
【請求項４】
該メモリ影響度算出工程は、該ネットリストを入力として、各メモリの入力信号を起点として各メモリの出力端子又は外部入力信号に到達するまでバックトレースし、バックトレース中は各メモリの入力端子毎にトレースされたネット数をカウントし、各入力信号毎にカウントされた値を全ネット数で割ることにより各入力信号の影響度を算出すると共に、各メモリの出力信号を起点として各メモリの入力端子又は外部出力信号に到達するまでフォワードトレースし、フォワードトレース中は各メモリの出力端子毎にトレースされたネット数をカウントし、各出力信号毎にカウントされた値を全ネット数で割ることにより各出力信号の影響度を算出することを特徴とする、請求項１乃至３のいずれか１項記載の消費電力見積方法。
【請求項５】
コンピュータに設計対象の消費電力を見積もらせるプログラムであって、
設計対象内の各メモリの周辺信号の変化数をカウントするカウンタを、該設計対象に対するテストベンチ内に埋め込ませる埋め込み手順と、
該テストベンチでシミュレーション又はエミュレーションを行わせ、定期的に各カウンタのカウント値をダンプさせると共に、ダンプされたカウンタ値から時刻別メモリ動作率を算出させる手順と、
該設計対象のネットリストを解析させ、該周辺信号が設計対象全体の消費電力に対してどの程度影響を及ぼすかを示すメモリ影響度を算出させるメモリ影響度算出手順と、
該時刻別メモリ動作率と該メモリ影響度に基づいて時刻別データ平均動作率を予測させる予測手順と、
該予測された時刻別データ平均動作率をサンプル間隔でサンプリングさせ、データ動作率の変化量が閾値より大きい変化ポイントを波形取得ポイントとして選択させて波形データを取得させる波形取得ポイント選択手順と、
該波形取得ポイントで該設計対象全体のシミュレーション又はエミュレーションを行わせ、指定された期間のみの波形データを取得させる手順と、
取得された波形データから時刻別データ平均動作率を算出させ、算出された時刻別データ平均動作率と該時刻別メモリ動作率から消費電力を見積らせる見積手順とを該コンピュータに行わせることを特徴とする、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、消費電力見積方法、ＣＡＤシステム、プログラム及び記憶媒体に係り、特に半導体装置（半導体チップ）や集積回路（ＬＳＩ）の消費電力の見積を行う消費電力見積方法、ＣＡＤシステム、プログラム及びコンピュータ読み取り可能な記憶媒体に関する。本発明は、このような消費電力見積方法による解析を提供するサービスにも関する。
【背景技術】
【０００２】
図１は、一般的な半導体装置や集積回路の設計・製造手順を説明するフローチャートである。半導体装置や集積回路のＣＡＤによる設計は、仕様設計段階ＳＴ１、ＲＴＬ設計段階ＳＴ２、検証段階ＳＴ３及び物理設計段階ＳＴ４からなる。仕様設計段階ＳＴ１では、設計する半導体装置や集積回路の仕様に基づいて設計データを作成し、ＲＴＬ設計段階ＳＴ２では、仕様設計段階ＳＴ１で作成された設計データをＲＴＬで記述する。物理設計段階ＳＴ４では、検証段階ＳＴ３で検証されたＲＴＬ設計データをコンパイルして作成されたネットリストに基づいて、回路の配置、配線及び動作タイミングが設計される。製造段階ＳＴ５では、物理設計段階ＳＴ４で得られた設計データに基づいて、半導体装置や集積回路が実際に製造される。
【０００３】
物理設計段階ＳＴ４では、回路の配置、配線及び動作タイミングが決定されるか、或いは、変更される度に消費電力を算出し、算出結果に基づいて回路の配置、配線及び動作タイミングを最適化して行く。
【０００４】
図２は、従来の消費電力算出手順を説明するフローチャートである。図２に示すように、消費電力算出手順は、半導体チップのネットリスト（以下、単にチップネットリストと言う）１及び半導体チップを駆動する周辺部分に関する全体テストベンチ２を入力として、全体シミュレーション３を行って各ネットでの波形データ５を取得する。波形データ５は、各ネットでの動作変化回数、即ち、オン／オフの回数を表している。消費電力解析ツール６は、チップネットリスト４及び波形データ５から消費電力を算出し、消費電力レポート７を求める。
【０００５】
消費電力を算出するためには、消費電力測定用のテストデータの処理期間中の半導体チップ内の全ネットの動作変化回数（即ち、オン／オフの回数）を取得するため、全ネットの波形データを取得する必要がある。半導体チップのサイズ、或いは、半導体チップ内のゲート数が大きくなると、全ネットの波形データは膨大な量となり、シミュレーション速度が低下する。又、プロセッサ等の場合、１命令を実行しただけでは正確な消費電力を算出することができないため、一定数以上の命令を実行して平均的な消費電力を算出する必要があり、その分データ量、即ち、全ネットの波形データの量が増大する。このため、シミュレーション実行時間は、殆どが波形データ取得時間となる。
【０００６】
特許文献１には、ゲーテッドクロック設計を可能にするゲーテッドクロック設計支援装置が提案されている。
【特許文献１】特開平１１−１４９４９６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
従来の消費電力算出方法では、全ネットの波形データを取得する必要があるため、シミュレーション速度が低下し、消費電力算出時間全体に対してシミュレーション実行時間が占める割合は約７５％以上であった。このように、消費電力算出時間は、シミュレーション実行時間に大きく依存するために短縮することは難しく、この結果ＴＡＴ（Turn Around Time）を短縮することも難しいという問題があった。
【０００８】
そこで、本発明は、消費電力を求めるのに必要な時間を短縮してＴＡＴを短縮可能な消費電力見積方法、ＣＡＤシステム、プログラム及び記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記の課題は、コンピュータによる消費電力見積方法であって、設計対象内の各メモリの周辺信号の変化数をカウントするカウンタを、該設計対象に対するテストベンチ内に埋め込む埋め込み工程と、該テストベンチでシミュレーション又はエミュレーションを行い、定期的に各カウンタのカウント値をダンプすると共に、ダンプされたカウンタ値から時刻別メモリ動作率を算出する工程と、該設計対象のネットリストを解析し、該周辺信号が設計対象全体の消費電力に対してどの程度影響を及ぼすかを示すメモリ影響度を算出するメモリ影響度算出工程と、該時刻別メモリ動作率と該メモリ影響度に基づいて時刻別データ平均動作率を予測する予測工程と、該予測された時刻別データ平均動作率をサンプル間隔でサンプリングし、データ動作率の変化量が閾値より大きい変化ポイントを波形取得ポイントとして選択して波形データを取得する波形取得ポイント選択工程と、該波形取得ポイントで該設計対象全体のシミュレーション又はエミュレーションを行い、指定された期間のみの波形データを取得する工程と、取得された波形データから時刻別データ平均動作率を算出し、算出された時刻別データ平均動作率と該時刻別メモリ動作率から消費電力を見積る見積工程とを含むことを特徴とする消費電力見積方法により達成できる。
【００１０】
上記の課題は、コンピュータに設計対象の消費電力を見積もらせるプログラムであって、設計対象内の各メモリの周辺信号の変化数をカウントするカウンタを、該設計対象に対するテストベンチ内に埋め込ませる埋め込み手順と、該テストベンチでシミュレーション又はエミュレーションを行わせ、定期的に各カウンタのカウント値をダンプさせると共に、ダンプされたカウンタ値から時刻別メモリ動作率を算出させる手順と、該設計対象のネットリストを解析させ、該周辺信号が設計対象全体の消費電力に対してどの程度影響を及ぼすかを示すメモリ影響度を算出させるメモリ影響度算出手順と、該時刻別メモリ動作率と該メモリ影響度に基づいて時刻別データ平均動作率を予測させる予測手順と、該予測された時刻別データ平均動作率をサンプル間隔でサンプリングさせ、データ動作率の変化量が閾値より大きい変化ポイントを波形取得ポイントとして選択させて波形データを取得させる波形取得ポイント選択手順と、該波形取得ポイントで該設計対象全体のシミュレーション又はエミュレーションを行わせ、指定された期間のみの波形データを取得させる手順と、取得された波形データから時刻別データ平均動作率を算出させ、算出された時刻別データ平均動作率と該時刻別メモリ動作率から消費電力を見積らせる見積手順とを該コンピュータに行わせることを特徴とするプログラムによって達成できる。
【発明の効果】
【００１１】
本発明によれば、消費電力を求めるのに必要な時間を短縮してＴＡＴを短縮可能な消費電力見積方法、ＣＡＤシステム、プログラム及び記憶媒体を実現することができる。
【発明を実施するための最良の形態】
【００１２】
本発明では、近年ＬＳＩの大規模化により半導体装置や集積回路全体に対してＲＡＭ等の読み書き可能なメモリの占める割合が増加しており、メモリの周辺信号と半導体装置や集積回路の動作率との相関関係が強くなっていることに注目し、メモリの周辺情報から消費電力算出用に取得する波形データの量を削減する。
【００１３】
シミュレーション又はエミュレーションで得られたメモリの周辺信号の動作率とチップネットリストの解析で得られたメモリ影響度から、時刻別データ平均動作率を予測し、時刻別データ平均動作率の予測から波形データを取得するポイントを絞り込むことにより、 シミュレーション実行時間を短縮する。
【００１４】
以下に、本発明の消費電力見積方法、ＣＡＤシステム、プログラム及び記憶媒体の各実施例を図３以降と共に説明する。
【実施例】
【００１５】
図３は、本発明の一実施例を説明するフローチャートである。図３に示す消費電力見積方法は、ＣＡＤシステムの物理設計段階で用いられる。ＣＡＤシステムは、コンピュータに消費電力見積方法を行わせるプログラムを実行する汎用コンピュータにより構成できる。プログラムは、コンピュータ読み取り可能な記憶媒体に格納されていても良い。
【００１６】
図３において、ステップ１４−１は、設計対象である半導体チップ（又は、集積回路）のネットリスト（以下、単にチップネットリストと言う）１１、半導体チップを駆動する周辺部分に関する全体テストベンチ１２及び半導体チップ内のＲＡＭ等の読み書き可能なメモリの数や配置を示すＲＡＭインスタンス情報１３を入力として、ＲＡＭの周辺信号の変化数（即ち、オン／オフの回数）をカウントするためのカウンタをテストベンチ１３内に埋め込むカウンタ埋め込み処理を行う。ここでは説明の便宜上、チップネットリスト１１、全体テストベンチ１２及びＲＡＭインスタンス情報１３が予め求められており、汎用コンピュータの記憶手段に記憶されているものとする。ステップ１４−２は、カウンタが埋め込まれたテストベンチ１２で全体シミュレーション又はエミュレーションを行い、定期的にカウンタデータ（カウント値）をダンプすると共に、ダンプされたカウンタデータから時刻別ＲＡＭ動作率１５を算出して記憶手段に記憶する。ステップＳ１４−１，１４−２は、第１のシミュレーション又はエミュレーション段階を構成する。時刻別ＲＡＭ動作率１５は、各時刻におけるＲＡＭの各入出力信号（以下、周辺信号と言う）のカウント値で表される。
【００１７】
ステップ１６は、チップネットリスト１１を解析し、ＲＡＭの周辺信号が半導体チップ全体の消費電力に対してどの程度影響を及ぼすかを示すＲＡＭ影響度を算出するＲＡＭ影響度算出処理を行い、ＲＡＭ影響度を記憶手段に記憶する。ステップ１７は、時刻別ＲＡＭ動作率１５とＲＡＭ影響度に基づいて時刻別データ平均動作率を予測する時刻別データ平均動作率予測処理を行い、予測された時刻別データ平均動作率を記憶手段に記憶する。
【００１８】
ステップ１８−１は、時刻別データ平均動作率を例えばカウンタのカウント値のダンプ間隔と同じサンプル間隔でサンプリングし、データ動作率の変化量が閾値より大きい変化ポイントを波形取得ポイントとして選択して波形データを取得する波形取得ポイント選択処理を行う。これにより、時刻別データ平均動作率が変化しない期間については波形データを取得せずに前の波形データを使用することにより、波形取得ポイントを少なくすることができる。ステップ１８−２は、波形取得ポイントを少なくした状態で全体シミュレーション又はエミュレーションを行い、指定された期間のみの波形データ１９を取得して記憶手段に記憶する。ステップＳ１８−１，１８−２は、第２のシミュレーション又はエミュレーション段階を構成する。ステップ２０は、取得された波形データ１９から時刻別データ平均動作率２１を算出して記憶手段に記憶する時刻別データ平均動作利率算出処理と、算出された時刻別データ平均動作率２１と時刻別ＲＡＭ動作率１５から消費電力を見積り記憶手段に記憶する消費電力見積処理を行う。時刻別平均動作率２１は、半導体チップの時刻別の平均信号変化数又は平均オン／オフの回数で表される。ステップＳ２０は、基本的には図１に示す消費電力解析ツール６の如き周知の解析ツールで実行できる。
【００１９】
次に、ステップ１４−１のカウンタ埋め込み処理を、図４と共に説明する。図４は、カウンタ埋め込み処理を説明する図である。
【００２０】
図４に示すように、ＲＡＭ３１の周辺信号であるチップイネーブル（ＣＥ）信号、ライトイネーブル（ＷＥ）信号、アドレス（ＡＤＲ）信号、入力データ（ＤＡＴＡＩ）及び出力データ（ＤＡＴＡＯ）に対してカウンタ（ＣＮＴ）３２−１，３２−２，３２−３，３２−４，３２−５を埋め込む。ＣＥカウンタ３２−１及びＷＥカウンタ３２−２は、クロック信号ＣＬＯＣＫをクロック入力としてイネーブル期間をカウントする。ＡＤＲカウンタ３２−３、ＤＡＴＡＩカウンタ３２−４及びＤＡＴＡＯカウンタ３２−５は、クロック信号ＣＬＯＣＫをクロック入力としてデータ変化数（前回のクロックと現在（今回）のクロックが異なる回数）をカウントする。カウンタ３２−１〜３２−５のカウンタ値は、ステップ１４−２がシミュレーション又はエミュレーションを実行中に一定間隔で同時にダンプされるので、ダンプされたカウンタデータから時刻別ＲＡＭ動作率１５を算出することができる。このようなカウンタ埋め込み処理は、半導体チップ内の全てのＲＡＭに対して行われる。
【００２１】
次に、ステップ１６のＲＡＭ影響度算出処理を、図５と共に説明する。図５は、ＲＡＭ影響度算出処理を説明するフローチャートである。
【００２２】
図５において、ステップ４１は、チップネットリスト１１を入力として、ＲＡＭの入力信号（ＣＥ，ＷＥ，ＡＤＲ，ＤＡＴＡＩ）を起点として、バックトレースを行う。バックトレースは、ＲＡＭの出力端子又は外部入力信号に到達したら停止する。図６は、バックトレースを説明する図であり、３１−１〜３１−４はＲＡＭ、５１は論理回路、５２はセレクタ回路、太い一点鎖線はバックトレースを示す。図６に太い一点鎖線で示すように、ＲＡＭの入力端子を起点として、ＲＡＭの出力端子又は外部入力端子までバックトレースする。バックトレース中は、ステップ４３において各ＲＡＭ３１−１〜３１−４の端子毎にトレースされたネット数をカウントし、バックトレース停止時にステップ４４においてカウント値を汎用コンピュータの記憶手段に記憶する。以下に示すように、各入力信号毎にカウントされた値を全ネット数で割ることにより、各入力信号の影響度を算出することができる。
【００２３】
ＣＥ信号の影響度＝（ＣＥ信号のバックトレースでカウントされたネット数）／（全ネット数）
ＷＥ信号の影響度＝（WE信号のバックトレースでカウントされたネット数）／（全ネット数）
ＡＤＲ信号の影響度＝（ＡＤＲ信号のバックトレースでカウントされたネット数）／（全ネット数）
ＤＡＴＡＩ信号の影響度＝（ＤＡＴＡＩ信号のバックトレースでカウントされたネット数）／（全ネット数）
ステップ４２は、チップネットリスト１１を入力として、ＲＡＭの出力信号（ＤＡＴＡＯ）を起点として、フォワードトレースを行う。フォワードトレースは、ＲＡＭの入力端子又は外部出力信号に到達したら停止する。図７は、フォワードトレースを説明する図であり、３１−１〜３１−４はＲＡＭ、５１は論理回路、５２はセレクタ回路、太い二点鎖線はフォワードトレースを示す。図７に太い二点鎖線で示すように、ＲＡＭの出力端子を起点として、ＲＡＭの入力端子又は外部出力端子までバックトレースする。フォワードトレース中は、ステップ４３において各ＲＡＭ３１−１〜３１−４の端子毎にトレースされたネット数をカウントし、フォワードトレース停止時にステップ４４においてカウント値を汎用コンピュータの記憶手段に記憶する。以下に示すように、各出力信号毎にカウントされた値を全ネット数で割ることにより、各出力信号の影響度を算出することができる。
【００２４】
ＤＡＴＡＯ信号の影響度＝（ＤＡＴＡＯ信号のフォワードトレースでカウントされたネット数）／（全ネット数）
図８は、ＲＡＭ３１−１〜３１−４の端子別影響度を説明する図である。図８において、例えばＲＡＭ３１−１のＣＥ，ＷＥ，ＡＤＲ，ＤＡＴＡＩ，ＤＡＴＡＯ信号の影響度は夫々０．０１，０．０２，０．０１，０．０４，０．０３である。
【００２５】
ステップ４４は更に、半導体チップ内の全てのＲＡＭ３１−１〜３１−４に対してＲＡＭ影響度を算出して記憶手段に記憶することにより、ＲＡＭ影響度がデータベース化される。各ＲＡＭ３１−１〜３１−４のＲＡＭ影響度は、ＲＡＭの周辺信号が影響を及ぼすネット割合を示しており、次のように算出することができる。
【００２６】
ＲＡＭ影響度＝｛（ＣＥ信号のトレース時のカウント値）×（ＣＥ信号の影響度）｝＋｛ＷＥ信号のトレース時のカウント値）×（ＷＥ信号の影響度）｝＋｛ＡＤＲ信号のトレース時のカウント値）×（ＡＤＲ信号の影響度）｝＋｛ＤＡＴＡＩ信号のトレース時のカウント値）×（ＤＡＴＡＩ信号の影響度）｝＋｛ＤＡＴＡＯ信号のトレース時のカウント値）×（ＤＡＴＡＯ信号の影響度）｝
上記の如く、ステップ１７は、時刻別ＲＡＭ動作率１５とＲＡＭ影響度に基づいて時刻別データ平均動作率を予測する時刻別データ平均動作率予測処理を行い、予測された時刻別データ平均動作率を記憶手段に記憶する。従って、半導体チップ全体の時刻別データ平均動作率の予測は、時刻別ＲＡＭ動作率１５と、上記の如く算出された各ＲＡＭ３１−１〜３１−４のＲＡＭ影響度の総和に基づいて行われる。
【００２７】
次に、ステップ１８−１の波形取得ポイント選択処理を、図９と共に説明する。図９は、ステップ２０波形取得ポイント選択処理を説明する図である。
【００２８】
波形取得ポイント選択処理では、上記の如く求められた時刻別データ平均動作率の予測を図９に示すようにグラフ化する。図９において、縦軸は時刻別データ平均動作率の予測を任意単位で示し、横軸は時間を任意単位で示す。図９中、●はデータ取得ポイントを示し、ＳＰはサンプル間隔を示す。このサンプル間隔ＳＰは、カウンタ３２−１〜３２−５のダンプ間隔と同じである。各サンプル間隔ＳＰでの時刻別データ平均動作率の変化量を算出し、閾値より大きい変化ポイントの波形を波形データ１９として取得する。波形取得ポイントが増加すると消費電力見積処理の精度が向上するが、シミュレーション実行速度は低下してシミュレーション時間が増加するので、閾値は、消費電力見積処理の精度とシミュレーション時間を考慮して適切な値に設定すれば良い。
【００２９】
上記のステップ２０は、このように取得された波形データ１９から時刻別データ平均動作率２１を算出して記憶手段に記憶する時刻別データ平均動作利率算出処理と、算出された時刻別データ平均動作率２１と時刻別ＲＡＭ動作率１５から消費電力を見積り記憶手段に記憶する消費電力見積処理を行う。尚、波形データ１９を取得しない期間の時刻別データ平均動作率２１は、一番最近に既に取得されている波形データ１９を利用すれば良い。
【００３０】
このように、本実施例によれば、半導体チップ内のメモリ動作率を使用して、取得する波形データの量を削減することにより、シミュレーション実行時間を短縮することができる。大規模ＬＳＩの場合、波形データの量は膨大であり、波形取得時のシミュレーション速度は、波形取得がない時に比べ１００倍以上遅くなる。シミュレーション速度は取得する波形データの量に比例するので、メモリ動作率を使用して波形データの取得ポイントの数を１／１００に削減することにより、シミュレーション速度を１００倍高速にすることが可能となる。
【産業上の利用可能性】
【００３１】
本発明は、半導体装置や集積回路の消費電力の見積を行うＣＡＤシステム、消費電力解析ツール、例えばインターネット上で消費電力の解析を提供する消費電力解析サービス等に適用可能である。
【００３２】
尚、本発明は、以下に付記する発明をも包含するものである。
（付記１）
コンピュータによる消費電力見積方法であって、
設計対象内の各メモリの周辺信号の変化数をカウントするカウンタを、該設計対象に対するテストベンチ内に埋め込む埋め込み工程と、
該テストベンチでシミュレーション又はエミュレーションを行い、定期的に各カウンタのカウント値をダンプすると共に、ダンプされたカウンタ値から時刻別メモリ動作率を算出する工程と、
該設計対象のネットリストを解析し、該周辺信号が設計対象全体の消費電力に対してどの程度影響を及ぼすかを示すメモリ影響度を算出するメモリ影響度算出工程と、
該時刻別メモリ動作率と該メモリ影響度に基づいて時刻別データ平均動作率を予測する予測工程と、
該予測された時刻別データ平均動作率をサンプル間隔でサンプリングし、データ動作率の変化量が閾値より大きい変化ポイントを波形取得ポイントとして選択して波形データを取得する波形取得ポイント選択工程と、
該波形取得ポイントで該設計対象全体のシミュレーション又はエミュレーションを行い、指定された期間のみの波形データを取得する工程と、
取得された波形データから時刻別データ平均動作率を算出し、算出された時刻別データ平均動作率と該時刻別メモリ動作率から消費電力を見積る見積工程とを含むことを特徴とする、消費電力見積方法。
（付記２）
該メモリはＲＡＭであり、
該埋め込み工程は、該ＲＡＭの周辺信号であるチップイネーブル信号、ライトイネーブル信号、アドレス信号、入力データ及び出力データに対してカウンタを埋め込み、各カウンタは該ＲＡＭに入力されるクロック信号をクロック入力として対応する信号のデータ変化数をカウントすることを特徴とする、付記１記載の消費電力見積方法。
（付記３）
該埋め込み工程は、該ネットリスト、該レストベンチ及び該設計対象内のメモリの数や配置を示すメモリインスタンス情報に基づいて該カウンタの埋め込みを行うことを特徴とする、付記１又は２記載の消費電力見積方法。
（付記４）
該波形取得ポイント選択工程は、該時刻別データ平均動作率を該カウンタのカウント値のダンプ間隔と同じサンプル間隔でサンプリングすることを特徴とする、付記１乃至３のいずれか１項記載の消費電力見積方法。
（付記５）
該メモリ影響度算出工程は、該ネットリストを入力として、各メモリの入力信号を起点として各メモリの出力端子又は外部入力信号に到達するまでバックトレースし、バックトレース中は各メモリの入力端子毎にトレースされたネット数をカウントし、各入力信号毎にカウントされた値を全ネット数で割ることにより各入力信号の影響度を算出すると共に、各メモリの出力信号を起点として各メモリの入力端子又は外部出力信号に到達するまでフォワードトレースし、フォワードトレース中は各メモリの出力端子毎にトレースされたネット数をカウントし、各出力信号毎にカウントされた値を全ネット数で割ることにより各出力信号の影響度を算出することを特徴とする、付記１乃至４のいずれか１項記載の消費電力見積方法。
（付記６）
コンピュータに設計対象の消費電力を見積もらせるプログラムであって、
設計対象内の各メモリの周辺信号の変化数をカウントするカウンタを、該設計対象に対するテストベンチ内に埋め込ませる埋め込み手順と、
該テストベンチでシミュレーション又はエミュレーションを行わせ、定期的に各カウンタのカウント値をダンプさせると共に、ダンプされたカウンタ値から時刻別メモリ動作率を算出させる手順と、
該設計対象のネットリストを解析させ、該周辺信号が設計対象全体の消費電力に対してどの程度影響を及ぼすかを示すメモリ影響度を算出させるメモリ影響度算出手順と、
該時刻別メモリ動作率と該メモリ影響度に基づいて時刻別データ平均動作率を予測させる予測手順と、
該予測された時刻別データ平均動作率をサンプル間隔でサンプリングさせ、データ動作率の変化量が閾値より大きい変化ポイントを波形取得ポイントとして選択させて波形データを取得させる波形取得ポイント選択手順と、
該波形取得ポイントで該設計対象全体のシミュレーション又はエミュレーションを行わせ、指定された期間のみの波形データを取得させる手順と、
取得された波形データから時刻別データ平均動作率を算出させ、算出された時刻別データ平均動作率と該時刻別メモリ動作率から消費電力を見積らせる見積手順とを該コンピュータに行わせることを特徴とする、プログラム。
（付記７）
該メモリはＲＡＭであり、
該埋め込み手順は、該コンピュータに、該ＲＡＭの周辺信号であるチップイネーブル信号、ライトイネーブル信号、アドレス信号、入力データ及び出力データに対してカウンタを埋め込ませ、各カウンタは該ＲＡＭに入力されるクロック信号をクロック入力として対応する信号のデータ変化数をカウントすることを特徴とする、付記６記載のプログラム。
（付記８）
該埋め込み手順は、該コンピュータに、該ネットリスト、該レストベンチ及び該設計対象内のメモリの数や配置を示すメモリインスタンス情報に基づいて該カウンタの埋め込みを行わせりことを特徴とする、付記６又は７記載のプログラム。
（付記９）
該波形取得ポイント選択手順は、該コンピュータに、該時刻別データ平均動作率を該カウンタのカウント値のダンプ間隔と同じサンプル間隔でサンプリングさせることを特徴とする、付記６乃至８のいずれか１項記載のプログラム。
（付記１０）
該メモリ影響度算出手順は、該コンピュータに、該ネットリストを入力として、各メモリの入力信号を起点として各メモリの出力端子又は外部入力信号に到達するまでバックトレースさせ、バックトレース中は各メモリの入力端子毎にトレースされたネット数をカウントさせ、各入力信号毎にカウントされた値を全ネット数で割ることにより各入力信号の影響度を算出させると共に、各メモリの出力信号を起点として各メモリの入力端子又は外部出力信号に到達するまでフォワードトレースさせ、フォワードトレース中は各メモリの出力端子毎にトレースされたネット数をカウントさせ、各出力信号毎にカウントされた値を全ネット数で割ることにより各出力信号の影響度を算出させることを特徴とする、付記６乃至９のいずれか１項記載のプログラム。
（付記１１）
付記６乃至１０のいずれか１項記載のプログラムを格納したことを特徴とするコンピュータ読み取り可能な記憶媒体。
（付記１２）
設計対象内の各メモリの周辺信号の変化数をカウントするカウンタを、該設計対象に対するテストベンチ内に埋め込む埋め込み手段と、
該テストベンチでシミュレーション又はエミュレーションを行い、定期的に各カウンタのカウント値をダンプすると共に、ダンプされたカウンタ値から時刻別メモリ動作率を算出する手段と、
該設計対象のネットリストを解析し、該周辺信号が設計対象全体の消費電力に対してどの程度影響を及ぼすかを示すメモリ影響度を算出するメモリ影響度算出手段と、
該時刻別メモリ動作率と該メモリ影響度に基づいて時刻別データ平均動作率を予測する予測手段と、
該予測された時刻別データ平均動作率をサンプル間隔でサンプリングし、データ動作率の変化量が閾値より大きい変化ポイントを波形取得ポイントとして選択して波形データを取得する波形取得ポイント選択手段と、
該波形取得ポイントで該設計対象全体のシミュレーション又はエミュレーションを行い、指定された期間のみの波形データを取得する手段と、
取得された波形データから時刻別データ平均動作率を算出し、算出された時刻別データ平均動作率と該時刻別メモリ動作率から消費電力を見積る見積手段とを備えたことを特徴とする、ＣＡＤシステム。
（付記１３）
付記１２記載のＣＡＤシステムによる該設計対象の消費電力の見積をインターネットを介して提供するサービス。
【００３３】
以上、本発明を実施例により説明したが、本発明は上記実施例に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能であることは言うまでもない。
【図面の簡単な説明】
【００３４】
【図１】一般的な半導体装置や集積回路の設計・製造手順を説明するフローチャートである。
【図２】従来の消費電力算出手順を説明するフローチャートである。
【図３】本発明の一実施例を説明するフローチャートである。
【図４】カウンタ埋め込み処理を説明する図である。
【図５】ＲＡＭ影響度算出処理を説明するフローチャートである。
【図６】バックトレースを説明する図である。
【図７】フォワードトレースを説明する図である。
【図８】ＲＡＭの端子別影響度を説明する図である。
【図９】波形取得ポイント選択処理を説明する図である。
【符号の説明】
【００３５】
１１      チップネットリスト
１２      全体テストベンチ
１３      ＲＡＭインスタンス情報
１４      第１のシミュレーション又はエミュレーション段階
１５      時刻別ＲＡＭ動作率
１６      ＲＡＭ影響度分析処理
１７      時刻別データ平均動作率予測処理
１８      第２のシミュレーション又はエミュレーション段階
１９      波形データ
２０      平均動作率算出処理
２１      時刻別データ平均動作率
３１      ＲＡＭ
３２−１〜３２−５      カウンタ
５１      論理回路
５２      セレクタ回路
【図１】
2008234224.tif 000003
【図２】
2008234224.tif 000004
【図３】
2008234224.tif 000005
【図４】
2008234224.tif 000006
【図５】
2008234224.tif 000007
【図６】
2008234224.tif 000008
【図７】
2008234224.tif 000009
【図８】
2008234224.tif 000010
【図９】
2008234224.tif 000011