(57)【特許請求の範囲】
【請求項１】
解析対象回路のタイミング解析結果の入力を受け付けさせる入力工程と、
前記入力工程によって入力されたタイミング解析結果から遅延値が所定範囲内となるクリティカルパスを検出させる検出工程と、
前記検出工程によって検出された各クリティカルパスの平均遅延値に基づいて、前記解析対象回路内の全パスのうち前記クリティカルパスを除く他のパスの平均遅延分布を算出させる平均遅延分布算出工程と、
前記クリティカルパスを構成する各回路素子の遅延に関する確率密度分布に基づいて、前記検出工程によって検出されたクリティカルパスの遅延に関する確率密度分布を算出させる第１の確率密度分布算出工程と、
前記第１の確率密度分布算出工程によって算出された前記クリティカルパスの遅延に関する確率密度分布と、前記平均遅延分布算出工程によって算出された前記他のパスの平均遅延分布とに基づいて、前記解析対象回路に含まれる全パスの遅延に関する確率密度分布を算出させる第２の確率密度分布算出工程と、
前記クリティカルパスの遅延に関する確率密度分布と前記第２の確率密度分布算出工程によって算出された全パスの遅延に関する確率密度分布とに基づいて、前記クリティカルパスの統計的遅延値と前記全パスの統計的遅延値との差分を算出させる差分算出工程と、
をコンピュータに実行させることを特徴とする遅延解析プログラム。
【請求項２】
前記第２の確率密度分布算出工程は、
さらに、前記他のパスの平均遅延分布に基づいて、前記他のパスの遅延に関する確率密度分布を算出させ、前記クリティカルパスの遅延に関する確率密度分布と前記他のパスの遅延に関する確率密度分布とに基づいて、前記全パスの遅延に関する確率密度分布を算出させることを特徴とする請求項１に記載の遅延解析プログラム。
【請求項３】
請求項１または２に記載の遅延解析プログラムを記録したコンピュータに読み取り可能な記録媒体。
【請求項４】
入力手段、検出手段、平均遅延分布算出手段、第１の確率密度分布算出手段、第２の確率密度分布算出手段、および差分算出手段を備えるコンピュータが、
前記入力手段により、解析対象回路のタイミング解析結果の入力を受け付ける入力工程と、
前記検出手段により、前記入力工程によって入力されたタイミング解析結果から遅延値が所定範囲内となるクリティカルパスを検出する検出工程と、
前記平均遅延分布算出手段により、前記検出工程によって検出された各クリティカルパスの平均遅延値に基づいて、前記解析対象回路内の全パスのうち前記クリティカルパスを除く他のパスの平均遅延分布を算出する平均遅延分布算出工程と、
前記第１の確率密度分布算出手段により、前記クリティカルパスを構成する各回路素子の遅延に関する確率密度分布に基づいて、前記検出工程によって検出されたクリティカルパスの遅延に関する確率密度分布を算出する第１の確率密度分布算出工程と、
前記第２の確率密度分布算出手段により、前記第１の確率密度分布算出工程によって算出された前記クリティカルパスの遅延に関する確率密度分布と、前記平均遅延分布算出工程によって算出された前記他のパスの平均遅延分布とに基づいて、前記解析対象回路に含まれる全パスの遅延に関する確率密度分布を算出する第２の確率密度分布算出工程と、
前記差分算出手段により、前記クリティカルパスの遅延に関する確率密度分布と前記第２の確率密度分布算出工程によって算出された全パスの遅延に関する確率密度分布とに基づいて、前記クリティカルパスの統計的遅延値と前記全パスの統計的遅延値との差分を算出する差分算出工程と、
を実行することを特徴とする遅延解析方法。
【請求項５】
解析対象回路のタイミング解析結果の入力を受け付ける入力手段と、
前記入力手段によって入力されたタイミング解析結果から遅延値が所定範囲内となるクリティカルパスを検出する検出手段と、
前記検出手段によって検出された各クリティカルパスの平均遅延値に基づいて、前記解析対象回路内の全パスのうち前記クリティカルパスを除く他のパスの平均遅延分布を算出する平均遅延分布算出手段と、
前記クリティカルパスを構成する各回路素子の遅延に関する確率密度分布に基づいて、前記検出手段によって検出されたクリティカルパスの遅延に関する確率密度分布を算出する第１の確率密度分布算出手段と、
前記第１の確率密度分布算出手段によって算出された前記クリティカルパスの遅延に関する確率密度分布と、前記平均遅延分布算出手段によって算出された前記他のパスの平均遅延分布とに基づいて、前記解析対象回路に含まれる全パスの遅延に関する確率密度分布を算出する第２の確率密度分布算出手段と、
前記クリティカルパスの遅延に関する確率密度分布と前記第２の確率密度分布算出手段によって算出された全パスの遅延に関する確率密度分布とに基づいて、前記クリティカルパスの統計的遅延値と前記全パスの統計的遅延値との差分を算出する差分算出手段と、
を備えたことを特徴とする遅延解析装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、解析対象回路の回路遅延を見積もる遅延解析プログラム、該プログラムを記録した記録媒体、遅延解析方法、および遅延解析装置に関する。
【背景技術】
【０００２】
近年、プロセスの微細化によりＶＬＳＩ製造における（プロセスバラツキなどの）統計的要因の影響が大きくなってきており、ＶＬＳＩ設計においても、要求された性能を持つ回路を歩留まり良く作成するために、予めその影響を考慮した遅延改善技術が必要となる。また、従来において、プロセスなどのバラツキを考慮し不要な遅延マージンをなくす方法として、統計的遅延解析という手法が提案されている（たとえば、下記特許文献１を参照。）。さらに、論理回路の遅延を最小化する遅延最小化装置が提案されている（たとえば、下記特許文献２を参照。）。
【０００３】
【特許文献１】特開２００４−２５２８３１号公報
【特許文献２】特開平７−３３４５３０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の遅延改善技術では、統計的要因を正確に扱うことは困難であるという問題があった。たとえば、従来の静的遅延解析（ＳＴＡ）において統計的要因を扱う場合、要因の最悪値で見積もるため、かなり悲観的でかつ不正確な回路遅延値となっていた。したがって、回路設計の手戻りが生じ、設計者の負担が増大するとともに、設計期間の長期化を招くという問題があった。
【０００５】
また、上述した特許文献１の従来技術を用いてチップ内の全パスの遅延解析をおこなうため、その遅延解析に費やす処理時間が膨大となり、設計期間の長期化を招くという問題があった。さらに、上述した特許文献１の従来技術では、パーシャルコラップシングという論理レベルで回路遅延を小さくする技術であるため、タイミング解析をおこなわずに回路遅延を最小化している。したがって、クリティカルパスの遅延が考慮されていないこととなり、正確な回路遅延を得られないという問題があった。
【０００６】
この発明は、上述した従来技術による問題点を解消するため、解析対象回路の回路遅延を効率的かつ正確におこなうことにより、設計者の負担軽減や設計期間の短縮化を図ることができる遅延解析プログラム、該プログラムを記録した記録媒体、遅延解析方法、および遅延解析装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するため、この発明にかかる遅延解析プログラム、該プログラムを記録した記録媒体、遅延解析方法、および遅延解析装置は、解析対象回路のタイミング解析結果の入力を受け付け、入力されたタイミング解析結果から遅延値が所定範囲内となるクリティカルパスを検出し、検出された各クリティカルパスの平均遅延値に基づいて、前記解析対象回路内の全パスのうち前記クリティカルパスを除く他のパスの平均遅延分布を算出し、前記クリティカルパスを構成する各回路素子の遅延に関する確率密度分布に基づいて、検出されたクリティカルパスの確率密度分布を算出し、算出された前記クリティカルパスの確率密度分布と、算出された前記他のパスの平均遅延分布とに基づいて、前記解析対象回路に含まれる全パスの確率密度分布を算出し、前記クリティカルパスの確率密度分布と算出された全パスの確率密度分布とに基づいて、前記クリティカルパスの統計的遅延値と前記全パスの統計的遅延値との差分を算出することを特徴とする。
【０００８】
この発明によれば、解析対象回路のクリティカルパスから算出された統計的遅延値の信頼度を見積もることができる。
【０００９】
また、上記発明において、前記他のパスの平均遅延分布に基づいて、前記他のパスの確率密度分布を算出し、前記クリティカルパスの確率密度分布と算出された前記他のパスの確率密度分布とに基づいて、前記全パスの確率密度分布を算出することとしてもよい。
【００１０】
この発明によれば、クリティカルパスから算出される確率密度分布よりも精度のよい確率密度分布を算出することができる。
【００１１】
また、上記発明において、算出された差分を用いて、前記クリティカルパスの統計的遅延値を修正することとしてもよい。
【００１２】
この発明によれば、解析対象回路のクリティカルパスの統計的遅延値よりも正確な統計的遅延値を算出することができる。
【００１３】
また、上記発明において、算出された差分が所定値以下であるか否かを判断し、前記誤差が所定値以下でないと判断された場合、前記クリティカルパスの統計的遅延値を、前記差分を用いて修正することとしてもよい。
【００１４】
この発明によれば、解析対象回路のクリティカルパスの統計的遅延値よりも正確な統計的遅延値を算出することができる。
【００１５】
また、上記発明において、前記他のパスの平均遅延分布と前記クリティカルパスの確率密度分布とに基づいて、前記他のパスのうち前記平均遅延値が当該平均遅延値の有効性を規定する基準値以上となるパス（以下、「有効パス」という）を特定し、前記全パスの確率密度分布の中から、特定された有効パスの確率密度分布を抽出し、前記クリティカルパスの確率密度分布と前記有効パスの確率密度分布とに基づいて、前記クリティカルパスの統計的遅延値と前記有効パスの統計的遅延値との差分を算出することとしてもよい。
【００１６】
この発明によれば、解析対象回路の統計的遅延値の精度を向上させることができる。
【００１７】
また、上記発明において、算出された差分が所定値以下であるか否かを判断し、前記差分が所定値以下でないと判断された場合、前記有効パスを特定することとしてもよい。
【００１８】
この発明によれば、解析対象回路の統計的遅延値の精度を向上させることができる。
【００１９】
また、上記発明において、前記他のパスの平均遅延分布と前記クリティカルパスの確率密度分布とに基づいて、前記他のパスのうち前記平均遅延値が、当該平均遅延値の有効性を規定する基準値以上のパスに関する情報を表示画面に表示することとしてもよい。
【００２０】
この発明によれば、有効パスの数や基準値を確認することができる。
【発明の効果】
【００２１】
本発明にかかる遅延解析プログラム、該プログラムを記録した記録媒体、遅延解析方法、および遅延解析装置によれば、解析対象回路の回路遅延を効率的かつ正確におこなうことにより、設計者の負担軽減や設計期間の短縮化を図ることができるという効果を奏する。
【発明を実施するための最良の形態】
【００２２】
以下に添付図面を参照して、この発明にかかる遅延解析プログラム、該プログラムを記録した記録媒体、遅延解析方法、および遅延解析装置の好適な実施の形態を詳細に説明する。
【００２３】
（遅延解析装置のハードウェア構成）
まず、この発明の実施の形態にかかる遅延解析装置のハードウェア構成について説明する。図１は、この発明の実施の形態にかかる遅延解析装置のハードウェア構成を示すブロック図である。
【００２４】
図１において、遅延解析装置は、ＣＰＵ１０１と、ＲＯＭ１０２と、ＲＡＭ１０３と、ＨＤＤ（ハードディスクドライブ）１０４と、ＨＤ（ハードディスク）１０５と、ＦＤＤ（フレキシブルディスクドライブ）１０６と、着脱可能な記録媒体の一例としてのＦＤ（フレキシブルディスク）１０７と、ディスプレイ１０８と、Ｉ／Ｆ（インターフェース）１０９と、キーボード１１０と、マウス１１１と、スキャナ１１２と、プリンタ１１３と、を備えている。また、各構成部はバス１００によってそれぞれ接続されている。
【００２５】
ここで、ＣＰＵ１０１は、遅延解析装置の全体の制御を司る。ＲＯＭ１０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ１０３は、ＣＰＵ１０１のワークエリアとして使用される。ＨＤＤ１０４は、ＣＰＵ１０１の制御にしたがってＨＤ１０５に対するデータのリード／ライトを制御する。ＨＤ１０５は、ＨＤＤ１０４の制御で書き込まれたデータを記憶する。
【００２６】
ＦＤＤ１０６は、ＣＰＵ１０１の制御にしたがってＦＤ１０７に対するデータのリード／ライトを制御する。ＦＤ１０７は、ＦＤＤ１０６の制御で書き込まれたデータを記憶したり、ＦＤ１０７に記憶されたデータを遅延解析装置に読み取らせたりする。
【００２７】
また、着脱可能な記録媒体として、ＦＤ１０７のほか、ＣＤ−ＲＯＭ（ＣＤ−Ｒ、ＣＤ−ＲＷ）、ＭＯ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、メモリーカードなどであってもよい。ディスプレイ１０８は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ１０８は、たとえば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００２８】
Ｉ／Ｆ１０９は、通信回線を通じてインターネットなどのネットワーク１１４に接続され、このネットワーク１１４を介して他の装置に接続される。そして、Ｉ／Ｆ１０９は、ネットワーク１１４と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ１０９には、たとえばモデムやＬＡＮアダプタなどを採用することができる。
【００２９】
キーボード１１０は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス１１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【００３０】
スキャナ１１２は、画像を光学的に読み取り、遅延解析装置内に画像データを取り込む。なお、スキャナ１１２は、ＯＣＲ機能を持たせてもよい。また、プリンタ１１３は、画像データや文書データを印刷する。プリンタ１１３には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
【００３１】
つぎに、回路素子ライブラリ２００について説明する。図２は、回路素子ライブラリ２００の記憶内容を示す説明図である。回路素子ライブラリ２００は、回路素子ごとに、回路素子遅延分布情報２００−１〜２００−ｎを格納している。回路素子遅延分布情報２００−１〜２００−ｎは、回路素子ごとに、回路素子名とクロックの遅延に関する確率密度分布パラメータを有している。
【００３２】
また、遅延に関する確率密度分布パラメータは、その回路素子の平均遅延値および標準偏差を有している。たとえば、回路素子Ｃｉについては、平均遅延値ｍｉおよび標準偏差σｉを有しており、その分布関数は、確率密度分布Ｐｉである。なお、回路素子としては、バッファ、インバータ、論理ゲートなどが挙げられる。
【００３３】
（解析対象回路３００の一例）
つぎに、この発明の実施の形態にかかる解析対象回路３００の一例について説明する。図３−１は、この発明の実施の形態にかかる解析対象回路３００の一例を示す回路図である。なお、図面では一部を抜粋して表示している。図３−１において、解析対象回路３００は、回路素子Ｃ１〜Ｃ２０を有している。
【００３４】
つぎに、上述した解析対象回路３００のタイミング解析（ＳＴＡ）結果により得られるクリティカルパスについて説明する。図３−２は、解析対象回路３００のタイミング解析結果により得られるクリティカルパスを示す説明図である。図３−２において、タイミング解析結果により解析対象回路３００から４本のクリティカルパスＣＰ１〜ＣＰ４が検出されている。
【００３５】
クリティカルパスＣＰ１は、回路素子Ｃ１、Ｃ２、Ｃ６、Ｃ７を通る経路（パス）である。クリティカルパスＣＰ２は、回路素子Ｃ８、Ｃ２、Ｃ１２、Ｃ１３を通る経路（パス）である。クリティカルパスＣＰ３は、回路素子Ｃ１４、Ｃ１５、Ｃ１６、Ｃ１３を通る経路（パス）である。クリティカルパスＣＰ４は、回路素子Ｃ１７、Ｃ１８、Ｃ１９、Ｃ２０を通る経路（パス）である。
【００３６】
つぎに、この発明の実施の形態にかかるタイミング解析結果となるタイミングリスト４００について説明する。図４は、この発明の実施の形態にかかるタイミング解析結果となるタイミングリスト４００の一例を示す説明図である。図４において、タイミングリスト４００は、解析対象回路３００のタイミング解析（ＳＴＡ）によって得られる。タイミングリスト４００は、クリティカルパスＣＰ１〜ＣＰｚごとに、クリティカルパスＣＰ１〜ＣＰｚを構成する回路素子と、当該回路素子の平均遅延値と、累積遅延値とが記述されている。
【００３７】
たとえば、クリティカルパスＣＰ１については、回路素子Ｃ１、Ｃ２、Ｃ６、Ｃ７によって構成されている。タイミング解析では、図２に示した回路素子ライブラリ２００が用いられており、各回路素子Ｃ１、Ｃ２、Ｃ６、Ｃ７の平均遅延値は、それぞれ、ｍ１、ｍ２、ｍ６、ｍ７となる。
【００３８】
また、累積遅延値は、回路素子までの平均遅延値の合計であり、各クリティカルパスＣＰ１〜ＣＰｚにおいて最後端の回路素子の累積遅延値が、各クリティカルパスＣＰ１〜ＣＰｚの平均遅延値Ｍ１〜Ｍｚとなる。たとえば、クリティカルパスＣＰ１の累積遅延値の合計である平均遅延値Ｍ１は、最後端の回路素子Ｃ７までの遅延値の合計（ｍ１＋ｍ２＋ｍ６＋ｍ７）となる。
【００３９】
（遅延解析装置の機能的構成）
つぎに、この発明の実施の形態にかかる遅延解析装置５００の機能的構成について説明する。図５は、この発明の実施の形態にかかる遅延解析装置５００の機能的構成を示すブロック図である。図５において、遅延解析装置５００は、入力部５０１と、検出部５０２と、平均遅延分布算出部５０３と、第１の確率密度分布算出部５０４と、第２の確率密度分布算出部５０５と、差分算出部５０６と、判断部５０７と、修正部５０８と、特定部５０９と、抽出部５１０と、表示部５１１と、から構成されている。
【００４０】
まず、入力部５０１は、解析対象回路３００のタイミング解析結果の入力を受け付ける。具体的には、たとえば、図４に示したタイミングリスト４００の入力を受け付ける。入力されたタイミング解析結果（タイミングリスト４００）は、検出部５０２に出力される。
【００４１】
また、検出部５０２は、入力部５０１によって入力されたタイミング解析結果から遅延値が所定範囲内となるクリティカルパスを検出する。クリティカルパスの検出は、まず、タイミング解析結果に含まれている遅延値が最大のクリティカルパスの遅延に関する確率密度分布を算出する。具体的には、たとえば、入力部５０１によって入力されたタイミングリスト４００の累積遅延値Ｍ１〜Ｍｚのうち最大となる累積遅延値を有するクリティカルパスの遅延に関する確率密度分布を算出する。
【００４２】
ここで、タイミングリスト４００において、累積遅延値Ｍ１〜Ｍｚが大きい順にソートされている場合、クリティカルパスＣＰ１の累積遅延値Ｍ１が最大となるため、クリティカルパスＣＰ１の遅延に関する確率密度分布を算出する。
【００４３】
ここで、クリティカルパスＣＰ１を例に挙げて、確率密度分布の算出手法について説明する。確率密度分布を算出する場合、回路素子ライブラリ２００を参照する。クリティカルパスＣＰ１は、回路素子Ｃ１、Ｃ２、Ｃ６、Ｃ７から構成されているため、各回路素子Ｃ１、Ｃ２、Ｃ６、Ｃ７の標準偏差σ１、σ２、σ６、σ７を用いて、クリティカルパスＣＰ１の標準偏差σを下記式（１）により算出する。
【００４４】
【数１】
0004734141.tif 000002
【００４５】
そして、算出された平均遅延値Ｍ１および標準偏差σにより、累積遅延値が最大であるクリティカルパスＣＰ１の遅延に関する確率密度分布ＰＭ１を得ることができる。図６は、遅延に関する確率密度分布を示す説明図である。図６において、クリティカルパスＣＰ１の遅延に関する確率密度分布ＰＭ１は、平均遅延値Ｍ１および標準偏差σからなる正規分布としてあらわされている。そして、確率密度分布ＰＭ１が算出された場合、確率密度分布ＰＭ１に基づいて、（平均）遅延値が所定範囲内となるクリティカルパスを検出する。
【００４６】
より具体的には、たとえば、図６に示した確率密度分布ＰＭ１の（Ｍ１−３σ）から平均遅延値Ｍ１までの範囲内に累積遅延値Ｍ２，Ｍ３を有するクリティカルパスＣＰ２，ＣＰ３を検出する。図６には、クリティカルパスＣＰ２，ＣＰ３の確率密度分布ＰＭ２，ＰＭ３と、が示されている。また、確率密度分布ＰＭ１の（Ｍ１−３σ）以下の平均遅延値Ｍｚを有するクリティカルパスＣＰｚの確率密度分布ＰＭｚが示されている。
【００４７】
また、論理的試算によれば、確率密度分布ＰＭ１の（Ｍ１−３σ）以下に累積遅延値を有するクリティカルパスが１０万本あったとしても、解析対象回路３００全体の遅延値に与える影響は、１％以下となる。このため、確率密度分布ＰＭ１の（Ｍ１−３σ）から平均遅延値Ｍ１までの範囲内に平均遅延値を有するクリティカルパスのみを対象としても問題はない。
【００４８】
また、平均遅延分布算出部５０３は、検出部５０２によって検出された各クリティカルパスの平均遅延値から解析対象回路３００内のクリティカルパスを除くパスの平均遅延分布を算出する。図７は、パス数と平均遅延値の関係を示すグラフである。図７において、実線７０１は、クリティカルパスの平均遅延分布である。この平均遅延分布は、タイミングリスト４００の平均遅延値（累積遅延値）から得ることができる。また、点線によって示される波形７０２は、解析対象回路３００内のクリティカルパスを除く他のパスの平均遅延分布である。
【００４９】
ここで、波形７０２の算出手法について説明する。波形７０２は、実線７０１の近似曲線を外挿することにより得ることができる。まず、近似曲線を外挿する関数を定める。ここでは、近似曲線を外挿する関数の一例として、下記式（２）に示すガンマ関数を定める。
【００５０】
【数２】
0004734141.tif 000003
【００５１】
上記式（２）において、ｄは平均遅延値であり、Ａは、αおよびβの関数である。そして、αおよびβを変数として、実線７０１の値から最小自乗法によりαおよびβを算出する。そして、算出されたαおよびβを式（２）に代入することにより、波形７０２（および実線７０１）を示す関数（平均遅延分布）が算出される。
【００５２】
また、第１の確率密度分布算出部５０４は、クリティカルパスを構成する各回路素子の遅延に関する確率密度分布に基づいて、クリティカルパスの確率密度分布を算出する。具体的には、たとえば、検出部５０２によって検出されたクリティカルパスの確率密度分布を算出する。
【００５３】
ここで、クリティカルパスの確率密度分布の算出手法について説明する。クリティカルパスの確率密度分布の算出は、検出部５０２によって検出されたクリティカルパスの中から、解析対象回路３００を構成する回路素子を共有するクリティカルパスを検索し、解析対象回路３００の一部をなす部分回路を生成する。図８は、この発明の実施の形態にかかる部分回路を示す説明図である。図８において、解析対象回路３００は、部分回路Ｓ１と部分回路Ｓ２を有する。
【００５４】
クリティカルパスＣＰ１は、回路素子Ｃ１、Ｃ２、Ｃ６、Ｃ７から構成されているが、回路素子Ｃ２を共有するクリティカルパスＣＰ２が検索される。また、検索されたクリティカルパスＣＰ２は、回路素子Ｃ８、Ｃ２、Ｃ１２、Ｃ１３から構成されているが、回路素子Ｃ１３を共有するクリティカルパスＣＰ３が検索される。
【００５５】
すなわち、クリティカルパスＣＰ１とクリティカルパスＣＰ２は、回路素子Ｃ２を共有している。同様に、クリティカルパスＣＰ２とクリティカルパスＣＰ３は、回路素子Ｃ１３を共有している。クリティカルパスＣＰ１とクリティカルパスＣＰ３は、共有する回路素子を有していないが、クリティカルパスＣＰ２を介して間接的に関連付けられているため、クリティカルパスＣＰ１〜ＣＰ３を構成する回路は、部分回路Ｓ１を構成する。なお、回路素子Ｃ３〜Ｃ５、Ｃ９〜Ｃ１１は、部分回路Ｓ１には含まれない。
【００５６】
また、クリティカルパスＣＰ４は、回路素子Ｃ１７〜Ｃ２０から構成されているが、回路素子Ｃ１７〜Ｃ２０を共有するクリティカルパスが存在しないため、クリティカルパスＣＰ４がそのまま部分回路Ｓ２を構成する。
【００５７】
そして、生成された部分回路ごとに、当該部分回路の遅延に関する確率密度分布を算出する。図９は、遅延に関する確率密度分布と累積確率分布とを示す説明図である。図９において、遅延に関する確率密度分布Ｐを積分すると、累積確率分布Ｑとなる。
【００５８】
ここで、「統計的和（記号：＊）」および「累積分布積（記号：×）」の定義について説明する。説明を簡略化するため、２つの遅延分布ａ、ｂを用いて説明する。なお、遅延分布ａを確率密度関数であらわした確率密度分布をＰａ、遅延分布ｂを確率密度関数であらわした確率密度分布をＰｂ、遅延分布ａを累積確率関数であらわした累積確率分布をＱａ、遅延分布ｂを累積確率関数であらわした累積確率分布をＱｂとする。
【００５９】
確率密度分布Ｐａ、Ｐｂの統計的和は、下記式（３）によってあらわすことができる。
【００６０】
【数３】
0004734141.tif 000004
【００６１】
累積確率分布Ｑａ、Ｑｂの統計的和は、下記式（４）によってあらわすことができる。
【００６２】
【数４】
0004734141.tif 000005
【００６３】
確率密度分布Ｐａ、Ｐｂの累積分布積は、下記式（５）によってあらわすことができる。
（Ｐａ×Ｐｂ）（ｔ）＝Ｐａ（ｔ）・Ｑｂ（ｔ）＋Ｐｂ（ｔ）・Ｑａ（ｔ）
・・・（５）
【００６４】
累積確率分布Ｑａ、Ｑｂの累積分布積は、下記式（６）によってあらわすことができる。
（Ｑａ×Ｑｂ）（ｔ）＝Ｑａ（ｔ）・Ｑｂ（ｔ）・・・・・・・・・・（６）
【００６５】
確率密度分布の算出は、まず、部分回路内の各回路素子の遅延に関する確率密度分布を算出しておく。そして、回路素子が直列している箇所では、回路素子の遅延に関する確率密度分布の統計的和（上記式（３））を算出することで、当該直列箇所の遅延に関する確率密度分布を算出する。また、回路素子が並列している箇所では、回路素子の遅延に関する確率密度分布の累積分布積（上記式（５））を算出することで、当該箇所の累積分布積を算出する。
【００６６】
ここで、上述した部分回路Ｓ１を用いて、共有する回路素子が含まれている場合の部分回路Ｓ１の遅延に関する累積確率分布の算出手法について説明する。部分回路Ｓ１は、クリティカルパスＣＰ１およびクリティカルパスＣＰ２が共有する回路素子Ｃ２を有しており、また、クリティカルパスＣＰ２およびクリティカルパスＣＰ３が共有する回路素子Ｃ１３を有している。
【００６７】
したがって、回路素子Ｃ１、Ｃ２、Ｃ８に着目すると、回路素子Ｃ１、Ｃ８が並列なので、上記式（３）および式（５）を用いてあらわすことができる（下記式（７））。なお、Ｐ１は回路素子Ｃ１の遅延に関する確率密度分布、Ｐ２は回路素子Ｃ２の遅延に関する確率密度分布、Ｐ８は回路素子Ｃ８の遅延に関する確率密度分布である。
【００６８】
（Ｐ１×Ｐ８）＊Ｐ２・・・（７）
【００６９】
また、回路素子Ｃ１４〜Ｃ１６に着目すると、回路素子Ｃ１４〜Ｃ１６は直列なので、上記式（３）を用いてあわらすことができる（下記式（８））。なお、Ｐ１４は回路素子Ｃ１４の遅延に関する確率密度分布、Ｐ１５は回路素子Ｃ１５の遅延に関する確率密度分布、Ｐ１６は回路素子Ｃ１６の遅延に関する確率密度分布である。
【００７０】
Ｐ１４＊Ｐ１５＊Ｐ１６・・・（８）
【００７１】
このような関係から、部分回路Ｓ１の遅延に関する確率密度分布ＰＳ１は、以下の式（９）によってあらわすことができる。Ｐ１、Ｐ２，Ｐ６〜Ｐ８、Ｐ１２〜Ｐ１６は回路素子Ｃ１、Ｃ２，Ｃ６〜Ｃ８、Ｃ１２〜Ｃ１６の遅延に関する確率密度分布である。
【００７２】
【数５】
0004734141.tif 000006
【００７３】
上記式（８）により、共有されている回路素子Ｃ２、Ｃ１３前後の回路素子の確率密度分布について累積分布積をとることができるため、計算処理を簡素化することができ、計算速度の高速化を図ることができる。
【００７４】
また、部分回路Ｓ２の遅延に関する確率密度分布ＰＳ２は、共有されている回路素子がないため、以下の式（１０）によってあらわすことができる。Ｐ１７〜Ｐ２０は回路素子Ｃ１７〜Ｃ２０の遅延に関する累積確率分布である。
【００７５】
ＰＳ２＝Ｐ１７＊Ｐ１８＊Ｐ１９＊Ｐ２０・・・・（１０）
【００７６】
解析対象回路３００に関する確率密度分布Ｐは、部分回路Ｓ１の遅延に関する確率密度分布ＰＳ１と、部分回路Ｓ２の遅延に関する確率密度分布ＰＳ２を用いて、上記式（５）により、下記式（１１）によってあらわすことができる。
【００７７】
Ｐ＝ＰＳ１×ＰＳ２・・・・（１１）
【００７８】
また、第２の確率密度分布算出部５０５は、第１の確率密度分布算出部５０４によって算出されたクリティカルパスの確率密度分布と、平均遅延分布算出部５０３によって算出された平均遅延分布とに基づいて、解析対象回路３００に含まれる全パスの確率密度分布を算出する。
【００７９】
具体的には、たとえば、平均遅延分布算出部５０３によって算出された平均遅延分布から解析対象回路３００内のクリティカルパスを除く各他のパスの確率分布密度を算出する。そして、上記式（５）を用いて、算出された各他のパスの確率密度分布とクリティカルパスの確率密度分布との累積分布積により、解析対象回路３００内の全パスの確率分布密度を算出する。
【００８０】
ここで、図７に示した平均遅延分布から各他のパスの確率密度分布を算出する手法について説明する。図６において、説明したように、確率密度分布は、平均遅延値と標準偏差により表すことができる。平均遅延値（ｔ１，ｔ２，・・・，ｔＮ）は、図７の波形７０２から得ることができる。また、たとえば、クリティカルパスの平均遅延値が最小となる当該クリティカルパスの標準偏差を、各平均遅延値（ｔ１，ｔ２，・・・，ｔＮ）の標準偏差とすることができる。
【００８１】
具体的には、たとえば、クリティカルパスＣＰｘの平均遅延値が最小の場合には、クリティカルパスＣＰｘの標準偏差が各平均遅延値（ｔ１，ｔ２，・・・，ｔＮ）の標準偏差となる。平均遅延値が最小となるクリティカルパスが複数ある場合には、これらのクリティカルパスの中で最大の標準偏差を各平均遅延値（ｔ１，ｔ２，・・・，ｔＮ）の標準偏差とする。
【００８２】
また、たとえば、平均遅延分布から算出された各平均遅延値（ｔ１，ｔ２，・・・，ｔＮ）に一定の値（たとえば、０．０５）を掛けた値を標準偏差としてもよい。一定の値は、一般的には１未満の値である。上述した処理により算出された平均遅延値と標準偏差とにより、各他のパスの確率密度分布を算出することができる。
【００８３】
つぎに、解析対象回路３００内の全パスの確率密度分布の算出手法について示す。図１０は、図７に示した平均遅延分布から算出された確率密度分布について示す説明図である。図１０では、平均遅延値ｔ１およびｔＮの確率密度分布を示している。波形Ｒ１１、Ｒ１２、Ｒ１Ｅは、平均遅延値ｔ１の確率密度分布である。
【００８４】
また、波形ＲＮ１、ＲＮ２、ＲＮＦは、平均遅延値ｔＮの確率密度分布である。Ｅ、Ｆは、それぞれ平均遅延値ｔ１、ｔＮを持つパスの数であり、図７に示した平均遅延分布の縦軸の値から読み取ることができる。また、波形ＰＣＲは上記式（１０）により算出されたクリティカルパスの確率密度分布である。
【００８５】
全パスの確率密度分布の算出は、まず、上記式（５）を用いて、クリティカルパスの確率密度分布ＰＣＲと確率密度分布Ｒ１１との累積分布積ＰＲ１を算出する。つぎに、算出されたＰＲ１と確率密度分布Ｒ１２の累積分布積ＰＲ２を算出する。同様の処理を、平均遅延値ｔ１の各確率密度分布すべてに対しておこなう。
【００８６】
さらに、同様の処理を、平均遅延値がｔ２、ｔ３、・・・、ｔＮの各確率密度分布に対しておこなう。これにより、解析対象回路３００内の全パスの確率密度分布が算出される。上述した処理により算出された全パスの確率密度分布を波形Ｐａｌｌに示す。
【００８７】
また、差分算出部５０６は、クリティカルパスの確率密度分布と第２の確率密度分布算出部５０５によって算出された全パスの確率密度分布とに基づいて、クリティカルパスの統計的遅延値と全パスの統計的遅延値との差分を算出する。具体的には、たとえば、図１０に示したクリティカルパスの確率密度分布ＰＣＲから統計的遅延値ｔｄ１を算出する。さらに、全パスの確率密度分布Ｐａｌｌから統計的遅延値ｔｄ２を算出する。
【００８８】
ここで、統計的遅延値ｔｄ１（ｔｄ２）は、たとえば、確率密度分布における平均遅延値をｍ、標準偏差をσとし、ｍ＋３σ（９９．８６％）の統計遅延値が、それぞれ図１０に示すｔｄ１、ｔｄ２となる。これらの統計的遅延値の差（ｔｄ２−ｔｄ１）が差分（信頼度）となる。この差分（信頼度）は、具体的には、クリティカルパスから算出された統計的遅延値の信頼度である。この値が小さいほど、より正確な統計的遅延値であるといえる。
【００８９】
また、差分算出部５０６は、クリティカルパスの確率密度分布と抽出部５１０によって抽出された有効パスの確率密度分布とに基づいて、クリティカルパスの統計的遅延値と前記有効パスの統計的遅延値との差分を算出する。この処理については、後述する。
【００９０】
また、判断部５０７は、差分算出部５０６によって算出された差分が所定値以下であるかを判断する。所定の値は、予め遅延解析装置５００に入力されていてもよく、差分を算出するたびにユーザが入力するとしてもよい。
【００９１】
また、修正部５０８は、判断部５０７によって差分が所定値以下でないと判断された場合、差分算出部５０６によって算出された差分を用いて、クリティカルパスの統計的遅延値を修正する。具体的には、たとえば、差分が所定値よりも大きい場合、クリティカルパスの統計的遅延値に差分を足し合わせる。これにより、より正確な解析対象回路３００の統計的遅延値を得ることができる。
【００９２】
また、特定部５０９は、判断部５０７よって差分が所定値以下でないと判断された場合、他のパスの平均遅延分布とクリティカルパスの確率密度分布とに基づいて、他のパスのうち平均遅延値が当該平均遅延値の有効性を規定する基準値以上となるパス（以下、「有効パス」という）を特定する。
【００９３】
具体的には、たとえば、クリティカルパスの確率密度分布および他のパスの確率密度分布の平均遅延値のうち、最大の平均遅延値をＴ１とすると、Ｔ１−３σが基準値となる。そして、この基準値以上の平均遅延値を有するパスを特定する。より具体的には、たとえば、図１０に示した（Ｔ１−３σ）から平均遅延値Ｔ１までの範囲内に平均遅延値を有するパスの数である。特定された有効パスの本数は、たとえば、タイミング解析を実行する際の実行コマンドにオプションとして付加することができる。
【００９４】
このようにオプションを付加することにより、統計的遅延値を再度算出する際に、解析対象回路３００の遅延に影響を与えないパスの確率密度分布を除外して、当該統計的遅延値を算出することができる。そのため、算出される統計的遅延値の精度が向上する。
【００９５】
ここで、上述したタイミング解析の実行コマンドに付されるオプションについて説明する。図１１は、タイミング解析の実行コマンドに付されるオプションについて示す説明図である。図１１において、「ＳＴＡｅｘｅｃ」は、タイミング解析を実行するための実行コマンドである。「ＳＴＡＩｎＦｉｌｅ」は、タイミング解析をおこなう際に入力されるファイル名である。具体的には、図２に示した回路素子ライブラリのファイル名である。
【００９６】
「ＴｉｍｉｎｇＬｉｓｔ」は、タイミング解析の解析結果を示すファイル名である。具体的には、たとえば、図４に示したタイミングリストのファイル名である。「−１０００００」は、タイミング解析の実行コマンドにオプションとして付加された情報である。具体的には、たとえば、統計的遅延値の算出に用いられるパス数である。
【００９７】
また、抽出部５１０は、全パスの確率密度分布の中から、特定部５０９によって特定された有効パスの確率密度分布を抽出する。具体的には、たとえば、図１０に示した（Ｔ１−３σ）から平均遅延値Ｔ１までの範囲内に平均遅延値を有する確率密度分布を抽出する。
【００９８】
また、たとえば、上述したＳＴＡ実行コマンドに付加された情報として、出力パス数「−１０００００」が記述されている場合、他のパスの確率密度分布の中から、有効パスの確率密度分布を１０万本抽出する。このように、実行コマンドにオプションを付加することにより、再度遅延解析をおこなう場合に、以前の解析結果を利用して遅延解析をおこなうことができる。
【００９９】
抽出された有効パスの確率密度分布は差分算出部５０６に出力される。そして、有効パスの確率密度分布とクリティカルパスの確率密度分布とに基づいて、クリティカルパスの統計的遅延値と有効パスの統計的遅延値との差分を算出する。
【０１００】
具体的には、たとえば、上記式（５）を用いて、抽出された各有効パスの確率密度分布とクリティカルパスの確率密度分布との累積分布積により、解析対象回路３００の確率分布密度を算出する。そして、解析対象回路３００の統計的遅延値とクリティカルパスの統計的遅延値とを算出し、それらの差分を算出する。解析対象回路３００の確率密度分布の算出処理については、上記内容と重複するため、説明を省略する。
【０１０１】
また、表示部５１１は、他のパスの平均遅延分布とクリティカルパスの確率密度分布とに基づいて、他のパスのうち平均遅延値が、当該平均遅延値の有効性を規定する基準値以上のパスに関する情報を表示画面に表示する。具体的には、たとえば、特定部５０９よって特定された有効パス数、最大あるいは最小の遅延値を有する有効パスの当該遅延値の値、基準値の値などを表示画面に表示する。
【０１０２】
なお、上述した入力部５０１と、検出部５０２と、平均遅延分布算出部５０３と、第１の確率密度分布算出部５０４と、第２の確率密度分布算出部５０５と、差分算出部５０６と、判断部５０７と、修正部５０８と、特定部５０９と、抽出部５１０と、表示部５１１は、具体的には、たとえば、図１に示したＲＯＭ１０２、ＲＡＭ１０３、ＨＤ１０５などの記録媒体に記録されたプログラムを、ＣＰＵ１０１が実行することによって、またはＩ／Ｆ１０９によって、その機能を実現する。
【０１０３】
（遅延解析処理手順）
つぎに、この発明の実施の形態にかかる遅延解析装置５００の遅延解析処理手順について説明する。図１２は、この発明の実施の形態にかかる遅延解析装置５００の遅延解析処理手順を示すフローチャートである。図１２において、まず、入力部５０１により、タイミング解析結果の入力を待ち受け（ステップＳ１２０１：Ｎｏ）、タイミング解析結果が入力された場合（ステップＳ１２０１：Ｙｅｓ）、クリティカルパス検出処理を実行する（ステップＳ１２０２）。そして、平均遅延値算出部５０３により、クリティカルパスの平均遅延分布から対象回路３００内の全パスの平均遅延分布を算出する（ステップＳ１２０３）。
【０１０４】
つぎに、第１の確率密度分布算出部５０４により、クリティカルパスの確率密度分布算出処理を実行する（ステップＳ１２０４）。そして、有効パスが特定されているかを判断する（ステップＳ１２０５）。有効パスが特定されていない場合（ステップＳ１２０５：Ｎｏ）、第２の確率密度分布算出部５０５により、解析対象回路３００内の全パスの確率密度分布算出処理を実行し（ステップＳ１２０６）、ステップＳ１２０９に移行する。
【０１０５】
一方、有効パスが特定されている場合（ステップＳ１２０５：Ｙｅｓ）、各有効パスの確率密度分布を抽出する（ステップＳ１２０７）。そして、抽出された確率密度分布を用いて、解析対象回路の確率密度分布を算出する（ステップＳ１２０８）。そして、差分算出部５０６より、クリティカルパスと解析対象回路３００内の全パスの統計的遅延値をそれぞれ算出し（ステップＳ１２０９）、算出された統計的遅延値の差分（信頼度）を算出する（ステップＳ１２１０）。
【０１０６】
つぎに、判断部５０７、差分は所定値以下かを判断する（ステップＳ１２１１）。差分が所定値以下の場合（ステップＳ１２１１：Ｙｅｓ）、一連の処理を終了する。一方、差分が所定値以下でない場合（ステップＳ１２１１：Ｎｏ）、算出された差分により、クリティカルパスの統計的遅延値を再算出するかを判断する（ステップＳ１２１２）。ここで、統計的遅延値を再算出するか否かの判断は、ユーザからの入力により判断される。算出された差分は表示部５１１に表示され、ユーザは、表示部５１１された値を参照して、統計的遅延値を再算出するか否かを判断することができる。
【０１０７】
統計的遅延値を再算出する場合（ステップＳ１２１２：Ｙｅｓ）、特定部５０９より、有効パスを特定し（ステップＳ１２１４）、ステップＳ１２０５に戻り、有効パスが特定されているかを判断する一方、ステップＳ１２１２において、統計的遅延値を再算出しない場合（ステップＳ１２１２：Ｎｏ）、クリティカルパスの統計的遅延値を修正する（ステップＳ１２１３）。これにより一連の処理を終了する。
【０１０８】
つぎに、上述したクリティカルパス検出処理について説明する。図１３は、クリティカルパス検出処理手順を示すフローチャートである。図１３において、まず、検出部５０２」により、累積遅延値が最大となるクリティカルパス（最大遅延パス）を検出する（ステップＳ１３０１）。そして、最大遅延パスの遅延に関する確率密度分布を算出する（ステップＳ１３０２）。そして、この確率密度分布内に累積遅延値を有するクリティカルパス（ｘ本）を検出する（ステップＳ１３０３）。このあと、図１２に示したステップＳ１２０３に移行する。
【０１０９】
つぎに、上述した確率密度分布算出処理について説明する。図１４は、クリティカルパスの確率密度分布算出処理手順を示すフローチャートである。図１４において、確率密度分布算出部５０４は、まず、部分回路生成処理を実行する（ステップＳ１４０１）。部分回路生成処理については後述する。つぎに、ｋ＝１とし（ステップＳ１４０２）、部分回路Ｓｋの遅延に関する確率密度分布を算出する（ステップＳ１４０３）。
【０１１０】
そして、ｋをインクリメントし（ステップＳ１４０４）、ｋ＞ｍであるか否かを判断する（ステップＳ１４０５）。ｍは部分回路Ｓｋの総数である。ｋ＞ｍでない場合（ステップＳ１４０５：Ｎｏ）、ステップＳ１４０３に戻って、部分回路Ｓｋの遅延に関する累積確率分布を算出する。一方、ｋ＞ｍである場合（ステップＳ１４０５：Ｙｅｓ）、解析対象回路３００の遅延に関する確率密度分布を算出する（ステップＳ１４０６）。このあと、図１２に示したステップＳ１２０５に移行する。
【０１１１】
つぎに、上述した部分回路生成処理について説明する。図１５は、部分回路生成処理手順を示すフローチャートである。図１５において、ｊ＝１、ｋ＝０とし（ステップＳ１５０１）、検出部５０２によって検出されたｘ本のクリティカルパスの中から、クリティカルパスＣＰｊを抽出する（ステップＳ１５０２）。つぎに、クリティカルパスＣＰｊと回路素子を共有するクリティカルパス（共有クリティカルパス）を検索する（ステップＳ１５０３）。
【０１１２】
共有クリティカルパスが検索された場合（ステップＳ１５０４：Ｙｅｓ）、検索された共有クリティカルパスと回路素子を共有するクリティカルパス（共有クリティカルパス）を検索する（ステップＳ１５０５）。そして、ステップＳ１５０４に戻る。一方、共有クリティカルパスが検索されなかった場合（ステップＳ１５０４：Ｎｏ）、ｋをインクリメントして（ステップＳ１５０６）、部分回路Ｓｋを生成する（ステップＳ１５０７）。部分回路Ｓｋは、クリティカルパスＣＰｊを構成する回路素子と、共有クリティカルパスを構成する回路素子とからなる回路である。
【０１１３】
そして、ｊをインクリメントして（ステップＳ１５０８）、ｊ＞ｘであるか否かを判断する（ステップＳ１５０９）。ｊ＞ｘである場合（ステップＳ１５０９：Ｙｅｓ）、クリティカルパスＣＰｊは共有クリティカルパスとして検索されていたか否かを判断する（ステップＳ１５１０）。共有クリティカルパスとして検索されていた場合（ステップＳ１５１０：Ｙｅｓ）、ステップＳ１５０８に戻って、ｊをさらにインクリメントする。
【０１１４】
一方、共有クリティカルパスとして検索されていない場合（ステップＳ１５１０：Ｎｏ）、ステップＳ１５０３に戻って、クリティカルパスＣＰｊと回路素子を共有するクリティカルパス（共有クリティカルパス）を検索する。また、ステップＳ１５０９において、ｊ＞ｘでない場合（ステップＳ１５０９：Ｎｏ）、図１４に示したステップＳ１４０２に移行する。
【０１１５】
つぎに、上述した解析対象回路の全回路の確率密度分布算出処理について説明する。図１６は、全回路の確率密度分布算出処理について示すフローチャートである。図１６において、まず、ｒ＝１、ｓ＝１とし（ステップＳ１６０１）、ＰＲｎ＝ＰＣＲとする（ステップＳ１６０２）。ここで、ＰＣＲは、上述したクリティカルパスの確率密度分布である。
【０１１６】
そして、ＰＲｎとＲｒｓの累積分布積（ＰＲｎ×Ｒｒｓ）を算出する（ステップＳ１６０３）。ここで、ｎは、累積分布積により演算をおこなった回数である。そして、ｓが最大値であるかを判断する（ステップＳ１６０４）。ｓの最大値とは、所定の平均遅延値を持つパスの数である。ｓが最大値でない場合（ステップＳ１６０４：Ｎｏ）、ｓをインクリメントして（ステップＳ１６０５）、ステップＳ１６０３に戻り累積分布積を算出する。一方、ステップＳ１６０４において、ｓが最大値の場合（ステップＳ１６０４：Ｙｅｓ）、ｒが最大値であるかを判断する（ステップＳ１６０６）。
【０１１７】
ｒが最大値でない場合（ステップＳ１６０６：Ｎｏ）、ｒをインクリメントして（ステップＳ１６０７）、ステップＳ１６０３に戻り、累積分布積を算出する。一方、ステップＳ１６０７において、ｒが最大値の場合（ステップＳ１６０６：Ｙｅｓ）、図１２に示したステップＳ１２０９に移行する。
【０１１８】
以上説明したように、この発明の実施の形態によれば、クリティカルパスの平均遅延値から対象回路内の全パスの確率密度分布を算出することができる。そして、算出された全パスの確率密度分布から当該全パスの統計的遅延値を算出することができる。そのため、算出される統計的遅延値の精度を向上させることができる。
【０１１９】
以上説明したように、遅延解析プログラム、該プログラムを記録した記録媒体、遅延解析方法、および遅延解析装置によれば、解析対象回路の回路遅延を効率的かつ正確におこなうことにより、設計者の負担軽減や設計期間の短縮化を図ることができるという効果を奏する。
【０１２０】
なお、本実施の形態で説明した遅延解析方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
【０１２１】
（付記１）解析対象回路のタイミング解析結果の入力を受け付けさせる入力工程と、
前記入力工程によって入力されたタイミング解析結果から遅延値が所定範囲内となるクリティカルパスを検出させる検出工程と、
前記検出工程によって検出された各クリティカルパスの平均遅延値に基づいて、前記解析対象回路内の全パスのうち前記クリティカルパスを除く他のパスの平均遅延分布を算出させる平均遅延分布算出工程と、
前記クリティカルパスを構成する各回路素子の遅延に関する確率密度分布に基づいて、前記検出工程によって検出されたクリティカルパスの確率密度分布を算出させる第１の確率密度分布算出工程と、
前記第１の確率密度分布算出工程によって算出された前記クリティカルパスの確率密度分布と、前記平均遅延分布算出工程によって算出された前記他のパスの平均遅延分布とに基づいて、前記解析対象回路に含まれる全パスの確率密度分布を算出させる第２の確率密度分布算出工程と、
前記クリティカルパスの確率密度分布と前記第２の確率密度分布算出工程によって算出された全パスの確率密度分布とに基づいて、前記クリティカルパスの統計的遅延値と前記全パスの統計的遅延値との差分を算出させる差分算出工程と、
をコンピュータに実行させることを特徴とする遅延解析プログラム。
【０１２２】
（付記２）前記第１の確率密度分布算出工程は、
さらに、前記他のパスの平均遅延分布に基づいて、前記他のパスの確率密度分布を算出させ、
前記第２の確率密度分布算出工程は、
前記クリティカルパスの確率密度分布と前記第１の確率密度分布算出工程によって算出された前記他のパスの確率密度分布とに基づいて、前記全パスの確率密度分布を算出させることを特徴とする付記１に記載の遅延解析プログラム。
【０１２３】
（付記３）さらに、前記差分算出工程によって算出された差分を用いて、前記クリティカルパスの統計的遅延値を修正させる修正工程をコンピュータに実行させることを特徴とする付記１または２に記載の遅延解析プログラム。
【０１２４】
（付記４）さらに、前記差分算出工程によって算出された差分が所定値以下であるか否かを判断させる判断工程をコンピュータに実行させ、
前記修正工程は、
前記判断工程によって前記誤差が所定値以下でないと判断された場合、前記クリティカルパスの統計的遅延値を、前記差分を用いて修正させることを特徴とする付記３に記載の遅延解析プログラム。
【０１２５】
（付記５）前記他のパスの平均遅延分布と前記クリティカルパスの確率密度分布とに基づいて、前記他のパスのうち前記平均遅延値が当該平均遅延値の有効性を規定する基準値以上となるパス（以下、「有効パス」という）を特定させる特定工程と、
前記全パスの確率密度分布の中から、前記特定工程によって特定された有効パスの確率密度分布を抽出させる抽出工程と、
前記クリティカルパスの確率密度分布と前記抽出工程によって抽出された前記有効パスの確率密度分布とに基づいて、前記クリティカルパスの統計的遅延値と前記有効パスの統計的遅延値との差分を算出させる差分再算出工程と、
をコンピュータに実行させることを特徴とする付記１または２に記載の遅延解析プログラム。
【０１２６】
（付記６）さらに、前記差分算出工程によって算出された差分が所定値以下であるか否かを判断させる判断工程をコンピュータに実行させ、
前記特定工程は、
前記判断工程によって前記差分が所定値以下でないと判断された場合、前記有効パスを特定することを特徴とする付記５に記載の遅延解析プログラム。
【０１２７】
（付記７）前記他のパスの平均遅延分布と前記クリティカルパスの確率密度分布とに基づいて、前記他のパスのうち前記平均遅延値が、当該平均遅延値の有効性を規定する基準値以上のパスに関する情報を表示画面に表示させる表示工程をコンピュータに実行させることを特徴とする付記１または２に記載の遅延解析プログラム。
【０１２８】
（付記８）付記１〜７のいずれか一つに記載の遅延解析プログラムを記録したコンピュータに読み取り可能な記録媒体。
【０１２９】
（付記９）解析対象回路のタイミング解析結果の入力を受け付ける入力工程と、
前記入力工程によって入力されたタイミング解析結果から遅延値が所定範囲内となるクリティカルパスを検出する検出工程と、
前記検出工程によって検出された各クリティカルパスの平均遅延値に基づいて、前記解析対象回路内の全パスのうち前記クリティカルパスを除く他のパスの平均遅延分布を算出する平均遅延分布算出工程と、
前記クリティカルパスを構成する各回路素子の遅延に関する確率密度分布に基づいて、前記検出工程によって検出されたクリティカルパスの確率密度分布を算出する第１の確率密度分布算出工程と、
前記第１の確率密度分布算出工程によって算出された前記クリティカルパスの確率密度分布と、前記平均遅延分布算出工程によって算出された前記他のパスの平均遅延分布とに基づいて、前記解析対象回路に含まれる全パスの確率密度分布を算出する第２の確率密度分布算出工程と、
前記クリティカルパスの確率密度分布と前記第２の確率密度分布算出工程によって算出された全パスの確率密度分布とに基づいて、前記クリティカルパスの統計的遅延値と前記全パスの統計的遅延値との差分を算出する差分算出工程と、
を含むことを特徴とする遅延解析方法。
【０１３０】
（付記１０）解析対象回路のタイミング解析結果の入力を受け付ける入力手段と、
前記入力手段によって入力されたタイミング解析結果から遅延値が所定範囲内となるクリティカルパスを検出する検出手段と、
前記検出手段によって検出された各クリティカルパスの平均遅延値に基づいて、前記解析対象回路内の全パスのうち前記クリティカルパスを除く他のパスの平均遅延分布を算出する平均遅延分布算出手段と、
前記クリティカルパスを構成する各回路素子の遅延に関する確率密度分布に基づいて、前記検出手段によって検出されたクリティカルパスの確率密度分布を算出する第１の確率密度分布算出手段と、
前記第１の確率密度分布算出手段によって算出された前記クリティカルパスの確率密度分布と、前記平均遅延分布算出手段によって算出された前記他のパスの平均遅延分布とに基づいて、前記解析対象回路に含まれる全パスの確率密度分布を算出する第２の確率密度分布算出手段と、
前記クリティカルパスの確率密度分布と前記第２の確率密度分布算出手段によって算出された全パスの確率密度分布とに基づいて、前記クリティカルパスの統計的遅延値と前記全パスの統計的遅延値との差分を算出する差分算出手段と、
を備えたことを特徴とする遅延解析装置。
【産業上の利用可能性】
【０１３１】
以上のように、本発明にかかる遅延解析プログラム、該プログラムを記録した記録媒体、遅延解析方法、および遅延解析装置は、ＬＳＩの遅延解析に有用であり、特に、ＶＬＳＩの遅延解析に適している。
【図面の簡単な説明】
【０１３２】
【図１】この発明の実施の形態にかかる遅延解析装置のハードウェア構成を示すブロック図である。
【図２】回路素子ライブラリの記憶内容を示す説明図である。
【図３−１】この発明の実施の形態にかかる解析対象回路の一例を示す回路図である。
【図３−２】解析対象回路のタイミング解析結果により得られるクリティカルパスを示す説明図である。
【図４】この発明の実施の形態にかかるタイミング解析結果となるタイミングリストの一例を示す説明図である。
【図５】この発明の実施の形態にかかる遅延解析装置５００の機能的構成を示すブロック図である。
【図６】遅延に関する確率密度分布を示す説明図である。
【図７】パス数と平均遅延値の関係を示すグラフである。
【図８】この発明の実施の形態にかかる部分回路を示す説明図である。
【図９】遅延に関する確率密度分布と累積確率分布とを示す説明図である。
【図１０】図７に示した平均遅延分布から算出された確率密度分布について示す説明図である。
【図１１】タイミング解析の実行コマンドに付されるオプションについて示す説明図である。
【図１２】この発明の実施の形態にかかる遅延解析装置５００の遅延解析処理手順を示すフローチャートである。
【図１３】クリティカルパス検出処理手順を示すフローチャートである。
【図１４】クリティカルパスの確率密度分布算出処理手順を示すフローチャートである。
【図１５】部分回路生成処理手順を示すフローチャートである。
【図１６】全回路の確率密度分布算出処理について示すフローチャートである。
【符号の説明】
【０１３３】
２００  回路素子ライブラリ
３００  解析対象回路
４００  タイミングリスト
５００  遅延解析装置
５０１  入力部
５０２  検出部
５０３  平均遅延分布算出部
５０４  第１の確率分布密度算出部
５０５  第２の確率分布密度算出部
５０６  差分算出部
５０７  判断部
５０８  修正部
５０９  特定部
５１０  抽出部
５１１  表示部
【図１】
0004734141.tif 000007
【図２】
0004734141.tif 000008
【図３−１】
0004734141.tif 000009
【図３−２】
0004734141.tif 000010
【図４】
0004734141.tif 000011
【図５】
0004734141.tif 000012
【図６】
0004734141.tif 000013
【図７】
0004734141.tif 000014
【図８】
0004734141.tif 000015
【図９】
0004734141.tif 000016
【図１０】
0004734141.tif 000017
【図１１】
0004734141.tif 000018
【図１２】
0004734141.tif 000019
【図１３】
0004734141.tif 000020
【図１４】
0004734141.tif 000021
【図１５】
0004734141.tif 000022
【図１６】
0004734141.tif 000023