JPH0916640A - 回路シミュレータ及びブロック緩和反復シミュレーション方法 - Google Patents
回路シミュレータ及びブロック緩和反復シミュレーション方法Info
- Publication number
- JPH0916640A JPH0916640A JP7168250A JP16825095A JPH0916640A JP H0916640 A JPH0916640 A JP H0916640A JP 7168250 A JP7168250 A JP 7168250A JP 16825095 A JP16825095 A JP 16825095A JP H0916640 A JPH0916640 A JP H0916640A
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- external
- partial
- external node
- nodes
- 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.)
- Withdrawn
Links
Abstract
(57)【要約】
【目的】 ブロック緩和反復シミュレーション法の収束
効率を向上させる。 【構成】 ネットリスト読み込み手段4で対象回路の素
子の接続関係を示すネットリストを読み込み、トランジ
スタグループ抽出手段5で最小単位の機能を有するトラ
ンジスタグループを抽出し、回路分割手段6でトランジ
スタグループを単位として、対象回路を複数の部分回路
に分割し、信号伝播フローグラフ抽出手段7でトランジ
スタグループの接続関係に基づいて、入力端子から出力
端子までの信号の流れる方向を認識し、解析手段8で部
分回路の並列的な解析を直接法または緩和法で行い、全
体の回路を反復求解法で解析する。
効率を向上させる。 【構成】 ネットリスト読み込み手段4で対象回路の素
子の接続関係を示すネットリストを読み込み、トランジ
スタグループ抽出手段5で最小単位の機能を有するトラ
ンジスタグループを抽出し、回路分割手段6でトランジ
スタグループを単位として、対象回路を複数の部分回路
に分割し、信号伝播フローグラフ抽出手段7でトランジ
スタグループの接続関係に基づいて、入力端子から出力
端子までの信号の流れる方向を認識し、解析手段8で部
分回路の並列的な解析を直接法または緩和法で行い、全
体の回路を反復求解法で解析する。
Description
【0001】
【産業上の利用分野】本発明は、回路シミュレータ及び
シミュレーション方法に関し、特に、大規模集積回路の
ように非線形な大規模回路やシステムの数値シミュレー
ションを、計算機を用いて行う場合に適用して好適なも
のである。
シミュレーション方法に関し、特に、大規模集積回路の
ように非線形な大規模回路やシステムの数値シミュレー
ションを、計算機を用いて行う場合に適用して好適なも
のである。
【0002】
【従来の技術】集積回路などを製造する場合、その電気
特性を十分に検証しておくことが必要であり、計算機に
よる回路動作の数値シミュレーションが不可欠となって
いる。しかしながら、集積回路の高密度化や大規模化に
伴い、1つの回路のシミュレーションにかかる時間は非
常に長大化し、特に複雑な非線形特性のため、ニュート
ン法による線形化方程式をLU分解法などの直接法行列
求解に基づいて解く場合に時間がかかるようになってき
た。
特性を十分に検証しておくことが必要であり、計算機に
よる回路動作の数値シミュレーションが不可欠となって
いる。しかしながら、集積回路の高密度化や大規模化に
伴い、1つの回路のシミュレーションにかかる時間は非
常に長大化し、特に複雑な非線形特性のため、ニュート
ン法による線形化方程式をLU分解法などの直接法行列
求解に基づいて解く場合に時間がかかるようになってき
た。
【0003】このため、従来の回路シミュレータは、非
線形な大規模回路を正確で高速にシュミレートするた
め、複数のプロセッサを相互に接続した並列計算機シス
テムを用いて並列処理を行っていた。例えば、図14に
示すように、対象となる回路を部分回路i、j、kに分
割し、境界となる外部節点Pi 、Pj 、Pk に外部節点
電圧vi 、vj 、vk を与えて、各部分回路i、j、k
の解析するブロック緩和反復シミュレーション法が用い
られていた。
線形な大規模回路を正確で高速にシュミレートするた
め、複数のプロセッサを相互に接続した並列計算機シス
テムを用いて並列処理を行っていた。例えば、図14に
示すように、対象となる回路を部分回路i、j、kに分
割し、境界となる外部節点Pi 、Pj 、Pk に外部節点
電圧vi 、vj 、vk を与えて、各部分回路i、j、k
の解析するブロック緩和反復シミュレーション法が用い
られていた。
【0004】すなわち、このブロック緩和反復シミュレ
ーション法は、図15のステップS1に示すように、対
象となる回路を部分回路i、j、kに分割し、ステップ
S2で部分回路i、j、kのロードを行い、ステップS
3で外部節点電圧vi 、vj、vk の設定を行う。
ーション法は、図15のステップS1に示すように、対
象となる回路を部分回路i、j、kに分割し、ステップ
S2で部分回路i、j、kのロードを行い、ステップS
3で外部節点電圧vi 、vj、vk の設定を行う。
【0005】次に、ステップS4に示すように、部分回
路i、j、kの解析を各部分回路i、j、kに対応して
設けられたプロセッサPEi 、PEj 、PEk で並列に
行う。
路i、j、kの解析を各部分回路i、j、kに対応して
設けられたプロセッサPEi 、PEj 、PEk で並列に
行う。
【0006】次に、ステップS5に示すように、ステッ
プS4の部分回路i、j、kの解析で求めた外部節点電
圧vi ´、vj ´、vk ´が、ステップS3で設定した
外部節点電圧vi 、vj 、vk に収束するかどうかの判
断を行い、収束しない場合はステップS3に戻り、収束
するまでステップS3〜S5の動作を繰り返す。
プS4の部分回路i、j、kの解析で求めた外部節点電
圧vi ´、vj ´、vk ´が、ステップS3で設定した
外部節点電圧vi 、vj 、vk に収束するかどうかの判
断を行い、収束しない場合はステップS3に戻り、収束
するまでステップS3〜S5の動作を繰り返す。
【0007】次に、ステップS3〜S5の動作を図16
を参照しながらより詳しく説明する。図14のような回
路に対して、(1)式に示すような線形連立方程式が成
立する。
を参照しながらより詳しく説明する。図14のような回
路に対して、(1)式に示すような線形連立方程式が成
立する。
【0008】
【数1】
【0009】ここで、 Ai :部分回路iの内部節点間のアドミタンス回路行列 Bi :部分回路iの内部節点と外部節点との間のアドミ
タンス回路行列 Ci :部分回路iの外部節点と内部節点との間のアドミ
タンス回路行列 D :外部回路の外部節点間のアドミタンス回路行列 xi :部分回路iの内部(節点電圧)変数ベクトル v :外部(節点電圧)変数ベクトル bi :部分回路iの内部(電流源)電源ベクトル d :外部(電流源)電源ベクトルである。
タンス回路行列 Ci :部分回路iの外部節点と内部節点との間のアドミ
タンス回路行列 D :外部回路の外部節点間のアドミタンス回路行列 xi :部分回路iの内部(節点電圧)変数ベクトル v :外部(節点電圧)変数ベクトル bi :部分回路iの内部(電流源)電源ベクトル d :外部(電流源)電源ベクトルである。
【0010】この(1)式は、以下の(2)〜(6)式
に展開される。 A1 x1 +B1 v=b1 ・・・(2)式 A2 x2 +B2 v=b2 ・・・(3)式 : Ai xi +Bi v=bi ・・・(4)式 : An xn +Bn v=bn ・・・(5)式 Dv=d−(C1 x1 +C2 x2 +・・・+Cn Xn )・・・(6)式 まず、図16のステップS100で外部変数ベクトルv
に初期値v0 を設定する。
に展開される。 A1 x1 +B1 v=b1 ・・・(2)式 A2 x2 +B2 v=b2 ・・・(3)式 : Ai xi +Bi v=bi ・・・(4)式 : An xn +Bn v=bn ・・・(5)式 Dv=d−(C1 x1 +C2 x2 +・・・+Cn Xn )・・・(6)式 まず、図16のステップS100で外部変数ベクトルv
に初期値v0 を設定する。
【0011】次に、ステップS101〜S10nに示す
ように、ステップS100で与えられた外部変数ベクト
ルvに対して、各プロセッサPE1 〜PEn で(2)式
〜(5)式を解析することにより、各部分回路1〜nの
内部変数ベクトルx1 〜xnを求める。そして、内部変
数ベクトルx1 〜xn が所定の値に収束している場合、
ホスト計算機に内部変数ベクトルx1 〜xn を送信す
る。
ように、ステップS100で与えられた外部変数ベクト
ルvに対して、各プロセッサPE1 〜PEn で(2)式
〜(5)式を解析することにより、各部分回路1〜nの
内部変数ベクトルx1 〜xnを求める。そして、内部変
数ベクトルx1 〜xn が所定の値に収束している場合、
ホスト計算機に内部変数ベクトルx1 〜xn を送信す
る。
【0012】次に、ステップS200、S210に示す
ように、ホスト計算機では、各プロセッサPE1 〜PE
n から送信された内部変数ベクトルx1 〜xn に基づい
て、(6)式の解析により外部変数ベクトルvを求め
る。そして、ステップS220に示すように、外部変数
ベクトルvが収束したかどうかを判定する。
ように、ホスト計算機では、各プロセッサPE1 〜PE
n から送信された内部変数ベクトルx1 〜xn に基づい
て、(6)式の解析により外部変数ベクトルvを求め
る。そして、ステップS220に示すように、外部変数
ベクトルvが収束したかどうかを判定する。
【0013】次に、ステップS230に示すように、求
めた外部変数ベクトルvが初期値v0 に十分近くない場
合、ステップS100に戻り、この求めた外部変数ベク
トルvを初期値v0 として以上の処理を繰り返す。
めた外部変数ベクトルvが初期値v0 に十分近くない場
合、ステップS100に戻り、この求めた外部変数ベク
トルvを初期値v0 として以上の処理を繰り返す。
【0014】
【発明が解決しようとする課題】従来のブロック緩和反
復シミュレーション法は、シミュレーションを行う対象
回路が同一の場合においても、回路の分割方法や緩和反
復する変数の選択法により、反復の収束速度が大きく異
なっていた。そのため、ブロック緩和反復シミュレーシ
ョンを並列処理で効率よく行うためには、ブロックの大
きさの均等化やブロック間の通信量の最小化が必要とさ
れていた。
復シミュレーション法は、シミュレーションを行う対象
回路が同一の場合においても、回路の分割方法や緩和反
復する変数の選択法により、反復の収束速度が大きく異
なっていた。そのため、ブロック緩和反復シミュレーシ
ョンを並列処理で効率よく行うためには、ブロックの大
きさの均等化やブロック間の通信量の最小化が必要とさ
れていた。
【0015】例えば、解くべき行列Aを、 A=B−C ・・・(7)式 の形式に分ける。ここで、行列Bは、 Bx=d ・・・(8)式 を容易に解くことができる行列、例えば、対角行列や下
三角行列である。
三角行列である。
【0016】なお、 A=L+D+U ・・・(9)式 とすると、ガウス−ヤコビ法では、B=D、C=−(L
+U)となり、ガウス−ザイデル法では、B=(L+
D)、C=−Uとなる。また、Lは下三角行列、Dは対
角行列、Uは上三角行列を表している。
+U)となり、ガウス−ザイデル法では、B=(L+
D)、C=−Uとなる。また、Lは下三角行列、Dは対
角行列、Uは上三角行列を表している。
【0017】ここで、 xk+1 =−B-1cxk +c-1b ・・・(10)式 の緩和反復が収束するための条件は、 スペクトル半径ρ(B-1C)<1 ・・・(11)式 である。
【0018】次に、2次元の行列で変数の接続度を考え
る。
る。
【0019】
【数2】
【0020】(12)式において、ガウス−ザイデル法
では、スペクトル半径ρ(B-1C)は(13)式のよう
になる。
では、スペクトル半径ρ(B-1C)は(13)式のよう
になる。
【0021】
【数3】
【0022】(13)式において、a12とa21が、a11
とa22に比べて大きい時、密結合である。また、a12と
a21が、a11とa22に比べて小さい時、疎結合である。
特に、a12=0の時、ρ(B-1C)=0となり1回で収
束する。
とa22に比べて大きい時、密結合である。また、a12と
a21が、a11とa22に比べて小さい時、疎結合である。
特に、a12=0の時、ρ(B-1C)=0となり1回で収
束する。
【0023】次に、上述の概念をブロックに拡張し、ブ
ロックx1 、x2 、x3 が図17に示すように結合した
状態を考える。
ロックx1 、x2 、x3 が図17に示すように結合した
状態を考える。
【0024】
【数4】
【0025】(14)式において、x2 とx3 は密結合
しているので、x2 とx3 をブロック化し、ガウス−ザ
イデル法を用いるために変数の順序を(15)式によう
に並べ換える。
しているので、x2 とx3 をブロック化し、ガウス−ザ
イデル法を用いるために変数の順序を(15)式によう
に並べ換える。
【0026】
【数5】
【0027】(15)式において、x2 とx3 のブロッ
ク、
ク、
【0028】
【数6】
【0029】すなわち、(16)式を直接法行列求解で
解けば、元の行列は1回の緩和反復で解くことができ
る。このように、変数の分割方法は、緩和反復の収束速
度に大きく影響する。
解けば、元の行列は1回の緩和反復で解くことができ
る。このように、変数の分割方法は、緩和反復の収束速
度に大きく影響する。
【0030】しかしながら、従来のシミュレーション方
法では、対象回路を部分的に最適化する方法は考えられ
ていたが、回路の分割方法、緩和反復する変数の選択
法、或いは並列処理の効率化を回路全体から見て体系的
に行うようにしたシミュレーション方法は考えられてい
なかった。
法では、対象回路を部分的に最適化する方法は考えられ
ていたが、回路の分割方法、緩和反復する変数の選択
法、或いは並列処理の効率化を回路全体から見て体系的
に行うようにしたシミュレーション方法は考えられてい
なかった。
【0031】そこで、本発明の目的は、対象回路全体か
ら見た回路の分割や緩和変数の選択を最適化することに
より、ブロック緩和反復シミュレーション法の収束効率
を向上させることができる回路シミュレータ及びシミュ
レーション方法を提供することである。
ら見た回路の分割や緩和変数の選択を最適化することに
より、ブロック緩和反復シミュレーション法の収束効率
を向上させることができる回路シミュレータ及びシミュ
レーション方法を提供することである。
【0032】
【課題を解決するための手段】上述した課題を解決する
ために、対象回路を複数の部分回路に分割し、分割した
各部分回路を接続する外部節点の選択を対象回路内に信
号が伝わる順序で求め、外部節点の電位及び前記各部分
回路の内部節点の電圧を並列的に求める。
ために、対象回路を複数の部分回路に分割し、分割した
各部分回路を接続する外部節点の選択を対象回路内に信
号が伝わる順序で求め、外部節点の電位及び前記各部分
回路の内部節点の電圧を並列的に求める。
【0033】部分回路を複数のプロセッサに割り当てて
並列に処理する。点・ブロック緩和法では、反復の各ス
テップで内部節点及び外部節点の電位をLU分解法によ
り求める。
並列に処理する。点・ブロック緩和法では、反復の各ス
テップで内部節点及び外部節点の電位をLU分解法によ
り求める。
【0034】外部節点方程式を解く緩和法では、プロセ
ッサ内の処理をガウス−ザイデル法で行い、プロセッサ
間の処理をガウス−ヤコビ法で行う。一方、ブロック緩
和法では、複数のプロセッサを相互に接続した並列計算
機を用いて、対象回路網を外部節点で接続される部分回
路に分割して解析する機構を有するシステムにおいて、
信号入力端子を始点、信号出力端子を終点とする回路グ
ループ間の信号伝播フローグラフを抽出し、信号伝播フ
ローグラフを深さ方向優先に辿って外部節点を抽出し
て、外部節点に初期電位を与えて、前記初期電位を用い
て求まる各部分回路への入力電流を用いて各部分回路を
各プロセッサで並列に直接法を用いて解析して、新たに
外部節点の電位を求める手続きを前記外部節点の電位の
変化が許容以下になるまで繰り返す。
ッサ内の処理をガウス−ザイデル法で行い、プロセッサ
間の処理をガウス−ヤコビ法で行う。一方、ブロック緩
和法では、複数のプロセッサを相互に接続した並列計算
機を用いて、対象回路網を外部節点で接続される部分回
路に分割して解析する機構を有するシステムにおいて、
信号入力端子を始点、信号出力端子を終点とする回路グ
ループ間の信号伝播フローグラフを抽出し、信号伝播フ
ローグラフを深さ方向優先に辿って外部節点を抽出し
て、外部節点に初期電位を与えて、前記初期電位を用い
て求まる各部分回路への入力電流を用いて各部分回路を
各プロセッサで並列に直接法を用いて解析して、新たに
外部節点の電位を求める手続きを前記外部節点の電位の
変化が許容以下になるまで繰り返す。
【0035】信号入力端子を始点、信号出力端子を終点
とする回路グループ間の信号伝播フローグラフを抽出
し、この信号伝播フローグラフから外部節点のみを残し
た非連結の外部節点グラフを抽出し、所定よりも多い外
部節点の部分グラフは所定以下になるまで細分化し、各
部分グラフに対して、その部分グラフを構成する外部節
点と同じ外部節点を一番多く持つ部分回路に組み込んで
反復求解する。
とする回路グループ間の信号伝播フローグラフを抽出
し、この信号伝播フローグラフから外部節点のみを残し
た非連結の外部節点グラフを抽出し、所定よりも多い外
部節点の部分グラフは所定以下になるまで細分化し、各
部分グラフに対して、その部分グラフを構成する外部節
点と同じ外部節点を一番多く持つ部分回路に組み込んで
反復求解する。
【0036】対象回路を複数の部分回路に分割し、接続
度の一番大きな部分回路に外部節点を組み込む。接続度
は、部分回路の外部節点数とその部分回路に合致する外
部節点数との割合である。
度の一番大きな部分回路に外部節点を組み込む。接続度
は、部分回路の外部節点数とその部分回路に合致する外
部節点数との割合である。
【0037】対象回路を複数の部分回路に分割し、部分
回路が最も多く接続している外部節点を、その外部節点
が接続している全ての部分回路に組み込む。トランジス
タグループの接続関係に基づいて、入力端子から出力端
子までの信号の流れる方向を認識する信号伝播フローグ
ラフ抽出手段と、信号伝播フローグラフ抽出手段の出力
に基づいて、部分回路の解析を行う解析手段とを備え
る。
回路が最も多く接続している外部節点を、その外部節点
が接続している全ての部分回路に組み込む。トランジス
タグループの接続関係に基づいて、入力端子から出力端
子までの信号の流れる方向を認識する信号伝播フローグ
ラフ抽出手段と、信号伝播フローグラフ抽出手段の出力
に基づいて、部分回路の解析を行う解析手段とを備え
る。
【0038】解析手段は、部分回路と同数のプロセッサ
により並列に解析を行う。部分回路を接続する外部節点
を、接続度の一番大きな部分回路に組み込む組み込み手
段と、組み込み手段により外部節点を組み込んだ部分回
路の解析を行う解析手段とを備える。
により並列に解析を行う。部分回路を接続する外部節点
を、接続度の一番大きな部分回路に組み込む組み込み手
段と、組み込み手段により外部節点を組み込んだ部分回
路の解析を行う解析手段とを備える。
【0039】
【作用】各部分回路の抽出と、分割した各部分回路を接
続する外部節点の選択を、対象回路内に信号が伝わる順
序で求めることにより、各部分回路を解析する際の収束
効率が向上し、シミュレーションを行う時間を短くする
ことができる。
続する外部節点の選択を、対象回路内に信号が伝わる順
序で求めることにより、各部分回路を解析する際の収束
効率が向上し、シミュレーションを行う時間を短くする
ことができる。
【0040】部分回路を複数のプロセッサに割り当てて
並列に直接法又は緩和法で処理することにより、シミュ
レーションを行う時間をより一層短くすることができ
る。点・ブロック緩和法における外部節点方程式を解く
緩和法では、プロセッサ内の処理をガウス−ザイデル法
で行い、プロセッサ間の処理をガウス−ヤコビ法で行う
ことにより、収束効率の向上と並列処理の最適化を同時
に達成することができる。
並列に直接法又は緩和法で処理することにより、シミュ
レーションを行う時間をより一層短くすることができ
る。点・ブロック緩和法における外部節点方程式を解く
緩和法では、プロセッサ内の処理をガウス−ザイデル法
で行い、プロセッサ間の処理をガウス−ヤコビ法で行う
ことにより、収束効率の向上と並列処理の最適化を同時
に達成することができる。
【0041】緩和ブロック法においては、複数のプロセ
ッサを相互に接続した並列計算機を用いて、対象回路網
を外部節点で接続される部分回路に分割して解析する機
構を有するシステムにおいて、信号入力端子を始点、信
号出力端子を終点とする回路グループ間の信号伝播フロ
ーグラフを抽出し、信号伝播フローグラフを深さ方向優
先に辿って外部節点を抽出して、外部節点に初期電位を
与えて、前記初期電位を用いて求まる各部分回路への入
力電流を用いて各部分回路を各プロセッサで並列に直接
法を用いて解析して、新たに外部節点の電位を求める手
続きを前記外部節点の電位の変化が許容以下になるまで
繰り返す。
ッサを相互に接続した並列計算機を用いて、対象回路網
を外部節点で接続される部分回路に分割して解析する機
構を有するシステムにおいて、信号入力端子を始点、信
号出力端子を終点とする回路グループ間の信号伝播フロ
ーグラフを抽出し、信号伝播フローグラフを深さ方向優
先に辿って外部節点を抽出して、外部節点に初期電位を
与えて、前記初期電位を用いて求まる各部分回路への入
力電流を用いて各部分回路を各プロセッサで並列に直接
法を用いて解析して、新たに外部節点の電位を求める手
続きを前記外部節点の電位の変化が許容以下になるまで
繰り返す。
【0042】信号入力端子を始点、信号出力端子を終点
とする回路グループ間の信号伝播フローグラフを抽出
し、この信号伝播フローグラフから外部節点のみを残し
た非連結の外部節点グラフを抽出し、所定よりも多い外
部節点の部分グラフは所定以下になるまで細分化し、各
部分グラフに対して、その部分グラフを構成する外部節
点と同じ外部節点を一番多く持つ部分回路に組み込んで
反復求解する。
とする回路グループ間の信号伝播フローグラフを抽出
し、この信号伝播フローグラフから外部節点のみを残し
た非連結の外部節点グラフを抽出し、所定よりも多い外
部節点の部分グラフは所定以下になるまで細分化し、各
部分グラフに対して、その部分グラフを構成する外部節
点と同じ外部節点を一番多く持つ部分回路に組み込んで
反復求解する。
【0043】対象回路を複数の部分回路に分割し、接続
度の一番大きな部分回路に外部節点を組み込むことによ
り、各部分回路内の変数間の相互関係が強くなり、各部
分回路を解析する際の収束効率を向上させることができ
る。
度の一番大きな部分回路に外部節点を組み込むことによ
り、各部分回路内の変数間の相互関係が強くなり、各部
分回路を解析する際の収束効率を向上させることができ
る。
【0044】接続度を部分回路の外部節点数とその部分
回路に合致する外部節点数との割合とすることにより、
接続度を容易に求めることができ、外部節点を部分回路
に組み込む際の処理を簡単に行うことができる。
回路に合致する外部節点数との割合とすることにより、
接続度を容易に求めることができ、外部節点を部分回路
に組み込む際の処理を簡単に行うことができる。
【0045】外部節点の電位をLU分解法により求める
ことにより、高速処理が可能となる。対象回路を複数の
部分回路に分割し、部分回路が最も多く接続している外
部節点を、その外部節点が接続している全ての部分回路
に組み込むことにより、各部分回路内の変数間の相互関
係をより一層強固にすることができ、各部分回路を解析
する際の収束効率を向上させることができる。
ことにより、高速処理が可能となる。対象回路を複数の
部分回路に分割し、部分回路が最も多く接続している外
部節点を、その外部節点が接続している全ての部分回路
に組み込むことにより、各部分回路内の変数間の相互関
係をより一層強固にすることができ、各部分回路を解析
する際の収束効率を向上させることができる。
【0046】入力端子から出力端子までの信号の流れる
方向に基づいて、抽出した部分回路の解析を行うことに
より、各部分回路を解析する際の収束効率が向上し、シ
ミュレーションを行う時間を短くすることができる。
方向に基づいて、抽出した部分回路の解析を行うことに
より、各部分回路を解析する際の収束効率が向上し、シ
ミュレーションを行う時間を短くすることができる。
【0047】部分回路と同数のプロセッサにより並列に
解析を行うことにより、シミュレーションを行う時間を
より一層短くすることができる。部分回路を接続する外
部節点を、接続度の 一番大きな部分回路に組み込んで
部分回路の解析を行うことにより、各部分回路内の変数
間の相互関係が強くなり、各部分回路を解析する際の収
束効率を向上させることができる。
解析を行うことにより、シミュレーションを行う時間を
より一層短くすることができる。部分回路を接続する外
部節点を、接続度の 一番大きな部分回路に組み込んで
部分回路の解析を行うことにより、各部分回路内の変数
間の相互関係が強くなり、各部分回路を解析する際の収
束効率を向上させることができる。
【0048】部分回路が最も多く接続している外部節点
を、その外部節点が接続している全ての部分回路に組み
込んで部分回路の解析を行うことにより、各部分回路内
の変数間の相互関係をより一層強固にすることができ、
各部分回路を解析する際の収束効率を向上させることが
できる。
を、その外部節点が接続している全ての部分回路に組み
込んで部分回路の解析を行うことにより、各部分回路内
の変数間の相互関係をより一層強固にすることができ、
各部分回路を解析する際の収束効率を向上させることが
できる。
【0049】
【実施例】以下、本発明の一実施例による回路シミュレ
ータを図面を参照しながら説明する。図1は、本発明の
一実施例による回路シミュレータの概略構成を示すブロ
ック図である。
ータを図面を参照しながら説明する。図1は、本発明の
一実施例による回路シミュレータの概略構成を示すブロ
ック図である。
【0050】図1において、並列計算機3は、2次元格
子状に接続された複数のプロセッサPE1 〜PEn を備
えている。各プロセッサPE1 〜PEn は、ネットワー
クを介して任意のプロセッサPE1 〜PEn と通信でき
る。また、各プロセッサPE1 〜PEn は、バス2を介
してホスト計算機1に現在の動作状況を送信することが
できる。
子状に接続された複数のプロセッサPE1 〜PEn を備
えている。各プロセッサPE1 〜PEn は、ネットワー
クを介して任意のプロセッサPE1 〜PEn と通信でき
る。また、各プロセッサPE1 〜PEn は、バス2を介
してホスト計算機1に現在の動作状況を送信することが
できる。
【0051】また、図2において、4は対象回路の素子
の接続関係を示すネットリストを読み込むネットリスト
読み込み手段、5は最小単位の機能を有するトランジス
タグループを抽出するトランジスタグループ抽出手段、
6はトランジスタグループを単位として、図1の並列計
算機3のプロセッサPE1 〜PEn の数の部分回路に対
象回路を分割する回路分割手段、7はトランジスタグル
ープの接続関係に基づいて、入力端子から出力端子まで
の信号の流れる方向を認識する信号伝播フローグラフ抽
出手段、8は部分回路を並列に解析し収束の判定を行う
解析手段である。
の接続関係を示すネットリストを読み込むネットリスト
読み込み手段、5は最小単位の機能を有するトランジス
タグループを抽出するトランジスタグループ抽出手段、
6はトランジスタグループを単位として、図1の並列計
算機3のプロセッサPE1 〜PEn の数の部分回路に対
象回路を分割する回路分割手段、7はトランジスタグル
ープの接続関係に基づいて、入力端子から出力端子まで
の信号の流れる方向を認識する信号伝播フローグラフ抽
出手段、8は部分回路を並列に解析し収束の判定を行う
解析手段である。
【0052】次に、本発明の一実施例による回路シミュ
レータの動作について説明する。図3において、シミュ
レーションを行う対象回路は、例えば、MOSトランジ
スタM1 〜M9 、抵抗R1 、キャパシタC1 、C2 など
から構成され、図2のネットリスト読み込み手段4によ
り、対象回路の素子の接続関係を示すネットリストを読
み込む。
レータの動作について説明する。図3において、シミュ
レーションを行う対象回路は、例えば、MOSトランジ
スタM1 〜M9 、抵抗R1 、キャパシタC1 、C2 など
から構成され、図2のネットリスト読み込み手段4によ
り、対象回路の素子の接続関係を示すネットリストを読
み込む。
【0053】次に、対象回路から機能を持ったまとまり
を認識し、トランジスタグループ抽出手段5により、ト
ランジスタグループTG1 〜TG3 を作成する。この場
合、一般的には、MOSトランジスタM1 〜M9 のゲー
ト入力の部分で分割してトランジスタグループTG1 〜
TG3 の作成が行われる。例えば、トランジスタグルー
プTG1 は、MOSトランジスタM1 、M2 、抵抗
R1 、キャパシタC1 から構成され、トランジスタグル
ープTG2 は、MOSトランジスタM3 、M4 、M7 、
キャパシタC2 から構成され、トランジスタグループT
G3 は、MOSトランジスタM5 、M6 から構成されて
いる。このトランジスタグループTG1 〜TG3 は、論
理ゲートなどの最小単位の機能を有している。
を認識し、トランジスタグループ抽出手段5により、ト
ランジスタグループTG1 〜TG3 を作成する。この場
合、一般的には、MOSトランジスタM1 〜M9 のゲー
ト入力の部分で分割してトランジスタグループTG1 〜
TG3 の作成が行われる。例えば、トランジスタグルー
プTG1 は、MOSトランジスタM1 、M2 、抵抗
R1 、キャパシタC1 から構成され、トランジスタグル
ープTG2 は、MOSトランジスタM3 、M4 、M7 、
キャパシタC2 から構成され、トランジスタグループT
G3 は、MOSトランジスタM5 、M6 から構成されて
いる。このトランジスタグループTG1 〜TG3 は、論
理ゲートなどの最小単位の機能を有している。
【0054】次に、図4において、トランジスタグルー
プTG1 〜TG10を単位として、図2の回路分割手段6
により、図1の並列計算機3のプロセッサPE1 〜PE
n の数の部分回路CB1 〜CB4 に対象回路を分割す
る。この時、各部分回路CB1〜CB4 は、大きさがほ
ぼ均等で、且つ部分回路CB1 〜CB4 を接続する外部
節点P1 〜P5 の数が最小となるように対象回路を分割
する。例えば、部分回路CB1 はトランジスタグループ
TG1 〜TG3 から構成され、部分回路CB2 はトラン
ジスタグループTG4 〜TG6 から構成され、部分回路
CB3 はトランジスタグループTG7 、TG8 から構成
され、部分回路CB4 はトランジスタグループTG9 、
TG10から構成されている。そして、外部節点P1 は部
分回路CB1 と部分回路CB3 とを接続し、外部節点P
2 は部分回路CB1 と部分回路CB2 とを接続し、外部
節点P3 は部分回路CB2 と部分回路CB3 とを接続
し、外部節点P4 は部分回路CB2 と部分回路CB4 と
を接続し、外部節点P5 は部分回路CB3 と部分回路C
B4 とを接続している。
プTG1 〜TG10を単位として、図2の回路分割手段6
により、図1の並列計算機3のプロセッサPE1 〜PE
n の数の部分回路CB1 〜CB4 に対象回路を分割す
る。この時、各部分回路CB1〜CB4 は、大きさがほ
ぼ均等で、且つ部分回路CB1 〜CB4 を接続する外部
節点P1 〜P5 の数が最小となるように対象回路を分割
する。例えば、部分回路CB1 はトランジスタグループ
TG1 〜TG3 から構成され、部分回路CB2 はトラン
ジスタグループTG4 〜TG6 から構成され、部分回路
CB3 はトランジスタグループTG7 、TG8 から構成
され、部分回路CB4 はトランジスタグループTG9 、
TG10から構成されている。そして、外部節点P1 は部
分回路CB1 と部分回路CB3 とを接続し、外部節点P
2 は部分回路CB1 と部分回路CB2 とを接続し、外部
節点P3 は部分回路CB2 と部分回路CB3 とを接続
し、外部節点P4 は部分回路CB2 と部分回路CB4 と
を接続し、外部節点P5 は部分回路CB3 と部分回路C
B4 とを接続している。
【0055】次に、各トランジスタグループTG1 〜T
G10について、図3のMOSトランジスタM1 〜M9 の
ゲート端子をグループ入力、他のトランジスタグループ
TG1 〜TG10のゲート端子が接続する節点をグループ
出力とし、信号入力端子9、10を始点、信号出力端子
11、12を終点とする各トランジスタグループTG1
〜TG10の間のグループ信号伝播フローグラフを作成す
る。
G10について、図3のMOSトランジスタM1 〜M9 の
ゲート端子をグループ入力、他のトランジスタグループ
TG1 〜TG10のゲート端子が接続する節点をグループ
出力とし、信号入力端子9、10を始点、信号出力端子
11、12を終点とする各トランジスタグループTG1
〜TG10の間のグループ信号伝播フローグラフを作成す
る。
【0056】次に、グループ信号伝播フローグラフおい
て、回路分割を行った際の外部節点に対して外部節点フ
ラグを立てる。そして、図2の信号伝播フロー抽出手段
7で外部節点フラグを辿ることにより、外部節点の接続
や分離の状況、信号伝播順序などの必要な情報を得る。
て、回路分割を行った際の外部節点に対して外部節点フ
ラグを立てる。そして、図2の信号伝播フロー抽出手段
7で外部節点フラグを辿ることにより、外部節点の接続
や分離の状況、信号伝播順序などの必要な情報を得る。
【0057】例えば、図5に示す信号伝播フローグラフ
おいて、ブロックB0 〜B7 が外部節点x1 〜x8 によ
り接続されている場合、信号伝播フローグラフを深さ方
向優先で辿り、出会った順序で外部節点x1 〜x8 を並
べる。すなわち、図6に示すように、外部節点x1 〜x
8 の順序を深さ方向優先で並び換える。
おいて、ブロックB0 〜B7 が外部節点x1 〜x8 によ
り接続されている場合、信号伝播フローグラフを深さ方
向優先で辿り、出会った順序で外部節点x1 〜x8 を並
べる。すなわち、図6に示すように、外部節点x1 〜x
8 の順序を深さ方向優先で並び換える。
【0058】図7は、外部節点x1 〜x8 の順序を深さ
方向優先で並び換える処理を示すフローチャートであ
る。まず、ステップS10で並べ換えテーブルの初期化
を行い、ステップS11で木の根の部分に相当するブロ
ックB0 の外部節点をスタックレジスタにスタックす
る。
方向優先で並び換える処理を示すフローチャートであ
る。まず、ステップS10で並べ換えテーブルの初期化
を行い、ステップS11で木の根の部分に相当するブロ
ックB0 の外部節点をスタックレジスタにスタックす
る。
【0059】次に、ステップS12に示すように、スタ
ックレジスタにスタックがある場合、ステップS13に
進んで、スタックレジスタから外部節点x1 〜x8 を先
入れ先出し方式で取り出し、取り出した外部節点x1 〜
x8 を並べ換えテーブルに登録する。
ックレジスタにスタックがある場合、ステップS13に
進んで、スタックレジスタから外部節点x1 〜x8 を先
入れ先出し方式で取り出し、取り出した外部節点x1 〜
x8 を並べ換えテーブルに登録する。
【0060】次に、ステップS14に示すように、並べ
換えテーブルに登録した外部節点x1 〜x8 に接続する
ブロックB0 〜B7 に外部節点x1 〜x8 がある場合、
ステップS15に進んで、そのブロックB0 〜B7 の外
部節点x1 〜x8 のうち1つを並べ換えテーブルに登録
し、残りの外部節点x1 〜x8 をスタックレジスタにス
タックする。そして、ステップS14に戻って、並べ換
えテーブルに登録した外部節点x1 〜x8 に接続するブ
ロックB0 〜B7 に外部節点x1 〜x8 がなくなるま
で、ステップS15の動作を繰り返す。
換えテーブルに登録した外部節点x1 〜x8 に接続する
ブロックB0 〜B7 に外部節点x1 〜x8 がある場合、
ステップS15に進んで、そのブロックB0 〜B7 の外
部節点x1 〜x8 のうち1つを並べ換えテーブルに登録
し、残りの外部節点x1 〜x8 をスタックレジスタにス
タックする。そして、ステップS14に戻って、並べ換
えテーブルに登録した外部節点x1 〜x8 に接続するブ
ロックB0 〜B7 に外部節点x1 〜x8 がなくなるま
で、ステップS15の動作を繰り返す。
【0061】一方、ステップS14において、並べ換え
テーブルに登録した外部節点x1 〜x8 に接続するブロ
ックB0 〜B7 に外部節点x1 〜x8 がない場合、ステ
ップS12に戻る。そして、スタックレジスタにスタッ
クがなくなるまで以上の動作を繰り返す。
テーブルに登録した外部節点x1 〜x8 に接続するブロ
ックB0 〜B7 に外部節点x1 〜x8 がない場合、ステ
ップS12に戻る。そして、スタックレジスタにスタッ
クがなくなるまで以上の動作を繰り返す。
【0062】以上のような動作が行われた後、グループ
信号伝播フローグラフの外部節点フラグからの情報に基
づいて、ブロック緩和反復アルゴリズムに応じた部分回
路CB1 〜CB4 毎の方程式を作成する。そして、図2
の解析手段8における図1の並列計算機3の各プロセッ
サPE1 〜PEn にロードして反復求解を行う。
信号伝播フローグラフの外部節点フラグからの情報に基
づいて、ブロック緩和反復アルゴリズムに応じた部分回
路CB1 〜CB4 毎の方程式を作成する。そして、図2
の解析手段8における図1の並列計算機3の各プロセッ
サPE1 〜PEn にロードして反復求解を行う。
【0063】次に、本発明の第1実施例によるシミュレ
ーション方法について説明する。この第1実施例は、点
・ブロック緩和シミュレーションと呼ばれるもので、外
部節点電圧ベクトルv0 の外部節点変数の順序を深さ方
向優先で並べることにより、収束効率を向上させたもの
である。
ーション方法について説明する。この第1実施例は、点
・ブロック緩和シミュレーションと呼ばれるもので、外
部節点電圧ベクトルv0 の外部節点変数の順序を深さ方
向優先で並べることにより、収束効率を向上させたもの
である。
【0064】点・ブロック緩和シミュレーションを行う
場合、回路を分割し、分割した節点、すなわち外部節点
変数を集めると、図8に示すように、縁付きブロック対
角(BBD)行列となる。この縁付きブロック対角(B
BD)行列により、各部分回路CB1 〜CB4 毎の方程
式が得られる。なお、ここでは、回路を4つに分割し、
4台のプロセッサPE1 〜PE4 で並列に処理を行う場
合について示した。
場合、回路を分割し、分割した節点、すなわち外部節点
変数を集めると、図8に示すように、縁付きブロック対
角(BBD)行列となる。この縁付きブロック対角(B
BD)行列により、各部分回路CB1 〜CB4 毎の方程
式が得られる。なお、ここでは、回路を4つに分割し、
4台のプロセッサPE1 〜PE4 で並列に処理を行う場
合について示した。
【0065】図9において、まず、ステップS20に示
すように、外部節点電圧ベクトルv0 の外部節点変数の
順序を、信号伝播フローグラフにおける深さ方向優先で
並べる。
すように、外部節点電圧ベクトルv0 の外部節点変数の
順序を、信号伝播フローグラフにおける深さ方向優先で
並べる。
【0066】次に、ステップS21に示すように、外部
節点電圧ベクトルv0 に予測値を与える。次に、ステッ
プS22に示すように、図8の行列式から求めた(1
9)式を、プロセッサPEi (i=1、2、3、4)を
用いて部分回路CB1 〜CB4 毎にLU分解法で解く。
節点電圧ベクトルv0 に予測値を与える。次に、ステッ
プS22に示すように、図8の行列式から求めた(1
9)式を、プロセッサPEi (i=1、2、3、4)を
用いて部分回路CB1 〜CB4 毎にLU分解法で解く。
【0067】 Ai vi =ji −Bi v0 (i=1、2、3、4) ・・・(19)式 次に、ステップS23に示すように、(20)式の計算
し、求めた値をj00とする。
し、求めた値をj00とする。
【0068】 J0 −C1 v1 −C2 v2 −C3 v3 −C4 v4 ・・・(20)式 次に、ステップS24において、図8に示すようにプロ
セッサPEi (i=1、2、3、4)に(21)式を割
り付ける。
セッサPEi (i=1、2、3、4)に(21)式を割
り付ける。
【0069】 D0 v0 =j00 ・・・(21)式 次に、ステップS25に示すように、各プロセッサPE
i (i=1、2、3、4)内では、収束速度の速いガウ
ス−ザイデル法により、各プロセッサPEi (i=1、
2、3、4)間では、並列性の高いガウス−ヤコビ法に
より、(22)式を解く。
i (i=1、2、3、4)内では、収束速度の速いガウ
ス−ザイデル法により、各プロセッサPEi (i=1、
2、3、4)間では、並列性の高いガウス−ヤコビ法に
より、(22)式を解く。
【0070】 D0iv0i=j0i(i=1、2、3、4) ・・・(22)式 次に、ステップS26に示すように、求めた外部節点電
圧ベクトルv0 ´が、予測値として与えた外部節点電圧
ベクトルv0 に十分近くなるまで、以上の処理を繰り返
す。
圧ベクトルv0 ´が、予測値として与えた外部節点電圧
ベクトルv0 に十分近くなるまで、以上の処理を繰り返
す。
【0071】以上説明したように、本発明の第1実施例
によれば、外部節点行列D0 を解く際に、外部節点変数
を信号の伝わる順序に並べてガウス−ザイデル法で解
き、その外側をガウス−ヤコビ法で解くことにより、収
束の速さと並列処理による効果の両方を期待できる。
によれば、外部節点行列D0 を解く際に、外部節点変数
を信号の伝わる順序に並べてガウス−ザイデル法で解
き、その外側をガウス−ヤコビ法で解くことにより、収
束の速さと並列処理による効果の両方を期待できる。
【0072】次に、本発明の第2実施例によるシミュレ
ーション方法について説明する。この第2実施例は、ブ
ロック緩和シミュレーションと呼ばれるもので、図12
に示すように外部節点電圧ベクトルv0 の外部節点変数
v01〜v04を、接続度の高い部分回路に組み込んで、部
分回路の解析を行うようにしたものである。
ーション方法について説明する。この第2実施例は、ブ
ロック緩和シミュレーションと呼ばれるもので、図12
に示すように外部節点電圧ベクトルv0 の外部節点変数
v01〜v04を、接続度の高い部分回路に組み込んで、部
分回路の解析を行うようにしたものである。
【0073】以下、外部節点変数の部分回路への組み込
み手順について説明する。図11のステップS30にお
いて、図10の非連結外部節点部分グラフEBj〜EB
j+3 を任意に1つ取り出す。ここで、非連結外部節点部
分グラフEBj 〜EBj+3 とは、共通の部分回路CB
i+1 〜CBi+4 を接続する外部節点vp 〜vp+5 の集合
である。
み手順について説明する。図11のステップS30にお
いて、図10の非連結外部節点部分グラフEBj〜EB
j+3 を任意に1つ取り出す。ここで、非連結外部節点部
分グラフEBj 〜EBj+3 とは、共通の部分回路CB
i+1 〜CBi+4 を接続する外部節点vp 〜vp+5 の集合
である。
【0074】次に、ステップS31で非連結外部節点部
分グラフEBj 〜EBj+3 がある場合、ステップS31
に進み、取り出した非連結外部節点部分グラフEBj 〜
EBj+3 に接続する全ての部分回路CBi+1 〜CBi+4
について、接続度の計算を行う。ここで、接続度は、部
分回路CBi+1 〜CBi+4 の外部節点vp 〜vp+5 の数
と合致する外部節点vp 〜vp+5 の数との割合である。
分グラフEBj 〜EBj+3 がある場合、ステップS31
に進み、取り出した非連結外部節点部分グラフEBj 〜
EBj+3 に接続する全ての部分回路CBi+1 〜CBi+4
について、接続度の計算を行う。ここで、接続度は、部
分回路CBi+1 〜CBi+4 の外部節点vp 〜vp+5 の数
と合致する外部節点vp 〜vp+5 の数との割合である。
【0075】次に、外部節点を部分回路に組み込んだ後
の、部分回路の解析手順について説明する。 図13に
おいて、ステップS40〜S43の手順により、外部節
点の部分回路への組み込みが行われ、図12に示すよう
に、外部節点電圧ベクトルv0 の外部節点変数v01〜v
04が、部分回路CB1 〜CB4 の内部節点電圧変数ベク
トルv1 〜v4 に組み込まれる。また、部分回路CB1
〜CB4 の内部節点と外部節点との間のアドミタンス回
路行列B1 〜B4 、部分回路CB1 〜CB4 の外部節点
と内部節点との間のアドミタンス回路行列C1 〜C4 、
外部節点行列D0 は、部分回路CB1 〜CB4 の内部節
点間のアドミタンス回路行列A1 〜A4に組み込まれ
る。
の、部分回路の解析手順について説明する。 図13に
おいて、ステップS40〜S43の手順により、外部節
点の部分回路への組み込みが行われ、図12に示すよう
に、外部節点電圧ベクトルv0 の外部節点変数v01〜v
04が、部分回路CB1 〜CB4 の内部節点電圧変数ベク
トルv1 〜v4 に組み込まれる。また、部分回路CB1
〜CB4 の内部節点と外部節点との間のアドミタンス回
路行列B1 〜B4 、部分回路CB1 〜CB4 の外部節点
と内部節点との間のアドミタンス回路行列C1 〜C4 、
外部節点行列D0 は、部分回路CB1 〜CB4 の内部節
点間のアドミタンス回路行列A1 〜A4に組み込まれ
る。
【0076】次に、ステップS44に示すように、外部
節点電圧ベクトルv0 に予測値を与える。次に、ステッ
プS45に示すように、図12の行列式から求めた(2
3)式を、プロセッサPEk を用いて部分回路CB1 〜
CB4 毎に計算する。
節点電圧ベクトルv0 に予測値を与える。次に、ステッ
プS45に示すように、図12の行列式から求めた(2
3)式を、プロセッサPEk を用いて部分回路CB1 〜
CB4 毎に計算する。
【0077】
【数7】
【0078】次に、ステップS46に示すように、(2
4)式を、プロセッサPEk を用いて部分回路CB1 〜
CB4 毎にLU分解法で解く。 Akkvk =jk ´ ・・・(24)式 次に、ステップS47に示すように、求めた外部節点電
圧ベクトルvk が、予測値として与えた外部節点電圧ベ
クトルv0 に十分近くなるまで、以上の処理を繰り返
す。
4)式を、プロセッサPEk を用いて部分回路CB1 〜
CB4 毎にLU分解法で解く。 Akkvk =jk ´ ・・・(24)式 次に、ステップS47に示すように、求めた外部節点電
圧ベクトルvk が、予測値として与えた外部節点電圧ベ
クトルv0 に十分近くなるまで、以上の処理を繰り返
す。
【0079】以上説明したように、本発明の第2実施例
によれば、非連結外部節点部分グラフを最も関係の深い
部分回路に組み込むことにより、ブロック内の変数間の
相互関係が強くなり、ブロック緩和反復法の収束能力を
高めることができる。
によれば、非連結外部節点部分グラフを最も関係の深い
部分回路に組み込むことにより、ブロック内の変数間の
相互関係が強くなり、ブロック緩和反復法の収束能力を
高めることができる。
【0080】次に、本発明の第3実施例によるシミュレ
ーション方法について説明する。この第3実施例は、オ
ーバーラップ・ブロック緩和シミュレーションと呼ばれ
るもので、非連結の外部節点の部分グラフを適切な部分
回路に組み込むとともに、その非連結外部節点部分グラ
フにおいて、他の部分回路が一番多く接続している外部
節点変数を、接続している全ての部分回路にもオーバー
ラップさせて組み込むようにしたものである。なお、外
部節点変数を組み込んだ後の部分回路の解析は、上述し
たブロック緩和シミュレーションと同様に行われる。
ーション方法について説明する。この第3実施例は、オ
ーバーラップ・ブロック緩和シミュレーションと呼ばれ
るもので、非連結の外部節点の部分グラフを適切な部分
回路に組み込むとともに、その非連結外部節点部分グラ
フにおいて、他の部分回路が一番多く接続している外部
節点変数を、接続している全ての部分回路にもオーバー
ラップさせて組み込むようにしたものである。なお、外
部節点変数を組み込んだ後の部分回路の解析は、上述し
たブロック緩和シミュレーションと同様に行われる。
【0081】以上説明したように、本発明の第3実施例
によれば、各部分回路のサイズは増加するが、最も適切
な外部節点変数を部分回路にオーバーラップさせること
により、尾非連結外部節点部分グラフを最も関係の深い
部分回路に組み込むことにより、ブロック内の変数間の
相互関係がより一層強くなり、ブロック緩和反復法の収
束能力をさらに高めることができる。
によれば、各部分回路のサイズは増加するが、最も適切
な外部節点変数を部分回路にオーバーラップさせること
により、尾非連結外部節点部分グラフを最も関係の深い
部分回路に組み込むことにより、ブロック内の変数間の
相互関係がより一層強くなり、ブロック緩和反復法の収
束能力をさらに高めることができる。
【0082】
【発明の効果】以上説明したように、本発明によれば、
大規模な回路を高速にシミュレーションするために、並
列処理によるブロック緩和反復法が有効である。ブロッ
ク緩和反復は、対象回路が同じでも、回路の分割の方
法、変数の分離の方法により、収束速度が大きく異な
る。
大規模な回路を高速にシミュレーションするために、並
列処理によるブロック緩和反復法が有効である。ブロッ
ク緩和反復は、対象回路が同じでも、回路の分割の方
法、変数の分離の方法により、収束速度が大きく異な
る。
【0083】本発明では、回路の信号伝播フローグラフ
を抽出し、分割する外部節点グラフを状況を認識するこ
とにより、回路分割や変数の分離を大局的見地から最適
に行い、ブロック緩和反復法の収束速度を高めることが
できる。
を抽出し、分割する外部節点グラフを状況を認識するこ
とにより、回路分割や変数の分離を大局的見地から最適
に行い、ブロック緩和反復法の収束速度を高めることが
できる。
【図1】本発明の一実施例による回路シミュレータの概
略構成を示すブロック図である。
略構成を示すブロック図である。
【図2】本発明の第1実施例による回路シミュレータの
機能を示すブロック図である。
機能を示すブロック図である。
【図3】本発明の一実施例によるトランジスタグループ
の構成を示す回路図である。
の構成を示す回路図である。
【図4】本発明の一実施例による部分回路の構成を示す
ブロック図である。
ブロック図である。
【図5】本発明の一実施例による信号伝播フローグラフ
を示す図である。
を示す図である。
【図6】本発明の一実施例によるスタックレジスタの内
容を示す図である。
容を示す図である。
【図7】本発明の一実施例による信号伝播フローグラフ
に基づいて変数を並べる処理を示すフローチャートであ
る。
に基づいて変数を並べる処理を示すフローチャートであ
る。
【図8】本発明の第1実施例によるブロック対角行列を
示す図である。
示す図である。
【図9】本発明の第1実施例によるシミュレーション方
法を示すフローチャートである。
法を示すフローチャートである。
【図10】本発明の一実施例による非連結外部節点を有
する部分回路の構成を示すブロック図である。
する部分回路の構成を示すブロック図である。
【図11】本発明の第1実施例による非連結外部節点部
分グラフの組み込み手順をを示すフローチャートであ
る。
分グラフの組み込み手順をを示すフローチャートであ
る。
【図12】本発明の第2実施例によるブロック対角行列
を示す図である。
を示す図である。
【図13】本発明の第2実施例によるシミュレーション
方法を示すフローチャートである。
方法を示すフローチャートである。
【図14】従来の部分回路の構成を示すブロック図であ
る。
る。
【図15】従来のシミュレーション方法を示すフローチ
ャートである。
ャートである。
【図16】従来のシミュレーション方法の並列処理を示
すフローチャートである。
すフローチャートである。
【図17】ブロックの結合状態を示す図である。
1 ホスト計算機 2 バス 3 並列計算機 4 ネットリスト読み込み手段 5 トランジスタグループ抽出手段 6 回路分割手段 7 信号伝播フロー抽出手段 8 収束判定手段
Claims (9)
- 【請求項1】 複数のプロセッサを相互に接続した並列
計算機を用いて、対象回路網を外部節点で接続される部
分回路に分割して解析する機構を有するシステムにおい
て、 外部節点に初期電位を与えて、各プロセッサが各部分回
路を直接法を用いて並列に解き、この結果を使って外部
節点電位方程式を前記各プロセッサに割り当てて緩和法
を用いて並列に解析して前記外部節点の電位を更新し、
この電位の変化が許容以下になるまで繰り返す点・ブロ
ック緩和シミュレーション方法。 - 【請求項2】 信号入力端子を始点、信号出力端子を終
点とする回路グループ間の信号伝播フローグラフを抽出
し、信号伝播フローグラフを深さ方向優先に辿って外部
節点電位方程式の外部節点変数を並べ、上から均等に各
プロセッサに割り付けて反復求解することを特徴とする
請求項1記載の点・ブロック緩和シミュレーション方
法。 - 【請求項3】 前記緩和法の実行において、 前記プロセッサ内の処理をガウス−ザイデル法で行い、
前記プロセッサ間の処理をガウス−ヤコビ法で行うこと
を特徴とする請求項2に記載の点・ブロック緩和シミュ
レーション方法。 - 【請求項4】 複数のプロセッサを相互に接続した並列
計算機を用いて、対象回路網を外部節点で接続される部
分回路に分割して解析する機構を有するシステムにおい
て、 信号入力端子を始点、信号出力端子を終点とする回路グ
ループ間の信号伝播フローグラフを抽出し、信号伝播フ
ローグラフを深さ方向優先に辿って外部節点を抽出し
て、 外部節点に初期電位を与えて、前記初期電位を用いて求
まる各部分回路への入力電流を用いて各部分回路を各プ
ロセッサで並列に直接法を用いて解析して、新たに外部
節点の電位を求める手続きを前記外部節点の電位の変化
が許容以下になるまで繰り返すことを特徴とするブロッ
ク緩和シミュレーション方法。 - 【請求項5】 信号入力端子を始点、信号出力端子を終
点とする回路グループ間の信号伝播フローグラフを抽出
し、この信号伝播フローグラフから外部節点のみを残し
た非連結の外部節点グラフを抽出し、所定よりも多い外
部節点の部分グラフは所定以下になるまで細分化し、各
部分グラフに対して、その部分グラフを構成する外部節
点と同じ外部節点を一番多く持つ部分回路に組み込んで
反復求解する請求項4記載のブロック緩和シミュレーシ
ョン方法。 - 【請求項6】 接続度の一番大きな部分回路に前記外部
節点を組み込んで前記外部節点の電位及び前記各部分回
路の内部節点の電圧を求め、前記接続度は、部分回路の
外部節点数とその部分回路に合致する外部節点数との割
合であることを特徴とする請求項5記載のブロック緩和
シミュレーション方法。 - 【請求項7】 請求項5記載の反復求解方式において、 収束速度を高めるために各部分回路で変数を重複させて
反復求解を行うオーバーラップ・ブロック緩和シミュレ
ーション法を行うために、外部節点の各部分グラフにお
いて、その部分グラフを構成する外部節点のうち、部分
回路が一番多く接続する外部節点を、その外部節点に接
続するすべての部分回路にも組み込んで反復求解する方
式。 - 【請求項8】 請求項2において、対象回路の素子の接
続関係を示すネットリストを読み込むネットリスト読み
込み手段と、 最小単位の機能を有する回路グループを抽出する回路グ
ループ抽出手段と、 前記回路グループを単位として、前記対象回路を複数の
部分回路に分割する回路分割手段と、 前記回路グループの接続関係に基づいて、入力端子から
出力端子までの信号の流れる方向を認識する信号伝播フ
ローグラフ抽出手段と、 前記信号伝播フローグラフ抽出手段の出力に基づいて、
前記部分回路の解析を該部分回路と同数のプロセッサに
より並列に行う解析手段とを備えることを特徴とする回
路シミュレータ。 - 【請求項9】 請求項5において、対象回路の素子の接
続関係を示すネットリストを読み込むネットリスト読み
込み手段と、 最小単位の機能を有する回路グループを抽出する回路グ
ループ抽出手段と、 前記回路グループを単位として、前記対象回路を複数の
部分回路に分割する回路分割手段と、 各部分回路に接続する外部節点を、接続度の一番大きな
部分回路に組み込む組み込み手段と、 前記組み込み手段により外部節点を組み込んだ部分回路
の解析を行う解析手段とを備えることを特徴とする回路
シミュレータ。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7168250A JPH0916640A (ja) | 1995-06-10 | 1995-06-10 | 回路シミュレータ及びブロック緩和反復シミュレーション方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7168250A JPH0916640A (ja) | 1995-06-10 | 1995-06-10 | 回路シミュレータ及びブロック緩和反復シミュレーション方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0916640A true JPH0916640A (ja) | 1997-01-17 |
Family
ID=15864537
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP7168250A Withdrawn JPH0916640A (ja) | 1995-06-10 | 1995-06-10 | 回路シミュレータ及びブロック緩和反復シミュレーション方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0916640A (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2013101608A (ja) * | 2011-10-17 | 2013-05-23 | Mizuho Information & Research Institute Inc | 非線形構造解析計算装置、非線形構造解析計算方法及び非線形構造解析計算プログラム |
| JP2016009320A (ja) * | 2014-06-24 | 2016-01-18 | 富士電機株式会社 | 電気回路のシミュレーション装置、電気回路のシミュレーション方法、プログラム |
| US9690750B2 (en) | 2014-01-17 | 2017-06-27 | Fujitsu Limited | Arithmetic device, arithmetic method, and wireless communication device |
| JP2019008794A (ja) * | 2017-06-20 | 2019-01-17 | ディスペース デジタル シグナル プロセッシング アンド コントロール エンジニアリング ゲゼルシャフト ミット ベシュレンクテル ハフツングdspace digital signal processing and control engineering GmbH | 電気全体回路のシミュレーションのためのコンピュータ実装方法 |
-
1995
- 1995-06-10 JP JP7168250A patent/JPH0916640A/ja not_active Withdrawn
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2013101608A (ja) * | 2011-10-17 | 2013-05-23 | Mizuho Information & Research Institute Inc | 非線形構造解析計算装置、非線形構造解析計算方法及び非線形構造解析計算プログラム |
| US9690750B2 (en) | 2014-01-17 | 2017-06-27 | Fujitsu Limited | Arithmetic device, arithmetic method, and wireless communication device |
| JP2016009320A (ja) * | 2014-06-24 | 2016-01-18 | 富士電機株式会社 | 電気回路のシミュレーション装置、電気回路のシミュレーション方法、プログラム |
| JP2019008794A (ja) * | 2017-06-20 | 2019-01-17 | ディスペース デジタル シグナル プロセッシング アンド コントロール エンジニアリング ゲゼルシャフト ミット ベシュレンクテル ハフツングdspace digital signal processing and control engineering GmbH | 電気全体回路のシミュレーションのためのコンピュータ実装方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5930499A (en) | Method for mixed placement of structured and non-structured circuit elements | |
| US9111058B1 (en) | Solving a hierarchical circuit network using a barycenter compact model | |
| US11663383B2 (en) | Method and system for hierarchical circuit simulation using parallel processing | |
| US6810506B1 (en) | Methodology for stitching reduced-order models of interconnects together | |
| Gu et al. | Model reduction via projection onto nonlinear manifolds, with applications to analog circuits and biochemical systems | |
| CN114707445B (zh) | 集成电路的综合方法、装置、计算机设备及存储介质 | |
| CN114330173B (zh) | 边界节点连接关系获取方法、装置、设备和存储介质 | |
| US20060112356A1 (en) | System and method for converting a flat netlist into a hierarchical netlist | |
| WO2005050494A1 (ja) | グラフ幅削減装置及びグラフ幅削減方法、並びに論理回路合成装置及び論理回路合成方法 | |
| CN102893282A (zh) | 用于在综合期间执行异步和同步复位去除的方法以及设备 | |
| JPH0916640A (ja) | 回路シミュレータ及びブロック緩和反復シミュレーション方法 | |
| Mak et al. | Board-level multiterminal net routing for FPGA-based logic emulation | |
| Chen et al. | Tsa-ticer: A two-stage ticer acceleration framework for model order reduction | |
| US8020122B2 (en) | Circuit splitting in analysis of circuits at transistor level | |
| CN117787202B (zh) | 跨工艺角的签核级时序预测方法及系统 | |
| KR100576987B1 (ko) | 전자 소자 및 전자 장치의 설계 및 제조 방법 | |
| US7979817B2 (en) | Net list producing device producing a net list with an interconnection parasitic element by hierarchical processing | |
| US20060020441A1 (en) | Method and system for creating timing constraint library | |
| US11210440B1 (en) | Systems and methods for RLGC extraction based on parallelized left-looking incomplete inverse fast multipole operations | |
| CN112861455B (zh) | Fpga建模验证系统及方法 | |
| Houngninou et al. | Implementation of switching circuit models as transfer functions | |
| JPH07287051A (ja) | 論理シミュレータ用入力データ作成装置 | |
| JP3766119B2 (ja) | 回路シミュレーション方法及びその装置 | |
| US20240070361A1 (en) | Circuit analysis method, circuit analysis device, and circuit analysis system | |
| Schmiedle et al. | Dynamic re-encoding during MDD minimization |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20020903 |