JPH0724060B2 - Pattern data inspection method - Google Patents

Pattern data inspection method

Info

Publication number
JPH0724060B2
JPH0724060B2 JP16215086A JP16215086A JPH0724060B2 JP H0724060 B2 JPH0724060 B2 JP H0724060B2 JP 16215086 A JP16215086 A JP 16215086A JP 16215086 A JP16215086 A JP 16215086A JP H0724060 B2 JPH0724060 B2 JP H0724060B2
Authority
JP
Japan
Prior art keywords
value
line
data
label
type
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 - Fee Related
Application number
JP16215086A
Other languages
Japanese (ja)
Other versions
JPS6319073A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP16215086A priority Critical patent/JPH0724060B2/en
Publication of JPS6319073A publication Critical patent/JPS6319073A/en
Publication of JPH0724060B2 publication Critical patent/JPH0724060B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Image Analysis (AREA)
  • Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)
  • Preparing Plates And Mask In Photomechanical Process (AREA)
  • Testing Or Measuring Of Semiconductors Or The Like (AREA)
  • Image Processing (AREA)

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明はLSIやVLSIのマスクまたは直接露光のパタンデ
ータの設計規則違反の検出を行うパタンデータ検査方法
に関する。
The present invention relates to a pattern data inspection method for detecting a design rule violation in pattern data of LSI or VLSI mask or direct exposure.

(従来技術および発明が解決しようとする問題点) マスクまたは直接露光のパタンデータの設計規則とし
て、パタン幅,パタン間スペースの幅などがあり、これ
に違反するとLSIやVLSIの製造歩留りが大幅に低下する
ことになるため、パタンデータが設計規則に違反してい
ないかどうかを予め検査する必要がある。
(Problems to be solved by the prior art and the invention) Design rules for pattern data for masks or direct exposure include pattern width and space between patterns, and if these are violated, the manufacturing yield of LSIs and VLSIs will increase significantly. Therefore, it is necessary to inspect whether the pattern data violates the design rule in advance.

ところで、1種類のLSIやVLSIを製造するのに普通10数
種類のマスクが利用されており、各マスクは第n層(n
=0,1,2,……)のマスクと呼ばれ、長方形や多角形等の
多数の2次元図形からなっている。これらの2次元図形
は最小寸法の整数倍の寸法および間隔をもつので、最小
寸法で区切られた格子状の空間を考えた場合、第11図に
示すように2次元図形の頂点は必ず格子点に存在するこ
とになる。したがって、パタンデータを表現するとき、
格子の間隔と、格子空間で定義された2次元図形データ
(ビットマップ表現)で表わすことができる。例えば、
第11図の2次元図形をビットマップ表現にすると第12図
のようになる。なお、“1"は図形に含まれ、“0"は図形
に含まれないことを示す。
By the way, generally, more than 10 kinds of masks are used for manufacturing one kind of LSI or VLSI, and each mask is the nth layer (n
It is called a mask of = 0, 1, 2, ...) and consists of many two-dimensional figures such as rectangles and polygons. Since these two-dimensional figures have dimensions and intervals that are integer multiples of the minimum dimension, when considering a grid-like space divided by the minimum dimensions, the vertices of the two-dimensional figure must always be grid points, as shown in Fig. 11. Will exist in. Therefore, when expressing pattern data,
It can be represented by two-dimensional graphic data (bitmap expression) defined in the lattice space and the lattice space. For example,
If the two-dimensional figure of FIG. 11 is expressed in a bitmap, it becomes as shown in FIG. Note that "1" is included in the figure and "0" is not included in the figure.

一方、設計規則違反とは、これらのビットマップまたは
これらのビットマップをもとにして生成されるビットマ
ップ上の図形の幅や図形間のスペースが規定値以下であ
る場合等をいうものである。
On the other hand, the violation of the design rule means a case where the width of a graphic or a space between the graphic on the bitmap generated based on these bitmaps or the bitmaps is less than or equal to a specified value. .

従来、このような違反の検出は逐次計算機により逐次処
理されるか、あるいは専用の装置が考えられていた。
Conventionally, detection of such a violation is sequentially processed by a sequential computer, or a dedicated device has been considered.

