(57)【要約】【課題】対象回路の安定した最小クロック遅延値（スラック）を正確に見積もることにより、設計マージンの悲観性の緩和を図ること。【解決手段】クロック遅延解析装置４００は、入力部４０１に回路情報４１０が入力された場合、抽出部４０２により、回路素子遅延分布情報データベース３００から、データパスＤＰおよびクロックパスＣＰを構成する回路素子の遅延分布情報を抽出する。データパス遅延分布情報算出部４０３の統計的畳み込みにより、データパスＤＰの遅延分布情報（平均値ｍｄａおよび標準偏差σｄａ）を算出する。クロックパス遅延分布情報算出部４０４の統計的畳み込みによりクロックパスＣＰの遅延分布情報（平均値ｍｃｋおよび標準偏差σｃｋ）を算出する。遅延差分布情報算出部４０５により、データパスＤＰとクロックパスＣＰとの間の遅延差分布情報（平均値ｍおよび標準偏差σ）を算出する。【選択図】        図４
2006268478.tif 000002
【特許請求の範囲】
【請求項１】
対象回路の回路情報の入力を受け付ける入力手段と、
前記入力手段によって入力された回路情報に基づいて、前記対象回路のデータパスを構成する各回路素子の遅延分布情報を用いて、前記データパスの遅延分布情報を算出するとともに、前記対象回路のクロックパスを構成する各回路素子の遅延分布情報を用いて、前記クロックパスの遅延分布情報を算出する遅延分布情報算出手段と、
前記遅延分布情報算出手段によって算出された前記データパスの遅延分布情報と前記クロックパスの遅延分布情報とを用いて、前記データパスと前記クロックパスとの間の遅延差分布情報を算出する遅延差分布情報算出手段と、
前記遅延差分布情報算出手段によって算出された遅延差分布情報に基づいて、前記対象回路のクロック遅延値を算出するクロック遅延値算出手段と、
を備えることを特徴とするクロック遅延解析装置。
【請求項２】
複数の回路素子の遅延分布情報を記憶する記憶手段と、
前記記憶手段に記憶された複数の回路素子の遅延分布情報の中から、前記回路情報に記述されている、前記データパスを構成する各回路素子の遅延分布情報と、前記クロックパスを構成する各回路素子の遅延分布情報とを抽出する抽出手段と、を備え、
前記遅延分布情報算出手段は、
前記抽出手段によって抽出された前記データパスを構成する各回路素子の遅延分布情報を用いて、前記データパスの遅延分布情報を算出するとともに、前記抽出手段によって抽出された前記クロックパスを構成する各回路素子の遅延分布情報を用いて、前記クロックパスの遅延分布情報を算出することを特徴とする請求項１に記載のクロック遅延解析装置。
【請求項３】
対象回路の回路情報の入力を受け付ける入力工程と、
前記入力工程によって入力された回路情報に基づいて、前記対象回路のデータパスを構成する各回路素子の遅延分布情報を用いて、前記データパスの遅延分布情報を算出するとともに、前記対象回路のクロックパスを構成する各回路素子の遅延分布情報を用いて、前記クロックパスの遅延分布情報を算出する遅延分布情報算出工程と、
前記遅延分布情報算出工程によって算出された前記データパスの遅延分布情報と前記クロックパスの遅延分布情報とを用いて、前記データパスと前記クロックパスとの間の遅延差分布情報を算出する遅延差分布情報算出工程と、
前記遅延差分布情報算出工程によって算出された遅延差分布情報に基づいて、前記対象回路のクロック遅延値を算出するクロック遅延値算出工程と、
を含んだことを特徴とするクロック遅延解析方法。
【請求項４】
対象回路の回路情報の入力を受け付けさせる入力工程と、
前記入力工程によって入力された回路情報に基づいて、前記対象回路のデータパスを構成する各回路素子の遅延分布情報を用いて、前記データパスの遅延分布情報を算出するとともに、前記対象回路のクロックパスを構成する各回路素子の遅延分布情報を用いて、前記クロックパスの遅延分布情報を算出させる遅延分布情報算出工程と、
前記遅延分布情報算出工程によって算出された前記データパスの遅延分布情報と前記クロックパスの遅延分布情報とを用いて、前記データパスと前記クロックパスとの間の遅延差分布情報を算出させる遅延差分布情報算出工程と、
前記遅延差分布情報算出工程によって算出された遅延差分布情報に基づいて、前記対象回路のクロック遅延値を算出させるクロック遅延値算出工程と、
をコンピュータに実行させることを特徴とするクロック遅延解析プログラム。
【請求項５】
請求項４に記載のクロック遅延解析プログラムを記録したコンピュータに読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ＬＳＩなどの対象回路のクロック遅延値を見積もるクロック遅延解析装置、クロック遅延解析方法、クロック遅延解析プログラム、および記録媒体に関する。
【背景技術】
【０００２】
近年、プロセスの微細化によりＶＬＳＩ製造における、プロセスバラツキなどの統計的要因の影響が大きくなってきており、ＶＬＳＩ設計においても要求された性能を持つ回路を歩留まり良く作成するためには、予めその影響を考慮する必要が生じている。このため、従来においては、いわゆる統計的手法により、対象回路のクロック遅延値の見積もりをおこなっている。
【０００３】
この統計的手法について、図５を用いて簡単に説明する。対象回路のクロックパスの遅延分布Ｐｃｋから得られる統計的最小遅延値（ｄ）と、データパスの遅延分布Ｐｄａから得られる統計的最大遅延値（ｃ）との差Ｓ２が、統計的手法におけるクロック遅延値である。なお、関連する従来の手法としては、下記特許文献１の手法が挙げられる。この特許文献１では、データパスとクロックパスとの相互遅延のバラツキを考慮した遅延時間解析をおこなっている。
【０００４】
【特許文献１】特開平７−１８２３８１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の手法では、統計的要因を正確に扱うことは困難であるという問題があった。たとえば、従来の静的遅延解析（ＳＴＡ）で統計的要因を扱う場合、要因の最悪値、すなわち、データパスの統計的最小遅延値とクロックパスの統計的最大遅延値との差によってクロック遅延値を見積もるため、かなり悲観的な結果しか得られないという問題があった。
【０００６】
そのため、設計マージンを満たさず回路が設計できない可能性が生じるという問題があった。特に、この統計的手法によれば、データパスの統計的最小遅延値とクロックパスの統計的最大遅延値との差によるクロック遅延値は確率的に揺らぐため、不安定な値であり、静的遅延解析の品質低下の原因にもなっていた。
【０００７】
この発明は、上述した従来技術による問題点を解消するため、対象回路の安定した最小クロック遅延値（スラック）を正確に見積もることにより、設計マージンの悲観性の緩和を図ることができるクロック遅延解析装置、クロック遅延解析方法、クロック遅延解析プログラム、および記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するため、この発明にかかるクロック遅延解析装置、クロック遅延解析方法、クロック遅延解析プログラム、および記録媒体は、対象回路の回路情報の入力を受け付け、入力された回路情報に基づいて、前記対象回路のデータパスを構成する各回路素子の遅延分布情報を用いて、前記データパスの遅延分布情報を算出するとともに、前記対象回路のクロックパスを構成する各回路素子の遅延分布情報を用いて、前記クロックパスの遅延分布情報を算出し、算出された前記データパスの遅延分布情報と前記クロックパスの遅延分布情報とを用いて、前記データパスと前記クロックパスとの間の遅延差分布情報を算出し、算出された遅延差分布情報に基づいて、前記対象回路のクロック遅延値を算出することを特徴とする。
【０００９】
また、上記発明において、複数の回路素子の遅延分布情報の中から、前記回路情報に記述されている、前記データパスを構成する各回路素子の遅延分布情報と、前記クロックパスを構成する各回路素子の遅延分布情報とを抽出し、抽出された前記データパスを構成する各回路素子の遅延分布情報を用いて、前記データパスの遅延分布情報を算出するとともに、前記抽出手段によって抽出された前記クロックパスを構成する各回路素子の遅延分布情報を用いて、前記クロックパスの遅延分布情報を算出することとしてもよい。
【００１０】
また、上記発明において、前記データパスを構成する各回路素子の遅延分布情報を畳み込むことによって、前記データパスの遅延分布情報を算出するとともに、前記対象回路のクロックパスを構成する各回路素子の遅延分布を畳み込むことによって、前記クロックパスの遅延分布情報を算出することとしてもよい。
【００１１】
これらの発明によれば、データパスの遅延分布情報とクロックパスの遅延分布情報から、遅延差分布情報を得ることにより、データパスの遅延分布情報とクロックパスの遅延分布情報から得られる統計的なクロック遅延値の確率的なゆらぎを消去することができる。したがって、遅延差分布情報から確率的なゆらぎのない安定したクロック遅延値を正確に算出することができる。
【発明の効果】
【００１２】
本発明にかかるクロック遅延解析装置、クロック遅延解析方法、クロック遅延解析プログラム、および記録媒体によれば、対象回路の安定した最小クロック遅延値（スラック）を正確に見積もることができ、これにより、設計マージンの悲観性の緩和を図ることができるという効果を奏する。
【発明を実施するための最良の形態】
【００１３】
以下に添付図面を参照して、この発明にかかるクロック遅延解析装置、クロック遅延解析方法、クロック遅延解析プログラム、および記録媒体の好適な実施の形態を詳細に説明する。
【００１４】
（クロック遅延解析装置のハードウェア構成）
まず、この発明の実施の形態にかかるクロック遅延解析装置のハードウェア構成について説明する。図１は、この発明の実施の形態にかかるクロック遅延解析装置のハードウェア構成を示すブロック図である。
【００１５】
図１において、クロック遅延解析装置は、ＣＰＵ１０１と、ＲＯＭ１０２と、ＲＡＭ１０３と、ＨＤＤ（ハードディスクドライブ）１０４と、ＨＤ（ハードディスク）１０５と、ＦＤＤ（フレキシブルディスクドライブ）１０６と、着脱可能な記録媒体の一例としてのＦＤ（フレキシブルディスク）１０７と、ディスプレイ１０８と、Ｉ／Ｆ（インターフェース）１０９と、キーボード１１０と、マウス１１１と、スキャナ１１２と、プリンタ１１３と、を備えている。また、各構成部はバス１００によってそれぞれ接続されている。
【００１６】
ここで、ＣＰＵ１０１は、クロック遅延解析装置の全体の制御を司る。ＲＯＭ１０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ１０３は、ＣＰＵ１０１のワークエリアとして使用される。ＨＤＤ１０４は、ＣＰＵ１０１の制御にしたがってＨＤ１０５に対するデータのリード／ライトを制御する。ＨＤ１０５は、ＨＤＤ１０４の制御で書き込まれたデータを記憶する。
【００１７】
ＦＤＤ１０６は、ＣＰＵ１０１の制御にしたがってＦＤ１０７に対するデータのリード／ライトを制御する。ＦＤ１０７は、ＦＤＤ１０６の制御で書き込まれたデータを記憶したり、ＦＤ１０７に記憶されたデータをクロック遅延解析装置に読み取らせたりする。
【００１８】
また、着脱可能な記録媒体として、ＦＤ１０７のほか、ＣＤ−ＲＯＭ（ＣＤ−Ｒ、ＣＤ−ＲＷ）、ＭＯ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、メモリーカードなどであってもよい。ディスプレイ１０８は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ１０８は、たとえば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００１９】
Ｉ／Ｆ１０９は、通信回線を通じてインターネットなどのネットワーク１１４に接続され、このネットワーク１１４を介して他の装置に接続される。そして、Ｉ／Ｆ１０９は、ネットワーク１１４と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ１０９には、たとえばモデムやＬＡＮアダプタなどを採用することができる。
【００２０】
キーボード１１０は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス１１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【００２１】
スキャナ１１２は、画像を光学的に読み取り、クロック遅延解析装置内に画像データを取り込む。なお、スキャナ１１２は、ＯＣＲ機能を持たせてもよい。また、プリンタ１１３は、画像データや文書データを印刷する。プリンタ１１３には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
【００２２】
つぎに、この発明の実施の形態にかかる解析対象回路の一例について説明する。図２は、この発明の実施の形態にかかる対象回路の一例を示す回路図である。図２において、対象回路２００は、クロックソースＣＳと、２個のＦＦ１、ＦＦ２と、８個のバッファＢ１〜バッファＢ８と、から構成されている。この対象回路２００において、クロックソースＣＳからバッファＢ１〜バッファＢ５を経由してＦＦ２のデータピンまでの経路がデータパスＤＰであり、クロックソースＣＳからバッファＢ６〜バッファＢ８を経由してＦＦ２のクロックピンまでの経路がクロックパスＣＰである。
【００２３】
つぎに、回路素子遅延分布情報データベースについて説明する。図３は、回路素子遅延分布情報データベースの記憶内容を示す説明図である。回路素子遅延分布情報データベース３００は、回路素子ごとに、回路素子遅延分布情報３００−１〜３００−ｎを格納している。回路素子遅延分布情報３００−１〜３００−ｎは、回路素子ごとに、回路素子名とクロックの遅延分布パラメータを有している。
【００２４】
また、遅延分布パラメータは、その回路素子のクロック遅延値の平均値および標準偏差を有している。たとえば、回路素子名Ｃｉの回路素子３００−ｉについては、クロック遅延の平均値ｍｉおよび標準偏差σｉを有しており、その分布関数は、正規分布となる確率密度関数Ｐｉである。なお、回路素子としては、バッファ、インバータ、論理ゲートなどが挙げられる。
【００２５】
（クロック遅延解析装置の機能的構成）
つぎに、この発明の実施の形態にかかるクロック遅延解析装置の機能的構成について説明する。図４は、この発明の実施の形態にかかるクロック遅延解析装置の機能的構成を示すブロック図である。図４において、クロック遅延解析装置４００は、図３に示した回路素子遅延分布情報データベース３００と、入力部４０１と、抽出部４０２と、データパス遅延分布情報算出部４０３と、クロックパス遅延分布情報算出部４０４と、遅延差分布情報算出部４０５と、クロック遅延値算出部４０６と、から構成されている。
【００２６】
まず、入力部４０１は、対象回路２００の回路情報４１０の入力を受け付ける。回路情報４１０は、対象回路２００を構成する回路素子の接続関係を示す情報である。たとえば、ＲＴＬのＨＤＬ記述を論理合成することによって得られたネットリストを用いることができる。
【００２７】
また、抽出部４０２は、回路素子遅延分布情報データベース３００に記憶された回路素子遅延分布情報３００−１〜３００−ｎの中から、回路情報４１０に記述されている、データパスＤＰを構成する各回路素子の遅延分布情報と、クロックパスＣＰを構成する各回路素子の遅延分布情報とを抽出する。図２に示した対象回路２００では、データパスＤＰを構成する回路素子は、バッファＢ１〜バッファＢ５であるため、バッファＢ１〜バッファＢ５の遅延分布情報を抽出する。たとえば、バッファＢ１の回路素子名が『Ｃ１』である場合、バッファＢ１の遅延分布情報３００−１として、平均値『ｍ１』および標準偏差『σ１』からなる遅延分布パラメータを抽出する。
【００２８】
同様に、図２に示した対象回路２００では、クロックパスＣＰを構成する回路素子は、バッファＢ６〜バッファＢ８であるため、バッファＢ６〜バッファＢ８の遅延分布情報を抽出する。たとえば、バッファＢ６の回路素子名が『Ｃ６』である場合、バッファＢ６の遅延分布情報３００−６として、平均値『ｍ６』および標準偏差『σ６』からなる遅延分布パラメータを抽出する。
【００２９】
また、データパス遅延分布情報算出部４０３は、抽出部４０２によって抽出されたデータパスＤＰを構成する各回路素子の遅延分布情報を用いて、データパスＤＰの遅延分布情報を算出する。具体的には、データパスＤＰを構成する各回路素子の遅延分布情報を畳み込むことによって、すなわち、数学的な畳み込みによって、データパスＤＰの遅延分布情報を算出する。
【００３０】
ここで、図２に示したデータパスＤＰを構成するバッファＢ１〜バッファＢ５のクロック遅延の平均値をｍｄ１〜ｍｄ５、標準偏差をσｄ１〜σｄ５とすると、データパスＤＰの遅延分布情報の遅延分布パラメータであるクロック遅延の平均値ｍｄａおよび標準偏差σｄａは、下記式（１）、（２）によって算出することができる。
【００３１】
ｍｄａ＝ｍｄ１＋ｍｄ２＋ｍｄ３＋ｍｄ４＋ｍｄ５・・・（１）
【００３２】
【数１】
2006268478.tif 000003
【００３３】
この場合、データパス遅延分布情報は、平均値ｍｄａおよび標準偏差σｄａを遅延分布パラメータとする正規分布によってあらわすことができる。
【００３４】
また、クロックパス遅延分布情報算出部４０４は、抽出部４０２によって抽出されたクロックパスＣＰを構成する各回路素子の遅延分布情報を用いて、クロックパスＣＰの遅延分布情報を算出する。具体的には、クロックパスＣＰを構成する各回路素子の遅延分布情報を畳み込むことによって、すなわち、数学的な畳み込みによって、クロックパスＣＰの遅延分布情報を算出する。
【００３５】
ここで、図２に示したクロックパスＣＰを構成するバッファＢ６〜バッファＢ８のクロック遅延の平均値をｍｃ１〜ｍｃ３、標準偏差をσｃ１〜σｃ３とすると、クロックパスＣＰの遅延分布情報の遅延分布パラメータであるクロック遅延の平均値ｍｃｋおよび標準偏差σｃｋは、下記式（３）、（４）によって算出することができる。
【００３６】
ｍｃｋ＝ｍｃ１＋ｍｃ２＋ｍｃ３・・・（３）
【００３７】
【数２】
2006268478.tif 000004
【００３８】
この場合、クロックパス遅延分布情報は、平均値ｍｃｋおよび標準偏差σｃｋを遅延分布パラメータとする正規分布によってあらわすことができる。
【００３９】
ここで、データパスＤＰの遅延分布と、クロックパスＣＰの遅延分布とを示す。図５は、データパスＤＰの遅延分布と、クロックパスＣＰの遅延分布とを示すグラフである。図５において、遅延分布Ｐｄａは、データパスＤＰの遅延分布情報の遅延分布パラメータ（ｍｄａ，σｄａ）を用いた正規分布となる確率密度関数である。また、遅延分布Ｐｃｋは、クロックパスＣＰの遅延分布情報の遅延分布パラメータ（ｍｃｋ，σｃｋ）を用いた正規分布となる確率密度関数である。
【００４０】
なお、図５中、ａはタイミング解析（ＳＴＡ）から得られたデータパスＤＰの最大遅延値であり、ｂはタイミング解析（ＳＴＡ）から得られたクロックパスＣＰの最小遅延値である。したがって、Ｓ１（Ｓ１＝ｂ−ａ）は、従来におけるクロック遅延値をあらわしている。同様に、図５において、ｃはデータパスＤＰの統計的最大遅延値であり、ｄはクロックパスＣＰの統計的最小遅延値である。したがって、Ｓ２（Ｓ２＝ｄ−ｃ）は、従来の統計的手法によるクロック遅延値である。
【００４１】
また、図４において、遅延差分布情報算出部４０５は、データパス遅延分布情報算出部４０３によって算出されたデータパスＤＰの遅延分布情報と、クロックパス遅延分布情報算出部４０４によって算出されたクロックパスＣＰの遅延分布情報とを用いて、データパスＤＰとクロックパスＣＰとの間の遅延差分布情報を算出する。
【００４２】
ここで、データパスＤＰとクロックパスＣＰとの間の遅延差分布情報は、データパスＤＰとクロックパスＣＰとの間の遅延差分布におけるクロック遅延値の平均値ｍおよび標準偏差σからなる遅延差分布パラメータによってあらわされる正規分布である。たとえば、図２に示した対象回路２００においては、上記式（１）で求めたデータパスＤＰの遅延分布Ｐｄａの平均値ｍｄａと、上記式（３）で求めたクロックパスＣＰの遅延分布Ｐｃｋの平均値ｍｃｋとの差によって、遅延差分布の平均値ｍを算出する（下記式（５）を参照）。
【００４３】
ｍ＝ｍｄａ−ｍｃｋ・・・（５）
【００４４】
同様に、上記式（２）で求めたデータパスＤＰの遅延分布Ｐｄａの標準偏差σｄａと、上記式（４）で求めたクロックパスＣＰの遅延分布Ｐｃｋの標準偏差σｃｋとを用いて、遅延差分布の標準偏差σを算出する（下記式（６）を参照）。
【００４５】
【数３】
2006268478.tif 000005
【００４６】
この場合、遅延差分布情報は、平均値ｍおよび標準偏差σを遅延分布パラメータとする正規分布によってあらわすことができる。図６は、この発明の実施の形態にかかる遅延差分布を示すグラフである。図６において、遅延差分布Ｐは、上記式（５）、（６）で求めた遅延分布パラメータ（ｍ，σ）を用いた正規分布となる確率密度関数である。
【００４７】
また、図４において、クロック遅延値算出部４０６は、遅延差分布情報算出部４０５によって算出された遅延差分布情報に基づいて、対象回路２００のクロック遅延値を算出する。このクロック遅延値は、いわゆるスラック値であり、遅延差分布Ｐから得ることができる。たとえば、Ｓ３（Ｓ３＝ｍ−３σ）が、求めるべき対象回路２００のクロック遅延値となる。
【００４８】
具体的に説明すると、クロック遅延値Ｓ３を展開すると下記式（７）によってあらわすことができる。
【００４９】
【数４】
2006268478.tif 000006
【００５０】
また、図５で示した統計的手法のクロック遅延値Ｓ２を展開すると下記式（８）によってあらわすことができる。
【００５１】
Ｓ２＝ｍｃｋ−３σｃｋ−（ｍｄａ＋３σｄａ）
＝ｍｃｋ−ｍｄａ−３（σｃｋ＋σｄａ）・・・（８）
【００５２】
式（７）、（８）の差をとると、下記式（９）を得ることができる。
【００５３】
【数５】
2006268478.tif 000007
【００５４】
上記式（９）において、右辺は遅延差分布Ｐの標準偏差σであり（式（６）を参照）、クロック遅延値Ｓ３における式（７）の末尾の項をあらわしている。一方、左辺はクロック遅延値Ｓ２における式（８）の末尾の項をあらわしている。標準偏差σｃｋ、σｄａはともに、σｃｋ＞０、σｄａ＞０を満たすため、式（９）の右辺の値は、左辺の値以下となる。したがって、Ｓ２≦Ｓ３となるため、クロック遅延値Ｓ３の方がクロック遅延値Ｓ１、Ｓ２よりもスラックを大きくとることができる。
【００５５】
なお、上述した入力部４０１、抽出部４０２、データパス遅延分布情報算出部４０３、クロックパス遅延分布情報算出部４０４、遅延差分布情報算出部４０５、およびクロック遅延値算出部４０６は、具体的には、たとえば、図１に示したＲＯＭ１０２、ＲＡＭ１０３、ＨＤ１０５などの記録媒体に記録されたプログラムを、ＣＰＵ１０１が実行することによって、またはＩ／Ｆ１０９によって、その機能を実現する。
【００５６】
（クロック遅延解析処理手順）
つぎに、この発明の実施の形態にかかるクロック遅延解析処理手順について説明する。図７は、この発明の実施の形態にかかるクロック遅延解析処理手順を示すフローチャートである。図７において、まず、入力部４０１に回路情報４１０が入力された場合（ステップＳ７０１：Ｙｅｓ）、抽出部４０２により、回路素子遅延分布情報データベース３００から、データパスＤＰおよびクロックパスＣＰを構成する回路素子の遅延分布情報を抽出する（ステップＳ７０２）。
【００５７】
そして、データパス遅延分布情報算出部４０３の統計的畳み込みにより、データパスＤＰの遅延分布情報（平均値ｍｄａおよび標準偏差σｄａ）を算出する（ステップＳ７０３）。同様に、クロックパス遅延分布情報算出部４０４の統計的畳み込みにより、クロックパスＣＰの遅延分布情報（平均値ｍｃｋおよび標準偏差σｃｋ）を算出する（ステップＳ７０４）。これにより、図５に示した正規分布Ｐｄａ，Ｐｃｋを得ることができる。
【００５８】
このあと、遅延差分布情報算出部４０５により、データパスＤＰとクロックパスＣＰとの間の遅延差分布情報（平均値ｍおよび標準偏差σ）を算出する（ステップＳ７０５）。これにより、図６に示した遅延差分布Ｐを得ることができる。最後に、この遅延差分布Ｐから対象回路２００のクロック遅延値Ｓ３を算出する（ステップＳ７０６）。
【００５９】
この実施の形態によれば、クロックパスＣＰとデータパスＤＰの遅延差分布Ｐを用いることにより、統計的要因を考慮した最小スラック値を正確に見積もることができ、従来手法での悲観的なマージン（見積もり）を緩和することができる。これにより、従来に比べ、実ＬＳＩデータで最大１５％程度の向上を図ることができる。したがって、手戻りの少ない効率的な設計作業を実現することができる。
【００６０】
なお、上述した実施の形態の回路素子遅延分布情報データベース３００において、各回路素子の遅延分布情報として、正規分布をあらわす平均値ｍおよび標準偏差σからなる遅延分布パラメータを用いたが、回路素子の種別や特性の違いにより、正規分布とは異なった確率分布に従う場合もある。このような回路素子の場合には、回路素子遅延分布情報データベース３００に、図８に示す遅延分布パラメータを記憶する。
【００６１】
図８は、回路素子遅延分布情報データベース３００の他の記憶内容を示す説明図である。図８において、回路素子遅延分布情報データベース３００は、回路素子ごとに、回路素子遅延分布情報８００−１〜８００−ｎを格納している。回路素子遅延分布情報８００−１〜８００−ｎは、回路素子ごとに、代表点座標となる遅延分布パラメータを有している。たとえば、回路素子遅延分布情報８００−ｉにおいて、回路素子名Ｃｉの回路素子のクロック遅延が確率分布Ｑｉに従う場合、代表点座標ｒｉ１〜ｒｉ５を遅延分布パラメータとして記憶する。これにより、確率分布Ｑｉは、代表点座標ｒｉ１〜ｒｉ５から得られる確率密度関数によってあらわすことができる。
【００６２】
この場合、データパス遅延分布情報算出部４０３およびクロックパス遅延分布情報算出部４０４においては、各回路素子の確率密度関数を畳み込むことによって、データパスＤＰの遅延分布情報およびクロックパスＣＰの遅延分布情報を算出することができる。この図８に示した回路素子遅延分布情報８００−１〜８００−ｎを用いることにより、不規則な確率分布を持つ回路素子にも対応することができ、汎用性の向上を図ることができる。
【００６３】
以上説明したように、クロック遅延解析装置、クロック遅延解析方法、クロック遅延解析プログラム、および記録媒体によれば、対象回路の安定した最小クロック遅延値（スラック）を正確に見積もることにより、設計マージンの悲観性の緩和を図ることができる。
【００６４】
なお、本実施の形態で説明したクロック遅延解析方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
【００６５】
（付記１）対象回路の回路情報の入力を受け付ける入力手段と、
前記入力手段によって入力された回路情報に基づいて、前記対象回路のデータパスを構成する各回路素子の遅延分布情報を用いて、前記データパスの遅延分布情報を算出するとともに、前記対象回路のクロックパスを構成する各回路素子の遅延分布情報を用いて、前記クロックパスの遅延分布情報を算出する遅延分布情報算出手段と、
前記遅延分布情報算出手段によって算出された前記データパスの遅延分布情報と前記クロックパスの遅延分布情報とを用いて、前記データパスと前記クロックパスとの間の遅延差分布情報を算出する遅延差分布情報算出手段と、
前記遅延差分布情報算出手段によって算出された遅延差分布情報に基づいて、前記対象回路のクロック遅延値を算出するクロック遅延値算出手段と、
を備えることを特徴とするクロック遅延解析装置。
【００６６】
（付記２）複数の回路素子の遅延分布情報を記憶する記憶手段と、
前記記憶手段に記憶された複数の回路素子の遅延分布情報の中から、前記回路情報に記述されている、前記データパスを構成する各回路素子の遅延分布情報と、前記クロックパスを構成する各回路素子の遅延分布情報とを抽出する抽出手段と、を備え、
前記遅延分布情報算出手段は、
前記抽出手段によって抽出された前記データパスを構成する各回路素子の遅延分布情報を用いて、前記データパスの遅延分布情報を算出するとともに、前記抽出手段によって抽出された前記クロックパスを構成する各回路素子の遅延分布情報を用いて、前記クロックパスの遅延分布情報を算出することを特徴とする付記１に記載のクロック遅延解析装置。
【００６７】
（付記３）前記遅延分布情報算出手段は、
前記データパスを構成する各回路素子の遅延分布情報を畳み込むことによって、前記データパスの遅延分布情報を算出するとともに、前記対象回路のクロックパスを構成する各回路素子の遅延分布を畳み込むことによって、前記クロックパスの遅延分布情報を算出することを特徴とする付記１または２に記載のクロック遅延解析装置。
【００６８】
（付記４）対象回路の回路情報の入力を受け付ける入力工程と、
前記入力工程によって入力された回路情報に基づいて、前記対象回路のデータパスを構成する各回路素子の遅延分布情報を用いて、前記データパスの遅延分布情報を算出するとともに、前記対象回路のクロックパスを構成する各回路素子の遅延分布情報を用いて、前記クロックパスの遅延分布情報を算出する遅延分布情報算出工程と、
前記遅延分布情報算出工程によって算出された前記データパスの遅延分布情報と前記クロックパスの遅延分布情報とを用いて、前記データパスと前記クロックパスとの間の遅延差分布情報を算出する遅延差分布情報算出工程と、
前記遅延差分布情報算出工程によって算出された遅延差分布情報に基づいて、前記対象回路のクロック遅延値を算出するクロック遅延値算出工程と、
を含んだことを特徴とするクロック遅延解析方法。
【００６９】
（付記５）複数の回路素子の遅延分布情報の中から、前記回路情報に記述されている、前記データパスを構成する各回路素子の遅延分布情報と、前記クロックパスを構成する各回路素子の遅延分布情報とを抽出する抽出工程と、を含み、
前記遅延分布情報算出工程は、
前記抽出工程によって抽出された前記データパスを構成する各回路素子の遅延分布情報を用いて、前記データパスの遅延分布情報を算出するとともに、前記抽出工程によって抽出された前記クロックパスを構成する各回路素子の遅延分布情報を用いて、前記クロックパスの遅延分布情報を算出することを特徴とする付記４に記載のクロック遅延解析方法。
【００７０】
（付記６）前記遅延分布情報算出工程は、
前記データパスを構成する各回路素子の遅延分布情報を畳み込むことによって、前記データパスの遅延分布情報を算出するとともに、前記対象回路のクロックパスを構成する各回路素子の遅延分布を畳み込むことによって、前記クロックパスの遅延分布情報を算出することを特徴とする付記４または５に記載のクロック遅延解析方法。
【００７１】
（付記７）対象回路の回路情報の入力を受け付けさせる入力工程と、
前記入力工程によって入力された回路情報に基づいて、前記対象回路のデータパスを構成する各回路素子の遅延分布情報を用いて、前記データパスの遅延分布情報を算出するとともに、前記対象回路のクロックパスを構成する各回路素子の遅延分布情報を用いて、前記クロックパスの遅延分布情報を算出させる遅延分布情報算出工程と、
前記遅延分布情報算出工程によって算出された前記データパスの遅延分布情報と前記クロックパスの遅延分布情報とを用いて、前記データパスと前記クロックパスとの間の遅延差分布情報を算出させる遅延差分布情報算出工程と、
前記遅延差分布情報算出工程によって算出された遅延差分布情報に基づいて、前記対象回路のクロック遅延値を算出させるクロック遅延値算出工程と、
をコンピュータに実行させることを特徴とするクロック遅延解析プログラム。
【００７２】
（付記８）複数の回路素子の遅延分布情報の中から、前記回路情報に記述されている、前記データパスを構成する各回路素子の遅延分布情報と、前記クロックパスを構成する各回路素子の遅延分布情報とを抽出させる抽出工程と、をコンピュータに実行させ、
前記遅延分布情報算出工程は、
前記抽出工程によって抽出された前記データパスを構成する各回路素子の遅延分布情報を用いて、前記データパスの遅延分布情報を算出するとともに、前記抽出工程によって抽出された前記クロックパスを構成する各回路素子の遅延分布情報を用いて、前記クロックパスの遅延分布情報を算出させることを特徴とする付記７に記載のクロック遅延解析プログラム。
【００７３】
（付記９）前記遅延分布情報算出工程は、
前記データパスを構成する各回路素子の遅延分布情報を畳み込むことによって、前記データパスの遅延分布情報を算出するとともに、前記対象回路のクロックパスを構成する各回路素子の遅延分布を畳み込むことによって、前記クロックパスの遅延分布情報を算出させることを特徴とする付記７または８に記載のクロック遅延解析プログラム。
【００７４】
（付記１０）付記７〜９のいずれか一つに記載のクロック遅延解析プログラムを記録したコンピュータに読み取り可能な記録媒体。
【産業上の利用可能性】
【００７５】
以上のように、本発明にかかるクロック遅延解析装置、クロック遅延解析方法、クロック遅延解析プログラム、および記録媒体は、ＬＳＩのクロック遅延解析に有用であり、特に、ＶＬＳＩのクロック遅延解析に適している。
【図面の簡単な説明】
【００７６】
【図１】この発明の実施の形態にかかるクロック遅延解析装置のハードウェア構成を示すブロック図である。
【図２】この発明の実施の形態にかかる対象回路の一例を示す回路図である。
【図３】回路素子遅延分布情報データベースの記憶内容を示す説明図である。
【図４】この発明の実施の形態にかかるクロック遅延解析装置の機能的構成を示すブロック図である。
【図５】データパスの遅延分布と、クロックパスの遅延分布とを示すグラフである。
【図６】この発明の実施の形態にかかる遅延差分布を示すグラフである。
【図７】この発明の実施の形態にかかるクロック遅延解析処理手順を示すフローチャートである。
【図８】回路素子遅延分布情報データベースの他の記憶内容を示す説明図である。
【符号の説明】
【００７７】
２００  対象回路
３００  回路素子遅延分布情報データベース
４００  クロック遅延解析装置
４０１  入力部
４０２  抽出部
４０３  データパス遅延分布情報算出部
４０４  クロックパス遅延分布情報算出部
４０５  遅延差分布情報算出部
４０６  クロック遅延値算出部
４１０  回路情報
ＣＰ  クロックパス
ＤＰ  データパス
【図１】
2006268478.tif 000008
【図２】
2006268478.tif 000009
【図３】
2006268478.tif 000010
【図４】
2006268478.tif 000011
【図５】
2006268478.tif 000012
【図６】
2006268478.tif 000013
【図７】
2006268478.tif 000014
【図８】
2006268478.tif 000015