JPH0620008A - Logical operation system for layout data - Google Patents

Logical operation system for layout data

Info

Publication number
JPH0620008A
JPH0620008A JP4173919A JP17391992A JPH0620008A JP H0620008 A JPH0620008 A JP H0620008A JP 4173919 A JP4173919 A JP 4173919A JP 17391992 A JP17391992 A JP 17391992A JP H0620008 A JPH0620008 A JP H0620008A
Authority
JP
Japan
Prior art keywords
boundaries
numbers
vertices
stored
data
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.)
Withdrawn
Application number
JP4173919A
Other languages
Japanese (ja)
Inventor
Katsumaro Yasui
克麿 安井
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.)
NEC IC Microcomputer Systems Co Ltd
Original Assignee
NEC IC Microcomputer Systems Co Ltd
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 NEC IC Microcomputer Systems Co Ltd filed Critical NEC IC Microcomputer Systems Co Ltd
Priority to JP4173919A priority Critical patent/JPH0620008A/en
Publication of JPH0620008A publication Critical patent/JPH0620008A/en
Withdrawn legal-status Critical Current

Links

Abstract

PURPOSE:To provide an effective logical operation system which can reduce the memory capacity necessary for verification of the shape of the read-out layout data. CONSTITUTION:The apexes are extracted out of the layout data which are read out of a graphic data base 90 and sorted for each mask processing process, the dot numbers are given to these extracted apexes, and the side numbers are given to each side where two apexes are connected together with the apexes stored (101 and 102). The apexes are sorted in the x-axis direction and the dot numbers and their order are stored (103). The boundaries are presumed based on the coordinate value corresponding to each order and then selected in sequence, the apexes and the sides set on the boundaries are taken out and sorted in the y-axis direction, and the dot numbers, the side numbers and the orders are stored (104-106). The logical arithmetic is carried out if the data are stored in two adjacent boundaries (108). If not, the procedure returns to the step 104. If all boundaries are not selected after the end of the logical operation, the procedure also returns to the step 104. If all boundaries are selected, the relevant processing is completed.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明はレイアウトデータの論理
演算方式に関し、特にスリット法によるレイアウトデー
タの論理演算方式に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a layout data logical operation method, and more particularly to a layout data logical operation method based on the slit method.

【0002】[0002]

【従来の技術】従来のレイアウトデータの論理演算方式
としては、下記参考文献(1),(2),(3)および
(4)に見られるように、タッチング法、スリット法及
びビットマップ法がある。
2. Description of the Related Art As conventional layout data logical operation methods, there are a touching method, a slit method and a bitmap method, as shown in the following references (1), (2), (3) and (4). is there.

【0003】タッチング法は、図6(a)に示すよう
に、すべての多角形をそれに外接する方形201の左下
のxおよびy座標でソートしておき、これをソート順に
取出しながら外接方形のx方向区間に辺をもつ多角形区
間でのみ論理演算を行う手法である。スリット法は、図
6(b)に示すように、すべての多角形の頂点のx座標
でスリット202と呼ぶ領域に分割し、すべて水平及び
斜め辺をそのx座標で分割しながらスリット別に分割辺
203の集合を作成し、各スリット独立に異なる向きの
辺の組を抽出して論理演算を行う手法である。また、ビ
ットマップ法は、図7に示すように、すべての多角形の
頂点のxおよびy座標でxy平面全体を格子204に分
割し、各格子にパターン実体が存在する205か否20
6かのビットをたて、そのビットマップにより論理演算
をおこ行う手法である。以上、タッチング法、スリット
法およびビットマップ法については、文献(2)の該当
部分を引用し、図7は文献(4)に掲載されている図を
参考にしている。なお、説明の都合上図番を変更し、注
釈を加えた箇所がある。 参考文献 (1)川西、西出、増田:”LSIマスクパターンの図
形処理の一算法”、信学論(A)、J63−A,9,p
p.611−618 (2)築添、小澤、酒見、三浦、石井:”VLSIマス
クデータに対する論理演算と交点計算を同時処理するパ
ターン論理演算手法”、信学論(D)、J69−D,
6,pp.975−983(昭61−06) (3)坂本、野村、小野寺、田丸:”LSIレイアウト
デザインチェックに使用する図形演算ハードウェアエン
ジンのシステム設計”、信学論(A)、J71−A,1
0,pp.1861−1869 (4)LSIハンドブック、電子通信学会編 オーム社
In the touching method, as shown in FIG. 6 (a), all polygons are sorted by the x and y coordinates at the lower left of a rectangle 201 circumscribing it, and the circumscribing rectangle x is taken out in the sorted order. This is a method of performing a logical operation only in a polygonal section having an edge in the direction section. As shown in FIG. 6B, the slit method divides all polygons into regions called slits 202 at the x-coordinates of the vertices and divides all horizontal and diagonal sides by the x-coordinates into divided regions for each slit. This is a method in which a set of 203 is created, and a set of sides having different directions is independently extracted for each slit to perform a logical operation. In the bitmap method, as shown in FIG. 7, the entire xy plane is divided into lattices 204 at the x and y coordinates of the vertices of all polygons, and whether or not there is a pattern entity in each lattice 205.
This is a method in which 6 bits are set and a logical operation is performed by the bit map. As for the touching method, the slit method, and the bitmap method, the relevant part of the document (2) is cited above, and FIG. 7 is based on the diagram published in the document (4). Note that for convenience of explanation, the drawing number has been changed and some notes have been added. References (1) Kawanishi, Nishide, and Masuda: "Calculation of LSI Mask Pattern Graphic Processing", SI (A), J63-A, 9, p.
p. 611-618 (2) Tsukizoe, Ozawa, Sakami, Miura, Ishii: “Pattern logical operation method for simultaneously processing logical operation and intersection calculation on VLSI mask data”, IEEJ (D), J69-D,
6, pp. 975-983 (Sho 61-06) (3) Sakamoto, Nomura, Onodera, Tamaru: "System Design of Graphic Arithmetic Hardware Engine Used for LSI Layout Design Check", Theoretical Theory (A), J71-A, 1
0, pp. 1861-1869 (4) LSI Handbook, The Institute of Electronics and Communication Engineers Ohmsha