しかして、逐次計算機による場合は、図形はベクトルで
扱われるが、この場合、例えば最小寸法0.25μmで一辺
16mmのチップを設計したとすると、そのデータ量は数10
0万ベクトルに及ぶので、処理時間がかかりすぎ、更に
隣接パタンの設計規則に与える影響(例えば第12図のよ
うに太い配線に隣接するスペースは広く、細い配線に隣
接するスペースは狭くするといった微妙な変更)を無視
した単純な検査しかできないという欠点があった。
Then, in the case of a sequential computer, the figure is treated as a vector, but in this case, for example, the minimum size is 0.25 μm and one side is
If you design a 16mm chip, the amount of data is several tens.
Since it takes up to 0,000 vectors, it takes too much processing time and has an effect on the design rules of adjacent patterns. (For example, as shown in Fig. 12, the space adjacent to a thick wire is wide, and the space adjacent to a thin wire is narrow. However, there is a drawback that only a simple inspection that ignores (changes) is possible.

また、専用装置としては次の3つの方式およびその装置
が知られている。
Further, the following three systems and their devices are known as dedicated devices.

ウインドウプロセッサ方式 FAST MASK方式 OSL方式 しかして、のウインドウプロセッサ方式は、第13図に
示すように、ビットマップ形式のデータのビットデータ
の一部を逐次切り出し、2次元状(例えば4×4)に配
列した2次元配列プロセッサに送り、2次元配列プロセ
ッサ上に別途用意した基準図形とマッチング計算を行
い、局部的に設計規則違反の検出を行うものである。
(参考文献;L.Seiler,“A Hardware Assisted Design R
ule Check Architecture",Proc.19th Design Automatio
n Conf.,June 1982,pp232-238) また、のFAST MASK方式は、第14図に示すように、複
数のマイクロプロセッサからなり、各マイクロプロセッ
サが担当するマスクの層を決めて設計規則違反の検出を
行うものである。(参考文献;S.Macomber,et.al,“Hard
ware Acceleration For Layout Verification",VLSI De
sign,June 1985,pp18-27) また、のOSL方式は第15図に示すように、従来から逐
次計算機上で行っていたアルゴリズムをハード化したも
のであって、パタンデータをベクトルデータとして扱
い、WL,MRL,MVLという3つのFIFO(先入れ先出し機能を
もつメモリ)と、このメモリへの入出力を制御する制御
部IOP,VS,OP,DCからなる。(参考文献;三木他,“レイ
アウト設計検証アルゴリズムとそれを実現するハードウ
エアアーキテクチャの考察",信学会技報,CAS85-163,pp1
-8) ここで、実際的な問題、例えば最小寸法0.25μmで一辺
が16mmのチップを設計した場合を考えると、パタンデー
タは(0,0)〜(216,216)の範囲のビットマップ形式
のデータとなり、膨大な数となる。
Window processor system FAST MASK system OSL system However, in the window processor system, as shown in FIG. 13, a part of the bit data of the bit map format data is sequentially cut out into a two-dimensional shape (for example, 4 × 4). This is sent to the arranged two-dimensional array processor and the matching calculation is performed with the reference figure prepared separately on the two-dimensional array processor to locally detect the design rule violation.
(Reference; L. Seiler, “A Hardware Assisted Design R
ule Check Architecture ", Proc.19th Design Automatio
n Conf., June 1982, pp232-238) In addition, as shown in Fig. 14, the FAST MASK method consists of multiple microprocessors, and each microprocessor decides the mask layer in charge to avoid design rule violation. It is to detect. (Reference; S. Macomber, et.al, “Hard
ware Acceleration For Layout Verification ", VLSI De
sign, June 1985, pp18-27) In addition, as shown in Fig. 15, the OSL method is a hardened version of the algorithm that has been used on conventional sequential computers, and handles pattern data as vector data. It consists of three FIFOs (memory having a first-in first-out function) WL, MRL, MVL, and control units IOP, VS, OP, DC that control the input and output to this memory. (Reference: Miki et al., "Layout Design Verification Algorithm and Consideration of Hardware Architecture to Realize It", IEICE Technical Report, CAS85-163, pp1
-8) Here, considering a practical problem, for example, when a chip with a minimum size of 0.25 μm and a side of 16 mm is designed, the pattern data is in the range of (0,0) to (2 16 , 2 16 ). The data will be in map format and will be a huge number.

しかして、のウインドウプロセッサ方式では、処理の
並列度が低く、そのため高速処理をあまり期待できない
という欠点があった。また、2次元配列プロセッサの2
次元アレイのサイズを大きくすることは、基準パタンを
それに応じて増やす必要があるので、2次元アレイのサ
イズを実用上4×4以上にすることは大きな困難を伴
い、好ましくないものであった。
However, the window processor method has a drawback that the parallelism of processing is low and therefore high-speed processing cannot be expected so much. In addition, 2 of the two-dimensional array processor
Since it is necessary to increase the reference pattern accordingly in order to increase the size of the two-dimensional array, it is not preferable to make the size of the two-dimensional array 4 × 4 or more in practical use because it is very difficult.

また、のFAST MASK方式では、各マイクロプロセッサ
が各マスク層に対応するので、高々マスク層しか高速化
できないという欠点があった。
Further, in the FAST MASK method, each microprocessor corresponds to each mask layer, so that there is a drawback that only the mask layer can be speeded up at most.

また、のOSL方式では、逐次計算機によるものと同様
に、隣接パタンの影響を無視した検査を行い、また、斜
め方向の距離や平行配線間の間隔を直線の方程式から数
値計算する方法を採っており、これをマイクロプロセッ
サにより逐次処理しているので高速化が難しいという欠
点があった。
Also, in the OSL method, as in the case of using a sequential computer, the inspection that ignores the influence of adjacent patterns is performed, and the method of numerically calculating the distance in the diagonal direction and the interval between parallel wirings from the equation of a straight line is adopted. However, since this is sequentially processed by the microprocessor, there is a drawback that it is difficult to increase the speed.

このように、従来技術に関しては種々の問題があり、大
きな座標空間で記述される膨大なデータを扱い、隣接パ
タンの設計規則に与える影響を考慮した検査を高速に行
うことが困難であるという欠点を有していた。
As described above, there are various problems with the conventional technique, and it is difficult to handle a huge amount of data described in a large coordinate space and perform a high-speed inspection in consideration of the influence on the design rule of the adjacent pattern. Had.

(問題点を解決するための手段) 本発明は上記の点に鑑み提案されたものであり、その目
的とするところは、LSI等のマスクまたは直接露光のパ
タンデータの設計規則違反の検査を、簡易な構成にして
高速に処理することのできるパタンデータ検査装置を提
供することにある。
(Means for Solving Problems) The present invention has been proposed in view of the above points, and an object thereof is to carry out an inspection for a design rule violation of pattern data of a mask such as an LSI or direct exposure, An object of the present invention is to provide a pattern data inspection device having a simple structure and capable of high-speed processing.

本発明は上記の目的を達成するため、逐次計算機より入
力したビットマップ形式のパタンデータを蓄積するバッ
ファメモリと、前記バッファメモリからの信号が与えら
れ、かつ論理演算・加減算・乗算を行いうるプロセシン
グエレメントを複数個相互に接続した構成をもち、モー
ド設定で1次元配列となりうるアレイプロセッサと、前
記バッファメモリとアレイプロセッサとを制御する制御
部とを備える装置を用い、逐次計算機からビットマップ
形式のデータおよびプログラムをバッファメモリに入力
し、入力完了後は制御部の動作により前記バッファメモ
リよりパタンデータを前記アレイプロセッサに1ライン
分ずつ入力し、所定のパタンデータのチェックを行い、
その結果を前記バッファメモリに書き込む動作を全ライ
ンについて行い、 (a) x方向パタン幅の検査方法は、x方向の設計規
則が、パタン幅がD以上である場合、aをチェックすべ
き生成ビットマップデータとするとき、aの“1"領域の
右端を示すデータで、aをプロセシングエレメント(以
下PEと書く)の1個分左シフトしたものとaとのAND演
算を行うことによりβが得られ、γは前記βを1PE左シ
フトしたものとβとのOR演算を(D−1)回行い、検査
基準の検査パタンが得られ、δはγ∩aとの論理計算に
より得られ、前記δを1PEを右シフトしたものとδとのO
R演算をD−1回行いεが得られ、このεとaとをAND演
算することによりξが得られ、これにより検査規則違反
の有無を検出し、 (b) y方向パタン幅の検査方法は、y方向の設計規
則が、パタン幅がD以上である場合、各PEで前回ライン
の時の生成ビットマップデータの値が“0"で、今回のラ
インにおける生成ビットマップデータの値が“1"のとき
に、“1"のカウントを開始し、次のラインにおいて前回
のラインの生成ビットマップデータが“1"で、今回のラ
インの生成ビットマップデータの値が“1"のとき1のカ
ウントを継続し、前回の一ラインのビットマップデータ
1で、今回のビットマップデータの値が0であるときは
カウントを停止し、カウント1の値の和をもってy方向
の幅を求め、この値についてDと大小を比較し、小さけ
れば、設計規則違反と判断し、 (c) 斜め方向パタン幅の検査方法は、まずそれが左
斜め方向のパタンの角であるか、右斜め方向のパタンの
角であるかを検出するために、各プロセッサにおいてそ
れぞれのラインの値(入力データ)に対してタイプの分
類が行われ、 「自身の今回のラインの値(入力データ)、右隣接する
PEの今回のラインの値(入力データ)、自身の前回のラ
インの値(入力データ)がともに“1"で、かつ右隣接す
るPEの前回のラインの値(入力データ)が“0"」のPEを
タイプAとし、 「自身の今回のラインの値(入力データ)、左隣接する
PEの今回のラインの値(入力データ)、自身の前回のラ
インの値(入力データ)がともに“1"で、かつ左隣接す
るPEの前回のラインの値(入力データ)が“0"」のPEを
タイプBとし、 「自身の今回のラインの値(入力データ)が“0"で、か
つ右隣接するPEの今回のラインの値(入力データ)、自
身の前回のラインの値(入力データ)、右隣接するPEの
前回のラインの値(入力データ)が“1"」のPEをタイプ
Cとし、 「自身の今回のラインの値(入力データ)が“0"で、か
つ左隣接するPEの今回のラインの値(入力データ)、自
身の前回のラインの値(入力データ)、左隣接するPEの
前回のラインの値(入力データ)が“1"」のPEをタイプ
Dとし、 次にタイプのラベル付け(a,b,c)を行う、ここにcの
値はタイプAの場合は、タイプBの場合は1を与え、タ
イプAは(0,0,0),タイプBは(0,0,1)とし、次にラ
ベル(a,b,c)のうちa,bの求めかたは、 各PEにおいて、いかなるラベルもつけられていない
空ラベルのPEであって、前回入力したラベルが(k,l,
m)で、 データ入力時の右隣接PEのラベルが(k1,l1,0)の場合
は、k+lとk1+l1とを比較し、k+lが小さい場合は
当該PEラベルを(k,l+1,0)とし、k1+l1が小さい場合
は、当該PEラベルk1+1,l1,0)とし、同じならば(k,l
+1,0)を採用し、 データ入力時の左隣接PEのラベルが(k1,l1,0)の場合
は、k+lとk1+l1とを比較し、k+lが小さい場合
は、当該PEラベルを(k,l+1,1)とし、k1+l1が小さい
場合は、当該PEラベル(k1+1,l1,1)とし、同じならば
(k,l+1,1)を採用し、 の処理の終了後、各PEにおいて、 空ラベルのPEであって、右隣接PEのラベルが(a,b,0)
であるならば当該PEのラベルを(a+1,b,0)に、 空ラベルのPEであって、左隣接PEのラベルが(a,b,1)
であるならば当該PEのラベルを(a+1,b,1)に設定
し、 タイプCあるいはタイプDのPEがあり、当該ラベル
が空でなければ、そのラベルのうちa,bからa2+b2を求
め、この値がD2より小さいときは設計規則違反と判定す
ることを特徴とするパタンデータの検査方法を発明の要
旨とする。
In order to achieve the above object, the present invention provides a buffer memory for accumulating pattern data in a bit map format input from a sequential computer, and a processing to which a signal from the buffer memory is given and which can perform logical operation / addition / subtraction / multiplication. Using a device having an array processor having a plurality of elements connected to each other and capable of forming a one-dimensional array by mode setting, and a control unit for controlling the buffer memory and the array processor, a sequential computer can be used for bitmap format. After inputting the data and the program to the buffer memory, after the input is completed, the pattern data is input from the buffer memory to the array processor by one line by the operation of the control unit, and the predetermined pattern data is checked.
The result of writing the result in the buffer memory is performed for all lines. When used as map data, β is obtained by performing an AND operation of a data indicating the right end of the "1" area of a and a left-shifted by one processing element (hereinafter referred to as PE) and a. Γ is obtained by performing an OR operation of β obtained by shifting the β by 1 PE to the left with β (D-1) times to obtain an inspection reference inspection pattern, and δ is obtained by a logical calculation with γ∩a. O of δ with 1 PE right-shifted and δ
The R operation is performed D-1 times to obtain ε, and AND is obtained by ANDing ε and a to obtain ξ, thereby detecting the presence or absence of the inspection rule violation, and (b) the y-direction pattern width inspection method. When the design rule in the y direction is that the pattern width is D or more, the value of the generated bitmap data in the previous line in each PE is “0”, and the value of the generated bitmap data in this line is “ When the value is "1", counting of "1" is started, and when the value of the generated bitmap data of the previous line is "1" and the value of the generated bitmap data of this line is "1" in the next line, it is 1 Counting is continued, and when the value of the bitmap data 1 of the previous one line is 0 in the previous one line, the counting is stopped, and the width in the y direction is obtained by the sum of the values of the count 1 and Compare the value D with the size, and if it is smaller, set It is determined that the rule is violated, and (c) the diagonal pattern width inspection method is performed by first detecting each processor in order to detect whether it is the diagonal corner of the left diagonal pattern or the diagonal corner of the right diagonal pattern. The type classification is performed on the value (input data) of each line in, "The value of this current line (input data), right adjacent
The value of this PE's current line (input data) and the value of its own previous line (input data) are both "1", and the value of the previous line of the PE adjacent to the right (input data) is "0"". PE of type is type A, and the value of this line (input data), left adjacent
The value of this PE's current line (input data) and the value of its own previous line (input data) are both "1", and the value of the previous line of the adjacent PE on the left (input data) is "0"". PE of type B, “The value of this line (input data) of itself is“ 0 ”, and the value of this line of PE adjacent to the right (input data), the value of previous line of itself (input Data), the PE with the previous line value (input data) of the adjacent PE on the right is “1” ”is type C, and“ PE value of this line (input data) is “0” and left adjacent Type D is the PE whose current line value (input data), its own previous line value (input data), and the left adjacent PE previous line value (input data) is "1". , Then type labeling (a, b, c), where the value of c is 1 for type A, 1 for type B Type A is set to (0,0,0), Type B is set to (0,0,1), and then the method of obtaining a, b of labels (a, b, c) is as follows: It is a PE with an empty label that has not been entered, and the previously entered label is (k, l,
m), when the label of the right adjacent PE at the time of data input is (k 1 , l 1 , 0), k + 1 and k 1 + l 1 are compared, and when k + 1 is small, the PE label is (k, l 1 , 0). l + 1, 0) and then, if k 1 + l 1 is small, the PE label k 1 + 1, l 1, 0) and then, if the same (k, l
+1,0) is adopted, and when the label of the left adjacent PE at the time of data input is (k 1 , l 1 , 0), k + 1 and k 1 + l 1 are compared, and when k + l is small, the PE is concerned. the label with (k, l + 1,1), if k 1 + l 1 is small, and the PE label (k 1 + 1, l 1 , 1), if the same (k, l + 1,1) adopted, in After processing, in each PE, the PE with an empty label and the label of the right adjacent PE is (a, b, 0).
, The PE label is (a + 1, b, 0), and the PE with an empty label is the left adjacent PE label (a, b, 1).
If the PE label is set to (a + 1, b, 1), and there is a type C or type D PE and the label is not empty, then a, b to a 2 + b 2 of that label Is obtained, and when this value is smaller than D2, it is determined that the design rule is violated.

