(57)【要約】【課題】既存のＳＴＡシステムよりも高精度なタイミング解析を実行する技術を提供する。【解決手段】配線の抵抗成分と容量成分とを含むＳＰＥＦ（Ｓｔａｎｄａｒｄ  Ｐａｒａｓｉｔｉｃ  Ｅｘｃｈａｎｇｅ  Ｆｏｒｍａｔ）ファイルを生成するＲＣ抽出部と、ＳＰＥＦ（Ｓｔａｎｄａｒｄ  Ｐａｒａｓｉｔｉｃ  Ｅｘｃｈａｎｇｅ  Ｆｏｒｍａｔ）ファイルに基づいて、ＳＤＦ（Ｓｔａｎｄａｒｄ  Ｄｅｌａｙ  Ｆｏｒｍａｔ）ファイルを生成する遅延計算部と、クロック・メッシュ構造のあるクロックパスについて、入力段からクロック・メッシュまでのネットリストを簡略化して修正回路モデルを生成するクロック・メッシュ計算部と、修正回路モデルに基づいて、解析対象の半導体集積回路のタイミング解析を実行するタイミング解析部を具備するタイミング解析支援装置を構成する。【選択図】図４
2010079737.tif 000002
【特許請求の範囲】
【請求項１】
配線の抵抗成分と容量成分とを含むＳＰＥＦ（Ｓｔａｎｄａｒｄ  Ｐａｒａｓｉｔｉｃ  Ｅｘｃｈａｎｇｅ  Ｆｏｒｍａｔ）ファイルを生成するＲＣ抽出部と、
前記ＳＰＥＦ（Ｓｔａｎｄａｒｄ  Ｐａｒａｓｉｔｉｃ  Ｅｘｃｈａｎｇｅ  Ｆｏｒｍａｔ）ファイルに基づいて、ＳＤＦ（Ｓｔａｎｄａｒｄ  Ｄｅｌａｙ  Ｆｏｒｍａｔ）ファイルを生成する遅延計算部と、
クロック・メッシュ構造のあるクロックパスについて、入力段からクロック・メッシュまでのネットリストを簡略化して修正回路モデルを生成するクロック・メッシュ計算部と、
前記修正回路モデルに基づいて、解析対象の半導体集積回路のタイミング解析を実行するタイミング解析部と
を具備する
タイミング解析支援装置。
【請求項２】
請求項１に記載のタイミング解析支援装置において、
前記クロック・メッシュ計算部は、
ネットリスト編集ツールと、
ＳＤＦファイル編集ツールと、
ＳＰＥＦファイル編集ツールと
を備え、
前記ネットリスト編集ツールは、
前記入力段を構成するインスタンスの出力ピンの後段に構成されたクロック・メッシュネットと、前記クロック・メッシュネットにレシーバとして繋がるドライバの入力ピンとを特定し、前記入力ピンに新たネットを介して擬似外部端子を接続して修正ネットリストを生成し、
前記ＳＤＦファイル編集ツールは、
前記インスタンスから前記ドライバまでの最悪遅延値と前記ドライバの入力の波形鈍りを示すクロックＬａｔｅｎｃｙ／鈍り情報を読み出し、前記クロックＬａｔｅｎｃｙ／鈍り情報に含まれる上方を前記修正ネットリストに付与して修正ＳＤＦファイルを生成し、
前記ＳＰＥＦファイル編集ツールは、
前記修正ネットリストに基づいて、前記擬似外部端子から前記ドライバまでのネットに対して、ダミー容量とダミー抵抗を付与して修正ＳＰＥＦファイルを生成し、
前記タイミング解析部は、
前記修正ネットリストと前記修正ＳＤＦファイルと前記修正ＳＰＥＦファイルとに基づいて、前記半導体集積回路のタイミング解析を実行する
タイミング解析支援装置。
【請求項３】
請求項２に記載のタイミング解析支援装置において、
前記タイミング解析部は、
セル遅延ライブラリとタイミング制約とを読み出し、前記修正ネットリストと前記修正ＳＤＦファイルと前記修正ＳＰＥＦファイルと前記セル遅延ライブラリと前記タイミング制約とに基づいて、セットアップ・ホールド遅延違反したパス情報を含む解析結果レポートを生成する
タイミング解析支援装置。
【請求項４】
請求項２または３記載のタイミング解析支援装置において、
前記ＲＣ抽出部は、
ＲＣ抽出ライブラリと、前記半導体集積回路のレイアウトデータとに基づいて、前記半導体集積回路の寄生情報を抽出して、配線のＲＣ情報を含む前記ＳＰＥＦファイルを出力する
タイミング解析支援装置。
【請求項５】
請求項２から４のいずれか１項に記載のタイミング解析支援装置において、
前記遅延計算部は、
配線メディアによる遅延時間、セル内遅延時間、同セットアップ・ホールド時間を計算して、前記ＳＤＦ（Ｓｔａｎｄａｒｄ  Ｄｅｌａｙ  Ｆｏｒｍａｔ）ファイルを生成する
タイミング解析支援装置。
【請求項６】
請求項２から５のいずれか１項に記載のタイミング解析支援装置において、
前記ネットリスト編集ツールは、
前記入力段から前記クロック・メッシュネットに辿り着くまでの途中経路中のネットとドライバ・インスタンスを全て記憶し、前記入力ピンに前記新たネットを介して前記擬似外部端子を接続した後、前記途中経路中のネットと前記ドライバ・インスタンスとを削除して前記修正ネットリストを生成する
タイミング解析支援装置。
【請求項７】
請求項２から６のいずれか１項に記載のタイミング解析支援装置において、
前記ＳＤＦファイル編集ツールは、
読み出した前記クロックＬａｔｅｎｃｙ／鈍り情報の記述に基づいて、前記入力段を、前記修正ネットリストの内部のドライバに繋がる擬似外部端子に読み替えながら、前記修正ＳＤＦファイルを生成する
タイミング解析支援装置。
【請求項８】
請求項２から７のいずれか１項に記載のタイミング解析支援装置において、
前記ＳＰＥＦファイル編集ツールは、
前記修正ネットリストと前記ＳＰＥＦファイルとに基づいて、仮ＳＰＥＦファイルを生成し、
前記仮ＳＰＥＦファイルの前記擬似外部端子と前記ドライバのピンとのペア記述の擬似端子座標を、前記ドライバの入力端子座標と同じにして前記修正ＳＰＥＦファイルを生成する
タイミング解析支援装置。
【請求項９】
コンピュータを、半導体集積回路のタイミング解析を実行するタイミング解析支援装置として機能させるための手順を示すタイミング解析支援プログラムであって、
（ａ）配線の抵抗成分と容量成分とを含むＳＰＥＦ（Ｓｔａｎｄａｒｄ  Ｐａｒａｓｉｔｉｃ  Ｅｘｃｈａｎｇｅ  Ｆｏｒｍａｔ）ファイルを生成するステップと、
（ｂ）前記ＳＰＥＦ（Ｓｔａｎｄａｒｄ  Ｐａｒａｓｉｔｉｃ  Ｅｘｃｈａｎｇｅ  Ｆｏｒｍａｔ）ファイルに基づいて、ＳＤＦ（Ｓｔａｎｄａｒｄ  Ｄｅｌａｙ  Ｆｏｒｍａｔ）ファイルを生成するステップと、
（ｃ）クロック・メッシュ構造のあるクロックパスについて、入力段からクロック・メッシュまでのネットリストを簡略化して修正回路モデルを生成するステップと、
（ｄ）前記修正回路モデルに基づいて、解析対象の半導体集積回路のタイミング解析を実行するステップと
を具備する手順を示す
タイミング解析支援プログラム。
【請求項１０】
請求項９に記載のタイミング解析支援プログラムにおいて、
前記（ｃ）ステップは、
ネットリスト編集ステップと、
ＳＤＦファイル編集ステップと、
ＳＰＥＦファイル編集ステップと
を含み、
前記ネットリスト編集ステップは、
前記入力段を構成するインスタンスの出力ピンの後段に構成されたクロック・メッシュネットと、前記クロック・メッシュネットにレシーバとして繋がるドライバの入力ピンとを特定するステップと、
前記入力ピンに新たネットを介して擬似外部端子を接続して修正ネットリストを生成するステップと
を含み、
前記ＳＤＦファイル編集ステップは、
前記インスタンスから前記ドライバまでの最悪遅延値と前記ドライバの入力の波形鈍りを示すクロックＬａｔｅｎｃｙ／鈍り情報を読み出すステップと
前記クロックＬａｔｅｎｃｙ／鈍り情報に含まれる上方を前記修正ネットリストに付与して修正ＳＤＦファイルを生成するステップと
を含み、
前記ＳＰＥＦファイル編集ステップは、
前記修正ネットリストに基づいて、前記擬似外部端子から前記ドライバまでのネットに対して、ダミー容量とダミー抵抗を付与して修正ＳＰＥＦファイルを生成するステップを含み、
前記（ｄ）ステップは、
前記修正ネットリストと前記修正ＳＤＦファイルと前記修正ＳＰＥＦファイルとに基づいて、前記半導体集積回路のタイミング解析を実行するステップを含む
タイミング解析支援プログラム。
【請求項１１】
請求項１０に記載のタイミング解析支援プログラムにおいて、
前記（ｄ）ステップは、
セル遅延ライブラリとタイミング制約とを読み出すステップと、
前記修正ネットリストと前記修正ＳＤＦファイルと前記修正ＳＰＥＦファイルと前記セル遅延ライブラリと前記タイミング制約とに基づいて、セットアップ・ホールド遅延違反したパス情報を含む解析結果レポートを生成するステップと
を含む
タイミング解析支援プログラム。
【請求項１２】
請求項１０または１１に記載のタイミング解析支援プログラムにおいて、
前記（ａ）ステップは、
ＲＣ抽出ライブラリと、前記半導体集積回路のレイアウトデータとに基づいて、前記半導体集積回路の寄生情報を抽出して、配線のＲＣ情報を含む前記ＳＰＥＦファイルを出力するステップを含む
タイミング解析支援プログラム。
【請求項１３】
請求項１０から１２のいずれか１項に記載のタイミング解析支援プログラムにおいて、
前記（ｂ）ステップは、
配線メディアによる遅延時間、セル内遅延時間、同セットアップ・ホールド時間を計算して、前記ＳＤＦ（Ｓｔａｎｄａｒｄ  Ｄｅｌａｙ  Ｆｏｒｍａｔ）ファイルを生成するステップを含む
タイミング解析支援プログラム。
【請求項１４】
請求項１０から１３のいずれか１項に記載のタイミング解析支援プログラムにおいて、
前記ネットリスト編集ステップは、
前記入力段から前記クロック・メッシュネットに辿り着くまでの途中経路中のネットとドライバ・インスタンスを全て記憶するステップと、
前記入力ピンに前記新たネットを介して前記擬似外部端子を接続した後、前記途中経路中のネットと前記ドライバ・インスタンスとを削除して前記修正ネットリストを生成するステップと
を含む
タイミング解析支援プログラム。
【請求項１５】
請求項１０から１４のいずれか１項に記載のタイミング解析支援プログラムにおいて、
前記ＳＤＦファイル編集ステップは、
読み出した前記クロックＬａｔｅｎｃｙ／鈍り情報の記述に基づいて、前記入力段を、前記修正ネットリストの内部のドライバに繋がる擬似外部端子に読み替えながら、前記修正ＳＤＦファイルを生成するステップを含む
タイミング解析支援プログラム。
【請求項１６】
請求項１０から１５のいずれか１項に記載のタイミング解析支援プログラムにおいて、
前記ＳＰＥＦファイル編集ツールは、
前記修正ネットリストと前記ＳＰＥＦファイルとに基づいて、仮ＳＰＥＦファイルを生成するステップと、
前記仮ＳＰＥＦファイルの前記擬似外部端子と前記ドライバのピンとのペア記述の擬似端子座標を、前記ドライバの入力端子座標と同じにして前記修正ＳＰＥＦファイルを生成するステップと
を含む
タイミング解析支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クロック・メッシュ構造を含むクロックパスを有するＬＳＩの遅延を検証するタイミング解析支援装置に関する。
【背景技術】
【０００２】
ＬＳＩのクロック分配方式として、クロック・ツリー（ｃｌｏｃｋ  ｔｒｅｅ）方式が知られている。クロック・ツリー方式は、木の枝（ツリー）状にクロック信号を分配する技術である。図１は、クロック・ツリー方式でクロックを分配するＬＳＩの構成を示す回路図である。図１のＬＳＩにおいて、クロック信号の到着時間の差（スキュー）が小さくなるように、回路を設計することが好ましい（例えば、特許文献１、２参照）。特許文献１には、論理単位の素子の配置広がりを考慮した配線負荷モデルを用い最適化した論理回路を生成する集積回路設計支援装置に関する技術が記載されている。また、特許文献２には、２つ以上の素子を一つの素子にまとめてネットリストを簡略化する技術が記載されている。
【０００３】
クロック・ツリー方式のＬＳＩでは、そのため、製造バラツキを考慮したＳＫＥＷ計算が行われている。一般的に、クロック・ツリー方式のＬＳＩは、配置広がり（距離）が大きければ遅延バラツキが大きくなり、段数が大きければ遅延バラツキが小さくなる。逆に、配置広がり（距離）が小さければ遅延バラツキが小さくなり、段数が小さければ遅延バラツキが大きくなる。このような相関があるため、スタティック・タイミング解析（ＳＴＡ）ツールでは、配置広がりと段数との２次元テーブル（ライブラリ）から、遅延バラツキ係数を決定し、下記の式を用いてＳＫＥＷ計算をモデル化している。
【０００４】
Ｓｅｔｕｐ  ｓｋｅｗ：
送信クロック遅延−バラツキ係数（＜１．０）×受信クロック遅延
Ｈｏｌｄ  ｓｋｅｗ：
送信クロック遅延−バラツキ係数（＞１．０）×受信クロック遅延
このとき、その製造バラツキを考慮したＳＫＥＷ計算については、送信クロックと受信クロックの共通パスを認識して、その共通パス以降のクロックドライバの配置広がり（距離）を考慮する。クロック共通パスにおいては、バラツキを考慮する必要がない。そのため、共通パス分岐点（以下、ＣＲＰＲ（Ｃｌｏｃｋ  Ｒｅｃｏｎｖｅｒｇｅｎｃｅ  Ｐｅｓｓｉｍｉｓｍ  Ｒｅｍｏｖａｌ）分岐点と記載する）から後の配置広がりや段数、クロック遅延について計算する。
【０００５】
たとえば、第１フリップフロップＦＦ１と第２フリップフロップＦＦ２の間のパスのクロックを、上流に「一意に」トレースすると、第１ＣＲＰＲ分岐点までが共通パスと認識できる。また、第１フリップフロップＦＦ１と第２フリップフロップＦＦ２の間では、段数が１段で、配置広がりは第１範囲となる。第１フリップフロップＦＦ１と第３フリップフロップＦＦ３の間のパスのクロックを、上流に「一意に」トレースすると、第２ＣＲＰＲ分岐点までが共通パスと認識できる。そして、第１フリップフロップＦＦ１と第３フリップフロップＦＦ３の間では、段数が３段で、配置広がりが第２範囲となる。
【０００６】
クロック・ツリー方式は、レイアウト設計の自由度が高い。しかし、規模が大きい回路ではクロック信号の到着時間の差（スキュー）を小さくすることが困難な場合がある。回路規模が大きなＬＳＩにおいて、スキューを小さくするクロック分配方式として、クロック・メッシュ（ｃｌｏｃｋ  ｍｅｓｈ）方式が知られている（例えば、特許文献３、４参照。）。クロック・メッシュ方式は、クロック遅延差を小さくし、チップ内製造バラツキによるクロック遅延変動を低減することが可能であり、規模が大きい回路に対してもスキュー（ＳＫＥＷ）を小さくすることが可能となる。そのため、ハイエンドＬＳＩにおけるクロック構造において、メッシュ・アーキテクチャを用いたものが普及してきている。図２は、クロック・メッシュ方式のＬＳＩの構成を示す回路図である。図２を参照すると、そのＬＳＩでは、碁盤の目（メッシュ）状にクロック信号が分配されている。
【特許文献１】特開平１１−２３２３１０号公報
【特許文献２】特開２００７−０７８５３６号公報
【特許文献３】特開平０３−２３２２６７号公報
【特許文献４】特開２００３−２８２７１２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上述の図１に示されているように、通常のクロック・ツリー分配では、データラインはバスを除いて通常シングル・ドライバであり、あるネットやセルのファンイン（ドライバ）側を辿ると必ず一意のセルに到達する。これに対して、クロックパスにメッシュ構造があると共通パスが認識できず正確な配置広がりを特定する事ができない問題が生じる。クロック・メッシュ構造ではファンイン側を辿るとドライバが一意に決まらず特殊なアルゴリズムやプログラム上の配慮が必要となる。このように、クロック・メッシュ構造は、マルチ・ドライバ構成となるので、一般的なＣＡＤツールでの扱いが難しい。
【０００８】
スタティック・タイミング解析（ＳＴＡ）ツールにおいても例外ではない。図２に示されているようなＬＳＩにおいて、メッシュ部に関しては、チップ内製造バラツキによる遅延変動の計算を行うツールが存在していない。したがって、バラツキを反映した計算モデルによる高精度なタイミング解析を行うことが困難な場合がある。たとえば、ＰＬＬからメッシュ段までをトランジスタレベルのネットリストに切り出して、配線メディア，トランジスタの製造バラツキ分をランダム要素にしたモンテカルロＳＰＩＣＥシミュレーション解析により計測した遅延を使う方法も考えられるが、実行時間の観点から現実的でない。
【課題を解決するための手段】
【０００９】
配線の抵抗成分と容量成分とを含むＳＰＥＦ（Ｓｔａｎｄａｒｄ  Ｐａｒａｓｉｔｉｃ  Ｅｘｃｈａｎｇｅ  Ｆｏｒｍａｔ）ファイルを生成するＲＣ抽出部と、そのＳＰＥＦ（Ｓｔａｎｄａｒｄ  Ｐａｒａｓｉｔｉｃ  Ｅｘｃｈａｎｇｅ  Ｆｏｒｍａｔ）ファイルに基づいて、ＳＤＦ（Ｓｔａｎｄａｒｄ  Ｄｅｌａｙ  Ｆｏｒｍａｔ）ファイルを生成する遅延計算部と、クロック・メッシュ構造のあるクロックパスについて、入力段からクロック・メッシュまでのネットリストを簡略化して修正回路モデルを生成するクロック・メッシュ計算部と、その修正回路モデルに基づいて、解析対象の半導体集積回路のタイミング解析を実行するタイミング解析部とを具備するタイミング解析支援装置を構成する。
【発明の効果】
【００１０】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば、クロック・メッシュ構造のあるクロックパスについて、ＰＬＬからメッシュまでのネットリストを簡略化し、ＰＬＬからメッシュのレシーバとなるドライバ（Ｌ１）までの製造バラツキによる遅延変動を、各ドライバＬ１の位置に依存する計算モデルとすることにより、既存のＳＴＡシステムよりも高精度なタイミング解析を実行できる効果がある。な効果がある。
【００１１】
修正ネットリストを用いることで、ＣＲＰＲ分岐点を、ドライバＬ１或いは擬似外部端子としてタイミング解析を行う。また、配置広がりは修正ＳＰＥＦを用いることで、ドライバＬ１とフリップフロップＦＦとの距離に応じた配置広がりを考慮してバラツキ遅延を計算できる。したがって、メッシュがチップ全面に配られていても、その大きな広がりは不問となる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施の形態を図面に基づいて説明する。なお、実施の形態を説明するための図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００１３】
図３は、本実施形態のタイミング解析装置１０の構成を例示するブロックである。タイミング解析装置１０は、情報処理装置１と、入力装置２と、出力装置３とを含んでいる。情報処理装置１は、プログラムに示される手順に従って、情報処理を高速に行う装置（コンピュータ）である。情報処理装置１は、入力、記憶、演算、制御および出力の５つの基本機能を備えている。入力装置２は、情報処理装置１にデータを入力するマンマシンインターフェースである。入力装置２の代表としては、例えば、キーボード、マウス、ペンタブレット、タッチパネルなどが例示される。出力装置３は、情報処理装置１の処理結果を外部に出力するマンマシンインターフェースである。出力装置３の代表として、ディスプレイやプリンタなどが例示される。
【００１４】
情報処理装置１は、プログラム制御により動作するコンピュータであり、ＣＰＵ４と、メモリ５と、大容量記憶装置６を備え、それらはバス７を介して接続されている。ＣＰＵ４は、中央演算処理装置とも呼ばれ、情報処理装置１に備えられた各種装置の制御やデータの処理を行う。ＣＰＵ４は、入力装置２などを介して供給されるデータを解釈して演算し、その演算結果を出力装置３などに出力する。
【００１５】
メモリ５は、ＤＲＡＭやＳＲＡＭなどに代表される半導体記憶装置である。メモリ５は、ＣＰＵ４の命令に応答してデータの書き込みを行う。また、メモリ５は、ＣＰＵ４の命令に応答してデータの読み出しを行う。なお、本実施形態のメモリ５は、ＲＡＭに限定されることは無い。例えば、ＥＥＰＲＯＭやフラッシュメモリなどであってもよい。
【００１６】
大容量記憶装置６は、ＨＤＤなどに代表される情報を永続的に記憶する記憶装置である。大容量記憶装置６は、外部から供給される電源が遮断した場合であっても、情報を保持しつつける機能を備えている。なお、本実施形態の大容量記憶装置６は、ＨＤＤに限定されることは無い。例えば、ＥＥＰＲＯＭやフラッシュメモリなどであってもよい。
【００１７】
大容量記憶装置６は、タイミング解析支援プログラム８と、レイアウトデータ１１と、ＳＰＥＦ（Ｓｔａｎｄａｒｄ  Ｐａｒａｓｉｔｉｃ  Ｅｘｃｈａｎｇｅ  Ｆｏｒｍａｔ）１２と、ネットリスト１３と、ＳＤＦ１４と、クロックＬａｔｅｎｃｙ／鈍り情報１５と、修正ネットリスト１６と、修正ＳＰＥＦ１７と、修正ＳＤＦ１８と、タイミング制約１９と、解析結果レポート２０と、ＲＣ抽出ライブラリ２１、セル遅延ライブラリ２２を含んでいる。
【００１８】
タイミング解析支援プログラム８は、設計対象の半導体集積回路のタイミング解析を行う手順を示している。本実施形態においては、ＣＰＵ４がタイミング解析支援プログラム８に示される手順で演算やデータ処理を実行する。それによって、情報処理装置１は、タイミング解析装置１０として機能する。具体的には、情報処理装置１は、大容量記憶装置６から読み出されたタイミング解析支援プログラム８に示される手順に従って、後述するＲＣ抽出ツール２３、遅延計算ツール２４、クロック・メッシュ修正ツール２５およびタイミング解析ツール２９として機能する。
【００１９】
レイアウトデータ１１、ネットリスト１３、タイミング制約１９、ＲＣ抽出ライブラリ２１、セル遅延ライブラリ２２は、タイミング解析装置１０への入力データである。
【００２０】
レイアウトデータ１１は、配置・配線後のレイアウト情報を格納している。ネットリスト１３は、レイアウトデータ１１に対応し論理的な接続関係を表す情報を格納している。タイミング制約１９は、検証回路のクロック周期の定義、ジッタを代表とする固定ＳＫＥＷ定義、マルチ・サイクルパス（複数サイクルの遅延が許されるパス）などのタイミング例外指定を格納している。
【００２１】
ＲＣ抽出ライブラリ２１は、リーフ・セルの形状、セル内メタル図形情報、ターゲット半導体プロセスにおける配線層毎の容量・抵抗特性を格納している。セル遅延ライブラリ２２は、入出力端子間遅延情報と、順序素子の場合はセットアップ時間、ホールド時間を格納している。
【００２２】
また、ＳＰＥＦ（Ｓｔａｎｄａｒｄ  Ｐａｒａｓｉｔｉｃ  Ｅｘｃｈａｎｇｅ  Ｆｏｒｍａｔ）１２、ＳＤＦ１４、クロックＬａｔｅｎｃｙ／鈍り情報１５、修正ネットリスト１６、修正ＳＰＥＦ１７、修正ＳＤＦ１８は、タイミング解析装置１０の中間データである。
【００２３】
ＳＰＥＦ（Ｓｔａｎｄａｒｄ  Ｐａｒａｓｉｔｉｃ  Ｅｘｃｈａｎｇｅ  Ｆｏｒｍａｔ）１２は、寄生情報が抽出された配線の抵抗、容量（カップリング容量）を格納している。ＳＤＦ１４は、セル内のトランジスタ動作によるセル遅延と、配線遅延を格納している。クロックＬａｔｅｎｃｙ／鈍り情報１５は、ＰＬＬからメッシュのレシーバであるドライバ（レシーバ回路Ｌ１）入力までの最悪遅延値とレシーバ回路Ｌ１入力の波形鈍りを格納しており、フォーマットは一般的なＳＴＡシステムがデザインに対してアノテートできる内容である。
【００２４】
修正ネットリスト１６は、ネットリスト１３を編集した内容を格納している。修正ＳＰＥＦ１７は、ＳＰＥＦ（Ｓｔａｎｄａｒｄ  Ｐａｒａｓｉｔｉｃ  Ｅｘｃｈａｎｇｅ  Ｆｏｒｍａｔ）１２を編集した内容を格納している。修正ＳＤＦ１８は、ＳＤＦ１４を編集した内容を格納している。解析結果レポート２０は、最終出力結果であり、タイミング解析によりセットアップ・ホールド遅延違反したパス情報を格納している。
【００２５】
図４は、タイミング解析装置１０を構成する機能ブロックとデータとの関連を例示するブロック図である。タイミング解析装置１０は、ＲＣ抽出ツール２３と、遅延計算ツール２４、クロック・メッシュ修正ツール２５と、タイミング解析ツール２９とを含んでいる。また、クロック・メッシュ修正ツール２５は、ＳＤＦ編集ツール２６と、ＳＰＥＦ編集ツール２７と、ネットリスト編集ツール２８とを含んでいる。
【００２６】
ＲＣ抽出ツール２３は、ＲＣ抽出ライブラリ２１とレイアウトデータ１１を入力し、寄生情報を抽出してＳＰＥＦ（Ｓｔａｎｄａｒｄ  Ｐａｒａｓｉｔｉｃ  Ｅｘｃｈａｎｇｅ  Ｆｏｒｍａｔ）１２に配線のＲＣ情報を出力する。遅延計算ツール２４は、セル遅延ライブラリ２２とネットリスト１３とＳＰＥＦ（Ｓｔａｎｄａｒｄ  Ｐａｒａｓｉｔｉｃ  Ｅｘｃｈａｎｇｅ  Ｆｏｒｍａｔ）１２を入力し、配線メディアによる遅延時間、セル内遅延時間、同セットアップ・ホールド時間を計算して、ＳＤＦ１４に出力する。遅延計算ツール２４は、このとき、後段に設けられたクロック・メッシュ修正ツール２５で用いられる形式で、ＰＬＬからＬ１入力までの最悪遅延値とＬ１入力ピンの波形鈍りを、クロックＬａｔｅｎｃｙ／鈍り情報１５として出力する。
【００２７】
クロック・メッシュ修正ツール２５は、ネットリスト１３などのデータを読み込み、接続をトレースし、ＥＣＯ（接続論理変更）を実行して、修正ネットリスト１６、修正ＳＰＥＦ１７、および修正ＳＤＦ１８を出力する機能を有するＳＴＡツールで構成されている。なお、クロック・メッシュ修正ツール２５は、ＳＤＦ編集ツール２６と、ＳＰＥＦ編集ツール２７と、ネットリスト編集ツール２８とを含んでいる。これらの機能ブロックの詳細な動作に関しては、後述する。
【００２８】
タイミング解析ツール２９は、製造バラツキによる遅延変動を考慮したタイミング解析を実行して、その実行結果を、セットアップ・ホールド遅延違反やＳＫＥＷなどを示す解析結果レポート２０として出力する。
【００２９】
以下に、図面を参照して、本実施形態の動作について説明を行う。以下では、本実施形態のタイミング解析装置１０におけるクロック・メッシュ修正ツール２５に関して、その動作を詳細に説明していく。図５は、ネットリスト編集ツール２８の動作を例示するフローチャートである。ステップＳ１０１において、ネットリスト編集ツール２８は、ＰＬＬインスタンスをサーチし、クロック出力ピンとそれに繋がるネットを記憶する。
【００３０】
ステップＳ１０２において、そのＰＬＬ出力ピンからクロック・ツリーを、幅優先で探索しながら、クロック・メッシュを構成しているネット（クロック・メッシュネット）をサーチする。クロック・メッシュネットは、マルチ・ドライバとなっている。そのため、ある探索ネットのドライバ数が、２以上となっているかで判定できる。また、ステップＳ１０２において、クロック・メッシュネットに辿り着くまでの途中経路中のネットや、ドライバ・インスタンスを、後の動作に備えて全て記憶しておく。
【００３１】
ステップＳ１０３において、ステップＳ１０２の動作によって得られたクロック・メッシュネットに、レシーバとして繋がるドライバ（以下、レシーバ回路Ｌ１と記載する）の一覧を取得して記憶する。
【００３２】
ステップＳ１０４において、擬似外部端子とネットを構成し、ステップＳ１０３の動作で得られたレシーバ回路Ｌ１の一覧の入力ピンを、順次接続していく。ステップＳ１０５において、ステップＳ１０２の動作で記憶済みのネット、インスタンスを削除する。その後、ステップＳ１０６において、編集されたネットリストを修正ネットリスト１６として出力する。
【００３３】
図６は、ＳＤＦ編集ツール２６の動作を例示するフローチャートである。ステップＳ２０１において、ＳＤＦ編集ツール２６は、修正ネットリスト１６に対して、読み出したクロックＬａｔｅｎｃｙ／鈍り情報１５を参照して、そのクロックＬａｔｅｎｃｙ／鈍り情報１５に含まれる情報を修正ネットリスト１６付与する。この時、クロックＬａｔｅｎｃｙ／鈍り情報１５は、ＰＬＬから、複数のレシーバ回路Ｌ１を端点とした記述となっている。そのため、ＰＬＬを修正ネットリスト１６の内の複数のレシーバ回路Ｌ１に繋がる擬似外部端子に読み替えながら入力する。そして、ステップＳ２０２において、ＳＤＦ編集ツール２６は、修正ＳＤＦ１８を出力する。
【００３４】
図７は、ＳＰＥＦ編集ツール２７の動作を例示するフローチャートである。ステップＳ３０１において、ＳＰＥＦ編集ツール２７は、修正ネットリスト１６に基づいて、擬似外部端子から複数のレシーバ回路Ｌ１へのネットのそれぞれに対して、ダミーの小さい容量・抵抗値を付与する。ここにおいて、後段のタイミング解析ツール２９へは、遅延計算済みの修正ＳＤＦ１８が入力され、その値が使われる。そのため、ＳＰＥＦ（Ｓｔａｎｄａｒｄ  Ｐａｒａｓｉｔｉｃ  Ｅｘｃｈａｎｇｅ  Ｆｏｒｍａｔ）１２の内部の抵抗、容量の値が、遅延計算に使われることはない。
【００３５】
ステップＳ３０２において、ここで一旦、ＳＰＥＦ（Ｓｔａｎｄａｒｄ  Ｐａｒａｓｉｔｉｃ  Ｅｘｃｈａｎｇｅ  Ｆｏｒｍａｔ）１２を仮ＳＰＥＦ３０として出力する。ステップＳ３０３において、タイミング解析ツール２９によって、製造バラツキに起因するＳＫＥＷの計算をする時に、レシーバ回路Ｌ１の後段の配置広がりのみを考慮させる目的で、仮ＳＰＥＦ３０の擬似外部端子と複数のレシーバ回路Ｌ１のピンのペア記述の擬似端子座標を、レシーバ回路Ｌ１の入力端子座標と同じにする。
【００３６】
ステップＳ３０４において、編集内容を修正ＳＰＥＦ１７として出力する。尚、ステップＳ３０３の処理やステップＳ３０４の処理を、ＳＴＡツールなどで行うことなく、例えば、ストリームエディタなどで実行しても良い。その後、タイミング解析ツール２９は、セル遅延ライブラリ２２、修正ネットリスト１６、修正ＳＰＥＦ１７、修正ＳＤＦ１８、タイミング制約１９を読み込み、製造バラツキによる遅延変動を考慮したタイミング解析を実行してセットアップ・ホールド遅延違反やＳＫＥＷなどを解析結果レポート２０として出力する。
【００３７】
ここで、上述してきた本実施形態のタイミング解析装置１０の動作について、具体的に説明を行う。図８は、以下の説明において、タイミング解析の対象となる解析対象回路３１の構成を例示する回路図である。解析対象回路３１は、ＰＬＬ（Ｐｈａｓｅ  Ｌｏｃｋ  Ｌｏｏｐ）３２と、クロック・ツリー領域３３と、クロック・メッシュ領域３４と、複数のフリップフロップ（第１フリップフロップＦＦ１〜第３フリップフロップＦＦ３）を含んでいる。
【００３８】
クロック・ツリー領域３３は、第１インスタンスＧ１１、第２インスタンスＧ１２、第３インスタンスＧ２１、第４インスタンスＧ２２、第５インスタンスＧ２３、第６インスタンスＧ２４を含んでいる。クロック・メッシュ領域３４は、クロック・メッシュネット３５と、複数のレシーバ回路Ｌ１（第１レシーバ回路Ｌ１＿１、第２レシーバ回路Ｌ１＿２、第３レシーバ回路Ｌ１＿３）を含んでいる。
【００３９】
上述の解析対象回路３１のような接続イメージのネットリスト、レイアウトデータがタイミング解析装置１０に与えられ、ＲＣ抽出ツール２３、遅延計算ツール２４により順次処理されたとする。図９は、遅延計算ツール２４により出力されたクロックＬａｔｅｎｃｙ／鈍り情報１５のフォーマットを例示するリストである。図９を参照すると、クロックＬａｔｅｎｃｙ／鈍り情報１５のＤｅｌａｙ行は、−ｆｒｏｍのピンから−ｔｏのピンまでのＬａｔｅｎｃｙ遅延値を示す。Ｔｒａｎ行は、−ｐｉｎのピンでの波形鈍りを示す。なお、この記述は、本実施形態のおけるクロックＬａｔｅｎｃｙ／鈍り情報１５の構成を制限するものでは無い。
【００４０】
上述の図５のフローチャートで例示したように、ネットリスト編集ツール２８は、セル遅延ライブラリ２２、ネットリスト１３、ＳＤＦ１４、ＳＰＥＦ（Ｓｔａｎｄａｒｄ  Ｐａｒａｓｉｔｉｃ  Ｅｘｃｈａｎｇｅ  Ｆｏｒｍａｔ）１２を読み込み、ステップＳ１０１での処理を実行する。ＰＬＬをサーチすると、解析対象回路３１に示される接続イメージより、ＰＬＬ（Ｐｈａｓｅ  Ｌｏｃｋ  Ｌｏｏｐ）３２がサーチ結果として出力される。
【００４１】
ステップＳ１０２の処理では、クロック・ツリー領域３３を、幅優先で探索しながら、クロック・メッシュ領域３４をサーチするとクロック・メッシュネット３５がサーチ結果として得られる。また、記憶された途中経路の情報は、ネットが第１ネットＮＧ１、第２ネットＮＧ２１、第３ネットＮＧ２２、クロック・メッシュネット３５であり、インスタンスが、第１インスタンスＧ１１、第２インスタンスＧ１２、第３インスタンスＧ２１、第４インスタンスＧ２２、第５インスタンスＧ２３、第６インスタンスＧ２４となる。
【００４２】
次に、ネットリスト編集ツール２８は、上述のステップＳ１０４の処理を実行する。ネットリスト編集ツール２８は、クロック・メッシュネット３５の後段に配置されたレシーバであるドライバ・リストとして、第１レシーバ回路Ｌ１＿１、第２レシーバ回路Ｌ１＿２、第３レシーバ回路Ｌ１＿３を得る。その第１レシーバ回路Ｌ１＿１、第２レシーバ回路Ｌ１＿２および第３レシーバ回路Ｌ１＿３に対して、それぞれ擬似外部端子第１擬似端子Ｅ１、第２擬似端子Ｅ２、第３擬似端子Ｅ３とネット（第１擬似ネットＮＥ１、第２擬似ネットＮＥ２、第３擬似ネットＮＥ３）を新規に発生させてドライバ入力端子に順次接続する。
【００４３】
次にネットリスト編集ツール２８は、ＰＬＬ（Ｐｈａｓｅ  Ｌｏｃｋ  Ｌｏｏｐ）３２と、記憶済みのネット（第１ネットＮＧ１、第２ネットＮＧ２１、第３ネットＮＧ２２およびクロック・メッシュネット３５と、インスタンス（第１インスタンスＧ１１、第２インスタンスＧ１２、第３インスタンスＧ２１、第４インスタンスＧ２２、第５インスタンスＧ２３、第６インスタンスＧ２４）を削除する。そして、編集されたネットリスト１３を修正ネットリスト１６として出力する。図１０は、その修正ネットリスト１６の接続イメージを例示する回路図である。
【００４４】
その後、処理はＳＤＦ編集ツール２６に移る。ＳＤＦ編集ツール２６は、上述のステップＳ２０１の処理を実行するためにクロックＬａｔｅｎｃｙ／鈍り情報１５を読み込む。このとき、ＳＤＦ編集ツール２６は、クロックＬａｔｅｎｃｙ／鈍り情報１５のＴｒａｎ行をそのまま読み込む。Ｄｅｌａｙ行は、ツール内で−ｔｏのピンからファンイン側にトレースすると、一意に擬似外部端子が得られる。従って、ＳＤＦ編集ツール２６は、−ｆｒｏｍ指定を、当該擬似外部端子に読み替えながら入力する。図１１は、読み替えたファイル（クロックＬａｔｅｎｃｙ／鈍り情報１５ａ）を例示するリストである。その後、ＳＤＦ編集ツール２６は、修正ＳＤＦ１８を出力する。上述の図１０には、修正ＳＤＦ１８のタイミング・アークイメージが例示されている。
【００４５】
その後、処理はＳＰＥＦ編集ツール２７に移る。ＳＰＥＦ編集ツール２７は、修正ネットリスト１６に対して、擬似外部端子から複数のレシーバ回路Ｌ１（第１レシーバ回路Ｌ１＿１、第２レシーバ回路Ｌ１＿２、第３レシーバ回路Ｌ１＿３）のネットのそれぞれに対して、ダミーの小さい容量・抵抗値を付与する。ここで、ＳＰＥＦ編集ツール２７は、一旦、ＳＰＥＦ（Ｓｔａｎｄａｒｄ  Ｐａｒａｓｉｔｉｃ  Ｅｘｃｈａｎｇｅ  Ｆｏｒｍａｔ）１２を、仮ＳＰＥＦ３０として出力する。図１２は、仮ＳＰＥＦ３０のイメージを例示する回路図である。
【００４６】
ＳＰＥＦ編集ツール２７は、仮ＳＰＥＦ３０の擬似外部端子と、複数のレシーバ回路Ｌ１のピンペア記述の擬似端子座標を、レシーバ回路Ｌ１入力端子座標と同じにする。そして、その編集内容を、修正ＳＰＥＦ１７として出力する。図１３は、修正ＳＰＥＦ１７のイメージを例示する回路図である。
【００４７】
タイミング解析ツール２９は、セル遅延ライブラリ２２、修正ネットリスト１６、修正ＳＰＥＦ１７、修正ＳＤＦ１８、タイミング制約１９を読み込み、製造バラツキによる遅延変動を考慮したタイミング解析を実行してセットアップ・ホールド遅延違反やＳＫＥＷなどを解析結果レポート２０として出力する。
【００４８】
上述のように、本実施形態のタイミング解析装置１０は、クロック・メッシュ構造のあるクロックパスについて、ＰＬＬからメッシュまでのネットリストを簡略化し、ＰＬＬからメッシュのレシーバとなるドライバ（Ｌ１）までの製造バラツキによる遅延変動を、各Ｌ１の位置に依存する計算モデルとすることにより、既存のＳＴＡシステムにより高精度なタイミング解析を実行することができる。
【００４９】
本実施形態のタイミング解析装置１０は、修正ネットリスト１６によりＣＲＰＲ分岐点は、レシーバ回路Ｌ１、或いは、擬似外部端子となり、配置広がりは修正ＳＰＥＦ１７により、レシーバ回路Ｌ１とフリップフロップの距離に応じた配置広がりとなり、それらを考慮してバラツキ遅延を計算できる。そのため、メッシュがチップ全面に配置されていても、その大きな広がりに依存することなくタイミング解析を行うことが可能となる。
【００５０】
以上、本願発明の実施の形態を具体的に説明した。本願発明は上述の実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【図面の簡単な説明】
【００５１】
【図１】図１は、クロック・ツリー方式でクロックを分配するＬＳＩの構成を示す回路図である。
【図２】図２は、クロック・メッシュ方式のＬＳＩの構成を示す回路図である。
【図３】図３は、本実施形態のタイミング解析装置１０の構成を例示するブロックである。
【図４】図４は、タイミング解析装置１０を構成する機能ブロックとデータとの関連を例示するブロック図である。
【図５】図５は、ネットリスト編集ツール２８の動作を例示するフローチャートである。
【図６】図６は、ＳＤＦ編集ツール２６の動作を例示するフローチャートである。
【図７】図７は、ＳＰＥＦ編集ツール２７の動作を例示するフローチャートである。
【図８】図８は、タイミング解析の対象となる解析対象回路３１の構成を例示する回路図である。
【図９】図９は、遅延計算ツール２４により出力されたクロックＬａｔｅｎｃｙ／鈍り情報１５のフォーマットを例示するリストである。
【図１０】図１０は、修正ネットリスト１６の接続イメージを例示する回路図である。
【図１１】図１１は、読み替えたファイル（クロックＬａｔｅｎｃｙ／鈍り情報１５ａ）を例示するリストである。
【図１２】図１２は、仮ＳＰＥＦ３０のイメージを例示する回路図である。
【図１３】図１３は、修正ＳＰＥＦ１７のイメージを例示する回路図である。
【符号の説明】
【００５２】
１…情報処理装置
２…入力装置
３…出力装置
４…ＣＰＵ
５…メモリ
６…大容量記憶装置
７…バス
８…タイミング解析支援プログラム
１０…タイミング解析装置
１１…レイアウトデータ
１２…ＳＰＥＦ（Ｓｔａｎｄａｒｄ  Ｐａｒａｓｉｔｉｃ  Ｅｘｃｈａｎｇｅ  Ｆｏｒｍａｔ）
１３…ネットリスト
１４…ＳＤＦ
１５…クロックＬａｔｅｎｃｙ／鈍り情報
１５ａ…クロックＬａｔｅｎｃｙ／鈍り情報
１６…修正ネットリスト
１７…修正ＳＰＥＦ
１８…修正ＳＤＦ
１９…タイミング制約
２０…解析結果レポート
２１…ＲＣ抽出ライブラリ
２２…セル遅延ライブラリ
２３…ＲＣ抽出ツール
２４…遅延計算ツール
２５…クロック・メッシュ修正ツール
２６…ＳＤＦ編集ツール
２７…ＳＰＥＦ編集ツール
２８…ネットリスト編集ツール
２９…タイミング解析ツール
３０…仮ＳＰＥＦ
３１…解析対象回路
３２…ＰＬＬ（Ｐｈａｓｅ  Ｌｏｃｋ  Ｌｏｏｐ）
３３…クロック・ツリー領域
３４…クロック・メッシュ領域
３５…クロック・メッシュネット
Ｇ１１…第１インスタンス
Ｇ１２…第２インスタンス
Ｇ２１…第３インスタンス
Ｇ２２…第４インスタンス
Ｇ２３…第５インスタンス
Ｇ２４…第６インスタンス
ＮＧ１…第１ネット
ＮＧ２１…第２ネット
ＮＧ２２…第３ネット
Ｌ１…レシーバ回路
Ｌ１＿１…第１レシーバ回路
Ｌ１＿２…第２レシーバ回路
Ｌ１＿３…第３レシーバ回路
ＦＦ１…第１フリップフロップ
ＦＦ２…第２フリップフロップ
ＦＦ３…第３フリップフロップ
Ｅ１…第１擬似端子
Ｅ２…第２擬似端子
Ｅ３…第３擬似端子
ＮＥ１…第１擬似ネット
ＮＥ２…第２擬似ネット
ＮＥ３…第３擬似ネット
１０１…クロック・ツリーＬＳＩ
１０２…クロック・メッシュＬＳＩ
【図１】
2010079737.tif 000003
【図２】
2010079737.tif 000004
【図３】
2010079737.tif 000005
【図４】
2010079737.tif 000006
【図５】
2010079737.tif 000007
【図６】
2010079737.tif 000008
【図７】
2010079737.tif 000009
【図８】
2010079737.tif 000010
【図９】
2010079737.tif 000011
【図１０】
2010079737.tif 000012
【図１１】
2010079737.tif 000013
【図１２】
2010079737.tif 000014
【図１３】
2010079737.tif 000015