(57)【要約】【課題】  過剰な設計マージンを省いた回路設計を行うことができる遅延解析装置、遅延解析方法、及びプログラムを提供する。【解決手段】  本発明の遅延解析装置は、任意区域内外のクロックパスを、ＣＲＰＲ(Clock Reconvergence Pessimism Removal)を考慮して遅延解析する遅延解析部を含む。【選択図】      図３
2010049386.tif 000002
【特許請求の範囲】
【請求項１】
任意区域内外のクロックパスを、ＣＲＰＲ(Clock Reconvergence Pessimism Removal)を考慮して遅延解析する遅延解析部
を含む遅延解析装置。
【請求項２】
前記任意区域はマクロであり、
前記遅延解析部は、マクロ内外のクロックパスを含んだマクロネットリストに基づき、前記クロックパスの重複箇所である共通ポイントを認識して遅延解析する
請求項１に記載の遅延解析装置。
【請求項３】
前記遅延解析部は、マクロ外のクロックパス遅延情報を含むグローバルクロックパス遅延時間情報とマクロ内回路遅延時間情報と前記マクロ外クロックパス込みのマクロネットリストとに基づき、前記共通ポイントを除いて前記クロックパスのクロックスキューを算出する
請求項２に記載の遅延解析装置。
【請求項４】
マクロ内部の領域を含めたチップ全面へクロックパスを分配した状態を示すグローバルクロック分配後トップネットリストを出力するグローバルクロック分配部と、
前記グローバルクロック分配後トップネットリストから前記マクロに関係するクロックパス記述を抜き出し、当該クロックパス記述と前記マクロのレイアウト後マクロネットリストとをマージし、前記マクロネットリストとして出力するネットリストマージ部と
を含む請求項２又は３に記載の遅延解析装置。
【請求項５】
前記遅延解析部は、前記任意区域内外のクロックパスを含んだ任意区域ネットリストに基づき、前記任意区域内外のクロックパスの重複箇所である共通ポイントを認識して遅延解析する
請求項１に記載の遅延解析装置。
【請求項６】
前記遅延解析部は、任意区域外のクロックパス遅延情報を含むグローバルクロックパス遅延時間情報と任意区域内回路遅延時間情報と前記任意区域ネットリストとに基づき、前記共通ポイントを除いて前記クロックパスのクロックスキューを算出する
請求項５に記載の遅延解析装置。
【請求項７】
任意区域内部の領域を含めたチップ全面の全てのセルに対する配置・配線処理完了後のネットリストであるチップネットリストと前記任意区域のレイアウト後任意区域ネットリストとをマージし、前記任意区域ネットリストとして出力するネットリストマージ部
を含む請求項５又は６に記載の遅延解析装置。
【請求項８】
前記任意区域はマクロであり、
前記遅延解析部は、
マクロ内回路遅延時間情報とレイアウト後マクロネットリストとに基づき、前記マクロ内のクロックパスの重複箇所である共通ポイントを除いて前記マクロ内部のクロックスキューを算出し、
マクロ外部の共通ポイントを除いて算出された前記マクロ外部のクロックスキューと前記マクロ内部のクロックスキューとを足し合わせてマクロ内外の前記クロックパスのクロックスキューを算出する
請求項１に記載の遅延解析装置。
【請求項９】
前記遅延解析部は、同一の前記マクロの外部クロック端子ペア毎に、前記マクロ外部の共通ポイントを除いて算出されたクロックスキューのテーブルであるクロックスキューテーブルから前記マクロ外部のクロックスキューを取得する
請求項８に記載の遅延解析装置。
【請求項１０】
マクロ内部の領域を含めたチップ全面へクロックを分配した状態を示すグローバルクロック分配後トップネットリストを出力するグローバルクロック分配部と、
前記グローバルクロック分配後トップネットリストに基づき、セルライブラリを参照してＲＣ（Resistance Capacitance）シミュレーションによる遅延計算を行い、グローバルクロックパス遅延時間情報を出力するグローバルクロックパス遅延時間算出部と、
前記グローバルクロック分配後トップネットリストに基づき、前記マクロ内部の回路を切り出した後のマクロ切り出し後トップネットリストを出力するマクロ切り出し部と、
前記グローバルクロックパス遅延時間情報を用いて、前記マクロ切り出し後トップネットリストの共通ポイントを除いてクロックスキュー算出を行い、前記クロックスキューテーブルを作成するクロックスキューテーブル作成部と
を含む請求項９に記載の遅延解析装置。
【請求項１１】
前記遅延解析部は、
任意区域内回路遅延時間情報とレイアウト後の任意区域ネットリストとに基づき、前記任意区域内のクロックパスの重複箇所である共通ポイントを除いて前記任意区域内部のクロックスキューを算出し、
任意区域外部の共通ポイントを除いて算出された前記任意区域外部のクロックスキューと前記任意区域内部のクロックスキューとを足し合わせて任意区域内外の前記クロックパスのクロックスキューを算出する
請求項１に記載の遅延解析装置。
【請求項１２】
前記遅延解析部は、同一の前記任意区域の外部クロック端子ペア毎に、前記任意区域外部の共通ポイントを除いて算出されたクロックスキューのテーブルであるクロックスキューテーブルから前記任意区域外部のクロックスキューを取得する
請求項１１に記載の遅延解析装置。
【請求項１３】
チップ全面の全てのセルに対する配置・配線処理完了後のネットリストであるチップネットリストに基づき、前記任意領域内部の回路を切り出した後の任意領域切り出し後チップネットリストを出力する任意区域切り出し部と、
グローバルクロックパス遅延時間情報と前記任意区域切り出し後トップネットリストに基づき、任意区域切り出し後トップネットリストの共通ポイントを考慮したクロックスキュー算出を行い、前記クロックスキューテーブルを作成するクロックスキューテーブル作成部と
を含む請求項１２に記載の遅延解析装置。
【請求項１４】
任意区域内外のクロックパスを、ＣＲＰＲを考慮して遅延解析する
遅延解析方法。
【請求項１５】
コンピュータを、
任意区域内外のクロックパスを、ＣＲＰＲを考慮して遅延解析する手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は遅延解析装置、遅延解析方法、及びプログラムに関し、特に、ＣＲＰＲを考慮して遅延解析する遅延解析装置、遅延解析方法、及びプログラムに関する。
【背景技術】
【０００２】
回路設計において、クロックパスの共通ポイントを考慮して、悲観的条件を削除するＣＲＰＲ(Clock Reconvergence Pessimism Removal：クロック再収束の悲観的条件の削除)が行われている。例えば、クロックパスの重複箇所である共通ポイントでは遅延時間はばらつかないため、共通ポイントを除いて計算する遅延解析は、過剰な設計マージンを省くことができる。
【０００３】
例えば、特許文献１は、ネットリストに基づき、信号伝搬方向とは逆の方向からパスを辿っていき、共通部分が現れたところで、共通部分でない部分を抽出することにより、共通部分のばらつきを除去した計算が自動的に実行されるタイミング配分装置を開示している。
【０００４】
【特許文献１】特開２００７−１８８５１７号公報（段落０２１３）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
近年、ＬＳＩ（Large Scale Integration）等の回路の大規模化に伴い、１つのＬＳＩをマクロ毎に設計したり、チップレイアウト後にチップの任意区域を切り出して処理したりする場面が多くなっている。上述したタイミング配分装置では、任意区域内外（例、マクロ内外）の両方のクロックパスをＣＲＰＲを考慮して遅延解析していなかったため、過剰な設計マージンを省いた回路設計を行うことができないという問題点があった。
【０００６】
本発明の目的は、上述した課題を解決する遅延解析装置、遅延解析方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
本発明の遅延解析装置は、任意区域内外のクロックパスを、ＣＲＰＲを考慮して遅延解析する遅延解析部を含む。
【０００８】
本発明の遅延解析方法は、任意区域内外のクロックパスを、ＣＲＰＲを考慮して遅延解析する。
【０００９】
本発明のプログラムは、コンピュータを、任意区域内外のクロックパスを、ＣＲＰＲを考慮して遅延解析する手段として機能させる。
【発明の効果】
【００１０】
本発明には、過剰な設計マージンを省いた回路設計を行うことができるという効果がある。
【発明を実施するための最良の形態】
【００１１】
まず、本発明の実施の形態の説明に先立ち、発明の経緯について詳述する。
【００１２】
上述したように、ＬＳＩの大規模化に伴い、１つのＬＳＩをマクロ毎に設計したり、チップレイアウト後にチップの任意区域を切り出して処理したりする場面が多くなっている。
【００１３】
図１−Ａは、トップ分配後のＬＳＩを示した図である。階層設計のクロック分配の手法としては、図１−Ａのように、トップ処理（マクロをブラックボックスとして扱い、チップ全面に対し行う処理）、及びマクロ処理（マクロ内部の処理）のそれぞれのレイアウト処理の中でクロックを分配して、チップ処理（チップ全面の処理）時にトップのクロック分配とマクロのクロック分配をマージさせる手法が一般的である。
【００１４】
このクロック分配手法には、チップ全体で同期を取る場合に、段数が多くなりクロックスキューが大きくなってしまうという問題があった。図１−Ａを参照して具体的に説明すると、クロックパスｃ１、及びｃ２は、マクロｍ１を迂回してマクロｍ２、ｍ３へ分配されるため、迂回する分段数が多くなってしまい、その結果、クロックスキューの増大を招いてしまう。
【００１５】
この問題を解消するためのクロック分配手法として、本発明では、図１（ｂ）に示すような手法を採用する。図１−Ｂは、トップ分配又はマクロ分配後のＬＳＩを示した図である。この手法では、クロック分配がトップ処理の時点でチップ全面に対して行われ、マクロ処理ではチップ全面に分配されたクロックパスからマクロ内に存在する部分のクロックパスが切り出され、それに対してマクロ処理が行われる。そして、この手法では、マクロ処理でのクロック分配がクロックツリー末端ドライバとマクロ内のＦＦとを繋げるのみとされる。
【００１６】
この手法は、前述の手法に比べてクロックツリーの段数を少なく抑え、クロックスキューを小さくすることができる。ただし、この手法は、チップ全面にクロックパスが分配された状態からマクロを切り出してマクロ処理を行うため、クロック分配の物理的な位置関係を意識せずに自由にマクロが切り出された場合に、マクロ境界にクロック端子が複数存在する断片的なクロックパスを含むマクロを切り出すことになる。
【００１７】
ＬＳＩチップ上のクロックソース（ＰＬＬ（Phase Locked Loop）回路）からマクロ境界の各クロック端子までのクロックツリー段数にはばらつきが生じることがある。このため、マクロ遅延解析時に精度の良いクロックスキューを用いることが困難である。トップ処理で得られたＰＬＬ回路からマクロ境界までのクロックパス遅延時間をマクロ遅延解析時に使用することは、遅延解析ツールの運用を工夫すれば可能である。しかし、遅延解析ツールが単純にＰＬＬ回路からマクロ境界までのクロックパス遅延時間をマクロ遅延解析時に使用するだけでは、遅延解析ツールはマクロの外のクロックパスの接続関係を認識できない。そのため、遅延解析ツールはマクロの外のクロックパスの共通ポイントを認識することができず、ＣＲＰＲを考慮することができなかった。
【００１８】
ここで、ＣＲＰＲについて説明する。図２は、クロックスキュー算出における、ＣＲＰＲ考慮した場合としなかった場合の比較を示す図である。
【００１９】
トランジスタや配線のばらつきを考慮した遅延解析では、図２の式１及び式２に示すように、始終点ＦＦ（Flip-Flop）の各クロックパス遅延時間に異なる係数を掛けることで、クロックスキューにマージンを与えて遅延解析が行われる。ただし実際の半導体集積回路では、図２中のクロックパスの重複部分である共通ポイント（ａｂ間）におけるトランジスタや配線の特性にばらつきはない。そのため、式１及び式２のようにクロックパス遅延時間全体に係数を掛ける方法では、クロックスキューを過剰に大きく考慮してしまうことになり、悲観的な遅延解析を行うことになってしまう。クロックパスの共通ポイントを考慮して、この悲観的条件を削除することをＣＲＰＲという。
【００２０】
式３〜式６は具体的な計算例を示す。本計算例では、クロックパス遅延を、ａｂ間＝１、ｂｃ間＝１、ｂｄ間＝２であると仮定している。式３〜式６に示すように、ＣＲＰＲの考慮・未考慮の違いは、共通ポイントａｂ間の遅延に係数を掛けた分の差である。計算例においては、この差分が、ＳＥＴＵＰタイミング検証用クロックスキュー、ＨＯＬＤタイミング検証用クロックスキューとも、ＣＲＰＲ考慮時のほうがＣＲＰＲ未考慮時よりも０．２小さくなっている。これは、ＣＲＰＲを考慮した場合には、ＣＲＰＲ未考慮時に過剰な設計マージンになっていたクロックスキュー０．２分を削除できることを意味する。
【００２１】
このように、遅延解析ツールがマクロの外のクロックパスの接続関係を認識できない場合、遅延解析ツールは、マクロの遅延解析時にＣＲＰＲを考慮することができず、必要以上に大きなクロックスキューを使用した遅延解析を行うことになる。このことは、最適なマクロ設計を妨げる要因となる。チップレイアウト後の任意区域の遅延解析時も同様のことが生じる。
【００２２】
次に、本発明の概要を説明する。図３は本発明の遅延解析装置の概要を示す図である。
【００２３】
図において、遅延解析装置２００は遅延解析部２７０を含む。遅延解析部２７０は、任意区域内外のクロックパスを、ＣＲＰＲ(Clock Reconvergence Pessimism Removal)を考慮して遅延解析する。これにより、本発明は、過剰な設計マージンを省いた回路設計を行うことができるという効果を奏する。
【００２４】
次に、本発明の第１の実施の形態について図面を参照して詳細に説明する。第１の実施の形態では、後述するように、遅延解析部は、マクロ内外のクロックパスを含んだマクロ外クロックパス込みのマクロネットリスト１６を基に、マクロ内外のクロックパスの重複箇所である共通ポイントを認識して遅延解析する。なお、以下の説明で使用しているクロック分配手法［Ｈ−Ｔｒｅｅ］は一例であり、これに限定されるものではない。
【００２５】
図４は、本発明の遅延解析装置の第１の実施の形態を示す図である。
【００２６】
本実施の形態における遅延解析装置２００は、プログラム制御により動作するデータ処理装置２と、ハードディスク等の記憶装置１とを含む。図４では、説明の便宜上、記憶装置１内にデータ処理装置２が示されているが、実際にはデータ処理装置２は記憶装置１の外に設けられる。
【００２７】
記憶装置１には、トップネットリスト１１と、セルライブラリ１７と、遅延制約情報１９とが記憶されている。更に、記憶装置１には、出力情報として、グローバルクロック分配後ネットリスト１２と、グローバルクロックパス遅延時間情報１３と、マクロネットリスト１４と、レイアウト後マクロネットリスト１５と、マクロ外クロックパス込みのマクロネットリスト１６と、マクロ内回路遅延時間情報１８と、遅延解析情報１０とが記憶されている。
【００２８】
トップネットリスト１１は、下位階層をマクロとして、マクロ配置（フロアプラン）及びプリミティブセルの配置の双方の完了後、レイアウトツールから出力されたネットリストである。記憶装置１はトップネットリスト１１を予め記憶している。
【００２９】
セルライブラリ１７は、フリップフロップ（ＦＦ）やクロックドライバの各セルにおける入力端子から出力端子への遅延時間や入力端子に入力されるデータ信号に対するクロック信号のセットアップ時間やホールド時間などの情報を予め記憶している。セルライブラリについては、特開２００１−２７３３３８号公報及び特開２００６−３９６２１号公報でそれぞれ「セルライブラリ」及び「タイミング制約ライブラリ」として詳しく説明されている。
【００３０】
遅延制約情報１９とは、半導体集積回路を動作させるための制約情報となる基本クロック周期（或いは基本クロック周波数）、入力ピン外部の遅延時間、出力ピン外部の要求遅延時間、遅延制約例外パス（フォールス・パス，マルチサイクル・パス）などの情報である。記憶装置１は、遅延制約情報１９を予め記憶している。
【００３１】
グローバルクロック分配後トップネットリスト１２は、トップネットリスト１１のチップ全面にクロックパスが分配された状態を示すネットリストである（図１−Ｂ左）。
【００３２】
グローバルクロックパス遅延時間情報１３には、グローバルクロックパスのネットワーク毎の配線遅延時間やゲート遅延時間の情報が含まれる。
【００３３】
マクロネットリスト１４は、グローバルクロック分配後トップネットリスト１２からマクロ内部の回路を切り出した状態を示すネットリストであり、マクロ切り出し部２３により出力される。
【００３４】
レイアウト後マクロネットリスト１５は、マクロネットリスト１４にレイアウト処理を行った後の状態を示すネットリストであり、レイアウト部２４により出力される。
【００３５】
マクロ外クロックパス込みのマクロネットリスト１６は、グローバルクロック分配後トップネットリスト１２から対象マクロに関係するクロックパス記述を抜き出し、レイアウト後マクロネットリスト１５にマージした状態を示すネットリストであり、ネットリストマージ部２５により出力される。
【００３６】
マクロ内回路遅延時間情報１８は、遅延時間算出部２６により算出された、マクロ内回路のネットワーク毎の配線遅延時間やゲート遅延時間の情報である。
【００３７】
遅延解析情報１０には、ＣＲＰＲ考慮遅延解析部２７が遅延制約を満たしているかのチェックを行った結果判明した、遅延制約経路違反や違反値毎の度数分布統計情報が含まれる。
【００３８】
データ処理装置２は、グローバルクロック分配部２１と、遅延時間算出部２２と、マクロ切り出し部２３と、レイアウト部２４と、ネットリストマージ部２５と、遅延時間算出部２６と、ＣＲＰＲ考慮遅延解析部２７とを含む。
【００３９】
グローバルクロック分配部２１は、トップネットリスト１１に基づき、チップ全面にクロックパスを分配した状態を示すグローバルクロック分配後トップネットリスト１２を出力する。クロックパスの分配に当たっては、グローバルクロック分配部２１は、クロックパスの遅延が後続レイアウトで大きく変化しないように、シールド配線や隣接禁止配線がなされるように配慮する。
【００４０】
遅延時間算出部２２は、グローバルクロック分配後ネットリスト１２に基づき、セルライブラリ１７を参照してＲＣ（Resistance Capacitance）シミュレーションによる遅延計算を行い、グローバルクロックパス遅延時間情報１３を出力する。この遅延時間算出部２２は、グローバルクロックパス遅延時間算出部と呼ぶこともできる。
【００４１】
マクロ切り出し部２３は、グローバルクロック分配後ネットリスト１２に基づき、マクロ内部の回路を切り出した状態を示すマクロネットリスト１４を出力する。
【００４２】
レイアウト部２４は、マクロネットリスト１４に基づき、グローバルクロック分配の先のクロックツリー末端ドライバとマクロ内のＦＦを接続する処理を含む、レイアウト処理を行って、レイアウト後マクロネットリスト１５を出力する。
【００４３】
ネットリストマージ部２５は、グローバルクロック分配後トップネットリスト１２とレイアウト後マクロネットリスト１５に基づき、グローバルクロック分配後トップネットリスト１２から対象マクロに関係するクロックパス記述を抜いてきて、レイアウト後マクロネットリスト１５にマージして、マクロ外クロックパス込みのマクロネットリスト１６を出力する。
【００４４】
遅延時間算出部２６は、マクロ外クロックパス込みのマクロネットリスト１６に基づき、セルライブラリ１７を参照してＲＣシミュレーションによる遅延計算を行い、マクロ内回路遅延時間情報１８を出力する。
【００４５】
ＣＲＰＲ考慮遅延解析部２７は、前述の遅延解析部２７０の一例である。ＣＲＰＲ考慮遅延解析部２７は、マクロ外クロックパス込みのマクロネットリスト１６と、グローバルクロックパス遅延時間情報１３と、マクロ内回路遅延時間情報１８と、遅延制約情報１９とを参照する。ＣＲＰＲ考慮遅延解析部２７は、マクロ外クロックパスについてはグローバルクロックパス遅延時間情報を割り当て、マクロ内の回路については、マクロ内遅延時間情報からマクロ内回路の遅延時間情報を割り当てる。そして、ＣＲＰＲ考慮遅延解析部２７は、これらの遅延時間情報を元に、信号パスの遅延時間の算出、クロックパスの遅延時間の算出、クロックスキューの算出、クロックパス遅延時間と信号パス遅延時間が遅延制約を満たしているかのチェックを行い、これらの算出結果等を遅延解析情報１０として出力する。
【００４６】
クロックスキューの算出では、ＣＲＰＲ考慮遅延解析部２７は、マクロ外クロックパス込みのマクロネットリスト１６から各パスの始終点のクロックパスの重複箇所である共通ポイントの情報を得て、ＣＲＰＲを考慮して（共通ポイントを除いて）クロックスキューを算出する。クロックパス遅延時間と信号パス遅延時間が遅延制約を満たしているかのチェックでは、ＣＲＰＲ考慮遅延解析部２７は、ＣＲＰＲを考慮したクロックスキューを使用して、クロックパス遅延時間と信号パス遅延時間が遅延制約を満たしているかのチェックを行う。
【００４７】
次に、本発明の第１の実施の形態の動作について図面を参照して説明する。
【００４８】
図５は、ＣＲＰＲを考慮したマクロの遅延解析を示したフローチャートである。
【００４９】
ステップＳ１１：グローバルクロック分配部２１に、トップネットリスト１１が入力される。図６は、ステップＳ１１のグローバルクロック分配処理を示す図である。グローバルクロック分配部２１は、一般的なトップ処理のクロック分配で行われるようなマクロ境界までのクロック分配ではなく、マクロ内部の領域も含めたチップ全面へクロックを分配し、グローバルクロック分配後トップネットリスト１２を出力する。
【００５０】
ステップＳ１２：遅延時間算出部２２に、グローバルクロック分配後トップネットリスト１２が入力される。遅延時間算出部２２は、セルライブラリ１７を参照してＲＣシミュレーションによる遅延計算を行い、グローバルクロックパス遅延時間情報１３を出力する。遅延時間算出部２２を含むステップＳ２の詳細については、特開２００１−２７３３３８号公報、特開２０００−２５９６８６号公報、特開２０００−３０５９６６号公報、特開２０００−２５０９５０号公報などを参照できる。
【００５１】
ステップＳ１３：マクロ切り出し部２３にグローバルクロック分配後トップネットリスト１２が入力される。図７は、ステップＳ１３のマクロ切り出し処理を示す図である。マクロ切り出し部２３はマクロ内部の回路を切り出し、マクロネットリスト１４として出力する。ステップＳ１１でチップ全面へクロック分配が行われ、物理的にクロックパスが分配されている。マクロ切り出し部２３は、そのクロックパスとマクロ境界の交差点にマクロの外部クロック端子を発生させて、そのマクロの外部クロック端子を含むマクロを切り出す。クロック端子の切り出し処理以外の処理については、特開２００８−９７８７号公報、特開２００５−２３５８０４号公報などを参照できる。
【００５２】
ステップＳ１４：レイアウト部２４にマクロネットリスト１４が入力され、レイアウト部２４がレイアウト処理を行い、レイアウト後マクロネットリスト１５を出力する。この処理の中で、レイアウト部２４はクロックツリー末端ドライバからマクロ内の各ＦＦのクロック入力端子までのクロックパスを接続する処理を行う。この処理で、クロックソースからのクロックがＦＦまで完全に分配されたことになる。クロックツリー末端ドライバから各ＦＦのクロック入力端子までのクロックパスを接続する処理については、特開２０００−２４３８４６号公報などを参照できる。その他のレイアウト処理の詳細については、特開２０００−２２３５７８号公報、特開２０００−１７２７３８号公報、特開２０００−１００９４８号公報などを参照できる。
【００５３】
ステップＳ１５：ネットリストマージ部２５に、レイアウト後マクロネットリスト１５、グローバルクロック分配後トップネットリスト１２が入力され、ネットリストマージ部２５はネットリストマージ処理を行う。ステップＳ１５をステップＳ１５−１〜Ｓ１５−３に区分して、図８乃至図１１を参照しながら具体的な処理を説明する。
【００５４】
図８は遅延解析対象のマクロｂのレイアウト後マクロネットリストを示す。マクロｂは、図８に記載されているように、セル５１ａ〜５１ｈ、５２ａ〜５２ｇ、５３ａ〜５３ｄと、外部入力端子５４ａ〜５４ｃと、クロック配線分岐点５５ａと、一般信号配線５６ａとを含む。セル５１ａ〜セル５１ｈはグローバルクロックドライバである。セル５２ａ〜セル５２ｊはローカルクロックドライバである。セル５３ａ〜セル５３ｄはフリップフロップ（ＦＦ）である。マクロｂはこれらの要素が図８のように組み合わされた回路である。
【００５５】
ステップＳ１５−１：ネットリストマージ部２５は、マクロｂのレイアウト後マクロネットリストから、クロックツリー末端ドライバより前のクロックパスの記述(セル・ネット・入力端子)を削除する。図９は、ステップＳ１５−１のクロックツリー末端ドライバより前のクロックパスの記述の削除を示す図である。図９に示すように、ネットリストマージ部２５は、マクロｂのセル５１ａ〜５１ｈ、５２ａ〜５２ｃ、外部入力端子５４ａ〜５４ｃと、それに繋がっているクロックツリー末端ドライバ５２ｄ〜５２ｇより前のクロックネットとを削除する。そして、ネットリストマージ部２５は、図９の右図のような状態のネットリストにする。
【００５６】
ステップＳ１５−２：ネットリストマージ部２５は、グローバルクロック分配後トップネットリストから、マクロｂに関わる、ＰＬＬ回路からクロックツリー末端ドライバ手前までのクロックパスの記述をコピーしてくる。
【００５７】
図１０は、ステップＳ１５−２における、ＰＬＬ回路からクロックツリー末端ドライバ手前までのクロックパスの記述のコピーを示す図である。図１０に示すように、ネットリストマージ部２５は、レイアウト後マクロネットリスト１５に含まれるクロックツリー末端ドライバの名前を起点として、グローバルクロック分配後トップネットリスト１２をＰＬＬ回路に向かってトレースしていく。ネットリストマージ部２５は、クロックツリー末端ドライバからその手前の入力ネットをトレースし、入力ネットからその手前のドライバをトレースし、ドライバからその手前の入力ネットをトレースし、というようにトレースを繰り返していく。ＰＬＬ回路までたどり着いたところで、ネットリストマージ部２５はＰＬＬ回路からクロックツリー末端ドライバ手前までのクロックパスの記述を確定させてコピーする。ネットリストマージ部２５は、これをクロックツリー末端ドライバの数分繰り返す。こうして、ネットリストマージ部２５は、マクロｂに関わるクロックパスを得ることができる。
【００５８】
ステップＳ１５−３：ネットリストマージ部２５は、ステップＳ１５−１で作成したクロックツリー末端ドライバより前のクロックパスの記述を削除したネットリストに、ステップＳ１５−２で作成したマクロｂに関わるクロックパスの記述をマージし、マクロ外クロックパス込みマクロネットリストを作成する。図１１は、マクロ外クロックパス込みマクロネットリストを示す。
【００５９】
ステップＳ１６：遅延時間算出部２６に、マクロ外クロックパス込みのマクロネットリスト１６が入力される。遅延時間算出部２６は、セルライブラリ１７を参照して、ＲＣシミュレーションによる遅延計算を行い、マクロ内回路遅延時間情報１８を出力する。遅延時間算出部２６を含むステップＳ１６の詳細については、特開２００１−２７３３３８号公報、特開２０００−２５９６８６号公報、特開２０００−３０５９６６号公報、特開２０００−２５０９５０号公報などを参照できる。
【００６０】
ステップＳ１７：ＣＲＰＲ考慮遅延解析部２７に、マクロ外クロックパス込みのマクロネットリスト１６とグローバルクロックパス遅延時間情報１３が入力される。ＣＲＰＲ考慮遅延解析部２７は、マクロ外クロックパス込みのマクロネットリスト１６にグローバルクロックパス遅延時間情報１３を割り当てる。さらに、ＣＲＰＲ考慮遅延解析部２７に、ステップＳ１６で得られたマクロｂのマクロ内回路遅延時間情報１８が入力される。ＣＲＰＲ考慮遅延解析部２７は、マクロ外クロックパス込みのネットリスト１６にマクロｂ内のネットワーク毎の配線遅延時間情報やゲート遅延時間情報を割り当てる。
【００６１】
ステップＳ１８：ＣＲＰＲ考慮遅延解析部２７は、ステップＳ１７で得られた遅延時間情報が割り当てられたマクロ外クロックパス込みのマクロネットリスト１６と、遅延制約情報１９から、ＣＲＰＲを考慮した遅延解析を行う。マクロ外クロックパス込みのマクロネットリスト１６が入力されることで、マクロ外のクロックパスの共通ポイント（重複箇所）を認識できるので、ＣＲＰＲ考慮遅延解析部２７はＣＲＰＲを考慮してクロックスキューを算出することができる。ＣＲＰＲ考慮遅延解析部２７は、このクロックスキューを使用してＣＲＰＲを考慮して遅延解析を行い、遅延解析情報１０を出力する。以上により、遅延解析装置２００はＣＲＰＲを考慮したマクロｂの遅延解析を終了する。
【００６２】
続いて、本発明の第１の実施の形態における効果を説明する。第１の実施の形態には、過剰な設計マージンを省いた回路設計を行うことができるという効果がある。その理由は、ＣＲＰＲ考慮遅延解析部２７が、マクロ内外のクロックパスをＣＲＰＲを考慮して遅延解析するためである。
【００６３】
即ち、本実施の形態では、マクロ遅延解析時に、ネットリストマージ部２５が、レイアウト後マクロネットリスト１５と、グローバルクロックパスを含むグローバルクロック分配後トップネットリスト１２とをマージし、そのマージしたマクロ外クロックパス込みのマクロネットリスト１６を作成する。
【００６４】
そして、マクロ外クロックパス込みのマクロネットリスト１６とグローバルクロックパス遅延時間情報１３は、ＣＲＰＲ考慮遅延解析部２７に入力され、ＣＲＰＲ考慮遅延解析部２７はマクロ外のクロックパスを認識する。これにより、本実施の形態は、マクロ外のクロックパスも含めたＣＲＰＲを考慮したマクロ遅延解析が可能になり、過剰な設計マージンを省き、最適なＬＳＩ設計に寄与することが可能となる。
【００６５】
これに対し、本発明を適用しないマクロ遅延解析では、以下に説明するように、マクロ内のクロックパスのみを認識できるレイアウト後マクロネットリスト１５のみを用いて遅延解析を行うことになる。
【００６６】
この点について、図８、及び図１１のＦＦ５３ａとＦＦ５３ｂを始終点とするパスの遅延解析を例に挙げて具体的に説明する。本発明を適用しないマクロの遅延解析方法は、マクロの回路を図８のように認識する。そのため、この方法では、ＦＦ５３ａとＦＦ５３ｂを始終点とするパスについて、クロックパスが、ＦＦ５３ａについては外部入力端子５４ｂからＦＦ５３ａのクロックピンまで、ＦＦ５３ｂについては外部入力端子５４ａからＦＦ５３ｂのクロックピンまでしか認識できない。その結果、この方法では、ＦＦ５３ａのクロックパスとＦＦ５３ｂのクロックパスが、外部入力端子５４ａ、５４ｂ以前の部分でどこにどの程度の共通ポイントが存在するのかを認識することができない。これにより、ＣＲＰＲを考慮した遅延解析ができず、必要以上に大きなクロックスキューを使用した遅延解析を行うこととなる。
【００６７】
本発明の第１の実施の形態では、マクロの回路を図１１のように認識する。そして、この方法では、ＦＦ５３ａとＦＦ５３ｂを始終点とするパスについて、クロックパスを、ＦＦ５３ａについてはマクロの外に存在するＰＬＬ６６ａからＦＦ５３ａのクロックピンまで、ＦＦ５３ｂについてはＰＬＬ６６ａからＦＦ５３ｂのクロックピンまで認識することができる。そのため、この方法は、ＦＦ５３ａのクロックパスとＦＦ５３ｂのクロックパスが、マクロの外の部分でどこにどの程度の共通ポイントが存在するのかを認識することができる。これにより、この方法は、ＣＲＰＲを考慮した遅延解析が可能になり、遅延解析時に使用するクロックスキューについて過剰なマージンを削除することができ、最適なＬＳＩ設計に寄与することができる。
【００６８】
さらに、本発明の第１の実施の形態は、クロック分配をトップ処理の時点でチップ全面に対して行い、マクロ処理ではチップ全面に分配されたクロックパスからマクロ内に存在する部分のクロックパスを切り出して処理を行い、マクロ処理でのクロック分配はクロックツリー末端ドライバとマクロ内のＦＦを繋げるのみにする、というクロック分配手法を使用している。これにより、チップ全体のクロックツリーの段数が最適化され、クロックスキューを小さくすることができる。
【００６９】
次に、本発明の第１の実施の形態の変形例について図面を参照して詳細に説明する。図１２は、第１の実施の形態の変形例を示す図である。本変形例は、第１の実施の形態と比較して、マクロではなく任意区域を対象とし、グローバルクロック分配後トップネットリスト１２ではなくチップネットリスト１ａを対象としている点が異なる。
【００７０】
図１２に示すように、遅延解析装置２００は、プログラム制御により動作するデータ処理装置２と、ハードディスク等の記憶装置１とを含む。
【００７１】
記憶装置１には、チップネットリスト１ａと、グローバルクロックパス遅延時間情報１３と、セルライブラリ１７と、遅延制約情報１９とが記憶されている。また、記憶装置１には、出力情報として、任意区域ネットリスト１ｂと、レイアウト後任意区域ネットリスト１ｃと、任意区域外クロックパス込みの任意区域ネットリスト１ｄと、任意区域内回路遅延時間情報１ｅと、遅延解析情報１０とが記憶されている。
【００７２】
チップネットリスト１ａは、チップ全面の全てのセルに対する配置・配線処理完了後、レイアウトツールから出力されたネットリストである。記憶装置１はチップネットリスト１ａを予め記憶している。
【００７３】
任意区域ネットリスト１ｂは、チップネットリスト１ａから任意区域の回路として切り出された状態を示すネットリストであり、任意区域切り出し部２８により出力される。
【００７４】
レイアウト後任意区域ネットリスト１ｃは、任意区域ネットリスト１ｂに修正レイアウト処理が行われた後の状態を示すネットリストであり、レイアウト部２４により出力される。
【００７５】
任意区域外クロックパス込みの任意区域ネットリスト１ｄは、チップネットリスト１ａから対象任意区域に関係するクロックパス記述を抜き出し、レイアウト後任意区域ネットリスト１ｃにマージした状態を示すネットリストであり、ネットリストマージ部２５により出力される。
【００７６】
任意区域内回路遅延時間情報１ｅは、遅延時間算出部２６により算出された、任意区域内回路のネットワーク毎の配線遅延時間やゲート遅延時間の情報である。記憶装置１のその他の要素については、図４に示された第１の実施の形態と同様である。
【００７７】
データ処理装置２は、任意区域切り出し部２８と、レイアウト部２４と、ネットリストマージ部２５と、遅延時間算出部２６と、ＣＲＰＲ考慮遅延解析部２７とを含む。
【００７８】
任意区域切り出し部２８は、チップネットリスト１ａに基づき、任意区域内部の回路を切り出した状態を示す任意区域ネットリスト１ｂを出力する。データ処理装置２のその他の要素については、図４に示された第１の実施の形態と同様である。
【００７９】
次に、本発明の第１の実施の形態の変形例の動作について図面を参照して説明する。
【００８０】
図１３は、ＣＲＰＲを考慮した任意区域の遅延解析を示したフローチャートである。
【００８１】
ステップＳ２１：任意区域切り出し部２８に、チップネットリスト１ａが入力され、任意区域内部の回路を切り出した任意区域ネットリスト１ｂが出力される。図１４は、ステップＳ２１の任意区域切り出し処理を示す図である。チップネットリスト１ａはチップレイアウト処理まで行われているため、任意区域切り出し部２８は物理的にチップネットリスト１ａのクロックパスを知ることができる。そのため、任意区域切り出し部２８はそのクロックパスと任意区域境界の交差点に任意区域の外部クロック端子を発生させて、その任意区域の外部クロック端子を含んだ任意区域を切り出す。外部クロック端子の切り出し処理以外の処理については、特開２００７−２５７２９３号公報などを参照できる。
【００８２】
ステップＳ２２：レイアウト部２４に任意区域ネットリスト１ｂが入力され、レイアウト部２４がレイアウト処理を行い、レイアウト後任意区域ネットリスト１ｃを出力する。レイアウト部２４を含むステップ２２の詳細については、特開２００５−２８４８２６号公報、特開２００７−３４６６８号公報、特開２０００−２４２６７５号公報などを参照できる。
【００８３】
ステップＳ２３：ネットリストマージ部２５に、レイアウト後任意区域ネットリスト１ｃ、チップネットリスト１ａが入力され、ネットリストマージ部２５がネットリストマージ処理を行う。ネットリストマージ部２５に、レイアウト後任意区域ネットリスト１ｃとチップネットリスト１ａが入力される。ネットリストマージ部２５はチップネットリスト１ａから、任意区域の外側にあるクロックソース（ＰＬＬ回路）から処理対象任意区域内に分配されているクロックパスの記述をコピーする。ネットリストマージ部２５は任意区域ネットリストのクロックパス記述をコピーしたクロックパス記述に置き換える。これにより、ネットリストマージ部２５は任意区域の外側にあるクロックソース（ＰＬＬ回路）から任意区域内のＦＦまでのクロックパスを含んだ任意区域外クロックパス込み任意区域ネットリストを出力する。具体的な処理については、マクロと任意区域、グローバルクロック分配後トップネットリストとチップネットリスト、が異なるのみで、図４に示した実施の形態１のステップＳ１５と同様である。
【００８４】
ステップＳ２４：遅延時間算出部２６に、任意区域外クロックパス込みの任意区域外ネットリスト１ｄが入力され、遅延時間算出部２６はセルライブラリ１７を参照してＲＣシミュレーションによる遅延計算を行い、任意区域内回路遅延時間情報を出力する。遅延時間算出部２６を含むステップＳ２４の詳細については、特開２００１−２７３３３８号公報、特開２０００−２５９６８６号公報、特開２０００−３０５９６６号公報、特開２０００−２５０９５０号公報などを参照できる。
【００８５】
ステップＳ２５：ＣＲＰＲ考慮遅延解析部２７に、任意区域外クロックパス込みの任意区域ネットリスト１ｄとグローバルクロックパス遅延時間情報１３が入力される。ＣＲＰＲ考慮遅延解析部２７は、任意区域外クロックパス込みの任意区域ネットリスト１ｄにグローバルクロックパス遅延時間情報１３を割り当てる。さらに、ＣＲＰＲ考慮遅延解析部２７に、ステップＳ２４で得られた任意区域内回路遅延時間情報１ｅが入力され、ＣＲＰＲ考慮遅延解析部２７は任意区域外クロックパス込みの任意区域ネットリスト１ｄに任意区域内のネットワーク毎の配線遅延時間情報やゲート遅延時間情報が割り当てられる。
【００８６】
ステップＳ２６：ＣＲＰＲ考慮遅延解析部２７は、ステップＳ２５で得られた遅延時間情報が割り当てられた任意区域外クロックパス込みの任意区域ネットリスト１ｄと、遅延制約情報１９とから、ＣＲＰＲを考慮した遅延解析を行う。任意区域外クロックパス込みの任意区域ネットリスト１ｄを読み込むことで、任意区域外のクロックパスの共通ポイント（重複箇所）を認識できるので、ＣＲＰＲ考慮遅延解析部２７はＣＲＰＲを考慮したクロックスキューの算出することができる。ＣＲＰＲ考慮遅延解析部２７は、このクロックスキューを使用して、ＣＲＰＲを考慮して遅延解析を行い、遅延解析情報１０を出力する。以上により、遅延解析装置２００はＣＲＰＲを考慮した任意区域の遅延解析を終了する。
【００８７】
次に、本発明の第２の実施の形態について図面を参照して詳細に説明する。第２の実施の形態では、後述するように、遅延解析部は、マクロ内回路遅延時間情報１８と、レイアウト後マクロネットリスト１５とを基に、マクロ内外のクロックパスの重複箇所である共通ポイントを除いてマクロ内部のクロックスキューを算出する。そして、ＣＲＰＲ考慮遅延解析部２７が、マクロ外部の共通ポイントを除いて算出されたマクロ外部のクロックスキューと、マクロ内部のクロックスキューとを足し合わせてマクロ内外のクロックパスのクロックスキューを算出する。
【００８８】
図１５は、本発明の遅延解析装置の第２の実施の形態を示す図である。
【００８９】
遅延解析装置２００は、プログラム制御により動作するデータ処理装置２と、ハードディスク等の記憶装置１とを含む。
【００９０】
記憶装置１には、トップネットリスト１１と、セルライブラリ１７と、遅延制約情報１９とが記憶されている。更に、記憶装置１には、出力情報として、グローバルクロック分配後ネットリスト１２と、マクロ切り出し後トップネットリスト１ｆと、グローバルクロックパス遅延時間情報１３と、クロックスキューテーブル１ｇと、マクロネットリスト１４と、レイアウト後マクロネットリスト１５と、マクロ内回路遅延時間情報１８と、遅延解析情報１０とが記憶されている。
【００９１】
図１７は、マクロ切り出し後トップネットリスト１ｆを示す図である。マクロ切り出し後トップネットリスト１ｆは、マクロ切り出し部２３によりグローバルクロック分配後トップネットリスト１２からマクロが切り出された後のトップネットリストである。
【００９２】
クロックスキューテーブル１ｇは、クロックスキューテーブル作成部２９により作成された、同一マクロの外部クロック端子ペア毎の、ＣＲＰＲを考慮した（マクロ外部の共通ポイントを除いて算出された）クロックスキューを格納したテーブルである。記憶装置１のその他の要素については、図４に示された第１の実施の形態と同様である。
【００９３】
データ処理装置２は、グローバルクロック分配部２１と、遅延時間算出部２２と、マクロ切り出し部２３と、レイアウト部２４と、クロックスキューテーブル作成部２９と、遅延時間算出部２６と、ＣＲＰＲ考慮遅延解析部２７とを含む。
【００９４】
マクロ切り出し部２３は、グローバルクロック分配後ネットリスト１２に基づき、マクロ内部の回路を切り出した状態を示すマクロネットリスト１４と、マクロ切り出し後トップネットリスト１ｆとを出力する。
【００９５】
クロックスキューテーブル作成部２９は、マクロ切り出し後トップネットリスト１ｆと、グローバルクロックパス遅延時間情報１３とに基づいて、ＣＲＰＲを考慮して（共通ポイントを除いて）マクロ切り出し後トップネットリストのクロックスキューの計算を行う。そして、クロックスキューテーブル作成部２９は、同一マクロの外部クロック端子ペア毎のテーブルを作成し、クロックスキューテーブル１ｇとして出力する。
【００９６】
ＣＲＰＲ考慮遅延解析部２７は、前述の遅延解析部２７０の一例である。ＣＲＰＲ考慮遅延解析部２７は、レイアウト後マクロネットリスト１５と、クロックスキューテーブル１ｇと、マクロ内回路遅延時間情報１８と、遅延制約情報１９とを参照して、信号パスの遅延時間の算出、クロックパスの遅延時間の算出、クロックスキューの算出を行う。そして、ＣＲＰＲ考慮遅延解析部２７は、クロックパス遅延時間と信号パス遅延時間が遅延制約を満たしているかのチェックを行い、これらの算出結果等を遅延解析情報１０として出力する。
【００９７】
クロックスキューの算出では、ＣＲＰＲ考慮遅延解析部２７は、マクロ外クロックパスについてはクロックスキューテーブルを参照してＣＲＰＲを考慮したクロックスキューを取得する。マクロ内の回路については、ＣＲＰＲ考慮遅延解析部２７は、マクロ内で見えている共通ポイントについてのＣＲＰＲを考慮して（クロックパスの重複箇所である共通ポイントを除いて）クロックスキューを算出する。そして、ＣＲＰＲ考慮遅延解析部２７は、これらを足し合わせたクロックスキューを用いてクロックパス遅延時間と信号パス遅延時間が遅延制約を満たしているかのチェックを行う。データ処理装置２のその他の要素については、図４に示された実施例と同様である。
【００９８】
次に、本発明の第２の実施の形態の動作について図面を参照して詳細に説明する。図１６は、ＣＲＰＲを考慮したマクロの遅延解析を示したフローチャートである。ステップＳ３１〜ステップＳ３２は、既に説明した第１の実施の形態のステップＳ１１〜ステップＳ１２と同様である。
【００９９】
ステップＳ３３：マクロ切り出し部２３にグローバルクロック分配後トップネットリスト１２が入力される。そして、マクロ切り出し部２３は、マクロ内部の回路を切り出したマクロネットリスト１４（図７）と、マクロ切り出し後トップネットリスト１ｆ（図１７）を出力する。ステップＳ３１でチップ全面へのクロック分配が行われ、物理的にクロックパスが分配されている。マクロ切り出し部２３は、そのクロックパスとマクロ境界の交差点にマクロの外部クロック端子を発生させて、そのマクロの外部クロック端子を含むマクロを切り出す。クロック端子の切り出し処理以外の処理については、特開２００８−９７８７号公報、特開２００５−２３５８０４号公報などを参照できる。
【０１００】
ステップＳ３４：クロックスキューテーブル作成部２９に、マクロ切り出し後トップネットリスト１ｆと、グローバルクロックパス遅延時間情報１３が入力される。そして、クロックスキューテーブル作成部２９はクロックスキューテーブル作成処理を行う。ステップＳ３４−１〜Ｓ３４−３に区分して、具体的な処理を説明する。
【０１０１】
ステップＳ３４−１：クロックスキューテーブル作成部２９に、マクロ切り出し後トップネットリスト１ｆ、グローバルクロックパス遅延時間情報１３が入力される。クロックスキューテーブル作成部２９は、マクロ切り出し後トップネットリスト１ｆにグローバルクロックパス遅延時間情報１３を割り当てる。クロックスキューテーブル作成部２９は、このグローバルクロックパス遅延時間情報１３の割り当てを、マクロ切り出し後トップネットリスト１ｆに存在しているセルやネットにのみ行う。つまり、クロックスキューテーブル作成部２９は、マクロ内のセルやネットに対しては、遅延時間の割り当てを行わない。
【０１０２】
ステップＳ３４−２：クロックスキューテーブル作成部２９は、同一マクロの各外部クロック端子を対象として、ＣＲＰＲを考慮したクロックスキューを算出する。
【０１０３】
ステップＳ３４−３：クロックスキューテーブル作成部２９は、ステップＳ３４−２で算出した、同一マクロの各外部クロック端子を対象とした、ＣＲＰＲを考慮したクロックスキューからクロックスキューテーブル１ｇを作成する。そして、クロックスキューテーブル作成部２９は、クロックスキューテーブル１ｇを出力する。クロックスキューテーブル１ｇの１例として、図１７のマクロｂのクロックスキューテーブルを図１８に示す。例えば、ＣＲＰＲ考慮遅延解析部１７が、このテーブルからマクロｂの外部クロック端子５４ａを始点のクロック端子、外部クロック端子５４ｂを終点のクロック端子とするパスのクロックスキューを参照した場合、クロックスキューは１２０である。
【０１０４】
ステップＳ３５、ステップＳ３６は、図５に示された実施例のステップＳ１４、ステップＳ１６と同様である。
【０１０５】
ステップＳ３７：ＣＲＰＲ考慮遅延解析部２７に、レイアウト後マクロネットリスト１５と、マクロ内回路遅延時間情報１８と、クロックスキューテーブル１ｇとが入力される。そして、ＣＲＰＲ考慮遅延解析部２７はＣＲＰＲを考慮した遅延解析を行う。ＣＲＰＲ考慮遅延解析部２７は、マクロ内のクロックパスについては、マクロ内で見えている共通ポイントについてのＣＲＰＲを考慮してクロックスキューを算出する。マクロ外のクロックパスについては、ステップＳ３４で作成したクロックスキューテーブル１ｇを参照することで、ＣＲＰＲを考慮したクロックスキューを取得する。ＣＲＰＲ考慮遅延解析部２７は、こうして得られたマクロ内のクロックスキューとマクロ外のクロックスキューを足し合わせたクロックスキューを遅延解析時に使用することで、マクロの内と外の両方のクロックパスについてＣＲＰＲを考慮した遅延解析を行い、遅延解析情報１０を出力する。以上により、遅延解析装置２００はＣＲＰＲを考慮したマクロｂの遅延解析を終了する。
【０１０６】
次に、本発明の第２の実施の形態の変形例について図面を参照して詳細に説明する。図１９は、第２の実施の形態の変形例を示す図である。本変形例は、第２の実施の形態と比較して、マクロではなく任意区域を対象とし、グローバルクロック分配後トップネットリスト１２ではなくチップネットリスト１ａを対象としている点が異なる。
【０１０７】
図１９に示すように、遅延解析装置２００は、プログラム制御により動作するデータ処理装置２と、ハードディスク等の記憶装置１とを含む。
【０１０８】
記憶装置１には、トップネットリスト１ａと、グローバルクロックパス遅延時間情報１３と，セルライブラリ１７と、遅延制約情報１９とが記憶されている。更に記憶装置１には、出力情報として、任意区域切り出し後チップネットリスト１ｈと、グローバルクロックパス遅延時間情報１３と、クロックスキューテーブル１ｇと、任意区域ネットリスト１ｂと、レイアウト後任意区域ネットリスト１ｃと、任意区域内回路遅延時間情報１ｅと、遅延解析情報１０とが記憶されている。
【０１０９】
任意区域切り出し後チップネットリスト１ｈは、任意区域切り出し部２８によりチップネットリスト１ａから任意区域が切り出された後のチップネットリストである。図２１は、任意区域切り出し後チップネットリスト１ｈを示す図である。
【０１１０】
クロックスキューテーブル１ｇは、クロックスキューテーブル作成部２９により作成された、同一任意区域の外部クロック端子ペア毎の、ＣＲＰＲを考慮したクロックスキューを保持したテーブルである。記憶装置１のその他の要素については、図１２に示された解決部２の実施例と同様である。
【０１１１】
データ処理装置２は、グローバルクロック分配部２１と、遅延時間算出部２２と、任意区域切り出し部２８と、レイアウト部２４と、クロックスキューテーブル作成部２９と、遅延時間算出部２６と、ＣＲＰＲ考慮遅延解析部２７とを含む。
【０１１２】
任意区域切り出し部２３は、チップネットリスト１ａに基づき、任意区域内部の回路を切り出した状態を示す任意区域ネットリスト１４と、任意区域切り出し後チップネットリスト１ｈとを出力する。
【０１１３】
クロックスキューテーブル作成部２９は、任意区域切り出し後チップネットリスト１ｈと、グローバルクロックパス遅延時間情報１３とに基づいて、グローバルクロックパス遅延時間情報を用いて、任意区域切り出し後チップネットリストのＣＲＰＲを考慮して（共通ポイントを除いて）クロックスキューの計算を行う。そして、クロックスキューテーブル作成部２９は、任意区域の外部クロック端子ペア毎のテーブルを作成し、クロックスキューテーブル１ｇとして出力する。
【０１１４】
ＣＲＰＲ考慮遅延解析部２７は、レイアウト後任意区域ネットリスト１５と、クロックスキューテーブル１ｇと、任意区域内回路遅延時間情報１ｅと、遅延制約情報１９とを参照して、信号パスの遅延時間の算出、クロックパスの遅延時間の算出、クロックスキューの算出を行う。そして、ＣＲＰＲ考慮遅延解析部２７は、クロックパス遅延時間と信号パス遅延時間が遅延制約を満たしているかのチェックを行い、これらの算出結果等を遅延解析情報１０として出力する。
【０１１５】
クロックスキューの算出では、ＣＲＰＲ考慮遅延解析部２７は、任意区域外クロックパスについてはクロックスキューテーブルを参照してＣＲＰＲを考慮したクロックスキューを取得する。任意区域内の回路については、ＣＲＰＲ考慮遅延解析部２７は、任意区域内で見えている共通ポイントについてのＣＲＰＲを考慮して（クロックパスの重複箇所である共通ポイントを除いて）クロックスキューを算出する。そして、ＣＲＰＲ考慮遅延解析部２７は、これらを足し合わせたクロックスキューを用いてクロックパス遅延時間と信号パス遅延時間が遅延制約を満たしているかのチェックを行う。データ処理装置２のその他の要素については、図１２に示された実施例と同様である。
【０１１６】
次に、本発明の第２の実施の形態の変形例の動作について図面を参照して詳細に説明する。図２０は、ＣＲＰＲを考慮したマクロの遅延解析を示したフローチャートである。
【０１１７】
ステップＳ４１：任意区域切り出し部２８に、チップネットリスト１ａが入力される。そして、任意区域切り出し部２８は、任意区域内部の回路を切り出した任意区域ネットリスト１ｂ（図１４）と、任意区域切り出し後チップネットリスト１ｈ（図２１）を出力する。チップネットリスト１ａはチップレイアウト処理まで行われているため、任意区域切り出し部２８は、物理的にクロックパスを知ることができる。そのため、任意区域切り出し部２８は、そのクロックパスと任意区域境界の交差点に任意区域の外部クロック端子を発生させ、その任意区域の外部クロック端子を含む任意区域を切り出す。クロック端子の切り出し処理以外の処理については、特開２００８−９７８７号公報、特開２００５−２３５８０４号公報などを参照できる。
【０１１８】
ステップＳ４２：クロックスキューテーブル作成部２９に、任意区域切り出し後チップネットリスト１ｈとグローバルクロックパス遅延時間情報１３が入力される。そして、クロックスキューテーブル作成部２９はクロックスキューテーブル作成処理を行う。具体的な処理については、マクロと任意区域、トップネットリストとチップネットリスト、が異なるのみで、図１６に示された実施例説明のステップＳ３４と同様である。
【０１１９】
ステップＳ４３、ステップＳ４４は、図１３に示された実施例のステップＳ２２、ステップＳ２４と同様である。
【０１２０】
ステップＳ４５：ＣＲＰＲ考慮遅延解析部２７に、レイアウト後任意区域ネットリスト１ｃと、任意区域内回路遅延時間情報１ｅと、クロックスキューテーブル１ｇとが入力される。そして、ＣＲＰＲ考慮遅延解析部２７は、ＣＲＰＲを考慮した遅延解析を行う。任意区域内のクロックパスについては、ＣＲＰＲ考慮遅延解析部２７は、任意区域内で見えている共通ポイントについてのＣＲＰＲを考慮してクロックスキューを算出する。任意区域外のクロックパスについては、ＣＲＰＲ考慮遅延解析部２７は、ステップＳ４２で作成したクロックスキューテーブル１ｇを参照することで、ＣＲＰＲを考慮したクロックスキューを取得する。ＣＲＰＲ考慮遅延解析部２７は、こうして得られた任意区域内のクロックスキューと任意区域外のクロックスキューを足し合わせたクロックスキューを遅延解析時に使用することで、任意区域の内と外の両方のクロックパスについてＣＲＰＲを考慮した遅延解析を行い、遅延解析情報１０を出力する。具体的な処理については、マクロと任意区域が異なるのみで、図１６に示された実施例説明のステップＳ３７と同様である。以上により、遅延解析装置２００はＣＲＰＲを考慮した任意区域の遅延解析を終了する。
【図面の簡単な説明】
【０１２１】
【図１−Ａ】トップ分配後のＬＳＩを示した図である。
【図１−Ｂ】トップ分配又はマクロ分配後のＬＳＩを示した図である。
【図２】クロックスキュー算出における、ＣＲＰＲ考慮した場合としなかった場合の比較を示す図である。
【図３】本発明の遅延解析装置の概要を示す図である。
【図４】本発明の遅延解析装置の第１の実施の形態を示す図である。
【図５】ＣＲＰＲを考慮したマクロの遅延解析を示したフローチャートである
【図６】ステップＳ１１のグローバルクロック分配処理を示す図である。
【図７】ステップＳ１３のマクロ切り出し処理を示す図である。
【図８】遅延解析対象のマクロｂのレイアウト後マクロネットリストを示す。
【図９】ステップＳ１５−１のクロックツリー末端ドライバより前のクロックパスの記述の削除を示す図である。
【図１０】ステップＳ１５−２における、ＰＬＬ回路からクロックツリー末端ドライバ手前までのクロックパスの記述のコピーを示す図である。
【図１１】マクロ外クロックパス込みマクロネットリストを示す。
【図１２】第１の実施の形態の変形例を示す図である。
【図１３】ＣＲＰＲを考慮した任意区域の遅延解析を示したフローチャートである。
【図１４】ステップＳ２１の任意区域切り出し処理を示す図である。
【図１５】本発明の遅延解析装置の第２の実施の形態を示す図である。
【図１６】ＣＲＰＲを考慮したマクロの遅延解析を示したフローチャートである。
【図１７】マクロ切り出し後トップネットリスト１ｆを示す図である。
【図１８】図１７のマクロｂのクロックスキューテーブルを示す図である。
【図１９】第２の実施の形態の変形例を示す図である。
【図２０】ＣＲＰＲを考慮したマクロの遅延解析を示したフローチャートである。
【図２１】任意区域切り出し後チップネットリスト１ｈを示す図である。
【符号の説明】
【０１２２】
ｍ１，ｍ２，ｍ３    マクロ
ｃ１，ｃ２    クロックパス
１    記憶装置
１ａ    チップネットリスト
１ｂ    任意区域ネットリスト
１ｃ    レイアウト後任意区域ネットリスト
１ｄ    任意区域外クロックパス込みの任意区域ネットリスト
１ｅ    任意区域内回路遅延時間情報
１ｆ    マクロ切り出し後トップネットリスト
１ｇ    クロックスキューテーブル
１ｈ    任意区域切り出し後チップネットリスト
２    データ処理装置
１０    遅延解析情報
１１    トップネットリスト
１２    グローバルクロック分配後トップネットリスト
１３    グローバルクロックパス遅延時間情報
１４    マクロネットリスト
１５    レイアウト後マクロネットリスト
１６    マクロ外クロックパス込みのマクロネットリスト
１７    セルライブラリ
１８    マクロ内回路遅延時間情報
１９    遅延制約情報
２１    グローバルクロック分配部
２２    遅延時間算出部
２３    マクロ切り出し部
２４    レイアウト部
２５    ネットリストマージ部
２６    遅延時間算出部
２７    ＣＲＰＲ考慮遅延解析部
２８    任意区域切り出し部
２９    クロックスキューテーブル作成部
５１ａ，５１ｂ，５１ｃ，５１ｄ，５１ｅ，５１ｆ，５１ｇ，５１ｈ    セル
５２ａ，５２ｂ，５２ｃ    セル
５２ｄ，５２ｅ，５２ｆ，５２ｇ    クロックツリー末端ドライバ
５３ａ，５３ｂ，５３ｃ，５３ｄ    ＦＦ
５４ａ，５４ｂ，５４ｃ    外部入力端子
５５ａ    クロック配線分岐点
５６ａ    一般信号配線
６１ａ，６１ｂ，６１ｃ，６１ｄ，６１ｅ，６１ｆ，６１ｇ，６１ｈ，６１ｉ，６１ｊ，６１ｋ，６１ｌ，６１ｍ    セル
６２ａ，６２ｂ，６２ｃ    セル
６５ａ，６５ｂ，６５ｃ，６５ｄ，６５ｅ，６５ｆ    クロック配線分岐点
６６ａ    ＰＬＬ
２００    遅延解析装置
２７０    遅延解析部
【図１−Ａ】
2010049386.tif 000003
【図１−Ｂ】
2010049386.tif 000004
【図２】
2010049386.tif 000005
【図３】
2010049386.tif 000006
【図４】
2010049386.tif 000007
【図５】
2010049386.tif 000008
【図６】
2010049386.tif 000009
【図７】
2010049386.tif 000010
【図８】
2010049386.tif 000011
【図９】
2010049386.tif 000012
【図１０】
2010049386.tif 000013
【図１１】
2010049386.tif 000014
【図１２】
2010049386.tif 000015
【図１３】
2010049386.tif 000016
【図１４】
2010049386.tif 000017
【図１５】
2010049386.tif 000018
【図１６】
2010049386.tif 000019
【図１７】
2010049386.tif 000020
【図１８】
2010049386.tif 000021
【図１９】
2010049386.tif 000022
【図２０】
2010049386.tif 000023
【図２１】
2010049386.tif 000024