(実施例) 次に本発明の実施例について説明する。なお、実施例は
一つの例示であって、本発明の精神を逸脱しない範囲で
種々の変更あるいは改良を行い得ることは言うまでもな
い。
(Example) Next, the Example of this invention is described. Needless to say, the embodiment is merely an example, and various modifications and improvements can be made without departing from the spirit of the present invention.

第1図は本発明のパタンデータ検査装置の一実施例を示
す構成図であり、1は逐次計算機、2はバッファメモ
リ、3はインタフェイス部、4はアレイプロセッサ、5
はバッファメモリ2およびアレイプロセッサ4を制御す
る制御部である。また、6,7はデータ線、8は制御信号
線である。
FIG. 1 is a block diagram showing an embodiment of a pattern data inspection apparatus of the present invention, 1 is a sequential computer, 2 is a buffer memory, 3 is an interface unit, 4 is an array processor, 5
Is a control unit for controlling the buffer memory 2 and the array processor 4. Further, 6 and 7 are data lines, and 8 is a control signal line.

その動作としては、インタフェイス部3の制御の下に逐
次計算機1からビットマップ形式のパタンデータおよび
プログラムをバッファメモリ2に入力し、入力完了後は
制御部5の制御の下に、バッファメモリ2よりパタンデ
ータをアレイプロセッサ4に1ライン分づつ入力し、所
定のパタンデータのチェックを行い、結果をバッファメ
モリ2に書き込むという動作を全ラインについて行う。
なお、ラインとは第12図等に示したビットマップ形式の
データの横1列を言う。次いで、全ライン終了後は、再
びインタフェイス部3の制御の下に逐次計算機1がバッ
ファメモリ2より結果のデータを読み出し、逐次計算機
1は結果のデータをもとに検査報告のドキュメントや図
面を作成する。
The operation is as follows: Under the control of the interface unit 3, the pattern data and the program in the bitmap format are input from the sequential computer 1 to the buffer memory 2, and after the input is completed, the buffer memory 2 is controlled under the control of the control unit 5. Further, the pattern data is input to the array processor 4 for each line, the predetermined pattern data is checked, and the result is written in the buffer memory 2 for all the lines.
A line means one horizontal row of data in the bitmap format shown in FIG. Next, after the completion of all lines, the sequential computer 1 again reads the result data from the buffer memory 2 under the control of the interface unit 3, and the sequential computer 1 creates the inspection report document or drawing based on the result data. create.

次に第1図におけるアレイプロセッサ4の構成を第2図
に示す。しかして、アレイプロセッサ4は1ビットのプ
ロセシングエレメント(PE)101〜116が2次元に配置さ
れた構造となっており、個々のプロセシングエレメント
は隣接するプロセシングエレメントと4方向で互いに接
続されている。なお、右端のプロセシングエレメントは
次段の左端のプロセシングエレメントと接続するように
なっている。
Next, FIG. 2 shows the configuration of the array processor 4 in FIG. The array processor 4 has a structure in which 1-bit processing elements (PE) 101 to 116 are two-dimensionally arranged, and each processing element is connected to an adjacent processing element in four directions. The rightmost processing element is connected to the leftmost processing element in the next stage.

また、個々のプロセシングエレメントは第3図に示すよ
うに選択回路201,202,206,レジスタ203,205,2ポートRAM
204,ALU207,制御回路209からなる。選択回路201,202,レ
ジスタ203は隣接するプロセシングエレメントとデータ
のやりとりをする役目をもつ。ALU207は論理演算,加減
算,および乗算を行うのに用いる。2ポートRAM204はデ
ータ格納用であり、バッファメモリ2から送られてきた
1ライン分のパタンデータの他、各種の中間データ,設
計規則判定結果等を一時的に格納するのに用いる。レジ
スタ205は制御回路209とともに、全プロセシングエレメ
ントへの共通の制御信号125をプロセシングエレメント
毎にローカルに修飾できる役目をもつ。
Further, the individual processing elements are, as shown in FIG. 3, selection circuits 201, 202, 206, registers 203, 205, 2-port RAM.
204, ALU 207, and control circuit 209. The selection circuits 201 and 202 and the register 203 have a role of exchanging data with an adjacent processing element. The ALU207 is used to perform logical operations, addition / subtraction, and multiplication. The 2-port RAM 204 is for data storage, and is used for temporarily storing pattern data for one line sent from the buffer memory 2, various kinds of intermediate data, design rule determination results, and the like. The register 205, together with the control circuit 209, has a function of locally modifying the common control signal 125 to all processing elements for each processing element.

