Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JPH0752748B2 - 三次元デバイスのシミュレーション装置 - Google Patents
[go: Go Back, main page]

JPH0752748B2 - 三次元デバイスのシミュレーション装置 - Google Patents

三次元デバイスのシミュレーション装置

Info

Publication number
JPH0752748B2
JPH0752748B2 JP1322674A JP32267489A JPH0752748B2 JP H0752748 B2 JPH0752748 B2 JP H0752748B2 JP 1322674 A JP1322674 A JP 1322674A JP 32267489 A JP32267489 A JP 32267489A JP H0752748 B2 JPH0752748 B2 JP H0752748B2
Authority
JP
Japan
Prior art keywords
matrix
vector
array
output
cell
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 - Lifetime
Application number
JP1322674A
Other languages
English (en)
Other versions
JPH03185745A (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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to JP1322674A priority Critical patent/JPH0752748B2/ja
Publication of JPH03185745A publication Critical patent/JPH03185745A/ja
Publication of JPH0752748B2 publication Critical patent/JPH0752748B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Tests Of Electronic Circuits (AREA)
  • Testing Or Measuring Of Semiconductors Or The Like (AREA)

Description

【発明の詳細な説明】 [産業上の利用分野] この発明は、例えば半導体素子の特性解析を、実際の素
子を製作することなく、コンピュータ上で行なう三次元
デバイスのシミュレーション装置に関する。
[従来の技術] 半導体素子の特性解析を、実際の素子を用いないでコン
ピュータ上で行なうデバイスシミュレーションにおいて
は、大規模疎行列計算を高速で実行する必要がある。
現象を定量的に解明しようとする数値シミュレーション
技術は、コンピュータの進歩によってその重要性が増し
ている。半導体集積回路の設計に際しても、プロセスシ
ミュレーション、デバイスシミュレーション、回路シミ
ュレーション等の技術が既に実用化されており、設計期
間を短縮するために、シミュレーションの短縮化がさら
に強く望まれている。
デバイスシミュレーションは、最終的に大規模行列方程
式の求解問題に帰着されるもので、各シミュレーション
時間の大半が、この求解部分に費やされる。このこと
は、素子構造が複雑化し、三次元シミュレーションが不
可欠なものとなるにつれて、より強まる傾向にあり、求
解部分の高速化が求められている。
[発明が解決しようとする課題] この発明においては、シストリックアレーを用いて高速
化が実現できる三次元デバイスのシミュレーション装置
を提供することを目的としている。シストリックアレー
は、H.T.Kungによって提案されたVLSI向きのアーキテク
チャの1つで論理的且つ実践的側面からの研究もされて
きた。しかし、これまで提案された密行列に対する処理
をシストリックアレー上で、デバイスシミュレーション
のような大規模疎行列計算を行なう場合、数百万個の演
算セルを必要とする。
したがってこの発明においては、小数個の演算セルによ
って大規模行列を効果的に扱うことのできるシストリッ
クアレーを提供しようとするものである。
[課題を解決するための手段] この発明に係る三次元デバイスのシミュレーション装置
は、基本セル、下三角要素出力セル、対角要素出力セ
ル、上三角要素出力セル、および時間調整セルからなる
5種類の演算セルを六角形に配置して構成され、その行
列の各要素はそれぞれ上方から入力され、分解された行
列の各要素はそれぞれ下方から出力されるように構成さ
れている、疎帯行列の不完全LU分解用のシストリックア
レーと、複数の積和演算セルが一次元的に並べて配置さ
れ、この複数の演算セルの一次元配列の一方の端からベ
クトルの要素が特定される時間間隔で入力され、前記各
演算セルにはそれぞれ各行列の各要素が特定される時間
間隔で入力されて、その各行列要素と各ベクトル要素と
の積を順次累積して出力ベクトルの要素として出力する
ようにした疎帯行列ベクトル積用シストリックアレー
と、複数の積和演算セルが一次元的に並べて配置され、
この複数の演算セルの一次元配列の一方の端からベクト
ルの要素が特定される時間間隔で入力され、前記各演算
セルにはそれぞれ各行列の各要素が特定される時間間隔
で入力されて、その各行列要素と各ベクトル要素との積
を順次減算して出力ベクトルの要素として出力するよう
にした前進後退代入用シストリックアレーとを備えるも
ので、前記疎帯行列の不完全LU分解用シスリックアレ
ー、疎帯ベクトル積用シストリックアレー、および前進
後退代入用シストリックアレーは、それぞれデータバス
およびコントールバスによって結合され、主計算部から
の指令に基づき演算動作を実行させられるようにしてい
る。
[作用] このシミュレーション装置によれば、デバイスシミュレ
ーション問題の特徴から問題を分割できるもので、それ
らを並列的に解くことができる。特に疎行列ベクトル
積、前進・後退代入、ベクトルの和、内積は、ループ内
にあって繰り返し計算されるものであるため、この部分
の高速化の可否によって計算時間に大きな差が生ずる。
このシミュレーション装置においては、デバイスシミュ
レーションの高速化のために少数個のセルにより大規模
問題を効率的に扱うことができるシストリックアレーを
提供できる。
[発明の実施例] 以下、図面を参照しながら、この発明の一実施例を説明
する。第1図はデバイスシミュレーション装置の構成を
示しているもので、疎帯行列の不完全行列分解(Imd=I
ncomplete Matrix Decomposition)モジュール11、行列
ベクトル積(Mvm=Matrix−Vector Multiplication)モ
ジュール12、および前進・後退(Fbs=Foward−Backwar
d Substitution)モジュール13を備え、これらモジュー
ル11〜13はグローバルデータバス14を介して、ホストコ
ンピュータ15に接続されるようにする。ここで、Imdモ
ジュール11、Mvmモジュール12、およびFbsモジュール13
には、それぞれImdコントローラ16、Mvmコントローラ1
7、およびFbsコントローラ18が設けられ、これらコント
ローラ16〜18はグローバルコントロールバス19を介し
て、ホストコンピュータ15によって制御されるようにな
っている。
ここで、半導体デバイスシミュレーションについて考え
てみると、このシミュレーションは半導体素子の不純物
分布、接合面の軽上等の情報を基にして素子の電気的な
特性を求めるものであり、素子の内部電位Φ、電子密度
n、正孔密度pは、ボアソン方程式、電子および正孔に
対する電流連続式等によって適宜表現できる。
デバイスシミュレーションにおいては、これらの3つの
式を線形化、離散化した後、適当な境界条件を与えて数
値的に解く。ここで、離散化の手法としては、有限差分
法、有限要素法等があるが、シストリックアルゴリズム
との整合性を考慮して有限差分法を採用すると効果的で
ある。
三次元シミュレーションにおいては、第2図で示す注目
点Dと、その前後、左右、上下の格子点(A,G,C,E,B,
F)の合計7点に関して前記3つの式を離散化する(7
点差分近似)。
格子座標(k,m,n)の格子点に対しては、次の式にした
がって通し番号を付ける。
i=k+x(m−1)+xy(n−1) ……(1) (1≦k≦x、1≦m≦y、1≦n≦z) 但し、x、y、zはそれぞれ離散化格子におけるX軸、
Y軸、Z軸の格子点数である。
このとき、i番目の点における電位等の物理量Ψは次
の式で表現される。
aiΨi-xy+biΨi-x+ciΨi-1 +diΨ+eiΨi+1+fiΨi+x +giΨi+xy=hi ……(2) ここで、ai〜giは係数であり、hiは定数項である。
これを行列方程式(AΨ=h)で表現すると、第3図で
示すようになり、係数行列A(次元数N=xyz)は規則
的且つ大規模で疎な帯行列となる。例えば、各軸を40個
の格子点に分割したとき、6万4千次元の連立一次方程
式である。
素子の微細化が進み、素子構造が複雑化するにつれて、
三次元ではシミュレーションにおける係数行列の次元数
も数十万次元から数百万次元になるものであり、この求
解部分の高速化が不可欠となる。
その解法は主に共役勾配法(CG法)系統の反復法が用い
られているもので、基本となる演算は、疎帯行列の不完
全分解、疎帯行列ベクトル積、前進・後退代入、ベクト
ルの内積、そしてベクトルの和である。第4図はこの解
法の全体像を示すフローチャートである。
疎帯行列用のシストリックアレーについて、まず疎帯行
列の不完全分解について説明すると以下のようになる。
デバイスシミュレーションで得られる係数行列Aが、対
称行列となる場合と、非対称行列となる場合がある。こ
のいずれの場合においても不完全分解を行えるシストリ
ックアレーが必要となる。いま、係数行列Aを次のよう
に不完全分解すると次のようになる。
A=LDU+R ここで、Lは下三角行列、Dは対角行列、Uは上三角行
列であり、Rは不完全分解によって生ずる誤差行列であ
る。
この式のA、L、D、Uの非零要素の行番号i、列番号
jの組(i,j)は、それぞれ集合S、SL、SD、SUに含ま
れる(1≦i、j≦N)。
S={(i,j)|j=i−xy,i-x, i−1,i,i+1,i+x,i+xy} SL={(i,j)|j=i−xy,i−xy+1,i−xy+x,i−x, i−x+1,i−1,i} SD={(i,j)|j=i} SU={(i,j)|j=i,i+1, i+x−1,i+1,i+xy −x,i+xy−1,i+xy} 以下の説明では、行列AのSで指定される非零要素を含
む斜めの列を7本のN次元ベクトルとして、それぞれ
(a,b,c,d,e.f.g)と表し、行列Aの行番号をそれぞれ
の添字とする。また、L、D、Uについても非零要素を
含む斜めの列をベクトルとして、それぞれ(aL,aL′,
aL″,bL,bL′,cL,dL),dD,(dU,eU,fU,fU,gU″,gU′,
gU)と名前を付け、同じく行番号を添字とする。
以下に、不完全LU分解(dD i=dU i=1)を計算式を示す
(1≦i≦N)。
aL i=ai aL=−aL ieU i-xy aL=−aL ifU i-xy−aL′fUi-xy+1 bL i=bi−aL igUi-xy bL=−aLigUi-xy+1 −bLieU i-x cL i=ci−aL igUi-xy −bL ifUi-x dL i=di−aLigu i-xy −aLigUi-xy+1 −aL″gUi-xy+x−bL ifU i-x −bL'ifUi-x+1−CL ieU i-1 eU i=(ei−aLigU i-xy+1 −bLifU i-xy+1)/dL i fU=(−aLigUi-xy+x −cL ifU i-1)/dL i fU i=(fi−aLigU i-xy+x)/ dL i gU=(−bL igU i-x −bLigUi-x+1)/dL i gU=−cL igU i-1/dL i gU i=gi/dL i (3) この式(3)のデータの依存関係をまとめ、各データ間
における参照関係の規則性に着目すると、疎行列の不完
全分解を実行するシストリックアレーが得られるもの
で、第5図で示すようになる。この図において、矢印に
丸を付した印は、隣接セル間で遅延を必要とする部分を
表し、その遅延時間はそれぞれδ1、δ2、δ3であ
る。
このシストリックアレーは、第6図の(a)で示す基本
セル、同図の(b)で示す下三角要素出力セル、同図の
(c)で示す対角要素出力セル、同図の(d)で示す上
三角要素出力セル、同図の(e)で示す時間調整セルを
六角形に配置して構成したものである。そして、第5図
で示されるようにAの各要素がアレーの上方から入力さ
れ、L、D、Uの各要素は下方から出力される。
ここで、各入力データのタイミングは次の通りである。
行列Aの7本のベクトルの各第1要素、a1、b1、c1、d
1、e1、f1、g1は、それぞれ時刻T=1,5,7,8,10,14,22
の各アレーに入力し、それ以降の入力の時間間隔は、3
である。
このとき出力dL Nは、時刻 T=8+3(N−1)+7+1 に出力される。
アレーを構成する5種類のセルの中で、(e)図で示さ
れる時間調整セルは、実際の演算を行わず、データを遅
延させるためのセルであるが、アレー内のデータ流を規
則的にして、式(3)を正しく計算させるために必要で
ある。また、このシストリックアレーでは、セル機能を
若干変更することによって、次の3種類の分解が可能で
ある。
I.不完全LU分解(dD i=dU i=1) II.不完全LDLT分解(dD idU i=1,dL i=dU i) III.不完全LDLT分解(dL i=dU i=1) 不完全LDLT分解(II,III)の計算式は、式(3)の一部
を次のように変更すればよい。
II.式(3)の右辺のaL i〜cL iを、下記の゜aL i〜゜cL i
に、さらにdL iによる除算を無くした式。
III.式(3)の両辺のaL i〜cL iを下記の゜aL i〜゜c
L iに、さらにdL iをdD iに置き換えた式。
但し、 ゜aL i=aL idD i-xy ゜aL=aLidD i-xy+1 ゜aL=aLidD i-xy+x ゜bL i=bL idD i-x ゜bL=bLidD i-x+1 ゜cL i=cL idD i-1 ところで、この不完全分解は後述する前進・後退代入に
おいての使用が本来の目的であり、その計算は反復法に
おけるループ内で行われる。このため、このシストリッ
アレーでは下三角要素出力セル、および対角要素出力セ
ルの機能を工夫して前進・後退代入で、そのまま使用で
きるデータ(例えばdL-1 iや゜aL i〜゜cL i等)にして出
力する。
第7図はこのように不完全行列分解を行うImdモジュー
ル11の具体的な構成例を示している。すなわち、、被分
解行列(A)バッファメモリ111から不完全行列分解ア
レー112に入力が与えられ、この分解アレー112からの出
力は分解行列(L、D、U)用バッファメモリ113に与
えられるようになる。
次ぎに、疎帯行列ベクトル積について考える。疎帯行列
ベクトル積(q=Ap)の各成分qiは、次ぎの式で表現さ
れる。
qi=ΣN j 1AijPij,(i,j)∈S ……(4) アレーは第8図で示す積和演算セル7個からなる一次元
アレーとし、これを第9図で示すように構成する。そし
て、ベクトルqの各要素qiは、初期値を0として左端の
セルから、ベクトルpの各要素piは右端のセルから、そ
れぞれ時間間隔2で入力し、計算結果qiは式(4)の処
理を受けながら、アレー内を右方向に進む。ここで、δ
〜δ12は、各セル間に設定すべき遅延時間であり、式
(4)とアレー内のデータ移動の時間関係とによって、
次ぎの条件式で表される。
Σ6 i δ=Σ δ=2xy−6, Σ5 i δ=2x−4+δ7, Σ10 i δ=δ+δ2, Σ6 i δ=δδ8, Σ11 i δ=2x−4+δ1, Σ3 i δ=Σ9 1 δi, (5) この式(5)とδ≧0とによって、次ぎの結果が導か
れる。
δ+δ12=δ+δ=2xy−2x−2, δ+δ11=δ+δ=2x−4, δ=δ=δ=δ10=0, δ+δ+δ+δ=2xy−6 ……(6) また、a1〜g1がq1に対して使われる時刻をTa1〜Tg1とす
ると、 Ta1=1,Tb1=2+δ1, Tc1=3+δ+δ2, Te1=5+Σ4 i δ Tf1=6+Σ5 i δ Tg1=1+2xy ……(7) となり、各入力データのタイミングが遅延時間との関数
として表される。しかし、p1,q1が時刻T=1にそれぞ
れ右端、左端のセルに入力されたとき、pN、qNが出力さ
れる時刻は、 T=1+2xy+2(N−1)+1 となり、遅延時間の選択の仕方が、全計算期間に影響を
及ぼさないことがわかる。したがって、遅延時間、入力
データのタイミングは一意には決まらず、それぞれ式
(6)(7)を満足する範囲内で任意に選択できるよう
になる。このことは、この疎帯行列・ベクトル積の場合
には、直接的な効果ではないが、次ぎの前進・後退代入
において、重要な役割を果たすようになる。
前進・後退代入について説明する。この部分は、ループ
内で最も計算時間を必要とするもので、(LU)-1r=t
の計算は、2段階に分けて実行される。
前進代入L-1r=sでは、rを入力してsを求める。さら
に後退代入U-1s=tでは、sを入力してtを求める。
まず、前進代入においては、sの各成分siは次式で計算
される。
si=(ri−aL isi-xy −aLisi-xy+1−aLisi-xy+x−bL isi-x−bLisi-x+1 −cL isi-1)/dLi (8) この式(8)には、dL iによる除算が含まれているが、
不完全分解の段階で既に逆数を計算しているので、実際
には乗算を行う。また、不完全LDLT分解ではaL i〜cL i
はなく、゜aL i〜゜cL iとdL-1 i、あるいはdD-1 iが必要で
あるが、やはり不完全分解の段階でデータを加工してお
いて乗算のみ行うようにする。
前進・後退代入アレーは疎帯行列ベクトル積アレーと同
じ一次元アレーでセル数は同じで構成できる。このアレ
ーは右端以外のセルの機能は、第8図で示した積和演算
セルにおいて、 αout=αin+βinγin の加算を減算に置き換えたものである。また、右端のセ
ルは前進・後退代入の結果を出力するセルであり、その
機能は、 αout=αinγin βout=αout とする。ここで、入力データの時間間隔は2とし、疎帯
行列・ベクトル積のときと同様にして、δ〜δ12の条
件式から、各セル間の遅延時間として次ぎの結果が得ら
れる。
δ=δ12=δ=δ=δ=δ=0 δ+δ11=2x−4,δ+δ=2x−6 δ+δ10=2xy−4x−2 ……(8) 入力データのタイミングは、 TaL 1=1,TaL=2+δ1, TaL=3+δ+δ2, TbL 1=4+Σ3 i δi, TbL=5+Σ4 i δi, TcL 1=6+Σ5 i δi, TdLL-1=7+Σ6 i δ (10) となり、r1が時刻T=1に左端のセルに入力されたと
き、 T=7+Σ6 i δ+2(N−1)+1 にSNが出力される すなわち、疎帯行列ベクトル積の場合とは違い、各セル
間の遅延時間の設定の仕方が計算時間に影響を及ぼすよ
うになる。したがって、Tを最小限にするには、δ
δ=δ=0とする。このときの計算時間は最も短
く、時刻T=2M+6に終了する。ちなみに、計算時間の
最も長いのは、δ=δ10=δ11=0のときで、T=2N
+2xy−6に処理が終わる。
デバイスシミュレーションでは、xyが大きく、数万にも
及ぶ場合があり、また反復法による計算であるため、遅
延時間の選び方が重要となる。
一方後退代入の計算式は次ぎのようになる(i=N〜
1)。
ti=si−gU iti+xy−gU′ti+xy-1 −gUiti+xy-x−fU iti+x −fU′ti+x-1−eU iti+1 ……(11) したがって、前進代入における入力データの組(ri,…,
cL i,dL-1 i)を(si,…,eU i,1)と置き換えることによっ
て、同じアレーを用いて、同じ遅延時間の設定の下で実
行することができる。これは不完全LDLT分解に基づく場
合も同様である。
ここで、第10図は行列ベクトル積を実行するMvmモジュ
ール12の具体的な構成を示し、また第11図は前進・後退
代入を実行するFbsモジュール13の構成列を示す。
さらに、第12図は第5図で示した不完全行列分解アレー
を構成する各セル構成例を示しているもので、(A)図
は基本セル、(B)図は下三角要素出力セル、(C)図
は対角要素出力セル、(D)図は上三角要素出力セル、
(E)図は時間調整セルをそれぞれ示している。
また、第13図の(A)は第8図で示した積和演算セルを
構成する内積演算セルの具体的な構成例を示し、また同
図の(B)は和演算セルを示している。
デバイスシミュレーションにおいて、これを高速化する
手段について考えると、デバイスシミュレーションの問
題の特徴から、問題を分割することができ、これらを並
列に解くことができる。特に、疎帯行列・ベクトル積、
前進・後退代入、ベクトルの和、内積はループ内にあ
り、繰り返し計算されるものであるため、この部分の高
速化の可否によって、計算時間に大きな差が生ずる。以
下の説明では、疎帯行列ベクトル積、前進・後退代入の
高速化手段を示す。しかし、前進・後退代入を高速化す
る手段は、疎帯行列ベクトル積の高速化手段と同じであ
るので、これについてのみ説明する。
前述した方法で離散化を行った場合、シミュレーション
対象領域の境界上に位置する点では、近傍の格子点の
内、いくつかが存在しない。このことに注目して係数行
列Aをxy次元で正方行列に分割し、それぞれをブロック
行列とする。前述の性質からこのブロック行列は対角行
列、5重対角行列、零行列のいずれかになる。
各点(i,j)、(1≦i,j≦z),について゜Aijをxy次
元のブロック行列、゜pj、゜qiを対応するxy次元のベク
トルとする。このとき、疎帯行列・ベクトル積(q=A
p)は、ブロック行列毎に分割して次の式で表現され
る。
゜qi=ΣZ i ゜Aij゜pj (12) 但し、sA={(i,j)|j=i−1,i+1}とおくと、(i,
j)sAについて゜Aij=0である。したがって、前記式
(12)の各゜qiは、具体的には次のように表現される。
゜q1=A11゜p1+゜A12゜p2 ゜q2=゜A21゜p1+゜A22゜P2+゜A23゜p3 ゜q3=゜A32゜p2+゜A33゜p3+゜A34゜p4 1 ゜qZ=゜AZZ-1゜pz-1+゜AZZ゜pZ ……(13) ここで、゜Aij-1,゜Aij+1は、対角行列であり、゜Aij
5重対角行列である。
この式(13)の各゜qiの計算を1つのアレーで計算さ
せ、z個のアレーを並列に動作させることで、高速化を
達成できる。さらに各データの出力時刻に同期させて、
ベクトルの内積(q,p)をパイプライン的に計算させる
ことによって、全体としてさらに高速化するようにな
る。これをブロック並列計算と呼び、゜qiに対する処理
をするアレーを[Array_i]と呼ぶ。
この[Array_i]は第14図で示すように、疎帯行列ベク
トル積アレーに第15図で示す内積演算セルを付加したも
のとして実現する。また、和のパイプライン処理のた
め、第7図で示した積和演算セルの機能に若干の変更を
加えたセルが必要となる。
これは、入力データが時間間隔2で入力されることに着
目し、データ流のデータが存在しない時間を利用するも
のである。γinに対する入力データ流は、゜Aijの各要
素が時間間隔2で流れてくるものであるが、その時刻の
状態を(Red)とし、間の時刻の状態を(White)とす
る。第13図において、機能の変更が必要なセルは+印で
区別し、その機能を次のようにする。
if(White) Register←βin+γin else if(Red) αout=αin+register×γin まず、内積演算セルのアキュムレータ、カウンタの初期
値を、それぞれ0,1に設定し、カウンタがxyより小さい
ときには、そのブロックで内積の部分和がアキュムレー
タに順次累算され、カウンタの値がxyになったとき、す
なわちxy次元ベクトル゜qi最後の要素゜qi xyに対する処
理が行われた後、内積の部分和が次の[Array_i+1]
のγinに送られる。
この[Array_i]の動作は、例えば次のように行われ
る。式(13)において、゜qiの計算で最初に使われる゜
p(i-1)はベクトル゜p(i-1)aと゜p(i-1)bとの和であり、
゜p(i-1)a、 ゜p(i-1)bの第1要素゜p(i-1)a 1、 ゜p(i-1)b 1は、それぞれT=Tiに積和演算セルのβin
γinへWhite列として入力される。加算の結果はセル内
のレジスタに格納され、T=Ti+1で゜qi 1の計算に使
用される。゜qi 1はT=Ti+2からT=Ti+2+2xまで
は゜Aij゜piの結果を受取りながら右方に進み、T=Ti
+5+2xに゜qi 1゜pi 1がアキュムレータに加えられ、同
時に゜qi 1が出力される。
全体の動作は、まず[Array_1]でT=1に゜q1の処理
を開始し、以後一単位時間づつ遅らせて[Array_2][A
rray_3]と順次処理を開始させる。前述したように[Ar
ray_i]内での処理が進行し、゜qZ xyはT=2xy+2x+z
+3に[Array_z]から出力され、同時に内積(q,p)の
結果も出力される。
この様に複数個の[Array]を用いたブロック並列計算
(Tbp=2xy+2x+z+3)では、8z個のセルを用いる
が、そうでない場合(To=2xyz+2xy)に比べてT0/Tbp
=zとなり、約z倍速くなる。
セル間の遅延処理について考えてみると、このセル間の
遅延処理をどの様に行うかについては、シフトレジスタ
を用いる手段、メモリを用いる手段が考えられる。高速
化のためにはシフトレジスタを用いる方がよいが、ハー
ドウエアとして大きくなる。既存のメモリ素子を用いて
FIFOを実現する手段の方が現実的である。
セル間の遅延時間は、最大で約2xy(≧211)であり、デ
バイスシミュレーションの数値データは64ビットである
から、少なくとも16キロバイト程度のメモリが必要であ
る。一方ブロック並列計算では約2xの遅延であり、遅延
用のメモリとしては2キロバイト程度であれば、数十万
次元のシミュレーションにも対応できる。
[発明の効果] 以上のようにこの発明に係る三次元デバイスのシミュレ
ーションによれば、その高速化のために小数個のセル
(例えば行列分解に64個、行列ベクトル積に7個、前進
・後退代入に7個)によって、大規模問題を効率的に扱
うことができるシストリックアレーを得ることができ
る。したがってNを三次元シミュレーションの対象領域
の全格子点数とするとき、計算時間はNに比例するもの
となり、非常に高速化できる。また離散化により得られ
る係数行列の特徴を活かした高速化手段が得られた。こ
の場合必要セル数は、N1/3倍になるが、計算時間はN
2/3に比例するようになる。
ここで、各アレーで必要なセルは、数種類になるもので
あるが、必要な演算処理は類似している。したがって、
これを実現する場合には、全ての機能を取り込み使用時
にその機能を切り替える機構を導入して、1つのセルと
して実現させることができる。第12図および第13図はそ
の概略を示している。
【図面の簡単な説明】
第1図はこの発明の一実施例に係るデバイスシミュレー
ション装置を説明するための構成図、第2図はシミュレ
ーションにおける7点差分近似を説明する図、第3図は
行列方程式の態様を説明する図、第4図は基本演算の解
法を説明するフローチャート、第5図は不完全行列分解
アレーの構成を示す図、第6図の(a)〜(e)はそれ
ぞれ上記アレーを構成するセルを説明する図、第7図は
不完全行列分解モジュールを説明する図、第8頭は積和
演算セルの機能を説明する図、第9図は疎帯行列・ベク
トル積アレーを示す図、第10図は行列ベクトル積モジュ
ールの構成を説明する図、第11図は前進・後退代入モジ
ュールの構成を説明する図、第12図の(A)〜(E)は
それぞれ前記不完全行列分解アレーを構成する演算セル
の具体的な構成例を示す図、第13図の(A)および
(B)はそれぞれ積和演算セルの構成例を示す図、第14
図はブロック並列計算アレーを説明する図、第15図はこ
の並列計算アレーに付加された内積演算セルを示す図で
ある。 11……不完全行列分解モジュール、12……行列ベクトル
積モジュール、13……前進・後退代入モジュール、14…
…グローバルデータバス、15……ホストコンピュータ、
16〜18……コントローラ、19……グローバルコントロー
ルバス。
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 H01L 29/00 (56)参考文献 特開 平1−129434(JP,A)

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】基本セル、下三角要素出力セル、対角要素
    出力セル、下三角要素出力セル、および時間調整セルか
    らなる5種類の演算セルを六角形に配置して構成され、
    行列の各要素はそれぞれ上方から入力され、分解された
    行列の各要素はそれぞれ下方から出力されるように構成
    されている、疎帯行列の不完全LU分解用のシストリック
    アレーと、 複数の積和演算セルが一次元的に並べて配置され、この
    複数の演算セルの一次元配列の一方の端からベクトルの
    要素が特定される時間間隔で入力され、前記各演算セル
    にはそれぞれ各行列の各要素が特定される時間間隔で入
    力されて、その各行列要素と各ベクトル要素との積を順
    次累積して出力ベクトルの要素として出力するようにし
    た疎帯行列ベクトル積用シストリックアレーと、 複数の積和演算セルが一次元的に並べて配置され、この
    複数の演算セルの一次元配列の一方の端からベクトルの
    要素が特定される時間間隔で入力され、前記各演算セル
    にはそれぞれ各行列の各要素が特定される時間間隔で入
    力されて、その各行列要素と各ベクトル要素との積を順
    次減算して出力ベクトルの要素として出力するようにし
    た前進後退代入用シストリックアレーとを具備し、 前記疎帯行列の不完全LU分解用シスリックアレー、疎帯
    行列ベクトル積用シストリックアレー、および前進後退
    代入用シストリックアレーは、それぞれデータバスおよ
    びコントロールバスによって結合され、主計算部からの
    指令に基づき演算動作を実行させられるようにしたこと
    を特徴とする三次元デバイスのシミュレーション装置。
JP1322674A 1989-12-14 1989-12-14 三次元デバイスのシミュレーション装置 Expired - Lifetime JPH0752748B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1322674A JPH0752748B2 (ja) 1989-12-14 1989-12-14 三次元デバイスのシミュレーション装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1322674A JPH0752748B2 (ja) 1989-12-14 1989-12-14 三次元デバイスのシミュレーション装置

Publications (2)

Publication Number Publication Date
JPH03185745A JPH03185745A (ja) 1991-08-13
JPH0752748B2 true JPH0752748B2 (ja) 1995-06-05

Family

ID=18146343

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1322674A Expired - Lifetime JPH0752748B2 (ja) 1989-12-14 1989-12-14 三次元デバイスのシミュレーション装置

Country Status (1)

Country Link
JP (1) JPH0752748B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7218624B2 (en) * 2001-11-14 2007-05-15 Interdigital Technology Corporation User equipment and base station performing data detection using a scalar array
JP6981223B2 (ja) * 2017-12-15 2021-12-15 富士通株式会社 疎行列ベクトル積演算装置及び疎行列ベクトル積演算方法

Also Published As

Publication number Publication date
JPH03185745A (ja) 1991-08-13

Similar Documents

Publication Publication Date Title
CN118585249B (zh) 注意力运算处理方法和装置
JPH0233191B2 (ja)
JPH0326411B2 (ja)
US6066178A (en) Automated design method and system for synthesizing digital multipliers
CN105426345A (zh) 一种矩阵求逆运算方法
TW202129518A (zh) 僅使用一單一側自多維陣列加載運算元及輸出結果
JPH10334129A (ja) データ処理装置および方法、情報記憶媒体
JPH03209561A (ja) 連立一次方程式の解を求める計算装置及び方法
CN111199017A (zh) 多功能厄密对称矩阵求逆ip核的实现方法
JPH0614321B2 (ja) プログラム化されたコンパイラを用いたデジタル信号プロセサの実現化方法
Anuraj et al. Performance Analysis of Multiplier with Different Bits Size for MAC Unit
JPH0752748B2 (ja) 三次元デバイスのシミュレーション装置
JP2666411B2 (ja) 二次元離散データ直交変換用集積回路装置
JP3697992B2 (ja) 行列ベクトル積演算システム及びそれに用いる行列格納システム並びにそれらの方法
Smith et al. Design of a fast inner product processor
Shawl et al. Implementation of Area and Power efficient components of a MAC unit for DSP Processors
JPS60169975A (ja) 高速lu分解器
Kshirsagar et al. FPGA Implementation of Binary Multipliers Based on Hardware Algorithms
JPH08255184A (ja) 論理回路分割方法
JPH0540776A (ja) 二次元dctマトリクス演算回路
Su et al. Distributed arithmetic-based architectures for high speed IIR filter design
JP2007086919A (ja) 線形連立方程式の求解装置
JP3396818B2 (ja) Dct演算回路及びidct演算回路
JPS61221963A (ja) フ−リエ変換装置
Ciminiera et al. Partitioned array for stable matrix triangularisation