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 - 3D device simulation device - Google Patents
[go: Go Back, main page]

JPH0752748B2 - 3D device simulation device - Google Patents

3D device simulation device

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
Japanese (ja)
Other versions
JPH03185745A (en
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/en
Publication of JPH03185745A publication Critical patent/JPH03185745A/en
Publication of JPH0752748B2 publication Critical patent/JPH0752748B2/en
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

【発明の詳細な説明】 [産業上の利用分野] この発明は、例えば半導体素子の特性解析を、実際の素
子を製作することなく、コンピュータ上で行なう三次元
デバイスのシミュレーション装置に関する。
Description: TECHNICAL FIELD The present invention relates to a three-dimensional device simulation apparatus for performing characteristic analysis of a semiconductor device on a computer without manufacturing an actual device, for example.

[従来の技術] 半導体素子の特性解析を、実際の素子を用いないでコン
ピュータ上で行なうデバイスシミュレーションにおいて
は、大規模疎行列計算を高速で実行する必要がある。
[Prior Art] In device simulation in which characteristics of semiconductor elements are analyzed on a computer without using actual elements, it is necessary to execute large-scale sparse matrix calculation at high speed.

現象を定量的に解明しようとする数値シミュレーション
技術は、コンピュータの進歩によってその重要性が増し
ている。半導体集積回路の設計に際しても、プロセスシ
ミュレーション、デバイスシミュレーション、回路シミ
ュレーション等の技術が既に実用化されており、設計期
間を短縮するために、シミュレーションの短縮化がさら
に強く望まれている。
Numerical simulation technology, which seeks to quantitatively elucidate phenomena, is becoming more important due to advances in computers. Techniques such as process simulations, device simulations, and circuit simulations have already been put into practical use when designing semiconductor integrated circuits, and there is a strong demand for shorter simulations in order to shorten the design period.

デバイスシミュレーションは、最終的に大規模行列方程
式の求解問題に帰着されるもので、各シミュレーション
時間の大半が、この求解部分に費やされる。このこと
は、素子構造が複雑化し、三次元シミュレーションが不
可欠なものとなるにつれて、より強まる傾向にあり、求
解部分の高速化が求められている。
Device simulation ultimately results in a solution problem for large-scale matrix equations, and most of the simulation time is spent in this solution part. This tends to become stronger as the device structure becomes more complicated and three-dimensional simulation becomes indispensable, and there is a demand for speeding up the solution-solving portion.

[発明が解決しようとする課題] この発明においては、シストリックアレーを用いて高速
化が実現できる三次元デバイスのシミュレーション装置
を提供することを目的としている。シストリックアレー
は、H.T.Kungによって提案されたVLSI向きのアーキテク
チャの1つで論理的且つ実践的側面からの研究もされて
きた。しかし、これまで提案された密行列に対する処理
をシストリックアレー上で、デバイスシミュレーション
のような大規模疎行列計算を行なう場合、数百万個の演
算セルを必要とする。
[Problems to be Solved by the Invention] It is an object of the present invention to provide a simulation apparatus for a three-dimensional device that can achieve high speed using a systolic array. The systolic array is one of the VLSI-oriented architectures proposed by HTKung and has been studied from a logical and practical side. However, when processing a dense matrix proposed so far on a systolic array and performing a large-scale sparse matrix calculation such as device simulation, millions of arithmetic cells are required.

したがってこの発明においては、小数個の演算セルによ
って大規模行列を効果的に扱うことのできるシストリッ
クアレーを提供しようとするものである。
Therefore, the present invention is intended to provide a systolic array capable of effectively handling a large-scale matrix with a small number of arithmetic cells.

[課題を解決するための手段] この発明に係る三次元デバイスのシミュレーション装置
は、基本セル、下三角要素出力セル、対角要素出力セ
ル、上三角要素出力セル、および時間調整セルからなる
5種類の演算セルを六角形に配置して構成され、その行
列の各要素はそれぞれ上方から入力され、分解された行
列の各要素はそれぞれ下方から出力されるように構成さ
れている、疎帯行列の不完全LU分解用のシストリックア
レーと、複数の積和演算セルが一次元的に並べて配置さ
れ、この複数の演算セルの一次元配列の一方の端からベ
クトルの要素が特定される時間間隔で入力され、前記各
演算セルにはそれぞれ各行列の各要素が特定される時間
間隔で入力されて、その各行列要素と各ベクトル要素と
の積を順次累積して出力ベクトルの要素として出力する
ようにした疎帯行列ベクトル積用シストリックアレー
と、複数の積和演算セルが一次元的に並べて配置され、
この複数の演算セルの一次元配列の一方の端からベクト
ルの要素が特定される時間間隔で入力され、前記各演算
セルにはそれぞれ各行列の各要素が特定される時間間隔
で入力されて、その各行列要素と各ベクトル要素との積
を順次減算して出力ベクトルの要素として出力するよう
にした前進後退代入用シストリックアレーとを備えるも
ので、前記疎帯行列の不完全LU分解用シスリックアレ
ー、疎帯ベクトル積用シストリックアレー、および前進
後退代入用シストリックアレーは、それぞれデータバス
およびコントールバスによって結合され、主計算部から
の指令に基づき演算動作を実行させられるようにしてい
る。
[Means for Solving the Problem] The three-dimensional device simulation apparatus according to the present invention has five types including a basic cell, a lower triangular element output cell, a diagonal element output cell, an upper triangular element output cell, and a time adjustment cell. Of hexagons, each element of the matrix is input from above, and each element of the decomposed matrix is output from below. A systolic array for incomplete LU decomposition and a plurality of multiply-accumulate operation cells are arranged in a one-dimensional array, and a vector element is specified from one end of the one-dimensional array of the plurality of operation cells at time intervals. Each element of each matrix is input to each operation cell at a specified time interval, and the product of each matrix element and each vector element is sequentially accumulated to obtain an element of an output vector. A sparse banded matrix systolic array for vector product which is adapted to output a plurality of product-sum operation cell is arranged one-dimensionally,
The elements of the vector are input from one end of the one-dimensional array of the plurality of operation cells at specified time intervals, and the elements of each matrix are input at the specified time intervals to each operation cell, And a systolic array for forward / backward substitution in which the product of each matrix element and each vector element is sequentially subtracted and output as the element of the output vector. The rick array, the sparse vector product systolic array, and the forward / backward substitution systolic array are connected by a data bus and a control bus, respectively, so that arithmetic operations can be executed based on commands from the main calculation unit. .

[作用] このシミュレーション装置によれば、デバイスシミュレ
ーション問題の特徴から問題を分割できるもので、それ
らを並列的に解くことができる。特に疎行列ベクトル
積、前進・後退代入、ベクトルの和、内積は、ループ内
にあって繰り返し計算されるものであるため、この部分
の高速化の可否によって計算時間に大きな差が生ずる。
このシミュレーション装置においては、デバイスシミュ
レーションの高速化のために少数個のセルにより大規模
問題を効率的に扱うことができるシストリックアレーを
提供できる。
[Operation] According to this simulation device, the problem can be divided based on the characteristics of the device simulation problem, and the problems can be solved in parallel. In particular, sparse matrix vector products, forward / backward substitutions, vector sums, and inner products are repeatedly calculated in a loop, and therefore a large difference occurs in the calculation time depending on whether or not the speedup of this part is possible.
This simulation apparatus can provide a systolic array that can efficiently handle a large-scale problem with a small number of cells in order to speed up device simulation.

[発明の実施例] 以下、図面を参照しながら、この発明の一実施例を説明
する。第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によって制御されるようにな
っている。
[Embodiment of the Invention] An embodiment of the present invention will be described below with reference to the drawings. FIG. 1 shows the configuration of the device simulation apparatus, which is an incomplete matrix decomposition (Imd = I) of a sparse band matrix.
ncomplete Matrix Decomposition) module 11, matrix-vector product (Mvm = Matrix-Vector Multiplication) module 12, and forward / backward (Fbs = Foward-Backwar)
d Substitution) module 13, and these modules 11 to 13 are connected to the host computer 15 via the global data bus 14. Where Imd module 11, Mvm module 12, and Fbs module 13
There are Imd controller 16 and Mvm controller 1 respectively
7 and an Fbs controller 18 are provided, and these controllers 16 to 18 are controlled by the host computer 15 via the global control bus 19.

