(57)【要約】【課題】精度の良いクロックスキューを用いた遅延解析を実現する方法を提供する。【解決手段】レイアウト後マクロネットリストとマクロレイアウトデータとセル遅延ライブラリを参照してＲＣシミュレーションによる遅延計算を行い、マクロ内回路遅延時間情報を生成し、レイアウト後マクロネットリストとエッジ情報を含むグローバルクロックパス遅延時間情報を入力し、マクロ内１段目までのクロックパスにエッジ情報を含むグローバルクロックパス遅延時間情報をアノテートし、グローバルクロック遅延アノテート済みマクロネットリストを生成し、グローバルクロック遅延アノテート済みマクロネットリストとマクロ内回路遅延時間情報を入力し、マクロ内回路遅延アノテート済みマクロネットリストを生成し、マクロ内回路遅延アノテート済みマクロネットリストと遅延制約情報を入力して、遅延解析情報を出力する。【選択図】図１
2011043993.tif 000002
【特許請求の範囲】
【請求項１】
レイアウト後マクロネットリストとマクロレイアウトデータとセル遅延ライブラリを参照してＲＣシミュレーションによる遅延計算を行い、マクロ内回路遅延時間情報を生成する遅延時間算出部と、
前記レイアウト後マクロネットリストとエッジ情報を含むグローバルクロックパス遅延時間情報を入力し、マクロ内１段目までのクロックパスに前記エッジ情報を含むグローバルクロックパス遅延時間情報をアノテートし、グローバルクロック遅延アノテート済みマクロネットリストを生成するグローバルクロック遅延アノテート部と、
前記グローバルクロック遅延アノテート済みマクロネットリストと前記マクロ内回路遅延時間情報を入力し、マクロ内回路遅延アノテート済みマクロネットリストを生成するマクロ内回路遅延アノテート部と、
前記マクロ内回路遅延アノテート済みマクロネットリストと遅延制約情報を入力して、信号パスの遅延時間の算出、クロックスパスの遅延時間の算出、クロックスキューの算出、クロックパス遅延時間と信号パス遅延時間が遅延制約を満たしているかのチェックを行い、それら情報を含む遅延解析情報を出力する遅延解析部と、
を備えることを特徴とする半導体集積回路の遅延解析装置。
【請求項２】
トップネットリストを入力し、マクロ内部の領域も含めたチップ全面へクロックを分配し、グローバルクロック分配後トップネットリストと、グローバルクロックレイアウトデータを出力するグローバルクロック分配部と、
前記グローバルクロック分配後トップネットリストと前記グローバルクロックレイアウトデータを入力し、セル遅延ライブラリを参照してＲＣシミュレーションによる遅延計算を行い、エッジ情報を含むグローバルクロックパス遅延時間情報を出力する第２遅延時間算出部と、
前記グローバルクロック分配後トップネットリストを入力し、マクロ内部の回路を切り出したマクロネットリストを出力するマクロ切り出し部と、
前記マクロネットリストを入力し、レイアウト処理を行い、前記レイアウト後マクロネットリストと前記マクロレイアウトデータを出力するレイアウト部と、
を備えることを特徴とする請求項１に記載の半導体集積回路の遅延解析装置。
【請求項３】
レイアウト後任意区域ネットリストと任意区域レイアウトデータとセル遅延ライブラリを参照してＲＣシミュレーションによる遅延計算を行い、任意区域内回路遅延時間情報を生成する遅延時間算出部と、
前記レイアウト後任意区域ネットリストとエッジ情報を含むグローバルクロックパス遅延時間情報を入力し、任意区域内１段目までのクロックパスに前記エッジ情報を含むグローバルクロックパス遅延時間情報をアノテートし、グローバルクロック遅延アノテート済み任意区域ネットリストを生成するグローバルクロック遅延アノテート部と、
前記グローバルクロック遅延アノテート済み任意区域ネットリストと前記任意区域内回路遅延時間情報を入力し、任意区域内回路遅延アノテート済み任意区域ネットリストを生成する任意区域内回路遅延アノテート部と、
前記任意区域内回路遅延アノテート済み任意区域ネットリストと遅延制約情報を入力して、信号パスの遅延時間の算出、クロックスパスの遅延時間の算出、クロックスキューの算出、クロックパス遅延時間と信号パス遅延時間が遅延制約を満たしているかのチェックを行い、それら情報を含む遅延解析情報を出力する遅延解析部と、
を備えることを特徴とする半導体集積回路の遅延解析装置。
【請求項４】
チップネットリストを入力し、任意区域内部の回路を切り出した任意区域ネットリストを出力する任意区域切り出し部と、
前記任意区域ネットリストを入力し、レイアウト処理を行い、前記レイアウト後任意区域ネットリストと前記任意区域レイアウトデータを出力するレイアウト部と、
を備えることを特徴とする請求項３に記載の半導体集積回路の遅延解析装置。
【請求項５】
半導体集積回路の遅延解析装置の遅延解析方法であって、
前記遅延解析装置の遅延時間算出部が、レイアウト後マクロネットリストとマクロレイアウトデータとセル遅延ライブラリを参照してＲＣシミュレーションによる遅延計算を行い、マクロ内回路遅延時間情報を生成し、
前記遅延解析装置のグローバルクロック遅延アノテート部が、前記レイアウト後マクロネットリストとエッジ情報を含むグローバルクロックパス遅延時間情報を入力し、マクロ内１段目までのクロックパスに前記エッジ情報を含むグローバルクロックパス遅延時間情報をアノテートし、グローバルクロック遅延アノテート済みマクロネットリストを生成し、
前記遅延解析装置のマクロ内回路遅延アノテート部が、前記グローバルクロック遅延アノテート済みマクロネットリストと前記マクロ内回路遅延時間情報を入力し、マクロ内回路遅延アノテート済みマクロネットリストを生成し、
前記遅延解析装置の遅延解析部が、前記マクロ内回路遅延アノテート済みマクロネットリストと遅延制約情報を入力して、信号パスの遅延時間の算出、クロックスパスの遅延時間の算出、クロックスキューの算出、クロックパス遅延時間と信号パス遅延時間が遅延制約を満たしているかのチェックを行い、それら情報を含む遅延解析情報を出力する
ことを特徴とする遅延解析方法。
【請求項６】
半導体集積回路の遅延解析装置の遅延解析方法であって、
前記遅延解析装置の遅延時間算出部が、レイアウト後任意区域ネットリストと任意区域レイアウトデータとセル遅延ライブラリを参照してＲＣシミュレーションによる遅延計算を行い、任意区域内回路遅延時間情報を生成し、
前記遅延解析装置のグローバルクロック遅延アノテート部が、前記レイアウト後任意区域ネットリストとエッジ情報を含むグローバルクロックパス遅延時間情報を入力し、任意区域内１段目までのクロックパスに前記エッジ情報を含むグローバルクロックパス遅延時間情報をアノテートし、グローバルクロック遅延アノテート済み任意区域ネットリストを生成し、
前記遅延解析装置の任意区域内回路遅延アノテート部が、前記グローバルクロック遅延アノテート済み任意区域ネットリストと前記任意区域内回路遅延時間情報を入力し、任意区域内回路遅延アノテート済み任意区域ネットリストを生成し、
前記遅延解析装置の遅延解析部が、前記任意区域内回路遅延アノテート済み任意区域ネットリストと遅延制約情報を入力して、信号パスの遅延時間の算出、クロックスパスの遅延時間の算出、クロックスキューの算出、クロックパス遅延時間と信号パス遅延時間が遅延制約を満たしているかのチェックを行い、それら情報を含む遅延解析情報を出力する
ことを特徴とする遅延解析方法。
【請求項７】
半導体集積回路の遅延解析装置のコンピュータを、
レイアウト後マクロネットリストとマクロレイアウトデータとセル遅延ライブラリを参照してＲＣシミュレーションによる遅延計算を行い、マクロ内回路遅延時間情報を生成する遅延時間算出手段、
前記レイアウト後マクロネットリストとエッジ情報を含むグローバルクロックパス遅延時間情報を入力し、マクロ内１段目までのクロックパスに前記エッジ情報を含むグローバルクロックパス遅延時間情報をアノテートし、グローバルクロック遅延アノテート済みマクロネットリストを生成するグローバルクロック遅延アノテート手段、
前記グローバルクロック遅延アノテート済みマクロネットリストと前記マクロ内回路遅延時間情報を入力し、マクロ内回路遅延アノテート済みマクロネットリストを生成するマクロ内回路遅延アノテート手段、
前記マクロ内回路遅延アノテート済みマクロネットリストと遅延制約情報を入力して、信号パスの遅延時間の算出、クロックスパスの遅延時間の算出、クロックスキューの算出、クロックパス遅延時間と信号パス遅延時間が遅延制約を満たしているかのチェックを行い、それら情報を含む遅延解析情報を出力する遅延解析手段、
として機能させることを特徴とするプログラム。
【請求項８】
半導体集積回路の遅延解析装置のコンピュータを、
レイアウト後任意区域ネットリストと任意区域レイアウトデータとセル遅延ライブラリを参照してＲＣシミュレーションによる遅延計算を行い、任意区域内回路遅延時間情報を生成する遅延時間算出手段、
前記レイアウト後任意区域ネットリストとエッジ情報を含むグローバルクロックパス遅延時間情報を入力し、任意区域内１段目までのクロックパスに前記エッジ情報を含むグローバルクロックパス遅延時間情報をアノテートし、グローバルクロック遅延アノテート済み任意区域ネットリストを生成するグローバルクロック遅延アノテート手段、
前記グローバルクロック遅延アノテート済み任意区域ネットリストと前記任意区域内回路遅延時間情報を入力し、任意区域内回路遅延アノテート済み任意区域ネットリストを生成する任意区域内回路遅延アノテート手段、
前記任意区域内回路遅延アノテート済み任意区域ネットリストと遅延制約情報を入力して、信号パスの遅延時間の算出、クロックスパスの遅延時間の算出、クロックスキューの算出、クロックパス遅延時間と信号パス遅延時間が遅延制約を満たしているかのチェックを行い、それら情報を含む遅延解析情報を出力する遅延解析手段、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の遅延解析装置及び遅延解析方法並びにそのプログラムに関する。
【背景技術】
【０００２】
ＬＳＩの大規模化に伴い、ＥＤＡツール実行に必要なマシン性能、使用メモリ量が大きくなってきており、ＬＳＩチップ全体を一度に処理することが難しくなってきている。この大規模化に伴い、1つのＬＳＩを階層的に分割された一部分の回路（ここでは、マクロと呼ぶ）毎に設計することが主流になってきている。また、チップレイアウト処理後にチップの一部の回路（ここでは、任意区域と呼ぶ）を切り出して処理する場面も多くなっている。一方で、ＬＳＩの高速化も進んでおり、ＬＳＩを高速に動作させるためには、同期化回路の場合、フリップフロップ（ＦＦ）等の同時動作が重要な課題となっている。そのためには各ＦＦに入力されるクロック信号の遅延時間のばらつき（クロックスキュー）を小さく抑えることが重要である。これにより、階層設計の任意区域や、チップレイアウト処理後にチップの一部を切り出した回路の遅延解析を行う際に、クロック信号の遅延時間のばらつき（クロックスキュー）の設計マージンをできるだけ取り除くことが必要である。ここで、ＬＳＩの大規模化に伴い、1つのＬＳＩをマクロ毎に設計する階層設計や、チップレイアウト後にチップの任意区域を切り出して処理する場面が多くなっている。
【０００３】
図１１はクロック分配の手法を示す第３の図である。
階層設計のクロック分配の手法は、図１１のように、トップ処理、マクロ処理のそれぞれのレイアウト処理の中でクロックを分配して、チップ処理時にトップのクロック分配とマクロのクロック分配をマージさせる手法が一般的である。このクロック分配手法では、チップ全体で同期を取る場合に、段数が多くなりクロックスキューが大きくなってしまうという問題があった。図１１を参照して具体的に説明すると、クロックパスｃ１、ｃ２は、マクロｍ１を迂回してマクロｍ２、ｍ３へ分配されるため迂回する分、ドライバの段数が多くなってしまい、配線遅延とドライバによる遅延とによりクロックスキューが大きくなってしまうという問題がある。
【０００４】
この問題を解消するためのクロック分配手法として、クロック分配をトップ処理の時点でチップ全面に対して行い、マクロ処理ではチップ全面に分配されたクロックパスからマクロ内に存在する部分のクロックパスを切り出して処理を行い、マクロ処理でのクロック分配はクロックツリー末端ドライバとマクロ内のＦＦを繋げるのみにする、という手法を考案した（図１２；クロック分配の手法を示す第４の図）。この手法では前記の手法に比べてクロックツリーの段数が少なく抑えられ、クロックスキューを小さくすることができる。なお、関連する技術として特許文献１が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−２９６３８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述の技術では、チップ全面にクロックパスが分配された状態からマクロを切り出してマクロ処理を行うため、クロック分配の物理的な位置関係を意識せずに自由にマクロを切り出した場合に、マクロ境界にクロック端子が複数存在する断片的なクロックパスがマクロ内回路として切り出されることになる。クロックパスがこのような状態でマクロ処理を行う場合、ＬＳＩチップ上のクロックソース（ＰＬＬ）からマクロ境界の各クロック端子までのクロックツリー段数にばらつきが生じるため、マクロ遅延解析時に精度の良いクロックスキューを用いることが困難であり、想定されるクロックスキューをアンダーマージンにならないように大きめの値を一律で与えて、必要以上に大きなクロックスキューを使用した遅延解析を行うしかなく、最適なマクロ設計を妨げる要因となっていた。チップレイアウト後の任意区域の遅延解析時にも同様の課題があった。
【０００７】
そこでこの発明は、上記課題を解決するためになされた、半導体集積回路の遅延解析装置および半導体集積回路の遅延方法ならびにそのプログラムを提供することを目的としている。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明は、レイアウト後マクロネットリストとマクロレイアウトデータとセル遅延ライブラリを参照してＲＣシミュレーションによる遅延計算を行い、マクロ内回路遅延時間情報を生成する遅延時間算出部と、前記レイアウト後マクロネットリストとエッジ情報を含むグローバルクロックパス遅延時間情報を入力し、マクロ内１段目までのクロックパスに前記エッジ情報を含むグローバルクロックパス遅延時間情報をアノテートし、グローバルクロック遅延アノテート済みマクロネットリストを生成するグローバルクロック遅延アノテート部と、前記グローバルクロック遅延アノテート済みマクロネットリストと前記マクロ内回路遅延時間情報を入力し、マクロ内回路遅延アノテート済みマクロネットリストを生成するマクロ内回路遅延アノテート部と、前記マクロ内回路遅延アノテート済みマクロネットリストと遅延制約情報を入力して、信号パスの遅延時間の算出、クロックスパスの遅延時間の算出、クロックスキューの算出、クロックパス遅延時間と信号パス遅延時間が遅延制約を満たしているかのチェックを行い、それら情報を含む遅延解析情報を出力する遅延解析部と、を備えることを特徴とする半導体集積回路の遅延解析装置である。
【０００９】
また本発明は、レイアウト後任意区域ネットリストと任意区域レイアウトデータとセル遅延ライブラリを参照してＲＣシミュレーションによる遅延計算を行い、任意区域内回路遅延時間情報を生成する遅延時間算出部と、前記レイアウト後任意区域ネットリストとエッジ情報を含むグローバルクロックパス遅延時間情報を入力し、任意区域内１段目までのクロックパスに前記エッジ情報を含むグローバルクロックパス遅延時間情報をアノテートし、グローバルクロック遅延アノテート済み任意区域ネットリストを生成するグローバルクロック遅延アノテート部と、前記グローバルクロック遅延アノテート済み任意区域ネットリストと前記任意区域内回路遅延時間情報を入力し、任意区域内回路遅延アノテート済み任意区域ネットリストを生成する任意区域内回路遅延アノテート部と、前記任意区域内回路遅延アノテート済み任意区域ネットリストと遅延制約情報を入力して、信号パスの遅延時間の算出、クロックスパスの遅延時間の算出、クロックスキューの算出、クロックパス遅延時間と信号パス遅延時間が遅延制約を満たしているかのチェックを行い、それら情報を含む遅延解析情報を出力する遅延解析部と、を備えることを特徴とする半導体集積回路の遅延解析装置である。
【００１０】
また本発明は、半導体集積回路の遅延解析装置の遅延解析方法であって、前記遅延解析装置の遅延時間算出部が、レイアウト後マクロネットリストとマクロレイアウトデータとセル遅延ライブラリを参照してＲＣシミュレーションによる遅延計算を行い、マクロ内回路遅延時間情報を生成し、前記遅延解析装置のグローバルクロック遅延アノテート部が、前記レイアウト後マクロネットリストとエッジ情報を含むグローバルクロックパス遅延時間情報を入力し、マクロ内１段目までのクロックパスに前記エッジ情報を含むグローバルクロックパス遅延時間情報をアノテートし、グローバルクロック遅延アノテート済みマクロネットリストを生成し、前記遅延解析装置のマクロ内回路遅延アノテート部が、前記グローバルクロック遅延アノテート済みマクロネットリストと前記マクロ内回路遅延時間情報を入力し、マクロ内回路遅延アノテート済みマクロネットリストを生成し、前記遅延解析装置の遅延解析部が、前記マクロ内回路遅延アノテート済みマクロネットリストと遅延制約情報を入力して、信号パスの遅延時間の算出、クロックスパスの遅延時間の算出、クロックスキューの算出、クロックパス遅延時間と信号パス遅延時間が遅延制約を満たしているかのチェックを行い、それら情報を含む遅延解析情報を出力することを特徴とする遅延解析方法である。
【００１１】
また本発明は、半導体集積回路の遅延解析装置の遅延解析方法であって、前記遅延解析装置の遅延時間算出部が、レイアウト後任意区域ネットリストと任意区域レイアウトデータとセル遅延ライブラリを参照してＲＣシミュレーションによる遅延計算を行い、任意区域内回路遅延時間情報を生成し、前記遅延解析装置のグローバルクロック遅延アノテート部が、前記レイアウト後任意区域ネットリストとエッジ情報を含むグローバルクロックパス遅延時間情報を入力し、任意区域内１段目までのクロックパスに前記エッジ情報を含むグローバルクロックパス遅延時間情報をアノテートし、グローバルクロック遅延アノテート済み任意区域ネットリストを生成し、前記遅延解析装置の任意区域内回路遅延アノテート部が、前記グローバルクロック遅延アノテート済み任意区域ネットリストと前記任意区域内回路遅延時間情報を入力し、任意区域内回路遅延アノテート済み任意区域ネットリストを生成し、前記遅延解析装置の遅延解析部が、前記任意区域内回路遅延アノテート済み任意区域ネットリストと遅延制約情報を入力して、信号パスの遅延時間の算出、クロックスパスの遅延時間の算出、クロックスキューの算出、クロックパス遅延時間と信号パス遅延時間が遅延制約を満たしているかのチェックを行い、それら情報を含む遅延解析情報を出力することを特徴とする遅延解析方法である。
【００１２】
また本発明は、半導体集積回路の遅延解析装置のコンピュータを、レイアウト後マクロネットリストとマクロレイアウトデータとセル遅延ライブラリを参照してＲＣシミュレーションによる遅延計算を行い、マクロ内回路遅延時間情報を生成する遅延時間算出手段、前記レイアウト後マクロネットリストとエッジ情報を含むグローバルクロックパス遅延時間情報を入力し、マクロ内１段目までのクロックパスに前記エッジ情報を含むグローバルクロックパス遅延時間情報をアノテートし、グローバルクロック遅延アノテート済みマクロネットリストを生成するグローバルクロック遅延アノテート手段、前記グローバルクロック遅延アノテート済みマクロネットリストと前記マクロ内回路遅延時間情報を入力し、マクロ内回路遅延アノテート済みマクロネットリストを生成するマクロ内回路遅延アノテート手段、前記マクロ内回路遅延アノテート済みマクロネットリストと遅延制約情報を入力して、信号パスの遅延時間の算出、クロックスパスの遅延時間の算出、クロックスキューの算出、クロックパス遅延時間と信号パス遅延時間が遅延制約を満たしているかのチェックを行い、それら情報を含む遅延解析情報を出力する遅延解析手段、として機能させることを特徴とするプログラムである。
【００１３】
また本発明は、半導体集積回路の遅延解析装置のコンピュータを、レイアウト後任意区域ネットリストと任意区域レイアウトデータとセル遅延ライブラリを参照してＲＣシミュレーションによる遅延計算を行い、任意区域内回路遅延時間情報を生成する遅延時間算出手段、前記レイアウト後任意区域ネットリストとエッジ情報を含むグローバルクロックパス遅延時間情報を入力し、任意区域内１段目までのクロックパスに前記エッジ情報を含むグローバルクロックパス遅延時間情報をアノテートし、グローバルクロック遅延アノテート済み任意区域ネットリストを生成するグローバルクロック遅延アノテート手段、前記グローバルクロック遅延アノテート済み任意区域ネットリストと前記任意区域内回路遅延時間情報を入力し、任意区域内回路遅延アノテート済み任意区域ネットリストを生成する任意区域内回路遅延アノテート手段、前記任意区域内回路遅延アノテート済み任意区域ネットリストと遅延制約情報を入力して、信号パスの遅延時間の算出、クロックスパスの遅延時間の算出、クロックスキューの算出、クロックパス遅延時間と信号パス遅延時間が遅延制約を満たしているかのチェックを行い、それら情報を含む遅延解析情報を出力する遅延解析手段、として機能させることを特徴とするプログラムである。
【発明の効果】
【００１４】
本発明によれば、ＬＳＩ階層設計における1つのＬＳＩを階層的に分割した一部分の回路（以下、マクロ）の遅延解析時、または、チップレイアウト後にチップから一部切り出された回路（以下、任意区域）の遅延解析時に、マクロ（または任意区域）をブラックボックスとして扱う処理（以下、トップ処理）やチップレイアウト処理で得られるクロックパスの遅延時間情報を、マクロや任意区域内のクロックパスにアノテートすることで、従来のマクロ遅延解析時や任意区域遅延解析時には省くことのできなかった過剰な設計マージンを省くことを可能にし、最適なＬＳＩ設計に寄与することができる。
【図面の簡単な説明】
【００１５】
【図１】実施例１による遅延解析装置の構成を示すブロック図である。
【図２】実施例１による遅延解析装置の処理フローを示す図である。
【図３】クロック分配の手法を示す第１の図である。
【図４】クロック分配の手法を示す第２の図である。
【図５】遅延解析対象マクロｂのレイアウト後マクロネットリストを示す図である。
【図６】遅延解析装置の処理概要を示す第１の図である。
【図７】遅延解析装置の処理概要を示す第２の図である。
【図８】実施例２による遅延解析装置の構成を示すブロック図である。
【図９】実施例２による遅延解析装置の処理フローを示す図である。
【図１０】遅延解析装置の処理概要を示す第３の図である。
【図１１】クロック分配の手法を示す第３の図である。
【図１２】クロック分配の手法を示す第４の図
【発明を実施するための形態】
【００１６】
（実施例１）
以下、本発明の実施例１による半導体集積回路の遅延解析装置を図面を参照して説明する。なお、本実施例１ではクロック分配手法[Ｈ−Ｔｒｅｅ]を用いて説明するが、これは一例である。
図１は実施例１による遅延解析装置の構成を示すブロック図である。
この図に示すように、遅延解析装置１００は、ハードディスク等の記憶装置１と、プログラム制御により動作するデータ処理装置２とから構成されている。
記憶装置１は、トップネットリスト１１と、セル遅延ライブラリ１７と、遅延制約情報１８を自装置内に保持する各ファイル内に記憶し、また、出力情報となる、グローバルクロック分配後トップネットリスト１２と、グローバルクロックレイアウトデータ１ｃと、エッジ情報を含むグローバルクロックパス遅延時間情報１３と、マクロネットリスト１４と、レイアウト後マクロネットリスト１５と、マクロレイアウトデータ１０と、マクロ内回路遅延時間情報１６と、グローバルクロック遅延アノテート済みマクロネットリスト１ａと、マクロ内回路遅延アノテート済みマクロネットリスト１ｂと、遅延解析情報１９を自装置内に保持する各ファイル内に記憶する。
【００１７】
ここで、トップネットリスト１１は、下位階層をマクロとした場合の、マクロ配置（フロアプラン）、及び、プリミティブセルの配置完了後、レイアウトツールから出力されたネットリストの情報である。また、トップネットリスト１１は、マクロの境界が含まれる階層を示す情報が格納される。
また、セル遅延ライブラリ１７は、フリップフロップ（以下、ＦＦという）やクロックドライバの各セルにおける、入力端子から出力端子への遅延時間や、入力端子に入力されるデータ信号に対するクロック信号のセットアップ時間やホールド時間などを予め記憶する。セル遅延ライブラリ１７の詳細については、例えば、特開２００１−２７３３３８号公報でセルライブラリ、特開２００６−３９６２１号公報でタイミング制約ライブラリとして説明されている。
【００１８】
また、遅延制約情報１８は、半導体集積回路を動作させるための制約情報となる基本クロック周期（或いは基本クロック周波数）、入力ピン外部の遅延時間、出力ピン外部の要求遅延時間、遅延制約例外パス（フォールス・パス，マルチサイクル・パス）などの情報である。
また、グローバルクロック分配後トップネットリスト１２は、トップネットリスト１１のチップ全面にクロックパスが分配されたネットリストである（図１２の左図）。
また、エッジ情報を含むグローバルクロックパス遅延時間情報１３は、グローバルクロックパスのネットワーク毎の配線遅延やゲート遅延と、各クロックセル到達時のクロック信号のエッジの情報(rise/fall)とを示す。なお、クロックセルとしてインバータを用いる場合があるので、各クロックセル到達時のクロック信号のエッジは、ＰＬＬからのクロックセルの段数によって異なる。
また、マクロネットリスト１４は、グローバルクロック分配後トップネットリスト１２から、マクロ内部の回路を切り出したネットリストである。
また、レイアウト後マクロネットリスト１５は、マクロネットリスト１４にレイアウト処理を行ったネットリストである。
【００１９】
また、マクロ内回路遅延時間情報１６は、マクロ内回路のネットワーク毎の配線遅延やゲート遅延を示す情報である。
また、グローバルクロック遅延アノテート済みマクロネットリスト１ａは、レイアウト後マクロネットリスト１５に、マクロ内１段目までのクロックパスに対してグローバルクロックパスの遅延時間情報をアノテートしたマクロネットリストである。ここで、アノテートとは、ネットリストに含まれるパスそれぞれに遅延時間情報及びエッジ情報を対応付けることである。
また、マクロ内回路遅延アノテート済みマクロネットリスト１ｂは、グローバルクロック遅延アノテート済みマクロネットリスト１ａの、マクロ内１段目以降のクロックパスとその他の回路について、マクロ内回路の遅延時間情報をアノテートしたマクロネットリストである。
また、遅延解析情報１９は、遅延制約を満たしているかのチェックに基づく、遅延制約経路違反や違反値毎の度数分布統計情報を示す。
【００２０】
また、データ処理装置２は、グローバルクロック分配部２１と、遅延時間算出部２２と、マクロ切り出し部２３と、レイアウト部２４と、遅延時間算出部２５と、グローバルクロック遅延アノテート部２６と、マクロ内回路遅延アノテート部２７と、遅延解析部２８とを備える。
ここで、グローバルクロック分配部２１は、トップネットリスト１１を入力し、チップ全面にクロックパスを分配して、グローバルクロック分配後トップネットリスト１２とグローバルクロックレイアウトデータ１ｃを出力する。このとき、クロックパスの遅延が後続レイアウトで大きく変化しないように、シールド配線や隣接禁止配線を行うのが一般的である。
【００２１】
また、遅延時間算出部２２は、グローバルクロック分配後ネットリスト１２とグローバルクロックレイアウトデータ１ｃを入力し、セル遅延ライブラリ１７を参照してＲＣシミュレーションによる遅延計算を行い、エッジ情報を含むグローバルクロックパス遅延時間情報１３を出力する。
また、マクロ切り出し部２３は、グローバルクロック分配後ネットリスト１２を入力し、マクロ内部の回路を切り出したマクロネットリスト１４を出力する。
また、レイアウト部２４は、マクロネットリスト１４を入力し、グローバルクロック分配の先のクロックツリー末端ドライバとマクロ内のＦＦを接続する処理を含む、レイアウト処理を行って、レイアウト後マクロネットリスト１５とマクロレイアウトデータ１０を出力する。
また、遅延時間算出部２５は、レイアウト後マクロネットリスト１５とマクロレイアウトデータ１０を入力し、セル遅延ライブラリ１７を参照してＲＣシミュレーションによる遅延計算を行い、マクロ内回路遅延時間情報１６を出力する。
また、グローバルクロック遅延アノテート部２６は、レイアウト後マクロネットリスト１５と、エッジ情報を含むグローバルクロックパス遅延時間情報１３を入力し、マクロ内１段目までのクロックパスに対してはエッジ情報を含むグローバルクロックパス遅延時間情報１３から遅延時間情報をアノテートし、グローバルクロック遅延アノテート済みマクロネットリスト１ａを出力する。クロックセルとしてインバータを用いる場合があるので、マクロ外のクロックセルの段数が異なると、マクロ内に入ってくるクロック信号のエッジ（rise/fall）が経路によって異なるので、これを考慮させるために、遅延時間情報に加えてエッジの情報もクロックパスへアノテートしている。
【００２２】
また、マクロ内回路遅延アノテート部２７は、グローバルクロック遅延アノテート済みマクロネットリスト１ａと、マクロ内回路遅延時間情報１６を入力し、グローバルクロック遅延アノテート部２６で遅延時間情報がアノテートされた回路以外の回路、つまり、マクロ内１段目以降のクロックパスとその他の回路について、マクロ内回路の遅延時間情報をアノテートし、マクロ内回路遅延アノテート済みマクロネットリスト１ｂを出力する。
また、遅延解析部２８は、マクロ内回路遅延アノテート済みマクロネットリスト１ｂと、遅延制約情報１８を入力し、クロックパスの遅延時間の算出、クロックスキューの算出、クロックパス遅延時間と信号パス遅延時間が遅延制約を満たしているかのチェックを行い、遅延解析情報１９を出力する。
【００２３】
図２は実施例１による遅延解析装置の処理フローを示す図である。
次に、実施例１による遅延解析装置１００の処理について図２を参照して説明する。
ここでは、マクロ外クロック遅延を考慮した遅延解析が行われる過程を、図２を用いて説明する。
（ステップＳ１１）
まず、グローバルクロック分配部２１が、トップネットリスト１１を入力する。グローバルクロック分配部２１は、一般的なトップ処理のクロック分配で行われるようなマクロ境界までのクロック分配ではなく、マクロ内部の領域も含めたチップ全面へクロックを分配し（図３；クロック分配の手法を示す第１の図）、グローバルクロック分配後トップネットリスト１２と、グローバルクロックレイアウトデータ１ｃを出力する。
（ステップＳ１２）
次に、遅延時間算出部２２は、グローバルクロック分配後トップネットリスト１２とグローバルクロックレイアウトデータ１ｃを入力し、セル遅延ライブラリ１７を参照してＲＣシミュレーションによる遅延計算を行い、エッジ情報を含むグローバルクロックパス遅延時間情報１３を出力する。遅延時間算出部２２におけるステップＳ１２の詳細については、例えば、特開２００１−２７３３３８号公報、特開２０００−２５９６８６号公報、特開２０００−３０５９６６号公報、特開２０００−２５０９５０号公報などにに記載されている技術により実現することができる。
【００２４】
（ステップＳ１３）
また、マクロ切り出し部２３が、グローバルクロック分配後トップネットリスト１２を入力し、マクロ内部の回路を切り出したマクロネットリスト１４を出力する（図４；クロック分配の手法を示す第２の図）。ステップＳ１１でチップ全面へのクロック分配が行われ、物理的にクロックパスが分配されているので、そのクロックパスとマクロ境界の交差点にマクロの外部クロック端子を発生させて、そのマクロの外部クロック端子を含むマクロを切り出す。クロック端子の切り出し処理以外の処理については、例えば、特開２００８−９７８７号公報、特開２００５−２３５８０４号公報などに記載されている技術により実現することができる。このとき、後処理時において、どれがマクロ内１段目のクロックセルかを判定できるように、マクロ内１段目のクロックセルのインスタンス名には特定のprefixを付加する。
（ステップＳ１４）
次に、レイアウト部２４が、マクロネットリスト１４を入力し、レイアウト処理を行い、レイアウト後マクロネットリスト１５とマクロレイアウトデータ１０を出力する。この処理の中で、クロックツリー末端ドライバからマクロ内の各ＦＦのクロック入力端子までのクロックパスを接続する処理が行われる。この処理で、クロックソースからのクロックがＦＦまで完全に分配されたことになる。クロックツリー末端ドライバから各ＦＦのクロック入力端子までのクロックパスを接続する処理は、例えば、特開２０００−２４３８４６公報などに記載されている技術により実現することができる。その他のレイアウト処理の詳細については、例えば、特開２０００−２２３５７８号公報、特開２０００−１７２７３８号公報、特開２０００−１００９４８号公報などに記載された技術により実現することができる。
【００２５】
（ステップＳ１５）
次に、遅延時間算出部２５が、レイアウト後マクロネットリスト１５とマクロレイアウトデータ１０を入力し、セル遅延ライブラリ１７を参照してＲＣシミュレーションによる遅延計算を行い、マクロ内回路遅延時間情報を出力する。遅延時間算出部２５におけるステップＳ１５の詳細については、例えば、特開２００１−２７３３３８号公報、特開２０００−２５９６８６号公報、特開２０００−３０５９６６号公報、特開２０００−２５０９５０号公報などに記載されている技術により実現することができる。
（ステップＳ１６）
そして、グローバルクロック遅延アノテート部２６が、レイアウト後マクロネットリスト１５と、エッジ情報を含むグローバルクロックパス遅延時間情報１３を入力し、グローバルクロック遅延アノテート済みマクロネットリスト１ａを出力する。この処理においては、マクロ内１段目までのクロックパスに対して、エッジ情報を含むグローバルクロックパス遅延時間情報１３がアノテートされる。具体的には、マクロ１段目までのグローバルクロック遅延が、マクロ切り口からマクロ内１段目までのクロックパスの遅延としてアノテートされる。
【００２６】
図５、図６を参照しながらステップＳ１６の具体的な処理を説明する。
図５は遅延解析対象マクロｂのレイアウト後マクロネットリストを示す図である。
図６は遅延解析装置の処理概要を示す第１の図である。
マクロｂは、図５に記載されているように、外部クロック入力端子Ｐｏｒｔ１〜Ｐｏｒｔ３、ＤＲＶ２、ＤＲＶ４〜ＤＲＶ８、ＦＦ１〜ＦＦ５を含む。ＤＲＶ２、ＤＲＶ４〜ＤＲＶ８はクロックドライバである。ＦＦ１〜ＦＦ５はフリップフロップ（ＦＦ）である。マクロｂはこれらの要素が図５のように組み合わされた回路である。
ここで、ステップＳ１６の処理においては、マクロｂ内１段目までのクロックパスにエッジ情報を含む遅延時間情報をアノテートする。つまり、エッジ情報を含むグローバルクロックパス遅延時間情報１３を参照して、外部クロック入力端子Ｐｏｒｔ１→ＤＲＶ２（外部入力端子Ｐｏｒｔ１からクロックツリー末端ドライバＤＲＶ２）、外部クロック入力端子Ｐｏｒｔ２→ＤＲＶ６〜ＤＲＶ７（外部入力端子Ｐｏｒｔ２からクロックツリー末端ドライバＤＲＶ６，クロックツリー末端ドライバＤＲＶ７）、外部クロック入力端子Ｐｏｒｔ３→ＤＲＶ８（外部入力端子Ｐｏｒｔ３からクロックツリー末端ドライバＤＲＶ８）のそれぞれのクロックパスに対して、遅延時間情報をアノテートする。また、クロックツリー末端ドライバＤＲＶ２、ＤＲＶ４〜ＤＲＶ８の入力端子到達時点でのクロック信号のエッジがrise/fallのどちらであるかもアノテートする。
【００２７】
同様の説明を、図６を参照しながら説明する。
具体的にＤＲＶ２に着目して説明すると、エッジ情報を含むグローバルクロックパス遅延時間情報１３に含まれるＰＬＬ→ＤＲＶ２（ＰＬＬからクロックツリー末端ドライバＤＲＶ２）までのクロック遅延を、マクロ／Ｐｏｒｔ１→ＤＲＶ２の遅延としてアノテートする。ここで、マクロ外のクロックセルの段数が異なると、マクロ内に入ってくるクロック信号のエッジ（rise/fall）が経路によって異なるので、これを考慮させるために、遅延時間に加えてエッジの情報もアノテートする。どれがマクロｂ内１段目のクロックセルかは、ステップＳ１３で付加したprefixをキーにして判定する。
【００２８】
（ステップＳ１７）
次に、マクロ内回路遅延アノテート部２７が、グローバルクロック遅延アノテート済みマクロネットリスト１ａと、マクロ内回路遅延時間情報１６を入力し、マクロ内回路遅延アノテート済みマクロネットリスト１ｂを出力する。これにより、マクロ内１段目以降のパスとその他の回路にマクロ内回路遅延時間情報１６がアノテートされる。つまり、マクロ内回路遅延時間情報１６を参照して、ステップ１６で遅延時間情報をアノテートした回路以外の回路へ、遅延時間情報をアノテートする。そして、ステップＳ１６、ステップＳ１７により、マクロ内回路全体に遅延時間情報がアノテートされたことになる。
（ステップＳ１８）
そして、遅延解析部２８は、ステップＳ１６、ステップＳ１７で遅延時間情報がアノテートされた、レイアウト後マクロネットリスト（マクロ内回路遅延アノテート済みマクロネットリスト）と、遅延制約情報１８を入力し、信号パスの遅延時間の算出、クロックスパスの遅延時間の算出、マクロ外クロック遅延時間を考慮したクロックスキューの算出、クロックパス遅延時間と信号パス遅延時間が遅延制約を満たしているかのチェックを行い、それら情報を含む遅延解析情報を出力する。クロック遅延時間は、トップ持分のクロックパス、具体的には、ＰＬＬから各マクロの１段目のクロックツリードライバまでの遅延時間も保持しており、マクロ内処理でありながらトップ処理に近い高精度なクロックスキューの算出が可能になり、このクロックスキューを使用して遅延解析を行い、遅延解析情報１９を出力する。クロック信号のエッジについても、正しい情報を保持した状態でマクロ内遅延解析を行う。これにより、マクロｂの遅延解析が終了する。
【００２９】
上述の処理によれば、マクロ遅延解析時に、マクロ外のクロックパス遅延を、トップ処理で得られたグローバルクロックパスの遅延時間情報からアノテートして遅延解析ツールに認識させることで、マクロ内処理でありながらトップ処理に近い高精度なクロックスキューの算出が可能になり、従来のマクロ遅延解析では省く事のできなかった過剰な設計マージンを省くことが可能になり、最適なＬＳＩ設計に寄与する。
また、クロック遅延とエッジの情報をセットでマクロ処理へアノテートすることで、クロックパスの切り口が複数あり、クロックドライバの段数が異なる場合でも、マクロ処理へのクロックパス遅延計算結果のアノテートを可能にする。
【００３０】
図７は遅延解析装置の処理概要を示す第２の図である。
この効果について図７を参照して説明する。
従来のマクロの遅延解析方法では、想定されるクロックスキューをアンダーマージンにならないように大きめのクロックスキュー値を、ＦＦのクロック入力端子、あるいは外部クロック入力端子に対して一律で与えてマクロの遅延解析を行っていた。しかし、実際のクロックスキュー（パスの始終点のクロック遅延時間の差）は、クロックドライバの分岐点の段数などクロック経路のレイアウト状態によって異なり、レイアウトが似通ったクロック経路のＦＦを始終点とするパスのクロックスキューは小さく、レイアウト上の差分が大きいクロック経路を始終点とするパスのクロックスキューは大きくなる。図７を参照して説明すると、ＰＬＬからＦＦ１までのクロック経路と、ＰＬＬからＦＦ２までのクロック経路は同一クロック経路部分が多く、ＰＬＬからＦＦ１までのクロック経路と、ＰＬＬからＦＦ５までのクロック経路は同一クロック経路部分が少ないので、ＦＦ１とＦＦ２との間のクロックスキューは、ＦＦ１とＦＦ５との間のクロックスキューに比べ小さくなる。
【００３１】
従来手法では、アンダーマージンにならないように大きめの値を一律で与えていたため、ＦＦ１とＦＦ２との間のデータタイミングパスについてはオーバーマージンな遅延時間解析がされていた。
しかしながら、本発明のマクロの遅延解析方法では、マクロ外のクロックパス遅延をトップ処理の遅延計算結果からアノテートし、クロックの経路・レイアウトを考慮して、高精度なクロックスキュー計算を実現できる。具体的には、ＰＬＬからＦＦ１までのクロック経路と、ＰＬＬからＦＦ５までのクロック経路では、クロック経路の差分が大きいが、ＰＬＬからＦＦ１までのクロック経路と、ＰＬＬからＦＦ２までのクロック経路では、クロック経路の差分が小さいので、小さいクロックスキューが算出され、高精度な遅延解析が実現できる。これにより、過剰な設計マージンを省き、最適なＬＳＩ設計に寄与することができる。
【００３２】
（実施例２）
図８は実施例２による遅延解析装置の構成を示すブロック図である。
次に、本発明の実施例２の構成について図８を参照して説明する。
実施例２による半導体集積回路の遅延解析装置は、図８に示すように、ハードディスク等の記憶装置１と、プログラム制御により動作するデータ処理装置２と、から構成されている。
記憶装置１は、チップネットリスト１ｄと、エッジ情報を含む任意区域外（グローバル）クロックパス遅延時間情報１３と、セル遅延ライブラリ１７と、遅延制約情報１８を自装置内に保持する各ファイル内に記憶し、また、出力情報となる、任意区域ネットリスト１ｅと、レイアウト後任意区域ネットリスト１ｆと、任意区域レイアウトデータ１ｇと、任意区域内回路遅延時間情報１ｈと、グローバルクロック遅延アノテート済み任意区域ネットリスト１ｉと、任意区域内回路遅延アノテート済み任意区域ネットリスト１ｊと、遅延解析情報１９を自装置内に保持する各ファイル内に記憶する。
【００３３】
ここで、チップネットリスト１ｄは、チップ全面の全てのセルに対する配置・配線処理完了後、レイアウトツールから出力されたネットリストである。
また、任意区域ネットリスト１ｅは、チップネットリスト１ｄから任意区域の回路を切り出したネットリストである。
また、レイアウト後任意区域ネットリスト１ｆは、任意区域ネットリスト１ｅに修正レイアウト処理を行ったネットリストである。
また、任意区域内回路遅延時間情報１ｈは、任意区域内回路のネットワーク毎の配線遅延やゲート遅延を示す情報である。
また、グローバルクロック遅延アノテート済み任意区域ネットリスト１ｉは、レイアウト後任意区域ネットリスト１ｆの、任意区域内１段目までのクロックパスに対して、グローバルクロックパスの遅延時間情報をアノテートした任意区域ネットリストである。
また、任意区域内回路遅延アノテート済み任意区域ネットリスト１ｊは、グローバルクロック遅延アノテート済み任意区域ネットリスト１ｉの、任意区域内１段目以降のクロックパスとその他の回路について、任意区域内回路の遅延時間情報をアノテートした任意区域ネットリストである。
記憶装置１のその他の要素については、実施例１と同様である。
【００３４】
データ処理装置２は、任意区域切り出し部２９と、レイアウト部２４と、遅延時間算出部２５と、グローバルクロック遅延アノテート部２６と、任意区域内回路遅延アノテート部２０と、遅延解析部２８を備える。
任意区域切り出し部２８は、チップネットリスト１ｄを入力し、任意区域内部の回路を切り出した任意区域ネットリスト１ｅを出力する。
また、グローバルクロック遅延アノテート部２６は、レイアウト後任意区域ネットリスト１ｆと、エッジ情報を含むグローバルクロックパス遅延時間情報１３を入力し、任意区域内１段目までのクロックパスに対してはエッジ情報を含むグローバルクロックパス遅延時間情報から遅延時間情報をアノテートし、グローバルクロック遅延アノテート済み任意区域ネットリスト１ｉを出力する。クロックセルとしてインバータを用いる場合があるので、任意区域外のクロックセルの段数が異なると、任意区域内に入ってくるクロック信号のエッジ（rise/fall）が経路によって異なるので、これを考慮させるために、遅延時間情報に加えてエッジの情報もクロックパスへアノテートしている。
【００３５】
また、任意区域内回路遅延アノテート部２０は、グローバルクロック遅延アノテート済み任意区域ネットリスト１ｉと、任意区域内回路遅延時間情報１ｈを入力し、グローバルクロック遅延アノテート部２６で遅延時間情報がアノテートされた回路以外の回路、つまり、任意区域内１段目以降のクロックパスとその他の回路について、任意区域内回路の遅延時間情報をアノテートし、任意区域内回路遅延アノテート済み任意区域ネットリスト１ｊを出力する。
データ処理装置２のその他の処理部については、実施例１と同様である。
【００３６】
図９は実施例２による遅延解析装置の処理フローを示す図である。
次に、実施例２による遅延解析装置１００の動作について図面を参照して説明する。
ここでは、半導体集積回路の遅延解析装置１００により、任意区域の動作タイミングが検証される過程を、図９を用いて説明する。
（ステップＳ２１）
まず、任意区域切り出し部２９は、チップネットリスト１ｄを入力し、任意区域内部の回路を切り出した任意区域ネットリスト１ｅを出力する。チップネットリストはチップレイアウト処理まで行われ、物理的にクロックパスがわかっているので、そのクロックパスと任意区域境界の交差点に任意区域の外部クロック端子を発生させて、その任意区域の外部クロック端子を含んだ任意区域が切り出される（図１０；遅延解析装置の処理概要を示す第３の図）。外部クロック端子の切り出し処理以外の処理については、例えば、特開２００７−２５７２９３号公報に記載されている技術により実現することができる。このとき、任意区域内１段目のクロックセルがどれかを判定できるように、任意区域内１段目のクロックセルのインスタンス名には特定のprefixを付加する。
【００３７】
（ステップＳ２２）
次に、レイアウト部２４が、任意区域ネットリスト１ｅを入力し、レイアウト処理を行い、レイアウト後任意区域ネットリスト１ｆと任意区域レイアウトデータ１ｇを出力する。レイアウト部２４におけるステップ２２の詳細については、例えば、特開２００５−２８４８２６号公報、特開２００７−３４６６８号公報、特開２０００−２４２６７５号公報などに記載されている技術により実現することができる。
（ステップＳ２３）
次に、遅延時間算出部２５が、レイアウト後任意区域ネットリスト１ｆと任意区域レイアウトデータ１ｇを入力し、セル遅延ライブラリ１７を参照してＲＣシミュレーションによる遅延計算を行い、任意区域内回路遅延時間情報１ｈを出力する。遅延時間算出部２５を含むステップＳ２３の詳細については、例えば、特開２００１−２７３３３８号公報、特開２０００−２５９６８６号公報、特開２０００−３０５９６６号公報、特開２０００−２５０９５０号公報などに記載されている技術により実現することができる。
（ステップＳ２４）
次に、グローバルクロック遅延アノテート部２６が、レイアウト後任意区域ネットリスト１ｆと、エッジ情報を含むグローバルクロックパス遅延時間情報１３を入力し、グローバルクロック遅延アノテート済み任意区域ネットリスト１ｉを出力する。これにより、任意区域内１段目までのクロックパスに対して、エッジ情報を含むグローバルクロックパス遅延時間情報がアノテートされる。具体的には、任意区域１段目までのグローバルクロック遅延が、任意区域切り口から任意区域内１段目までのクロックパスの遅延としてアノテートされる。
【００３８】
その他、ステップＳ２５およびステップＳ２６の具体的な処理については、実施例１と比較して、マクロと任意区域、グローバルクロック分配後トップネットリストとチップネットリスト、が異なるのみで、上述した実施例１のステップＳ１７〜ステップＳ１８の処理と同様である。
つまり、
（ステップＳ２５）
任意区域内回路遅延アノテート部２０が、グローバルクロック遅延アノテート済み任意区域ネットリスト１ｉと、任意区域内回路遅延時間情報１ｈを入力し、任意区域内回路遅延アノテート済み任意区域ネットリスト１ｊを出力する。これにより、任意区域内１段目以降のパスとその他の回路に任意区域内回路遅延時間情報１ｈがアノテートされる。つまり、任意区域内回路遅延時間情報１ｈを参照して、ステップ２４で遅延時間情報をアノテートした回路以外の回路へ、遅延時間情報がアノテートされる。そして、ステップＳ２４、ステップＳ２５により、任意区域内回路全体に遅延時間情報がアノテートされたことになる。
（ステップＳ２６）
そして、遅延解析部２８は、ステップＳ２４、ステップＳ２５で遅延時間情報がアノテートされた、任意区域内回路遅延アノテート済み任意区域ネットリスト１ｊと、遅延制約情報１８を入力し、信号パスの遅延時間の算出、クロックスパスの遅延時間の算出、任意区域外クロック遅延時間を考慮したクロックスキューの算出、クロックパス遅延時間と信号パス遅延時間が遅延制約を満たしているかのチェックを行い、それら情報を含む遅延解析情報を出力する。クロック遅延時間は、トップ持分のクロックパス、具体的には、ＰＬＬから各任意区域の１段目のクロックツリードライバまでの遅延時間も保持しており、任意区域内処理でありながらトップ処理に近い高精度なクロックスキューの算出が可能になり、このクロックスキューを使用して遅延解析を行い、遅延解析情報１９を出力する。クロック信号のエッジについても、正しい情報を保持した状態で任意区域内遅延解析を行う。これにより、任意区域の遅延解析が終了する。
【００３９】
上述の処理によれば、ＬＳＩ階層設計における1つのＬＳＩを階層的に分割した一部分の回路（以下、マクロ）の遅延解析時、または、チップレイアウト後にチップから一部切り出された回路（以下、任意区域）の遅延解析時に、マクロ（または任意区域）をブラックボックスとして扱う処理（以下、トップ処理）やチップレイアウト処理で得られるクロックパスの遅延時間情報を、マクロや任意区域内のクロックパスにアノテートすることで、従来のマクロ遅延解析時や任意区域遅延解析時には省くことのできなかった過剰な設計マージンを省くことを可能にし、最適なＬＳＩ設計に寄与することができる。
【００４０】
なお、上述の半導体集積回路の遅延解析装置は内部に、コンピュータシステムを有している。そして、上述した各処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
【００４１】
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【符号の説明】
【００４２】
１・・・記憶装置
２・・・データ処理装置
２０・・・任意区域内回路遅延アノテート部
２１・・・グローバルクロック分配部
２２・・・遅延時間算出部
２３・・・マクロ切り出し部
２４・・・レイアウト部
２５・・・遅延時間算出部
２６・・・グローバルクロック遅延アノテート部
２７・・・マクロ内回路遅延アノテート部
２８・・・遅延解析部
２９・・・任意区域切り出し部
【図１】
2011043993.tif 000003
【図２】
2011043993.tif 000004
【図３】
2011043993.tif 000005
【図４】
2011043993.tif 000006
【図５】
2011043993.tif 000007
【図６】
2011043993.tif 000008
【図７】
2011043993.tif 000009
【図８】
2011043993.tif 000010
【図９】
2011043993.tif 000011
【図１０】
2011043993.tif 000012
【図１１】
2011043993.tif 000013
【図１２】
2011043993.tif 000014