JP2959525B2 - データ処理装置および方法、情報記憶媒体 - Google Patents

データ処理装置および方法、情報記憶媒体

Info

Publication number
JP2959525B2
JP2959525B2 JP9143955A JP14395597A JP2959525B2 JP 2959525 B2 JP2959525 B2 JP 2959525B2 JP 9143955 A JP9143955 A JP 9143955A JP 14395597 A JP14395597 A JP 14395597A JP 2959525 B2 JP2959525 B2 JP 2959525B2
Authority
JP
Japan
Prior art keywords
ilu
parallel
data processing
data
fill
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.)
Expired - Fee Related
Application number
JP9143955A
Other languages
English (en)
Other versions
JPH10334129A (ja
Inventor
孝太郎 蜂屋
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
Nippon Electric Co Ltd
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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP9143955A priority Critical patent/JP2959525B2/ja
Priority to US09/089,163 priority patent/US6144932A/en
Publication of JPH10334129A publication Critical patent/JPH10334129A/ja
Application granted granted Critical
Publication of JP2959525B2 publication Critical patent/JP2959525B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/36Circuit design at the analogue level
    • G06F30/367Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Complex Calculations (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、LSI(Large
Scale Integrated Circuit)等の大規模な電子回路
の動作のシミュレーションを複数のデータ処理手段で並
列処理するデータ処理装置および方法、そのプログラム
が格納されている情報記憶媒体に関する。
【0002】
【従来の技術】回路のシミュレーションでは、電子回路
の複数の節点の各々の電位や複数の素子の各々の電流値
の時系列的な変化を出力する。その場合、電子回路の動
作を示す常微分方程式を時間離散化し、陰的積分公式を
適用することにより非線形連立方程式を獲得する。つぎ
に、この非線形連立方程式にニュートン反復法を適用
し、これで獲得される線形連立方程式の解法を反復させ
て各時間離散化点での解答を獲得する。
【0003】素子が数万以上のLSI等の大規模な電子
回路のシミュレーションでは、上述の線形連立方程式の
求解の所要時間が全体の半分以上となり、その割合は電
子回路の規模の増大とともに増加する。線形連立方程式
の求解の方法としては、直接法と反復法とがあるが、直
接法では回路規模が増大すると線形連立方程式の求解の
所要時間が極度に増加するために実用的でなく、一般的
に大規模な電子回路のシミュレーションには反復法が採
用されている。
【0004】この反復法とは、解答の近似値列
{x(0),x(1),x(2),…}を順次解法して充分に収
束したときのx(i)を解答とするもので、例えば、Bi
CG(Bi Conjugate Grandient Method)法、QM
R(Quasi−Minimal Residual Method)法、CGS
(Conjugate Grandient Squared Method)法、Bi
−CGSTAB(Bi−CG Stabilized Method)
法、等がある。なお、このような反復法を実際に実行す
る場合には、連立方程式を収束しやすい形態に変換する
前処理を実行することが一般的である。この前処理を実
行しないと解答が収束しないことがあるため、実用的に
は前処理は不可欠である。
【0005】このような前処理としては、不完全LU
(Lower/Upper factorization)分解(=ILU分解)
が顕著である。このILU分解では、LU分解で発生す
るフィルインを完全に無視したり、フィルインの伝播を
一定レベルまで許容することにより、LU分解の近似値
を求解する。フィルインとは、LU分解前の行列では
“0”であったのに、LU分解後には“0”でなくなっ
た要素を示す。このようなフィルインの伝播を一定レベ
ルLまで許容する処理はILU(L)と表記し、その処理
は図11のフローチャートのように実行される。
【0006】上述のようなILU分解の前処理付きの反
復法を並列処理装置で実行する場合、図12に示すよう
に、最初に回路を分割することにより係数行列を縁取ブ
ロック対角行列とする。そして、図13に示すように、
この係数行列に対するILU分解を複数のブロックA
1,A2,…,Anごとに複数のプロセッサで並列に実行
してから、最後に結合部分DのILU分解を逐次実行す
る。
【0007】なお、この結合部分DのILU分解が逐次
実行である欠点を解消する方法が、“International C
onference on Computer Aided Desin 90”の予稿
集の“A Parallel Block-Diagonal Preconditioned
Conjugate-Gradient Solution Algorithm for Cir
cuit and Device Simulations”に開示されている。
その方法では、縁取部分の非対角ブロックB1〜Bn,
C1〜Cnを無視することで、複数のブロックと結合部
分の全部に対するILU分解を並列に処理する。
【0008】
【発明が解決しようとする課題】上述のような各種の手
法により、回路の動作を複数のデータ処理手段の並列処
理によりシミュレーションすることが可能である。しか
し、最後に結合部分のILU分解を逐次実行する従来の
第一の手法では、全体的な処理時間を有効に短縮するこ
とが困難である。
【0009】つまり、複数のブロックごとにILU分解
を並列処理するプロセッサの個数を増加させることによ
り、その個々の処理の容量を削減して時間を短縮させる
ことは可能である。しかし、これでは最後に逐次実行す
る結合部分のILU分解の個数が増加するので、結合部
分の逐次実行の処理時間が増加することになり、全体の
処理時間を有効に短縮することは困難である。例えば、
前述した文献の場合、プロセッサを四台としても、一台
の場合の2.2倍程度にしか速度が向上しない。
【0010】一方、ILU分解の並列処理において縁取
部分の非対角ブロックを無視することで、複数のブロッ
クと結合部分の全部に対するILU分解を並列に処理す
る従来の第二の手法では、無視した部分の影響により線
形方程式の求解の反復回数が数倍程度にまで増加するの
で、全体的に処理時間を短縮することが困難であり、場
合によっては求解が収束しないこともある。
【0011】つまり、ILU分解は結果が完全なLU分
解に近似するほど反復回数が少数で良いが、上述のよう
に縁取部分の非対角ブロックを無視すると完全なLU分
解の結果との差分が増加する。反復回数が増加すると桁
落ちなどの数値演算誤差が増大するため、理論上では収
束する反復法でも収束しなくなることがある。
【0012】本発明は上述のような課題に鑑みてなされ
たものであり、電子回路をシミュレーションする処理が
高速なデータ処理装置および方法、このようなデータ処
理方法をコンピュータシステムに実行させるプログラム
が格納された情報記憶媒体、を提供することを目的とす
る。
【0013】
【課題を解決するための手段】本発明の一のデータ処理
装置は、電子回路の記述データの入力を受け付けるデー
タ入力手段と、入力された電子回路の記述データを分割
して部分回路の記述データを生成するデータ分割手段
と、部分回路の記述データに対して次段のタイムポイン
トを決定するポイント決定手段と、次段のタイムポイン
トが決定された部分回路の記述データに陰的積分公式と
ニュートン反復法とを適用して線形連立方程式を生成す
る方程式生成手段と、生成された線形連立方程式の縁取
ブロック対角化された係数行列の複数のブロックの各々
を並列にILU分解する複数のブロックILU手段と、
並列な複数のブロックのILU分解により個々に発生し
た複数のフィルインを係数行列の結合部分に並列に加算
する複数のフィルイン加算手段と、複数のフィルインが
加算された結合部分の複数の行集合の各々を並列にIL
U分解する行集合ILU手段と、前記方程式生成手段と
前記ブロックILU手段と前記フィルイン加算手段と前
記行集合ILU手段との動作を解答が収束するまで反復
させる解答収束手段と、前記ポイント決定手段と前記方
程式生成手段と前記ブロックILU手段と前記フィルイ
ン加算手段と前記行集合ILU手段と前記解答収束手段
との動作をタイムポイントが事前に設定された最終時間
に到達するまで繰り返させる動作繰返手段と、複数のタ
イムポイントでの解答をデータ出力する結果出力手段
と、を具備している。
【0014】従って、電子回路の記述データの入力がデ
ータ入力手段により受け付けられ、入力された電子回路
の記述データがデータ分割手段により分割されて部分回
路の記述データが生成される。部分回路の記述データに
対して次段のタイムポイントがポイント決定手段により
決定され、次段のタイムポイントが決定された部分回路
の記述データに方程式生成手段により陰的積分公式とニ
ュートン反復法とが適用されて線形連立方程式が生成さ
れる。
【0015】生成された線形連立方程式の縁取ブロック
対角化された係数行列の複数のブロックの各々が複数の
ブロックILU手段により並列にILU分解され、並列
な複数のブロックのILU分解により個々に発生した複
数のフィルインが複数のフィルイン加算手段により係数
行列の結合部分に並列に加算される。
【0016】複数のフィルインが加算された結合部分の
複数の行集合の各々が行集合ILU手段により並列にI
LU分解され、上述した方程式生成手段とブロックIL
U手段とフィルイン加算手段と行集合ILU手段との動
作が解答収束手段により解答が収束するまで反復され
る。
【0017】解答が収束すると上述したポイント決定手
段と方程式生成手段とブロックILU手段とフィルイン
加算手段と行集合ILU手段と解答収束手段との動作が
動作繰返手段によりタイムポイントが事前に設定された
最終時間に到達するまで繰り返され、この複数のタイム
ポイントでの解答が結果出力手段によりデータ出力され
る。
【0018】係数行列の複数のブロックのILU分解
と、係数行列の結合部分に対する複数のフィルインの加
算と、結合部分の複数の行集合のILU分解とが、各々
並列に処理され、並列処理の結果に対して逐次実行する
処理が存在しないので、並列処理の個数が増加すれば処
理時間が短縮される。
【0019】なお、本発明で云う各種手段は、その機能
を実現するよう形成されていれば良く、例えば、適正に
動作するように形成された専用のハードウェア、適正な
プログラムがソフトウェアにより実装されたコンピュー
タ、これらの組み合わせ、等を許容する。
【0020】上述のようなデータ処理装置における他の
発明としては、並列に動作する複数のプロセッサを具備
しており、これらのプロセッサの各々がブロックILU
手段とフィルイン加算手段と行集合ILU手段として機
能する。
【0021】従って、ブロックILU手段による係数行
列の複数のブロックのILU分解と、フィルイン加算手
段による係数行列の結合部分に対する複数のフィルイン
の加算と、行集合ILU手段による結合部分の複数の行
集合のILU分解とが、複数のプロセッサにより各々並
列に実行される。
【0022】なお、本発明で云うプロセッサとは、デー
タ処理を個々に実行できるデバイスであれば良く、いわ
ゆるマイクロコンピュータなどを許容する。ただし、複
数のプロセッサが実際に複数のチップ部品である必要は
なく、例えば、高機能のプロセッサの内部にソフトウェ
アにより仮想的に形成された複数のデータ処理機能など
も許容する。
【0023】本発明の他のデータ処理装置は、上述した
データ処理装置を一つとする処理速度と求解の収束性と
が相反する関係の複数のデータ処理手段と、最初に収束
性が最低で処理速度が最高の前記データ処理手段に求解
させる処理選択手段と、求解する前記データ処理手段の
反復回数を検出する回数検出手段と、反復回数が事前に
設定された許容回数を逸脱すると求解させる前記データ
処理手段を収束性が高く処理速度が低い前記データ処理
手段に順次切り替える処理切替手段と、を具備してい
る。
【0024】従って、前述したデータ処理装置を一つと
する処理速度と求解の収束性とが相反する関係の複数の
データ処理手段に対し、最初に収束性が最低で処理速度
が最高のデータ処理手段に処理選択手段が求解させる。
このように求解するデータ処理手段の反復回数が回数検
出手段により検出され、この反復回数が事前に設定され
た許容回数を逸脱すると求解するデータ処理手段が処理
切替手段により収束性が高く処理速度が低いデータ処理
手段に順次切り替えられる。
【0025】つまり、最初は収束性が低く処理速度が高
いデータ処理手段により求解が実行され、その反復回数
が多数となると収束性が高いデータ処理手段に順次切り
替えられるので、最終的には適正なデータ処理手段で求
解が実行される。
【0026】本発明のデータ処理方法は、電子回路の記
述データの入力を受け付け、入力された電子回路の記述
データを分割して部分回路の記述データを生成し、部分
回路の記述データに対して次段のタイムポイントを決定
し、次段のタイムポイントが決定された部分回路の記述
データに陰的積分公式とニュートン反復法とを適用して
線形連立方程式を生成し、生成された線形連立方程式の
縁取ブロック対角化された係数行列の複数のブロックの
各々を並列にILU分解し、並列な複数のブロックのI
LU分解により個々に発生した複数のフィルインを係数
行列の結合部分に並列に加算し、複数のフィルインが加
算された結合部分の複数の行集合の各々を並列にILU
分解し、線形連立方程式の生成から行集合のILU分解
までの動作を解答が収束するまで反復させ、次段のタイ
ムポイントの決定から解答を収束させるまでの動作をタ
イムポイントが事前に設定された最終時間に到達するま
で繰り返し、複数のタイムポイントでの解答をデータ出
力するようにした。
【0027】従って、係数行列の複数のブロックのIL
U分解と、係数行列の結合部分に対する複数のフィルイ
ンの加算と、結合部分の複数の行集合のILU分解と
が、各々並列に処理され、並列処理の結果に対して逐次
実行する処理が存在しないので、並列処理の個数が増加
すれば処理時間が短縮される。
【0028】本発明の他のデータ処理方法は、上述した
データ処理方法を一つとして処理速度と求解の収束性と
が相反する関係の複数のデータ処理方法を用意してお
き、最初に収束性が最低で処理速度が最高の前記データ
処理方法に求解させ、求解する前記データ処理方法の反
復回数を検出し、反復回数が事前に設定された許容回数
を逸脱すると求解させる前記データ処理方法を収束性が
高く処理速度が低い前記データ処理方法に順次切り替え
るようにした。
【0029】従って、最初は収束性が低く処理速度が高
いデータ処理方法により求解が実行され、その反復回数
が多数となると収束性が高いデータ処理方法に順次切り
替えられるので、最終的には適正なデータ処理方法で求
解が実行される。
【0030】本発明の一の情報記憶媒体は、並列に動作
する複数のプロセッサを具備するコンピュータシステム
が読取自在なソフトウェアが格納されている情報記憶媒
体において、電子回路の記述データの入力を受け付ける
こと、入力された電子回路の記述データを分割して部分
回路の記述データを生成すること、部分回路の記述デー
タに対して次段のタイムポイントを決定すること、次段
のタイムポイントが決定された部分回路の記述データに
陰的積分公式とニュートン反復法とを適用して線形連立
方程式を生成すること、生成された線形連立方程式の縁
取ブロック対角化された係数行列の複数のブロックの各
々を複数の前記プロセッサに並列にILU分解させるこ
と、並列な複数のブロックのILU分解により個々に発
生した複数のフィルインを係数行列の結合部分に複数の
前記プロセッサに並列に加算させること、複数のフィル
インが加算された結合部分の複数の行集合の各々を複数
の前記プロセッサに並列にILU分解させること、線形
連立方程式の生成から行集合のILU分解までの動作を
解答が収束するまで反復させること、次段のタイムポイ
ントの決定から解答を収束させるまでの動作をタイムポ
イントが事前に設定された最終時間に到達するまで繰り
返させること、複数のタイムポイントでの解答をデータ
出力すること、を前記コンピュータシステムに実行させ
るためのプログラムが格納されている。
【0031】従って、この情報記憶媒体のプログラムを
コンピュータシステムが読み取って動作すると、このコ
ンピュータシステムは、電子回路の記述データの入力を
受け付け、入力された電子回路の記述データを分割して
部分回路の記述データを生成する。
【0032】つぎに、部分回路の記述データに対して次
段のタイムポイントを決定し、次段のタイムポイントが
決定された部分回路の記述データに陰的積分公式とニュ
ートン反復法とを適用して線形連立方程式を生成する。
この生成された線形連立方程式の縁取ブロック対角化さ
れた係数行列の複数のブロックの各々を複数のプロセッ
サに並列にILU分解させ、並列な複数のブロックのI
LU分解により個々に発生した複数のフィルインを複数
のプロセッサにより係数行列の結合部分に並列に加算す
る。
【0033】この複数のフィルインが加算された結合部
分の複数の行集合の各々を複数のプロセッサに並列にI
LU分解させ、線形連立方程式の生成から行集合のIL
U分解までの動作を解答が収束するまで反復させる。そ
して、次段のタイムポイントの決定から解答を収束させ
るまでの動作をタイムポイントが事前に設定された最終
時間に到達するまで繰り返し、複数のタイムポイントで
の解答をデータ出力することになる。
【0034】つまり、係数行列の複数のブロックのIL
U分解と、係数行列の結合部分に対する複数のフィルイ
ンの加算と、結合部分の複数の行集合のILU分解と
が、複数のプロセッサで各々並列に処理され、並列処理
の結果に対して逐次実行する処理が存在しないので、並
列処理の個数が増加すれば処理時間が短縮される。
【0035】なお、本発明で云う情報記憶媒体とは、コ
ンピュータシステムに各種処理を実行させるためのプロ
グラムが事前に格納されたものであれば良く、例えば、
コンピュータシステムに固定的に接続されているROM
(Read Only Memory)やHDD(Hard Disc Dri
ve)、コンピュータシステムに着脱自在に装填されるC
D(Compact Disc)−ROMやFD(Floppy Dis
c)、等を許容する。
【0036】本発明の他の情報記憶媒体は、並列に動作
する複数のプロセッサを具備するコンピュータシステム
が読取自在なニュートン反復法のソフトウェアが格納さ
れている情報記憶媒体であって、線形連立方程式の縁取
ブロック対角化された係数行列の複数のブロックの各々
を複数の前記プロセッサに並列にILU分解させるこ
と、並列な複数のブロックのILU分解により個々に発
生した複数のフィルインを係数行列の結合部分に複数の
前記プロセッサに並列に加算させること、複数のフィル
インが加算された結合部分の複数の行集合の各々を複数
の前記プロセッサに並列にILU分解させること、を前
記コンピュータシステムに実行させるためのプログラム
が格納されている。
【0037】従って、この情報記憶媒体のプログラムを
コンピュータシステムが読み取って動作すると、このコ
ンピュータシステムは、ニュートン反復法を実行すると
き、線形連立方程式の縁取ブロック対角化された係数行
列の複数のブロックの各々を複数のプロセッサに並列に
ILU分解させ、並列な複数のブロックのILU分解に
より個々に発生した複数のフィルインを複数のプロセッ
サにより係数行列の結合部分に並列に加算させ、この複
数のフィルインが加算された結合部分の複数の行集合の
各々を複数のプロセッサに並列にILU分解させる。
【0038】つまり、係数行列の複数のブロックのIL
U分解と、係数行列の結合部分に対する複数のフィルイ
ンの加算と、結合部分の複数の行集合のILU分解と
が、複数のプロセッサで各々並列に処理され、並列処理
の結果に対して逐次実行する処理が存在しないので、並
列処理の個数が増加すれば処理時間が短縮される。
【0039】
【発明の実施の形態】本発明の実施の一形態を図1ない
し図9を参照して以下に説明する。なお、本実施の形態
に関して前述した一従来例と同一の部分は、同一の名称
を使用して詳細な説明は省略する。図1は本実施の形態
のデータ処理装置の論理的構造を示す模式図、図2は物
理的構造を示すブロック図、図3は処理対象の電子回路
を示す回路図、図4は線形連立方程式の縁取ブロック対
角化された係数行列と各種処理との関係を示す模式図、
図5は並列に実行される各種処理の関係を示す模式図、
図6は本実施の形態のデータ処理方法を示すフローチャ
ート、図7はILU分解の処理方法を示すフローチャー
ト、図8は線形連立方程式の縁取ブロック対角化された
係数行列の一例を示す模式図、図9は並列処理される複
数のILU分解の依存関係を示す模式図である。
【0040】本実施の形態のデータ処理装置1は、いわ
ゆるコンピュータシステムからなり、図2に示すよう
に、コンピュータの主体としてメインプロセッサ101
を具備している。このメインプロセッサ101には、バ
スライン102により、メインメモリ103、キーボー
ド104、ディスプレイ105、HDD106、FD1
07が装填されるFDD(FD Drive)108、通信I
/F(Interface)109、複数のコプロセッサ110、
等が接続されている。前記メインプロセッサ101や前
記コプロセッサ110は、いわゆるマイクロコンピュー
タからなり、ROMやRAMが接続されたCPUからな
る。
【0041】本実施の形態のデータ処理装置1では、前
記プロセッサ101,110の内蔵ROMおよび内蔵R
AM、前記メインメモリ103、前記HDD106、前
記FD107、等が情報記憶媒体に相当し、これらに各
種動作に必要なプログラムやデータがソフトウェアとし
て記憶されている。例えば、前記プロセッサ101,1
10に各種の処理動作を実行させる制御プログラムは、
前記FD107に事前に書き込まれている。このような
ソフトウェアは前記HDD106に事前にインストール
されており、前記データ処理装置1の起動時に前記プロ
セッサ101,110の内蔵RAMに複写される。
【0042】このように前記プロセッサ101,110
が適正なプログラムに対応して各種の処理動作を実行す
ることにより、本実施の形態のデータ処理装置1には、
各種の機能が各種の手段として実現されている。つま
り、このような各種手段として、本実施の形態のデータ
処理装置1は、図1に示すように、データ入力手段1
1、データ分割手段12、ポイント決定手段13、方程
式生成手段14、複数のブロックILU手段15、複数
のフィルイン加算手段16、複数の行集合ILU手段1
7、解答収束手段18、動作繰返手段19、結果出力手
段20、等を具備している。
【0043】前記データ入力手段11は、例えば、その
内蔵RAM等に設定された制御プログラムに対応して動
作する前記メインプロセッサ101が、前記キーボード
104や前記通信I/F109の入力データを前記メイ
ンメモリ103に格納することなどにより、電子回路1
21の記述データの入力を受け付ける。このように入力
される記述データは、例えば、図3に示すような電子回
路121の、各種素子の関係を記述したデジタル情報の
データファイルからなり、前記プロセッサ101,11
0が読取可能である。
【0044】前記データ分割手段12は、例えば、前記
メインプロセッサ101が内蔵RAM等に設定された制
御プログラムに対応して所定のデータ処理を実行するこ
とにより、上述のように入力された電子回路121の記
述データを分割して部分回路122の記述データを生成
する。このような分割は事前に設定されたアルゴリズム
に基づいて実行され、例えば、図3に示すように、電子
回路121が四つの部分回路122に分割される。
【0045】以下同様に、前記メインプロセッサ101
が内蔵RAM等に設定された制御プログラムに対応して
所定のデータ処理を実行することにより、前記ポイント
決定手段13は、部分回路122の記述データに対して
次段のタイムポイントを決定する。このタイムポイント
は、電子回路121の連続する動作をサンプリングする
時刻を意味しており、事前に設定されたアルゴリズムに
基づいて適正に決定される。
【0046】前記方程式生成手段14は、次段のタイム
ポイントが決定された部分回路122の記述データに陰
的積分公式とニュートン反復法とを適用して線形連立方
程式を生成する。このように生成される線形連立方程式
は、図4に示すように、その一部として縁取ブロック対
角化された係数行列の複数のブロックを具備しており、
例えば、前記メインメモリ103に一時記憶されて前記
プロセッサ101,110に利用される。
【0047】以上の前記手段11〜14および後述する
前記手段18〜20のデータ処理は、一個の前記メイン
プロセッサ101により実行されるが、以下の前記手段
15〜17のデータ処理は、図5に示すように、複数の
前記コプロセッサ110により並列に実行される。つま
り、本実施の形態のデータ処理装置1では、複数の前記
コプロセッサ110の各々に一連の前記手段15〜17
が実現されている。
【0048】すなわち、複数の前記コプロセッサ110
が各々の内蔵RAM等に設定された制御プログラムに対
応して所定のデータ処理を並列に実行することにより、
複数の前記ブロックILU手段15は、生成された線形
連立方程式の縁取ブロック対角化された係数行列の複数
のブロックAi,Bi,Ciの各々を並列にILU分解す
る。
【0049】複数のフィルイン加算手段16は、並列な
複数のブロックAi,Bi,CiのILU分解により個々
に発生した複数のフィルインを係数行列の結合部分Dに
並列に加算し、前記行集合ILU手段17は、複数のフ
ィルインが加算された結合部分Dの複数の行集合の各々
を並列にILU分解する。
【0050】また、前記メインプロセッサ101が内蔵
RAM等に設定された制御プログラムに対応して所定の
データ処理を実行することにより、前記解答収束手段1
8は、前記方程式生成手段14と前記ブロックILU手
段15と前記フィルイン加算手段16と前記行集合IL
U手段17との動作を解答が収束するまで反復させる。
【0051】前記動作繰返手段19は、前記ポイント決
定手段13と前記方程式生成手段14と前記ブロックI
LU手段15と前記フィルイン加算手段16と前記行集
合ILU手段17と前記解答収束手段18との動作をタ
イムポイントが事前に設定された最終時間に到達するま
で繰り返させる。前記結果出力手段20は、例えば、そ
の内蔵RAM等に設定された制御プログラムに対応して
動作する前記メインプロセッサ101が、前記メインメ
モリ103の記憶データを前記ディスプレイ105や前
記通信I/F109にデータ出力させることなどによ
り、複数のタイムポイントでの解答をデータ出力する。
【0052】上述のような各種手段11〜20は、必要
により前記キーボード104や前記ディスプレイ105
等のハードウェアを利用して実現されるが、その主体は
前記プロセッサ101,110が内蔵RAM等に格納さ
れたソフトウェアに対応して動作することにより実現さ
れている。
【0053】このようなソフトウェアは、例えば、電子
回路121の記述データの前記通信I/F109等によ
る入力を受け付けること、入力された電子回路121の
記述データを分割して部分回路122の記述データを生
成すること、部分回路122の記述データに対して次段
のタイムポイントを決定すること、次段のタイムポイン
トが決定された部分回路122の記述データに陰的積分
公式とニュートン反復法とを適用して線形連立方程式を
生成すること、等のデータ処理を前記メインプロセッサ
101に実行させるための制御プログラム、生成された
線形連立方程式の縁取ブロック対角化された係数行列の
複数のブロックAi,Bi,Ci(i=1,2,…)の各々を
並列にILU分解させること、並列な複数のブロックA
i,Bi,CiのILU分解により個々に発生した複数の
フィルインを係数行列の結合部分Dに並列に加算させる
こと、複数のフィルインが加算された結合部分Dの複数
の行集合の各々を並列にILU分解させること、等のデ
ータ処理を複数の前記コプロセッサ110に並列に実行
させるための制御プログラム、線形連立方程式の生成か
ら行集合のILU分解までの動作を解答が収束するまで
反復させること、次段のタイムポイントの決定から解答
を収束させるまでの動作をタイムポイントが事前に設定
された最終時間に到達するまで繰り返させること、複数
のタイムポイントでの解答を前記通信I/F109等に
データ出力させること、等のデータ処理を前記メインプ
ロセッサ101に実行させるための制御プログラム、等
として前記プロセッサ101,110の各々の内蔵メモ
リ等の情報記憶媒体に格納されている。
【0054】上述のような構成において、本実施の形態
のデータ処理装置1によるデータ処理方法を以下に説明
する。図6に示すように、本実施の形態のデータ処理装
置1は、通信I/F109などに電子回路121の記述
データが入力されると(ステップS11)、図3に示すよ
うに、この入力された電子回路121の記述データをメ
インプロセッサ101のデータ処理により分割して部分
回路122の記述データを生成する(ステップS12)。
【0055】つぎに、メインプロセッサ101のデータ
処理により部分回路122の記述データに対して次段の
タイムポイントが決定され(ステップS13)、この次段
のタイムポイントが決定された部分回路122の記述デ
ータに陰的積分公式とニュートン反復法とが適用されて
線形連立方程式が生成される(ステップS14)。
【0056】このように生成された線形連立方程式の求
解が、図4および図5に示すように、複数のコプロセッ
サ110の各々のデータ処理により並列に実行される。
つまり、複数のコプロセッサ110の並列処理により、
上述のように縁取ブロック対角化された係数行列の複数
のブロックAi,Bi,Ciの各々が、並列にILU分解
され(ステップS51〜S65)、並列な複数のブロック
Ai,Bi,CiのILU分解により個々に発生した複数
のフィルインが係数行列の結合部分Dに並列に加算され
る(ステップS15)。
【0057】複数のフィルインが加算された結合部分D
の複数の行集合の各々が並列に、図7に示すようなデー
タ処理によりILU分解され(ステップS16)、このよ
うに並列に実行される線形連立方程式の求解が、その解
答が収束するまで繰り返される(ステップS17)。収束
した解答は、そのタイムポイントでの電子回路121の
動作を反映しているので、上述のような処理動作(ステ
ップS13〜S17)が、タイムポイントが事前に設定
された最終時間に到達するまで繰り返され(ステップS
18)、この複数のタイムポイントでの解答がデータ出
力される。
【0058】本実施の形態のデータ処理装置1のデータ
処理方法では、上述のように係数行列の複数のブロック
Ai,Bi,CiのILU分解と、係数行列の結合部分D
に対する複数のフィルインの加算と、結合部分Dの複数
の行集合のILU分解とが、複数のコプロセッサ110
のデータ処理により各々並列に処理され、この並列処理
の結果に対して逐次実行するような処理は存在しない。
このため、並列処理の個数を増加させることで処理時間
を短縮することができ、複数のコプロセッサ110を具
備することで大規模な電子回路121のシミュレーショ
ンを高速に実行することができる。
【0059】例えば、図8に示すように、非ゼロ要素を
有する有する係数行列の結合部に、四個の行集合ILU
手段17によりレベルL=2のILU分解を並列に実行
した場合、その各々の更新演算と相互の依存関係は図9
のようになる。もしも、これを逐次実行すると合計で九
回の更新演算の時間が必要となるが、本実施の形態のデ
ータ処理装置1のデータ処理方法によれば、ピボット行
の送信時間を無視すると五回の更新演算の時間で処理を
完了することができる。
【0060】実際の大規模な電子回路では結合部分Dの
行数は数百から数千に及ぶため、並列処理の個数に反比
例させて結合部分Dの処理時間を短縮することが可能で
ある。ただし、どんなに並列処理の個数を増加させて
も、図9に示すように、行毎のクリティカルパスの実行
時間より処理時間を短縮することはできないので、並列
処理の適切な個数は“逐次実行の所要時間÷クリティカ
ルパスの所要時間”程度である。
【0061】また、結合部分Dに対するILU分解の処
理時間を並列処理の個数に略反比例させて減少させるた
めには、図7に示したILU分解のデータ処理におい
て、ピボット行の放送(ステップS53)の所要時間が、
並列処理の個数に比例して増加せず一定である必要があ
るが、これは並列処理の個数が多数の場合には極めて困
難である。
【0062】そこで、上述のようなことが問題となる場
合には、ピボット行を送信元から受信先に順番に一対一
に通信することを繰り返す。つまり、最初に次のピボッ
ト行を保持する行集合ILU手段17に送信し、その
後、さらに次のピボット行を保持する行集合ILU手段
17に送信するというように、ピボット行を順番に送信
する(ステップS71〜S73)。
【0063】この場合、ピボット行の通信と数値の演算
処理とをオーバーラップさせることができるので、クリ
ティカルパスの実行時間の放送による増加量は、高速な
一対一通信の時間の“結合部分の行数−1”倍となり、
この時間は並列処理の個数nに関係なく一定である。
【0064】上述のような送信制御を簡単に実現するた
め、係数行列の結合部分を一行ずつ同一の順番で相違す
る行集合ILU手段17に割り当てる。例えば、行集合
ILU手段17が三個の場合、一行目、四行目、七行目
…は一番目の行集合ILU手段17に割り当て、二行
目、五行目、八行目…は二番目の行集合ILU手段17
に割り当て、三行目、六行目、九行目…は三番目の行集
合ILU手段17に割り当てる。
【0065】なお、本発明は上記形態に限定されるもの
ではなく、その要旨を逸脱しない範囲で各種の変形を許
容する。例えば、上記形態では並列に実行する複数のデ
ータ処理を複数のコプロセッサ110で実行し、並列に
実行しないデータ処理は一個のメインプロセッサ101
で実行することを例示したが、この並列に実行しないデ
ータ処理を複数のコプロセッサ110の一つに実行させ
るようにしてメインプロセッサ101を省略するような
ことも可能である。
【0066】また、上記形態では各プロセッサ101,
110が内蔵RAM等にソフトウェアとして格納された
制御プログラムに従って動作することにより、データ処
理装置1の各種手段11〜20が実現されることを例示
した。しかし、このような各種手段11〜20の各々を
固有のハードウェアとして形成することも可能であり、
一部をソフトウェアとして内蔵RAM等に格納するとと
もに一部をハードウェアとして形成するようなことも可
能である。
【0067】また、上記形態ではデータ処理装置1の起
動時にHDD106に事前に格納されているソフトウェ
アがプロセッサ101,110の内蔵RAMに複写さ
れ、このように内蔵RAMに格納されたソフトウェアを
プロセッサ101,110の内蔵CPUが読み取ること
を想定したが、このようなソフトウェアをHDD106
に格納したままプロセッサ101,110に利用させる
ことや、その内蔵ROMに事前に固定的に格納しておく
ことも可能である。
【0068】さらに、単体で取り扱える情報記憶媒体で
あるFD107等にソフトウェアを書き込んでおき、こ
のFD107等から内蔵RAM等にソフトウェアをイン
ストールすることも可能であるが、このようなインスト
ールを実行することなくFD107等からプロセッサ1
01,110がソフトウェアを直接に読み取って処理動
作を実行することも可能である。
【0069】つまり、本発明のデータ処理装置1の各種
手段11〜20をソフトウェアにより実現する場合、そ
のソフトウェアはプロセッサ101,110が読み取っ
て対応する動作を実行できる状態に有れば良い。また、
上述のような各種手段11〜20を実現する制御プログ
ラムを、複数のソフトウェアの組み合わせで形成するこ
とも可能であり、その場合、単体の製品となる情報記憶
媒体には、本発明のデータ処理装置を実現するための必
要最小限のソフトウェアのみを格納しておけば良い。
【0070】例えば、既存のオペレーティングシステム
が実装されているデータ処理装置1に、FD107等の
情報記憶媒体によりアプリケーションソフトを提供する
ような場合、本発明のデータ処理装置の各種手段を実現
するソフトウェアは、アプリケーションソフトとオペレ
ーティングシステムとの組み合わせで実現されるので、
オペレーティングシステムに依存する部分のソフトウェ
アは情報記憶媒体のアプリケーションソフトから省略す
ることができる。
【0071】さらに、電子回路をシミュレーションする
従来のアプリケーションソフトが事前に実装されたデー
タ処理装置が存在する場合、そのニュートン反復法の部
分のみをバージョンアップのアプリケーションソフトと
して供給するようなことも可能である。
【0072】その場合、FD107等の情報記憶媒体に
は、線形連立方程式の縁取ブロック対角化された係数行
列の複数のブロックAi,Bi,Ci(i=1,2,…)の各
々を並列にILU分解させること、並列な複数のブロッ
クAi,Bi,CiのILU分解により個々に発生した複
数のフィルインを係数行列の結合部分Dに並列に加算さ
せること、複数のフィルインが加算された結合部分Dの
複数の行集合の各々を並列にILU分解させること、等
のデータ処理を複数のコプロセッサ110に並列に実行
させるための制御プログラムのみがソフトウェアとして
格納されていれば良い。
【0073】また、このように情報記憶媒体に記述した
ソフトウェアをプロセッサ101,110に供給する手
法は、その情報記憶媒体をデータ処理装置1に直接に装
填することに限定されない。例えば、上述のようなソフ
トウェアをホストコンピュータの情報記憶媒体に格納し
ておき、このホストコンピュータを通信ネットワークで
端末コンピュータに接続し、ホストコンピュータから端
末コンピュータにデータ通信でソフトウェアを供給する
ことも可能である。
【0074】上述のような場合、端末コンピュータが自
信の情報記憶媒体にソフトウェアをダウンロードした状
態でスタンドアロンの処理動作を実行することも可能で
あるが、ソフトウェアをダウンロードすることなくホス
トコンピュータとのリアルタイムのデータ通信により処
理動作を実行することも可能である。この場合、ホスト
コンピュータと端末コンピュータとを通信ネットワーク
で接続したシステム全体が、本発明のデータ処理装置に
相当することになる。
【0075】つぎに、本発明の実施の第二の形態を図1
0を参照して以下に説明する。なお、この実施の第二の
形態に関して上述した実施の第一の形態と同一の部分
は、同一の名称および符号を使用して詳細な説明は省略
する。なお、同図は本実施の形態のデータ処理装置のデ
ータ処理方法を示すフローチャートである。
【0076】本実施の形態のデータ処理装置(図示せ
ず)は、複数のデータ処理手段、処理選択手段、回数検
出手段、処理切替手段、等を具備している。複数の前記
データ処理手段は、前述した実施の第一の形態のデータ
処理装置1を一つとし、処理速度と求解の収束性とが相
反する関係の複数のデータ処理装置からなる。
【0077】より詳細には、回路の動作をシミュレーシ
ョンする各種の解法は、一般的に処理速度が高いと求解
の収束性が低く、収束性が高いと処理速度が低い。そこ
で、本実施の形態のデータ処理装置では、例えば、解法
の種類Pmaxが三つの場合、処理速度が最低で求解の収
束性が最高の解法を第一のデータ処理手段に設定し、処
理速度が最高で求解の収束性が最低の解法を第三のデー
タ処理手段に設定する。
【0078】より具体的には、SOLVER(1)のデータ処理
手段はガウス消去法(直接法)で解法のデータ処理を実行
し、前述のデータ処理装置1に相当するSOLVER(2)のデ
ータ処理手段はILU(4)の前処理付きBi−CGST
AB法(反復法)で解法のデータ処理を実行し、SOLVER
(3)のデータ処理手段はガウス・ザイデル法(反復法)で
解法のデータ処理を実行するように設定する。
【0079】なお、本実施の形態のデータ処理装置で
は、三つのデータ処理手段でニュートン方程式の作成ま
では共通しており、このニュートン方程式の求解が三つ
のデータ処理手段で切り替えられる。
【0080】前記処理選択手段は、最初に収束性が最低
で処理速度が最高のデータ処理手段に求解させ、前記回
数検出手段は、求解するデータ処理手段の反復回数を検
出する。前記処理切替手段は、反復回数が事前に設定さ
れた許容回数を逸脱すると、求解させるデータ処理手段
を収束性が高く処理速度が低いデータ処理手段に順次切
り替える。
【0081】上述のような構成において、本実施の形態
のデータ処理装置のデータ処理方法では、図面に示すよ
うに、最初にニュートン方程式が作成され(ステップS
92)、このニュートン方程式が、最初に収束性が最低
で処理速度が最高のSOLVER(3)で求解される(ステップ
S93)。この求解での反復回数が検出され(ステップS
96)、この反復回数が事前に設定された許容回数を逸
脱すると(ステップS97)、求解するSOLVER(p)が収束
性が高く処理速度が低いSOLVER(p−1)に順次切り替え
られる。
【0082】本実施の形態のデータ処理装置1のデータ
処理方法によると、最初は収束性が低く処理速度が高い
解法で求解が実行され、その反復回数が多数となると収
束性が高い解法に順次切り替えられるので、最終的に最
適な解法で求解を実行することができる。
【0083】
【発明の効果】本発明は以上説明したように構成されて
いるので、以下に記載するような効果を奏する。
【0084】請求項1記載の発明のデータ処理装置は、
電子回路の記述データの入力を受け付けるデータ入力手
段と、入力された電子回路の記述データを分割して部分
回路の記述データを生成するデータ分割手段と、部分回
路の記述データに対して次段のタイムポイントを決定す
るポイント決定手段と、次段のタイムポイントが決定さ
れた部分回路の記述データに陰的積分公式とニュートン
反復法とを適用して線形連立方程式を生成する方程式生
成手段と、生成された線形連立方程式の縁取ブロック対
角化された係数行列の複数のブロックの各々を並列にI
LU分解する複数のブロックILU手段と、並列な複数
のブロックのILU分解により個々に発生した複数のフ
ィルインを係数行列の結合部分に並列に加算する複数の
フィルイン加算手段と、複数のフィルインが加算された
結合部分の複数の行集合の各々を並列にILU分解する
行集合ILU手段と、前記方程式生成手段と前記ブロッ
クILU手段と前記フィルイン加算手段と前記行集合I
LU手段との動作を解答が収束するまで反復させる解答
収束手段と、前記ポイント決定手段と前記方程式生成手
段と前記ブロックILU手段と前記フィルイン加算手段
と前記行集合ILU手段と前記解答収束手段との動作を
タイムポイントが事前に設定された最終時間に到達する
まで繰り返させる動作繰返手段と、複数のタイムポイン
トでの解答をデータ出力する結果出力手段と、を具備し
ていることにより、係数行列の複数のブロックのILU
分解と、係数行列の結合部分に対する複数のフィルイン
の加算と、結合部分の複数の行集合のILU分解とを、
各々並列に処理することができ、並列処理の結果に対し
て逐次実行する処理が存在しないので、並列処理の個数
の増加により処理時間を短縮することができ、大規模な
電子回路を高速にシミュレーションすることができる。
【0085】請求項2記載の発明は、請求項1記載のデ
ータ処理装置であって、並列に動作する複数のプロセッ
サを具備しており、これらのプロセッサの各々がブロッ
クILU手段とフィルイン加算手段と行集合ILU手段
として機能することにより、係数行列の複数のブロック
のILU分解と、係数行列の結合部分に対する複数のフ
ィルインの加算と、結合部分の複数の行集合のILU分
解とを、複数のプロセッサにより各々並列に実行するこ
とができる。
【0086】請求項3記載の発明のデータ処理装置は、
請求項1記載のデータ処理装置を一つとする処理速度と
求解の収束性とが相反する関係の複数のデータ処理手段
と、最初に収束性が最低で処理速度が最高の前記データ
処理手段に求解させる処理選択手段と、求解する前記デ
ータ処理手段の反復回数を検出する回数検出手段と、反
復回数が事前に設定された許容回数を逸脱すると求解さ
せる前記データ処理手段を収束性が高く処理速度が低い
前記データ処理手段に順次切り替える処理切替手段と、
を具備していることにより、最初は収束性が低く処理速
度が高いデータ処理手段により求解が実行され、その反
復回数が多数となると収束性が高いデータ処理手段に順
次切り替えられるので、最終的に最適なデータ処理手段
で求解を実行することができる。
【0087】請求項4記載の発明のデータ処理方法は、
電子回路の記述データの入力を受け付け、入力された電
子回路の記述データを分割して部分回路の記述データを
生成し、部分回路の記述データに対して次段のタイムポ
イントを決定し、次段のタイムポイントが決定された部
分回路の記述データに陰的積分公式とニュートン反復法
とを適用して線形連立方程式を生成し、生成された線形
連立方程式の縁取ブロック対角化された係数行列の複数
のブロックの各々を並列にILU分解し、並列な複数の
ブロックのILU分解により個々に発生した複数のフィ
ルインを係数行列の結合部分に並列に加算し、複数のフ
ィルインが加算された結合部分の複数の行集合の各々を
並列にILU分解し、線形連立方程式の生成から行集合
のILU分解までの動作を解答が収束するまで反復さ
せ、次段のタイムポイントの決定から解答を収束させる
までの動作をタイムポイントが事前に設定された最終時
間に到達するまで繰り返し、複数のタイムポイントでの
解答をデータ出力するようにしたことにより、係数行列
の複数のブロックのILU分解と、係数行列の結合部分
に対する複数のフィルインの加算と、結合部分の複数の
行集合のILU分解とを、各々並列に処理することがで
き、並列処理の結果に対して逐次実行する処理が存在し
ないので、並列処理の個数の増加により処理時間を短縮
することができ、大規模な電子回路を高速にシミュレー
ションすることができる。
【0088】請求項5記載の発明のデータ処理方法は、
請求項4記載のデータ処理方法を一つとして処理速度と
求解の収束性とが相反する関係の複数のデータ処理方法
を用意しておき、最初に収束性が最低で処理速度が最高
の前記データ処理方法に求解させ、求解する前記データ
処理方法の反復回数を検出し、反復回数が事前に設定さ
れた許容回数を逸脱すると求解させる前記データ処理方
法を収束性が高く処理速度が低い前記データ処理方法に
順次切り替えるようにしたことにより、最初は収束性が
低く処理速度が高いデータ処理手段により求解が実行さ
れ、その反復回数が多数となると収束性が高いデータ処
理手段に順次切り替えられるので、最終的に最適なデー
タ処理手段で求解を実行することができる。
【0089】請求項6記載の発明の情報記憶媒体は、並
列に動作する複数のプロセッサを具備するコンピュータ
システムが読取自在なソフトウェアが格納されている情
報記憶媒体において、電子回路の記述データの入力を受
け付けること、入力された電子回路の記述データを分割
して部分回路の記述データを生成すること、部分回路の
記述データに対して次段のタイムポイントを決定するこ
と、次段のタイムポイントが決定された部分回路の記述
データに陰的積分公式とニュートン反復法とを適用して
線形連立方程式を生成すること、生成された線形連立方
程式の縁取ブロック対角化された係数行列の複数のブロ
ックの各々を複数の前記プロセッサに並列にILU分解
させること、並列な複数のブロックのILU分解により
個々に発生した複数のフィルインを係数行列の結合部分
に複数の前記プロセッサに並列に加算させること、複数
のフィルインが加算された結合部分の複数の行集合の各
々を複数の前記プロセッサに並列にILU分解させるこ
と、線形連立方程式の生成から行集合のILU分解まで
の動作を解答が収束するまで反復させること、次段のタ
イムポイントの決定から解答を収束させるまでの動作を
タイムポイントが事前に設定された最終時間に到達する
まで繰り返させること、複数のタイムポイントでの解答
をデータ出力すること、を前記コンピュータシステムに
実行させるためのプログラムが格納されていることによ
り、この情報記憶媒体のプログラムをコンピュータシス
テムが読み取って動作すると、このコンピュータシステ
ムは、係数行列の複数のブロックのILU分解と、係数
行列の結合部分に対する複数のフィルインの加算と、結
合部分の複数の行集合のILU分解とを、各々並列に処
理することができ、並列処理の結果に対して逐次実行す
る処理が存在しないので、並列処理の個数の増加により
処理時間を短縮することができ、大規模な電子回路を高
速にシミュレーションすることができる。
【0090】請求項7記載の発明の情報記憶媒体は、並
列に動作する複数のプロセッサを具備するコンピュータ
システムが読取自在なニュートン反復法のソフトウェア
が格納されている情報記憶媒体であって、線形連立方程
式の縁取ブロック対角化された係数行列の複数のブロッ
クの各々を複数の前記プロセッサに並列にILU分解さ
せること、並列な複数のブロックのILU分解により個
々に発生した複数のフィルインを係数行列の結合部分に
複数の前記プロセッサに並列に加算させること、複数の
フィルインが加算された結合部分の複数の行集合の各々
を複数の前記プロセッサに並列にILU分解させるこ
と、を前記コンピュータシステムに実行させるためのプ
ログラムが格納されていることにより、この情報記憶媒
体のプログラムをコンピュータシステムが読み取って動
作すると、このコンピュータシステムは、係数行列の複
数のブロックのILU分解と、係数行列の結合部分に対
する複数のフィルインの加算と、結合部分の複数の行集
合のILU分解とを、各々並列に処理することができ、
並列処理の結果に対して逐次実行する処理が存在しない
ので、並列処理の個数の増加により処理時間を短縮する
ことができ、大規模な電子回路を高速にシミュレーショ
ンすることができる。
【図面の簡単な説明】
【図1】本発明の実施の一形態のデータ処理装置の論理
的構造を示す模式図である。
【図2】データ処理装置の物理的構造を示すブロック図
である。
【図3】シミュレーションする電子回路を示す回路図で
ある。
【図4】線形連立方程式の縁取ブロック対角化された係
数行列と各種処理との関係を示す模式図である。
【図5】並列に実行される各種処理の関係を示す模式図
である。
【図6】本実施の形態のデータ処理方法を示すフローチ
ャートである。
【図7】ILU分解の処理方法を示すフローチャートで
ある。
【図8】線形連立方程式の縁取ブロック対角化された係
数行列の一例を示す模式図である。
【図9】並列処理される複数のILU分解の依存関係を
示す模式図である。
【図10】本発明の実施の第二の形態のデータ処理装置
のデータ処理方法を示すフローチャートである。
【図11】ニュートン反復法のデータ処理方法を示すフ
ローチャートである。
【図12】線形連立方程式の縁取ブロック対角化された
係数行列を示す模式図である。
【図13】一従来例の各種処理の関係を示す模式図であ
る。
【符号の説明】
1 データ処理装置(コンピュータシステム) 11 データ入力手段 12 データ分割手段 13 ポイント決定手段 14 方程式生成手段 15 ブロックILU手段 16 フィルイン加算手段 17 行集合ILU手段 18 解答収束手段 19 動作繰返手段 20 結果出力手段 101 メインプロセッサ 102 バスライン 103 情報記憶媒体であるメインメモリ 104 キーボード 105 ディスプレイ 106 情報記憶媒体であるHDD 107 情報記憶媒体であるFD 108 FDD 109 通信I/F 110 コプロセッサ 121 電子回路 122 部分回路
フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G06F 17/50 G06F 17/12 JICSTファイル(JOIS)

Claims (7)

    (57)【特許請求の範囲】
  1. 【請求項1】 電子回路の記述データの入力を受け付け
    るデータ入力手段と、 入力された電子回路の記述データを分割して部分回路の
    記述データを生成するデータ分割手段と、 部分回路の記述データに対して次段のタイムポイントを
    決定するポイント決定手段と、 次段のタイムポイントが決定された部分回路の記述デー
    タに陰的積分公式とニュートン反復法とを適用して線形
    連立方程式を生成する方程式生成手段と、 生成された線形連立方程式の縁取ブロック対角化された
    係数行列の複数のブロックの各々を並列にILU(Inco
    mplete Lower/Upper factorization)分解する複数
    のブロックILU手段と、 並列な複数のブロックのILU分解により個々に発生し
    た複数のフィルインを係数行列の結合部分に並列に加算
    する複数のフィルイン加算手段と、 複数のフィルインが加算された結合部分の複数の行集合
    の各々を並列にILU分解する行集合ILU手段と、 前記方程式生成手段と前記ブロックILU手段と前記フ
    ィルイン加算手段と前記行集合ILU手段との動作を解
    答が収束するまで反復させる解答収束手段と、 前記ポイント決定手段と前記方程式生成手段と前記ブロ
    ックILU手段と前記フィルイン加算手段と前記行集合
    ILU手段と前記解答収束手段との動作をタイムポイン
    トが事前に設定された最終時間に到達するまで繰り返さ
    せる動作繰返手段と、 複数のタイムポイントでの解答をデータ出力する結果出
    力手段と、を具備していることを特徴とするデータ処理
    装置。
  2. 【請求項2】 並列に動作する複数のプロセッサを具備
    しており、これらのプロセッサの各々がブロックILU
    手段とフィルイン加算手段と行集合ILU手段として機
    能することを特徴とする請求項1記載のデータ処理装
    置。
  3. 【請求項3】 請求項1記載のデータ処理装置を一つと
    する処理速度と求解の収束性とが相反する関係の複数の
    データ処理手段と、 最初に収束性が最低で処理速度が最高の前記データ処理
    手段に求解させる処理選択手段と、 求解する前記データ処理手段の反復回数を検出する回数
    検出手段と、 反復回数が事前に設定された許容回数を逸脱すると求解
    させる前記データ処理手段を収束性が高く処理速度が低
    い前記データ処理手段に順次切り替える処理切替手段
    と、を具備していることを特徴とするデータ処理装置。
  4. 【請求項4】 電子回路の記述データの入力を受け付
    け、 入力された電子回路の記述データを分割して部分回路の
    記述データを生成し、 部分回路の記述データに対して次段のタイムポイントを
    決定し、 次段のタイムポイントが決定された部分回路の記述デー
    タに陰的積分公式とニュートン反復法とを適用して線形
    連立方程式を生成し、 生成された線形連立方程式の縁取ブロック対角化された
    係数行列の複数のブロックの各々を並列にILU分解
    し、 並列な複数のブロックのILU分解により個々に発生し
    た複数のフィルインを係数行列の結合部分に並列に加算
    し、 複数のフィルインが加算された結合部分の複数の行集合
    の各々を並列にILU分解し、 線形連立方程式の生成から行集合のILU分解までの動
    作を解答が収束するまで反復させ、 次段のタイムポイントの決定から解答を収束させるまで
    の動作をタイムポイントが事前に設定された最終時間に
    到達するまで繰り返し、 複数のタイムポイントでの解答をデータ出力するように
    したことを特徴とするデータ処理方法。
  5. 【請求項5】 請求項4記載のデータ処理方法を一つと
    して処理速度と求解の収束性とが相反する関係の複数の
    データ処理方法を用意しておき、 最初に収束性が最低で処理速度が最高の前記データ処理
    方法に求解させ、 求解する前記データ処理方法の反復回数を検出し、 反復回数が事前に設定された許容回数を逸脱すると求解
    させる前記データ処理方法を収束性が高く処理速度が低
    い前記データ処理方法に順次切り替えるようにしたこと
    を特徴とするデータ処理方法。
  6. 【請求項6】 並列に動作する複数のプロセッサを具備
    するコンピュータシステムが読取自在なソフトウェアが
    格納されている情報記憶媒体において、 電子回路の記述データの入力を受け付けること、 入力された電子回路の記述データを分割して部分回路の
    記述データを生成すること、 部分回路の記述データに対して次段のタイムポイントを
    決定すること、 次段のタイムポイントが決定された部分回路の記述デー
    タに陰的積分公式とニュートン反復法とを適用して線形
    連立方程式を生成すること、 生成された線形連立方程式の縁取ブロック対角化された
    係数行列の複数のブロックの各々を複数の前記プロセッ
    サに並列にILU分解させること、 並列な複数のブロックのILU分解により個々に発生し
    た複数のフィルインを係数行列の結合部分に複数の前記
    プロセッサに並列に加算させること、 複数のフィルインが加算された結合部分の複数の行集合
    の各々を複数の前記プロセッサに並列にILU分解させ
    ること、 線形連立方程式の生成から行集合のILU分解までの動
    作を解答が収束するまで反復させること、 次段のタイムポイントの決定から解答を収束させるまで
    の動作をタイムポイントが事前に設定された最終時間に
    到達するまで繰り返させること、 複数のタイムポイントでの解答をデータ出力すること、
    を前記コンピュータシステムに実行させるためのプログ
    ラムが格納されていることを特徴とする情報記憶媒体。
  7. 【請求項7】 並列に動作する複数のプロセッサを具備
    するコンピュータシステムが読取自在なニュートン反復
    法のソフトウェアが格納されている情報記憶媒体であっ
    て、 線形連立方程式の縁取ブロック対角化された係数行列の
    複数のブロックの各々を複数の前記プロセッサに並列に
    ILU分解させること、 並列な複数のブロックのILU分解により個々に発生し
    た複数のフィルインを係数行列の結合部分に複数の前記
    プロセッサに並列に加算させること、 複数のフィルインが加算された結合部分の複数の行集合
    の各々を複数の前記プロセッサに並列にILU分解させ
    ること、を前記コンピュータシステムに実行させるため
    のプログラムが格納されていることを特徴とする情報記
    憶媒体。
JP9143955A 1997-06-02 1997-06-02 データ処理装置および方法、情報記憶媒体 Expired - Fee Related JP2959525B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP9143955A JP2959525B2 (ja) 1997-06-02 1997-06-02 データ処理装置および方法、情報記憶媒体
US09/089,163 US6144932A (en) 1997-06-02 1998-06-02 Simulation device and its method for simulating operation of large-scale electronic circuit by parallel processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9143955A JP2959525B2 (ja) 1997-06-02 1997-06-02 データ処理装置および方法、情報記憶媒体

Publications (2)

Publication Number Publication Date
JPH10334129A JPH10334129A (ja) 1998-12-18
JP2959525B2 true JP2959525B2 (ja) 1999-10-06

Family

ID=15350947

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9143955A Expired - Fee Related JP2959525B2 (ja) 1997-06-02 1997-06-02 データ処理装置および方法、情報記憶媒体

Country Status (2)

Country Link
US (1) US6144932A (ja)
JP (1) JP2959525B2 (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW388921B (en) * 1997-11-28 2000-05-01 Nippon Electric Co Semiconductor process device simulation method and storage medium storing simulation program
US6601025B1 (en) * 1999-08-10 2003-07-29 International Business Machines Corporation Method to partition the physical design of an integrated circuit for electrical simulation
US7337437B2 (en) * 1999-12-01 2008-02-26 International Business Machines Corporation Compiler optimisation of source code by determination and utilization of the equivalence of algebraic expressions in the source code
JP3768375B2 (ja) 2000-04-04 2006-04-19 Necエレクトロニクス株式会社 計算装置および電子回路シミュレーション装置
US7043510B1 (en) * 2000-06-20 2006-05-09 International Business Machines Corporation Determining the equivalence of two sets of simultaneous linear algebraic equations
US8176108B2 (en) * 2000-06-20 2012-05-08 International Business Machines Corporation Method, apparatus and computer program product for network design and analysis
US20080097730A1 (en) * 2000-09-29 2008-04-24 Canning Francis X Sparse and efficient block factorization for interaction data
JP3809062B2 (ja) * 2000-11-21 2006-08-16 富士通株式会社 マルチレベル不完全ブロック分解による前処理を行う処理装置
JP3639206B2 (ja) * 2000-11-24 2005-04-20 富士通株式会社 共有メモリ型スカラ並列計算機における並列行列処理方法、及び記録媒体
US7310779B2 (en) 2003-06-26 2007-12-18 International Business Machines Corporation Method for creating and selecting active regions on physical documents
US7171544B2 (en) * 2003-12-15 2007-01-30 International Business Machines Corporation Run-time parallelization of loops in computer programs by access patterns
US7302375B2 (en) * 2004-08-30 2007-11-27 Synopsys, Inc. Simulation of processes, devices and circuits by a modified newton method
JP4311741B2 (ja) * 2004-12-15 2009-08-12 キヤノン株式会社 情報処理装置、情報処理方法
JP4727480B2 (ja) * 2006-03-29 2011-07-20 株式会社ソニー・コンピュータエンタテインメント 情報処理方法、情報処理システム、情報処理装置、マルチプロセッサ、情報処理プログラム及び情報処理プログラムを記憶したコンピュータ読み取り可能な記憶媒体
US20080208553A1 (en) * 2007-02-27 2008-08-28 Fastrack Design, Inc. Parallel circuit simulation techniques
EP2257874A4 (en) * 2008-03-27 2013-07-17 Rocketick Technologies Ltd DESIGN SIMULATION ON THE BASIS OF PARALLEL PROCESSORS
JP5733860B2 (ja) * 2008-07-10 2015-06-10 ロケティック テクノロジーズ リミテッド 依存問題の効率的並列計算
US9032377B2 (en) 2008-07-10 2015-05-12 Rocketick Technologies Ltd. Efficient parallel computation of dependency problems
US8302076B2 (en) * 2008-11-12 2012-10-30 Landmark Graphics Corporation Systems and methods for improved parallel ILU factorization in distributed sparse linear systems
US8312399B2 (en) * 2009-10-22 2012-11-13 Texas Instruments Incorporated Method and system for generating partitioned matrices for parallel circuit simulation
US9063882B1 (en) * 2010-09-09 2015-06-23 Sas Ip, Inc. Matrix preconditioners for simulations of physical fields
US9128748B2 (en) * 2011-04-12 2015-09-08 Rocketick Technologies Ltd. Parallel simulation using multiple co-simulators
US9052703B2 (en) * 2012-02-02 2015-06-09 Emerson Process Management Power & Water Solutions, Inc. Enhanced sequential method for solving pressure/flow network parameters in a real-time distributed industrial process simulation system
CN105849717A (zh) 2014-01-31 2016-08-10 兰德马克绘图国际公司 灵活块ilu因式分解
CN117077607A (zh) * 2023-07-26 2023-11-17 南方科技大学 大规模线性电路仿真方法、系统、电路仿真器及存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69232431T2 (de) * 1991-07-12 2002-09-19 Matsushita Electric Ind Co Ltd Vorrichtung zur Lösung von linearen Gleichungssystem
US5369594A (en) * 1992-06-18 1994-11-29 International Business Machines Corporation Conjugate gradient method in computer-aided circuit design
US5313398A (en) * 1992-07-23 1994-05-17 Carnegie Mellon University Method and apparatus for simulating a microelectronic circuit
GB9302450D0 (en) * 1993-02-08 1993-03-24 Ibm Cumputer aided design system
US5442569A (en) * 1993-06-23 1995-08-15 Oceanautes Inc. Method and apparatus for system characterization and analysis using finite element methods
JP3645346B2 (ja) * 1996-01-22 2005-05-11 富士通株式会社 論理シミュレーション装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
情報処理学会研究報告,vol.96,no.22(HPC−60),p25−30,須田礼仁ほか,「強制疎化LU分解法による回路シミュレーション」

Also Published As

Publication number Publication date
US6144932A (en) 2000-11-07
JPH10334129A (ja) 1998-12-18

Similar Documents

Publication Publication Date Title
JP2959525B2 (ja) データ処理装置および方法、情報記憶媒体
US9009690B1 (en) Code generation
Vuillemin et al. Programmable active memories: Reconfigurable systems come of age
US6718520B1 (en) Method and apparatus for selectively providing hierarchy to a circuit design
JP3921367B2 (ja) データ処理装置および方法、コンピュータプログラム、情報記憶媒体、並列演算装置、データ処理システム
JP3027009B2 (ja) 設計取り込みシステム
US5862361A (en) Sliced synchronous simulation engine for high speed simulation of integrated circuit behavior
Vahid et al. Incremental hardware estimation during hardware/software functional partitioning
WO2004023325A1 (en) Polymorphic computational system and method
US5960182A (en) Hardware-software co-simulation system, hardware-software co-simulation method, and computer-readable memory containing a hardware-software co-simulation program
JPH10171847A (ja) エミュレーションとシミュレーションを用いた設計検証のための方法および装置
Bergmann A case study of the FIRST silicon compiler
JP2001249824A (ja) 論理エミュレーションプロセッサおよびそのモジュールユニット
US6748573B2 (en) Apparatus and method for removing effects of phase abstraction from a phase abstracted trace
US8578306B2 (en) Method and apparatus for performing asynchronous and synchronous reset removal during synthesis
JP2001290796A (ja) 行列リオーダリング方法及び装置並びに電子回路シミュレーション方法及び装置
Witschen et al. MUSCAT: MUS-based circuit approximation technique
Ramani et al. Coin-flipping, ball-dropping, and grass-hopping for generating random graphs from matrices of edge probabilities
CN113902112A (zh) 硬件计算模拟方法、系统及计算机可读存储介质
Shirazi et al. Framework and tools for run-time reconfigurable designs
Kearfott GlobSol: History, composition, and advice on use
JP2002269162A (ja) 動作合成方法
JP3212709B2 (ja) ロジックシミュレーション装置
JP2508620B2 (ja) 論理回路シミュレ―ション装置
JP2004013227A (ja) シミュレーション装置並びにシミュレーションモデル生成プログラム

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070730

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080730

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090730

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees