(57)【特許請求の範囲】
【請求項１】
半導体集積回路のラプラス変換されたアドミッタンスのｎ次までの項で信号の電圧波形を計算し、前記半導体集積回路の信号遅延時間を近似的に求める半導体集積回路の信号遅延時間計算方法（ＡＷＥ）において、
前記半導体集積回路のラプラス変換されたアドミッタンスを求める第１のステップと、
前記第１のステップで求められたアドミッタンスを駆動する電圧源のラプラス変換された電圧波形を求める第２のステップと、
前記第１のステップで求められたアドミッタンスと、前記第２のステップで求められた電圧波形を用いて、前記半導体集積回路の任意の場所のラプラス変換された電圧波形を求める第３のステップと、
前記第３のステップで求められた電圧波形を、該電圧波形の極と剰余を求めて実時間の電圧波形に近似する第４のステップと、
前記第４のステップで求められた実時間の電圧波形に基づいて、前記半導体集積回路の信号遅延時間を計算する第５のステップと、
前記第４のステップで求められた極の中に実数部が０より大きい極を含む場合には、前記第５のステップで求められた信号遅延時間が、予め設定された精度範囲内で求められたか否かを判定する第６のステップと
を具備することを特徴とする半導体集積回路の信号遅延時間計算方法。
【請求項２】
前記第２のステップの電圧源を、内部抵抗、電圧変化開始時間ならびに電圧変化の傾きをパラメータとした電圧源に近似する
ことを特徴とする請求項１記載の半導体集積回路の信号遅延時間計算方法。
【請求項３】
半導体集積回路における機能要素となるセルの入力信号の傾きと前記セルの出力端子の負荷容量を変数とした前記セルの出力端子における信号遅延時間の関数と、前記セルの入力信号の傾きと前記出力端子の負荷容量を変数とした前記出力端子の出力信号の傾きの関数とに基づいて、前記出力端子の出力信号の変化開始時間、ならびに出力信号の傾きをパラメータとするランプ電圧波形の電圧源と、内部抵抗を用いて前記セルの出力端子をモデル化し、半導体集積回路のラプラス変換されたアドミッタンスのｎ次までの項で信号の電圧波形を計算し、前記半導体集積回路の信号遅延時間を近似的に求める半導体集積回路の信号遅延時間計算方法（ＡＷＥ）において、
前記内部抵抗の値を計算する第１のステップと、
前記第１のステップで求められた内部抵抗値を固定し、前記出力端子の出力電圧の変化を時間に対して一次関数で表し、前記出力信号の変化開始時間、ならびに出力信号の傾きを求める第２のステップと、
前記第１のステップで求められた内部抵抗値と、前記第２のステップで求められた出力信号の傾きを固定し、出力信号の変化開始時間だけを変化させて出力信号の変化開始時間を求める第３のステップと
を具備することを特徴とする半導体集積回路の信号遅延時間計算方法。
【請求項４】
前記内部抵抗値は、前記出力端子の負荷容量、ならびに入力信号の傾きを変数とした出力信号の傾きの関数に基づいて計算する
ことを特徴とする請求項３記載の半導体集積回路の信号遅延時間計算方法。
【請求項５】
半導体集積回路における機能要素となるセルの入力信号の傾きと前記セルの出力端子の負荷容量を変数とした前記セルの出力端子における信号遅延時間の関数と、前記セルの入力信号の傾きと前記出力端子の負荷容量を変数とした前記出力端子の出力信号の傾きの関数とに基づいて、前記出力端子の出力信号の変化開始時間、ならびに出力信号の傾きをパラメータとするランプ電圧波形の電圧源と、内部抵抗を用いて前記セルの出力端子をモデル化し、半導体集積回路のラプラス変換されたアドミッタンスのｎ次までの項で信号の電圧波形を計算し、前記半導体集積回路の信号遅延時間を近似的に求める半導体集積回路の信号遅延時間計算方法（ＡＷＥ）において、
前記半導体集積回路のラプラス変換されたアドミッタンスを求める第１のステップと、
前記出力端子の負荷容量、ならびに入力信号の傾きを変数とした出力信号の傾きの関数に基づいて、前記内部抵抗の値を計算する第２のステップと、
前記第２のステップで求められた内部抵抗値を固定し、前記出力端子の出力電圧の変化を時間に対して一次関数で表し、前記出力信号の変化開始時間、ならびに出力信号の傾きを求める第３のステップと、
前記第２のステップで求められた内部抵抗値と、前記第３のステップで求められた出力信号の傾きを固定し、出力信号の変化開始時間だけを変化させて出力信号の変化開始時間を求め、前記セルの出力端子をモデル化する第４のステップと、
前記第２のステップで求められた内部抵抗値、前記第４のステップで求められた出力信号の変化開始時間、前記第３のステップで求められた出力信号の電圧の傾きを有する電圧源を用いて、ラプラス変換された電圧波形を求める第５のステップと、
前記第１のステップで求められたアドミッタンスと、前記第２のステップで求められた内部抵抗値、前記第５のステップで求められた電圧波形を用いて、前記半導体集積回路の任意の場所のラプラス変換された電圧波形を求める第６のステップと、
前記第６のステップで求められた電圧波形を、該電圧波形の極と剰余を求めて実時間の電圧波形に近似する第７のステップと、
前記第７のステップで求められた実時間の電圧波形に基づいて、前記半導体集積回路の信号遅延時間を計算する第８のステップと、
前記第７のステップで求められた極の中に実数部が０より大きい極を含む場合には、前記第８のステップで求められた信号遅延時間が、予め設定された精度範囲内で得られたか否かを判定する第９のステップと
を具備することを特徴とする半導体集積回路の信号遅延時間計算方法。
【請求項６】
前記求められた信号遅延時間が予め設定された精度範囲内であると判定された場合は、求められた信号遅延時間を選択し、一方求められた信号遅延時間が予め設定された精度範囲内ではないと判定された場合には、求められた信号遅延時間を非選択し、より高次またはより低次の近似計算を行い、再度信号遅延時間を求めるステップをさらに具備する
ことを特徴とする請求項１又は５記載の半導体集積回路の信号遅延時間計算方法。
【請求項７】
半導体集積回路のラプラス変換されたアドミッタンスのｎ次までの項で信号の電圧波形を計算し、前記半導体集積回路の信号遅延時間を近似的に求める半導体集積回路の信号遅延時間計算方法（ＡＷＥ）において、
前記半導体集積回路のラプラス変換されたアドミッタンスを求める第１のステップと、
前記第１のステップで求められたアドミッタンスを駆動する電圧源のラプラス変換された電圧波形を求める第２のステップと、
前記第１のステップで求められたアドミッタンスと、前記第２のステップで求められた電圧波形を用いて、前記半導体集積回路の任意の場所のラプラス変換された電圧波形を求める第３のステップと、
前記第３のステップで求められた電圧波形を、該電圧波形の極と剰余を求めて実時間の電圧波形に近似する第４のステップと、
前記第４のステップで求められた実時間の電圧波形に基づいて、前記半導体集積回路の信号遅延時間を計算する第５のステップと、
前記第４のステップで求められた極の中に実数部が０より大きい極を含む場合には、前記第５のステップで求められた信号遅延時間が、予め設定された精度範囲内で求められたか否かを判定する第６のステップと
をコンピュータに実行させるプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項８】
半導体集積回路における機能要素となるセルの入力信号の傾きと前記セルの出力端子の負荷容量を変数とした前記セルの出力端子における信号遅延時間の関数と、前記セルの入力信号の傾きと前記出力端子の負荷容量を変数とした前記出力端子の出力信号の傾きの関数とに基づいて、前記出力端子の出力信号の変化開始時間、ならびに出力信号の傾きをパラメータとするランプ電圧波形の電圧源と、内部抵抗を用いて前記セルの出力端子をモデル化し、半導体集積回路のラプラス変換されたアドミッタンスのｎ次までの項で信号の電圧波形を計算し、前記半導体集積回路の信号遅延時間を近似的に求める半導体集積回路の信号遅延時間計算方法（ＡＷＥ）において、
前記内部抵抗の値を計算する第１のステップと、
前記第１のステップで求められた内部抵抗値を固定し、前記出力端子の出力電圧の変化を時間に対して一次関数で表し、前記出力信号の変化開始時間、ならびに出力信号の傾きを求める第２のステップと、
前記第１のステップで求められた内部抵抗値と、前記第２のステップで求められた出力信号の傾きを固定し、出力信号の変化開始時間だけを変化させて出力信号の変化開始時間を求める第３のステップと
をコンピュータに実行させるプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項９】
半導体集積回路における機能要素となるセルの入力信号の傾きと前記セルの出力端子の負荷容量を変数とした前記セルの出力端子における信号遅延時間の関数と、前記セルの入力信号の傾きと前記出力端子の負荷容量を変数とした前記出力端子の出力信号の傾きの関数とに基づいて、前記出力端子の出力信号の変化開始時間、ならびに出力信号の傾きをパラメータとするランプ電圧波形の電圧源と、内部抵抗を用いて前記セルの出力端子をモデル化し、半導体集積回路のラプラス変換されたアドミッタンスのｎ次までの項で信号の電圧波形を計算し、前記半導体集積回路の信号遅延時間を近似的に求める半導体集積回路の信号遅延時間計算方法（ＡＷＥ）において、
前記半導体集積回路のラプラス変換されたアドミッタンスを求める第１のステップと、
前記出力端子の負荷容量、ならびに入力信号の傾きを変数とした出力信号の傾きの関数に基づいて、前記内部抵抗の値を計算する第２のステップと、
前記第２のステップで求められた内部抵抗値を固定し、前記出力端子の出力電圧の変化を時間に対して一次関数で表し、前記出力信号の変化開始時間、ならびに出力信号の傾きを求める第３のステップと、
前記第２のステップで求められた内部抵抗値と、前記第３のステップで求められた出力信号の傾きを固定し、出力信号の変化開始時間だけを変化させて出力信号の変化開始時間を求め、前記セルの出力端子をモデル化する第４のステップと、
前記第２のステップで求められた内部抵抗値、前記第４のステップで求められた出力信号の変化開始時間、前記第３のステップで求められた出力信号の電圧の傾きを有する電圧源を用いて、ラプラス変換された電圧波形を求める第５のステップと、
前記第１のステップで求められたアドミッタンスと、前記第２のステップで求められた内部抵抗値、前記第５のステップで求められた電圧波形を用いて、前記半導体集積回路の任意の場所のラプラス変換された電圧波形を求める第６のステップと、
前記第６のステップで求められた電圧波形を、該電圧波形の極と剰余を求めて実時間の電圧波形に近似する第７のステップと、
前記第７のステップで求められた実時間の電圧波形に基づいて、前記半導体集積回路の信号遅延時間を計算する第８のステップと、
前記第７のステップで求められた極の中に実数部が０より大きい極を含む場合には、前記第８のステップで求められた信号遅延時間が、予め設定された精度範囲内で得られたか否かを判定する第９のステップと
をコンピュータに実行させるプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項１０】
前記求められた信号遅延時間が予め設定された精度範囲内であると判定された場合は、求められた信号遅延時間を選択し、一方求められた信号遅延時間が予め設定された精度範囲内ではないと判定された場合には、求められた信号遅延時間を非選択し、より高次またはより低次の近似計算を行い、再度信号遅延時間を求めるステップをさらに具備する
ことを特徴とする請求項７又は９記載の記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、デジタル回路の遅延計算の方法に関し、特にレイアウト後の実配線のデータを使用した回路の遅延時間を計算する方法、及びこの方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
【０００２】
【従来の技術】
近年、集積回路の微細化が進みサブミクロンのテクノロジを使用するようになってきており、信号の遅延は、ＬＳＩの設計上非常に気をつける必要のある要素となっている。
【０００３】
信号の遅延は通常、機能要素となるセルのセル遅延と配線遅延に分けて考慮される。セル遅延は、セルのそれ自体のもつ遅延であり、そのセルの状態、入力信号の鈍り（傾きと呼ぶ場合もある）、駆動する配線の負荷容量を利用して計算される。配線遅延は、全体の遅延のうちセル遅延を除いた部分であり、配線に抵抗成分があることに起因する遅延である。配線遅延の計算には、文献「W.C.Elmore,“The transient reponse of damped linear networks with particular regardto wideband amplifiers”, J.Appl.Physics vol 19 no 1, pp55-63, Jan.,1948」、または文献「J.Rubinstein, P.Penfield Jr., and M.A.Horowitz,“SignalDelay in RC Tree Networks”，IEEE Trans. on Computer-Aided Design, Vol. CAD-2, No.3, July 1983」に記載されているＥＬＭＯＲＥの式が使用されることが多い。
【０００４】
しかし、ディープサブミクロンといわれるサブミクロンより微小な領域に入るにつれ、セル遅延は、配線の容量を純粋な容量負荷として、つまり抵抗成分が零として計算した結果と、回路解析プログラムのＳＰＩＣＥ等でより詳細に配線抵抗を考慮して計算した実際の遅延時間とが合わなくなってきている。また、配線遅延に関しても、ＥＬＭＯＲＥの式から得られる遅延時間では十分な近似が得られなくなってきている。
【０００５】
セルの遅延が合わなくなった原因として、配線を駆動するピンから遠い位置の容量が配線抵抗によってシールドされ、出力ピンの位置の電圧が閾値電圧まで変化する際に関係する実質的な負荷容量が、容量の総和より小さくなり、遅延時間が小さくなる現象がある。この現象により、従来の遅延計算では、実際よりも大きい遅延値を計算する場合があり、計算した遅延を用いたシミュレーションやスタティックタイミング解析では、タイミングエラーがなく正常動作すると考えた回路を実際に製造すると、タイミングエラーで誤動作する場合があった。具体的には、図１４に示すように波形３のクロック信号には正しい遅延を計算し、波形１のようにデータパスには大きすぎる遅延が計算されて、シミュレーションやスタティックタイミング解析ではタイミングエラーがないとされるが、実際には波形２のようにホールドエラーとなる場合である。
【０００６】
ＳＰＩＣＥ等のより高精度のシミュレータを使用すれば、遅延時間の精度をあげることができ、この問題を防ぐことができるが、ＳＰＩＣＥ等のより高精度のシミュレータは実行速度が遅く、またメモリも多く必要とするので、大規模な回路に対して使用することが困難である。そのため、ＳＰＩＣＥ等のより高精度のシミュレータよりも高速に遅延時間を計算する手法が研究されている。その手法の１つとして、ＡＷＥ（Asymptotic Waveform Evaluation ）という手法が１９９０年頃から提案されており、多くの論文が出されている。ＡＷＥの概要は、文献「Lawrence T.Pillage and Ronald A.Rohrer,“Asymptotic Waveform Evaluation for Timing Analysis”, IEEE Transaction on Computer-Aided Design, Vol.9, No.4, April 1990, 352-366”」に詳しく述べられている。
【０００７】
以下、ＡＷＥについて簡単に説明する。
【０００８】
ＡＷＥは最終的に計算したい信号波形を、
【数１】
0003636643.tif 000002
とする。この波形のラプラス変換された波形が、
【数２】
0003636643.tif 000003
になる。これを波形１とする。
【０００９】
回路のアドミッタンスと電圧源をラプラス変換してＳのｎ乗まで求め、それらを用いて実際の信号波形のラプラス変換された波形をＳのｎ乗まで求める。これを波形２とする。ＡＷＥは、波形１と波形２のＳの係数をｎ乗まで比較して連立方程式をたて、それを解くことで上記Ｋｉ，Ｐｉを求める。求められたＫｉを剰余（residue）、Ｐｉを極（pole）と呼ぶ。
【００１０】
上記文献のｐ３５７  ３．３章Stability の箇所には、低い次数では解が無かったり、極の実数部が正である解が得られる場合があり、その場合より高次のＡＷＥで解を求めると述べている。これは、通常の信号波形の計算において発散する信号波形はありえないため、極の実部が正の解は、十分大きい時間に対してはよい近似ではないためである。
【００１１】
また、上記文献の３．１章The AWE Approximation の箇所には、近似解の次数をｑとすると、ＡＷＥの計算量はｑの３乗のオーダであると述べられている。このように、次数が大きくなると計算量の急激な増大を招くため、実際の応用プログラムでは、すべての極の実数部が負である、できるだけ低い次数で解を求める必要があるが、次数がどこまで十分かということがわからないという問題があった。
【００１２】
この問題に対して、安定な解を得る方法については、文献「“D.F.Anastasakis, N.Gopal, S.Y.Kim and L.T.Pillage,“On the Stability of Moment-Matching Approximations in Asymptotic Waveform Evaluation”, Proceedgins 29th ACM/IEEE Design Automation Conference, 207-212”」、あるいは文献「US PATENT“Pillage et al., Patent Number: 5,379,231, Method and Apparatus for Simulating a Microeletric Interconnect Circuit”」に述べられている。これらの文献では、安定した解が得られない場合には、モーメントをシフトして極を求め、シフトしていないモーメントを使用して剰余を求める方法が述べられている。この方法でも、モーメントを求める場合には、そのシフト量で正しそうな値が得られると予想する量だけ多くモーメントを計算する必要がある。そのため、計算に必要な時間が増大するという問題があった。
【００１３】
ＡＷＥを用いたセルのモデル化については、文献「Florentin Dartu, Noel Menezes, Jessica Qian, and Lawrence T.Pillage,“A Gate-Delay Model for High-Speed CMOS Circuits”, Proceedings 31st ACM/IEEE Design Automation Conference, 576-580”」に述べられている。セルの出力ピンのモデルを図１５及び図１６に示す。セルの出力ピン１００は、図１５に示すように電圧源Ｖｄ１０１に内部抵抗Ｒｄ１０２が接続されていると近似する。以降、Vdriveでセルの出力ピンの位置での電圧を示す。図１６では、図１５の電圧源Ｖｄ１０１が、そのセルの入力信号が閾値を横切る時刻を０として、ｔ０の時刻に変化が始まり、傾きがΔＴである電圧源であることを示している。
【００１４】
しかしながら、上記文献にあるように、実効容量（Ceff）を、セルがランプ波形を持った電源のΔＴ間の平均電流と同じ電流をもった容量として定義する必要はなく、実効容量（Ceff）をその配線を駆動するセルの出力ピン位置での電圧が、閾値を横切る時間と同じ時間をもつ容量として定義してもよい。
【００１５】
また、上記文献では、上記ｔ０、ΔＴ、Ｒｄというパラメータをセルの特性を測定して得る必要がある。しかし、セルの既に測定されている特性値から、それらの値を計算するほうが便利である。文献「“大嶋孝幸、斎藤敏幸、藤田陽子、蓑田幸男、中谷隆、ディープサブミクロンに対応した遅延計算システム、信学技報TECHNICAL REPORT OF IEICE, VLD98-137(1999-03)” 」では、パラメータｔ０，ΔＴを、既存の測定値から求める方法が述べられている。
【００１６】
しかしながら、上記文献中で用いられている式（３）では、出力信号波形がランプ波形であることを仮定しており、誤差が大きくなっていた。
【００１７】
また、上述した文献「Florentin Drtu, Noel Menezes, Jessica Qian, and Lawrence T.Pillage,“A Gate-Delay Model for High-Speed CMOS Circuits”, Proceedings 31st ACM/IEEE Design Automation Conference, 576-580” 」では、内部抵抗Ｒｄは出力信号の波形のすその形から計算するように述べられている。また、文献「“大嶋孝幸、斎藤敏幸、藤田陽子、蓑田幸男、中谷隆、ディープサブミクロンに対応した遅延計算システム、信学技報TECHNICAL REPORT OF IEICE, VLD98-137(1999-03)” 」では、内部抵抗Ｒｄについて既存の測定されている特性から変換する方法は述べられていない。出力信号のすその波形から計算するためには、セルの特性を測定しなおす必要がある。しかし、セルの既に測定されている特性値から、それらの値を計算するほうが便利である。
【００１８】
【発明が解決しようとする課題】
以上説明したように、ＬＳＩの信号遅延時間を計算する従来のＡＷＥという方法にあっては、計算量を少なくするためにできるだけ低い次数で解を求める必要があったが、どの程度までの次数で十分であるかということを見極めるのが困難であった。この不具合に対して、安定な解を求める方法が提案されているが、この方法にあっては、解を求める計算に多くの時間が必要であった。
【００１９】
一方、ＡＷＥを用いたセルの従来におけるモデル化にあっては、計算に使用されるパラメータは、既存の測定値から求められているが、出力信号波形がランプ波形であると仮定されていたことによりパラメータの誤差が大きくなっていた。また、パラメータの１つを出力信号波形のすその波形から計算するためには、セルの特性を測定し直す必要があった。
【００２０】
そこで、この発明は、上記に鑑みてなされたものであり、その目的とするところは、ＬＳＩの信号遅延時間を容易かつ短い時間で高精度に計算することができる半導体集積回路の信号遅延時間計算方法及び記憶媒体を提供することにある。
【００２１】
【課題を解決するための手段】
上記目的を達成するために、課題を解決するための第１の手段は、半導体集積回路のラプラス変換されたアドミッタンスのｎ次までの項で信号の電圧波形を計算し、前記半導体集積回路の信号遅延時間を近似的に求める半導体集積回路の信号遅延時間計算方法（ＡＷＥ）において、前記半導体集積回路のラプラス変換されたアドミッタンスを求める第１のステップと、前記第１のステップで求められたアドミッタンスを駆動する電圧源のラプラス変換された電圧波形を求める第２のステップと、前記第１のステップで求められたアドミッタンスと、前記第２のステップで求められた電圧波形を用いて、前記半導体集積回路の任意の場所のラプラス変換された電圧波形を求める第３のステップと、前記第３のステップで求められた電圧波形を、該電圧波形の極と剰余を求めて実時間の電圧波形に近似する第４のステップと、前記第４のステップで求められた実時間の電圧波形に基づいて、前記半導体集積回路の信号遅延時間を計算する第５のステップと、前記第４のステップで求められた極の中に実数部が０より大きい極を含む場合には、前記第５のステップで求められた信号遅延時間が、予め設定された精度範囲内で求められたか否かを判定する第６のステップとを具備することを特徴とする。
【００２２】
第２の手段は、前記第１の手段において、前記第２のステップの電圧源を、内部抵抗、電圧変化開始時間ならびに電圧変化の傾きをパラメータとした電圧源に近似することを特徴とする。
【００２３】
第３の手段は、半導体集積回路における機能要素となるセルの入力信号の傾きと前記セルの出力端子の負荷容量を変数とした前記セルの出力端子における信号遅延時間の関数と、前記セルの入力信号の傾きと前記出力端子の負荷容量を変数とした前記出力端子の出力信号の傾きの関数とに基づいて、前記出力端子の出力信号の変化開始時間、ならびに出力信号の傾きをパラメータとするランプ電圧波形の電圧源と、内部抵抗を用いて前記セルの出力端子をモデル化し、半導体集積回路のラプラス変換されたアドミッタンスのｎ次までの項で信号の電圧波形を計算し、前記半導体集積回路の信号遅延時間を近似的に求める半導体集積回路の信号遅延時間計算方法（ＡＷＥ）において、前記内部抵抗の値を計算する第１のステップと、前記第１のステップで求められた内部抵抗値を固定し、前記出力端子の出力電圧の変化を時間に対して一次関数で表し、前記出力信号の変化開始時間、ならびに出力信号の傾きを求める第２のステップと、前記第１のステップで求められた内部抵抗値と、前記第２のステップで求められた出力信号の傾きを固定し、出力信号の変化開始時間だけを変化させて出力信号の変化開始時間を求める第３のステップとを具備することを特徴とする。
【００２４】
第４の手段は、前記第３の手段において、前記内部抵抗値は、前記出力端子の負荷容量、ならびに入力信号の傾きを変数とした出力信号の傾きの関数に基づいて計算することを特徴とする。
【００２５】
第５の手段は、半導体集積回路における機能要素となるセルの入力信号の傾きと前記セルの出力端子の負荷容量を変数とした前記セルの出力端子における信号遅延時間の関数と、前記セルの入力信号の傾きと前記出力端子の負荷容量を変数とした前記出力端子の出力信号の傾きの関数とに基づいて、前記出力端子の出力信号の変化開始時間、ならびに出力信号の傾きをパラメータとするランプ電圧波形の電圧源と、内部抵抗を用いて前記セルの出力端子をモデル化し、半導体集積回路のラプラス変換されたアドミッタンスのｎ次までの項で信号の電圧波形を計算し、前記半導体集積回路の信号遅延時間を近似的に求める半導体集積回路の信号遅延時間計算方法（ＡＷＥ）において、前記半導体集積回路のラプラス変換されたアドミッタンスを求める第１のステップと、前記出力端子の負荷容量、ならびに入力信号の傾きを変数とした出力信号の傾きの関数に基づいて、前記内部抵抗の値を計算する第２のステップと、前記第２のステップで求められた内部抵抗値を固定し、前記出力端子の出力電圧の変化を時間に対して一次関数で表し、前記出力信号の変化開始時間、ならびに出力信号の傾きを求める第３のステップと、前記第２のステップで求められた内部抵抗値と、前記第３のステップで求められた出力信号の傾きを固定し、出力信号の変化開始時間だけを変化させて出力信号の変化開始時間を求め、前記セルの出力端子をモデル化する第４のステップと、前記第２のステップで求められた内部抵抗値、前記第４のステップで求められた出力信号の変化開始時間、前記第３のステップで求められた出力信号の電圧の傾きを有する電圧源を用いて、ラプラス変換された電圧波形を求める第５のステップと、前記第１のステップで求められたアドミッタンスと、前記第２のステップで求められた内部抵抗値、前記第５のステップで求められた電圧波形を用いて、前記半導体集積回路の任意の場所のラプラス変換された電圧波形を求める第６のステップと、前記第６のステップで求められた電圧波形を、該電圧波形の極と剰余を求めて実時間の電圧波形に近似する第７のステップと、前記第７のステップで求められた実時間の電圧波形に基づいて、前記半導体集積回路の信号遅延時間を計算する第８のステップと、前記第７のステップで求められた極の中に実数部が０より大きい極を含む場合には、前記第８のステップで求められた信号遅延時間が、予め設定された精度範囲内で得られたか否かを判定する第９のステップとを具備することを特徴とする。
【００２６】
第６の手段は、前記第１又は第５の手段において、前記求められた信号遅延時間が予め設定された精度範囲内であると判定された場合は、求められた信号遅延時間を選択し、一方求められた信号遅延時間が予め設定された精度範囲内ではないと判定された場合には、求められた信号遅延時間を非選択し、より高次またはより低次の近似計算を行い、再度信号遅延時間を求めるステップをさらに具備することを特徴とする。
【００２７】
第７の手段は、半導体集積回路のラプラス変換されたアドミッタンスのｎ次までの項で信号の電圧波形を計算し、前記半導体集積回路の信号遅延時間を近似的に求める半導体集積回路の信号遅延時間計算方法（ＡＷＥ）において、前記半導体集積回路のラプラス変換されたアドミッタンスを求める第１のステップと、前記第１のステップで求められたアドミッタンスを駆動する電圧源のラプラス変換された電圧波形を求める第２のステップと、前記第１のステップで求められたアドミッタンスと、前記第２のステップで求められた電圧波形を用いて、前記半導体集積回路の任意の場所のラプラス変換された電圧波形を求める第３のステップと、前記第３のステップで求められた電圧波形を、該電圧波形の極と剰余を求めて実時間の電圧波形に近似する第４のステップと、前記第４のステップで求められた実時間の電圧波形に基づいて、前記半導体集積回路の信号遅延時間を計算する第５のステップと、前記第４のステップで求められた極の中に実数部が０より大きい極を含む場合には、前記第５のステップで求められた信号遅延時間が、予め設定された精度範囲内で求められたか否かを判定する第６のステップとをコンピュータに実行させるプログラムを記録したことを特徴とする。
【００２８】
第８の手段は、半導体集積回路における機能要素となるセルの入力信号の傾きと前記セルの出力端子の負荷容量を変数とした前記セルの出力端子における信号遅延時間の関数と、前記セルの入力信号の傾きと前記出力端子の負荷容量を変数とした前記出力端子の出力信号の傾きの関数とに基づいて、前記出力端子の出力信号の変化開始時間、ならびに出力信号の傾きをパラメータとするランプ電圧波形の電圧源と、内部抵抗を用いて前記セルの出力端子をモデル化し、半導体集積回路のラプラス変換されたアドミッタンスのｎ次までの項で信号の電圧波形を計算し、前記半導体集積回路の信号遅延時間を近似的に求める半導体集積回路の信号遅延時間計算方法（ＡＷＥ）において、前記内部抵抗の値を計算する第１のステップと、前記第１のステップで求められた内部抵抗値を固定し、前記出力端子の出力電圧の変化を時間に対して一次関数で表し、前記出力信号の変化開始時間、ならびに出力信号の傾きを求める第２のステップと、前記第１のステップで求められた内部抵抗値と、前記第２のステップで求められた出力信号の傾きを固定し、出力信号の変化開始時間だけを変化させて出力信号の変化開始時間を求める第３のステップとをコンピュータに実行させるプログラムを記録したことを特徴とする。
【００２９】
第９の手段は、半導体集積回路における機能要素となるセルの入力信号の傾きと前記セルの出力端子の負荷容量を変数とした前記セルの出力端子における信号遅延時間の関数と、前記セルの入力信号の傾きと前記出力端子の負荷容量を変数とした前記出力端子の出力信号の傾きの関数とに基づいて、前記出力端子の出力信号の変化開始時間、ならびに出力信号の傾きをパラメータとするランプ電圧波形の電圧源と、内部抵抗を用いて前記セルの出力端子をモデル化し、半導体集積回路のラプラス変換されたアドミッタンスのｎ次までの項で信号の電圧波形を計算し、前記半導体集積回路の信号遅延時間を近似的に求める半導体集積回路の信号遅延時間計算方法（ＡＷＥ）において、前記半導体集積回路のラプラス変換されたアドミッタンスを求める第１のステップと、前記出力端子の負荷容量、ならびに入力信号の傾きを変数とした出力信号の傾きの関数に基づいて、前記内部抵抗の値を計算する第２のステップと、前記第２のステップで求められた内部抵抗値を固定し、前記出力端子の出力電圧の変化を時間に対して一次関数で表し、前記出力信号の変化開始時間、ならびに出力信号の傾きを求める第３のステップと、前記第２のステップで求められた内部抵抗値と、前記第３のステップで求められた出力信号の傾きを固定し、出力信号の変化開始時間だけを変化させて出力信号の変化開始時間を求め、前記セルの出力端子をモデル化する第４のステップと、前記第２のステップで求められた内部抵抗値、前記第４のステップで求められた出力信号の変化開始時間、前記第３のステップで求められた出力信号の電圧の傾きを有する電圧源を用いて、ラプラス変換された電圧波形を求める第５のステップと、前記第１のステップで求められたアドミッタンスと、前記第２のステップで求められた内部抵抗値、前記第５のステップで求められた電圧波形を用いて、前記半導体集積回路の任意の場所のラプラス変換された電圧波形を求める第６のステップと、前記第６のステップで求められた電圧波形を、該電圧波形の極と剰余を求めて実時間の電圧波形に近似する第７のステップと、前記第７のステップで求められた実時間の電圧波形に基づいて、前記半導体集積回路の信号遅延時間を計算する第８のステップと、前記第７のステップで求められた極の中に実数部が０より大きい極を含む場合には、前記第８のステップで求められた信号遅延時間が、予め設定された精度範囲内で得られたか否かを判定する第９のステップとをコンピュータに実行させるプログラムを記録したことを特徴とする。
【００３０】
第１０の手段は、前記第７又は第９の手段において、前記求められた信号遅延時間が予め設定された精度範囲内であると判定された場合は、求められた信号遅延時間を選択し、一方求められた信号遅延時間が予め設定された精度範囲内ではないと判定された場合には、求められた信号遅延時間を非選択し、より高次またはより低次の近似計算を行い、再度信号遅延時間を求めるステップをさらに具備することを特徴とする。
【００３１】
【発明の実施の形態】
以下、図面を用いてこの発明の一実施形態を説明する。
【００３２】
図１はこの発明の一実施形態に係るＬＳＩの信号遅延時間計算方法の全体の手順を示すフローチャート図である。図１において、手順の全体のフローは、大きく分けてセルパラメータの抽出（ステップＳ１１）、配線のアドミッタンス計算（ステップＳ１２）、実効容量、セル遅延の計算（ステップＳ１３）、入力ピンでの遅延時間の計算（ステップＳ１４）とからなる。このような手順において、この発明の特徴的な技術は、上記セルのパラメータ抽出、実効容量、セル遅延の計算、入力ピンでの遅延時間の計算の各ステップで使用される。
【００３３】
セルのパラメータ抽出（ステップＳ１１）において、既存の測定済みのセルのパラメータである、StateDepend のパス毎の入力傾きと、出力負荷容量の関数としての出力ピンの信号の傾きと、StateDepend のパス毎の入力傾きと出力負荷容量の関数としてのセル遅延のデータとから、図１５に示す内部抵抗（Ｒｄ）、図１６に示す出力信号の変化開始時間（ｔ０）、傾き（ΔＴ）を計算する方法を説明する。
【００３４】
ここで、StateDepend のパスとは、例えば図２で示すＮＯＴ（（Ａ  ＡＮＤ  Ｂ）  ＯＲ  Ｃ）の機能を持ったＣＭＯＳの回路で、ＣがＨＩＧＨからＬＯＷに変わることで出力信号がＬＯＷからＨＩＧＨに上がる場合に、ＡとＢの１つだけがＬＯＷである場合と、ＡとＢの両方がＬＯＷである場合では、電源ＶＤＤから出力までのＯＮになるＰＭＯＳトランジスタの構成が変わるため、内部抵抗の値が異なる。このように、パスをＡとＢの１つだけがＬＯＷである場合と、ＡとＢの両方がＬＯＷである場合などを区別した場合に、StateDepend のパスと呼ぶ。
【００３５】
内部抵抗Ｒｄは立ち上がり、立ち下がり、StateDepend のパスの関数であり、ｔ０，ΔＴは、立ち上がり、立ち下がり、StateDepend パス、入力信号の傾き、負荷容量の関数と考える。上記の出力信号の傾きとセル遅延は、数式で与えられる場合もあり、テーブルの形で与えられる場合もある。
【００３６】
ここでは、信号の傾きを図３に示すように、電源ＶＤＤ、ＶＳＳ＝０Ｖとすると、０．２×ＶＤＤから０．８×ＶＤＤまでの時間と定義する。信号の傾きの定義はほかにもあるが、本質的には同じであり、簡単に変換できるため、ここでは、出力信号がＬＯＷからＨＩＧＨに変化する場合について、図３に示す定義で説明する。
【００３７】
セルパラメータ抽出の大まかな手順を図４に示す。
【００３８】
図４において、内部抵抗Ｒｄを求める計算（ステップＳ４１）では、Ｒｄは
StateDepend パス毎、立ち上がり、立ち下り毎に計算する必要がある。ロードが十分大きい時は、Ｖｄの波形はステップ波形と仮定してもよいので、出力ピンの位置での電圧波形Ｖout は次のように近似できる（出力信号がＬＯＷからＨＩＧＨになる場合）。
【００３９】
【数３】
0003636643.tif 000004
ｔ１を０．２×ＶＤＤになる時間、ｔｈを０．８×ＶＤＤになる時間とすると
【数４】
0003636643.tif 000005
となり、これを解くと
【数５】
ｔｌ＝−ｌｎ０．８×Ｒｄ×Ｃ
ｔｈ＝−ｌｎ０．２×Ｒｄ×Ｃ
となる。
【００４０】
したがって、傾きは
【数６】
0003636643.tif 000006
となる。傾きを、Ｋ０＋Ｋ１×Ｃと表現されていた場合に、Ｃが十分大きいためＫ０の項は無視できる。したがって、
【数７】
0003636643.tif 000007
上式によって、内部抵抗値（Ｒｄ）が計算できる。
【００４１】
または、出力の傾きが以下に示すようなテーブルで与えられる。
【００４２】
【数８】
0003636643.tif 000008
上式において、横軸（ａ１１，ａ１２，ａ１３，ａ１４の方向）が容量で、それぞれLoadp1，Loadp2，Loadp3，Loadp4の値を持ち、Loadp1＜Loadp2＜Loadp3＜Loadp4の関係があるとする。縦軸（ａ１１，ａ２１，ａ３１，ａ４１の方向）が入力信号の傾きで、Slewp1，Slewp2，Slewp3，Slewp４の値を持ち、Slewp1＜Slewp2＜Slewp3＜Slewp4の関係があるとする。まず、入力信号がステップ波形に近いほうが、Ｖｄの波形もステップ波形に近いと考えられるため、入力の傾きが最も小さく、最も容量が大きい点であるａ１３，ａ１４を使って、
【数９】
0003636643.tif 000009
で求めることができる。より正確な値を得るために、よりステップ応答に近い入力傾きが０、容量が無限大の場合に、補外して値を求めてもよい。
【００４３】
次に、図４のΔＴ，ｔ０を計算するステップＳ４２では、ステップＳ４１で求めたＲｄを固定して、出力波形がランプであることを仮定し、ΔＴ，ｔ０を求める計算方法を説明する。
【００４４】
Vdriveを、セルの出力ピンに容量Ｃが付いた場合の電圧波形とすると、次のように表される（ｔ＝ｔ０でＶdrive＝０、立ち上がりの場合）。
【００４５】
【数１０】
0003636643.tif 000010
入力ピン傾きがＩＮＳＬＥＷで、負荷容量がＣである時の出力ピンの傾きをＯＵＴＳＬＥＷ、セル遅延をＤＥＬＡＹとする。閾値電圧をＶthとし、時刻ｔ１に電圧が０．２×ＶＤＤになり、時刻ｔｈに０．８×ＶＤＤになるとすると、
【数１１】
Ｖdrive（ｔｌ，ｔ０，ΔＴ）−０．２×ＶＤＤ＝０    …(1)
Ｖdrive（ｔｈ，ｔ０，ΔＴ）−０．８×ＶＤＤ＝０    …(2)
ｔｈ−ｔｌ＝ＯＵＴＳＬＥＷ                         …(3)
Ｖdrive（ＤＥＬＡＹ，ｔ０，ΔＴ）−Ｖth＝０        …(4)
となり、ｔ０，ΔＴを求めるためには、上記(1)，(2)，(3)，(4)式を解けばよい。しかし、Ｖdrive は線形の方程式ではないので、解くことは非常に困難である。そのため、この段階では、図５に示すように出力波形がｔ１、ＤＥＬＡＹ、ｔｈの間で直線になると近似する。
【００４６】
上式では、次の式(5)、(6)のように近似することになる。
【００４７】
【数１２】
0003636643.tif 000011
式(5)、(6)を式(1)、(2)に代入し、図６に示す近似計算のフローにしたがってNewton法で解く。図６において、ステップ６１では、ΔＴ，ｔ０の初期値を与える。Ｒｄは図４に示すステップＳ４１ですでに求められた値を使用する。ステップＳ６２では、上式(5)、(6)で求められたｔｈ，ｔｌを用いて上式(1)、(2)の左辺を計算する。ステップＳ６３では、上式(1)、(2)の左辺の値が共に一定値以下であれば計算を終了し（ステップＳ６６）、その時のΔＴ，ｔ０を解とする。ステップＳ６３では、上式(1)、(2)の左辺の値が共に一定値以下でなければ、ステップＳ６４）に進む。ステップＳ６４では、ヤコビアンを計算する。ヤコビアンの計算は次のようになる。
【００４８】
【数１３】
0003636643.tif 000012
とすると、
【数１４】
0003636643.tif 000013
で計算できる。
【００４９】
上記ヤコビアンを使用して、新しいｔ０、ΔＴは以下のように計算できる。
【００５０】
【数１５】
0003636643.tif 000014
ｔ０ｋ，ΔＴｋはｋ番目の計算値を示す。
【００５１】
【数１６】
0003636643.tif 000015
は逆行列を示す。ステップＳ６５では、ヤコビアンを用いてΔＴ、ｔ０を補正し、ステップＳ６２）に戻る。
【００５２】
図４のステップＳ４３のｔ０の補正では、近似式(5)、(6)を使用したため、図４のステップＳ４２で求められたｔ０には誤差が含まれている。
【００５３】
次に、ｔ０を補正する方法を説明する。
【００５４】
図７に上記(4)式を用いた、ｔ０を変数としたNewton 法による計算フローを示す。図７において、ステップＳ７１では、図４のステップＳ４２で求められたｔ０を初期値として、図４のステップＳ４１で求められたＲｄ、ステップＳ４２で求められたΔＴを使用して計算を開始する。ステップＳ７２では、上式(4) を計算する。ステップＳ７３では、上式(4) の左辺が十分に小さければ、計算を終了し、その時のｔ０を解とする。式(4) の左辺が十分に小さくない場合には、ステップＳ７４に進む。ステップＳ７５では、新しいｔ０の値を計算して、ステップＳ７２に戻る。最終的な計算結果であるｔ０、ΔＴは、回路の遅延時間計算の時にその都度計算することもできるが、あらかじめ計算しておいて、補間、補外して用いるほうが回路の遅延計算の時の実行時間が短くできる。
【００５５】
次に、図１に示すステップＳ１２の配線のアドミッタンス計算において、配線からラプラス変換されたアドミッタンスの抽出には、文献「P.R.O'Brien and T.L.Savarino,“Modeling the Driving-Point Characteristic of Resistive Interconnect for Accurate Delay Estimation”, Proc.IEEE International Conference on Computer-Aided Design, 1989」に記載されている手法が使用できる。上記文献で使われているオーダーよりも高いオーダーまで計算した結果を示す。
【００５６】
以下に、その手法を説明する。
【００５７】
セルの出力ピン位置でのラプラス変換されたアドミッタンスを、Ｓのｎ次まで求める。２次ＡＷＥではｎ＝４、３次ＡＷＥではｎ＝６となる。ここでは、Ｓの６次までを示す。なお、上記文献では、配線は出力ピンをルートとしたツリー状になっていることを仮定している。以下に示す５つのルールを適用することで、出力ピン位置から見た配線のアドミッタンスのｎ次までのラプラス変換が得られる。
【００５８】
（１）ＦＡＮＯＵＴ側からＦＡＮＩＮに計算する。これは、入力ピンから、その配線を駆動する出力ピンの方向に計算することを意味する。
【００５９】
（２）最初の値は０。
【００６０】
（３）Ｃ（容量）ルール。
【００６１】
容量は図８に示すように接続されているとする。図８において、Ｙupは、容量（容量値Ｃ）１をはさんで駆動する出力ピンに近いアドミッタンスを示す。Ｙdnは、容量１をはさんで入力ピンに近いアドミッタンスを示す。電流保存則より、
【数１７】
Ｙup（Ｓ）×Ｖ（Ｓ）＝Ｙdn（Ｓ）×Ｖ（Ｓ）＋Ｓ×Ｃ×Ｖ（Ｓ）
となるので、
【数１８】
0003636643.tif 000016
とすると、
【数１９】
Ｙup1＝Ｙdn1＋Ｃ
Ｙup2＝Ｙdn2
Ｙup3＝Ｙdn3
Ｙup4＝Ｙdn4
Ｙup5＝Ｙdn5
Ｙup6＝Ｙdn6
となる。
【００６２】
（４）Ｒルール。
【００６３】
図９に示すように、抵抗２が接続されているとする。図９において、Ｙupは、抵抗（抵抗値Ｒ）２をはさんで駆動する出力ピンに近いアドミッタンスを示す。Ｙdnは、抵抗２をはさんで入力ピンに近いアドミッタンスを示す。Ｖup（Ｓ）は、抵抗２をはさんで駆動する出力ピンに近い部分の電圧のラプラス変換したものを示す。Ｖdn（Ｓ）は、抵抗２をはさんで出力ピンから遠い部分の電圧のラプラス変換したものを示す。電流保存則より、
【数２０】
0003636643.tif 000017
上式を整理して、ＹupをＹdnで表すと、
【数２１】
0003636643.tif 000018
となる。
【００６４】
上式をＳの係数で整理すると、
【数２２】
0003636643.tif 000019
となる。
【００６５】
（５）マージルール。
【００６６】
図１０において、Ｙupは、分岐点をはさんで駆動する出力ピンに近いアドミッタンスを示す。Ｙdnｉは、分岐点をはさんで入力ピンに近いアドミッタンスを示す。電流一定より、
【数２３】
0003636643.tif 000020
となる。
【００６７】
図１に示すステップ１３の出力ピン位置での実効容量、遅延時間の計算の概略は、図１１に示す処理フローのようになる。実効容量Ｃeff 、遅延値は、この通りでは収束しない場合には、０を初期の実効容量の下限とし、全容量を上限とした２分法により実効容量（Ｃeff）を求めることができる。図１１のステップＳ１１１では、配線の全容量を実効容量の初期値とする。全容量は図１に示すステップＳ１２の計算の中で、Ｓの一次の係数として計算されている。ステップＳ１１２では、実効容量から、ΔＴ，ｔ０を計算する。図１に示すステップＳ１１で入力信号の傾きと負荷容量を変数としたΔＴ，ｔ０の関数が計算されている。入力信号の傾きは、すでにわかっているとすると、ΔＴ，ｔ０の値は、実効容量を負荷容量として計算できる。ステップＳ１１３では、出力ピン位置での波形を求め閾値を横切る遅延時間を求める。
【００６８】
波形を計算するために、次のような方法をとる。図１６の電圧波形Ｖｄを、図１２に示すようにランプ波形を、無限に増大するランプ波形（Ｈ１）から時間のずれた無限に減少するランプ波形（Ｈ２）を引いたものと考える。無限のランプ波形に対するＡＷＥを計算し、実時間の波形に変換した後、その後時間をずらした波形を引くことで最終波形を求める。
【００６９】
式で示すと次のようになる。Ｕ（ｔ）はステップ関数である。
【００７０】
【数２４】
0003636643.tif 000021
以下では、Ｖｄ∞を無限に増大するランプ波形で、Ｖdrive を出力ピン位置の電圧波形とし、計算の便宜上、ｔ０を０として計算して後で補正する。電流一定より、
【数２５】
0003636643.tif 000022
とすると、
【数２６】
0003636643.tif 000023
となる。
【００７１】
上式の係数から、ＡＷＥは次のようにして波形を計算する。
【００７２】
一次のＡＷＥでは、
【数２７】
0003636643.tif 000024
となる。従って、無限に増加するランプ波形に対する電圧波形は、
【数２８】
0003636643.tif 000025
となる。
【００７３】
二次のＡＷＥでは、
【数２９】
0003636643.tif 000026
を解いて、ａ０、ａ１を求め、次の方程式を解く。なお、ａ０、ａ１は、前記（数２７）の各値が実数であることにより実数となる。
【００７４】
【数３０】
ａ０×ｐ２＋ａ１×ｐ＋１＝０
この方程式の解をｐ１，ｐ２とする。ｐ１，ｐ２は実数とは限らず複素数も含む。
【００７５】
【数３１】
0003636643.tif 000027
上式解いてｋ１，ｋ２を求める。ｋ１，ｋ２は実数とは限らず複素数も含む。無限に増加するランプ波形に対する電圧波形は、
【数３２】
0003636643.tif 000028
となる。
【００７６】
三次のＡＷＥでは、
【数３３】
0003636643.tif 000029
となる。この解をａ０、ａ１、ａ２とする。ａ０、ａ１、ａ２は、前記（数２７）の各値が実数であることにより実数となる。これらの値を使用して、
【数３４】
ａ０×ｐ３＋ａ１×ｐ２＋ａ２×ｐ＋１＝０
を解いて、解をｐ１，ｐ２，ｐ３とする。ｐ１，ｐ２，ｐ３は実数とは限らず複素数も含む。
【００７７】
次に、以下の式を解く。
【００７８】
【数３５】
0003636643.tif 000030
上式の解をｋ１，ｋ２，ｋ３とする。ｋ１，ｋ２，ｋ３は実数とは限らず複素数も含む。従って、無限に増加するランプ波形に対する電圧波形は、
【数３６】
0003636643.tif 000031
となる。最終的な波形は、ｔ０も考慮すると、
【数３７】
Ｖdrive（ｔ）＝Ｖdrive∞（ｔ−ｔ０）×Ｕ（ｔ−ｔ０）−Ｖdrive∞（ｔ−ΔＴ−ｔ０）×Ｕ（ｔ−ΔＴ−ｔ０）
となる。ここで、Ｕ（ｔ）は時刻０で０→１となるステップ関数を示す。
【００７９】
次に、図１３の遅延時間の計算フローで示すように、Ｖdrive（ｔ）＝Ｖth を解いて、遅延時間を求める。図１３において、ステップＳ１３０１では、３次のＡＷＥを解く。ステップＳ１３０２では、ステップＳ１３０１の計算中で得た極の中で、実部が正のものが０個の場合は、ステップＳ１３０５へ進む。一方、実部が正のものが１、２の場合には、ステップＳ１３０３に進む。実部が正のものが３つの場合は、ステップＳ１３０６へ進む。ステップＳ１３０３では、解の有効な範囲を次のようにして求める。
【００８０】
３次のＡＷＥで、実部が正の極が１つ（ｐ１）、負の極が２つ（ｐ２，ｐ３）の場合は、ｐ１、ｐ２、ｐ３は、前記（数３４）の実係数ａ０、ａ１、ａ２の３次方程式の解であることにより、解は正の実数の極が１つで負の実数の極が２つ、又は正の実数の極が１つで実数部が負の複素数の極が２つ（この２つは共役）になる。
【００８１】
正の実数の極が１つ、負の実数の極が２つの場合には、正の極をｐ１、負の極をｐ２，ｐ３とすると、
【数３８】
｜ｋ２×exp（ｐ２×ｔmax１）＋ｋ３×exp（ｐ３×ｔmax１）｜＝｜ｋ１×exp（ｐ１×ｔmax１）｜
となるｔmax１が求まれば、ｔ＜ｔmax１では、実部が正の極の項の影響が小さいといえる。
【００８２】
【数３９】
0003636643.tif 000032
であることから、
【数４０】
0003636643.tif 000033
となるｔmax２は、
【数４１】
0003636643.tif 000034
となる。
【００８３】
ｔmax２が０より大きい場合は、０＜ｔ＜ｔmax２／＜定数＞を正しい遅延時間の範囲とする。＜定数＞を例えば５とすれば、正の実部をもつ極の項は、せいぜいexp（−５）以下の寄与をすることがわかる。
【００８４】
正の実数の極が１つ、実数部が負の複素数の極が２つ（この２つは共役）の場合には、実数部が正の極をｐ１、実数部が負の極をｐ２，ｐ３とすると、
【数４２】
｜ｋ２×exp（ｐ２×ｔmax１）＋ｋ３×exp（ｐ３×ｔmax１）｜＝｜ｋ１×exp（ｐ１×ｔmax１）｜
となるｔmax１が求まれば、ｔ＜ｔmax１では、実部が正の極の項の影響が小さいといえる。
【００８５】
【数４３】
0003636643.tif 000035
であることから、
【数４４】
0003636643.tif 000036
となるｔmax２は、
【数４５】
0003636643.tif 000037
となる。
【００８６】
ｔmax２が０より大きい場合は、０＜ｔ＜ｔmax２／＜定数＞を正しい遅延時間の範囲とする。
【００８７】
３次のＡＷＥで、実部が正の極が２つ（ｐ１，ｐ２）、負の極が１つ（ｐ３）の場合は、前記（数３４）の実係数ａ０、ａ１、ａ２の３次方程式の解となることにより、解は、ｐ３は実数で負、ｐ１、ｐ２は共役複素数で実部が正か、ｐ３は実数で負、ｐ１、ｐ２は実数で実部は正のどちらかである。
【００８８】
ｐ３は実数で負、ｐ１、ｐ２は実数で実部は正の場合（ｐ１＞＝ｐ２＞０＞ｐ３）は、
【数４６】
｜ｋ１×exp（ｐ１×ｔmax１）＋ｋ２×exp（ｐ２×ｔmax１）｜＝｜ｋ１×exp（ｐ３×ｔmax１）｜
となるｔmax１が求まれば、ｔ＜ｔmax１では、実部が正の極の項の影響が小さいといえる。
【００８９】
【数４７】
0003636643.tif 000038
であることから、
【数４８】
｜ｋ３×exp（ｐ３×ｔmax２）｜＝（｜ｋ１｜＋｜ｋ２｜）×exp（ｐ１×ｔmax２）
であるｔmax２は、
【数４９】
0003636643.tif 000039
となる。
【００９０】
ｔmax２が０より大きい場合は、０＜ｔ＜ｔmax２／＜定数＞を正しい遅延時間の範囲とする。
【００９１】
ｐ３は実数で負、ｐ１、ｐ２は共役複素数で実部が正の場合には、
【数５０】
｜ｋ１×exp（ｐ１×ｔmax１）＋ｋ２×exp（ｐ２×ｔmax１）｜＝｜ｋ１×exp（ｐ３×ｔmax１）｜
となるｔmax１が求まれば、ｔ＜ｔmax１では、実部が正の極の項の影響が小さいといえる。
【００９２】
【数５１】
｜ｋ１｜＝｜ｋ２｜、Real（ｐ１）＝Real（ｐ２）であるので、
｜ｋ１×exp（ｐ１×ｔ）＋ｋ２×exp（ｐ２×ｔ）｜≦２×｜ｋ１｜×exp（Real（ｐ１）×ｔ）
であることから、
【数５２】
｜ｋ３×exp（ｐ３×ｔmax２）｜＝２×｜ｋ１｜×exp（Real（ｐ１）×ｔmax２）
であるｔmax２は、
【数５３】
0003636643.tif 000040
となる。
【００９３】
ｔmax２が０より大きい場合は、０＜ｔ＜ｔmax２／＜定数＞を正しい遅延時間の範囲とする。
【００９４】
図１３におけるステップＳ１３０４において、求められた遅延時間がステップＳ１３０３で計算した範囲内であればステップＳ１３０５へ進む。そうでない場合は、ステップＳ１３０６へ進む。ステップＳ１３０５では、３次のＡＷＥで求められた遅延時間を正しい遅延時間とみなし、計算を終了する。ステップＳ１３０６では、２次のＡＷＥで遅延時間を求める。ステップＳ１３０７では、求められた極の中に実数部が正のものが０の時は、ステップＳ１３１０に進む。実数部が正のものが１つの時は、ステップＳ１３０８に進む。実数部が正の解の２つの時は、ステップＳ１３１１に進む。ステップＳ１３０８では、有効な範囲を次のようにして求める。
【００９５】
２次のＡＷＥで、実部が正の極が１つ（ｐ１）、負の極が１つ（ｐ２）の場合は、ｐ１、ｐ２、ｐ３は次式の実係数ａ０，ａ１の２次方程式の解となる。
【００９６】
【数５４】
ａ０×ｐ２＋ａ１×ｐ＋１＝０
ｐ１は実数で正
ｐ２は実数で負
ｋ１，ｋ２も実数
【数５５】
0003636643.tif 000041
ｔmaxが０より大きい場合は、０＜ｔ＜ｔmax／＜定数＞を正しい遅延時間の範囲とする。＜定数＞を例えば５とすれば、正の実部をもつ極の項は波形に対してせいぜいexp（−５）以下の寄与をすることがわかる。
【００９７】
通常、信号波形は発散することはないので、極（Ｐｉにあたる）の実数部が正であることはない。しかしながら、近似的にＳのｎ次までのみ計算しているため、計算上実数部が正である極を計算することがある。Ｐｉが小さい項は、小さい項に比べてＳの次数の大きい方に影響するため、ｎより大きい次数の無視された項は、Ｐｉより小さい項を含んでいると考えられる。Ｐｉがより小さいとは、ゆっくり信号が変化する項を示しており、信号波形が閾値をこえる遅延時間を求めたい場合でも、実数部が正である極が計算上でてきたとしても、遅延時間は十分な精度で計算できる。
【００９８】
ステップＳ１３０９で得られた遅延時間が、ステップＳ１３０８で得られた範囲内である場合は、ステップＳ１３１０へ進む。そうでない場合は、ステップＳ１３１１へ進む。ステップＳ１３１０では、２次のＡＷＥで遅延時間を求め、計算を終了する。ステップＳ１３１１では、１次のＡＷＥで遅延時間を求め、計算を終了する。
【００９９】
次に、図１のステップＳ１４に示す入力ピン位置での電圧波形の計算について説明する。図１のステップＳ１３により、出力ピン位置での電圧波形のラプラス変換されたＳのｎ次までの係数が求められている。これにより、入力ピン位置での電圧波形のラプラス変換の係数を求めるには次のようにする。
【０１００】
（１）出力ピンから入力ピンへ計算する。
【０１０１】
（２）Ｃルールは、電圧は同一であるので、次式のようになる。
【０１０２】
【数５６】
Ｖdn＝Ｖup
（３）Ｒルール。
【０１０３】
【数５７】
0003636643.tif 000042
Ｖdnについて、Ｓの次数に対してまとめると以下のようになる。
【０１０４】
【数５８】
Ｖdn−２＝Ｖup−２
Ｖdn−１＝Ｖup−１−Ｒ×Ｙup１×Ｙup−２
Ｖdn０＝Ｖup０−Ｒ×Ｙup２×Ｖup−２−Ｒ×Ｙup１×Ｖup−１
Ｖdn１＝Ｖup１−Ｒ×Ｙup３×Ｖup−２−Ｒ×Ｙup２×Ｖup−１−Ｒ×Ｙup１×Ｖup０
Ｖdn２＝Ｖup２−Ｒ×Ｙup４×Ｖup−２−Ｒ×Ｙup３×Ｖup−１−Ｒ×Ｙup２×Ｖup０−Ｒ×Ｙup１×Ｖup１
Ｖdn３＝Ｖup３−Ｒ×Ｙup５×Ｖup−２−Ｒ×Ｙup４×Ｖup−１−Ｒ×Ｙup３×Ｖup０−Ｒ×Ｙup２×Ｖup１−Ｒ×Ｙup１×Ｖup２
Ｖdn４＝Ｖup４−Ｒ×Ｙup６×Ｖup−２−Ｒ×Ｙup５×Ｖup−１−Ｒ×Ｙup４×Ｖup０−Ｒ×Ｙup３×Ｖup１−Ｒ×Ｙup２×Ｖup２−Ｒ×Ｙup１×Ｖup３
（４）分散ルール。
【０１０５】
特に考慮する必要はない。入力ピン位置での遅延時間を求めるには、Ｖdnをそれぞれ、
ｍ−２＝Ｖdn−２，ｍ−１＝Ｖdn−１，ｍ０＝Ｖdn０，ｍ１＝Ｖdn１，ｍ２＝Ｖdn２，ｍ３＝Ｖdn３，ｍ４＝Ｖdn４
として、図１１に示すステップＳ１１０３と同じようにして、入力ピン位置での遅延時間を計算すればよい。
【０１０６】
このように、上記実施形態によれば、ＡＷＥを用いた遅延計算手法において、極の実部が正の場合でも、精度良い遅延時間の計算に使用できる場合があり、精度が良く使用できる範囲を計算することで、遅延時間の結果がその範囲内であれば、精度が良いことがわかり、次数を変えて再計算する必要がなくなる。これにより、遅延時間を容易かつ精度よく求めることができる。また、計算時間を短縮することも可能となる。また、ＡＷＥを用いた遅延計算手法において、入力信号の傾きと出力ピンの負荷容量を変数とした既存の遅延時間の関数と、入力信号の傾きと出力ピンの負荷容量を変数とした既存の出力信号の傾きの関数から、セルの特性を精度良く計算することが可能となり、セルをモデル化した際のパラメータを求める際に、セルの特性を測定しなおす必要がなくなる。
【０１０７】
なお、上記実施形態の信号遅延時間計算方法をコンピュータにおいて実現するためのプログラムは、記録媒体に保存することができる。この記録媒体をコンピュータによって読み込ませ、プログラムを実行してコンピュータを制御しながら上述した計算方法を実現することができる。ここで、記録媒体とは、メモリ装置、磁気ディスク装置、光ディスク装置等、プログラムを記録してコンピュータが読み取ることができる装置が含まれる。また、この計算方法を実現するためのハードウェアは、例えばプログラムを実行するための各種処理を行い制御中枢となるＣＰＵと、キーボード、マウス、ライトペン、又はフレキシブルディスク装置等の入力装置と、メモリ装置やディスク装置等の外部記憶装置と、ディスプレイ装置、プリンタ装置等の出力装置等を備えた通常のコンピュータシステムにより構築される。なお、前記ＣＰＵは前記処理を記述するコンピュータ言語等の処理を行う演算部と、前記処理の命令を記憶する主記憶部を備えている。
【０１０８】
【発明の効果】
以上説明したように、この発明によれば、ＡＷＥを用いた信号遅延計算手法において、極の実部が正の場合でも、精度良い遅延時間の計算に使用できる場合があり、精度が良く使用できる範囲を計算することで、遅延時間の結果がその範囲内であれば、精度が良いことがわかり、次数を変えて再計算する必要がなくなる。
【０１０９】
これにより、ＬＳＩの信号遅延時間を容易かつ短い時間で高精度に計算することができる。
【０１１０】
また、ＡＷＥを用いた遅延計算手法において、セルの特性を既存のセルの出力ピンの入力信号の傾きと出力ピンの負荷容量を変数としたセルの遅延時間の関数と、入力信号の傾きと出力ピンの負荷容量を変数とした出力信号の傾きの関数とに基づいて、信号遅延時間を精度良く計算することが可能となり、セルの特性を測定しなおす必要がなくなる。
【図面の簡単な説明】
【図１】この発明の一実施形態に係る半導体集積回路の信号遅延時間計算方法の手順を示すフローチャートである。
【図２】  StateDependの遅延時間を持ったセルの一例を示す図である。
【図３】信号の傾きの一例を示す図である。
【図４】セルのパラメータ抽出の処理手順を示すフローチャートである。
【図５】近似出力波形の一例を示す図である。
【図６】パラメータｔ０、ΔＴを求める最初の近似計算の処理手順を示すフローチャートである。
【図７】パラメータｔ０の補正計算の処理手順を示すフローチャートである。
【図８】配線のアドミッタンス計算における容量の接続を示す図である。
【図９】配線のアドミッタンス計算における抵抗の接続を示す図である。
【図１０】配線のアドミッタンス計算における分岐を示す図である。
【図１１】実効容量、出力ピン位置での遅延計算処理の手順を示すフローチャートである。
【図１２】電圧波形の分解例を示す図である。
【図１３】信号遅延時間の計算処理の手順を示すフローチャートである。
【図１４】タイミングエラーの一例を示す図である。
【図１５】セルの出力ピンのモデルを示す図である。
【図１６】図１５における電圧波形の一例を示す図である。
【符号の説明】
１  容量
２  抵抗
【図１】
0003636643.tif 000043
【図２】
0003636643.tif 000044
【図３】
0003636643.tif 000045
【図４】
0003636643.tif 000046
【図５】
0003636643.tif 000047
【図６】
0003636643.tif 000048
【図７】
0003636643.tif 000049
【図８】
0003636643.tif 000050
【図９】
0003636643.tif 000051
【図１０】
0003636643.tif 000052
【図１１】
0003636643.tif 000053
【図１２】
0003636643.tif 000054
【図１３】
0003636643.tif 000055
【図１４】
0003636643.tif 000056
【図１５】
0003636643.tif 000057
【図１６】
0003636643.tif 000058