アレイプロセッサ4がこのような構造になっているの
で、第2図で縦方向にデータを送る時、各プロセシング
エレメントの列がシフトレジスタとして動作し、バッフ
ァメモリ2とアレイプロセッサ4のデータの入出力を高
速に行うことができる。また、データ処理中は、アレイ
プロセッサ4は一次元アレイプロセッサのモード(第2
図で101,102,103,…,104,105,106,107,…,108,109,110,
111,…,112,…116という具合に1次元になる。)で動作
する。
Since the array processor 4 has such a structure, when data is sent in the vertical direction in FIG. 2, each processing element row operates as a shift register, and the buffer memory 2 and the array processor 4 input / output data. Can be done at high speed. Further, during data processing, the array processor 4 operates in the mode of the one-dimensional array processor (second
In the figure 101,102,103, ..., 104,105,106,107, ..., 108,109,110,
One dimension is 111, ..., 112, ... 116. ) Works with.

しかして、このアレイプロセッサ4により検査項目に合
った1ライン分の中間データの作成,x方向(ラインと平
行な方向)のパタン幅の検査,y方向(ラインと垂直な方
向)のパタン幅の検査,斜め方向のパタン幅の検査が行
えるものである。また、判定結果によって、結果の出力
の仕方が異なるが、これはプロセシングエレメント内の
レジスタ205と制御回路209による制御信号のローカルな
修飾により実現することができる。
Then, the array processor 4 creates intermediate data for one line matching the inspection item, inspects the pattern width in the x direction (direction parallel to the line), and determines the pattern width in the y direction (direction perpendicular to the line). The inspection and the pattern width in the diagonal direction can be performed. Further, although the way of outputting the result differs depending on the determination result, this can be realized by locally modifying the control signal by the register 205 and the control circuit 209 in the processing element.

次にパタンデータの設計規則違反を検査する動作につき
具体的に説明する。
Next, the operation of inspecting the design rule violation of the pattern data will be specifically described.

第4図は検査全体のフローチャートを示したものであ
り、先ず第iラインの入力が行われ、第iラインの全層
(マスクの全層)のデータがアレイプロセッサ4のプロ
セシングエレメント全体に格納される。第5図はパタン
データの例を示したものであり、(イ)は第a層のパタ
ンデータ、(ロ)は第b層のパタンデータを示し、
(ハ)は1次元アレイプロセッサとして動作するアレイ
プロセッサ4に各層のデータが入力される状態を概念的
に示している。また、(イ),(ロ)において“1"は図
形に含まれ、“0"は図形に含まれないことを示し、
(ロ)の階段状の辺は、45°斜めの辺が格子座標では図
示のように表現されることを示している。
FIG. 4 shows a flowchart of the entire inspection. First, the input of the i-th line is performed, and the data of all layers of the i-th line (all layers of the mask) are stored in the entire processing elements of the array processor 4. It FIG. 5 shows an example of pattern data. (A) shows pattern data of the a-th layer, (b) shows pattern data of the b-th layer,
(C) conceptually shows a state in which data of each layer is input to the array processor 4 which operates as a one-dimensional array processor. In (a) and (b), "1" is included in the figure, and "0" is not included in the figure.
The stepwise side of (b) indicates that the side inclined by 45 ° is expressed as shown in the figure in the lattice coordinates.

第4図において、上記のデータの入力に続いて検査項目
jに合ったビットマップ形式のデータが生成されること
になる。すなわち、アレイプロセッサ4はデータ入力後
はビットマップの横ビット数に対応した数のプロセシン
グエレメントが1次元に配列した1次元アレイプロセッ
サとして動作し、隣接するプロセシングエレメント同士
でデータの授受を行う機能,プロセシングエレメント内
にデータを蓄積する機能,論理演算,加減算,乗算を行
う機能を有し、例えば、「第a層パタンであって第b層
にパタンが無いもの」という検査項目が指定された時、
全プロセシングエレメントに一斉にc=a∩の論理演
算を実行することにより、cなるビットマップ形式のデ
ータが生成される。なお、a,bは夫々第a層,第b層の
ビットマップ形式のデータである。
In FIG. 4, following the input of the above-mentioned data, bitmap format data suitable for the inspection item j is generated. That is, the array processor 4 operates as a one-dimensional array processor in which the number of processing elements corresponding to the horizontal bit number of the bitmap is one-dimensionally arranged after data input, and the function of transmitting and receiving data between adjacent processing elements, It has a function of accumulating data in the processing element, a function of performing logical operation, addition / subtraction, and multiplication. For example, when an inspection item "a layer A pattern and no pattern b layer" is specified. ,
By executing the logical operation of c = a∩ to all the processing elements at once, the data in the bitmap format of c is generated. It should be noted that a and b are bitmap data of the a-th layer and the b-th layer, respectively.

次に、第4図におけるx方向パタン幅検査について第6
図を用いて説明する。なお、x方向の設計規則“パタン
幅がD以上”においてD=4とする。しかして、第6図
においてaはチエックすべき生成ビットマップデータ
(第4図で検査項目jに合ったビットマップ形式のデー
タとして生成したデータ)である。βはαの“1"領域の
右端を示すデータであって、をプロセシングエレメン
トの1個分(1PE)左シフトしたものとαとのAND演算を
行うことにより得られる。γはβを1PE左シフトしたも
のとβとのOR演算をD−1回行ったもので、これが検査
の基準のパターン(幅D)となる。δはγ∩の論理演
算により得られ、基準パタン幅に満たない部分でのみ
“1"が残る。εはδを1PE右シフトしたものとδとのOR
演算をD−1回行ったものである。しかして、εとαと
をAND演算することにより、違反のパタンデータに対応
するプロセシングエレメントのみがξの如く“1"にな
り、この結果から違反を検出することができる。
Next, regarding the x-direction pattern width inspection in FIG.
It will be described with reference to the drawings. Note that D = 4 in the design rule “pattern width is D or more” in the x direction. Then, in FIG. 6, a is the generated bitmap data to be checked (data generated as data in the bitmap format suitable for the inspection item j in FIG. 4). β is data indicating the right end of the “1” region of α, and is obtained by ANDing α with a value obtained by shifting left by one processing element (1PE). γ is a value obtained by shifting β by 1 PE left and an OR operation with β performed D-1 times, and this becomes a reference pattern (width D) of the inspection. δ is obtained by the logical operation of γ∩, and “1” remains only in the part that is less than the reference pattern width. ε is the OR of δ with 1 PE right-shifted and δ
The calculation is performed D-1 times. Then, by ANDing ε and α, only the processing element corresponding to the violation pattern data becomes “1” like ξ, and the violation can be detected from this result.

次に、第4図におけるy方向パタン幅検査について説明
する。なお、y方向の設計規則“パタン幅がD以上”に
おいてD=4とする。しかして、各プロセシングエレメ
ントでは、前回のラインの時の生成ビットマップデータ
の値が“0"で今回のラインにおける生成ビットマップデ
ータの値が“1"の時に“1"のカウントを開始する。例え
ば、第5図(イ)をそのまま生成ビットマップデータと
すると、第7ライン入力後の各プロセシングエレメント
の値は 1,1,1,1,1,0,0,0,0,0,0,0 となる。そして、次のラインに移り、前回のラインの生
成ビットマップデータの値が“1"で今回のラインの生成
ビットマップデータの値も“1"の時、“1"のカウントを
続ける。すなわち、第5図(イ)で第8ライン入力後の
各プロセシングエレメントの値は 2,2,2,2,2,0,0,0,0,0,0,0 となる。そして、次のラインに移り、前回のラインの生
成ビットマップデータの値が“1"で今回のラインの生成
ビットマップデータの値が“0"の時、カウントを停止
し、以前の値についてDと大小を比較し、小さければ設
計規則違反であると判断する。すなわち、この例では第
7,第8ラインにおけるy方向のパタン幅は2と検出さ
れ、D(=4)より小さいので違反であると判断され
る。
Next, the y-direction pattern width inspection in FIG. 4 will be described. Note that D = 4 in the design rule “pattern width is D or more” in the y direction. Then, in each processing element, when the value of the generated bitmap data in the previous line is "0" and the value of the generated bitmap data in the current line is "1", the counting of "1" is started. For example, if FIG. 5A is used as the generated bitmap data as it is, the values of the processing elements after the input of the 7th line are 1,1,1,1,1,1,0,0,0,0,0,0. , 0. Then, the process moves to the next line, and when the value of the generated bitmap data of the previous line is “1” and the value of the generated bitmap data of the current line is “1”, the count of “1” is continued. That is, the value of each processing element after inputting the eighth line in FIG. 5 (a) is 2,2,2,2,2,0,0,0,0,0,0,0. When the value of the generated bitmap data of the previous line is “1” and the value of the generated bitmap data of this line is “0”, the counting is stopped and the previous value is set to D. And the size are compared, and if smaller, it is judged that the design rule is violated. That is, in this example
The pattern width in the y direction on the 7th and 8th lines is detected as 2 and is smaller than D (= 4), so it is determined to be a violation.

