(57)【要約】【課題】抽象度のレベルによらず、半導体集積回路装置の消費電力を短時間で高精度に見積もる。【解決手段】高抽象度シミュレータ６により高抽象度シミュレーションを実行し、各ハードウェアＩＰの機能毎の発生率を抽出する。発生率は、前に実行された機能までを含めたものを１つの機能とする。発生率上位抽出部７は、抽出した機能の発生率の高いものから、測定対象となる機能を任意の数だけ選択する。要素電力測定部３では、該当する設計段階の抽象度の論理シミュレーションを実行し、トグル情報を抽出し、単位機能電力測定部１１が、そのトグル情報に基づいて、単位機能毎の消費電力を算出する。電力計算部４は、発生率上位抽出部７が選択した機能と単位機能電力測定部１１が算出した単位機能毎の消費電力とから電力値を積算し、半導体集積回路装置全体の電力の見積もりを行う。【選択図】  図１
2008204350.tif 000002
【特許請求の範囲】
【請求項１】
任意のソフトウェアを高抽象度のシミュレーション動作させた際のハードウェアＩＰ毎に各機能の発生率を抽出し、抽出した前記機能から任意の機能を抽出する抽出部と、
任意の抽象度レベルにおいて前記機能が活性化されるテストパターンを用いてトグル情報を抽出し、抽出したトグル情報から各機能当たりの単位電力を算出する要素電力測定部と、
前記抽出部が抽出した機能と前記要素電力測定部が算出した各機能の単位電力から、半導体集積回路装置全体の消費電力値を算出する電力計算部とを備え、
任意のソフトウェアを動作させた際の各ハードウェアＩＰの動作状態を抽象度のレベルによらず算出することを特徴とする電力消費見積もりシステム。
【請求項２】
請求項１記載の消費見積もりシステムにおいて、
前記抽出部は、
任意のソフトウェアを高抽象度のシミュレーション動作させた際のハードウェアＩＰ毎に各機能の発生率を抽出する高抽象度シミュレータと、
前記高抽象度シミュレータが抽出した機能から、発生率の高い機能を任意の数だけ抽出する発生率上位抽出部とを備え、
前記要素電力測定部は、
各抽象度のシミュレーションを行い、トグル情報を抽出するトグル抽出シミュレータと、
前記トグル抽出シミュレータが抽出したトグル情報に基づいて、前記発生率上位抽出部が抽出した各機能毎の消費電力を算出する単位機能電力測定部とを備えたことを特徴とする電力消費見積もりシステム。
【請求項３】
請求項２記載の電力消費見積もりシステムにおいて、
前記トグル抽出シミュレータは、
ハイレベル、ＲＴＬ、およびゲートレベルの設計データのシミュレーションを行うことを特徴とする電力消費見積もりシステム。
【請求項４】
請求項１〜３のいずれか１項に記載の消費見積もりシステムにおいて、
前記要素電力測定部が抽出する機能は、
該当する機能の前に実行された機能までを含めて１つの機能とすることを特徴とする電力消費見積もりシステム。
【請求項５】
任意のソフトウェアを高抽象度のシミュレーション動作させた際のハードウェアＩＰ毎に各機能の発生率を抽出するステップと、
抽出した前記機能から発生率の高い機能を任意の数だけ抽出するステップと、
任意の抽象度レベルにおいて前記機能が活性化されるテストパターンを用いてトグル情報を抽出するステップと、
抽出したトグル情報から各機能当たりの単位電力を算出し、半導体集積回路装置全体の消費電力値を算出するステップとを有したことを特徴とする電力消費見積もり方法。
【請求項６】
請求項５記載の電力消費見積もり方法において、
前記トグル情報を抽出するステップは、
任意の抽象度レベルが、ハイレベル、ＲＴＬ、およびゲートレベルよりなることを特徴とする電力消費見積もり方法。
【請求項７】
請求項５または６記載の消費見積もり方法において、
前記発生率の高い機能を任意の数だけ抽出するステップは、
該当する機能の前に実行された機能までを含めて１つの機能として抽出することを特徴とする電力消費見積もり方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路装置の消費電力の見積もり技術に関し、特に、仕様検討の段階における半導体集積回路装置の消費電力の見積もりに有効な技術に関する。
【背景技術】
【０００２】
携帯端末などに広く用いられているＳｏＣ（Ｓｙｓｔｅｍ  ｏｎ  Ｃｈｉｐ）などの半導体集積回路装置においては、顧客との仕様検討の段階で消費電力見積もり値を短期間で精度よく提示することが強く求められている。
【０００３】
この種の半導体集積回路装置の消費電力を見積もる技術としては、製品を大まかなブロックに分割し、それぞれの電力値と実効時間を掛け合わせ合計していくものが知られている。
【０００４】
たとえば、製品をブロックＡ／Ｂ／Ｃ／Ｄに分割した時、個々のブロックの電力をＰａ／Ｐｂ／Ｐｃ／Ｐｄとし、実効時間をＮａ／Ｎｂ／Ｎｃ／Ｎｄであったとすると、製品全体の電力は、以下の式で算出することができる。
【０００５】
製品全体の電力＝Ｐａ×Ｎａ＋Ｐｂ×Ｎｂ＋Ｐｃ×Ｎｃ＋Ｐｄ×Ｎｄ
また、半導体集積回路装置の消費電力を算出する技術として、たとえば、回路シミュレーションにより予めメモリアクセス時の消費電流を計算しておき、半導体集積回路装置全体でのＲＴＬ（Ｒｅｇｉｓｔｅｒ  Ｔｒａｎｓｆｅｒ  Ｌｅｖｅｌ）シミュレーションによりメモリアクセス回数をカウントする機構を用意することで、該半導体集積回路装置に設けられたメモリの平均消費電力を算出するものがある（特許文献１参照）。
【特許文献１】特開２００３−２５６４９５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところが、上記のような半導体集積回路装置の消費電力の算出技術では、次のような問題点があることが本発明者により見い出された。
【０００７】
すなわち、算出に用いられる個々のブロックの電力値は、ある１つの機能パターンを実行した時の電力値であり、別の機能が実行された場合、電力値に大きな誤差が発生してしまうという問題がある。
【０００８】
また、算出に利用される電力値は、１つの機能のみを動作させた際の電力値であり、その機能の前状態を考慮したものではないので、電力値の誤差がより大きくなってしまうという問題がある。
【０００９】
さらに、特許文献１の技術では、論理シミュレーションの実行をネットリストを用いて行っているために、ネットリストが揃わないと電力見積もりを実行することができず、半導体集積回路装置の早期設計段階での消費電力見積もりができないという問題がある。
【００１０】
また、ネットリストを用いて論理シミュレーションを実行するので、シミュレーション速度が著しく遅くなってしまい、消費電力見積もりにかかる時間が大きくなってしまうという問題がある。
【００１１】
さらに、電力見積もりの対象がメモリに関する電力のみに限定されており、半導体集積回路装置全体での電力は算出できないものとなっている。
【００１２】
本発明の目的は、抽象度のレベルによらず、半導体集積回路装置の消費電力を短時間で高精度に見積もることのできる技術を提供することにある。
【００１３】
本発明の前記ならびにそのほかの目的と新規な特徴については、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１４】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
【００１５】
本発明による電力消費見積もりシステムは、任意のソフトウェアを高抽象度のシミュレーション動作させた際のハードウェアＩＰ毎に各機能の発生率を抽出し、それら抽出した機能から任意の機能を抽出する抽出部と、任意の抽象度レベルにおいて機能が活性化されるテストパターンを用いてトグル情報を抽出し、抽出したトグル情報から各機能当たりの単位電力を算出する要素電力測定部と、該抽出部が抽出した機能と該要素電力測定部が算出した各機能の単位電力から、半導体集積回路装置全体の消費電力値を算出する電力計算部とを備え、任意のソフトウェアを動作させた際の各ハードウェアＩＰの動作状態を抽象度のレベルによらず算出するものである。
【００１６】
また、本発明による電力消費見積もりシステムは、前記抽出部が、任意のソフトウェアを高抽象度のシミュレーション動作させた際のハードウェアＩＰ毎に各機能の発生率を抽出する高抽象度シミュレータと、該高抽象度シミュレータが抽出した機能から、発生率の高い機能を任意の数だけ抽出する発生率上位抽出部とを備え、要素電力測定部は、各抽象度のシミュレーションを行い、トグル情報を抽出するトグル抽出シミュレータと、該トグル抽出シミュレータが抽出したトグル情報に基づいて、発生率上位抽出部が抽出した各機能毎の消費電力を算出する単位機能電力測定部とを備えたものである。
【００１７】
さらに、本発明による電力消費見積もりシステムは、前記トグル抽出シミュレータが、ハイレベル、ＲＴＬ、およびゲートレベルの設計データのシミュレーションを行うものである。
【００１８】
また、本発明による電力消費見積もりシステムは、前記要素電力測定部が抽出する機能が、該当する機能の前に実行された機能までを含めて１つの機能とするものである。
【００１９】
さらに、本願のその他の発明の概要を簡単に示す。
【００２０】
本発明による電力消費見積もり方法は、任意のソフトウェアを高抽象度のシミュレーション動作させた際のハードウェアＩＰ毎に各機能の発生率を抽出するステップと、抽出した機能から発生率の高い機能を任意の数だけ抽出するステップと、任意の抽象度レベルにおいて機能が活性化されるテストパターンを用いてトグル情報を抽出するステップと、抽出したトグル情報から各機能当たりの単位電力を算出し、半導体集積回路装置全体の消費電力値を算出するステップとを有したものである。
【００２１】
また、本発明による電力消費見積もり方法は、前記トグル情報を抽出するステップにおける任意の抽象度レベルが、ハイレベル、ＲＴＬ、およびゲートレベルよりなるものである。
【００２２】
さらに、本発明による電力消費見積もり方法は、前記発生率の高い機能を任意の数だけ抽出するステップが、該当する機能の前に実行された機能までを含めて１つの機能として抽出するものである。
【発明の効果】
【００２３】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
【００２４】
（１）半導体集積回路装置の仕様、システム検討段階から、短期間で高精度に半導体集積回路装置の消費電力を見積もることができる。
【００２５】
（２）また、上記（１）により、半導体集積回路装置の開発期間を短縮することができる。
【００２６】
（３）さらに、高位シミュレーションを用いるため、実際に使用されるソフトウェアを実行した際の電力見積もりを短期間に算出することが可能となり、詳細な解析を容易に行うことができる。
【発明を実施するための最良の形態】
【００２７】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００２８】
図１は、本発明の一実施の形態による消費電力算出システムのブロック図、図２は、図１の消費電力算出システムによる半導体集積回路装置の消費電力算出処理の一例を示すフローチャート、図３は、図１の消費電力算出システムが抽出するＣＰＵにおける単位機能の組み合わせ例を示した説明図、図４は、図１の消費電力算出システムが抽出するバスブリッジにおける単位機能の動作組み合わせ例を示した説明図、図５は、図１の消費電力算出システムが抽出するＣＰＵの各種機能の発生率の抽出例を示した説明図、図６は、半導体集積回路装置の設計段階の抽象度に応じたシミュレーション例を示す説明図、図７は、図１の消費電力算出システムに設けられた電力計算部による電力見積もりのイメージ図である。
【００２９】
本実施の形態において、消費電力算出システム１は、たとえば、ＳｏＣ構成などからなる半導体集積回路装置における消費電力の見積もりを性能評価シミュレーションにおいて実施するシステムである。
【００３０】
電力消費見積もりシステムとして機能する消費電力算出システム１は、図１に示すように、活性化抽出部２、要素電力測定部３、電力計算部４、および誤差補正部５から構成されている。
【００３１】
抽出部として機能する活性化抽出部２は、高抽象度シミュレータ６、および発生率上位抽出部７から構成されている。高抽象度シミュレータ６は、高抽象度の設計データである高抽象度モデル（たとえば、Ｃモデル）とソフトウェアに基づいて高抽象度（ハイレベル）のシミュレーションを実行し、半導体集積回路装置の各ハードウェアＩＰ（Ｉｎｔｅｌｌｅｃｔｕａｌ  Ｐｒｏｐｅｒｔｙ）の機能毎の発生率を抽出する。発生率上位抽出部７は、高抽象度シミュレータ６が抽出した機能毎の発生率から、測定対象となる機能を抽出する。
【００３２】
要素電力測定部３は、ハイレベルシミュレータ８、ＲＴＬシミュレータ９、ゲートレベルシミュレータ１０、および単位機能電力測定部１１から構成されている。ハイレベルシミュレータ８、ＲＴＬシミュレータ９、およびゲートレベルシミュレータ１０は、トグル抽出シミュレータとして機能する。
【００３３】
ハイレベルシミュレータ８は、入力されるハイレベルの設計データと測定用テストパターンとに基づいて論理シミュレーションを行う。ＲＴＬシミュレータ９は、入力されるＲＴＬの設計データと測定用テストパターンとに基づいて論理シミュレーションを行う。
【００３４】
ゲートレベルシミュレータ１０は、入力されるネットリスト（ゲートの配置、配線情報など）と測定用テストパターンとに基づいて論理シミュレーションを行う。単位機能電力測定部１１は、単位機能毎の電力測定を算出する。
【００３５】
活性化抽出部２、および要素電力測定部３には、電力計算部４がそれぞれ接続されている。電力計算部４は、発生率上位抽出部７が抽出した測定対象となる機能毎の発生率と単位機能電力測定部１１が算出した消費電力値とから、単位機能毎の電力値を積算し、半導体集積回路装置全体の電力を見積もる。
【００３６】
誤差補正部５は、半導体集積回路装置が実機評価された際の消費電力値と電力計算部４が見積もった消費電力値との間で生じた誤差を補正し、フィードバックし、次回の機能毎の要素電力（単位時間当たりの消費電力）へ反映させる。
【００３７】
次に、本実施の形態における消費電力算出システム１の動作について説明する。
【００３８】
図２は、消費電力算出システム１による半導体集積回路装置の消費電力算出処理の一例を示すフローチャートである。
【００３９】
まず、高抽象度シミュレータ６に測定対象となるソフトウェアとＣモデルなどの高抽象度モデルとを入力し、高抽象度シミュレーションを実行する（ステップＳ１０１）。このシミュレーションによって、各ハードウェアＩＰ毎の各種機能の発生率を抽出する。
【００４０】
抽出する発生率の情報は、たとえば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）では各命令が何回実行されたかなどを調査したり、ハードウェアアクセラレータではその実行時間を測定したりする。
【００４１】
ここで、高抽象度シミュレータ６は、前に実行された機能までを含めたものを１つの単位機能としている。
【００４２】
図３は、ＣＰＵにおける単位機能の組み合わせ例を示した説明図であり、図４は、半導体集積回路装置に設けられたバスブリッジにおける単位機能の動作組み合わせ例を示した説明図である。
【００４３】
図３に示すように、ＣＰＵの場合には、同じ’ＭＯＶ’命令であっても、直前の命令が’ＭＯＶ’命令や’ＡＤＤ’命令などの異なる命令となっている場合、消費電力値が変わってしまうために、これらは異なる別機能として分類されることになる。
【００４４】
また、バスブリッジの場合には、図４に示すように、バスブリッジが外部インタフェース（ＩＦ）と接続を行う場合でも、直前の動作が、たとえば、’アイドル’状態の場合と、高速バスインタフェースなどの’内部インタフェース’の接続から切り替わる場合とでは、消費電力が異なるので、同じ外部インタフェースと接続を行う動作であっても別機能として分類されることになる。
【００４５】
続いて、発生率上位抽出部７は、高抽象度シミュレータ６が抽出した機能毎の発生率のうち、発生率の高いものから、要素電力の測定対象となる任意の機能を選択する。
【００４６】
これは、各機能毎に要素電力を測定するため、なるべくその測定対象数を減らす必要があるためである。どの程度対象を絞るかは状況により異なるが、たとえばＣＰＵの命令毎に関する情報であれば、上位１０数組程度あれば、高精度な電力算出を行うことができる。
【００４７】
図５は、ＣＰＵおける各種機能の発生率の抽出例を示した説明図である。
【００４８】
図示するように、対象命令が同じ命令であっても、その直前の命令によって発生率が大きく異なっている。たとえば、対象命令が、’ＡＤＤ’命令であると、直前の命令が’ＭＯＶ’命令となる発生率は１０．２％であるが、直前の命令が’ＭＵＬ’命令となる発生率は３．２％となっている。
【００４９】
同様に、対象命令が、’ＭＯＶ’命令の場合には、直前の命令も’ＭＯＶ’命令となる発生率が１５．４％となっているが、直前の命令が’ＳＵＢ’命令となると発生率は２．１％となり、直前の命令によって発生率に大きな偏りが生じている。
【００５０】
このように、発生率の低い機能の測定を除外しても電力算出の誤差への影響は小さいので、高抽象度シミュレータ６が抽出した単位機能から、発生率の高い機能だけを抽出する。抽出する機能数は任意であるが、前述したように、たとえば、ＣＰＵでは、上位１０数組程度でよい。
【００５１】
このように、直前の動作を考慮しながら、測定対象の機能を選択することにより、測定対象の機能を低減することができ、短時間で且つ高精度な消費電力値の算出を行うことが可能となる。
【００５２】
次に、ハイレベルシミュレータ８、ＲＴＬシミュレータ９、またはゲートレベルシミュレータ１０において、論理シミュレーションを実行し、トグル情報を抽出する（ステップＳ１０３）。
【００５３】
このステップＳ１０３の処理におけるシミュレーションは、対象となるハードウェアＩＰの抽象度により異なり、たとえば、対象ハードウェアＩＰが、未だＲＴＬの段階であれば、ＲＴＬシミュレータ９がＲＴＬの設計データと測定用テストパターンとを用いてある一定時間に測定対象箇所が変化した数を示すトグル情報を抽出する。
【００５４】
ここでは、半導体集積回路装置の設計工程が進むに連れて詳細化される毎に、そのレベルに応じた抽象度のシミュレーションを行う。
【００５５】
たとえば、図６に示すように、既存のハードウェアＩＰの場合には、ゲートレベルシミュレータ１０を用いて、新規開発のハードウェアＩＰの場合には、その設計フェーズ（ハイレベル／ＲＴＬ／ゲートレベル）に合わせてシミュレーションを行うことにより、より高精度な単位電力値の算出が可能となる。
【００５６】
続いて、単位機能電力測定部１１は、ハイレベルシミュレータ８、ＲＴＬシミュレータ９、またはゲートレベルシミュレータ１０が抽出したトグル情報に基づいて、単位機能毎の消費電力を算出する（ステップＳ１０４）。このステップＳ１０４の処理で算出される単位機能毎の消費電力は、ステップＳ１０２の処理と同様にその前の機能も考慮したものとなっている。
【００５７】
また、ステップ１０１〜Ｓ１０４の処理手順は、この通りである必要はなく、たとえば、ステップＳ１０３，Ｓ１０４の処理が終了した後にステップＳ１０１，１０２の処理を行うか、あるいはステップＳ１０１，Ｓ１０２の処理とステップＳ１０３，Ｓ１０４の処理とを並列して行うようにしてもよい。
【００５８】
そして、ステップ１０１〜Ｓ１０４の処理が終了すると、電力計算部４は、発生率上位抽出部７が選択した対象となる機能と単位機能電力測定部１１が算出した単位機能毎の消費電力とから電力値を積算し、半導体集積回路装置全体の電力の見積もりを行い（ステップＳ１０５）、その結果を出力する。
【００５９】
図７は、電力計算部４が、半導体集積回路装置の電力を算出する電力見積もりのイメージ図である。
【００６０】
図７において、横軸は時間を示し、縦軸は電力値を示している。また、棒グラフは、半導体集積回路装置におけるどのハードウェアＩＰ（ブロック）が動作（図７の’Ａ’、’Ｂ’、’Ｃ’で示す）しているかを示しており、実線によりそのときの消費電力量が示されている。
【００６１】
図示するように、単位時間当たりの消費電力値だけでなく、動作するハードウェアＩＰの組み合わせ、そのときの消費電力や、最高となる消費電力値などを見積もることができる。
【００６２】
また、新たな半導体集積回路装置の電力を見積もる場合、要素電力を測定しなおす必要はなく、単に高位シミュレーションを再度実行するだけで、非常に高速に結果を求めることができ、結果として、製品のアーキテクチャ検討などへのフィードバックが可能となる。
【００６３】
そして、誤差補正部５は、電力見積もりを行った半導体集積回路装置が、実機評価できるようになった際に、実機評価において測定された各機能毎の消費電力と電力計算部４を介して入力された各機能毎に算出された消費電力値との誤差を補正し、その補正情報を要素電力測定部３にフィードバックする（ステップＳ１０６）。これにより次の展開品などでより高い精度のシステム電力を求めることが可能となる。
【００６４】
この場合、誤差補正部５は、補正情報をたとえば、最小二乗法などによって求める。なお、補正情報の算出は、最小二乗法に限定するものではなく、その他の方法であってもよい。
【００６５】
それにより、本実施の形態によれば、短期間で高精度に半導体集積回路装置の消費電力を見積もることができる。
【００６６】
また、半導体集積回路装置の早期の開発段階で電力見積もりが可能となるので、該半導体集積回路装置の開発期間を短縮することができる。
【００６７】
さらに、高位シミュレーションを用いるため、実際に使用されるソフトウェアのような長大なシナリオを実行した際の電力見積もりを短期間に算出することができ、実機測定では困難であった詳細な解析を容易に行うことができる。
【００６８】
また、早期の開発段階で短時間に電力見積もりが可能となるので、ソフトウェア開発者が実施する低電力化のためのチューニングにも利用することができる。
【００６９】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【００７０】
たとえば、前記実施の形態では、通常の動作における電力見積もりを行っていたが、モジュールストップや電源遮断にだけ着目し、それだけを抽出するシミュレーション環境によって電力見積もりを行うようにしてもよい。
【００７１】
具体的には、予め要素電力測定部３にて、モジュールストップが行われている時の電力と行われていない時の電力を算出しておく。そして、実際のソフトウェアを高抽象度シミュレータ６で実行し、そこからモジュールストップが行われていた期間を測定する。
【００７２】
この結果と要素電力の結果を積算することで、システム全体の電力を抽出することができる。これにより、より高速でかつ、容易な環境設定で電力見積もりを実施することが可能となる。
【産業上の利用可能性】
【００７３】
本発明は、高位シミュレーションによる半導体集積回路装置の消費電力の算出技術に適している。
【図面の簡単な説明】
【００７４】
【図１】本発明の一実施の形態による消費電力算出システムのブロック図である。
【図２】図１の消費電力算出システムによる半導体集積回路装置の消費電力算出処理の一例を示すフローチャートである。
【図３】図１の消費電力算出システムが抽出するＣＰＵにおける単位機能の組み合わせ例を示した説明図である。
【図４】図１の消費電力算出システムが抽出するバスブリッジにおける単位機能の動作組み合わせ例を示した説明図である。
【図５】図１の消費電力算出システムが抽出するＣＰＵの各種機能の発生率の抽出例を示した説明図である。
【図６】半導体集積回路装置の設計段階の抽象度に応じたシミュレーション例を示す説明図である。
【図７】図１の消費電力算出システムに設けられた電力計算部による電力見積もりのイメージ図である。
【符号の説明】
【００７５】
１  消費電力算出システム
２  活性化抽出部
３  要素電力測定部
４  電力計算部
５  誤差補正部
６  高抽象度シミュレータ
７  発生率上位抽出部
８  ハイレベルシミュレータ
９  ＲＴＬシミュレータ
１０  ゲートレベルシミュレータ
１１  単位機能電力測定部
【図１】
2008204350.tif 000003
【図２】
2008204350.tif 000004
【図３】
2008204350.tif 000005
【図４】
2008204350.tif 000006
【図５】
2008204350.tif 000007
【図６】
2008204350.tif 000008
【図７】
2008204350.tif 000009