(57)【要約】【課題】大規模なＲＴＬ回路設計向けの電力推定ツールの効率性とスケーラビリティの向上を実現する。【解決手段】回路の電力推定を加速する方法であって、回路のＲＴＬ記述を生成し、回路の電力モデル拡張ＲＴＬ記述を生成し、実行するシミュレータを選択し、電力モデル拡張ＲＴＬ記述をシミュレータに適した内容に変更し、シミュレータを実行して回路の消費電力を推定する。【選択図】　　図１５
2004062902.tif 000002
【特許請求の範囲】
【請求項１】
回路の電力推定を加速する方法であって、下記ステップを備える。
回路のＲＴＬ記述を生成し、
回路の電力モデル拡張ＲＴＬ記述を生成し、
実行するシミュレータを選択し、
前記電力モデル拡張ＲＴＬ記述を前記シミュレータに適した内容に変更し、
前記シミュレータを実行して回路の消費電力を推定する。
【請求項２】
請求項１の回路の電力推定を加速する方法であって、前記電力モデル拡張ＲＴＬ記述が、シミュレーションのパフォーマンスが向上するようにＨＤＬセマンティクスを最適化することにより変更される。
【請求項３】
請求項２の回路の電力推定を加速する方法であって、前記最適化は、電力モデル計算に関連する１つ以上のオペランドのデータ型を第１の型から第１のデータ型よりも単純な第２の型に変換することにより実行される。
【請求項４】
請求項２の回路の電力推定を加速する方法であって、前記最適化は、関数の起動と終了のオーバヘッドが除去されるように、少なくとも１つのＨＤＬ関数を拡張することにより実行される。
【請求項５】
請求項２の回路の電力推定を加速する方法であって、前記最適化は、少なくとも１つの電力モデルのＨＤＬ記述をシャットダウンし、前記電力モデルのＨＤＬ記述を必要なときにのみ起動することにより実行される。
【請求項６】
請求項２の回路の電力推定を加速する方法であって、前記最適化は、少なくとも１つの電力モデルの作業負荷を削減することにより実行される。
【請求項７】
請求項６の回路の電力推定を加速する方法であって、冗長評価が除去されるように、電力モデルのＨＤＬコード内の単発的計算が電力モデルの外に移動される。
【請求項８】
請求項６の回路の電力推定を加速する方法であって、電力モデルのＨＤＬコードに含まれるループ内の計算がループの外に移動される。
【請求項９】
回路の電力推定を加速する方法であって、下記ステップを備える。
回路のＲＴＬ記述を生成し、
回路の電力モデル拡張ＲＴＬ記述を生成し、
実行するシミュレータを選択し、
選択された前記シミュレータ上で前記電力モデル拡張ＲＴＬ記述をシミュレートするための計算とメモリ使用量とのトレードオフ問題を検討し、
前記メモリ使用量を増大させることによって、シミュレータ上で実行される前記電力モデル拡張ＲＴＬ記述のシミュレーションに要する計算量を減少させ、
前記シミュレータを実行して回路の消費電力を推定する。
【請求項１０】
請求項９の回路の電力推定を加速する方法であって、各サイクルにおいてＲＴＬコンポーネントの入出力値が待ち行列に入れられ、電力消費量の演算がｋ（１より大きい正の整数）サイクルに１回の頻度で実行される。
【請求項１１】
回路の電力推定を加速する方法であって、下記ステップを備える。
回路のＲＴＬ記述を生成し、
電力モデル拡張ＲＴＬ記述を生成し、
実行するシミュレータを選択し、
前記ＲＴＬ記述を電力消費プロファイルに基づいてクラスタに分割し、
前記クラスタの各々についてカスタマイズされたサンプリングを導出し、
前記サンプリングに基づいて、シミュレータ上のＲＴＬ記述をシミュレートする。
【請求項１２】
請求項１１の回路の電力推定を加速する方法であって、分割サンプリングが、下記のステップによって実行される。
（１）電力モデル拡張ＲＴＬ記述に含まれるすべてのＲＴＬコンポーネントについて、電力分布の平均と分散を計算すること、
（２）平均−分散スキャタ・プロットを生成すること、
（３）前記スキャタ・プロットに基づいてＲＴＬ記述を分割し、類似した電力特性を有するコンポーネントのクラスタを生成すること、
（４）前記クラスタの各々についてサンプリング確率を決定すること、
（５）クラスタを電力モデル拡張ＲＴＬ記述に組み込むこと。
【請求項１３】
請求項１２の回路の電力推定を加速する方法であって、以下のステップによって電力分布の平均と分散を計算する。
（１）電力モデル拡張ＲＴＬ記述における全体的なシミュレーション実行よりも短いシミュレーション実行を完了し、
（２）前記短いシミュレーション実行に基づいて電力プロファイルを生成し、
（３）前記電力プロファイルから電力の平均と分散を計算する。
【請求項１４】
請求項１２の回路の電力推定を加速する方法であって、前記分割が、下記のステップによって実行される。
（１）ＲＴＬコンポーネントの考えられるすべてのペアの各々について、電力プロファイルにおける類似性を測定するための分離距離を、対応するＲＴＬコンポーネントに関する電力プロファイルの平均と分散から成るデータに基づいて計算し、
（２）前記（１）の計算に基づいてクラスタの初期集合を生成し、クラスタ分離行列（ＣＳＭ）を形成し、
（３）前記クラスタ分離行列（ＣＳＭ）に含まれるすべてのクラスタ・ペアについてクラスタ間の平均距離を、あるクラスタの１個のコンポーネントと他のクラスタのすべてのコンポーネントとの距離に基づいて計算し、
（４）平均距離が最小の２個のクラスタをマージし、このマージを反映して前記クラスタ分離行列（ＣＳＭ）を更新し、
（５）クラスタ・マージ・シーケンスを記録しながら、すべてのコンポーネントが１つのクラスタに入るまで前記（３）から前記（４）の処理を繰り返し、
（６）クラスタ・マージ・シーケンスを使用して、クラスタの最終集合を生成する。
【請求項１５】
請求項１２の回路の電力推定を加速する方法であって、前記サンプリング確率は、サンプリングによる潜在的なエラーを最小化することによって決定される。
【請求項１６】
請求項１４の回路の電力推定を加速する方法であって、エラー計算時に、消費電力に占める比率が比較的大きい第１のクラスタを、消費電力に占める比率が比較的小さい第２のクラスタよりも多く重み付けする。
【請求項１７】
回路の電力推定を行うための電力推定システムであって、下記要件を備える。
回路の電力モデル拡張ＲＴＬ記述と、
シミュレーションを実行するシミュレータと、
前記電力モデル拡張ＲＴＬ記述を前記シミュレータに適した内容に変更するように適応されたＲＴＬ記述修飾子。
【請求項１８】
請求項１７の回路の電力推定を行うための電力推定システムであって、電力モデル拡張ＲＴＬ記述修飾子が、シミュレーションのパフォーマンスが向上するようにＨＤＬセマンティクスを最適化することにより電力モデル拡張ＲＴＬ記述を変更する機能を備える。
【請求項１９】
請求項１８の回路の電力推定を行うための電力推定システムであって、ＲＴＬ記述修飾子は、電力モデル計算に関与する１つ以上のオペランドのデータ型を第１の型から第２の型に変換することにより最適化する機能を備え、第２のデータ型は第１のデータ型よりも単純である。
【請求項２０】
請求項１８の回路の電力推定を行うための電力推定システムであって、前記ＲＴＬ記述修飾子は、関数の起動と終了のオーバヘッドが除去されるように、少なくとも１つのＨＤＬ関数を拡張することにより最適化する機能を備える。
【請求項２１】
請求項１８の回路の電力推定を行うための電力推定システムであって、前記ＲＴＬ記述修飾子は、少なくとも１つの電力モデルのＨＤＬ記述をシャットダウンし、前記電力モデルのＨＤＬ記述を必要なときにのみ起動することにより最適化する機能を備える。
【請求項２２】
請求項１８の回路の電力推定を行うための電力推定システムであって、ＲＴＬ記述修飾子は、少なくとも１つの電力モデルの作業負荷を削減することにより最適化する機能を備える。
【請求項２３】
請求項１８の回路の電力推定を行うための電力推定システムであって、冗長評価が除去されるように、少なくとも１つの電力モデルのＨＤＬコード内の単発的計算が電力モデルの外に移動される。
【請求項２４】
請求項２３の回路の電力推定を行うための電力推定システムであって、少なくとも１つの電力モデルのＨＤＬコードに含まれるループ内の計算がループの外に移動される。
【請求項２５】
回路の電力消費量を推定するための電力推定システムであって、下記要件を備える。
回路の電力拡張ＲＴＬ記述と、
シミュレーションを実行するシミュレータと、
ＲＴＬ記述を電力消費プロファイルに基づいてクラスタに分割する機能を備える分割部と、
前記クラスタの各々についてカスタマイズされたサンプリングを導出する機能を備えるサンプル・ジェネレータとを備え、
前記シミュレータは、カスタマイズされたサンプルを使用してシミュレーションを実行する機能を備える。
【請求項２６】
回路の電力消費量を推定するための電力推定システムであって、
回路の電力拡張ＲＴＬ記述と、
シミュレーションを実行するシミュレータと、
前記シミュレータ上で前記電力モデル拡張ＲＴＬ記述をシミュレートするための計算とメモリ使用量とのトレードオフ問題を検討する機能を備えるメモリ・エスティメータとを備え、
回路の消費電力を推定するためにシミュレータを実行する前にメモリ使用量を増大させることにより、シミュレータ上で電力モデル拡張ＲＴＬ回路記述をシミュレートするために必要となる計算量を削減させることができる。
【請求項２７】
請求項２６の回路の電力消費量を推定するための電力推定システムであって、このシステムは、各サイクルにおいてＲＴＬコンポーネントの入出力値を待ち行列に入れる機能と、電力消費量のｃｏｍｐｕｔｅ演算をｋサイクルに１回の頻度で実行する機能を備え、ここでｋは１より大きい正の整数である。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＲＴＬ回路の電力推定を行うための、商業設計フローに関連する電力推定方法および装置について教示する。本発明では、特に、大規模なＲＴＬ回路設計向けの電力推定ツールの効率性とスケーラビリティを向上させる機能強化が提示される。
【０００２】
【従来の技術】
（参考文献）
以下の各論文は有益な背景情報を提供するものである。
【０００３】
【非特許文献１】
Ｐ．　Ｌａｎｄｍａｎ，　“Ｈｉｇｈ−ｌｅｖｅｌ　ｐｏｗｅｒ　ｅｓｔｉｍａｔｉｏｎ（高位電力推定）．”　ｉｎ　Ｐｒｏｃ．　Ｉｎｔ．　Ｓｙｍｐ．　Ｌｏｗ　Ｐｏｗｅｒ　Ｅｌｅｃｔｒｏｎｉｃｓ　＆　Ｄｅｓｉｇｎ，　ｐｐ．２９−３５，　Ａｕｇ．　１９９６．
【非特許文献２】
Ａ．　Ｒａｇｈｕｎａｔｈａｎ，　Ｎ．　Ｋ．　Ｊｈａ，　ａｎｄ　Ｓ．　Ｄｅｙ，　Ｈｉｇｈ−ｌｅｖｅｌ　Ｐｏｗｅｒ　Ａｎａｌｙｓｉｓ　ａｎｄ　Ｏｐｔｉｍｉｚａｔｉｏｎ（高位電力解析および最適化）．　Ｋｌｕｗｅｒ　Ａｃａｄｅｍｉｃ　Ｐｕｂｌｉｓｈｅｒｓ，　Ｎｏｒｗｅｌｌ，　ＭＡ，　１９９８．
【非特許文献３】
Ｅ．　Ｍａｃｉｉ，　Ｍ．　Ｐｅｄｒａｍ，　ａｎｄ　Ｆ．　Ｓｏｍｅｎｚｉ，　“Ｈｉｇｈ−ｌｅｖｅｌ　ｐｏｗｅｒ　ｍｏｄｅｌｉｎｇ，　ｅｓｔｉｍａｔｉｏｎ，　ａｎｄ　ｏｐｔｉｍｉｚａｔｉｏｎ（高位電力モデリング、推定、および最適化），”　ｉｎ　Ｐｒｏｃ．　Ｄｅｓｉｇｎ　Ａｕｔｏｍａｔｉｏｎ　Ｃｏｎｆ．，　ｐｐ．　５０４−５１１，　Ｊｕｎｅ　１９９７．
【非特許文献４】
Ｋ．Ｄ．Ｍｕｌｌｅｒ−Ｇｌａｓｅｒ，　Ｋ．　Ｋｉｒｓｃｈ，　ａｎｄ　Ｋ．　Ｎｅｕｓｉｎｇｅｒ，　“Ｅｓｔｉｍａｔｉｎｇ　ｅｓｓｅｎｔｉａｌｄｅｓｉｇｎ　ｃｈａｒａｃｔｅｒｉｓｔｉｃｓ　ｔｏ　ｓｕｐｐｏｒｔ　ｐｒｏｊｅｃｔ　ｐｌａｎｎｉｎｇ　ｆｏｒ　ＡＳＩＣ　ｄｅｓｉｇｎ　ｍａｎａｇｅｍｅｎｔ（ＡＳＩＣ設計管理プロジェクトのプランニングを支援するための本質的な設計特性の推定），”　ｉｎ　Ｐｒｏｃ．　Ｉｎｔ．　Ｃｏｎｆ．　Ｃｏｍｐｕｔｅｒ−Ａｉｄｅｄ　Ｄｅｓｉｇｎ，　ｐｐ．１４８−　１５１，
Ｎｏｖ．　１９９１．
【非特許文献５】
Ｄ．　Ｌｉｕ　ａｎｄ　Ｃ．　Ｓｖｅｎｓｓｏｎ，　“Ｐｏｗｅｒ　ｃｏｎｓｕｍｐｔｉｏｎ　ｅｓｔｉｍａｔｉｏｎ　ｉｎ　ＣＭＯＳ　ＶＬＳＩ　ｃｈｉｐｓ（ＣＭＯＳ　ＶＬＳＩチップにおける電力消費量の推定），”　ＩＥＥＥ　Ｊ．　Ｓｏｌｉｄ−Ｓｔａｔｅ　Ｃｉｒｃｕｉｔｓ，　ｖｏｌ．　２９，　ｐｐ．　６６３−６７０，　Ｊｕｎｅ　１９９４．
【非特許文献６】
Ｄ．　Ｍａｒｃｕｌｅｓｃｕ，　Ｒ．　Ｍａｒｃｕｌｅｓｃｕ，　ａｎｄ　Ｍ．　Ｐｅｄｒａｍ，　“Ｉｎｆｏｒｍａｔｉｏｎ　ｔｈｅｏｒｅｔｉｃ　ｍｅａｓｕｒｅｓ　ｆｏｒ　ｅｎｅｒｇｙ　ｃｏｎｓｕｍｐｔｉｏｎ　ａｔ　ｔｈｅ　ｒｅｇｉｓｔｅｒ−ｔｒａｎｓｆｅｒ　ｌｅｖｅｌ（レジスタ・トランスファ・レベルのエネルギ消費量に関する情報理論的測度），”　ｉｎ　Ｐｒｏｃ．　Ｉｎｔ．　Ｓｙｍｐ．　Ｌｏｗ　Ｐｏｗｅｒ　Ｄｅｓｉｇｎ，　ｐｐ．８ｌ−８６，　Ａｐｒ．　１９９５．
【非特許文献７】
Ｆ．　Ｎ．　Ｎａｊｍ，　“Ｔｏｗａｒｄｓ　ａ　ｈｉｇｈ−ｌｅｖｅｌ　ｐｏｗｅｒ　ｅｓｔｉｍａｔｉｏｎ　ｃａｐａｂｉｌｉｔｙ（高位電力推定機能の実現に向けて），”　ｉｎ　Ｐｒｏｃ．　Ｉｎｔ．　Ｓｙｍｐ．　Ｌｏｗ　Ｐｏｗｅｒ　Ｄｅｓｉｇｎ，　ｐｐ．　８７−９２，　Ａｐｒ．　１９９５．
【非特許文献８】
Ｍ．　Ｎｅｍａｎｉ　ａｎｄ　Ｆ．　Ｎａｊｍ，　“Ｈｉｇｈ−ｌｅｖｅｌ　ａｒｅａ　ａｎｄ　ｐｏｗｅｒ　ｅｓｔｉｍａｔｉｏｎ　ｆｏｒ　ＶＬＳＩｃｉｒｃｕｉｔｓ（ＶＬＳＩ回路に関する高位面積および電力推定），”　ＩＥＥＥ　Ｔｒａｎｓ．　Ｃｏｍｐｕｔｅｒ−Ａｉｄｅｄ　Ｄｅｓｉｇｎ，　ｖｏｌ．　１８，　ｐｐ．　６９７−７１３，　Ｊｕｎｅ　１９９９．
【非特許文献９】
Ｃ．Ｈ．　Ｃｈｅｎ　ａｎｄ　Ｃ．Ｙ．　Ｔｓｕｉ，　“Ｔｏｗａｒｄｓ　ｔｈｅ　ｃａｐａｂｉｌｉｔｙ　ｏｆ　ｐｒｏｖｉｄｉｎｇ　ｐｏｗｅｒ−ａｒｅａ−ｄｅｌａｙ　ｔｒａｄｅｏｆｆ　ａｔ　ｔｈｅ　ｒｅｇｉｓｔｅｒ　ｔｒａｎｓｆｅｒ　ｌｅｖｅｌ（レジスタ・トランスファ・レベルにおける電力−面積−遅延のトレードオフ提供能力の実現に向けて），”　ｉｎ　Ｐｒｏｃ．　Ｉｎｔ．　Ｓｙｍｐ．　Ｌｏｗ　Ｐｏｗｅｒ　Ｅｌｅｃｔｒｏｎｉｃｓ　＆　Ｄｅｓｉｇｎ，　ｐｐ．　２４−２９，　Ａｕｇ．　１９９８．
【非特許文献１０】
Ｋ．Ｍ．　Ｂｕｙｕｋｓａｈｉｎ　ａｎｄ　Ｆ．Ｎ　Ｎａｊｍ，　“Ｈｉｇｈ−ｌｅｖｅｌ　ｐｏｗｅｒ　ｅｓｔｉｍａｔｉｏｎ　ｗｉｔｈ　ｉｎｔｅｒｃｏｎｎｅｃｔ　ｅｆｆｅｃｔｓ（相互接続効果を利用した高位電力推定），”　ｉｎ　Ｐｒｏｃ．　Ｉｎｔ．　Ｓｙｍｐ．　Ｌｏｗ　Ｐｏｗｅｒ　Ｅｌｅｃｔｒｏｎｉｃｓ　＆　Ｄｅｓｉｇｎ，　ｐｐ．　１９７−２０２，　Ａｕｇ．　２００１．
【非特許文献１１】
Ｖ．　Ｋｒｉｓｈｎａ　ａｎｄ　Ｎ．　Ｒａｎｇａｎａｔｈａｎ，　“Ａ　ｍｅｔｈｏｄｏｌｏｇｙ　ｆｏｒ　ｈｉｇｈ　ｌｅｖｅｌ　ｐｏｗｅｒ　ｅｓｔｉｍａｔｉｏｎ　ａｎｄ　ｅｘｐｌｏｒａｔｉｏｎ（高位電力推定および探求の方法），”　ｉｎ　Ｐｒｏｃ．　ＧｒｅａｔＬａｋｅｓ　Ｓｙｍｐ．　ＶＬＳＩ，　ｐｐ．　４２０−４２５．　Ｆｅｂ．　１９９８．
【非特許文献１２】
Ｄ．Ｄ．　Ｇａｊｓｋｉ，　Ｎ．Ｄ．　Ｄｕｔｔ，　Ａ．Ｃ．−Ｈ．　Ｗｕ，　ａｎｄ　Ｓ．Ｙ．−Ｌ．　Ｌｉｎ，　Ｈｉｇｈ−ｌｅｖｅｌ　Ｓｙｎｔｈｅｓｉｓ；　Ｉｎｔｒｏｄｕｃｔｉｏｎ　ｔｏ　Ｃｈｉｐ　ａｎｄ　Ｓｙｓｔｅｍ　Ｄｅｓｉｇｎ（高位合成：　チップおよびシステム設計入門）．　Ｋｌｕｗｅｒ　Ａｃａｄｅｍｉｃ　Ｐｕｂｌｉｓｈｅｒｓ，　Ｎｏｒｗｅｌｌ，　ＭＡ，　１９９２．
【非特許文献１３】
Ｓ．Ｒ　Ｐｏｗｅｌｌ　ａｎｄ　Ｐ．Ｍ．　Ｃｈａｕ，　“Ｅｓｔｉｍａｔｉｎｇ　ｐｏｗｅｒ　ｄｉｓｓｉｐａｔｉｏｎ　ｏｆ　ＶＬＳＩ　ｓｉｇｎａｌ　ｐｒｏｃｅｓｓｉｎｇ　ｃｈｉｐｓ：　Ｔｈｅ　ＰＦＡ　ｔｅｃｈｎｉｑｕｅ（ＶＬＳＩ信号処理チップの電力散逸の推定：　ＰＦＡ手法），”　ｉｎ　Ｐｒｏｃ．　ＶＬＳＩ　Ｓｉｇｎａｌ　Ｐｒｏｃｅｓｓｉｎｇ　ＩＶ，　ｐｐ．２５０−２５９，　Ｓｅｐｔ．　１９９０．
【非特許文献１４】
Ｊ．Ｗ．　Ｚｈｕ，　Ｐ．　Ａｇｒａｗａｌ，　ａｎｄ　Ｄ．Ｄ．　Ｇａｊｓｋｉ，　“ＲＴ　ｌｅｖｅｌ　ｐｏｗｅｒ　ａｎａｌｙｓｉｓ（ＲＴレベル電力解析），”　ｉｎ　Ｐｒｏｃ．　Ａｓｉａ　Ｓｏｕｔｈ　Ｐａｃｉｆｉｃ　Ｄｅｓｉｇｎ　Ａｕｔｏｍａｔｉｏｎ　Ｃｏｎｆ．，　ｐｐ．　５１７−５２２，　Ｊａｎ．　２０００では、ＲＴＬの各コンポーネント・タイプにつき１回の起動当たりの定電力を想定し、ＲＴＬプロファイリングにより起動頻度を決定している。
【０００４】
【非特許文献１５】
Ｐ．　Ｌａｎｄｍａｎ　ａｎｄ　Ｊ．Ｍ．　Ｒａｂａｅｙ，　“Ａｒｃｈｉｔｅｃｔｕｒａｌ　ｐｏｗｅｒ　ａｎａｌｙｓｉｓ：　Ｔｈｅ　ｄｕａｌ　ｂｉｔ　ｔｙｐｅ　ｍｅｔｈｏｄ（アーキテクチャ電力解析：　デュアルビット・タイプの手法），”　ＩＥＥＥ　Ｔｒａｎｓ．　ＶＬＳＩ　Ｓｙｓｔｅｍｓ，　ｖｏｌ．３，　ｐｐ．１７３−１８７，　Ｊｕｎｅ　１９９５．
【非特許文献１６】
Ｐ．Ｅ．　Ｌａｎｄｍａｎ　ａｎｄ　Ｊ．Ｍ．　Ｒａｂａｅｙ，　“Ｂｌａｃｋ−ｂｏｘ　ｃａｐａｃｉｔａｎｃｅ　ｍｏｄｅｌｓ　ｆｏｒ　ａｒｃｈｉｔｅｃｔｕｒａｌ　ｐｏｗｅｒ　ａｎａｌｙｓｉｓ（アーキテクチャ電力解析のためのブラックボックス・キャパシタンス・モデル），”　ｉｎ　Ｐｒｏｃ．　Ｉｎｔ．　Ｗｋｓｈｐ．　Ｌｏｗ　Ｐｏｗｅｒ　Ｄｅｓｉｇｎ，　ｐｐ．１６５−１７０，　Ａｐｒ．　１９９４．
【非特許文献１７】
Ｐ．　Ｌａｎｄｍａｎ　ａｎｄ　Ｊ．Ｍ．　Ｒａｂａｅｙ，　‘“Ａｃｔｉｖｉｔｙ−ｓｅｎｓｉｔｉｖｅ　ａｒｃｈｉｔｅｃｔｕｒａｌ　ｐｏｗｅｒａｎａｌｙｓｉｓ　ｆｏｒ　ｔｈｅ　ｃｏｎｔｒｏｌ　ｐａｔｈ（制御パスのアクティビティ依存型アーキテクチャ電力解析），”　ｉｎ　Ｐｒｏｃ．　Ｉｎｔ．　Ｓｙｍｐ．　Ｌｏｗ　Ｐｏｗｅｒ　Ｄｅｓｉｇｎ，　ｐｐ．９３−９８，　Ａｐｒ．　１９９５．
【非特許文献１８】
Ｔ．　Ｓａｔｏ，　Ｙ．　Ｏｏｔａｇｕｒｏ，　Ｍ．　Ｎａｇａｍａｔｓｕ，　ａｎｄ　Ｈ．　Ｔａｇｏ，　“Ｅｖａｌｕａｔｉｏｎ　ｏｆ　ａｒｃｈｉｔｅｃｔｕｒｅ−ｌｅｖｅｌ　ｐｏｗｅｒ　ｅｓｔｉｍａｔｉｏｎ　ｆｏｒ　ＣＭＯＳ　ＲＩＳＣ　ｐｒｏｃｅｓｓｏｒｓ（ＣＭＯＳ　ＲＩＳＣプロセッサに関するアーキテクチャ・レベル電力推定の評価），”　ｉｎ　Ｐｒｏｃ．　Ｓｙｍｐ．　Ｌｏｗ　Ｐｏｗｅｒ　Ｅｌｅｃｔｒｏｎｉｃｓ．　ｐｐ．４４−４５，　Ｏｃｔ．　１９９５．
【非特許文献１９】
Ｈ．Ｍｅｈｔａ，　Ｒ．Ｍ．　Ｏｗｅｎｓ，　ａｎｄ　Ｍ．Ｊ．　Ｉｒｗｉｎ，　“Ｅｎｅｒｇｙ　ｃｈａｒａｃｔｅｒｉｚａｔｉｏｎ　ｂａｓｅｄ　ｏｎ　ｃｌｕｓｔｅｒｉｎｇ（クラスタ化に基づくエネルギの特性付け），”　ｉｎ　Ｐｒｏｃ．　Ｄｅｓｉｇｎ　Ａｕｔｏｍａｔｉｏｎ　Ｃｏｎｆ．，　ｐｐ．７０２−７０７，　Ｊｕｎｅ　１９９６．
【非特許文献２０】
Ｌ．　Ｂｅｎｉｎｉ，　Ａ．　Ｂｏｇｌｉｏｌｏ，　Ｍ．　Ｆａｖａｌｌｉ，　ａｎｄ　Ｇ．　ＤｅＭｉｃｈｅｌｉ，　“Ｒｅｇｒｅｓｓｉｏｎ　ｍｏｄｅｌｓ　ｆｏｒ　ｂｅｈａｖｉｏｒａｌ　ｐｏｗｅｒ　ｅｓｔｉｍａｔｉｏｎ（振る舞いに基づく電力推定のための回帰モデル），”　ｉｎ　Ｐｒｏｃ．　Ｉｎｔ．　Ｗｋｓｈｐ．　Ｐｏｗｅｒ　＆　Ｔｉｍｉｎｇ　Ｍｏｄｅｌｉｎｇ，　Ｏｐｔｉｍｉｚａｔｉｏｎ，　ａｎｄ　Ｓｉｍｕｌａｔｉｏｎ　（ＰＡＴＭＯＳ），　１９９６．
【非特許文献２１】
Ａ．　Ｒａｇｈｕｎａｔｈａｎ，　Ｓ．Ｄｅｙ，　ａｎｄ　Ｎ．Ｋ．　Ｊｈａ，　“Ｒｅｇｉｓｔｅｒ−ｔｒａｎｓｆｅｒ　ｌｅｖｅｌ　ｅｓｔｉｍａｔｉｏｎ　ｔｅｃｈｎｉｑｕｅｓ　ｆｏｒ　ｓｗｉｔｃｈｉｎｇ　ａｃｔｉｖｉｔｙ　ａｎｄ　ｐｏｗｅｒ　ｃｏｎｓｕｍｐｔｉｏｎ（切り換えアクティビティおよび電力消費量に関するＲＴＬ推定手法），”　ｉｎ　Ｐｒｏｃ．　Ｉｎｔ．　Ｃｏｎｆ．　Ｃｏｍｐｕｔｅｒ−Ａｉｄｅｄ　Ｄｅｓｉｇｎ，　ｐｐ．１５８−１６５，　Ｎｏｖ．　１９９６．
【非特許文献２２】
Ｃ．Ｔ．　Ｈｓｉｅｈ，　Ｑ．Ｗｕ，　Ｃ．Ｓ．　Ｄｉｎｇ，　ａｎｄ　Ｍ．　Ｐｅｄｒａｍ，　“Ｓｔａｔｉｓｔｉｃａｌ　ｓａｍｐｌｉｎｇ　ａｎｄｒｅｇｒｅｓｓｉｏｎ　ａｎａｌｙｓｉｓ　ｆｏｒ　ＲＴ−ｌｅｖｅｌ　ｐｏｗｅｒ　ｅｖａｌｕａｔｉｏｎ（ＲＴレベル電力評価のための統計的サンプリングと回帰解析），”　ｉｎ　Ｐｒｏｃ．　Ｉｎｔ．　Ｃｏｎｆ．　Ｃｏｍｐｕｔｅｒ−Ａｉｄｅｄ　Ｄｅｓｉｇｎ，　ｐｐ．５８３−５８８，　Ｎｏｖ．　１９９６．
【非特許文献２３】
Ｓ．　Ｇｕｐｔａ　ａｎｄ　Ｆ．Ｎ．　Ｎａｊｍ，　“Ｐｏｗｅｒ　ｍｏｄｅｌｉｎｇ　ｆｏｒ　ｈｉｇｈ　ｌｅｖｅｌ　ｐｏｗｅｒ　ｅｓｔｉｍａｔｉｏｎ（高位電力推定のための電力モデリング），”　ＩＥＥＥ　Ｔｒａｎｓ．　ＶＬＳＩ　Ｓｙｓｔｅｍｓ，　ｖｏｌ．８，　ｐｐ．１８　−２９，　Ｆｅｂ．　２０００．
【非特許文献２４】
Ｓ．　Ｇｕｐｔａ　ａｎｄ　Ｆ．Ｎ．　Ｎａｊｍ，　“Ａｎａｌｙｔｉｃａｌ　ｍｏｄｅｌｓ　ｆｏｒ　ＲＴＬ　ｐｏｗｅｒ　ｅｓｔｉｍａｔｉｏｎ　ｏｆ　ｃｏｍｂｉｎａｔｉｏｎａｌ　ａｎｄ　ｓｅｑｕｅｎｔｉａｌ　ｃｉｒｃｕｉｔｓ（組み合わせ回路と逐次回路のＲＴＬ電力推定のための解析モデル），”　ＩＥＥＥ　Ｔｒａｎｓ．　Ｃｏｍｐｕｔｅｒ−Ａｉｄｅｄ　Ｄｅｓｉｇｎ，　ｖｏｌ．１９，　ｐｐ．８０８−８１４，　Ｊｕｌｙ　２０００．
【非特許文献２５】
Ｚ．　Ｃｈｅｎ　ａｎｄ　Ｋ．　Ｒｏｙ，　“Ａ　ｐｏｗｅｒ　ｍａｃｒｏｍｏｄｅｌｉｎｇ　ｔｅｃｈｎｉｑｕｅ　ｂａｓｅｄ　ｏｎ　ｐｏｗｅｒ　ｓｅｎｓｉｔｉｖｉｔｙ（電力センシティビティに基づく電力マクロモデリング手法），”　ｉｎ　Ｐｒｏｃ．　Ｄｅｓｉｇｎ　Ａｕｔｏｍａｔｉｏｎ　Ｃｏｎｆ．，　ｐｐ．６７８−６８３，　Ｊｕｎｅ　１９９８．
【非特許文献２６】
Ｑ．　Ｗｕ　ａｎｄ　Ｑ．　Ｑｉｕ　ａｎｄ　Ｍ．　Ｐｅｄｒａｍ　ａｎｄ　Ｃ．−Ｓ．　Ｄｉｎｇ，　“‘Ｃｙｃｌｅ−ａｃｃｕｒａｔｅ　ｍａｃｒｏ−ｍｏｄｅｌｓ　ｆｏｒ　ＲＴ−ｌｅｖｅｌ　ｐｏｗｅｒ　ａｎａｌｙｓｉｓ（ＲＴレベル電力解析のためのサイクル精度の高いマクロモデル），”ＩＥＥＥ　Ｔｒａｎｓ．　ＶＬＳＩ　Ｓｙｓｔｅｍｓ，　ｖｏｌ．６，　ｐｐ．５２０−５２８，　Ｄｅｃ．　１９９８．
【非特許文献２７】
Ｍ．　Ｂａｒｏｃｃｉ，　Ｌ．　Ｂｅｎｉｎｉ，　Ａ．　Ｂｏｇｌｉｏｌｏ，　Ｂ．　Ｒｉｃｃｏ，　ａｎｄ　Ｇ．　ＤｅＭｉｃｈｅｌｉ，　“Ｌｏｏｋｕｐ　ｔａｂｌｅ　ｐｏｗｅｒ　ｍａｃｒｏ−ｍｏｄｅｌｓ　ｆｏｒ　ｂｅｈａｖｉｏｒａｌ　ｌｉｂｒａｒｙ　ｃｏｍｐｏｎｅｎｔｓ（振る舞いライブラリ・コンポーネントのためのルックアップ・テーブル電力マクロモデル），”ｉｎ　Ｐｒｏｃ．　ＩＥＥＥ　Ａｌｅｓｓａｎｄｒｏ　Ｖｏｌｔａ　Ｍｅｍ．　Ｗｋｓｈｐ．　ｏｎ　Ｌｏｗ−Ｐｏｗｅｒ　Ｄｅｓｉｇｎ，　ｐｐ．１７３−１８１，　Ｍａｒ．　１９９９．
【非特許文献２８】
Ｒ．　Ｃｏｒｇｎａｔｉ　ａｎｄ　Ｅ．　Ｍａｃｉｉ　ａｎｄ　Ｍ．　Ｐｏｎｃｉｎｏ，　“Ｃｌｕｓｔｅｒｅｄ　ｔａｂｌｅ−ｂａｓｅｄ　ｍａｃｒｏｍｏｄｅｌｓ　ｆｏｒ　ＲＴＬ　ｐｏｗｅｒ　ｅｓｔｉｍａｔｉｏｎ（ＲＴＬ電力推定のためのクラスタ化テーブルに基づくマクロモデル），”　ｉｎ　Ｐｒｏｃ．　Ｇｒｅａｔ　Ｌａｋｅｓ　Ｓｙｍｐ．　ＶＬＳＩ，　ｐｐ．３５４−３５７，　Ｍａｒ．
１９９９．
【非特許文献２９】
Ａ．　Ｂｏｇｌｉｏｌｏ，　Ｌ．　Ｂｅｎｉｎｉ，　ａｎｄ　Ｇ．　ＤｅＭｉｃｈｅｌｉ，　“Ｃｈａｒａｃｔｅｒｉｚａｔｉｏｎ−ｆｒｅｅ　ｂｅｈａｖｉｏｒａｌ　ｐｏｗｅｒ　ｍｏｄｅｌｉｎｇ（特性付けが不要な振る舞い電力モデリング），”　ｉｎ　Ｐｒｏｃ．　Ｄｅｓｉｇｎ　Ａｕｔｏｍａｔｉｏｎ　＆　Ｔｅｓｔ　Ｅｕｒｏｐｅ　（ＤＡＴＥ）　Ｃｏｎｆ．，　ｐｐ．７６７−７７３，　Ｍａｒ．　１９９８．
【非特許文献３０】
Ｒ．　Ｆｅｒｒｅｉｒａ，　Ａ．Ｍ．　Ｔｒｕｌｌｅｍａｎｓ，　Ｊ．　Ｃｏｓｔａ，　ａｎｄ　Ｊ．　Ｍｏｎｔｅｉｒｏ，　Ｐｒｏｂａｂｉｌｉｓｔｉｃｂｏｔｔｏｍ−ｕｐ　ＲＴＬ　ｐｏｗｅｒ　ｅｓｔｉｍａｔｉｏｎ（確率的なボトムアップＲＴＬ電力推定），”　ｉｎ　Ｐｒｏｃ．　Ｉｎｔ．　Ｓｙｍｐ．　Ｑｕａｌｉｔｙ　ｏｆ　Ｅｌｅｃｔｒｏｎｉｃ　Ｄｅｓｉｇｎ　（ＩＳＱＥＤ），　ｐｐ．４３９−４４６，　Ｍａｒ．　２０００．
【非特許文献３１】
Ａ．　Ｂｏｇｌｉｏｌｏ，　Ｌ．　Ｂｅｎｉｎｉ，　ａｎｄ　Ｇ．　ＤｅＭｉｃｈｅｌｉ，　“Ａｄａｐｔｉｖｅ　ｌｅａｓｔ　ｍｅａｎ　ｓｑｕａｒｅｂｅｈａｖｉｏｒａｌ　ｐｏｗｅｒ　ｍｏｄｅｌｉｎｇ（適応型最小２乗平均振る舞い電力モデリング），”　ｉｎ　Ｐｒｏｃ．　Ｅｕｒｏｐｅａｎ　Ｄｅｓｉｇｎ　＆　Ｔｅｓｔ　Ｃｏｎｆ．，　ｐｐ．４０４−４１０，　Ｍａｒ．　１９９７．
【非特許文献３２】
Ａ．　Ｂｏｇｌｉｏｌｏ　ａｎｄ　Ｌ．　Ｂｅｎｉｎｉ，　“Ｒｏｂｕｓｔ　ＲＴＬ　ｐｏｗｅｒ　ｍａｃｒｏｍｏｄｅｌｓ（堅牢なＲＴＬ電力マクロモデル），”　ＩＥＥＥ　Ｔｒａｎｓ．　ＶＬＳＩ　Ｓｙｓｔｅｍｓ，　ｖｏｌ．６，　ｐｐ．５７８−５８１．　Ｄｅｃ．　１９９８．
【非特許文献３３】
Ｄ．　Ｂｒｕｎｉ．　Ｇ．　Ｏｌｉｖｉｅｒｉ，　Ａ．　Ｂｏｇｌｉｏｌｏ，　ａｎｄ　Ｌ．　Ｂｅｎｉｎｉ，　“Ｄｅｌａｙ−ｓｅｎｓｉｔｉｖｅ　ｐｏｗｅｒ　ｅｓｔｉｍａｔｉｏｎ　ａｔ　ｔｈｅ　ｒｅｇｉｓｔｅｒ−ｔｒａｎｓｆｅｒ　ｌｅｖｅｌ（ＲＴＬにおける遅延依存型電力推定），　ｉｎ　Ｐｒｏｃ．　Ｉｎｔ．　Ｃｏｎｆ．　Ｅｌｅｃｔｒｏｎｉｃｓ，　Ｃｉｒｃｕｉｔｓ，　ａｎｄ　Ｓｙｓｔｅｍｓ　（ＩＣＥＣＳ），　ｐｐ．１０３１−１０３４，　Ｓｅｐｔ．　２００１．
【非特許文献３４】
Ａ．　Ｂｏｇｌｉｏｌｏ　ａｎｄ　Ｒ．　Ｃｏｒｇｎａｔｉ　ａｎｄ　Ｅ．　Ｍａｃｉｉ　ａｎｄ　Ｍ．　Ｐｏｎｃｉｎｏ，　‘“Ｐａｒａｍｅｔｅｒｉｚｅｄ　ＲＴＬ　ｐｏｗｅｒ　ｍｏｄｅｌｓ　ｆｏｒ　ｓｏｆｔ　ｍａｃｒｏｓ（ソフト・マクロのためのパラメータ化ＲＴＬ電力モデル），”　ＩＥＥＥ　Ｔｒａｎｓ．　ＶＬＳＩ　Ｓｙｓｔｅｍｓ，　ｖｏｌ．９，　ｐｐ．８８０−８８７，　Ｄｅｃ．　２００１．
【非特許文献３５】
Ｒ．Ｐ．　Ｌｌｏｐｉｓ　ａｎｄ　Ｆ．　Ｇｏｏｓｓｅｎｓ，　“Ｔｈｅ　Ｐｅｔｒｏｌ　ａｐｐｒｏａｃｈ　ｔｏ　ｈｉｇｈ−ｌｅｖｅｌ　ｐｏｗｅｒｅｓｔｉｍａｔｉｏｎ（高位電力推定のＰｅｔｒｏｌ手法），”　ｉｎ　Ｐｒｏｃ．　Ｉｎｔ．　Ｓｙｍｐ．　Ｌｏｗ　Ｐｏｗｅｒ　Ｅｌｅｃｔｒｏｎｉｃｓ　＆　Ｄｅｓｉｇｎ，　ｐｐ．　１３０−１３２，　Ａｕｇ．　１９９８．
【非特許文献３６】
Ｄ．Ｉ．　Ｃｈｅｎｇ，　Ｋ．−Ｔ．　Ｃｈｅｎｇ，　Ｄ．Ｃ．　Ｗａｎｇ，　ａｎｄ　Ｍ．　Ｍａｒｅｋ−Ｓａｄｏｗｓｋａ，　“Ａ　ｎｅｗ　ｈｙｂｒｉｄ　ｍｅｔｈｏｄｏｌｏｇｙ　ｆｏｒ　ｐｏｗｅｒ　ｅｓｔｉｍａｔｉｏｎ（新しいハイブリッド電力推定方法），”　ｉｎ　Ｐｒｏｃ．　Ｄｅｓｉｇｎ　Ａｕｔｏｍａｔｉｏｎ　Ｃｏｎｆ．，　ｐｐ．４３９−４４４，　Ｊｕｎｅ　１９９６．
【非特許文献３７】
ＰｏｗｅｒＴｈｅａｔｅｒ，　Ｓｅｑｕｅｎｃｅ　Ｄｅｓｉｇｎ　Ｉｎｃ．　（ｈｔｔｐ：／／ｗｗｗ．ｓｅｑｕｅｎｃｅｄｅｓｉｇｎ．ｃｏｍ）．
【非特許文献３８】
ＰｏｗｅｒＣｈｅｃｋｅｒ，　ＢｕｌｌＤＡＳＴ　ｓ．ｒ．ｌ．　（ｈｔｔｐ：／／ｗｗｗ．ｂｕｌｌｄａｓｔ．ｃｏｍ）．
【非特許文献３９】
Ｋ．　Ｗａｋａｂａｙａｓｈｉ，　“Ｃ−Ｂａｓｅｄ　Ｈｉｇｈ−Ｌｅｖｅｌ　Ｓｙｎｔｈｅｓｉｓ　Ｓｙｓｔｅｍ，　“ＣＹＢＥＲ”−Ｄｅｓｉｇｎ　Ｅｘｐｅｒｉｅｎｃｅ−（Ｃベース高位合成システム“ＣＹＢＥＲ”における設計経験），”　ＮＥＣ　Ｒｅｓｅａｒｃｈ　ａｎｄ　Ｄｅｖｅｌｏｐｍｅｎｔ，　ｖｏｌ．４１，　ｐｐ．２６４−２６８，　Ｊｕｌｙ　２０００．
【非特許文献４０】
Ｗ．Ｎ．　Ｖｅｎａｂｌｅｓ　ａｎｄ　Ｂ．Ｄ．　Ｒｉｐｌｅｙ，　Ｍｏｄｅｒｎ　Ａｐｐｌｉｅｄ　Ｓｔａｔｉｓｔｉｃｓ　ｗｉｔｈ　Ｓ−ＰＬＵＳ（Ｓ−ＰＬＵＳを使用した近代応用統計学）．　Ｓｐｒｉｎｇｅｒ−Ｖｅｒｌａｇ，　１９９８．
【非特許文献４１】
Ｎａｃｈｉｋｅｔｈ　Ｐｏｔｌａｐａｌｌｙ　ｅｔ．　ａｌ．，　Ａｃｃｕｒａｔｅ　ｍａｃｒｏ−ｍｏｄｅｌｉｎｇ　ｔｅｃｈｎｉｑｕｅｓ　ｆｏｒ　ｃｏｍｐｌｅｘ　ＲＴＬ　ｃｏｍｐｏｎｅｎｔｓ（複雑なＲＴＬコンポーネントのための高精度なマクロモデリング手法），”　ｉｎ　Ｐｒｏｃ．　Ｉｎｔ．　Ｃｏｎｆ．　ＶＬＳＩ　Ｄｅｓｉｇｎ，　Ｊａｎ．　２００１．
【非特許文献４２】
Ａ．Ｋ．　Ｊａｉｎ　ａｎｄ　Ｒ．Ｃ．　Ｄｕｂｅｓ，　Ａｌｇｏｒｉｔｈｍｓ　ｆｏｒ　Ｃｌｕｓｔｅｒｉｎｇ　Ｄａｔａ（クラスタ化データのためのアルゴリズム）．　Ｐｒｅｎｔｉｃｅ　Ｈａｌｌ，　Ｅｎｇｌｅｗｏｏｄ　Ｃｌｉｆｆｓ．　ＮＪ，　１９８８．
【非特許文献４３】
Ａ．Ｋ．　Ｊａｉｎ，　Ｍ．Ｎ．　Ｍｕｒｔｙ，　ａｎｄ　Ｐ．Ｊ．　Ｆｌｙｎｎ，　“Ｄａｔａ　Ｃｌｕｓｔｅｒｉｎｇ：　Ａ　Ｒｅｖｉｅｗ（データのクラスタ化：　レビュー），”　ＡＣＭ　Ｃｏｍｐｕｔｉｎｇ　Ｓｕｒｖｅｙｓ，　ｖｏｌ．３１，　ｐｐ．２６４−３２３，　Ｓｅｐｔｅｍｂｅｒ　１９９９．
【非特許文献４４】
Ｍ．Ｎ．　Ｍｕｒｔｙ　ａｎｄ　Ｇ．Ｋｒｉｓｈｎａ，　”Ａ　Ｃｏｍｐｕｔａｔｉｏｎａｌｌｙ　Ｅｆｆｉｃｉｅｎｔ　Ｔｅｃｈｎｉｑｕｅ　ｆｏｒ　Ｄａｔａ　Ｃｌｕｓｔｅｒｉｎｇ（データ・クラスタ化のための計算的に高効率な手法），”　ＰａｔｔｅｒｎＲｅｃｏｇｎｉｔｉｏｎ，　ｖｏｌ　１２，　ｐｐ．　１５３−１５８，　１９８０．
【非特許文献４５】
Ｒ．　Ｂｕｒｃｈ，　Ｆ．Ｎ．　Ｎａｊｍ，　Ｐ．　Ｙａｎｇ，　ａｎｄ　Ｔ．　Ｔｒｉｃｋ，　”Ａ　Ｍｏｎｔｅ　Ｃａｒｌｏ　ａｐｐｒｏａｃｈ　ｆｏｒ　ｐｏｗｅｒ　ｅｓｔｉｍａｔｉｏｎ（電力推定のためのモンテカルロ手法），”　ＩＥＥＥ　Ｔｒａｎｓ．　ＶＬＳｌＳｙｓｔｅｍｓ，　ｖｏｌ．１，　ｐｐ．６３−７１，　Ｍａｒ．　１９９３．
【非特許文献４６】
Ｂ．Ａ．　Ｍｕｒｔａｇｈ　ａｎｄ　Ｍ．Ａ．　Ｓａｕｎｄｅｒｓ，　“Ｌａｒｇｅ−ｓｃａｌｅ　Ｌｉｎｅａｒｌｙ　Ｃｏｎｓｔｒａｉｎｅｄ　Ｏｐｔｉｍｉｚａｔｉｏｎ（大規模な線形制約条件付き最適化），”　Ｍａｔｈｅｍａｔｉｃａｌ　Ｐｒｏｇｒａｍｍｉｎｇ，　ｖｏｌ　１４，　ｎｏ．　１，　ｐｐ．４Ｉ−７２，　１９７８．
【非特許文献４７】
ＡＭＰＬ；　Ａ　Ｍｏｄｅｌｉｎｇ　Ｌａｎｇｕａｇｅ　Ｆｏｒ　Ｍａｔｈｅｍａｔｉｃａｌ　Ｐｒｏｇｒａｍｍｉｎｇ（ＡＭＰＬ：　数学的プログラミングのためのモデリング言語）（ｈｔｔｐ：／／ｗｗｗ．ａｍｐｌ．ｃｏｍ）
【非特許文献４８】
Ｅｘｃｅｌ　Ｓｏｌｖｅｒ（Ｅｘｃｅｌソルバー）（ｈｔｔｐ：／／ｗｗｗ．ｓｏｌｖｅｒ．ｃｏｍ）．
【非特許文献４９】
ＣＢ−Ｃ９　Ｆａｍｉｌｙ　ＶＸ／ＶＭ　Ｔｙｐｅ　０．３５ｕｍ　ＣＭＯＳ　ＣＢＩＣ　Ｕｓｅｒｓ　Ｍａｎｕａｌ（ＣＢ−Ｃ９ファミリＶＸ／ＶＭタイプ０．３５ｕｍ　ＣＭＯＳ　ＣＢＩＣユーザ・マニュアル）．　ＮＥＣ　Ｅｌｅｃｔｒｏｎｉｃｓ，　ｌｎｃ．，　Ｓｅｐｔ．
１９９８
【非特許文献５０】
ＭｏｄｅｌＳｉｍ　５．３　（ｈｔｔｐ：／／ｗｗｗ．ｍｏｄｅｌ．ｃｏｍ）．
【非特許文献５１】
ＯｐｅｎＣＡＤ　Ｖ５　Ｕｓｅｒｓ　Ｍａｎｕａｌ（ＯｐｅｎＣＡＤ　Ｖ５ユーザ・マニュアル），　ＮＥＣ　Ｅｌｅｃｔｒｏｎｉｃｓ，
Ｉｎｃ．，　Ｓｅｐ　１９９７
【非特許文献５２】
Ｄｅｓｉｇｎ　Ｃｏｍｐｉｌｅｒ（設計コンパイラ），　Ｓｙｎｏｐｓｙｓ　Ｉｎｃ．　（ｈｔｔｐ：／／ｗｗｗ．ｓｙｎｏｐｓｙｓ．ｃｏｍ）
【０００５】
（序文）
ＡＳＩＣ設計フローに真のＲＴＬ（レジスタ・トランスファ・レベル）サインオフ機能を組み込む動きが進展し、システム・レベルの設計手法が相次いで出現するなか、ＲＴレベルで設計の特性を評価するためのツールを採用する事例が増加している。
【０００６】
ＲＴＬサインオフ・フローでは、非常に重要な意思決定（例えば、ＡＳＩＣベンダが顧客に提供するコスト・モデルやデバイスの性能保証の決定、使用するパッケージングの決定など）は、設計の性能、電力消費量、面積、テスト容易性を推定するＲＴＬ推定ツールを使用して行われている。そのためＲＴＬ推定テクノロジが展開されるサイトは増えてはいるものの、「研究は活発だが実用化はあまり進んでいない」という現段階では、未だ展開には多数の重要な課題が残されている。新世代のＲＴＬ推定ツールは、既存の設計フローの様々な局面において、効率性（チップ全体への適用を可能にするため）、精度（サインオフに使用するため）、使いやすさの各特性に対する非常に厳しい要求に応える必要がある。しかし、回路の大型化、ディープ・サブミクロン・テクノロジの登場による効果の複合化（相互接続がタイミングと消費電力に及ぼす影響、タイミングと消費電力の相互依存など）という要素も絡むなかで、高効率でしかも高精度なＲＴＬ推定を行うことは不可能とさえ思えるほどに困難である。
【０００７】
本発明は、大規模な設計を対象とする高効率なＲＴＬ電力推定の問題を中心に取り組むものである。ＲＴＬ電力推定は広く研究されている主題であり、すでにＲＴＬ電力推定の基本的な手法がいくつか提唱されている（非特許文献１，２，３）。提唱されたこれらの概念は汎用的であり、大型クラスの電力推定手法に適用することができる。
【０００８】
【発明が解決しようとする課題】
ここでは、従来のＲＴＬ電力推定手法について考察する。ＲＴＬ電力推定手法を分類するには、提供される機能に基づく方法と、基礎を成す手法に基づく方法とがある。ユーザの観点からは効率性（大規模な設計を処理する能力）と精度（相対精度と絶対精度）がきわめて重要なのは明らかであるが、ＲＴＬ電力推定ツールが厳密には設計フローのどの局面で使用されるかによっては、得られる電力推定値の構造的細分性（設計全体か、それとも階層的またはコンポーネント別か）や、時相的な分解方法（総電力または平均電力か、それともサイクル単位の電力推定値か、など）も重要となる可能性がある。
【０００９】
基礎を成す手法に基づく分類の場合、ＲＴＬ電力推定手法は、解析的手法、特性付けに基づくマクロモデリング、推定に基づく高速合成という３つのカテゴリに大別することができる。ただし、同一の設計でも部位（算術的マクロブロック、制御論理、メモリ、クロック・ネットワーク、Ｉ／Ｏなど）によって最も適した推定手法が異なるので、注意を要する。
【００１０】
解析的な電力モデリング手法は、機能仕様の情報をほとんど使わずに、電力消費量と設計複雑性の測度とを相関させる方法である。これらの手法は、設計フローの初期段階に有効であり、絶対精度ではなく相対精度を対象とする。
【００１１】
例えば、非特許文献４のチップ推定システムは、推定ゲート数、平均切り換えエネルギ、１ゲート当たりのロード・キャパシタンス、クロック周波数、および平均切り換えアクティビティ係数に基づいて、１つの論理ブロックで消費される電力を計算する。各パラメータの推定値はユーザによって供給されるため、ユーザの判断に大きく依存することになる。
【００１２】
こうした手法は概してエラーが発生しやすいが、複雑性のパラメータを推定しやすいチップ部位（メモリやクロック・ネットワークなど（非特許文献５））では高精度を実現できる可能性がある。解析的手法のクラスは「情報論理的手法」と呼ばれ、入出力信号のエントロピ（平均情報量）に基づいて、論理ブロックの平均アクティビティ係数とキャパシタンス係数を推定する（非特許文献５，７，８）。これらの手法の機能強化や変形の例としては、論理合成時に実行された面積−遅延−電力トレードオフの影響の考慮（非特許文献９）、相互接続における消費電力の予測（非特許文献１０）、決定理論の使用（非特許文献１１）が挙げられる。
【００１３】
アーキテクチャ・レベル、すなわちＲＴＬの設計は、ランダム論理に加えて、算術演算子、マルチプレクサ、レジスタ、ベクトル論理演算子といった様々なマクロブロックで構成されると考えることができる。特性付けに基づくマクロモデリングの概念は、下位レベルの実装を取得して特性付けを行うというものである（下位レベルの実装は、「ハード」または「ファーム」マクロブロックの場合にはすでに取得されて利用可能なことがあり、「ソフト」マクロブロックの場合には合成を要することがある）。
【００１４】
様々な入力シーケンス（「トレーニング・シーケンス」と呼ばれる）におけるマクロブロックの電力消費量の推定は、通常、ゲート・レベルかトランジスタ・レベルのツールを使用して実行される。続いて、このデータに基づいて、ブロックの電力消費量を各種パラメータ（ブロック入出力の信号統計など）の関数として記述するマクロモデル、すなわち「ブラックボックス」モデル、が構築される。特性付けに基づくマクロモデルは、ボトムアップ方式の設計手法（非特許文献１２）に最も適している。こうした手法の例としては、コンポーネント・ライブラリからハードまたはファーム・マクロブロックのインスタンスを生成できる、高位合成に基づく設計フローが挙げられる。電力マクロモデルの構築に使用される特性付けプロセスは、複数の設計に再利用することのできるライブラリ開発プロセスの一部と考えることができる。
【００１５】
初期のアーキテクチャ・レベル電力推定手法の１つ、ＰＦＡ手法（非特許文献１３）では、実装をランダム入力シーケンスでシミュレートして得られる定電力値を使って、マクロブロックの特性付けを行う。非特許文献１４では、コントローラ−データパス回路に対してこの種のモデルを使用した研究が論じられている。また、非特許文献１５のデュアルビット・タイプ（ＤＢＴ）法では、最初に、電力が入力信号統計に依存する問題の解決が試みられる。さらに、アクティビティ依存型電力モデル（非特許文献１５〜２６）では、マクロブロックの境界における信号統計の関数として変動する電力消費量のモデルを構築し、それを利用して上記の欠点が緩和される。この関数は、閉形式の方程式、ルックアップ・テーブルなど数種類の方法で表すことができる。
【００１６】
マクロブロックのインスタンス生成を含む設計を与えられた場合に最も一般的に使用されるのは、ＲＴＬシミュレーションを使ってマクロブロックの様々な境界における信号統計を決定し、マクロブロックの各インスタンスに関する信号統計を対応する電力モデルに供給して、そのインスタンスで消費された電力を計算する方法である。
【００１７】
特性付けに基づくマクロモデルの精度は、下位実装を使ってマクロモデルを構築することで実現される。これにより、合成プロセス、セル・ライブラリ、ターゲット・テクノロジの影響が捕捉される。ただし、ここでは解決しなければならない問題がいくつかある。第一の問題は、効率性への配慮から、マクロモデルの構築に使用されるトレーニング・シーケンスをしらみ潰しに実行できないことである。ほとんどの場合、コンポーネントが稼働することとなる環境に関する情報がほとんどないまま初っぱなから特性付けが実行されるので、トレーニング・シーケンスは実世界の入力シーケンスを十分に表していない可能性がある。
【００１８】
そのため、マクロモデルに、特性付けのプロセスで使用されたトレーニング・シーケンスに起因する偏りが生じがちである。第二の問題は、事前に決定された機能テンプレートやモデルに特性付けの実験結果が組み込まれるため、マクロモデルによって不正確な要素が導入され、内挿または外挿によるエラー（フィッティング・エラー）が生じやすいことである。特性付けには多大な計算労力が伴うことがあり、特にＲＴＬコンポーネントの大規模なライブラリを対象とする場合にこの傾向が顕著となる。
【００１９】
近年、上記の問題を解決するためにいくつかの手法が提唱された。非特許文献２７，２８では、ルックアップ・テーブルをベースとする手法の精度と効率性を向上させる方法が示されている。非特許文献２９，３０では、トレーニング・パターンを生成せずに電力マクロモデルを構築する記号的手法の開発が報告されている。
【００２０】
これらの手法により、特性付けに基づくマクロモデリングにおける上記の「偏り」の問題は解消される。同じ問題に対処するためのもう１つの解決策は、設計全体のシミュレーションと同時にマクロモデル構築プロセスを実行することにより、設計に組み込まれた各コンポーネントの特性付けを「局所」で実行する方法である（非特許文献３１）。（入出力ポイントの値に加えて）コンポーネントの選択された内部信号をマクロモデル内の変数として考慮することにより、マクロモデルの堅牢性と精度を向上させることができる（非特許文献３２）。非特許文献２１，３３では、マクロモデリングに基づくＲＴＬ電力推定時にグリッチの影響を考慮する手法が調査された。ＲＴレベルのマクロモデルは、ゲート・レベルかトランジスタ・レベルのネットリストから構築されるのが最も一般的なので、通常は、ファームまたはハード・マクロの形式をとるＲＴＬコンポーネントに適用される。ビット幅のパラメータ化も可能なソフト・マクロの場合は、特定のテクノロジとビット幅に関する基本マクロを開発し、それをスケーリングして必要な変形を得ることが可能である（非特許文献３４）。これにより、マクロモデルの移植時に、新たなテクノロジまたは合成フローを反映するために必要となる再特性付けの労力が軽減される。
【００２１】
「高速合成」とは、実際の論理合成とテクノロジ・マッピングのプロセスよりもはるかに高速な、ＲＴＬ記述の限定的な合成を実行するプロセスを意味する。設計は、最も一般的には少数の基本セルから成る「メタライブラリ」（すべての基本セルを網羅した標準セル・ライブラリよりもはるかに小さい）にマッピングされる。その結果得られるネットリストは、シミュレーション・ベースの手法や確率的な手法を使用した電力推定に使用される。非特許文献３５では、高速合成手法は、様々な関数を電力基本命令の集合に分解し、シミュレーション時に各基本命令の入出力アクティビティを監視するように適応されている。
【００２２】
制御論理解析手法は、設計の制御論理またはランダム論理の部位を対象とする。アクティビティに基づく制御（ＡＢＣ）モデル（非特許文献１７）は、コントローラ電力推定手法の例である。制御論理で消費された電力を計算することに加えて、それが設計の他の部分の電力消費量に及ぼす影響を考慮することもきわめて重要である。非特許文献３６では、制御信号間の空間と時相の相関関係を考慮することの重要性が実証された。また、制御信号におけるグリッチング・アクティビティは設計の他の部分の電力消費量に大きな影響を及ぼすので、これを考慮に入れることも重要である（非特許文献２１）。
【００２３】
上記のテクノロジのいくつかを組み込んだ市販のＲＴＬ電力推定ツールが製品として注目を集め始めており、採用される事例が増えてきている（非特許文献３７，３８）。
【００２４】
【課題を解決するための手段】
上記で述べた利点を実現するため、本発明においては、回路のＲＴＬ記述を生成するステップを備える、回路の電力推定を加速する方法を提供する。回路の電力モデル拡張ＲＴＬ記述が生成される。シミュレータが選択される。電力モデル拡張ＲＴＬ記述は、シミュレータに適した内容に変更される。回路の消費電力を推定するために、シミュレータが実行される。
【００２５】
本発明の他の態様は、回路のＲＴＬ記述を生成するステップを備える、回路の電力推定を加速する方法である。回路の電力モデル拡張ＲＴＬ記述が生成される。シミュレータが選択される。選択されたシミュレータ上で実行される電力モデル拡張ＲＴＬ記述のシミュレーションに関して、計算とメモリ使用量の間にトレードオフが発生する。メモリ使用量を増大させることによって、シミュレータ上で実行される電力モデル拡張ＲＴＬ回路記述のシミュレーションに要する計算量が減少する。回路の消費電力を推定するために、シミュレータが実行される。
【００２６】
本発明のさらに他の態様は、回路のＲＴＬ記述を生成するステップを備える、回路の電力推定を加速する方法である。回路の電力モデル拡張ＲＴＬ記述が生成される。シミュレータが選択される。分割が実行され、ＲＴＬ記述が電力消費プロファイルに基づいてクラスタに分割される。前記クラスタの各々について、カスタマイズされたサンプリングが導出される。サンプリングに基づいて、シミュレータ上のＲＴＬ記述がシミュレートされる。
【００２７】
【発明の実施の形態】
（Ａ）本発明の骨子
本発明の特徴は後述する（Ｂ）以降の項において実装に関連して詳細に説明した加速手法にあるため、この項では背景情報の説明のみにとどめる。
【００２８】
図１は、ＲＴＬ電力推定手法の概要を示す。図１（ａ）は、各テクノロジについて１回だけ実行される、電力モデル・ライブラリを生成するための特性付けのフロー・チャートである。特性付けは、以下のステップから成る。
【００２９】
ＲＴＬコンポーネントの包括的なライブラリが、合成可能な各コンポーネントのＲＴＬ記述を使って構築される。ほとんどのＲＴＬベース設計フローでは、このようなライブラリがすでに採用されている（例：　Ｓｙｎｏｐｓｙｓ　Ｄｅｓｉｇｎｗａｒｅ）。採用されていない場合は、サポートされるＨＤＬの合成可能な部分集合に含まれるすべての固有演算子を列挙することによって構築できる。ＲＴＬライブラリには、ＲＴＬレベルとゲート・レベルが混在する設計をサポートするため、広範な論理ゲートも含まれる。
【００３０】
各コンポーネントは、設計フローにおいて複数の方法で実装される可能性がある。そのため、各コンポーネントは、それぞれの方法を反映して複数の合成制約条件や合成条件のもとで合成され、レイアウトされる。同一のコンポーネント（例：　１６ビット加算器）でも実装の方法によって電力消費量が大きく異なる可能性があるため、多様な内容の合成条件集合を考慮することが重要である。理論上では、実装の変形数（遅延および面積の制約条件、合成に要する労力、入力信号スルー・レート、外部出力負荷、レイアウトのアスペクト比などの違いによる変形）は非常に大きくなりうるが、十分な多様性を持ち、かつ「実装空間」全体をカバーする妥当な部分集合を考慮することで十分に対処できる。
【００３１】
本発明の研究では、広範な実験を行った後、合成条件を決定するパラメータとして、速度、出力キャパシティブ負荷、入力スルー・レートの３つを考慮することとした。手順としては、まず、各ＲＴＬコンポーネントについて各パラメータの許容値の範囲を定義する。許容値の範囲は、合成条件の有限集合を得られるように離散化する。例えば、速度のパラメータは、低速（面積が最適化された実装の遅延）、高速（想定される最高速度の実装）、中速（低速実装と高速実装の遅延の平均）の３ポイントに離散化できる。各パラメータで使用される離散的値の数は、極値に対応する実装間の電力消費量の分散に基づいて、経験的に決定する。
【００３２】
レイアウト後のネットリスト（抽出された寄生値の注釈が付いたトランジスタ・レベルまたはゲート・レベルのネットリスト）に対して電力特性付けを実行し、消費電力を関連の入力統計に関連付ける電力マクロモデルを生成する。疑似ランダム入力パターンのもとでネットリストをシミュレートし、各入力ベクトル・ペアの電力消費量を統計的回帰ツール（非特許文献４０）に供給して、マクロモデルを生成する。この推定方法はサイクル単位の電力推定をサポートする必要があるので、サイクル精度の高いマクロモデリング手法（非特許文献２０，２６，４１）を採用する。
【００３３】
全ライブラリ・コンポーネントの電力マクロモデルの集合を、複数のハードウェア記述言語（ＶＨＤＬ、Ｖｅｒｉｌｏｇ、ＳｙｓｔｅｍＣなど）で記述された、シミュレート可能な電力モデル・ライブラリに変換する。これらのシミュレート可能な電力モデル・ライブラリにより、下記のように、設計のＲＴＬシミュレーションと並行して電力推定を実行することが可能になる。
【００３４】
ターゲット・テクノロジの特性付けが完了した後、各設計の電力推定プロセスは次のように進行する。最初に、設計に対してＲＴレベルの設計プランニングが実行される。これは、ＲＴＬ　ＨＤＬから構造的表現を推論し、設計をＲＴＬライブラリにマッピングして、グローバルな相互接続の正確な推定値を得るためのフロアプランを導き出すプロセスである。ＲＴＬ設計プランニング・ツールに与えられるライブラリは、特性付けで使用されるＲＴＬライブラリに対応するもので、これには特性付けで使用された合成条件に対応する各コンポーネントの複数の実装が含まれる。
【００３５】
ＲＴＬ設計プランニング・ステップの実行は、相対精度だけが必要なときには任意であるが、サインオフ強度の精度を得ようとする場合は必要となる。これは特に、ディープ・サブミクロン・テクノロジにおいて必要とされる。
【００３６】
ＲＴＬ設計プランニングの出力は、ＲＴＬライブラリから取得した相互接続のブロックと、内部ブロック相互接続の推定値で構成されるマクロ・ネットリストである。マクロ・ネットリストとオリジナルのＨＤＬは、電力解析ツールへの入力を形成する。これは、設計を解析して電力モデル・ライブラリから電力モデルの集合を推論し、電力推定用として生成されたコードを含む拡張ＲＴＬ　ＨＤＬ記述を出力するツールである。
【００３７】
本発明の方法の重要な特徴は、シミュレート可能な電力モデルを使用することである。これは設計のＨＤＬ記述と同時にシミュレートされる。この方法は、機能シミュレーションから値トレース・ファイルを生成し、このファイルを後処理して電力推定を実行する通常の方法とは大きく異なる。
【００３８】
本発明の方法の主な利点は、大規模設計や長いテストベンチの場合にトレースが爆発的に増えて不能になる問題を回避できることである。拡張ＲＴＬ記述のサイズはオリジナルのＲＴＬ記述よりも大きいため、この利点はシミュレーションのコンパイル時間がやや増大するという犠牲を払って実現される。ただし、この犠牲は十分に許容できるものであり、特に大規模設計においてはきわめて有用である。
【００３９】
シミュレート可能な電力モデルを使用する方法は、シミュレータの種類を問わず適用でき、またどんなハードウェア記述言語にも拡張できる。実用面では、ツールの開発とメンテナンスに要する労力も最小限となるため、大規模設計での精度と効率性の向上に精力を集中できるという利点がある。
【００４０】
電力推定機能を付加した拡張ＲＴＬ記述は、（設計の振る舞いと構造を指定するオリジナルのコードに加えて）以下のコンポーネントで構成される。
【００４１】
設計の各基本（リーフ）コンポーネントにつき、電力モデル・ライブラリからインスタンスが生成される電力モデル。各電力モデルは、関連するコンポーネントの入出力に対応する信号を観察し、そのコンポーネント内で消費された電力を表す変数を生成する。電力モデルの実行は、Ｐｏｗｅｒ＿ｓｔｒｏｂｅ信号によってトリガされる。下記で説明するように、これにより電力推定に伴う計算労力と、電力推定値の精度を制御できるようになる。電力消費量は現在と過去の入力値の関数なので、これは電力モデルが電力推定の実行に必要な履歴を記憶する内部待ち行列を備えることを意味する。組み合わせコンポーネントの場合は、コンポーネントのＩ／Ｏ信号の現在と過去の値を記憶するだけで十分である。逐次コンポーネントの場合は、内部状態も記憶しなければならないこともある。（Ｂ）で述べるように、電力モデル内に備えられるこのストレージは、電力推定に要するシミュレーションのオーバヘッドを減少するために利用することができる。
【００４２】
設計内のＲＴＬコンポーネントの電力消費量を集計する電力集約コード。この加算プロセスは、設計の階層に対応して、階層的な方法で実行される。これにより、設計全体に加えて、インスタンスごとの電力消費量も知ることができる。さらに、１つの電力推定値を、機能ユニット、レジスタ、マルチプレクサ、ランダム論理に対応する複数の部分に分割することも可能である。この詳細なフィードバックにより、設計者は電力のボトルネックを容易に特定し、回路を再設計して電力消費量を減少させることができる。
【００４３】
電力推定計算を起動するコード。このコードは、設計内の各コンポーネントに関連する電力モデルをトリガするＰｏｗｅｒ＿ｓｔｒｏｂｅ信号と、電力加算コードを起動する信号を生成する。サイクル単位の精度が必要な場合、Ｐｏｗｅｒ＿ｓｔｒｏｂｅ信号は通常、ローカル・クロック信号から生成されるか、コンポーネントへの入力信号の変動を監視することによって生成される。（Ｂ）で述べるように、電力推定コードを起動する信号を賢明に制御することにより、精度の損失を最小限に抑えながら電力推定の大幅なスピードアップを実現することができる。
【００４４】
図２に、拡張ＲＴＬ記述（言語はＶＨＤＬ）の例を示す。これには、電力モデルのインスタンス生成、電力集約コード、電力推定計算を起動するコードなど、電力推定を容易にするためになされた変更が示されている。説明のため、図３にも電力モデル（言語はＶＨＤＬ）のサンプルを示す。電力モデルの内容は、ビット幅推論コード、内部待ち行列を管理するコード、マクロモデル計算を実行するコード、に分割することができる。
【００４５】
（Ｂ）−１（概要）
本発明による手法を開発した主な目的は、（ｉ）ＲＴレベルのサインオフ時に、電力推定、パッケージの選択、電力グリッドの設計、ＩＲドロップ依存型タイミング解析を実行可能にすること、および（ｉｉ）振る舞いおよびアーキテクチャ設計段階において電力探索を実行可能にすること、の２点である。上記２点の適用業務をサポートするためには、ＲＴＬサインオフでは「大規模設計に対応できる良好な絶対精度と十分なパフォーマンス」、アーキテクチャ探索では「設計代替案の反復評価に対応できる相対精度とハイ・パフォーマンス」、というやや異なる目的を追求する必要があるが、賢明に構成されたツール・フローがあればいずれの適用業務にも対処でき、個別ツールの開発とメンテナンスによるオーバヘッドが発生しない。また、本発明による手法が、純粋に構造的な記述、純粋に機能的な記述、その両方の組み合わせを含む設計といった広範なＲＴＬ設計スタイルに対応できることは、特筆に値する。
【００４６】
例えば、複数のゲート付きクロックを備える設計のほか、Ｉ／Ｏパッド、クロック・バッファー、トライステート・バスなどの素子もサポートされる。また、大量のランダム論理を含む設計や、ＲＴＬレベルとゲート・レベルが混在する設計にも対処することができる。さらに、平均電力推定だけでなく、階層的で構造的な電力レポート（コンポーネント単位）や、最大でサイクル単位にまで細分化された電力−時間プロファイルもサポートされる。
【００４７】
本発明では、ＲＴＬ電力推定の効率性を大幅に高めるための一連の手法が提供される。電力推定の実行時にこれらの手法を使用すると、大規模設計においても十分な成果を得られる。
【００４８】
ＲＴＬ電力推定方法は、Ｃベースの設計フローとＲＴＬベースの設計フローの両方に適用できる。この方法は、（ｉ）ＲＴＬコンポーネントのライブラリの自動特性付け、（ｉｉ）各ＲＴＬコンポーネントに関するシミュレート可能なマクロモデルの生成、（ｉｉｉ）設計内の各基本コンポーネントに関するシミュレート可能なマクロモデルのインスタンス生成による、ＲＴＬ設計の機能的記述の機能強化、および（ｉｖ）拡張ＲＴＬのシミュレーション、をベースとする。このフローを実行したところ、十分な精度（ゲート・レベルの平均電力推定値の５〜１０％）を達成することが確認された。ただし、大規模設計での効率性については改善の余地がかなりあることが確認されたため（所要時間が機能的ＲＴＬシミュレーションの最大６０倍）、本発明による手法を開発するに至った。
【００４９】
本発明による加速手法を開発した理由は、ＲＴＬ電力推定に伴う計算労力の問題を抱える事例が広範に見られたからである。この問題とは、いくつかの計算上のボトルネックにより、シミュレーション・オーバヘッドが大きくなる、というものである。本発明では、この問題は、拡張ＲＴＬ記述をシミュレータに適した内容に変更するためのいくつかの手法を開発することにより克服される。また、計算とストレージとのトレードオフによって、メモリ使用量の増大という犠牲を払いつつ計算量が削減される。さらに、「分割サンプリング」と呼ばれる、統計的サンプリングの新規な変形が開示される。分割サンプリングは、電力消費特性に基づいて回路を複数のクラスタまたはパーティションに分割し、各パーティションに応じてカスタマイズされたサンプリング戦略を導出する。分割サンプリングを実行すると、回路の異なる部位への計算労力の割り当てが最適化される。具体的には、総電力における寄与度の大きい部位と、推定が困難なサブ回路に多くの時間が費やされ、電力消費量を推定しやすいサブ回路に少ない時間が費やされる。
【００５０】
提唱する手法の有効性を実証するため、商業的なＲＴＬ電力推定フローにおける広範な実験結果が提示される。これらの実験では、大規模な工業用回路において、ＣＰＵ時間が大幅に改善されることが実証された（最大９３％）。精度の損失は、無視できるレベルであった。さらに、提唱する手法では、従来の手法に比較して、統計的サンプリングやテストベンチの削減といったＣＰＵ時間と精度とのトレードオフの効果が高まることが実証された。最後に、提唱する加速手法は、総電力消費量を正確に推定できることに加えて、局部（個別のサブ回路またはＲＴＬコンポーネント）における電力推定の精度も確保されることが確認された。
【００５１】
（Ｂ）−２（加速手法の詳細）
本項では、ＲＴＬ電力推定を加速させる一連の手法の実施例について説明する。（概要）の項では、これらの手法の概要を簡単に示し、（詳細）の項では各手法を例を使用して詳細に説明する。
【００５２】
（概要）
シミュレーション・ベースの電力推定を行う場合、一定のＨＤＬコンパイルおよびシミュレーション環境においては、電力モデル拡張ＨＤＬ中のシミュレーション負担の大きい要素の最適化に加速努力を集中させる必要がある。本発明で提案する最適化は、下記に示す３つのカテゴリに大別される。
【００５３】
ａ）ＨＤＬを意識した最適化：
これらの最適化は、ＨＤＬのコンパイラとシミュレータに不必要な負担を掛けるＨＤＬコードに代えて実行される。１回のシミュレーションは、基本的には、各イベントについてトリガされたプロセスの検出、その評価、状態の更新、新たなイベントのスケジューリング、という４つのタスクで構成される。そのため、電力推定に関連するプロセスによりシミュレータに掛かる負荷が大きいほど、全体的な推定時間が長くなる。したがって、ＨＤＬを意識した最適化の基本戦略は、電力計算においてシミュレーション負担の大きい要素を特定し、シミュレーション負担の小さい要素に置換する（または、除去する）ことによってその数を減少させる、という内容になる。このプロセスでは、電力推定の精度の維持が保証されなければならない。
【００５４】
ｂ）遅延計算
任意のサイクルにおける設計の電力消費量を計算する場合は、各ＲＴＬコンポーネントの入力で発生するビット・レベルの切り換えアクティビティを記録するタスクと、そのサイクル内で電力モデルを起動して電力を計算するタスクを実行する必要がある。平均電力推定値を得る場合は、コンポーネントへの入力値を後の任意のサイクルまで待ち行列に入れることにより、電力モデルの起動がそのサイクルまで延期される。つまり、入力を待ち行列に入れるためにメモリ使用量が増えるという犠牲を払って、電力モデルの起動回数が減少され、ひいては計算量が削減されるわけである。
【００５５】
ｃ）分割統計的サンプリング
統計的サンプリング手法は、「意味のある平均電力推定値を得るためには、１回のシミュレーションに含まれる電力サンプルのごく一部を処理するので十分である」という前提に立つ。したがって、各ＲＴＬコンポーネントについて電力サンプルを取得する回数を減らすことにより、電力推定の効率性を高めることができる。本発明において提示される分割サンプリング手法は、サンプリングの回数を他に比較して少なくできるＲＴＬコンポーネントをシステマティックに特定するための方法を提供する。実験結果（詳細については下記参照）によると、構造化分割サンプリングの使用により、電力推定の回数を機能シミュレーションの回数とほぼ同じにすることができる。
【００５６】
（詳細）
（ａ）ではＨＤＬを意識した最適化について、また（ｂ）および（ｃ）では遅延計算手法と分割統計的サンプリング手法について、それぞれ詳述する。
【００５７】
ａ）ＨＤＬを意識した最適化
シミュレーションのパフォーマンス向上のために電力モデル仕様におけるＨＤＬセマンティクスを変更する手法は、このカテゴリに分類される。これらの手法は以下のステップで構成される。
【００５８】
（１）　オペランドのデータ型の変換
電力モデル計算では、基本的には、コンポーネントＩ／Ｏ切り換えアクティビティに対応するオペランドの算術演算が実行される。ＨＤＬシミュレータ上で複素数データ型（実数、ベクトルなど）の算術演算を実行する方法は、より単純なデータ型（整数）の算術演算を実行した後に計算結果を複素数データ型に再変換する方法に比較してはるかに負荷が大きい。そのため、オペランドのデータ型を複素数データ型からより単純なデータ型に変換する作業は、最も基本的なＨＤＬ最適化と言うことができる。
【００５９】
（２）　ＨＤＬ関数のインライン化
電力モデル記述で関数を使用する場合は常に、起動のたびにオーバヘッドが生じる。関数のインライン化は、これらのオーバヘッドの解消に役立つ。ただし、インライン化によってシミュレータのオーバヘッドが増大する。この増大は、関数を呼び出すＨＤＬコードにローカル変数が露出され、これに伴い追加の記帳がシミュレータ上に導入されることにより生じる（関数には、それを呼び出す外部プロセスからローカル変数を隠すという利点がある）。そのため、電力モデル記述上では、ＨＤＬ関数のインライン化は賢明に実行されなければならない。
【００６０】
（３）　電力モデルの起動の最小化
クロックのゲート化、オペランドの分離といった電力削減戦略を採用すると、広範にわたるシミュレーション実行において、多数のＲＴＬコンポーネントの入力での切り換えアクティビティをゼロにすることができる。その結果、対応する電力モデル・プロセスのＨＤＬ記述も、これに対応する方法でシャットダウンするように変更できるようになる。したがって、電力モデル・プロセスを必要なときにだけ起動することにより、電力モデルの起動回数を最小限にまで減少できる。
【００６１】
（４）　電力モデル作業負荷の枝刈り
電力モデル・プロセスの作業負荷も、最小限にまで減少する必要がある。単発的計算を伴うＨＤＬコードはすべて、電力モデル・プロセスの外に移動して、冗長な評価と記帳を除去しなければならない。これを怠ると、シミュレーションのパフォーマンスに深刻な影響が出る。
【００６２】
例１は、上記のＨＤＬを意識した最適化をサンプルＲＴＬ設計に適用した場合の例である。
【００６３】
例１：図２は、設計ｔｅｓｔ１のＨＤＬ記述である。この記述には、ＲＴＬコンポーネントａｄｄｗｃ＿１ｂｉｔと、その中にインスタンスが作成された、対応する電力モデルａｄｄｗｃ＿１ｂｉｔ＿ｐｏｗｅｒが含まれている。モジュールａｄｄｗｃ＿１ｂｉｔは、２つの入力（ｔｅｓｔ１ｉｎ１（０）とｔｅｓｔ１ｉｎ２（０））と１つの出力（ｔｅｓｔ１ｏｕｔ（０））から成る。ｔｅｓｔ１ｉｎ１（０）とｔｅｓｔ１ｉｎ２（０）は、電力モデルａｄｄｗｃ＿１ｂｉｔ＿ｐｏｗｅｒの入力を形成する。電力モデルへの他の入力は、起動信号ＰＯＷ＿ＳＴＲＯＢＥと、計算済み電力消費量の値ｐｏｗｅｒ４である。
【００６４】
図３は、電力モデル用として生成されたＨＤＬコードである。このＨＤＬ記述は、ＰＯＷ＿ＳＴＲＯＢＥ信号のイベントに依存する単一プロセスを示す。このプロセスでは、最初に、ａｄｄｗｃ＿１ｂｉｔの入出力の以前の値と現在の値を格納する待ち行列が更新される。これに続いて、関数ｔｒａｎｓ＿ｃｏｕｎｔを使用して、ビット・レベルの変遷の関数として変化する電力消費量が実際に評価される。図４は、以前のビット値と現在のビット値に対して、単にｘｏｒ演算を実行するだけの関数ｔｒａｎｓ＿ｃｏｕｎｔの仕様例である。
【００６５】
オペランドのデータ型変換や関数のインライン化などのＨＤＬを意識した最適化により、関数ａｄｄｗｃ＿１ｂｉｔ＿ｐｏｗｅｒの効率を高めることができる。図５は、これらの最適化を電力モデルコードに適用したことによる効果を示す。まず、ＨＤＬ最適化後の電力モデル内で計算された電力値は整数であることが注目される。これは、電力評価の方程式が、係数がオリジナルの実数値から適切にスケーリングされて、以下のように変化する（この例では１０６倍）ことを意味する。
ｐｏｗｅｒ＜＝ｔｒａｎｓ＿ｃｏｕｎｔ（ｑｕｅｕｅ＿ｉｎ１（０），　ｑｕｅｕｅ＿ｉｎ１（１），０）＊１１０；
＋　ｔｒａｎｓ＿ｃｏｕｎｔ（ｑｕｅｕｅ＿ｉｎ２（０），　ｑｕｅｕｅ＿ｉｎ２（１），０）＊１０８；　　　　　　（式１）
【００６６】
関数ｔｒａｎｓ＿ｃｏｕｎｔはさらに、図５に示すようにインライン化できる。このインライン化によって電力モデルで使用されるプロセスに余分な変数が導入されることはないので、関数の呼び出しと返却に伴う余分のコストを削減する上で効果的である。
【００６７】
図６は、ｔｅｓｔ１のＲＴＬ記述に対してこれらの最適化を実行したことによる効果を示す。最適化により、ａｄｄｗｃ＿１ｂｉｔ＿ｐｏｗｅｒインタフェースと、変数ｆｕ＿ｐｏｗｅｒ（機能ユニットの電力に対応）の更新方法が変更されている。ｐｏｗｅｒ４は現在は整数であるため、図示するように、実数に再変換され、スケールバックされる。ｆｕ＿ｐｏｗｅｒのデータ型を整数に変換する方法は、オーバフローの問題が発生する恐れがある大規模設計では有効な代替方法ではない。
【００６８】
ｂ）遅延計算
この項では、計算とストレージのトレードオフを使用してＲＴＬ電力推定を加速する方法について説明する。
【００６９】
これまで論じてきたＲＴＬコンポーネントの基本的な電力モデルは、以前の入出力値と現在の入出力値を更新してから（ｓｔｏｒｅ演算）、電力消費量を適切に計算する（ｃｏｍｐｕｔｅ演算）。そのため、電力消費値は各サイクルで得られる。ここでは、一例として、ｋサイクルに１度の頻度で定期的に電力消費量の平均値を得る必要がある場合の代替シナリオについて考察する。サイクル精度計算用に適応された既存の電力モデルは、従来と同様に、ｓｔｏｒｅ演算の後にｃｏｍｐｕｔｅ演算を実行するサイクルをｋ回繰り返す。これに対し、電力をｋ回目のサイクルでのみ出力しなければならないという事実は、ＲＴＬコンポーネントのｋサイクル分の入出力値を待ち行列に入れることによって対処される。ｋ番目のサイクルでｃｏｍｐｕｔｅ演算を１回だけ実行して、電力消費値が決定される。したがって、ｃｏｍｐｕｔｅ演算の実行回数は、総サイクル数の１／ｋ回だけである。
【００７０】
以下の例では、電力モデル例への遅延計算の適用について説明する。
【００７１】
例２：図３に示す基本的な電力モデルａｄｄｗｃ＿１ｂｉｔ＿ｐｏｗｅｒについて考察する。ＰＯＷ＿ＳＴＲＯＢＥにおいて立ち下がり端のイベントが発生すると、ｑ＿ｉｎ１とｑ＿ｉｎ２はまず、以前の値と現在の値の内容を更新する。続いて、電力消費量が、ｑ＿　ｉｎ１とｑ＿ｉｎ２の関数として計算される。
【００７２】
この電力モデルに遅延計算を適用できる。図７に、時間が変更されたａｄｄｗｃ＿１ｂｉｔ＿ｐｏｗｅｒのＶＨＤＬ仕様を示す。ここでは、電力モデルのｓｔｏｒｅ演算とｃｏｍｐｕｔｅ演算は、異なるストローブ信号によって起動される２つのフェーズに分離される。時間信号ＳＴＯＲＥ＿ＳＴＲＯＢＥが毎サイクルに適用されて、待ち行列ｑ＿ｉｎ１とｑ＿ｉｎ２が更新される（現在の待ち行列長はｋ）。信号ＰＯＷ＿ＳＴＲＯＢＥがｋ番目のサイクルにのみ適用されて、電力消費量が評価される。ここで、関数ｔｒａｎｓ＿ｃｏｕｎｔは、長さｋの待ち行列を収納できるように変化することに注意する必要がある（図８参照）。
【００７３】
また、シミュレータがコンポーネント値を格納するために必要とする追加のストレージの量は、設計とｋの大きさに直接比例することにも注意する必要がある。図９は、ａｄｄｗｃ＿１ｂｉｔ＿ｐｏｗｅｒの待ち行列長の異なる１００，０００インスタンスを有する設計での、シミュレーション時間の変動を示したものである。この図から、ｋの値が大きくなると（ｋ　＞　２５０）、シミュレーション時間が上昇し始めることが分かる。これは、遅延計算によるパフォーマンス利得を、シミュレータが必要とするメモリ量が上回ったことによる。
【００７４】
ｃ）分割統計的サンプリング
分割統計的サンプリングは、「各ＲＴＬコンポーネントについて電力サンプルを取得する頻度を変えることによって、電力推定の効率を高めることができる」という前提に立つ。分割サンプリングは、ゲート・レベルやトランジスタ・レベルの電力推定で使用される従来のサンプリング手法（非特許文献４５）とは対照的に、回路全体を単一のパーティションとみなして、回路内の全コンポーネントに関する電力推定計算を同時に実行する手法である。分割サンプリングは、以下のような状況が観察される場合に有効である。
【００７５】
１．　回路の総電力消費量における各部位の寄与度にばらつきがある。そのため、「高精度な電力測定」が必要とされるのは、電力消費量の寄与度が大きい部位に限られる。
【００７６】
２．　回路内のコンポーネントによって、電力消費量の変動の度合いが異なる（すなわち、電力分布の分散の度合いが異なる）。分散の度合いが大きいコンポーネントは電力推定が難しいため、より多くの計算労力を費やすことが効率の向上につながる。
【００７７】
３．　クロックのゲート化、オペランドの分離といった電力削減戦略の採用によって、回路の選択された部分における切り換えアクティビティ（ひいては電力消費量）が減少され、電力消費プロファイルの不均衡が増大される。
【００７８】
図１１は、分割サンプリングのフローチャートの例を示す。このフローチャートへの入力は、ＨＤＬの電力モデル拡張設計、そのテストベンチ、制御パラメータｋである。フローチャートの出力は、入力されたＲＴＬ設計の平均電力消費量である。ステップ１および２では、コンパイルとシミュレーションの初期実行を完了する。ここでは、短いシミュレーション実行（シミュレーション全体のｋ％）によって、全ＲＴＬコンポーネントの電力対時間のプロファイルを決定する。これらの電力プロファイルを使用して、すべてのＲＴＬコンポーネントに関する電力分布の平均と分散を計算する。こうして得られた平均分散データは、設計の平均分散スキャタ・プロット（ＭＶＳＰ）としてグラフ化することができる。図１０はＭＶＳＰの例である。ここで、Ｘ軸とＹ軸は、それぞれ平均電力と分散を表す。プロット内の点（ｘ，ｙ）は、平均ｘと分散ｙの電力プロファイルを有するＲＴＬコンポーネントを表す。例えば、点Ｐは、０．０６６　ｍＷの平均と０．０４７　ｍＷ２の分散を有する。
【００７９】
ステップ４〜６では、ＭＶＳＰを利用してＲＴＬ設計を分割する。ステップ４では、データ・クラスタ化アルゴリズム（非特許文献４２）を使って、ＭＶＳＰを類似した平均電力と分散を有するグループに分割する。ここでは、電力推定時に同じ計算労力で追跡できるように、クラスタ化によって類似の電力特性を有するコンポーネントを集約する。ステップ５は、こうして得られたクラスタを分析して、サンプリング確率を決定する。ステップ６では、対応する変更を設計のＨＤＬ記述に組み込む。最後に、ＨＤＬのコンパイルと完全シミュレーションを実行して（ステップ７および８）、ＲＴＬ電力推定を完了する。
【００８０】
次に、上記フローチャートのステップ４および５についてさらに説明する。
【００８１】
（１）パーティション化
図１１のステップ４で使用するＭＶＳＰ分割手法は、他の関連のない分野で使用される階層的な凝縮型クラスタ化アルゴリズムに類似している。アルゴリズムへの入力はＮ　ｘ　２の行列Ｍであり、ここで、各行はＲＴＬコンポーネントに対応し、２つのカラムの数値はそれぞれ平均と分散を示す。次に、アルゴリズムの動作について簡単に説明する。
【００８２】
１．　Ｍ内のすべての行ペア（Ｍの各行はＭＶＳＰ内の１点に対応する）について、行間のユークリッド距離、または類似の分離距離を計算する。これにより、初期構成（各クラスタが単集合のコンポーネントを有する）におけるクラスタ間の分離を示す初期クラスタ分離行列ＣＳＭが得られる。
【００８３】
２．　ＣＳＭを使用して、すべてのクラスタ・ペアについて、クラスタ間の平均距離を計算する。平均距離は、あるクラスタ内の１点と、他のクラスタ内のすべての点との間の距離から計算する。続いて、平均距離が最小の２個のクラスタを単一のクラスタにマージする。このマージを反映して、ＣＳＭを更新する。
【００８４】
３．　すべてのコンポーネントが単一のクラスタに入るまで、ステップ２を繰り返す。
【００８５】
クラスタ化の出力は、デンドログラムとして表現される、ＲＴＬコンポーネントのネストされたグループである。図１２（ａ）は、図１０に示すＭＶＳＰに対応するデンドログラムである。このデンドログラムを分割するレベルを変えることにより、ＲＴＬコンポーネントの異なるクラスタ化を得ることができる。図１２（ｂ）は、３個の別々のクラスタに分割されたＭＶＳＰを示す。
【００８６】
（２）サンプリング確率の決定
ステップ４で決定されたクラスタを、類似した電力特性（平均と分散）を有するＲＴＬコンポーネントにグループ分けする。次のステップは、各クラスタのサンプリング確率を確定することである。サンプリング確率の確定では、様々な要因を考慮する必要がある。ここで、Ｃ１，　Ｃ２　．．．　．．．　Ｃｎは、各々１個かそれ以上のＲＴＬコンポーネントを保持するｎ個のクラスタを示すとする。この場合、サンプリング確率を決定するための公式は以下のようになる。
【００８７】
１．　　サンプリングによるエラーを最小化しなければならない。クラスタＣｉをサンプリングしたことにより生じる推定エラーをδＰｉとすると、設計全体の総エラーは次式によって与えられる。
【００８８】
【数１】
2004062902.tif 000003
【００８９】
この総エラーが最小化の対象となる。
【００９０】
２．加えて、クラスタＣｉの総電力に占める割合がクラスタＣｊのそれよりも大きい場合には、クラスタＣｉのサンプリングによるエラーは、クラスタＣｊのサンプリングによるエラーに比較して大きくなる（最小化の時点）。そのため、式２における推定エラーδＰｉを、以下のように定義される部分電力ｆｉによって重み付けする。クラスタＣｉ内の全ＲＴＬコンポーネントの累積電力を、総電力の関数ｆｉとして表すとすると、次のような式となる。
【００９１】
【数２】
2004062902.tif 000004
【００９２】
式２は、最小化すべき目標関数となる、クラスタのエラーの加重合計を導出するように書き換えられる。
【００９３】
【数３】
2004062902.tif 000005
【００９４】
式４のδＰｉは、以下のように導出される。クラスタＣｉにおけるＲＴＬコンポーネントｃｏｍｐの電力プロファイルの正規分布の場合、サンプリングによる推定電力εｃｏｍｐのエラーは、次式によって支配される（非特許文献４５）。
【００９５】
【数４】
2004062902.tif 000006
【００９６】
上記の式では、Ｓｃｏｍｐはｃｏｍｐの電力プロファイルの標準偏差、ＮｉはクラスタＣｉのサンプリング・レート、ｔα／２は任意の信頼区間１−αを示す定数である。したがって、総エラーδＰｉは次式によって与えられる。
【００９７】
【数５】
2004062902.tif 000007
【００９８】
式４の最小化時に従うべき制約条件は、以下のようにして導出できる。１回の完全な電力推定実行時（加速なし）に採取される電力サンプルの総数をＮｔｏｔとし、電力サンプルの総数として表される分割統計的サンプリングの計算予算をＮｔｏｔのｎｆ分の１とする。｜Ｃ１｜，　｜Ｃ２｜　．．．　｜Ｃｎ｜がクラスタＣ１，　Ｃ２　…　Ｃｎ内のＲＴＬコンポーネント数を表すとすると、制約条件は単純な次式によって得られる
【００９９】
【数６】
2004062902.tif 000008
【０１００】
Ｎ１　．．．　Ｎｎが決定されると、各クラスタＰｒｉのサンプリング確率は、次のように単純な形式で記述できる。
【０１０１】
【数７】
2004062902.tif 000009
【０１０２】
式７の制約条件のもとで、式４で指定された目標関数を最小化するタスクは、線形制約最適化問題（非特許文献４６）である。この場合、制約条件は線形であるが、目標関数は非線形となる。この問題のソルバは多数あり（非特許文献４７，４８）、ＮｉおよびＰｒｉの特定に利用できる。次に、この公式の適用について、例を用いて説明する。
【０１０３】
例３：
図１３は、図１２（ｂ）に示すクラスタＣ１、Ｃ２　、Ｃ３の集約平均電力（Σｃｏｍｐ∈ｃｉＰ（アッパーバー）ｃｏｍｐ）、集約標準偏差（Σｃｏｍｐ∈ｃｉＳｃｏｍｐ）、ＲＴＬコンポーネント数（｜Ｃｉ｜）をリストアップしたものである。
【０１０４】
このデータから、最小化の対象となる目標関数を次のように公式化できる（式４および６を参照）。
【０１０５】
ΔＰ＝ｃｏｎｓｔａｎｔ＊（０．５９／ｓｑｒｔ（Ｎ１）＋５１．５／ｓｑｒｔ（Ｎ２）＋２．２４／ｓｑｒｔ（Ｎ３））　　式（９）
【０１０６】
Ｎｔｏｔが３００，０００、ｎｆが１０％の場合には、許容されるサンプル予算は３０，０００となる。続いて、式７の延長として、式９を最小化するための制約条件が次式によって得られる。
【０１０７】
１２０．Ｎ１＋２５６．Ｎ２＋８５．Ｎ３＜＝３００００
ａｎｄ，　Ｎｉ＞＝１　∀ｉ＝１　．．．　　　　　　　　　　　　　　　　式（１０）
【０１０８】
式１０の制約条件のもとで式９を最小化すると、Ｎ１　＝　９、Ｎ２＝　１０４、Ｎ３　＝　２７が得られる。したがって、所望されるサンプリング確率Ｐｒ１、Ｐｒ２、Ｐｒ３は、それぞれ０．０４、０．８９、０．１１となる。
【０１０９】
（Ｂ）−３（電力推定のためのシステム）
上記の手法を使用して、レジスタ・トランスファ・レベル（ＲＴＬ）で記述された電子回路の電力を推定するためのシステムを構築する。図１５に、回路の電力推定を行うための電力推定システムを示す。回路の電力モデル拡張ＲＴＬ記述１５．１が提供される。電力モデル拡張ＲＴＬ記述をシミュレータ１５．２に適した内容に変更するために、ＲＴＬ記述修飾子１５．３が適応される。
【０１１０】
図１６は、他の電力推定システムを示す。回路の電力拡張ＲＴＬ記述１６．１が提供される。ＲＴＬ記述を分割する機能を備える分割部（Ｐａｒｔｉｔｉｏｎｅｒ）１６．４は、電力消費プロファイルに基づいてクラスタに分割される。前記クラスタの各々に関するカスタマイズされたサンプリングを導出する機能を備えるサンプル・ジェネレータ１６．３においては、シミュレータ１６．２がカスタマイズされたサンプルを使ってシミュレーションを実行する機能を備える。
【０１１１】
図１７は、回路の電力消費量を推定するための他の電力推定システムを示す。回路の電力拡張ＲＴＬ記述１７．１が提供される。シミュレータ１７．２上で電力モデル拡張ＲＴＬ記述をシミュレートするための計算とメモリ使用量とのトレードオフ問題を検討する機能を備えるメモリ・エスティメータ（Ｅｓｔｉｍａｔｏｒ）１７．３が提供される。このシステムは、回路の消費電力を推定するためにシミュレータを実行する前にメモリ使用量を増大させることにより、シミュレータ上で電力モデル拡張ＲＴＬ回路記述をシミュレートするために必要となる計算量を削減させることができる。
【０１１２】
（Ｂ）−４（実験結果）
本項では、提唱する手法を工業用ＲＴＬ電力推定フローに適用した結果を示す。
【０１１３】
上記のＲＴＬ電力推定の評価に使用した実験的フレームワークは、以下のとおりである。最初に、ベンチマーク回路のＣ振る舞い記述を振る舞い合成ツールＣＹＢＥＲ（非特許文献３９）に供給し、ＲＴＬ実装を合成した。背景資料に示される電力モデル推論および電力推定コード生成プロセスを実行するために、ＣＹＢＥＲバックエンドの機能強化を行った。ＣＹＢＥＲの出力は、適切にインスタンス生成されたコンポーネントの電力モデルを含む回路の拡張ＨＤＬ記述と、ＲＴＬ電力推定に必要なその他のコードである。実験では、ほとんどのケースにおいて、ハードウェア記述言語としてＶＨＤＬを使用した。ただし、使用した一部の設計では、ＶｅｒｉｌｏｇとＶＨＤＬの記述が混在している。本発明による手法には、記述言語とシミュレータの種類を問わず使用できる。実験で使用したＲＴＬ電力モデル・ライブラリは、ＮＥＣのＣＢ−Ｃ９　ＶＸ　（０．３５ミクロン３．３Ｖ　ＣＭＯＳ）テクノロジ（非特許文献４９）に対応する。ＭｏｄｅｌＳｉｍ（非特許文献５０）と設計者供給のテストベンチを使用して、拡張ＲＴＬ記述のＨＤＬコンパイルおよびシミュレーションを実行し、最終的な電力推定値を得た。本発明による加速手法を実装して、ＣＹＢＥＲの出力の後処理を実行し、さらに電力推定のための効率的なＲＴＬ実装を作成した。よく知られたツールであるＳ−ＰＬＵＳ（非特許文献４０）とＥＸＣＥＬ（非特許文献４８）を使用して、分割統計的サンプリングのクラスタ化ステップと線形制約最適化ステップをそれぞれ実行した。
【０１１４】
表１に、実験で使用したベンチマークの特性を示す。カラム１は、実験で使用したすべてのベンチマークを示す。回路ＣＫＴ１〜ＣＫＴ６はすべて、イメージ、ビデオ、セキュリティ処理の各種アプリケーションで使用されるＮＥＣ内部設計である。カラム２は回路のＨＤＬ記述内にインスタンス生成されたＲＴＬコンポーネント数を示し、さらにその内訳として、制御論理ゲート数（カラム３）、機能ユニット数（カラム４）、マルチプレクサ数（カラム５）、レジスタ数（カラム６）を示す。最後に、カラム７にこれらの設計のトランジスタ数を示す。この表から、１２５万個以上のトランジスタを備える設計（回路ＣＫＴ６）については、電力推定を実行する必要があることが分かる。したがって、コンポーネント数の少ない（回路ＣＫＴ６では２６０４８個）ＲＴＬのような高位設計階層では電力推定の実行が必要なことは明らかである。
【０１１５】
【表１】
2004062902.tif 000010
【０１１６】
表２は、提唱する手法のパフォーマンスと精度を示す。本発明による加速手法を使用した場合と、使用しなかった場合について、各回路のＲＴＬ電力推定に要した平均電力推定値とＣＰＵ時間を決定した。カラム２〜４はそれぞれ、機能シミュレーションに要したＣＰＵ時間（小カラム「機能シミュレーション」）、加速前のＲＴＬ電力推定（小カラム「加速前」）、加速電力推定フロー（小カラム「加速後」）を示す。ＣＰＵ時間はすべて、２個の９００−ＭＨｚ　ＵｌｔｒａＳｐａｒｃプロセッサと４ＧＢ　ＲＡＭを搭載するＳＵＮ　Ｆｉｒｅ　２８０Ｒサーバ上で測定した。カラム５は、加速電力推定フローを使用したことによる加速前からの加速率（％）を示す。この結果から、提唱する加速手法は電力推定時間を大幅に短縮することが分かる（１／３１）。図１４は、加速手法を使用しない場合（カラム「加速前」）と使用する場合（カラム「加速後」）の、電力推定のための機能シミュレーションに関連するパフォーマンス・オーバヘッドを示す。この図から、提唱する手法によって電力推定時間が機能シミュレーション時間に近づくことが分かる。回路ＣＫＴ６の場合、加速前には、電力推定に費やされたＣＰＵ時間は機能シミュレーションに費やされた時間の４２．９倍であった。加速手法の適用後、電力推定時間は機能シミュレーションに費やされたＣＰＵ時間のわずか１．４倍にまで短縮された。種類を問わずすべてのシミュレーション・ベースのＲＴＬ電力推定手法では、機能シミュレーション時間はＲＴＬ電力推定に要するＣＰＵ時間の下限である。
【０１１７】
【表２】
2004062902.tif 000011
【０１１８】
カラム６と７は、加速前と加速後のフレームワークによって報告された平均電力推定値を示す。カラム８は、電力推定値における相対エラーを示す。エラーは非常に少なく、０．０２％（回路ＣＫＴ５）〜１．４３％（回路ＣＫＴ１）の範囲にとどまる。ＲＴＬ電力推定に基づくマクロモデリングの精度は、ゲート・レベルの電力推定に比較して非常に高いことに注目されたい。例えば、ＣＫＴ３のＲＴＬ電力推定値は、対応するゲート・レベル電力推定値から６．４４％しか違わない。ゲート・レベルの電力推定は、設計コンパイラ（非特許文献５２）を使用してテクノロジ・マッピング（ＮＥＣ　ＣＢ−Ｃ９　ＶＸセル・ライブラリ（非特許文献４９）を使用）と合成を行って得られたゲート・レベルのネットリストを対象に、ＮＥＣ　ＯｐｅｎＣＡＤツール・スィート（非特許文献５１）によって実行した。
【０１１９】
（Ｂ）−５（結論）
本発明では、一連の手法を使用してＲＴＬ電力推定を加速する。これらの加速手法は、ＲＴＬ電力推定の効率性を機能シミュレーションのそれに近づけ、大規模設計にも対応可能にする。これらの加速手法には、ＨＤＬセマンティックを意識した最適化、ストレージとＣＰＵ時間とのトレードオフ、「分割サンプリング」と呼ばれる新規な手法が含まれる。最大１２５万個のトランジスタを備えるいくつかの設計を使用して行った実験から、本発明による手法は、精度パフォーマンスの損失を最小限にとどめながら最大３１倍のパフォーマンス向上を実現することが確認された。
【０１２０】
以上好ましい実施の形態及び実施例をあげて本発明を説明したが、本発明は必ずしも上記実施の形態及び実施例に限定されるものではなく、その技術的思想の範囲内において様々に変形して実施することができる。
【０１２１】
【発明の効果】
以上説明したように本発明のＲＴＬ電力推定を効率的に行うための方法とそのシステムによれば、大規模なＲＴＬ回路設計向けの電力推定ツールの効率性とスケーラビリティが向上する。
【０１２２】
また、回路の消費電力を推定するためにシミュレータを実行する前にメモリ使用量を増大させることにより、シミュレータ上で電力モデル拡張ＲＴＬ回路記述をシミュレートするために必要となる計算量を削減させることができる。
【図面の簡単な説明】
【図１】本発明における教示を適用可能な状況を明確にするために、ＲＴＬ電力推定方法の概要を示す図である。
【図２】本発明のサンプル設計ｔｅｓｔ１のＶＨＤＬ断片を示す図である。
【図３】本発明の電力モデルａｄｄｗｃ＿１ｂｉｔ＿ｐｏｗｅｒのＶＨＤＬ仕様を示す図である。
【図４】本発明の関数ｔｒａｎｓ＿ｃｏｕｎｔのＶＨＤＬ仕様を示す図である。
【図５】本発明の電力モデルａｄｄｗｃ＿１ｂｉｔ＿ｐｏｗｅｒの最適化バージョンを示す図である。
【図６】本発明の電力モデルの最適化により生じたｔｅｓｔ１の変更を示す図である。
【図７】本発明の遅延計算を含む電力モデルａｄｄｗｃ＿１ｂｉｔ＿ｐｏｗｅｒを示す図である。
【図８】本発明の遅延計算をサポートするための、関数ｔｒａｎｓ＿ｃｏｕｎｔの変更ＶＨＤＬ仕様を示す図である。
【図９】待ち行列長の異なるシミュレーション時間トレードオフを示す図である。
【図１０】本発明の平均分散スキャタ・プロット（ＭＶＳＰ）の１例を示す図である。
【図１１】本発明の分割された統計サンプリングのフローチャートを示す図である。
【図１２】本発明の（ａ）、（ｂ）は、ＭＶＳＰをクラスタ化した結果を示す図である。
【図１３】本発明のクラスタ化の例に関する集約平均、分散、サイズ統計を示す図である。
【図１４】本発明の提案される加速手法を使用した場合と、使用しない場合との、電力推定の機能シミュレーションに要したパフォーマンス・オーバヘッドの比較を示す図である。
【図１５】本発明のＨＤＬ変更手法を組み込んだ電力推定システムの一実施例を示すブロック図である。
【図１６】本発明の計算遅延を組み込んだ電力推定システムの一実施例を示すブロック図である。
【図１７】本発明の分割サンプリング手法を組み込んだ電力推定システムの一実施例を示すブロック図である。
【符号の説明】
１５．１：　電力拡張ＲＴＬ記述
１５．２：　シミュレータ
１５．３：修飾子
１６．１：　電力拡張ＲＴＬ記述
１６．２：シミュレータ
１６．３：サンプル・ジェネレータ
１６．４：分割部
１７．１：　電力拡張ＲＴＬ記述
１７．２：　シミュレータ
１７．３：　メモリ・エスティメータ
【図１】
2004062902.tif 000012
【図２】
2004062902.tif 000013
【図３】
2004062902.tif 000014
【図４】
2004062902.tif 000015
【図５】
2004062902.tif 000016
【図６】
2004062902.tif 000017
【図７】
2004062902.tif 000018
【図８】
2004062902.tif 000019
【図９】
2004062902.tif 000020
【図１０】
2004062902.tif 000021
【図１１】
2004062902.tif 000022
【図１２】
2004062902.tif 000023
【図１３】
2004062902.tif 000024
【図１４】
2004062902.tif 000025
【図１５】
2004062902.tif 000026
【図１６】
2004062902.tif 000027
【図１７】
2004062902.tif 000028