ここで、半導体デバイスシミュレーションについて考え
てみると、このシミュレーションは半導体素子の不純物
分布、接合面の軽上等の情報を基にして素子の電気的な
特性を求めるものであり、素子の内部電位Φ、電子密度
n、正孔密度pは、ボアソン方程式、電子および正孔に
対する電流連続式等によって適宜表現できる。
Here, considering a semiconductor device simulation, this simulation seeks the electrical characteristics of the element based on information such as the impurity distribution of the semiconductor element and the lightness of the junction surface. , The electron density n, and the hole density p can be appropriately expressed by the Poisson equation, the current continuity equation for electrons and holes, and the like.

デバイスシミュレーションにおいては、これらの3つの
式を線形化、離散化した後、適当な境界条件を与えて数
値的に解く。ここで、離散化の手法としては、有限差分
法、有限要素法等があるが、シストリックアルゴリズム
との整合性を考慮して有限差分法を採用すると効果的で
ある。
In device simulation, these three expressions are linearized and discretized, and then numerically solved by giving appropriate boundary conditions. Here, as the discretization method, there are a finite difference method, a finite element method, and the like, but it is effective to adopt the finite difference method in consideration of consistency with the systolic algorithm.

三次元シミュレーションにおいては、第2図で示す注目
点Dと、その前後、左右、上下の格子点(A,G,C,E,B,
F)の合計7点に関して前記3つの式を離散化する(7
点差分近似)。
In the three-dimensional simulation, the attention point D shown in FIG. 2 and grid points (A, G, C, E, B,
Discretize the above three equations for a total of 7 points in (F) (7
Point difference approximation).

格子座標(k,m,n)の格子点に対しては、次の式にした
がって通し番号を付ける。
Serial numbers are assigned to grid points with grid coordinates (k, m, n) according to the following formula.

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 = k + x (m−1) + xy (n−1) (1) (1 ≦ k ≦ x, 1 ≦ m ≦ y, 1 ≦ n ≦ z) where x, y, and z are discretization grids X-axis at,
It is the number of grid points on the Y axis and the Z axis.

このとき、i番目の点における電位等の物理量Ψは次
の式で表現される。
At this time, the physical quantity Ψ i such as the electric potential at the i-th point is expressed by the following equation.

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 i Ψ i-xy + b i Ψ ix + c i Ψ i-1 + d i Ψ i + e i Ψ i + 1 + f i Ψ i + x + g i Ψ i + xy = h i (2) where a i to g i are coefficients, and h i is a constant term.

これを行列方程式(AΨ=h)で表現すると、第3図で
示すようになり、係数行列A(次元数N=xyz)は規則
的且つ大規模で疎な帯行列となる。例えば、各軸を40個
の格子点に分割したとき、6万4千次元の連立一次方程
式である。
When this is expressed by a matrix equation (AΨ = h), it becomes as shown in FIG. 3, and the coefficient matrix A (the number of dimensions N = xyz) is a regular, large-scale, sparse band matrix. For example, when each axis is divided into 40 lattice points, it is a simultaneous linear equation of 64,000 dimensions.

素子の微細化が進み、素子構造が複雑化するにつれて、
三次元ではシミュレーションにおける係数行列の次元数
も数十万次元から数百万次元になるものであり、この求
解部分の高速化が不可欠となる。
As the miniaturization of devices progresses and the device structure becomes more complex,
In three dimensions, the number of dimensions of the coefficient matrix in the simulation is from hundreds of thousands to millions, and it is indispensable to speed up the solution portion.

その解法は主に共役勾配法(CG法)系統の反復法が用い
られているもので、基本となる演算は、疎帯行列の不完
全分解、疎帯行列ベクトル積、前進・後退代入、ベクト
ルの内積、そしてベクトルの和である。第4図はこの解
法の全体像を示すフローチャートである。
The solution method is mainly the iterative method of the conjugate gradient method (CG method) system, and the basic operations are incomplete decomposition of sparse band matrix, sparse band matrix vector product, forward / backward substitution, vector Is the dot product of and the sum of the vectors. FIG. 4 is a flow chart showing an overview of this solution.

疎帯行列用のシストリックアレーについて、まず疎帯行
列の不完全分解について説明すると以下のようになる。
Regarding the systolic array for sparse band matrix, the incomplete decomposition of the sparse band matrix will be described below.

デバイスシミュレーションで得られる係数行列Aが、対
称行列となる場合と、非対称行列となる場合がある。こ
のいずれの場合においても不完全分解を行えるシストリ
ックアレーが必要となる。いま、係数行列Aを次のよう
に不完全分解すると次のようになる。
The coefficient matrix A obtained by the device simulation may be a symmetric matrix or an asymmetric matrix. In either case, a systolic array that can perform incomplete decomposition is required. Now, if the coefficient matrix A is incompletely decomposed as follows, it becomes as follows.

A=LDU+R ここで、Lは下三角行列、Dは対角行列、Uは上三角行
列であり、Rは不完全分解によって生ずる誤差行列であ
る。
A = LDU + R where L is a lower triangular matrix, D is a diagonal matrix, U is an upper triangular matrix, and R is an error matrix generated by incomplete decomposition.

この式のA、L、D、Uの非零要素の行番号i、列番号
jの組(i,j)は、それぞれ集合S、SL、SD、SUに含ま
れる(1≦i、j≦N)。
The set (i, j) of the row number i and the column number j of the non-zero elements of A, L, D, and U in this equation are included in the sets S, SL , SD , and S U , respectively (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)と名前を付け、同じく行番号を添字とする。
S = {(i, j) | j = i-xy, ix, i-1, i, i + 1, i + x, i + xy} S L = {(i, j) | j = i-xy, i-xy + 1, i -Xy + x, i-x, i-x + 1, i-1, i} S D = {(i, j) | j = i} S U = {(i, j) | j = i, i + 1, i + x-1 , i + 1, i + xy−x, i + xy−1, i + xy} In the following description, diagonal columns including non-zero elements designated by S of matrix A are set as (a, b, c) as seven N-dimensional vectors, respectively. , d, efg), and the row numbers of the matrix A are used as subscripts. Also, with respect to L, D, and U, diagonal columns including non-zero elements are used as vectors, and (a L , a L ′,
a L ″, b L , b L ′, c L , d L ), d D , (d U , e U , f U , f U , g U ″, g U ′,
g U ) and also the line number as a subscript.