次に、第4図における斜め方向パタン幅検査(斜め方向
の設計規則“パタン幅がD以上”)について説明する。
先ず各プロセシングエレメントにおいてタイプの分類が
行われる。タイプの分類は第7図の基準で行われ、結果
は各プロセシングエレメントに格納される。タイプとし
ては、第7図(イ)のように「自身の今回のラインの
値,右隣接するプロセシングエレメントの今回のライン
の値,自身の前回のラインの値がともに“1"で、かつ右
隣接するプロセシングエレメントの前回のラインの値が
“0"」のプロセシングエレメントをタイプAと呼ぶ。第
7図(ロ)のように「自身の今回のラインの値,左隣接
するプロセシングエレメントの今回のラインの値,自身
の前回のラインの値がともに“1"で、かつ左隣接するプ
ロセシングエレメントの前回のラインの値が“0"」のプ
ロセシングエレメントをタイプBと呼ぶ。第7図(ハ)
のように「自身の今回のラインの値が“0"で、かつ右隣
接するプロセシングエレメントの今回のラインの値,自
身の前回のラインの値,右隣接するプロセシングエレメ
ントの前回のラインの値が“1"」のプロセシングエレメ
ントをタイプCと呼ぶ。第7図(ニ)のように「自身の
今回のラインの値が“0"で、かつ左隣接するプロセシン
グエレメントの今回のラインの値,自身の前回のライン
の値,左隣接するプロセシングエレメントの前回のライ
ンの値が“1"」のプロセシングエレメントをタイプDと
呼ぶ。
Next, the diagonal pattern width inspection in FIG. 4 (design rule “pattern width is D or more” in the diagonal direction) will be described.
First, type classification is performed in each processing element. The type classification is performed according to the criteria shown in FIG. 7, and the result is stored in each processing element. As the type, as shown in Fig. 7 (a), "the value of the current line of itself, the value of the current line of the adjacent processing element on the right, the value of the previous line of itself are both" 1 "and the right A processing element in which the value of the previous line of the adjacent processing element is "0" is called type A. As shown in Fig. 7 (b), "the value of the current line of itself, the value of the current line of the processing element adjacent to the left side, and the value of the previous line of the processing point of itself are both" 1 "and the processing element adjacent to the left side The processing element whose previous line value is “0” is called type B. Figure 7 (C)
"The value of the current line of its own is" 0 ", and the value of the current line of the processing element adjacent to the right, the value of the previous line of its own, the value of the previous line of the processing element adjacent to the right is The processing element of "1""is called type C. As shown in FIG. 7 (d), "the value of the current line of its own is" 0 ", and the value of the current line of the processing element adjacent to the left side, the value of the previous line of the processing element adjacent to the left side, The processing element whose previous line value is "1" is called type D.

次にタイプのラベル付け(a,b,c)を行う、ここにcの
値はタイプAの場合は0、タイプBの場合は1を与え、
タイプAは(0,0,0),タイプBは(0,0,1)とし、次に
ラベル(a,b,c)のうちa,bの求めかたは、 各PEにおいて、いかなるラベルもつけられていない
空ラベルのPEであって、前回入力したラベルが(k,l,
m)で、 データ入力時の右隣接PEラベルが(k1,l1,0)の場合
は、k+lとk1+l1とを比較し、k+lが小さい場合は
当該PEラベルを(k,l+1,0)とし、k1+l1が小さい場合
は、当該PEラベルk1+1,l1,0)とし、同じならば(k,l
+1,0)を採用し、 データ入力時の左隣接PEのラベルが(k1,l1,1)の場合
は、k+lとk1+l1とを比較し、k+lが小さい場合
は、当該PEラベルを(k,l+1,1)とし、k1+l1が小さい
場合は、当該PEラベル(k1+1,l1,1)とし、同じならば
(k,l+1,1)を採用し、 の処理の終了後、各PEにおいて、 空ラベルのPEであって、右隣接PEのラベルが(a,b,0)
であるならば当該PEのラベルを(a+1,b,0)に、 空ラベルのPEであって、左隣接PEのラベルが(a,b,1)
であるならば当該PEのラベルを(a+1,b,1)に設定
し、 タイプCあるいはタイプDのPEがあり、当該ラベル
が空でなければ、そのラベルのうちa,bからa2+b2を求
め、この値がD2より小さいときは設計規則違反と判定す
る。
Then type labeling (a, b, c), where the value of c is 0 for type A, 1 for type B,
Type A is set to (0,0,0), Type B is set to (0,0,1), and next, how to obtain a or b of labels (a, b, c) is as follows: It is a PE with an empty label that has not been entered, and the previously entered label is (k, l,
m), when the right adjacent PE label at the time of data input is (k 1 , l 1 , 0), k + 1 is compared with k 1 + l 1, and when k + 1 is small, the PE label is (k, l + 1). , and 0), when k 1 + l 1 is small, the PE label k 1 + 1, l 1, 0) and then, if the same (k, l
+1,0) is adopted, and when the label of the left adjacent PE at the time of data input is (k 1 , l 1 , 1), k + 1 and k 1 + l 1 are compared, and when k + 1 is small, the PE the label with (k, l + 1,1), if k 1 + l 1 is small, and the PE label (k 1 + 1, l 1 , 1), if the same (k, l + 1,1) adopted, in After processing, in each PE, the PE with an empty label and the label of the right adjacent PE is (a, b, 0).
, The PE label is (a + 1, b, 0), and the PE with an empty label is the left adjacent PE label (a, b, 1).
If the PE label is set to (a + 1, b, 1), and there is a PE of type C or type D and the label is not empty, then a, b to a 2 + b 2 of that label Is obtained, and when this value is smaller than D2, it is determined that the design rule is violated.

第9図はラベリングの一例を示したものであり、第5ラ
イン入力時に(イ),(ロ)の順にラベリングされ、第
6ライン入力時に(ハ),(ニ)の順にラベリングさ
れ、第7ライン入力時に(ホ),(ヘ)の順にラベリン
グされ、プロセシングエレメントに格納されることにな
る。
FIG. 9 shows an example of labeling. Labeling is performed in the order of (a) and (b) when the fifth line is input, and labeling is performed in the order of (c) and (d) when the sixth line is input. At the time of line input, (e) and (f) are labeled in that order and stored in the processing element.

第9図はくびれのある図形のくびれ部分の寸法が、第10
図は平行な2つの斜辺(45°)を有する図形の斜辺間隔
が夫々規定値“D"以上であるか否かの検査を行う例を示
したものであり、第9図(イ),第10図(イ)は検査の
対象となるパタンデータを、第9図(ロ),第10図
(ロ)は下辺から順に処理してラベリングした結果を夫
々示している。なお、第9図(イ),第10図(イ)は第
8図によるタイプ分類の結果も示してある。なお、前述
した第8図は第9図に関するラベリングの途中経過を示
している。
Figure 9 shows the dimension of the constricted part of the figure with constriction
The figure shows an example of inspecting whether or not the distance between the hypotenuses of a figure having two parallel hypotenuses (45 °) is equal to or more than a specified value “D”. FIG. 10 (a) shows the pattern data to be inspected, and FIG. 9 (b) and FIG. 10 (b) show the results obtained by sequentially processing and labeling from the lower side. 9 (a) and 10 (a) also show the results of the type classification shown in FIG. Note that FIG. 8 described above shows the progress of labeling relating to FIG. 9.

つぎに第9図の(イ),(ロ)の作成手順について説明
する。
Next, the procedure for creating (a) and (b) in FIG. 9 will be described.

