(57)【特許請求の範囲】
【請求項１】
設計対象回路に関する回路記述情報の入力を受け付けさせる入力工程と、
前記入力工程によって入力された回路記述情報の中から任意の論理素子ペアを抽出させる論理素子ペア抽出工程と、
前記論理素子ペア抽出工程によって抽出された論理素子ペアが同時遷移する入力パタンを前記論理素子ペアごとに探索させる探索工程と、
前記探索工程によって探索された入力パタンから得られる信号遷移した論理素子数を前記設計対象回路内の論理素子数で除算することにより、入力パタン動作率を入力パタンごとに算出させる入力パタン動作率算出工程と、
前記入力パタンの集合の中から、前記入力パタン動作率算出工程によって算出された入力パタン動作率のうち最大動作率の入力パタンを検出させる検出工程と、
前記検出工程によって検出された入力パタンを出力させる出力工程と、
をコンピュータに実行させることを特徴とするＬＳＩ解析プログラム。
【請求項２】
設計対象回路に関する回路記述情報の入力を受け付けさせる入力工程と、
前記入力工程によって入力された回路記述情報の中から任意の論理素子ペアを抽出させる論理素子ペア抽出工程と、
前記論理素子ペア抽出工程によって抽出された論理素子ペアが同時遷移する入力パタンを前記論理素子ペアごとに探索させる探索工程と、
前記探索工程によって探索された入力パタンから得られる信号遷移した論理素子数を前記設計対象回路内の論理素子数で除算することにより、入力パタン動作率を入力パタンごとに算出させる入力パタン動作率算出工程と、
前記入力パタンの集合の中から、前記入力パタン動作率算出工程によって算出された入力パタン動作率のうち最大動作率の入力パタンを検出させる検出工程と、
前記探索工程によって探索された入力パタンに基づいて、論理素子間の同時遷移の関係をあらわす同時遷移関係グラフを作成させる作成工程と、
前記作成工程によって作成された同時遷移関係グラフの中から、互いに同時遷移しうる論理素子集合からなるサブグラフのうち論理素子数が最大のサブグラフを抽出させるサブグラフ抽出工程と、
前記サブグラフ抽出工程によって抽出された前記論理素子数が最大のサブグラフ内の論理素子数を前記設計対象回路内の論理素子数で除算することにより、前記論理素子数が最大のサブグラフに含まれている論理素子集合が全て同時遷移するとしたときの動作率を算出させる論理素子集合動作率算出工程と、
前記論理素子集合動作率算出工程によって算出された算出結果を出力させる出力工程と、
をコンピュータに実行させることを特徴とするＬＳＩ解析プログラム。
【請求項３】
請求項１または２に記載のＬＳＩ解析プログラムを記録した前記コンピュータに読み取り可能な記録媒体。
【請求項４】
設計対象回路に関する回路記述情報の入力を受け付ける入力手段と、
前記入力手段によって入力された回路記述情報の中から任意の論理素子ペアを抽出する論理素子ペア抽出手段と、
前記論理素子ペア抽出手段によって抽出された論理素子ペアが同時遷移する入力パタンを前記論理素子ペアごとに探索する探索手段と、
前記探索工程によって探索された入力パタンから得られる信号遷移した論理素子数を前記設計対象回路内の論理素子数で除算することにより、入力パタン動作率を入力パタンごとに算出する入力パタン動作率算出手段と、
前記入力パタンの集合の中から、前記入力パタン動作率算出手段によって算出された動作率のうち最大動作率の入力パタンを検出する検出手段と、
前記検出手段によって検出された入力パタンを出力する出力手段と、
を備えることを特徴とするＬＳＩ解析装置。
【請求項５】
入力手段、論理素子ペア抽出手段、探索手段、入力パタン動作率算出手段、検出手段、および出力手段を備えるコンピュータが、
前記入力手段により、設計対象回路に関する回路記述情報の入力を受け付ける入力工程と、
前記論理素子ペア抽出手段により、前記入力工程によって入力された回路記述情報の中から任意の論理素子ペアを抽出する論理素子ペア抽出工程と、
前記探索手段により、前記論理素子ペア抽出工程によって抽出された論理素子ペアが同時遷移する入力パタンを前記論理素子ペアごとに探索する探索工程と、
前記入力パタン動作率算出手段により、前記探索工程によって探索された入力パタンから得られる信号遷移した論理素子数を前記設計対象回路内の論理素子数で除算することにより、入力パタン動作率を入力パタンごとに算出する入力パタン動作率算出工程と、
前記検出手段により、前記入力パタンの集合の中から、前記入力パタン動作率算出工程によって算出された動作率のうち最大動作率の入力パタンを検出する検出工程と、
前記出力手段により、前記検出工程によって検出された入力パタンを出力する出力工程と、
を実行することを特徴とするＬＳＩ解析方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、電源設計検証においてＬＳＩの最大動作率を解析するＬＳＩ解析プログラム、該プログラムを記録した記録媒体、ＬＳＩ解析装置、およびＬＳＩ解析方法に関する。
【背景技術】
【０００２】
ＬＳＩ設計では、従来から設計期間の短縮による作業効率化が要求されている一方、ＬＳＩが正しく動作するかどうかを検証する検証作業が必要不可欠であり、特に、大規模化、高機能化、高速化および低消費電力化が要求されているＬＳＩについては、高品質を維持するためにもこの検証作業は重要である。
【０００３】
特に、ＬＳＩの電源設計検証においては、ＬＳＩの動作率が最大の場合でも設計した電源ラインでの電源供給に問題がないかを知りたいという要求がある。従来では、テクノロジ微細化が進む中、そのままでは電源供給に問題が出るため、デカップリングキャパシタンス（decoupling capacitance）を挿入することで対応している。
【０００４】
現状、デカップリングキャパシタンスの挿入量は、シミュレーションやパタンに依存しない（全部動作すると仮定した）解析に頼る部分が多いため、デカップリングキャパシタンスの挿入量が適量かは不明である。
【０００５】
なお、従来技術として、乱数パタンや機能検証パタンを用いたシミュレーションやエミュレーション（たとえば、下記非特許文献１を参照。）、パタンを用いない静的な電源ノイズ解析（たとえば、下記非特許文献２を参照。）、最大動作率を与えるパタンの生成（たとえば、下記非特許文献３を参照。）が開示されている。
【０００６】
【非特許文献１】"Full-Chip Verification Methods for DSM Power Distribution Systems"（フル−チップ  ベリフィケーション  メソッズ  フォー  ディーエスエム  パワー  ディストリビューション  システムズ）,Design Automation Conference（デザイン  オートメーション  カンファレンス）, 1998年, pp.744-749
【非特許文献２】"Pattern Independent Maximum Current Estimation in Power and Ground Buses of CMOS VLSI Circuits: Algorithms, Signal Correlations, and Their Resolution"（パタン  インデペンデント  マキシマム  カレント  エスティメーション  イン  パワー  アンド  グランド  バスィズ  オブ  シーモス  ヴイエルエスアイ  サーキッツ：アルゴリズムス、シグナル  コーリレーションズ  アンド  ゼア  リゾルーション）,IEEE Transactions on Computer-Aided Design（アイトリプルイー  トランザクションズ  オン  コンピュータ−エイデッド  デザイン）, 1995年, Vol.14, No.8, pp.998-1012
【非特許文献３】"Vector Generation for Maximum Instantaneous Through Supply Lines for CMOS Circuits"（ベクター  ジェネレーション  フォー  マキシマム  インスタンチヌス  スルー  サプライ  ラインズ  フォー  シーモス  サーキッツ）,Design Automation Conference（デザイン  オートメーション  カンファレンス）, 1997年, pp.383-388
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した従来の電源設計検証では、デカップリングキャパシタンスの挿入量が適量かは不明であるため、挿入量が不足するとＬＳＩの機能的不具合（設計バグ）が発生し、ＬＳＩの品質が低下する問題があった。そのため、挿入量を悲観的に多く見積もることとなるが、挿入量が多すぎると、チップ面積が大きくなるため、製造コストが増加するという問題があった。
【０００８】
また、どの程度の挿入量が適量かは、設計者の経験や熟練度、勘に頼ることとなるため、設計者ごとに挿入量にばらつきが生じ、上述した品質の低下や製造コストの増加を招く原因になるという問題があった。
【０００９】
また、上述した非特許文献１の従来技術では、シミュレーションやエミュレーションに時間がかかり、設計期間が長期化するという問題があった。また、パタン空間が膨大なため、調査した動作率が大きいかどうかといった判断ができないという問題があった。
【００１０】
また、上述した非特許文献２の従来技術では、回路全体が動作するとして電源ノイズを解析するため、ノイズ量を大きく見積もりがちであるため、デカップリングキャパシタンスの挿入量が多くなる。したがって、チップ面積が大きくなり、製造コストが増加するという問題があった。
【００１１】
また、上述した非特許文献３の従来技術では、ＡＴＰＧを用いつつ同時動作ノードを増やしていく方法や分枝限定法による全解探索をおこなっているため、ＬＳＩの最大動作率を得るのは困難である。したがって、ＬＳＩの最大動作率での電源供給に問題がないかを検証することが困難であるという問題があった。
【００１２】
この発明は、上述した従来技術による問題点を解消するため、簡単かつ効率的にＬＳＩの最大動作率を解析することにより、ＬＳＩの品質向上および製造コストの低減を図ることができるＬＳＩ解析プログラム、該プログラムを記録した記録媒体、ＬＳＩ解析装置、およびＬＳＩ解析方法を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上述した課題を解決し、目的を達成するため、第１の発明にかかるＬＳＩ解析プログラム、該プログラムを記録した記録媒体、ＬＳＩ解析装置、およびＬＳＩ解析方法は、設計対象回路に関する回路記述情報の入力を受け付け、回路記述情報の中から任意の論理素子ペアを抽出し、論理素子ペアが同時遷移する入力パタンを前記論理素子ペアごとに探索し、探索された入力パタンに基づいて、当該入力パタンごとの動作率を算出し、前記入力パタンの集合の中から、算出された動作率のうち最大動作率の入力パタンを検出し、検出された入力パタンを出力することを特徴とする。
【００１４】
この発明によれば、設計対象回路全体の最大動作率の下界となる入力パタンを得ることができ、その入力パタンを用いて最適な電源検証をおこなうことで、適量のデカップリングキャパシタンスを知ることができる。
【００１５】
また、上記発明において、さらに、入力パタンが探索されなかった論理素子ペアを出力することとしてもよい。
【００１６】
この発明によれば、デカップリングキャパシタンスの挿入不要箇所を特定することができる。
【００１７】
また、第２の発明にかかるＬＳＩ解析プログラム、該プログラムを記録した記録媒体、ＬＳＩ解析装置、およびＬＳＩ解析方法は、設計対象回路に関する回路記述情報の入力を受け付け、回路記述情報の中から任意の論理素子ペアを抽出し、論理素子ペアが同時遷移する入力パタンを前記論理素子ペアごとに探索し、探索された入力パタンに基づいて、当該入力パタンごとの動作率を算出し、前記入力パタンの集合の中から、算出された動作率のうち最大動作率の入力パタンを検出し、探索された入力パタンに基づいて、論理回路間の同時遷移の関係をあらわす同時遷移関係グラフを作成し、同時遷移関係グラフの中から、互いに同時遷移しあう論理素子集合からなるサブグラフのうち論理素子数が最大のサブグラフを抽出し、抽出されたサブグラフに含まれている論理素子集合が全て同時遷移するとしたときの動作率を算出し、算出結果を出力することを特徴とする。
【００１８】
この発明によれば、設計対象回路全体の最大動作率の上界を得ることができる。
【００１９】
また、上記発明において、さらに、前記論理素子集合を出力することとしてもよい。
【００２０】
この発明によれば、設計対象回路全体の最大動作率の上界である場合に信号遷移する論理素子を特定することで、デカップリングキャパシタンスの挿入箇所を特定することができる。
【００２１】
また、上記発明において、さらに、入力パタンが探索されなかった論理素子ペアを出力することとしてもよい。
【００２２】
この発明によれば、デカップリングキャパシタンスの挿入不要箇所を特定することができる。
【００２３】
また、上記発明において、算出された算出結果に基づいて、検出された入力パタンを、前記設計対象回路の最大動作率の入力パタンに決定し、決定された入力パタンを出力することとしてもよい。
【００２４】
この発明によれば、設計対象回路全体の最大動作率の下界となる入力パタンの精度向上を図ることができ、その入力パタンを用いて最適な電源検証をおこなうことで、適量のデカップリングキャパシタンスを知ることができる。
【発明の効果】
【００２５】
本発明にかかるＬＳＩ解析プログラム、該プログラムを記録した記録媒体、ＬＳＩ解析装置、およびＬＳＩ解析方法によれば、簡単かつ効率的にＬＳＩの最大動作率を解析することにより、ＬＳＩの品質向上および製造コストの低減を図ることができるという効果を奏する。
【発明を実施するための最良の形態】
【００２６】
以下に添付図面を参照して、この発明にかかるＬＳＩ解析プログラム、該プログラムを記録した記録媒体、ＬＳＩ解析装置、およびＬＳＩ解析方法の好適な実施の形態を詳細に説明する。
【００２７】
（ＬＳＩ解析装置のハードウェア構成）
まず、この発明の実施の形態にかかるＬＳＩ解析装置のハードウェア構成について説明する。図１は、この発明の実施の形態にかかるＬＳＩ解析装置のハードウェア構成を示すブロック図である。
【００２８】
図１において、ＬＳＩ解析装置は、ＣＰＵ１０１と、ＲＯＭ１０２と、ＲＡＭ１０３と、ＨＤＤ（ハードディスクドライブ）１０４と、ＨＤ（ハードディスク）１０５と、ＦＤＤ（フレキシブルディスクドライブ）１０６と、着脱可能な記録媒体の一例としてのＦＤ（フレキシブルディスク）１０７と、ディスプレイ１０８と、Ｉ／Ｆ（インターフェース）１０９と、キーボード１１０と、マウス１１１と、スキャナ１１２と、プリンタ１１３と、を備えている。また、各構成部はバス１００によってそれぞれ接続されている。
【００２９】
ここで、ＣＰＵ１０１は、ＬＳＩ解析装置の全体の制御を司る。ＲＯＭ１０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ１０３は、ＣＰＵ１０１のワークエリアとして使用される。ＨＤＤ１０４は、ＣＰＵ１０１の制御にしたがってＨＤ１０５に対するデータのリード／ライトを制御する。ＨＤ１０５は、ＨＤＤ１０４の制御で書き込まれたデータを記憶する。
【００３０】
ＦＤＤ１０６は、ＣＰＵ１０１の制御にしたがってＦＤ１０７に対するデータのリード／ライトを制御する。ＦＤ１０７は、ＦＤＤ１０６の制御で書き込まれたデータを記憶したり、ＦＤ１０７に記憶されたデータをＬＳＩ解析装置に読み取らせたりする。
【００３１】
また、着脱可能な記録媒体として、ＦＤ１０７のほか、ＣＤ−ＲＯＭ（ＣＤ−Ｒ、ＣＤ−ＲＷ）、ＭＯ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、メモリーカードなどであってもよい。ディスプレイ１０８は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ１０８は、たとえば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００３２】
Ｉ／Ｆ１０９は、通信回線を通じてインターネットなどのネットワーク１１４に接続され、このネットワーク１１４を介して他の装置に接続される。そして、Ｉ／Ｆ１０９は、ネットワーク１１４と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ１０９には、たとえばモデムやＬＡＮアダプタなどを採用することができる。
【００３３】
キーボード１１０は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス１１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【００３４】
スキャナ１１２は、画像を光学的に読み取り、ＬＳＩ解析装置内に画像データを取り込む。なお、スキャナ１１２は、ＯＣＲ機能を持たせてもよい。また、プリンタ１１３は、画像データや文書データを印刷する。プリンタ１１３には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
【００３５】
（設計対象回路となるＬＳＩの一例）
つぎに、この発明の実施の形態にかかるＬＳＩ解析装置において設計対象回路となるＬＳＩの一例について説明する。図２は、この発明の実施の形態にかかるＬＳＩ解析装置において設計対象回路の一例を示す回路図である。
【００３６】
設計対象回路２００は、各種論理素子を組み合わせて構成されている。本実施の形態で対象としている設計対象回路２００は数十万〜数千万の論理素子から構成されるが、ここでは説明の便宜上簡略化する。
【００３７】
図２において、設計対象回路２００は、フリップフロップ素子ＦＦ、ＡＮＤ素子をあらわす論理ゲートＧ１、ＸＯＲ回路をあらわす論理ゲートＧ２、およびＯＲ素子をあらわす論理ゲートＧ３から構成されている。フリップフロップ素子ＦＦの出力Ｑは、論理ゲートＧ１，Ｇ２の入力Ａ１，Ａ２に接続されている。また、外部入力ＩＮは、論理ゲートＧ１，Ｇ２の入力Ｂ１，Ｂ２に接続されている。論理ゲートＧ１，Ｇ２の出力Ｘ１，Ｘ２は論理ゲートＧ３の入力Ａ３，Ｂ３に接続されている。論理ゲートＧ３からの出力Ｘ３はフリップフロップ素子ＦＦの入力Ｄに帰還されている。
【００３８】
（ＬＳＩ解析装置の機能的構成）
つぎに、ＬＳＩ解析装置の機能的構成について説明する。図３は、この発明の実施の形態にかかるＬＳＩ解析装置の機能的構成を示すブロック図である。図３において、回路記述情報３２０とは、具体的には、論理合成結果により設計対象回路２００内の素子接続をあらわす記述情報であり、たとえば、設計対象回路２００内の素子接続をテキスト化したネットリストである。図２に示した設計対象回路２００の場合、各論理素子ＦＦ，Ｇ１〜Ｇ３およびその接続関係が記述されることとなる。
【００３９】
また、図３において、ＬＳＩ解析装置３００は、入力部３０１と、論理素子ペア抽出部３０２と、探索部３０３と、入力パタン動作率算出部３０４と、検出部３０５と、作成部３０６と、サブグラフ抽出部３０７と、論理素子集合動作率算出部３０８と、決定部３０９と、出力部３１０と、から構成されている。
【００４０】
本実施の形態では、入力部３０１、論理素子ペア抽出部３０２、探索部３０３、入力パタン動作率算出部３０４、および検出部３０５が、論理素子ペア同時動作解析を実行する機能部である。また、作成部３０６、サブグラフ抽出部３０７、論理素子集合動作率算出部３０８、および決定部３０９が、設計対象回路２００全体の最大動作率解析を実行する機能部である。
【００４１】
本実施の形態では、論理素子ペア同時動作解析を設計対象回路２００全体の最大動作率解析から機能的に分離したことにより、入力パタン空間の探索と回路上での同時動作ゲート集合の探索とを分離することができる。これにより、ＬＳＩ解析が簡単化され、設計対象回路２００が大規模回路であっても適用可能となる。以降、各機能的構成について説明する。
【００４２】
また、入力部３０１は、回路記述情報３２０の入力を受け付ける。たとえば、図２に示した設計対象回路２００のネットリストを読み込む。また、入力部３０１は、クロック情報や入力制約情報の入力も受け付ける。クロック情報とは、クロックピンとクロック周波数からなる情報であり、クロックが複数あるときにそれらのクロック間の関係を知り、正確に順序回路の動作を把握するために必要な情報である。
【００４３】
また、入力制約情報とは、設計対象回路２００内の論理回路の入出力を制約する情報であり、たとえば、「この入力は０固定」、「この入力とあの入力の値の組み合わせとして（０，０）はありえない」などがある。入力制約情報を入力することによりモードごとの解析や回路制約を考慮した実用的な最大動作率が求まるようになる。また、入力パタン空間が縮小されるため効率化も図ることができる。
【００４４】
また、論理素子ペア抽出部３０２は、回路記述情報３２０の中から任意の論理素子ペアを抽出する。具体的には、ゲート素子どうし、フリップフロップ素子とゲート素子、フリップフロップ素子どうし、・・・などの論理素子ペアを抽出する。なお、抽出される論理素子ペアは直接接続されている必要はない。図２に示した設計対象回路２００では、たとえば、｛ＦＦ，Ｇ１｝，｛ＦＦ，Ｇ２｝，｛ＦＦ，Ｇ３｝，｛Ｇ１，Ｇ２｝，｛Ｇ１，Ｇ３｝，｛Ｇ２，Ｇ３｝の論理素子ペアが抽出される。
【００４５】
また、探索部３０３は、論理素子ペア抽出部３０２によって抽出された論理素子ペアが同時遷移する入力パタンを論理素子ペアごとに探索する。具体的には、論理素子ペアごとに、立ち上がりと立ち下がりを組み合わせて最大４通りの信号遷移ペアについて、同時遷移可能か否かを判断する。
【００４６】
そして、同時遷移可能である場合は、その入力パタンを探索結果として保持する。一方、同時遷移不可能である場合は、当該論理素子ペアを非同時遷移ペアに決定して探索結果として出力する。非同時遷移ペアに対しデカップリングキャパシタを挿入しても電源供給問題が改善しない。したがって、あらかじめ非同時遷移ペアを確認することができれば、デカップリングキャパシタンスの無駄な挿入を防止でき、設計対象回路２００のチップ面積の縮小および製造コストの低減化を図ることができる。
【００４７】
図４は、図２に示した設計対象回路２００において同時遷移可能であると判断された場合の探索結果を示す説明図である。図４中、矢印を挟む２つの数値の組み合わせ（０→１、１→１、１→０など）は、信号遷移をあらわしている。具体的には、矢印の始端側の数値は時刻ｔ＝０のときの値をあらわしており、矢印の終端側の数値は時刻ｔ＝１のときの値をあらわしている。
【００４８】
また、図４中、太矢印は含意関係（ｉｍｐｌｉｃａｔｉｏｎ）をあらわしている。含意関係とは、一方の値から他方の値が一意的に決まる関係である。含意操作ともいう。たとえば、太矢印４０１については、太矢印４０１の始端が論理ゲートＧ１の出力Ｘ１＝１をあらわしているが、論理ゲートＧ１の出力Ｘ１＝１であれば、太矢印４０１の終端をさす論理ゲートＧ１の入力Ａ１はＡ＝１となる。
【００４９】
また、図４中、太点線矢印４０２は、選択による値割り当てをあらわしている。たとえば、太点線矢印４０２の始端は、時刻ｔ＝０において論理ゲートＧ１の出力Ｘ１がＸ＝０であることをあらわしているが、太点線矢印４０２の終端を指す時刻ｔ＝０のフリップフロップ素子ＦＦからの出力Ｑが「０」または「１」の２通りが考えられる。図４の例ではフリップフロップ回路ＦＦからの出力Ｑは「０」を選択している。
【００５０】
図４では、論理ゲートＧ１，Ｇ２のペアを選択した場合の例であり、論理ゲートＧ１の信号遷移４０３は立ち上がりと仮定し、論理ゲートＧ２の信号遷移４０４は立ち下がりと仮定している。すなわち、論理ゲートＧ１の信号遷移４０３は、時刻ｔ＝０で出力Ｘ１＝０、時刻ｔ＝１で出力Ｘ１＝１という値割り当てとなる。同様に、論理ゲートＧ２の信号遷移４０４は、時刻ｔ＝０で出力Ｘ２＝１、時刻ｔ＝１で出力Ｘ２＝０という値割り当てとなる。
【００５１】
そして、含意操作により、信号遷移４０３，４０４が同時に成立する入力パタンが探索される。図４の場合、信号遷移４０３，４０４が同時に成立する入力パタンは、以下の通りである。
【００５２】
ＩＮ（ｔ＝０）＝１
ＩＮ（ｔ＝１）＝１
Ｑ＝（ｔ＝０）＝０
【００５３】
なお、フリップフロップ素子ＦＦの出力Ｑについては、時刻ｔ＝１のフリップフロップ素子ＦＦの出力Ｑは入力パタンを元に得られるため、初期状態の時刻ｔ＝０での値のみが入力パタンに含まれる。
【００５４】
図５は、図２に示した設計対象回路２００において同時遷移不可能であると判断された場合の探索結果を示す説明図である。図５中、矢印や太矢印については、図４と同様であるため、その説明を省略する。
【００５５】
図５では、論理ゲートＧ１，Ｇ３のペアを選択した場合の例であり、論理ゲートＧ１の信号遷移５０１は立ち上がりと仮定し、論理ゲートＧ３の信号遷移５０３は立ち上がりと仮定している。すなわち、論理ゲートＧ１の信号遷移５０１は、時刻ｔ＝０で出力Ｘ１＝０、時刻ｔ＝１で出力Ｘ１＝１という値割り当てとなる。同様に、論理ゲートＧ３の信号遷移５０３は、時刻ｔ＝０で出力Ｘ３＝０、時刻ｔ＝１で出力Ｘ３＝１という値割り当てとなる。
【００５６】
図５では、信号遷移５０１からの含意操作により、フリップフロップ素子ＦＦの入力Ｄは時刻ｔ＝０においてＤ＝１となるが、論理ゲートＧ３の出力Ｘ３の時刻ｔ＝０における値は、Ｘ３＝０であるため、矛盾する。したがって、論理ゲートＧ１，Ｇ３をペアとして選択した場合、信号遷移５０１，５０３の組み合わせでは同時遷移しないこととなる。
【００５７】
図６は、探索部３０３による探索結果を示す図表である。図６では、図２に示した設計対象回路２００のすべての論理素子ペアのすべての信号遷移ペアについて探索結果を示している。図６では、論理素子ペア｛Ｇ１，Ｇ２｝，｛Ｇ１，ＦＦ｝，｛Ｇ２，ＦＦ｝については、入力パタンＰ１が探索され、論理素子ペア｛Ｇ２，Ｇ３｝については入力パタンＰ２が探索されたことを示している。
【００５８】
なお、図６中、信号遷移ペアの項目において、「Ｒｉｓｅ」は「０→１」、すなわち時刻ｔ＝０で値０、時刻ｔ＝１で値１をあらわしており、「Ｆａｌｌ」は「１→０」、すなわち時刻ｔ＝０で値１、時刻ｔ＝１で値０をあらわしている。また、図６中、「同時遷移」の項目において、○印の信号遷移ペアにおける論理素子ペアが同時遷移ペアであり、×印の信号遷移ペアにおける論理素子ペアが非同時遷移ペアである。
【００５９】
また、図３において、入力パタン動作率算出部３０４は、探索部３０３によって探索された入力パタンに基づいて、入力パタンごとの動作率（入力パタン動作率）を算出する。具体的には、入力パタンから得られる信号遷移した論理素子数を、設計対象回路２００内の全論理素子数で除算することで、入力パタンごとの入力パタン動作率を算出する。図２に示した設計対象回路２００の場合、探索された入力パタンＰ１，Ｐ２ごとに入力パタン動作率が算出される。
【００６０】
たとえば、入力パタンＰ１が与えられると同時遷移する論理素子ペアは、｛Ｇ１，Ｇ２｝，｛Ｇ１，ＦＦ｝，｛Ｇ２，ＦＦ｝である。すなわち、同時遷移する論理素子数は、論理ゲートＧ１，Ｇ２とフリップフロップ素子ＦＦの３個である。ＬＳＩの全論理素子数は４個であるため、入力パタンＰ１の入力パタン動作率Ｒ１はＲ１＝３／４となる。
【００６１】
同様に、入力パタンＰ２が与えられると同時遷移する論理回路ペアは、｛Ｇ２，Ｇ３｝である。すなわち、同時遷移する論理回路数は、論理ゲートＧ２，Ｇ３の２個である。ＬＳＩの全論理回路数は４個であるため、入力パタンＰ２の入力パタン動作率Ｒ２はＲ２＝２／４となる。
【００６２】
また、検出部３０５は、入力パタンの集合の中から、入力パタン動作率が最大となる入力パタンを検出する。以降、検出された入力パタンの入力パタン動作率を最大入力パタン動作率Ｒｐと称す。図６に示した入力パタンＰ１の入力パタン動作率Ｒ１はＲ１＝３／４であり、入力パタンＰ２の入力パタン動作率Ｒ２はＲ２＝２／４であるため、最大入力パタン動作率Ｒｐは入力パタン動作率Ｒ１となる。したがって、入力パタンＰ１が検出されることとなる。最大入力パタン動作率Ｒｐは、設計対象回路２００の最大動作率の下界となる。
【００６３】
最大入力パタン動作率Ｒｐに対する入力パタンにより動作率が大きい状況での電源検証をおこなうことができ、デカップリングキャパシタンスの挿入量が適量か否かをユーザが判断することができる。
【００６４】
また、作成部３０６は、探索部３０３によって探索された入力パタンに基づいて、論理素子間の同時遷移の関係をあらわす同時遷移関係グラフを作成する。同時遷移関係グラフは、論理素子をノード、同時遷移可能関係をエッジとするグラフである。
【００６５】
図７は、図２に示した設計対象回路２００の同時遷移関係グラフを示す説明図である。入力パタンＰ１により、論理ゲートＧ１，Ｇ２およびフリップフロップ素子ＦＦが相互に同時遷移しあう論理素子である。したがって、同時遷移関係グラフＺにおいて、論理ゲートＧ１，Ｇ２およびフリップフロップ素子ＦＦは互いにエッジで接続されている。また、入力パタンＰ２により、論理ゲートＧ２，Ｇ３が相互に同時遷移しあう論理素子である。
【００６６】
したがって、同時遷移関係グラフＺにおいて、論理ゲートＧ２，Ｇ３は互いにエッジで接続されている。なお、図５に示したように、論理ゲートＧ１，Ｇ３は同時遷移しないため、エッジで接続されない。同様に、論理ゲートＧ３とフリップフロップ素子ＦＦも同時遷移しないためエッジで接続されない。
【００６７】
また、図３において、サブグラフ抽出部３０７は、作成部３０６によって作成された同時遷移関係グラフの中から、互いに同時遷移しあう論理素子集合からなるサブグラフのうち論理素子数が最大のサブグラフを抽出する。
【００６８】
具体的には、図７に示した同時遷移関係グラフＺでは、互いに同時遷移しあう論理素子集合は｛Ｇ１，Ｇ２，ＦＦ｝である。この論理素子集合がサブグラフＣである。図７では、他のサブグラフが存在しないため、サブグラフＣが論理素子数最大のサブグラフとなり、サブグラフ抽出部３０７によって抽出される。
【００６９】
また、論理素子集合動作率算出部３０８は、サブグラフ抽出部３０７によって抽出されたサブグラフに含まれている論理素子集合の動作率を算出する。具体的には、サブグラフ内の論理素子数をｍ、設計対象回路２００の全論理素子数をｎとすると、論理回路集合動作率Ｒｓは、Ｒ＝ｍ／ｎとなる。
【００７０】
この論理素子集合動作率Ｒｓが設計対象回路２００の最大動作率の上界となる。図２に示した設計対象回路２００の場合、サブグラフＣ内の論理素子数ｍ＝３、ＬＳＩの全論理素子数ｎ＝４であるため、論理素子集合動作率Ｒｓは、Ｒ＝３／４となる。
【００７１】
また、決定部３０９は、論理素子集合動作率算出部３０８によって算出された算出結果に基づいて、検出部３０５によって検出された入力パタンを、設計対象回路２００の動作率が最大（動作率）となる入力パタンに決定する。
【００７２】
具体的には、上界となる論理回路集合動作率Ｒｓと最大入力パタン動作率Ｒｐとの差が所定のしきい値Ｒｔ（Ｒｔ≧０）以下である場合、最大入力パタン動作率Ｒｐに信頼性があるとして、検出部３０５によって検出された入力パタンを、設計対象回路２００の動作率が最大（動作率）となる入力パタンに決定する。
【００７３】
たとえば、図２に示した設計対象回路２００では、論理回路集合動作率Ｒｓと入力パタン動作率Ｒ１がともに３／４であるため、差が０である、したがって、しきい値Ｒｔ以下となり、入力パタンＰ１を、ＬＳＩの動作率を最大にする入力パタンに決定する。
【００７４】
また、出力部３１０は、各種情報を出力する。具体的には、たとえば、検出部３０５によって検出された入力パタン、探索部３０３によって入力パタンが探索されなかった論理素子ペア（非同時遷移ペア）、論理素子集合動作率算出部３０８によって算出された論理素子集合動作率Ｒｓ、その論理素子集合（たとえば、サブグラフＣ内の論理素子Ｇ１，Ｇ２，ＦＦ）、決定部３０９によって決定された入力パタンなどを出力する。
【００７５】
出力部３１０による出力形式は、ディスプレイ１０８での画面表示、プリンタ１１３での印刷出力、ＲＡＭ１０３やＨＤ１０５へのデータ出力（保存）、他のコンピュータ装置への送信のいずれであってもよい。
【００７６】
なお、上述した入力部３０１、論理素子ペア抽出部３０２、探索部３０３、入力パタン動作率算出部３０４、検出部３０５、作成部３０６、サブグラフ抽出部３０７、論理素子集合動作率算出部３０８、決定部３０９、および出力部３１０は、具体的には、たとえば、図１に示したＲＯＭ１０２、ＲＡＭ１０３、ＨＤ１０５、ＦＤ１０７等に記録されたプログラムを、ＣＰＵ１０１が実行することによって、またはＩ／Ｆ１０９によってその機能を実現する。
【００７７】
（論理素子ペアの同時動作解析手順）
つぎに、この発明の実施の形態にかかる論理素子ペアの同時動作解析処理手順について説明する。図８は、この発明の実施の形態にかかる論理素子ペアの同時動作解析処理手順を示すフローチャートである。図８において、まず、入力部３０１により回路記述情報３２０が入力されるのを待ち受け（ステップＳ８０１：Ｎｏ）、回路記述情報３２０が入力された場合（ステップＳ８０１：Ｙｅｓ）、未選択の論理素子ペアがあるか否かを判断する（ステップＳ８０２）。
【００７８】
未選択の論理素子ペアがある場合（ステップＳ８０２：Ｙｅｓ）、論理素子ペア抽出部３０２により当該未選択の論理素子ペアを抽出する（ステップＳ８０３）。以降、抽出された論理素子ペアを「抽出論理素子ペア」と称す。
【００７９】
つぎに、探索部３０３により、抽出論理素子ペアが同時遷移する入力パタンを探索する（ステップＳ８０４）。そして、同時遷移する入力パタンがある場合（ステップＳ８０４：Ｙｅｓ）、抽出論理素子ペアを同時遷移可能なペア（同時遷移ペア）に決定し、その同時遷移する入力パタンをＲＡＭ１０３やＨＤ１０５に保持する（ステップＳ８０５）。そして、ステップＳ８０２に戻る。
【００８０】
一方、同時遷移する入力パタンがない場合（ステップＳ８０４：Ｎｏ）、抽出論理素子ペアを同時遷移不可能なペア（非同時遷移ペア）に決定する（ステップＳ８０６）。そして、ステップＳ８０２に戻る。
【００８１】
そして、ステップＳ８０２において、未選択の論理素子ペアがない場合（ステップＳ８０２：Ｎｏ）、入力パタン動作率算出部３０４により、同時遷移する入力パタンごとに入力パタン動作率を算出する（ステップＳ８０７）。このあと、検出部３０５により入力パタン動作率が最大となる入力パタンを検出する（ステップＳ８０８）。図６に示した図表では、入力パタンＰ１の入力パタン動作率Ｒ１が最大（Ｒ１＝３／４）であるため、入力パタンＰ１が検出される。
【００８２】
そして、出力部３１０により、検出された入力パタンや非同時遷移ペアを出力する（ステップＳ８０９）。このように、入力パタン動作率が最大の入力パタンにより、設計対象回路２００の最適な電源検証をおこなうことができ、デカップリングキャパシタンスの挿入量が適量か否かをユーザが判断することができる。
【００８３】
また、あらかじめ非同時遷移ペアを出力することにより、デカップリングキャパシタンスの無駄な挿入を防止できる。これにより、設計対象回路２００のチップ面積の縮小および製造コストの低減化を図ることができる。
【００８４】
また、上述したＬＳＩ解析処理手順では、論理素子ペアの同時動作解析だけで、設計対象回路２００全体の最大動作率の下界（最大入力パタン動作率Ｒｐ）を得ることができるため、設計対象回路２００全体の動作率解析をおこなう必要がない。したがって、設計期間の短縮化を図ることができる。
【００８５】
（ＬＳＩ解析処理手順）
つぎに、この発明の実施の形態にかかるＬＳＩ解析処理手順について説明する。ここで説明するＬＳＩ解析処理手順は、上述した論理素子ペアの同時動作解析処理をしたあと、設計対象回路２００全体の最大動作率解析をおこなう処理手順である。
【００８６】
設計対象回路２００全体の最大動作率解析をおこなうことで、設計対象回路２００全体の最大動作率の上界を得ることができる。論理回路ペアの同時動作解析で得られた設計対象回路２００全体の最大動作率の下界（最大入力パタン動作率Ｒｐ）の精度向上を図ることができる。
【００８７】
図９は、ＬＳＩ解析処理手順を示すフローチャートである。図９において、まず、論理素子ペア同時動作解析処理を実行し（ステップＳ９０１）、つぎに、回路全体最大動作率解析処理を実行する（ステップＳ９０２）。
【００８８】
つぎに、図９に示した論理素子ペア同時動作解析処理（ステップＳ９０１）の処理手順について説明する。図１０は、論理素子ペア同時動作解析処理（ステップＳ９０１）の処理手順を示すフローチャートである。なお、図８に示した処理ステップと同一処理ステップには同一ステップ番号を付しその説明を省略する。図１０においては、図８に示したステップＳ８０１〜ステップＳ８０８までを実行する。ステップＳ８０８の後は、回路全体最大動作率解析処理（ステップＳ９０２）に移行する。
【００８９】
つぎに、図９に示した回路全体最大動作率解析処理（ステップＳ９０２）の処理手順について説明する。図１１は、回路全体最大動作率解析処理（ステップＳ９０２）の処理手順を示すフローチャートである。
【００９０】
図１１において、まず、最大入力パタン動作率Ｒｐを設計対象回路２００全体の最大動作率の下界に設定する（ステップＳ１１０１）。そして、作成部３０６により、探索されたすべての入力パタンを用いて、同時遷移関係グラフを作成する（ステップＳ１１０２）。図６に示した図表では、入力パタンＰ１，Ｐ２が探索されたため、図７に示した同時遷移関係グラフＺが作成される。
【００９１】
つぎに、サブグラフ抽出部３０７により、同時遷移関係グラフの中から論理素子数が最大のサブグラフを抽出する（ステップＳ１１０３）。図７に示した同時遷移関係グラフＺでは、最大完全サブグラフＣを抽出する。
【００９２】
つぎに、論理素子集合動作率算出部３０８により、サブグラフ抽出部３０７によって抽出されたサブグラフに含まれている論理素子集合の論理素子集合動作率Ｒｓを算出する（ステップＳ１１０４）。この論理素子集合動作率Ｒｓが、設計対象回路２００全体の最大動作率の上界となる。
【００９３】
そして、出力部３１０により、論理素子集合動作率Ｒｓや抽出されたサブグラフ内の論理素子集合、ステップＳ８０６で得られた非同時遷移ペアを出力する（ステップＳ１１０５）。このように、論理素子集合動作率Ｒｓを得ることにより、ユーザに対し設計対象回路２００全体の最大動作率の上界を提供することができ、最大入力パタン動作率の信頼性の指標として用いることができる。
【００９４】
たとえば、論理素子集合動作率Ｒｓと最大入力パタン動作率Ｒｐとの差が小さければ、最大入力パタン動作率Ｒｐを設計対象回路２００全体の最大動作率と推定しても問題なく、その入力パタン（たとえば、入力パタンＰ１）を用いることで、デカップリングキャパシタンスの挿入量が適量か否かを判断することができる。
【００９５】
また、あらかじめ非同時遷移ペアを出力することにより、デカップリングキャパシタンスの無駄な挿入を防止できる。これにより、設計対象回路２００のチップ面積の縮小および製造コストの低減化を図ることができる。
【００９６】
また、図１１において、ステップＳ１１０５のあと、決定部３０９によりＲｓ−Ｒｐ≦Ｒｔであるか否かを判断する（ステップＳ１１０６）。Ｒｓ−Ｒｐ≦Ｒｔである場合（ステップＳ１１０６：Ｙｅｓ）、最大入力パタン動作率Ｒｐが得られる入力パタンを、設計対象回路２００全体の動作率が最大となる入力パタンに決定する（ステップＳ１１０７）。
【００９７】
そして、その入力パタンを決定結果として出力する（ステップＳ１１０８）。一方、Ｒｓ−Ｒｐ≦Ｒｔでない場合（ステップＳ１１０６：Ｎｏ）、エラー出力する（ステップＳ１１０９）。これにより一連の処理を終了する。
【００９８】
このステップＳ１１０６〜ステップＳ１１０９までの一連の処理により、信頼性のある設計対象回路２００全体の最大動作率の推定処理を自動実行することができ、設計期間の短縮化やユーザ間のばらつきの抑制を図ることができる。
【００９９】
また、このＬＳＩ解析によれば、論理素子ペア同時動作解析処理と設計対象回路２００全体の最大動作率解析処理とを分離したことにより、入力パタン空間の探索と設計対象回路２００上での同時動作する論理素子集合の探索とを別処理として分離することができる。これにより、ＬＳＩ解析が簡単化され、設計対象回路２００が大規模回路であっても適用可能となるというメリットがある。
【０１００】
以上説明したように、この発明の実施の形態にかかるＬＳＩ解析プログラム、該プログラムを記録した記録媒体、ＬＳＩ解析装置、およびＬＳＩ解析方法によれば、ＬＳＩの品質向上および製造コストの低減を図ることができる。
【０１０１】
なお、本実施の形態で説明したＬＳＩ解析方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
【０１０２】
（付記１）設計対象回路に関する回路記述情報の入力を受け付けさせる入力工程と、
前記入力工程によって入力された回路記述情報の中から任意の論理素子ペアを抽出させる論理素子ペア抽出工程と、
前記論理素子ペア抽出工程によって抽出された論理素子ペアが同時遷移する入力パタンを前記論理素子ペアごとに探索させる探索工程と、
前記探索工程によって探索された入力パタンに基づいて、当該入力パタンごとの動作率を算出させる入力パタン動作率算出工程と、
前記入力パタンの集合の中から、前記入力パタン動作率算出工程によって算出された動作率のうち最大動作率の入力パタンを検出させる検出工程と、
前記検出工程によって検出された入力パタンを出力させる出力工程と、
をコンピュータに実行させることを特徴とするＬＳＩ解析プログラム。
【０１０３】
（付記２）前記出力工程は、
さらに、前記探索工程によって入力パタンが探索されなかった論理素子ペアを出力させることを特徴とする付記１に記載のＬＳＩ解析プログラム。
【０１０４】
（付記３）設計対象回路に関する回路記述情報の入力を受け付けさせる入力工程と、
前記入力工程によって入力された回路記述情報の中から任意の論理素子ペアを抽出させる論理素子ペア抽出工程と、
前記論理素子ペア抽出工程によって抽出された論理素子ペアが同時遷移する入力パタンを前記論理素子ペアごとに探索させる探索工程と、
前記探索工程によって探索された入力パタンに基づいて、当該入力パタンごとの動作率を算出させる入力パタン動作率算出工程と、
前記入力パタンの集合の中から、前記入力パタン動作率算出工程によって算出された動作率のうち最大動作率の入力パタンを検出させる検出工程と、
前記探索工程によって探索された入力パタンに基づいて、論理素子間の同時遷移の関係をあらわす同時遷移関係グラフを作成させる作成工程と、
前記作成工程によって作成された同時遷移関係グラフの中から、互いに同時遷移しあう論理素子集合からなるサブグラフのうち論理素子数が最大のサブグラフを抽出させるサブグラフ抽出工程と、
前記サブグラフ抽出工程によって抽出されたサブグラフに含まれている論理素子集合の動作率を算出させる論理素子集合動作率算出工程と、
前記論理素子集合動作率算出工程によって算出された算出結果を出力させる出力工程と、
をコンピュータに実行させることを特徴とするＬＳＩ解析プログラム。
【０１０５】
（付記４）前記出力工程は、
さらに、前記論理素子集合を出力させることを特徴とする付記３に記載のＬＳＩ解析プログラム。
【０１０６】
（付記５）前記出力工程は、
さらに、前記探索工程によって入力パタンが探索されなかった論理素子ペアを出力させることを特徴とする付記３または４に記載のＬＳＩ解析プログラム。
【０１０７】
（付記６）前記論理素子集合動作率算出工程によって算出された算出結果に基づいて、前記検出工程によって検出された入力パタンを、前記設計対象回路の最大動作率の入力パタンに決定させる決定工程を前記コンピュータに実行させ、
前記出力工程は、
さらに、前記決定工程によって決定された入力パタンを出力させることを特徴とする付記３〜５のいずれか一つに記載のＬＳＩ解析プログラム。
【０１０８】
（付記７）付記１〜６のいずれか一つに記載のＬＳＩ解析プログラムを記録した前記コンピュータに読み取り可能な記録媒体。
【０１０９】
（付記８）設計対象回路に関する回路記述情報の入力を受け付ける入力手段と、
前記入力手段によって入力された回路記述情報の中から任意の論理素子ペアを抽出する論理素子ペア抽出手段と、
前記論理素子ペア抽出手段によって抽出された論理素子ペアが同時遷移する入力パタンを前記論理素子ペアごとに探索する探索手段と、
前記探索手段によって探索された入力パタンに基づいて、当該入力パタンごとの動作率を算出する入力パタン動作率算出手段と、
前記入力パタンの集合の中から、前記入力パタン動作率算出手段によって算出された動作率のうち最大動作率の入力パタンを検出する検出手段と、
前記検出手段によって検出された入力パタンを出力する出力手段と、
を備えることを特徴とするＬＳＩ解析装置。
【０１１０】
（付記９）設計対象回路に関する回路記述情報の入力を受け付ける入力手段と、
前記入力手段によって入力された回路記述情報の中から任意の論理素子ペアを抽出する論理素子ペア抽出手段と、
前記論理素子ペア抽出手段によって抽出された論理素子ペアが同時遷移する入力パタンを前記論理素子ペアごとに探索する探索手段と、
前記探索手段によって探索された入力パタンに基づいて、当該入力パタンごとの動作率を算出する入力パタン動作率算出手段と、
前記入力パタンの集合の中から、前記入力パタン動作率算出手段によって算出された動作率のうち最大動作率の入力パタンを検出する検出手段と、
前記探索手段によって探索された入力パタンに基づいて、論理素子間の同時遷移の関係をあらわす同時遷移関係グラフを作成する作成手段と、
前記作成手段によって作成された同時遷移関係グラフの中から、互いに同時遷移しあう論理素子集合からなるサブグラフのうち論理素子数が最大のサブグラフを抽出するサブグラフ抽出手段と、
前記サブグラフ抽出手段によって抽出されたサブグラフに含まれている論理素子集合の動作率を算出する論理素子集合動作率算出手段と、
前記論理素子集合動作率算出手段によって算出された算出結果を出力する出力手段と、
を備えることを特徴とするＬＳＩ解析装置。
【０１１１】
（付記１０）設計対象回路に関する回路記述情報の入力を受け付ける入力工程と、
前記入力工程によって入力された回路記述情報の中から任意の論理素子ペアを抽出する論理素子ペア抽出工程と、
前記論理素子ペア抽出工程によって抽出された論理素子ペアが同時遷移する入力パタンを前記論理素子ペアごとに探索する探索工程と、
前記探索工程によって探索された入力パタンに基づいて、当該入力パタンごとの動作率を算出する入力パタン動作率算出工程と、
前記入力パタンの集合の中から、前記入力パタン動作率算出工程によって算出された動作率のうち最大動作率の入力パタンを検出する検出工程と、
前記検出工程によって検出された入力パタンを出力する出力工程と、
を含んだことを特徴とするＬＳＩ解析方法。
【０１１２】
（付記１１）設計対象回路に関する回路記述情報の入力を受け付ける入力工程と、
前記入力工程によって入力された回路記述情報の中から任意の論理素子ペアを抽出する論理素子ペア抽出工程と、
前記論理素子ペア抽出工程によって抽出された論理素子ペアが同時遷移する入力パタンを前記論理素子ペアごとに探索する探索工程と、
前記探索工程によって探索された入力パタンに基づいて、当該入力パタンごとの動作率を算出する入力パタン動作率算出工程と、
前記入力パタンの集合の中から、前記入力パタン動作率算出工程によって算出された動作率のうち最大動作率の入力パタンを検出する検出工程と、
前記探索工程によって探索された入力パタンに基づいて、論理素子間の同時遷移の関係をあらわす同時遷移関係グラフを作成する作成工程と、
前記作成工程によって作成された同時遷移関係グラフの中から、互いに同時遷移しあう論理素子集合からなるサブグラフのうち論理素子数が最大のサブグラフを抽出するサブグラフ抽出工程と、
前記サブグラフ抽出工程によって抽出されたサブグラフに含まれている論理素子集合の動作率を算出する論理素子集合動作率算出工程と、
前記論理素子集合動作率算出工程によって算出された算出結果を出力する出力工程と、
を含んだことを特徴とするＬＳＩ解析方法。
【産業上の利用可能性】
【０１１３】
以上のように、本発明にかかるＬＳＩ解析プログラム、該プログラムを記録した記録媒体、ＬＳＩ解析装置、およびＬＳＩ解析方法は、ＬＳＩの電源検証に有用であり、特に、大規模なＬＳＩの電源検証に適している。
【図面の簡単な説明】
【０１１４】
【図１】この発明の実施の形態にかかるＬＳＩ解析装置のハードウェア構成を示すブロック図である。
【図２】この発明の実施の形態にかかるＬＳＩ解析装置において設計対象回路の一例を示す回路図である。
【図３】この発明の実施の形態にかかるＬＳＩ解析装置の機能的構成を示すブロック図である。
【図４】図２に示した設計対象回路において同時遷移可能であると判断された場合の探索結果を示す説明図である。
【図５】図２に示した設計対象回路において同時遷移不可能であると判断された場合の探索結果を示す説明図である。
【図６】探索部による探索結果を示す図表である。
【図７】図２に示した設計対象回路の同時遷移関係グラフを示す説明図である。
【図８】この発明の実施の形態にかかる論理素子ペアの同時動作解析処理手順を示すフローチャートである。
【図９】ＬＳＩ解析処理手順を示すフローチャートである。
【図１０】論理素子ペア同時動作解析処理の処理手順を示すフローチャートである。
【図１１】回路全体最大動作率解析処理の処理手順を示すフローチャートである。
【符号の説明】
【０１１５】
２００  設計対象回路
３００  ＬＳＩ解析装置
３０１  入力部
３０２  論理素子ペア抽出部
３０３  探索部
３０４  入力パタン動作率算出部
３０５  検出部
３０６  作成部
３０７  サブグラフ抽出部
３０８  論理素子集合動作率算出部
３０９  決定部
３１０  出力部
３２０  回路記述情報
【図１】
0004747036.tif 000002
【図２】
0004747036.tif 000003
【図３】
0004747036.tif 000004
【図４】
0004747036.tif 000005
【図５】
0004747036.tif 000006
【図６】
0004747036.tif 000007
【図７】
0004747036.tif 000008
【図８】
0004747036.tif 000009
【図９】
0004747036.tif 000010
【図１０】
0004747036.tif 000011
【図１１】
0004747036.tif 000012