以下に、不完全LU分解(dD i=dU i=1)を計算式を示す
(1≦i≦N)。
The calculation formula for the incomplete LU decomposition (d D i = d U i = 1) is shown below (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であ
る。
a L i = a i a L 'i = -a L i e U i-xy a L "i = -a L i f U i-xy -a L' f U 'i-xy + 1 b L i = b i −a L i g Ui-xy b Li = −a Li g Ui-xy + 1 −b Li e U ix c L i = c i −a L i g Ui -xy −b L i f Uix d L i = d i −a Li g u i-xy −a Li g Ui-xy + 1 −a L ″ g Ui-xy + x −b L i f U ix −b L ' i f Ui-x + 1 −C L i e U i-1 e U i = (e i −a Li g U i-xy + 1 − b Li f U i-xy + 1 ) / d L i f Ui = (− a Li g Ui-xy + x −c L i f U i-1 ) / d L i f U i = (f i −a Li g U i-xy + x ) / d L i g Ui = (− b L i g U ix −b Li g Ui-x + 1 ) / d L i g Ui = −c L i g U i-1 / d L i g U i = g i / d L i (3) Summarizing the data dependence of this equation (3), each data Focusing on the regularity of the reference relation between the two, a systolic array that performs incomplete decomposition of the sparse matrix is obtained, as shown in FIG. In this figure, the circled arrows indicate the portions that require delay between adjacent cells, and the delay times are δ1, δ2, and δ3, respectively.

このシストリックアレーは、第6図の(a)で示す基本
セル、同図の(b)で示す下三角要素出力セル、同図の
(c)で示す対角要素出力セル、同図の(d)で示す上
三角要素出力セル、同図の(e)で示す時間調整セルを
六角形に配置して構成したものである。そして、第5図
で示されるようにAの各要素がアレーの上方から入力さ
れ、L、D、Uの各要素は下方から出力される。
This systolic array includes a basic cell shown in FIG. 6A, a lower triangular element output cell shown in FIG. 6B, a diagonal element output cell shown in FIG. The upper triangular element output cell shown in d) and the time adjustment cell shown in (e) of the figure are arranged in a hexagon. Then, as shown in FIG. 5, each element of A is input from above the array, and each element of L, D, and U is output from below.

ここで、各入力データのタイミングは次の通りである。
行列Aの7本のベクトルの各第1要素、a1、b1、c1、d
1、e1、f1、g1は、それぞれ時刻T=1,5,7,8,10,14,22
の各アレーに入力し、それ以降の入力の時間間隔は、3
である。
Here, the timing of each input data is as follows.
The first element of each of the seven vectors of matrix A, a1, b1, c1, d
1, e1, f1, g1 are time T = 1,5,7,8,10,14,22, respectively.
Input to each array, and the time interval for subsequent input is 3
Is.

このとき出力dL Nは、時刻 T=8+3(N−1)+7+1 に出力される。At this time, the output d L N is output at time T = 8 + 3 (N-1) + 7 + 1.

アレーを構成する5種類のセルの中で、(e)図で示さ
れる時間調整セルは、実際の演算を行わず、データを遅
延させるためのセルであるが、アレー内のデータ流を規
則的にして、式(3)を正しく計算させるために必要で
ある。また、このシストリックアレーでは、セル機能を
若干変更することによって、次の3種類の分解が可能で
ある。
Of the five types of cells that make up the array, the time adjustment cell shown in (e) of FIG. 6 is a cell for delaying data without performing actual calculation. However, the data flow in the array is regular. Therefore, it is necessary to correctly calculate the equation (3). Further, in this systolic array, the following three types of decomposition can be performed by slightly changing the cell function.

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)の一部
を次のように変更すればよい。
I. Incomplete LU decomposition (d D i = d U i = 1) II. Incomplete LDL T decomposition (d D i d U i = 1, d L i = d U i ) III. Incomplete LDL T decomposition ( d L i = d U i = 1) The calculation formula for the incomplete LDL T decomposition (II, III) may be obtained by changing part of the formula (3) as follows.

