(57)【特許請求の範囲】
【請求項１】
解析対象回路の遅延解析結果に基づいて、前記解析対象回路内のパスの遅延に関するスラック確率分布を算出するスラック確率分布算出工程と、
前記スラック確率分布算出工程によって算出されたスラック確率分布の特徴に基づいて、修正対象パスの基準となるパスのスラック確率分布を特定する特定工程と、
前記特定工程によって特定されたスラック確率分布に基づいて、前記解析対象回路内のパスのうち前記修正対象パスを検出する検出工程と、
をコンピュータに実行させることを特徴とする遅延解析プログラム。
【請求項２】
回路素子または配線（以下、「回路構成要素」という）に関する遅延情報の中から、前記検出工程によって検出された修正対象パスを構成する回路構成要素と同種の回路構成要素に関する遅延情報を抽出する抽出工程を前記コンピュータに実行させることを特徴とする請求項１に記載の遅延解析プログラム。
【請求項３】
前記修正対象パスを構成する回路構成要素に関する遅延情報と、前記抽出工程によって抽出された遅延情報とに基づいて、前記同種の回路構成要素を、前記修正対象パスを構成する回路構成要素の修正候補に決定する決定工程を前記コンピュータに実行させることを特徴とする請求項２に記載の遅延解析プログラム。
【請求項４】
前記修正対象パスを構成する回路構成要素を、前記決定工程によって決定された修正候補に置き換えることにより修正されたパスに関する情報を生成する生成工程を前記コンピュータに実行させることを特徴とする請求項３に記載の遅延解析プログラム。
【請求項５】
前記生成工程によって生成された情報を出力する修正パス情報出力工程を前記コンピュータに実行させることを特徴とする請求項４に記載の遅延解析プログラム。
【請求項６】
コンピュータが、
解析対象回路の遅延解析結果に基づいて、前記解析対象回路内のパスの遅延に関するスラック確率分布を算出するスラック確率分布算出工程と、
前記スラック確率分布算出工程によって算出されたスラック確率分布の特徴に基づいて、修正対象パスの基準となるパスのスラック確率分布を特定する特定工程と、
前記特定工程によって特定されたスラック確率分布に基づいて、前記解析対象回路内のパスのうち前記修正対象パスを検出する検出工程と、
を実行することを特徴とする遅延解析方法。
【請求項７】
解析対象回路の遅延解析結果に基づいて、前記解析対象回路内のパスの遅延に関するスラック確率分布を算出するスラック確率分布算出手段と、
前記スラック確率分布算出手段によって算出されたスラック確率分布の特徴に基づいて、修正対象パスの基準となるパスのスラック確率分布を特定する特定手段と、
前記特定手段によって特定されたスラック確率分布に基づいて、前記解析対象回路内のパスのうち前記修正対象パスを検出する検出手段と、
を備えることを特徴とする遅延解析装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、解析対象回路の回路遅延を見積もる遅延解析プログラム、記録媒体、遅延解析方法、および遅延解析装置に関する。
【背景技術】
【０００２】
近年、プロセスの微細化によりＶＬＳＩ製造における（プロセスバラツキなどの）統計的要因の影響が大きくなってきており、ＶＬＳＩ設計においても、要求された性能を持つ回路を歩留まりよく作成するために、予めその影響を考慮した遅延改善技術が必要となる。
【０００３】
また、従来では、集積回路の遅延分布の計算において、集積回路の遅延のばらつきを統計量として扱う統計的遅延解析（ＳＳＴＡ）が知られている（たとえば、下記非特許文献１参照。）。また、集積回路の遅延分布の計算において、スラック値を確率分布として統計的に計算し、スラック値を精度よく見積もる手法が提案されている（たとえば、下記非特許文献２参照。）。
【０００４】
【非特許文献１】築山  修治、「統計的タイミング解析：概論」、第１８回  回路とシステム  軽井沢ワークショップ  ザ  １８ｔｈ  ワークショップ  オン  サーキッツ  アンド  システムズ  イン  カルイザワ  エイプリル（Ｔｈｅ  １８ｔｈ  Ｗｏｒｋｓｈｏｐ  ｏｎ  Ｃｉｒｃｕｉｔｓ  ａｎｄ  Ｓｙｓｔｅｍｓ  ｉｎ  Ｋａｒｕｉｚａｗａ，Ａｐｒｉｌ）  ２５−２６，２００５
【非特許文献２】新田  泉、外２名、「統計的遅延解析におけるモデルと精度に関する一考察」、信学技報  アイイーアイシーイー  テクニカル  レポート（ＩＥＩＣＥ  Ｔｅｃｈｎｉｃａｌ  Ｒｅｐｏｒｔ）  ＶＬＤ２００５−７１，ＩＣＤ２００５−１６６，ＤＣ２００５−４８（２００５−１２）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した非特許文献１または２に記載の従来技術では、集積回路全体を統計的に解析しているため、集積回路全体のタイミングを改善する際に、集積回路内の修正箇所を特定することが困難であった。そのため、回路設計の手戻りが生じ、設計者の負担が増大するとともに、設計期間の長期化を招くという問題があった。
【０００６】
一方、静的遅延解析（ＳＴＡ）を用いることにより、集積回路内のすべてのパスを、当該パスごとに、スラック値が目標値を越える様に改善することができる。しかしながら、パスごとにスラック値を改善させても、統計的解析の性質により、集積回路全体のタイミングが改善されない場合がある。そのため、回路設計の手戻りが生じ、設計者の負担が増大するとともに、設計期間の長期化を招くという問題があった。
【０００７】
この発明は、上述した従来技術による問題点を解消するため、解析対象回路の回路遅延を効率的かつ正確におこなうことにより、設計者の負担軽減や設計期間の短縮化を図ることができる遅延解析プログラム、該プログラムを記録した記録媒体、遅延解析装置、および遅延解析方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するため、この発明にかかる遅延解析プログラム、記録媒体、遅延解析方法、および遅延解析装置は、解析対象回路の遅延解析結果の入力を受け付け、入力された遅延解析結果に基づいて、解析対象回路内のパスのうち修正対象パスを検出し、回路素子または配線（以下、「回路構成要素」という）に関する遅延情報の中から、検出された修正対象パスを構成する回路構成要素と同種の回路構成要素に関する遅延情報を抽出し、修正対象パスを構成する回路構成要素に関する遅延情報と、抽出された遅延情報とに基づいて、同種の回路構成要素を、修正対象パスを構成する回路構成要素の修正候補に決定し、修正対象パスを構成する回路構成要素を、決定された修正候補に置き換えることにより修正されるパスに関する情報（以下、「修正パス情報」という）を生成し、生成された修正パス情報を出力することを特徴とする。
【０００９】
この発明によれば、解析対象回路の修正パス情報を出力することにより、解析対象回路内の修正対象パスを正確に把握することができる。
【００１０】
また、上記発明において、遅延解析結果に基づいて、解析対象回路内のパスの遅延に関するスラック確率分布を算出し、算出されたスラック確率分布の特徴に基づいて、修正対象パスの基準となるパスのスラック確率分布を特定し、特定されたスラック確率分布に基づいて、解析対象回路内のパスのうち修正対象パスを検出させることとしてもよい。
【００１１】
この発明によれば、解析対象回路の遅延に影響を及ぼしている修正対象パスを正確に把握することができる。
【００１２】
また、上記発明において、生成された修正パス情報に基づいて遅延解析を実行し、実行された遅延解析の実行結果を出力することとしてもよい。
【００１３】
この発明によれば、修正パス情報により修正された解析対象回路の統計的遅延解析の解析結果を表示することにより、解析対象回路の修正効果を視覚的に確認することができる。
【００１４】
また、上記発明において、遅延解析の実行結果に基づいて、解析対象回路内のパスのうち修正対象パスを検出し、回路構成要素に関する遅延情報の中から、検出された修正対象パス（以下、「再修正パス」という）を構成する回路構成要素と同種の回路構成要素に関する遅延情報を抽出し、再修正対象パスを構成する回路構成要素に関する遅延情報と、抽出された遅延情報とに基づいて、再修正対象パスを構成する回路構成要素と同種の回路構成要素を、再修正対象パスを構成する回路構成要素の修正候補に決定し、再修正対象パスを構成する回路構成要素を、決定された修正候補に置き換えることにより修正されたパスに関する情報（以下、「再修正パス情報」という）を生成し、生成された再修正パス情報を出力することとしてもよい。
【００１５】
上記発明によれば、解析対象回路の統計的遅延値の精度を向上させることができる。
【発明の効果】
【００１６】
本発明にかかる遅延解析プログラム、記録媒体、遅延解析方法、および遅延解析装置によれば、解析対象回路の回路遅延を効率的かつ正確におこなうことにより、設計者の負担軽減や設計期間の短縮化を図ることができるという効果を奏する。
【発明を実施するための最良の形態】
【００１７】
以下に添付図面を参照して、この発明にかかる遅延解析プログラム、記録媒体、遅延解析方法、および遅延解析装置の好適な実施の形態を詳細に説明する。
【００１８】
（実施の形態）
（遅延解析装置のハードウェア構成）
まず、この発明の実施の形態にかかる遅延解析装置のハードウェア構成について説明する。図１は、この発明の実施の形態にかかる遅延解析装置のハードウェア構成を示すブロック図である。
【００１９】
図１において、遅延解析装置は、ＣＰＵ１０１と、ＲＯＭ１０２と、ＲＡＭ１０３と、ＨＤＤ（ハードディスクドライブ）１０４と、ＨＤ（ハードディスク）１０５と、ＦＤＤ（フレキシブルディスクドライブ）１０６と、着脱可能な記録媒体の一例としてのＦＤ（フレキシブルディスク）１０７と、ディスプレイ１０８と、Ｉ／Ｆ（インターフェース）１０９と、キーボード１１０と、マウス１１１と、スキャナ１１２と、プリンタ１１３と、を備えている。また、各構成部はバス１００によってそれぞれ接続されている。
【００２０】
ここで、ＣＰＵ１０１は、遅延解析装置の全体の制御を司る。ＲＯＭ１０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ１０３は、ＣＰＵ１０１のワークエリアとして使用される。ＨＤＤ１０４は、ＣＰＵ１０１の制御にしたがってＨＤ１０５に対するデータのリード／ライトを制御する。ＨＤ１０５は、ＨＤＤ１０４の制御で書き込まれたデータを記憶する。
【００２１】
ＦＤＤ１０６は、ＣＰＵ１０１の制御にしたがってＦＤ１０７に対するデータのリード／ライトを制御する。ＦＤ１０７は、ＦＤＤ１０６の制御で書き込まれたデータを記憶したり、ＦＤ１０７に記憶されたデータを遅延解析装置に読み取らせたりする。
【００２２】
また、着脱可能な記録媒体として、ＦＤ１０７のほか、ＣＤ−ＲＯＭ（ＣＤ−Ｒ、ＣＤ
−ＲＷ）、ＭＯ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、メモリーカードなどであってもよい。ディスプレイ１０８は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ１０８は、たとえば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００２３】
Ｉ／Ｆ１０９は、通信回線を通じてインターネットなどのネットワーク１１４に接続され、このネットワーク１１４を介して他の装置に接続される。そして、Ｉ／Ｆ１０９は、ネットワーク１１４と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ１０９には、たとえばモデムやＬＡＮアダプタなどを採用することができる。
【００２４】
キーボード１１０は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス１１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【００２５】
スキャナ１１２は、画像を光学的に読み取り、遅延解析装置内に画像データを取り込む。なお、スキャナ１１２は、ＯＣＲ機能を持たせてもよい。また、プリンタ１１３は、画像データや文書データを印刷する。プリンタ１１３には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
【００２６】
つぎに、回路素子ライブラリについて説明する。図２は、回路素子ライブラリの記憶内容を示す説明図である。回路素子ライブラリ２００は、回路素子ごとに回路素子遅延情報２００−１〜２００−ｚを格納している。回路素子遅延情報２００−１〜２００−ｚは、回路素子ごとに、回路素子名、セルタイプ、素子遅延の確率分布を有している。素子遅延の確率分布は任意の分布を扱えるものとする。たとえば、確率分布が正規分布であれば中央値と中央値に対する３σ比率で表し、正規分布以外の分布の場合は分布データを図２に示すような近似表現で表すことによって、任意の確率分布を扱うことが可能である。
【００２７】
具体的には、たとえば、回路素子ＣＥＬＬｆについては、セルタイプがバッファであり、中央値１００および中央値に対する３σ比率０．１を有しており、その分布関数は、スラック確率分布Ｐｆである。回路素子ライブラリ２００は、具体的には、たとえば、図１に示したＲＯＭ１０２、ＲＡＭ１０３、ＨＤ１０５などの記録媒体によって、その機能を実現する。
【００２８】
つぎに、配線ライブラリについて説明する。図３は、配線ライブラリの記憶内容を示す説明図である。配線ライブラリ３００は、配線ごとに配線遅延情報３００−１〜３００−ｚを格納している。
【００２９】
配線遅延情報３００−１〜３００−ｚは、配線ごとに、配線層、配線遅延の確率分布を有している。配線遅延の確率分布は、素子遅延の確率分布と同様に、任意の確率分布が扱えるものとする。具体的には、たとえば、配線層Ｌｇは、中央値３０および中央値に対する３σ比率０．０３を有しており、その分布関数は、スラック確率分布Ｑｇ（不図示）である。配線ライブラリ３００は、具体的には、たとえば、図１に示したＲＯＭ１０２、ＲＡＭ１０３、ＨＤ１０５などの記録媒体によって、その機能を実現する。
【００３０】
（修正対象パスの一例）
つぎに、この発明の実施の形態にかかる修正対象となるパス（以下、「修正対象パス」という）の一例について説明する。図４は、この発明の実施の形態にかかる修正対象パスの一例について示す回路図である。なお、図面では、一部を抜粋して表示している。図４において、修正対象パス４００は、２個のＦＦ１、ＦＦ２とバッファなどの回路素子ＩＮＳＴ１〜ＩＮＳＴｈを有している。
【００３１】
つぎに、この発明の実施の形態にかかる統計的遅延解析結果となる解析レポートについて説明する。図５は、この発明の実施の形態にかかる統計的遅延解析結果となる解析レポートの一例について示す説明図である。図５において、解析レポート５００は、修正対象回路の統計的遅延解析（ＳＳＴＡ）によって得られる。また、解析レポート５００は、静的遅延解析（ＳＴＡ）の解析結果でもよい。
【００３２】
ここで、統計的遅延解析は、遅延のばらつきを確率分布として統計的に扱うことにより、タイミングの見積もりを適正化する手法である。また、静的遅延解析は、解析対象回路内の回路素子の全ゲートが、ばらつきの最悪値をとる場合の遅延を計算する手法である。
【００３３】
この実施の形態では、統計的遅延解析の結果、あるいは静的遅延解析の結果のいずれか一方を用いても同様に実施可能であるが、統計的遅延解析の結果を用いた方が、より精度よく遅延値を算出できる。そのため、以下では、特に断りがない限り、統計的遅延解析の結果を用いて説明する。
【００３４】
符号５０１は、修正対象パスの始点と終点をそれぞれ示している。具体的には、たとえば、始点はＦＦ１であり、終点はＦＦ２である。符号５０２は、修正対象パス４００を構成する各回路素子名と入出力端子を示している。
【００３５】
具体的には、たとえば、ＩＮＳＴ１．Ｘは、ＩＮＳＴ１の出力端子を示している。また、ＩＮＳＴ２．Ａは、ＩＮＳＴ２の入力端子を示している。符号５０３は、各出力ピンあるいは配線ごとの遅延値を示している。また、符号５０４は、符号５０２に示したセルのＩＮＳＴ１〜ＩＮＳＴｈ間の累積遅延値を示している。
【００３６】
また、図５に示した解析レポート５００には、修正対象パス４００のみを抜粋して表示しているが、解析レポート５００には、解析対象回路内の全パスについて、パス毎に記述される構成としてもよい。また、たとえば、修正対象パス４００のみを表示する構成としてもよい。
【００３７】
つぎに、この発明の実施の形態にかかる遅延解析装置の機能的構成について説明する。図６は、この発明に実施の形態にかかる遅延解析装置の機能的構成を示すブロック図である。図６において、遅延解析装置６００は、入力部６０１と、算出部６０２と、特定部６０３と、検出部６０４と、抽出部６０５と、決定部６０６と、生成部６０７と、実行部６０８と、出力部６０９と、により構成されている。
【００３８】
入力部６０１は、解析対象回路の遅延解析結果の入力を受け付ける。具体的には、たとえば、図５に示した解析レポート５００の入力を受け付ける。遅延解析結果は、統計的遅延解析の結果でもよく、静的遅延解析（ＳＴＡ）の結果でもよい。入力された遅延解析結果（解析レポート５００）は、算出部６０２に出力される。
【００３９】
算出部６０２は、遅延解析結果に基づいて、解析対象回路内のパスの遅延に関するスラック確率分布を算出する。具体的には、たとえば、解析レポート５００に記述されているパスのスラック確率分布を算出する。
【００４０】
算出部６０２は、解析レポート５００と回路素子ライブラリ２００とを用いて、パスごとに統計的遅延解析を実行するか、あるいは、解析レポートから部分回路を生成し、その部分回路について統計的遅延解析を実行し、解析対象回路内の各パスのスラック確率分布を算出する。図７は、スラック確率分布について示す説明図である。図７に示すように、算出部６０２は、解析対象回路を構成する各パスＰ０〜Ｐｎに対してスラック確率分布を算出する。
【００４１】
図６の説明に戻り、特定部６０３は、算出部６０２によって算出されたスラック確率分布の特徴に基づいて、修正対象パスの基準となるパスのスラック確率分布を特定する。ここで、スラック確率分布の特徴とは、スラック確率分布の分布曲線の形状、あるいは当該分布曲線から算出可能な数値である。たとえば、図７に示した各パスＰ０〜Ｐｎのスラック確率分布から読み取り可能なスラック値、中央値、あるいはスラック値のばらつきの大きさなどが挙げられる。
【００４２】
具体的には、たとえば、図７に示した各パスＰ０〜Ｐｎのスラック確率分布の中から、（Ｓｎ−ｋσ）の値が、最小となるスラック確率分布を特定する。ここで、Ｓｎは、パスＰｎの中央値である。より具体的には、たとえば、図７において、パスＰ０の（Ｓ０−ｋσ）が最小となっており、パスＰ０のスラック確率分布が修正対象パスの基準となるパス（以下、「基準パス」という）として特定される。
【００４３】
また、たとえば、（Ｓｎ−ｋσ）が最小となるスラック確率分布が２つ以上存在する場合には、スラック値のばらつきの大きいスラック確率分布を特定することとしてもよい。また、たとえば、中央値が最小となるスラック確率分布を特定することとしてもよい。
【００４４】
また、検出部６０４は、特定部６０３によって特定されたスラック確率分布に基づいて、解析対象回路内のパスのうち修正対象パスを検出する。具体的には、たとえば、基準パスＰ０の中央値から所定の範囲内にスラック値を有するパスを修正対象パスとして検出する。ここで、所定の範囲とは、たとえば、パスＰ０のスラック確率分布の中央値をＳ０としたとき、Ｓ０±ｍσの範囲である。図７において、検出部６０４は、Ｐ１、Ｐ２のパスを修正対象パスとして検出する。ここで、ｍは、ｋよりも大きい任意の数値である。
【００４５】
また、検出部６０４は、遅延解析の実行結果に基づいて、解析対象回路内のパスのうち修正対象パスを検出する。具体的には、たとえば、後述する実行部６０８によって統計的遅延解析が実行された修正後の解析対象回路内から修正対象パスを検出する。修正対象パスの検出は、上述した内容と同様のため、説明を省略する。
【００４６】
抽出部６０５は、回路素子または配線（以下、「回路構成要素」という）に関する遅延情報の中から、検出部６０４によって検出された修正対象パスを構成する回路構成要素と同種の回路構成要素に関する遅延情報を抽出する。回路構成要素に関する遅延情報とは、具体的には、たとえば、図２および図３に示した回路素子ライブラリ２００および配線ライブラリ３００に記録されている情報である。
【００４７】
また、同種の回路構成要素とは、具体的には、たとえば、図２に示す回路素子ライブラリ２００に記録されている回路素子のうち、セルタイプが一致する回路素子である。より具体的には、たとえば、修正対象パスを構成する回路素子がインバータの場合、図２の回路素子ライブラリ２００に記憶されているセルタイプがインバータのＣＥＬＬ１およびＣＥＬＬ２が同種の回路構成要素である。
【００４８】
抽出部６０５は、まず、修正対象パスごとに、回路構成要素の感度を算出する。そして、回路構成要素の感度の大きい上位ｐ個の回路構成要素と同種の回路構成要素に関する遅延情報を抽出する。ここで、ｐの値は任意であり、ユーザが指定することができる。
【００４９】
決定部６０６は、修正対象パスを構成する回路構成要素に関する遅延情報と、抽出部６０５によって抽出された遅延情報とに基づいて、同種の回路構成要素を、修正対象パス４００を構成する回路構成要素の修正候補に決定する。
【００５０】
具体的には、たとえば、修正対象パス４００を構成する回路構成要素のスラック確率分布と、抽出部６０５によって抽出された回路構成要素のスラック確率分布を比較する。そして、回路構成要素を修正することにより、修正後のパスの回路構成要素の遅延の中央値が小さくなるか、あるいは３σ値が小さくなる回路構成要素を修正候補に決定する。ここで、決定部６０６によって決定される修正候補は、一つであってもよく、複数であってもよい。
【００５１】
生成部６０７は、修正対象パス４００を構成する回路構成要素を、決定部６０６によって決定された修正候補に置き換えることにより修正されたパスに関する情報（以下、「修正パス情報」という）を生成する。修正パス情報は、具体的には、たとえば、修正対象パス４００の回路構成要素を修正候補に修正させる指示情報である。図８は、修正パス情報が記述された解析レポートについて示す説明図である。
【００５２】
図８において、符号８０１は、ＳＳＴＡ結果である。また、符号８０２は、生成部６０７により生成された修正パス情報である。この修正パス情報は、後述する出力部６０９により、解析レポート５００に記述される情報である。符号８０２には、「ＣＡＳＥ１」および「ＣＡＳＥ２」の２つの修正パス情報が記述されている。
【００５３】
具体的には、たとえば、「ＣＡＳＥ１」の符号８０３に示す行は、ＩＮＳＴ１のセルタイプをＣＥＬＬ２に修正させる指示である。この修正パス情報は、各修正対象パスごとに生成される。上述した例では、解析レポート５００に修正パス情報を記述する例について説明したが、解析レポート５００と別に修正パス情報のみを記述したレポートを作成してもよい。
【００５４】
実行部６０８は、生成部６０７によって生成された修正パス情報に基づいて遅延解析を実行する。具体的には、たとえば、修正パス情報を読み込んで、修正対象パスの回路構成要素を修正候補に置き換えることにより、修正対象パスの修正をおこなう。そして、修正後のパスを含む解析対象回路について統計的遅延解析をおこなう。
【００５５】
修正パス情報が複数ある場合には、たとえば、ユーザから修正パス情報の指定を受け付ける。そして、指定された修正パス情報により、修正対象パスの回路構成要素を修正し、統計的遅延解析を実行する。そして、統計的遅延解析の実行後に、他の修正パス情報に基づいて、統計的遅延解析を実行することもできる。
【００５６】
出力部６０９は、生成部６０７によって生成された修正パス情報を出力する。具体的には、たとえば、図８に示したように、修正対象パスごとに、修正パス情報を解析レポートに記述する。
【００５７】
また、出力部６０９は、実行部６０８によって実行された遅延解析の実行結果を出力する。図９は、修正されたパスの遅延値が記述された解析レポートについて示す説明図である。図９において、符号９０１は、修正後の回路構成要素の遅延値を示している。図９では、修正情報「ＣＡＳＥ１」および「ＣＡＳＥ２」の両方の値が記述されている。
【００５８】
また、出力部６０９は、たとえば、表示画面に遅延解析の実行結果を表示するとしてもよい。図１０は、解析結果の表示例について示す説明図である。図１０において、符号１００１は、解析をおこなったパスを示している。符号１００２〜符号１００４は、スラック歩留分布を示している。
【００５９】
具体的には、符号１００２は、符号１００１に示したパスのスラック歩留分布である。また、符号１００３は、図８に示した修正情報「ＣＡＳＥ１」により回路構成要素を修正した場合のスラック歩留分布である。
【００６０】
また、符号１００４は、図８に示した修正情報「ＣＡＳＥ２」により回路構成要素を修正した場合のスラック歩留分布である。ユーザは、表示画面に表示された統計的遅延解析の実行結果を参照することにより、瞬時かつ直感的に、最も効果的に修正情報を得ることができる。
【００６１】
また、ユーザは、表示された統計的遅延解析の実行結果を参照して、再度解析対象回路を修正するか否かを判断することができる。このように、解析対象回路の修正を再度おこなうことにより、タイミング性能が改善される。
【００６２】
なお、上述した、入力部６０１、算出部６０２、特定部６０３、検出部６０４、抽出部６０５、決定部６０６、生成部６０７、実行部６０８、および、出力部６０９は、具体的には、たとえば、図１に示したＲＯＭ１０２、ＲＡＭ１０３、ＨＤ１０５、ＦＤ１０７などに記録されたプログラムを、ＣＰＵ１０１が実行することによってその機能を実現する。
【００６３】
（遅延解析装置の遅延解析処理手順）
つぎに、この発明の実施の形態にかかる遅延解析装置の遅延解析処理手順について説明する。図１１は、この発明の実施の形態にかかる遅延解析装置の遅延解析処理手順の一例を示すフローチャートである。図１１のフローチャートにおいて、まず、入力部６０１により、統計的遅延解析結果（解析レポート５００）が入力されたか否かを判断する（ステップＳ１１０１）。
【００６４】
そして、入力されるのを待って、入力された場合（ステップＳ１１０１：Ｙｅｓ）、修正パス情報生成処理を実行する（ステップＳ１１０２）。つぎに、統計的遅延解析実行処理を実行する（ステップＳ１１０３）。そして、統計的遅延解析の解析結果を表示する（ステップＳ１１０４）。つぎに、タイミング収束したか否かを判断する（ステップＳ１１０５）。ここで、タイミング収束したか否かの判断は、たとえば、歩留が３σ値を越えたか否かにより判断する。
【００６５】
タイミング収束した場合（ステップＳ１１０５：Ｙｅｓ）、一連の処理を終了する。一方、タイミング収束していない場合（ステップＳ１１０５：Ｎｏ）、統計的遅延解析の実行を所定回数おこなった否かを判断する（ステップＳ１１０６）。所定回数おこなった場合（ステップＳ１１０６：Ｙｅｓ）、一連の処理を終了する。一方、所定回数おこなっていない場合（ステップＳ１１０６：Ｎｏ）、ステップＳ１１０１に戻り、一連の処理を繰り返す。
【００６６】
なお、上述したフローチャートにおいて、ステップＳ１１０５、およびステップＳ１１０６により、一連の処理を終了するか否かを判断しているが、たとえば、ユーザからの統計的遅延解析終了指示を受け付けることにより、一連の処理を終了させてもよい。
【００６７】
つぎに、上述した修正候補検出処理について説明する。図１２は、修正パス情報生成処理手順の一例を示すフローチャートである。図１２のフローチャートにおいて、回路情報を生成する（ステップＳ１２０１）。そして、算出部６０２により、生成した回路情報に含まれる各パスのスラック確率分布を算出する（ステップＳ１２０２）。つぎに、特定部６０３により、ｋσ値が最小となるスラック確率分布を有するパス（基準パス）を特定する（ステップＳ１２０３）。
【００６８】
そして、検出部６０４により、修正対象パスＲｉが検出されたか否かを判断する（ステップＳ１２０４）。ここで、ｉは、検出された修正対象パスのパス数であり、ｉ＝１〜ｎである。修正対象パスが検出されなかった場合（ステップＳ１２０４：Ｎｏ）、一連の処理を終了する。一方、修正対象パスが検出された場合（ステップＳ１２０４：Ｙｅｓ）、ｉ＝１とする（ステップＳ１２０５）。
【００６９】
つぎに、抽出部６０５により、回路素子ライブラリ２００あるいは配線ライブラリ３００から、修正対象パスＲｉを構成する回路構成要素と同種の回路構成要素に関する遅延情報を抽出する（ステップＳ１２０６）。そして、決定部６０６により修正候補が決定されたか否かを判断する（ステップＳ１２０７）。
【００７０】
修正候補が決定されなかった場合（ステップＳ１２０７：Ｎｏ）、ステップＳ１２１０に移行する。一方、修正候補が決定された場合（ステップＳ１２０７：Ｙｅｓ）、生成部６０７により、修正パス情報を生成する（ステップＳ１２０８）。つぎに、出力部６０９により、修正パス情報を統計的遅延解析結果（解析レポート５００）に記述する（ステップＳ１２０９）。
【００７１】
そして、ｉは最大値であるか否かを判断する（ステップＳ１２１０）。ここで、ｉの最大値は、検出された修正対象パス数である。具体的には、たとえば、修正対象パスが１００個検出されていれば、ｉの最大値は１００である。
【００７２】
ｉが最大値ではない場合（ステップＳ１２１０：Ｎｏ）、ｉをインクリメントして（ステップＳ１２１１）、ステップＳ１２０６に戻り、同種の回路構成要素に関する遅延情報を抽出する。一方、ｉが最大値の場合（ステップＳ１２１０：Ｙｅｓ）、ステップＳ１１０３に移行する。これにより、一連の処理を終了する。
【００７３】
つぎに、上述した統計的遅延解析実行処理手順について説明する。図１３は、統計的遅延解析実行処理手順について示す説明図である。図１３のフローチャートにおいて、まず、修正候補が指定されたか否かを判断する（ステップＳ１３０１）。修正候補が指定されない場合（ステップＳ１３０１：Ｎｏ）、ステップＳ１１０４に移行する。これにより、一連の処理を終了する。
【００７４】
一方、修正候補が指定された場合（ステップＳ１３０１：Ｙｅｓ）、回路情報を修正する（ステップＳ１３０２）。そして、修正された回路情報に関して統計的遅延解析を実行する（ステップＳ１３０３）。つぎに、統計的遅延解析結果（解析レポート５００）にステップＳ１３０３において解析された解析結果を記述する（ステップＳ１３０４）。そして、ステップＳ１３０１に戻り、修正候補が指定されたか否かを判断する。これにより、一連の処理を終了する。
【００７５】
以上説明したように、この発明の実施の形態によれば、出力された修正パス情報を参照することにより、解析対象回路内の修正対象パスを正確に把握することができる。そのため、解析対象回路の修正回数および統計的遅延解析の回数を低減することができる。
【００７６】
また、修正パス情報により修正された解析対象回路の統計的遅延解析の解析結果を表示することにより、解析対象回路の修正効果を視覚的に確認することができる。そのため、ユーザの負担を軽減することができる。
【００７７】
以上説明したように、遅延解析プログラム、記録媒体、遅延解析方法、および遅延解析装置によれば、解析対象回路の回路遅延を効率的かつ正確におこなうことにより、設計者の負担軽減や設計期間の短縮化を図ることができるという効果を奏する。
【００７８】
なお、本実施の形態で説明した遅延解析方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
【００７９】
（付記１）解析対象回路の遅延解析結果の入力を受け付させる入力工程と、
前記入力工程によって入力された遅延解析結果に基づいて、前記解析対象回路内のパスのうち修正対象パスを検出させる検出工程と、
回路素子または配線（以下、「回路構成要素」という）に関する遅延情報の中から、前記検出工程によって検出された修正対象パスを構成する回路構成要素と同種の回路構成要素に関する遅延情報を抽出させる抽出工程と、
前記修正対象パスを構成する回路構成要素に関する遅延情報と、前記抽出工程によって抽出された遅延情報とに基づいて、前記同種の回路構成要素を、前記修正対象パスを構成する回路構成要素の修正候補に決定させる決定工程と、
前記修正対象パスを構成する回路構成要素を、前記決定工程によって決定された修正候補に置き換えることにより修正されたパスに関する情報（以下、「修正パス情報」という）を生成させる生成工程と、
前記生成工程によって生成された修正パス情報を出力させる修正パス情報出力工程と、
をコンピュータに実行させることを特徴とする遅延解析プログラム。
【００８０】
（付記２）前記遅延解析結果に基づいて、前記解析対象回路内のパスの遅延に関するスラック確率分布を算出させるスラック確率分布算出工程と、
前記スラック確率分布算出工程によって算出されたスラック確率分布の特徴に基づいて、前記修正対象パスの基準となるパスのスラック確率分布を特定させる特定工程と、を前記コンピュータに実行させ、
前記検出工程は、
前記特定工程によって特定されたスラック確率分布に基づいて、前記解析対象回路内のパスのうち修正対象パスを検出させることを特徴とする付記１に記載の遅延解析プログラム。
【００８１】
（付記３）前記生成工程によって生成された修正パス情報に基づいて遅延解析を実行させる実行工程と、
前記実行工程によって実行された遅延解析の実行結果を出力させる実行結果出力工程と、
を前記コンピュータに実行させることを特徴とする付記１または２に記載の遅延解析プログラム。
【００８２】
（付記４）前記遅延解析の実行結果に基づいて、前記解析対象回路内のパスのうち修正対象パスを検出させる再検出工程と、
前記回路構成要素に関する遅延情報の中から、前記再検出工程によって検出された修正対象パス（以下、「再修正パス」という）を構成する回路構成要素と同種の回路構成要素に関する遅延情報を抽出させる再抽出工程と、
前記再修正対象パスを構成する回路構成要素に関する遅延情報と、前記再抽出工程によって抽出された遅延情報とに基づいて、前記再修正対象パスを構成する回路構成要素と同種の回路構成要素を、前記再修正対象パスを構成する回路構成要素の修正候補に決定させる再決定工程と、
前記再修正対象パスを構成する回路構成要素を、前記再決定工程によって決定された修正候補に置き換えることにより修正されたパスに関する情報（以下、「再修正パス情報」という）を生成させる再生成工程と、
前記再生成工程によって生成された再修正パス情報を出力させる再修正パス情報出力工程と、
をコンピュータに実行させることを特徴とする付記３に記載の遅延解析プログラム。
【００８３】
（付記５）付記１〜４のいずれか一つに記載の遅延解析プログラムをコンピュータに実行させることを特徴とする記録媒体。
【００８４】
（付記６）解析対象回路の遅延解析結果の入力を受け付ける入力工程と、
前記入力工程によって入力された遅延解析結果に基づいて、前記解析対象回路内のパスのうち修正対象パスを検出する検出工程と、
回路素子または配線（以下、「回路構成要素」という）に関する遅延情報の中から、前記検出工程によって検出された修正対象パスを構成する回路構成要素と同種の回路構成要素に関する遅延情報を抽出する抽出工程と、
前記修正対象パスを構成する回路構成要素に関する遅延情報と、前記抽出工程によって抽出された遅延情報とに基づいて、前記同種の回路構成要素を、前記修正対象パスを構成する回路構成要素の修正候補に決定する決定工程と、
前記修正対象パスを構成する回路構成要素を、前記決定工程によって決定された修正候補に置き換えることにより修正されたパスに関する情報（以下、「修正パス情報」という）を生成する生成工程と、
前記生成工程によって生成された修正パス情報を出力する修正パス情報出力工程と、
を含むことを特徴とする遅延解析方法。
【００８５】
（付記７）解析対象回路の遅延解析結果の入力を受け付ける入力手段と、
前記入力手段によって入力された遅延解析結果に基づいて、前記解析対象回路内のパスのうち修正対象パスを検出する検出手段と、
回路素子または配線（以下、「回路構成要素」という）に関する遅延情報の中から、前記検出手段によって検出された修正対象パスを構成する回路構成要素と同種の回路構成要素に関する遅延情報を抽出する抽出手段と、
前記修正対象パスを構成する回路構成要素に関する遅延情報と、前記抽出手段によって抽出された遅延情報とに基づいて、前記同種の回路構成要素を、前記修正対象パスを構成する回路構成要素の修正候補に決定する決定手段と、
前記修正対象パスを構成する回路構成要素を、前記決定手段によって決定された修正候補に置き換えることにより修正されたパスに関する情報（以下、「修正パス情報」という）を生成する生成手段と、
前記生成手段によって生成された修正パス情報を出力する修正パス情報出力手段と、
を備えることを特徴とする遅延解析装置。
【産業上の利用可能性】
【００８６】
以上のように、本発明にかかる遅延解析プログラム、記録媒体、遅延解析方法、および遅延解析装置は、ＬＳＩの遅延解析に有用であり、特に、ＶＬＳＩの遅延解析に適している。
【図面の簡単な説明】
【００８７】
【図１】この発明の実施の形態にかかる遅延解析装置のハードウェア構成を示すブロック図である。
【図２】回路素子ライブラリの記憶内容を示す説明図である。
【図３】配線ライブラリの記憶内容を示す説明図である。
【図４】この発明の実施の形態にかかる修正対象パスの一例について示す回路図である。
【図５】この発明の実施の形態にかかる統計的遅延解析結果となる解析レポートの一例について示す説明図である。
【図６】この発明の実施の形態にかかる遅延解析装置の機能的構成を示すブロック図である。
【図７】スラック確率分布について示す説明図である。
【図８】修正パス情報が記述された解析レポートについて示す説明図である。
【図９】修正されたパスの遅延値が記述された解析レポートについて示す説明図である。
【図１０】解析結果の表示例について示す説明図である。
【図１１】この発明の実施の形態にかかる遅延解析装置の遅延解析処理手順の一例を示すフローチャートである。
【図１２】修正パス情報生成処理手順の一例を示すフローチャートである。
【図１３】統計的遅延解析実行処理手順について示すフローチャートである。
【符号の説明】
【００８８】
２００  回路素子ライブラリ
３００  配線ライブラリ
４００  修正対象パス
６００  遅延解析装置
６０１  入力部
６０２  算出部
６０３  特定部
６０４  検出部
６０５  抽出部
６０６  決定部
６０７  生成部
６０８  実行部
６０９  出力部
【図１】
0004759419.tif 000002
【図２】
0004759419.tif 000003
【図３】
0004759419.tif 000004
【図４】
0004759419.tif 000005
【図５】
0004759419.tif 000006
【図６】
0004759419.tif 000007
【図７】
0004759419.tif 000008
【図８】
0004759419.tif 000009
【図９】
0004759419.tif 000010
【図１０】
0004759419.tif 000011
【図１１】
0004759419.tif 000012
【図１２】
0004759419.tif 000013
【図１３】
0004759419.tif 000014