JP2002318990A - Simulation method and simulator - Google Patents

Simulation method and simulator

Info

Publication number
JP2002318990A
JP2002318990A JP2001123197A JP2001123197A JP2002318990A JP 2002318990 A JP2002318990 A JP 2002318990A JP 2001123197 A JP2001123197 A JP 2001123197A JP 2001123197 A JP2001123197 A JP 2001123197A JP 2002318990 A JP2002318990 A JP 2002318990A
Authority
JP
Japan
Prior art keywords
solution
error
step width
predictor
simulation method
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2001123197A
Other languages
Japanese (ja)
Inventor
Kenichi Horiuchi
賢一 堀内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2001123197A priority Critical patent/JP2002318990A/en
Publication of JP2002318990A publication Critical patent/JP2002318990A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide a simulation method and simulator capable of enhancing the stability and precision of the tracking of a solution to reduce the number of steps of processing. SOLUTION: This simulation method comprises determining a solution by the tracking of a solution curve using BDF method. Processing is executed from process S16 in a known state up to the j-th step. The prediction and correction element in the j+1-th step are calculated to judge whether the estimated value of error is smaller than an allowable value of error or not (processes S16-S20). When the determination in process S20 is 'Yes', the following step width or solution is calculated, and the processing is advanced by one step (processes S26-S31). When the determination in process S20 is 'No', the step width is contracted, or the processing is returned back by one step (processes S21-S25). Thereafter, the processing is continued from process S16.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、シミュレーション
方法に関し、より詳細には、直流動作点解析(以下、D
C動作点解析と呼ぶ)を行う回路シミュレータに好適な
シミュレーション方法及びシミュレータに関するもので
ある。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a simulation method, and more particularly, to a DC operating point analysis (hereinafter referred to as D
The present invention relates to a simulation method and a simulator suitable for a circuit simulator for performing C operating point analysis).

【0002】[0002]

【従来の技術】LSI設計には、トランジスタレベルで
の動作検証が行われ、SPICE系の回路解析シミュレ
ータが用いられている。従来のニュートンラプソン法
(以下、NR法と呼ぶ)を用いた、DC動作点解析を行
うシミュレータでは、回路のトランジスタ数が数百を越
えると、NR法の収束性が悪いために解を求めることが
できない。このため、回路設計者は、適当な初期節点電
位を試行錯誤して設定する必要があり、回路の設計やそ
の動作検証を自動化する上で大きな問題となっている。
2. Description of the Related Art In LSI design, operation verification at a transistor level is performed, and a SPICE-based circuit analysis simulator is used. In a simulator that performs DC operating point analysis using the conventional Newton-Raphson method (hereinafter referred to as the NR method), if the number of transistors in the circuit exceeds several hundreds, the convergence of the NR method is poor, and a solution must be obtained. Can not. For this reason, it is necessary for the circuit designer to set an appropriate initial node potential by trial and error, which is a major problem in automating circuit design and operation verification.

【0003】また、NR法では、大域収束性が保証され
ていないので、確実に解を求めるためには、真の解に十
分に近い初期値を与える必要がある。実際問題として、
大規模回路でこの初期値を与えることは困難であるた
め、大域収束性が保証されているホモトピー法を用いた
様々な手法が提案されている。
Further, in the NR method, since global convergence is not guaranteed, it is necessary to give an initial value sufficiently close to a true solution in order to obtain a solution without fail. In practice,
Since it is difficult to provide this initial value in a large-scale circuit, various methods using a homotopy method that guarantees global convergence have been proposed.

【0004】ここで、ホモトピー法の原理について簡単
に説明する。ホモトピー法では、解析対象回路の回路方
程式を f(x) = 0 ・・・・ (1) とし、y=(x1,・・・,xn,t)とおいて、ホモトピー方程式の解曲線を、 h(x,t) = f(x)−(1−t)f(a) = 0 ・・・・ (2) g(x,t) = 0 ・・・・ (3) とする。
Here, the principle of the homotopy method will be briefly described. In the homotopy method, the circuit equation of the circuit to be analyzed is f (x) = 0... (1), y = (x 1 ,..., X n , t), and the solution curve of the homotopy equation is , H (x, t) = f (x) − (1-t) f (a) = 0 (2) g (x, t) = 0 (3)

【0005】ここで、変数xはx=(x1,・・・,
n)であり、解析対象回路の各節点における電圧及び
電流である。tはホモトピー変数であり、0から1迄の
間の値を逐次とるように増加させて、解曲線の方程式を
逐次変えて行き、最終的に解析対象の方程式を得る。ま
ず、適当な初期値を与え、ホモトピー法によって、式3
に示され所定半径を有する球面上の予測子を計算し、そ
の予測子に基づいてNR法により解析し、球面及び解曲
線上の新しい点(修正子)を得る。次に、その点を中心
とする球面を描き、再度NR法により次の交点を求め
る。各球の半径がステップ幅となる。球が十分に小さけ
れば、NR法は収束することが期待でき、NR法で収束
しなければ、球面を小さく描き直して、つまりステップ
幅を変更して再びNR法を適用する。この操作の繰返し
により、解曲線を追跡することができる。
Here, the variable x is x = (x 1 ,...,
x n ), which are the voltage and current at each node of the circuit to be analyzed. t is a homotopy variable, and the value between 0 and 1 is sequentially increased, and the equation of the solution curve is sequentially changed to finally obtain the equation to be analyzed. First, an appropriate initial value is given, and by the homotopy method, Equation 3
Is calculated on a sphere having a predetermined radius and analyzed by the NR method based on the predictor to obtain a new point (corrector) on the sphere and the solution curve. Next, a spherical surface centered on the point is drawn, and the next intersection is obtained again by the NR method. The radius of each sphere is the step width. If the sphere is sufficiently small, the NR method can be expected to converge. If the NR method does not converge, the sphere is redrawn to a smaller size, that is, the step width is changed, and the NR method is applied again. By repeating this operation, the solution curve can be tracked.

【0006】図12のフローチャートは、特開平8−1
47267号公報に記載の技術による、ホモトピー法を
利用した従来のシミュレーション方法を示す。まず、変
数の設定や、プログラムにおける初期値を与える等の初
期化が行われる(工程S61)。ホモトピー法における
第1番目の解を求めるための初期値及び予測子が求めら
れ(工程S62)、その予測子に基づいてNR法によっ
て演算が行われ、修正子が求められる(工程S63)。
NR法が収束しないと(工程S64)、直ちにエラーメ
ッセージを表示して処理を終了する。
A flowchart shown in FIG.
A conventional simulation method using the homotopy method according to the technique described in Japanese Patent No. 47267 will be described. First, initialization such as setting of a variable and giving an initial value in a program is performed (step S61). An initial value and a predictor for obtaining a first solution in the homotopy method are obtained (step S62), and a calculation is performed by the NR method based on the predictor to obtain a corrector (step S63).
If the NR method does not converge (step S64), an error message is immediately displayed and the process ends.

【0007】工程S64でNR法が収束し第1番目の修
正子が求められると、第2番目の解を求めるためのステ
ップに移行し、先の初期値及び第1番目の修正子から、
第2番目の予測子が求められ、それに基づいてNR法に
よって修正子が求められる。このようにして、順次解曲
線を追跡する処理が実行される(工程S65〜S7
4)。これらの処理において、ホモトピー法におけるス
テップ幅(球の半径)は、解曲線の変化の度合いによっ
てその都度選定される。この解曲線及びステップ幅の様
子は、例えば図3に示されている。
When the NR method converges in step S64 and the first corrector is obtained, the process proceeds to a step for obtaining a second solution, and from the initial value and the first corrector,
A second predictor is determined, and a modifier is determined based on the second predictor by the NR method. In this way, the process of sequentially tracking the solution curve is executed (steps S65 to S7).
4). In these processes, the step width (the radius of the sphere) in the homotopy method is selected each time according to the degree of change of the solution curve. The state of the solution curve and the step width is shown in FIG. 3, for example.

【0008】上記公報に記載のシミュレーション方法で
は、解曲線を追跡する際に、予測子と修正子とが成す角
度φを計算し、角度φを所定の許容値と比較する。角度
φが小さいと、そのステップの処理が正しいものとし
て、次の処理ステップに進む。一方、予測子と修正子の
成す角度φが大きいと、そのステップにおけるステップ
幅が大きすぎるものとして、現在の処理結果を破棄す
る。再度ステップ幅を小さくし、予測子及び修正子を求
める。
[0008] In the simulation method described in the above publication, when the solution curve is traced, an angle φ formed by the predictor and the corrector is calculated, and the angle φ is compared with a predetermined allowable value. If the angle φ is small, it is determined that the processing in that step is correct, and the process proceeds to the next processing step. On the other hand, if the angle φ between the predictor and the corrector is large, the current processing result is discarded because the step width in that step is too large. The step width is reduced again, and a predictor and a corrector are obtained.

【0009】ホモトピー変数tが0から出発して最終的
に1になると、そのときの修正子が最終的な解として求
められる(工程S76〜S78)。
When the homotopy variable t starts from 0 and finally becomes 1, the corrector at that time is obtained as a final solution (steps S76 to S78).

【0010】[0010]

【発明が解決しようとする課題】従来の回路シミュレー
ション方法では、1番目の解をもとめるステップに関す
る処理では、設定された初期値に対して有効な計算方法
が確立されていないという問題がある。この場合、適当
な初期値でないと、直ちにエラーとなって処理を終了す
るので、試行錯誤して適当な初期値を設定する必要があ
る。
In the conventional circuit simulation method, there is a problem that in the processing relating to the step of obtaining the first solution, a calculation method effective for the set initial value has not been established. In this case, if it is not an appropriate initial value, an error occurs immediately and the process is terminated. Therefore, it is necessary to set an appropriate initial value by trial and error.

【0011】また、予測子が適当に選定されないと、正
しい解曲線上を追跡出来ないという問題もある。図13
は、図12のシミュレーション方法で解曲線を追跡する
様子を示す。
There is also a problem that unless a predictor is properly selected, it is impossible to track a correct solution curve. FIG.
Shows a state in which the solution curve is tracked by the simulation method of FIG.

【0012】正しい解曲線2と誤りの解曲線5とが、同
図に示す位置関係にある場合には、誤りの解曲線5上に
予測子b及び修正子cが得られた場合がある。このよう
な場合には、追跡によって正しい解曲線2から誤りの解
曲線5に移動しても、現在の処理ステップが破棄され
ず、次の処理ステップが実行され、誤りの解曲線5上を
更に追跡することになる。
When the correct solution curve 2 and the erroneous solution curve 5 have the positional relationship shown in FIG. 1, a predictor b and a corrector c may be obtained on the erroneous solution curve 5 in some cases. In such a case, even if the tracking moves from the correct solution curve 2 to the erroneous solution curve 5, the current processing step is not discarded, the next processing step is executed, and the erroneous solution curve 5 is further moved. Will be tracked.

【0013】また、連立方程式をNR法によって解を求
める際に、その係数によっては、行列計算の誤差が大き
くなり、NR法で動作するシミュレータの動作が不安定
になることがある。
Further, when a solution of the simultaneous equations is obtained by the NR method, an error in the matrix calculation may increase depending on the coefficient, and the operation of the simulator operating by the NR method may become unstable.

【0014】本発明は、上記したような従来の技術が有
する問題点を解決するためになされたものであり、解曲
線の追跡が高安定及び高精度になり、処理のステップ数
が削減できるシミュレーション方法及びシミュレータを
提供することを目的とする。
SUMMARY OF THE INVENTION The present invention has been made to solve the above-mentioned problems of the prior art, and provides a simulation in which a solution curve can be traced with high stability and accuracy and the number of processing steps can be reduced. It is an object to provide a method and a simulator.

【0015】[0015]

【課題を解決するための手段】上記目的を達成するた
め、本発明の第1の視点に係るシミュレーション方法
は、可変ステップBDF法を用いて、ホモトピー方程式
の解曲線を追跡することによって、連立方程式を解くシ
ミュレーション方法において、前記BDF法における解
曲線の追跡による解曲線上のj+1番目の解を求めるス
テップは、j番目迄の解に基づいて、ホモトピー方程式
から予測子を計算し、該予測子に基づいて近似解を成す
修正子を計算する第1の工程と、前記近似解を成す修正
子の真の解に対する誤差の推定値を計算する第2の工程
と、前記誤差の推定値が誤差の許容値よりも大きいか、
小さいかを判定する第3の工程とを有し、前記第3の工
程で大きいと判定されると、前記予測子を求めた際のス
テップ幅に比して小さなステップ幅を計算し、該ステッ
プ幅に基づいて前記第1及び第2の工程までを繰り返し
て新たな修正子を求め、前記第3の工程で小さいと判定
されると、そのときの修正子をj+1番目の近似解と
し、次いで、j+2番目の解を求めるステップに移行す
ることを特徴とする。
In order to achieve the above object, a simulation method according to a first aspect of the present invention uses a variable step BDF method to track a solution curve of a homotopy equation, thereby achieving simultaneous equations. In the simulation method for solving the above, the step of obtaining the (j + 1) th solution on the solution curve by tracing the solution curve in the BDF method includes calculating a predictor from the homotopy equation based on the solutions up to the jth, and A first step of calculating a corrector that forms an approximate solution based on the second step; and a second step of calculating an estimated value of an error with respect to a true solution of the corrector that forms the approximate solution; Greater than the allowed value,
And a third step of determining whether the predictor is small. If it is determined that the predictor is large, a small step width is calculated as compared with the step width when the predictor is obtained. Based on the width, the first and second steps are repeated to obtain a new corrector. If it is determined that the corrector is smaller in the third step, the corrector at that time is set to the (j + 1) th approximate solution. , J + 2th solution is obtained.

【0016】本発明のシミュレーション方法では、誤差
の推定値と誤差の許容値との比較結果に基づいて、ステ
ップ幅を計算することにより、解曲線を追跡する際に最
適なステップ幅が得られるので、BDF法における解曲
線の追跡が安定し且つ追跡における精度が向上する。
According to the simulation method of the present invention, the optimum step width is obtained when the solution curve is traced by calculating the step width based on the comparison result between the estimated value of the error and the allowable value of the error. , The tracking of the solution curve in the BDF method is stable and the accuracy in the tracking is improved.

【0017】本発明の好ましいシミュレーション方法で
は、前記誤差許容値Eは、j番目の解とj+1番目の解
の予測子とが成すベクトルと、j番目の解とj+1番目
の解の修正子とが成すベクトルとが成す角度をθとし、
定数ξを0<ξ<1とし、定数εを0<εとすると、E
=(1+ξcos2θ)ε、E=(1+ξ|cosθ|)ε、
又は、E=(1+ξcosθ)εで計算される。この場
合、解曲線を追跡する進行方向に比して、これと直交方
向のステップ幅を小さくするので、追跡の精度を損なう
ことなく、処理のステップ数が削減され、解曲線の追跡
が効率良く行える。
In a preferred simulation method according to the present invention, the error tolerance E is a vector formed by the j-th solution and the predictor of the (j + 1) -th solution, and the corrector of the j-th solution and the (j + 1) -th solution. Θ is the angle formed by the vector
If the constant ξ is 0 <ξ <1 and the constant ε is 0 <ε, then E
= (1 + ξcos 2 θ) ε, E = (1 + ξ | cosθ |) ε,
Alternatively, it is calculated by E = (1 + ξcos θ) ε. In this case, the step width in the direction perpendicular to the solution curve is made smaller than the traveling direction in which the solution curve is tracked, so that the number of processing steps is reduced without impairing the tracking accuracy, and the solution curve tracking is efficiently performed. I can do it.

【0018】また、本発明の好ましいシミュレーション
方法では、前記小さなステップ幅h smallは、小さくす
る前のステップ幅をh、定数αを0<α<1、定数ηを
η<1、前記誤差の推定値をTj+1、前記BDF法の次
数をkとし、関数max{}が括弧内の全ての要素の中か
ら最大値を選択する関数として、hsmall=max{αh,
ηh(E/|Tj+1|)1/(1+k)}で計算される、この場
合、ステップ幅が極端に小さくなることを抑えながら、
安定な追跡が可能になる。
Further, a preferred simulation of the present invention
In the method, the small step width h smallIs small
H, the constant α is 0 <α <1, and the constant η is
η <1, the estimated value of the error is Tj + 1Next to the BDF method
If the number is k and the function max {} is among all the elements in parentheses
H as a function to select the maximum value fromsmall= Max {αh,
ηh (E / | Tj + 1|)1 / (1 + k)This place calculated by}
In this case, while keeping the step width from becoming extremely small,
Stable tracking becomes possible.

【0019】更に、本発明の好ましいシミュレーション
方法では、前記j+1番目の解を求める第3の工程で小
さいと判定された後には、j+2番目の解を求めるステ
ップで採用するステップ幅hbigは、j+1番目のステ
ップ幅をh、定数βを0<β<1、定数γをγ>1、前
記誤差の推定値をTj+1、前記BDF法の次数をk、最
大限度のステップ幅をhmaxとし、関数min{}が括弧内
の全ての要素の中から最小値を選択する関数として、h
big=min{βh(E/|Tj+1|)1/(1+k),γh,h
max}で計算される。この場合、誤差の推定値が誤差の
許容値より小さい範囲内で、次のステップ幅をできるだ
け大きくするので、処理のステップ数が削減できる。
Further, in the preferred simulation method of the present invention, after it is determined in the third step of obtaining the j + 1-th solution that the size is small, the step width h big adopted in the step of obtaining the j + 2-th solution is j + 1 The step width is h, the constant β is 0 <β <1, the constant γ is γ> 1, the estimated value of the error is T j + 1 , the order of the BDF method is k, and the maximum step width is h max. And the function min {} is a function that selects the minimum value from all the elements in parentheses, h
big = min {βh (E / | T j + 1 |) 1 / (1 + k) , γh, h
It is calculated by max }. In this case, the next step width is made as large as possible within a range where the estimated value of the error is smaller than the allowable value of the error, so that the number of processing steps can be reduced.

