(57)【特許請求の範囲】
【請求項１】
解析対象となる３次元空間をグリッドに離散化し、ＦＤＴＤ法またはＦＩＴ法により電磁波を解析する電磁波解析装置であって、
上記解析対象となる３次元空間の電磁場の値を格納する、電磁場の各成分ごとにそれぞれ４つのメモリを有し、上記４つのメモリのうちの３つのメモリには同じ内容で電磁場の各成分そのものの値が、残りの１つのメモリにはＰＭＬ領域のグリッド計算用に電磁場の各成分のサブ成分の値が格納されるメモリ部と、
上記解析対象となる３次元空間の１グリッドの電場の３成分または磁場の３成分の演算をデータフロー形式で１クロックで実行する演算部とを有し、
上記メモリ部から１グリッドごとの計算に必要なデータを上記演算部に一度にロードするように構成され、
マクスウェル方程式のうちファラディの法則およびアンペールの法則をそれぞれ上記グリッドの空間および時間軸上で中心差分表現した下記（１）、（２）式
【数１】
0005190823.tif 000008
（ここで、（１）、（２）式の磁場および電場の各成分の上付きの添字ｎは時間差分のインデックス、下付きの添字ｉ、ｊ、ｋはそれぞれｘ方向、ｙ方向、ｚ方向の差分のインデックスを示す。１グリッドはｘ方向の長さ、ｙ方向の長さおよびｚ方向の長さがΔｌの立方体である。）
において、電場はｅ≡Ｅ／ｃと真空中の光速度ｃで規格化したものを、磁場にはｂ≡μＨと磁束密度を用い、また、クーラン安定条件をｃΔｔ／Δｌ＝１／２と設定し、さらに、半整数表示を整数表示として、
【数６】
0005190823.tif 000009
と表現し直した（５）、（６）式の計算を実行することを特徴とする電磁波解析装置。
【請求項２】
上記ＰＭＬ領域用の下記（３）、（４）式
【数２】
0005190823.tif 000010
【数３】
0005190823.tif 000011
の差分式を上記（５）、（６）式と同様に表現し直した差分式（未知数はｅxy，ｅyz，ｅzx，ｂxy，ｂyz，ｂzx）の計算を実行することを特徴とする請求項１記載の電磁波解析装置。
【請求項３】
解析対象となる３次元空間をグリッドに離散化し、ＦＤＴＤ法またはＦＩＴ法により電磁波を解析する電磁波解析方法であって、
演算部が、上記解析対象となる３次元空間の電磁場の値を、電磁場の各成分ごとにそれぞれ４つのメモリを有するメモリ部に格納し、この際、上記４つのメモリのうちの３つのメモリには同じ内容で電磁場の各成分そのものの値を、残りの１つのメモリにはＰＭＬ領域のグリッド計算用に電磁場の各成分のサブ成分の値を格納するステップと、
上記演算部が、上記メモリ部から１グリッドごとの計算に必要なデータを上記演算部に一度にロードするステップと、
上記演算部が、上記解析対象となる３次元空間の１グリッドの電場の３成分または磁場の３成分の演算をデータフロー形式で１クロックで実行するステップとを有し、
マクスウェル方程式のうちファラディの法則およびアンペールの法則をそれぞれ上記グリッドの空間および時間軸上で中心差分表現した下記（１）、（２）式
【数１】
0005190823.tif 000012
（ここで、（１）、（２）式の磁場および電場の各成分の上付きの添字ｎは時間差分のインデックス、下付きの添字ｉ、ｊ、ｋはそれぞれｘ方向、ｙ方向、ｚ方向の差分のインデックスを示す。１グリッドはｘ方向の長さ、ｙ方向の長さおよびｚ方向の長さがΔｌの立方体である。）
において、電場はｅ≡Ｅ／ｃと真空中の光速度ｃで規格化したものを、磁場にはｂ≡μＨと磁束密度を用い、また、クーラン安定条件をｃΔｔ／Δｌ＝１／２と設定し、さらに、半整数表示を整数表示として、
【数６】
0005190823.tif 000013
と表現し直した（５）、（６）式の計算を実行することを特徴とする電磁波解析方法。
【請求項４】
上記演算部が、上記ＰＭＬ領域用の下記（３）、（４）式
【数２】
0005190823.tif 000014
【数３】
0005190823.tif 000015
の差分式を上記（５）、（６）式と同様に表現し直した差分式（未知数はｅxy，ｅyz，ｅzx，ｂxy，ｂyz，ｂzx）の計算を実行することを特徴とする請求項３記載の電磁波解析方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、電磁波解析装置および電磁波解析方法に関し、例えば、マイクロ波回路や高周波電子回路などの電磁波の数値シミュレーションに適用して好適なものである。
【背景技術】
【０００２】
従来、電磁波解析の有効な方法として時間領域差分法（ＦＤＴＤ法）または有限積分法（ＦＩＴ法）が知られており、マイクロ波回路や高周波電子回路などの電磁波の数値シミュレーションなどに主に用いられている（例えば、特許文献１〜５および非特許文献１〜９参照）。
【０００３】
ＦＤＴＤ法またはＦＩＴ法においては、電磁波の解析対象となる３次元空間をグリッド（あるいはセル）と呼ばれる格子状に離散化し（分割し）、電場（ベクトルＥ）および磁場（ベクトルＨ）のｘ、ｙ、ｚ各成分を図１１Ａに示すようにグリッドの辺の中心や面の中心に配置する（Ｙｅｅグリッド）。そして、マクスウェル方程式のうちファラディの法則およびアンペールの法則をそれぞれこのグリッド空間および時間軸上で中心差分表現（図１１ＡおよびＢ参照）した次の（１）、（２）式を用いて電磁場の計算を行う。１グリッドのｘ方向の長さ、ｙ方向の長さおよびｚ方向の長さは互いに異なってもよいが、ここでは簡単のため、ｘ方向の長さ、ｙ方向の長さおよびｚ方向の長さともΔｌとした。すなわち、１グリッドは一辺の長さがΔｌの立方体である。
【０００４】
【数１】
0005190823.tif 000002
ここで、（１）、（２）式の磁場および電場の各成分の上付きの添字ｎは時間差分のインデックス、下付きの添字ｉ、ｊ、ｋはそれぞれｘ方向、ｙ方向、ｚ方向の差分のインデックスを示す。
【０００５】
具体的には、まず、たとえば、すべてのグリッド上で（２）式により電場の計算を行い、次に、同じくすべてのグリッド上で（１）式により磁場の計算を行い、これらの電場および磁場の計算を交互に実行することにより、１タイムステップΔｔ分の電磁場の時間発展計算を行い、これを解析者によりあらかじめ決められた全タイムステップ分だけ実行することで、電磁波の３次元時間領域数値シミュレーションを行う。電場の計算と磁場の計算の順序は逆にしてもよい。
【０００６】
また、電磁波、例えばマイクロ波により発生する現象では、導体散乱体や誘電体などが複雑な３次元形状で存在する場合もあるが、ＦＤＴＤ法またはＦＩＴ法では、グリッド状に離散化された数値モデルの各グリッドごとに、（１）、（２）式中の導電率σ、誘電率ε、透磁率μの値を離散化することにより、不均一媒質も含め数値シミュレーションにこれらの影響を取り込む。さらに、解析領域の外側境界付近には、図１２に示すように内側から外側に向かって媒質定数が徐々に真空のものから増していくように設定された完全整合層（Perfectly Matched Layer,ＰＭＬ）と呼ばれる次の（３）、（４）式の差分式のスキームを適用することにより、解析領域の内部で発生し、解析領域の外側領域まで達した電磁波がほぼ反射されることなく吸収され、等価的に無限領域に電磁波が逃げていく状況を実現する。
【０００７】
【数２】
0005190823.tif 000003
【数３】
0005190823.tif 000004
【０００８】
現在、上述のようなＦＤＴＤ法またはＦＩＴ法により電磁波の解析を行うための専用計算機（以下、ＦＤＴＤ／ＦＩＴスキーム専用計算機という）には、ＦＤＴＤ／ＦＩＴの処理の一部をハードウェア化し、ホストパーソナルコンピュータ（ＰＣ）と連動して動作させ、高速化を図るアクセラレータタイプと、一度ホストＰＣから数値モデルなどの初期データをダウンロードした後は完全に独立して動作するスタンドアロンタイプとがある。スタンドアロンタイプのＦＤＴＤ／ＦＩＴスキーム専用計算機にはさらに、ハードウェアそのものはグラフィック処理装置（ＧＰＵ）などの市販のものを用い、それにファームウェアを実装して実現する汎用ハードウェアタイプと、ＦＰＧＡ（Field Programmable Gate
Array)やＡＳＩＣ（Application Specific Integrated Circuit)などをベースにプリント基板にてハードウェアを構成するフルカスタムタイプとがある。
【０００９】
汎用ハードウェアタイプのＦＤＴＤ／ＦＩＴスキーム専用計算機としては、高速・大容量メモリを装備し、高速クロック動作かつ並列処理が可能なプロセッサからなる、数値計算に特化して専用に開発された市販のＧＰＵに、計算したいＦＤＴＤ／ＦＩＴスキームをファームウェア化して搭載したものが知られている（非特許文献６参照）。
【００１０】
フルカスタムタイプのＦＤＴＤ／ＦＩＴスキーム専用計算機としては、ＦＰＧＡなどにＦＤＴＤ法の計算スキームをハードウェア化した回路を実現し、これを演算部とし、このほかに電磁場の値を格納するメモリ部を設け、これらの大別して２モジュール（メモリモジュールおよび演算モジュール）のハードウェア構成を持つものが知られている（特許文献１〜４、非特許文献１〜５、７〜９）。
【００１１】
【特許文献１】米国特許出願公開第２００３／００９７５４４号公報
【特許文献２】米国特許出願公開第２００５／０１２０１７８号公報
【特許文献３】米国特許出願公開第２００５／０２７３４７９号公報
【特許文献４】米国特許第７１９４４９７号明細書
【特許文献５】米国特許出願公開第２００４／０２２５４８３号公報
【非特許文献１】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
【非特許文献２】川口秀樹、廣瀬公輝、堀田誠人、松岡俊佑、高原健爾、３次元マイクロ波シミュレータエンジンの基本設計に関する研究、電気学会論文誌Ａ  T.IEE JapanVol.122-A,No.12,2002,pp.1038-1044
【非特許文献３】高崎秀樹、川口秀樹、松岡俊佑、高原健爾、３次元マイクロ波シミュレータ・ＦＤＴＤメモリマシンの開発に関する研究、日本ＡＥＭ学会誌、Vol.14,No.2(2006),pp.215-219
【非特許文献４】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
【非特許文献５】藤島義之、藤田雄也、川口秀樹、松岡俊佑、ＦＤＴＤ／ＦＩＴ法専用計算機・メモリーマシンの高性能アーキテクチャ化の検討、電子情報通信学会技術研究報告  ＭＷ２００７−４２・信学技報  Vol.107,No.172(2007),pp.1-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
【非特許文献７】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
【非特許文献８】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
【非特許文献９】鈴木秀俊、高儀雄太、山口良、上林真司、ＦＰＧＡに実装したＦＤＴＤ高速演算装置の試作、電子情報通信学会論文誌Ｂ、Vol.J89-B,No.9,2006,pp.1651-1660
【発明の開示】
【発明が解決しようとする課題】
【００１２】
上述の従来のＦＤＴＤ／ＦＩＴスキーム専用計算機においては、一般に、ＡＬＵなどを含む演算部では、ＦＤＴＤ法の１グリッドの電場あるいは磁場の３成分の計算において、グラフィックカードでパイプライン処理を用いた場合もＦＰＧＡやＡＳＩＣでフルカスタム化した場合も、演算時間はたかだか数ナノ秒程度であるにもかかわらず、これらの演算を行うために必要な電磁場の値が格納されているメモリへのアクセスでは、１つの値に対し、スタティックＲＡＭ（ＳＲＡＭ）あるいはダイナミックＲＡＭ（ＤＲＡＭ）のバーストアクセスモード動作で数ナノ秒、ＤＲＡＭのランダムアクセスモードでは数十ナノ秒要し、かつ、１成分の電場あるいは磁場の計算には５個の場の値、あるいは、３成分一括の場合も重複分を除いても１２個の場の値が必要であり、どれだけ演算部を高速化しても、このメモリアクセスでのボトルネックを解決しなければ専用計算機全体としての計算性能は向上しないという問題があった。
【００１３】
非特許文献６では、このメモリアクセスでのボトルネックに対するこれまでの対策としては、すべての場の値の格納に高速ＤＲＡＭをバーストアクセスモードで使用し、また、１次・２次キャッシュを介して、決められた数のプロセッサごとに設けた共有メモリに直接計算する値をバッファリングすることにより、少しでも動作が高速となるように対処していた。
【００１４】
また、特許文献１、４、非特許文献７では、ＦＤＴＤ法の定式化を浮動小数点演算ベースのハードウェアに適した形式に定式化し直し、また、媒質定数のメモリアクセスの効率化を行うなど、ＦＤＴＤ法スキームのハードウェア化に際して極力無駄を省略する工夫を施すことにより高速化を図っていた。また、特許文献２では、電磁場の値全体を格納するＤＲＡＭ（バーストアクセスモード動作）とＦＤＴＤ法の演算部との間にバッファとしてのＳＲＡＭや高速キャッシュを設けることにより高速化を図っていた。非特許文献９でも、演算器の数だけ解析領域を分割して並列処理し、さらにＦＤＴＤ法スキームの計算処理のパイプライン化を行うなどして高速化を図っていた
【００１５】
さらに、非特許文献８では、電磁場の各成分ごとにメモリを分割することにより、メモリアクセスを並列化してアクセス回数を低減して高速化を図っていたが、ＦＤＴＤ法では、（１）式あるいは（２）式の３成分を同時に計算するには、同じ電磁場の成分が少なくとも３つは必要なため、この方式でも最低３回のメモリアクセスを要していた。
【００１６】
一方、非特許文献３、４では、（１）、（２）式や（３）、（４）式の右辺の計算に必要な電磁場の値のうち、ある１つの電磁場の成分に注目してみると、必ずｘ方向、ｙ方向、ｚ方向のいずれか隣り合う２つの座標のペアになっていることに着目して、各電磁場の成分ごとにメモリを用意したうえで、それをさらに、ｘ方向、ｙ方向、ｚ方向それぞれ偶数アドレスと奇数アドレスとに分割した８個のメモリ、したがってすべての成分に対しては４８個のメモリを用いることで、一度のメモリアクセスで計算に必要な電磁場の値をすべて取得できる方式を採用していたが、この場合、これをプリント基板など実際のハードウェアで実現するためには、メモリ部へアクセスするためのデータ線およびアドレス線の本数が莫大となり、演算部をＬＳＩなどで実現しようとするとＩ／Ｏピンは全く不足してしまい、現実的には実装が困難であるという問題があった。
【００１７】
また、非特許文献５では、この同じ課題に対して、電磁場の各成分ごとに同じ内容が格納されている３つのメモリ、したがってすべての成分に対しては１８個のメモリを用いることにより、同じく一度のメモリアクセスで計算に必要な電磁場の値をすべて取得できる方式を採用していたが、この場合、ＦＤＴＤ／ＦＩＴスキームのグリッドは計算可能であるものの、ＦＤＴＤ／ＦＩＴスキームの数値シミュレーションに必要不可欠なＰＭＬなどの吸収境界条件を与えることができないという問題があった。
【００１８】
以上のように、従来のＦＤＴＤ／ＦＩＴスキーム専用計算機はいずれも、動作速度、実装の容易さ、フレキシビリティー、実用性、計算の大規模化の容易さなどの点で不十分であった。
そこで、この発明が解決しようとする課題は、マイクロ波などの電磁波の解析を高速に行うことができ、実装も容易で、フレキシビリティーが高く、実用性に優れ、計算の大規模化も容易な電磁波解析装置および電磁波解析方法を提供することである。
【課題を解決するための手段】
【００１９】
上記課題を解決するために、第１の発明は、
解析対象となる３次元空間をグリッドに離散化し、ＦＤＴＤ法またはＦＩＴ法により電磁波を解析する電磁波解析装置であって、
上記解析対象となる３次元空間の電磁場の値を格納する、電磁場の各成分ごとにそれぞれ４つのメモリを有するメモリ部と、
上記解析対象となる３次元空間の１グリッドの電場の３成分または磁場の３成分の演算をデータフロー形式で１クロックで実行する演算部とを有し、
上記メモリ部から１グリッドごとの計算に必要なデータを上記演算部に一度にロードするように構成されていることを特徴とするものである。
この電磁波解析装置は、典型的には、パーソナルコンピュータなどからなるホストコンピュータと接続され、このホストコンピュータから必要なデータを取得するが、これに限定されるものではなく、必要に応じて、ホストコンピュータの機能を持たせてもよい。
【００２０】
第２の発明は、
解析対象となる３次元空間をグリッドに離散化し、ＦＤＴＤ法またはＦＩＴ法により電磁波を解析する電磁波解析方法であって、
上記解析対象となる３次元空間の電磁場の値を、電磁場の各成分ごとにそれぞれ４つのメモリを有するメモリ部に格納するステップと、
上記メモリ部から１グリッドごとの計算に必要なデータを上記演算部に一度にロードするステップと、
上記解析対象となる３次元空間の１グリッドの電場の３成分または磁場の３成分の演算を演算部でデータフロー形式で１クロックで実行するステップとを有することを特徴とするものである。
【００２１】
第１および第２の発明において、電磁場の値とは、解析対象となる３次元空間（解析領域）にｘ−ｙ−ｚ直交座標系をとった場合、電場のｘ、ｙ、ｚ３成分（Ｅx ，Ｅy ，Ｅz ）および磁場のｘ、ｙ、ｚ３成分（Ｈx ，Ｈy ，Ｈz ）を意味する。電磁場の各成分とは、Ｅx ，Ｅy ，Ｅz ，Ｈx ，Ｈy ，Ｈz を意味する。電磁波の波長は特に限定されず、たとえば、マイクロ波や光などであってもよい。１グリッドのｘ方向の長さ、ｙ方向の長さおよびｚ方向の長さは互いに異なってもよいが、典型的には互いに同一の値に選ぶ。
【００２２】
第１および第２の発明においては、メモリ部は電磁場の各成分ごとにそれぞれ４つのメモリを有するが、これは次のような理由による。すなわち、（１）、（２）式からわかるように、たとえば、ある１グリッドでの磁場の３成分
【数４】
0005190823.tif 000005
の計算には、
【数５】
0005190823.tif 000006
の計１２個の異なる電場および磁場の値が必要である。したがって、たとえ電磁場の各成分Ｅx ，Ｅy ，Ｅz ，Ｈx ，Ｈy ，Ｈz ごとに別々にメモリを用意して並列アクセスしても、必要な値を１度にこれらのメモリから取得することはできない。このため、第１および第２の発明では、（３）、（４）式のＰＭＬ吸収境界条件の取り扱いも考慮し、電磁場の各成分ごとにそれぞれ４つ、すなわち、電磁場の成分全体では合計２４個のメモリを有する構成とし、１グリッドごとの計算に必要なデータをメモリ部から演算部に一度にロードすることとしている。電磁場の各成分ごとにそれぞれ４つ設けられたメモリのうちの３つのメモリには同じ内容で電磁場の各成分そのものの値が、残りの１つのメモリにはＰＭＬ領域のグリッド計算用に電磁場の各成分のサブ成分の値が格納される。
【００２３】
好適には、メモリ部は、バーストモード動作が可能なＳＲＡＭまたはＤＲＡＭを有するとともに、演算部はバッファを有する。そして、メモリ部は、ＳＲＡＭまたはＤＲＡＭを所定のバイト数（例えば、数バイト〜数１００バイト）ごとにバーストアクセスモード動作させ、演算部で計算された電磁場の値（（１）、（２）式の右辺）を上記のバッファに一時的に格納し、メモリ部から演算部へのバースト転送周期が完了した後に、上記のバッファに格納されている電磁場の更新値を再度バーストアクセスモードで書き込む。こうすることで、メモリのアクセス回数を最小化することができ、スループット向上による高速化に加え、メモリへのアクセス動作そのものを高速化することができる。
【発明の効果】
【００２４】
この発明によれば、１グリッドごとのＦＤＴＤ／ＦＩＴスキームの計算を実行する演算部と、電磁場の値や、媒質定数などの数値モデル情報などを格納するメモリ部とが分離した構成としているので、電磁波の解析を行いたい数値モデルごとにハードウェア構成を変えることなく電磁波、たとえばマイクロ波の現象を高速に計算することができ、また、ＯＳなどのソフトウェア的な制約なしに、ハードウェア的に許される限り大容量のメモリを搭載可能となるため、大規模な計算を実行することができる。すなわち、フレキシビリティーが高く、計算の大規模化が容易である。しかも、メモリ部へアクセスするためのデータ線およびアドレス線の本数も少なくて済むため、実装も容易である。また、演算部におけるデータフローアーキテクチャによる電場および磁場の３成分の同時計算の回路構成とメモリ部における電磁場の各成分４つずつのメモリ構成とにより、スループットとしても１グリッド分の（１）式または（２）式の磁場または電場の３成分を１クロックで同時処理することができ、使用するメモリのアクセスタイム限界まで動作時間を最小化した高速な動作を実現することができる。
また、メモリ部のＳＲＡＭまたはＤＲＡＭをバーストアクセスモード動作させることにより、メモリ部へのアクセス動作そのものを高速化することができるため、より一層の高速化を図ることができる。
【発明を実施するための最良の形態】
【００２５】
以下、この発明の実施形態による電磁波解析装置について図面を参照しながら説明する。
まず、この発明の第１の実施形態による電磁波解析装置について説明する。
この電磁波解析装置はＦＤＴＤ／ＦＩＴスキーム専用計算機により構成される。
この電磁波解析装置においては、（１）、（２）式の差分式において、電場はｅ≡Ｅ／ｃと真空中の光速度ｃで規格化したものを、磁場にはｂ≡μＨと磁束密度を用い、また、クーラン安定条件をｃΔｔ／Δｌ＝１／２と設定し、さらに、半整数表示を整数表示として、
【数６】
0005190823.tif 000007
と表現し直す。この未知数の取り方および差分式により、電磁場における電場および磁場の数値の絶対値が同じオーダーにそろい、（５）、（６）式の計算は浮動小数点演算を用いないでも５〜６桁の有効数字を持つ整数型の計算で十分な精度を維持することができ、かつ、とりわけ真空の領域では、（５）、（６）式は加減算および１／２の乗算のみからなり、１／２の乗算がディジタル回路では１ビット右シフトで実現することができることに着目すると、この未知数の取り方および差分式は非常にハードウェア化に適した形になっていることがわかる。
【００２６】
ただし、（５）、（６）式の右辺の各項にかかる係数は必ずしも整数値ではないが、小数点の値の場合も、十分なビット幅を持たせた演算回路を用いることとした上で、図１に一例（１１５×２．１を計算する場合）を示すように、一旦、小数点以下の数値がなくなるだけ十分に大きな値２s を乗じてかさ上げした値（ｓビット左シフト）を使用して乗算を実行した後に、最終的に計算結果をｓビット右シフトすることで、浮動小数点演算を使用しないでもハードウェア的にシンプルでかつ少ないクロック数で処理が可能な整数演算の範囲で精度の劣化なしに計算を実行することができる。
また、この電磁波解析装置においては、ＰＭＬ領域用の（３）、（４）式の差分式も、上記の（５）、（６）式と同様に表現し直した差分式を用いる。
【００２７】
図２にこの電磁波解析装置１の構成を示す。図２に示すように、この電磁波解析装置１は、電磁場の６つの成分の値（ｅx ，ｅy ，ｅz ，ｂx ，ｂy ，ｂz ）を格納するメモリモジュール２と、ＦＤＴＤ／ＦＩＴスキームの１グリッドの電磁場のｘ、ｙ、ｚ３成分の演算をデータフロー形式で１クロックで実行する演算モジュール３と、メモリモジュール２と演算モジュール３との間のデータのやりとりを制御するセレクタ回路４とを有する。メモリモジュール２と演算モジュール３との間のデータのやりとりはバス５を通じて行われる。
【００２８】
メモリモジュール２は、電磁場の各成分ごとに４つのメモリ（メモリＭ１〜Ｍ４）、６つの成分に対しては合計２４個のメモリを有する。これらのメモリＭ１〜Ｍ４のうちの３つのメモリＭ１〜Ｍ３は、ＦＤＴＤ／ＦＩＴグリッドの（５）、（６）式の計算を実行するために用いられ、電磁場の各成分そのものが格納され、３つのメモリＭ１〜Ｍ３とも同一の内容となっている。これらのメモリＭ１〜Ｍ４のうちのメモリＭ４は、ＰＭＬ領域グリッドの（３）、（４）式を（５）、（６）式と同様に表現し直した差分式（未知数はｅxy，ｅyz，ｅzx，ｂxy，ｂyz，ｂzx）の計算を実行するために用いられる。また、メモリＭ４は、ＰＭＬ領域グリッドの上記のように表現し直した差分式を計算する際に、たとえば、ｂx ＝ｂxy＋ｂxzのように電磁場の各成分を２つに分割して扱うために、ｂxy，ｂxzのいずれかを格納しておく必要があり、そのために用いる。実際、ｂxy，ｂxzの両方を格納しておく必要はなく、いずれかがわかれば、ｂx から引き算することでもう片方も計算できる。メモリモジュール２を上述のように構成することで、スループットとしての計算性能に大きく影響するメモリアクセスは、最小限の１回にまで減らすことができる。これらのメモリＭ１〜Ｍ４としては、たとえば、ＳＲＡＭまたはＤＲＡＭが用いられる。
メモリモジュール２はさらに、境界条件を格納するメモリＭ５、媒質定数などの数値モデル情報を格納するメモリＭ６および入力信号情報を格納するメモリＭ７を有する。
【００２９】
メモリＭ６には、具体的には、（１）、（２）式や（３）、（４）式を表現し直した式に現れる媒質定数などの係数を真空中のものも含めて全グリッド分の値を格納しておき、これらの値もこのグリッドの計算の際に自動的に参照するものとする。また、メモリＭ５には、計算しているアドレスのグリッドが、真空か完全導体かあるいはＰＭＬ領域かなどの情報を格納しておく。とりわけ、計算しているグリッドが完全導体かそうでないかの情報はそれぞれ、”０”と”１”で識別してあらかじめ格納しておき、各グリッドのＦＤＴＤ／ＦＩＴスキームの計算が終わりこれをメモリに再度書き込む直前に、この”０”か”１”の値とＡＮＤ論理演算を行うことにより、完全導体のグリッドではすべての値がゼロになるという境界条件が設定され、そうでないグリッドでは、計算されたそのままの値がメモリに書き込まれ、どんな余分のクロック動作も必要とせず、かつ、自動的に数値モデル形状がシミュレーションに組み込まれるものとする。こうすることで、計算したい数値モデル形状や計算の規模、さらに媒質の分布が変わっても、ハードウェアを変更することなく、メモリモジュール２に格納するデータ（後述のようにホストＰＣからダウンロードする）を変更するだけで、様々な電磁波の解析にこの電磁波解析装置１を適用することが可能となる。
【００３０】
メモリＭ７には入力信号の情報、具体的には、電磁波の波源となる入力信号の波形、波長（周波数）、波形振幅などを格納する。より具体的には、メモリＭ７には、正弦波、ガウスパルスなどの信号波形を必要なタイムステップ分だけ数値として格納しておき，演算モジュール３における１グリッド分の計算の処理が波源のあるグリッドに達した際に、（１）式または（２）式の計算の最後で、かつ、メモリに格納する直前の部分で、ハードウェア的に自動で（１）式または（２）式の右辺にこれらメモリにある入力信号波形の値を加え合わせるものとする。このようにすることで、パワー入力のために余分なクロックを必要とせず、かつ、メモリに入力波形および波源のグリッドアドレスを格納するだけでハードウェアが自動的にパワー入力処理を実行する方式を実現することができる。
メモリＭ５〜Ｍ７としては、たとえば、ＳＲＡＭまたはＤＲＡＭが用いられる。
【００３１】
メモリＭ１〜Ｍ７は、それぞれ独立した個別のメモリを用いてもよいし、それらのうちの１つまたは２つ以上のメモリとして、独立した１つのメモリのメモリ領域をＮ個（Ｎは２以上７以下の整数）に分割したものを用い、このＮ個のメモリ領域をメモリＭ１〜Ｍ７のうちのいずれかＮ個に用いてもよい。例えば、独立した１つのメモリのメモリ領域を２つに分割し、これらの２つのメモリ領域をメモリＭ１およびメモリＭ６に用いてもよい。
【００３２】
メモリモジュール２は、上述のメモリＭ１〜Ｍ７に加えて、システムクロックカウンタ／アドレス発生器２１およびこのシステムクロックカウンタ／アドレス発生器２１を制御するマスターコントローラ２２を有する。
システムクロックカウンタ／アドレス発生器２１のシステムクロックカウンタの構成を図３に示す。図３に示すように、このシステムクロックカウンタは、ＬＳＢ（最下位ビット）側から、動作フェーズ（３ビット）、ｘ方向グリッドアドレス（ｉビット）、ｙ方向グリッドアドレス（ｊビット）、ｚ方向グリッドアドレス（ｋビット）、電場／磁場セレクタ（１ビット）、タイムステップ（ｎビット）の構成を有する。このシステムクロックカウンタは、システムクロックをカウントアップし、時間領域シミュレーションをスケジューリング（管理・制御）するものである。
【００３３】
演算モジュール３は、電磁場のｘ、ｙ、ｚ３成分のそれぞれに対応して、ＦＤＴＤ／ＦＩＴスキームのグリッドの（５）、（６）式の計算を実行するための演算回路３１およびＰＭＬ領域グリッドの、（３）、（４）式を（５）、（６）式と同様に表現し直した式の計算を実行するための演算回路３２を有する。これらの演算回路３１、３２の詳細を図４に示す。図４に示すように、演算回路３１は、ＦＤＴＤ／ＦＩＴスキームのグリッドの（５）式または（６）式の計算をデータフロー形式で１クロックで実行することができるように構成されている。同様に、演算回路３２は、ＰＭＬ領域グリッドの、（３）、（４）式を（５）、（６）式と同様に表現し直した式の計算をデータフロー形式で１クロックで実行することができるように構成されている。時間発展計算においては、これらの演算回路３１、３２にメモリモジュール２からデータをロードしてそれぞれ独立に計算を実行させ、境界条件が格納されているメモリＭ５から、グリッドアドレス（ｉ，ｊ，ｋ）が、ＦＤＴＤ／ＦＩＴグリッド（（１）、（２）式）か、それともＰＭＬ領域グリッド（（３）、（４）式を（５）、（６）式と同様に表現し直した式）のいずれなのかを参照し、これらの２種類の演算回路３１、３２のうちの該当する方の計算結果の値を自動的にセレクトし、これをメモリモジュール２のメモリＭ１〜Ｍ４に書き込んで戻す。
【００３４】
図５は、演算回路３１におけるＦＤＴＤ／ＦＩＴスキームのグリッドの（５）式または（６）式の計算をデータフロー形式で１クロックで実行する様子を示す。図５には、一例として（５）式の計算を実行する場合が示されている。この演算回路３１は、データフロー性および成分に関する並列性を実現するために、（５）式または（６）式の計算をデータフロー方式で１クロックで実行するように（５）、（６）式の計算に共通の回路構成となっており、上述のシステムクロックカウンタの電場（ｅ）／磁場（ｂ）セレクタビット（図３参照）により、（５）、（６）式の右辺第２項の符号を＋または−に切り替えることにより（５）式と（６）式とを使い分ける方式とし、さらにこの演算回路をｘ、ｙ、ｚ３成分用意している。演算回路３２についても同様である。
【００３５】
図６は電磁波解析装置１の使用形態を示す。図６に示すように、電磁波解析装置１のセレクタ回路４をＰＣＩインターフェース６によりホストＰＣ７と接続する。ホストＰＣ７には、電磁波解析装置１における電磁場の計算に必要な境界条件、グリッド情報、入力信号情報などが格納され、これらが必要に応じて電磁波解析装置１にダウンロードされてメモリモジュール２のメモリＭ５〜Ｍ７に格納されるようになっている。
【００３６】
図７にこの電磁波解析装置１の動作を示すフローチャートの一例を示す。図７を参照してこの電磁波解析装置１による電磁波解析の方法について説明する。
図７に示すように、まず、ステップＳ１において、ホストＰＣ７における、変数（未知数）のゼロクリアや光速度、真空の誘電率、透磁率などの物理定数の設定などの初期化の処理を行った後、ステップＳ２において、計算する数値モデル形状や数値モデルの各部の媒質定数、計算する全タイムステップ数、パワー入力方法（入力位置、周波数、信号波形など）などの数値モデル作成の処理を行う。そして、この数値モデル作成処理で作成した数値モデル形状などのデータを電磁波解析装置１のメモリＭ５〜Ｍ７にダウンロードする。
【００３７】
次に、ステップＳ３およびステップＳ４において、（６）式にしたがった全解析領域のグリッドについての１グリッド３成分の電場計算および（４）式を表現し直した差分式にしたがった全ＰＭＬ領域のグリッドについての１グリッド６成分の電場計算、すなわちＰＭＬ吸収境界の電場計算を演算モジュール３において行う。この際、境界条件格納用のメモリＭ５を参照し、計算中のグリッドが解析領域のグリッドかＰＭＬ領域のグリッドかに応じて、当該グリッドの方の計算値をメモリＭ１〜Ｍ４に書き込み、そうでない方の計算値は廃棄する。ステップＳ３においては、演算モジュール３が、境界条件が格納されたメモリＭ５を参照し、電場の境界条件を自動的に設定する。この場合、完全導体部分の電場成分はゼロに設定する。また、ステップＳ３においては、演算モジュール３が、数値モデル情報が格納されたメモリＭ６を参照し、電場計算の差分式に自動的に取り込む。また、ステップＳ３においては、演算モジュール３が、入力信号情報が格納されたメモリＭ７を参照し、パワー入力を自動的に設定する。パワー入力は、具体的には、電磁波波源のグリッドに正弦波、ガウスパルスなどの波形を印加する。このパワー入力の処理は、ステップＳ５で実行してもよい。
【００３８】
次に、ステップＳ５およびステップＳ６において、（５）式にしたがった全解析領域のグリッドについての１グリッド３成分の磁場計算および（３）式を表現し直した差分式にしたがった全ＰＭＬ領域のグリッドについての１グリッド６成分の磁場計算、すなわちＰＭＬ吸収境界の磁場計算を演算モジュール３において行う。この際、境界条件格納用のメモリＭ５を参照し、計算中のグリッドが解析領域のグリッドかＰＭＬ領域のグリッドかに応じて、当該グリッドの方の計算値をメモリＭ１〜Ｍ３に書き込み、そうでない方の計算値は廃棄する。ステップＳ５においては、演算モジュール３が、境界条件が格納されたメモリＭ５を参照し、磁場の境界条件を自動的に設定する。この場合、完全導体部分の磁場成分はゼロに設定する。また、ステップＳ５においては、演算モジュール３が、数値モデル情報が格納されたメモリＭ６を参照し、磁場計算の差分式に自動的に取り込む。
【００３９】
ステップＳ３〜Ｓ６の処理を解析者によりあらかじめ決められたタイムステップ分繰り返して時間発展計算を実行する。ステップＳ７において、全タイムステップ分の計算が終了したら、ステップＳ８に進む。この場合、図３に示すシステムクロックカウンタにより、電場計算、ＰＭＬ吸収境界の電場計算、磁場計算、ＰＭＬ吸収境界の磁場計算の全グリッド分の計算およびその全タイムステップ分の計算のスケジューリングを行う。すなわち、このシステムクロックカウンタでは、クロックが進むにつれ、下位ビットから順にカウントアップされ、１グリッド分の磁場あるいは電場の計算（メモリへのアドレス指示、メモリからのデータの取得、演算モジュール３での１グリッド分の電磁場の３成分のＦＤＴＤ／ＦＩＴスキームの計算、この計算結果のメモリへの書き込みなど）に６〜８クロック、この動作を全グリッド空間２i ×２j ×２k にわたり、それぞれ磁場および電場に関して実行することにより、１タイムステップ分の全領域のマイクロ波の時間発展を計算し、これを決められたタイムステップ２n だけ繰り返してシミュレーション動作を終了する。
【００４０】
ステップＳ８において、ホストＰＣ７は、電磁場の計算結果のデータを電磁波解析装置１のメモリモジュール２からアップロードし、このデータを加工し、電磁場の強度分布などの必要な物理量をファイルなどに出力したり、グラフ化したりする結果出力の処理を行う。
【００４１】
図８は電磁波解析装置１の実装例を示す。図８に示すように、この例では、プリント基板８上に、メモリモジュール２の電磁場の各成分ごとにメモリＭ１〜Ｍ４を一体化したメモリ９〜１４、メモリＭ５〜Ｍ７、システムクロックカウンタ／アドレス発生器２１およびマスターコントローラ２２と、演算モジュール３のＦＤＴＤ／ＦＩＴスキームのグリッド用の演算回路３１およびＰＭＬ領域のグリッド用の演算回路３２と、セレクタ回路４とが搭載されている。メモリ９〜１４、メモリＭ５〜Ｍ７、システムクロックカウンタ／アドレス発生器２１、演算回路３１、３２などはソケット１５を用いてプリント基板８上に搭載されている。これらの搭載部品のほとんどは例えばＦＰＧＡまたはＡＳＩＣにより作製することができる。このように構成することにより、電磁波解析装置１をＦＤＴＤ／ＦＩＴスキーム専用計算機により構成する場合でも、数値モデルに対してフレキシビリティーを持たすことができる。すなわち、完全導体形状、ＰＭＬ領域の範囲などの境界条件、誘電率、透磁率の分布やＰＭＬパラメータなどの数値モデル情報、および、電磁波波源の波形などの入力信号情報はホストＰＣ７において生成され、境界条件用のメモリＭ５、数値モデル情報用のメモリＭ６および入力信号用のメモリＭ７に転送され格納される。これらのデータは演算モジュール３におけるＦＤＴＤ／ＦＩＴスキーム計算およびＰＭＬ領域の計算において自動的に参照される。したがって、これらの境界条件用のメモリＭ５、数値モデル情報用のメモリＭ６および入力信号用のメモリＭ７の内容を変更するだけで、同じ電磁波解析装置１を用いて様々な数値モデルのシミュレーションを行うことができる。
【００４２】
次に、ハードウェア記述言語であるＶＨＤＬ（VHSIC Hardware Description Language)により電磁波解析装置１による論理シミュレーションを行った結果について説明する。
図９ＡおよびＢは使用した数値モデルを示す。この数値モデルは、６０×６０×３０グリッドサイズでＰＭＬ層が４層の３次元領域における矩形導波路の中心部分にマイクロ波のＴＥ１０モード（振幅８１９２、周波数１．５ＧＨｚ）を入力した場合の矩形導波路からのマイクロ波放射現象のものである。この数値モデルを用いてＶＨＤＬ論理シミュレーションを行った結果を図１０Ｂに示す。図１０Ａは同じ数値モデルを用いてＣ言語ソフトウェアシミュレーションを行った結果を示す。図１０Ｂに示す結果を図１０Ａに示す結果と比較すると、両者の電場強度の差は１．４％以内であることがわかる。この差は主として、１６ビットのデータフォーマットを使用したことによる打ち切り誤差によるものである。この結果より、この電磁波解析装置１の有効性が明らかである。
【００４３】
この第１の実施形態によれば、次のような利点を得ることができる。すなわち、電磁波解析装置１をＦＤＴＤ／ＦＩＴスキーム専用計算機により構成し、メモリモジュール２と演算モジュール３とを分離した構成としていることにより、数値シミュレーションに用いる数値モデルに応じてメモリモジュール２を適切な構成のものに交換することができ、比較的複雑な構成を有する演算モジュール３は変更しないで、数値モデルの変更に柔軟に対応することができ、フレキシビリティーが高い。また、メモリモジュール２は電磁場の各成分ごとに４つのメモリＭ１〜Ｍ４、電磁場の６成分では合計２４個のメモリを設け、これらのメモリから１グリッドごとの計算に必要なデータを１クロックで演算モジュール３にロードし、電磁場の各成分の計算を並列的に実行するようにしていることにより、メモリモジュール２へのアクセス回数を最小限にすることができ、それによって高速動作化を図ることができ、電磁波解析を高速かつ短時間で行うことができる。また、この電磁波解析装置１は実装や計算の大規模化が容易である。以上により、極めて実用性が高い高性能の電磁波解析装置１を実現することができる。
この電磁波解析装置１は、マイクロ波現象その他の各種の電磁波の数値シミュレーションに適用して好適なものである。
【００４４】
次に、この発明の第２の実施形態による電磁波解析装置について説明する。
この第２の実施形態においては、メモリモジュール２へのアクセス回数の最小限化に加え、さらに、メモリモジュール２へのアクセスそのものをより高速化すべく、メモリＭ１〜Ｍ４としてバーストモード動作が可能なＳＲＡＭまたはＤＲＡＭを用い、メモリからのデータの取得やメモリへの書き込みでは、バーストアクセスモードで動作させる方式が用いられる。バーストアクセスモードは、一度、先頭アドレスを指定すると、たとえば数バイト〜数百バイトの決められたバイト数分連続するアドレスのデータを続けて取得する動作であるが、ＦＤＴＤ／ＦＩＴでは基本的にはグリッドアドレスの順にメモリにアクセスするためこのバーストアクセスモードの適用が可能であり、毎回のアドレスの指定がない分、高速動作が可能である一方、この連続データ取得中は同じメモリへの書き込みはできない。このため、演算モジュール３に、たとえば数バイト〜数百バイトのバースト連続転送分のバッファを用意し、まとめてバーストアクセスモードでデータを取得して計算した後、それを、同じくまとめてバーストアクセスモードでメモリに書き込むことにより、ランダムアクセスモードに比べ、数倍から数十倍の高速化を図ることができる。上記以外のことは第１の実施形態と同様である。
この第２の実施形態によれば、第１の実施形態と同様な利点に加えて、動作速度のより一層の向上を図ることができ、電磁場の解析をより高速に行うことができるという利点を得ることができる。
【００４５】
以上、この発明の実施形態について具体的に説明したが、この発明は、上述の実施形態に限定されるものではなく、この発明の技術的思想に基づく各種の変形が可能である。
例えば、上述の実施形態において挙げた数値、回路構成、配置などはあくまでも例に過ぎず、必要に応じて、これらと異なる数値、回路構成、配置などを用いてもよい。
【図面の簡単な説明】
【００４６】
【図１】整数演算の範疇で決められた桁数の精度内で小数点同士の演算を実行する方式を説明するための略線図である。
【図２】この発明の第１の実施形態による電磁波解析装置を示す略線図である。
【図３】この発明の第１の実施形態による電磁波解析装置による数値シミュレーションをスケジューリングするシステムクロックカウンタの構成を示す略線図である。
【図４】この発明の第１の実施形態による電磁波解析装置の動作を説明するための略線図である。
【図５】この発明の第１の実施形態による電磁波解析装置の動作を説明するための略線図である。
【図６】この発明の第１の実施形態による電磁波解析装置をホストＰＣと接続した状態を示す略線図である。
【図７】この発明の第１の実施形態による電磁波解析装置の動作を説明するためのフローチャートである。
【図８】この発明の第１の実施形態による電磁波解析装置の実装例を示す略線図である。
【図９】この発明の第１の実施形態による電磁波解析装置を用いて行った数値シミュレーションに用いた数値モデルを示す略線図である。
【図１０】この発明の第１の実施形態による電磁波解析装置を用いて行った数値シミュレーションの結果を示す略線図である。
【図１１】ＦＤＴＤ／ＦＩＴにおける空間的および時間的な電磁場の各成分の離散化方法を示す略線図である。
【図１２】ＰＭＬ吸収境界条件における解析領域の外側に設置する媒質境界層を示す略線図である。
【符号の説明】
【００４７】
１…電磁波解析装置、２…メモリモジュール、３…演算モジュール、４…セレクタ回路、５…バス、６…ＰＣＩインターフェース、７…ホストＰＣ、８…プリント基板、Ｍ１〜Ｍ７、９〜１４…メモリ、２１…システムクロックカウンタ／アドレス発生器、２２…マスターコントローラ、３１、３２…演算回路
【図１】
0005190823.tif 000016
【図２】
0005190823.tif 000017
【図３】
0005190823.tif 000018
【図４】
0005190823.tif 000019
【図５】
0005190823.tif 000020
【図６】
0005190823.tif 000021
【図７】
0005190823.tif 000022
【図８】
0005190823.tif 000023
【図９】
0005190823.tif 000024
【図１０】
0005190823.tif 000025
【図１１】
0005190823.tif 000026
【図１２】
0005190823.tif 000027