(57)【要約】【課題】電磁界解析および回路解析を連携させた融合解析における解析時間を短縮すること。【解決手段】電子回路解析プログラムは、解析対象空間を格子状に区切ってできた各セルをＣＰＵ（１）〜ＣＰＵ（３）のいずれかに割り当てて電磁界解析および回路解析を実行させる。区切り工程では、解析対象空間１００を格子状に区切って複数のセルにする。割当工程では、区切り工程によって区切られた各セルのうちの、回路解析の解析単位となるＬＳＩ１に対応する複数の回路セルを、ＣＰＵ（１）〜ＣＰＵ（３）のうちの同一のＣＰＵに割り当てる。解析工程では、割当工程による割り当てに基づいて、ＣＰＵ（１）〜ＣＰＵ（３）の並列処理による各セルの電磁界解析および回路解析を実行する。【選択図】図１
2009064096.tif 000002
【特許請求の範囲】
【請求項１】
電磁界解析および回路解析を実行させる電子回路解析プログラムにおいて、
解析対象空間を所定領域に区切って複数のセルにする区切り工程と、
前記区切り工程によって区切られた各セルのうちの、前記回路解析の解析単位となる回路素子に対応する複数の回路セルを、複数の計算手段のうちの同一の計算手段に割り当てる割当工程と、
前記割当工程による割り当てに基づいて、前記複数の計算手段による前記各セルの電磁界解析および回路解析を実行する解析工程と、
をコンピュータに実行させることを特徴とする電子回路解析プログラム。
【請求項２】
前記複数の計算手段は、複数の第１計算手段と、第２計算手段と、を含み、
前記割当工程は、
前記複数の第１計算手段にそれぞれ対応した複数のセルブロックに前記各セルをブロック化するブロック化工程と、
前記複数の回路セルを前記第２計算手段に割り当てる第１割当工程と、
前記各セルのうちの前記第２計算手段に割り当てていないセルを、前記複数の第１計算手段のうちの、前記ブロック化工程によってブロック化されたセルブロックが対応する第１計算手段に割り当てる第２割当工程と、
を含むことを特徴とする請求項１に記載の電子回路解析プログラム。
【請求項３】
前記第１割当工程では、前記各セルのうちの、前記回路セルを中心として前記回路セルの領域を所定のセル数だけ拡張した回路セル領域に含まれるセルを前記第２計算手段に割り当てることを特徴とする請求項２に記載の電子回路解析プログラム。
【請求項４】
前記第１割当工程では、前記回路セル領域に含まれるセルのうちの、前記回路セルが属するセルブロックとは異なるセルブロックに属するセルの領域を前記回路セル領域から除外することを特徴とする請求項３に記載の電子回路解析プログラム。
【請求項５】
前記第１割当工程において、前記計算手段の性能と前記複数の計算手段の間の通信性能に基づいて、前記所定のセル数を拡張することを特徴とする請求項３に記載の電子回路解析プログラム。
【請求項６】
電磁界解析および回路解析を実行する電子回路解析装置において、
解析対象空間を所定領域に区切って複数のセルにする区切り手段と、
前記区切り手段によって区切られた各セルのうちの、前記回路解析の解析単位となる回路素子に対応する複数の回路セルを、複数の計算手段のうちの同一の計算手段に割り当てる割当手段と、
前記割当手段による割り当てに基づいて、前記各セルの電磁界解析および前記電磁界解析と連携した回路解析を実行する複数の計算手段と、
を備えることを特徴とする電子回路解析装置。
【請求項７】
電磁界解析および回路解析を実行する電子回路解析方法において、
解析対象空間を所定領域に区切って複数のセルにする区切り工程と、
前記区切り工程によって区切られた各セルのうちの、前記回路解析の解析単位となる回路素子に対応する複数の回路セルを、複数の計算手段のうちの同一の計算手段に割り当てる割当工程と、
前記割当工程による割り当てに基づいて、前記複数の計算手段による前記各セルの電磁界解析および前記電磁界解析と連携した回路解析を実行する解析工程と、
を含むことを特徴とする電子回路解析方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、電磁界解析および回路解析を連携させた融合解析を実行する電子回路解析プログラム、電子回路解析装置および電子回路解析方法に関する。
【背景技術】
【０００２】
電磁波の過渡的な挙動をシミュレーションする電磁界解析の一手法であるＦＤＴＤ（Ｆｉｎｉｔｅ  Ｄｉｆｆｅｒｅｎｃｅ  Ｔｉｍｅ  Ｄｏｍａｉｎ）法は、時間領域でマックスウェル方程式を解く手法であり、空間を分割することによって並列処理を比較的容易かつ効率的に行うことができる。
【０００３】
このため、性能の良い電磁界解析の並列処理プログラムが実現可能である。しかも、プリント基板などのような複雑な配線パターンが存在する物体をＦＤＴＤ法で解析するためには膨大なデータの計算が必要になるため、複数のＣＰＵを使用した並列処理は非常に有効である（たとえば、下記特許文献１参照。）。
【０００４】
また、精度の良い解析を行うためにはプリント基板上に配置されたＬＳＩなどの回路素子の動作を、ＳＰＩＣＥ（Ｓｉｍｕｌａｔｉｏｎ  Ｐｒｏｇｒａｍ  ｗｉｔｈ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ  Ｅｍｐｈａｓｉｓ）などの回路解析プログラムを使用して電磁界解析と同時に解析する融合解析が必要である。
【０００５】
ＦＤＴＤ法を用いた電磁界解析と回路解析を融合させるためには、ＦＤＴＤ法のセルに回路の外部端子を割り当て（このセルを回路セルと呼ぶ）、回路セルの電界と磁界を回路端子に接続した等価回路の電圧と電流に対応させることで、リアルタイムに電磁界解析と回路解析を連携させる手法が知られている（たとえば、下記特許文献２参照。）。
【０００６】
図１５は、並列処理によるＦＤＴＤ法と回路解析の融合解析を示すフローチャートである。まず、解析対象空間を複数のセルに区切り、各セルの電磁界解析を複数のＣＰＵに分割して割り当て、回路セルの回路解析をさらに他のＣＰＵに割り当てる（ステップＳ１５０１）。つぎに、電磁界解析の初期化を行う（ステップＳ１５０２）。つぎに、電界Ｅの計算および境界磁界Ｈの交換を行う（ステップＳ１５０３）。つぎに、時刻をΔｔ／２進める（ステップＳ１５０４）。Δｔは、電磁界解析を行う時間単位である。
【０００７】
つぎに、磁界Ｈの計算および境界電界Ｅの交換を行う（ステップＳ１５０５）。つぎに、時刻をΔｔ／２進める（ステップＳ１５０６）。つぎに、すべての解析が終了したか否かを判断し（ステップＳ１５０７）、電磁界解析が終了していない場合（ステップＳ１５０７：Ｎｏ）はステップＳ１５０３に戻って処理を続行する。電磁界解析が終了した場合（ステップＳ１５０７：Ｙｅｓ）は一連の解析処理を終了する。
【０００８】
図１６は、図１５のステップＳ１５０１を説明する工程図である。図１６に示すように、図１５のステップＳ１５０１では、解析対象空間を区切った各セルのうちのセル１６１０〜セル１６３０の電磁界解析をＣＰＵ（１）に割り当て、セル１６４０〜セル１６７０の電磁界解析をＣＰＵ（２）に割り当てる。また、セル１６６０は回路セル（ＬＳＩ）であり、符号１６８０は回路セルの電界と磁界の等価回路を示している。また、回路セルであるセル１６６０の回路解析をＣＰＵ（３）に割り当てる。
【０００９】
図１７は、図１５のステップＳ１５０３を説明する工程図である。図１７に示すように、図１５のステップＳ１５０３では、直前の時刻の周囲の磁界Ｈから電界Ｅを計算する。回路セルであるセル１６６０の電界Ｅは、回路シミュレータ１７１０が計算したセル１６６０の端子電圧Ｖを電界Ｅに変換することによって得る。また、割り当ての境界部にあるセル１６３０の磁界Ｈを、ＣＰＵ（１）からＣＰＵ（２）に通信して計算する。
【００１０】
図１８は、図１５のステップＳ１５０５を説明する工程図である。図１８に示すように、図１５のステップＳ１５０５では、直前の時刻の周囲の電界Ｅから磁界Ｈを計算する。回路シミュレータ１７１０は、計算された磁界Ｈを電流Ｉに変換して、電流Ｉを端子電流として設定する。また、割り当ての境界部にあるセル１６４０の電界Ｅを、ＣＰＵ（２）からＣＰＵ（１）に通信して計算する。
【００１１】
【特許文献１】特開２００４−５４６４２号公報
【特許文献２】特開平１１−１５３６３４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、上述した従来技術では、回路解析の解析単位となる回路素子に対応する複数のセルがそれぞれ異なるＣＰＵへ割り当てられると、回路解析のためのＣＰＵ間のデータ通信量が膨大となって解析時間が長くなるという問題がある。たとえば、多数のＬＳＩが搭載されているプリント基板をシミュレーションするような場合には、並列化ＦＤＴＤ法の空間分割に伴い解析対象の回路も複数の領域に分散してしまう可能性が大きい。
【００１３】
このような場合に従来法を適用すると、回路解析に必要な回路セルからのデータが不足して回路解析を実行することができない。このような場合は、並列化ＦＤＴＤ法の空間分割に従って回路も分割し、分割された回路の回路解析が可能な回路シミュレータを作成し使用することが考えられるが、こうした場合は、ＦＤＴＤ法の空間分割に従って分割された回路では回路間のデータ通信量が非常に多くなる可能性があり、これがボトルネックとなって全体の並列解析効率が悪くなってしまうという問題がある。
【００１４】
たとえばＳＰＩＣＥをはじめとする回路解析プログラムでは、一つの回路素子を複数に分割して解析することは非常に複雑な処理が要求される上に、最適な回路分割を行わないとＣＰＵ間のデータ通信量が多くなり、並列処理の効率を上げることは困難である。５ｍｍ×５ｍｍ程度のＬＳＩを空間的に２つに分割した場合は、切り口には５万本程度の信号線が存在すると予測される。この場合は、分割された回路の解析を担当する複数のＣＰＵの間で、切り口に存在する信号線のシミュレーションデータを交換する必要がある。
【００１５】
たとえばダイアコプティクス法として知られる分割回路解析手法では、回路方程式を解く過程で最低でも５万個のデータを、１回のイタレーションあたり、２回やり取りする必要がある。また、回路解析では収束するまでに１時刻あたり数回のイタレーションが行われるが、これを３回と仮定すると１時刻あたり３０万個のデータの通信量となる。
【００１６】
１個あたり８ｂｙｔｅとすると全部で２４０万ｂｙｔｅ（１９２０万ｂｉｔ）となり、平均１０Ｍｂｐｓ程度の通信速度を仮定すると約１．８秒かかる。ＦＤＴＤ法では５０ｆｓ程度の時間間隔で解析が行われるので、１０ｎｓまで解析すると通信時間だけで１００時間かかることになる。この通信時間が大きなボトルネックとなるため実用的ではない。これらの信号線の分割によって発生するデータ通信時間は膨大なものになり、この方法は実用的とはいえない。
【００１７】
図１９は、従来の融合解析における複数のＣＰＵへの各セルの割り当てを示す図（その１）である。たとえば、図１９に示すように、電磁界解析を複数のＣＰＵに割り当てるために解析対象空間１９００を分割した境界線１９１０がＬＳＩ１やＬＳＩ２などの回路素子を分割しない場合には、ＬＳＩ１の回路セルの回路解析はＣＰＵ（３）に割り当てられ、ＬＳＩ２の回路セルの回路解析はＣＰＵ（４）に割り当てられる。このため上記の問題は生じない。
【００１８】
図２０は、従来の融合解析における複数のＣＰＵへの各セルの割り当てを示す図（その２）である。図１９に示した例に対して、図２０に示すように、電磁界解析を複数のＣＰＵに割り当てるために解析対象空間１９００を分割した境界線１９１０が、回路素子であるＬＳＩ１を分割する場合には、たとえばＬＳＩ１の回路セルの一部がＣＰＵ（３）に割り当てられ、ＬＳＩ１の回路セルの残りがＣＰＵ（４）に割り当てられる。このため、上記のように、ＬＳＩ１の回路解析の際にＣＰＵ（３）およびＣＰＵ（４）の間のデータ通信量２０１０が膨大となる。
【００１９】
この発明は、上述した問題点を解消するものであり、電磁界解析および回路解析を連携させた融合解析における解析時間を短縮することができる電子回路解析プログラム、電子回路解析装置および電子回路解析方法を提供することを目的とする。
【課題を解決するための手段】
【００２０】
この発明にかかる電子回路解析プログラムは、電磁界解析および回路解析を実行させる電子回路解析プログラムにおいて、解析対象空間を所定領域に区切って複数のセルにする区切り工程と、前記区切り工程によって区切られた各セルのうちの、前記回路解析の解析単位となる回路素子に対応する複数の回路セルを、複数の計算手段のうちの同一の計算手段に割り当てる割当工程と、前記割当工程による割り当てに基づいて、前記複数の計算手段による前記各セルの電磁界解析および回路解析を実行する解析工程と、をコンピュータに実行させることを特徴とする。
【００２１】
上記構成によれば、同一の回路素子に対応する複数のセルの回路解析が同一の計算手段によって行われるため、回路素子の回路解析のための計算部間のデータ通信が不要となり、解析時間を短縮することができる。
【発明の効果】
【００２２】
この発明によれば、電磁界解析および回路解析を連携させた融合解析における解析時間を短縮することができるという効果を奏する。
【発明を実施するための最良の形態】
【００２３】
以下に添付図面を参照して、この発明にかかる電子回路解析プログラム、電子回路解析装置および電子回路解析方法の好適な実施の形態を詳細に説明する。
【００２４】
（実施の形態）
図１は、実施の形態にかかる電子回路解析装置による電子回路の解析の概要を示す図である。図１に示すように、実施の形態にかかる電子回路解析装置は、解析対象となる電子回路を示す解析対象空間１００を区切ってできた各セルを、ＣＰＵ（１）〜ＣＰＵ（３）のいずれか一つに割り当てる。実施の形態にかかる電子回路解析装置は、回路解析の解析単位となるＬＳＩ１に対応する複数の回路セルを、ＣＰＵ（１）〜ＣＰＵ（３）のうちの同一のＣＰＵに割り当てる。
【００２５】
ここでは、実施の形態にかかる電子回路解析装置は、各回路セルを含む領域１１０をＣＰＵ（２）に割り当てている。また、実施の形態にかかる電子回路解析装置は、ＣＰＵ（２）に割り当てたＬＳＩ１の各回路セルの回路解析を、ＣＰＵ（３）によって実行している。ＣＰＵ（１）は、解析対象領域１００のうちの領域１１０を除いた領域に含まれる各セルの電磁界解析を行う。
【００２６】
ＣＰＵ（２）は、ＣＰＵ（３）からの端子電圧Ｖを電界Ｅに変換して受け取り、領域１１０に含まれる各セルの電磁界解析を実行する。ＣＰＵ（３）は、ＣＰＵ（２）からの磁界Ｈを電流Ｉに変換して受け取り、領域１１０に含まれる回路セルの回路解析を実行する。各回路セルの回路解析はすべてＣＰＵ（３）によって実行されるため、ＬＳＩ１の回路解析のためのＣＰＵ間のデータ通信（図２０符号２０１０参照）が不要となる。
【００２７】
図２は、実施の形態にかかる電子回路解析装置の機能的構成を示すブロック図である。実施の形態にかかる電子回路解析装置は、解析対象となる電子回路の電磁界解析および回路解析を連携させて実行する解析装置である。図２に示すように、電子回路解析装置２００は、解析回路データ入力部２１０と、区切り部２２０と、回路定義入力部２３０と、割当部２４０と、複数の計算部２５０と、出力部２６０と、を備えている。
【００２８】
解析回路データ入力部２１０には、電子回路解析装置２００の外部から、解析対象となる電子回路を表す解析対象空間のデータが入力される。解析回路データ入力部２１０は、入力された解析対象空間のデータを区切り部２２０へ出力する。解析対象空間のデータは、たとえば電子回路のＣＡＤデータ、ネットリストおよび制御パラメータである。
【００２９】
区切り部２２０は、解析回路データ入力部２１０から出力された解析対象空間のデータに基づいて、解析対象空間を格子状に区切って複数のセル（直方体領域）にする。区切り部２２０は、解析対象空間を区切ってできた各セルの情報を割当部２４０へ出力する。各セルの情報とは、たとえば各セルに対応するノード名およびセル座標や、各セルが属するネットリストの情報である。
【００３０】
回路定義入力部２３０には、回路解析の解析単位となる回路素子に対応する複数のセル（以下「回路セル」という）の情報が入力される。回路解析の解析単位となる回路素子とは、たとえば１個のＬＳＩである。複数の回路セルとは、回路素子の外部端子に対応するセルであり、たとえば１個のＬＳＩと回路基板とを接続する複数の接続ピンである。
【００３１】
回路セルの情報とは、たとえば回路セルに対応する回路素子名、ノード名、セル座標およびネットリストの情報である。回路セルの情報の入力は、たとえば、ユーザが、区切り部２２０によって区切られた各セルの情報を見ながら、各セルのうちの回路セルとなるセルの情報を回路定義入力部２３０へ入力することで行う。
【００３２】
割当部２４０は、区切り部２２０から出力された各セルの情報に基づいて、各セルを複数の計算部２５０のうちのいずれかにそれぞれ割り当てる。区切り部２２０は、複数の計算部２５０のそれぞれに、割り当てセルの情報を出力する。たとえば、割当部２４０は、各セルを複数のセルブロックにブロック化し、ブロック化した複数のセルブロックをそれぞれ複数の計算部２５０へ割り当てる。
【００３３】
また、割当部２４０は、回路定義入力部２３０から出力された回路セルの情報に基づいて、区切り部２２０によって区切られた各セルのうちの、１つの回路素子に対応する複数の回路セルを、複数の計算部２５０のうちの同一の計算部に割り当てる。たとえば、割当部２４０は、複数の計算部２５０のうちの１つの計算部にすべての回路素子を割り当てる。
【００３４】
なお、回路解析の解析単位となる回路素子が複数ある場合は、同一の回路素子に対応する複数の回路セルを同一の計算部に割り当てればよく、異なる回路素子に対応する回路セル同士は異なる計算部に割り当ててもよい。また、割当部２４０は、各セルのうちの、回路セルを中心として回路セルの領域を所定のセル数だけ拡張した領域（以下、「回路セル領域」という）に含まれるセルを同一の計算部に割り当ててもよい。
【００３５】
一般的な電子回路では、全セルに対する回路セルの割合は非常に小さいため、回路セル領域を同一の計算部に割り当てることで、回路セルを割り当てる計算部と、他の複数の計算部２５０と、の割り当てセル数を均一化することができる。これにより、複数の計算部２５０の電磁界解析の計算量を均一化し、複数の計算部２５０による並列処理のボトルネックを解消することができる。
【００３６】
複数の計算部２５０は、電磁界解析および回路解析を連携して同時に行う融合解析を実行する。また、複数の計算部２５０は、並列に接続された計算部（１）〜計算部（Ｎ）によって構成されており、融合解析を並列処理で実行する。複数の計算部２５０のそれぞれは、割当部２４０から出力された割り当てセルの情報に基づいて割り当てられたセルの電磁界解析および回路解析を実行する。
【００３７】
複数の計算部２５０のそれぞれは、電磁界解析および回路解析を行った結果の情報を出力部２６０へ出力する。複数の計算部２５０は、電磁界解析としてたとえばＦＤＴＤ法による解析を行う。また、複数の計算部２５０は、回路解析としてたとえばＳＰＩＣＥによる解析を行う。出力部２６０は、複数の計算部２５０のそれぞれから出力された結果の情報を電子回路解析装置２００の外部へ出力する。
【００３８】
図３は、実施の形態にかかる電子回路解析の手順の一例を示すフローチャートである。図３に示すように、まず、解析回路データ入力部２１０が、解析対象空間のデータの入力を受け付ける（ステップＳ３０１）。つぎに、区切り部２２０が、ステップＳ３０１によって入力された解析対象空間のデータに基づいて、解析対象空間を複数のセルに区切る（ステップＳ３０２）。
【００３９】
つぎに、回路定義入力部２３０が、回路素子に対応する複数の回路セルの情報の入力を受け付ける（ステップＳ３０３）。つぎに、割当部２４０が、ステップＳ３０２によって区切られた各セルを複数の計算部２５０のうちのいずれかにそれぞれ割り当てる（ステップＳ３０４）。このとき、割当部２４０は、ステップＳ３０３によって入力された情報に基づいて、各回路セルを複数の計算部２５０のうちの同一の計算部に割り当てる。
【００４０】
つぎに、複数の計算部２５０のそれぞれが、ステップＳ３０４によって割り当てられたセルの電磁界解析および回路解析を実行する（ステップＳ３０５）。つぎに、出力部２６０が、ステップＳ３０５によって実行された電磁界解析および回路解析の結果の情報を出力し（ステップＳ３０６）、一連の解析手順を終了する。
【００４１】
図４は、図３のステップＳ３０４の割り当て手順の一例を示すフローチャートである。図４に示すように、まず、図３のステップＳ３０２によって区切られた各セルを、計算部（１）〜計算部（Ｎ−１）（第１計算手段）のそれぞれに対応したセルブロック（１）〜セルブロック（Ｎ−１）にブロック化する（ステップＳ４０１）。
【００４２】
つぎに、各セルを、属するステップＳ４０１によってブロック化されたセルブロック（１）〜セルブロック（Ｎ−１）のうちの属するセルブロックが対応する計算部（１）〜計算部（Ｎ−１）に割り当てる（ステップＳ４０２）。つぎに、計算部（Ｎ）（第２計算手段）に割り当てる回路セル領域を決定する（ステップＳ４０３）。
【００４３】
つぎに、ステップＳ４０３によって決定された各回路セル領域から、回路セルが属するセルブロックとは異なるセルブロックに属するセルを除外する（ステップＳ４０４）。回路セルが属するセルブロックとは異なるセルブロックに属するセルとは、たとえば、セルブロック（１）に含まれる回路セルを中心として拡張した回路セル領域に含まれるセルのうちの、セルブロック（２）に含まれるセルである。
【００４４】
つぎに、各回路セル領域に含まれるセルを計算部（Ｎ）に割り当てる（ステップＳ４０５）。つぎに、ステップＳ４０５によって割り当てられた各回路セル領域に含まれるセルを、ステップＳ４０２によって割り当てられた計算部（１）〜計算部（Ｎ−１）への割り当てから除外し（ステップＳ４０６）、一連の割り当て手順を終了する。
【００４５】
このように、ステップＳ４０２〜ステップＳ４０６により、各セルのうちの各回路セル領域に含まれるセルを計算部（Ｎ）に割り当て、各セルのうちの計算部（Ｎ）に割り当てていないセルを計算部（１）〜計算部（Ｎ−１）に割り当てる。以上の割り当て手順により、各回路セルを複数の計算部２５０のうちの同一の計算部に割り当てることができる。
【００４６】
図５は、図４のステップＳ４０６の後に行う均一化手順の一例を示すフローチャートである。図４のステップＳ４０６の後に、計算部（１）〜計算部（Ｎ−１）におけるセルの割り当て数が均一となるように各セルをブロック化し直し、ブロック化し直すことにより属するセルブロックが変更されたセルを割り当て直してもよい。
【００４７】
図５に示すように、まず、計算部（１）〜計算部（Ｎ−１）に割り当てられたセルの数の平均値を算出する（ステップＳ５０１）。つぎに、計算部（１）〜計算部（Ｎ−１）のうちで、割り当てられたセルの数がステップＳ５０１によって算出した平均値よりも多く、計算量調整終了のフラグが付加されていない計算部があるか否かを判断する（ステップＳ５０２）。
【００４８】
ステップＳ５０２において、割り当てられたセルの数がステップＳ５０１で算出した平均値よりも多く、フラグが付加されていない計算部があると判断された場合（ステップＳ５０２：Ｙｅｓ）は、あると判断された計算部に割り当てられたセルブロックに属するセルのうちの、隣接セルブロックとの境界線に隣接するセルが、隣接セルブロックに属するようにセルブロックをブロック化し直す（ステップＳ５０３）。
【００４９】
つぎに、ステップＳ５０３によって属するセルブロックが変更されたセルを、変更前のセルブロックに対応する計算部への割り当てから除外し、変更後のセルブロックに対応する計算部へ割り当て直す（ステップＳ５０４）。つぎに、ステップＳ５０２によってあると判断された計算部の情報に計算量調整終了のフラグを付加し（ステップＳ５０５）、ステップＳ５０２に戻って処理を続行する。
【００５０】
ステップＳ５０２において、割り当てられたセルの数がステップＳ５０１で算出した平均値よりも多く、フラグが付加されていない計算部がないと判断された場合（ステップＳ５０２：Ｎｏ）は、一連の均一化手順を終了する。以上の手順によって、計算部（１）〜計算部（Ｎ−１）におけるセルの割り当て数を均一化することができる。
【００５１】
また、隣接セルブロックとの境界線に隣接するセルを割り当て直すことで、計算部（１）〜計算部（Ｎ−１）間の通信量を増加させることなくセルの割り当て数を均一化することができる。なお、ここでは、処理を簡単にするために、一度ブロック化し直した計算部にはフラグを付加して再度の均一化を行わないようにしたが、計算部（１）〜計算部（Ｎ−１）におけるセルの割り当て数が所望のレベルに均一化されるまでブロック化し直す処理を続けてもよい。
【００５２】
また、ここでは、割り当てられたセルの数がステップＳ５０１で算出した平均値よりも多いか否かを判断して、平均値よりも多い場合にブロック化し直すようにしたが、たとえば割り当てられたセルの数がステップＳ５０１で算出した平均値の１．５倍以上であるか否かを判断して、平均値の１．５倍以上である場合にブロック化し直すようにしてもよい。
【００５３】
また、ここでは、セルの割当数の平均値を算出し、割り当てられたセルの数が平均値よりも多い計算部の均一化を行う方法について説明したが、たとえば、割り当てられたセルの数がもっとも多い計算部に割り当てられたセルの一部を他の計算部に割り当て直す処理によって計算部（１）〜計算部（Ｎ−１）におけるセルの割当数を均一化してもよい。
【００５４】
図６は、図３〜図５の手順の過程で生成されるテーブルの一例を示す図である。符号６１０は、図３のステップＳ３０２によって区切られたセル毎に生成されるセル情報テーブルである。ここで、セル情報テーブル６１０は、座標（ｉ，ｊ，ｋ）のセル（ｉ，ｊ，ｋ）について生成されるセル情報テーブルであるとする。
【００５５】
セル情報テーブル６１０は、識別コード６１１と、識別コード６１２と、識別コード６１３と、から構成されている。識別コード６１１は、図４のステップＳ４０２によってセル（ｉ，ｊ，ｋ）が割り当てられた計算部の識別コード（１，２，…，Ｎ）である。識別コード６１２は、図４のステップＳ４０５およびステップＳ４０６によってセル（ｉ，ｊ，ｋ）が割り当てられた計算部の識別コードである。
【００５６】
識別コード６１３は、セル（ｉ，ｊ，ｋ）が割り当てられた計算部の通信先の計算部の識別コードである。セル（ｉ，ｊ，ｋ）が割り当てられた計算部の通信先の計算部とは、セル（ｉ，ｊ，ｋ）に隣接するセルが割り当てられた計算部である。識別コード６１３は、ステップＳ４０２によってセル情報テーブル６１０に追加される識別コード６１１に応じてセル情報テーブル６１０に追加される。また、識別コード６１３は、図４のステップＳ４０５およびステップＳ４０６によってセル情報テーブル６１０に追加される識別コード６１２に応じて修正される。
【００５７】
符号６２０は、図３のステップＳ３０３によって入力された情報に基づく回路セル毎に生成される回路セル情報テーブルである。回路セル情報テーブル６２０は、回路セルに対応する回路の回路名６２１と、ノード名６２２と、座標６２３と、回路が含まれるネットリスト６２４と、の情報から構成されている。
【００５８】
符号６３０は、計算部（１）〜計算部（Ｎ−１）毎に生成されるセルブロック情報テーブルである。セルブロック情報テーブル６３０は、セルブロックの座標６３１と、セルブロックに属するセルの数６３２と、セルブロックの境界にあるセルの数６３３と、の情報から構成されている。セルブロック情報テーブル６３０は、図４のステップＳ４０１によって生成される。また、セルブロック情報テーブル６３０は、図５のステップＳ５０４によって修正される。
【００５９】
符号６４０は、計算部（Ｎ）について生成される回路セル領域情報テーブルである。回路セル領域情報テーブル６４０は、回路セル領域の座標６４１と、回路セル領域に含まれるセルの数６４２と、回路セル領域の境界にあるセルの数６４３と、の情報から構成されている。回路セル領域情報テーブル６４０は、図４のステップＳ４０３によって生成される。
【００６０】
符号６５０は、計算部（１）〜計算部（Ｎ）毎に生成される計算部情報テーブルである。計算部情報テーブル６５０は、計算部に割り当てられたセルの数６５１と、通信先の計算部の識別コード６５２と、識別コード６５２の計算部との通信量６５３と、計算量調整終了のフラグ６５４と、の情報から構成されている。計算部情報テーブル６５０は、セル情報テーブル６１０に対応して生成される。
【００６１】
通信先の計算部の識別コード６５２は、計算部に割り当てられた各セルに隣接するセルが割り当てられたすべての計算部の識別コードである。通信量６５３は、識別コード６５２に対応する計算部毎の通信量である。計算量調整終了のフラグ６５４は、図５のステップＳ５０５によって付加されるフラグである。
【００６２】
図７は、図４のステップＳ４０１およびステップＳ４０２を説明する工程図である。図７において、上述した計算部（１）〜計算部（Ｎ−１）を計算部（１）〜計算部（５）とする。また、上述した計算部（Ｎ）は、計算部（６）および計算部（７）によって構成されているとする（図８〜図１０でも同様）。符号７００は、模式的な解析対象空間を示している。図示しないが、解析対象空間７００は、区切り部２２０によって複数のセルに区切られている。
【００６３】
図７に示すように、図４のステップＳ４０１によって各セルがセルブロック（１）〜セルブロック（５）にブロック化される。また、セルブロック（１）〜セルブロック（５）は、それぞれ計算部（１）〜計算部（５）に対応している。ステップＳ４０２によって、各セルは、計算部（１）〜計算部（５）のうちの、属するセルブロックが対応する計算部に割り当てられる。
【００６４】
セルブロック（１）には回路セル７１１〜７１４が属している。セルブロック（２）には回路セル７２１，７２２が属している。セルブロック（３）には回路セルは属していない。セルブロック（４）には回路セル７４１〜７４３が属している。セルブロック（５）には回路セル７５１〜７５３が属している。
【００６５】
図８は、図４のステップＳ４０３およびステップＳ４０４を説明する工程図である。図８において、符号８１１〜８１４、符号８２１，８２２、符号８４１〜８４３および符号８５１〜８５３は、回路セル７１１〜７１４、回路セル７２１，７２２、回路セル７４１〜７４３および回路セル７５１〜７５３を中心とする回路セル領域をそれぞれ示している。
【００６６】
図４のステップＳ４０３によって、回路セル領域８１１〜８１４、回路セル領域８２１，８２２、回路セル領域８４１〜８４３、回路セル領域８５１〜８５３が決定される。各回路セル領域は、各回路セルの領域を、Ｘ軸、Ｙ軸およびＺ軸方向に所定のセル数だけ拡張した領域である。このため、各回路セル領域は、回路セルを拡張する拡張セル数によって決定される。ここでは、すべての各回路セル領域における拡張セル数を等しくする。
【００６７】
拡張セル数をｎとすると、座標（ｉ，ｊ，ｋ）の回路セルを中心とした回路セル領域は、座標（ｉ−ｎ，ｊ−ｎ，ｋ−ｎ），（ｉ＋ｎ，ｊ−ｎ，ｋ−ｎ），（ｉ−ｎ，ｊ＋ｎ，ｋ−ｎ），（ｉ＋ｎ，ｊ＋ｎ，ｋ−ｎ），（ｉ−ｎ，ｊ−ｎ，ｋ＋ｎ），（ｉ＋ｎ，ｊ−ｎ，ｋ＋ｎ），（ｉ−ｎ，ｊ＋ｎ，ｋ＋ｎ）および（ｉ＋ｎ，ｊ＋ｎ，ｋ＋ｎ）のセルで囲まれた直方体領域である。
【００６８】
また、回路セル領域８１１〜８１４、回路セル領域８４１〜８４３および回路セル領域８５３については、図４のステップＳ４０４によって、回路セルが属するセルブロックとは異なるセルブロックに属するセルが除外されている。たとえば、回路セル領域８１１は、回路セル８１１の領域を拡張セル数ｎだけ拡張した領域から、セルブロック（２）に属するセルの領域を除外した領域となっている。
【００６９】
図９は、図４のステップＳ４０５を説明する工程図である。図９において、両矢印は、隣接するセルにおいて、それぞれのセルが割り当てられた計算部が異なる結果、電磁界解析の際に計算部間で通信を行って電磁界の情報を交換する必要がある箇所を部分的に示している。図９に示すように、図４のステップＳ４０５によって、各回路セル領域（図８参照）に含まれるセルを計算部（６）および計算部（７）に割り当てる。
【００７０】
各回路セル領域は、計算部（６）および計算部（７）への割り当ての中で適当に並べただけであり、各回路セル領域同士の隣接関係はない。また、各回路セル領域に含まれるセルの電磁界解析を計算部（６）に割り当てる。また、符号９１０に示すように、各回路セル領域に含まれるセルの回路解析を計算部（７）に割り当てる。また、ステップＳ４０６によって、各回路セル領域に含まれる各セルを計算部（１）〜計算部（５）への割り当てから除外する。
【００７１】
ここで、計算部（１）からは回路セル領域が４つ、計算部（２）からは回路セル領域が２つ、計算部（４）からは回路セル領域が３つ、計算部（５）からは回路セル領域が３つのセルの割り当てが除外されている。また、計算部（３）からはセルの割り当てが除外されていない。このため、計算部（１）〜計算部（５）における割り当てセル数が偏っている。つぎに、計算部（１）〜計算部（５）の割り当てセル数の均一化について説明する。
【００７２】
図１０は、図５のステップＳ５０３を説明する工程図である。図１０において、符号１０１０は、図５のステップＳ５０３の前に、セルブロック（２）に属する各セルのうちのセルブロック（１）との境界線に隣接するセルの領域を示している。符号１０２０は、図５のステップＳ５０３の前に、セルブロック（３）に属するセルのうちのセルブロック（４）との境界線に隣接するセルの領域を示している。
【００７３】
図１０の符号１０１１に示すように、図５のステップＳ５０３によって、領域１０１０に含まれるセルがセルブロック（１）に属するようにセルブロック（１）とセルブロック（２）との境界線を移動させる。また、符号１０２１に示すように、図５のステップＳ５０３によって、領域１０２１に含まれるセルがセルブロック（４）に属するようにセルブロック（３）とセルブロック（４）との境界線を移動させる。
【００７４】
また、図５のステップＳ５０４によって、領域１０１０および領域１０２０に含まれるセルを計算部（１）へ割り当て、計算部（２）への割り当てから除外する。また、図５のステップＳ５０４によって、領域１０２０に含まれるセルを計算部（４）へ割り当て、計算部（３）への割り当てから除外する。これにより、計算部（１）〜計算部（５）の割り当てセル数が均一化され、計算部（１）〜計算部（５）における電磁界解析の計算量が均一化される。
【００７５】
図１１は、図４のステップＳ４０２の決定手順の一例を示すフローチャートである。図４のステップＳ４０２では、計算部（１）〜計算部（Ｎ）の計算性能係数と、計算部（１）〜計算部（Ｎ）の通信性能係数と、回路セルの領域を拡張する拡張セル数ｎと、をパラメータとする評価関数値に基づいて、拡張セル数ｎを決定する。
【００７６】
図１１において、上述した拡張セル数ｎ（図８参照）の仮の値をｍとする。図１１に示すように、まず、計算部（１）〜計算部（Ｎ）の計算性能係数αおよび通信性能係数βを算出する（ステップＳ１１０１）。つぎに、拡張セル数ｍを０に設定する（ステップＳ１１０２）。
【００７７】
つぎに、拡張セル数ｍが、あらかじめ定められた拡張セル数ｍのｍａｘ（ｍ）よりも大きいか否かを判断する（ステップＳ１１０３）。拡張セル数ｍが最大値ｍａｘ（ｍ）よりも大きくない場合（ステップＳ１１０３：Ｎｏ）は、計算部（１）〜計算部（Ｎ）について評価関数値Ｆ＿ｉ（ｍ）＝αｉ（ｍ）＋Σβｉｊ（ｍ）を算出する（ステップＳ１１０４）。
【００７８】
つぎに、ステップＳ１１０４によって算出された計算部（１）〜計算部（Ｎ）の評価関数値Ｆ＿ｉ（ｍ）の最大値ｍａｘ（Ｆ＿ｉ（ｍ））を、仮の拡張セル数ｍと対応付けて記憶する（ステップＳ１１０５）。つぎに、拡張セル数ｍに１を加えて（ステップＳ１１０６）、ステップＳ１１０３に戻って処理を続行する。
【００７９】
ステップＳ１１０３において、拡張セル数ｍが最大値ｍａｘ（ｍ）よりも大きい場合（ステップＳ１１０３：Ｙｅｓ）は、ステップＳ１１０５によって記憶された各拡張数ｍに対応するｍａｘ（Ｆ＿ｉ（ｍ））のうちの最小のｍａｘ（Ｆ＿ｉ（ｍ））に対応する拡張数ｍを拡張セル数ｎとして決定し（ステップＳ１１０７）、一連の決定手順を終了する。
【００８０】
以上の決定手順により、各回路セルを拡張セル数ｎだけ拡張した各回路セル領域が決定される。なお、拡張セル数ｎは、以上の決定手順を用いる方法に限らず、解析制御パラメータの一つとしてユーザが指定できるようにしてもよい。また、以上の決定手順を用いる方法で決定した拡張セル数ｎをユーザの指定により変更できるようにしてもよい。
【００８１】
図１２は、拡張セル数と評価関数値との関係の一例を示すグラフである。図１２において、横軸は、拡張セル数ｍを示している。縦軸は、評価関数値Ｆ＿ｉ（ｍ）を示している。符号１２１０は、計算部（１）の評価関数値特性を示している。符号１２２０は、計算部（２）の評価関数値特性を示している。符号１２３０は、計算部（Ｎ−１）の評価関数値特性を示している。符号１２４０は、計算部（Ｎ）の評価関数値特性を示している。
【００８２】
図１２に示すように、拡張セル数ｍを０から増加させると、計算部（１）〜計算部（Ｎ−１）に割り当てられていたセルの一部が計算部（Ｎ）に割り当てられる。このため、電磁界解析における計算部（１）〜計算部（Ｎ−１）の計算部（Ｎ）との通信量が増加し、評価関数値特性１２１０，１２２０，１２３０は初期段階ではわずかに増加する。
【００８３】
拡張セル数ｍをさらに増加させると、計算部（１）〜計算部（Ｎ−１）に割り当てられたセルの数が減少することによって、電磁界解析における計算部（１）〜計算部（Ｎ−１）の計算量が減少する。このため、拡張セル数ｍをさらに増加させると、評価関数値特性１２１０，１２２０，１２３０は減少する。
【００８４】
また、拡張セル数ｍを増加させると、計算部（Ｎ）に割り当てられるセルが増加するため、計算部（Ｎ）の計算部（１）〜計算部（Ｎ−１）との通信量と、計算部（Ｎ）の計算量と、が増加する。このため、拡張セル数ｍを増加させるほど評価関数値特性１２４０は増加する。
【００８５】
この例において、図１１のステップＳ１１０５では、符号１２５０で示す拡張セル数ｍよりも小さい拡張セル数ｍにおいては、計算部（１）の評価関数値Ｆ＿ｉ（ｍ）が最大値記録テーブルに記憶される。また、符号１２５０で示す拡張セル数ｍよりも大きい拡張セル数ｍについては、計算部（Ｎ）の評価関数値Ｆ＿ｉ（ｍ）が最大値記録テーブルに記憶される。また、図１１のステップＳ１１０７では、符号１２５０で示す拡張セル数ｍが上述した拡張セル数ｎとして決定される。
【００８６】
なお、拡張セル数ｎを決定するための評価関数値を算出する他の例として、複数の計算部２５０の計算性能が同じである環境において、通信量を考慮しない（β＝０）場合には、評価関数値をＡ（２ｎ＋１）3＝Ｐ／Ｎによって算出してもよい。ここで、Ａは回路セルの数、ｎは拡張セル数、Ｐは全セルの数、Ｎは計算部２５０の数である。実例として、ＥＭＩ計測評価ボードの解析例：（２５６０，１８６０，２５）＝１１９０４００００セル中、Ａ素子１００個、Ｎ＝１０のとき拡張セル数ｎ＝２４となる。
【００８７】
図１３は、図１１のステップＳ１１０１の算出手順の一例を示すシーケンス図である。ここでは、計算部（Ｎ）がホスト計算部として各計算部の計算性能係数αおよび通信性能係数βを算出する。また、計算部（１）〜計算部（Ｎ−１）の番号をｉ（ｉ＝１，２，…，Ｎ−１）またはｊ（ｊ＝１，２，…，Ｎ−１）とする。まず、計算部（Ｎ）が、計算部（１）〜計算部（Ｎ−１）のそれぞれへあらかじめ用意されたテストデータを出力する（ステップＳ１３０１）。
【００８８】
つぎに、計算部（Ｎ）がステップＳ１３０１で出力したテストデータと同じテストデータを実行するとともに、計算部（１）〜計算部（Ｎ−１）がステップＳ１３０１で計算部（Ｎ）から出力されたテストデータを実行する（ステップＳ１３０２）。つぎに、計算部（１）〜計算部（Ｎ−１）のそれぞれが、ステップＳ１３０２におけるテストデータの実行時間の情報を計算部（Ｎ）へ出力する（ステップＳ１３０３）。
【００８９】
つぎに、計算部（Ｎ）が、計算部（Ｎ）のテストデータの実行時間を基準とした計算部（１）〜計算部（Ｎ−１）の計算性能係数αｉを算出する（ステップＳ１３０４）。具体的には、ステップＳ１３０２における計算部（Ｎ）の実行時間をＴｉｍｅ＿Ｎ、ステップＳ１３０３で計算部（ｉ）から出力された情報に基づく計算部（ｉ）の実行時間をＴｉｍｅ＿ｉとすると、計算性能係数αｉ＝Ｔｉｍｅ＿ｉ／Ｔｉｍｅ＿Ｎ（ｉ＝１，２，…，Ｎ−１）を算出する。
【００９０】
つぎに、ｉを１とする（ステップＳ１３０５）。すなわち、計算部（１）〜計算部（Ｎ−１）のうちで通信テストを実行させる計算部を計算部（１）とする。つぎに、計算部（Ｎ）が、計算部（ｉ）へ通信テスト実行指示を出力する（ステップＳ１３０６）。つぎに、計算部（ｉ）が、他の計算部との通信テストを実行する（ステップＳ１３０７）。
【００９１】
具体的には、計算部（ｉ）が、計算部（１）〜計算部（Ｎ−１）のうちの計算部（ｉ）以外の計算部へテストデータを出力し、出力先の計算部から受信完了通知を受け取るまでの時間（通信時間）を計測する。計算部（１）〜計算部（Ｎ−１）のうちの計算部（ｉ）以外のすべての計算部からの受信完了通知を受け取ると、計算部（ｉ）の通信テストが完了する。
【００９２】
つぎに、計算部（ｉ）が、ステップＳ１３０７における通信テストの通信時間の情報を計算部（Ｎ）へ出力する（ステップＳ１３０８）。つぎに、ｉに１を加える（ステップＳ１３０９）。すなわち、計算部（１）〜計算部（Ｎ−１）のうちで通信テストを実行させる計算部を切り替える。つぎに、ｉがＮ−１より大きいか否かを判断する（ステップＳ１３１０）。すなわち、計算部（１）〜計算部（Ｎ−１）のすべての通信テストが終了したか否かを判断する。
【００９３】
ステップＳ１３１０において、ｉがＮ−１より大きくない場合（ステップＳ１３１０：Ｎｏ）は、ステップＳ１３０６に戻って処理を続行する。ｉがＮ−１より大きい場合（ステップＳ１３１０：Ｙｅｓ）は、計算部（Ｎ）が、上述した計算部（ｉ）の通信テストと同様の通信テストを実行する（ステップＳ１３１１）。
【００９４】
つぎに、計算部（Ｎ）が、計算部（Ｎ）の通信テストの通信時間を基準とした計算部（１）〜計算部（Ｎ−１）の通信性能係数βｉｊを算出し（ステップＳ１３１２）、一連の算出手順を終了する。具体的には、ステップＳ１３１１における計算部（Ｎ）の通信時間をＴｉｍｅ＿Ｎｊ（ｊは、通信先の計算部の番号）、ステップＳ１３０８で計算部（ｉ）から出力された情報に基づく計算部（ｉ）の通信時間をＴｉｍｅ＿ｉｊとすると、通信性能係数βｉｊ＝Ｔｉｍｅ＿ｉｊ／Ｔｉｍｅ＿Ｎｊを算出する。
【００９５】
以上の算出手順により、計算性能係数αおよび通信性能係数βを算出することができる。なお、ここでは計算部（Ｎ）をホスト計算部として、計算部（Ｎ）が計算性能係数αおよび通信性能係数βを算出する場合について説明したが、ホスト計算部は計算部（Ｎ）に限らず、計算部（１）〜計算部（Ｎ−１）のうちのいずれでもよい。
【００９６】
図１４は、実施の形態にかかる電子回路解析装置のハードウェア構成を示すブロック図である。図１４に示すように、電子回路解析装置２００は、複数のＣＰＵ１４０１と、ＲＯＭ１４０２と、ＲＡＭ１４０３と、ＨＤＤ（ハードディスクドライブ）１４０４と、ＨＤ（ハードディスク）１４０５と、ＦＤＤ（フレキシブルディスクドライブ）１４０６と、着脱可能な記録媒体の一例としてのＦＤ（フレキシブルディスク）１４０７と、ディスプレイ１４０８と、Ｉ／Ｆ（インターフェース）１４０９と、キーボード１４１０と、マウス１４１１と、スキャナ１４１２と、プリンタ１４１３と、を備えている。また、各構成部はバス１４００によってそれぞれ接続されている。
【００９７】
ここで、複数のＣＰＵ１４０１は、ＣＰＵ（１）〜ＣＰＵ（Ｎ）で構成される。複数のＣＰＵ１４０１のうちの一つは、電子回路解析装置２００の全体の制御を司る。また、電子回路解析装置２００の全体の制御のためのＣＰＵを別に設けてもよい。ＲＯＭ１４０２は、ブートプログラムなどのプログラムを記憶している。
【００９８】
ＲＡＭ１４０３は、複数のＣＰＵ１４０１の共通のワークエリアとして使用される。たとえば、図２に示した各機能ブロックからの出力データはＲＡＭ１４０３に保持される。また、矢印で示した接続先の機能ブロックは、接続元の機能ブロックからの出力データをＲＡＭ１４０３から読み込むことで機能を実行する。
【００９９】
ＨＤＤ１４０４は、ＣＰＵ１４０１の制御にしたがってＨＤ１４０５に対するデータのリード／ライトを制御する。ＨＤ１４０５は、ＨＤＤ１４０４の制御で書き込まれたデータを記憶する。ＦＤＤ１４０６は、ＣＰＵ１４０１の制御にしたがってＦＤ１４０７に対するデータのリード／ライトを制御する。ＦＤ１４０７は、ＦＤＤ１４０６の制御で書き込まれたデータを記憶したり、ＦＤ１４０７に記憶されたデータを電子回路解析装置２００に読み取らせたりする。
【０１００】
また、着脱可能な記録媒体として、ＦＤ１４０７のほか、ＣＤ−ＲＯＭ（ＣＤ−Ｒ、ＣＤ−ＲＷ）、ＭＯ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、メモリーカードなどであってもよい。ディスプレイ１４０８は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ１４０８は、たとえば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【０１０１】
Ｉ／Ｆ１４０９は、通信回線を通じてインターネット１４１４などのネットワークに接続され、このネットワークを介して他の装置に接続される。そして、Ｉ／Ｆ１４０９は、ネットワークと内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ１４０９には、たとえばモデムやＬＡＮアダプタなどを採用することができる。
【０１０２】
キーボード１４１０は、文字、数字、各種指示などの入力のためのキーを備え、データの入力を行う。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス１４１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【０１０３】
スキャナ１４１２は、画像を光学的に読み取り、電子回路解析装置２００内に画像データを取り込む。また、プリンタ１４１３は、画像データや文書データを印刷する。プリンタ１４１３には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
【０１０４】
図２に示した解析回路データ入力部２１０は、たとえばＦＤ１４０７、Ｉ／Ｆ１４０９、キーボード１４１０またはマウス１４１１などによって実現することができる。また、図２に示した区切り部２２０および割当部２４０は、たとえば複数のＣＰＵ１４０１のうちのいずれかによって実現することができる。
【０１０５】
また、図２に示した複数の計算部２５０は、たとえばＣＰＵ（１）〜ＣＰＵ（Ｎ）によって実現することができる。このとき、ＲＯＭ１４０２およびＲＡＭ１４０３は複数のＣＰＵ１４０１毎に設けることで、本発明による融合解析の並列処理を効率的に行うことができる。また、図２に示した出力部２６０は、たとえばＦＤ１４０７、ディスプレイ１４０８、Ｉ／Ｆ１４０９またはプリンタ１４１３によって実現することができる。
【０１０６】
また、図６に示した各テーブルは、複数の計算部２５０であるＣＰＵ（１）〜ＣＰＵ（Ｎ）によって生成され、ＲＡＭ１４０３に一時記憶して使用される。また、図１４に示すような構成をそれぞれ有する複数のコンピュータによって上述した複数の計算部２５０を実現してもよい。この場合は、複数のコンピュータをたとえばＩ／Ｆ１４０９を介して並列に接続する。また、この場合は、１つのコンピュータが備えるＣＰＵ１４０１は１つでもよい。
【０１０７】
この場合は、複数の計算部２５０を構成する複数のコンピュータのうちのいずれかに解析回路データ入力部２１０、区切り部２２０、回路定義入力部２３０、割当部２４０および出力部２６０の機能をもたせてもよい。また、複数の計算部２５０を構成する複数のコンピュータとは別に、解析回路データ入力部２１０、区切り部２２０、回路定義入力部２３０、割当部２４０および出力部２６０の機能を有するコンピュータを設けてもよい。
【０１０８】
以上説明したように、この発明にかかる電子回路解析装置および電子回路解析方法によれば、同一の回路素子に対応する複数の回路セルの回路解析が同一の計算部によって行われるため、回路素子の回路解析のための計算部間のデータ通信が不要となり、解析時間を短縮することができる。
【０１０９】
また、すべての回路セルを１つの計算部に割り当てることで、複数の回路セルを同一の計算部に割り当てる処理を簡単に実現することができる。また、回路セルだけでなく回路セル領域を同一の計算部に割り当てることで、回路セルを割り当てる計算部（第２計算部）と、他の複数の計算部（第１計算部）と、の割り当てセル数を均一化することができる。このため、複数の計算部による並列処理のボトルネックを解消し、解析時間を短縮することができる。
【０１１０】
また、複数の計算部の計算性能係数と、複数の計算部の通信性能係数と、回路セルの領域を拡張する所定のセル数と、をパラメータとする評価関数値に基づいて拡張セル数を決定することで、回路セルを割り当てる計算部（第２計算部）と、他の複数の計算部（第１計算部）と、の割り当てセル数を精度よく均一化することができ、複数の計算部による並列処理のボトルネックを解消して解析時間を短縮することができる。
【０１１１】
また、回路セルの領域を拡張セル数だけ拡張した回路セル領域に含まれるセルのうちの、回路セルが属するセルブロックとは異なるセルブロックに属するセルの領域を回路セル領域から除外することで、回路セル領域に含まれるセルの割り当て直しが複雑化することを回避することができる。また、割り当て直し後の計算部間の通信量が増大することを回避することができる。
【０１１２】
また、回路セル領域に含まれるセルを同一の計算部に割り当てた後、複数の計算部（第１計算手段）におけるセルの割り当て数が均一となるように各セルをブロック化し直し、ブロック化し直すことにより属するセルブロックが変更されたセルを割り当て直すことで、複数の計算部の割り当てセル数を均一化することができる。このため、複数の計算部による並列処理のボトルネックを解消し、解析時間を短縮することができる。
【０１１３】
なお、本実施の形態で説明した電子回路解析方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
【０１１４】
（付記１）電磁界解析および回路解析を実行させる電子回路解析プログラムにおいて、
解析対象空間を所定領域に区切って複数のセルにする区切り工程と、
前記区切り工程によって区切られた各セルのうちの、前記回路解析の解析単位となる回路素子に対応する複数の回路セルを、複数の計算手段のうちの同一の計算手段に割り当てる割当工程と、
前記割当工程による割り当てに基づいて、前記複数の計算手段による前記各セルの電磁界解析および回路解析を実行する解析工程と、
をコンピュータに実行させることを特徴とする電子回路解析プログラム。
【０１１５】
（付記２）前記複数の計算手段は、複数の第１計算手段と、第２計算手段と、を含み、
前記割当工程は、
前記複数の第１計算手段にそれぞれ対応した複数のセルブロックに前記各セルをブロック化するブロック化工程と、
前記複数の回路セルを前記第２計算手段に割り当てる第１割当工程と、
前記各セルのうちの前記第２計算手段に割り当てていないセルを、前記複数の第１計算手段のうちの、前記ブロック化工程によってブロック化されたセルブロックが対応する第１計算手段に割り当てる第２割当工程と、
を含むことを特徴とする付記１に記載の電子回路解析プログラム。
【０１１６】
（付記３）前記第１割当工程では、前記各セルのうちの、前記回路セルを中心として前記回路セルの領域を所定のセル数だけ拡張した回路セル領域に含まれるセルを前記第２計算手段に割り当てることを特徴とする付記２に記載の電子回路解析プログラム。
【０１１７】
（付記４）前記第１割当工程では、前記複数の計算手段の計算性能係数と、前記複数の計算手段の通信性能係数と、前記回路セルの領域を拡張する所定のセル数と、をパラメータとする評価関数値に基づいて、前記回路セルの領域を拡張する所定のセル数を決定することを特徴とする付記３に記載の電子回路解析プログラム。
【０１１８】
（付記５）前記第１割当工程では、前記回路セル領域に含まれるセルのうちの、前記回路セルが属するセルブロックとは異なるセルブロックに属するセルの領域を前記回路セル領域から除外することを特徴とする付記３に記載の電子回路解析プログラム。
【０１１９】
（付記６）前記第１割当工程において、前記計算手段の性能と前記複数の計算手段の間の通信性能に基づいて、前記所定のセル数を拡張することを特徴とする付記３に記載の電子回路解析プログラム。
【０１２０】
（付記７）前記第２計算手段は、前記第１割当工程によって割り当てられたセルの前記電磁界解析を実行する第３計算手段と、前記第１割当工程によって割り当てられたセルの前記回路解析を実行する第４計算手段と、から構成されることを特徴とする付記２〜６のいずれか一つに記載の電子回路解析プログラム。
【０１２１】
（付記８）前記第２割当工程によって前記セルを割り当てられた前記複数の第１計算手段における前記セルの割り当て数が均一となるように前記各セルをブロック化し直す再ブロック化工程と、
前記各セルのうちの、属するセルブロックが前記再ブロック化工程によって変更されたセルを、変更後のセルブロックが対応する第１計算手段に割り当て直す再割当工程と、をさらにコンピュータに実行させ、
前記解析工程では、前記再割当工程による割り当てに基づいて前記電磁界解析および回路解析を実行することを特徴とする付記２〜７のいずれか一つに記載の電子回路解析プログラム。
【０１２２】
（付記９）電磁界解析および回路解析を実行する電子回路解析装置において、
解析対象空間を所定領域に区切って複数のセルにする区切り手段と、
前記区切り手段によって区切られた各セルのうちの、前記回路解析の解析単位となる回路素子に対応する複数の回路セルを、複数の計算手段のうちの同一の計算手段に割り当てる割当手段と、
前記割当手段による割り当てに基づいて、前記各セルの電磁界解析および前記電磁界解析と連携した回路解析を実行する複数の計算手段と、
を備えることを特徴とする電子回路解析装置。
【０１２３】
（付記１０）電磁界解析および回路解析を実行する電子回路解析方法において、
解析対象空間を所定領域に区切って複数のセルにする区切り工程と、
前記区切り工程によって区切られた各セルのうちの、前記回路解析の解析単位となる回路素子に対応する複数の回路セルを、複数の計算手段のうちの同一の計算手段に割り当てる割当工程と、
前記割当工程による割り当てに基づいて、前記複数の計算手段による前記各セルの電磁界解析および前記電磁界解析と連携した回路解析を実行する解析工程と、
を含むことを特徴とする電子回路解析方法。
【産業上の利用可能性】
【０１２４】
以上のように、この発明にかかる電子回路解析プログラム、電子回路解析装置および電子回路解析方法は、電磁界解析および回路解析を連携させた融合解析に有用であり、特に、ＰＣクラスタやグリッドコンピューティング環境および複数のＣＰＵを有した計算機などを使用した並列処理を行う場合に適している。
【図面の簡単な説明】
【０１２５】
【図１】実施の形態にかかる電子回路解析装置による電子回路の解析の概要を示す図である。
【図２】実施の形態にかかる電子回路解析装置の機能的構成を示すブロック図である。
【図３】実施の形態にかかる電子回路解析の手順の一例を示すフローチャートである。
【図４】図３のステップＳ３０４の割り当て手順の一例を示すフローチャートである。
【図５】図４のステップＳ４０６の後に行う均一化手順の一例を示すフローチャートである。
【図６】図３〜図５の手順の過程で生成されるテーブルの一例を示す図である。
【図７】図４のステップＳ４０１およびステップＳ４０２を説明する工程図である。
【図８】図４のステップＳ４０３およびステップＳ４０４を説明する工程図である。
【図９】図４のステップＳ４０５を説明する工程図である。
【図１０】図５のステップＳ５０３を説明する工程図である。
【図１１】図４のステップＳ４０２の決定手順の一例を示すフローチャートである。
【図１２】拡張セル数と評価関数値との関係の一例を示すグラフである。
【図１３】図１１のステップＳ１１０１の算出手順の一例を示すシーケンス図である。
【図１４】実施の形態にかかる電子回路解析装置のハードウェア構成を示すブロック図である。
【図１５】並列処理によるＦＤＴＤ法と回路解析の融合解析を示すフローチャートである。
【図１６】図１５のステップＳ１５０１を説明する工程図である。
【図１７】図１５のステップＳ１５０３を説明する工程図である。
【図１８】図１５のステップＳ１５０５を説明する工程図である。
【図１９】従来の融合解析における複数のＣＰＵへの各セルの割り当てを示す図（その１）である。
【図２０】従来の融合解析における複数のＣＰＵへの各セルの割り当てを示す図（その２）である。
【符号の説明】
【０１２６】
１００，７００  解析対象空間
２００  電子回路解析装置
７１１〜７１４，７２１，７２２，７４１〜７４３，７５１〜７５３  回路セル
８１１〜８１４，８２１，８２２，８４１〜８４３，８５１〜８５３  回路セル領域
【図１】
2009064096.tif 000003
【図２】
2009064096.tif 000004
【図３】
2009064096.tif 000005
【図４】
2009064096.tif 000006
【図５】
2009064096.tif 000007
【図６】
2009064096.tif 000008
【図７】
2009064096.tif 000009
【図８】
2009064096.tif 000010
【図９】
2009064096.tif 000011
【図１０】
2009064096.tif 000012
【図１１】
2009064096.tif 000013
【図１２】
2009064096.tif 000014
【図１３】
2009064096.tif 000015
【図１４】
2009064096.tif 000016
【図１５】
2009064096.tif 000017
【図１６】
2009064096.tif 000018
【図１７】
2009064096.tif 000019
【図１８】
2009064096.tif 000020
【図１９】
2009064096.tif 000021
【図２０】
2009064096.tif 000022