(57)【特許請求の範囲】
【請求項１】
半導体集積回路の消費電力を解析する消費電力解析方法において、
回路ブロックの動作モードを規定する特徴信号を有する設計回路に対し、消費電力を解析する単位解析区間ごとに前記特徴信号の動作回数を計測する第１の動作回数計測ステップと、
前記特徴信号の動作回数の計測結果をもとに、前記特徴信号によって前記動作モードが規定される前記回路ブロックの動作回数を計測するか否かを判定する判定ステップと、
前記判定ステップにて、前記回路ブロックの動作回数を計測すると判定された場合のみ、前記回路ブロックの動作回数を計測する第２の動作回数計測ステップと、
を有することを特徴とする消費電力解析方法。
【請求項２】
前記判定ステップでは、前記単位解析区間ごとに前記特徴信号の動作回数の計測結果をもとに前記回路ブロックの動作回数を計測するか否かを判定することを特徴とする請求の範囲第１項記載の消費電力解析方法。
【請求項３】
前記判定ステップでは、全解析区間の前記特徴信号の動作回数の計測結果をもとに、前記回路ブロックの動作回数を計測する解析区間を判定することを特徴とする請求の範囲第１項記載の消費電力解析方法。
【請求項４】
前記判定ステップでは、ある単位解析区間における前記特徴信号の動作回数と、該単位解析区間の１つ前の単位解析区間における前記特徴信号の動作回数との差が所定値以上であれば、前記回路ブロックの動作回数を計測し、所定値以下であれば前記回路ブロックの動作回数を計測しないと判定することを特徴とする請求の範囲第１項記載の消費電力解析方法。
【請求項５】
前記判定ステップでは、前記特徴信号の動作率が一定の動作率以下の場合、前記回路ブロックの動作回数を計測しないと判定することを特徴とする請求の範囲第１項記載の消費電力解析方法。
【請求項６】
前記判定ステップでは、ある単位解析区間の前記回路ブロックの動作回数を計測するか否かを、該単位解析区間の１つ前の単位解析区間における前記特徴信号の動作回数の情報を用いて判定することを特徴とする請求の範囲第１項記載の消費電力解析方法。
【請求項７】
前記特徴信号はゲーテドクロック信号であることを特徴とする請求の範囲第１項記載の消費電力解析方法。
【請求項８】
前記特徴信号の動作回数の計測または、前記回路ブロックの動作回数の計測のための論理シミュレーションを、エミュレータ装置を用いて行うことを特徴とする請求の範囲第１項記載の消費電力解析方法。
【請求項９】
前記エミュレータ装置は、前記設計回路に前記特徴信号の動作回数を計測するための計数回路を付加し、前記特徴信号の動作回数は前記計数回路にて計測し、前記回路ブロックの動作回数を計測する場合のみ波形データをエミュレーション結果として出力することを特徴とする請求の範囲第８項記載の消費電力解析方法。
【請求項１０】
半導体集積回路の消費電力を解析する消費電力解析装置において、
回路ブロックの動作モードを規定する特徴信号を有する設計回路に対し、消費電力を解析する単位解析区間ごとに前記特徴信号の動作回数を計測し、前記特徴信号の動作回数の計測結果をもとに、前記特徴信号によって前記動作モードが規定される前記回路ブロックの動作回数を計測するか否かを判定し、前記回路ブロックの動作回数を計測すると判定された場合のみ、前記回路ブロックの動作回数を計測する動作回数集計部を有することを特徴とする消費電力解析装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は消費電力解析方法及び消費電力解析装置に関し、特に半導体集積回路の消費電力を解析する消費電力解析方法及び消費電力解析装置に関する。
【背景技術】
【０００２】
システムＬＳＩ（Large Scale Integrated circuit）の設計時において、製造の前にチップ全体の消費電力が制限値以下であることを確かめる必要があり、高い精度の消費電力解析を行う必要がある。消費電力を計算する装置及び方法は、今まで多く開発されてきている。【０００３】
例えば、論理シミュレーションから組合せ回路やレジスタなどの動作回数（信号の変化回数）を計測し、負荷容量や基本回路の電流式より消費電力を計算する手法（例えば特許文献１、２参照。）や、ＦＰＧＡ（Field Programmable Gate Array）などのハードウェアを用いた消費電力解析手法（例えば特許文献３、４参照。）が知られている。【０００４】
また、論理シミュレーションをハードウェアで高速に行うためのエミュレータ装置が各種市販されている。例えば、Ｃａｄｅｎｃｅ社のＰａｌｌａｄｉｕｍシステム、Ａｐｔｉｘ社のＳｙｓｔｅｍ  Ｅｘｐｌｏｒｅｒシステム、Ｍｅｎｔｅｒ社のＣｅｌａｒｏシステムなどがある。【０００５】
また、消費電力を削減するため、組合せ回路やレジスタなどからなる、ある回路ブロックが動作していないときに、その回路ブロック内のレジスタへのクロック入力を停止するゲーテドクロックという手法が知られている（例えば特許文献５参照。）。【０００６】
上記のような従来の消費電力解析手法では、チップ全体の消費電力を評価するために、チップの全ゲート回路の動作率（単位時間当たりの動作回数）を集計する必要があった。
【特許文献１】特開平２−１３６７５５号公報
【特許文献２】特開平２−１７１８６１号公報
【特許文献３】特開２００２−２８８２５７号公報
【特許文献４】特開２００４−６２２３８号公報
【特許文献５】特開２００２−９２０６５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、従来の消費電力解析手法では、解析対象が例えば数千万ゲート回路から構成されるような大規模回路のときには、動作率集計の際のシミュレーション結果のデータ量が膨大なものとなり、データ収集や処理時間が長くなって消費電力の解析に時間がかかるという問題があった。【０００８】
本発明はこのような点に鑑みてなされたものであり、消費電力の解析時間を短縮可能な消費電力解析方法を提供することを目的とする。
また、本発明の他の目的は、消費電力の解析時間を短縮可能な消費電力解析装置を提供することである。
【課題を解決するための手段】
【０００９】
本発明では上記問題を解決するために、半導体集積回路の消費電力を解析する消費電力解析方法において、図１に示すように、回路ブロックの動作モードを規定する特徴信号を有する設計回路に対し、消費電力を解析する単位解析区間ごとに前記特徴信号の動作回数を計測する第１の動作回数計測ステップ（Ｓ２）と、前記特徴信号の動作回数の計測結果をもとに、前記特徴信号によって前記動作モードが規定される回路ブロックの動作回数を計測するか否かを判定する判定ステップ（Ｓ３）と、前記判定ステップ（Ｓ３）にて、前記回路ブロックの動作回数を計測すると判定された場合のみ、前記回路ブロックの動作回数を計測する第２の動作回数計測ステップ（Ｓ４）と、を有することを特徴とする消費電力解析方法が提供される。【００１０】
上記の方法によれば、第１の動作回数計測ステップ（Ｓ２）では、回路ブロックの動作モードを規定する特徴信号を有する設計回路に対し、消費電力を解析する単位解析区間ごとに特徴信号の動作回数を計測し、判定ステップ（Ｓ３）では、特徴信号の動作回数の計測結果をもとに、特徴信号によって動作モードが規定される回路ブロックの動作回数を計測するか否かを判定し、第２の動作回数計測ステップ（Ｓ４）では、判定ステップ（Ｓ３）にて、回路ブロックの動作回数を計測すると判定された場合のみ、回路ブロックの動作回数を計測する。
【発明の効果】
【００１１】
本発明は、回路ブロックの動作モードを規定する特徴信号を有する設計回路に対し、消費電力を解析する単位解析区間ごとに特徴信号の動作回数を計測し、特徴信号の動作回数の計測結果をもとに、特徴信号によって動作モードが規定される回路ブロックの動作回数を計測するか否かを判定し、回路ブロックの動作回数を計測すると判定された場合のみ、回路ブロックの動作回数を計測するので、回路ブロックの動作回数を計測する回数を削減できる。これにより、半導体集積回路の消費電力の解析時間を削減することができる。【００１２】
本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
【図面の簡単な説明】
【００１３】
【図１】第１の実施の形態の消費電力解析方法を説明する図である。
【図２】ゲーテドクロックを用いた回路の一例を示す図である。
【図３】グループ化された設計回路の一例を示す図である。
【図４】ゲーテドクロック信号の動作回数の計測例を示す図である。
【図５】回路ブロックの動作回数の計測例を示す図である。
【図６】第２の実施の形態の消費電力解析方法を説明する図である。
【図７】エミュレータ装置の適用例を示した図である。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施の形態を図面を参照して詳細に説明する。
図１は、第１の実施の形態の消費電力解析方法を説明する図である。
第１の実施の形態の消費電力解析方法は、図１のような消費電力解析装置１ａにて実行される。消費電力解析装置１ａは、例えば、解析する設計回路の設計データを記憶したデータベース１０、設計データから回路の構成情報を抽出する回路構成情報抽出部１１、回路ブロックの動作回数を集計する動作回数集計部１２ａ、集計された動作回数をもとに消費電力を算出する消費電力算出部１３を有する。【００１５】
データベース１０は、消費電力を解析する設計回路の設計データを記憶する。解析対象の設計回路は、動作モードを規定する特徴信号を有した回路である。動作モードを規定する特徴信号には、例えば、前述したゲーテドクロックを用いる際の信号が挙げられる。【００１６】
図２は、ゲーテドクロックを用いた回路の一例を示す図である。
ゲーテドクロックは、回路ブロック２０が動作しないときに、回路ブロック２０内のレジスタ２０ａへのクロック入力を停止することで、消費電力を削減する方法である。レジスタ２０ａへのクロック入力を停止することは、そのレジスタ２０ａに接続された組合せ回路２０ｂが動作しないことを意味する。図２の例では、ＡＮＤ回路２１の一方に入力されるクロックのレジスタ２０ａへの送出を、制御信号（以下ゲーテドクロック信号という。）により制御する構成としている。ここでは、ゲーテドクロック信号がＨ（High）レベルのときには、クロックがレジスタ２０ａに入力され、Ｌ（Low）レベルのときには、クロックのレジスタ２０ａへの入力が停止される。【００１７】
図１に戻り、回路構成情報抽出部１１は、特徴信号の抽出や特徴信号により動作モードが規定される回路ブロックの抽出を行う。
動作回数集計部１２ａは、論理シミュレーションにより、回路ブロックの動作回数を計測する機能を有するが、第１の実施の形態の消費電力解析方法では、消費電力を解析する単位解析区間ごとの回路ブロックの動作回数を計測する前に、その解析区間における特徴信号の動作回数を計測することを特徴としている。そして、計測結果をもとに、その特徴信号によって動作モードが規定される回路ブロックの動作回数を計測するか否かを判定し、計測すると判定された場合のみ、その回路ブロックの動作回数を計測する。なお、動作回数とは、特徴信号または回路ブロック内の各ゲート回路などの信号波形において、ＬレベルからＨレベルまたはＨレベルからＬレベルに変化した回数である。【００１８】
消費電力算出部１３は、消費電力の単位解析区間ごとの回路ブロックの動作回数（動作率という場合もある。）をもとに、消費電力を回路ブロック内の各ゲート回路の負荷容量などを参照して算出する。【００１９】
上記のような消費電力解析装置１ａは、例えば、コンピュータにより実現される。その場合、図示しない記憶媒体に記憶されたプログラムを図示しないＣＰＵ（Central Processing Unit）が実行することによって、上記の回路構成情報抽出部１１、動作回数集計部１２ａ、消費電力算出部１３で行われる処理が実現される。データベース１０は、例えば、ハードディスクである。また、データベース１０は、ネットワークを介してコンピュータに接続する他のコンピュータであってもよい。【００２０】
なお、データベース１０以外の一部または全てをＬＳＩに集積化するようにしてもよい。
以下、上記のような消費電力解析装置１ａの動作を説明するとともに、第１の実施の形態の消費電力解析方法を具体的に説明する。なお、以下では、特徴信号として図２で示したようなゲーテドクロック信号を用いた場合について説明する。【００２１】
データベース１０より設計回路の設計データが回路構成情報抽出部１１に入力されると、回路構成情報抽出部１１は、ゲーテドクロック信号の抽出を行うとともに、そのゲーテドクロック信号によってクロックの入力が制御されるレジスタ及びそのレジスタに接続された、組合せ回路のグループ化を行う。【００２２】
図３は、グループ化された設計回路の一例を示す図である。
例えば、ゲーテドクロック信号を用いず、基本クロックが直接入力されるレジスタグループ２２＿１と、異なるゲーテドクロック信号により基本クロックの入力または停止が決まるレジスタグループ２２＿２、…、２２＿ｎごとにグループ化される。異なるゲーテドクロック信号により基本クロックの入力を制御するゲーテドクロック部２３＿１、…、２３＿ｎ−１は、例えば前述した図２のようにＡＮＤ回路にて構成される。各レジスタグループ２２＿１、２２＿２、…、２２＿ｎに接続された組合せ回路２４＿１、２４＿２、…、２４＿ｎもグループ化される。【００２３】
このようにグループ化された回路構成情報は、設計データとともに動作回数集計部１２ａに入力される。
第１の実施の形態の消費電力解析方法において、動作回数集計部１２ａは、消費電力を解析する単位解析区間ごとに、論理シミュレーションを実行する（ステップＳ１）。【００２４】
なお、論理シミュレーションの単位時間はクロックサイクルによって決まり、クロックサイクルが５００ＭＨｚの場合、２ナノ秒が単位時間となる。アプリケーション実行時の消費電力を解析する単位時間は、一般的に論理シミュレーションの単位時間と大きく異なる。例えば、１／３０秒で１画面を処理するテレビ画像の表示処理を行うような場合の消費電力を解析する際、１画面処理を１／１００の精度で解析するように指定した場合、１／３０００秒＝約３００マイクロ秒が単位時間となる。その場合、クロックサイクルが５００ＭＨｚとすると、１５０，０００クロック区間を単位解析区間とする。【００２５】
単位解析区間の論理シミュレーションの結果より、あるゲーテドクロック信号の動作回数を計測する（ステップＳ２）。
図４は、ゲーテドクロック信号の動作回数の計測例を示す図である。【００２６】
ステップＳ２の処理により、単位解析区間ごとのゲーテドクロック信号の動作回数の計測値が得られる。
その後、ゲーテドクロック信号の動作回数の計測結果をもとに、そのゲーテドクロック信号で動作モードを規定される回路ブロック（前述のグループ化されたレジスタ及び組合せ回路）の動作回数を計測するか否かを判定する（ステップＳ３）。この判定方式には例えば以下のようなものがある。【００２７】
１．前の単位解析区間でのゲーテドクロック信号の動作回数と、今回の単位解析区間での動作回数（動作率）の差が所定値以上であれば、回路ブロックの動作回数を計測し、所定値以下であれば回路ブロックの動作回数を計測しない。【００２８】
２．ゲーテドクロック信号の動作率が一定の動作率以下の場合、動作率は測定しない。その場合、測定しない部分の動作率は０にするか、ゲーテドクロック信号の動作率に所定の係数をかけた値にする。【００２９】
３．上記１、２の方式において、１解析区間前のゲーテドクロック信号の動作回数の情報をもとに、現在の単位解析区間における回路ブロックの動作回数を計測するか否かを判定する。上記１、２の方式ではゲーテドクロック信号の動作回数を計測するための論理シミュレーションと、回路ブロックの動作回数を計測するための論理シミュレーションの２回必要であるが、この方式では精度は落ちるが、論理シミュレーションが１回で済む。【００３０】
ステップＳ３の判定の結果、回路ブロックの動作回数を計測すると判定された場合、論理シミュレーションにより、回路ブロックの動作回数を計測する（ステップＳ４）。
図５は、回路ブロックの動作回数の計測例を示す図である。【００３１】
図５では、図４で示したゲーテドクロック信号の動作回数の計測結果をもとに、ステップＳ３の判定処理において１番目の方式を用いた場合に得られる回路ブロックの動作回数の計測例を示している。図５中の矢印は、回路ブロックの動作回数を計測する単位解析区間を示している。図４において、解析区間１〜２、２〜３において計測されたゲーテドクロック信号の動作回数の差は大きいので、そのゲーテドクロック信号で動作モードが規定される回路ブロックの動作回数も大きく異なる可能性がある。そのため、図５に示すように、解析区間１、２、３では、論理シミュレーションにより回路ブロックの動作回数を計測する。一方、図４において、解析区間３〜８では計測されたゲーテドクロック信号の動作回数の差は小さい。よって解析区間４〜８では、回路ブロックの動作回数は解析区間３のものとほぼ同一であるとし、図５に示すように、動作回数の計測を行わない。以下の解析区間についても同様に処理することで、回路ブロックの動作回数を計測する回数を削減することができる。
【００３２】
ステップＳ４の処理で計測された回路ブロックの動作回数は、消費電力算出部１３に入力され、その現在の単位解析区間における消費電力が算出される。
なお、図３のように異なる複数のゲーテドクロック部２３＿１〜２３＿ｎ−１によって動作モードが規定される回路ブロック（レジスタグループ２２＿２〜２２＿ｎ、組合せ回路２４＿２〜２４＿ｎ）がある場合には、各単位解析区間において、それぞれの回路ブロックに対してステップＳ１〜Ｓ４の処理が行われる。ゲーテドクロック信号を用いない回路ブロック（レジスタグループ２２＿１、組合せ回路２４＿１）に対しては、従来通り、全ての単位解析区間において動作回数を計測する。【００３３】
ステップＳ３の処理で、回路ブロックの動作回数を計測しないと判定された場合及び、ステップＳ４の処理の後、消費電力の解析処理が全解析区間について終了したか否かの判定を行う（ステップＳ５）。ここで、全ての解析区間についての消費電力の解析処理が終了していれば終了し、未処理の解析区間が残っている場合には次の単位解析区間の処理を行うためにステップＳ１からの処理を繰り返す。【００３４】
以上のように、第１の実施の形態の消費電力解析方法によれば、消費電力を算出するのに必要な回路ブロックの動作回数を計測する回数を削減できるので、消費電力の解析にかかる時間を削減することができる。また、動作回数を計測する際に記憶する論理シミュレーション結果のデータ量も削減できる。【００３５】
次に第２の実施の形態の消費電力解析方法を説明する。
図６は、第２の実施の形態の消費電力解析方法を説明する図である。
図１で示した第１の実施の形態の消費電力解析方法を説明する図と同一の構成要素については同一符号とし、説明を省略する。【００３６】
第２の実施の形態の消費電力解析方法は、図６のような消費電力解析装置１ｂにて実行される。消費電力解析装置１ｂの動作回数集計部１２ｂは、第１の実施の形態の消費電力解析装置１ａの動作回数集計部１２ａと異なり、以下のような処理を行う。【００３７】
第２の実施の形態の消費電力解析方法において、動作回数集計部１２ｂは、論理シミュレーションにより、全解析区間の特徴信号（ゲーテドクロック信号）の動作回数を計測する（ステップＳ１０）。そして、その計測結果より、回路ブロックの動作回数を計測する必要のある解析区間を判定する（ステップＳ１１）。【００３８】
このステップＳ１１の処理では、前述した判定方式の１、２を適用可能である。また、集計したゲーテドクロック信号の動作率が指定割合（例えば、上位８０％）以下となる解析区間では、回路ブロックの動作回数を計測しない、という判定を適用してもよい。【００３９】
そして、計測が必要であると判定された解析区間において、論理シミュレーションによって回路ブロックの動作回数を計測する（ステップＳ１２）。
以上のような第２の実施の形態の消費電力解析方法によれば、全解析区間のゲーテドクロック信号の動作回数を保持する必要があるためデータ量が増えるが、回路ブロックの動作回数を計測するか否かを、全解析区間のゲーテドクロック信号の動作回数を参照して全体の精度などを考慮して決定することができるという利点がある。【００４０】
なお、第１及び第２の実施の形態の消費電力解析方法において、特徴信号の動作回数または回路ブロックの動作回数を計測するための論理シミュレーションを高速化するために、エミュレータ装置を用いることが望ましい。【００４１】
図７は、エミュレータ装置の適用例を示した図である。
前述した消費電力解析処理を行うコンピュータであるホスト計算機２５は、設計回路の設計データをエミュレータ装置２６に送信することで、論理シミュレーションを実行させる。【００４２】
ところで、一般のエミュレータ装置を使った消費電力解析には、被測定回路に、ノードの動作回数を計数する付加回路を加える方法がある（例えば、特許文献３、４参照。）。しかし、この場合、計数回路は１ノードごとに付加するので、回路規模が数十倍になってしまう。また、エミュレータ装置は、被測定回路の結果を波形データで出力することができるが、データのダンプにかかる時間が膨大になる。【００４３】
そこで、本実施の形態におけるエミュレータ装置２６は、特徴信号の動作回数の計測の際には計数回路を用いて計測し、回路ブロックの動作回数の計測については、波形データの出力を用い、エミュレーション結果をホスト計算機２５に送出する。ホスト計算機２５は、波形データをもとに、回路ブロックの動作回数を計測する。【００４４】
これにより、常に測定する特徴信号の動作回数の計測は、高速な計数回路により行え、間欠的な計測を行う回路ブロックの計測については、低速な波形データ出力により行えるので、実行速度と回路規模の増加のトレードオフが最適なものになる。【００４５】
なお、上記の説明では、特徴信号としてゲーテドクロック信号を用いた場合について説明したが、これに限定されない。例えば、回路ブロックを動作するためのイネーブル信号、回路ブロックから入出力バスへのリードリクエスト信号またはライトリクエスト信号、メモリへのアクセスリクエスト信号などの外部インターフェース信号を特徴信号として用いてもよい。【００４６】
上記については単に本発明の原理を示すものである。さらに、多数の変形、変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応するすべての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
【符号の説明】
【００４７】
１ａ  消費電力解析装置
１０  データベース
１１  回路構成情報抽出部
１２ａ  動作回数集計部
１３  消費電力算出部
【図１】
0004667466.tif 000002
【図２】
0004667466.tif 000003
【図３】
0004667466.tif 000004
【図４】
0004667466.tif 000005
【図５】
0004667466.tif 000006
【図６】
0004667466.tif 000007
【図７】
0004667466.tif 000008