【発明が解決しようとする課題】前述したように、従来
のスリット法においては外角形の辺を用い、各スリット
ごとに、そのx座標ですべての辺を分割しながら分割辺
の集合を作成し、その中から異なる向きの辺の組を抽出
して論理演算を行なっている。このため、各スリット内
では交点をもつ辺が存在しないことが論理演算を行なう
上で必要であり、入力データに斜め辺がひとつでも含ま
れていると、スリット内で交点をもつ可能性があるた
め、各スリット上の端点以外には交点のない辺にする前
処理が必要になり処理煩雑になる。またすべての分割辺
を主メモリ上に持つことになり、各分割辺を与える情報
量により大きなメモリ容量を必要とするという欠点があ
る。
As described above, in the conventional slit method, an outer polygonal side is used, and for each slit, a set of divided sides is created while dividing all sides at the x coordinate. , A set of sides with different orientations is extracted from them to perform a logical operation. For this reason, it is necessary to perform logical operation that there is no side having an intersection in each slit, and if even one diagonal side is included in the input data, there is a possibility of having an intersection in the slit. For this reason, preprocessing is required for the side having no intersection other than the end points on each slit, which complicates the processing. Further, since all the divided edges are provided in the main memory, there is a drawback that a large memory capacity is required due to the amount of information given to each divided edge.

【0004】[0004]

【課題を解決するための手段】本発明のレイアウトデー
タの論理演算方式は、予め作成された図形データとして
データベース上に格納されているレイアウトデータを読
出して、マスク工程(以下、マスク層と云う)ごとに分
類し、同一マスク層に属するレイアウトデータに含まれ
る全ての頂点を抽出する第1のステップと、前記第1の
ステップにおいて抽出された頂点に一連の番号を振り当
て、また2つの頂点の連結により定義される辺に対して
も、前記番号とは別に一連の番号を振り当てて、所定の
メモリに格納する第2のステップと、前記第1のステッ
プにおいて抽出して番号を振り当てた頂点をx軸方向に
ソートし、各頂点の番号(以下、点番号と云う)と順位
とを所定のメモリ領域に格納する第3のステップと、前
記第3のステップにおいて格納されたそれぞれの順位に
対応する座標値でy軸に平行な直線である境界を想定
し、当該順位の低い方(x座標の小さい方)より順番
に、対応する境界を1つづつ選び出す第4のステップ
と、前記第4のステップにおいて選択された境界上に存
在する頂点の点番号及び境界と交わる辺の番号(以下、
辺番号と云う)を全て抽出して、所定のメモリ領域に格
納する第5のステップと、前記第5のステップにおいて
抽出された頂点及び辺をy軸方向にソートし、各頂点の
点番号または各辺の辺番号ならびに順位を所定のメモリ
領域に格納する第6のステップと、前記第6のステップ
の処理終了後に、隣接する2つの境界でデータを格納し
たか否かを調べる第7のステップと、前記第6のステッ
プにおいて、隣接する2つの境界でデータを格納してい
る場合に、1つのスリットの両境界での頂点及び辺の番
号、ならびに順位のデータを比較照合することによっ
て、レイアウトデータの論理演算を行う第8のステップ
と、前記第8のステップの処理終了後に、前記第4のス
テップから第8のステップまでの処理について、前記第
3のステップにおいて想定された全ての境界が選択され
たか否かを調べる第9のステップとを有し、前記第7の
ステップにおいて隣接する2つの境界でデータを格納し
ていない場合、ならびに第9のステップにおいて全ての
境界を選択していない場合に、第4のステップに戻るこ
とを特徴としている。
According to a logical operation method of layout data of the present invention, layout data stored in a database as pre-created graphic data is read out to perform a mask step (hereinafter referred to as a mask layer). A first step of extracting all the vertices included in the layout data belonging to the same mask layer, and assigning a series of numbers to the vertices extracted in the first step. Also for a side defined by concatenation, a series of numbers are assigned separately from the numbers and stored in a predetermined memory in the second step, and the numbers extracted and assigned in the first step are assigned. The third step of sorting the vertices in the x-axis direction and storing the numbers (hereinafter referred to as point numbers) and the ranks of the vertices in a predetermined memory area; and the third step. Assuming a boundary that is a straight line parallel to the y-axis with the coordinate values corresponding to each of the stored ranks, one by one, the corresponding boundaries are arranged in order from the lower rank (the smaller x coordinate). A fourth step of selecting, a point number of a vertex existing on the boundary selected in the fourth step and a number of an edge intersecting with the boundary (hereinafter,
Edge numbers), and stores them in a predetermined memory area. The fifth step is to sort the vertices and sides extracted in the fifth step in the y-axis direction to obtain the point numbers of the vertices or A sixth step of storing the side number and rank of each side in a predetermined memory area, and a seventh step of checking whether or not data is stored at two adjacent boundaries after the processing of the sixth step is completed. In the sixth step, when the data is stored at two adjacent boundaries, the layout is performed by comparing and collating the data of the vertices and sides at both boundaries of one slit and the ranking. Regarding the eighth step of performing a logical operation of data and the processing from the fourth step to the eighth step after the processing of the eighth step is completed, the third step is performed. A ninth step of checking whether or not all the assumed boundaries have been selected, and when data is not stored in two adjacent boundaries in the seventh step, and all in the ninth step. When the boundary of is not selected, the process is returned to the fourth step.

