(57)【特許請求の範囲】
【請求項１】
コンピュータを用いて回路解析を行う方法であって、
解析対象回路のレイアウトデータから前記解析対象回路内における複数のノードの座標を検出するステップと、
前記複数のノードの座標を参照して、前記複数のノードの全てを含む領域を複数定義し、前記複数の領域の中で最小の領域を特定するステップと、
前記最小の領域の大きさを規定する距離パラメータを算出するステップと、
前記距離パラメータを用いてばらつき係数を特定するステップと、
前記ばらつき係数を用いて前記解析対象回路における遅延時間を算出するステップと、
を具備し、
前記距離パラメータを算出するステップは、前記複数のノードの座標を参照して、前記複数のノードの全てを含む最小の矩形の対角線長を算出するステップを備え、
前記ばらつき係数を特定するステップは、前記最小の矩形の対角線長を用いてばらつき係数を特定するステップを備え、
前記最小の矩形の対角線長を算出するステップは、
基準点を中心として所定の角度で前記複数のノードを回転し、前記複数のノードの座標を変更するステップと、
前記座標が変更された複数のノードを包含し、Ｘ軸に並行な２辺と、前記Ｘ軸に直交するＹ軸に並行な２辺を有する矩形の対角線長を算出するステップと、
前記角度を変更して前記座標を変更するステップと前記対角線長を算出するステップを繰り返し、算出された複数の対角線長の中で最小の対角線長を、前記最小の矩形の対角線長として選択するステップと、
を備える
回路解析方法。
【請求項２】
コンピュータを用いて回路解析を行う方法であって、
解析対象回路のレイアウトデータから前記解析対象回路内における複数のノードの座標を検出するステップと、
前記複数のノードの座標を参照して、前記複数のノードの全てを含む領域を複数定義し、前記複数の領域の中で最小の領域を特定するステップと、
前記最小の領域の大きさを規定する距離パラメータを算出するステップと、
前記距離パラメータを用いてばらつき係数を特定するステップと、
前記ばらつき係数を用いて前記解析対象回路における遅延時間を算出するステップと
を具備し、
前記距離パラメータを算出するステップは、前記複数のノードの座標を参照して、前記複数のノードの全てを含む最小の矩形の対角線長を算出するステップを備え、
前記ばらつき係数を特定するステップは、前記最小の矩形の対角線長を用いてばらつき係数を特定するステップを備え、
前記最小の矩形の対角線長を算出するステップは、
前記複数のノードの全てを含む凸包を算出するステップと、
前記凸包の一辺を有し、前記複数のノードの全てを含む矩形の対角線長を算出する第１ステップと、
前記凸包の全ての辺に対して前記第１ステップを行うことにより算出された複数の対角線長の中で最小の対角線長を、前記最小の矩形の対角線長として選択するステップと
を備える
回路解析方法。
【請求項３】
請求項１又は２に記載の回路解析方法をコンピュータに実行させる
回路解析プログラム。
【請求項４】
解析対象回路のレイアウト情報が格納された記憶装置と、
前記解析対象回路のレイアウトデータから前記解析対象回路内における複数のノードの座標を検出する解析パス位置特定部と、
前記複数のノードの座標を参照して、前記複数のノードの全てを含む領域を複数定義し、前記複数の領域の中で最小の領域を特定し、前記最小の領域の大きさを規定する距離パラメータを算出する距離パラメータ算出部と、
前記距離パラメータを用いてばらつき係数を特定するばらつき係数特定部と、
前記ばらつき係数を用いて前記解析対象回路における遅延時間を算出する遅延時間算出部と
を具備し、
前記距離パラメータ算出部は、基準点を中心として所定の角度で前記複数のノードを回転し、前記複数のノードの座標を変更し、前記座標が変更された複数のノードを包含し、Ｘ軸に並行な２辺と、前記Ｘ軸に直交するＹ軸に並行な２辺を有する矩形の対角線長を算出し、前記座標を変更して前記対角線長を算出することを繰り返し、算出された複数の対角線長の中で最小の対角線長を出力し、
前記ばらつき係数特定部は、前記最小の対角線長を用いてばらつき係数を特定する
回路解析装置。
【請求項５】
解析対象回路のレイアウト情報が格納された記憶装置と、
前記解析対象回路のレイアウトデータから前記解析対象回路内における複数のノードの座標を検出する解析パス位置特定部と、
前記複数のノードの座標を参照して、前記複数のノードの全てを含む領域を複数定義し、前記複数の領域の中で最小の領域を特定し、前記最小の領域の大きさを規定する距離パラメータを算出する距離パラメータ算出部と、
前記距離パラメータを用いてばらつき係数を特定するばらつき係数特定部と、
前記ばらつき係数を用いて前記解析対象回路における遅延時間を算出する遅延時間算出部と
を具備し、
前記距離パラメータ算出部は、前記複数のノードの全てを含む凸包を算出し、前記凸包の一辺を有し、前記複数のノードの全てを含む最小の矩形の対角線長を算出することを前記凸包の全ての辺に対して行い、算出された複数の対角線長の中で最小の対角線長を出力し、
前記ばらつき係数特定部は、前記最小の対角線長を用いてばらつき係数を特定する
回路解析装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回路解析方法、回路解析プログラム、及び回路解析装置に関し、特に、設計対象回路のタイミング解析を行う回路解析方法、回路解析プログラム、及び回路解析装置に関する。
【背景技術】
【０００２】
集積回路のタイミング解析において、遅延時間を計算する際、パス間の遅延時間のばらつきを考慮する必要がある。この場合、パス毎の遅延時間に対し、一律のばらつき係数を乗じることで、ばらつきに起因する最大遅延時間と最小遅延時間が算出される。ばらつき係数は、回路内の位置や、２つの素子間の距離に依存した距離依存ばらつき（システマティック成分）と、パス上のステージ（素子）毎に現れ、他の素子におけるばらつきと相関のないばらつき（ランダム成分）とを考慮して算出される。
【０００３】
２つのパスにおける遅延時間の相対ばらつきをシステマティック成分とランダム成分とに分離し、当該システマティック成分とランダム成分を用いて遅延時間を算出する技術が、例えば、特開２００５−１００３１０に記載されている（特許文献１参照）。
【０００４】
特許文献１に記載の技術において、遅延時間の相対ばらつきのシステマティック成分は、相対するパスにおけるステージ相互の距離と、当該ステージの遅延時間とを用いて求められる。又、遅延時間の相対ばらつきのランダム成分は、パス毎のステージの段数に基づいて求められる。
【０００５】
特許文献１に記載の技術では、遅延時間の相対ばらつきのシステマティック成分は、相対する２つのパスにおける素子（ステージ）間の距離に依存する関数として定められる。ここで、ｎ段目の素子（ステージ）におけるシステマティック成分による遅延変動分（ばらつき係数）は、ｎ段目の素子と、相対するパスにおける素子のそれぞれとの間の距離に基づいて算出されたばらつき係数の和として求められる。
【０００６】
上述のように、システマティック成分は、相対パスの全ての素子との間のばらつき係数を計算する必要がある。このため、解析対象回路の素子数の増大に伴い、相対ばらつきのシステマティック成分の計算量は増大している。
【０００７】
このような計算量の増大を緩和するため、相対する２つのパスにおける素子（ステージ）間の距離の代わりに、所定の値（距離パラメータ）を用いて解析対象回路における遅延時間のシステマティック成分の近似値を算出する技術が利用されている。例えば、解析対象回路中の全てのノード（素子）を包含する矩形の対角線に基づいてばらつき係数のシステマティック成分が算出される。詳細には、解析対象回路においてパスを形成する全ての組み合せ回路をノードとし、当該ノードのＸＹ座標を抽出する。抽出したノードの座標を参照して、Ｘ座標が最小のノード、Ｙ座標が最小のノード、Ｘ座標が最大のノード、Ｙ座標が最大のノードを検索する。検索されたノードを通り、Ｘ軸及びＹ軸に並行な辺を有する矩形を定義する。そして、当該矩形の対角線長をシステマティック成分を求める関数における素子間の距離（距離パラメータ）として代入し、ばらつき係数のシステマティック成分を算出する。
【０００８】
全てのノードを包含する矩形の対角線長を用いて算出されたシステマティック成分は、遅延時間のばらつきの最大値に近似した値となる。このような近似したシステマティック成分を用いることで、解析対象回路に対し、最も厳しい制約条件におけるタイミング解析を高速に行うことができる。
【特許文献１】特開２００５−１００３１０
【発明の開示】
【発明が解決しようとする課題】
【０００９】
一方、解析対象回路の形状、すなわち、回路内のノード（素子）が分布する領域の形状は回路毎に異なる。又、従来技術による方法では、解析対象回路のレイアウトデータの座標をそのまま用いて矩形を定義しているため、矩形の対角線が必要以上に長くなる場合がある。このような場合、ＬＯＶＣ（Ｌｏｃａｔｉｏｎ  ｌｅｖｅｌ  ｂａｓｅｄ  Ｏｎ  Ｃｈｉｐ  Ｖａｒｉａｔｉｏｎ）の距離依存性が悲観的となり、厳しい制約条件下でタイミング解析が行われることとなる。すなわち、従来の方法で遅延解析を行う場合、遅延時間のばらつきに対する制約条件が悲観的となるため、精度の高い回路解析を行うことができない。又、回路設計では、ばらつきに依存した設計マージンが必要となる。このため、遅延時間のばらつきが大きい場合、設計マージンが大きくなり設計収束に時間がかかってしまう。
【課題を解決するための手段】
【００１０】
以下に、［発明を実施するための最良の形態］で使用される番号・符号を括弧付きで用いて、［課題を解決するための手段］を説明する。この番号・符号は、［特許請求の範囲］の記載と［発明を実施するための最良の形態］の記載との対応関係を明らかにするために付加されたものであるが、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【００１１】
本発明による回路解析装置（１０）は、解析対象回路のレイアウト情報が格納された記憶装置（１３）と、解析パス位置特定部（２１１）と、距離パラメータ算出部（２１４）と、係数特定部（２１５）と、遅延時間算出部（２１６）とを具備する。解析パス位置特定部（２１１）は、解析対象回路のレイアウトデータから解析対象回路内における複数のノードの座標を検出する。距離パラメータ算出部（２１４）は、複数のノードの座標を参照して、複数のノードの全てを含む領域を複数定義し、複数の領域の中で最小の領域を特定する。そして、距離パラメータ算出部（２１４）は、特定した最小の領域の大きさを規定する距離パラメータ（１００）を算出する。ばらつき係数特定部（２１５）は、距離パラメータ（１００）を用いてばらつき係数（３００）を特定する。遅延時間算出部（２１６）は、ばらつき係数（３００）を用いて解析対象回路における遅延時間（４００）を算出する。このように、本発明による回路解析装置（１０）は、解析回路内の全てのノードを包含する最小の領域に基づいてばらつき係数（３００）を特定するための距離パラメータ（１００）を算出している。このため、精度の高いばらつき係数（３００）を算出できるとともに、タイミング解析に用いる制約条件の悲観性を緩和することができる。
【００１２】
本発明による回路解析方法は、コンピュータにおいて実行されることで実現される。本発明による解析方法は、解析対象回路のレイアウトデータ（２２）から解析対象回路内における複数のノードの座標を検出するステップと、複数のノードの座標を参照して、複数のノードの全てを含む領域を複数定義し、定義した複数の領域の中で最小の領域を特定するステップと、最小の領域の大きさを規定する距離パラメータ（１００）を算出するステップと、距離パラメータ（１００）を用いてばらつき係数（３００）を特定するステップと、ばらつき係数（３００）を用いて解析対象回路における遅延時間を算出するステップとを具備する。
【００１３】
このように、本発明による回路解析方法によれば、解析回路内の全てのノードを包含する最小の領域に基づいてばらつき係数（３００）を特定するための距離パラメータ（１００）を算出する。このため、精度の高いばらつき係数（３００）を算出できるとともに、タイミング解析に用いる制約条件の悲観性を緩和することができる。
【発明の効果】
【００１４】
本発明による回路解析方法、回路解析プログラム、及び回路解析装置によれば、精度の高いタイミング解析を行うことができる。
【００１５】
又、設計時間を短縮し、設計コストを低減することができる。
【発明を実施するための最良の形態】
【００１６】
以下、添付図面を参照して、本発明による回路解析方法、回路解析プログラム、及び回路解析装置の実施の形態を説明する。
【００１７】
図１及び図２を参照して、本発明による回路解析装置１０の実施の形態における構成を説明する。図１は、本発明による回路解析装置１０の実施の形態における構成図である。図１を参照して、回路解析装置１０は、バス１６を介して相互に接続されるＣＰＵ１１と、ＲＡＭ１２と、記憶装置１３と、入力装置１４と、出力装置１５とを具備する。記憶装置１３はハードディスクやメモリ等の外部記憶装置である。又、入力装置１４は、キーボードやマウス等のユーザによって操作されることで、各種データをＣＰＵ１１や記憶装置１３に出力する。出力装置１５は、モニタやプリンタに例示され、ＣＰＵ１１から出力される半導体装置のレイアウト結果をユーザに対し視認可能に出力する。
【００１８】
記憶装置１３は、回路解析プログラム２１、レイアウトデータ２２、ばらつき情報２３、遅延情報２４、回路情報２５を格納している。ＣＰＵ１１は、入力装置１４からの入力に応答して、記憶装置１３内の回路解析プログラム２１を実行し、タイミング解析を行う。この際、記憶装置１３からの各種データやプログラムはＲＡＭ１２に一時格納され、ＣＰＵ１１は、ＲＡＭ１２内のデータを用いて各種処理を実行する。
【００１９】
図２を参照して、レイアウトデータ２２は、レイアウト設計された解析対象回路の素子や配線の位置情報（例えば座標情報）を含む。レイアウトデータ２２は、例えば、拡散層や配線層のレイアウトを示すＧＤＳ形式のデータである。
【００２０】
ばらつき情報２３は、相対する２つのパス（以下、相対パスと称す）の遅延時間のばらつき（ばらつき係数）を決定するための情報である。ここで、ばらつき係数は、回路内の位置や、相対パス間の素子と素子との間の距離（距離パラメータ）に依存した距離依存ばらつき（システマティック成分）と、パス上のステージ（素子）毎に現れ、他の素子におけるばらつきと相関のないばらつき（ランダム成分）とを含む。システマティック成分は、距離パラメータによって一意に決定し、ランダム成分はステージの段数によって一意に決定する。このため、ばらつき係数は、距離パラメータとステージの段数に基づいて一意に決まる。
【００２１】
ばらつき情報２３は、例えば、ＬＳＩにおける相対パス間の遅延時間のばらつき（ばらつき係数）の実測値である。この場合、ある素子と他のパス内の素子との距離（距離パラメータ）や、相対パス内のステージ（素子）の段数を変更して測定された、遅延時間のばらつき（ばらつき係数）がばらつき情報２３として記憶装置１３に記録される。すなわち、特定した距離パラメータやステージの段数に対応するばらつき係数の実測値を、ばらつき情報２３から抽出することで、ばらつき係数を一意に決定することができる。
【００２２】
あるいは、ばらつき情報２３は、距離パラメータとステージの段数とを変数とする関数でも良い。この場合でも、距離パラメータやステージの段数が決まれば、ばらつき情報２３（関数）にそれぞれの値を代入することでばらつき係数を一意に決定することができる。
【００２３】
ばらつき情報２３は、半導体集積回路に利用されるテクノロジによって異なる値を示す。例えば、距離パラメータやステージ段数が同じ値でも、テクノロジが異なれば、異なるばらつき係数となる。このため、ばらつき情報２３として、異なるテクノロジの半導体集積回路毎に測定されたばらつき係数の実測値、あるいは異なるテクノロジの半導体集積回路毎の関数が記録される。
【００２４】
理想的には、テクノロジ毎に異なる関数をばらつき情報２３として保持し、これを用いてばらつき係数を算出することが好ましい。しかし、様々なテクノロジに対応して個別の関数を求めることは労力を必要とする。このため、ばらつき係数を算出するための関数よりも、ばらつき係数の実測値をばらつき情報２３として保持する方が、現実的であり、設計効率や設計コストを向上させることになる。
【００２５】
遅延情報２４は、素子の性質、形状等や配線の組成や形状に応じて算出、あるいは実測されたパス毎の遅延時間を示す情報である。回路情報２５は、解析対象回路内における素子間の接続情報を含む。
【００２６】
回路解析プログラム２１は、ＣＰＵ１１によって実行されることで、図２に示す解析パス特定部２１１、解析パス段数特定部２１２、座標抽出部２１３、距離パラメータ算出部２１４、ばらつき係数特定部２１５、遅延時間算出部２１６の各機能を実現する。
【００２７】
解析パス特定部２１１は、回路情報２５に基づき、ばらつきを考慮した遅延時間を算出する対象となる相対パス（以下、解析パスと称す）を特定する。解析パス段数特定部２１２は、解析パス特定部２１１で特定された解析パスを参照して、解析パス内のステージ（素子）の段数２００を特定する。座標抽出部２１３は、解析パス特定部２１１で特定された解析パス内の素子の位置座標（ＸＹ座標）を抽出する。
【００２８】
距離パラメータ算出部２１４は、座標抽出部２１３で抽出された、解析パス内における各素子の座標に基づき、ばらつき係数を求めるための距離パラメータ１００を算出する。ここでは、解析パス全体で１つの距離パラメータ１００が算出される。従来技術では、相対パス間における各素子間の距離を用いたばらつき係数の総和を、ばらつき係数のシステマティック成分として算出しているが、本発明による回路解析装置１０では、１つの距離パラメータを用いて解析パにおけるのばらつき係数のシステマティック成分を特定、あるいは算出する。距離パラメータ算出部２１４の動作の詳細は後述する。
【００２９】
ばらつき係数特定部２１５は、ばらつき情報２３、距離パラメータ１００、段数２００とを用いてばらつき係数３００を特定する。ここで、ばらつき係数特定部２１５は、解析対象回路のテクノロジに対応するばらつき情報２３を取得する。取得したばらつき情報２３が、ばらつき係数の実測値である場合、ばらつき係数特定部２１５は、取得した距離パラメータ１００及び段数２００に対応するばらつき係数３００をばらつき情報２３から抽出し、遅延時間算出部２１６に出力する。あるいは、取得したばらつき情報２３が、ばらつき係数を算出するための関数である場合、ばらつき係数特定部２１５は、取得した距離パラメータ１００及び段数２００をばらつき情報２３に代入してばらつき係数３００を算出する。
【００３０】
遅延時間算出部２１６は、遅延情報２４及びばらつき係数３００を用いて、解析パスにおける遅延時間４００を算出し、タイミング解析結果として記憶装置１３に記録する。遅延時間算出部２１６は、解析パスに対して算出された１つの距離パラメータ１００を用いて、解析パスの遅延時間を算出する。このため、解析パスにおける最大ばらつきを考慮した遅延時間の近似値を得ることができる。
【００３１】
（第１の実施の形態）
次に、図３から図８を参照して、本発明による距離パラメータ算出部２１４の第１の実施の形態における動作の詳細を説明する。第１の実施の形態における距離パラメータ算出部２１４は、解析パス内の全ての素子（以下、ノードと称す）を包含する最小面積の矩形を特定し、当該矩形の対角線を距離パラメータ１００として出力する。
【００３２】
図３は、解析パスのレイアウトの一例を示す図である。本実施の形態では、図３に示す解析パスのタイミング解析を行うものとして説明する。座標抽出部２１３は、レイアウトデータ２２に基づき、解析対象パス内のノードの位置座標を抽出する。ここでは、図３に示すように、ノードの位置座標として座標Ｐ１〜Ｐ５が抽出される。
【００３３】
距離パラメータ算出部２１４は、解析パス内の全てのノードを包含し、Ｘ軸、Ｙ軸に平行な辺を有する矩形を定義する。すなわち、図４に示すように、Ｘ座標が最小のノード（座標Ｐ１）、Ｙ座標が最小のノード（座標Ｐ２）、Ｘ座標が最大のノード（座標Ｐ４）、Ｙ座標が最大のノード（座標Ｐ３）を通る辺を有する矩形が定義される。そして、距離パラメータ算出部２１４は、図５に示すように、定義された矩形の１つの角を原点に、当該角を通る２辺をそれぞれＸ軸、Ｙ軸に接するように矩形を平行移動する。これにより、全てのノードは矩形とともに平行移動する。距離パラメータ算出部２１４は、平行移動後の矩形Ｓ１の対角線長Ｌ１を回転角０°と対応付けて記憶装置１３に記録する。
【００３４】
次に、図６を参照して、距離パラメータ算出部２１４は、矩形Ｓ１を原点を中心として所定の角度Δ°回転させる。この際、全てのノード（座標Ｐ１〜Ｐ５）は、矩形Ｓ１とともに回転する。これにより、ノードの座標Ｐ１〜Ｐ５は、角度Δ°だけ回転変換され、座標Ｐ１’〜Ｐ５’となる。次に、距離パラメータ算出部２１４は、回転変換後のノードを全て包含し、Ｘ軸、Ｙ軸に平行な辺を有する矩形Ｓ２を新たに定義する。すなわち、Ｘ座標が最小のノード（座標Ｐ１’）、Ｙ座標が最小のノード（座標Ｐ２’）、Ｘ座標が最大のノード（座標Ｐ４’）、Ｙ座標が最大のノード（座標Ｐ３’）を通る辺を有する矩形Ｓ２を定義する。そして、距離パラメータ算出部２１４は、回転変換後の矩形Ｓ２の対角線長Ｌ２を回転角Δ°と対応付けて記憶装置１３に記録する。
【００３５】
距離パラメータ算出部２１４は同様に、矩形２（ノード）を、原点、Ｘ軸及びＹ軸に平行移動した後、矩形２（ノード）を原点を中心に所定の角度Δ°回転させ、新たな矩形を定義し、新たな矩形の対角線を、回転した角度（ここでは２×Δ°）に対応付けて記録する。
【００３６】
距離パラメータ算出部２１４は、回転角をΔ°とし、同様な矩形（ノード）の平行移動及び回転変換を繰り返し、回転後に定義した矩形の対角線を記録する。図７は、回転角を０°から１８０°までΔ°毎回転させて得られた対角線長を示す図である。図７を参照して、矩形（ノード）を回転変換し、新たな矩形を定義することで、矩形の対角線長は変化する。距離パラメータ算出部２１４は、算出した対角線長から最も短い長さの対角線長Ｌｎを抽出し、これを距離パラメータ１００として出力する。ここでは、回転角がｎΔ°のときの矩形Ｓｎの対角線長Ｌｎが最小値を示す。すなわち、図８に示すように、解析パスにおける全てのノードの座標Ｐ１〜Ｐ５を、角度ｎΔ°で回転変換して得られた座標Ｐ１’〜Ｐ５’を通る矩形Ｓｎの対角線長Ｌｎが距離パラメータ１００として出力される。
【００３７】
以上のように、本実施の形態における距離パラメータ算出部２１４は、レイアウトデータ２２から得られた素子（ノード）の座標を平行移動及び回転変換することで、解析パス内のノードの相対位置を変更せずに、全てのノードを包含する最小の矩形Ｓｎを特定する。そして、距離パラメータ算出部２１４は最小の矩形Ｓｎの対角線長Ｌｎを距離パラメータ１００として出力する。
【００３８】
ばらつき係数特定部２１５は、距離パラメータ１００として入力された対角線長Ｌｎと解析パスの段数２００とを用いてばらつき係数３００を特定する。ここで使用される距離パラメータ１００は、解析パス内の全てのノードを包含する最も小さな矩形に基づいた長さである。このため、ノードの位置的ばらつきの最小範囲を距離パラメータ１００に精度良くに反映することができる。従って、本発明によれば、ばらつき係数３００における距離依存ばらつき成分（システマティック成分）を従来技術よりも正確に計算することができる。
【００３９】
又、距離パラメータ１００は、従来技術に比べ短い長さとなっているため、タイミング解析に対する制約条件の悲観性を緩和することができる。すなわち、遅延時間のばらつきに対する制約条件が従来よりも緩和されるため、設計マージンが小さくし、設計収束の時間を短縮することができる。
【００４０】
上述のように、最小の矩形Ｓｎが定義された後、角度Δ°より小さな角度で、矩形Ｓｎ（ノード）を並行変換及び回転変換させて、更に精度良く最小の矩形（対角線長）を定義しても良い。この場合、更に短い対角線長を距離パラメータ１００として用いることができるため、より精度の高いタイミング解析が可能となる。回転角Δ°の大きさや計算回数は、解析対象回路の規模や計算を行うコンピュータの性能に応じて適宜選択され得る。
【００４１】
（第２の実施の形態）
次に、図３、図９及び図１０を参照して、本発明による距離パラメータ算出部２１４の第２の実施の形態における動作の詳細を説明する。第２の実施の形態における距離パラメータ算出部２１４は、解析パス内の全ての素子（以下、ノードと称す）を包含する最小面積の円を特定し、当該円の直径を距離パラメータ１００として出力する。
【００４２】
本実施の形態では、図３に示す解析パスのタイミング解析を行うものとして説明する。座標抽出部２１３は、レイアウトデータ２２に基づき、解析対象パス内のノードの位置座標を抽出する。ここでは、図３に示すように、ノードの位置座標として座標Ｐ１〜Ｐ５が抽出される。
【００４３】
本実施の形態における距離パラメータ算出部２１４は、解析パス内の全てのノードから任意の３つのノードを指定し、指定した３つのノードを通る円を定義する。図９を参照して、例えば、距離パラメータ算出部２１４は、ノード（座標Ｐ１〜Ｐ５）から３つのノード（座標Ｐ１、Ｐ２、Ｐ３）を抽出し、３つのノードのうち、２点（座標Ｐ１、Ｐ３）間の中線と、他の２点（座標Ｐ２、Ｐ３）の中線の交点を、円Ｓｃ１の中心Ｏ１として定義する。
【００４４】
距離パラメータ算出部２１４は、定義した円Ｓｃ１が解析パス内の全てのノード（座標Ｐ１〜Ｐ５）を包含するかどうかを判定する。この際、距離パラメータ算出部２１４は、全てのノードを包含している場合、当該円の直径を記憶装置１３に記録する。例えば、図１０に示すように、３つのノード（座標Ｐ１、Ｐ３、Ｐ４）を通る円Ｓｃｎは、全てのノードを包含しているため、円Ｓｃｎの直径Ｄｎは記録される。
【００４５】
距離パラメータ算出部２１４は、解析パス内の全てのノードにおいて、組み合せ可能な３つのノードの全てに対し、円の定義付け、円が全てのノードを包含するかどうかの判定、直径Ｄｎの記録を実施する。そして、距離パラメータ算出部２１４は、記録された直径のなかで最も短い直径を距離パラメータ１００として出力する。
【００４６】
以上のように、本実施の形態における距離パラメータ算出部２１４は、レイアウトデータ２２から得られた素子（ノード）を包含する最小の円を特定し、その直径を距離パラメータ１００として出力する。
【００４７】
ばらつき係数特定部２１５は、距離パラメータ１００として入力された直径Ｄｎと解析パスの段数２００とを用いてばらつき係数３００を特定する。ここで使用される距離パラメータ１００は、解析パス内の全てのノードを包含する最も小さな円に基づいた長さである。このため、ノードの位置的ばらつきの最小範囲を距離パラメータ１００に精度良くに反映することができる。従って、本発明によれば、ばらつき係数３００における距離依存ばらつき成分（システマティック成分）を従来技術よりも正確に計算することができる。又、全てのノードを包含する形状が円形であるため、解析パス内におけるノードの分布形状に偏りがある場合でも、その偏りを平均化した距離パラメータ１００を特定することができる。
【００４８】
又、距離パラメータ１００は、全ノードを包含する最小の円の長さとなっているため、タイミング解析に対する制約条件の悲観性を緩和することができる。すなわち、遅延時間のばらつきに対する制約条件が従来よりも緩和されるため、設計マージンが小さくし、設計収束の時間を短縮することができる。
【００４９】
上述の一例では、距離パラメータ算出部２１４は、解析パス内の全てのノードから組み合せ可能な３つのノードの全てを抽出して円を定義している。しかし、全てのノードのうち、円を定義するために必要なノードを選択し、選択したノードの中から組み合せ可能な３つのノードの全てに基づき円を定義しても良い。例えば、図１１に示すように、距離パラメータ算出部２１４は、解析パス内の全てのノードを包含する最小の凸包Ｃｃを特定し、この凸包Ｃｃ上のノード（ここでは座標Ｐ１、Ｐ２、Ｐ３、Ｐ４）を選択する。続いて、選択したノードの中で組み合せが可能な３つのノードの全てについて、円を定義し、上述と同様に、最小の直径を特定する。このように、凸包を利用することで、円を定義するための３つのノードの組み合せ数を削減することができるため、距離パラメータ１００を算出するための計算量を軽減することができる。これにより、タイミング解析における解析負荷が軽減され、解析時間が短縮される。
【００５０】
凸包Ｃｃを用いて計算量を減じる方法は、矩形の対角線長Ｌｎを距離パラメータ１００とする方法にも適用できる。図１２を参照して、距離パラメータ算出部２１４は、レイアウトデータ２２から抽出されたノードの座標を参照して凸包Ｃｃを形成し、凸包Ｃｃの一辺を含む辺を有し、解析パス内の全てのノードを包含する最小の矩形を定義する。距離パラメータ算出部２１４は、定義した矩形の対角線長を記憶装置１３に記録する。同様に、凸包Ｃｃの全ての辺に対し、その辺を含む辺を有し、全てのノードを包含する最小の矩形の対角線長を記録する。距離パラメータ算出部２１４は、記録した対角線長の中で最も短い対角線長Ｌｎを距離パラメータ１００として出力する。このように、凸包を利用することで、対角線長を求めるための矩形の数を減じることができるため、距離パラメータ１００を算出するための計算量を軽減することができる。
【００５１】
又、解析パス内の全てのノードのうち最も離れたノード間の距離を距離パラメータ１００として利用してばらつき係数３００を特定しても良い。この場合、距離パラメータ算出部２１４は、全てのノードから組み合せ可能な２つのノード間の距離の全てを算出し、これらの距離のうち、最も長い距離を距離パラメータ１００として出力する。あるいは、距離パラメータ算出部２１４は、上述のように凸包を利用してノード間の距離を測定するノードを絞り込み、その中で最も長いノード間の距離を距離パラメータ１００として出力しても良い。
【００５２】
尚、本発明による回路解析装置１０によって出力されらタイミング解析結果（遅延時間４００）を用いて、設計対象回路のレイアウトの修正を行い、従来と同様なプロセスに従って、半導体集積回路を製造することができる。
【００５３】
以上、本発明の実施の形態を詳述してきたが、具体的な構成は上記実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。距離パラメータ１００を算出する方法は、解析パスのレイアウトや素子の数に応じて最適な方法が上述の方法から適宜選択され得る。
【図面の簡単な説明】
【００５４】
【図１】図１は、本発明による回路解析装置の実施の形態における構成を示す図である。
【図２】図２は、本発明による回路解析装置の実施の形態における構成を示すブロック図である。
【図３】図３は、本発明による回路解析装置の解析対象となる相対パス（解析パス）のレイアウトの一例を示す図である。
【図４】図４は、第１の実施の形態において距離パラメータを算出する際に定義される矩形の一例を示す図である。
【図５】図５は、平行移動した矩形（ノード）の一例を示す図である。
【図６】図６は、回転変換したノードと、新たに定義される矩形の一例を示す図である。
【図７】図７は、回転角を０°から１８０°までΔ°毎回転させて得られた対角線長を示す図である。
【図８】図８は、最小対角線長の一例を示す図である。
【図９】図９は、第２の実施の形態において距離パラメータを算出するために定義される円を示す図である。
【図１０】図１０は、解析パス内の全てのノードを包含する円の一例を示す図である。
【図１１】図１１は、本発明による距離パラメータの算出に利用される凸包の一例を示す図である。
【図１２】図１２は、凸包を用いて定義された矩形を示す図である。
【符号の説明】
【００５５】
１：半導体チップ
１０：回路解析装置
１１：ＣＰＵ
１２：ＲＡＭ
１３：記憶装置
１４：入力装置
１５：出力装置
２１：回路解析プログラム
２２：レイアウトデータ
２３：ばらつき情報
２４：遅延情報
２５：回路情報
２１１：解析パス特定部
２１２：解析パス段数特定部
２１３：座標抽出部
２１４：距離パラメータ算出部
２１５：ばらつき特定部
２１６：遅延時間算出部
１００：距離パラメータ
２００：段数
３００：ばらつき係数
４００：遅延時間
【図１】
0005075008.tif 000002
【図２】
0005075008.tif 000003
【図３】
0005075008.tif 000004
【図４】
0005075008.tif 000005
【図５】
0005075008.tif 000006
【図６】
0005075008.tif 000007
【図７】
0005075008.tif 000008
【図８】
0005075008.tif 000009
【図９】
0005075008.tif 000010
【図１０】
0005075008.tif 000011
【図１１】
0005075008.tif 000012
【図１２】
0005075008.tif 000013