【0020】更に、本発明の好ましいシミュレーション
方法では、ステップ幅の下限hminは、ひとつ前の解を
求める際のステップ幅をh-1、定数μをμ>2、定数ν
を1>ν>0とすると、hmin=max{με,νh-1}で
計算されることが好ましく、また、前記αh-1をステッ
プ幅として1ステップ前で求められた解について誤差の
推定値が誤差の許容値よりも小さい場合には、次のステ
ップである前記現ステップのステップ幅hbigは、定数
ξをξ<γとすると、hbig=min{βh(E/|Tj+1
|)1/(1+k),ξh,hmax}で計算されることが好まし
い。上記のようにして、追跡に誤りを生じない範囲で可
能な限り大きなステップ幅を採用して追跡効率の低下を
防止する。
Further, in the preferred simulation method of the present invention, the lower limit h min of the step width is h −1 , the constant μ is μ> 2, and the constant ν is 1
If 1>ν> 0, it is preferable to calculate h min = max {με, νh −1 }, and estimate the error of the solution obtained one step before using αh −1 as the step width. If the value is smaller than the allowable value of the error, the step width h big of the next step is h big = min {βh (E / | T j + 1
|) 1 / (1 + k) , {h, h max }. As described above, a step size as large as possible is adopted as long as no error occurs in tracking, thereby preventing a reduction in tracking efficiency.

【0021】更に、本発明の好ましいシミュレーション
方法では、第1番目のステップでは、ホモトピー変数を
tとして、t=0の点での解曲線の接線と、t=0の平
面と解曲線との交点を中心とする所定半径の球との交点
の内でtが正の交点を予測子とする。この場合、1番目
の解を求めるための予測子が最適に設定され、これに基
づいて修正子が容易に求められる。
Further, in a preferred simulation method according to the present invention, in the first step, a tangent of a solution curve at a point of t = 0 and an intersection of a plane of t = 0 and the solution curve are set, where t is a homotopy variable. The intersection at which t is positive among the intersections with a sphere having a predetermined radius centered on is set as a predictor. In this case, the predictor for obtaining the first solution is optimally set, and the corrector is easily obtained based on this.

【0022】また、本発明の第2の視点に係るシミュレ
ーション方法は、NR法を利用してホモトピー方程式を
解く方法であって、ホモトピー方程式を構成する各連立
方程式について、各連立方程式の変数の係数の内で最大
の係数を求め、該最大の係数で各連立方程式中の全ての
変数の係数を除算することを特徴とする。この場合、各
方程式内における係数間の絶対差が小さくなるので、N
R法で連立方程式を解く際の誤差が小さくなることが期
待できる。計算誤差が小さくなることにより、安定な解
曲線の追跡が可能となる。
A simulation method according to a second aspect of the present invention is a method for solving a homotopy equation using the NR method. For each of the simultaneous equations constituting the homotopy equation, a coefficient of a variable of each of the simultaneous equations is used. The maximum coefficient is obtained from among the above, and the coefficients of all the variables in each simultaneous equation are divided by the maximum coefficient. In this case, since the absolute difference between the coefficients in each equation is small, N
It can be expected that the error when solving the simultaneous equations by the R method becomes small. By reducing the calculation error, stable tracking of the solution curve becomes possible.

【0023】更に、本発明の第3の視点に係るシミュレ
ーション方法は、電子回路構成する各電子部品の特性と
その接続関係を表すネットリスト情報に基づき、回路の
連立方程式系を作成する工程と、前記連立方程式系を解
く求解工程と、を備える前記電子回路の動作を解析する
シミュレーション方法において、前記連立方程式の求解
工程は、ホモトピー法を用いて前記連立方程式系からホ
モトピー方程式を構築し、可変ステップBDF法を用い
て前記ホモトピー方程式の解曲線を追跡することで前記
連立方程式系の解を求める工程を備え、前記BDF法に
おける解曲線の追跡による解曲線上のj+1番目の解を
求めるステップは、j番目迄の解に基づいて、ホモトピ
ー方程式から予測子を計算し、該予測子に基づいて近似
解を成す修正子を計算する第1の工程と、前記近似解を
成す修正子の真の解に対する誤差の推定値を計算する第
2の工程と、前記誤差の推定値が誤差の許容値よりも大
きいか、小さいかを判定する第3の工程とを有し、前記
第3の工程で大きいと判定されると、前記予測子を求め
た際のステップ幅よりも小さなステップ幅を計算し、該
小さなステップ幅に基づいて前記第1及び第2の工程ま
でを繰り返して新たな修正子を求め、前記第3の工程で
小さいと判定されると、そのときの修正子をj+1番目
の近似解とし、次いで、j+2番目の解を求めるステッ
プに移行することを特徴とする。この場合、ホモトピー
法を用いた電子回路の動作の解析が、従来に比して高速
かつ確実に解を求めることができる。
Further, a simulation method according to a third aspect of the present invention includes a step of creating a system of simultaneous equations for a circuit based on netlist information representing the characteristics of each electronic component constituting the electronic circuit and the connection relation thereof; A solution step of solving the system of simultaneous equations, and a simulation method for analyzing the operation of the electronic circuit comprising the step of solving the system of simultaneous equations, wherein the homotopy equation is constructed from the system of simultaneous equations using a homotopy method, and a variable step is performed. A step of finding a solution of the system of simultaneous equations by tracing a solution curve of the homotopy equation using a BDF method, and a step of finding a j + 1-th solution on the solution curve by tracing the solution curve in the BDF method, Based on the solutions up to j-th, a predictor is calculated from the homotopy equation, and a corrector that forms an approximate solution based on the predictor is calculated. A second step of calculating an error estimate for the true solution of the modifier forming the approximate solution, and a second step of calculating whether the error estimate is larger or smaller than an allowable value of the error. And if it is determined that the predictor is large, calculate a step width smaller than the step width when the predictor was obtained, based on the small step width The first and second steps are repeated to obtain a new corrector. If it is determined that the corrector is smaller in the third step, the corrector at that time is determined as the (j + 1) th approximate solution. Characterized by shifting to the step of finding the solution of In this case, the analysis of the operation of the electronic circuit using the homotopy method can find the solution faster and more reliably than in the past.

【0024】なお、本発明の第1の視点に係るシミュレ
ーション方法では、上記構成に代えて、誤差の許容値を
所定の範囲とし、第3の工程では、その範囲の最大値よ
りも大きいか、又は、その範囲の最小値よりも小さいか
を判断してもよい。この場合、誤差の推定値が所定の範
囲内にある場合には先のステップ幅が自動的に採用され
る。
In the simulation method according to the first aspect of the present invention, instead of the above configuration, the allowable value of the error is set to a predetermined range. Alternatively, it may be determined whether the value is smaller than the minimum value of the range. In this case, if the estimated value of the error is within a predetermined range, the previous step width is automatically adopted.

【0025】[0025]

【発明の実施の形態】以下、本発明の実施形態例に基づ
いて、本発明のシミュレーション方法について図面を参
照して説明する。図1は、本発明の一実施形態例のシミ
ュレーション方法が組み込まれる回路シミュレータの動
作を示す。回路シミュレータは、SPICE系の回路解
析用プログラムを搭載し、最初にDC解析を行い、その
DC解析の結果に基づいて、交流解析や過渡解析を行う
ようにプログラムされている。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, a simulation method according to the present invention will be described based on an embodiment of the present invention with reference to the drawings. FIG. 1 shows the operation of a circuit simulator in which a simulation method according to an embodiment of the present invention is incorporated. The circuit simulator is loaded with a SPICE-based circuit analysis program, performs a DC analysis first, and is programmed to perform an AC analysis and a transient analysis based on the result of the DC analysis.

【0026】まず、回路データファイルから、解析対象
回路の回路データを読み出し(工程S1)、この回路デ
ータに基づいてDC動作点解析のための回路方程式を作
成する(工程S2)。
First, circuit data of a circuit to be analyzed is read from a circuit data file (step S1), and a circuit equation for DC operating point analysis is created based on the circuit data (step S2).

【0027】回路データは、電子回路を構成する各電子
部品の特性とその接続関係を表すネットリスト情報等を
含む。回路方程式は、解析対象回路の接点電位及び接点
電流を変数とする連立方程式であり、解析対象回路の節
点電位の総数と使用される電圧源の数の和と同じ数の方
程式を有する。
The circuit data includes, for example, net list information indicating the characteristics of each electronic component constituting the electronic circuit and the connection relationship thereof. The circuit equation is a simultaneous equation using the contact potential and the contact current of the analysis target circuit as variables, and has the same number of equations as the sum of the total number of node potentials of the analysis target circuit and the number of voltage sources used.

【0028】まず、適当な初期値と解曲線の勾配とに基
づいて、第1番目の予測子を求め、この予測子に基づい
て、通常のNR法を利用して回路方程式の解を求める
(工程S3)。NR法が収束して解が求められると(工
程S4)、工程S6に進み次の処理を実行する。
First, a first predictor is obtained based on an appropriate initial value and a gradient of a solution curve, and based on this predictor, a solution of a circuit equation is obtained using a normal NR method ( Step S3). When the NR method converges and a solution is obtained (step S4), the process proceeds to step S6 to execute the next process.

【0029】解が求められなければ、ホモトピー法によ
り回路方程式の解を求める(工程S5)。ホモトピー法
による回路方程式の求解では、本発明の一実施形態例の
シミュレーション方法が採用される。回路方程式を求解
した結果を結果ファイルに書き込み、処理を終了する
(工程S6)。
If no solution is found, a solution of the circuit equation is found by the homotopy method (step S5). In solving the circuit equation by the homotopy method, the simulation method according to the embodiment of the present invention is employed. The result obtained by solving the circuit equation is written in a result file, and the process ends (step S6).

【0030】図2は、図1の工程S5の詳細を示すフロ
ーチャートである。本実施形態例のシミュレーション方
法は、ホモトピー法に基づいて実行される。
FIG. 2 is a flowchart showing the details of step S5 in FIG. The simulation method of the present embodiment is executed based on the homotopy method.

【0031】最初に、初期のステップ幅及び各パラメー
タを設定して初期化する(工程S11)。下記に示す処
理により、1ステップ目の予測子を計算する(工程S1
2)。
First, an initial step width and parameters are set and initialized (step S11). The predictor in the first step is calculated by the processing described below (step S1).
2).

【0032】図7は、ホモトピー法の最初のステップを
模式的に示している。ホモトピー変数をtとし、正しい
解曲線とt=0平面との交点をaとすると、交点aに引
いた解曲線の接線と、交点aを中心とする半径h0の球
との交点bを求め、これを1ステップ目の予測子にす
る。
FIG. 7 schematically shows the first step of the homotopy method. Assuming that the homotopy variable is t and the intersection between the correct solution curve and the t = 0 plane is a, an intersection b between a tangent of the solution curve drawn to the intersection a and a sphere having a radius h 0 centered on the intersection a is obtained. This is used as the first step predictor.

【0033】具体的には、以下のように計算される。 Jf(a)・x = −f(a) ・・・・ (4) 但し、Jfはfのヤコビアンである。初期のステップ幅
をhとすると、求める予測子ypは、式(4)の解xを
用いて次式のように示される。ただし、yn+1=t=1
である。 i=1,・・・,nのとき
Specifically, it is calculated as follows. Jf (a) · x = −f (a) (4) where Jf is the Jacobian of f. Assuming that the initial step width is h, the predictor yp to be obtained is expressed by the following equation using the solution x of the equation (4). Where y n + 1 = t = 1
It is. When i = 1, ..., n

【数1】 i=n+1のとき(Equation 1) When i = n + 1

【数2】 (Equation 2)

【0034】工程S12で求めた予測子を初期値とし
て、NR法により1次の後退差分公式に予測子修正子法
を適用した解曲線追跡アルゴリズム(以下、BDF法と
呼ぶ)を用いて、ホモトピー方程式を解き、1ステップ
目の修正子を求める(工程S13)。
Using the predictor obtained in step S12 as an initial value, a homotopy is calculated using a solution curve tracing algorithm (hereinafter referred to as a BDF method) in which a predictor modifier method is applied to a first-order backward difference formula by the NR method. The equation is solved to determine a first-step corrector (step S13).

【0035】NR法が収束するか調べ(工程S14)、
1ステップ目の予測子が計算できると、工程S16に処
理を進め、計算できないと、ステップ幅hを小さくし
(工程S15)、工程S12から処理を実行する。
It is checked whether the NR method converges (step S14).
If the predictor in the first step can be calculated, the process proceeds to step S16. If the predictor cannot be calculated, the step width h is reduced (step S15), and the process is executed from step S12.

【0036】1ステップ目の予測子が計算できると、2
ステップ目以降の予測子を求める(工程S16)。2ス
テップ目では、1次の予測子を計算し、3ステップ目以
降では、2次の予測子を計算する。
When the predictor in the first step can be calculated, 2
A predictor after the step is obtained (step S16). In the second step, a primary predictor is calculated, and in the third and subsequent steps, a secondary predictor is calculated.