【0005】[0005]

【実施例】次に、本発明について図面を参照して説明す
る。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Next, the present invention will be described with reference to the drawings.

【0006】図1は、本発明の一実施例の処理手順を示
すフローチャートである。また、図2(a),(b)お
よび(c)は、異なるレイアウトデータに対して、本発
明を実施した場合のレイアウトデータの変換図であり、
それぞれ入力パターン、AND演算後のパターンを示し
ている。そして、図3(a),(b)および(c)も、
同様に異なるレイアウトデータに対して、本発明の実施
した場合のレイアウトデータの変換図であり、それぞれ
入力パターン、AND演算後のパターンおよびOR演算
後のパターンを示しているが、この場合は、中央に重な
りを持つ2つの矩形パターンが斜めに配置されている例
である。なお、図2(a),(b)および(c)におい
て、13〜15はスリットを示し、20,22,24お
よび26は矩形Aの頂点、21,23,25および27
は矩形Aの辺を示しており、30,33,35および3
7は矩形Bの辺を示している。同様に、図3(a),
(b),および(c)においては、40,42,44お
よび46は矩形Cの頂点、41,43,45および47
は矩形Cの辺を示しており、50,52,54,および
56は矩形Dの頂点、51,53,55および57は矩
形の辺を示している。さらに、図4は、本実施例におけ
る頂点データ格納用メモリブロックの概念図である。
FIG. 1 is a flow chart showing the processing procedure of an embodiment of the present invention. 2A, 2B and 2C are layout diagrams of layout data when the present invention is applied to different layout data.
The input pattern and the pattern after the AND operation are shown respectively. 3 (a), (b) and (c),
Similarly, it is a conversion diagram of layout data in the case of implementing the present invention for different layout data, showing an input pattern, a pattern after AND operation and a pattern after OR operation, respectively. This is an example in which two rectangular patterns that overlap each other are diagonally arranged. 2 (a), (b) and (c), 13 to 15 indicate slits, 20, 22, 24 and 26 are vertices of the rectangle A, 21, 23, 25 and 27.
Indicates the side of the rectangle A, and is 30, 33, 35 and 3
Reference numeral 7 indicates the side of the rectangle B. Similarly, FIG.
In (b) and (c), 40, 42, 44 and 46 are vertices of the rectangle C, 41, 43, 45 and 47.
Indicates the sides of the rectangle C, 50, 52, 54, and 56 indicate the vertices of the rectangle D, and 51, 53, 55, and 57 indicate the sides of the rectangle. Further, FIG. 4 is a conceptual diagram of a vertex data storage memory block in this embodiment.

【0007】図1において、図形データベース90より
レイアウト設計後のレイアウトデータが読出され、マス
ク層(マスク作成工程ごとにレイアウトデータを分類し
たもの)ごとに分類され、同一のマスク層に属するレイ
アウトデータに含まれる、すべての頂点が抽出される
(ステップ101)。前記ステップ101で抽出した頂
点に一連の番号を振り当て、また2つの頂点で決まる辺
にも番号を振り当てて、所定のメモリ領域に格納する
(ステップ102)。次にスリットの境界を決めるた
め、メモリに格納したすべての頂点をx軸方向にソート
し、頂点の番号(以後、点番号とする)ならびに順位を
所定のメモリ領域に格納する(ステップ103)。前記
ステップ103で格納して各々の順位のうち、低い方
(x座標の小さい方)から順に、対応する境界をひとつ
づつ選び出す(ステップ104)。前記ステップ104
で選んだ境界、つまりy軸に平行な直線上に、存在する
頂点の点番号、及び境界と交わる辺の番号(以後、辺番
号とする)をすべて抽出して、所定のメモリ領域に格納
する(ステップ105)。前記ステップ105で抽出し
た頂点及び辺をy軸方向にソートし、点番号または辺番
号ならびに順位を所定のメモリ領域に格納する(ステッ
プ106)。前記ステップ106の処理が終わると、隣
接した2つの境界でデータを格納したかを調べる(ステ
ップ107)。ステップ107において格納されていな
い場合は、次の境界を選ぶためステップ104に処理を
戻す。また、格納されている場合は、ひとつのスリット
の両境界での頂点及び辺の位置関係がわかっているの
で、このスリットの論理演算を行なう(ステップ10
8)。そして、最後に、すべての境界選択したかどうか
を調べ(ステップ109)、選択していなければ、次の
境界を選べためステップ104に処理を戻し、選択して
いれば、処理を終了する。
In FIG. 1, the layout data after the layout design is read from the graphic database 90, and is categorized by the mask layer (the layout data is categorized by each mask making process) to be layout data belonging to the same mask layer. All included vertices are extracted (step 101). A series of numbers are assigned to the vertices extracted in step 101, and numbers are also assigned to the sides determined by the two vertices and stored in a predetermined memory area (step 102). Next, in order to determine the boundaries of the slits, all the vertices stored in the memory are sorted in the x-axis direction, and the vertex numbers (hereinafter referred to as point numbers) and the order are stored in a predetermined memory area (step 103). In each of the ranks stored in step 103, the corresponding boundaries are selected one by one from the lowest rank (smallest x coordinate) (step 104). Step 104
Extracts all the point numbers of the existing vertices and the numbers of the sides intersecting with the boundary (hereinafter referred to as side numbers) on the boundary selected in step 1, that is, on the straight line parallel to the y-axis, and stores it in a predetermined memory area. (Step 105). The vertices and edges extracted in step 105 are sorted in the y-axis direction, and the point number or edge number and rank are stored in a predetermined memory area (step 106). After the processing of step 106 is finished, it is checked whether or not the data is stored at two adjacent boundaries (step 107). If not stored in step 107, the process returns to step 104 to select the next boundary. If stored, the positional relationship between the vertices and the sides at both boundaries of one slit is known, so the logical operation of this slit is performed (step 10).
8). Finally, it is checked whether or not all boundaries have been selected (step 109). If not selected, the process returns to step 104 to select the next boundary, and if selected, the process ends.