まず、第10図で、1番下のタイプAラインが入力された
場合、第16図でeの欄のPEのタイプがAになる。前回の
ライン(第10図で最下のライン)では総てのPEが空ラベ
ルであることに注意。この場合e以外は空ラベルのPEで
ある。各PEにおいて前回のラベルと右隣のPEラベルを比
較するが、この場合該当するのはdの欄のPEのみ(右隣
PEは0,0,0、前回が空)で0+1,0,0となり、第16図のよ
うになる。
First, when the lowest type A line is input in FIG. 10, the PE type in the column e in FIG. 16 becomes A. Note that on the previous line (bottom line in Figure 10) all PEs are empty labels. In this case, PEs other than e are blank labels. In each PE, the previous label and the PE label on the right are compared, but in this case, only the PE in column d is applicable (on the right).
PE becomes 0 + 1,0,0 when it is 0,0,0 and the previous time is empty.

つぎに前述のの手順によって、「各PEにおいて、いか
なるラベルもつけられていない空ラベルのPEであって、
前回入力したラベルが(k,l,m)で、 データ入力時の右隣接PEのラベルが(k1,l1,0)の場合
は、k+lとk1+l1とを比較し、k+lが小さい場合は
当該PEラベルを(k,1+l,0)とし、k1+l1が小さい場合
は、当該PEラベル(k1+1,l1,0)とし、同じならば(k,
l+1,0)を採用し、」によって、cの欄のPEラベルが第
17図のように(1+1,0,0)となる。つぎにラインを読
みこむ。第3ラインでは、fのPEがタイプAである。
Then, by the above procedure, "In each PE, an empty label PE with no label attached,
If the label input last time is (k, l, m) and the label of the right adjacent PE at the time of data input is (k 1 , l 1 , 0), k + 1 is compared with k 1 + l 1 and k + l is If small and the PE label and (k, 1 + l, 0), when k 1 + l 1 is small, and the PE label (k 1 + 1, l 1 , 0), if the same (k,
l + 1,0), and the PE label in the column c is
As shown in Fig. 17, it becomes (1 + 1,0,0). Next, read the line. In the third line, PE of f is type A.

以下同様の処理を行う。eのPEで右隣と前回のラベルを
比較する。どちらも0,0であるので、右隣が採用され、
(0+1,0,0)となる。cのPEでは、右隣のPE(e)は
空である(前の処理と同時に実行されているので、eは
空)従って前回のラベルから、(1,0+1,0)となる。こ
の処理終了後、cのPEに(右隣が空でなくなる)1+1,
1,0が書かれる(第18図参照)。
The same processing is performed thereafter. Compare the previous label with the one to the right with PE in e. Both are 0,0 so the right neighbor is adopted,
It becomes (0 + 1,0,0). In the PE of c, the PE (e) on the right side is empty (e is empty because it is being executed at the same time as the previous process), so the previous label becomes (1,0 + 1,0). After this process is completed, PE of c (1 next to the right is not empty) 1 + 1
1,0 is written (see Figure 18).

以下同様の処理を行う。ここで、ある時点のPEのラベル
の値は、当該ラベルからの座標(距離)を示している
(3番目の数字はタイプAかBかを区別するためのも
の)。
The same processing is performed thereafter. Here, the value of the PE label at a certain time point indicates the coordinates (distance) from the label (the third number is for distinguishing between type A and type B).

従ってタイプCまたはタイプDのPEが出現した時点で、
当該ラベルを調べることによって、距離を測定すること
ができる。
Therefore, when type C or type D PE appears,
By examining the label, the distance can be measured.

しかして、ラベリングの結果、第9図(ロ)のタイプC
のビットにはラベル(5,3,0)が、第10図(ロ)のタイ
プCのビットにはラベル(5,4,0)が付けられている。
第9図の場合、くびれ部分の距離は、タイプAのビット
とタイプCのビットの距離に一致する。この場合、距離
はタイプCのビットが処理される時に計算され、そのラ
ベルを(x,y,z)とすれば、 が距離である。しかし、距離を数値として求めるのでは
なくDとの大小関係を判断すればよいことから、実際は の代わりにx2+y2<D2が計算され、これが満たされた
時、設計規則違反であると判定される。一方、第10図の
場合、平行斜辺間の距離は、タイプCのビットのラベル
が(x,y,z)の時、 と計算され、同様に すなわちx2+y2<D2の時、設計規則違反であると判定さ
れる。
Then, as a result of labeling, type C in FIG.
Labels (5,3,0) are attached to the bits of, and labels (5,4,0) are attached to the bits of type C in FIG.
In the case of FIG. 9, the distance of the constricted portion matches the distance between the type A bit and the type C bit. In this case, the distance is calculated when the type C bits are processed, and its label is (x, y, z), Is the distance. However, it is not necessary to calculate the distance as a numerical value but to judge the magnitude relationship with D, so in reality, X 2 + y 2 <D 2 is calculated instead of, and when this is satisfied, it is determined that the design rule is violated. On the other hand, in the case of FIG. 10, the distance between the parallel hypotenuses is as follows when the type C bit label is (x, y, z): And likewise That is, when x 2 + y 2 <D 2 , it is determined that the design rule is violated.

なお、上記の説明では、パタン幅の設計規則違反の検出
方法を述べたが、地(背景)とパタンとを反転させれ
ば、地の幅(すなわち、図形間のスペーシング)も同じ
方法で設計規則違反の検出が行えることは明らかであ
る。
In the above description, the method of detecting the design rule violation of the pattern width is described. However, if the ground (background) and the pattern are reversed, the width of the ground (that is, the spacing between figures) can be the same. Obviously, it is possible to detect violations of design rules.

また、以上の説明では設計規則違反の検出手法を述べた
が、この設計規則違反検出手法を用いて違反箇所を検出
し、その結果をもとに設計規則に合うように修正を行う
ことができることは明らかである。
Also, in the above explanation, the design rule violation detection method was described, but it is possible to detect the violation part using this design rule violation detection method and make corrections so as to match the design rule based on the result. Is clear.