【0037】jステップ目のy、hをyj、hjと表現す
ると、j+1番目の予測子ypj+1は、下記のように示さ
れる。2ステップ目の1次の予測子は、 ypj+1 = yj+ωj+1(yj−yj-1) ・・・・ (7) 3ステップ目以降の2次の予測子は、 ypj+1 = yj+ωj+1(yj−yj-1) +ωj+1ωj(1+ωj+1)/(1+ωj) ×{(yj−yj-1)−ωj(yj-1−yj-2)} ・・・・ (8) 但し、ωj=hj/hj-1である。
[0037] j-th step y, h and y j, is expressed as h j, j + 1 th predictor yp j + 1 are shown as follows. The primary predictor in the second step is yp j + 1 = y j + ω j + 1 (y j −y j−1 ) (7) The secondary predictors in the third and subsequent steps are: yp j + 1 = y j + ω j + 1 (y j −y j−1 ) + ω j + 1 ω j (1 + ω j + 1 ) / (1 + ω j ) × {(y j −y j−1 ) −ω j (y j-1 −y j-2 )} (8) where ω j = h j / h j-1 .

【0038】工程S16で求めた予測子を初期値とし
て、NR法によりBDF法を用いてホモトピー方程式を
解き、2ステップ目以降の修正子を求める(工程S1
7)。2ステップ目では、1次のBDF法で計算し、3
ステップ目以降では、2次のBDF法で計算する。
Using the predictor obtained in step S16 as an initial value, the homotopy equation is solved by the NR method using the BDF method, and a corrector for the second and subsequent steps is obtained (step S1).
7). In the second step, the first-order BDF method is used to calculate
After the step, calculation is performed by the second-order BDF method.

【0039】j+1ステップ目の修正子ycj+1は、j+
1ステップ目の予測子ypj+1を初期値にして、下記に示
す方程式を解くことで求められる。 h(ycj+1) = 0 ・・・・ (9)
The modifier yc j + 1 at the j + 1th step is j +
It can be obtained by solving the following equation with the predictor yp j + 1 of the first step as an initial value. h (yc j + 1 ) = 0 (9)

【数3】 2ステップ目の1次のBDF法は、 dyi j+1 = yci j+1−yi j-1 ・・・・ (11) 3ステップ目以降の2次のBDF法は、 dyi j+1 = (1+2ωj+1)/(1+ωj+1)×yci j+1 −(1+ωj+1)yi j+ω2 j+1/(1+ωj+1)×yi j-1 ・・・・ (12)(Equation 3) The second step of the first-order BDF method, dy i j + 1 = yc i j + 1 -y i j-1 ···· (11) 3 steps subsequent second order BDF method, dy i j +1 = (1 + 2ω j + 1) / (1 + ω j + 1) × yc i j + 1 - (1 + ω j + 1) y i j + ω 2 j + 1 / (1 + ω j + 1) × y i j-1 .... (12)

【0040】NR法が収束するか調べ(工程S18)、
2ステップ目以降の修正子が計算できないと、工程S2
1から処理を実行し、計算できると、予測子及び修正子
に基づいて、局所離散化誤差の推定値(以下、誤差の推
定値と呼ぶ)Tj+1及び誤差の許容値Eを計算する(工
程S19)。
It is checked whether the NR method converges (step S18).
If the second and subsequent modifiers cannot be calculated, step S2
When the processing is executed from step 1 and calculation is possible, an estimated value (hereinafter, referred to as an error estimated value) Tj + 1 of the local discretization error and an allowable value E of the error are calculated based on the predictor and the corrector. (Step S19).

【0041】jをステップ数とすると、誤差の推定値T
j+1は、1ステップ目(j=1)のとき、 Tj+1 ≡ |y−yc| ≒ |yp−yc| ・・・・ (13) 2ステップ目以降(j>1)のとき、 Tj+1 ≡ |y−yc| ≒ ωj+1(1+ωj+1) /{ωj+1(1+ωj+1)+(1+2ωj+1)(ωj-1+ωj -1+1)} ×|yp−yc| ・・・・ (14) 式13又は式14は、j+1ステップ目の正しい解と修
正子との誤差の推定値を示す。
If j is the number of steps, the estimated value of the error T
j + 1 is for the first step (j = 1), T j + 1 || y−yc | ≒ | yp−yc | (13) For the second and subsequent steps (j> 1) , T j + 1 } | y−yc || ω j + 1 (1 + ω j + 1 ) / {ω j + 1 (1 + ω j + 1 ) + (1 + 2ω j + 1 ) (ω j−1 + ω j −1 +1)} × | yp−yc | (14) Expression 13 or Expression 14 shows the estimated value of the error between the correct solution at the j + 1th step and the corrector.

【0042】誤差の許容値Eは、j及びj+1ステップ
目の解の予測子から成るベクトルと、j及びj+1ステ
ップ目の解の修正子から成るベクトルとがなす角をθと
し、定数ξを0<ξ<1とし、定数εを0<εとする。
誤差の許容値Eは、下記に示す式の何れかで計算され
る。 E=(1+ξcos2θ)ε ・・・・ (15) E=(1+ξ|cosθ|)ε ・・・・ (16) E=(1+ξcosθ)ε ・・・・ (17)
The allowable value E of the error is defined as θ, where an angle formed between a vector composed of the predictors of the solutions of the j-th and j + 1-th steps and a vector composed of the correctors of the solutions of the j-th and j + 1-th steps is θ, and the constant ξ is 0. <Ξ <1, and the constant ε is 0 <ε.
The allowable value E of the error is calculated by one of the following equations. E = (1 + ξcos 2 |) εε (15) E = (1 + ξ | cos θ |) ・ (16) E = (1 + ξcos θ)) (17)

【0043】誤差の推定値Tj+1が誤差の許容値Eより
小さいか否か調べ(工程S20)、誤差の推定値Tj+1
が大きければ、下記に示すように、ステップ幅の下限h
minを計算し、j+1ステップ目のステップ幅hj+1がス
テップ幅の下限hminより大きいか判断する(工程S2
1)。
[0043] investigated whether the estimated value T j + 1 Do error tolerance E is smaller than the error (step S20), the estimated value of the error T j + 1
Is larger, the lower limit h of the step width is as shown below.
min is calculated, and it is determined whether the step width h j + 1 of the ( j + 1) th step is larger than the lower limit h min of the step width (step S2).
1).

【0044】ステップ幅の下限hminは、現ステップの
ステップ幅をh、現ステップより1ステップ前のステッ
プ幅をh-1とし、定数μをμ>2とし、定数νを1>ν
>0とすると、 hmin=max{με,νh-1} ・・・・ (18) で計算される。
The lower limit h min of the step width is defined as h, the step width of the current step is h, the step width one step before the current step is h −1 , the constant μ is μ> 2, and the constant ν is 1> ν
If> 0, h min = max {με, νh −1 } (18)

【0045】現在のステップ幅hがステップ幅の下限h
minより大きいと、2ステップ目以降の修正子が計算で
きず工程S18の判定が“No”であれば、現在のステ
ップ幅hに代えて新しいステップ幅αhとして、ステッ
プ幅を縮小する。
The current step width h is the lower limit h of the step width.
If it is larger than min , the second and subsequent modifiers cannot be calculated, and if the determination in step S18 is "No", the step width is reduced to a new step width αh instead of the current step width h.

【0046】誤差の推定値が誤差の許容値より大きく工
程S20の判定が“No”であれば、下記に示すよう
に、ステップ幅を縮小する(工程S22)。その後、工
程S16から処理を実行して、j+1ステップ目の計算
を行う。但し、定数αは、α<1である。
If the estimated value of the error is larger than the allowable value of the error and the determination in step S20 is "No", the step width is reduced as described below (step S22). Thereafter, the processing is performed from step S16, and the calculation of the (j + 1) th step is performed. However, the constant α is α <1.

【0047】小さなステップ幅をhsmallは、小さくす
る前のステップ幅をh、定数αを0<α<1、定数ηを
η<1、前記誤差の推定値をTj+1、前記BDF法の次
数をkとし、関数max{}が全ての要素の中から最大値
を選択するものとすれば、 で計算される。
The small step width h small is a step width before being reduced, the constant α is 0 <α <1, the constant η is η <1, the estimated value of the error is T j + 1 , the BDF method If the order of k is k and the function max {} selects the maximum value from all elements, Is calculated by

【0048】小さなステップ幅hsmallは、式19に示
すようにhsmall<hである。式19に使用されている
各項の意味を下記に示す。定数αは、0<α<1の範囲
にあり、実際の値には0.6〜0.75が使用される。
定数αが1より小さいことで、第1要素αhをhより小
さくし、小さなステップ幅hsmallが前のステップ幅h
に比して小さくなる。
The small step width h small is h small <h as shown in Equation 19. The meaning of each term used in Equation 19 is shown below. Is in the range of 0 <α <1, and 0.6 to 0.75 is used for the actual value.
When the constant α is smaller than 1, the first element αh is made smaller than h, and the small step width h small is changed to the previous step width h.
Smaller than

【0049】誤差の推定値Tj+1は、誤差の許容値Eに
比して小さいと予測される。式19は、その中で最大の
ステップ幅の近似値を示し、hより小さいことを保証す
る。
The estimated error value T j + 1 is predicted to be smaller than the allowable error value E. Equation 19 shows an approximation of the largest step width among them, and guarantees that it is smaller than h.

【0050】定数ηは、安全を期すために0<η<1の
範囲にあり、実際の値には0.7〜0.95が使用され
る。関数max{}は、ステップ幅が極端に小さくなるこ
と、及び、ステップ幅の変化が大きくなることを抑制し
て、誤差の推定値を正確にし、安定に解曲線を追跡でき
るようにする。
The constant η is in the range of 0 <η <1 for safety, and 0.7 to 0.95 is used as the actual value. The function max {} suppresses the step width from becoming extremely small and the change in the step width from becoming large, so that the estimated value of the error is accurate and the solution curve can be stably tracked.

【0051】現在のステップ幅hがステップ幅の下限h
minより小さいと、現在の処理を調べ(工程S23)、
1度1ステップ戻った処理であれば、計算の続行が不可
能なため、エラーメッセージを表示してエラー終了す
る。1度1ステップ戻った処理でなければ、現在の処理
をjステップ目からj−1ステップ目に1ステップ戻す
(工程S24)。
The current step width h is the lower limit h of the step width.
If it is smaller than min , the current processing is checked (step S23),
If the process returns one step, the calculation cannot be continued, so an error message is displayed and the process ends with an error. If the process is not one step back, the current process is returned one step from the jth step to the j-1th step (step S24).

【0052】次に、現在のステップ幅hを新しいステッ
プ幅αhに代えて、ステップ幅を縮小し(工程S2
5)、その後、工程S16から処理を実行して、jステ
ップ目の計算を行う。
Next, the step width is reduced by replacing the current step width h with the new step width αh (step S2).
5) After that, the processing is executed from step S16 to calculate the j-th step.

【0053】j+1ステップ目の計算であれば下記の式
20に従い、jステップ目の計算であれば下記の式21
に従って、次のステップ幅を計算する(工程S26)。
In the calculation of the (j + 1) th step, the following equation (20) is used.
, The next step width is calculated (step S26).

【0054】j+1ステップ目の計算による大きなステ
ップ幅hbigは、大きなステップ幅をhbig、大きくする
前のステップ幅をh、定数βを0<β<1とし、定数γ
をγ>1とし、最大のステップ幅をhmaxとし、誤差の
推定値をTj+1、BDF法の次数をkとし、関数min{}
が全ての要素の中から最小値を選択するとすれば、 hbig=min{βh(E/|Tj+1|)1/(1+k),γh,hmax} ・・・・ (20) で計算される。
The large step width h big calculated by the (j + 1) th step is such that the large step width is h big , the step width before the increase is h, the constant β is 0 <β <1, and the constant γ
, Γ> 1, the maximum step width is h max , the estimated value of the error is T j + 1 , the order of the BDF method is k, and the function min {}
Selects the minimum value among all the elements, h big = min {βh (E / | T j + 1 |) 1 / (1 + k) , γh, h max } (20) ).

【0055】誤差の推定値が誤差の許容値より小さいと
判定されると、修正子による解の近似値をj+1ステッ
プ目の解として設定し、大きなステップ幅hbigをj+
2ステップ目のステップ幅として設定する。
If it is determined that the estimated value of the error is smaller than the allowable value of the error, an approximate value of the solution by the modifier is set as the solution of the (j + 1) th step, and the large step width h big is set to j +
Set as the step width of the second step.

【0056】j+1ステップ目の計算による大きなステ
ップ幅hbigは、式20を用いることにより、誤差の推
定値が誤差の許容値より小さいと、誤差の推定値が誤差
の許容値より小さくなる範囲で、次のステップ幅をでき
るだけ大きくする。式20に使用されている各項の意味
を下記に示す。
The large step width h big by the calculation of the (j + 1) th step can be obtained by using the expression 20 in a range where the estimated value of the error is smaller than the allowable value of the error if the estimated value of the error is smaller than the allowable value of the error. , And make the next step width as large as possible. The meaning of each term used in Equation 20 is shown below.

【0057】誤差の推定値Tj+1は、誤差の許容値Eに
比して小さいと予測される。式20は、その中で最大の
ステップ幅の近似値を示し、hより大きいことを保証す
る。
The estimated error value T j + 1 is predicted to be smaller than the allowable error value E. Equation 20 shows an approximation of the largest step width among them and guarantees that it is larger than h.

【0058】第1要素の定数βは、安全を期すために0
<β<1の範囲になり、実際の値には0.9〜0.95
が使用される。
The constant β of the first element is set to 0 for safety.
<Β <1, and the actual value is 0.9 to 0.95.
Is used.

【0059】第2要素の定数γは、1<γの範囲にあ
り、実際の値には1.8〜2.0の値が使用される。第
2要素γhは、大きくする前のステップ幅hと大きなス
テップ幅hbigとの比を一定範囲に抑え、誤差の推定値
が不正確になり、解曲線の追跡が不安定になることを防
止する。
The constant γ of the second element is in the range of 1 <γ, and a value of 1.8 to 2.0 is used as an actual value. The second element γh keeps the ratio between the step width h before the enlargement and the large step width h big within a certain range, thereby preventing the error estimation value from being inaccurate and the solution curve from becoming unstable. I do.

【0060】第3要素hmaxは、ステップ幅が極端に大
きくならないように、ステップ幅の絶対的な上限を定め
る値であり、実際の値には10.0程度が使用される。
The third element h max is a value that determines the absolute upper limit of the step width so that the step width does not become extremely large, and an actual value of about 10.0 is used.

【0061】関数min{}は、第1〜第3要素の中から最
小値を選択することにより、ステップ幅が極端に大きく
なることを抑制し、ステップ幅の変化を滑らかにする。
The function min {} selects the minimum value from the first to third elements, thereby suppressing the step width from becoming extremely large and smoothing the change in the step width.

【0062】jステップ目の計算による大きなステップ
幅hbigは、現ステップのステップ幅hがステップ幅の
下限hminより小さいと、 hbig=min{βh(E/|Tj+1|)1/(1+k),ξh,hmax} ・・・・ (21) で計算される。ξは、ξ<γなる定数である。
[0062] large step width by j-th step of computing h big is the lower limit h min is smaller than the step width h is the step width of the current step, h big = min {βh ( E / | T j + 1 |) 1 / (1 + k), ξh , is calculated by h max} ···· (21). ξ is a constant satisfying ξ <γ.

【0063】ホモトピー変数が1になったか判定する。
具体的には、ホモトピー変数tj+1=yn+1 j+1に対し
て、tj<1<tj+1又はtj>1>tj+1であるか判定し
(工程S27)、ホモトピー変数が1にならなければ、
工程S30から処理を実行する。
It is determined whether the homotopy variable has become 1.
Specifically, with respect to homotopy variable t j + 1 = y n + 1 j + 1, t j <1 <t j + 1 or t j>1> t j + 1 is either determined (step S27 ), If the homotopy variable is not 1,
The process is executed from step S30.

【0064】ホモトピー変数が1になれば、xj及びx
j+1を線形補間してt=1のときの解xの近似値を求め
(工程S28)、解xの近似値を初期値としてNR法で
式1を解き、結果を出力する(工程S29)。
If the homotopy variable becomes 1, x j and x
j + 1 is linearly interpolated to obtain an approximate value of the solution x at the time t = 1 (step S28), the equation 1 is solved by the NR method with the approximate value of the solution x as an initial value, and the result is output (step S29). ).

【0065】工程S16〜S31のループの反復数を示
すホモトピー法反復数が、予め設定されたループの上限
を示す設定値Nmaxより大きいか調べる(工程S3
0)。設定値Nmaxは、6〜17に設定される。
It is checked whether the number of iterations of the homotopy method indicating the number of loop iterations in steps S16 to S31 is larger than a preset value Nmax indicating the upper limit of the loop (step S3).
0). The set value Nmax is set to 6 to 17.

【0066】ホモトピー法反復数が大きければ、処理を
終了し、ホモトピー法反復数が小さければ、yj+1=yc
j+1として、現在の処理を1ステップ進める(工程S3
1)。その後、工程S16から処理を実行して、j+2
ステップ目の計算を行う。
If the homotopy method repetition number is large, the process is terminated. If the homotopy method repetition number is small, y j + 1 = yc
The current processing is advanced by one step as j + 1 (step S3
1). Thereafter, the processing is executed from step S16 to j + 2
The calculation of the step is performed.

【0067】上記のアルゴリズムでは、2次のBDF法
について説明したが、3次以上のBDF法を用いること
も容易である。
In the above algorithm, the second-order BDF method has been described, but it is easy to use a third-order or higher-order BDF method.

【0068】図3は、図2のシミュレーション方法によ
る最適なステップ幅にする制御を示す。正しい解曲線2
は、実線が追跡済み部分を示し、破線が追跡されていな
い部分を示す。
FIG. 3 shows control for obtaining an optimum step width by the simulation method of FIG. Correct solution curve 2
The solid line indicates a tracked portion and the broken line indicates an untracked portion.

【0069】シミュレーション方法は、正しい解曲線2
の曲率が大きいところでステップ幅を小さくし、曲率が
小さいところでステップ幅を大きくする。この場合、誤
りの解曲線への移動を回避し誤りが抑えられ、ステップ
数が少なくなるので、効率的に解曲線を追跡する。
The simulation method uses the correct solution curve 2
When the curvature is large, the step width is reduced, and when the curvature is small, the step width is increased. In this case, the movement of the error to the solution curve is avoided, the error is suppressed, and the number of steps is reduced, so that the solution curve is efficiently tracked.

【0070】図4は、図2のシミュレーション方法によ
る修正子を誤差の許容範囲内に抑える制御を示す。シミ
ュレーション方法は、誤差の推定値を評価し解曲線を追
跡するので、修正子で表される近似的な曲線3が、正し
い解曲線2からの一定の範囲を示す誤差の許容範囲4内
から外へ移動しない。この場合、解の追跡精度が高い。
FIG. 4 shows control for keeping the corrector within an allowable error range by the simulation method of FIG. Since the simulation method evaluates the estimated value of the error and tracks the solution curve, the approximate curve 3 represented by the corrector is out of the tolerance 4 of the error indicating a certain range from the correct solution curve 2. Do not move to. In this case, the solution tracking accuracy is high.

【0071】図5は、図2のシミュレーション方法が解
を有効に追跡する様子を示す。正しい解曲線2は、実線
が追跡済み部分を示し、破線が追跡されていない部分を
示す。
FIG. 5 shows how the simulation method of FIG. 2 effectively tracks a solution. In the correct solution curve 2, a solid line indicates a tracked portion and a broken line indicates an untracked portion.

【0072】シミュレーション方法は、式13〜式15
に基づいて、誤差の許容値が計算されるので、解曲線を
追跡する方向と同じ進行方向には誤差の許容値が大きく
なり、解曲線を追跡する方向と垂直な垂直方向には誤差
の許容値が小さくなる。この場合、解曲線を追跡する進
行方向に比して垂直方向のステップ幅を小さくするの
で、処理のステップ数が削減され、解曲線の追跡が効率
良く行える。
The simulation method is based on Equations 13 to 15.
The error tolerance is calculated based on the following formula, so that the error tolerance increases in the same traveling direction as the direction in which the solution curve is tracked, and the error tolerance in the vertical direction perpendicular to the solution curve tracking direction. The value decreases. In this case, since the step width in the vertical direction is made smaller than the traveling direction of tracking the solution curve, the number of processing steps is reduced, and the solution curve can be efficiently tracked.

【0073】図6は、図2のシミュレーション方法が誤
りの解曲線から正しい解曲線に再び追跡する様子を示
す。同図は、工程S20、S21、S22を実行する様
子である。正しい解曲線2及び誤りの解曲線5は、接近
し所定の位置関係がある。1Aは、破棄されたステップ
幅の球を示し、1Bは、新しいステップ幅の球を示す。
FIG. 6 shows how the simulation method of FIG. 2 tracks again from the erroneous solution curve to the correct solution curve. The figure shows a state where steps S20, S21 and S22 are executed. The correct solution curve 2 and the erroneous solution curve 5 approach and have a predetermined positional relationship. 1A shows a sphere having a discarded step width, and 1B shows a sphere having a new step width.