II.式(3)の右辺のaL i〜cL iを、下記の゜aL i〜゜cL i
に、さらにdL iによる除算を無くした式。
II. Let a L i to c L i on the right side of the equation (3) be the following ° a L i to ° c L i
In addition, the expression without division by d L i .

III.式(3)の両辺のaL i〜cL iを下記の゜aL i〜゜c
L iに、さらにdL iをdD iに置き換えた式。
III. Let a L i to c L i on both sides of equation (3) be the following ° a L i to ° c
To L i, further replacing the d L i to d D i Equation.

但し、 ゜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等)にして出
力する。
However, ゜ a L i = a L i d D i-xy゜ a Li = a Li d D i-xy + 1゜ a Li = a Li d D i-xy + x゜b L i = b L i d D ix ° b Li = b Li d D i-x + 1 ° c L i = c L i d D i-1 By the way, this incomplete decomposition will be described later. -The original purpose is for use in back substitution, and the calculation is performed in a loop in the iterative method. Therefore, the sheet strip lower triangular element output cell in the array, and pairs diagonal elements devised to forward and backward substitution functions of the output cell, the data that can be used directly (e.g., d L-1 i Ya゜a L i ~ ° c L i ) and output.

第7図はこのように不完全行列分解を行うImdモジュー
ル11の具体的な構成例を示している。すなわち、、被分
解行列(A)バッファメモリ111から不完全行列分解ア
レー112に入力が与えられ、この分解アレー112からの出
力は分解行列(L、D、U)用バッファメモリ113に与
えられるようになる。
FIG. 7 shows a specific example of the configuration of the Imd module 11 that performs incomplete matrix decomposition in this way. That is, an input is given from the decomposed matrix (A) buffer memory 111 to the incomplete matrix decomposition array 112, and an output from this decomposition array 112 is supplied to the decomposition matrix (L, D, U) buffer memory 113. become.

次ぎに、疎帯行列ベクトル積について考える。疎帯行列
ベクトル積(q=Ap)の各成分qiは、次ぎの式で表現さ
れる。
Next, consider the sparse matrix-vector product. Each component q i of the sparse band vector product (q = Ap) is expressed by the following equation.

qi=ΣN j 1AijPij,(i,j)∈S ……(4) アレーは第8図で示す積和演算セル7個からなる一次元
アレーとし、これを第9図で示すように構成する。そし
て、ベクトルqの各要素qiは、初期値を0として左端の
セルから、ベクトルpの各要素piは右端のセルから、そ
れぞれ時間間隔2で入力し、計算結果qiは式(4)の処
理を受けながら、アレー内を右方向に進む。ここで、δ
〜δ12は、各セル間に設定すべき遅延時間であり、式
(4)とアレー内のデータ移動の時間関係とによって、
次ぎの条件式で表される。
q i = Σ N j = 1 A ij P ij , (i, j) εS (4) The array is a one-dimensional array consisting of seven product-sum operation cells shown in FIG. 8, and this is shown in FIG. Configure as shown in. Then, each element q i of the vector q is input from the cell at the left end with an initial value of 0, each element p i of the vector p is input from the cell at the right end at a time interval of 2, and the calculation result q i is expressed by the formula (4 ), Go to the right in the array. Where δ
1 to δ 12 is a delay time to be set between the cells, and according to the equation (4) and the time relationship of data movement in the array,
It is expressed by the following conditional expression.

Σ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とによって、次ぎの結果が導か
れる。
Σ 6 i = 1 δ i = Σ i = 7 δ i = 2xy-6, Σ 5 i = 1 δ i = 2x-4 + δ 7 , Σ 10 i = 7 δ i = δ 1 + δ 2 , Σ 6 i = 1 δ i = δ 7 δ 8 , Σ 11 i = 7 δ i = 2x-4 + δ 1 , Σ 3 i = 1 δ i = Σ 9 1 = 7 δ i , (5) This equation (5) and δ i ≥0 And lead to the next result.

δ+δ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)を満足する範囲内で任意に選択できるよう
になる。このことは、この疎帯行列・ベクトル積の場合
には、直接的な効果ではないが、次ぎの前進・後退代入
において、重要な役割を果たすようになる。
δ 1 + δ 12 = δ 6 + δ 7 = 2xy−2x−2, δ 2 + δ 11 = δ 5 + δ 8 = 2x−4, δ 3 = δ 4 = δ 9 = δ 10 = 0, δ 1 + δ 2 + δ 5 + Δ 6 = 2xy−6 (6) Further, when the time when a 1 to g 1 is used for q 1 is Ta 1 to Tg 1 , Ta 1 = 1 and Tb 1 = 2 + δ 1 and Tc 1 = 3 + δ 1 + δ 2 , Te 1 = 5 + Σ 4 i = 1 δ i Tf 1 = 6 + Σ 5 i = 1 δ i Tg 1 = 1 + 2xy (7), and the timing of each input data is expressed as a function of the delay time. It However, when p 1 and q 1 are input to the rightmost cell and the leftmost cell at time T = 1 respectively, the time at which p N and q N are output is T = 1 + 2xy + 2 (N-1) +1, and the delay time is It can be seen that the selection method of does not affect the total calculation period. Therefore, the delay time and the timing of the input data are not uniquely determined, and can be arbitrarily selected within the range satisfying the expressions (6) and (7). Although this is not a direct effect in the case of this sparse band-vector product, it comes to play an important role in the next forward / backward substitution.

前進・後退代入について説明する。この部分は、ループ
内で最も計算時間を必要とするもので、(LU)-1r=t
の計算は、2段階に分けて実行される。
Forward / backward substitution will be described. This part requires the most calculation time in the loop and is (LU) −1 r = t
Is calculated in two steps.