本発明は以上のようにビットマップ形式のデータを一方
向から1ラインづつアレイプロセッサに入力し、入力に
同期して設計規則違反を検出し出力する手法と、アレイ
プロセッサが斜め方向のパタン幅計算でパタン上下辺中
の角点を認識し、下辺角点から上辺角点に向かって(x,
y)の2つのラベル付けを行い、上辺角点についてラベ
ル(x,y)と、別途与えられる基準値をもとに設計規則
違反であると判定する手法とが従来の技術と大きく異な
っている。
As described above, the present invention inputs the bitmap data into the array processor line by line from one direction, detects the design rule violation in synchronization with the input, and outputs it, and the array processor calculates the pattern width in the diagonal direction. Recognize the corner points in the upper and lower sides of the pattern, and move from the lower side corner point to the upper side corner point (x,
The method of performing two labelings (y) and determining the violation of the design rule based on the label (x, y) for the upper side corner point and the separately provided reference value is significantly different from the conventional technology. .

また、本発明では1ラインづつ入力して処理しているの
で、y方向のライン数については無制限である。なお、
アレイプロセッサのプロセシングエレメント数よりも大
きなx方向メッシュについては、分割処理できることは
当然である。
Further, in the present invention, since the lines are input and processed one by one, the number of lines in the y direction is unlimited. In addition,
Of course, division processing can be performed for an x-direction mesh that is larger than the number of processing elements of the array processor.

また、入力データの中に同一内容のラインが引き続く時
には、制御データにより入力するデータ量を削減できる
ことは言うまでもない。
Needless to say, when the lines of the same content continue in the input data, the amount of data to be input can be reduced by the control data.

また、隣接パタンの影響を考慮した設計規則によるパタ
ンデータの検査に関しては、縦方向および斜め方向の検
査は1ラインづつ逐次処理されるので、入力済みのデー
タを反映させた設計規則はいつの時点でも適用でき、末
入力データを反映した設計規則に基づく検査は、末入力
データが入力し終えた時点で可能になる。また、横方向
については、いつの時点でも入力済みデータを反映した
設計規則を適用できることは明らかである。
In addition, regarding the inspection of pattern data according to the design rule that considers the influence of adjacent patterns, the inspection in the vertical direction and the diagonal direction is processed one line at a time, so the design rule that reflects the already input data is always available. The inspection based on the design rule that can be applied and reflects the end input data becomes possible after the end input data is input. In the horizontal direction, it is clear that the design rule that reflects the input data can be applied at any time.

(発明の効果) 以上説明したように、本発明によれば、1ラインづつ入
力して処理する、いわゆるパイプライン処理でマスクま
たは直接露光のパタンデータの設計規則違反の検出を行
い、パイプラインの各処理自体を1次元アレイプロセッ
サとして動作するアレイプロセッサで並列処理するよう
にしているため、膨大な量のデータを極めて高速に処理
できる効果がある。また、ビットマップ形式のパタンデ
ータを用い、各ビット毎に1つのプロセシングエレメン
トを割り当てて処理することでパタンデータの特徴抽出
を行うことができ、その利用により横方向,縦方向,斜
め方向のパタンの幅,斜め図形の幅等の設計規則違反を
極めて効率よく検出することができる効果がある。
(Effect of the Invention) As described above, according to the present invention, a design rule violation of pattern data of mask or direct exposure is detected by so-called pipeline processing, in which each line is input and processed, and pipeline processing is performed. Since each processing itself is processed in parallel by the array processor operating as a one-dimensional array processor, there is an effect that an enormous amount of data can be processed at extremely high speed. Further, pattern data in the bitmap format is used, and one processing element is assigned to each bit and processed to extract the characteristics of the pattern data. There is an effect that it is possible to detect design rule violations such as the width of a circle and the width of an oblique figure very efficiently.

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

第1図は本発明のパタンデータ検査装置の一実施例を示
す構成図、第2図は第1図におけるアレイプロセッサの
構成図、第3図は第2図におけるプロセシングエレメン
トの構成図、第4図は本発明による検査の処理の流れ
図、第5図は本発明による検査の処理の説明図、第6図
は本発明によるx方向パタン幅検査の説明図、第7図は
斜め方向パタン幅検査におけるタイプの分類の説明図、
第8図は斜め方向パタン幅検査におけるラベリングの説
明図、第9図はくびれのある図形のくびれ部分の幅計算
の説明図、第10図は平行な2つの斜辺(45°)を有する
図形の斜辺間隔計算の説明図、第11図は隣接パタンの影
響を考慮した設計規則によるパタン例を示す図、第12図
は第11図をビットマップ表現した図、第13図はウインド
ウプロセッサの構成図、第14図はFAST MASKの構成図、
第15図はOSLの構成図、第16図より第18図は説明図であ
る。 1……逐次計算機、2……バッファメモリ、3……イン
タフェイス部、4……アレイプロセッサ、5……制御
部、6,7……データ線、8……制御信号線
1 is a block diagram showing an embodiment of a pattern data inspection apparatus of the present invention, FIG. 2 is a block diagram of the array processor in FIG. 1, FIG. 3 is a block diagram of the processing element in FIG. 2, and FIG. FIG. 5 is a flow chart of the inspection process according to the present invention, FIG. 5 is an explanatory diagram of the inspection process according to the present invention, FIG. 6 is an explanatory diagram of the x-direction pattern width inspection according to the present invention, and FIG. 7 is an oblique pattern width inspection. Illustration of type classification in
Fig. 8 is an explanatory diagram of labeling in the diagonal pattern width inspection, Fig. 9 is an explanatory diagram of width calculation of a constricted part of a figure with a constriction, and Fig. 10 is a figure with two parallel hypotenuses (45 °). Explanatory diagram of hypotenuse interval calculation, Fig. 11 is a diagram showing an example of patterns according to design rules considering the influence of adjacent patterns, Fig. 12 is a diagram expressing Fig. 11 in a bitmap, and Fig. 13 is a configuration diagram of a window processor. , Fig. 14 is a block diagram of FAST MASK,
FIG. 15 is a configuration diagram of OSL, and FIGS. 16 to 18 are explanatory diagrams. 1 ... Sequential computer, 2 ... Buffer memory, 3 ... Interface section, 4 ... Array processor, 5 ... Control section, 6,7 ... Data line, 8 ... Control signal line

───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 H01L 21/027 9287−5L G06F 15/62 405 A ─────────────────────────────────────────────────── ─── Continuation of the front page (51) Int.Cl. 6 Identification number Internal reference number FI Technical indication H01L 21/027 9287-5L G06F 15/62 405 A

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】逐次計算機より入力したビットマップ形式
のパタンデータを蓄積するバッファメモリと、前記バッ
ファメモリからの信号が与えられ、かつ論理演算・加減
算・乗算を行いうるプロセシングエレメントを複数個相
互に接続した構成をもち、モード設定で1次元配列とな
りうるアレイプロセッサと、前記バッファメモリとアレ
イプロセッサとを制御する制御部とを備える装置を用
い、 逐次計算機からビットマップ形式のデータおよびプログ
ラムをバッファメモリに入力し、入力完了後は制御部の
動作により前記バッファメモリよりパタンデータを前記
アレイプロセッサに1ライン分ずつ入力し、所定のパタ
ンデータのチェックを行い、その結果を前記バッファメ
モリに書き込む動作を全ラインについて行い、 (a) x方向パタン幅の検査方法は、x方向の設計規
則が、パタン幅がD以上である場合、aをチェックすべ
き生成ビットマップデータとするとき、aの“1"領域の
右端を示すデータで、をプロセシングエレメント(以
下PEと書く)の1個分左シフトしたものとaとのAND演
算を行うことによりβが得られ、γは前記βを1PE左シ
フトしたものとβとのOR演算を(D−1)回行い、検査
基準の検査パタンが得られ、δはγ∩との論理計算に
より得られ、前記δを1PEを右シフトしたものとδとのO
R演算をD−1回行いεが得られ、このεとaとをAND演
算することによりξが得られ、これにより検査規則違反
の有無を検出し、 (b) y方向パタン幅の検査方法は、y方向の設計規
則が、パタン幅がD以上である場合は、各PEで前回ライ
ンの時の生成ビットマップデータの値が“0"で、今回の
ラインにおける生成ビットマップデータの値が“1"のと
きに、“1"のカウントを開始し、次のラインにおいて前
回のラインの生成ビットマップデータが“1"で、今回の
ラインの生成ビットマップデータの値が“1"のとき1の
カウントを継続し、前回の一ラインのビットマップデー
タ1で、今回のビットマップデータの値が0であるとき
はカウントを停止し、カウント1の値の和をもってy方
向の幅を求め、この値についてDと大小を比較し、小さ
ければ、設計規則違反と判断し、 (c) 斜め方向パタン幅の検査方法は、まずそれが左
斜め方向のパタンの角であるか、右斜め方向のパタンの
角であるかを検出するために、各プロセッサにおいてそ
れぞれのラインの値(入力データ)に対してタイプの分
類が行われ、 「自身の今回のラインの値(入力データ)、右隣接する
PEの今回のラインの値(入力データ)、自身の前回のラ
インの値(入力データ)がともに“1"で、かつ右隣接す
るPEの前回のラインの値(入力データ)が“0"」のPEを
タイプAとし、 「自身の今回のラインの値(入力データ)、左隣接する
PEの今回のラインの値(入力データ)、自身の前回のラ
インの値(入力データ)がともに“1"で、かつ左隣接す
るPEの前回のラインの値(入力データ)が“0"」のPEを
タイプBとし、 「自身の今回のラインの値(入力データ)が“0"で、か
つ右隣接するPEの今回のラインの値(入力データ)、自
身の前回のラインの値(入力データ)、右隣接するPEの
前回のラインの値(入力データ)が“1"」のPEをタイプ
Cとし、 「自身の今回のラインの値(入力データ)が“0"で、か
つ左隣接するPEの今回のラインの値(入力データ)、自
身の前回のラインの値(入力データ)、左隣接するPEの
前回のラインの値(入力データ)が“1"」のPEをタイプ
Dとし、 次にタイプのラベル付け(a,b,c)を行う。ここにcの
値はタイプAの場合は、タイプBの場合は1を与え、タ
イプAは(0,0,0),タイプBは(0,0,1)とし、次にラ
ベル(a,b,c)のうちa,bの求めかたは、 各PEにおいて、いかなるラベルもつけられていない
空ラベルのPEであって、前回入力したラベルが(k,l,
m)で、 データ入力時の右隣接PEラベルが(k1,l1,0)の場合
は、k+lとk1+l1とを比較し、k+lが小さい場合は
当該PEラベルを(k,l+1,0)とし、k1+l1が小さい場合
は、当該PEラベル(k1+1,l1,0)とし、同じならば(k,
l+1,0)を採用し、 データ入力時の左隣接PEのラベルが(k1,l1,1)の場合
は、k+lとk1+l1とを比較し、k+lが小さい場合
は、当該PEラベルを(k,l+1,1)とし、k1+l1が小さい
場合は、当該PEラベル(k1+1,l1,1)とし、同じならば
(k,l+1,1)を採用し、 の処理の終了後、各PEにおいて、 空ラベルのPEであって、右隣接PEのラベルが(a,b,0)
であるならば当該PEのラベルを(a+1,b,0)に、 空ラベルのPEであって、左隣接PEのラベルが(a,b,1)
であるならば当該PEのラベルを(a+1,b,1)に設定
し、 タイプCあるいはタイプDのPEがあり、当該ラベル
が空でなければ、そのラベルのうちa,bからa2+b2を求
め、この値がD2より小さいときは設計規則違反と判定す
ることを特徴とするパタンデータの検査方法。
1. A buffer memory for accumulating pattern data in a bit map format input from a sequential computer, and a plurality of processing elements to which signals from the buffer memory are given and which can perform logical operation / addition / subtraction / multiplication. Using a device having an array processor having a connected configuration and capable of forming a one-dimensional array in mode setting, and a control unit for controlling the buffer memory and the array processor, a buffer memory for storing bitmap data and programs from a sequential computer After completion of the input, the control unit operates to input the pattern data from the buffer memory to the array processor line by line, check the predetermined pattern data, and write the result to the buffer memory. Performed for all lines, (a) x-direction pattern width When the pattern width of the design rule in the x direction is D or more and the a is the generated bitmap data to be checked, the inspection method is the data indicating the right end of the "1" area of the a processing element ( (Hereinafter referred to as PE) 1 is left-shifted by 1 and an AND operation is performed with a to obtain β. Γ is an OR operation of β that is left-shifted by 1 PE and β (D-1). The inspection pattern of the inspection standard is obtained, δ is obtained by logical calculation with γ ∩, and δ obtained by right-shifting 1 PE and δ
The R operation is performed D-1 times to obtain ε, and AND is obtained by ANDing ε and a to obtain ξ, thereby detecting the presence or absence of the inspection rule violation, and (b) the y-direction pattern width inspection method. When the design rule in the y direction is that the pattern width is D or more, the value of the generated bitmap data in the previous line is “0” in each PE and the value of the generated bitmap data in this line is When it is "1", counting of "1" is started, and when the generated bitmap data of the previous line is "1" and the generated bitmap data of this line is "1" in the next line. The count of 1 is continued, the count is stopped when the value of the bitmap data 1 of this time is 0 in the bitmap data 1 of the previous one line, and the width in the y direction is obtained by the sum of the count 1 values. Compare this value with D, and if smaller, (C) In the method for inspecting the diagonal pattern width, first, in order to detect whether the diagonal pattern width is a left diagonal pattern corner or a right diagonal pattern corner, The processor classifies the value of each line (input data) by type, "the value of this own line (input data), right adjacent
The value of this PE's current line (input data) and the value of its own previous line (input data) are both "1", and the value of the previous line of the PE adjacent to the right (input data) is "0"". PE of type is type A, and the value of this line (input data), left adjacent
The value of this PE's current line (input data) and the value of its own previous line (input data) are both "1", and the value of the previous line of the adjacent PE on the left (input data) is "0"". PE of type B, “The value of this line (input data) of itself is“ 0 ”, and the value of this line of PE adjacent to the right (input data), the value of previous line of itself (input Data), the PE with the previous line value (input data) of the adjacent PE on the right is “1” ”is type C, and“ PE value of this line (input data) is “0” and left adjacent Type D is the PE whose current line value (input data), its own previous line value (input data), and the left adjacent PE previous line value (input data) is "1". , Then type labeling (a, b, c). Here, the value of c is 1 for type A, 1 for type B, (0,0,0) for type A, (0,0,1) for type B, and then label (a, b, c) of a, b is the PE with an empty label without any label in each PE, and the previously entered label is (k, l,
m), when the right adjacent PE label at the time of data input is (k 1 , l 1 , 0), k + 1 is compared with k 1 + l 1, and when k + 1 is small, the PE label is (k, l + 1). , and 0), when k 1 + l 1 is small, and the PE label (k 1 + 1, l 1 , 0), if the same (k,
l + 1,0) is adopted, and when the label of the left adjacent PE at the time of data input is (k 1 , l 1 , 1), k + 1 is compared with k 1 + l 1, and when k + 1 is small, the PE the label with (k, l + 1,1), if k 1 + l 1 is small, and the PE label (k 1 + 1, l 1 , 1), if the same (k, l + 1,1) adopted, in After processing, in each PE, the PE with an empty label and the label of the right adjacent PE is (a, b, 0).
, The PE label is (a + 1, b, 0), and the PE with an empty label is the left adjacent PE label (a, b, 1).
If the PE label is set to (a + 1, b, 1), and there is a PE of type C or type D and the label is not empty, then a, b to a 2 + b 2 of that label The pattern data inspection method is characterized in that when this value is smaller than D2, it is determined that the design rule is violated.
JP16215086A 1986-07-11 1986-07-11 Pattern data inspection method Expired - Fee Related JPH0724060B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP16215086A JPH0724060B2 (en) 1986-07-11 1986-07-11 Pattern data inspection method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16215086A JPH0724060B2 (en) 1986-07-11 1986-07-11 Pattern data inspection method