【0008】図2(a)は、一部分の重なった2つの矩
形パターンの例であり、入力パターンを示している。こ
れを入力パターンとして、図1のフローチャートに合わ
せて処理を行なう。スリット14の境界2において、図
1におけるステップ101からステップ106までを介
して、頂点及び辺が、上から頂点30、辺21、頂点3
6及び辺25の順にならび格納されている。また、ステ
ップ104に戻り、再びステップ106の処理により、
境界3において、頂点及び辺が辺31、頂点22、辺3
5及び頂点24の順にならび格納されている。次いで、
ステップ108にて、スリット14の両境界である境界
2及び境界3のデータを比較照合し、スリット14のパ
ターンの論理演算を行なう。
FIG. 2A shows an input pattern, which is an example of two rectangular patterns that partially overlap each other. Using this as an input pattern, processing is performed in accordance with the flowchart of FIG. At the boundary 2 of the slit 14, the vertices and the edges are arranged from the top to the vertices 30, the edges 21, and the vertices 3 from step 101 to step 106 in FIG.
6 and the side 25 are stored in this order. Further, the process returns to step 104, and again by the process of step 106,
At boundary 3, the vertices and sides are side 31, vertex 22, side 3
5 and the vertex 24 are stored in this order. Then
In step 108, the data of the boundaries 2 and 3 which are both boundaries of the slit 14 are compared and collated, and the logical operation of the pattern of the slit 14 is performed.

【0009】まず、境界2でのならびから、辺21と辺
37(頂点30及び頂点36の連結)が交点60を持つ
こと、矩形A及び矩形Bは交点60から頂点36までの
範囲で重なりを持つことがわかる。辺21と辺37、及
び境界2のx座標より交点の座標を計算し、所定のメモ
リに格納する。また辺21および辺37につながる頂点
との連結を更新し、辺21及び辺37の辺番号を変更す
る。
First, from the line of the boundary 2, the side 21 and the side 37 (connection of the apex 30 and the apex 36) have an intersection 60, and the rectangles A and B overlap in the range from the intersection 60 to the apex 36. You know you have. The coordinates of the intersection are calculated from the x-coordinates of the sides 21 and 37 and the boundary 2 and stored in a predetermined memory. Further, the connection with the vertices connected to the sides 21 and 37 is updated, and the side numbers of the sides 21 and 37 are changed.

【0010】次に、境界3では、辺23(頂点22及び
頂点24の連結)と辺35が交点61(図2(C)参
照)を持つこと、矩形A及び矩形Bは頂点22から交点
61までの範囲で重なりを持つことがわかる。同様に交
点の座標を計算し、関係する頂点との連結を更新し、辺
番号を変更する。
Next, at the boundary 3, the side 23 (connecting the vertices 22 and 24) and the side 35 have an intersection 61 (see FIG. 2C), and the rectangle A and the rectangle B are from the vertex 22 to the intersection 61. It can be seen that there is overlap in the range up to. Similarly, the coordinates of the intersection are calculated, the connection with the related vertex is updated, and the edge number is changed.

【0011】こうして、ステップ104よりステップ1
09にいたる処理を繰り返し、スリット13、14及び
15の境界1、2、3及び4での、頂点及び辺のならび
を比較照合した図2(a)の論理演算終了後の出力パタ
ーンが、図2(b)及び図2(c)である。図2(b)
は矩形A及び矩形Bの重なり合った部分を抽出する演算
(AND処理)後のパターンを、また図2(c)は矩形
A及び矩形Bの外形を抽出する演算(OR処理)後のパ
ターンを、それぞれ示している。
Thus, from step 104 to step 1
09 is repeated, and the output pattern after completion of the logical operation of FIG. 2A in which the arrangement of vertices and edges at the boundaries 1, 2, 3 and 4 of the slits 13, 14 and 15 is compared and collated is shown in FIG. 2 (b) and FIG. 2 (c). Figure 2 (b)
Is the pattern after the operation (AND processing) for extracting the overlapping portions of the rectangle A and the rectangle B, and FIG. 2C is the pattern after the operation (OR processing) for extracting the outer shapes of the rectangle A and the rectangle B. Shown respectively.

【0012】次に、図3(a)は、中央に重なりを持つ
2つ矩形のパターンが斜めに配置された例である。ステ
ップ101からステップ106までを介して、スリット
16の境界8において、頂点及び辺が、頂点42、辺4
7、辺51及び辺57の順にならび格納されている。一
方、ステップ104に戻り、ステップ106の処理によ
り、境界9においては、頂点及び辺が、辺51、辺5
5、辺43及び頂点46の順にならび格納されている。
次いで、ステップ108にて、ステップ16の両境界で
ある境界8及び境界9のデータを比較照合し、スリット
16のパターンの論理演算を行なう。
Next, FIG. 3A is an example in which two rectangular patterns having an overlap in the center are obliquely arranged. Through steps 101 to 106, at the boundary 8 of the slit 16, the vertices and sides are the vertices 42 and the sides 4.
7, the side 51, and the side 57 are stored in this order. On the other hand, the process returns to step 104, and by the processing of step 106, the vertices and sides at the boundary 9 are the side 51 and the side 5.
5, the side 43, and the vertex 46 are stored in this order.
Next, in step 108, the data of the boundaries 8 and 9 which are both boundaries of step 16 are compared and collated, and the logical operation of the pattern of the slit 16 is performed.

【0013】例えば、境界8において前から3番目にな
らんでいた辺51が、境界9においては先頭になってい
る。また、境界8において辺51より前にならんでいた
頂点42(境界9においては辺43)及び辺47が、境
界9においては辺51の後になっている。これから、辺
51は辺43及び辺47と、それぞれ交点70及び交点
71を持つことがわかる。同様に考え、辺55は辺43
及び47と、それぞれ交点72及び交点73を持つ。こ
れら交点70、71、72及び73の座標を、それぞれ
が関係する辺より算出し、おのおのの交点につながって
いる辺番号を更新後、所定のメモリに格納する。こうし
て、ステップ104よりステップ109にいたる処理を
繰り返し、境界5〜境界12での頂点及び辺のならびを
比較照合後、矩形Cまたは矩形Dの各頂点及び交点を順
にたどることで、論理演算後の出力パターンを得ること
ができる。
For example, the third side 51 from the front at the boundary 8 is the first side at the boundary 9. Further, the apex 42 (the side 43 in the boundary 9) and the side 47 which are arranged before the side 51 in the boundary 8 are located after the side 51 in the boundary 9. From this, it can be seen that the side 51 has the intersections 70 and 71 with the sides 43 and 47, respectively. Similarly, side 55 is side 43
And 47, and intersection points 72 and 73, respectively. The coordinates of these intersections 70, 71, 72 and 73 are calculated from the sides associated with each other, and the side numbers connected to each intersection are updated and then stored in a predetermined memory. In this way, the processes from step 104 to step 109 are repeated, the vertexes and edges on the boundaries 5 to 12 are compared and collated, and the vertices and intersections of the rectangle C or the rectangle D are traced in order, thereby performing the logical operation. The output pattern can be obtained.

【0014】図3(a)の論理演算後の出力パターン
を、図3(b)及び図3(c)に示す。また、図4は頂
点データ格納用メモリブロックの概念図である。このメ
モリブロックは、読出したレイアウトデータに含まれる
頂点の格納用ブロック84と、論理演算により見つかっ
た交点格納用ブロック85の2つのブロックに大別され
る。構造は、頂点及び交点の属するレイアウトデータ番
号格納部80、頂点及び交点の点番号格納部81、座標
値格納部82及び連結ポインタ格納部83の4つの格納
部より成る。この点番号格納部81は省略することもで
きる。点番号格納部81は、頂点番号格納部81−1及
び交点番号格納部81−2より成る。座標値格納部82
は、x座標格納部82−1及びy座標格納部82−2よ
り成る。また、連結ポインタ格納部83は、そと頂点及
び交点を終点とする辺の始点の点番号を各納する前端点
連結ポインタ格納部83−1、その頂点及び交点を始点
とする辺の終点の点番号を格納する後端点連結ポインタ
格納部83−2、及び補助用連結ポインタ格納部83−
3より成る。このメモリブロック上では、辺は2つの端
点の点番号の連結として連結ポインタ格納部83に格納
される。辺の削除及び新たな交点が発生した場合の辺の
追加及び更新は、連結ポインタ格納部83に格納されて
いる点番号を書き替えることで実行される。
The output pattern after the logical operation of FIG. 3 (a) is shown in FIGS. 3 (b) and 3 (c). Further, FIG. 4 is a conceptual diagram of a vertex data storage memory block. This memory block is roughly divided into two blocks, a vertex storage block 84 included in the read layout data and an intersection storage block 85 found by a logical operation. The structure is composed of four storage units: a layout data number storage unit 80 to which vertices and intersections belong, a point number storage unit 81 for vertices and intersections, a coordinate value storage unit 82, and a connection pointer storage unit 83. The point number storage unit 81 can be omitted. The point number storage unit 81 includes a vertex number storage unit 81-1 and an intersection number storage unit 81-2. Coordinate value storage unit 82
Consists of an x-coordinate storage unit 82-1 and a y-coordinate storage unit 82-2. In addition, the concatenated pointer storage unit 83 stores the front end point concatenated pointer storage unit 83-1 that stores the point numbers of the start points of the edges that end at the vertices and the intersections, and the end points of the edges that start at the vertices and the intersections. Rear end point connection pointer storage unit 83-2 for storing point numbers and auxiliary connection pointer storage unit 83-
It consists of three. On this memory block, the side is stored in the concatenation pointer storage unit 83 as a concatenation of the point numbers of the two end points. The deletion of a side and the addition and update of a side when a new intersection occurs are executed by rewriting the point number stored in the connection pointer storage unit 83.

【0015】上記実施例では、スリットの境界を決める
ためメモリに格納したすべての頂点をx軸方向にソート
した後、頂点番号ならびに順位のデータを所定のメモリ
領域に格納し、順位の低いほうから順に対応する境界を
選び出し、選んだ境界、つまりy軸に平行な直線上に、
存在する頂点番号及び境界と交わる辺番号をすべて抽出
して、所定のメモリ領域に格納したのち論理演算を行な
うフローを用いているが、図5に示すように、スリット
の境界を決めるためメモリに格納したすべての頂点をy
軸方向にソートした後、頂点番号ならびに順位のデータ
を所定のメモリ領域に格納し、順位の低いほうから順に
対応する境界を選び出し、選んだ境界、つまりx軸に平
行な直線上に、存在する頂点番号及び境界と交わる辺番
号をすべて抽出して、所定のメモリに格納したのち論理
演算を行なった場合においても、同様の出力パターンを
得ることができる。
In the above embodiment, all the vertices stored in the memory for determining the boundaries of the slits are sorted in the x-axis direction, and the vertex number and rank data are stored in a predetermined memory area. Select the corresponding boundaries in order, and on the selected boundaries, that is, on the straight line parallel to the y-axis,
A flow is used in which all existing vertex numbers and edge numbers that intersect with boundaries are stored, stored in a predetermined memory area, and then logically calculated. However, as shown in FIG. Y for all stored vertices
After sorting in the axial direction, the vertex number and rank data are stored in a predetermined memory area, the corresponding boundaries are selected in order from the lowest rank, and exist on the selected boundary, that is, a straight line parallel to the x-axis. The same output pattern can be obtained even when all the vertex numbers and the edge numbers intersecting with the boundaries are extracted and stored in a predetermined memory and then the logical operation is performed.

【0016】[0016]

【発明の効果】以上説明したように、本発明はひとつの
スリットを定義する境界線上に存在する頂点及び辺を、
点で表される集合としてその位置関係を損なわないよう
に格納し、レイアウトデータの論理演算を行なっている
ので、斜め辺が存在すると端点以外に交点を持たないよ
うにする前処理を必要としない。また本発明を実施する
には、頂点または交点の座標値及び頂点の連結情報だけ
でよく、従来のスリット法のように、大容量のメモリを
必要としないという効果があり、さらに頂点及び辺のな
らびを調べるだけで、交点の検出及びパターンの重なり
の認識を行なえるので、高速で効率良い論理演算を行な
えるという効果がある。
As described above, according to the present invention, the vertices and edges existing on the boundary line defining one slit are
It is stored as a set represented by points so that its positional relationship is not impaired, and the logical operation of the layout data is performed. Therefore, if there is an oblique side, there is no need for preprocessing to prevent intersections other than the end points. . Further, to implement the present invention, only the coordinate values of the vertices or intersections and the connection information of the vertices are required, and there is an effect that a large capacity memory is not required unlike the conventional slit method. Since it is possible to detect the intersections and recognize the pattern overlaps only by checking the lines, there is an effect that a high-speed and efficient logical operation can be performed.

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

【図1】本発明の一実施例のフローチャートを示す図で
ある。
FIG. 1 is a diagram showing a flowchart of an embodiment of the present invention.

【図2】本発明の一実施例によるレイアウトデータの変
換図である。
FIG. 2 is a conversion diagram of layout data according to an embodiment of the present invention.

【図3】本発明の一実施例による、y軸に平行な境界を
用いたレイアウトデータの変換図である。
FIG. 3 is a conversion diagram of layout data using a boundary parallel to the y-axis according to an embodiment of the present invention.

【図4】本発明の一実施例の頂点データ格納用メモリの
概念図である。
FIG. 4 is a conceptual diagram of a vertex data storage memory according to an embodiment of the present invention.

【図5】本発明の一実施例による、x軸に平行な境界を
用いたレイアウトデータの変換図である。
FIG. 5 is a conversion diagram of layout data using a boundary parallel to the x-axis according to an embodiment of the present invention.

【図6】従来の技術を説明する概念図である。FIG. 6 is a conceptual diagram illustrating a conventional technique.

【図7】従来の技術を説明する概念図である。FIG. 7 is a conceptual diagram illustrating a conventional technique.

【符号の説明】[Explanation of symbols]