前進代入L-1r=sでは、rを入力してsを求める。さら
に後退代入U-1s=tでは、sを入力してtを求める。
In forward substitution L −1 r = s, r is input to obtain s. Further, in backward substitution U −1 s = t, s is input to obtain t.

まず、前進代入においては、sの各成分siは次式で計算
される。
First, in forward substitution, each component s i of s is calculated by the following equation.

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が必要で
あるが、やはり不完全分解の段階でデータを加工してお
いて乗算のみ行うようにする。
s i = (r i −a L i s i-xy −a Li s i-xy + 1 −a Li s i-xy + x −b L i s ix −b Li s i- x + 1 −c L i s i−1 ) / d L i (8) This equation (8) includes division by d L i ,
Since the reciprocal has already been calculated at the stage of incomplete decomposition, multiplication is actually performed. Also, rather than a L i ~c L i is incomplete LDL T decomposition, ° a L i ~ ° c L i and d L-1 i, or it is necessary to d D-1 i, still incomplete decomposition At the stage of, the data is processed and only multiplication is performed.

前進・後退代入アレーは疎帯行列ベクトル積アレーと同
じ一次元アレーでセル数は同じで構成できる。このアレ
ーは右端以外のセルの機能は、第8図で示した積和演算
セルにおいて、 αout=αin+βinγin の加算を減算に置き換えたものである。また、右端のセ
ルは前進・後退代入の結果を出力するセルであり、その
機能は、 αout=αinγin βout=αout とする。ここで、入力データの時間間隔は2とし、疎帯
行列・ベクトル積のときと同様にして、δ〜δ12の条
件式から、各セル間の遅延時間として次ぎの結果が得ら
れる。
The forward / backward substitution array is the same one-dimensional array as the sparse matrix-vector product array and can be constructed with the same number of cells. The function of cells other than the right end of this array is that the addition of α out = α in + β in γ in is replaced by subtraction in the product-sum operation cell shown in FIG. The cell at the right end is a cell that outputs the result of forward / backward substitution, and its function is α out = α in γ in β out = α out . Here, the time interval of the input data is 2, and the following result is obtained as the delay time between cells from the conditional expression of δ 1 to δ 12 as in the case of the sparse band matrix / vector product.

δ=δ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に処理が終わる。
δ 1 = δ 12 = δ 4 = δ 9 = δ 6 = δ 7 = 0 δ 2 + δ 11 = 2x-4, δ 5 + δ 8 = 2x-6 δ 3 + δ 10 = 2xy-4x-2 ...... (8 ) Input data timings are Ta L 1 = 1, Ta L1 = 2 + δ 1 , Ta L1 = 3 + δ 1 + δ 2 , Tb L 1 = 4 + Σ 3 i = 1 δ i , Tb L1 = 5 + Σ 4 i = 1 δ i , Tc L 1 = 6 + Σ 5 i = 1 δ i , TdL L-1 = 7 + Σ 6 i = 1 δ i (10), and r 1 was input to the leftmost cell at time T = 1. Then, S N is output to T = 7 + Σ 6 i = 1 1 δ i +2 (N-1) +1. That is, unlike the case of the sparse band matrix vector product, the method of setting the delay time between cells is calculated. Time will be affected, so to minimize T, δ 2 =
Let δ 3 = δ 5 = 0. The calculation time at this time is the shortest, and ends at time T = 2M + 6. By the way, the longest calculation time is when δ 8 = δ 10 = δ 11 = 0, and T = 2N
The process ends at + 2xy-6.

デバイスシミュレーションでは、xyが大きく、数万にも
及ぶ場合があり、また反復法による計算であるため、遅
延時間の選び方が重要となる。
In device simulation, xy is large and can reach tens of thousands, and since it is an iterative calculation, the choice of delay time is important.