Publications (2)

Publication Number Publication Date
JPS6319073A JPS6319073A (en) 1988-01-26
JPH0724060B2 true JPH0724060B2 (en) 1995-03-15

Family

ID=15748986

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16215086A Expired - Fee Related JPH0724060B2 (en) 1986-07-11 1986-07-11 Pattern data inspection method

Country Status (1)

Country Link
JP (1) JPH0724060B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003058895A (en) * 2001-08-09 2003-02-28 Matsushita Electric Ind Co Ltd Device and method for labeling

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5083534A (en) * 1989-04-05 1992-01-28 Mitsubishi Jukogyo Kabushiki Kaisha Spiral spring type starter apparatus for an internal combustion engine

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003058895A (en) * 2001-08-09 2003-02-28 Matsushita Electric Ind Co Ltd Device and method for labeling

Also Published As

Publication number Publication date
JPS6319073A (en) 1988-01-26

Similar Documents

Publication Publication Date Title
Kanopoulos et al. Design of an image edge detection filter using the Sobel operator
JP3678133B2 (en) Inspection system and semiconductor device manufacturing method
US11720472B2 (en) Liveness as a factor to evaluate memory vulnerability to soft errors
JP2856846B2 (en) Pattern defect inspection method and apparatus
US11568127B2 (en) Mask rule checking for curvilinear masks for electronic circuits
Wang et al. Real-time automated survey system of pavement cracking in parallel environment
Stanojevic et al. FedEx-a fast bridging fault extractor
US5930147A (en) Design support system in which delay is estimated from HDL description
EP0225257B1 (en) System for inspecting exposure pattern data of semiconductor integrated circuit device
US8185858B2 (en) Apparatus, method, and program for predicting layout wiring congestion
JPH11184064A (en) Photomask pattern design apparatus and design method as well as record medium recording photomask pattern design program
JPH0724060B2 (en) Pattern data inspection method
Gai et al. Flexible hotspot detection based on fully convolutional network with transfer learning
JP2005149273A (en) Apparatus and method for floor planning of semiconductor integrated circuit
US7590955B1 (en) Method and system for implementing layout, placement, and routing with merged shapes
US7653519B1 (en) Method and mechanism for modeling interconnect structures for integrated circuits
US7721235B1 (en) Method and system for implementing edge optimization on an integrated circuit design
US9910943B2 (en) Distributed state and data functional coverage
JP2580772B2 (en) Printed wiring board circuit design rule verification device
JP2964995B2 (en) Graphic processing unit
JP2662856B2 (en) Apparatus and method for measuring shape characteristics
JPH0253823B2 (en)
US20240127581A1 (en) Information processing device, information processing method, program, and recording medium
TW202336632A (en) Using machine-trained network to perform drc check
JPH06223132A (en) Mask pattern inspecting device

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees