(57)【要約】【課題】半導体集積回路において、配線のばらつき方は配線層ごと異なるため、クロックパスで使用する配線層が異なると、クロックスキューを生じるため、配線層の違いによるばらつきの差を考慮したタイミング検証手法が必要である。【解決手段】工程S11でクロックツリーの配線容量が配線層ごとに独立にばらつくとして、すべてのばらつき方の組み合わせについてクロックパスの配線容量を計算し、工程S12ですべてのばらつき方の組み合わせについてクロックパスの遅延時間を計算し、前段フリップフロップと後段フリップフロップの間のクロックスキューを計算し、工程S13でクロックスキューを比較し、最も大きなクロックスキューをクロックスキューマージンとし、工程S14でデータパスの配線容量を計算し、工程S15でデータパスの遅延時間を計算し、工程S16でクロックスキューマージンを使用しタイミング検証を行う。【選択図】図１
2007286800.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路のフリップフロップ間の静的タイミングを行う際、クロック波形供給源から前記フリップフロップのクロック端子までの経路をクロックパスとして、クロックパス配線容量が仕上がりにより変動した際の変動量を計算して、タイミング解析を行う半導体集積回路のタイミング解析方法であって、
各配線層の配線ばらつき値を用いて各配線層の容量値が変動した組み合わせを作成し、配線ばらつき値と、全配線の配線層ごとの容量比率が記載された配線層容量比率と、前記クロックパスを構成する配線の配線容量を含む情報が記載された第１のクロックパス配線容量から前記組み合わせごとに、第２のクロックパス配線容量を計算するクロックパス配線容量計算工程と、
前記組み合わせごとに前記第２のクロックパス配線容量を用いてクロックパスの遅延時間を計算し、フリップフロップの組ごとに２つのクロックパスの遅延時間差となるクロックスキューを計算し、前記組み合わせごとのクロックスキューを出力するクロックスキュー計算工程と、
前記組み合わせの前記クロックスキューから、最も大きなクロックスキューをクロックスキューマージンとして出力するクロックスキュー比較工程と、
前記フリップフロップ間の経路をデータパスとして、前記配線ばらつき値と、前記データパスを構成する配線の配線容量を含む情報が記載された第１のデータパス配線容量を用いて、第３のデータパス配線容量を計算するデータパス配線容量計算工程と、
前記第３のデータパス配線容量を用い、データパスの遅延時間を計算し、データパス遅延時間を出力するデータパス遅延計算工程と、
前記データパス遅延時間と、前記クロックスキューマージンを使用し、タイミング検証を行うタイミング検証工程とを含む半導体集積回路のタイミング解析方法。
【請求項２】
前記クロックパス配線容量計算工程において前記組み合わせは、各配線層における配線容量の変動値が最大値もしくは最小値となる全ての組み合わせであることを特徴とする請求項１記載の半導体集積回路のタイミング解析方法。
【請求項３】
前記クロックパス配線容量計算工程は、前記第１のクロックパス配線容量と前記配線層容量比率と前記組み合わせから決まる配線ばらつき値との積を配線層ごとに計算し、前記積の総和より第２のクロックパス配線容量を算出することを特徴とする請求項２記載の半導体集積回路のタイミング解析方法。
【請求項４】
前記データパス配線容量計算工程は、全配線層の前記配線ばらつき値が最大値となる第１の組み合わせと、全配線層の前記配線ばらつき値が最小値となる第２の組み合わせを作成し、前記第１の組み合わせ及び前記第２の組み合わせのそれぞれで、組み合わせで決まる前記配線ばらつき値と前記配線層容量比率と前記第１のデータパス配線容量との積を各配線層で計算し、前記積の総和より第３のデータパス配線容量を計算することを特徴とする請求項１記載の半導体集積回路のタイミング解析方法。
【請求項５】
前記データパス遅延計算工程は、前記第１の組み合わせで前記データパスの最大遅延時間を算出し、前記第２の組み合わせで前記データパスの最小遅延時間を算出することを特徴とする請求項４記載の半導体集積回路のタイミング解析方法。
【請求項６】
前記タイミング検証工程は、前記最大遅延時間と最小遅延時間を用いてタイミング検証を行うことを特徴とする請求項５記載の半導体集積回路のタイミング解析方法。
【請求項７】
半導体集積回路のフリップフロップ間の静的タイミングを行う際、クロック波形供給源から前記フリップフロップのクロック端子までの経路をクロックパスとして、クロックパス配線容量が仕上がりにより変動した際の変動量を計算して、タイミング解析を行う半導体集積回路のタイミング解析方法であって、
各配線層の配線ばらつき値を用いて、前記クロックパスで使用するすべての配線層のうち、２つの配線層の組み合わせすべてについて、配線層ばらつき差を計算する配線層ばらつき差計算工程と、
全配線の配線層ごとの容量比率が記載された配線層容量比率を用いて、前記フリップフロップの組ごとに２つのクロックパスの配線層ごとの容量比率が異なる割合である異配線層容量比率を計算する異配線層容量比率計算工程と、
前記クロックパスを構成する配線の配線容量を含む情報が記載された第１のクロックパス配線容量と、前記配線層ばらつき差と、前記異配線層容量比率を用いて、第２のクロックパス配線容量を計算するクロックパス配線容量計算工程と、
前記第２のクロックパス配線容量を用いて、クロックパスの遅延時間を計算し、フリップフロップの組ごとに２つのクロックパスの遅延時間差となるクロックスキューを計算し、前記クロックスキューをクロックスキューマージンとして出力するクロックスキュー計算工程と、
前記フリップフロップ間の経路をデータパスとして、前記配線ばらつき値と、前記データパスを構成する配線の配線容量を含む情報が記載された第１のデータパス配線容量を用いて、第３のデータパス配線容量を計算するデータパス配線容量計算工程と、
前記第３のデータパス配線容量を用い、データパスの遅延時間を計算し、データパス遅延時間を出力するデータパス遅延計算工程と、
前記データパス遅延時間と、前記クロックスキューマージンを使用し、タイミング検証を行うタイミング検証工程とを含む半導体集積回路のタイミング解析方法。
【請求項８】
前記配線層ばらつき差計算工程は、前記配線ばらつき値を用いて、配線層ごとの配線ばらつき幅を計算し、２つの配線層のすべての組み合わせについて、前記配線ばらつき幅の二乗の和の平方根より、配線層ばらつき差を算出することを特徴とする請求項７記載の半導体集積回路のタイミング解析方法。
【請求項９】
前記異配線層容量比率計算工程は、２つのクロックパスの配線層容量比率を層ごとに比較し、すべての配線層の小さい方の容量比率の和を計算し、前記容量比率の和を１から引いたものを異配線層容量比率として出力することを特徴とする請求項７記載の半導体集積回路のタイミング解析方法。
【請求項１０】
前記クロックパス配線容量計算工程は、前段または後段のクロックパスの第１のクロックパス配線容量と、前記配線層ばらつき差と、前記異配線層容量比率の積を計算し、第２のクロックパス配線容量として出力することを特徴とする請求項７記載の半導体集積回路のタイミング解析方法。
【請求項１１】
請求項７記載の半導体集積回路のタイミング解析方法を用いて、クロックパスで使用する配線層がすべて異なると仮定してタイミング検証を行うタイミング検証試行工程と、
前記タイミング検証試行工程におけるタイミングエラーの有無を判断し、タイミングエラーがなければタイミング解析を終了するタイミングエラー判定工程と、
前記タイミングエラー判定工程において、タイミングエラーが確認されたとき、前記請求項７記載の半導体集積回路のタイミング解析方法を用いてタイミング検証を行う異配線層容量比率考慮タイミング検証工程とを含む半導体集積回路のタイミング解析方法。
【請求項１２】
半導体集積回路のフリップフロップ間の静的タイミングを行う際、クロック波形供給源から前記フリップフロップのクロック端子までの経路をクロックパスとして、クロックパス配線容量が仕上がりにより変動した際の変動量を計算して、タイミング解析を行う半導体集積回路のタイミング解析方法であって、
各配線層の配線ばらつき値を用いて、前記クロックパスで使用するすべての配線層のうち、２つの配線層の組み合わせすべてについて、配線層ばらつき差を計算する配線層ばらつき差計算工程と、
前記配線ばらつき値と、前記クロックパスを構成する配線の配線容量を含む情報が記載された第１のクロックパス配線容量を用いて、第３のクロックパス配線容量を計算するクロックパス配線容量計算工程と、
前記第３のクロックパス配線容量を用い、クロックパスの遅延時間を計算し、クロックパス遅延時間を出力するクロックパス遅延計算工程と、
全配線の配線層ごとの容量比率が記載された配線層容量比率と、遅延時間のうち配線に依存した遅延時間の割合が記載された配線依存遅延比率と、前記クロックパス遅延時間を用いて、フリップフロップの組ごとに２つのクロックパスの各配線層に依存した遅延比率が異なる割合である異配線層遅延比率を計算する異配線層遅延比率計算工程と、
前記配線層ばらつき差と、前記異配線層遅延比率と、前記配線依存遅延比率を用いて、クロックスキューマージンを計算するクロックスキューマージン計算工程と、
前記フリップフロップ間の経路をデータパスとして、前記配線ばらつき値と、前記データパスを構成する配線の配線容量を含む情報が記載された第１のデータパス配線容量を用いて、第３のデータパス配線容量を計算するデータパス配線容量計算工程と、
前記第３のデータパス配線容量を用い、データパスの遅延時間を計算し、データパス遅延時間を出力するデータパス遅延計算工程と、
前記データパス遅延時間と、前記クロックスキューマージンを使用し、タイミング検証を行うタイミング検証工程とを含む半導体集積回路のタイミング解析方法。
【請求項１３】
前記配線層ばらつき差計算工程は、前記配線ばらつき値を用いて、配線層ごとの配線ばらつき幅を計算し、２つの配線層のすべての組み合わせについて、前記配線ばらつき幅の二乗の和の平方根より、配線層ばらつき差を算出することを特徴とする請求項１２記載の半導体集積回路のタイミング解析方法。
【請求項１４】
前記クロックパス配線容量計算工程は、全配線層の前記配線ばらつき値が最大値となる第１の組み合わせと、全配線層の前記配線ばらつき値が最小値となる第２の組み合わせを作成し、前記第１の組み合わせ及び前記第２の組み合わせのそれぞれで、組み合わせで決まる前記配線ばらつき値と前記配線層容量比率と前記第１のクロックパス配線容量との積を各配線層で計算し、前記積の総和より第３のクロックパス配線容量を計算することを特徴とする請求項１２記載の半導体集積回路のタイミング解析方法。
【請求項１５】
前記異配線層遅延比率計算工程は、前記配線層容量比率と前記配線依存遅延比率と前記クロックパス遅延時間の積より配線層遅延比率を計算し、２つのクロックパスの配線層遅延比率を層ごとに比較し、すべての配線層の小さい方の遅延比率の和を計算し、前記遅延比率の和を１から引いたものを異配線層遅延比率として出力することを特徴とする請求項１２記載の半導体集積回路のタイミング解析方法。
【請求項１６】
前記クロックスキューマージン計算工程は、前記クロックパスの各段で、前記配線層ばらつき差と、前記異配線層遅延比率と、前記配線依存遅延比率の積を計算し、前記積の総和をクロックスキューマージンとして出力することを特徴とする請求項１２記載の半導体集積回路のタイミング解析方法。
【請求項１７】
半導体集積回路のフリップフロップ間の静的タイミングを行う際、クロック波形供給源から前記フリップフロップのクロック端子までの経路をクロックパスとして、クロックパス配線容量が仕上がりにより変動した際の変動量を計算して、タイミング解析を行う半導体集積回路のタイミング解析方法であって、
各配線層の配線ばらつき値を用いて、前記クロックパスで使用するすべての配線層のうち、２つの配線層の組み合わせのすべてについて、配線層ばらつき差を計算する配線層ばらつき差計算工程と、
前記配線ばらつき値と、前記クロックパスを構成する配線の配線容量を含む情報が記載された第１のクロックパス配線容量を用いて、第３のクロックパス配線容量を計算するクロックパス配線容量計算工程と、
前記第３のクロックパス配線容量を用い、クロックパスの遅延時間を計算し、クロックパス遅延時間を出力するクロックパス遅延計算工程と、
前記クロックパスを、配線層数に基づいて階層に分割し、全配線の配線層ごとの容量比率が記載された配線層容量比率と、遅延時間のうち配線に依存した遅延時間の割合が記載された配線依存遅延比率と、前記クロックパス遅延時間を用いて、階層ごとに、フリップフロップの組ごとに２つのクロックパスの各配線層に依存した遅延比率が異なる割合である異配線層遅延比率を計算する階層別異配線層遅延比率計算工程と、
前記配線層ばらつき差と、前記異配線層遅延比率と、前記配線依存遅延比率を用いて、クロックスキューマージンを計算する階層別クロックスキューマージン計算工程と、
前記フリップフロップ間の経路をデータパスとして、前記配線ばらつき値と、前記データパスを構成する配線の配線容量を含む情報が記載された第１のデータパス配線容量を用いて、第３のデータパス配線容量を計算するデータパス配線容量計算工程と、
前記第３のデータパス配線容量を用い、データパスの遅延時間を計算し、データパス遅延時間を出力するデータパス遅延計算工程と、
前記データパス遅延時間と、前記クロックスキューマージンを使用し、タイミング検証を行うタイミング検証工程とを含む半導体集積回路のタイミング解析方法。
【請求項１８】
前記配線層ばらつき差計算工程は、前記配線ばらつき値を用いて、配線層ごとの配線ばらつき幅を計算し、２つの配線層のすべての組み合わせについて、前記配線ばらつき幅の二乗の和の平方根より、配線層ばらつき差を算出することを特徴とする請求項１７記載の半導体集積回路のタイミング解析方法。
【請求項１９】
前記クロックパス配線容量計算工程は、全配線層の前記配線ばらつき値が最大値となる第１の組み合わせと、全配線層の前記配線ばらつき値が最小値となる第２の組み合わせを作成し、前記第１の組み合わせ及び前記第２の組み合わせのそれぞれで、組み合わせで決まる前記配線ばらつき値と前記配線層容量比率と前記第１のクロックパス配線容量との積を各配線層で計算し、前記積の総和より第３のクロックパス配線容量を計算することを特徴とする請求項１７記載の半導体集積回路のタイミング解析方法。
【請求項２０】
前記階層別異配線層遅延比率計算工程は、前記クロックパスで使用する配線層数が、各階層で少なくなるようにクロックパスを階層に分割し、階層ごとに、前記配線層容量比率と前記クロックパス遅延時間の積より配線層遅延比率を計算し、２つのクロックパスの配線層遅延比率を層ごとに比較し、すべての配線層の小さい方の遅延比率の和を計算し、前記遅延比率の和を１から引いたものを階層別異配線層遅延比率として出力することを特徴とする請求項１７記載の半導体集積回路のタイミング解析方法。
【請求項２１】
前記クロックスキューマージン計算工程は、前記クロックパスの各段で、前記配線層ばらつき差と、前記階層別異配線層遅延比率と、前記配線依存遅延比率の積を計算し、前記積の総和をクロックスキューマージンとして出力することを特徴とする請求項１７記載の半導体集積回路のタイミング解析方法。
【請求項２２】
半導体集積回路のフリップフロップ間の静的タイミングを行う際、クロック波形供給源から前記フリップフロップのクロック端子までの経路をクロックパスとして、クロックパス配線容量が仕上がりにより変動した際の変動量を計算して、タイミング解析を行う半導体集積回路のタイミング解析方法であって、
各配線層の配線ばらつき値から、配線層依存配線ばらつき成分を抽出する配線ばらつき要素分離工程と、前記配線層依存配線ばらつき成分を用いて、配線層ばらつき差を計算して配線層ばらつき差考慮タイミング検証を行うタイミング検証工程とを含む半導体集積回路のタイミング解析方法。
【請求項２３】
前記配線ばらつき要素分離工程は、前記配線ばらつき値のばらつき要素をランダム成分とシステマチック成分に分離し、前記ランダム成分を配線層依存配線ばらつき成分とすることを特徴とする請求項２２記載の半導体集積回路のタイミング解析方法。
【請求項２４】
前記配線層ばらつき差考慮タイミング検証工程は、請求項１記載のタイミング解析方法を用いたタイミング検証を行うことを特徴とする請求項２２記載の半導体集積回路のタイミング解析方法。
【請求項２５】
前記配線層ばらつき差考慮タイミング検証工程は、請求項７記載のタイミング解析方法を用いたタイミング検証を行うことを特徴とする請求項２２記載の半導体集積回路のタイミング解析方法。
【請求項２６】
前記配線層ばらつき差考慮タイミング検証工程は、請求項１１記載のタイミング解析方法を用いたタイミング検証を行うことを特徴とする請求項２２記載の半導体集積回路のタイミング解析方法。
【請求項２７】
前記配線層ばらつき差考慮タイミング検証工程は、請求項１２記載のタイミング解析方法を用いたタイミング検証を行うことを特徴とする請求項２２記載の半導体集積回路のタイミング解析方法。
【請求項２８】
前記配線層ばらつき差考慮タイミング検証工程は、請求項１７記載のタイミング解析方法を用いたタイミング検証を行うことを特徴とする請求項２２記載の半導体集積回路のタイミング解析方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路のタイミング検証方法に関し、より特定的には、クロック配線で使用する配線層の違いによるクロック信号のばらつきを考慮したタイミング検証方法に関する。
【背景技術】
【０００２】
近年、製造プロセスの微細化に伴い、配線やトランジスタの製造ばらつきが、半導体集積回路の性能に大きな影響を及ぼすようになっている。一例を挙げると、配線やトランジスタの製造ばらつきに伴い、クロック信号の遅延時間にばらつきが生じることが問題となっている。一般に、セル１段あたりの遅延時間ｔｄは、負荷に依存しない遅延時間ｔ０、単位負荷容量あたりの遅延時間を定める係数Δt、負荷となる次段セルのゲート容量Ｃｇ、および、負荷となる配線の容量（以下、配線容量という）Ｃｗを用いて、以下の式１で表される。
【０００３】
ｔｄ＝ｔ０＋Δt(Ｃｗ＋Ｃｇ)  …（式１）
式１において、遅延時間ｔ０、係数Δtおよびゲート容量Ｃｇはトランジスタの製造ばらつきによって変動し、配線容量Ｃｗは配線の製造ばらつきによって変動する。このため、配線やトランジスタに製造ばらつきが生じると、シミュレーションの上で同一の遅延値であっても、実際の半導体回路では遅延値にばらつきが生じる。
【０００４】
同期回路は、フリップフロップなどがクロック信号に同期して動作する回路であり、クロック信号がフリップフロップに同時に到達するように回路を設計する。しかし、シミュレーションではフリップフロップにクロック信号が同時に到達する回路であっても、配線やトランジスタに製造ばらつきによって、クロック信号の到達時刻に差が生じる。クロック信号の到達時刻の差をクロックスキューと呼び、同期回路では、クロックスキューの小さな回路を作ることが重要である。
【０００５】
クロックスキューを抑制する方法として、従来から種々の方法が知られている。例えば、すべてのクロック経路を等段にし、各段の配線を等長にする方法（以下、等長等段法という）が、広く知られており、実用化されている（例えば、特許文献１）。等長等段法では、クロック分配回路に含まれる同一段のセルには同種のセルが使用され、同一段のセルには同じ長さの配線を介して同じ個数のセルが接続される。このように同一段のセルに同種のセルを使用することにより、同一段のセル間で遅延時間ｔ０および係数Δtが一定になる。また、同一段のセルは同じ長さの配線を駆動するので、同一段のセル間で配線容量Ｃｗが一定になる。さらに、次段セルにも同種のセルを使用することにより、同一段のセル間でゲート容量Ｃｇが一定になる。これにより、すべてのクロック経路についてクロック信号の遅延時間が同じになるので、クロックスキューを抑制することができる。等長等段法を初め、クロックスキューを抑制するさまざまなクロック回路構成手法が提案されているが、チップ内のばらつき要因をすべて抑制することは困難である。
【０００６】
シミュレーションによってフリップフロップ間でクロックに同期してデータを正常に受け渡しが可能であるかを確認する検証をタイミング検証という。従来の論理シミュレーションが担っていた機能検証とタイミング検証の中で、タイミング検証のみをテストベクタ無しに行う検証を静的タイミング検証という。静的タイミング検証は、高速にかつ網羅的に行うことが可能である。
【０００７】
フリップフロップに到達したデータがクロック信号入力以後も保持されるべき時間はホールドタイム、データがクロック信号入力以前に到達されるべき時間はセットアップタイムと呼ばれる。ホールドタイムを検証することをホールドタイム検証とよび、データの突き抜けが起こっていないかに関するチェックを行っている。このデータの突き抜けとは、前段のフリップフロップから出力されたデータが、同じサイクルのクロックが後段のフリップフロップのクロック入力端子に到達する前に、後段のフリップフロップに到達する不具合である。セットアップタイムを検証することをセットアップタイム検証と呼び、前段のフリップフロップから出力されたデータが、次のサイクルのクロックが後段のフリップフロップのクロック入力端子に到達する前に、後段のフリップフロップに到達可能であるかを検証する。クロックスキューがある場合は、よりタイミングの制約が厳しくなる。すなわち、後段のフリップフロップへのクロックの到達時刻が、前段のフリップフロップへのクロックの到達時刻より遅くなる場合、ホールドタイムが厳しくなり、前段のフリップフロップへのクロックの到達時刻が、後段のフリップフロップへのクロックの到達時刻より遅くなる場合、セットアップタイムが厳しくなる。以下、クロック信号の供給源からフリップフロップまでの経路をクロックパスと呼び、前段フリップフロップと後段フリップフロップを繋ぐ経路をデータパスと呼ぶ。
【０００８】
半導体集積回路の製造ばらつきによってクロックスキューが生じると、タイミング検証では問題とならない回路が、実際の集積回路では正常に動作しないということがある。したがって、タイミング検証時に製造ばらつきを考慮して検証を行うことが必要である。このような静的タイミング解析を行う際に、チップ内での遅延ばらつきを考慮した検証手法も提案されている（特許文献２を参照）。特許文献２のばらつき検証手法は、クロック回路でのセル種の違いや、配線密度の違い、チップ内の電圧降下分布に従って、タイミング解析時にスキューマージンを設定することにより、ばらつきの影響を考慮するタイミング解析手法である。これにより、実回路でのばらつきの影響によるタイミングエラーを抑制することができる。
【特許文献１】特開２００２−７５００号公報
【特許文献２】特願２００４−８７８０８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
特許文献２のばらつき検証手法は、配線密度の違いによる配線容量ばらつきを考慮した検証手法を実現しているが、配線層の違いによるばらつき差の影響を考慮していない。配線のばらつき方は配線層ごとに独立であるため、クロックパスで使用する配線層の違いを考慮した検証方法が必要である。例えば、クロック回路を２つの配線層で実現しており、２つのクロックパスで使用する配線層が異なっているとする。図２は、半導体集積回路の配線層の構造を表した図である。配線層Ｍ１と配線層Ｍ２は異なる配線層であり、それぞれ独立にばらつく。例えば、配線層Ｍ１の配線容量が小さく、配線層Ｍ２の配線層の配線容量が大きくなるようばらつく場合、この２つの配線層で構成されるクロックパスは使用配線層の違いによりクロックスキューを生じることとなる。
【００１０】
したがって、本発明の目的は、配線層ごとに配線の出来栄えが異なることに起因するクロックスキューを考慮した半導体集積回路のタイミング解析方法を提供することである。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明の請求項１記載の半導体集積回路のタイミング解析方法は、半導体集積回路のフリップフロップ間の静的タイミングを行う際、クロック波形供給源からフリップフロップのクロック端子までの経路をクロックパスとして、クロックパス配線容量が仕上がりにより変動した際の変動量を計算して、タイミング解析を行う半導体集積回路のタイミング解析方法であって、各配線層の配線ばらつき値を用いて各配線層の容量値が変動した組み合わせを作成し、配線ばらつき値と、全配線の配線層ごとの容量比率が記載された配線層容量比率と、クロックパスを構成する配線の配線容量を含む情報が記載された第１のクロックパス配線容量から組み合わせごとに、第２のクロックパス配線容量を計算するクロックパス配線容量計算工程と、組み合わせごとに第２のクロックパス配線容量を用いてクロックパスの遅延時間を計算し、フリップフロップの組ごとに２つのクロックパスの遅延時間差となるクロックスキューを計算し、組み合わせごとのクロックスキューを出力するクロックスキュー計算工程と、組み合わせのクロックスキューから、最も大きなクロックスキューをクロックスキューマージンとして出力するクロックスキュー比較工程と、フリップフロップ間の経路をデータパスとして、配線ばらつき値と、データパスを構成する配線の配線容量を含む情報が記載された第１のデータパス配線容量を用いて、第３のデータパス配線容量を計算するデータパス配線容量計算工程と、第３のデータパス配線容量を用い、データパスの遅延時間を計算し、データパス遅延時間を出力するデータパス遅延計算工程と、データパス遅延時間と、クロックスキューマージンを使用し、タイミング検証を行うタイミング検証工程とを含む。
【００１２】
請求項２記載の半導体集積回路のタイミング解析方法は、請求項１記載のタイミング解析方法において、クロックパス配線容量計算工程において組み合わせは、各配線層における配線容量の変動値が最大値もしくは最小値となる全ての組み合わせである。
【００１３】
請求項３記載の半導体集積回路のタイミング解析方法は、請求項２記載の半導体集積回路のタイミング解析方法において、クロックパス配線容量計算工程は、第１のクロックパス配線容量と配線層容量比率と組み合わせから決まる配線ばらつき値との積を配線層ごとに計算し、積の総和より第２のクロックパス配線容量を算出する。
【００１４】
請求項４記載の半導体集積回路のタイミング解析方法は、請求項１記載の半導体集積回路のタイミング解析方法において、データパス配線容量計算工程は、全配線層の配線ばらつき値が最大値となる第１の組み合わせと、全配線層の配線ばらつき値が最小値となる第２の組み合わせを作成し、第１の組み合わせ及び第２の組み合わせのそれぞれで、組み合わせで決まる配線ばらつき値と配線層容量比率と第１のデータパス配線容量との積を各配線層で計算し、積の総和より第３のデータパス配線容量を計算する。
【００１５】
請求項５記載の半導体集積回路のタイミング解析方法は、請求項４記載の半導体集積回路のタイミング解析方法において、データパス遅延計算工程は、第１の組み合わせでデータパスの最大遅延時間を算出し、第２の組み合わせでデータパスの最小遅延時間を算出する。
【００１６】
請求項６記載の半導体集積回路のタイミング解析方法は、請求項５記載の半導体集積回路のタイミング解析方法において、タイミング検証工程は、最大遅延時間と最小遅延時間を用いてタイミング検証を行う。
【００１７】
請求項７記載の半導体集積回路のタイミング解析方法は、半導体集積回路のフリップフロップ間の静的タイミングを行う際、クロック波形供給源からフリップフロップのクロック端子までの経路をクロックパスとして、クロックパス配線容量が仕上がりにより変動した際の変動量を計算して、タイミング解析を行う半導体集積回路のタイミング解析方法であって、各配線層の配線ばらつき値を用いて、クロックパスで使用するすべての配線層のうち、２つの配線層の組み合わせすべてについて、配線層ばらつき差を計算する配線層ばらつき差計算工程と、全配線の配線層ごとの容量比率が記載された配線層容量比率を用いて、フリップフロップの組ごとに２つのクロックパスの配線層ごとの容量比率が異なる割合である異配線層容量比率を計算する異配線層容量比率計算工程と、クロックパスを構成する配線の配線容量を含む情報が記載された第１のクロックパス配線容量と、配線層ばらつき差と、異配線層容量比率を用いて、第２のクロックパス配線容量を計算するクロックパス配線容量計算工程と、第２のクロックパス配線容量を用いて、クロックパスの遅延時間を計算し、フリップフロップの組ごとに２つのクロックパスの遅延時間差となるクロックスキューを計算し、クロックスキューをクロックスキューマージンとして出力するクロックスキュー計算工程と、フリップフロップ間の経路をデータパスとして、配線ばらつき値と、データパスを構成する配線の配線容量を含む情報が記載された第１のデータパス配線容量を用いて、第３のデータパス配線容量を計算するデータパス配線容量計算工程と、第３のデータパス配線容量を用い、データパスの遅延時間を計算し、データパス遅延時間を出力するデータパス遅延計算工程と、データパス遅延時間と、クロックスキューマージンを使用し、タイミング検証を行うタイミング検証工程とを含む。
【００１８】
請求項８記載の半導体集積回路のタイミング解析方法は、請求項７記載の半導体集積回路のタイミング解析方法において、配線層ばらつき差計算工程は、配線ばらつき値を用いて、配線層ごとの配線ばらつき幅を計算し、２つの配線層のすべての組み合わせについて、配線ばらつき幅の二乗の和の平方根より、配線層ばらつき差を算出する。
【００１９】
請求項９記載の半導体集積回路のタイミング解析方法は、請求項７記載の半導体集積回路のタイミング解析方法において、異配線層容量比率計算工程は、２つのクロックパスの配線層容量比率を層ごとに比較し、すべての配線層の小さい方の容量比率の和を計算し、容量比率の和を１から引いたものを異配線層容量比率として出力する。
【００２０】
請求項１０記載の半導体集積回路のタイミング解析方法は、請求項７記載の半導体集積回路のタイミング解析方法において、クロックパス配線容量計算工程は、前段または後段のクロックパスの第１のクロックパス配線容量と、配線層ばらつき差と、異配線層容量比率の積を計算し、第２のクロックパス配線容量として出力する。
【００２１】
請求項１１記載の半導体集積回路のタイミング解析方法は、請求項７記載の半導体集積回路のタイミング解析方法を用いて、クロックパスで使用する配線層がすべて異なると仮定してタイミング検証を行うタイミング検証試行工程と、タイミング検証試行工程におけるタイミングエラーの有無を判断し、タイミングエラーがなければタイミング解析を終了するタイミングエラー判定工程と、タイミングエラー判定工程において、タイミングエラーが確認されたとき、請求項７記載の半導体集積回路のタイミング解析方法を用いてタイミング検証を行う異配線層容量比率考慮タイミング検証工程とを含む。
【００２２】
請求項１２記載の半導体集積回路のタイミング解析方法は、半導体集積回路のフリップフロップ間の静的タイミングを行う際、クロック波形供給源からフリップフロップのクロック端子までの経路をクロックパスとして、クロックパス配線容量が仕上がりにより変動した際の変動量を計算して、タイミング解析を行う半導体集積回路のタイミング解析方法であって、各配線層の配線ばらつき値を用いて、クロックパスで使用するすべての配線層のうち、２つの配線層の組み合わせすべてについて、配線層ばらつき差を計算する配線層ばらつき差計算工程と、配線ばらつき値と、クロックパスを構成する配線の配線容量を含む情報が記載された第１のクロックパス配線容量を用いて、第３のクロックパス配線容量を計算するクロックパス配線容量計算工程と、第３のクロックパス配線容量を用い、クロックパスの遅延時間を計算し、クロックパス遅延時間を出力するクロックパス遅延計算工程と、全配線の配線層ごとの容量比率が記載された配線層容量比率と、遅延時間のうち配線に依存した遅延時間の割合が記載された配線依存遅延比率と、クロックパス遅延時間を用いて、フリップフロップの組ごとに２つのクロックパスの各配線層に依存した遅延比率が異なる割合である異配線層遅延比率を計算する異配線層遅延比率計算工程と、配線層ばらつき差と、異配線層遅延比率と、配線依存遅延比率を用いて、クロックスキューマージンを計算するクロックスキューマージン計算工程と、フリップフロップ間の経路をデータパスとして、配線ばらつき値と、データパスを構成する配線の配線容量を含む情報が記載された第１のデータパス配線容量を用いて、第３のデータパス配線容量を計算するデータパス配線容量計算工程と、第３のデータパス配線容量を用い、データパスの遅延時間を計算し、データパス遅延時間を出力するデータパス遅延計算工程と、データパス遅延時間と、クロックスキューマージンを使用し、タイミング検証を行うタイミング検証工程とを含む。
【００２３】
請求項１３記載の半導体集積回路のタイミング解析方法は、請求項１２記載の半導体集積回路のタイミング解析方法において、配線層ばらつき差計算工程は、配線ばらつき値を用いて、配線層ごとの配線ばらつき幅を計算し、２つの配線層のすべての組み合わせについて、配線ばらつき幅の二乗の和の平方根より、配線層ばらつき差を算出する。
【００２４】
請求項１４記載の半導体集積回路のタイミング解析方法は、請求項１２記載の半導体集積回路のタイミング解析方法において、クロックパス配線容量計算工程は、全配線層の配線ばらつき値が最大値となる第１の組み合わせと、全配線層の配線ばらつき値が最小値となる第２の組み合わせを作成し、第１の組み合わせ及び第２の組み合わせのそれぞれで、組み合わせで決まる配線ばらつき値と配線層容量比率と第１のクロックパス配線容量との積を各配線層で計算し、積の総和より第３のクロックパス配線容量を計算する。
【００２５】
請求項１５記載の半導体集積回路のタイミング解析方法は、請求項１２記載の半導体集積回路のタイミング解析方法において、異配線層遅延比率計算工程は、配線層容量比率と配線依存遅延比率とクロックパス遅延時間の積より配線層遅延比率を計算し、２つのクロックパスの配線層遅延比率を層ごとに比較し、すべての配線層の小さい方の遅延比率の和を計算し、遅延比率の和を１から引いたものを異配線層遅延比率として出力する。
【００２６】
請求項１６記載の半導体集積回路のタイミング解析方法は、請求項１２記載の半導体集積回路のタイミング解析方法において、クロックスキューマージン計算工程は、クロックパスの各段で、配線層ばらつき差と、異配線層遅延比率と、配線依存遅延比率の積を計算し、積の総和をクロックスキューマージンとして出力する。
【００２７】
請求項１７記載の半導体集積回路のタイミング解析方法は、半導体集積回路のフリップフロップ間の静的タイミングを行う際、クロック波形供給源からフリップフロップのクロック端子までの経路をクロックパスとして、クロックパス配線容量が仕上がりにより変動した際の変動量を計算して、タイミング解析を行う半導体集積回路のタイミング解析方法であって、各配線層の配線ばらつき値を用いて、クロックパスで使用するすべての配線層のうち、２つの配線層の組み合わせのすべてについて、配線層ばらつき差を計算する配線層ばらつき差計算工程と、配線ばらつき値と、クロックパスを構成する配線の配線容量を含む情報が記載された第１のクロックパス配線容量を用いて、第３のクロックパス配線容量を計算するクロックパス配線容量計算工程と、第３のクロックパス配線容量を用い、クロックパスの遅延時間を計算し、クロックパス遅延時間を出力するクロックパス遅延計算工程と、クロックパスを、配線層数に基づいて階層に分割し、全配線の配線層ごとの容量比率が記載された配線層容量比率と、遅延時間のうち配線に依存した遅延時間の割合が記載された配線依存遅延比率と、クロックパス遅延時間を用いて、階層ごとに、フリップフロップの組ごとに２つのクロックパスの各配線層に依存した遅延比率が異なる割合である異配線層遅延比率を計算する階層別異配線層遅延比率計算工程と、配線層ばらつき差と、異配線層遅延比率と、配線依存遅延比率を用いて、クロックスキューマージンを計算する階層別クロックスキューマージン計算工程と、フリップフロップ間の経路をデータパスとして、配線ばらつき値と、データパスを構成する配線の配線容量を含む情報が記載された第１のデータパス配線容量を用いて、第３のデータパス配線容量を計算するデータパス配線容量計算工程と、第３のデータパス配線容量を用い、データパスの遅延時間を計算し、データパス遅延時間を出力するデータパス遅延計算工程と、データパス遅延時間と、クロックスキューマージンを使用し、タイミング検証を行うタイミング検証工程とを含む。
【００２８】
請求項１８記載の半導体集積回路のタイミング解析方法は、請求項１７記載の半導体集積回路のタイミング解析方法において、配線層ばらつき差計算工程は、配線ばらつき値を用いて、配線層ごとの配線ばらつき幅を計算し、２つの配線層のすべての組み合わせについて、配線ばらつき幅の二乗の和の平方根より、配線層ばらつき差を算出する。
【００２９】
請求項１９記載の半導体集積回路のタイミング解析方法は、請求項１７記載の半導体集積回路のタイミング解析方法において、クロックパス配線容量計算工程は、全配線層の配線ばらつき値が最大値となる第１の組み合わせと、全配線層の配線ばらつき値が最小値となる第２の組み合わせを作成し、第１の組み合わせ及び第２の組み合わせのそれぞれで、組み合わせで決まる配線ばらつき値と配線層容量比率と第１のクロックパス配線容量との積を各配線層で計算し、積の総和より第３のクロックパス配線容量を計算する。
【００３０】
請求項２０記載の半導体集積回路のタイミング解析方法は、請求項１７記載の半導体集積回路のタイミング解析方法において、階層別異配線層遅延比率計算工程は、クロックパスで使用する配線層数が、各階層で少なくなるようにクロックパスを階層に分割し、階層ごとに、配線層容量比率とクロックパス遅延時間の積より配線層遅延比率を計算し、２つのクロックパスの配線層遅延比率を層ごとに比較し、すべての配線層の小さい方の遅延比率の和を計算し、遅延比率の和を１から引いたものを階層別異配線層遅延比率として出力することができる。
【００３１】
請求項２１記載の半導体集積回路のタイミング解析方法は、請求項１７記載の半導体集積回路のタイミング解析方法において、クロックスキューマージン計算工程は、クロックパスの各段で、配線層ばらつき差と、階層別異配線層遅延比率と、配線依存遅延比率の積を計算し、積の総和をクロックスキューマージンとして出力する。
【００３２】
請求項２２記載の半導体集積回路のタイミング解析方法は、半導体集積回路のフリップフロップ間の静的タイミングを行う際、クロック波形供給源からフリップフロップのクロック端子までの経路をクロックパスとして、クロックパス配線容量が仕上がりにより変動した際の変動量を計算して、タイミング解析を行う半導体集積回路のタイミング解析方法であって、各配線層の配線ばらつき値から、配線層依存配線ばらつき成分を抽出する配線ばらつき要素分離工程と、配線層依存配線ばらつき成分を用いて、配線層ばらつき差を計算して配線層ばらつき差考慮タイミング検証を行うタイミング検証工程とを含む。
【００３３】
請求項２３記載の半導体集積回路のタイミング解析方法は、請求項２２記載の半導体集積回路のタイミング解析方法において、配線ばらつき要素分離工程は、配線ばらつき値のばらつき要素をランダム成分とシステマチック成分に分離し、ランダム成分を配線層依存配線ばらつき成分とする。
【００３４】
請求項２４記載の半導体集積回路のタイミング解析方法は、請求項２２記載の半導体集積回路のタイミング解析方法において、配線層ばらつき差考慮タイミング検証工程は、請求項１記載のタイミング解析方法を用いたタイミング検証を行う。
【００３５】
請求項２５記載の半導体集積回路のタイミング解析方法は、請求項２２記載の半導体集積回路のタイミング解析方法において、配線層ばらつき差考慮タイミング検証工程は、請求項７記載のタイミング解析方法を用いたタイミング検証を行う。
【００３６】
請求項２６記載の半導体集積回路のタイミング解析方法は、請求項２２記載の半導体集積回路のタイミング解析方法において、配線層ばらつき差考慮タイミング検証工程は、請求項１１記載のタイミング解析方法を用いたタイミング検証を行う。
【００３７】
請求項２７記載の半導体集積回路のタイミング解析方法は、請求項２２記載の半導体集積回路のタイミング解析方法において、配線層ばらつき差考慮タイミング検証工程は、請求項１２記載のタイミング解析方法を用いたタイミング検証を行う。
【００３８】
請求項２８記載の半導体集積回路のタイミング解析方法は、請求項２２記載の半導体集積回路のタイミング解析方法において、配線層ばらつき差考慮タイミング検証工程は、請求項１７記載のタイミング解析方法を用いたタイミング検証を行う。
【発明の効果】
【００３９】
本発明の請求項１記載の半導体集積回路のタイミング解析方法によれば、各配線層の配線ばらつき値を用いて各配線層の容量値が変動した組み合わせを作成し、配線ばらつき値と、全配線の配線層ごとの容量比率が記載された配線層容量比率と、クロックパスを構成する配線の配線容量を含む情報が記載された第１のクロックパス配線容量から組み合わせごとに、第２のクロックパス配線容量を計算するクロックパス配線容量計算工程と、組み合わせごとに第２のクロックパス配線容量を用いてクロックパスの遅延時間を計算し、フリップフロップの組ごとに２つのクロックパスの遅延時間差となるクロックスキューを計算し、組み合わせごとのクロックスキューを出力するクロックスキュー計算工程と、組み合わせのクロックスキューから、最も大きなクロックスキューをクロックスキューマージンとして出力するクロックスキュー比較工程とを含むので、配線層ごとに配線の出来栄えが異なることに起因するクロックスキューを考慮したタイミング検証方法が可能となる。
【００４０】
請求項２では、クロックパス配線容量計算工程において組み合わせは、各配線層における配線容量の変動値が最大値もしくは最小値となる全ての組み合わせであるので、配線層ごとに配線容量を変動させた組み合わせのそれぞれについて、第２のクロックパス配線容量を計算することができる。
【００４１】
請求項３では、クロックパス配線容量計算工程は、第１のクロックパス配線容量と配線層容量比率と組み合わせから決まる配線ばらつき値との積を配線層ごとに計算し、積の総和より第２のクロックパス配線容量を算出することできる。これにより配線層ごとに変動量を最大、最小とした組み合わせごとにクロック配線容量を出力することができる。
【００４２】
請求項４では、データパス配線容量計算工程は、全配線層の配線ばらつき値が最大値となる第１の組み合わせと、全配線層の配線ばらつき値が最小値となる第２の組み合わせを作成し、第１の組み合わせ及び第２の組み合わせのそれぞれで、組み合わせで決まる配線ばらつき値と配線層容量比率と第１のデータパス配線容量との積を各配線層で計算し、積の総和より第３のデータパス配線容量を計算することができる。これにより、データパスの遅延時間を計算することができる。
【００４３】
請求項５では、データパス遅延計算工程は、第１の組み合わせでデータパスの最大遅延時間を算出し、第２の組み合わせでデータパスの最小遅延時間を算出するので、セットアップタイム検証およびホールドタイム検証を行うことができる。
【００４４】
請求項６では、タイミング検証工程は、最大遅延時間と最小遅延時間を用いてタイミング検証を行うので、データパスの最大遅延時間を用いてセットアップタイム検証を行い、データパスの最小遅延時間を用いてホールドタイム検証を行うことができる。
【００４５】
本発明の請求項７記載の半導体集積回路のタイミング解析方法によれば、各配線層の配線ばらつき値を用いて、クロックパスで使用するすべての配線層のうち、２つの配線層の組み合わせすべてについて、配線層ばらつき差を計算する配線層ばらつき差計算工程と、全配線の配線層ごとの容量比率が記載された配線層容量比率を用いて、フリップフロップの組ごとに２つのクロックパスの配線層ごとの容量比率が異なる割合である異配線層容量比率を計算する異配線層容量比率計算工程と、クロックパスを構成する配線の配線容量を含む情報が記載された第１のクロックパス配線容量と、配線層ばらつき差と、異配線層容量比率を用いて、第２のクロックパス配線容量を計算するクロックパス配線容量計算工程と、第２のクロックパス配線容量を用いて、クロックパスの遅延時間を計算し、フリップフロップの組ごとに２つのクロックパスの遅延時間差となるクロックスキューを計算し、クロックスキューをクロックスキューマージンとして出力するクロックスキュー計算工程とを含むので、請求項１と同様の効果が得られる。また、遅延計算時間は、１本のクロックパス遅延計算時間×タイミング解析を行うパスの数の増加となり、請求項１に比べて少ない計算時間で検証を行うことができる。
【００４６】
請求項８では、配線層ばらつき差計算工程は、配線ばらつき値を用いて、配線層ごとの配線ばらつき幅を計算し、２つの配線層のすべての組み合わせについて、配線ばらつき幅の二乗の和の平方根より、配線層ばらつき差を算出することができる。すなわち、半導体集積回路を設計する際、配線の容量が同じ値としても、配線層が異なる場合、各配線層のばらつき方には差が生じるため、異なる配線層の間ではばらつきによる容量差を生じ、このばらつき差を配線層ばらつき差と呼び、上記のように算出することができる。
【００４７】
請求項９では、異配線層容量比率計算工程は、２つのクロックパスの配線層容量比率を層ごとに比較し、すべての配線層の小さい方の容量比率の和を計算し、容量比率の和を１から引いたものを異配線層容量比率として出力することができる。これにより、各配線層の配線容量が前段と後段のクロックパスで異なる割合を計算することができる。
【００４８】
請求項１０では、クロックパス配線容量計算工程は、前段または後段のクロックパスの第１のクロックパス配線容量と、配線層ばらつき差と、異配線層容量比率の積を計算し、第２のクロックパス配線容量として出力することができる。これにより、配線層の違いによる容量ばらつきの差を、前段または後段クロックパスの配線容量に与えることができる。
【００４９】
本発明の請求項１１記載の半導体集積回路のタイミング解析方法によれば、請求項７記載の半導体集積回路のタイミング解析方法を用いて、クロックパスで使用する配線層がすべて異なると仮定してタイミング検証を行うタイミング検証試行工程と、タイミング検証試行工程におけるタイミングエラーの有無を判断し、タイミングエラーがなければタイミング解析を終了するタイミングエラー判定工程と、タイミングエラー判定工程において、タイミングエラーが確認されたとき、請求項７記載の半導体集積回路のタイミング解析方法を用いてタイミング検証を行う異配線層容量比率考慮タイミング検証工程とを含むので、請求項２に比べて、少ない計算量で解析を行うことができるが、タイミング解析を行うパスの数が増えると遅延時間計算が増加する。
【００５０】
本発明の請求項１２記載の半導体集積回路のタイミング解析方法によれば、配線ばらつき値と、クロックパスを構成する配線の配線容量を含む情報が記載された第１のクロックパス配線容量を用いて、第３のクロックパス配線容量を計算するクロックパス配線容量計算工程と、第３のクロックパス配線容量を用い、クロックパスの遅延時間を計算し、クロックパス遅延時間を出力するクロックパス遅延計算工程と、全配線の配線層ごとの容量比率が記載された配線層容量比率と、遅延時間のうち配線に依存した遅延時間の割合が記載された配線依存遅延比率と、クロックパス遅延時間を用いて、フリップフロップの組ごとに２つのクロックパスの各配線層に依存した遅延比率が異なる割合である異配線層遅延比率を計算する異配線層遅延比率計算工程と、配線層ばらつき差と、異配線層遅延比率と、配線依存遅延比率を用いて、クロックスキューマージンを計算するクロックスキューマージン計算工程とを含むので、請求項１と同様の効果が得られる。また、クロックパスの遅延計算の実行は１回のみで行うことができるため、高速なタイミング検証が可能である。
【００５１】
請求項１３では、配線層ばらつき差計算工程は、請求項８と同様に配線層ばらつき差を算出することができる。
【００５２】
請求項１４では、クロックパス配線容量計算工程は、全配線層の配線ばらつき値が最大値となる第１の組み合わせと、全配線層の配線ばらつき値が最小値となる第２の組み合わせを作成し、第１の組み合わせ及び第２の組み合わせのそれぞれで、組み合わせで決まる配線ばらつき値と配線層容量比率と第１のクロックパス配線容量との積を各配線層で計算し、積の総和より第３のクロックパス配線容量を計算することができる。第３のクロックパス配線容量を用いることで、クロックパスの遅延計算の実行は１回のみ行うことができる。
【００５３】
請求項１５では、異配線層遅延比率計算工程は、配線層容量比率と配線依存遅延比率とクロックパス遅延時間の積より配線層遅延比率を計算し、２つのクロックパスの配線層遅延比率を層ごとに比較し、すべての配線層の小さい方の遅延比率の和を計算し、遅延比率の和を１から引いたものを異配線層遅延比率として出力することができる。これにより、各配線層に依存する遅延時間が前段と後段のクロックパスで異なる割合を計算することができる。
【００５４】
請求項１６では、クロックスキューマージン計算工程は、クロックパスの各段で、配線層ばらつき差と、異配線層遅延比率と、配線依存遅延比率の積を計算し、積の総和をクロックスキューマージンとして出力することができる。
【００５５】
本発明の請求項１７記載の半導体集積回路のタイミング解析方法によれば、クロックパスを、配線層数に基づいて階層に分割し、全配線の配線層ごとの容量比率が記載された配線層容量比率と、遅延時間のうち配線に依存した遅延時間の割合が記載された配線依存遅延比率と、クロックパス遅延時間を用いて、階層ごとに、フリップフロップの組ごとに２つのクロックパスの各配線層に依存した遅延比率が異なる割合である異配線層遅延比率を計算する階層別異配線層遅延比率計算工程と、配線層ばらつき差と、異配線層遅延比率と、配線依存遅延比率を用いて、クロックスキューマージンを計算する階層別クロックスキューマージン計算工程とを含むので、請求項１と同様の効果が得られる。また、階層別クロックスキューマージンを計算することで、過剰となっているマージンが削減可能である。
【００５６】
請求項１８では、配線層ばらつき差計算工程は、請求項８，１３と同様に配線層ばらつき差を算出することができる。
【００５７】
請求項１９では、クロックパス配線容量計算工程は、請求項１４と同様に第３のクロックパス配線容量を計算することができる。
【００５８】
請求項２０では、階層別異配線層遅延比率計算工程は、クロックパスで使用する配線層数が、各階層で少なくなるようにクロックパスを階層に分割し、階層ごとに、配線層容量比率とクロックパス遅延時間の積より配線層遅延比率を計算し、２つのクロックパスの配線層遅延比率を層ごとに比較し、すべての配線層の小さい方の遅延比率の和を計算し、遅延比率の和を１から引いたものを階層別異配線層遅延比率として出力することができる。これにより、階層ごとに、各配線層に依存する遅延時間が前段と後段のクロックパスで異なる割合を計算することができる。
【００５９】
請求項２１では、クロックスキューマージン計算工程は、クロックパスの各段で、配線層ばらつき差と、階層別異配線層遅延比率と、配線依存遅延比率の積を計算し、積の総和をクロックスキューマージンとして出力することができる。
【００６０】
本発明の請求項２２記載の半導体集積回路のタイミング解析方法によれば、各配線層の配線ばらつき値から、配線層依存配線ばらつき成分を抽出する配線ばらつき要素分離工程と、配線層依存配線ばらつき成分を用いて、配線層ばらつき差を計算して配線層ばらつき差考慮タイミング検証を行うタイミング検証工程とを含むので、配線ばらつきのすべてを配線層の違いによるばらつき差としてスキューマージンを設定することは過剰マージンとなるため、これを削減することができる。
【００６１】
請求項２３では、配線ばらつき要素分離工程は、配線ばらつき値のばらつき要素をランダム成分とシステマチック成分に分離し、ランダム成分を配線層依存配線ばらつき成分とする。すなわち、配線層の違いで異なるばらつき成分は主に製造時の温度などの違いによるランダムなばらつき成分である。
【００６２】
請求項２４では、配線層ばらつき差考慮タイミング検証工程は、請求項１記載のタイミング解析方法を用いたタイミング検証を行うことができる。
【００６３】
請求項２５では、配線層ばらつき差考慮タイミング検証工程は、請求項７記載のタイミング解析方法を用いたタイミング検証を行うことができる。
【００６４】
請求項２６では、配線層ばらつき差考慮タイミング検証工程は、請求項１１記載のタイミング解析方法を用いたタイミング検証を行うことができる。
【００６５】
請求項２７では、配線層ばらつき差考慮タイミング検証工程は、請求項１２記載のタイミング解析方法を用いたタイミング検証を行うことができる。
【００６６】
請求項２８では、配線層ばらつき差考慮タイミング検証工程は、請求項１７記載のタイミング解析方法を用いたタイミング検証を行うことができる。
【発明を実施するための最良の形態】
【００６７】
（第１の実施の形態）
本発明の第１の実施の形態による半導体集積回路のタイミング解析方法について図１、図３、図４、図５、図６、図７、図８、図９を用いて説明する。
【００６８】
図１は、第１の実施の形態の詳細なフロー図を示したものである。
【００６９】
Ｄ０１は、各配線層での配線容量、配線抵抗の変動量が記載された配線ばらつき値である。
【００７０】
Ｄ０２は、全配線の配線層ごとの容量比率が記載された配線層容量比率である。
【００７１】
Ｄ０３は、クロックパスを構成する配線の配線容量と配線抵抗が記載された第１のクロックパス配線容量である。
【００７２】
Ｄ０４は、データパスを構成する配線の配線容量と配線抵抗が記載された第１のデータパス配線容量である。配線容量と配線抵抗は、ＬＰＥ(Layout Parasitic Extraction)ツールにより得られる。業界で一般的に使用されているＳＰＦ(Standard Parasitic Format)で記述される。
【００７３】
Ｄ１１は、配線層ばらつき差を考慮した配線容量と配線抵抗を記載した、第２のクロックパス配線容量である。内容はＳＰＦ記述である。
【００７４】
Ｄ１２は、第２のクロックパス配線容量Ｄ１１を用いて計算されたクロックスキューである。
【００７５】
Ｄ１３は、クロックスキューが記載されたクロックスキューマージンである。
【００７６】
Ｄ１４は、配線ばらつきを考慮してデータパスの配線容量と配線抵抗を記載した、第３のデータパス配線容量である。内容はＳＰＦ記述である。
【００７７】
Ｄ１５は、データパスの遅延時間が記載されたデータパス遅延時間である。業界で一般的に使用されているＳＤＦ(Standard Delay Format)で記述される。
【００７８】
図３は、配線ばらつき値Ｄ０１の内容を示している。例として、配線層が４層である場合の配線容量の変動量を配線層毎に示している。変動量は、最大値及び最小値が順にパーセント表示で示される。配線層Ｍ１の配線容量は、−１０％〜１０％の幅でばらつくことを示している。
【００７９】
図４は、配線層容量比率Ｄ０２の内容を示している。例として、配線層が４層で、配線net１からnet５の容量比率を示している。配線net１は、配線層Ｍ１の容量割合が８０％、配線層Ｍ２の容量割合が２０％、配線層Ｍ３、Ｍ４の容量割合が０％であることを示している。
【００８０】
図５は、クロックスキューＤ１２、クロックスキューマージンＤ１３の内容を示している。前段と後段のクロックパスの組み合わせ毎に計算したクロックスキューが記載されている。クロックパスclkpath１とクロックパスclkpath２のクロックスキューが１６ｐｓであることを示している。
【００８１】
図６は、本発明の第１の実施の形態による半導体集積回路のタイミング解析方法の適用対象となる回路の一例を示している。回路１は、説明を簡単にするため、１ペアのフリップフロップ、すなわち前段および後段のフリップフロップで構成されている。ホールドタイム検証方法について考える。
【００８２】
F001は前段フリップフロップであり、F002は後段フリップフロップである。
【００８３】
net１,net２,net３は、配線である。
【００８４】
cell１,cell２は、駆動ドライバである。
【００８５】
net１は、駆動ドライバcell１の出力と前段フリップフロップF001のクロック入力を繋ぐ配線である。
【００８６】
net２は、駆動ドライバcell２の出力と後段フリップフロップF002のクロック入力を繋ぐ配線である。
【００８７】
net３は、前段フリップフロップF001のデータ出力と後段フリップフロップF002のデータ入力を繋ぐ配線である。
【００８８】
前段フリップフロップF001にクロック信号を供給するクロックパスは駆動ドライバcell１と配線net１からなり、後段フリップフロップF002にクロック信号を供給するクロックパスは駆動ドライバcell２と配線net２からなる。
【００８９】
net１の配線容量は１００ｆＦであり、２０％は配線層Ｍ２の容量であり、８０％は配線層Ｍ１の容量である。配線net２の配線容量は１００ｆＦであり、配線層Ｍ２のみを使用する。
【００９０】
net３の配線容量は１０ｆＦであり、５０％は配線層Ｍ１の容量であり、５０％は配線層Ｍ２の容量である。
【００９１】
フリップフロップF002のホールドタイムは４ｐｓである。
【００９２】
図７は、配線層ごとに変動量を最大値、最小値にした場合の組み合わせを示している。table１は、回路１のような配線層Ｍ１,Ｍ２で構成されている場合の組み合わせであり、変動量は図３の値を使用している。case１は、配線層Ｍ１の配線容量を−１０％変動させて、配線層Ｍ２の配線容量を＋１０％変動させている。case２は、配線層Ｍ１の配線容量を＋１０％変動させて、配線層Ｍ２の配線容量を−１０％変動させている。クロックパスで使用する配線層の数がＮ層である場合、配線層ごとに変動量を最大、最小とした組み合わせ数は２Ｎ通りである。ただし、すべての配線層が同時に最大または最小となる２通りの場合は、配線層の違いによるスキューは生じないため、考慮しなくてもよい。したがって、”２Ｎ−２”個の組み合わせとなる。配線層数が２層の場合は、組み合わせtable１のように２通りとなる。
【００９３】
図８は、配線層Ｍ１,Ｍ２,Ｍ３の場合の配線層ごとの変動量の組み合わせ組み合わせを示している。table２は、クロックパスが配線層Ｍ１,Ｍ２,Ｍ３で構成されている場合の組み合わせであり、変動量は図３の値を使用している。
【００９４】
図９は、図６の回路についてクロックスキューマージンを計算した例を示した図である。
【００９５】
まず始めに、クロックパス配線容量計算工程Ｓ１１は、配線ばらつき値Ｄ０１、配線層容量比率Ｄ０２、第１のクロックパス配線容量Ｄ０３を入力して、配線層ごとに配線容量を変動させた組み合わせそれぞれについて、第２のクロックパス配線容量Ｄ１１を計算する。
【００９６】
配線層ごとに各配線層の容量比率、各配線層の変動量、全容量値の積を計算し、全配線層の総和を配線毎に計算し、第２のクロックパス配線容量Ｄ１１に記入する。
【００９７】
組み合わせtable１のように２層の場合を用いて説明する。配線層Ｍ１の配線ばらつき値が±ｐ１％、配線層Ｍ２の配線ばらつき値が±ｐ２％、計算する対象の配線容量がＣ、Ｍ１層の容量比率がｘ１、Ｍ２層の容量比率がｘ２とすると、case１（図９（ａ））,case２（図９（ｂ））はそれぞれ、式１０１,１０２のように計算する。
(１＋ｐ１)×Ｃ×ｘ１＋(１−ｐ２)×Ｃ×ｘ２  …(式１０１)
(１−ｐ１)×Ｃ×ｘ１＋(１＋ｐ２)×Ｃ×ｘ２  …(式１０２)
組み合わせtable１、net１であると、ｐ１,ｐ２は０.１、Ｃは１００ｆＦ、ｘ１,ｘ２がそれぞれ０.８,０.２となり、式１０１,１０２に代入した結果は下記のようになる。
case１での容量値＝(１＋０.１)×１００ｆ×０.８＋(１−０.１)×１００ｆ×０.２＝１０６ｆＦ
case２での容量値＝(１−０.１)×１００ｆ×０.８＋(１＋０.１)×１００ｆ×０.２＝９４ｆＦ
このように、組み合わせtable１では、２種類の第２のクロックパス配線容量Ｄ１１を出力する。この内容を全てのクロックパスの配線に対して行う。
【００９８】
組み合わせtable２の場合においても同様にcase１からcase６まで配線容量値を計算し、６種類の第２のクロックパス配線容量Ｄ１１を出力する。
【００９９】
このように、クロックパス配線容量計算工程Ｓ１１では、配線層ごとに変動量を最大、最小とした組み合わせごとにクロック配線容量を出力する。
【０１００】
次に、クロックスキュー計算工程Ｓ１２は、配線層ごとに配線容量を変動させた組み合わせそれぞれについて、第２のクロックパス配線容量Ｄ１１を入力して、配線層ごとに配線容量を変動させた組み合わせそれぞれについて、全クロックパスの遅延時間を計算し、二つのクロックパスのクロックスキューを計算し、クロックスキューＤ１２に記入する。
【０１０１】
クロックスキュー計算工程Ｓ１２においても配線容量計算工程Ｓ１１と同様に、クロックパスで使用する配線層の数がＮ層である場合、”２Ｎ−２”個のクロックスキューＤ１２を出力する。仮にクロック分配回路の遅延計算時間が回路全体の遅延計算時間の５％であるとすると、本発明による遅延計算時間の増加量は、クロック分配回路で使用する配線層の数が２層の場合１０％、３層の場合３０％、４層の場合７０％となり、現実的な時間で解析を行うことができる。
【０１０２】
組み合わせtable１、回路１で、前段および後段クロックパスの遅延時間は、下記のようになるとする。
case１での前段クロックパス遅延時間＝２０６ｐｓ
case１での後段クロックパス遅延時間＝１９０ｐｓ
case２での前段クロックパス遅延時間＝１９４ｐｓ
case２での後段クロックパス遅延時間＝２１０ｐｓ
このとき、クロックスキューの計算結果は、前段クロックパスの遅延時間と後段クロックパスの遅延時間の差として計算した結果、下記のようになる。ただし、後段クロックパスの遅延時間が前段クロックパスの遅延時間より大きい場合を正の値とした。
case１でのクロックスキュー＝−１６ｐｓ
case２でのクロックスキュー＝１６ｐｓ
次に、クロックスキュー比較工程Ｓ１３は、配線層ごとに配線容量を変動させた組み合わせすべての配線層ばらつき差考慮クロックスキューＤ１２を入力して、クロックペアごとに最も大きなクロックスキューをクロックスキューマージンＤ１３に記入する。
【０１０３】
ホールドタイム検証を行う場合は、前段より後段フリップフロップのクロック信号が遅くなるクロックスキューを選択する。セットアップタイム検証を行う場合は、後段より前段フリップフロップのクロック信号が遅くなるクロックスキューを選択する。
【０１０４】
組み合わせtable１、回路１ではcase２のクロックスキュー１６ｐｓをクロックスキューマージンＤ１３に記入する。
【０１０５】
次に、データパス配線容量計算工程Ｓ１４は、第１のデータパス配線容量Ｄ０４、配線ばらつき値Ｄ０１を入力して、第３のデータパス配線容量Ｄ１４を出力する。
【０１０６】
配線層Ｍ１の配線ばらつき値が±ｐ１、配線層Ｍ２の配線ばらつき値が±ｐ２、計算する対象の配線容量がＣ、Ｍ１層の容量比率がｘ１、Ｍ２層の容量比率がｘ２とすると、ホールドタイム検証では式１０３、セットアップタイム検証では式１０４のように計算する。
(１−ｐ１)×Ｃ×ｘ１＋(１−ｐ２)×Ｃ×ｘ２  …(式１０３)
(１＋ｐ１)×Ｃ×ｘ１＋(１＋ｐ２)×Ｃ×ｘ２  …(式１０４)
ホールドタイム検証、net３であると、ｐ１,ｐ２は０.１、Ｃは１０ｆＦ、ｘ１,ｘ２がそれぞれ０.５,０.５となり、式１０３代入した結果は下記のようになる。
配線ばらつき考慮net３容量値＝(１−０.１)×１０ｆ×０.５＋(１−０.１)×１０ｆ×０.５＝９ｆＦ
次に、データパス遅延計算工程Ｓ１５は、第３のデータパス配線容量Ｄ１４を入力し、データパス遅延時間Ｄ１５を計算し出力する。回路１のデータパス遅延時間を計算した結果は１９ｐｓとする。
【０１０７】
次に、タイミング検証工程Ｓ１６は、クロックスキューマージンＤ１３、データパス遅延時間Ｄ１５を入力し、タイミング検証を行う。
【０１０８】
クロックスキューマージンをＴｓｋｅｗ、データパス遅延時間をＴｄａｔａ、後段フリップフロップのホールドタイムをＴｈｏｌｄ、セットアップタイムをＴｓｅｔｕｐ、クロック周期をＴｃｙｃｌｅとすると、ホールドタイム検証、セットアップタイム検証ではそれぞれ以下の式１０５、式１０６が正の値であるときエラーとならないことが確認できる。
Ｔｄａｔａ−Ｔｓｋｅｗ−Ｔｈｏｌｄ  …(式１０５)
Ｔｄａｔａ−Ｔｓｋｅｗ−Ｔｓｅｔｕｐ−Ｔｃｙｃｌｅ  …(式１０６)
ホールドタイム検証、回路１であると、Ｔｄａｔａは１９ｐｓ、Ｔｓｋｅｗは１６ｐｓ、Ｔｈｏｌｄは４ｐｓとなり、式１０５に代入した結果、下記のようになる。
１９ｐｓ−１６ｐｓ−４ｐｓ＝−１ｐｓ
したがって、回路１はタイミングエラーとなることが確認できる。以上の結果から、第１の実施の形態の方法により、配線層のばらつきに違いによるタイミングエラーを検出することができる。
【０１０９】
なお、本実施の形態では、配線容量のみを変動させる方法を説明したが、配線抵抗も配線容量に合わせて変動させてもよい。
（第２の実施の形態）
本発明の第２の実施の形態による半導体集積回路のタイミング解析方法について図１０、図１１、図１２、図１３を用いて説明する。
【０１１０】
図１０は、本実施の形態２による半導体集積回路のタイミング解析方法の適用フローを示すものである。
【０１１１】
Ｄ２１は、異なる配線層の間の容量ばらつきの差が記載された配線層ばらつき差である。
【０１１２】
Ｄ２２は、前段フリップフロップと後段フリップフロップへクロックを供給するクロックパスの配線を構成する各配線層の容量を比較し、各配線層の配線容量が前段と後段のクロックパスで異なる割合を計算した異配線層容量比率である。
【０１１３】
図１１は、配線層ばらつき差Ｄ２１の内容を示している。例として、配線層が４層である場合の配線容量と配線抵抗の２つの配線層の間の配線層ばらつき差を、テーブル形式で示している。配線層Ｍ１と配線層Ｍ２の容量ばらつきの差が２８％、配線層Ｍ１と配線層Ｍ３の容量ばらつきの差が２２％、配線層Ｍ１と配線層Ｍ４の容量ばらつきの差が２２％であることを示している。
【０１１４】
図１２は、異配線層容量比率Ｄ２２の内容を示している。前段と後段のクロックパスの組み合わせ毎に計算した異配線層容量比率を示している。クロックパスclkpath１とクロックパスclkpath２の異配線層容量比率が８０％であることを示している。
【０１１５】
図１３は、第１の実施の形態による方法で与えられるクロックスキューマージンと、第２の実施の形態による方法で与えられるクロックスキューマージンの比較を行った図である。横軸が配線ばらつき値Ｄ０１で与えられる配線ばらつきの大きさ、縦軸がクロックスキューマージンである。
【０１１６】
まず始めに、配線層ばらつき差計算工程Ｓ２１は、配線ばらつき値Ｄ０１を入力して、配線層ばらつき差Ｄ２１を出力する。
【０１１７】
半導体集積回路を設計する際、配線の容量が同じ値としても、配線層が異なる場合、各配線層のばらつき方には差が生じるため、異なる配線層の間ではばらつきによる容量差を生じる。このばらつき差を配線層ばらつき差と呼び、以下に計算方法を示す。
【０１１８】
配線層ｘの配線ばらつきの標準偏差をσｘとし、ばらつきが正規分布であるとすると、配線層ｘの配線ばらつきの確立密度関数ｆｘ（ｔ）は以下の式２０１（数１）で表される。
【０１１９】
【数１】
2007286800.tif 000003
このとき、配線層１と２の配線のばらつき差がｐである確率は以下の式２０２（数２）ように計算できる。
【０１２０】
【数２】
2007286800.tif 000004
式２０２の右辺は、式２０１と同じ形式である。したがって、配線層１と２のばらつき差の標準偏差σ１−２は以下の式２０３（数３）で計算することができる。
【０１２１】
【数３】
2007286800.tif 000005
したがって、ある２層の間の配線層ばらつき差は、そのばらつき幅を式２０３に代入して計算する。
【０１２２】
回路１であると、クロックパスで使用している配線層はＭ１とＭ２であり、配線ばらつき値はそれぞれ±１０％であるから、それぞれの配線層のばらつき幅は２０％である。式２０３において、σ１に２０％、σ２に２０％を代入した結果、配線層Ｍ１とＭ２の配線層ばらつき差は、２８％と計算できる。
【０１２３】
次に、異配線層容量比率計算工程Ｓ２２は、配線層容量比率Ｄ０２を入力して、異配線層容量比率Ｄ２２を計算する。
【０１２４】
異配線層容量比率は、各配線層の送信側クロックパスの配線層容量比率と、受信側クロックパスの配線層容量比率を比較し、すべての配線層の小さい方の配線層容量比率の和を計算し、１から引くことで計算できる。前段のクロックパスの配線層ｘの配線層容量比率をＣsx、後段クロックパスの配線層ｘの配線層容量比率をＣcxとすると、異配線層容量比率Ｃdiffは以下の式２０４（数４）で計算できる。
【０１２５】
【数４】
2007286800.tif 000006
異配線層容量比率は、フリップフロップのペアごとに、配線層容量比率を式２０４に代入し、計算する。
【０１２６】
net１とnet２であると、Ｃs1は０.８、Ｃs２は０.２、Ｃc1は０、Ｃc2は１となり、式２０４に代入した結果は下記のようになる。
１−(ｍｉｎ(０.８,０)＋ｍｉｎ(０.２,１))＝０.８
次に、クロックパス配線容量計算工程Ｓ２３は、配線層ばらつき差Ｄ２１、異配線層容量比率Ｄ２２、第１のクロックパス配線容量Ｄ０３を入力して、第２のクロックパス配線容量Ｄ１１を計算する。
【０１２７】
第２のクロックパス配線容量は、配線層ばらつき差と異配線層容量比率の積を用いて計算し、配線層の違いによる容量ばらつきの差を、前段または後段クロックパスの配線容量に与える。
【０１２８】
ホールドタイム検証、異配線層容量比率をＣdiff、配線層ばらつき差をｐdiff、計算する対象の配線容量がＣとすると、後段クロックパスの第２のクロックパス配線容量は、以下の式２０５で計算できる。
(１＋ｐdiff×Ｃdiff)×Ｃ  … (式２０５)
セットアップ検証では、前段クロックパスの第２のクロックパス配線容量は、以下の式２０６で計算できる。
(１−ｐdiff×Ｃdiff)×Ｃ  … (式２０６)
ホールドタイム検証、回路１であると、net２の配線容量を小さくする。ｐdiffは０.２８、Ｃは１００ｆＦ、Ｃdiffは０.８となり、式２０５に代入した結果は下記のようになる。
(１＋０.２８×０.８)×１００ｆ＝１２２.４ｆＦ
次に、クロックスキュー計算工程Ｓ２４は、第２のクロックパス配線容量Ｄ１１を入力し、クロックスキューマージンＤ１３を出力する。
【０１２９】
前段、後段それぞれのクロックパスの遅延計算を行い、クロックスキューを計算する。フリップフロップペアに対しひとつのクロックスキューマージンを計算し、クロックスキューマージンＤ２４に記入する。
【０１３０】
回路１で遅延時間を計算すると、下記のようになるとする。
前段クロックパス遅延時間＝２００ｐｓ
後段クロックパス遅延時間＝２２２ｐｓ
このとき、クロックスキューは２２ｐｓとなる。
【０１３１】
データパス配線容量計算工程Ｓ１４、データパス遅延計算工程Ｓ１５、タイミング検証工程Ｓ１６は第１の実施の形態と同じである。
【０１３２】
ホールドタイム検証、回路１であると、Ｔｄａｔａ＝１９ｐｓ、Ｔｓｋｅｗ＝２２ｐｓ、Ｔｈｏｌｄ＝４ｐｓとなり、を式１０５に代入した結果、下記のようになる。
１９ｐｓ−２２ｐｓ−４ｐｓ＝−７ｐｓ
したがって、回路１はタイミングエラーとなることが確認できる。以上の結果から、第２の実施の形態の方法により、配線層のばらつきに違いによるタイミングエラーを検出することができる。
【０１３３】
第１の実施の形態の方法と第２の実施の形態の方法で、容量ばらつきの差を考慮するために発生させたクロックスキューの比較を行う。クロックパスで使用する配線層の数は２層で、配線層Ｍ１と配線層Ｍ２の配線層容量比率を前段クロックパスはＣs1：１−Ｃs1、後段クロックパスはＣc1:１−Ｃc1とし、Ｃs1＜Ｃc1とする。配線層Ｍ１、Ｍ２の配線ばらつき値を±ｐとする。
【０１３４】
第１の実施の形態の方法では、前段と後段のクロックパスの配線容量の変動量の差は、式１０３と式１０４の差によって下記のように計算することができる。
(１＋ｐ)Ｃc1＋(１−ｐ)(１−Ｃc1)−{(１＋ｐ)Ｃs1＋(１−ｐ)(１−Ｃs1)}＝２(Ｃc1−Ｃs1)ｐ  … (式２０７)
第２の実施の形態の方法では、以下のように計算することができる。
【０１３５】
配線ばらつき値が±ｐであるから、ばらつきの幅は２ｐである。式２０３より、配線層ばらつき差は２・２1/2ｐとなる。
【０１３６】
異配線層容量比率は、式２０４より、下記のように計算できる。
１−(ｍｉｎ(Ｃs1，Ｃc1)＋ｍｉｎ(１−Ｃc1,１−Ｃs1))＝Ｃc1−Ｃs1
したがって、前段と後段のクロックパスの配線容量の変動量の差は下記の式２０８（数５）のように計算できる。
【０１３７】
【数５】
2007286800.tif 000007
図１３は異配線層容量比率が５０％の場合の式２０７、２０８の結果を用いて、第１の実施の形態の方法と第２の実施の形態の方法の比較を行った図である。横軸がばらつき量ｐであり、縦軸が式２０７、２０８で表される前段と後段のクロックパスの配線容量の変動量の差である。ばらつき量ｐが２９.３％以下であるとき、第２の実施の形態の方法を用いても第１の実施の形態の方法に比べて過小評価とならないことがわかる。
【０１３８】
第１の実施の形態の方法は、クロックパスで使用する配線層がＮ層のとき、”２Ｎ−２”回のクロックパスの遅延計算が必要となる。一方、第２の実施の形態の方法の遅延計算時間は、１本のクロックパス遅延計算時間×タイミング解析を行うパスの数の増加となり、第１の実施の形態の方法に比べて少ない計算時間で検証を行うことができる。
【０１３９】
なお、第２の実施の形態の方法は、半導体集積回路全体のすべての配線層の容量値が最大または最小とした値を、第１のクロックパス配線容量Ｄ０３として用いてもよい。
【０１４０】
一般的に、半導体集積回路全体のすべての配線層の容量値が最大または最小の値としてタイミング検証が行われているため、第２の実施の形態の方法は、一般的なタイミング検証方法に容易に組み込むことができる。
【０１４１】
なお、本実施の形態では、配線容量のみを変動させる方法を説明したが、配線抵抗も異配線層容量比率に合わせて変動させてもよい。
（第３の実施の形態）
本発明の第３の実施の形態による半導体集積回路のタイミング解析方法について図１４を用いて説明する。
【０１４２】
図１４は、第３の実施の形態による半導体集積回路のタイミング解析方法の適用フローを示すものである。
【０１４３】
まず始めに、タイミング検証試行工程Ｓ３１は、前段フリップフロップと後段フリップフロップへのクロックパスの配線で使用する配線層が、完全に異なる場合のタイミング検証を実行する工程である。
【０１４４】
タイミング検証試行工程Ｓ３１は、異配線層容量比率を１００％として、本発明の第２の実施の形態の方法を実行することによって可能である。
【０１４５】
次に、タイミングエラー判定工程Ｓ３２は、タイミング検証工程Ｓ３１におけるタイミングエラーの有無を判定する。タイミングエラー判定工程Ｓ３２でタイミングエラーが確認された場合は、異配線層容量比率を用いたタイミング検証工程Ｓ３３を実行し、タイミングエラーがない場合は対象パスのタイミング解析を終了し、別のパスの検証を行う。
【０１４６】
次に、異配線層容量比率を用いたタイミング検証工程Ｓ３３は、第２の実施の形態の方法により実行できる。
【０１４７】
本発明の第２の実施の形態の方法は、第１の実施の形態の方法に比べて、少ない計算量で解析を行うことができるが、タイミング解析を行うパスの数が増えると遅延計算時間が増加するという問題がある。ホールドタイム検証では解析対象となるパスの数が少ないため問題とならないが、セットアップタイム検証では、パス経路が多いため、遅延計算時間が膨大となる可能性がある。したがって、図１４に示す第３の実施の形態の方法では、エラーの可能性となるパスのみに限定し、第２の実施の形態の解析を行うことで検証を高速に実行することが可能となる。
（第４の実施の形態）
本発明の第４の実施の形態による半導体集積回路のタイミング解析方法について図１５、図１６、図１７、図１８、図１９を用いて説明する。
【０１４８】
図１５は、第４の実施の形態による半導体集積回路のタイミング解析方法の適用フローを示すものである。
【０１４９】
Ｄ０５は、遅延時間のうち配線に依存した遅延時間の割合が記載された配線依存遅延比率である。
【０１５０】
Ｄ４１は、配線ばらつき値を考慮してクロックパスの配線容量と配線抵抗を記載した第３のクロックパス配線容量である。業界で一般的に使用されているＳＰＦ(Standard Parasitic Format)である。
【０１５１】
Ｄ４２は、クロックパスの遅延時間が記載されたクロックパス遅延時間である。業界で一般的に使用されているＳＤＦ(Standard Delay Format)である。
【０１５２】
Ｄ４３は、前段フリップフロップと後段フリップフロップへクロックを供給するクロックパスの遅延時間で、各配線層に依存する遅延時間の割合を比較し、各配線層に依存する遅延時間が前段と後段のクロックパスで異なる割合を計算した異配線層遅延比率である。
【０１５３】
図１６は、配線依存遅延比率Ｄ０５の内容を示している。例として、セルcell１からcell６までの配線依存遅延比率を示している。セルcell１は、配線依存遅延比率が５０％であることを示している。
【０１５４】
図１７は、異配線層遅延比率Ｄ４３の内容を示している。前段と後段のクロックパスの組み合わせ毎に計算した異配線層遅延比率が記載されている。クロックパスclkpath１とクロックパスclkpath２の異配線層遅延比率が８０％であることを示している。
【０１５５】
図１８は、配線依存遅延比率を回路シミュレーションと近似式によって計算した結果を比較した図である。横軸が配線容量、縦軸が配線依存遅延比率である。
【０１５６】
図１９は、本発明の第４の実施の形態による半導体集積回路のタイミング解析方法の適用対象となる回路の一例を示すものである。回路２は、説明を簡単にするため、１ペアのフリップフロップ、すなわち前段および後段のフリップフロップで構成されている。ホールドタイム検証方法について考える。
【０１５７】
F401は、前段フリップフロップであり、F402は後段フリップフロップである。
net４１、net４２、net４３、net４４、net４５は、配線である。
【０１５８】
cell４１、cell４２、cell４３、cell４４は、駆動ドライバである。
【０１５９】
net４１は、駆動ドライバcell４１の出力と駆動ドライバcell４３の入力を繋ぐ配線である。
【０１６０】
net４２は、駆動ドライバcell４２の出力と駆動ドライバcell４４の入力を繋ぐ配線である。
【０１６１】
net４３は、駆動ドライバcell４３の出力と前段フリップフロップF401のクロック入力を繋ぐ配線である。
【０１６２】
net４４は、駆動ドライバcell４４の出力と後段フリップフロップF402のクロック入力を繋ぐ配線である。
【０１６３】
net４５は、前段フリップフロップのデータ出力と後段フリップフロップF402のデータ入力を繋ぐ配線である。
【０１６４】
前段フロップフロップF401にクロック信号を供給するクロックパスは駆動ドライバcell４１、cell４３、配線net４１、net４３からなり、後段フロップフロップF402にクロック信号を供給するクロックパスは駆動ドライバcell４２、cell４４、配線net４２、net４４からなり、
net４１の配線容量の１０％は配線層Ｍ３の容量であり、９０％は配線層Ｍ４の容量であり、配線層Ｍ１、Ｍ２は使用していない。
【０１６５】
net４２の配線容量の９０％は配線層Ｍ３の容量であり、１０％は配線層Ｍ４の容量であり、配線層Ｍ１、Ｍ２は使用していない。
【０１６６】
net４３の配線容量の５０％は配線層Ｍ１の容量であり、５０％は配線層Ｍ２の容量であり、配線層Ｍ３、Ｍ４は使用していない。
【０１６７】
net４４の配線容量の８０％は配線層Ｍ１の容量であり、２０％は配線層Ｍ２の容量であり、配線層Ｍ３、Ｍ４は使用していない。
【０１６８】
配線層Ｍ３、Ｍ４がグローバル配線に使用される配線層であり、配線層Ｍ１、Ｍ２がローカル配線に使用される配線層である。
【０１６９】
cell４１、cell４２の配線依存遅延比率は７０％であり、cell４３、cell４４の配線依存遅延比率は５０％である。
【０１７０】
cell４１の入力からcell４３の入力までの遅延時間は５００ｐｓである。
【０１７１】
cell４２の入力からcell４４の入力までの遅延時間は５００ｐｓである。
【０１７２】
cell４３の入力からフリップフロップF401のデータ入力までの遅延時間は５００ｐｓである。
【０１７３】
cell４４の入力からフリップフロップF402のデータ入力までの遅延時間は５００ｐｓである。
【０１７４】
配線層Ｍ１、Ｍ２の配線ばらつき値は±１０％であり、ばらつき幅は２０％、配線層Ｍ３、Ｍ４の配線ばらつき値は±５％であり、ばらつき幅は１０％とする。
【０１７５】
まず始めに、配線層ばらつき差計算工程Ｓ２１は、本発明の第２の実施の形態と同じである。回路２のクロックパスでは、配線層Ｍ１、Ｍ２、Ｍ３、Ｍ４の４つの配線層を使用している。配線層の違いによるばらつき差は、配線層Ｍ１、Ｍ２、Ｍ３、Ｍ４のうちの二つの配線層のばらつきの組み合わせから計算し、過少評価とならないため最も大きな値とする。したがって、回路２の配線層ばらつき差は、配線層Ｍ３とＭ４のばらつきから、２８％となる。
【０１７６】
次に、クロックパス配線容量計算工程Ｓ４１は、配線ばらつき値Ｄ０１、第１のクロックパス配線容量Ｄ０３を入力し、第３のクロックパス配線容量Ｄ４１を出力する。第３のクロックパス配線容量は、ホールドタイムでは式１０３、セットアップタイミング検証では式１０４を用いて計算する。
【０１７７】
次に、クロックパス遅延計算工程Ｓ４２は、第３のクロックパス配線容量Ｄ４１を入力し、クロックパスの遅延時間を計算し、クロックパス遅延時間Ｄ４２に記入する。
【０１７８】
次に、異配線層遅延比率計算工程Ｓ４３は、配線層容量比率Ｄ０２、配線依存遅延比率Ｄ０５、クロックパス遅延時間Ｄ４２を入力し、異配線層遅延比率Ｄ４３を出力する。
【０１７９】
異配線層遅延比率は、前段と後段のクロックパスで各配線層に依存した遅延時間を比較することで得られる。
【０１８０】
遅延時間のうち配線に依存した遅延時間を配線依存遅延、各配線層に依存した遅延時間を配線層依存遅延、各配線層の配線層依存遅延が配線依存遅延に占める割合を各配線層の配線層遅延比率と呼ぶ。
【０１８１】
配線依存遅延は、配線依存遅延比率と遅延時間の積により計算できる。
【０１８２】
各配線層の配線層依存遅延は、遅延時間と配線依存遅延比率と配線層容量比率の積により計算できる。
【０１８３】
前段のクロックパスの配線依存遅延をＷs、そのうち配線層ｘの配線層依存遅延をＷsx、後段クロックパスの配線依存遅延をＷc、そのうち配線層ｘの配線層依存遅延をＷcxとする。配線層依存遅延比率は、以下の式４０１によって計算できる。
Ｄsx＝Ｗsx/Ｗs，Ｄcx＝Ｗcx/Ｗc  … (式４０１)
異配線層遅延比率は、各配線層の送信側クロックパスの配線層依存遅延比率と、受信側クロックパスの配線層依存遅延比率を比較し、すべての配線層の小さい方の配線層依存遅延比率の和を計算し、１から引くことで計算できる。異配線層遅延比率Ｄdiffは、配線層依存遅延比率Ｄsx、Ｄcxを用いて、以下の式４０２（数６）で計算できる。
【０１８４】
【数６】
2007286800.tif 000008
回路２では、前段および後段クロックパス配線依存遅延は、クロックパス遅延時間と配線依存遅延比率の積として、以下のように計算できる
５００ｐｓ×７０％＋５００ｐｓ×５０％＝６００ｐｓ
一方、前段クロックパスの配線層Ｍ１の配線層依存遅延は、クロックパス遅延時間と配線依存遅延比率と配線層容量比率の積として、以下のように計算できる。
５００ｐｓ×７０％×０％＋５００ｐｓ×５０％×５０％＝１２５ｐｓ
したがって、前段クロックパスの配線層依存遅延比率は、Ｗsに６００ｐｓ、Ｗs１に１２５ｐｓを式４０１に代入した結果、以下のように計算できる。
Ｄs１＝１２５ｐｓ/６００ｐｓ≒０.２１
同様に、前段クロックパスと後段クロックパスの各配線層の配線層依存遅延比率をそれぞれ計算すると、以下のようになる。
Ｄs１＝０.２１、Ｄs２＝０.２１、Ｄs３＝０.０６、Ｄs４＝０.５２
Ｄc１＝０.３３、Ｄc２＝０.０８、Ｄc３＝０.５３、Ｄc４＝０.０６
上記の配線層依存遅延比率を式４０２に代入すると、異配線層遅延比率は以下のように計算できる。
１−(ｍｉｎ(０.２１,０.３３)＋ｍｉｎ(０.２１,０.０８)＋ｍｉｎ(０.０６,０.５３)＋ｍｉｎ(０.５２,０.０６))＝０.５９
以下に、配線依存遅延比率Ｄ０５の計算方法の例を示す。配線依存遅延比率をＤwとし、以下の式４０３（数７）で定義する。
【０１８５】
【数７】
2007286800.tif 000009
全遅延時間とはセル遅延と配線遅延の和である。一般的に、配線容量をＣw、配線抵抗をＲw、負荷ゲート容量をＣgとしたとき、全遅延時間tは
t＝t０＋Δt(Ｃw＋Ｃg)＋ＲwＣw  … (式４０４)
として表すことができる。t０、Δtは駆動セルに依存した値である。ＲwがΔtに比べて十分小さいとき、式４０３、式４０４より、配線依存遅延比率Ｄwは、以下の式４０５（数８）ように計算できる。
【０１８６】
【数８】
2007286800.tif 000010
したがって、配線依存遅延比率Ｄwは、駆動セルに依存した値t０/Δtを用いて簡単に計算することができる。図１８はバッファセルとインバータセルを用いて、配線負荷容量を変化させ、配線依存遅延比率を回路シミュレーションの結果と式４０５の計算結果を比較した図である。回路シミュレーションと式４０５の最大誤差は２.５％であり、式４０５のような簡単な式で容易に計算可能であることがわかる。配線依存遅延比率Ｄ０５は、駆動セルに依存した値t０/Δtと式４０５のようなライブラリとして与えることもできる。
【０１８７】
次に、クロックスキューマージン計算工程Ｓ４５は、配線依存遅延比率Ｄ０５、配線層ばらつき差Ｄ２１、異配線層遅延比率Ｄ４３を入力し、クロックスキューマージンＤ１３を計算する。
【０１８８】
クロックスキューマージンは、クロックスキューマージン係数を用いて計算する。クロックスキューマージン係数はクロックパスの各段で遅延時間に乗じる係数である。
【０１８９】
クロックパスのｎ段目のセルのクロックスキューマージン係数をＫnとすると、クロックスキューマージン係数Ｋnは、n段目の駆動セルの配線依存遅延比率Ｄwn、異配線層遅延比率Ｄdiff、配線層ばらつき差ｐdiffを用いて、以下の式４０６で計算できる。
Ｋn＝Ｄdiff×Ｄwn×ｐdiff  … (式４０６)
前段および後段のn段目の遅延時間をそれぞれ、Delaycn、Delaysnとすると、ホールドタイム検証のときのクロックスキューマージンは、以下の式４０７（数９）で計算できる。
【０１９０】
【数９】
2007286800.tif 000011
回路２では、ｐdiffは０.２８、Ｄdiffは０.５９、Ｄw１は０.７、Ｄw２は０.５となり、各セルの遅延時間はすべて５００ｐｓであるから、式４０６、４０７に代入した結果、クロックスキューマージンは下記のようになる。
(１＋０.５９×０.７×０.２８)×５００ｐｓ−５００ｐｓ
＋(１＋０.５９×０.５×０.２８)×５００ｐｓ−５００ｐｓ＝１００ｐｓ
次に、データパス配線容量計算工程Ｓ１４、データパス配線容量計算工程Ｓ１５、タイミング検証工程Ｓ１６は本発明の第１の実施の形態と同じである。
【０１９１】
第４の実施の形態の方法は、第１の実施の形態、第２の実施の形態、第３の実施の形態の方法と異なり、クロックパスの遅延計算の実行は１回のみであるため、高速なタイミング検証が可能である。
【０１９２】
なお、データパス配線容量計算工程Ｓ４６はクロックパス配線容量計算工程Ｓ４２と、データパス遅延計算工程Ｓ４７は、クロックパス遅延計算工程Ｓ４３と、データパス、クロックパスそれぞれについて同じ処理を行う工程であるため、同時に実行してもよい。
【０１９３】
また、クロックスキューマージン係数の計算は、タイミング検証工程に組み込み同時の行ってもよい。
【０１９４】
なお、本実施の形態では、配線容量のみを変動させる方法を説明したが、配線抵抗も異配線層遅延比率に合わせて変動させてもよい。
（第５の実施の形態）
本発明の第５の実施の形態による半導体集積回路のタイミング解析方法について図１９、図２０、図２１を用いて説明する。
【０１９５】
図２０は、第５の実施の形態による半導体集積回路のタイミング解析方法の適用フローを示すものである。
【０１９６】
Ｄ５１は、クロックパス構成配線層数による階層分割し、階層ごとに、前段フリップフロップと後段フリップフロップへクロックを供給するクロックパスの遅延時間で、各配線層に依存する遅延時間を比較し、各配線層に依存する遅延時間が前段フリップフロップと後段フリップフロップへクロックを供給するクロックパスで異なる割合を計算した階層別異配線層遅延比率である。
【０１９７】
図２１は階層別異配線層遅延比率の内容を示している。前段と後段のクロックパスの組み合わせ毎に計算した階層別の異配線層容量比率が記載されている。クロックパスclkpath１とクロックパスclkpath２の第１階層の異配線層遅延比率が８０％、第２階層の異配線層遅延比率が３０％であることを示している。
【０１９８】
配線層ばらつき差計算工程Ｓ２１、クロックパス配線容量計算工程Ｓ４１、クロックパス遅延計算工程Ｓ４２は、データパス配線容量計算工程Ｓ４６、データパス遅延計算工程Ｓ４７、タイミング検証工程Ｓ４８は、本発明の第４の実施の形態と同じである。
【０１９９】
階層別異配線層遅延比率計算工程Ｓ５１は、配線層容量比率Ｄ０２、配線依存遅延比率Ｄ０５、配線層ばらつき差Ｄ２１、クロックパス遅延時間Ｄ４２を入力し、階層別異配線層遅延比率を計算する工程である。
【０２００】
階層別異配線層遅延比率計算工程Ｓ５１では、まず始めに、クロックパス構成配線層数によるブロック分割を行う。前段フリップフロップと後段フリップフロップへのクロックパスの間の使用配線層を比較し、配線層数が少なくなるようにクロックパスを分割する。その後、分割した階層ごとに、異配線層遅延比率の計算を行う。
【０２０１】
半導体集積回路のクロック分配回路の設計では、回路全体にクロック信号を分配する回路は上層の配線層を使用し、半導体集積回路の小さな機能ブロック内にクロック信号を分配する回路は下層の配線層を使用するという手法を用いることが多い。以下、回路全体にクロック信号を分配する配線をグローバル配線、小さな機能ブロック内にクロック信号を分配する配線をローカル配線と呼ぶ。したがって、配線層の違いを考慮する際、グローバル配線と、ローカル配線を分離して考えることは有効である。
【０２０２】
回路２では、配線net４１、net４２は配線層Ｍ３、Ｍ４のみを使用しており、配線net４３、net４４は配線層Ｍ１、Ｍ２のみを使用している。したがって、配線net４１、net４２をグローバル配線、配線net４３、net４４をローカル配線と考え、階層分割することができる。
【０２０３】
グローバル配線では、前段クロックパスの配線層依存遅延比率は、配線層Ｍ３が０.１、配線層Ｍ４が０.９、後段クロックパスの配線層依存遅延比率は配線層Ｍ３が０.９、配線層Ｍ４が０.１であり、配線層Ｍ１、Ｍ２はともに０である。グローバル配線の異配線層遅延比率は、配線層Ｍ３、Ｍ４のみを用いて、式４０２より、以下のように計算できる。
１−(ｍｉｎ(０.１０,０.９０)＋ｍｉｎ(０.９０,０.１０))＝０.８０
同様に、ローカル配線について異配線層遅延比率は、以下のように計算できる。
１−(ｍｉｎ(０.５０,０.８０)＋ｍｉｎ(０.５０,０.２０))＝０.３０
次に、階層別クロックスキューマージン計算工程Ｓ５２は、階層別異配線層遅延比率Ｄ５１を入力し、クロックスキューマージンＤ１３を出力する。
【０２０４】
本発明の第４の実施の形態では、配線層ばらつき差はクロック配線で使用するすべての配線層の組み合わせで最もばらつき差の大きな値を使用したが、階層別クロックスキューマージン計算工程Ｓ５２では、階層ごとに分けてばらつき差を考え、各階層で使用するすべての配線層の組み合わせで最もばらつき差の大きな値を使用する。
【０２０５】
回路２では、グローバル配線は配線層Ｍ３、Ｍ４のみ使用するため、グローバル配線の配線層ばらつき差は２８％、ローカル配線は配線層Ｍ１、Ｍ２のみ使用するため、ローカル配線の配線層ばらつき差は１４％となる。したがって、クロックスキューマージンは、式４０７を用いて、以下のように計算できる。
(１＋８０％×７０％×１４％)×５００ｐｓ−５００ｐｓ
＋(１＋３０％×５０％×２８％)×５００ｐｓ−５００ｐｓ＝６１ｐｓ
と計算することがでる。
【０２０６】
回路２では、第４の実施の形態の方法で与えられるクロックスキューマージンは１００ｐｓであるのに対し、第５の実施の形態の方法で与えられるクロックスキューマージンは６１ｐｓと、３９ｐｓ小さな値となる。回路２では、配線層Ｍ１、Ｍ２と配線層Ｍ３、Ｍ４は同じ階層ブロックの中で同時に使用されることはないため、グローバル配線では配線層Ｍ３とＭ４のばらつき差、ローカル配線では配線層Ｍ１とＭ２のばらつき差のみを考えればよい。したがって、第５の実施の形態の方法により、過剰となっているマージンが削減可能である。
（第６の実施の形態）
本発明の第６の実施の形態による半導体集積回路のタイミング解析方法について図２２を用いて説明する
まず始めに、配線ばらつき要素分離工程Ｓ６１は、配線ばらつきのばらつき要素をランダム成分とシステマチック成分に分離し、配線層ごとのランダムばらつきの差を計算する。
【０２０７】
次に、タイミング検証配線工程Ｓ６２は、ばらつき要素分離工程Ｓ６１で計算した配線層ごとのランダムばらつきの差を用いて、配線層の違いによるばらつき差を考慮したタイミング検証を行う。タイミング検証工程Ｓ６１は、本発明の第１から第５の実施の形態の方法などにより実現することができる。
【０２０８】
本発明の第１〜第５の実施の形態では、配線層の違いによるばらつき差の影響を考慮したタイミング解析手法を提案したが、配線のばらつきは、配線密度などの周囲の影響の差によって生じるシステマチックなばらつき成分と、製造時の温度などの違いによるランダムなばらつき成分に分けることができる。配線層の違いで異なるばらつき成分は主にランダムなばらつき成分であり、配線ばらつきのすべてを配線層の違いによるばらつき差としてスキューマージンを設定することは過剰マージンとなる。
【０２０９】
第６の実施の形態の方法では、配線のばらつきをランダム成分とシステマチック成分に分離し、各配線層のランダムなばらつき成分を用いて、配線層の違いによるクロックスキューマージンを設定する。システマチックなばらつき成分は、周囲の配線密度などをより詳細に解析しシミュレーション精度を向上させることや、配線密度などの要素を一様とすることで影響を減らすことができる。また、ばらつき要素から取り除くことも可能である。除去できないシステマチックなばらつき成分は、例えば、特許文献２のばらつき検証手法により、配線密度の影響を考慮したばらつきマージンとし、本発明のマージンと組み合わせて検証することができる。
【産業上の利用可能性】
【０２１０】
本発明にかかる半導体集積回路のタイミング解析方法は、クロックラインの配線層の違いによるばらつき差を考慮したタイミング検証を可能とし、設計マージンの精度の向上による歩留り向上、修正工数および修正時のセル面積の増加の抑制、および設計マージンの削減を図るのに好適である。
【図面の簡単な説明】
【０２１１】
【図１】本発明の実施の形態１による半導体装置のタイミング解析方法の各工程を表すフローチャートを示す図である。
【図２】半導体集積回路の配線層の構造の一例を示す図である。
【図３】配線ばらつき値の内容を示す図である。
【図４】配線層容量比率の内容を示す図である。
【図５】クロックスキューの内容を示す図である。
【図６】配線層のばらつきの違いを考慮したホールドタイム解析を行う回路の一例を示す図である。
【図７】クロックパスで使用する配線の配線層数が２層であるときの、配線層ごとの配線ばらつきの組み合わせを示す図である。
【図８】クロックパスで使用する配線の配線層数が３層であるときの、配線層ごとの配線ばらつきの組み合わせを示す図である。
【図９】クロックパスで使用する配線の配線層数が２層であるときの、クロックスキューマージンの計算例を示す図である。
【図１０】本発明の実施の形態２による半導体装置のタイミング解析方法の各工程を表すフローチャートを示す図である。
【図１１】異配線層ばらつき差の内容を示す図である。
【図１２】異配線層容量比率の内容を示す図である。
【図１３】本発明の実施の形態１と本発明の実施の形態２によるクロックスキューマージンの比較を行った図である。
【図１４】本発明の実施の形態３による半導体装置のタイミング解析方法の各工程を表すフローチャートを示す図である。
【図１５】本発明の実施の形態４による半導体装置のタイミング解析方法の各工程を表すフローチャートを示す図である。
【図１６】配線依存遅延比率の内容を示す図である。
【図１７】異配線層遅延比率の内容を示す図である。
【図１８】配線依存遅延比率を回路シミュレーションと近似式によって求めた結果の比較を行った図である。
【図１９】配線層の違いを考慮したホールドタイム解析を行う４層の配線層を使用する回路の一例を示す図である。
【図２０】本発明の実施の形態５による半導体装置のタイミング解析方法の各工程を表すフローチャートを示す図である。
【図２１】階層別異配線層遅延比率の内容を示す図である。
【図２２】本発明の実施の形態６による半導体装置のタイミング解析方法の各工程を表すフローチャートを示す図である。
【符号の説明】
【０２１２】
Ｍ１、Ｍ２、Ｍ３、Ｍ４  配線層
cell１、cell２、cell４１、cell４２、cell４３、cell４４  駆動ドライバ
net１、net２、net３、net４１、net４２、net４３、net４４、net４５  配線
F001、F002、F401、F402  フリップフロップ
【図１】
2007286800.tif 000012
【図２】
2007286800.tif 000013
【図３】
2007286800.tif 000014
【図４】
2007286800.tif 000015
【図５】
2007286800.tif 000016
【図６】
2007286800.tif 000017
【図７】
2007286800.tif 000018
【図８】
2007286800.tif 000019
【図９】
2007286800.tif 000020
【図１０】
2007286800.tif 000021
【図１１】
2007286800.tif 000022
【図１２】
2007286800.tif 000023
【図１３】
2007286800.tif 000024
【図１４】
2007286800.tif 000025
【図１５】
2007286800.tif 000026
【図１６】
2007286800.tif 000027
【図１７】
2007286800.tif 000028
【図１８】
2007286800.tif 000029
【図１９】
2007286800.tif 000030
【図２０】
2007286800.tif 000031
【図２１】
2007286800.tif 000032
【図２２】
2007286800.tif 000033