【0074】工程S19に示すように、誤差の推定値
は、予測子cと修正子bとの差bcに比例する。工程S
20で、ステップ幅の球1Aの差b11が大きく、誤差
の推定値が誤差の許容値より大きくなる。工程S22
で、ステップ幅の球1Aが破棄され、ステップ幅の球1
Bが新しく採用される。ステップ幅の球1Bは、差b2
2が小さく、誤差の推定値が誤差の許容値より小さく
なる。
As shown in step S19, the estimated value of the error is proportional to the difference bc between the predictor c and the corrector b. Process S
At 20, the difference b 1 c 1 between the spheres 1A of the step width is large, and the estimated value of the error is larger than the allowable value of the error. Step S22
The ball 1A having the step width is discarded, and the ball 1 having the step width is discarded.
B is newly adopted. The sphere 1B having the step width has a difference b 2
c 2 is small, the estimated value of the error is smaller than the tolerance of errors.

【0075】シミュレーション方法は、誤りの解曲線5
を追跡しても、誤差の推定値が誤差の許容値より大きく
なり、式19に基づいて小さなステップ幅を計算し、正
しい解曲線2を再び追跡する。
The simulation method uses an error solution curve 5
, The estimated value of the error becomes larger than the allowable value of the error, and a small step width is calculated based on Equation 19, and the correct solution curve 2 is tracked again.

【0076】シミュレーション方法は、誤差の推定値が
誤差の許容値より小さいと、処理を1ステップ進め、式
20に基づいてステップ幅を計算する。式21は、第1
〜第3要素を有し、効率及び安定性を確保する。
In the simulation method, when the estimated value of the error is smaller than the allowable value of the error, the process is advanced by one step, and the step width is calculated based on Expression 20. Equation 21 is the first
To have a third element to ensure efficiency and stability.

【0077】第1要素は、次のステップ目の誤差の推定
値が誤差の許容値内で且つ最大のステップ幅を与える推
定値である。第2要素は、本発明の原理の要請(hj
j+1)次のステップ目の誤差の推定値が誤差の許容値
内であり、且つ、最大のステップ幅を与える推定値であ
る。第3要素は、過度にステップ幅が大きくなることを
防ぎ、安定性を確保する値である。
The first element is an estimated value that gives the maximum step width when the estimated value of the error at the next step is within the allowable value of the error. The second element is a request of the principle of the present invention (h j
h j + 1 ) The estimated value of the error at the next step is within the allowable value of the error, and is the estimated value that gives the maximum step width. The third factor is a value that prevents the step width from becoming excessively large and ensures stability.

【0078】ステップ幅の下限は、式18に基づいて計
算され、μεと誤差の許容量εより、十分大きく設定す
ることにより、BDF法で用いられる球と解曲線が交わ
るので、解の存在が保証される。
The lower limit of the step width is calculated based on Expression 18, and by setting it sufficiently larger than με and the allowable amount of error ε, the sphere used in the BDF method intersects with the solution curve. Guaranteed.

【0079】工程S26において、処理が1度1ステッ
プ戻ると、式20に代えて式21に基づいて、次のステ
ップ幅を計算する。処理が1度1ステップ戻る場合、解
曲線の変化が大きいことが予想され、小さいステップ幅
が望まれるので、ステップ幅が急に大きくなることを避
ける。
In step S26, once the process returns one step, the next step width is calculated based on expression 21 instead of expression 20. When the process returns one step at a time, the change of the solution curve is expected to be large, and a small step width is desired.

【0080】1ステップ目の予測子は、工程S12に従
って計算される。解曲線が逆方向に追跡されること、及
び、NR法が収束しないことが防止されるので、予測子
と修正子とは十分近いことが期待される。
The predictor in the first step is calculated according to step S12. The predictor and the corrector are expected to be sufficiently close, since the solution curve is tracked in the reverse direction and the NR method is prevented from converging.

【0081】図7は、図2のシミュレーション方法が1
ステップ目の予測子を計算する様子を示す。交点aは、
x=0の直線と正しい解曲線2とが交差する点である。
ステップ幅の球1は、交点aを中心とし、式10に従う
ステップ幅を半径とする球である。1ステップ目の修正
子cは、NR法で予測子から求められ、正しい解曲線2
とステップ幅の球1との交点cである。
FIG. 7 shows that the simulation method of FIG.
4 shows how a predictor at the step is calculated. Intersection a is
This is the point where the straight line at x = 0 and the correct solution curve 2 intersect.
The sphere 1 having a step width is a sphere having the intersection a as a center and a radius having a step width according to the equation (10). The corrector c of the first step is obtained from the predictor by the NR method, and the correct solution curve 2
And a sphere 1 having a step width.

【0082】従来のシミュレーション方法では、予測子
eを適当な値に設定する。予測子eは、例えばx=x
0、t=ステップ幅であり、望ましい修正子cから大き
く離れ、予測子eを初期値とするNR法が収束せず、望
ましい修正子cが求められないことがある。またNR法
が収束しても、t<0の望ましくない修正子dが求めら
れることもある。
In the conventional simulation method, the predictor e is set to an appropriate value. The predictor e is, for example, x = x
0, t = step width, far away from the desired modifier c, the NR method using the predictor e as an initial value does not converge, and the desired modifier c may not be obtained. Also, even if the NR method converges, an undesirable modifier d with t <0 may be required.

【0083】図2のシミュレーション方法では、処理7
に従って予測子bが求められる。予測子bは、望ましい
修正子cと十分に近いことが期待される。予測子bをN
R法の初期値として用いれば、NR法が収束するので、
望ましい修正子cが求められる。
In the simulation method shown in FIG.
The predictor b is obtained in accordance with Predictor b is expected to be sufficiently close to the desired modifier c. Predictor b is N
If used as the initial value of the R method, the NR method converges.
A desirable modifier c is sought.

【0084】工程S12では、回路の連立方程式を各式
毎に、全ての変数の係数の中から最大値を求め、該最大
値で全ての変数の係数を除算し、前記ホモトピー方程式
をNR法で解く。この場合、方程式の係数の絶対値間の
差が小さくなることにより、NR法で連立方程式を解く
際に発生する計算誤差が小さくなるので、安定して解曲
線を追跡できる。
In step S12, a maximum value is obtained from the coefficients of all the variables for the simultaneous equations of the circuit for each equation, the coefficients of all the variables are divided by the maximum value, and the homotopy equation is calculated by the NR method. solve. In this case, since the difference between the absolute values of the coefficients of the equations becomes smaller, the calculation error generated when solving the simultaneous equations by the NR method becomes smaller, so that the solution curve can be tracked stably.

【0085】図8は、図2のシミュレーション方法が最
適なステップ幅にする様子を示す。ステップ幅をある程
度小さくするが、ステップ幅を際限なく小さくすること
はできない。
FIG. 8 shows how the simulation method of FIG. 2 sets the optimum step width. Although the step width is reduced to some extent, the step width cannot be reduced without limit.

【0086】追跡した近似的な解析曲線6で、誤差の許
容値Eに対して、ステップ幅を極端に小さくすると、式
(10)に従うステップ幅の球1と正しい解曲線2との
交点が無くなるので、修正子を求められない。また、計
算誤差の影響が大きくなり、正しい修正子を求められな
いこともある。
In the traced approximate analytical curve 6, when the step width is extremely reduced with respect to the allowable value E of the error, the intersection between the sphere 1 having the step width according to the equation (10) and the correct solution curve 2 disappears. So I can't ask for a modifier. In addition, the influence of the calculation error becomes large, and the correct corrector may not be obtained.

【0087】ステップ幅の下限hminは、式18を用い
て計算されるので、ステップ幅が極端に小さくならない
ように抑制する。式18のステップ幅の下限hmin=max
{με,νh-1}は、下記に示すような各変数が使用さ
れる。
Since the lower limit h min of the step width is calculated using Expression 18, the step width is suppressed so as not to be extremely small. The lower limit of the step width h min = max in Expression 18
For {με, νh -1 }, the following variables are used.

【0088】定数μは、μ>2に設定される。第1要素
μεは、修正子が求まるように、ステップ幅を極端に小
さくすることを防ぎ、ステップ幅の変化を滑らかにす
る。定数νは、0<ν<1に設定され、実際の値は、
0.1〜0.5が使用される。ステップ幅の下限hmin
は、第1要素又は第2要素の何れか大きいほうが選択さ
れる。
The constant μ is set to μ> 2. The first element [mu] [epsilon] prevents the step width from becoming extremely small and smoothes the change in the step width so as to find the corrector. The constant ν is set to 0 <ν <1, and the actual value is
0.1-0.5 is used. Lower limit of step width h min
, The larger of the first element and the second element is selected.

【0089】図9(a)及び(b)は、図2のシミュレ
ーション方法が実行される検証回路及びシミュレーショ
ン結果を示す。同図(a)に示すように、検証回路は、
電圧源、抵抗、及び、2つのトンネルダイオードが直列
に接続された閉回路である。回路シミュレータは、2つ
のトンネルダイオードが接続された節点Aの電位を求め
る。
FIGS. 9A and 9B show a verification circuit in which the simulation method of FIG. 2 is executed and a simulation result. As shown in FIG.
It is a closed circuit in which a voltage source, a resistor, and two tunnel diodes are connected in series. The circuit simulator obtains the potential at the node A where the two tunnel diodes are connected.

【0090】同図(b)に示すように、シミュレーショ
ン結果は、DC動作点解析の回路方程式を解き、節点A
についての解曲線を描いたものである。ホモトピー変数
t=1の直線と解曲線とは、5箇所で交差し、解曲線の
追跡が正しく実行されたことを示す。
As shown in FIG. 9B, the simulation result is obtained by solving a circuit equation for DC operating point analysis,
This is a drawing of a solution curve for. The straight line of the homotopy variable t = 1 and the solution curve intersect at five points, indicating that the solution curve was correctly tracked.

【0091】図10は、図1の回路シミュレータが計算
したシミュレーション内容を示す。回路シミュレータ
は、I/Oバッファ、clockネット、PLL、及
び、A/Dの4種類の回路A〜回路Dに対してシミュレ
ーションを実行する。回路A〜回路Cは、通常のNR法
で回路方程式の解が求められ、回路Dは、通常のNR法
で回路方程式の解が求められず、ホモトピー法で求めら
れた。
FIG. 10 shows simulation contents calculated by the circuit simulator of FIG. The circuit simulator executes a simulation for four types of circuits A to D: an I / O buffer, a clock net, a PLL, and an A / D. In the circuits A to C, the solution of the circuit equation was obtained by the normal NR method, and in the circuit D, the solution of the circuit equation was not obtained by the normal NR method, but was obtained by the homotopy method.

【0092】図11は、図10の回路Dのシミュレーシ
ョン結果を示す。シミュレーション結果は、ホモトピー
法によって追跡された回路Dの解曲線の1部である。回
路Dは、総節点数3111及びMOS数6839から成
る8ビット8MHzのA/Dコンバータである。市販の
回路解析シミュレータでは、回路Dに対するDC動作点
解析のNR法が収束しないので、解析できない。
FIG. 11 shows a simulation result of the circuit D of FIG. The simulation result is a part of the solution curve of the circuit D traced by the homotopy method. The circuit D is an 8-bit 8 MHz A / D converter including 3111 total nodes and 6839 MOSs. A commercially available circuit analysis simulator cannot analyze the circuit D because the NR method of DC operating point analysis for the circuit D does not converge.

【0093】同図に示すように、2つの解曲線は夫々、
節点名RIN0及びTBO6の節点電位を求めるための
曲線であり、ホモトピー変数t=0からt=1まで解が
追跡されている。求める節点電位は、解曲線とt=1の
直線との交点である。図示されない他の全ての節点電位
についても、同様に求めることができる。
As shown in the figure, the two solution curves respectively
It is a curve for calculating the node potentials of the node names RIN0 and TBO6, and the solution is traced from the homotopy variable t = 0 to t = 1. The node potential to be determined is the intersection of the solution curve and the straight line at t = 1. The same applies to all other node potentials not shown.

【0094】上記実施形態例によれば、誤差の推定値と
誤差の許容値との比較結果に基づいて、小さなステップ
幅を計算することにより、最適なステップ幅に制御する
ので、BDF法における解曲線の追跡が高安定及び高精
度になる。
According to the above-described embodiment, a small step width is calculated based on the comparison result between the estimated value of the error and the allowable value of the error to control the optimum step width. Curve tracking becomes highly stable and accurate.

【0095】また、解曲線を追跡する進行方向に比して
垂直方向のステップ幅を小さくするので、処理のステッ
プ数が削減され、解曲線の追跡が効率良く行える。
Further, since the step width in the vertical direction is made smaller than the traveling direction in which the solution curve is tracked, the number of processing steps is reduced, and the solution curve can be tracked efficiently.

【0096】以上、本発明をその好適な実施形態例に基
づいて説明したが、本発明のシミュレーション方法及び
シュミレータは、上記実施形態例の構成にのみ限定され
るものでなく、上記実施形態例の構成から種々の修正及
び変更を施したシミュレーション方法及びシュミレータ
も、本発明の範囲に含まれる。
Although the present invention has been described based on the preferred embodiment, the simulation method and the simulator of the present invention are not limited to the configuration of the above-described embodiment, and are not limited to the configuration of the above-described embodiment. Simulation methods and simulators with various modifications and changes from the configuration are also included in the scope of the present invention.

【0097】例えば、上記シミュレーション方法は、回
路設計に限らず、シュミレータを利用して解を求める全
ての連立方程式に適用できる。
For example, the above simulation method is not limited to circuit design, but can be applied to all simultaneous equations for which a solution is obtained using a simulator.

【0098】[0098]

【発明の効果】以上説明したように、本発明のシミュレ
ーション方法では、BDF法における解曲線の追跡が高
安定及び高精度になり、処理のステップ数が削減され、
解曲線の追跡が効率良く行えるので、大規模回路のDC
解析に対して有効である。
As described above, in the simulation method of the present invention, the tracking of the solution curve in the BDF method becomes highly stable and accurate, and the number of processing steps is reduced.
Since solution curve tracking can be performed efficiently, DC
Effective for analysis.

【0099】また本発明によれば、電子回路の動作を解
析するシミュレーション方法において、従来のホモトピ
ー法を用いたシミュレーション方法に比べ、高速かつ確
実に解を求めることができる。
According to the present invention, in a simulation method for analyzing the operation of an electronic circuit, a solution can be obtained at higher speed and more reliably than a conventional simulation method using a homotopy method.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の一実施形態例のシミュレーション方法
が組み込まれる回路シミュレータの動作を示す。
FIG. 1 shows an operation of a circuit simulator in which a simulation method according to an embodiment of the present invention is incorporated.

【図2】図1の工程S5の詳細を示すフローチャートで
ある。
FIG. 2 is a flowchart showing details of step S5 in FIG.

【図3】図2のシミュレーション方法による最適なステ
ップ幅にする制御を示す。
FIG. 3 shows control for setting an optimum step width by the simulation method of FIG. 2;

【図4】図2のシミュレーション方法による修正子を誤
差の許容範囲内に抑える制御を示す。
FIG. 4 shows control for suppressing a corrector within an allowable range of an error by the simulation method of FIG. 2;

【図5】図2のシミュレーション方法が解を有効に追跡
する様子を示す。
FIG. 5 shows how the simulation method of FIG. 2 effectively tracks a solution.

【図6】図2のシミュレーション方法が誤りの解曲線か
ら正しい解曲線に再び追跡する様子を示す。
FIG. 6 illustrates how the simulation method of FIG. 2 tracks again from an erroneous solution curve to a correct solution curve.

【図7】図2のシミュレーション方法が1ステップ目の
予測子を計算する様子を示す。
FIG. 7 shows how the simulation method of FIG. 2 calculates a predictor in the first step.

【図8】図2のシミュレーション方法が最適なステップ
幅にする様子を示す。
FIG. 8 shows how the simulation method of FIG. 2 sets an optimum step width.

【図9】同図(a)及び(b)は、図2のシミュレーシ
ョン方法が実行される検証回路及びシミュレーション結
果を示す。
FIGS. 9A and 9B show a verification circuit in which the simulation method of FIG. 2 is executed and simulation results.

【図10】図1の回路シミュレータが計算したシミュレ
ーション内容を示す。
FIG. 10 shows simulation contents calculated by the circuit simulator of FIG. 1;

【図11】図10の回路Dのシミュレーション結果を示
す。
11 shows a simulation result of the circuit D of FIG.

【図12】特開平8−147267号公報に記載の技術
によるシミュレーション方法を示す。
FIG. 12 shows a simulation method according to the technique described in Japanese Patent Application Laid-Open No. 8-147267.

【図13】図12のシミュレーション方法で解曲線を追
跡する様子を示す。
FIG. 13 shows how a solution curve is tracked by the simulation method of FIG.

【符号の説明】[Explanation of symbols]

1 ステップ幅の球 2 正しい解曲線 3 修正子で表される近似的な曲線 4 誤差の許容範囲 5 誤りの解曲線 6 追跡した解析曲線 1 Step width sphere 2 Correct solution curve 3 Approximate curve represented by modifier 4 Error tolerance 5 Error solution curve 6 Traced analysis curve

Claims (12)

