SPICE を用いた複数個の動作点解析 - 全解探索への挑戦 -
SPICE Oriented Analysis of Multiple Operationg Points - Challenge to find out all the solutions -
高田 幸司 † ,木内 一慶 ‡ ,山上 喜廣 † ,西尾 芳文 † ,牛田 明夫 †
Kouji TAKATA
†, Ikkei KINOUCHI
‡, Yoshihiro YAMAGAMI
†, Yoshifumi NISHIO
†and Akio USHIDA
†† 徳島大学 工学部 ‡ 富士通 (Tokushima University) (Fujitsu) Email [email protected]
1 あらまし
直流解析は回路設計における重要なステップである が,近年,ICの大規模化と複雑化に伴い,特に,大規 模な回路の複数個の動作点を求めることが必要になって きた.そこで,ここでは,ニュートン・ホモトピー法に
基づいた
SPICE
の過渡解析ツールを用いた解析手法を提案する.この場合,回路に含まれている正帰還ルー プの各1点からの節点電圧を変数として取り出すこと によって複数個の動作点を探索できる手法を提案する.
この手法は回路方程式やヤコビー行列を求めることな く動作点解析ができるために汎用性の点で優れている.
また,全解を探索するために解曲線が孤立した枝を持つ ような場合にも適用できるアルゴリズムを提案する.
2 はじめに
直流解析は電子回路を設計するために最も重要なス テップの一つであり,このことは非線形代数方程式を解 くことに帰着される.従来から,SPICEなどではこの 目的のためにニュートン法が用いられているが,一般 に,この手法は複数個の動作点を持つような回路の解析 には適用できない.一方,正帰還ループを持つような回 路は複数個の動作点を持つ可能性のあることが報告さ
れている
[1-4].その代表的な回路としてフリップ・フ
ロップ回路やシュミット・トリガー回路や負性抵抗回路 がある.そこで,このような複数個の解を持つ回路に 対する全解探索アルゴリズムが幾つか提案されている
[5-7]
.その一つに区分線形化法がある.すなわち,非線形特性を区分線形近似を行い領域ごとに解析すればよ いが,あらかじめ解が存在しない領域を削除することに よって効率的に全解を探索する方法が文献
[7]
に提案さ れている.また,区間解析法[5-6]
は連続系にも適用で き理論的にはエレガントであるが,方程式の規模が大き くなるにしたがって演算効率が悪くなる.一方,複数個の動作点を追跡するための連続法にホ モトピー法がある
[8-12].ここで,ホモトピー・パスを
追跡する各種のアルゴリズムが[10-12]
に報告されてい る.特に,文献[11]
では非線形代数方程式の複数根を 追跡するための汎用シミュレータ(HOMPACK)
が報告 されている.また,文献[12]
では電子回路のようなス ティフな系にも適用可能な後退差分公式に基づいた解 曲線追跡アルゴリズムが提案されている.HOMPACK を直流解析に応用したものに文献[13,14]
がある.そこ では,各ステップ毎にSPICE
からヤコビー行列を参照 するようなシステムになっており,このヤコビー行列を 呼び出す回数が多くなるに従って,このシミュレータの 演算効率は悪くなる.駆動点特性曲線を追跡するため に文献[12]
を応用した解曲線追跡回路が井上によって 提案されている[15-16]
.このアルゴリズムはSPICE
の 過渡解析ツールを直接用いるため汎用シミュレータと1
して非常に適している.さらに,これをニュートン・ホ モトピー法を適用できるようにしたものを文献
[17,19]
で報告した.この解曲線追跡法は初期値に依存して全 ての解を探索できることもあるが,異った枝や閉曲線が 存在する場合には探索されない.このような場合には,
孤立したホモトピー・パス上の1点であるリミット・ポ イント
[18]
を見付けることができれば,孤立した解曲 線が追跡されることになり全解探索の手がかりとなる.ここでは,さらに,孤立した駆動点特性曲線の追跡方法 についても議論する.
3 弧長法による解曲線追跡法
駆動点特性曲線やホモトピー法などによって得られ た非線形代数方程式は回路変数の他に補助変数を一個 多く含んでおり,次のような非線形代数方程式で記述さ れる.
f
1(v
1, v
2, . . . , v
n, v
n+1) = 0 f
2(v
1, v
2, . . . , v
n, v
n+1) = 0
...
f
n(v
1, v
2, . . . , v
n, v
n+1) = 0
(1)
ニュートン・ホモトピー法の場合にはこの方程式は次の ように書かれる.
F(v) = f(v)+(ρ−1)f(v
0) = 0, f (
・) : R
n→ R
n(2)
この方程式の解は(n + 1)
次元空間における解曲線とし て与えられる.そこで,解曲線上の任意の一点を初期値v
0に選び,その点からの曲線の弧長をs
とするならば,ユークリッド距離として
(ds)
2=
n+1i=1
(dv
i)
2(3)
が成立する.式
(1)
と(3)
連立させることによって次の ような微分代数方程式が得られる.f
1(v
1, v
2, . . . , v
n, v
n+1) = 0 f
2(v
1, v
2, . . . , v
n, v
n+1) = 0
...
f
n(v
1, v
2, . . . , v
n, , v
n+1) = 0
(4)
n+1
i=1
dv
ids
2= 1
式
(4)
の微分代数方程式の求解には後退差分公式が有効 である∗.この場合,s = s
j+1における解は次の非線形∗SPICEでは本求解に対し,予測子ー修正子と可変ステップサイ ズ方式の数値積分法が採用されており効率よく数値積分を行なってい る.
代数方程式をニュートン法によって解くことによって決 定される.
f
1(v
1j+1, v
2j+1, . . . , v
j+1n+1) = 0 f
2(v
1j+1, v
2j+1, . . . , v
j+1n+1) = 0
...
f
n(v
1j+1, v
2j+1, . . . , v
n+1j+1) = 0
n+1i=1
{α
k0v
ij+1} + Q
ki(
・) − h
2= 0
(5)
このヤコビー行列はは次のように与えられる
J(v
j) =
∂f1
∂v1
∂f1
∂v2
. . .
∂f∂v1k. . .
∂v∂fn+11∂f2
∂v1
∂f2
∂v2
. . .
∂f∂v2k. . .
∂v∂fn+12... ... ...
∂fn
∂v1
∂fn
∂v2
. . .
∂f∂vnk. . .
∂v∂fn+1nP
1(v
1) P
2(vi
2) . . . P
k(v
k) . . . P
n+1(v
n+1)
v
=v
j ただし,P
1(v
1), . . . , P
n+1(v
n+1)
は後退差分公式より決 定され,次式の形に与えられる.P
i(v
i) = 2α
k0[α
k0v
i+ Q
ki(v
ji. . . v
ij−k+1)]
すなわち,
P
i(v
i)
はi
番目の節点電圧を微分すること によって得られるが,SPICE上ではプローブをこの点 に設定し,電圧を解曲線追跡回路に取り込むことによっ て実現される[15].この解曲線が連続的に追跡されるた
めにはJ(v
j)
の階数がn + 1
であればよい.このとき,プローブの数に関して次のような定理が成立する.
[定理]
ニュートン・ホモトピー法を用いて解曲線を追跡 するために必要とする変数の最少数は回路に含まれて いる正帰還の数に等しい. すなわち,各正帰還ループか ら1つの節点を選び,その節点の電位を変数として選べ ばよい[4].
[証明]
解曲線が複数個の解を追跡するものと仮定しよ う. このとき,解曲線はρ = 1
の点を何回か横切る.1 2 3
p1
s s s
ρ=1 vn+1=1
vi or
p2
図1 複数個の解を追跡する解曲線の概略図
この概略図が図
1
に示されている. すなわち,s
1, s
2, s
3は解であって
, p
1, p
2は変数v
iに関する変曲点であり次 式を満足する.dρ
dv
i= 0, ⇒ dρ
ds = 0, dv
ids = 0 (6)
このとき,
i
番目のノード電圧を変数に選ぶならば解曲 線は連続的に追跡されることを示そう. (1)
式を弧長s
で微分し,∂f
i∂v
1dv
1ds + ∂f
i∂v
2dv
2ds + . . . + ∂f
i∂v
n+1dv
n+1ds = 0 (7) i = 1, 2, . . . , n
(7)
式の係数行列を用いて, 次の行列式を考える.A
i=
∂fi
∂v1
∂fi
∂v2
. . .
∂v∂fn+1i∂f1
∂v1
∂f1
∂v2
. . .
∂v∂fn+11. . . . . . . . . .
∂fi
∂v1
∂fi
∂v2
. . .
∂v∂fn+1i. . . . . . . . . .
∂fn
∂v1
∂fn
∂v2
. . .
∂v∂fn+1n(8)
この行列式は常に零であり,これを第
1
行目で展開する ことにより∂f
i∂v
1D
1(s) + ∂f
i∂v
2D
2(s) + . . . + ∂f
i∂v
n+1D
n+1(s) = 0
i = 1, 2, . . . , n (9)
ここで
, D
i(s) =
(−1)
i+1∂f1
∂v1
. . .
∂v∂fi−11 ∂v∂fi+11. . .
∂v∂fn+11∂f2
∂v1
. . .
∂v∂fi−12 ∂v∂fi+12. . .
∂v∂fn+12. . . . . . . . . . . . . . . .
∂fn
∂v1
. . .
∂v∂fi−1n ∂v∂fi+1n. . .
∂v∂fn+1n(1)
式におけるn × (n + 1)
のヤコビ行列の階数はn
で あるから, (7)式と(9)
式から次の関係が得られる.dv
ids = kD
i(s), i = 1, 2, . . . , n + 1 (10) (10)
式を次式に代入することによりdv
1ds
2+ dv
2ds
2+ . . . +
dv
n+1ds
2= 1 (11)
k
が次のように求まる.k = ±
D
21(s) + D
22(s) + . . . + D
2n+1(s) (12)
このようにして, (6)式と(10)
式からD
i(s)
は非零であ ることが分かる. 従って,ヤコビー行列J(v
j)
の(n+1, i)
の要素に非零要素のp
i(v
i)
を設定すると,J(v
j)
は正則 となり,この変曲点も連続的に追跡できることが分か る. このようにして,各正帰還回路中に1
つの節点を選 び,その節点にプローブを設定することにより解曲線が 安定に連続的に追跡される.[証明終]
4 ニュートン・ホモトピー法による 動作点解析
前節で述べた弧長法に基づいた解曲線追跡法を
SPICE
上で実現した回路が図2に示されている[15,17].すな
わち,非線形抵抗回路中のp
個の正帰還ループの節点 電圧を選び,これらが弧長の関係式(4)
の最後の式を満 足するように解曲線追跡回路(STC)
を構成する.Σ -1
電圧制御 解曲線
v
0 0
電流源
非線形回路 追跡
回路
ρ ρ−1
i=1,2,...,p i
V =I
(ρ−1)Ι0
初期値設定
,i ,i
,i
i=1,2,...p
図2
SPICE
上での回路構成ここで,
I
0iは初期条件である.これを適用して図3(a)
の電圧制御回路[20]
を解析してみよう.5k 5k
5k 1k 5k
1k 3.54k
100k 20V
Q Q
1X 5X
Q
Q Q Q
v
1 2
3
4
5
start start start
out
Q
VSCC
STC I
-1 ρ ρ−1
Σ (ρ−1)
0 I0
Startup circuitry
図3
(a)
電圧制御回路0 5 10 15 20
0 10 20 30 40 S 50
S S S
1 2 3
out
ρ
ρ=1 v [V]
(b)
ニュートン・ホモトピー法による解曲線この回路は温度変化に強いことが知られている.まず,
Q
4のベースにプローブを設定して解曲線追跡回路を構成する.
I
0= 5[mA]
を初期値に選んで追跡を行ったところ,
ρ = 1
で3個の全解を追跡している.解S
2からS
3の範囲ではρ
の値はほぼ1となっており,この領域で は近似的に関数値が零に近いことを示している.従っ て,ニュートン法などでは解析は困難である.5 解曲線が孤立した閉曲線を持つ場 合の解析
ここでは,回路方程式が式
(1)
のように非線形代数方 程式系で記述された系をSPICE
を用いて解くことを考 えよう.SPICEには高機能なアナログビヘービア・モ デルが組み込まれており,これらを用いて与えられた代 数方程式を記述することは容易である.n変数に対する 式(1)
の連立非線形代数方程式を電圧制御電流源を用い て実現したのが図4である.ここで,F
i(v
1, v
2, · · · , v
n) = f
i(v
1, v
2, · · · , v
n) + v
i(13) i = 1, 2, . . . , n
Ω
+ + +
- - -
v v v
1 2 n
F ( v1 ,v2, .... ,v )
n F ( v1 ,v2, .... ,v )
n F ( v1 ,v2, .... ,v )
1 2 n n
1 [ ] 1 [ ]Ω 1 [ ]Ω
図4 非線形代数方程式の実現
この非線形代数方程式を2変数の場合にニュートン・ホ モトピー法を適用して解こうとすると図5のような回 路構成となる.
STC Σ
ρ -1
ρ-1 VCCS
VCCS I
I
01
02
F
F
( )
( )
v v,
v , v
1 2 1
2 1 2
( )
( )
ρ-1
ρ-1 I01
I02 v1
v2 1 [ ]Ω
1 [ ]Ω
図5 ニュートン・ホモトピー法の実現回路
f
1(v
1, v
2) + (ρ − 1)I
01= 0 f
2(v
1, v
2) + (ρ − 1)I
02= 0
(14)
ここで
, STC
は解曲線追跡回路である.
応用例
5.1
次式は化学プラントの反応方程式から得られたものであ り, 7つの解が存在していることが知られている.文献
[21]
ではこれに定点ホモトピー法を適用して初期値をあ る範囲に選べば全解が追跡されることが示されている.f
1(v
1, v
2) = 2v
31+ 2v
1v
2− 22v
1+ v
22+ 13 = 0 f
2(v
1, v
2) = v
21+ 2v
1v
2+ 2v
32− 14v
2+ 9 = 0 (15)
上 式 に お い てΓ1:I
01=40,I
02=50
な る 初 期 値 を 選 び,SPICE
を用いてニュートン・ホモトピー法を適用した結果が図6に示されている
.
-1 -0.5 0 0.5 1 1.5 2 2.5 3
0 5 10 15 20 25 30
s[sec]
1
s
2s
3 4s s
5s
6s
7s
ρ
Γ
1図6 ニュートン·ホモトピー法による解曲線
Γ
1を(v
1,v
2)
平面で描いたのが図7であり, 1
本の解 曲線で全ての解(s
1, s
2, · · · , s
7)
を追跡できている.しか しながら,Γ2:I
01=80,I
02=-90, Γ
3:I
01=-4,I
02=4
なる初 期値を選ぶと,それぞれの解曲線は一部の解のみ追跡し ていることが分かる.-6 -4 -2 0 2 4 6 8
-6 -4 -2 0 2 4 6
2
3
Γ Γ Γ
Γ
1v 1 v 2
1
図7 異なる初期値による解曲線
そこで,
Γ
2の場合ついて考える.ホモトピー・パス として同じパラメータに対してΓ
2の他に独立した解曲線が存在することが予想される.そこで,その解曲線の リミット·ポイントを求め,その点を初期値にとること により,独立した解曲線を追跡することを考える.
すなわち,ニュートン・ホモトピー法の関係式
F
1(v
1, v
2, ρ) = f
1(v
1, v
2) + (ρ − 1)I
01= 0 F
2(v
1, v
2, ρ) = f
2(v
1, v
2) + (ρ − 1)I
02= 0
(16)
から
ρ
を消去すると次式が得られる.F (v
1, v
2) = I
20f
1(v
1, v
2) − I
10f
2(v
1, v
2) = 0 (17)
ここで,
v
2から見たリミット・ポイントにおいては式(17)
より∂F
∂v
1dv
1dv
2+ ∂F
∂v
2= 0 (18)
を満足する必要がある.このようにして
F
3(v
1, v
2, I
01, I
02) = ∂F
∂v
2= 0 (19)
なる補助方程式がえられる.従って,式
(16)
と式(19)
を同時に満足する解をニュートン·ホモトピー法で探索 することにより図8におけるリミット・ポイントが4個 求まった.これらの初期値からニュートン・ホモトピー 法を実行することにより全解が図8のように探索され た.これは一種の2次元ホモトピー法であることに注意 しよう.-6 -4 -2 0 2 4 6 8
-6 -4 -2 0 2 4 6
v
12
3
6 7
S
S S
S4
S5
S2
S1
Γ2 Γ2
v
図8 ニュートン·ホモトピー法による リミット·ポイントの求解
例題
5.2
駆動点特性曲線が複数個の枝や閉曲線から構成されて いるような場合に,孤立した全てのリミット・ポイント を見付けることができるならば全ての閉曲線が探索さ れることになる.このような例として図9
(a)
の回路を 考えることにしよう[12].
− +
1 3
i v v
in4
i
2i
1 R =3
+ v
4−
+ v
4−
− + v
2− + v
2− v +
− + v
1
1
v
in1 R =3
i
inSTC
(a) (b)
図9
(a)
直並列抵抗回路,(b)
駆動点特性追跡回路ここで,電圧制御型非線形抵抗の特性を次のようにおく
i
1(v
1) = 7.778v
13− 25.085v
21+ 20.54v
1i
2i(v
2) = 4.313v
32− 17.466v
22+ 18.11v
2i
4(v
4) = 1.0406v
54− 10.731v
44+ 39.335v
43−60.373v
42+ 34.138v
4
(20)
ここで,駆動点特性曲線群のリミット・ポイントを求め るために次の回路方程式
f
1(v
1, v
2, v
3, v
4, v
in) = v
in− v
4− v
3= 0 f
2(v
1, v
2, v
3, v
4, v
in) = v
3− v
2− v
1= 0 f
3(v
1, v
2, v
3, v
4, v
in) = i
4(v
4) − v
3− i
2(v
2) = 0 f
4(v
1, v
2, v
3, v
4, v
in) = i
2(v
2) − i
1(v
1) = 0
(21)
と,補助方程式として,リミット・ポイントの条件式
f
5(v
1, v
2, v
3, v
4, v
in) = dv
indv
4= 0 (22)
を追加したものにニュートン・ホモトピー法を適用する.
このとき
ρ = 1
のところで各特性曲線に対応するリミッ ト・ポイント18個が次のように得られた.解曲線
(Γ
1)[s
1, s
2, s
5, s
6, s
13, s
15, s
17]
解曲線(Γ
2)[s
8],解曲線 (Γ
3)[s
3, s
4, s
9, s
11]
解曲線
(Γ
4)[s
10],
解曲線(Γ
5)[s
16],
解曲線(Γ
6) [s
7]
解曲線(Γ
7)[s
18],
解曲線(Γ
8)[s
12, s
14]
-20 -15 -10 -5 0 5 10 15 20
0 50 100 150 200 250 300 350
s[sec]
ρ
ρ=1 s1
s2
s3 s17 s18
図10 ニュートン・ホモトピー法による解曲線
0 2 4 6 8 10
Iin
1 2
3 4
5 6
Γ Γ Γ Γ 7
Γ Γ
Γ Γ8
0 1 2 3 4 5 6 7 8 9 10
Vin 図11 駆動点特性曲線
この結果は全てのリミット・ポイントを求めてはいない が,少なくとも閉曲線上の各1つのリミット・ポイント が求まっており,これらの点から出発して全ての孤立し た閉曲線を求めることができた.
6 結論
ここで提案した解曲線追跡法に基づいたホモトピー
法は
SPICE
の過渡解析ツールが利用されるために複数個の解を容易に追跡することが可能である.特に,我々 のシミュレータは多くのトランジスタや