一方後退代入の計算式は次ぎのようになる(i=N〜
1)。
On the other hand, the calculation formula for backward substitution is as follows (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分解に基づく場
合も同様である。
t i = s i −g U i t i + xy −g U ′ t i + xy-1 −g Ui t i + xy-x −f U i t i + x −f U ′ t i + x -1 −e U i t i + 1 (11) Therefore, the input data set (r i , ...,
By replacing c L i , d L-1 i ) with (s i , ..., e U i , 1), the same array can be used and run under the same delay time settings. This is also the case when based on incomplete LDL T decomposition.

ここで、第10図は行列ベクトル積を実行するMvmモジュ
ール12の具体的な構成を示し、また第11図は前進・後退
代入を実行するFbsモジュール13の構成列を示す。
Here, FIG. 10 shows a specific configuration of the Mvm module 12 that executes the matrix-vector product, and FIG. 11 shows a configuration sequence of the Fbs module 13 that performs forward / backward substitution.

さらに、第12図は第5図で示した不完全行列分解アレー
を構成する各セル構成例を示しているもので、(A)図
は基本セル、(B)図は下三角要素出力セル、(C)図
は対角要素出力セル、(D)図は上三角要素出力セル、
(E)図は時間調整セルをそれぞれ示している。
Further, FIG. 12 shows an example of cell configuration of the incomplete matrix factorization array shown in FIG. 5, where (A) is a basic cell, (B) is a lower triangular element output cell, (C) is a diagonal element output cell, (D) is an upper triangular element output cell,
(E) figure shows each time adjustment cell.

また、第13図の(A)は第8図で示した積和演算セルを
構成する内積演算セルの具体的な構成例を示し、また同
図の(B)は和演算セルを示している。
Further, FIG. 13A shows a concrete configuration example of the inner product operation cell constituting the product sum operation cell shown in FIG. 8, and FIG. 13B shows the sum operation cell. .

デバイスシミュレーションにおいて、これを高速化する
手段について考えると、デバイスシミュレーションの問
題の特徴から、問題を分割することができ、これらを並
列に解くことができる。特に、疎帯行列・ベクトル積、
前進・後退代入、ベクトルの和、内積はループ内にあ
り、繰り返し計算されるものであるため、この部分の高
速化の可否によって、計算時間に大きな差が生ずる。以
下の説明では、疎帯行列ベクトル積、前進・後退代入の
高速化手段を示す。しかし、前進・後退代入を高速化す
る手段は、疎帯行列ベクトル積の高速化手段と同じであ
るので、これについてのみ説明する。
Considering means for speeding up this in device simulation, the problem can be divided based on the characteristics of the problem of the device simulation, and these can be solved in parallel. In particular, the sparse band-vector product,
Since forward / backward substitution, vector sum, and inner product are in a loop and are repeatedly calculated, there is a large difference in calculation time depending on whether or not this part can be accelerated. In the following description, a means for speeding up sparse matrix vector product and forward / backward substitution will be shown. However, the means for accelerating the forward / backward substitution is the same as the means for accelerating the sparse band matrix vector product, so only this will be described.

前述した方法で離散化を行った場合、シミュレーション
対象領域の境界上に位置する点では、近傍の格子点の
内、いくつかが存在しない。このことに注目して係数行
列Aをxy次元で正方行列に分割し、それぞれをブロック
行列とする。前述の性質からこのブロック行列は対角行
列、5重対角行列、零行列のいずれかになる。
When the discretization is performed by the method described above, some of the neighboring grid points do not exist at the points located on the boundary of the simulation target region. With this in mind, the coefficient matrix A is divided into a square matrix in the xy dimension, and each is made a block matrix. Due to the above-mentioned property, this block matrix is either a diagonal matrix, a pentadiagonal matrix, or a zero matrix.

各点(i,j)、(1≦i,j≦z),について゜Aijをxy次
元のブロック行列、゜pj、゜qiを対応するxy次元のベク
トルとする。このとき、疎帯行列・ベクトル積(q=A
p)は、ブロック行列毎に分割して次の式で表現され
る。
For each point (i, j), (1≤i, j≤z), let ° A ij be the xy-dimensional block matrix and ° p j , ° q i be the corresponding xy-dimensional vector. At this time, the sparse matrix-vector product (q = A
p) is divided by each block matrix and expressed by the following equation.

゜qi=ΣZ i ゜Aij゜pj (12) 但し、sA={(i,j)|j=i−1,i+1}とおくと、(i,
j)sAについて゜Aij=0である。したがって、前記式
(12)の各゜qiは、具体的には次のように表現される。
゜ q i = Σ Z i = 1゜ Ai j゜ p j (12) However, if s A = {(i, j) | j = i-1, i + 1}, then (i,
j) For s A゜ A ij = 0. Therefore, each degree q i of the equation (12) is specifically expressed as follows.

゜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重対角行列である。
゜ q 1 = A 11゜ p 1 + ゜ A 12゜ p 2゜ q 2 = ゜ A 21゜ p 1 + ゜ A 22゜ P 2 + ゜ A 23゜ p 3゜ q 3 = ゜ A 32゜ p 2 + ° A 33 ° p 3 + ° A 34 ° p 4 1 ° q Z = ° A ZZ-1 ° p z-1 + ° A ZZ ° p Z …… (13) where ° A ij-1 , ° A ij + 1 is a diagonal matrix and ° A ij is a pentadiagonal matrix.

この式(13)の各゜qiの計算を1つのアレーで計算さ
せ、z個のアレーを並列に動作させることで、高速化を
達成できる。さらに各データの出力時刻に同期させて、
ベクトルの内積(q,p)をパイプライン的に計算させる
ことによって、全体としてさらに高速化するようにな
る。これをブロック並列計算と呼び、゜qiに対する処理
をするアレーを[Array_i]と呼ぶ。
A high speed can be achieved by causing each array q q i in equation (13) to be calculated by one array and operating z arrays in parallel. Furthermore, synchronizing with the output time of each data,
By calculating the inner product (q, p) of the vector in a pipeline, the overall speed can be further increased. This is called block parallel calculation, and the array that performs the processing for ° q i is called [Array_i].

この[Array_i]は第14図で示すように、疎帯行列ベク
トル積アレーに第15図で示す内積演算セルを付加したも
のとして実現する。また、和のパイプライン処理のた
め、第7図で示した積和演算セルの機能に若干の変更を
加えたセルが必要となる。
As shown in FIG. 14, this [Array_i] is realized by adding the inner product operation cell shown in FIG. 15 to the sparse band matrix vector product array. Further, for the pipeline processing of the sum, a cell in which the function of the product-sum operation cell shown in FIG. 7 is slightly modified is required.

これは、入力データが時間間隔2で入力されることに着
目し、データ流のデータが存在しない時間を利用するも
のである。γinに対する入力データ流は、゜Aijの各要
素が時間間隔2で流れてくるものであるが、その時刻の
状態を(Red)とし、間の時刻の状態を(White)とす
る。第13図において、機能の変更が必要なセルは+印で
区別し、その機能を次のようにする。
This focuses on the fact that input data is input at a time interval of 2, and utilizes the time when there is no data in the data stream. The input data flow for γ in is that each element of ° A ij flows at a time interval of 2, and the state of the time is (Red) and the state of the time between is (White). In FIG. 13, cells requiring a function change are distinguished by a + mark, and the function is as follows.

if(White) Register←βin+γin else if(Red) αout=αin+register×γin まず、内積演算セルのアキュムレータ、カウンタの初期
値を、それぞれ0,1に設定し、カウンタがxyより小さい
ときには、そのブロックで内積の部分和がアキュムレー
タに順次累算され、カウンタの値がxyになったとき、す
なわちxy次元ベクトル゜qi最後の要素゜qi xyに対する処
理が行われた後、内積の部分和が次の[Array_i+1]
のγinに送られる。
if (White) Register ← β in + γ in else if (Red) α out = α in + register × γ in First, set the initial values of the accumulator and counter of the inner product operation cell to 0 and 1, respectively, and set the counter from xy When it is small, partial sums of inner products are sequentially accumulated in the accumulator in the block, and when the value of the counter becomes xy, that is, after the processing for the last element of xy-dimensional vector ° q i ° q i xy is performed, The partial sum of inner products is [Array_i + 1]
Sent to γ 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が出力される。
The operation of this [Array_i] is performed as follows, for example. In equation (13), the first used in the calculation of ゜ q i
p (i-1) is the sum of the vectors ゜ p (i-1) a and ゜ p (i-1) b ,
° p (i-1) a, ° p (i-1) the first element of b ° p (i-1) a 1 , ° p (i-1) b 1 is a product-sum in T = T i, respectively Β in the operation cell,
Input to γ in as White column. The result of the addition is stored in a register in the cell and used in the calculation of ° q i 1 at T = T i +1. From T = T i +2 to T = T i + 2 + 2x, ゜ q i 1 moves to the right while receiving the result of ゜ A ij゜ p i , and T = T i
At + 5 + 2x, ° q i 1 ° p i 1 is added to the accumulator, and at the same time, ° q i 1 is output.

全体の動作は、まず[Array_1]でT=1に゜q1の処理
を開始し、以後一単位時間づつ遅らせて[Array_2][A
rray_3]と順次処理を開始させる。前述したように[Ar
ray_i]内での処理が進行し、゜qZ xyはT=2xy+2x+z
+3に[Array_z]から出力され、同時に内積(q,p)の
結果も出力される。
The whole operation starts with the processing of ° q 1 at T = 1 in [Array_1], and then delays by one unit time [Array_2] [A
rray_3] and the sequential processing is started. As mentioned above, [Ar
ray_i] processing progresses, ゜ q Z xy is T = 2xy + 2x + z
It is output from [Array_z] to +3, and at the same time, the result of the inner product (q, p) is also output.

この様に複数個の[Array]を用いたブロック並列計算
(Tbp=2xy+2x+z+3)では、8z個のセルを用いる
が、そうでない場合(To=2xyz+2xy)に比べてT0/Tbp
=zとなり、約z倍速くなる。
In this way, in the block parallel calculation (T bp = 2xy + 2x + z + 3) using multiple [Arrays], 8z cells are used, but T 0 / T bp compared to the case where it is not (To = 2xyz + 2xy)
= Z, which is about z times faster.

セル間の遅延処理について考えてみると、このセル間の
遅延処理をどの様に行うかについては、シフトレジスタ
を用いる手段、メモリを用いる手段が考えられる。高速
化のためにはシフトレジスタを用いる方がよいが、ハー
ドウエアとして大きくなる。既存のメモリ素子を用いて
FIFOを実現する手段の方が現実的である。
Considering the delay processing between cells, as a method of performing the delay processing between cells, a means using a shift register and a means using a memory can be considered. It is better to use a shift register for speeding up, but it becomes large as hardware. Using existing memory device
Means for realizing FIFO are more realistic.

セル間の遅延時間は、最大で約2xy(≧211)であり、デ
バイスシミュレーションの数値データは64ビットである
から、少なくとも16キロバイト程度のメモリが必要であ
る。一方ブロック並列計算では約2xの遅延であり、遅延
用のメモリとしては2キロバイト程度であれば、数十万
次元のシミュレーションにも対応できる。
The maximum delay time between cells is about 2xy (≧ 2 11 ), and the numerical data of the device simulation is 64 bits, so at least 16 kilobytes of memory is required. On the other hand, the block parallel calculation has a delay of about 2x, and if the delay memory is about 2 kilobytes, it can be used for simulations of several hundred thousand dimensions.

[発明の効果] 以上のようにこの発明に係る三次元デバイスのシミュレ
ーションによれば、その高速化のために小数個のセル
(例えば行列分解に64個、行列ベクトル積に7個、前進
・後退代入に7個)によって、大規模問題を効率的に扱
うことができるシストリックアレーを得ることができ
る。したがってNを三次元シミュレーションの対象領域
の全格子点数とするとき、計算時間はNに比例するもの
となり、非常に高速化できる。また離散化により得られ
る係数行列の特徴を活かした高速化手段が得られた。こ
の場合必要セル数は、N1/3倍になるが、計算時間はN
2/3に比例するようになる。
[Effects of the Invention] As described above, according to the simulation of the three-dimensional device according to the present invention, a fractional number of cells (for example, 64 for matrix decomposition, 7 for matrix-vector product, forward / backward) for speeding up the simulation. (7 for substitution) makes it possible to obtain a systolic array that can efficiently handle large-scale problems. Therefore, when N is the total number of lattice points in the target area of the three-dimensional simulation, the calculation time is proportional to N, and the speed can be greatly increased. In addition, a speed-up means that takes advantage of the characteristics of the coefficient matrix obtained by discretization was obtained. In this case, the number of required cells is N 1/3 times, but the calculation time is N
It becomes proportional to 2/3 .

ここで、各アレーで必要なセルは、数種類になるもので
あるが、必要な演算処理は類似している。したがって、
これを実現する場合には、全ての機能を取り込み使用時
にその機能を切り替える機構を導入して、1つのセルと
して実現させることができる。第12図および第13図はそ
の概略を示している。
Here, although the cells required for each array are of several types, the required arithmetic processing is similar. Therefore,
In order to realize this, it is possible to introduce all the functions and introduce a mechanism for switching the functions at the time of use to realize them as one cell. Figures 12 and 13 show the outline.

【図面の簡単な説明】[Brief description of drawings]

第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……グローバルコントロー
ルバス。
FIG. 1 is a configuration diagram for explaining a device simulation apparatus according to an embodiment of the present invention, FIG. 2 is a diagram for explaining a 7-point difference approximation in a simulation, and FIG. 3 is a diagram for explaining a mode of a matrix equation. , FIG. 4 is a flow chart for explaining the solution of the basic operation, FIG. 5 is a diagram showing the configuration of the incomplete matrix factorization array, and (a) to (e) of FIG. 6 are the cells configuring the array, respectively. FIG. 7, FIG. 7 is a diagram for explaining the incomplete matrix factorization module, FIG. 8 is a diagram for explaining the function of the product sum operation cell, FIG. 9 is a diagram for showing a sparse band matrix / vector product array, and FIG. Is a diagram illustrating the configuration of a matrix-vector product module, FIG. 11 is a diagram illustrating the configuration of a forward / backward substitution module, and (A) to (E) of FIG. 12 are each the incomplete matrix factorization array. Example of specific configuration of calculation cell To figure FIG. 13 (A) and (B) is a diagram showing an example of the configuration of each product-sum operation cell 14
FIG. 15 is a diagram for explaining a block parallel calculation array, and FIG. 15 is a diagram showing inner product calculation cells added to this parallel calculation array. 11 …… Incomplete matrix decomposition module, 12 …… Matrix-vector product module, 13 …… Forward / backward substitution module, 14…
… Global data bus, 15… Host computer,
16-18 ... Controller, 19 ... Global control bus.

───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 H01L 29/00 (56)参考文献 特開 平1−129434(JP,A)─────────────────────────────────────────────────── ─── Continuation of the front page (51) Int.Cl. 6 Identification number Office reference number FI technical indication location H01L 29/00 (56) Reference JP-A-1-129434 (JP, A)

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】基本セル、下三角要素出力セル、対角要素
出力セル、下三角要素出力セル、および時間調整セルか
らなる5種類の演算セルを六角形に配置して構成され、
行列の各要素はそれぞれ上方から入力され、分解された
行列の各要素はそれぞれ下方から出力されるように構成
されている、疎帯行列の不完全LU分解用のシストリック
アレーと、 複数の積和演算セルが一次元的に並べて配置され、この
複数の演算セルの一次元配列の一方の端からベクトルの
要素が特定される時間間隔で入力され、前記各演算セル
にはそれぞれ各行列の各要素が特定される時間間隔で入
力されて、その各行列要素と各ベクトル要素との積を順
次累積して出力ベクトルの要素として出力するようにし
た疎帯行列ベクトル積用シストリックアレーと、 複数の積和演算セルが一次元的に並べて配置され、この
複数の演算セルの一次元配列の一方の端からベクトルの
要素が特定される時間間隔で入力され、前記各演算セル
にはそれぞれ各行列の各要素が特定される時間間隔で入
力されて、その各行列要素と各ベクトル要素との積を順
次減算して出力ベクトルの要素として出力するようにし
た前進後退代入用シストリックアレーとを具備し、 前記疎帯行列の不完全LU分解用シスリックアレー、疎帯
行列ベクトル積用シストリックアレー、および前進後退
代入用シストリックアレーは、それぞれデータバスおよ
びコントロールバスによって結合され、主計算部からの
指令に基づき演算動作を実行させられるようにしたこと
を特徴とする三次元デバイスのシミュレーション装置。
1. A hexagonal arrangement of five types of arithmetic cells consisting of a basic cell, a lower triangular element output cell, a diagonal element output cell, a lower triangular element output cell, and a time adjustment cell,
Each element of the matrix is input from above, and each element of the decomposed matrix is output from the bottom.A systolic array for incomplete LU decomposition of a sparse band matrix and multiple products The sum operation cells are arranged in a one-dimensional array, and the elements of the vector are input from one end of the one-dimensional array of the plurality of operation cells at a specified time interval. A systolic array for sparse matrix vector multiplication, in which elements are input at specified time intervals and the product of each matrix element and each vector element is sequentially accumulated and output as the element of the output vector, and Multiply-accumulate operation cells are arranged in a one-dimensional array, and the elements of the vector are input from one end of the one-dimensional array of the plurality of operation cells at a specified time interval. A systolic array for forward / backward substitution in which each element of each matrix is input at a specified time interval and the product of each matrix element and each vector element is sequentially subtracted and output as the element of the output vector. Wherein the systolic array for incomplete LU decomposition of the sparse band matrix, the systolic array for sparse band vector product, and the systolic array for forward / backward substitution are coupled by a data bus and a control bus, respectively, and a main calculation is performed. A simulation device for a three-dimensional device, characterized in that a calculation operation can be executed based on a command from the section.
JP1322674A 1989-12-14 1989-12-14 3D device simulation device Expired - Lifetime JPH0752748B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1322674A JPH0752748B2 (en) 1989-12-14 1989-12-14 3D device simulation device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1322674A JPH0752748B2 (en) 1989-12-14 1989-12-14 3D device simulation device

Publications (2)

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

Family

ID=18146343

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1322674A Expired - Lifetime JPH0752748B2 (en) 1989-12-14 1989-12-14 3D device simulation device

Country Status (1)

Country Link
JP (1) JPH0752748B2 (en)

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 (en) * 2017-12-15 2021-12-15 富士通株式会社 Sparse matrix vector product calculation device and sparse matrix vector product calculation method

Also Published As

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

Similar Documents

Publication Publication Date Title
CN118585249B (en) Attention operation processing method and device
JPH0233191B2 (en)
JPH0326411B2 (en)
US6066178A (en) Automated design method and system for synthesizing digital multipliers
CN105426345A (en) Matrix inverse operation method
TW202129518A (en) Loading operands and outputting results from a multi-dimensional array using only a single side
JPH10334129A (en) Data processor, data processing method and information storage medium
JPH03209561A (en) Calculating device for finding solution of simultaneous primary equation
CN111199017A (en) Method for realizing multi-functional inverse IP core of hermitian symmetric matrix
JPH0614321B2 (en) Realization method of digital signal processor using programmed compiler
Anuraj et al. Performance Analysis of Multiplier with Different Bits Size for MAC Unit
JPH0752748B2 (en) 3D device simulation device
JP2666411B2 (en) Integrated circuit device for orthogonal transformation of two-dimensional discrete data
JP3697992B2 (en) Matrix vector product operation system, matrix storage system used therefor, and method thereof
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 (en) High speed LU decomposer
Kshirsagar et al. FPGA Implementation of Binary Multipliers Based on Hardware Algorithms
JPH08255184A (en) Logic circuit dividing method
JPH0540776A (en) Two-dimensional DCT matrix arithmetic circuit
Su et al. Distributed arithmetic-based architectures for high speed IIR filter design
JP2007086919A (en) Linear simultaneous equation solver
JP3396818B2 (en) DCT operation circuit and IDCT operation circuit
JPS61221963A (en) Fourier transfor device
Ciminiera et al. Partitioned array for stable matrix triangularisation