【特許請求の範囲】[Claims] 【請求項1】 可変ステップBDF法を用い、ホモトピ
ー方程式の解曲線を追跡することによって、連立方程式
を解くシミュレーション方法において、 前記BDF法における解曲線の追跡による解曲線上のj
+1番目の解を求めるステップは、 j番目迄の解に基づいて、ホモトピー方程式から予測子
を計算し、該予測子に基づいて近似解を成す修正子を計
算する第1の工程と、前記近似解を成す修正子の真の解
に対する誤差の推定値を計算する第2の工程と、前記誤
差の推定値が誤差の許容値よりも大きいか、小さいかを
判定する第3の工程とを有し、 前記第3の工程で大きいと判定されると、前記予測子を
求めた際のステップ幅よりも小さなステップ幅を計算
し、該小さなステップ幅に基づいて前記第1及び第2の
工程までを繰り返して新たな修正子を求め、 前記第3の工程で小さいと判定されると、そのときの修
正子をj+1番目の近似解とし、次いで、j+2番目の
解を求めるステップに移行することを特徴とするシミュ
レーション方法。
1. A simulation method for solving simultaneous equations by tracking a solution curve of a homotopy equation using a variable step BDF method, wherein j on a solution curve obtained by tracking the solution curve in the BDF method is
A step of calculating a predictor from the homotopy equation based on the solutions up to the j-th solution, and calculating a corrector that forms an approximate solution based on the predictor; A second step of calculating an estimated value of an error with respect to a true solution of a corrector forming a solution; and a third step of determining whether the estimated value of the error is larger or smaller than an allowable value of the error. When it is determined that the predictor is large in the third step, a step width smaller than the step width when the predictor is obtained is calculated, and the first and second steps are performed based on the small step width. Is repeated to obtain a new corrector. If it is determined that the corrector is small in the third step, the corrector at that time is set as the (j + 1) th approximate solution, and then the process proceeds to the step of obtaining the (j + 2) th solution. Characteristic simulation method.
【請求項2】 前記誤差許容値Eは、j番目の解とj+
1番目の解の予測子とが成すベクトルと、j番目の解と
j+1番目の解の修正子とが成すベクトルとが成す角度
をθとし、定数ξを0<ξ<1とし、定数εを0<εと
すると、 E=(1+ξcos2θ)ε、E=(1+ξ|cosθ|)
ε、又は、E=(1+ξcosθ)εで計算される、請求
項1に記載のシミュレーション方法。
2. The error allowable value E is obtained by calculating a j-th solution and j +
The angle formed by the vector formed by the predictor of the first solution and the vector formed by the j-th solution and the modifier of the (j + 1) -th solution is θ, the constant ξ is 0 <ξ <1, and the constant ε is 0 <When ε, E = (1 + ξcos 2 θ) ε, E = (1 + ξ | cosθ |)
The simulation method according to claim 1, wherein the calculation is performed using ε or E = (1 + ξcos θ) ε.
【請求項3】 前記小さなステップ幅hsmallは、小さ
くする前のステップ幅をh、定数αを0<α<1、定数
ηをη<1、前記誤差の推定値をTj+1、前記BDF法
の次数をkとし、関数max{}が括弧内の全ての要素の
中から最大値を選択する関数として、 hsmall=max{αh,ηh(E/|Tj+1|)1/(1+k)} で計算される、請求項1又は2に記載のシミュレーショ
ン方法。
3. The small step width h small is a step width before being reduced, h is a constant α is 0 <α <1, η is a constant η <1, the estimated value of the error is T j + 1 , Assuming that the order of the BDF method is k and the function max {} is a function that selects the maximum value from all the elements in parentheses, h small = max {αh, ηh (E / | T j + 1 |) 1 / (1 + k)} in the calculation, simulation method according to claim 1 or 2.
【請求項4】 前記j+1番目の解を求める第3の工程
で小さいと判定された後には、j+2番目の解を求める
ステップで採用するステップ幅hbigは、j+1番目の
ステップ幅をh、定数βを0<β<1、定数γをγ>
1、前記誤差の推定値をTj+1、前記BDF法の次数を
k、最大限度のステップ幅をhmaxとし、関数min{}が
括弧内の全ての要素の中から最小値を選択する関数とし
て、 hbig=min{βh(E/|Tj+1|)1/(1+k),γh,h
max} で計算される、請求項1〜3の何れかに記載のシミュレ
ーション方法。
4. The step width h big adopted in the step of obtaining the j + 2th solution after it is determined in the third step of obtaining the j + 1th solution that the size is small is h, where the j + 1th step width is h and the constant is β is 0 <β <1, constant γ is γ>
1, T j + 1 estimates of the error, the order of k of the BDF method, the step width of the maximum limit and h max, the function min {} selects the minimum value from among all the elements in parentheses As a function, h big = minEβh (E / | T j + 1 |) 1 / (1 + k) , γh, h
The simulation method according to claim 1, wherein the calculation is performed by max }.
【請求項5】 ステップ幅の下限hminは、ひとつ前の
解を求める際のステップ幅をh-1、定数μをμ>2、定
数νを1>ν>0とすると、 hmin=max{με,νh-1} で計算される、請求項3に記載のシミュレーション方
法。
5. The lower limit h min of the step width is as follows: h min = max where h −1 is the step width at the time of finding the immediately preceding solution, μ> 2 is the constant μ, and 1>ν> 0 is the constant ν. The simulation method according to claim 3, wherein the calculation is performed by {με, νh -1 }.
【請求項6】 現ステップのために計算された小さなス
テップ幅hsmallがステップ幅の下限hminより小さいと
きには、解を求める処理を1ステップ前に戻し、αh-1
をステップ幅として解を求める、請求項5に記載のシミ
ュレーション方法。
6. When the small step width h small calculated for the current step is smaller than the lower limit h min of the step width, the process for finding the solution is returned one step before, and αh −1
The simulation method according to claim 5, wherein a solution is obtained using the step width as a step width.
【請求項7】 前記αh-1をステップ幅として1ステッ
プ前で求められた解について誤差の推定値が誤差の許容
値よりも小さい場合には、次のステップである前記現ス
テップのステップ幅hbigは、定数ξをξ<γとする
と、 hbig=min{βh(E/|Tj+1|)1/(1+k),ξh,h
max} で計算される、請求項6に記載のシミュレーション方
法。
7. If the estimated value of the error is smaller than the allowable value of the error for the solution obtained one step before using the αh −1 as the step width, the step width h of the current step, which is the next step, is used. big is given by ξ <γ, h big = min {βh (E / | T j + 1 |) 1 / (1 + k) , ξh, h
The simulation method according to claim 6, wherein the calculation is performed by max }.
【請求項8】 第1番目のステップでは、ホモトピー変
数をtとして、t=0の点での解曲線の接線と、t=0
の平面と解曲線との交点を中心とする所定半径の球との
交点の内でtが正の交点を予測子とする、請求項1〜6
の何れかに記載のシミュレーション方法。
8. In a first step, a tangent of a solution curve at a point of t = 0 and t = 0
The intersection of a sphere having a predetermined radius centered on the intersection of the plane and the solution curve is defined as a predictor where t is positive.
The simulation method according to any one of the above.
【請求項9】 NR法を利用して前記ホモトピー方程式
を解く方法であって、該ホモトピー方程式を構成する各
連立方程式について、各連立方程式の変数の係数の内で
最大の係数を求め、該最大の係数で各連立方程式中の全
ての変数の係数を除算する、請求項1〜8の何れかに記
載のシミュレーション方法。
9. A method of solving the homotopy equation using the NR method, wherein for each of the simultaneous equations constituting the homotopy equation, the largest coefficient among the coefficients of the variables of each of the simultaneous equations is determined. The simulation method according to any one of claims 1 to 8, wherein coefficients of all variables in each simultaneous equation are divided by the following coefficient.
【請求項10】 請求項1〜9の何れかに記載のシミュ
レーション方法を利用し、電気回路の連立方程式を解く
ことを特徴とするシミュレータ。
10. A simulator using the simulation method according to claim 1 to solve a simultaneous equation of an electric circuit.
【請求項11】 NR法を利用してホモトピー方程式を
解く方法であって、ホモトピー方程式を構成する各連立
方程式について、各連立方程式の変数の係数の内で最大
の係数を求め、該最大の係数で各連立方程式中の全ての
変数の係数を除算することを特徴とするシミュレーショ
ン方法。
11. A method for solving a homotopy equation using the NR method, wherein for each of the simultaneous equations constituting the homotopy equation, the largest coefficient among the variables of each simultaneous equation is determined. Dividing the coefficients of all the variables in each of the simultaneous equations by the following method.
【請求項12】 電子回路構成する各電子部品の特性と
その接続関係を表すネットリスト情報に基づき、回路の
連立方程式系を作成する工程と、前記連立方程式系を解
く求解工程と、を備える前記電子回路の動作を解析する
シミュレーション方法において、 前記連立方程式の求解工程は、ホモトピー法を用いて前
記連立方程式系からホモトピー方程式を構築し、可変ス
テップBDF法を用いて前記ホモトピー方程式の解曲線
を追跡することで前記連立方程式系の解を求める工程を
備え、 前記BDF法における解曲線の追跡による解曲線上のj
+1番目の解を求めるステップは、 j番目迄の解に基づいて、ホモトピー方程式から予測子
を計算し、該予測子に基づいて近似解を成す修正子を計
算する第1の工程と、前記近似解を成す修正子の真の解
に対する誤差の推定値を計算する第2の工程と、前記誤
差の推定値が誤差の許容値よりも大きいか、小さいかを
判定する第3の工程とを有し、 前記第3の工程で大きいと判定されると、前記予測子を
求めた際のステップ幅よりも小さなステップ幅を計算
し、該小さなステップ幅に基づいて前記第1及び第2の
工程までを繰り返して新たな修正子を求め、 前記第3の工程で小さいと判定されると、そのときの修
正子をj+1番目の近似解とし、次いで、j+2番目の
解を求めるステップに移行することを特徴とするシミュ
レーション方法。
12. The method according to claim 1, further comprising: a step of creating a system of simultaneous equations for the circuit based on netlist information representing the characteristics of each electronic component constituting the electronic circuit and the connection relationship thereof; and a solution step of solving the system of simultaneous equations. In a simulation method for analyzing the operation of an electronic circuit, the step of solving the simultaneous equations constructs a homotopy equation from the system of simultaneous equations using a homotopy method, and tracks a solution curve of the homotopy equation using a variable step BDF method. Calculating the solution of the system of simultaneous equations by performing j on the solution curve by tracking the solution curve in the BDF method.
A step of calculating a predictor from the homotopy equation based on the solutions up to the j-th solution, and calculating a corrector that forms an approximate solution based on the predictor; A second step of calculating an estimated value of an error with respect to a true solution of a corrector forming a solution; and a third step of determining whether the estimated value of the error is larger or smaller than an allowable value of the error. If it is determined that the predictor is large in the third step, a step width smaller than the step width when the predictor is obtained is calculated, and the first and second steps are performed based on the small step width. Is repeated to obtain a new corrector. If it is determined that the corrector is small in the third step, the corrector at that time is set as the (j + 1) th approximate solution, and then the process proceeds to the step of obtaining the (j + 2) th solution. Characteristic simulation method.
JP2001123197A 2001-04-20 2001-04-20 Simulation method and simulator Pending JP2002318990A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001123197A JP2002318990A (en) 2001-04-20 2001-04-20 Simulation method and simulator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001123197A JP2002318990A (en) 2001-04-20 2001-04-20 Simulation method and simulator

Publications (1)

Publication Number Publication Date
JP2002318990A true JP2002318990A (en) 2002-10-31

Family

ID=18972794

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001123197A Pending JP2002318990A (en) 2001-04-20 2001-04-20 Simulation method and simulator

Country Status (1)

Country Link
JP (1) JP2002318990A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8498856B2 (en) 2009-07-14 2013-07-30 International Business Machines Corporation Simulation method, system and program
US8990786B2 (en) 2010-12-15 2015-03-24 International Business Machines Corporation Program optimizing apparatus, program optimizing method, and program optimizing article of manufacture

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8498856B2 (en) 2009-07-14 2013-07-30 International Business Machines Corporation Simulation method, system and program
US8990786B2 (en) 2010-12-15 2015-03-24 International Business Machines Corporation Program optimizing apparatus, program optimizing method, and program optimizing article of manufacture

Similar Documents

Publication Publication Date Title
Ryckelynck et al. On the a priori model reduction: overview and recent developments
Lau et al. Improved updating of Euclidean distance maps and Voronoi diagrams
Philippsen et al. An interpolated dynamic navigation function
Chiu et al. Robust vision-aided navigation using sliding-window factor graphs
CN109584357B (en) Three-dimensional modeling method, device and system based on multiple contour lines and storage medium
JP2005070940A (en) Pid parameter adjusting device
Alton et al. An ordered upwind method with precomputed stencil and monotone node acceptance for solving static convex Hamilton-Jacobi equations
CN108415445B (en) Underwater vehicle positioning robust optimization method based on switch constraint
US7194394B2 (en) Method and apparatus for detecting and correcting inaccuracies in curve-fitted models
Anevlavis et al. Controlled invariant sets: implicit closed-form representations and applications
US20090074326A1 (en) Method for aligning point clouds
Remacle et al. Transient Mesh Adaptation Using Conforming and Non Conforming Mesh Modifications.
Wu et al. Neural Lyapunov Control for Discrete-Time Systems
JP2002318990A (en) Simulation method and simulator
US7693694B2 (en) Shape simulation method, program and apparatus
WO2020230043A1 (en) Feature vector feasibilty estimation
Zhang et al. An improved stress recovery technique for the unfitted finite element analysis of discontinuous gradient fields
Block et al. Imitating complex trajectories: Bridging low-level stability and high-level behavior
Bird et al. Adaptive configurational force‐based propagation for brittle and fatigue crack analysis
Lu et al. Parallel curved mesh adaptation for large scale high-order finite element simulations
Qin et al. Dynamic detection of topological information from grid-based generalized Voronoi diagrams
JP6760200B2 (en) Estimator program, estimation method and estimation device
Shi et al. An adaptive semi-lagrangian level-set method for convection-diffusion equations on evolving interfaces
CN112989738B (en) Improved method for convergence judgment of Newton iteration in circuit simulation
Vladimirsky et al. A fast implicit method for time-dependent Hamilton-Jacobi PDEs