電磁波解析装置および電磁波解析方法
【課題】電磁波の解析を高速に行うことができ、実装も容易で、フレキシビリティーが高く、実用性に優れ、計算の大規模化も容易な電磁波解析装置を提供する。
【解決手段】解析対象となる3次元空間をグリッドに離散化し、FDTD法またはFIT法により電磁波を解析する電磁波解析装置を提供する。この電磁波解析装置は、解析対象となる3次元空間の電磁場の値を格納する、電磁波の各成分ごとにそれぞれ4つのメモリM1〜M4を有するメモリ部と、解析対象となる3次元空間の1グリッドの電場の3成分または磁場の3成分の演算をデータフロー形式で1クロックで実行する演算部とを有する。メモリ部から1グリッドごとの計算に必要なデータを演算部に一度にロードするように構成する。
【解決手段】解析対象となる3次元空間をグリッドに離散化し、FDTD法またはFIT法により電磁波を解析する電磁波解析装置を提供する。この電磁波解析装置は、解析対象となる3次元空間の電磁場の値を格納する、電磁波の各成分ごとにそれぞれ4つのメモリM1〜M4を有するメモリ部と、解析対象となる3次元空間の1グリッドの電場の3成分または磁場の3成分の演算をデータフロー形式で1クロックで実行する演算部とを有する。メモリ部から1グリッドごとの計算に必要なデータを演算部に一度にロードするように構成する。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、電磁波解析装置および電磁波解析方法に関し、例えば、マイクロ波回路や高周波電子回路などの電磁波の数値シミュレーションに適用して好適なものである。
【背景技術】
【0002】
従来、電磁波解析の有効な方法として時間領域差分法(FDTD法)または有限積分法(FIT法)が知られており、マイクロ波回路や高周波電子回路などの電磁波の数値シミュレーションなどに主に用いられている(例えば、特許文献1〜5および非特許文献1〜9参照)。
【0003】
FDTD法またはFIT法においては、電磁波の解析対象となる3次元空間をグリッド(あるいはセル)と呼ばれる格子状に離散化し(分割し)、電場(ベクトルE)および磁場(ベクトルH)のx、y、z各成分を図11Aに示すようにグリッドの辺の中心や面の中心に配置する(Yeeグリッド)。そして、マクスウェル方程式のうちファラディの法則およびアンペールの法則をそれぞれこのグリッド空間および時間軸上で中心差分表現(図11AおよびB参照)した次の(1)、(2)式を用いて電磁場の計算を行う。1グリッドのx方向の長さ、y方向の長さおよびz方向の長さは互いに異なってもよいが、ここでは簡単のため、x方向の長さ、y方向の長さおよびz方向の長さともΔlとした。すなわち、1グリッドは一辺の長さがΔlの立方体である。
【0004】
【数1】
ここで、(1)、(2)式の磁場および電場の各成分の上付きの添字nは時間差分のインデックス、下付きの添字i、j、kはそれぞれx方向、y方向、z方向の差分のインデックスを示す。
【0005】
具体的には、まず、たとえば、すべてのグリッド上で(2)式により電場の計算を行い、次に、同じくすべてのグリッド上で(1)式により磁場の計算を行い、これらの電場および磁場の計算を交互に実行することにより、1タイムステップΔt分の電磁場の時間発展計算を行い、これを解析者によりあらかじめ決められた全タイムステップ分だけ実行することで、電磁波の3次元時間領域数値シミュレーションを行う。電場の計算と磁場の計算の順序は逆にしてもよい。
【0006】
また、電磁波、例えばマイクロ波により発生する現象では、導体散乱体や誘電体などが複雑な3次元形状で存在する場合もあるが、FDTD法またはFIT法では、グリッド状に離散化された数値モデルの各グリッドごとに、(1)、(2)式中の導電率σ、誘電率ε、透磁率μの値を離散化することにより、不均一媒質も含め数値シミュレーションにこれらの影響を取り込む。さらに、解析領域の外側境界付近には、図12に示すように内側から外側に向かって媒質定数が徐々に真空のものから増していくように設定された完全整合層(Perfectly Matched Layer,PML)と呼ばれる次の(3)、(4)式の差分式のスキームを適用することにより、解析領域の内部で発生し、解析領域の外側領域まで達した電磁波がほぼ反射されることなく吸収され、等価的に無限領域に電磁波が逃げていく状況を実現する。
【0007】
【数2】
【数3】
【0008】
現在、上述のようなFDTD法またはFIT法により電磁波の解析を行うための専用計算機(以下、FDTD/FITスキーム専用計算機という)には、FDTD/FITの処理の一部をハードウェア化し、ホストパーソナルコンピュータ(PC)と連動して動作させ、高速化を図るアクセラレータタイプと、一度ホストPCから数値モデルなどの初期データをダウンロードした後は完全に独立して動作するスタンドアロンタイプとがある。スタンドアロンタイプのFDTD/FITスキーム専用計算機にはさらに、ハードウェアそのものはグラフィック処理装置(GPU)などの市販のものを用い、それにファームウェアを実装して実現する汎用ハードウェアタイプと、FPGA(Field Programmable Gate
Array)やASIC(Application Specific Integrated Circuit)などをベースにプリント基板にてハードウェアを構成するフルカスタムタイプとがある。
【0009】
汎用ハードウェアタイプのFDTD/FITスキーム専用計算機としては、高速・大容量メモリを装備し、高速クロック動作かつ並列処理が可能なプロセッサからなる、数値計算に特化して専用に開発された市販のGPUに、計算したいFDTD/FITスキームをファームウェア化して搭載したものが知られている(非特許文献6参照)。
【0010】
フルカスタムタイプのFDTD/FITスキーム専用計算機としては、FPGAなどにFDTD法の計算スキームをハードウェア化した回路を実現し、これを演算部とし、このほかに電磁場の値を格納するメモリ部を設け、これらの大別して2モジュール(メモリモジュールおよび演算モジュール)のハードウェア構成を持つものが知られている(特許文献1〜4、非特許文献1〜5、7〜9)。
【0011】
【特許文献1】米国特許出願公開第2003/0097544号公報
【特許文献2】米国特許出願公開第2005/0120178号公報
【特許文献3】米国特許出願公開第2005/0273479号公報
【特許文献4】米国特許第7194497号明細書
【特許文献5】米国特許出願公開第2004/0225483号公報
【非特許文献1】H.Kawaguchi,K.Takahara,D.Yamauchi,Design Study of Ultra-high Speed Microwave Simulator Engine,IEEE Trans.Magn.,38[2]part.1(2002),pp.689-692
【非特許文献2】川口秀樹、廣瀬公輝、堀田誠人、松岡俊佑、高原健爾、3次元マイクロ波シミュレータエンジンの基本設計に関する研究、電気学会論文誌A T.IEE JapanVol.122-A,No.12,2002,pp.1038-1044
【非特許文献3】高崎秀樹、川口秀樹、松岡俊佑、高原健爾、3次元マイクロ波シミュレータ・FDTDメモリマシンの開発に関する研究、日本AEM学会誌、Vol.14,No.2(2006),pp.215-219
【非特許文献4】H.Kawaguchi,Y.Fujishima,S.Matsuoka,Improved Architecture ofFDTD/FIT Dedicated Computer for Higher Performance Computation,Digest of 16th International Conference on the Computation of Electromagnetic Fields(COMPUMAG 2007,Aachen,Germany),PC5-1
【非特許文献5】藤島義之、藤田雄也、川口秀樹、松岡俊佑、FDTD/FIT法専用計算機・メモリーマシンの高性能アーキテクチャ化の検討、電子情報通信学会技術研究報告 MW2007−42・信学技報 Vol.107,No.172(2007),pp.1-6
【非特許文献6】R.Schneider,D.Cyca,C.Mason,M.Okoniewski,Evaluation of Emerging Hardware Platforms for Faster Electromagnetic Simulations,EMTS 2007-International URSI Commission B-Electromagnetic Theory Symposium,July 26-28,2007,Ottawa,ON,Canada
【非特許文献7】J.P.Durbano,F.E.Ortiz,J.R.Humphrey,M.S.Mirotznik,D.W.Prather,Hardware Implementation of a Three-Dimensional Finite-Difference Time-Domain Algorithm,IEEE Antennas and Wireless Propagation Letters,Vol.2,2003,pp.54-57
【非特許文献8】P.Placidi,L.Verducci,G.Matrella,L.Roselli,P.Ciampolini,A Custom VLSI Architecture for the Solution of FDTD Equations,IEICE Trans.Electron.,Vol.E85-C,No.3,March,2002,pp.572-577
【非特許文献9】鈴木秀俊、高儀雄太、山口良、上林真司、FPGAに実装したFDTD高速演算装置の試作、電子情報通信学会論文誌B、Vol.J89-B,No.9,2006,pp.1651-1660
【発明の開示】
【発明が解決しようとする課題】
【0012】
上述の従来のFDTD/FITスキーム専用計算機においては、一般に、ALUなどを含む演算部では、FDTD法の1グリッドの電場あるいは磁場の3成分の計算において、グラフィックカードでパイプライン処理を用いた場合もFPGAやASICでフルカスタム化した場合も、演算時間はたかだか数ナノ秒程度であるにもかかわらず、これらの演算を行うために必要な電磁場の値が格納されているメモリへのアクセスでは、1つの値に対し、スタティックRAM(SRAM)あるいはダイナミックRAM(DRAM)のバーストアクセスモード動作で数ナノ秒、DRAMのランダムアクセスモードでは数十ナノ秒要し、かつ、1成分の電場あるいは磁場の計算には5個の場の値、あるいは、3成分一括の場合も重複分を除いても12個の場の値が必要であり、どれだけ演算部を高速化しても、このメモリアクセスでのボトルネックを解決しなければ専用計算機全体としての計算性能は向上しないという問題があった。
【0013】
非特許文献6では、このメモリアクセスでのボトルネックに対するこれまでの対策としては、すべての場の値の格納に高速DRAMをバーストアクセスモードで使用し、また、1次・2次キャッシュを介して、決められた数のプロセッサごとに設けた共有メモリに直接計算する値をバッファリングすることにより、少しでも動作が高速となるように対処していた。
【0014】
また、特許文献1、4、非特許文献7では、FDTD法の定式化を浮動小数点演算ベースのハードウェアに適した形式に定式化し直し、また、媒質定数のメモリアクセスの効率化を行うなど、FDTD法スキームのハードウェア化に際して極力無駄を省略する工夫を施すことにより高速化を図っていた。また、特許文献2では、電磁場の値全体を格納するDRAM(バーストアクセスモード動作)とFDTD法の演算部との間にバッファとしてのSRAMや高速キャッシュを設けることにより高速化を図っていた。非特許文献9でも、演算器の数だけ解析領域を分割して並列処理し、さらにFDTD法スキームの計算処理のパイプライン化を行うなどして高速化を図っていた
【0015】
さらに、非特許文献8では、電磁場の各成分ごとにメモリを分割することにより、メモリアクセスを並列化してアクセス回数を低減して高速化を図っていたが、FDTD法では、(1)式あるいは(2)式の3成分を同時に計算するには、同じ電磁場の成分が少なくとも3つは必要なため、この方式でも最低3回のメモリアクセスを要していた。
【0016】
一方、非特許文献3、4では、(1)、(2)式や(3)、(4)式の右辺の計算に必要な電磁場の値のうち、ある1つの電磁場の成分に注目してみると、必ずx方向、y方向、z方向のいずれか隣り合う2つの座標のペアになっていることに着目して、各電磁場の成分ごとにメモリを用意したうえで、それをさらに、x方向、y方向、z方向それぞれ偶数アドレスと奇数アドレスとに分割した8個のメモリ、したがってすべての成分に対しては48個のメモリを用いることで、一度のメモリアクセスで計算に必要な電磁場の値をすべて取得できる方式を採用していたが、この場合、これをプリント基板など実際のハードウェアで実現するためには、メモリ部へアクセスするためのデータ線およびアドレス線の本数が莫大となり、演算部をLSIなどで実現しようとするとI/Oピンは全く不足してしまい、現実的には実装が困難であるという問題があった。
【0017】
また、非特許文献5では、この同じ課題に対して、電磁場の各成分ごとに同じ内容が格納されている3つのメモリ、したがってすべての成分に対しては18個のメモリを用いることにより、同じく一度のメモリアクセスで計算に必要な電磁場の値をすべて取得できる方式を採用していたが、この場合、FDTD/FITスキームのグリッドは計算可能であるものの、FDTD/FITスキームの数値シミュレーションに必要不可欠なPMLなどの吸収境界条件を与えることができないという問題があった。
【0018】
以上のように、従来のFDTD/FITスキーム専用計算機はいずれも、動作速度、実装の容易さ、フレキシビリティー、実用性、計算の大規模化の容易さなどの点で不十分であった。
そこで、この発明が解決しようとする課題は、マイクロ波などの電磁波の解析を高速に行うことができ、実装も容易で、フレキシビリティーが高く、実用性に優れ、計算の大規模化も容易な電磁波解析装置および電磁波解析方法を提供することである。
【課題を解決するための手段】
【0019】
上記課題を解決するために、第1の発明は、
解析対象となる3次元空間をグリッドに離散化し、FDTD法またはFIT法により電磁波を解析する電磁波解析装置であって、
上記解析対象となる3次元空間の電磁場の値を格納する、電磁場の各成分ごとにそれぞれ4つのメモリを有するメモリ部と、
上記解析対象となる3次元空間の1グリッドの電場の3成分または磁場の3成分の演算をデータフロー形式で1クロックで実行する演算部とを有し、
上記メモリ部から1グリッドごとの計算に必要なデータを上記演算部に一度にロードするように構成されていることを特徴とするものである。
この電磁波解析装置は、典型的には、パーソナルコンピュータなどからなるホストコンピュータと接続され、このホストコンピュータから必要なデータを取得するが、これに限定されるものではなく、必要に応じて、ホストコンピュータの機能を持たせてもよい。
【0020】
第2の発明は、
解析対象となる3次元空間をグリッドに離散化し、FDTD法またはFIT法により電磁波を解析する電磁波解析方法であって、
上記解析対象となる3次元空間の電磁場の値を、電磁場の各成分ごとにそれぞれ4つのメモリを有するメモリ部に格納するステップと、
上記メモリ部から1グリッドごとの計算に必要なデータを上記演算部に一度にロードするステップと、
上記解析対象となる3次元空間の1グリッドの電場の3成分または磁場の3成分の演算を演算部でデータフロー形式で1クロックで実行するステップとを有することを特徴とするものである。
【0021】
第1および第2の発明において、電磁場の値とは、解析対象となる3次元空間(解析領域)にx−y−z直交座標系をとった場合、電場のx、y、z3成分(Ex ,Ey ,Ez )および磁場のx、y、z3成分(Hx ,Hy ,Hz )を意味する。電磁場の各成分とは、Ex ,Ey ,Ez ,Hx ,Hy ,Hz を意味する。電磁波の波長は特に限定されず、たとえば、マイクロ波や光などであってもよい。1グリッドのx方向の長さ、y方向の長さおよびz方向の長さは互いに異なってもよいが、典型的には互いに同一の値に選ぶ。
【0022】
第1および第2の発明においては、メモリ部は電磁場の各成分ごとにそれぞれ4つのメモリを有するが、これは次のような理由による。すなわち、(1)、(2)式からわかるように、たとえば、ある1グリッドでの磁場の3成分
【数4】
の計算には、
【数5】
の計12個の異なる電場および磁場の値が必要である。したがって、たとえ電磁場の各成分Ex ,Ey ,Ez ,Hx ,Hy ,Hz ごとに別々にメモリを用意して並列アクセスしても、必要な値を1度にこれらのメモリから取得することはできない。このため、第1および第2の発明では、(3)、(4)式のPML吸収境界条件の取り扱いも考慮し、電磁場の各成分ごとにそれぞれ4つ、すなわち、電磁場の成分全体では合計24個のメモリを有する構成とし、1グリッドごとの計算に必要なデータをメモリ部から演算部に一度にロードすることとしている。電磁場の各成分ごとにそれぞれ4つ設けられたメモリのうちの3つのメモリには同じ内容で電磁場の各成分そのものの値が、残りの1つのメモリにはPML領域のグリッド計算用に電磁場の各成分のサブ成分の値が格納される。
【0023】
好適には、メモリ部は、バーストモード動作が可能なSRAMまたはDRAMを有するとともに、演算部はバッファを有する。そして、メモリ部は、SRAMまたはDRAMを所定のバイト数(例えば、数バイト〜数100バイト)ごとにバーストアクセスモード動作させ、演算部で計算された電磁場の値((1)、(2)式の右辺)を上記のバッファに一時的に格納し、メモリ部から演算部へのバースト転送周期が完了した後に、上記のバッファに格納されている電磁場の更新値を再度バーストアクセスモードで書き込む。こうすることで、メモリのアクセス回数を最小化することができ、スループット向上による高速化に加え、メモリへのアクセス動作そのものを高速化することができる。
【発明の効果】
【0024】
この発明によれば、1グリッドごとのFDTD/FITスキームの計算を実行する演算部と、電磁場の値や、媒質定数などの数値モデル情報などを格納するメモリ部とが分離した構成としているので、電磁波の解析を行いたい数値モデルごとにハードウェア構成を変えることなく電磁波、たとえばマイクロ波の現象を高速に計算することができ、また、OSなどのソフトウェア的な制約なしに、ハードウェア的に許される限り大容量のメモリを搭載可能となるため、大規模な計算を実行することができる。すなわち、フレキシビリティーが高く、計算の大規模化が容易である。しかも、メモリ部へアクセスするためのデータ線およびアドレス線の本数も少なくて済むため、実装も容易である。また、演算部におけるデータフローアーキテクチャによる電場および磁場の3成分の同時計算の回路構成とメモリ部における電磁場の各成分4つずつのメモリ構成とにより、スループットとしても1グリッド分の(1)式または(2)式の磁場または電場の3成分を1クロックで同時処理することができ、使用するメモリのアクセスタイム限界まで動作時間を最小化した高速な動作を実現することができる。
また、メモリ部のSRAMまたはDRAMをバーストアクセスモード動作させることにより、メモリ部へのアクセス動作そのものを高速化することができるため、より一層の高速化を図ることができる。
【発明を実施するための最良の形態】
【0025】
以下、この発明の実施形態による電磁波解析装置について図面を参照しながら説明する。
まず、この発明の第1の実施形態による電磁波解析装置について説明する。
この電磁波解析装置はFDTD/FITスキーム専用計算機により構成される。
この電磁波解析装置においては、(1)、(2)式の差分式において、電場はe≡E/cと真空中の光速度cで規格化したものを、磁場にはb≡μHと磁束密度を用い、また、クーラン安定条件をcΔt/Δl=1/2と設定し、さらに、半整数表示を整数表示として、
【数6】
と表現し直す。この未知数の取り方および差分式により、電磁場における電場および磁場の数値の絶対値が同じオーダーにそろい、(5)、(6)式の計算は浮動小数点演算を用いないでも5〜6桁の有効数字を持つ整数型の計算で十分な精度を維持することができ、かつ、とりわけ真空の領域では、(5)、(6)式は加減算および1/2の乗算のみからなり、1/2の乗算がディジタル回路では1ビット右シフトで実現することができることに着目すると、この未知数の取り方および差分式は非常にハードウェア化に適した形になっていることがわかる。
【0026】
ただし、(5)、(6)式の右辺の各項にかかる係数は必ずしも整数値ではないが、小数点の値の場合も、十分なビット幅を持たせた演算回路を用いることとした上で、図1に一例(115×2.1を計算する場合)を示すように、一旦、小数点以下の数値がなくなるだけ十分に大きな値2s を乗じてかさ上げした値(sビット左シフト)を使用して乗算を実行した後に、最終的に計算結果をsビット右シフトすることで、浮動小数点演算を使用しないでもハードウェア的にシンプルでかつ少ないクロック数で処理が可能な整数演算の範囲で精度の劣化なしに計算を実行することができる。
また、この電磁波解析装置においては、PML領域用の(3)、(4)式の差分式も、上記の(5)、(6)式と同様に表現し直した差分式を用いる。
【0027】
図2にこの電磁波解析装置1の構成を示す。図2に示すように、この電磁波解析装置1は、電磁場の6つの成分の値(ex ,ey ,ez ,bx ,by ,bz )を格納するメモリモジュール2と、FDTD/FITスキームの1グリッドの電磁場のx、y、z3成分の演算をデータフロー形式で1クロックで実行する演算モジュール3と、メモリモジュール2と演算モジュール3との間のデータのやりとりを制御するセレクタ回路4とを有する。メモリモジュール2と演算モジュール3との間のデータのやりとりはバス5を通じて行われる。
【0028】
メモリモジュール2は、電磁場の各成分ごとに4つのメモリ(メモリM1〜M4)、6つの成分に対しては合計24個のメモリを有する。これらのメモリM1〜M4のうちの3つのメモリM1〜M3は、FDTD/FITグリッドの(5)、(6)式の計算を実行するために用いられ、電磁場の各成分そのものが格納され、3つのメモリM1〜M3とも同一の内容となっている。これらのメモリM1〜M4のうちのメモリM4は、PML領域グリッドの(3)、(4)式を(5)、(6)式と同様に表現し直した差分式(未知数はexy,eyz,ezx,bxy,byz,bzx)の計算を実行するために用いられる。また、メモリM4は、PML領域グリッドの上記のように表現し直した差分式を計算する際に、たとえば、bx =bxy+bxzのように電磁場の各成分を2つに分割して扱うために、bxy,bxzのいずれかを格納しておく必要があり、そのために用いる。実際、bxy,bxzの両方を格納しておく必要はなく、いずれかがわかれば、bx から引き算することでもう片方も計算できる。メモリモジュール2を上述のように構成することで、スループットとしての計算性能に大きく影響するメモリアクセスは、最小限の1回にまで減らすことができる。これらのメモリM1〜M4としては、たとえば、SRAMまたはDRAMが用いられる。
メモリモジュール2はさらに、境界条件を格納するメモリM5、媒質定数などの数値モデル情報を格納するメモリM6および入力信号情報を格納するメモリM7を有する。
【0029】
メモリM6には、具体的には、(1)、(2)式や(3)、(4)式を表現し直した式に現れる媒質定数などの係数を真空中のものも含めて全グリッド分の値を格納しておき、これらの値もこのグリッドの計算の際に自動的に参照するものとする。また、メモリM5には、計算しているアドレスのグリッドが、真空か完全導体かあるいはPML領域かなどの情報を格納しておく。とりわけ、計算しているグリッドが完全導体かそうでないかの情報はそれぞれ、”0”と”1”で識別してあらかじめ格納しておき、各グリッドのFDTD/FITスキームの計算が終わりこれをメモリに再度書き込む直前に、この”0”か”1”の値とAND論理演算を行うことにより、完全導体のグリッドではすべての値がゼロになるという境界条件が設定され、そうでないグリッドでは、計算されたそのままの値がメモリに書き込まれ、どんな余分のクロック動作も必要とせず、かつ、自動的に数値モデル形状がシミュレーションに組み込まれるものとする。こうすることで、計算したい数値モデル形状や計算の規模、さらに媒質の分布が変わっても、ハードウェアを変更することなく、メモリモジュール2に格納するデータ(後述のようにホストPCからダウンロードする)を変更するだけで、様々な電磁波の解析にこの電磁波解析装置1を適用することが可能となる。
【0030】
メモリM7には入力信号の情報、具体的には、電磁波の波源となる入力信号の波形、波長(周波数)、波形振幅などを格納する。より具体的には、メモリM7には、正弦波、ガウスパルスなどの信号波形を必要なタイムステップ分だけ数値として格納しておき,演算モジュール3における1グリッド分の計算の処理が波源のあるグリッドに達した際に、(1)式または(2)式の計算の最後で、かつ、メモリに格納する直前の部分で、ハードウェア的に自動で(1)式または(2)式の右辺にこれらメモリにある入力信号波形の値を加え合わせるものとする。このようにすることで、パワー入力のために余分なクロックを必要とせず、かつ、メモリに入力波形および波源のグリッドアドレスを格納するだけでハードウェアが自動的にパワー入力処理を実行する方式を実現することができる。
メモリM5〜M7としては、たとえば、SRAMまたはDRAMが用いられる。
【0031】
メモリM1〜M7は、それぞれ独立した個別のメモリを用いてもよいし、それらのうちの1つまたは2つ以上のメモリとして、独立した1つのメモリのメモリ領域をN個(Nは2以上7以下の整数)に分割したものを用い、このN個のメモリ領域をメモリM1〜M7のうちのいずれかN個に用いてもよい。例えば、独立した1つのメモリのメモリ領域を2つに分割し、これらの2つのメモリ領域をメモリM1およびメモリM6に用いてもよい。
【0032】
メモリモジュール2は、上述のメモリM1〜M7に加えて、システムクロックカウンタ/アドレス発生器21およびこのシステムクロックカウンタ/アドレス発生器21を制御するマスターコントローラ22を有する。
システムクロックカウンタ/アドレス発生器21のシステムクロックカウンタの構成を図3に示す。図3に示すように、このシステムクロックカウンタは、LSB(最下位ビット)側から、動作フェーズ(3ビット)、x方向グリッドアドレス(iビット)、y方向グリッドアドレス(jビット)、z方向グリッドアドレス(kビット)、電場/磁場セレクタ(1ビット)、タイムステップ(nビット)の構成を有する。このシステムクロックカウンタは、システムクロックをカウントアップし、時間領域シミュレーションをスケジューリング(管理・制御)するものである。
【0033】
演算モジュール3は、電磁場のx、y、z3成分のそれぞれに対応して、FDTD/FITスキームのグリッドの(5)、(6)式の計算を実行するための演算回路31およびPML領域グリッドの、(3)、(4)式を(5)、(6)式と同様に表現し直した式の計算を実行するための演算回路32を有する。これらの演算回路31、32の詳細を図4に示す。図4に示すように、演算回路31は、FDTD/FITスキームのグリッドの(5)式または(6)式の計算をデータフロー形式で1クロックで実行することができるように構成されている。同様に、演算回路32は、PML領域グリッドの、(3)、(4)式を(5)、(6)式と同様に表現し直した式の計算をデータフロー形式で1クロックで実行することができるように構成されている。時間発展計算においては、これらの演算回路31、32にメモリモジュール2からデータをロードしてそれぞれ独立に計算を実行させ、境界条件が格納されているメモリM5から、グリッドアドレス(i,j,k)が、FDTD/FITグリッド((1)、(2)式)か、それともPML領域グリッド((3)、(4)式を(5)、(6)式と同様に表現し直した式)のいずれなのかを参照し、これらの2種類の演算回路31、32のうちの該当する方の計算結果の値を自動的にセレクトし、これをメモリモジュール2のメモリM1〜M4に書き込んで戻す。
【0034】
図5は、演算回路31におけるFDTD/FITスキームのグリッドの(5)式または(6)式の計算をデータフロー形式で1クロックで実行する様子を示す。図5には、一例として(5)式の計算を実行する場合が示されている。この演算回路31は、データフロー性および成分に関する並列性を実現するために、(5)式または(6)式の計算をデータフロー方式で1クロックで実行するように(5)、(6)式の計算に共通の回路構成となっており、上述のシステムクロックカウンタの電場(e)/磁場(b)セレクタビット(図3参照)により、(5)、(6)式の右辺第2項の符号を+または−に切り替えることにより(5)式と(6)式とを使い分ける方式とし、さらにこの演算回路をx、y、z3成分用意している。演算回路32についても同様である。
【0035】
図6は電磁波解析装置1の使用形態を示す。図6に示すように、電磁波解析装置1のセレクタ回路4をPCIインターフェース6によりホストPC7と接続する。ホストPC7には、電磁波解析装置1における電磁場の計算に必要な境界条件、グリッド情報、入力信号情報などが格納され、これらが必要に応じて電磁波解析装置1にダウンロードされてメモリモジュール2のメモリM5〜M7に格納されるようになっている。
【0036】
図7にこの電磁波解析装置1の動作を示すフローチャートの一例を示す。図7を参照してこの電磁波解析装置1による電磁波解析の方法について説明する。
図7に示すように、まず、ステップS1において、ホストPC7における、変数(未知数)のゼロクリアや光速度、真空の誘電率、透磁率などの物理定数の設定などの初期化の処理を行った後、ステップS2において、計算する数値モデル形状や数値モデルの各部の媒質定数、計算する全タイムステップ数、パワー入力方法(入力位置、周波数、信号波形など)などの数値モデル作成の処理を行う。そして、この数値モデル作成処理で作成した数値モデル形状などのデータを電磁波解析装置1のメモリM5〜M7にダウンロードする。
【0037】
次に、ステップS3およびステップS4において、(6)式にしたがった全解析領域のグリッドについての1グリッド3成分の電場計算および(4)式を表現し直した差分式にしたがった全PML領域のグリッドについての1グリッド6成分の電場計算、すなわちPML吸収境界の電場計算を演算モジュール3において行う。この際、境界条件格納用のメモリM5を参照し、計算中のグリッドが解析領域のグリッドかPML領域のグリッドかに応じて、当該グリッドの方の計算値をメモリM1〜M4に書き込み、そうでない方の計算値は廃棄する。ステップS3においては、演算モジュール3が、境界条件が格納されたメモリM5を参照し、電場の境界条件を自動的に設定する。この場合、完全導体部分の電場成分はゼロに設定する。また、ステップS3においては、演算モジュール3が、数値モデル情報が格納されたメモリM6を参照し、電場計算の差分式に自動的に取り込む。また、ステップS3においては、演算モジュール3が、入力信号情報が格納されたメモリM7を参照し、パワー入力を自動的に設定する。パワー入力は、具体的には、電磁波波源のグリッドに正弦波、ガウスパルスなどの波形を印加する。このパワー入力の処理は、ステップS5で実行してもよい。
【0038】
次に、ステップS5およびステップS6において、(5)式にしたがった全解析領域のグリッドについての1グリッド3成分の磁場計算および(3)式を表現し直した差分式にしたがった全PML領域のグリッドについての1グリッド6成分の磁場計算、すなわちPML吸収境界の磁場計算を演算モジュール3において行う。この際、境界条件格納用のメモリM5を参照し、計算中のグリッドが解析領域のグリッドかPML領域のグリッドかに応じて、当該グリッドの方の計算値をメモリM1〜M3に書き込み、そうでない方の計算値は廃棄する。ステップS5においては、演算モジュール3が、境界条件が格納されたメモリM5を参照し、磁場の境界条件を自動的に設定する。この場合、完全導体部分の磁場成分はゼロに設定する。また、ステップS5においては、演算モジュール3が、数値モデル情報が格納されたメモリM6を参照し、磁場計算の差分式に自動的に取り込む。
【0039】
ステップS3〜S6の処理を解析者によりあらかじめ決められたタイムステップ分繰り返して時間発展計算を実行する。ステップS7において、全タイムステップ分の計算が終了したら、ステップS8に進む。この場合、図3に示すシステムクロックカウンタにより、電場計算、PML吸収境界の電場計算、磁場計算、PML吸収境界の磁場計算の全グリッド分の計算およびその全タイムステップ分の計算のスケジューリングを行う。すなわち、このシステムクロックカウンタでは、クロックが進むにつれ、下位ビットから順にカウントアップされ、1グリッド分の磁場あるいは電場の計算(メモリへのアドレス指示、メモリからのデータの取得、演算モジュール3での1グリッド分の電磁場の3成分のFDTD/FITスキームの計算、この計算結果のメモリへの書き込みなど)に6〜8クロック、この動作を全グリッド空間2i ×2j ×2k にわたり、それぞれ磁場および電場に関して実行することにより、1タイムステップ分の全領域のマイクロ波の時間発展を計算し、これを決められたタイムステップ2n だけ繰り返してシミュレーション動作を終了する。
【0040】
ステップS8において、ホストPC7は、電磁場の計算結果のデータを電磁波解析装置1のメモリモジュール2からアップロードし、このデータを加工し、電磁場の強度分布などの必要な物理量をファイルなどに出力したり、グラフ化したりする結果出力の処理を行う。
【0041】
図8は電磁波解析装置1の実装例を示す。図8に示すように、この例では、プリント基板8上に、メモリモジュール2の電磁場の各成分ごとにメモリM1〜M4を一体化したメモリ9〜14、メモリM5〜M7、システムクロックカウンタ/アドレス発生器21およびマスターコントローラ22と、演算モジュール3のFDTD/FITスキームのグリッド用の演算回路31およびPML領域のグリッド用の演算回路32と、セレクタ回路4とが搭載されている。メモリ9〜14、メモリM5〜M7、システムクロックカウンタ/アドレス発生器21、演算回路31、32などはソケット15を用いてプリント基板8上に搭載されている。これらの搭載部品のほとんどは例えばFPGAまたはASICにより作製することができる。このように構成することにより、電磁波解析装置1をFDTD/FITスキーム専用計算機により構成する場合でも、数値モデルに対してフレキシビリティーを持たすことができる。すなわち、完全導体形状、PML領域の範囲などの境界条件、誘電率、透磁率の分布やPMLパラメータなどの数値モデル情報、および、電磁波波源の波形などの入力信号情報はホストPC7において生成され、境界条件用のメモリM5、数値モデル情報用のメモリM6および入力信号用のメモリM7に転送され格納される。これらのデータは演算モジュール3におけるFDTD/FITスキーム計算およびPML領域の計算において自動的に参照される。したがって、これらの境界条件用のメモリM5、数値モデル情報用のメモリM6および入力信号用のメモリM7の内容を変更するだけで、同じ電磁波解析装置1を用いて様々な数値モデルのシミュレーションを行うことができる。
【0042】
次に、ハードウェア記述言語であるVHDL(VHSIC Hardware Description Language)により電磁波解析装置1による論理シミュレーションを行った結果について説明する。
図9AおよびBは使用した数値モデルを示す。この数値モデルは、60×60×30グリッドサイズでPML層が4層の3次元領域における矩形導波路の中心部分にマイクロ波のTE10モード(振幅8192、周波数1.5GHz)を入力した場合の矩形導波路からのマイクロ波放射現象のものである。この数値モデルを用いてVHDL論理シミュレーションを行った結果を図10Bに示す。図10Aは同じ数値モデルを用いてC言語ソフトウェアシミュレーションを行った結果を示す。図10Bに示す結果を図10Aに示す結果と比較すると、両者の電場強度の差は1.4%以内であることがわかる。この差は主として、16ビットのデータフォーマットを使用したことによる打ち切り誤差によるものである。この結果より、この電磁波解析装置1の有効性が明らかである。
【0043】
この第1の実施形態によれば、次のような利点を得ることができる。すなわち、電磁波解析装置1をFDTD/FITスキーム専用計算機により構成し、メモリモジュール2と演算モジュール3とを分離した構成としていることにより、数値シミュレーションに用いる数値モデルに応じてメモリモジュール2を適切な構成のものに交換することができ、比較的複雑な構成を有する演算モジュール3は変更しないで、数値モデルの変更に柔軟に対応することができ、フレキシビリティーが高い。また、メモリモジュール2は電磁場の各成分ごとに4つのメモリM1〜M4、電磁場の6成分では合計24個のメモリを設け、これらのメモリから1グリッドごとの計算に必要なデータを1クロックで演算モジュール3にロードし、電磁場の各成分の計算を並列的に実行するようにしていることにより、メモリモジュール2へのアクセス回数を最小限にすることができ、それによって高速動作化を図ることができ、電磁波解析を高速かつ短時間で行うことができる。また、この電磁波解析装置1は実装や計算の大規模化が容易である。以上により、極めて実用性が高い高性能の電磁波解析装置1を実現することができる。
この電磁波解析装置1は、マイクロ波現象その他の各種の電磁波の数値シミュレーションに適用して好適なものである。
【0044】
次に、この発明の第2の実施形態による電磁波解析装置について説明する。
この第2の実施形態においては、メモリモジュール2へのアクセス回数の最小限化に加え、さらに、メモリモジュール2へのアクセスそのものをより高速化すべく、メモリM1〜M4としてバーストモード動作が可能なSRAMまたはDRAMを用い、メモリからのデータの取得やメモリへの書き込みでは、バーストアクセスモードで動作させる方式が用いられる。バーストアクセスモードは、一度、先頭アドレスを指定すると、たとえば数バイト〜数百バイトの決められたバイト数分連続するアドレスのデータを続けて取得する動作であるが、FDTD/FITでは基本的にはグリッドアドレスの順にメモリにアクセスするためこのバーストアクセスモードの適用が可能であり、毎回のアドレスの指定がない分、高速動作が可能である一方、この連続データ取得中は同じメモリへの書き込みはできない。このため、演算モジュール3に、たとえば数バイト〜数百バイトのバースト連続転送分のバッファを用意し、まとめてバーストアクセスモードでデータを取得して計算した後、それを、同じくまとめてバーストアクセスモードでメモリに書き込むことにより、ランダムアクセスモードに比べ、数倍から数十倍の高速化を図ることができる。上記以外のことは第1の実施形態と同様である。
この第2の実施形態によれば、第1の実施形態と同様な利点に加えて、動作速度のより一層の向上を図ることができ、電磁場の解析をより高速に行うことができるという利点を得ることができる。
【0045】
以上、この発明の実施形態について具体的に説明したが、この発明は、上述の実施形態に限定されるものではなく、この発明の技術的思想に基づく各種の変形が可能である。
例えば、上述の実施形態において挙げた数値、回路構成、配置などはあくまでも例に過ぎず、必要に応じて、これらと異なる数値、回路構成、配置などを用いてもよい。
【図面の簡単な説明】
【0046】
【図1】整数演算の範疇で決められた桁数の精度内で小数点同士の演算を実行する方式を説明するための略線図である。
【図2】この発明の第1の実施形態による電磁波解析装置を示す略線図である。
【図3】この発明の第1の実施形態による電磁波解析装置による数値シミュレーションをスケジューリングするシステムクロックカウンタの構成を示す略線図である。
【図4】この発明の第1の実施形態による電磁波解析装置の動作を説明するための略線図である。
【図5】この発明の第1の実施形態による電磁波解析装置の動作を説明するための略線図である。
【図6】この発明の第1の実施形態による電磁波解析装置をホストPCと接続した状態を示す略線図である。
【図7】この発明の第1の実施形態による電磁波解析装置の動作を説明するためのフローチャートである。
【図8】この発明の第1の実施形態による電磁波解析装置の実装例を示す略線図である。
【図9】この発明の第1の実施形態による電磁波解析装置を用いて行った数値シミュレーションに用いた数値モデルを示す略線図である。
【図10】この発明の第1の実施形態による電磁波解析装置を用いて行った数値シミュレーションの結果を示す略線図である。
【図11】FDTD/FITにおける空間的および時間的な電磁場の各成分の離散化方法を示す略線図である。
【図12】PML吸収境界条件における解析領域の外側に設置する媒質境界層を示す略線図である。
【符号の説明】
【0047】
1…電磁波解析装置、2…メモリモジュール、3…演算モジュール、4…セレクタ回路、5…バス、6…PCIインターフェース、7…ホストPC、8…プリント基板、M1〜M7、9〜14…メモリ、21…システムクロックカウンタ/アドレス発生器、22…マスターコントローラ、31、32…演算回路
【技術分野】
【0001】
この発明は、電磁波解析装置および電磁波解析方法に関し、例えば、マイクロ波回路や高周波電子回路などの電磁波の数値シミュレーションに適用して好適なものである。
【背景技術】
【0002】
従来、電磁波解析の有効な方法として時間領域差分法(FDTD法)または有限積分法(FIT法)が知られており、マイクロ波回路や高周波電子回路などの電磁波の数値シミュレーションなどに主に用いられている(例えば、特許文献1〜5および非特許文献1〜9参照)。
【0003】
FDTD法またはFIT法においては、電磁波の解析対象となる3次元空間をグリッド(あるいはセル)と呼ばれる格子状に離散化し(分割し)、電場(ベクトルE)および磁場(ベクトルH)のx、y、z各成分を図11Aに示すようにグリッドの辺の中心や面の中心に配置する(Yeeグリッド)。そして、マクスウェル方程式のうちファラディの法則およびアンペールの法則をそれぞれこのグリッド空間および時間軸上で中心差分表現(図11AおよびB参照)した次の(1)、(2)式を用いて電磁場の計算を行う。1グリッドのx方向の長さ、y方向の長さおよびz方向の長さは互いに異なってもよいが、ここでは簡単のため、x方向の長さ、y方向の長さおよびz方向の長さともΔlとした。すなわち、1グリッドは一辺の長さがΔlの立方体である。
【0004】
【数1】
ここで、(1)、(2)式の磁場および電場の各成分の上付きの添字nは時間差分のインデックス、下付きの添字i、j、kはそれぞれx方向、y方向、z方向の差分のインデックスを示す。
【0005】
具体的には、まず、たとえば、すべてのグリッド上で(2)式により電場の計算を行い、次に、同じくすべてのグリッド上で(1)式により磁場の計算を行い、これらの電場および磁場の計算を交互に実行することにより、1タイムステップΔt分の電磁場の時間発展計算を行い、これを解析者によりあらかじめ決められた全タイムステップ分だけ実行することで、電磁波の3次元時間領域数値シミュレーションを行う。電場の計算と磁場の計算の順序は逆にしてもよい。
【0006】
また、電磁波、例えばマイクロ波により発生する現象では、導体散乱体や誘電体などが複雑な3次元形状で存在する場合もあるが、FDTD法またはFIT法では、グリッド状に離散化された数値モデルの各グリッドごとに、(1)、(2)式中の導電率σ、誘電率ε、透磁率μの値を離散化することにより、不均一媒質も含め数値シミュレーションにこれらの影響を取り込む。さらに、解析領域の外側境界付近には、図12に示すように内側から外側に向かって媒質定数が徐々に真空のものから増していくように設定された完全整合層(Perfectly Matched Layer,PML)と呼ばれる次の(3)、(4)式の差分式のスキームを適用することにより、解析領域の内部で発生し、解析領域の外側領域まで達した電磁波がほぼ反射されることなく吸収され、等価的に無限領域に電磁波が逃げていく状況を実現する。
【0007】
【数2】
【数3】
【0008】
現在、上述のようなFDTD法またはFIT法により電磁波の解析を行うための専用計算機(以下、FDTD/FITスキーム専用計算機という)には、FDTD/FITの処理の一部をハードウェア化し、ホストパーソナルコンピュータ(PC)と連動して動作させ、高速化を図るアクセラレータタイプと、一度ホストPCから数値モデルなどの初期データをダウンロードした後は完全に独立して動作するスタンドアロンタイプとがある。スタンドアロンタイプのFDTD/FITスキーム専用計算機にはさらに、ハードウェアそのものはグラフィック処理装置(GPU)などの市販のものを用い、それにファームウェアを実装して実現する汎用ハードウェアタイプと、FPGA(Field Programmable Gate
Array)やASIC(Application Specific Integrated Circuit)などをベースにプリント基板にてハードウェアを構成するフルカスタムタイプとがある。
【0009】
汎用ハードウェアタイプのFDTD/FITスキーム専用計算機としては、高速・大容量メモリを装備し、高速クロック動作かつ並列処理が可能なプロセッサからなる、数値計算に特化して専用に開発された市販のGPUに、計算したいFDTD/FITスキームをファームウェア化して搭載したものが知られている(非特許文献6参照)。
【0010】
フルカスタムタイプのFDTD/FITスキーム専用計算機としては、FPGAなどにFDTD法の計算スキームをハードウェア化した回路を実現し、これを演算部とし、このほかに電磁場の値を格納するメモリ部を設け、これらの大別して2モジュール(メモリモジュールおよび演算モジュール)のハードウェア構成を持つものが知られている(特許文献1〜4、非特許文献1〜5、7〜9)。
【0011】
【特許文献1】米国特許出願公開第2003/0097544号公報
【特許文献2】米国特許出願公開第2005/0120178号公報
【特許文献3】米国特許出願公開第2005/0273479号公報
【特許文献4】米国特許第7194497号明細書
【特許文献5】米国特許出願公開第2004/0225483号公報
【非特許文献1】H.Kawaguchi,K.Takahara,D.Yamauchi,Design Study of Ultra-high Speed Microwave Simulator Engine,IEEE Trans.Magn.,38[2]part.1(2002),pp.689-692
【非特許文献2】川口秀樹、廣瀬公輝、堀田誠人、松岡俊佑、高原健爾、3次元マイクロ波シミュレータエンジンの基本設計に関する研究、電気学会論文誌A T.IEE JapanVol.122-A,No.12,2002,pp.1038-1044
【非特許文献3】高崎秀樹、川口秀樹、松岡俊佑、高原健爾、3次元マイクロ波シミュレータ・FDTDメモリマシンの開発に関する研究、日本AEM学会誌、Vol.14,No.2(2006),pp.215-219
【非特許文献4】H.Kawaguchi,Y.Fujishima,S.Matsuoka,Improved Architecture ofFDTD/FIT Dedicated Computer for Higher Performance Computation,Digest of 16th International Conference on the Computation of Electromagnetic Fields(COMPUMAG 2007,Aachen,Germany),PC5-1
【非特許文献5】藤島義之、藤田雄也、川口秀樹、松岡俊佑、FDTD/FIT法専用計算機・メモリーマシンの高性能アーキテクチャ化の検討、電子情報通信学会技術研究報告 MW2007−42・信学技報 Vol.107,No.172(2007),pp.1-6
【非特許文献6】R.Schneider,D.Cyca,C.Mason,M.Okoniewski,Evaluation of Emerging Hardware Platforms for Faster Electromagnetic Simulations,EMTS 2007-International URSI Commission B-Electromagnetic Theory Symposium,July 26-28,2007,Ottawa,ON,Canada
【非特許文献7】J.P.Durbano,F.E.Ortiz,J.R.Humphrey,M.S.Mirotznik,D.W.Prather,Hardware Implementation of a Three-Dimensional Finite-Difference Time-Domain Algorithm,IEEE Antennas and Wireless Propagation Letters,Vol.2,2003,pp.54-57
【非特許文献8】P.Placidi,L.Verducci,G.Matrella,L.Roselli,P.Ciampolini,A Custom VLSI Architecture for the Solution of FDTD Equations,IEICE Trans.Electron.,Vol.E85-C,No.3,March,2002,pp.572-577
【非特許文献9】鈴木秀俊、高儀雄太、山口良、上林真司、FPGAに実装したFDTD高速演算装置の試作、電子情報通信学会論文誌B、Vol.J89-B,No.9,2006,pp.1651-1660
【発明の開示】
【発明が解決しようとする課題】
【0012】
上述の従来のFDTD/FITスキーム専用計算機においては、一般に、ALUなどを含む演算部では、FDTD法の1グリッドの電場あるいは磁場の3成分の計算において、グラフィックカードでパイプライン処理を用いた場合もFPGAやASICでフルカスタム化した場合も、演算時間はたかだか数ナノ秒程度であるにもかかわらず、これらの演算を行うために必要な電磁場の値が格納されているメモリへのアクセスでは、1つの値に対し、スタティックRAM(SRAM)あるいはダイナミックRAM(DRAM)のバーストアクセスモード動作で数ナノ秒、DRAMのランダムアクセスモードでは数十ナノ秒要し、かつ、1成分の電場あるいは磁場の計算には5個の場の値、あるいは、3成分一括の場合も重複分を除いても12個の場の値が必要であり、どれだけ演算部を高速化しても、このメモリアクセスでのボトルネックを解決しなければ専用計算機全体としての計算性能は向上しないという問題があった。
【0013】
非特許文献6では、このメモリアクセスでのボトルネックに対するこれまでの対策としては、すべての場の値の格納に高速DRAMをバーストアクセスモードで使用し、また、1次・2次キャッシュを介して、決められた数のプロセッサごとに設けた共有メモリに直接計算する値をバッファリングすることにより、少しでも動作が高速となるように対処していた。
【0014】
また、特許文献1、4、非特許文献7では、FDTD法の定式化を浮動小数点演算ベースのハードウェアに適した形式に定式化し直し、また、媒質定数のメモリアクセスの効率化を行うなど、FDTD法スキームのハードウェア化に際して極力無駄を省略する工夫を施すことにより高速化を図っていた。また、特許文献2では、電磁場の値全体を格納するDRAM(バーストアクセスモード動作)とFDTD法の演算部との間にバッファとしてのSRAMや高速キャッシュを設けることにより高速化を図っていた。非特許文献9でも、演算器の数だけ解析領域を分割して並列処理し、さらにFDTD法スキームの計算処理のパイプライン化を行うなどして高速化を図っていた
【0015】
さらに、非特許文献8では、電磁場の各成分ごとにメモリを分割することにより、メモリアクセスを並列化してアクセス回数を低減して高速化を図っていたが、FDTD法では、(1)式あるいは(2)式の3成分を同時に計算するには、同じ電磁場の成分が少なくとも3つは必要なため、この方式でも最低3回のメモリアクセスを要していた。
【0016】
一方、非特許文献3、4では、(1)、(2)式や(3)、(4)式の右辺の計算に必要な電磁場の値のうち、ある1つの電磁場の成分に注目してみると、必ずx方向、y方向、z方向のいずれか隣り合う2つの座標のペアになっていることに着目して、各電磁場の成分ごとにメモリを用意したうえで、それをさらに、x方向、y方向、z方向それぞれ偶数アドレスと奇数アドレスとに分割した8個のメモリ、したがってすべての成分に対しては48個のメモリを用いることで、一度のメモリアクセスで計算に必要な電磁場の値をすべて取得できる方式を採用していたが、この場合、これをプリント基板など実際のハードウェアで実現するためには、メモリ部へアクセスするためのデータ線およびアドレス線の本数が莫大となり、演算部をLSIなどで実現しようとするとI/Oピンは全く不足してしまい、現実的には実装が困難であるという問題があった。
【0017】
また、非特許文献5では、この同じ課題に対して、電磁場の各成分ごとに同じ内容が格納されている3つのメモリ、したがってすべての成分に対しては18個のメモリを用いることにより、同じく一度のメモリアクセスで計算に必要な電磁場の値をすべて取得できる方式を採用していたが、この場合、FDTD/FITスキームのグリッドは計算可能であるものの、FDTD/FITスキームの数値シミュレーションに必要不可欠なPMLなどの吸収境界条件を与えることができないという問題があった。
【0018】
以上のように、従来のFDTD/FITスキーム専用計算機はいずれも、動作速度、実装の容易さ、フレキシビリティー、実用性、計算の大規模化の容易さなどの点で不十分であった。
そこで、この発明が解決しようとする課題は、マイクロ波などの電磁波の解析を高速に行うことができ、実装も容易で、フレキシビリティーが高く、実用性に優れ、計算の大規模化も容易な電磁波解析装置および電磁波解析方法を提供することである。
【課題を解決するための手段】
【0019】
上記課題を解決するために、第1の発明は、
解析対象となる3次元空間をグリッドに離散化し、FDTD法またはFIT法により電磁波を解析する電磁波解析装置であって、
上記解析対象となる3次元空間の電磁場の値を格納する、電磁場の各成分ごとにそれぞれ4つのメモリを有するメモリ部と、
上記解析対象となる3次元空間の1グリッドの電場の3成分または磁場の3成分の演算をデータフロー形式で1クロックで実行する演算部とを有し、
上記メモリ部から1グリッドごとの計算に必要なデータを上記演算部に一度にロードするように構成されていることを特徴とするものである。
この電磁波解析装置は、典型的には、パーソナルコンピュータなどからなるホストコンピュータと接続され、このホストコンピュータから必要なデータを取得するが、これに限定されるものではなく、必要に応じて、ホストコンピュータの機能を持たせてもよい。
【0020】
第2の発明は、
解析対象となる3次元空間をグリッドに離散化し、FDTD法またはFIT法により電磁波を解析する電磁波解析方法であって、
上記解析対象となる3次元空間の電磁場の値を、電磁場の各成分ごとにそれぞれ4つのメモリを有するメモリ部に格納するステップと、
上記メモリ部から1グリッドごとの計算に必要なデータを上記演算部に一度にロードするステップと、
上記解析対象となる3次元空間の1グリッドの電場の3成分または磁場の3成分の演算を演算部でデータフロー形式で1クロックで実行するステップとを有することを特徴とするものである。
【0021】
第1および第2の発明において、電磁場の値とは、解析対象となる3次元空間(解析領域)にx−y−z直交座標系をとった場合、電場のx、y、z3成分(Ex ,Ey ,Ez )および磁場のx、y、z3成分(Hx ,Hy ,Hz )を意味する。電磁場の各成分とは、Ex ,Ey ,Ez ,Hx ,Hy ,Hz を意味する。電磁波の波長は特に限定されず、たとえば、マイクロ波や光などであってもよい。1グリッドのx方向の長さ、y方向の長さおよびz方向の長さは互いに異なってもよいが、典型的には互いに同一の値に選ぶ。
【0022】
第1および第2の発明においては、メモリ部は電磁場の各成分ごとにそれぞれ4つのメモリを有するが、これは次のような理由による。すなわち、(1)、(2)式からわかるように、たとえば、ある1グリッドでの磁場の3成分
【数4】
の計算には、
【数5】
の計12個の異なる電場および磁場の値が必要である。したがって、たとえ電磁場の各成分Ex ,Ey ,Ez ,Hx ,Hy ,Hz ごとに別々にメモリを用意して並列アクセスしても、必要な値を1度にこれらのメモリから取得することはできない。このため、第1および第2の発明では、(3)、(4)式のPML吸収境界条件の取り扱いも考慮し、電磁場の各成分ごとにそれぞれ4つ、すなわち、電磁場の成分全体では合計24個のメモリを有する構成とし、1グリッドごとの計算に必要なデータをメモリ部から演算部に一度にロードすることとしている。電磁場の各成分ごとにそれぞれ4つ設けられたメモリのうちの3つのメモリには同じ内容で電磁場の各成分そのものの値が、残りの1つのメモリにはPML領域のグリッド計算用に電磁場の各成分のサブ成分の値が格納される。
【0023】
好適には、メモリ部は、バーストモード動作が可能なSRAMまたはDRAMを有するとともに、演算部はバッファを有する。そして、メモリ部は、SRAMまたはDRAMを所定のバイト数(例えば、数バイト〜数100バイト)ごとにバーストアクセスモード動作させ、演算部で計算された電磁場の値((1)、(2)式の右辺)を上記のバッファに一時的に格納し、メモリ部から演算部へのバースト転送周期が完了した後に、上記のバッファに格納されている電磁場の更新値を再度バーストアクセスモードで書き込む。こうすることで、メモリのアクセス回数を最小化することができ、スループット向上による高速化に加え、メモリへのアクセス動作そのものを高速化することができる。
【発明の効果】
【0024】
この発明によれば、1グリッドごとのFDTD/FITスキームの計算を実行する演算部と、電磁場の値や、媒質定数などの数値モデル情報などを格納するメモリ部とが分離した構成としているので、電磁波の解析を行いたい数値モデルごとにハードウェア構成を変えることなく電磁波、たとえばマイクロ波の現象を高速に計算することができ、また、OSなどのソフトウェア的な制約なしに、ハードウェア的に許される限り大容量のメモリを搭載可能となるため、大規模な計算を実行することができる。すなわち、フレキシビリティーが高く、計算の大規模化が容易である。しかも、メモリ部へアクセスするためのデータ線およびアドレス線の本数も少なくて済むため、実装も容易である。また、演算部におけるデータフローアーキテクチャによる電場および磁場の3成分の同時計算の回路構成とメモリ部における電磁場の各成分4つずつのメモリ構成とにより、スループットとしても1グリッド分の(1)式または(2)式の磁場または電場の3成分を1クロックで同時処理することができ、使用するメモリのアクセスタイム限界まで動作時間を最小化した高速な動作を実現することができる。
また、メモリ部のSRAMまたはDRAMをバーストアクセスモード動作させることにより、メモリ部へのアクセス動作そのものを高速化することができるため、より一層の高速化を図ることができる。
【発明を実施するための最良の形態】
【0025】
以下、この発明の実施形態による電磁波解析装置について図面を参照しながら説明する。
まず、この発明の第1の実施形態による電磁波解析装置について説明する。
この電磁波解析装置はFDTD/FITスキーム専用計算機により構成される。
この電磁波解析装置においては、(1)、(2)式の差分式において、電場はe≡E/cと真空中の光速度cで規格化したものを、磁場にはb≡μHと磁束密度を用い、また、クーラン安定条件をcΔt/Δl=1/2と設定し、さらに、半整数表示を整数表示として、
【数6】
と表現し直す。この未知数の取り方および差分式により、電磁場における電場および磁場の数値の絶対値が同じオーダーにそろい、(5)、(6)式の計算は浮動小数点演算を用いないでも5〜6桁の有効数字を持つ整数型の計算で十分な精度を維持することができ、かつ、とりわけ真空の領域では、(5)、(6)式は加減算および1/2の乗算のみからなり、1/2の乗算がディジタル回路では1ビット右シフトで実現することができることに着目すると、この未知数の取り方および差分式は非常にハードウェア化に適した形になっていることがわかる。
【0026】
ただし、(5)、(6)式の右辺の各項にかかる係数は必ずしも整数値ではないが、小数点の値の場合も、十分なビット幅を持たせた演算回路を用いることとした上で、図1に一例(115×2.1を計算する場合)を示すように、一旦、小数点以下の数値がなくなるだけ十分に大きな値2s を乗じてかさ上げした値(sビット左シフト)を使用して乗算を実行した後に、最終的に計算結果をsビット右シフトすることで、浮動小数点演算を使用しないでもハードウェア的にシンプルでかつ少ないクロック数で処理が可能な整数演算の範囲で精度の劣化なしに計算を実行することができる。
また、この電磁波解析装置においては、PML領域用の(3)、(4)式の差分式も、上記の(5)、(6)式と同様に表現し直した差分式を用いる。
【0027】
図2にこの電磁波解析装置1の構成を示す。図2に示すように、この電磁波解析装置1は、電磁場の6つの成分の値(ex ,ey ,ez ,bx ,by ,bz )を格納するメモリモジュール2と、FDTD/FITスキームの1グリッドの電磁場のx、y、z3成分の演算をデータフロー形式で1クロックで実行する演算モジュール3と、メモリモジュール2と演算モジュール3との間のデータのやりとりを制御するセレクタ回路4とを有する。メモリモジュール2と演算モジュール3との間のデータのやりとりはバス5を通じて行われる。
【0028】
メモリモジュール2は、電磁場の各成分ごとに4つのメモリ(メモリM1〜M4)、6つの成分に対しては合計24個のメモリを有する。これらのメモリM1〜M4のうちの3つのメモリM1〜M3は、FDTD/FITグリッドの(5)、(6)式の計算を実行するために用いられ、電磁場の各成分そのものが格納され、3つのメモリM1〜M3とも同一の内容となっている。これらのメモリM1〜M4のうちのメモリM4は、PML領域グリッドの(3)、(4)式を(5)、(6)式と同様に表現し直した差分式(未知数はexy,eyz,ezx,bxy,byz,bzx)の計算を実行するために用いられる。また、メモリM4は、PML領域グリッドの上記のように表現し直した差分式を計算する際に、たとえば、bx =bxy+bxzのように電磁場の各成分を2つに分割して扱うために、bxy,bxzのいずれかを格納しておく必要があり、そのために用いる。実際、bxy,bxzの両方を格納しておく必要はなく、いずれかがわかれば、bx から引き算することでもう片方も計算できる。メモリモジュール2を上述のように構成することで、スループットとしての計算性能に大きく影響するメモリアクセスは、最小限の1回にまで減らすことができる。これらのメモリM1〜M4としては、たとえば、SRAMまたはDRAMが用いられる。
メモリモジュール2はさらに、境界条件を格納するメモリM5、媒質定数などの数値モデル情報を格納するメモリM6および入力信号情報を格納するメモリM7を有する。
【0029】
メモリM6には、具体的には、(1)、(2)式や(3)、(4)式を表現し直した式に現れる媒質定数などの係数を真空中のものも含めて全グリッド分の値を格納しておき、これらの値もこのグリッドの計算の際に自動的に参照するものとする。また、メモリM5には、計算しているアドレスのグリッドが、真空か完全導体かあるいはPML領域かなどの情報を格納しておく。とりわけ、計算しているグリッドが完全導体かそうでないかの情報はそれぞれ、”0”と”1”で識別してあらかじめ格納しておき、各グリッドのFDTD/FITスキームの計算が終わりこれをメモリに再度書き込む直前に、この”0”か”1”の値とAND論理演算を行うことにより、完全導体のグリッドではすべての値がゼロになるという境界条件が設定され、そうでないグリッドでは、計算されたそのままの値がメモリに書き込まれ、どんな余分のクロック動作も必要とせず、かつ、自動的に数値モデル形状がシミュレーションに組み込まれるものとする。こうすることで、計算したい数値モデル形状や計算の規模、さらに媒質の分布が変わっても、ハードウェアを変更することなく、メモリモジュール2に格納するデータ(後述のようにホストPCからダウンロードする)を変更するだけで、様々な電磁波の解析にこの電磁波解析装置1を適用することが可能となる。
【0030】
メモリM7には入力信号の情報、具体的には、電磁波の波源となる入力信号の波形、波長(周波数)、波形振幅などを格納する。より具体的には、メモリM7には、正弦波、ガウスパルスなどの信号波形を必要なタイムステップ分だけ数値として格納しておき,演算モジュール3における1グリッド分の計算の処理が波源のあるグリッドに達した際に、(1)式または(2)式の計算の最後で、かつ、メモリに格納する直前の部分で、ハードウェア的に自動で(1)式または(2)式の右辺にこれらメモリにある入力信号波形の値を加え合わせるものとする。このようにすることで、パワー入力のために余分なクロックを必要とせず、かつ、メモリに入力波形および波源のグリッドアドレスを格納するだけでハードウェアが自動的にパワー入力処理を実行する方式を実現することができる。
メモリM5〜M7としては、たとえば、SRAMまたはDRAMが用いられる。
【0031】
メモリM1〜M7は、それぞれ独立した個別のメモリを用いてもよいし、それらのうちの1つまたは2つ以上のメモリとして、独立した1つのメモリのメモリ領域をN個(Nは2以上7以下の整数)に分割したものを用い、このN個のメモリ領域をメモリM1〜M7のうちのいずれかN個に用いてもよい。例えば、独立した1つのメモリのメモリ領域を2つに分割し、これらの2つのメモリ領域をメモリM1およびメモリM6に用いてもよい。
【0032】
メモリモジュール2は、上述のメモリM1〜M7に加えて、システムクロックカウンタ/アドレス発生器21およびこのシステムクロックカウンタ/アドレス発生器21を制御するマスターコントローラ22を有する。
システムクロックカウンタ/アドレス発生器21のシステムクロックカウンタの構成を図3に示す。図3に示すように、このシステムクロックカウンタは、LSB(最下位ビット)側から、動作フェーズ(3ビット)、x方向グリッドアドレス(iビット)、y方向グリッドアドレス(jビット)、z方向グリッドアドレス(kビット)、電場/磁場セレクタ(1ビット)、タイムステップ(nビット)の構成を有する。このシステムクロックカウンタは、システムクロックをカウントアップし、時間領域シミュレーションをスケジューリング(管理・制御)するものである。
【0033】
演算モジュール3は、電磁場のx、y、z3成分のそれぞれに対応して、FDTD/FITスキームのグリッドの(5)、(6)式の計算を実行するための演算回路31およびPML領域グリッドの、(3)、(4)式を(5)、(6)式と同様に表現し直した式の計算を実行するための演算回路32を有する。これらの演算回路31、32の詳細を図4に示す。図4に示すように、演算回路31は、FDTD/FITスキームのグリッドの(5)式または(6)式の計算をデータフロー形式で1クロックで実行することができるように構成されている。同様に、演算回路32は、PML領域グリッドの、(3)、(4)式を(5)、(6)式と同様に表現し直した式の計算をデータフロー形式で1クロックで実行することができるように構成されている。時間発展計算においては、これらの演算回路31、32にメモリモジュール2からデータをロードしてそれぞれ独立に計算を実行させ、境界条件が格納されているメモリM5から、グリッドアドレス(i,j,k)が、FDTD/FITグリッド((1)、(2)式)か、それともPML領域グリッド((3)、(4)式を(5)、(6)式と同様に表現し直した式)のいずれなのかを参照し、これらの2種類の演算回路31、32のうちの該当する方の計算結果の値を自動的にセレクトし、これをメモリモジュール2のメモリM1〜M4に書き込んで戻す。
【0034】
図5は、演算回路31におけるFDTD/FITスキームのグリッドの(5)式または(6)式の計算をデータフロー形式で1クロックで実行する様子を示す。図5には、一例として(5)式の計算を実行する場合が示されている。この演算回路31は、データフロー性および成分に関する並列性を実現するために、(5)式または(6)式の計算をデータフロー方式で1クロックで実行するように(5)、(6)式の計算に共通の回路構成となっており、上述のシステムクロックカウンタの電場(e)/磁場(b)セレクタビット(図3参照)により、(5)、(6)式の右辺第2項の符号を+または−に切り替えることにより(5)式と(6)式とを使い分ける方式とし、さらにこの演算回路をx、y、z3成分用意している。演算回路32についても同様である。
【0035】
図6は電磁波解析装置1の使用形態を示す。図6に示すように、電磁波解析装置1のセレクタ回路4をPCIインターフェース6によりホストPC7と接続する。ホストPC7には、電磁波解析装置1における電磁場の計算に必要な境界条件、グリッド情報、入力信号情報などが格納され、これらが必要に応じて電磁波解析装置1にダウンロードされてメモリモジュール2のメモリM5〜M7に格納されるようになっている。
【0036】
図7にこの電磁波解析装置1の動作を示すフローチャートの一例を示す。図7を参照してこの電磁波解析装置1による電磁波解析の方法について説明する。
図7に示すように、まず、ステップS1において、ホストPC7における、変数(未知数)のゼロクリアや光速度、真空の誘電率、透磁率などの物理定数の設定などの初期化の処理を行った後、ステップS2において、計算する数値モデル形状や数値モデルの各部の媒質定数、計算する全タイムステップ数、パワー入力方法(入力位置、周波数、信号波形など)などの数値モデル作成の処理を行う。そして、この数値モデル作成処理で作成した数値モデル形状などのデータを電磁波解析装置1のメモリM5〜M7にダウンロードする。
【0037】
次に、ステップS3およびステップS4において、(6)式にしたがった全解析領域のグリッドについての1グリッド3成分の電場計算および(4)式を表現し直した差分式にしたがった全PML領域のグリッドについての1グリッド6成分の電場計算、すなわちPML吸収境界の電場計算を演算モジュール3において行う。この際、境界条件格納用のメモリM5を参照し、計算中のグリッドが解析領域のグリッドかPML領域のグリッドかに応じて、当該グリッドの方の計算値をメモリM1〜M4に書き込み、そうでない方の計算値は廃棄する。ステップS3においては、演算モジュール3が、境界条件が格納されたメモリM5を参照し、電場の境界条件を自動的に設定する。この場合、完全導体部分の電場成分はゼロに設定する。また、ステップS3においては、演算モジュール3が、数値モデル情報が格納されたメモリM6を参照し、電場計算の差分式に自動的に取り込む。また、ステップS3においては、演算モジュール3が、入力信号情報が格納されたメモリM7を参照し、パワー入力を自動的に設定する。パワー入力は、具体的には、電磁波波源のグリッドに正弦波、ガウスパルスなどの波形を印加する。このパワー入力の処理は、ステップS5で実行してもよい。
【0038】
次に、ステップS5およびステップS6において、(5)式にしたがった全解析領域のグリッドについての1グリッド3成分の磁場計算および(3)式を表現し直した差分式にしたがった全PML領域のグリッドについての1グリッド6成分の磁場計算、すなわちPML吸収境界の磁場計算を演算モジュール3において行う。この際、境界条件格納用のメモリM5を参照し、計算中のグリッドが解析領域のグリッドかPML領域のグリッドかに応じて、当該グリッドの方の計算値をメモリM1〜M3に書き込み、そうでない方の計算値は廃棄する。ステップS5においては、演算モジュール3が、境界条件が格納されたメモリM5を参照し、磁場の境界条件を自動的に設定する。この場合、完全導体部分の磁場成分はゼロに設定する。また、ステップS5においては、演算モジュール3が、数値モデル情報が格納されたメモリM6を参照し、磁場計算の差分式に自動的に取り込む。
【0039】
ステップS3〜S6の処理を解析者によりあらかじめ決められたタイムステップ分繰り返して時間発展計算を実行する。ステップS7において、全タイムステップ分の計算が終了したら、ステップS8に進む。この場合、図3に示すシステムクロックカウンタにより、電場計算、PML吸収境界の電場計算、磁場計算、PML吸収境界の磁場計算の全グリッド分の計算およびその全タイムステップ分の計算のスケジューリングを行う。すなわち、このシステムクロックカウンタでは、クロックが進むにつれ、下位ビットから順にカウントアップされ、1グリッド分の磁場あるいは電場の計算(メモリへのアドレス指示、メモリからのデータの取得、演算モジュール3での1グリッド分の電磁場の3成分のFDTD/FITスキームの計算、この計算結果のメモリへの書き込みなど)に6〜8クロック、この動作を全グリッド空間2i ×2j ×2k にわたり、それぞれ磁場および電場に関して実行することにより、1タイムステップ分の全領域のマイクロ波の時間発展を計算し、これを決められたタイムステップ2n だけ繰り返してシミュレーション動作を終了する。
【0040】
ステップS8において、ホストPC7は、電磁場の計算結果のデータを電磁波解析装置1のメモリモジュール2からアップロードし、このデータを加工し、電磁場の強度分布などの必要な物理量をファイルなどに出力したり、グラフ化したりする結果出力の処理を行う。
【0041】
図8は電磁波解析装置1の実装例を示す。図8に示すように、この例では、プリント基板8上に、メモリモジュール2の電磁場の各成分ごとにメモリM1〜M4を一体化したメモリ9〜14、メモリM5〜M7、システムクロックカウンタ/アドレス発生器21およびマスターコントローラ22と、演算モジュール3のFDTD/FITスキームのグリッド用の演算回路31およびPML領域のグリッド用の演算回路32と、セレクタ回路4とが搭載されている。メモリ9〜14、メモリM5〜M7、システムクロックカウンタ/アドレス発生器21、演算回路31、32などはソケット15を用いてプリント基板8上に搭載されている。これらの搭載部品のほとんどは例えばFPGAまたはASICにより作製することができる。このように構成することにより、電磁波解析装置1をFDTD/FITスキーム専用計算機により構成する場合でも、数値モデルに対してフレキシビリティーを持たすことができる。すなわち、完全導体形状、PML領域の範囲などの境界条件、誘電率、透磁率の分布やPMLパラメータなどの数値モデル情報、および、電磁波波源の波形などの入力信号情報はホストPC7において生成され、境界条件用のメモリM5、数値モデル情報用のメモリM6および入力信号用のメモリM7に転送され格納される。これらのデータは演算モジュール3におけるFDTD/FITスキーム計算およびPML領域の計算において自動的に参照される。したがって、これらの境界条件用のメモリM5、数値モデル情報用のメモリM6および入力信号用のメモリM7の内容を変更するだけで、同じ電磁波解析装置1を用いて様々な数値モデルのシミュレーションを行うことができる。
【0042】
次に、ハードウェア記述言語であるVHDL(VHSIC Hardware Description Language)により電磁波解析装置1による論理シミュレーションを行った結果について説明する。
図9AおよびBは使用した数値モデルを示す。この数値モデルは、60×60×30グリッドサイズでPML層が4層の3次元領域における矩形導波路の中心部分にマイクロ波のTE10モード(振幅8192、周波数1.5GHz)を入力した場合の矩形導波路からのマイクロ波放射現象のものである。この数値モデルを用いてVHDL論理シミュレーションを行った結果を図10Bに示す。図10Aは同じ数値モデルを用いてC言語ソフトウェアシミュレーションを行った結果を示す。図10Bに示す結果を図10Aに示す結果と比較すると、両者の電場強度の差は1.4%以内であることがわかる。この差は主として、16ビットのデータフォーマットを使用したことによる打ち切り誤差によるものである。この結果より、この電磁波解析装置1の有効性が明らかである。
【0043】
この第1の実施形態によれば、次のような利点を得ることができる。すなわち、電磁波解析装置1をFDTD/FITスキーム専用計算機により構成し、メモリモジュール2と演算モジュール3とを分離した構成としていることにより、数値シミュレーションに用いる数値モデルに応じてメモリモジュール2を適切な構成のものに交換することができ、比較的複雑な構成を有する演算モジュール3は変更しないで、数値モデルの変更に柔軟に対応することができ、フレキシビリティーが高い。また、メモリモジュール2は電磁場の各成分ごとに4つのメモリM1〜M4、電磁場の6成分では合計24個のメモリを設け、これらのメモリから1グリッドごとの計算に必要なデータを1クロックで演算モジュール3にロードし、電磁場の各成分の計算を並列的に実行するようにしていることにより、メモリモジュール2へのアクセス回数を最小限にすることができ、それによって高速動作化を図ることができ、電磁波解析を高速かつ短時間で行うことができる。また、この電磁波解析装置1は実装や計算の大規模化が容易である。以上により、極めて実用性が高い高性能の電磁波解析装置1を実現することができる。
この電磁波解析装置1は、マイクロ波現象その他の各種の電磁波の数値シミュレーションに適用して好適なものである。
【0044】
次に、この発明の第2の実施形態による電磁波解析装置について説明する。
この第2の実施形態においては、メモリモジュール2へのアクセス回数の最小限化に加え、さらに、メモリモジュール2へのアクセスそのものをより高速化すべく、メモリM1〜M4としてバーストモード動作が可能なSRAMまたはDRAMを用い、メモリからのデータの取得やメモリへの書き込みでは、バーストアクセスモードで動作させる方式が用いられる。バーストアクセスモードは、一度、先頭アドレスを指定すると、たとえば数バイト〜数百バイトの決められたバイト数分連続するアドレスのデータを続けて取得する動作であるが、FDTD/FITでは基本的にはグリッドアドレスの順にメモリにアクセスするためこのバーストアクセスモードの適用が可能であり、毎回のアドレスの指定がない分、高速動作が可能である一方、この連続データ取得中は同じメモリへの書き込みはできない。このため、演算モジュール3に、たとえば数バイト〜数百バイトのバースト連続転送分のバッファを用意し、まとめてバーストアクセスモードでデータを取得して計算した後、それを、同じくまとめてバーストアクセスモードでメモリに書き込むことにより、ランダムアクセスモードに比べ、数倍から数十倍の高速化を図ることができる。上記以外のことは第1の実施形態と同様である。
この第2の実施形態によれば、第1の実施形態と同様な利点に加えて、動作速度のより一層の向上を図ることができ、電磁場の解析をより高速に行うことができるという利点を得ることができる。
【0045】
以上、この発明の実施形態について具体的に説明したが、この発明は、上述の実施形態に限定されるものではなく、この発明の技術的思想に基づく各種の変形が可能である。
例えば、上述の実施形態において挙げた数値、回路構成、配置などはあくまでも例に過ぎず、必要に応じて、これらと異なる数値、回路構成、配置などを用いてもよい。
【図面の簡単な説明】
【0046】
【図1】整数演算の範疇で決められた桁数の精度内で小数点同士の演算を実行する方式を説明するための略線図である。
【図2】この発明の第1の実施形態による電磁波解析装置を示す略線図である。
【図3】この発明の第1の実施形態による電磁波解析装置による数値シミュレーションをスケジューリングするシステムクロックカウンタの構成を示す略線図である。
【図4】この発明の第1の実施形態による電磁波解析装置の動作を説明するための略線図である。
【図5】この発明の第1の実施形態による電磁波解析装置の動作を説明するための略線図である。
【図6】この発明の第1の実施形態による電磁波解析装置をホストPCと接続した状態を示す略線図である。
【図7】この発明の第1の実施形態による電磁波解析装置の動作を説明するためのフローチャートである。
【図8】この発明の第1の実施形態による電磁波解析装置の実装例を示す略線図である。
【図9】この発明の第1の実施形態による電磁波解析装置を用いて行った数値シミュレーションに用いた数値モデルを示す略線図である。
【図10】この発明の第1の実施形態による電磁波解析装置を用いて行った数値シミュレーションの結果を示す略線図である。
【図11】FDTD/FITにおける空間的および時間的な電磁場の各成分の離散化方法を示す略線図である。
【図12】PML吸収境界条件における解析領域の外側に設置する媒質境界層を示す略線図である。
【符号の説明】
【0047】
1…電磁波解析装置、2…メモリモジュール、3…演算モジュール、4…セレクタ回路、5…バス、6…PCIインターフェース、7…ホストPC、8…プリント基板、M1〜M7、9〜14…メモリ、21…システムクロックカウンタ/アドレス発生器、22…マスターコントローラ、31、32…演算回路
【特許請求の範囲】
【請求項1】
解析対象となる3次元空間をグリッドに離散化し、FDTD法またはFIT法により電磁波を解析する電磁波解析装置であって、
上記解析対象となる3次元空間の電磁場の値を格納する、電磁場の各成分ごとにそれぞれ4つのメモリを有するメモリ部と、
上記解析対象となる3次元空間の1グリッドの電場の3成分または磁場の3成分の演算をデータフロー形式で1クロックで実行する演算部とを有し、
上記メモリ部から1グリッドごとの計算に必要なデータを上記演算部に一度にロードするように構成されていることを特徴とする電磁波解析装置。
【請求項2】
上記メモリ部の上記メモリはスタティックRAMまたはダイナミックRAMであり、上記演算部はバッファを有し、上記メモリ部は、上記スタティックRAMまたはダイナミックRAMをバーストアクセスモード動作させ、上記演算部で計算された電磁場の値を上記バッファに一時的に格納し、上記メモリ部から上記演算部へのバースト転送周期が完了した後に、上記バッファに格納されている電磁場の更新値を再度バーストアクセスモードで書き込むことを特徴とする請求項1記載の電磁波解析装置。
【請求項3】
解析対象となる3次元空間をグリッドに離散化し、FDTD法またはFIT法により電磁波を解析する電磁波解析方法であって、
上記解析対象となる3次元空間の電磁場の値を、電磁場の各成分ごとにそれぞれ4つのメモリを有するメモリ部に格納するステップと、
上記メモリ部から1グリッドごとの計算に必要なデータを上記演算部に一度にロードするステップと、
上記解析対象となる3次元空間の1グリッドの電場の3成分または磁場の3成分の演算を演算部でデータフロー形式で1クロックで実行するステップとを有することを特徴とする電磁波解析方法。
【請求項4】
上記メモリ部の上記メモリはスタティックRAMまたはダイナミックRAMであり、上記演算部はバッファを有し、上記メモリ部は、上記スタティックRAMまたはダイナミックRAMをバーストアクセスモード動作させ、上記演算部で計算された電磁場の値を上記バッファに一時的に格納し、上記メモリ部から上記演算部へのバースト転送周期が完了した後に、上記バッファに格納されている電磁場の更新値を再度バーストアクセスモードで書き込むことを特徴とする請求項3記載の電磁波解析方法。
【請求項1】
解析対象となる3次元空間をグリッドに離散化し、FDTD法またはFIT法により電磁波を解析する電磁波解析装置であって、
上記解析対象となる3次元空間の電磁場の値を格納する、電磁場の各成分ごとにそれぞれ4つのメモリを有するメモリ部と、
上記解析対象となる3次元空間の1グリッドの電場の3成分または磁場の3成分の演算をデータフロー形式で1クロックで実行する演算部とを有し、
上記メモリ部から1グリッドごとの計算に必要なデータを上記演算部に一度にロードするように構成されていることを特徴とする電磁波解析装置。
【請求項2】
上記メモリ部の上記メモリはスタティックRAMまたはダイナミックRAMであり、上記演算部はバッファを有し、上記メモリ部は、上記スタティックRAMまたはダイナミックRAMをバーストアクセスモード動作させ、上記演算部で計算された電磁場の値を上記バッファに一時的に格納し、上記メモリ部から上記演算部へのバースト転送周期が完了した後に、上記バッファに格納されている電磁場の更新値を再度バーストアクセスモードで書き込むことを特徴とする請求項1記載の電磁波解析装置。
【請求項3】
解析対象となる3次元空間をグリッドに離散化し、FDTD法またはFIT法により電磁波を解析する電磁波解析方法であって、
上記解析対象となる3次元空間の電磁場の値を、電磁場の各成分ごとにそれぞれ4つのメモリを有するメモリ部に格納するステップと、
上記メモリ部から1グリッドごとの計算に必要なデータを上記演算部に一度にロードするステップと、
上記解析対象となる3次元空間の1グリッドの電場の3成分または磁場の3成分の演算を演算部でデータフロー形式で1クロックで実行するステップとを有することを特徴とする電磁波解析方法。
【請求項4】
上記メモリ部の上記メモリはスタティックRAMまたはダイナミックRAMであり、上記演算部はバッファを有し、上記メモリ部は、上記スタティックRAMまたはダイナミックRAMをバーストアクセスモード動作させ、上記演算部で計算された電磁場の値を上記バッファに一時的に格納し、上記メモリ部から上記演算部へのバースト転送周期が完了した後に、上記バッファに格納されている電磁場の更新値を再度バーストアクセスモードで書き込むことを特徴とする請求項3記載の電磁波解析方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2009−245057(P2009−245057A)
【公開日】平成21年10月22日(2009.10.22)
【国際特許分類】
【出願番号】特願2008−89407(P2008−89407)
【出願日】平成20年3月31日(2008.3.31)
【新規性喪失の例外の表示】特許法第30条第1項適用申請有り 平成19年10月27日 社団法人電子情報通信学会北海道支部発行の「平成19年度電気・情報関係学会北海道支部連合大会講演論文集」に発表
【出願人】(504193837)国立大学法人室蘭工業大学 (70)
【Fターム(参考)】
【公開日】平成21年10月22日(2009.10.22)
【国際特許分類】
【出願日】平成20年3月31日(2008.3.31)
【新規性喪失の例外の表示】特許法第30条第1項適用申請有り 平成19年10月27日 社団法人電子情報通信学会北海道支部発行の「平成19年度電気・情報関係学会北海道支部連合大会講演論文集」に発表
【出願人】(504193837)国立大学法人室蘭工業大学 (70)
【Fターム(参考)】
[ Back to top ]