(57)【要約】 本発明の一実施例では、サイクルベースでの解析においてグリッチの発生を考慮した集積回路の消費電力算出方法を提供することを目的とする。 集積回路に含まれる回路の内部構成を表す回路情報と該回路間の接続を表す回路間接続情報に基づいて消費電力を算出する方法は、該回路間の伝播遅延をゼロとして論理解析し、該回路の入力信号および出力信号の遷移情報を求めるステップと、該回路の論理モデル情報に基づき、該回路への入力信号の遷移パターンの中から、該回路の出力信号にグリッチが発生する遷移パターンを抽出するステップと、該求めた遷移情報のうち、該抽出した遷移パターンを入力とする該回路の出力の遷移情報にグリッチの発生を反映するステップと、グリッチの発生が反映された信号の遷移情報から該集積回路の消費電力を求めるステップとをコンピュータに実行させる。
2011074044.tif 000002
【特許請求の範囲】
【請求項１】
集積回路に含まれる回路の内部構成を表す回路情報と該回路間の接続を表す回路間接続情報に基づいて該集積回路の消費電力を算出する集積回路の消費電力算出方法であって、
該集積回路への入力信号パターンを含む入力パターン情報と、該回路間接続情報と、該回路の論理モデル情報から、該回路間の伝播遅延をゼロとして論理解析し、該回路の入力信号および出力信号の遷移情報を求めるステップと、
該回路の論理モデル情報に基づき、該回路への入力信号の遷移パターンの中から、該回路の出力信号にグリッチが発生する遷移パターンを抽出するステップと、
該求めた遷移情報のうち、該抽出した遷移パターンを入力とする該回路の出力の遷移情報にグリッチの発生を反映するステップと、
グリッチの発生が反映された信号の遷移情報から該集積回路の消費電力を求めるステップと
をコンピュータに実行させることを特徴とする集積回路の消費電力算出方法。
【請求項２】
該集積回路の消費電力算出方法はさらに、
グリッチを発生させた該回路の出力信号の論理値と該回路の入力信号の論理値との関係が、該回路の論理と整合しないことを抽出した場合に、該回路の出力信号を固定した状態で該回路の入力信号の論理値を該回路の論理と整合するように書き換えるステップを該コンピュータに実行させることを特徴とする、請求項１に記載の集積回路の消費電力算出方法。
【請求項３】
該集積回路の消費電力計算方法はさらに、
該回路から出力されたグリッチを含む出力信号を受信する受信回路が、該受信したグリッチを出力に反映させる場合の該受信回路の入力信号の論理値をグリッチ伝播条件として生成するステップと、
生成した該グリッチ伝播条件に基づいて、グリッチが該受信回路の出力に伝播するか否かを判定するステップと、
グリッチが該回路から該受信回路へ伝播する場合に該受信回路の出力にグリッチを反映させるステップと
を該コンピュータに実行させることを特徴とする、請求項１に記載の集積回路の消費電力算出方法。
【請求項４】
該集積回路の消費電力計算方法はさらに、
該回路の入力信号のうち２つの入力信号の論理値を同時に遷移させた場合に、該回路の出力信号の論理値が変化しない入力信号を選択するステップと、
選択した該回路の２つの入力信号の論理値の一方のみを遷移させて、該回路の出力信号の論理値が変化するパターンをグリッチが発生する遷移パターンとして抽出するステップを該コンピュータに実行させることを特徴とする、請求項１に記載の集積回路の消費電力算出方法。
【請求項５】
集積回路に含まれる回路の内部構成を表す回路情報と該回路間の接続を表す回路間接続情報に基づいて該集積回路の消費電力を算出する集積回路の消費電力算出プログラムであって、
該集積回路への入力信号パターンを含む入力パターン情報と、該回路間接続情報と、該回路の論理モデル情報から、該回路間の伝播遅延をゼロとして論理解析し、該回路の入力信号および出力信号の遷移情報を求めるステップと、
該回路の論理モデル情報に基づき、該回路への入力信号の遷移パターンの中から、該回路の出力信号にグリッチが発生する遷移パターンを抽出するステップと、
該求めた遷移情報のうち、該抽出した遷移パターンを入力とする該回路の出力の遷移情報にグリッチの発生を反映するステップと、
グリッチの発生が反映された信号の遷移情報から該集積回路の消費電力を求めるステップと
をコンピュータに実行させることを特徴とする集積回路の消費電力算出プログラム。
【請求項６】
該集積回路の消費電力算出プログラムはさらに、
グリッチを発生させた該回路の出力信号の論理値と該回路の入力信号の論理値との関係が、該回路の論理と整合しないことを抽出した場合に、該回路の出力信号を固定した状態で該回路の入力信号の論理値を該回路の論理と整合するように書き換えるステップを該コンピュータに実行させることを特徴とする、請求項５に記載の集積回路の消費電力算出プログラム。
【請求項７】
該集積回路の消費電力計算プログラムはさらに、
該回路から出力されたグリッチを含む出力信号を受信する受信回路が、該受信したグリッチを出力に反映させる場合の該受信回路の入力信号の論理値をグリッチ伝播条件として生成するステップと、
生成した該グリッチ伝播条件に基づいて、グリッチが該受信回路の出力に伝播するか否かを判定するステップと、
グリッチが該回路から該受信回路へ伝播する場合に該受信回路の出力にグリッチを反映させるステップと
を該コンピュータに実行させることを特徴とする、請求項５に記載の集積回路の消費電力算出プログラム。
【請求項８】
該集積回路の消費電力計算プログラムはさらに、
該回路の入力信号のうち２つの入力信号の論理値を同時に遷移させた場合に、該回路の出力信号の論理値が変化しない入力信号を選択するステップと、
選択した該回路の２つの入力信号の論理値の一方のみを遷移させて、該回路の出力信号の論理値が変化するパターンをグリッチが発生する遷移パターンとして抽出するステップと
を該コンピュータに実行させることを特徴とする、請求項５に記載の集積回路の消費電力算出プログラム。
【請求項９】
集積回路に含まれる回路の内部構成を表す回路情報と該回路間の接続を表す回路間接続情報とに基づいて該集積回路の消費電力を算出する集積回路の消費電力算出装置であって、
該集積回路への入力信号パターンを含む入力パターン情報と該回路間接続情報と該回路の等価回路を含む論理モデル情報を記憶する記憶部と、
該入力パターン情報と該論理モデル情報から該各回路間の伝播遅延をゼロとして論理解析することにより該回路間を伝播する信号の遷移情報を求め、該回路の論理モデル情報に基づき該回路への入力信号の遷移パターンの中から該回路の出力信号にグリッチが発生する遷移パターンを抽出し、該求めた遷移情報のうち該抽出した遷移パターンを有する遷移情報にグリッチの発生を反映させ、グリッチの発生が反映された信号の遷移情報から該集積回路の消費電力を求める制御部と
を有することを特徴とする集積回路の消費電力算出装置。
【請求項１０】
該制御部はさらに、グリッチを発生させた該回路の出力信号の論理値と該回路の入力信号の論理値との関係が、該回路の該等価回路の論理と整合しないことを抽出した場合に、該回路の出力信号を固定した状態で該回路の入力信号の論理値を該回路の論理と整合するように書き換えることを特徴とする、請求項９に記載の集積回路の消費電力算出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、集積回路の消費電力算出方法、消費電力算出プログラム及び消費電力算出装置に関する。
【背景技術】
【０００２】
ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）などの集積回路の大規模化に伴い、集積回路の消費電力が大きくなっている。集積回路の消費電力が大きくなるほど、集積回路内部の各回路に供給される電圧レベルが不安定になる。集積回路内部での電圧レベルの不安定な状態は、集積回路の誤動作の原因となる。このため、集積回路の消費電力を回路データ及び設計条件から算出し、算出した消費電力に応じて内部回路へ安定した電源が供給できるように集積回路を設計することが不可欠となっている。【０００３】
設計時に集積回路の消費電力を解析する手法としてイベントドリブンによる解析手法がある。イベントドリブンによる解析手法は、集積回路を構成する複数のセルをそれぞれトランジスタレベルでモデル化して消費電力を解析するものである。セルは集積回路を構成する回路ブロックとしての回路マクロである。セルをスイッチング動作の最小単位の素子であるトランジスタレベルでモデル化することにより、各セルにおける入出力信号のタイミングの遅延および消費電力の時間的変化をより正確に計算することが出来る。さらに集積回路への入力信号の条件を、実際の回路動作時の入力信号に近い条件とすることにより、より実動作に近い状態で集積回路の消費電力を解析することが出来る。【０００４】
集積回路の消費電力は常に一定ではなく、集積回路を構成する各セルの動作条件や各トランジスタの動作率により変動する。このため、集積回路の最大消費電力をより正確に解析するには、様々な動作パターンが出現するまでの間、集積回路を解析し続ける必要がある。さらに、各セルをトランジスタレベルで解析しようとすると、集積回路全体のモデル規模は非常に大きくなり、その計算時間は非常に長くなる。【０００５】
上記のイベントドリブンでの手法に対し、サイクルベースでの解析手法がある。サイクルベースでの解析手法は、セルにおける入出力信号のタイミングの遅延をゼロと仮定して解析するものである。セルにおける遅延時間をゼロと仮定することにより信号状態の変化タイミングがクロックサイクルで１回のみとなる。このため、１回のクロックサイクルで集積回路の最大消費電力を解析することが可能になる。【０００６】
一方、セルでのタイミングの遅延をゼロと仮定することにより、グリッチの発生による消費電力の増加を考慮できなくなる。グリッチは１つのセルに対する複数の入力信号の到着タイミングのずれ（スキュー）により発生する。サイクルベースでの解析ではセルでの遅延時間をゼロとするため、現実には発生するはずのグリッチが考慮されない。【０００７】
以下の特許文献にはグリッチの発生を考慮した集積回路の消費電力算出に関する技術が開示されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００１−４６７５号公報
【特許文献２】特開２００１−２６５８４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本発明の一実施例では、サイクルベースでの解析においてグリッチの発生を考慮した集積回路の消費電力算出方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するため、集積回路に含まれる回路の内部構成を表す回路情報と該回路間の接続を表す回路間接続情報に基づいて該集積回路の消費電力を算出する集積回路の消費電力算出方法は、該集積回路への入力信号パターンを含む入力パターン情報と、該回路間接続情報と、該回路の論理モデル情報から、該回路間の伝播遅延をゼロとして論理解析し、該回路の入力信号および出力信号の遷移情報を求めるステップと、該回路の論理モデル情報に基づき、該回路への入力信号の遷移パターンの中から、該回路の出力信号にグリッチが発生する遷移パターンを抽出するステップと、該求めた遷移情報のうち、該抽出した遷移パターンを入力とする該回路の出力の遷移情報にグリッチの発生を反映するステップと、グリッチの発生が反映された信号の遷移情報から該集積回路の消費電力を求めるステップとをコンピュータに実行させることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、サイクルベースでの解析においてグリッチの発生を考慮した集積回路の消費電力算出方法を提供することが出来る。
【図面の簡単な説明】
【００１２】
【図１】消費電力算出フローの全体図である。
【図２】消費電力算出を実行する消費電力算出装置のブロック図である。
【図３】Ａは消費電力算出対象の回路図である。Ｂはイベントドリブンでの解析結果である。Ｃはサイクルベースでの解析結果である。
【図４】グリッチ発生条件を生成する処理のフローチャート図である。
【図５】グリッチ発生条件の定義図である。
【図６】遷移情報を変換する処理のフローチャート図である。
【図７】遷移情報変換処理前後の遷移パターン図である。
【図８】セル電力情報の定義図である。
【図９】セル間配線情報の定義図である。
【図１０】遷移情報を変換する処理のフローチャート図である。
【図１１】遷移情報変換処理前後の遷移パターン図である。
【図１２】消費電力算出対象の回路図である。
【図１３】グリッチ伝播条件を生成する処理のフローチャート図である。
【図１４】グリッチ発生条件の定義図である。
【図１５】遷移情報を変換する処理のフローチャート図である。
【図１６】遷移情報変換処理前後の遷移パターン図である。
【発明を実施するための形態】
【００１３】
以下、実施形態の例について説明する。なお、各実施形態における構成の組み合わせも消費電力算出装置、消費電力算出方法および消費電力算出プログラムの実施形態に含まれる。
【００１４】
図１は実施の形態に係る消費電力算出フローの全体図である。図１の消費電力算出フローは入力パターン情報１１、集積回路ネットリスト情報１０およびセル内部のネットリスト情報１９に基づいて集積回路の消費電力を計算する処理フローを示す。消費電力算出フローは後述する消費電力算出装置７０によって実行される。ネットリスト情報は内部回路間セル間などの結線情報を表す回路間接続情報である。
【００１５】
集積回路ネットリスト情報１０はセルの構成を表すセル情報とセル間の接続を表す接続情報を含む。セルは集積回路を構成する回路マクロとしての回路ブロックである。入力パターン情報１１は集積回路への入力信号パターンを表す。セルの論理モデル情報１２は集積回路ネットリスト情報１０に記述されている各セルの入出力論理の接続関係を表す。セル内部のネットリスト情報１９は、各セルのトランジスタレベルでのモデルを定義する。
【００１６】
論理解析ステップ１３において、消費電力算出装置７０はサイクルベースでの集積回路の論理解析を実行する。論理解析ステップ１３において消費電力算出装置７０は、集積回路ネットリスト情報１０、入力パターン情報１１、セルの論理モデル情報１２から、集積回路内のセル間の伝播遅延をゼロと仮定して論理シミュレーションを行うことにより、集積回路を構成する各セルの、入出力信号の遷移情報１４を求める。遷移情報とは、回路の入力信号および出力信号の論理値がどのタイミングでどのように遷移するかを示した情報である。
【００１７】
グリッチ発生条件生成ステップ１５において消費電力算出装置７０は、各セルの論理モデル情報１２の入出力信号の論理関係に基づいてグリッチ発生条件を生成する。グリッチ発生条件は、セル出力にグリッチが発生する場合のセルの入力信号の遷移パターンである。グリッチ発生条件生成ステップ１５において消費電力算出装置７０は、セルの論理モデル情報１２を入力としてグリッチ発生条件１６を生成し、生成したグリッチ発生条件１６を出力する。グリッチ発生条件１６は消費電力の計算前にあらかじめ生成しておいても良い。グリッチ発生条件生成ステップ１５についての詳細は後述する。
【００１８】
遷移情報変換ステップ１７は、生成したグリッチ発生条件１６が集積回路を構成するセルへの入力信号の遷移情報１４の中に存在することを抽出する遷移パターン抽出ステップ６０を有する。さらに、遷移情報変換ステップ１７は、検出した遷移情報１４に対応するセルの出力信号にグリッチを発生させるグリッチ挿入ステップ６１を有する。本実施例においてグリッチとは半周期ごとに論理値が変化するステップ信号をいう。遷移情報変換ステップ１７において消費電力算出装置７０は、セル出力にグリッチが挿入された遷移情報１８を出力する。
【００１９】
セル電力計算ステップ２０において消費電力算出装置７０は、ＳＰＩＣＥ（Ｓｉｍｕｌａｔｉｏｎ  Ｐｒｏｇｒａｍ  ｗｉｔｈ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ  Ｅｍｐｈａｓｉｓ）などの回路解析シミュレーション手法を用いてトランジスタレベルでの回路解析を実行する。セル電力計算ステップ２０において消費電力算出装置７０は、セル内部のネットリスト情報１９を入力として処理する。セル電力計算ステップ２０において消費電力算出装置７０は、セルが動作した場合のセル電力情報２１を出力する。
【００２０】
集積回路配置配線ステップ２２において消費電力算出装置７０は、セル間を接続する配線の長さや配線幅などの配線条件を等価回路に変換する。集積回路配置配線ステップ２２において消費電力算出装置７０は、セル間を接続する配線の配線条件に基づいてセル間の配線を容量値に置換する。集積回路配置配線ステップ２２において消費電力算出装置７０は、容量値に置換した配線情報をセル間配線情報２３として出力する。
【００２１】
消費電力算出ステップ２４において消費電力算出装置７０は、集積回路の消費電力を算出する。消費電力算出ステップ２４において消費電力算出装置７０は、グリッチの発生反映後の遷移情報１８、個々のセル電力情報２１、セル間配線情報２３から集積回路の消費電力を計算する。
【００２２】
以上の通り消費電力算出装置７０は、サイクルベースでの解析において、セルの論理モデルからグリッチ発生条件を生成し、遷移情報にグリッチの発生を反映することにより、グリッチの発生を考慮した集積回路の消費電力を効率よく計算することが出来る。
【００２３】
図２は集積回路の消費電力を算出する消費電力算出装置７０のブロック図である。消費電力算出装置７０はメモリ５０、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｃｅｓｓｉｎｇ  Ｕｎｉｔ）５１、入出力インターフェイス５２、ディスプレイ５３、キーボード５４、記憶部５５を有する。記憶部５５は例えばＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）５５である。
【００２４】
ＣＰＵ５１は集積回路の消費電力算出に必要な処理を実行する制御部である。メモリ５０は、ＣＰＵ５１で実行されるプログラムの記憶、またはＣＰＵ５１で算出した集積回路消費電力算出結果の記憶などを行う。
【００２５】
ディスプレイ５３は集積回路消費電力算出に必要なパラメータの入力画面、集積回路消費電力算出結果などを画面に表示する。キーボード５４は、集積回路消費電力算出に必要なパラメータの入力などを行う。
【００２６】
記憶部５５は本施例に係る集積回路の消費電力算出のための、論理解析ステップ１３、グリッチ発生条件生成ステップ１５、セル電力計算ステップ２０、遷移情報変換ステップ１７、集積回路配置配線ステップ２２、消費電力算出ステップ２４をＣＰＵ５１に実行させるプログラムを記憶する。また記憶部５５は、各プログラムの入出力データである集積回路ネットリスト情報１０、入力パターン情報１１、セルの論理モデル情報１２、セル内部のネットリスト情報１９、遷移情報１４、遷移情報１８、グリッチ発生条件１６、セル電力情報２１、セル間配線情報２３を記憶する。集積回路ネットリスト情報１０、入力パターン情報１１、セルの論理モデル情報１２、セル内部のネットリスト情報１９、遷移情報１４、遷移情報１８、グリッチ発生条件１６、セル電力情報２１、セル間配線情報２３はそれぞれの情報が記載されたファイルであってもよい。
【００２７】
また、本実施例に係る集積回路消費電力算出を実現する論理解析ステップ１３、グリッチ発生条件生成ステップ１５、セル電力計算ステップ２０、遷移情報変換ステップ１７、集積回路配置配線ステップ２２、消費電力算出ステップ２４は、プログラムとしてコンピュータに実行させたり、コンピュータで読み取り可能な記憶媒体に記憶させることが出来る。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、半導体メモリなどがある。
【００２８】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記憶媒体を用いる。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【００２９】
入出力インターフェイス５２は、ＣＰＵ５１とディスプレイ５３、キーボード５４、および記憶部５５とのデータの送受信を制御する。ディスプレイ５３は、ＣＰＵ５１で算出した集積回路消費電力の算出結果を入出力インターフェイス５２経由で受信し、画面に表示する。キーボード５４は、ユーザーが入力した集積回路消費電力の算出に必要な計算条件を入出力インターフェイス５２経由でＣＰＵ５１に送信する。メモリ５０は、記憶部５５に格納された集積回路消費電力の算出に用いられるプログラムを入出力インターフェイス５２経由で受信し、記憶する。ＣＰＵ５１は、メモリ５０に記憶されたプログラムを読み出して集積回路の消費電力の算出処理を実行する。メモリ５０はＣＰＵ５１が算出した集積回路の消費電力の算出結果を記憶する。メモリ５０は記憶した集積回路の消費電力の算出結果を入出力インターフェイス５２経由で記憶部５５に出力する。
【００３０】
以上の通り、本実施例に係る集積回路消費電力算出は、消費電力算出装置７０を用いて実行することが出来る。
【００３１】
図３は消費電力算出の対象となる回路の回路図およびその動作波形図である。図３のＡは消費電力算出対象の回路図の一例である。Ｂはイベントドリブンでの解析結果である。Ｃはサイクルベースでの解析結果である。
【００３２】
図３のＡの集積回路１は、ラッチセル２、３、ＮＯＴ（否定論理）セル（インバータセル）４、５、ＮＡＮＤセルＮ１を有する。ラッチセル２、３は、クロック信号ＣＬＫのタイミングで入力された信号を保持して出力する。ＮＡＮＤ（否定的論理積）セルＮ１の入力端子Ａ１は、ラッチセル２から出力され、配線Ｌ１を伝播した信号を受信する。ＮＡＮＤセルＮ１の入力端子Ａ２は、ラッチセル３から出力され、ＮＯＴセル４、５を経由し、配線Ｌ２を伝播した信号を受信する。ＮＡＮＤセルＮ１は、入力端子Ａ１、Ａ２に受信した入力信号の論理に応じて、端子Ｘから出力信号を出力する。ＮＡＮＤセルＮ１の出力信号は、配線Ｌ３を伝播する。
【００３３】
図３のＢは図３のＡの集積回路１をイベントドリブンで解析した場合の解析結果波形である。図３のＢにおいてＣＬＫはラッチセル２、３に入力されるＣＬＫ信号の波形を表す。Ａ１はＮＡＮＤ回路Ｎ１の入力端子Ａ１に入力される波形を表す。Ａ２はＮＡＮＤ回路Ｎ１の入力端子Ａ２に入力される波形を表す。ＸはＮＡＮＤ回路Ｎ１の出力端子Ｘから出力される波形を表す。
【００３４】
図３のＢにおいて、波形Ｘには波形６の通りグリッチが発生している。これは、ＮＯＴ回路４、５による遅延の影響により、ＣＬＫのタイミングでラッチセル２、３から出力された信号が入力端子Ａ１、Ａ２に入力されるまでの時間が異なるためである。イベントドリブンの解析では図３のＢの通り素子による伝播遅延が考慮されるため、グリッチの発生を考慮した解析が可能となる。
【００３５】
図３のＣは図３のＡの集積回路１をサイクルベースで解析した場合の解析結果波形である。図３のＣにおいてＣＬＫはラッチセル２、３に入力されるＣＬＫ信号の波形を表す。Ａ１はＮＡＮＤ回路Ｎ１の入力端子Ａ１に入力される波形を表す。Ａ２はＮＡＮＤ回路Ｎ１の入力端子Ａ２に入力される波形を表す。ＸはＮＡＮＤ回路Ｎ１の出力端子Ｘから出力される波形を表す。
【００３６】
図３のＢにおいて波形Ｘに発生していた波形６のグリッチは、図３のＣにおいて波形７の通り生じていない。グリッチが発生しない理由は、サイクルベースで解析した場合にはＮＯＴ回路４、５による遅延の影響が考慮されないためである。
【００３７】
図３のＡの回路図と図１の消費電力算出処理フローとの関係は以下の通りである。セルの論理モデル情報１２は、ラッチセル２、３、ＮＯＴセル４、５、ＮＡＮＤセルＮ１の各セルの論理モデルを定義する。セル内部のネットリスト情報１９は、ラッチセル２、３、ＮＯＴセル４、５、ＮＡＮＤセルＮ１のトランジスタレベルでの詳細なモデルを定義する。入力パターン情報１１は、ラッチセル２、３に入力されるクロックＣＬＫのパターンを定義する。
【００３８】
集積回路ネットリスト情報１０は、ラッチセル２、３、ＮＯＴセル４、５、ＮＡＮＤセルＮ１の接続関係を定義する。セル間配線情報２３は、配線Ｌ１、Ｌ２、Ｌ３の配線条件から算出されたセル間の配線の容量値を定義する。
【００３９】
以上の情報に基づいて、図３の回路について図１に示すサイクルベースでの解析を実行することにより、グリッチの発生を考慮した集積回路の消費電力を効率よく計算することが出来る。
【００４０】
図４は、セルの論理モデル情報１２からグリッチ発生条件１６を生成するグリッチ発生条件生成ステップ１５の処理フローチャート図である。
【００４１】
グリッチ発生条件生成ステップ１５において、ＣＰＵ５１はセルの論理モデル情報１２のうち、集積回路ネットリスト情報１０に記述されているセルの論理モデルを参照し読み出す。つまりＣＰＵ５１はグリッチ発生条件判別対象のセルを選択する（Ｓ１）。グリッチ発生条件生成ステップ１５において、ＣＰＵ５１は読み出したセルがラッチセルなどの順序回路か否かを判定する。読み出したセルが順序回路であれば（Ｓ２、ＹＥＳ）、出力信号の遷移タイミングはクロック信号に同期するため、グリッチが発生することはない。よってＣＰＵ５１は次のセルの読み出し処理を行う（Ｓ１１）。一方、読み出したセルが順序回路でない場合（Ｓ２、ＮＯ）、グリッチ発生条件生成ステップ１５においてＣＰＵ５１は、読み出したセルに入力する複数の入力信号のうち、２つの入力信号を選択する（Ｓ３）。
【００４２】
なお、本実施例においてはネットリストに登録されているセルを対象としてグリッチ発生条件を生成しているが、ネットリストとは無関係に、論理モデル情報１２に登録されているセルについて、グリッチ発生条件を解析前に生成しても良い。
【００４３】
グリッチ発生条件生成ステップ１５において、ＣＰＵ５１はセルの複数の入力信号のうち、選択していない他の入力信号の論理値を固定する（Ｓ４）。固定する論理値は、選択した２つの入力信号の論理値に応じた信号出力を妨げない値とする。
【００４４】
グリッチ発生条件生成ステップ１５において、ＣＰＵ５１は選択した２つの信号の論理値を同時に遷移させ（Ｓ５）、セルからの出力信号の論理値をチェックする。すなわちＣＰＵ５１は入力信号の論理値が同時変化しても出力信号の論理値が変化しないケースを抽出する。出力信号の論理値が変化した場合（Ｓ６、ＹＥＳ）、グリッチは発生しないと判定され、他の２つ入力信号の組み合わせでＳ３以下の処理が行われる（Ｓ１０）。一方、出力信号の論理値が変化しない場合（Ｓ６、ＮＯ）、グリッチ発生条件生成ステップ１５においてＣＰＵ５１は、選択した入力信号のうち一方の入力信号の論理を固定し、他方の入力信号の論理を遷移させる（Ｓ７）。他方の入力信号の論理を遷移させた結果、セルの出力論理が変化した場合（Ｓ８、ＹＥＳ）、グリッチ発生条件生成ステップ１５において、ＣＰＵ５１はその時のセルの入力信号の入力条件をグリッチ発生条件１６として出力する（Ｓ９）。一方、セル出力の論理値に変化がなかった場合、ＣＰＵ５１はグリッチが発生しないと判定し、入力信号の他の組み合わせでステップＳ３以降の処理を実行する（Ｓ１０）。
【００４５】
セルの複数の入力のうち２つの入力信号の取り得る組み合わせを全てチェックした場合（Ｓ１０、ＹＥＳ）、グリッチ発生条件生成ステップ１５においてＣＰＵ５１は、他のセルの読み出し処理を行う（Ｓ１１）。全ての入力信号の取り得る組み合わせをまだチェックしていない場合（Ｓ１０、ＮＯ）、ＣＰＵ５１はセルの他の入力信号の組み合わせを選択し（Ｓ３）、同様にグリッチ発生条件の生成処理を行う。
【００４６】
集積回路ネットリスト情報１０で参照されている全てのセルを読み出した場合（Ｓ１１、ＹＥＳ）、ＣＰＵ５１はグリッチ発生条件生成処理を終了する。集積回路ネットリスト情報１０で参照されている全てのセルを読み出していない場合（Ｓ１１、ＮＯ）、ＣＰＵ５１は他のセルを読み出し（Ｓ１）、グリッチ発生条件生成処理を継続する。
【００４７】
以上、上記のグリッチ発生条件生成ステップ１５を実行することにより、ＣＰＵ５１は集積回路ネットリスト情報１０で参照されているセルの論理モデル情報１２からグリッチ発生条件を生成することが出来る。
【００４８】
図５はグリッチ発生条件生成ステップ１５において生成されたＮＡＮＤセルのグリッチ発生条件１６の定義図である。行３０は対象となるセル種を示しており、図５の例では、このグリッチ発生条件１６がＮＡＮＤセルに関するものであることを表している。行３１と行３２はそれぞれ、セル出力にグリッチが発生する場合の、セルの２つの入力信号の論理値の遷移を示している。行３１は入力Ａ１の論理値が‘０’から‘１’に遷移し、入力Ａ２の論理値が‘１’から‘０’に遷移した場合にグリッチが発生することを表している。行３２は入力Ａ１の論理値が‘１’から‘０’に遷移し、入力Ａ２の論理値が‘０’から‘１’に遷移した場合にグリッチが発生することを表している。行３１、３２において、ＵＰとは論理値が‘０’から‘１’に遷移することを表し、ＤＮとは論理値が‘１’から‘０’に遷移することを表す。
【００４９】
図６は遷移情報１４をグリッチが挿入された遷移情報１８に変換する処理のフローチャート図である。グリッチの挿入処理は遷移情報変換ステップ１７により実行される。遷移情報変換処理は、論理シミュレーションからの各セル信号端子の状態遷移情報と、グリッチ発生条件生成からのセル毎のグリッチ発生条件を入力として、状態遷移情報の中でグリッチ発生条件に一致する箇所を見つけだし、その箇所の状態遷移情報のパターン変換処理により行なわれる。
【００５０】
遷移情報変換ステップ１７において、ＣＰＵ５１は遷移情報１４を参照し、１つのセルへの入力信号のうちの一部の遷移パターンを選択する（Ｓ１４）。ＣＰＵ５１は信号端子遷移情報ファイルから、１つのセルの入出力信号端子の、前後２サイクルの遷移パターンを読み出す。端子名や、端子のセルインスタンス名や、セル種別の情報も遷移情報に含まれる。遷移情報変換ステップ１７においてＣＰＵ５１は、選択した遷移パターンについて、論理が‘０’から‘１’に遷移している部分を‘ＵＰ’に、論理が‘１’から‘０’に遷移している部分を‘ＤＮ’に変換する。
【００５１】
遷移情報変換ステップ１７においてＣＰＵ５１は、グリッチ発生条件生成ステップ１５により生成されたグリッチ発生条件１６を読み出す（Ｓ１５）。ＣＰＵ５１は選択されたセルのセル種から、対応するグリッチ発生条件ファイルを検索する。
【００５２】
遷移情報変換ステップ１７においてＣＰＵ５１は、選択した遷移パターンに対応するセルがグリッチ発生条件１６に記述されているか検索する（Ｓ１６）。選択した遷移パターンに対応するセルがグリッチ発生条件１６に記述されていない場合（Ｓ１６、ＮＯ）、遷移情報変換ステップ１７においてＣＰＵ５１は、他の遷移パターン検索処理に移行する（Ｓ１９）。選択したセルがグリッチ発生条件１６に記述されている場合（Ｓ１６、ＹＥＳ）、遷移情報変換ステップ１７は選択したセルの遷移パターンと同一の遷移パターンがグリッチ発生条件１６に記述されているか検索する（Ｓ１７）。
【００５３】
選択した遷移パターンと同一の遷移パターンがグリッチ発生条件１６に記述されていない場合（Ｓ１７、ＮＯ）、遷移情報変換ステップ１７においてＣＰＵ５１は、遷移情報１４における他の遷移パターン検索処理に移行する（Ｓ１９）。選択した遷移パターンと同一の遷移パターンがグリッチ発生条件１６に記述されている場合（Ｓ１７、ＹＥＳ）、遷移情報変換ステップ１７においてＣＰＵ５１は、選択した遷移パターンに対応する出力信号にグリッチが発生するよう、遷移情報１４における出力パターンの論理値を反転させる（Ｓ１８）。ＣＰＵ５１は出力パターンを反転させた信号端子遷移情報をファイルに出力する。
【００５４】
遷移情報１４に記述されている全ての遷移パターンについて、グリッチ発生条件１６の参照が終了していない場合（Ｓ１９、ＮＯ）、遷移情報変換ステップ１７においてＣＰＵ５１は、グリッチ発生条件１６の参照が終了していない残りの遷移パターンについて遷移情報修正処理を実行する。遷移情報１４に記述されている全ての遷移パターンについてグリッチ発生条件１６の参照が終了している場合（Ｓ１９、ＹＥＳ）、ＣＰＵ５１は遷移情報修正処理を終了する。ＣＰＵ５１はこの処理をすべての遷移パターンについて行なう。
【００５５】
以上の通り、遷移情報変換ステップ１７においてＣＰＵ５１は、遷移情報１４に記述されているセルおよびそのセルの入力信号の遷移パターンと、グリッチ発生条件１６に記述されている同一セルのパターンとを比較することにより、グリッチが発生する遷移パターンを特定し、特定した遷移パターンを変換することでセル出力にグリッチを発生させることが出来る。この方法は、入力信号のタイミングを考慮せずにグリッチ発生条件の検出を行なっているので、本来は発生しないグリッチも発生しているように評価される可能性があるが、設計時のＬＳＩ消費電力計算で悲観的な電力見積を行なうことにより、実動作での消費電力の上限を設計時に見極めることができる。
【００５６】
図７は遷移情報変換処理前後の遷移パターン図である。図７のＡは遷移情報変換ステップ１７の実行により遷移情報が変換される前の遷移情報１４の記述例である。図７のＢは遷移情報変換ステップ１７により遷移情報を変換した後の遷移情報１８の記述例である。
【００５７】
図７のＡにおいて、遷移パターン３３はＮＡＮＤセルＮ１の遷移パターンの一部である。
ＣＬＫは集積回路１におけるクロック信号ＣＬＫの遷移パターンである。Ｎ１．Ａ１はＮＡＮＤセルＮ１における入力信号Ａ１の遷移パターンである。Ｎ１．Ａ２はＮＡＮＤセルＮ１における入力信号Ａ２の遷移パターンである。Ｎ１．ＸはＮＡＮＤセルＮ１における出力信号Ｘの遷移パターンである。
【００５８】
遷移パターン３３は遷移情報変換ステップ１７においてＣＰＵ５１が選択した遷移パターンの一部である。本実施例において遷移パターン３３はクロック信号ＣＬＫ１周期分の遷移パターンである。Ｎ１．Ａ１が‘０’から‘１’に遷移し、Ｎ１．Ａ２が‘１’から‘０’に遷移しているので、遷移パターン３３は‘Ａ１  ＵＰ、Ａ２  ＤＮ’と表現することが出来る。ＣＰＵ５１は選択されたセルのセル種からグリッチ発生条件１６を検索する。図５のグリッチ発生条件１６を参照すると、ＮＡＮＤセルにおいて行３１に選択した遷移パターン３３と同一のパターンが記述されている。よって遷移情報変換ステップ１７は遷移パターン３３がグリッチの発生するパターンであると判定することが出来る。
【００５９】
遷移情報変換ステップ１７においてＣＰＵ５１は、グリッチ発生条件を満たす入力信号の遷移パターンが確認できたタイミングの出力信号を反転することで、ＮＡＮＤセルの出力信号にグリッチを挿入する。図７Ｂの例においてＣＰＵ５１は、出力信号Ｎ１．Ｘの遷移パターン３４の論理値を‘１’から‘０’に書き換える。これによりＣＰＵ５１は出力信号Ｎ１．Ｘの遷移情報に対し、論理値が‘１’から‘０’に遷移し再び‘１’に戻るグリッチパターンを挿入する。
【００６０】
以上の処理により、遷移情報変換ステップ１７においてＣＰＵ５１は、遷移情報１４に記述されているセルおよびそのセルの入力信号の遷移パターンとグリッチ発生条件１６に記述されている同一セルのパターンとを比較することにより、グリッチが発生する遷移パターンを特定し、特定した遷移情報にグリッチの発生を反映させることが出来る。グリッチパターン挿入後の集積回路の消費電力算出処理について以下に説明する。
【００６１】
ＣＰＵ５１はグリッチ対応のための変換処理後の遷移情報に基づいて、セル種ごとの消費電力をセル電力から該当するグリッチを考慮した信号状態の消費電力を求める。またＣＰＵ５１は、セル間配線の容量をＬＳＩ配置配線の結果により得られるセル間配線情報から求める。この処理を全セルについて行ない、個々に求めた消費電力を合計することにより、最初の動作サイクルでの、ＬＳＩ消費電力が求まる。これをＬＳＩ論理シミュレーションで得られた、全ての動作サイクル分繰り返すことにより、ＣＰＵ５１はグリッチを考慮した全動作サイクルでのＬＳＩ消費電力を求めることが出来る。
【００６２】
図８はセル電力情報２１の定義図である。行３５は電力計算対象のセル種を示しており、このセル電力情報２１の定義がＮＡＮＤセルに関するものであることを表す。行３６はＮＡＮＤセルの出力信号Ｘが‘０’から‘１’に遷移した場合の消費電力が定義されていることを表す。セルの消費電力はＵＰとＤＮで異なる場合があるためである。行３７は配線等による負荷容量の容量値を表す。図８の例では、計４つの負荷容量が示されている。行３８は行３７で定義された各負荷容量値に対応する消費電力を表す。セルの出力負荷を配線と考えると、配線条件は容量値に等価的に変換できる。負荷容量値の大きさによってセルの消費電力は異なり、一般に負荷容量値が大きくなるほどセルの消費電力は大きくなる。行３７と行３８は、負荷容量値が０Ｆのときに消費電力は０．５μＷであり、負荷容量値が０．１ｆＦのときに消費電力は０．６μＷであり、負荷容量値が１ｆＦのときに消費電力は０．７μＷであり、負荷容量値が１０ｆＦのときに消費電力は０．８μＷであることを表している。
【００６３】
セル電力情報２１からも分かるとおり、図８の場合には、セルでの電力消費はセルの出力信号が遷移するときに発生する。よって、図７の通り遷移情報にグリッチパターンを挿入し、出力信号の遷移回数を増やすことにより、ＣＰＵ５１はグリッチの発生による集積回路での消費電力量の増加を考慮した電力計算を行うことが出来る。
【００６４】
図９はセル間配線情報２３の定義図である。セル間配線情報２３はセル間を接続するそれぞれの配線を容量に等価変換した場合の容量値を定義している。行４０は配線Ｌ１の容量値が２ｆＦであることを表している。行４１は配線Ｌ２の容量値が１ｆＦであることを表している。行４２は配線Ｌ３の容量値が１ｆＦであることを表している。
【００６５】
消費電力算出ステップ２４においてＣＰＵ５１は、遷移情報１８、セル電力情報２１、セル間配線情報２３を参照し、集積回路での消費電力をサイクルベースで計算する。消費電力算出ステップ２４においてＣＰＵ５１は、遷移情報１８からＮＡＮＤセルＮ１の出力信号であるＮ１．Ｘの遷移パターンを読み込む。ＮＡＮＤセルＮ１の出力信号であるＮ１．Ｘには図２の通り配線Ｌ３が接続されているので、セル間配線情報２３よりＮＡＮＤセルＮ１の負荷容量値は１ｆＦとなる。ＣＰＵ５１はセル電力情報２１を参照することにより、負荷容量値が１ｆＦの場合のＮＡＮＤセルＮ１の消費電力を決定することが出来る。よって遷移情報１８のようにグリッチパターンを挿入することにより、ＣＰＵ５１はグリッチの発生を考慮した集積回路の消費電力を算出することが出来る。
【００６６】
図１０はグリッチ挿入後の遷移情報１８を変換する処理のフローチャート図である。遷移情報１８において出力遷移パターンにグリッチを挿入したことにより、セルの入力信号と出力信号との論理がセルの論理モデル情報１２に定義されている内容と矛盾する場合がある。サイクルベースでの電力解析では入力遅延を考慮しないため、入力信号が同時に遷移するにも関わらずグリッチが出力に挿入され、入力論理と出力論理とが矛盾するためである。セルの入出力論理に矛盾があると、集積回路消費電力算出処理においてエラーが発生し、計算処理が止まる場合がある。
【００６７】
遷移情報変換ステップ１７においてＣＰＵ５１は、遷移情報１８から１つのセルにおける遷移パターンを選択し（Ｓ２０）、その中からクロック信号ＣＬＫの半周期で論理値が変化するグリッチパターンを検索する（Ｓ２１）。グリッチパターンはクロック信号ＣＬＫと同一の周期で遷移するため、遷移パターンを調べることによりＣＰＵ５１はグリッチパターンの発生タイミングを特定することが出来る。
【００６８】
遷移情報変換ステップ１７においてＣＰＵ５１は、特定したグリッチパターンの発生タイミングにおいて、セルの出力信号の論理とセルの入力信号との論理がセルの論理モデル情報１２に対して整合しているか否かを確認する（Ｓ２２）。ＣＰＵ５１はグリッチパターンの発生タイミングにおけるセルの入力信号の論理値とセルの論理モデル情報１２から期待される出力信号の論理値を決定し、決定した論理値とグリッチパターンにおける論理値とを比較する。
【００６９】
グリッチパターンにおける出力信号の論理値がセルの論理モデル情報１２に基づいて決定した論理値に整合している場合（Ｓ２２、ＹＥＳ）、論理矛盾のエラーは発生しない。よって遷移情報変換ステップ１７においてＣＰＵ５１は、他のセルの遷移パターンに対するチェックに移行する（Ｓ２４）。グリッチパターンにおける出力信号の論理値がセルの論理モデル情報１２に基づいて決定した論理値に整合していない場合（Ｓ２２、ＮＯ）、ＣＰＵ５１は遷移情報１８の遷移パターンがセルの論理モデル情報１２に整合するようにセルの入力信号の遷移パターンを修正する（Ｓ２３）。
【００７０】
遷移情報１８に記述された全てのセルの参照が終了していない場合（Ｓ２４、ＮＯ）、遷移情報変換ステップ１７においてＣＰＵ５１は、参照していないセルに対して遷移情報修正処理を実行する。遷移情報１８に記述された全てのセルの参照が終了した場合（Ｓ２４、ＹＥＳ）、ＣＰＵ５１は遷移情報修正処理を終了する。
【００７１】
以上の通り遷移情報の修正処理を遷移情報１８に対して実行することにより、セルの入出力論理の不整合によるエラーの発生を回避することが出来る。
【００７２】
図１１は遷移情報変換処理前後の遷移パターン図である。図１１のＡは遷移情報変換処理前の遷移情報１４の遷移パターン図である。図１１のＢは遷移情報変換処理によりグリッチを挿入した後の遷移情報１８の遷移パターン図である。図１１のＣはグリッチ挿入後のセルの入出力論理がセルの論理モデル情報１２に整合するように、セルの入力信号の遷移パターンを修正した後の遷移情報１８の遷移パターン図である。
【００７３】
図１１のＡにおいて遷移パターン３３を選択し、遷移パターン３３がグリッチ発生条件１６を満足すると判定すると、遷移情報変換ステップ１７においてＣＰＵ５１は、図１１のＢにおける遷移パターン３４の論理値を‘１’から‘０’に書き換える。
【００７４】
ＮＡＮＤの入出力論理において、一方の論理値が‘１’であり、他方の論理値が‘０’であると、ＮＡＮＤの出力論理値は‘１’になる。図１１のＢにおいて遷移パターン３４の通りＮＡＮＤ出力にグリッチパターンが挿入されると、遷移パターン４５の通りＮＡＮＤセルの入力が論理値‘１’と論理値‘０’の場合に出力論理値が‘０’となり、入出力の論理に不整合が生じる。
【００７５】
遷移情報変換ステップ１７においてＣＰＵ５１は、グリッチパターンの挿入タイミングにおいてこのような入出力論理の不整合を発見すると、図１１のＣの通り入力遷移パターン４５の一方の論理を反転させ、入出力の論理が整合するように遷移情報１８を修正する。
【００７６】
以上の通りグリッチパターンの挿入タイミングにおいて入出力論理が整合するように入力遷移パターンを修正することにより、セルの入出力論理の不整合によるエラーの発生を回避することが出来る。
【００７７】
図１２は消費電力算出対象の回路図の一例である。図１２の集積回路１ａは図２の集積回路１に対し、ＮＡＮＤセルＮ１の出力に受信回路であるＮＡＮＤセルＮ２の入力端子Ａ１を接続したものである。ＮＡＮＤセルＮ２の他方の入力端子Ａ２は配線Ｌ４に接続されている。ＮＡＮＤセルＮ２の出力は配線Ｌ５に接続されている。その他の回路について図２と同一部材には同一符号を付し、その説明を省略する。実際の現象では前段セルで発生したグリッチが後段セルを通過する場合もある。以下、グリッチの後段セルへの伝播を考慮した消費電力計算方式について、ＮＡＮＤセルＮ１の出力信号に挿入したグリッチパターンが受信回路であるＮＡＮＤセルＮ２の出力に伝播する場合を例にして説明する。
【００７８】
図１３はグリッチ伝播条件を生成する処理のフローチャート図である。セル種別の入力信号にグリッチが来た場合に、ＣＰＵ５１は出力信号にグリッチが伝播する条件をグリッチ伝播条件としてファイルに出力する。グリッチ伝播条件生成フローについて図１３に基づいて説明する。本実施例においてグリッチ伝播条件は、ＣＰＵ５１がグリッチ発生条件生成ステップ１５を実行することにより生成する。生成されたグリッチ伝播条件はグリッチ発生条件１６に追記される。グリッチ伝播条件はグリッチ発生条件１６と別個のファイルとしても良い。
【００７９】
グリッチ発生条件生成ステップ１５においてＣＰＵ５１は、集積回路ネットリスト情報１０に記述されているセルの１つをセルの論理モデル情報１２から読み出す（Ｓ３０）。ＣＰＵ５１は読み出したセルがラッチ回路などの順序回路か否かを判定し（Ｓ３１）、順序回路である場合は（Ｓ３１、ＹＥＳ）、グリッチの伝播が発生しないとして他のセルの読み出し処理に移行する（Ｓ３８）。読み出したセルが順序回路でなく、組み合わせ回路である場合（Ｓ３１、ＮＯ）、ＣＰＵ５１はセルに入力する入力信号のうち１つの入力信号を選択する（Ｓ３２）。
【００８０】
グリッチ発生条件生成ステップ１５においてＣＰＵ５１は、選択しなかったセルの入力信号の論理を固定し（Ｓ３３）、選択した１つの入力信号の論理を遷移させる（Ｓ３４）。選択した１つの入力信号の論理を遷移させた結果、セルの出力信号の論理が変化した場合（Ｓ３５、ＹＥＳ）、ＣＰＵ５１は選択しなかったその他の入力信号の論理値をグリッチ伝播条件としてグリッチ発生条件１６に出力する（Ｓ３６）。選択した１つの入力信号の論理を遷移させた結果、セルの出力信号の論理が変化しなかった場合（Ｓ３５、ＮＯ）、ＣＰＵ５１はその入力信号の条件ではグリッチが伝播しないと判定し、他の入力信号のチェックに移行する（Ｓ３７）。
【００８１】
グリッチ発生条件生成ステップ１５においてＣＰＵ５１は、読み出したセルの全ての入力信号のチェックが終了していない場合（Ｓ３７、ＮＯ）、チェックしていない入力信号のチェックに移行する。ＣＰＵ５１は読み出したセルの全ての入力信号のチェックが終了している場合（Ｓ３７、ＹＥＳ）、他のセルの読み出し処理に移行する（Ｓ３８）。
【００８２】
グリッチ発生条件生成ステップ１５においてＣＰＵ５１は、論理モデル情報１２に登録された全てのセルを読み出していない場合（Ｓ３８、ＮＯ）、読み出していないセルを読み出し（Ｓ３０）、読み出したセルに対してグリッチ伝播条件生成処理を実行する。ＣＰＵ５１は全てのセルを読み出している場合（Ｓ３８、ＹＥＳ）、グリッチ伝播条件生成処理を終了する。
【００８３】
以上の通りグリッチ発生条件生成ステップ１５においてＣＰＵ５１は、セルの論理モデル情報１２からグリッチ伝播条件を生成することが出来る。
【００８４】
図１４はグリッチ伝播条件を追記したグリッチ発生条件１６の定義図である。グリッチ発生条件１６において、行４６はグリッチを発生させるパターンが入力された入力端子がＮＡＮＤセルＮ１の端子Ａ１であることを表す。行４７は端子Ａ２に入力される信号の論理値が‘１’の場合に、端子Ａ１に入力されたグリッチを発生させるパターンがＮＡＮＤセルＮ２に伝播することを表す。行３０、３１、３２は図５の行３０、３１、３２と同一であるためその説明を省略する。他の入力端子Ａ２についても同様にグリッチ伝播条件を定義する。
【００８５】
図１５は遷移情報を変換する処理のフローチャート図である。遷移情報変換ステップ１７においてＣＰＵ５１は図１５の処理を実行する。ＣＰＵ５１はグリッチ伝播条件を追記したグリッチ発生条件１６を参照し処理することにより、遷移情報に挿入したグリッチパターンを後段のセルの出力に伝播したものとして、後段のセルの出力における遷移情報にグリッチを反映することが出来る。
【００８６】
遷移情報変換ステップ１７においてＣＰＵ５１は、前述の通りクロック信号ＣＬＫと同一周期で遷移するセルの出力パターンを検索し、それをグリッチ発生箇所として選択する（Ｓ４０）。ＣＰＵ５１は選択した出力パターンを受信する受信回路である、グリッチ受信セルを選択する（Ｓ４１）。
【００８７】
選択したグリッチ受信セルがラッチ回路等の順序回路である場合（Ｓ４２、ＹＥＳ）、ＣＰＵ５１はグリッチがグリッチ受信セルに伝播しないものとして他のグリッチ受信セルの選択処理に移行する（Ｓ４５）。選択したグリッチ受信セルがラッチ回路等の順序回路でなく組み合わせ回路の場合（Ｓ４２、ＮＯ）、ＣＰＵ５１は選択したグリッチ受信セルの入力信号の遷移情報１４とグリッチ発生条件１６に定義されたセルのグリッチ伝播条件とを比較する（Ｓ４３）。比較した結果、選択したグリッチ受信セルの入力信号の遷移情報１４とグリッチ発生条件１６に定義されたセルのグリッチ伝播条件が一致しない場合（Ｓ４３、ＮＯ）、受信したグリッチは伝播しないものとして、遷移情報変換ステップ１７は他のセルの選択処理に移行する（Ｓ４５）。比較した結果、伝播条件が一致する場合（Ｓ４３、ＹＥＳ）、遷移情報変換ステップ１７は選択したグリッチ受信セルの出力パターンを反転させ、グリッチを反映する（Ｓ４４）。
【００８８】
遷移情報変換ステップ１７においてＣＰＵ５１は、全てのセルを参照したか判定し（Ｓ４５）、全てのセルの参照が終了していない場合は（Ｓ４５、ＮＯ）、他のグリッチ受信セルのグリッチ伝播処理を継続する。全てのグリッチ受信セルの参照が終了している場合（Ｓ４５、ＹＥＳ）、遷移情報変換ステップ１７はグリッチ伝播処理を終了する。ここまでの処理を全遷移パターンについて行なう。グリッチの伝播は多段に渡って行なわれる可能性があり、多段の伝播を考慮する場合は、グリッチ伝播を付加して出力した信号端子遷移情報を新たに入力として、グリッチ伝播処理を繰り返すことにより行なうことが出来る。
【００８９】
以上の通りグリッチ伝播条件を反映したグリッチ発生条件１６を参照して遷移情報１４にグリッチパターンを挿入することにより、グリッチの伝播を考慮した集積回路の消費電力算出を行うことが出来る。また、グリッチ伝播条件としてグリッチが伝播可能なセル段数を設定することにより、グリッチをどこまで伝播させるか制限し、集積回路消費電力算出において計算した消費電力が過剰に大きくなるのを防ぐことが出来る。
【００９０】
図１６は遷移情報変換処理前後の遷移パターン図である。図１６のＡはグリッチ挿入前の遷移情報１４の遷移パターン図である。図１６のＢはグリッチ挿入後の遷移情報１８の遷移パターン図である。図１６のＣはグリッチ伝播後の遷移情報１８の遷移パターン図である。
【００９１】
図１６のＡにおいて、クロック信号ＣＬＫ、ＮＡＮＤセルＮ１の入力Ｎ１．Ａ１、Ｎ１．Ａ２、ＮＡＮＤセルＮ１の出力Ｎ１．Ｘは図７の遷移パターン図と同一なのでその説明を省略する。Ｎ２．Ａ２はＮＡＮＤセルＮ２の入力端子Ａ２の入力信号の遷移パターンを表す。Ｎ２．ＸはＮＡＮＤセルＮ２の出力端子Ｘの出力信号の遷移パターンを表す。なお、図１２の集積回路１ａより、ＮＡＮＤセルＮ１の出力端子ＸとＮＡＮＤセルＮ２の入力端子Ａ１は配線Ｌ３で接続されているため、その遷移パターンは同一である。
【００９２】
図１６のＢにおいて、遷移情報変換ステップ１７を実行するＣＰＵ５１は、検出された遷移パターン３３に応じて信号Ｎ１．Ｘの遷移パターン３４の論理を‘１’から‘０’に書き換えてグリッチを挿入する。またＣＰＵ５１は挿入した書き換えた遷移パターン３４とその入力遷移パターン４５との論理が整合しないことを検出すると、図１６のＣの通り入力Ｎ１．Ａ２の遷移パターンの論理を‘０’から‘１’に書き換えてＮＡＮＤセルＮ１の入出力論理を整合させる。
【００９３】
図１６のＣにおいてグリッチを挿入したタイミングにおいて、遷移情報変換ステップ１７を実行するＣＰＵ５１は、グリッチ受信セルであるＮＡＮＤセルＮ２の遷移パターン４９とグリッチ発生条件１６のグリッチ伝播条件とを比較する。図１４のグリッチ発生条件１６について行４６、４７を参照すると、グリッチが入力端子Ａ１に入力されており、入力端子Ａ２の論理が‘１’の場合にグリッチが伝播することが記述されている。よってＣＰＵ５１は遷移パターン４９がグリッチ伝播条件を満たしていると判定することが出来る。ＣＰＵ５１はグリッチが伝播するタイミングにおいて、ＮＡＮＤセルＮ２の出力Ｎ２．Ｘの論理を‘０’から‘１’に反転させる。
【００９４】
以上の通り、グリッチ伝播条件を追記したグリッチ発生条件１６を参照して遷移情報１４にグリッチパターンを挿入することにより、ＣＰＵ５１はグリッチの伝播を考慮した集積回路の消費電力算出を行うことが出来る。
【符号の説明】
【００９５】
１０  集積回路ネットリスト情報
１１  入力パターン情報
１２  セルの論理モデル情報
１３  論理解析ステップ
１４、１８  遷移情報
１５  グリッチ発生条件生成ステップ
１６  グリッチ発生条件
１７  遷移情報変換ステップ
１９  セル内部のネットリスト情報
２０  セル電力計算ステップ
２１  セル電力情報
２２  集積回路配置配線ステップ
２３  セル間配線情報
２４  消費電力算出ステップ
５１  ＣＰＵ
５５  記憶装置
７０  消費電力算出装置
【図４】
2011074044.tif 000003
【図６】
2011074044.tif 000004
【図１３】
2011074044.tif 000005
【図１】
2011074044.tif 000006
【図２】
2011074044.tif 000007
【図３】
2011074044.tif 000008
【図５】
2011074044.tif 000009
【図７】
2011074044.tif 000010
【図８】
2011074044.tif 000011
【図９】
2011074044.tif 000012
【図１０】
2011074044.tif 000013
【図１１】
2011074044.tif 000014
【図１２】
2011074044.tif 000015
【図１４】
2011074044.tif 000016
【図１５】
2011074044.tif 000017
【図１６】
2011074044.tif 000018
【国際調査報告】
2011074044.tif 000019
2011074044.tif 000020