1〜4、5〜12 境界 13〜15、16 スリット 20、22、24、26 矩形Aの頂点 21、23、25、27 矩形Aの辺 30、32、34、36 矩形Bの頂点 31、33、35、37 矩形Bの辺 40、42、44、46 矩形Cの頂点 41、43、45、47 矩形Cの辺 50、52、54、56 矩形Dの頂点 51、53、55、57 矩形Dの辺 60、61 矩形Aと矩形Bとの交点 70〜73 矩形Cと矩形Dとの交点 80 レイアウトデータ番号格納部 81 点番号格納部 81−1 頂点番号格納部 81−2 交点番号格納部 82 座標値格納部 82−1 x座標格納部 82−2 y座標格納部 83 連結ポインタ格納部 83−1 前端点ポインタ格納部 83−2 後端点ポインタ格納部 83−3 補助連結ポインタ格納部 84 頂点格納用メモリブロック 85 交点格納用メモリブロック 90 図形データベース 101 図形データベース90からレイアウトデータ
を読出し、マスク層ごとに分類し、含まれる頂点の抽
出″行なうステップ 102 頂点及び辺に一連の番号を振り当て、所定の
メモリ領域への格納を行なうステップ 103 番号を振り当てた頂点をx軸方向にソート
し、各頂点の番号と順位を所定のメモリ領域に格納する
ステップ 104 各々の順位に対応する頂点の座標値で、y軸
に平行な直線である境界を想定し、そのひとつを順に選
びだすステップ 105 境界上に存在する、番号を振り当てた頂点及
び辺をすべて取り出して所定のメモリ領域に格納するス
テップ 106 格納した頂点及び辺をy軸方向にソートし、
各頂点及び辺の番号ならびに順位を所定のメモリ領域に
格納するステップ 107 頂点及び辺の番号ならびに順位のデータを、
境界が隣接する2つの位置で、用意できたか判断するス
テップ 108 頂点及び辺の番号ならびに順位のデータを比
較照合することによって、レイアウトデータの論理演算
を行なうステップ 109 すべての境界が選ばれるまで処理を繰り返す
ステップ 200 レイアウトデータP1 201 レイアウトデータP1 の外接方形 202 スリット 203 分割辺 204 レイアウトデータの頂点座標で分割された一
つの格子 205 パターン実体を持つ格子 206 パターン実体を持たない格子
1-4, 5-12 Boundary 13-15, 16 Slit 20, 22, 24, 26 Vertex of rectangle A 21, 23, 25, 27 Side of rectangle A 30, 32, 34, 36 Vertex of rectangle B 31, 33 , 35, 37 sides of rectangle B 40, 42, 44, 46 vertices of rectangle C 41, 43, 45, 47 sides of rectangle C 50, 52, 54, 56 vertices of rectangle D 51, 53, 55, 57 rectangle D Sides 60, 61 intersections of rectangle A and rectangle B 70-73 intersections of rectangle C and rectangle D 80 layout data number storage unit 81 point number storage unit 81-1 vertex number storage unit 81-2 intersection number storage unit 82 Coordinate value storage unit 82-1 x coordinate storage unit 82-2 y coordinate storage unit 83 connection pointer storage unit 83-1 front end point pointer storage unit 83-2 rear end point pointer storage unit 83-3 auxiliary connection pointer storage unit 84 vertex Storage memory block 85 Cross-point storage memory block 90 Graphic database 101 Layout data is read from the graphic database 90, classified by mask layer, and extraction of included vertices is performed. Step 102: Assign a series of numbers to vertices and edges, Step 103 of storing in a predetermined memory area. Step 103: Sort vertices assigned numbers in the x-axis direction and store the number and rank of each vertex in a predetermined memory area. 104 Coordinates of vertices corresponding to each rank. Assuming a boundary that is a straight line parallel to the y-axis as a value, and selecting one of them in order. Step 105: A step of extracting all the vertices and edges assigned numbers on the boundary and storing them in a predetermined memory area. 106 Sort the stored vertices and edges in the y-axis direction,
Step 107: storing the numbers and ranks of the vertices and edges in a predetermined memory area.
Step 108 of determining whether or not the boundary is prepared at two adjacent positions 108 Performing a logical operation of layout data by comparing and collating vertex and edge number and rank data 109 Process until all boundaries are selected Repeat step 200 Layout data P 1 201 Circumscribing rectangle of layout data P 1 202 Slit 203 Divided side 204 One grid divided by vertex coordinates of layout data 205 Grid with pattern entity 206 Grid without pattern entity

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】 予め作成された図形データとしてデータ
ベース上に格納されているレウアウトデータを読出し
て、マスク工程(以下、マスク層と云う)ごとに分類
し、同一マスク層に属するレウイウトデータに含まれる
全ての頂点を抽出する第1のステップと、 前記第1のステップにおいて抽出された頂点に一連の番
号を振り当て、また2つの頂点の連結により定義される
辺に対しても、前記番号とは別に一連の番号を振り当て
て、所定のメモリに格納する第2のステップと、 前記第1のステップにおいて抽出して番号を振り当てた
頂点をx軸方向にソートし、各頂点の番号(以下、点番
号と云う)と順位とを所定のメモリ領域に格納する第3
のステップと、 前記第3のステップにおいて格納されたそれぞれの順位
に対応する座標値でy軸に平行な直線である境界を想定
し、当該順位の低い方(x座標の小さい方)より順番
に、対応する境界を1つづつ選び出す第4のステップ
と、 前記第4のステップにおいて選択された境界上に存在す
る頂点の点番号及び境界と交わる辺の番号(以下、辺番
号と云う)を全て抽出して、所定のメモリ領域に格納す
る第5のステップと、 前記第5のステップにおいて抽出された頂点及び辺をy
軸方向にソートし、各頂点の点番号または各辺の辺番号
ならびに順位を所定のメモリ領域に格納する第6のステ
ップと、 前記第6のステップの処理終了後に、隣接する2つの境
界でデータを格納したか否かを調べる第7のステップ
と、 前記第6のステップにおいて、隣接する2つの境界でデ
ータを格納している場合に、1つのスリットの両境界で
の頂点及び辺の番号、ならびに順位のデータを比較照合
することによって、レイアウトデータの論理演算を行う
第8のステップと、 前記第8のステップの処理終了後に、前記第4のステッ
プから第8のステップまでの処理について、前記第3の
ステップにおいて想定された全ての境界が選択されたか
否かを調べる第9のステップと、 を有し、前記第7のステップにおいて隣接する2つの境
界でデータを格納していない場合、ならびに第9のステ
ップにおいて全ての境界を選択していない場合に、第4
のステップに戻ることを特徴とするレイアウトデータの
論理演算方式。
1. Readout data stored in a database as pre-created graphic data is read out, classified by mask process (hereinafter referred to as a mask layer), and included in the layout data belonging to the same mask layer. The first step of extracting all vertices, assigning a series of numbers to the vertices extracted in the first step, and also for the side defined by the connection of two vertices, the number is A second step of assigning a series of numbers separately and storing the numbers in a predetermined memory, and the vertices extracted and assigned the numbers in the first step are sorted in the x-axis direction, and the number of each vertex (hereinafter , Point number) and rank are stored in a predetermined memory area.
And a boundary that is a straight line parallel to the y-axis with the coordinate values corresponding to the respective ranks stored in the third step, and the lower rank (smaller x-coordinate) in order. , The fourth step of selecting the corresponding boundaries one by one, and the point numbers of the vertices existing on the boundaries selected in the fourth step and the numbers of the edges intersecting with the boundaries (hereinafter referred to as edge numbers) The fifth step of extracting and storing in a predetermined memory area, the y and the vertices and edges extracted in the fifth step
A sixth step of sorting in the axial direction and storing the point number of each vertex or the side number of each side and the order in a predetermined memory area, and data at two adjacent boundaries after the processing of the sixth step is completed. In the sixth step, and in the sixth step, when the data is stored at two adjacent boundaries, the numbers of vertices and edges at both boundaries of one slit, And the eighth step of performing a logical operation of the layout data by comparing and collating the rank data, and the processing from the fourth step to the eighth step after the processing of the eighth step is completed. And a ninth step of checking whether all the boundaries assumed in the third step have been selected, and in two adjacent boundaries in the seventh step. If no data has been stored, and if all boundaries have not been selected in the ninth step, the fourth
A logical operation method of layout data, which is characterized by returning to the step.
JP4173919A 1992-07-01 1992-07-01 Logical operation system for layout data Withdrawn JPH0620008A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4173919A JPH0620008A (en) 1992-07-01 1992-07-01 Logical operation system for layout data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4173919A JPH0620008A (en) 1992-07-01 1992-07-01 Logical operation system for layout data

Publications (1)

Publication Number Publication Date
JPH0620008A true JPH0620008A (en) 1994-01-28

Family

ID=15969512

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4173919A Withdrawn JPH0620008A (en) 1992-07-01 1992-07-01 Logical operation system for layout data

Country Status (1)

Country Link
JP (1) JPH0620008A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU708109B2 (en) * 1996-08-22 1999-07-29 Babcock-Hitachi Kabushiki Kaisha Combustion burner and combustion apparatus provided with said burner

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU708109B2 (en) * 1996-08-22 1999-07-29 Babcock-Hitachi Kabushiki Kaisha Combustion burner and combustion apparatus provided with said burner

Similar Documents

Publication Publication Date Title
JP6534436B2 (en) Updating pin locations in the graphical user interface of the electronic design automation tool
US5550714A (en) Schematic generator and schematic generating method
RU2430421C2 (en) Applying effects to merged text path
US5515293A (en) Method and apparatus for generating a linked data structure for integrated circuit layout
US5179645A (en) Method of recognizing overlapped graphics in each degree of overlapping thereof
Seiler A hardware assisted design rule check architecture
JPH0620008A (en) Logical operation system for layout data
CN115796111A (en) File processing method suitable for agf, computer equipment and readable storage medium
CN115392185A (en) PAD graph construction method, system, storage medium and electronic equipment
JP3095475B2 (en) Inspection method of mask pattern
CN1722144B (en) System and method for designing and manufacturing LSI and electron beam data generation system
JP2644735B2 (en) Drawing information management method
JP2000222449A (en) Method for graphic processing
JP2898977B2 (en) How to arrange windows
JP2726994B2 (en) Polygon area selection method
JP2590327B2 (en) How to manage drawing information
US10956368B2 (en) Device and method for comparing geometric files
JPH10283390A (en) Data compressing method
US6535222B1 (en) Graphic method
JP3324589B2 (en) Contour line drawing method, drawing system using this method, and recording medium recording the drawing method
JPS62192861A (en) Rectangularly dividing system for polygon
JPH09212672A (en) Graphic data processing method
Protsko et al. Mondrian: system for automatic generation of dataflow diagrams
JPH0696159A (en) Layout graphic processing method
JPH054715B2 (en)

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 19991005