JPH11102380A - Graphic processing method, graphic processor and recording medium - Google Patents

Graphic processing method, graphic processor and recording medium

Info

Publication number
JPH11102380A
JPH11102380A JP9262118A JP26211897A JPH11102380A JP H11102380 A JPH11102380 A JP H11102380A JP 9262118 A JP9262118 A JP 9262118A JP 26211897 A JP26211897 A JP 26211897A JP H11102380 A JPH11102380 A JP H11102380A
Authority
JP
Japan
Prior art keywords
cell
overlap
frame
pattern
ddd
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
JP9262118A
Other languages
Japanese (ja)
Inventor
Manabu Takayama
学 高山
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.)
Fujitsu VLSI Ltd
Fujitsu Ltd
Original Assignee
Fujitsu VLSI Ltd
Fujitsu 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 Fujitsu VLSI Ltd, Fujitsu Ltd filed Critical Fujitsu VLSI Ltd
Priority to JP9262118A priority Critical patent/JPH11102380A/en
Publication of JPH11102380A publication Critical patent/JPH11102380A/en
Withdrawn legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To speed up processing and to reduce the amount of resources by determining cell frames which geometrically overlap with each other and an overlap of a pattern when the pattern is in a specific state according to kinds set for the presence areas of respective cells. SOLUTION: Layout data 11 are inputted and presence areas at the time of expansion by cells are set to generate information on cell frames (S21). The cells included in the layout data 11 are set as cells to be processed in order (S22) and cells in layers below the cells to be processed and the kinds corresponding to the hierarchical structure of the cell frame of the pattern are set (S24). When a different kind is set for cell frames and patterns which geometrically overlap with each other, it is decided that there is the overlap and when it is decided that cell frames or a cell frame and a pattern overlap with each other, cell frames and patterns in lower layers included in the overlapping cell frames are further read in (S25); when it is decided that the patterns overlap with each other (S26), the overlap of the patterns is determined (S27).

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、半導体集積回路装
置のパターンデータにおける階層間の重なりを容易に認
識することができる図形処理方法、図形処理装置、及
び、記録媒体に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a graphic processing method, a graphic processing apparatus, and a recording medium capable of easily recognizing an overlap between layers in pattern data of a semiconductor integrated circuit device.

【0002】近年の半導体集積回路装置(LSI)は高
集積化が進められ、それに伴いLSIの設計データのデ
ータ量も膨大になってきているため、データを記憶する
磁気ディスク装置等の容量が不足するおそれがある。ま
た、LSIのレイアウト検証やEBデータ作成処理に必
要となる図形処理にかかる時間が長くなってきている。
リソース量の増加や処理時間の長期化はコストアップを
招くことから、図形処理に要する時間の短縮とリソース
量の低減が要求されている。
2. Description of the Related Art In recent years, as the degree of integration of semiconductor integrated circuit devices (LSIs) has been increased, the amount of design data for LSIs has become enormous, and the capacity of magnetic disk devices and the like for storing data is insufficient. There is a possibility that. In addition, the time required for graphic processing required for LSI layout verification and EB data creation processing is increasing.
Since an increase in the amount of resources and a prolonged processing time cause an increase in cost, a reduction in the time required for graphic processing and a reduction in the amount of resources are required.

【0003】[0003]

【従来の技術】従来、レイアウト検証やEBデータ作成
処理等に必要となる図形処理は、LSIのレイアウトデ
ータから図形の重なりを調べ、重なり合う図形に対して
図形論理演算を行うことにより、検証や作成処理に必要
となる図形を作成する。そして、作成した図形に基づい
てレイアウト検証やEBデータ作成処理等が行われてい
る。
2. Description of the Related Art Conventionally, graphic processing required for layout verification, EB data creation processing, and the like is performed by examining the overlapping of graphics from layout data of an LSI and performing graphic logic operation on the overlapping graphics to verify and create the graphics. Create figures required for processing. Layout verification, EB data creation processing, and the like are performed based on the created graphics.

【0004】[0004]

【発明が解決しようとする課題】LSIのレイアウトデ
ータは、階層構造にて構成され、設計効率の向上やデー
タ量の削減が図られている。そのようなレイアウトデー
タは実際には重なり合うパターンが異なる階層に存在し
たり同一階層にある他のセルに含まれるため、パターン
の重なりがすぐには判別できない場合がある。
The layout data of the LSI is structured in a hierarchical structure to improve the design efficiency and reduce the amount of data. In such layout data, since the overlapping pattern actually exists in a different layer or is included in another cell in the same layer, the overlapping of the patterns may not be immediately discriminated.

【0005】そこで、レイアウトデータの全てのパター
ンデータを同一階層に展開して図形論理演算を行う方法
がある。しかし、この方法では、複数使用しているセル
をその使用数分だけ設けて展開する事になるためパター
ン数が多くなってデータ量が膨大となり、ディスク装置
等に全てのデータが格納しきれない、所謂リソース量が
不足する。また、データ量が多くなると処理速度の低下
を招き、処理時間が長くなる。
Therefore, there is a method in which all the pattern data of the layout data are developed in the same hierarchy and a graphic logical operation is performed. However, in this method, a plurality of used cells are provided and expanded for the number of uses, so that the number of patterns increases, the data amount becomes enormous, and all data cannot be stored in a disk device or the like. The so-called resource amount is insufficient. In addition, when the data amount increases, the processing speed decreases, and the processing time increases.

【0006】また、セルの中の重なりのあるパターンの
みを上層に持ち上げて(パターンを上層のデータに変更
して)図形論理演算する方法がある。この方法は、重な
りのないパターンにより新たなセルを構成することによ
り、階層構造を維持してデータ量の増大を抑える効果が
ある。しかしながら、この方法では、重なりのあるセル
が多いと、上記の全てのパターンを展開する方法と同様
となるので、やはりリソースの不足と処理速度の低下を
招く。
Further, there is a method of performing a graphic logic operation by lifting only an overlapping pattern in a cell to an upper layer (changing the pattern to upper layer data). This method has an effect of suppressing an increase in the amount of data by maintaining a hierarchical structure by forming a new cell using a pattern having no overlap. However, in this method, if there are many overlapping cells, the method becomes the same as the method of developing all the patterns described above, so that the resources are insufficient and the processing speed is reduced.

【0007】また、重なりのあるセルのパターンのみを
展開してデータ量の増大を抑えようとする方法がある。
しかし、この方法では、重なり合うセルの数が多いと、
上記の全てのパターンを展開する方法と同様となるの
で、やはりリソースの不足と処理速度の低下を招く。
Further, there is a method of expanding only a pattern of overlapping cells to suppress an increase in data amount.
However, with this method, if the number of overlapping cells is large,
Since the method is the same as the method of developing all the patterns described above, the shortage of resources and the reduction of the processing speed are also caused.

【0008】更に、予め処理対象となるセルを調べる前
に、その時々に基準とするセルに含まれ、そのセルより
下の階層のセル(子孫セル)の重なりを除去した新たな
セルを作成しておき、その新たなセルを参照する方法が
ある。この方法では、同じ重なりを何度も調べることは
回避できるので、処理時間の短縮に寄与する。しかし、
予め重なりを除去した新たなセルを作成しなければなら
ないため、処理に長時間を要するという問題がある。
Further, before examining a cell to be processed in advance, a new cell which is included in a reference cell at each time and in which a cell (descendant cell) of a lower hierarchy than the cell is removed is created. In advance, there is a method of referring to the new cell. In this method, it is possible to avoid checking the same overlap many times, which contributes to a reduction in processing time. But,
There is a problem that a long time is required for processing because a new cell from which overlap has been removed must be created in advance.

【0009】本発明は上記問題点を解決するためになさ
れたものであって、その目的は処理の高速化とリソース
量の低減を図ることのできる図形処理方法、図形処理装
置、及び、記録媒体を提供することにある。
SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and has as its object to provide a graphic processing method, a graphic processing apparatus, and a recording medium capable of achieving high-speed processing and reducing the amount of resources. Is to provide.

【0010】[0010]

【課題を解決するための手段】上記目的を達成するた
め、請求項1に記載の発明は、セル及びパターンが階層
構造に構成されたレイアウトデータに対して、パターン
の幾何学的な重なりを検出する図形処理方法であって、
前記レイアウトデータを入力し、各セル毎に展開した時
の存在領域を設定し、各存在領域の領域枠,パターンの
枠よりなるセル枠の情報を作成し、前記レイアウトデー
タに含まれるセルを順次処理対象セルに設定し、前記処
理対象セル以下の階層のセル,パターンのセル枠に対し
て階層構造に応じた種類を設定し、前記幾何学的に重な
りがあるセル枠,パターンに対して、異なる種類が設定
されている場合には重なり有りと判定し、セル枠同士又
はセル枠とパターンに重なり有りと判定した場合には重
なりがあるセル枠に含まれる下層のセル枠,パターンを
更に読み込み、パターン同士に重なりがあると判定した
場合には該パターンの重なりを確定するようにした。
In order to achieve the above object, the invention according to claim 1 detects a geometrical overlap of a pattern in layout data in which cells and patterns are arranged in a hierarchical structure. A graphics processing method,
The layout data is input, the existence area when expanded for each cell is set, the information of the cell frame including the area frame of each existence area and the frame of the pattern is created, and the cells included in the layout data are sequentially determined. A cell is set as a processing target cell, and a type according to a hierarchical structure is set for a cell frame of a hierarchy below the processing target cell and a cell frame of a pattern. If different types are set, it is determined that there is overlap, and if it is determined that there is overlap between cell frames or between cell frames and patterns, the lower layer cell frames and patterns included in the overlapped cell frames are further read. When it is determined that there is an overlap between the patterns, the overlap of the patterns is determined.

【0011】請求項2に記載の発明は、セル及びパター
ンが階層構造に構成されたレイアウトデータに対して、
パターンの幾何学的な重なりを検出する図形処理方法で
あって、前記レイアウトデータを入力し、各セル毎に展
開した時の存在領域を作成し、作成した各存在領域の領
域枠,パターンの枠よりなるセル枠の情報を階層構造に
てファイルに格納するステップと、前記レイアウトデー
タに含まれるセルを順次処理対象セルに設定するステッ
プと、前記処理対象セル以下の階層のセル,パターンの
セル枠に対して階層構造に応じた種類を設定するステッ
プと、前記処理対象セル、又は重なり有りと判定したセ
ル枠に含まれるセル枠,パターンを読み込むステップ
と、前記新たに読み込んだセル枠のうち、種類が異なる
セル枠同士、又はセル枠とパターンに重なりがあるか判
定するステップと、前記新たに読み込んだセル枠に重な
りがない場合に、前記読み込んだパターンのうち、種類
の異なるパターンに重なりがあるか判定するステップ
と、前記重なり有りと判定されたパターンの重なりを確
定し、幾何学的に重なるパターンの重なり情報を含むテ
ーブルを作成するステップを備えた。
According to a second aspect of the present invention, for layout data in which cells and patterns are arranged in a hierarchical structure,
A graphic processing method for detecting a geometrical overlap of a pattern, comprising inputting the layout data, creating an existence area when expanded for each cell, and creating an area frame of each created existence area and a pattern frame. Storing cell frame information in a file in a hierarchical structure, sequentially setting cells included in the layout data as cells to be processed, and cell frames of cells and patterns below the cell to be processed. Setting a type according to a hierarchical structure with respect to, a step of reading the cell to be processed, or a cell frame and a pattern included in the cell frame determined to have an overlap, and Determining whether there is an overlap between the cell frames of different types or between the cell frames and the pattern; and, if there is no overlap between the newly read cell frames, A step of determining whether there is an overlap between different types of patterns among the read patterns, and a step of determining the overlap of the patterns determined to have the overlap and creating a table including overlap information of the geometrically overlapping patterns. With.

【0012】請求項3に記載の発明は、請求項1又は2
に記載の図形処理方法において、前記セル枠,パターン
に対して種類を設定する場合に、セル枠に対しては、該
セル枠又は該セル枠の所属セルが処理対象セルの場合に
は該セル枠に対して独自の種類を設定し、該セル枠又は
該セル枠の所属セルが処理対象セルではない場合には所
属セルと同じ種類を設定し、パターンに対しては、所属
セルと同じ種類を設定するようにした。
[0012] The invention according to claim 3 is the invention according to claim 1 or 2.
In the graphic processing method described in 1 above, when a type is set for the cell frame and pattern, the cell frame or the cell if the cell belonging to the cell frame is a processing target cell is set for the cell frame. A unique type is set for the frame, and if the cell frame or the cell belonging to the cell frame is not the processing target cell, the same type as the belonging cell is set. For the pattern, the same type as the belonging cell is set. Was set.

【0013】請求項4に記載の発明は、請求項1乃至3
のうちの何れか1項に記載の図形処理方法において、前
記処理対象セルに対して、該スイープ法を用いて幾何学
的に重なるセル又はパターンを検出し、検出したセル
枠,パターンにおいて重なりを判定するようにした。
The invention described in claim 4 is the first to third aspects of the present invention.
In the graphic processing method according to any one of the above, a geometrically overlapping cell or pattern is detected with respect to the processing target cell by using the sweep method, and the overlapping is detected in the detected cell frame or pattern. Judgment was made.

【0014】請求項5に記載の発明は、セル及びパター
ンが階層構造に構成されたレイアウトデータに対して、
パターンの幾何学的な重なりを検出する図形処理装置で
あって、前記レイアウトデータを入力し、各セル毎に展
開した時の存在領域を設定し、各存在領域の領域枠,パ
ターンの枠よりなるセル枠の情報を作成する領域枠作成
手段と、前記レイアウトデータに含まれるセルを順次処
理対象セルに設定する処理対象セル設定手段と、前記処
理対象セル以下の階層のセル,パターンのセル枠に対し
て階層構造に応じた種類を設定する種類設定手段とを備
え、前記幾何学的に重なりがあるセル枠,パターンに対
して、異なる種類が設定されている場合には重なり有り
と判定し、セル枠同士又はセル枠とパターンに重なり有
りと判定した場合には重なりがあるセル枠に含まれる下
層のセル枠,パターンを更に読み込み、パターン同士に
重なりがあると判定した場合には該パターンの重なりを
確定するようにした。
According to a fifth aspect of the present invention, the layout data in which cells and patterns are arranged in a hierarchical structure is
A graphic processing apparatus for detecting a geometrical overlap of a pattern, comprising inputting the layout data, setting an existing area when developed for each cell, and comprising an area frame of each existing area and a pattern frame. Area frame creating means for creating cell frame information; processing target cell setting means for sequentially setting cells included in the layout data as processing target cells; Type setting means for setting a type according to a hierarchical structure, and when a different type is set for the geometrically overlapping cell frame or pattern, it is determined that there is an overlapping, If it is determined that there is an overlap between the cell frames or between the cell frame and the pattern, the lower layer cell frames and patterns included in the overlapping cell frame are further read, and it is determined that the patterns overlap. If you were to determine the overlapping of the patterns.

【0015】請求項6に記載の発明は、セル及びパター
ンが階層構造に構成されたレイアウトデータに対して、
パターンの幾何学的な重なりを検出する図形処理装置で
あって、前記レイアウトデータを入力し、各セル毎に展
開した時の存在領域を作成し、作成した各存在領域の領
域枠,パターンの枠よりなるセル枠の情報を階層構造に
てファイルに格納する領域枠作成手段と、前記レイアウ
トデータに含まれるセルを順次処理対象セルに設定する
処理対象セル設定手段と、前記処理対象セル以下の階層
のセル,パターンのセル枠に対して階層構造に応じた種
類を設定する種類設定手段と、前記処理対象セル、又は
重なり有りと判定したセル枠に含まれるセル枠,パター
ンを読み込むデータ読み込み手段と、前記新たに読み込
んだセル枠のうち、種類が異なるセル枠同士、又はセル
枠とパターンに重なりがあるか判定する第1重なり判定
手段と、前記新たに読み込んだセル枠に重なりがない場
合に、前記読み込んだパターンのうち、種類の異なるパ
ターンに重なりがあるか判定する第2重なり判定手段
と、前記重なり有りと判定されたパターンの重なりを確
定し、幾何学的に重なるパターンの重なり情報を含むテ
ーブルを作成する重なり確定手段とを備えた。
According to a sixth aspect of the present invention, the layout data in which cells and patterns have a hierarchical structure are
A graphic processing device for detecting a geometrical overlap of a pattern, comprising inputting the layout data, creating an existence area when expanded for each cell, and creating an area frame of each created existence area and a pattern frame. Area frame creation means for storing cell frame information in a file in a hierarchical structure, processing cell setting means for sequentially setting cells included in the layout data as processing target cells, and a hierarchy below the processing target cells Type setting means for setting the type of the cell frame of the cell or pattern according to the hierarchical structure, and data reading means for reading the cell frame or pattern included in the processing target cell or the cell frame determined to have an overlap. A first overlap determination means for determining whether or not a cell frame of a different type among the newly read cell frames or a cell frame overlaps a pattern; When there is no overlap in the read cell frame, among the read patterns, a second overlap determination unit that determines whether a pattern of a different type has an overlap, and determines the overlap of the pattern determined to have the overlap, An overlap determination unit for creating a table including overlap information of geometrically overlapping patterns.

【0016】請求項7に記載の発明は、請求項5又は6
に記載の図形処理装置において、前記種類設定手段にお
いて、セル枠に対しては、該セル枠又は該セル枠の所属
セルが処理対象セルの場合には該セル枠に対して独自の
種類を設定し、該セル枠又は該セル枠の所属セルが処理
対象セルではない場合には所属セルと同じ種類を設定
し、パターンに対しては、所属セルと同じ種類を設定す
るようにした。
The invention according to claim 7 is the invention according to claim 5 or 6.
Wherein the type setting means sets a unique type for the cell frame if the cell frame or a cell belonging to the cell frame is a cell to be processed. When the cell frame or the cell belonging to the cell frame is not the processing target cell, the same type as the belonging cell is set, and the pattern is set to the same type as the belonging cell.

【0017】請求項8に記載の発明は、請求項5乃至7
のうちの何れか1項に記載の図形処理装置において、前
記処理対象セルに対して、該スイープ法を用いて幾何学
的に重なるセル又はパターンを検出し、検出したセル
枠,パターンにおいて重なりを判定するようにした。
The invention described in claim 8 is the invention according to claims 5 to 7
In the graphic processing device according to any one of the above, a geometrically overlapping cell or pattern is detected with respect to the processing target cell using the sweep method, and the overlapping is detected in the detected cell frame or pattern. Judgment was made.

【0018】請求項9に記載の発明は、請求項1乃至4
のうちの何れか1項に記載の図形処理方法にて重なりを
検出する図形処理プログラムを記録した記録媒体であ
る。 (作用)従って、請求項1又は2に記載の発明によれ
ば、各セルの存在領域に対して設定された種類に基づい
て、幾何学的に重なりがあるセル枠,パターンに対し
て、異なる種類が設定されている場合には重なり有りと
判定され、セル枠同士又はセル枠とパターンに重なり有
りと判定した場合には重なりがあるセル枠に含まれる下
層のセル枠,パターンが更に読み込まれ、パターン同士
に重なりがあると判定した場合にはそのパターンの重な
りが確定される。そのため、同じ種類のセル枠が展開さ
れないため、必要とするリソース量が少なくなる。ま
た、設定した種類によって余分な重なりを検出しないの
で、処理時間が短い。
The invention according to claim 9 is the invention according to claims 1 to 4
A recording medium storing a graphic processing program for detecting an overlap by the graphic processing method according to any one of the above. (Operation) Therefore, according to the first or second aspect of the present invention, different cell frames and patterns having geometrical overlap are different based on the type set for the existing area of each cell. If the type is set, it is determined that there is overlap, and if it is determined that there is overlap between the cell frames or between the cell frame and the pattern, the lower layer cell frame and pattern included in the overlapped cell frame are further read. When it is determined that there is an overlap between the patterns, the overlap of the patterns is determined. Therefore, the same type of cell frame is not expanded, and the required resource amount is reduced. In addition, since no extra overlap is detected depending on the set type, the processing time is short.

【0019】請求項3に記載の発明によれば、セル枠に
対しては、そのセル枠又はそのセル枠の所属セルが処理
対象セルの場合にはそのセル枠に対して独自の種類が設
定され、そのセル枠又はそのセル枠の所属セルが処理対
象セルではない場合には所属セルと同じ種類が設定され
る。また、パターンに対しては、所属セルと同じ種類が
設定される。そのため、レイアウトデータの階層構造に
応じた種類が容易に設定される。
According to the third aspect of the present invention, when a cell frame or a cell belonging to the cell frame is a processing target cell, a unique type is set for the cell frame. If the cell frame or the cell to which the cell frame belongs is not the processing target cell, the same type as the belonging cell is set. The same type as the belonging cell is set for the pattern. Therefore, the type according to the hierarchical structure of the layout data is easily set.

【0020】請求項4に記載の発明によれば、処理対象
セルに対して、そのスイープ法が用いられ、幾何学的に
重なるセル又はパターンが容易に検出される。そのた
め、重なりあうパターンが容易に検出され、処理時間が
短い。
According to the fourth aspect of the present invention, the sweep method is used for the cell to be processed, and a geometrically overlapping cell or pattern is easily detected. Therefore, overlapping patterns are easily detected, and the processing time is short.

【0021】請求項5又は6に記載の発明によれば、領
域枠作成手段は、入力されたレイアウトデータに対し
て、各セル毎に展開した時の存在領域を設定し、各存在
領域の領域枠,パターンの枠よりなるセル枠の情報を作
成する。処理対象セル設定手段は、レイアウトデータに
含まれるセルを順次処理対象セルに設定する。種類設定
手段は、処理対象セル以下の階層のセル,パターンのセ
ル枠に対して階層構造に応じた種類を設定する。そし
て、幾何学的に重なりがあるセル枠,パターンに対し
て、異なる種類が設定されている場合には重なり有りと
判定し、セル枠同士又はセル枠とパターンに重なり有り
と判定した場合には重なりがあるセル枠に含まれる下層
のセル枠,パターンを更に読み込み、パターン同士に重
なりがあると判定した場合にはそのパターンの重なりを
確定するようにした。そのため、同じ種類のセル枠が展
開されないため、必要とするリソース量が少なくなる。
また、設定した種類によって余分な重なりを検出しない
ので、処理時間が短い。
According to the fifth or sixth aspect of the present invention, the area frame creating means sets an existing area when the input layout data is expanded for each cell, and sets an area of each existing area. Create cell frame information consisting of a frame and a pattern frame. The processing target cell setting means sequentially sets cells included in the layout data as processing target cells. The type setting means sets the type according to the hierarchical structure for the cells of the hierarchy below the processing target cell and the cell frame of the pattern. If different types are set for cell frames and patterns that have geometrical overlap, it is determined that there is overlap, and if it is determined that there is overlap between cell frames or between cell frames and patterns, The lower cell frame and the pattern included in the cell frame having the overlap are further read, and when it is determined that the patterns overlap each other, the overlap of the pattern is determined. Therefore, the same type of cell frame is not expanded, and the required resource amount is reduced.
In addition, since no extra overlap is detected depending on the set type, the processing time is short.

【0022】請求項7に記載の発明によれば、種類設定
手段は、セル枠に対しては、そのセル枠又はそのセル枠
の所属セルが処理対象セルの場合にはそのセル枠に対し
て独自の種類を設定し、そのセル枠又はそのセル枠の所
属セルが処理対象セルではない場合には所属セルと同じ
種類を設定する。また、パターンに対しては、所属セル
と同じ種類を設定するようにした。そのため、そのた
め、レイアウトデータの階層構造に応じた種類が容易に
設定される。
According to the seventh aspect of the present invention, when the cell frame or a cell belonging to the cell frame is a processing target cell, the type setting means sets the cell frame to the cell frame. A unique type is set, and if the cell frame or the cell to which the cell frame belongs is not the processing target cell, the same type as the belonging cell is set. Also, the same type as the belonging cell is set for the pattern. Therefore, a type according to the hierarchical structure of the layout data is easily set.

【0023】請求項8に記載の発明によれば、処理対象
セルに対して、そのスイープ法を用いて幾何学的に重な
るセル又はパターンを検出し、検出したセル枠,パター
ンにおいて重なりを判定するようにした。そのため、重
なり合うパターンを容易に検出することができ、処理時
間が短い。
According to the eighth aspect of the present invention, a cell or pattern that geometrically overlaps with the processing target cell is detected using the sweep method, and the overlap is determined in the detected cell frame or pattern. I did it. Therefore, the overlapping patterns can be easily detected, and the processing time is short.

【0024】請求項9に記載の発明によれば、記録媒体
には、請求項1乃至4のうちの何れか1項に記載の図形
処理方法にて重なりを検出する図形処理プログラムが記
録され、容易に提供される。
According to the ninth aspect of the present invention, a graphic processing program for detecting an overlap by the graphic processing method according to any one of the first to fourth aspects is recorded on a recording medium, Provided easily.

【0025】[0025]

【発明の実施の形態】以下、本発明を具体化した一実施
の形態を図1〜図19に従って説明する。図3は、本実
施形態の図形処理装置のシステム構成を示す。図形処理
装置1は、中央処理装置(以下、CPUという)2、メ
モリ3、磁気ディスク装置4、表示器5、キーボード6
及び磁気テープ装置7を備え、それらはバス8により相
互に接続されている。
DESCRIPTION OF THE PREFERRED EMBODIMENTS One embodiment of the present invention will be described below with reference to FIGS. FIG. 3 shows a system configuration of the graphic processing apparatus of the present embodiment. The graphic processing device 1 includes a central processing unit (hereinafter, referred to as a CPU) 2, a memory 3, a magnetic disk device 4, a display device 5, and a keyboard 6.
And a magnetic tape device 7, which are interconnected by a bus 8.

【0026】磁気ディスク装置4には、図1,図2に示
す図形処理のプログラムデータ(以下、単にプログラム
という)が記憶されている。このプログラムは、階層構
造のレイアウトデータの中から、重なりのあるパターン
データを検出する重なり検出処理を実行するためのもの
である。プログラムデータは記録媒体としての磁気テー
プ9に記録され供給される。CPU2は、磁気テープ装
置7を制御して磁気テープ9からプログラムデータを読
み出し、磁気ディスク装置4に記憶させる。
The magnetic disk device 4 stores program data (hereinafter, simply referred to as a program) for graphic processing shown in FIGS. This program is for executing overlap detection processing for detecting overlapping pattern data from layout data having a hierarchical structure. The program data is recorded and supplied to a magnetic tape 9 as a recording medium. The CPU 2 controls the magnetic tape device 7 to read program data from the magnetic tape 9 and store the program data in the magnetic disk device 4.

【0027】磁気ディスク装置4には、図1に示す第
1,第2データファイル11,12が記憶されている。
第1データファイル11には、予めCAD装置(図示
略)により回路設計及びレイアウト設計により作成され
た半導体装置のレイアウトデータが格納されている。第
2データファイル12は作業ファイルであり、CPU2
は、重なり検出処理中に作成する一時的なデータを第2
データファイル12に格納する。尚、第2データファイ
ル12は、図3のメモリ3に作成されても良い。
The magnetic disk device 4 stores the first and second data files 11 and 12 shown in FIG.
The first data file 11 stores layout data of a semiconductor device created in advance by circuit design and layout design by a CAD device (not shown). The second data file 12 is a work file,
Is the temporary data created during the overlap detection process.
It is stored in the data file 12. Note that the second data file 12 may be created in the memory 3 of FIG.

【0028】図3中のメモリ3には、図1に示される第
3データファイル13が格納される。第3データファイ
ル13は、重なり検出処理の処理結果を格納するための
ファイルである。CPU2は、重なり検出処理を実行し
て検出した重なりのあるパターンデータ及びそのパター
ンデータを含むセルのセル名を重なり情報として第3デ
ータファイル13に格納する。尚、第3データファイル
13は、図3の磁気ディスク装置4に作成されても良
い。
The third data file 13 shown in FIG. 1 is stored in the memory 3 in FIG. The third data file 13 is a file for storing processing results of the overlap detection processing. The CPU 2 stores the overlapped pattern data detected by executing the overlap detection processing and the cell name of the cell including the pattern data in the third data file 13 as overlap information. Note that the third data file 13 may be created in the magnetic disk device 4 of FIG.

【0029】次に、図形処理(重なり検出処理)を図
1,図2のフローチャートに従って説明する。CPU2
は、キーボード6の操作に基づき、図1のフローチャー
トに示すステップ21〜28に従って図形処理(重なり
検出処理)を実行する。
Next, the graphic processing (overlap detection processing) will be described with reference to the flowcharts of FIGS. CPU2
Performs graphic processing (overlap detection processing) in accordance with steps 21 to 28 shown in the flowchart of FIG.

【0030】先ず、ステップ21は領域枠作成処理(領
域枠作成手段)であり、図3のCPU2は、第1データ
ファイル11に格納されたレイアウトデータを入力す
る。そのレイアウトデータに対して、CPU2は、各階
層において各セル毎に展開した場合の全てのパターンを
含む存在領域をボトムアップ(最下層から上層に向かっ
て順番に)で設定する。そして、CPU2は、設定した
各階層の存在領域の境界線(存在領域を囲む線)をセル
枠とする。各セルはそれぞれセル枠を有する。CPU2
は、設定したセル枠のデータと、パターンのデータを第
2データファイル12に格納する。
First, step 21 is an area frame creation process (area frame creation means). The CPU 2 of FIG. 3 inputs the layout data stored in the first data file 11. With respect to the layout data, the CPU 2 sets the existence area including all the patterns when each cell is developed in each layer in each hierarchy from the bottom up (in order from the bottom layer to the top layer). Then, the CPU 2 sets a boundary line (a line surrounding the existence region) of the existence region of each set hierarchy as a cell frame. Each cell has a cell frame. CPU2
Stores the data of the set cell frame and the data of the pattern in the second data file 12.

【0031】例えば、図4に示すように、階層構造に構
成されたレイアウトデータ40がある。このレイアウト
データ40は、最上層にセルAAAを備える。セルAA
Aは、下層に設けられたセルBBBとセルCCCを含
む。セルBBBとセルCCCは、同一階層に設けられ、
レイアウトデータが異なるセルである。更に、セルBB
Bは、下層に設けられたセルDDDを備え、そのセルD
DDは下層に設けられたパターンPD1を含む。セルC
CCは、下層に設けられたパターンPC1,PC2を含
む。パターンPD1,PD2は形状が異なるパターンで
あり、セルDDDと同一階層に設けられている。
For example, as shown in FIG. 4, there is layout data 40 arranged in a hierarchical structure. The layout data 40 includes a cell AAA in the uppermost layer. Cell AA
A includes a cell BBB and a cell CCC provided in a lower layer. Cell BBB and cell CCC are provided in the same hierarchy,
The cells have different layout data. Further, cell BB
B includes a cell DDD provided in a lower layer, and the cell DDD
DD includes the pattern PD1 provided in the lower layer. Cell C
CC includes patterns PC1 and PC2 provided in the lower layer. The patterns PD1 and PD2 have different shapes, and are provided on the same level as the cell DDD.

【0032】図5は、領域枠作成処理により作成される
各層のセル枠を示す説明図である。尚、セルと作成され
たセル枠との関係を分かり易くするため、セル枠に対し
てセルと同じ符号を付してある。また、各階層におい
て、セルに含まれる1階層下のセル,パターンを破線に
て示してある。
FIG. 5 is an explanatory diagram showing the cell frames of each layer created by the area frame creating process. In order to make the relationship between the cells and the created cell frames easy to understand, the same reference numerals as those of the cells are given to the cell frames. In each layer, the cells and patterns one layer below the cell included in the cell are indicated by broken lines.

【0033】図3のCPU2は、レイアウトデータ40
に対して、各階層におけるセル枠の作成をボトムアップ
にて作成する。即ち、CPU2は、先ず、最下層に存在
するパターンPD1に対して、そのパターンPD1を含
み、上層のセルDDDが存在する領域を設定する。そし
て、CPU2は、設定した存在領域の枠であるセル枠D
DDを作成する。従って、セルDDDはセル枠DDDを
有し、パターンPD1を含む。
The CPU 2 shown in FIG.
In response to this, cell frames in each layer are created from the bottom up. That is, the CPU 2 first sets, for the pattern PD1 existing in the lowermost layer, an area including the pattern PD1 and in which the upper-layer cell DDD exists. Then, the CPU 2 sets the cell frame D, which is the frame of the set existence area.
Create a DD. Therefore, the cell DDD has the cell frame DDD and includes the pattern PD1.

【0034】同様に、CPU2は、セルDDDに対し
て、そのセルDDDを含み、上層のセルBBBが存在す
る領域を設定し、設定した存在領域の枠であるセル枠B
BBを作成する。従って、セルBBBはセル枠BBBを
有し、セルDDDを含む。
Similarly, the CPU 2 sets, for the cell DDD, an area including the cell DDD and in which the cell BBB in the upper layer exists, and sets the cell frame B as the frame of the set existing area.
Create BB. Therefore, the cell BBB has the cell frame BBB and includes the cell DDD.

【0035】また、CPU2は、セルDDDと同じ階層
のパターンPC1,PC2に対して、そのパターンPC
1,PC2を含み、上層のセルCCCが存在する領域を
設定し、設定した存在領域の枠であるセル枠CCCを作
成する。従って、セルCCCはセル枠CCCを有し、パ
ターンPC1,PC2を含む。
The CPU 2 applies the pattern PC1 to the patterns PC1 and PC2 of the same hierarchy as the cell DDD.
An area including the PCC1 and the cell CCC in the upper layer is set, and a cell frame CCC which is a frame of the set existing area is created. Therefore, the cell CCC has the cell frame CCC and includes the patterns PC1 and PC2.

【0036】更に、CPU2は、セルBBB,CCCに
対して、そのセルBBB,CCCを含み、上層のセルA
AAが存在する領域を設定し、設定した存在領域の枠で
あるセル枠AAAを作成する。従って、セルAAAはセ
ル枠AAAを有し、セルBBB,CCCを含む。
Further, the CPU 2 includes the cells BBB and CCC for the cells BBB and CCC, and
An area where the AA exists is set, and a cell frame AAA which is a frame of the set existing area is created. Therefore, the cell AAA has a cell frame AAA and includes cells BBB and CCC.

【0037】そして、CPU2は、作成したセル枠AA
A,BBB,CCC,DDDの情報を図1の第2データ
ファイル12に格納する。また、CPU2は、レイアウ
トデータ40に含まれるパターンPC1,PC2,PD
1の情報を第2データファイル12に格納する。
Then, the CPU 2 creates the cell frame AA
The information of A, BBB, CCC, and DDD is stored in the second data file 12 of FIG. Further, the CPU 2 executes the patterns PC1, PC2, PD included in the layout data 40.
1 is stored in the second data file 12.

【0038】各セル枠AAA〜DDDに対して格納する
情報は、各セル枠AAA〜DDDの座標値、存在する階
層の値、等を含む。各パターンPC1〜PD1に対して
格納する情報は、各パターンの座標値、存在する階層の
値、等を含む。
The information stored for each of the cell frames AAA to DDD includes the coordinate values of each of the cell frames AAA to DDD, values of existing layers, and the like. The information stored for each of the patterns PC1 to PD1 includes the coordinate value of each pattern, the value of the existing hierarchy, and the like.

【0039】レイアウトデータに対して作成したセル
枠、パターンの情報を格納すると、CPU2は、図1の
ステップ21からステップ22に移る。ステップ22は
処理対象セル設定処理(処理対象セル設定手段)であ
り、図3のCPU2は、レイアウトデータを構成する全
セルのなかから、その時々において重なり検出処理の対
象とするセル(セル枠)を選択する。CPU2は、選択
したセルを処理対象セルとして扱う。CPU2は、処理
対処セルを最上階層として階層構造を構成するセル及び
パターンに対して、ステップ23〜25の処理を繰り返
し実行(ステップ23〜25のループを実行)し、トッ
プダウン(最上階層の処理対象セルから下層に向かって
順番)に重なりがあるか否かを判断するようにプログラ
ムが構成されている。CPU2は、その時の処理対象セ
ルを設定すると、ステップ22からステップ23に移
る。
After storing the information on the cell frame and pattern created for the layout data, the CPU 2 proceeds from step 21 to step 22 in FIG. Step 22 is processing target cell setting processing (processing target cell setting means), and the CPU 2 in FIG. 3 selects a cell (cell frame) to be subjected to the overlap detection processing from time to time among all the cells constituting the layout data. Select The CPU 2 treats the selected cell as a processing target cell. The CPU 2 repeatedly executes the processing of steps 23 to 25 (executes the loop of steps 23 to 25) on the cells and patterns constituting the hierarchical structure with the processing target cell as the top layer, and performs the top down (processing of the top layer). The program is configured to determine whether there is an overlap (in order from the target cell toward the lower layer). After setting the processing target cell at that time, the CPU 2 proceeds to step 23 from step 22.

【0040】ステップ23はデータ読み込み処理(デー
タ読み込み手段)であり、CPU2は、着目したセルに
含まれるレイアウトレイアウトデータの情報を第2デー
タファイル12から読み込む。その情報は、着目したセ
ルの1階層下のセル(以下、子セルという)とパターン
の枠データを含む。その枠データは、セル枠の座標値、
パターンの外形の座標値を含む。CPU2は、必要な枠
データの読み込みを終了すると、ステップ23からステ
ップ24に移る。
Step 23 is a data reading process (data reading means). The CPU 2 reads from the second data file 12 information on layout layout data included in the focused cell. The information includes a cell one level below the cell of interest (hereinafter referred to as a child cell) and pattern frame data. The frame data is the coordinates of the cell frame,
Contains the coordinate values of the outer shape of the pattern. When the reading of the necessary frame data is completed, the CPU 2 proceeds from step 23 to step 24.

【0041】その時々に着目するセルは、ステップ22
において設定された処理対象セルを最上階層とする階層
構造を構成するセルのうちの1つである。CPU2は、
また、階層構造を構成するセルのうち、最上階層のセル
から順番にその時々に着目するセルに設定する。例え
ば、図4においてCPU2は、セルAAAを処理対象セ
ルとした場合に、セルAAA→セルBBB→セルDDD
→セルCCCの順番に着目セルとする。また、CPU2
は、セルBBBを処理対象セルとした場合、そのセルB
BB→セルCCCの順番に着目セルとし、セルAAA及
びセルCCCに着目しない。
The cell of interest at that time is stored in step 22
Is one of the cells constituting the hierarchical structure with the processing target cell set at the uppermost layer. CPU2
In addition, among the cells constituting the hierarchical structure, the cells of interest are set in order from the cell of the highest hierarchical level. For example, in FIG. 4, when the cell AAA is set as a processing target cell, the CPU 2 selects the cell AAA → the cell BBB → the cell DDD.
→ Set the cell of interest in the order of the cells CCC. Also, CPU2
Is a cell BBB when the cell BBB is a processing target cell.
The target cell is set in the order of BB → cell CCC, and the cells AAA and CCC are not focused on.

【0042】従って、ステップ23〜25のループを実
行する上で、先ず最初のループにおいてCPU2は最上
階層の処理対象セルに含まれるセル枠,パターンの枠デ
ータを読み込む。2回目以降のループにおいて、CPU
2は、処理対象セルから下の階層に含まれるセル枠,パ
ターンの枠データを順次読み込む。
Accordingly, in executing the loop of steps 23 to 25, first, in the first loop, the CPU 2 reads the frame data of the cell frame and pattern included in the cell to be processed in the uppermost hierarchy. In the second and subsequent loops, the CPU
Reference numeral 2 sequentially reads cell data and pattern data included in the lower hierarchy from the processing target cell.

【0043】尚、子セルは、処理対象セルの1階層下の
セルだけでなく、その時々に着目したセルの1階層下の
セルの事をいう。逆に、その時々に着目したセルが含ま
れるセルを親セルという。例えば、図4のレイアウトデ
ータ40において、その時にセルBBBに着目したした
場合、そのセルBBBはセルAAAの子セルであり、セ
ルBBBの親セルはセルAAAである。また、その時に
セルDDDに着目した場合、そのセルDDDはセルBB
Bの子セルであり、セルDDDの親セルはセルBBBで
ある。
The child cell means not only a cell one layer below the cell to be processed, but also a cell one layer below the cell of interest at each time. Conversely, a cell including a cell of interest at each time is referred to as a parent cell. For example, in the layout data 40 of FIG. 4, when attention is paid to the cell BBB at that time, the cell BBB is a child cell of the cell AAA, and the parent cell of the cell BBB is the cell AAA. If attention is paid to the cell DDD at that time, the cell DDD is
It is a child cell of B and the parent cell of cell DDD is cell BBB.

【0044】ステップ24は種類設定処理(種類設定手
段)であり、図3のCPU2は、ステップ22において
設定した処理対象セルを最上階層とする階層構造のデー
タを構成する構造体(セル,パターンを含み、以下スト
ラクチャという)に対して、図2のフローチャートに示
すステップ31〜37に従って種類を設定する。
Step 24 is a type setting process (type setting means). The CPU 2 shown in FIG. 3 executes the structure (cell, pattern, etc.) that constitutes the data of the hierarchical structure with the processing target cell set in step 22 as the top layer. (Hereinafter, referred to as a structure), the type is set according to steps 31 to 37 shown in the flowchart of FIG.

【0045】先ず、ステップ31において、CPU2
は、ストラクチャがセルかパターンかを判断する。CP
U2は、ストラクチャがパターンの場合、ステップ32
に移る。そのステップ32において、CPU2は、パタ
ーンに対して、そのパターンの所属セルと同じ種類を設
定する。パターンの所属セルは、そのパターンを有する
上層のセルのことをいう。
First, in step 31, the CPU 2
Determines whether the structure is a cell or a pattern. CP
U2 is a step 32 if the structure is a pattern
Move on to In step 32, the CPU 2 sets, for the pattern, the same type as the cell to which the pattern belongs. A cell belonging to a pattern refers to an upper cell having the pattern.

【0046】ステップ31においてストラクチャがパタ
ーンではない、即ちストラクチャがセルの場合、CPU
2は、ステップ31からステップ33に移る。ステップ
33において、CPU2は、そのセルが処理対象セルか
否かを判断する。CPU2は、セルが処理対象セルの場
合、ステップ33からステップ34に移る。ステップ3
4において、CPU2は、セルに対して独自の種類を設
定する。
If the structure is not a pattern in step 31, that is, if the structure is a cell, the CPU
2 moves from step 31 to step 33. In step 33, the CPU 2 determines whether or not the cell is a processing target cell. When the cell is the processing target cell, the CPU 2 proceeds from step 33 to step 34. Step 3
In 4, the CPU 2 sets a unique type for the cell.

【0047】ステップ33においてストラクチャである
セルが処理対象セルではない場合、CPU2はステップ
33からステップ35に移る。ステップ35において、
CPU2は、ストラクチャの所属セルが処理対象セルか
否かを判断する。ストラクチャの所属セルは、そのスト
ラクチャを含むセル、即ちストラクチャの1階層上のセ
ルであってストラクチャの親セルである。CPU2は、
所属セルが処理対象セルの場合、ステップ35からステ
ップ36に移る。ステップ36において、CPU2は、
ストラクチャに対して独自の種類を設定する。
If it is determined in step 33 that the cell that is the structure is not the processing target cell, the CPU 2 proceeds from step 33 to step 35. In step 35,
The CPU 2 determines whether or not the cell to which the structure belongs is a processing target cell. The cell to which a structure belongs is a cell containing the structure, that is, a cell one level above the structure and a parent cell of the structure. CPU2
When the belonging cell is the processing target cell, the process proceeds from step 35 to step 36. In step 36, the CPU 2
Set your own type for the structure.

【0048】ステップ35において所属セルが処理対象
セルではない場合、CPU2はステップ35からステッ
プ37に移る。ステップ37において、CPU2は、ス
トラクチャに対して所属セルと同じ種類を設定する。
If the belonging cell is not the cell to be processed in step 35, the CPU 2 proceeds from step 35 to step 37. In step 37, the CPU 2 sets the same type as that of the belonging cell for the structure.

【0049】上記の種類設定処理を図5を用いて説明す
る。尚、ここでは、セルAAAを処理対象セルに設定し
た場合について説明する。ストラクチャがパターンPD
1の場合、CPU2は、図2のステップ32においてパ
ターンPD1の所属セルと同じ種類をパターンPD1に
対して設定する。パターンPD1の所属セルはセルDD
Dである。従って、CPU2は、パターンPD1に対し
て所属セルであるセルDDDと同じ種類を設定する。
The above type setting processing will be described with reference to FIG. Here, the case where the cell AAA is set as the processing target cell will be described. Structure is pattern PD
In the case of 1, the CPU 2 sets the same type as the cell to which the pattern PD1 belongs to the pattern PD1 in step 32 of FIG. The cell belonging to pattern PD1 is cell DD.
D. Therefore, the CPU 2 sets the same type as the cell DDD as the belonging cell for the pattern PD1.

【0050】同様に、ストラクチャがパターンPC1,
PC2の場合、パターンPC1,PC2の所属セルはセ
ルCCCである。従って、CPU2は、図2のステップ
32においてパターンPC1,PC2に対して所属セル
であるセルCCCと同じ種類を設定する。
Similarly, when the structure is the pattern PC1,
In the case of PC2, the cell to which the patterns PC1 and PC2 belong is the cell CCC. Therefore, the CPU 2 sets the same type as the cell CCC belonging to the patterns PC1 and PC2 in step 32 of FIG.

【0051】また、ストラクチャがセルDDDの場合、
そのセルDDDは処理対象セルではない。また、セルD
DDの所属セルであるセルBBBは処理対象セルではな
い。従って、CPU2は、図3のステップ37において
セルDDDに対して所属セルであるセルBBBと同じ種
類を設定する。
When the structure is a cell DDD,
The cell DDD is not a processing target cell. Also, cell D
The cell BBB which is the cell to which the DD belongs is not a processing target cell. Therefore, the CPU 2 sets the same type as the cell BBB belonging to the cell DDD in step 37 of FIG.

【0052】また、ストラクチャがセルBBBの場合、
そのセルBBBは処理対象セルではない。また、セルB
BBの所属セルであるセルAAAは所属セルである。従
って、CPU2は、図3のステップ36においてセルB
BBに対して独自の種類を設定する。
When the structure is a cell BBB,
The cell BBB is not a processing target cell. Also, cell B
Cell AAA, which is the cell to which BB belongs, is the cell to which it belongs. Accordingly, CPU 2 determines in step 36 of FIG.
A unique type is set for BB.

【0053】同様に、ストラクチャがセルCCCの場
合、そのセルCCCは処理対象セルではない。また、セ
ルCCCの所属セルであるセルAAAは所属セルであ
る。従って、CPU2は、図3のステップ36において
セルCCCに対して独自の種類を設定する。
Similarly, when the structure is a cell CCC, the cell CCC is not a processing target cell. The cell AAA, which is a cell belonging to the cell CCC, is a cell belonging to the cell CCC. Therefore, the CPU 2 sets a unique type for the cell CCC in step 36 of FIG.

【0054】更にまた、ストラクチャがセルAAAの場
合、そのセルAAAは処理対象セルである。従って、C
PU2は、図3のステップ34においてセルAAAに対
して独自の種類を設定する。
Further, when the structure is a cell AAA, the cell AAA is a cell to be processed. Therefore, C
The PU2 sets a unique type for the cell AAA in step 34 of FIG.

【0055】種類の設定は、各ストラクチャのデータに
対して、所定の領域に種類を示すデータを書き込むこと
により行われる。図6は、図4,5のレイアウトデータ
40を構成するストラクチャのデータを示す説明図であ
る。
The setting of the type is performed by writing data indicating the type in a predetermined area for the data of each structure. FIG. 6 is an explanatory diagram showing data of a structure constituting the layout data 40 of FIGS.

【0056】セルAAAからパターンPD1の各階層を
構成する各ストラクチャには、それぞれデータ領域41
〜47が設定されている。これらのデータ領域41〜4
7は、例えば図1のステップ21における領域枠作成処
理においてメモリ3に作成される。また、データ領域4
1〜47は、図形処理プログラムの実行に先立って作成
されても良い。また、ステップ22における処理対象セ
ル設定処理において作成されても良く、この場合には設
定される処理対象セルを最上層とする階層構造を構成す
るストラクチャに対してのみデータ領域を作成されても
良い。
Each structure constituting each layer of the pattern PD1 from the cell AAA has a data area 41, respectively.
To 47 are set. These data areas 41 to 4
7 is created in the memory 3, for example, in the area frame creation processing in step 21 of FIG. Data area 4
1 to 47 may be created prior to execution of the graphic processing program. Further, the data area may be created in the processing target cell setting processing in step 22. In this case, the data area may be created only for the structure configuring the hierarchical structure with the processing target cell to be set as the uppermost layer. .

【0057】各データ領域41〜47は、それぞれ第
1,第2領域48,49を含む。第1領域48は、スト
ラクチャの種類(セル枠又はパターン)、各ストラクチ
ャに設定される種類を書き込みために設けられている。
また、第1領域48には、図1のステップ22において
設定される処理対象セルを示す情報が書き込まれる。第
2領域49は、各ストラクチャの所属セルへのポインタ
を格納するために設けられている。ポインタは、例えば
各ストラクチャの所属セルのデータ領域を示すアドレス
である。このポインタにより、各ストラクチャの所属セ
ルを容易に判断することができる。
Each of the data areas 41 to 47 includes first and second areas 48 and 49, respectively. The first area 48 is provided for writing the type of structure (cell frame or pattern) and the type set for each structure.
In the first area 48, information indicating the processing target cell set in step 22 of FIG. 1 is written. The second area 49 is provided for storing a pointer to a cell belonging to each structure. The pointer is, for example, an address indicating a data area of a cell belonging to each structure. With this pointer, the cell to which each structure belongs can be easily determined.

【0058】図1のステップ24における種類設定処理
を終了すると、図3のCPU2は、ステップ24からス
テップ25に移る。ステップ25は第1重なり判定処理
(第1重なり判定手段)であり、セル枠に重なりがある
か否かを判定するセル枠重なり判定処理である。ステッ
プ25において、CPU2は、ステップ23で読み込ん
だ枠データにおいて、その枠データがセル枠の情報の場
合に、セル枠の重なりを調べる。セル枠の重なりは、セ
ル枠と他のセル枠、セル枠とパターンの重なりの場合で
ある。セル枠に重なりがある場合、CPU2は、ステッ
プ25からステップ23に戻り、そのセルの子セル枠,
パターンを読み込む。即ち、CPU2は、重なりのある
セル枠に対して、そのセル枠の1つ下の階層の枠データ
を読み込む。CPU2は、ステップ25においてセル枠
の重なりを調べる。そして、CPU2は、セル枠に重な
りが無い場合、ステップ25からステップ26に移る。
When the type setting process in step 24 in FIG. 1 is completed, the CPU 2 in FIG. Step 25 is a first overlap determination process (first overlap determination means), which is a cell frame overlap determination process for determining whether or not a cell frame has an overlap. In step 25, in the frame data read in step 23, if the frame data is information of a cell frame, the CPU 2 checks the overlap of the cell frames. The cell frame overlap is a case where a cell frame overlaps with another cell frame or a cell frame overlaps with a pattern. If there is an overlap in the cell frame, the CPU 2 returns from step 25 to step 23, where the child cell frame of the cell,
Load a pattern. That is, the CPU 2 reads the frame data of the next lower layer of the overlapping cell frame. The CPU 2 checks in step 25 whether the cell frames overlap. Then, when there is no overlap in the cell frames, the CPU 2 proceeds from step 25 to step 26.

【0059】従って、CPU2は、ステップ23〜25
のループをセル枠の重なりがなくなるまで階層が深くな
る方向、即ち処理対象セルから下層に向かって繰り返し
行う。そして、セル枠に重なりが無くなると、CPU2
は、ステップ25からステップ26に移る。
Therefore, the CPU 2 executes steps 23 to 25
Is repeated in the direction in which the hierarchy becomes deeper, that is, from the processing target cell to the lower layer until the cell frames no longer overlap. Then, when the cell frame no longer overlaps, the CPU 2
Moves from step 25 to step 26.

【0060】ステップ26は第2重なり判定処理(第2
重なり判定手段)であり、パターンに重なりがあるか否
かを判定するパターン重なり判定処理である。ステップ
26において、図3のCPU2は、パターン同士に重な
りがある場合、ステップ26からステップ27に移る。
Step 26 is a second overlap judging process (second
Overlap determination means), which is a pattern overlap determination process for determining whether or not the patterns have overlap. In step 26, if there is an overlap between the patterns, the CPU 2 in FIG. 3 proceeds from step 26 to step 27.

【0061】ステップ27は重なり確定処理(重なり確
定手段)であり、図3のCPU2は、ステップ26にお
いて重なり有りを判定したパターンに対して重なりを確
定する。CPU2は、確定したパターンの情報を重なり
情報として第3データファイル13に格納する。重なり
情報は、重なりがあるパターンを示す情報であり、パタ
ーンを含むセルのセル名、パターンが存在する階層、パ
ターンの座標値、等を含む。
Step 27 is an overlap determination process (overlap determination means), and the CPU 2 in FIG. 3 determines the overlap with respect to the pattern determined to have an overlap in step 26. The CPU 2 stores the determined pattern information in the third data file 13 as overlap information. The overlap information is information indicating a pattern having an overlap, and includes a cell name of a cell including the pattern, a hierarchy in which the pattern exists, a coordinate value of the pattern, and the like.

【0062】図1のステップ26においてパターン同士
に重なりが無い場合、CPU2はステップ26からステ
ップ28に移る。ステップ28は終了判定処理であり、
図3のCPU2は、全てのセルに対して重なり検出処理
を実施したか否かを判断する。この判断には、ステップ
22において設定される処理対象セルの情報が用いられ
る。CPU2は、レイアウトデータを構成する全てのセ
ルを処理対象セルに設定したか否かを判断する。CPU
2は、全てのセルを処理対象セルに設定していない場
合、ステップ28からステップ22に移る。そして、処
理対象セルに設定していないセルが無くなるまでステッ
プ22からステップ27のループを繰り返し実行し、全
てのセルを処理対象セルとした重なり検出処理を実行す
る。
If there is no overlap between the patterns in step 26 of FIG. 1, the CPU 2 proceeds from step 26 to step 28. Step 28 is an end determination process,
The CPU 2 in FIG. 3 determines whether or not the overlap detection processing has been performed on all the cells. For this determination, the information of the processing target cell set in step 22 is used. The CPU 2 determines whether or not all the cells constituting the layout data have been set as the processing target cells. CPU
In the case of No. 2, if all the cells are not set as the processing target cells, the process proceeds from step 28 to step 22. Then, the loop from step 22 to step 27 is repeatedly executed until there are no cells not set as the processing target cells, and the overlap detection processing is performed with all the cells as the processing target cells.

【0063】ステップ28において全てのセルの処理を
終了した、即ち全てのセルを処理対象セルとしてパター
ンの重なりを判定する処理を終了した場合、CPU2は
図形処理を終了する。
When the processing of all the cells is completed in step 28, that is, when the processing of judging the overlapping of the patterns with all the cells as the processing target cells is completed, the CPU 2 ends the graphic processing.

【0064】上記の図形処理(重なり検出処理)におい
て第3データファイル13に格納された重なり情報は、
レイアウト検証やEBデータ作成処理等に利用される。
例えば、レイアウト検証では、第3データファイル13
に格納された重なり情報に基づいて、重なりある図形に
対して図形論理処理が行われ、検証に必要な図形が作成
される。また、EBデータ作成処理では、第3データフ
ァイル13に格納された重なり情報に基づいて、重なり
があるレイアウトデータの重なりを除去した露光データ
を作成する。その露光データにより、重なりが無い分だ
け露光時間の短縮や周りに対する影響をなくすことがで
きる。
The overlap information stored in the third data file 13 in the above-described graphic processing (overlap detection processing)
It is used for layout verification and EB data creation processing.
For example, in the layout verification, the third data file 13
Based on the overlapping information stored in, a graphic logic process is performed on the overlapping graphic, and a graphic required for verification is created. In the EB data creation processing, exposure data is created based on the overlap information stored in the third data file 13 by removing the overlap of layout data having overlaps. According to the exposure data, the exposure time can be reduced and the influence on the surroundings can be eliminated by the amount of no overlap.

【0065】このレイアウト検証やEBデータ作成処理
等において、予め重なり合うパターンの情報が作成され
ているため、全てのセルに対して重なりを調べる必要が
ない。また、従来のように全てのレイアウトデータを展
開したり、重なりの無い新たなセルを作成する必要がな
い。そのため、処理時間の高速化とリソース量の低減が
図られる。
In the layout verification, EB data creation processing, and the like, since information on the overlapping patterns is created in advance, it is not necessary to check the overlap for all cells. In addition, there is no need to expand all layout data and create a new cell having no overlap as in the related art. Therefore, the processing time can be shortened and the amount of resources can be reduced.

【0066】次に、上記の図形処理(重なり検出処理)
を、図7〜図13を用いて説明する。図7は、レイアウ
トデータ51の階層構造を示す説明図である。図8は、
レイアウトデータ51を展開した状態を示すレイアウト
図である。図9は、レイアウトデータ51の各階層に含
まれるストラクチャを示すレイアウト図である。
Next, the above-described graphic processing (overlap detection processing)
Will be described with reference to FIGS. FIG. 7 is an explanatory diagram showing the hierarchical structure of the layout data 51. FIG.
FIG. 7 is a layout diagram showing a state where layout data 51 is developed. FIG. 9 is a layout diagram showing structures included in each layer of the layout data 51.

【0067】レイアウトデータ51は、最上層にセルA
AAを備える。セルAAAは、下層に設けられた2つの
同一レイアウトのセルBBBを備える。尚、同一レイア
ウトのセルを区別するために、以下の説明において括弧
付き数字をセルの符号に付して説明する。従って、セル
AAAは、セルBBB(1),BBB(2)を備える。
The layout data 51 includes a cell A in the uppermost layer.
AA is provided. The cell AAA includes two cells BBB of the same layout provided in the lower layer. Note that, in order to distinguish cells having the same layout, in the following description, numerals in parentheses are given to the reference numerals of the cells. Therefore, the cell AAA includes cells BBB (1) and BBB (2).

【0068】セルBBB(1),BBB(2)は、それ
ぞれ下層に設けられた2つのセルCCC(11),CC
C(12),CCC(21),CCC(22)を備え
る。各セルCCC(11)〜CCC(22)は、それぞ
れ下層に設けられた2つのセルDDD(111),DD
D(112)〜DDD(221),DDD(222)を
備える。更に、各セルDDD(111),DDD(11
2)〜DDD(221),DDD(222)は、それぞ
れ下層に設けられた2つのパターンPD1,PD2(図
9参照)を備える。
The cells BBB (1) and BBB (2) correspond to two cells CCC (11) and CC
C (12), CCC (21) and CCC (22). Each of the cells CCC (11) to CCC (22) includes two cells DDD (111), DD provided in the lower layer, respectively.
D (112) to DDD (221) and DDD (222). Further, each of the cells DDD (111), DDD (11
2) to DDD (221) and DDD (222) each include two patterns PD1 and PD2 (see FIG. 9) provided in lower layers.

【0069】図9には、各階層において重なりがあるス
トラクチャに対してハッチングを付してある。セルAA
Aに含まれるセルBBB(1),BBB(2)は重なり
合っている。また、各セルBBBに含まれるセルCCC
(1),CCC(2)は重なり合っている。更に、各セ
ルCCCに含まれるセルDDD(1),DDD(2)は
重なり合っている。そして、各セルDDDに含まれるパ
ターンPD1,PD2は重なり合っていない。
In FIG. 9, hatching is applied to structures having an overlap in each layer. Cell AA
Cells BBB (1) and BBB (2) included in A overlap each other. Also, the cell CCC included in each cell BBB
(1) and CCC (2) overlap. Furthermore, cells DDD (1) and DDD (2) included in each cell CCC overlap. The patterns PD1 and PD2 included in each cell DDD do not overlap.

【0070】図8には、全ての階層を展開した場合に重
なるストラクチャをハッチングを付して示してある。図
8に示すように、セルDDD(111)に含まれるパタ
ーンPD1,PD2とセルDDD(112)に含まれる
パターンPD1に重なりがある。セルDDD(112)
に含まれるパターンPD2とセルDDD(121)に含
まれるパターンPD2に重なりがある。セルDDD(1
21)に含まれるパターンPD1とセルDDD(12
2)に含まれるパターンPD1,PD2に重なりがあ
る。更に、セルDDD(122)に含まれるパターンP
D2とセルDDD(211)に含まれるパターンPD
1、セルDDD(122)に含まれるパターンPD1と
セルDDD(211)に含まれるパターンPD2に重な
りがある。セルDDD(211)に含まれるパターンP
D1,PD2とセルDDD(212)に含まれるパター
ンPD1に重なりがある。セルDDD(212)に含ま
れるパターンPD2とセルDDD(221)に含まれる
パターンPD2に重なりがある。セルDDD(221)
に含まれるパターンPD1とセルDDD(222)に含
まれるパターンPD1,PD2に重なりがある。
FIG. 8 shows hatched structures that overlap when all the hierarchies are expanded. As shown in FIG. 8, the patterns PD1 and PD2 included in the cell DDD (111) overlap with the pattern PD1 included in the cell DDD (112). Cell DDD (112)
And the pattern PD2 included in the cell DDD (121) overlaps. Cell DDD (1
21) and the cell DDD (12
The patterns PD1 and PD2 included in 2) overlap. Further, the pattern P included in the cell DDD (122)
D2 and pattern PD included in cell DDD (211)
1. The pattern PD1 included in the cell DDD (122) and the pattern PD2 included in the cell DDD (211) overlap. Pattern P included in cell DDD (211)
D1 and PD2 overlap the pattern PD1 included in the cell DDD (212). The pattern PD2 included in the cell DDD (212) and the pattern PD2 included in the cell DDD (221) overlap. Cell DDD (221)
And the patterns PD1 and PD2 included in the cell DDD (222) overlap.

【0071】上記のレイアウトデータ51に対する図形
処理を説明する。 [セルDDDを処理対象セルに設定した場合]処理対象
セルに設定したセルDDD(111)を最上階層とした
階層構造を構成する各ストラクチャに対して、CPU2
は以下のように種類を設定する。
The graphic processing on the layout data 51 will be described. [When the cell DDD is set as the processing target cell] The CPU 2 is used for each structure constituting the hierarchical structure with the cell DDD (111) set as the processing target cell as the top hierarchy.
Sets the type as follows.

【0072】先ず、CPU2はセルDDD(111)に
種類を設定する。セルDDD(111)は処理対象セル
である。従って、CPU2は、セルDDD(111)に
独自の種類[DDD(111)]を設定する。
First, the CPU 2 sets the type in the cell DDD (111). The cell DDD (111) is a processing target cell. Therefore, the CPU 2 sets the unique type [DDD (111)] in the cell DDD (111).

【0073】次に、CPU2は、セルDDD(111)
に含まれるパターンPD1,PD2に対して、パターン
PD1,PD2の所属セルであるセルDDD(111)
と同じ種類[DDD(111)]を設定する。
Next, the CPU 2 sets the cell DDD (111)
, The cell DDD (111) which is the cell to which the patterns PD1 and PD2 belong
The same type [DDD (111)] is set.

【0074】CPU2は、図1の図形処理におけるステ
ップ23〜25のループを繰り返し実行し、重なりを検
出する。1回目のループにおいて、先ず、CPU2は、
セルDDD(111)に含まれる枠データを図1の第2
データファイル12から読み込む。図10に示すよう
に、セルDDD(111)はパターンPD1,DP2を
含む。従って、CPU2は、パターンPD1,PD2の
枠データを第2データファイル12から読み込む。
The CPU 2 repeatedly executes the loop of steps 23 to 25 in the graphic processing of FIG. 1 to detect an overlap. In the first loop, first, the CPU 2
The frame data included in the cell DDD (111) is
Read from the data file 12. As shown in FIG. 10, the cell DDD (111) includes patterns PD1 and DP2. Therefore, the CPU 2 reads the frame data of the patterns PD1 and PD2 from the second data file 12.

【0075】セルDDD(111)はセルを含まないた
め、次に読み込むセル枠はない。従って、CPU2は、
パターンPD1,PD2において重なりを判定する。こ
の場合、パターンPD1,PD2に重なりが無いため、
CPU2はセルDDD(111)において「重なり無
し」と判定する。
Since the cell DDD (111) does not include a cell, there is no cell frame to be read next. Therefore, the CPU 2
The overlap is determined in the patterns PD1 and PD2. In this case, since there is no overlap between the patterns PD1 and PD2,
The CPU 2 determines “no overlap” in the cell DDD (111).

【0076】また、CPU2は、セルDDD(112)
〜DDD(222)に対して、セルDDD(111)と
同じ処理を実行する。そして、CPU2は、各セルDD
D(112)〜DDD(222)において、セルDDD
(111)と同様に「重なり無し」と判定する。
Further, the CPU 2 sets the cell DDD (112)
To DDD (222), the same processing as in cell DDD (111) is performed. Then, the CPU 2 checks each cell DD
In D (112) to DDD (222), the cell DDD
As in (111), it is determined that there is no overlap.

【0077】[セルCCCを処理対象セルに設定した場
合]処理対象セルに設定したセルCCC(11)を最上
階層とした階層構造を構成する各ストラクチャに対し
て、CPU2は以下のように種類を設定する。
[When Cell CCC is Set as Processing Target Cell] For each structure constituting the hierarchical structure with the cell CCC (11) set as the processing target cell as the uppermost layer, the CPU 2 has the following types. Set.

【0078】先ず、CPU2は、セルCCC(11)に
種類を設定する。セルCCC(11)は処理対象セルで
ある。従って、CPU2は、セルCCC(11)に独自
の種類[CCC(11)]を設定する。
First, the CPU 2 sets the type in the cell CCC (11). The cell CCC (11) is a processing target cell. Therefore, the CPU 2 sets a unique type [CCC (11)] in the cell CCC (11).

【0079】次に、CPU2は、セルCCC(11)に
含まれるセルDDD(111),DDD(112)に種
類を設定する。セルDDD(111),DDD(11
2)の所属セルであるセルCCC(11)は処理対象セ
ルである。従って、CPU2は、各セルに独自の種類を
設定する。即ち、CPU2は、セルDDD(111)に
対して独自の種類[DDD(111)]を、セルDDD
(112)に対して独自の種類[DDD(112)]を
設定する。
Next, the CPU 2 sets the type in the cells DDD (111) and DDD (112) included in the cell CCC (11). Cells DDD (111) and DDD (11
The cell CCC (11), which is the cell belonging to 2), is a processing target cell. Therefore, the CPU 2 sets a unique type for each cell. That is, the CPU 2 assigns the unique type [DDD (111)] to the cell DDD (111)
A unique type [DDD (112)] is set for (112).

【0080】更に、CPU2は、セルDDD(111)
に含まれるパターンPD1,PD2に対して、パターン
PD1,PD2の所属セルであるセルDDD(111)
と同じ種類[DDD(111)]を設定する。また、C
PU2は、セルDDD(112)に含まれるパターンP
D1,PD2に対して、パターンPD1,PD2の所属
セルであるセルDDD(112)と同じ種類[DDD
(112)]を設定する。
Further, the CPU 2 checks the cell DDD (111)
, The cell DDD (111) which is the cell to which the patterns PD1 and PD2 belong
The same type [DDD (111)] is set. Also, C
PU2 is the pattern P included in the cell DDD (112).
For D1 and PD2, the same type [DDD] as the cell DDD (112) that is the cell to which the patterns PD1 and PD2 belong.
(112)] is set.

【0081】CPU2は、図1の図形処理におけるステ
ップ23〜25のループを繰り返し実行し、重なりを検
出する。1回目のループにおいて、先ず、CPU2は、
セルCCC(11)に含まれる枠データを図1の第2デ
ータファイル12から読み込む。図11の上段に示すよ
うに、セルCCC(11)はセルDDD(111),D
DD(112)を含む。従って、CPU2は、セルDD
D(111),DDD(112)の枠データを第2デー
タファイル12から読み込む。
The CPU 2 repeatedly executes the loop of steps 23 to 25 in the graphic processing of FIG. 1 to detect an overlap. In the first loop, first, the CPU 2
The frame data included in the cell CCC (11) is read from the second data file 12 in FIG. As shown in the upper part of FIG. 11, the cell CCC (11) includes the cells DDD (111), DDD
DD (112). Therefore, the CPU 2 determines that the cell DD
The frame data of D (111) and DDD (112) are read from the second data file 12.

【0082】次に、CPU2は、読み込んだセルDDD
(111),DDD(112)の枠データに重なりがあ
るか判定する。セルDDD(111),DDD(11
2)のセル枠には、図11の上段に示すように重なりが
ある。また、セルDDD(111),DDD(112)
は、それぞれ独自の種類が設定されているため、種類が
異なる。
Next, the CPU 2 reads the read cell DDD
It is determined whether the frame data of (111) and DDD (112) overlap. Cells DDD (111) and DDD (11
The cell frame of 2) has an overlap as shown in the upper part of FIG. In addition, cells DDD (111) and DDD (112)
Are different from each other because their own types are set.

【0083】従って、2回目のループにおいて、CPU
2は、セルDDD(111),DDD(112)をそれ
ぞれ構成するストラクチャの枠データを読み込む。図1
1の下段に示すように、セルDDD(111),DDD
(112)は、パターンPD1,PD2をそれぞれ含
む。従って、CPU2は、セルDDD(111),DD
D(112)のパターンPD1,PD2の枠データを第
2データファイル12から読み込む。
Therefore, in the second loop, the CPU
2 reads the frame data of the structure constituting each of the cells DDD (111) and DDD (112). FIG.
1, cells DDD (111), DDD
(112) includes patterns PD1 and PD2, respectively. Therefore, the CPU 2 determines that the cells DDD (111), DD
The frame data of the patterns PD1 and PD2 of D (112) are read from the second data file 12.

【0084】セルDDD(111),DDD(112)
はセルを含まないため、次に読み込むセル枠はない。従
って、CPU2は、各セルDDD(111),DDD
(112)に含まれるパターンPD1,PD2において
重なりを判定する。
Cell DDD (111), DDD (112)
Contains no cells, so there is no next cell frame to read. Therefore, the CPU 2 determines that each of the cells DDD (111), DDD
The overlap is determined in the patterns PD1 and PD2 included in (112).

【0085】この場合、図11の下段に示すように、セ
ルDDD(111)のパターンPD1,PD2と、セル
DDD(112)のパターンPD1に重なりがある。ま
た、セルDDD(111)のパターンPD1,PD2
と、セルDDD(112)のパターンPD1は種類が異
なる。従って、CPU2はセルDDD(111)とセル
DDD(112)において「重なり有り」と判定する。
そして、CPU2は、重なりがあるセルDDD(11
1)のパターンPD1,PD2と、セルDDD(11
2)のパターンPD1の重なり情報を図1の第3データ
ファイル13に格納する。
In this case, as shown in the lower part of FIG. 11, the patterns PD1 and PD2 of the cell DDD (111) overlap with the pattern PD1 of the cell DDD (112). Also, the patterns PD1 and PD2 of the cell DDD (111)
And the pattern PD1 of the cell DDD (112) is of a different type. Therefore, the CPU 2 determines that "there is an overlap" in the cells DDD (111) and DDD (112).
Then, the CPU 2 determines that the cell DDD (11
1) and the cells DDD (11
2) The overlapping information of the pattern PD1 is stored in the third data file 13 of FIG.

【0086】尚、図7のセルCCC(12)を処理対象
セルに設定した場合、CPU2は、セルCCC(11)
を処理対象セルに設定した場合と同様に動作する。即
ち、CPU2は、セルCCC(2)を最上階層とする階
層構造を構成する各ストラクチャに対して種類を設定す
る。そして、CPU2は、図8のセルDDD(121)
とセルDDD(122)における重なりを検出する。そ
して、CPU2は、重なりがあるセルDDD(121)
のパターンPD1と、セルDDD(122)のパターン
PD1,PD2の重なり情報を、図1の第3データファ
イル13に格納する。
When the cell CCC (12) in FIG. 7 is set as the processing target cell, the CPU 2 sets the cell CCC (11)
Operates in the same manner as when is set as the processing target cell. That is, the CPU 2 sets the type for each structure constituting the hierarchical structure having the cell CCC (2) as the uppermost hierarchy. Then, the CPU 2 determines the cell DDD (121) in FIG.
And the overlap in the cell DDD (122) is detected. Then, the CPU 2 determines that the overlapped cell DDD (121)
Is stored in the third data file 13 of FIG. 1 with the overlap information of the pattern PD1 and the patterns PD1 and PD2 of the cell DDD (122).

【0087】また、セルCCC(21)を処理対象セル
に設定した場合、CPU2は、セルCCC(11)を処
理対象セルに設定した場合と同様に動作する。即ち、C
PU2は、セルCCC(21)を最上階層とする階層構
造を構成する各ストラクチャに対して種類を設定する。
そして、CPU2は、図8のセルDDD(211)とセ
ルDDD(212)における重なりを検出する。そし
て、CPU2は、重なりがあるセルDDD(211)の
パターンPD1,PD2と、セルDDD(212)のパ
ターンPD1の重なり情報を、図1の第3データファイ
ル13に格納する。
When the cell CCC (21) is set as the processing target cell, the CPU 2 operates in the same manner as when the cell CCC (11) is set as the processing target cell. That is, C
The PU2 sets the type for each structure constituting the hierarchical structure with the cell CCC (21) as the uppermost hierarchy.
Then, the CPU 2 detects an overlap between the cell DDD (211) and the cell DDD (212) in FIG. Then, the CPU 2 stores, in the third data file 13 in FIG. 1, the overlap information of the patterns PD1 and PD2 of the overlapping cell DDD (211) and the pattern PD1 of the cell DDD (212).

【0088】更に、セルCCC(22)を処理対象セル
に設定した場合、CPU2は、セルCCC(11)を処
理対象セルに設定した場合と同様に動作する。即ち、C
PU2は、セルCCC(22)を最上階層とする階層構
造を構成する各ストラクチャに対して種類を設定する。
そして、CPU2は、図8のセルDDD(221)とセ
ルDDD(221)における重なりを検出する。そし
て、CPU2は、重なりがあるセルDDD(221)の
パターンPD1と、セルDDD(222)のパターンP
D1,PD2の重なり情報を、図1の第3データファイ
ル13に格納する。
Further, when the cell CCC (22) is set as the processing target cell, the CPU 2 operates in the same manner as when the cell CCC (11) is set as the processing target cell. That is, C
The PU2 sets the type for each structure constituting the hierarchical structure with the cell CCC (22) as the uppermost hierarchy.
Then, the CPU 2 detects an overlap between the cell DDD (221) and the cell DDD (221) in FIG. Then, the CPU 2 determines the pattern PD1 of the cell DDD (221) having the overlap and the pattern P1 of the cell DDD (222).
The overlap information of D1 and PD2 is stored in the third data file 13 of FIG.

【0089】[処理対象セルにセルBBBを設定した場
合]処理対象セルに設定したセルBBB(1)を最上階
層とした階層構造を構成する各ストラクチャに対して、
CPU2は以下のように種類を設定する。
[When cell BBB is set as a processing target cell] For each structure forming a hierarchical structure with the cell BBB (1) set as the processing target cell as the top level,
The CPU 2 sets the type as follows.

【0090】先ず、CPU2は、セルBBB(1)に種
類を設定する。セルBBB(1)は処理対象セルであ
る。従って、CPU2は、セルBBB(1)に独自の種
類[BBB(1)]を設定する。
First, the CPU 2 sets the type in the cell BBB (1). Cell BBB (1) is a processing target cell. Therefore, the CPU 2 sets a unique type [BBB (1)] in the cell BBB (1).

【0091】次に、CPU2は、セルBBB(1)に含
まれるセルCCC(11),CCC(12)に種類を設
定する。セルCCC(11),CCC(12)の所属セ
ルであるセルBBB(1)は処理対象セルである。従っ
て、CPU2はセルCCC(11),CCC(12)に
対してそれぞれ独自の種類[CCC(11)],[CC
C(12)]を設定する。
Next, the CPU 2 sets the type in the cells CCC (11) and CCC (12) included in the cell BBB (1). The cell BBB (1) which is a cell belonging to the cells CCC (11) and CCC (12) is a processing target cell. Therefore, the CPU 2 assigns unique types [CCC (11)] and [CCC] to the cells CCC (11) and CCC (12), respectively.
C (12)].

【0092】次に、CPU2は、セルCCC(11)に
含まれるセルDDD(111),DDD(112)に対
して種類を設定する。セルDDD(111),DDD
(112)の所属セルはセルCCC(11)であり、こ
のセルCCC(11)は処理対象セルではない。従っ
て、CPU2は、セルDDD(111),DDD(11
2)に所属セルであるセルCCC(11)と同じ種類
[CCC(11)]を設定する。同様に、CPU2は、
セルCCC(12)に含まれるセルDDD(121),
DDD(122)に対して、所属セルCCC(12)と
同じ種類[CCC(12)]を設定する。
Next, the CPU 2 sets the type for the cells DDD (111) and DDD (112) included in the cell CCC (11). Cell DDD (111), DDD
The cell belonging to (112) is the cell CCC (11), and this cell CCC (11) is not a processing target cell. Therefore, the CPU 2 determines that the cells DDD (111) and DDD (11
In 2), the same type [CCC (11)] as the cell CCC (11), which is the belonging cell, is set. Similarly, the CPU 2
Cell DDD (121) included in cell CCC (12),
The same type [CCC (12)] as the belonging cell CCC (12) is set for the DDD (122).

【0093】更に、CPU2は、セルDDD(111)
に含まれるパターンPD1,PD2に対して、パターン
PD1,PD2の所属セルであるセルDDD(111)
と同じ種類[CCC(11)]を設定する。また、CP
U2は、セルDDD(112)に含まれるパターンPD
1,PD2に対して、パターンPD1,PD2の所属セ
ルであるセルDDD(112)と同じ種類[CCC(1
2)]を設定する。
Further, the CPU 2 sets the cell DDD (111)
, The cell DDD (111) which is the cell to which the patterns PD1 and PD2 belong
The same type [CCC (11)] is set. Also, CP
U2 is a pattern PD included in the cell DDD (112).
1 and PD2, the same type [CCC (1) as the cell DDD (112) that is the cell to which the patterns PD1 and PD2 belong.
2)] is set.

【0094】CPU2は、図1の図形処理におけるステ
ップ23〜25のループを繰り返し実行し、重なりを検
出する。1回目のループにおいて、先ず、図3のCPU
2は、セルBBB(1)に含まれるストラクチャの枠デ
ータを図1の第2データファイル12から読み込む。図
12の上段に示すように、セルBBB(1)はセルCC
C(11),CCC(12)を含む。従って、CPU2
は、セルCCC(11),CCC(12)の枠データを
第2データファイル12から読み込む。
The CPU 2 repeatedly executes the loop of steps 23 to 25 in the graphic processing of FIG. 1 to detect an overlap. In the first loop, first, the CPU of FIG.
2 reads the frame data of the structure included in the cell BBB (1) from the second data file 12 in FIG. As shown in the upper part of FIG. 12, the cell BBB (1)
C (11) and CCC (12). Therefore, CPU2
Reads the frame data of the cells CCC (11) and CCC (12) from the second data file 12.

【0095】次に、CPU2は、読み込んだセルCCC
(11),CCC(12)の枠データに重なりがあるか
判定する。図12の上段に示すように、セルCCC(1
1),CCC(12)のセル枠には、重なりがある。ま
た、セルCCC(11),CCC(12)は、それぞれ
独自の種類に設定されているため、種類が異なる。
Next, the CPU 2 reads the read cell CCC
(11) It is determined whether or not the frame data of the CCC (12) overlap. As shown in the upper part of FIG. 12, the cell CCC (1
The cell frames of 1) and CCC (12) have an overlap. Also, the cells CCC (11) and CCC (12) are set to unique types, and therefore have different types.

【0096】従って、2回目のループにおいて、CPU
2は、次にセルCCC(11),CCC(12)にそれ
ぞれ含まれるストラクチャの枠データを読み込む。図1
2の中段に示すように、セルCCC(11)は、セルD
DD(111),DDD(112)を含む。セルCCC
(12)はセルDDD(121),DDD(122)を
含む。従って、CPU2は、セルDDD(111)〜D
DD(122)の枠データを第2データファイル12か
ら読み込む。
Therefore, in the second loop, the CPU
2 reads the frame data of the structure contained in each of the cells CCC (11) and CCC (12). FIG.
As shown in the middle of FIG. 2, the cell CCC (11)
DD (111) and DDD (112). Cell CCC
(12) includes cells DDD (121) and DDD (122). Accordingly, the CPU 2 determines that the cells DDD (111) to DDD (111)
The DD (122) frame data is read from the second data file 12.

【0097】次に、CPU2は、読み込んだセルDDD
(111)〜DDD(122)の枠データに重なりがあ
るか判定する。図12の中段に示すように、セルDDD
(111)とセルDDD(112)のセル枠には重なり
がある。セルDDD(112)とセルDDD(121)
のセル枠には重なりがある。更に、セルDDD(12
1)とセルDDD(122)のセル枠には重なりがあ
る。
Next, the CPU 2 reads the read cell DDD
It is determined whether the frame data of (111) to DDD (122) overlap. As shown in the middle part of FIG.
There is an overlap between the cell frame of (111) and the cell frame of the cell DDD (112). Cell DDD (112) and Cell DDD (121)
Cell frames have overlap. Further, the cell DDD (12
1) and the cell frame of the cell DDD (122) overlap.

【0098】しかし、セルDDD(111)とセルDD
D(112)の種類はそれぞれ種類[CCC(11)]
であり同じである。また、セルDDD(121)とセル
DDD(122)の種類はそれぞれ種類[CCC(1
2)]であり同じである。従って、CPU2は、同じ種
類であるセルDDD(111),DDD(112)間、
セルDDD(121),DDD(122)間に「重なり
無し」と判定する。
However, cell DDD (111) and cell DD
Each type of D (112) is a type [CCC (11)]
And the same. In addition, the types of the cell DDD (121) and the cell DDD (122) are respectively the type [CCC (1
2)] and are the same. Therefore, the CPU 2 determines that the cells DDD (111) and DDD (112) of the same type
It is determined that there is no overlap between the cells DDD (121) and DDD (122).

【0099】一方、セルDDD(112)とセルDDD
(121)は種類がそれぞれ種類[CCC(11)],
[CCC(12)]であり異なる。従って、CPU2
は、セルDDD(112),DDD(121)間に「重
なり有り」と判定する。
On the other hand, cell DDD (112) and cell DDD
(121) is of type [CCC (11)],
[CCC (12)], which is different. Therefore, CPU2
Determines that there is "overlapping" between the cells DDD (112) and DDD (121).

【0100】従って、3回目のループにおいて、CPU
2は、「重なり有り」と判定したセルDDD(11
2),DDD(121)に含まれるストラクチャの枠デ
ータを第2データファイル12から読み込む。即ち、図
12の下段に示すように、CPU2は、セルDDD(1
12),DDD(121)にそれぞれ含まれるパターン
PD1,PD2の枠データを第2データファイル12か
ら読み込む。
Therefore, in the third loop, the CPU
2 is the cell DDD (11
2), the frame data of the structure included in the DDD (121) is read from the second data file 12. That is, as shown in the lower part of FIG.
12), the frame data of the patterns PD1 and PD2 included in the DDD (121) are read from the second data file 12.

【0101】この時、CPU2は、「重なり無し」と判
定したセルDDD(111)とセルDDD(122)に
含まれるストラクチャの枠データを読み込まない。即
ち、CPU2は、「重なり無し」と判定したセルに含ま
れる枠データを読み込まない。従って、メモリ3等のリ
ソースの使用量が全て(セルDDD(111)〜DDD
(122)の枠データ)を読み込む場合に比べて少な
い。
At this time, the CPU 2 does not read the frame data of the structures contained in the cells DDD (111) and the cells DDD (122) determined to be “no overlap”. That is, the CPU 2 does not read the frame data included in the cell determined as “no overlap”. Therefore, the usage amount of resources such as the memory 3 is all (cells DDD (111) to
(Frame data of (122)).

【0102】セルDDD(112),DDD(121)
はセルを含まないため、次に読み込むセル枠はない。従
って、CPU2は、各セルDDD(112),DDD
(121)に含まれるパターンPD1,PD2において
重なりを判定する。
Cell DDD (112), DDD (121)
Contains no cells, so there is no next cell frame to read. Therefore, the CPU 2 determines that each of the cells DDD (112), DDD
The overlap is determined in the patterns PD1 and PD2 included in (121).

【0103】この場合、図12の下段に示すように、セ
ルDDD(112)のパターンPD2と、セルDDD
(121)のパターンPD2に重なりがある。また、セ
ルDDD(112)のパターンPD2と、セルDDD
(121)のパターンPD2は種類はそれぞれ種類[C
CC(11)],[CCC(12)]であり異なる。従
って、CPU2はセルDDD(112)とセルDDD
(121)において「重なり有り」と判定する、即ちセ
ルDDD(112)とセルDDD(121)における重
なりを検出する。。そして、CPU2は、重なりがある
セルDDD(112)のパターンPD2と、セルDDD
(121)のパターンPD2の重なり情報を図1の第3
データファイル13に格納する。
In this case, as shown in the lower part of FIG. 12, the pattern PD2 of the cell DDD (112) and the cell DDD
The pattern PD2 of (121) has an overlap. The pattern PD2 of the cell DDD (112) and the cell DDD
The pattern PD2 of (121) is of type [C
CC (11)] and [CCC (12)]. Therefore, the CPU 2 sets the cell DDD (112) and the cell DDD
At (121), it is determined that "overlap exists", that is, the overlap between the cell DDD (112) and the cell DDD (121) is detected. . Then, the CPU 2 compares the pattern PD2 of the overlapping cell DDD (112) with the cell DDD.
The overlapping information of the pattern PD2 of (121) is the third information in FIG.
It is stored in the data file 13.

【0104】尚、図7のセルBBB(2)を処理対象セ
ルに設定した場合、CPU2は、セルBBB(1)を処
理対象セルに設定した場合と同様に動作する。即ち、C
PU2は、セルBBB(2)を最上階層とする階層構造
を構成する各ストラクチャに対して種類を設定する。そ
して、CPU2は、図8のセルDDD(212)とセル
DDD(221)における重なりを検出する。そして、
CPU2は、重なりがあるセルDDD(212)のパタ
ーンPD2と、セルDDD(221)のパターンPD2
の重なり情報を、図1の第3データファイル13に格納
する。
When the cell BBB (2) in FIG. 7 is set as the processing target cell, the CPU 2 operates in the same manner as when the cell BBB (1) is set as the processing target cell. That is, C
The PU2 sets the type for each structure constituting the hierarchical structure with the cell BBB (2) as the uppermost hierarchy. Then, the CPU 2 detects an overlap between the cell DDD (212) and the cell DDD (221) in FIG. And
The CPU 2 calculates the pattern PD2 of the overlapping cell DDD (212) and the pattern PD2 of the cell DDD (221).
Is stored in the third data file 13 of FIG.

【0105】[セルAAAを処理対象セルに設定した場
合]処理対象セルに設定したセルAAAを最上階層とし
た階層構造を構成する各ストラクチャに対して、CPU
2は以下のように種類を設定する。
[When the Cell AAA is Set as the Processing Target Cell] The CPU constituting each of the structures constituting the hierarchical structure with the cell AAA set as the processing target cell as the top level
2 sets the type as follows.

【0106】先ず、CPU2は、セルAAAに種類を設
定する。セルAAAは処理対象セルである。従って、C
PU2は、セルAAAに独自の種類[AAA]を設定す
る。次に、CPU2は、セルAAAに含まれるセルBB
B(1),BBB(2)に対して種類を設定する。セル
BBB(1),BBB(2)の所属セルであるセルAA
Aは処理対象セルである。従って、CPU2はセルBB
B(1),BBB(2)に対してそれぞれ独自の種類
[BBB(1)],[BBB(2)]を設定する。
First, the CPU 2 sets the type in the cell AAA. Cell AAA is a processing target cell. Therefore, C
The PU2 sets a unique type [AAA] in the cell AAA. Next, the CPU 2 checks the cell BB included in the cell AAA.
The type is set for B (1) and BBB (2). Cell AA which is a cell belonging to cells BBB (1) and BBB (2)
A is a cell to be processed. Therefore, the CPU 2 sets the cell BB
Unique types [BBB (1)] and [BBB (2)] are set for B (1) and BBB (2), respectively.

【0107】次に、CPU2は、セルBBB(1)に含
まれるセルCCC(11),CCC(12)に対して種
類を設定する。セルCCC(11),CCC(12)の
所属セルであるセルBBB(1)は処理対象セルではな
い。従って、CPU2はセルCCC(11),CCC
(12)に対して所属セルであるセルBBB(1)と同
じ種類[BBB(1)]を設定する。同様に、CPU2
は、セルBBB(2)に含まれるセルCCC(11),
CCC(12)に対して、所属セルBBB(2)と同じ
種類[BBB(2)]を設定する。
Next, the CPU 2 sets the type for the cells CCC (11) and CCC (12) included in the cell BBB (1). The cell BBB (1) which is a cell belonging to the cells CCC (11) and CCC (12) is not a processing target cell. Therefore, the CPU 2 sets the cells CCC (11), CCC
For (12), the same type [BBB (1)] as the cell BBB (1) that is the belonging cell is set. Similarly, CPU2
Are the cells CCC (11) included in the cell BBB (2),
For the CCC (12), the same type [BBB (2)] as the belonging cell BBB (2) is set.

【0108】次に、CPU2は、セルCCC(11)に
含まれるセルDDD(111),DDD(112)に対
して種類を設定する。この時、セルDDD(111),
DDD(112)の所属セルであるセルCCC(11)
は処理対象セルではない。従って、CPU2は、セルD
DD(111),DDD(112)に所属セルであるセ
ルCCC(11)と同じ種類[BBB(1)]を設定す
る。
Next, the CPU 2 sets the type for the cells DDD (111) and DDD (112) included in the cell CCC (11). At this time, the cells DDD (111),
Cell CCC (11) which is a cell belonging to DDD (112)
Is not a processing target cell. Therefore, the CPU 2 determines that the cell D
The same type [BBB (1)] as the cell CCC (11), which is a cell belonging to, is set in DD (111) and DDD (112).

【0109】同様に、CPU2は、セルCCC(12)
に含まれるセルDDD(121),DDD(122)に
対して、所属セルであるセルCCC(12)が処理対象
セルではないため、セルCCC(12)と同じ種類[B
BB(1)]を設定する。また、CPU2は、セルCC
C(21)に含まれるセルDDD(211),DDD
(212)に対して、所属セルであるセルCCC(2
1)が処理対象セルではないため、セルCCC(21)
と同じ種類[BBB(2)]を設定する。更に、CPU
2は、セルCCC(22)に含まれるセルDDD(22
1),DDD(222)に対して、所属セルであるセル
CCC(22)が処理対象セルではないため、セルCC
C(22)と同じ種類[BBB(2)]を設定する。
Similarly, CPU 2 sets cell CCC (12)
Of the cell DDD (121) and DDD (122) included in the cell CCC (12), which is the cell to which the cell belongs, is not the processing target cell.
BB (1)] is set. Further, the CPU 2 executes the cell CC
Cells DDD (211), DDD included in C (21)
In response to (212), the cell CCC (2
Since cell 1) is not a processing target cell, cell CCC (21)
The same type [BBB (2)] is set. Furthermore, CPU
2 is a cell DDD (22) included in the cell CCC (22).
1) and DDD (222), since the cell CCC (22), which is the belonging cell, is not a processing target cell,
The same type [BBB (2)] as C (22) is set.

【0110】更に、CPU2は、セルDDD(111)
に含まれるパターンPD1,PD2に対して、パターン
PD1,PD2の所属セルであるセルDDD(111)
と同じ種類[BBB(1)]を設定する。また、CPU
2は、セルDDD(112)に含まれるパターンPD
1,PD2に対して、パターンPD1,PD2の所属セ
ルであるセルDDD(112)と同じ種類[BBB
(1)]を設定する。
Further, the CPU 2 sets the cell DDD (111)
, The cell DDD (111) which is the cell to which the patterns PD1 and PD2 belong
The same type [BBB (1)] is set. Also, CPU
2 is a pattern PD included in the cell DDD (112).
1 and PD2, the same type [BBB] as the cell DDD (112) that belongs to the patterns PD1 and PD2.
(1)] is set.

【0111】同様に、CPU2は、セルDDD(12
1),DDD(122)にそれぞれ含まれるパターンP
D1,PD2に対して、パターンPD1,PD2の所属
セルであるセルDDD(121),DDD(122)と
同じ種類[BBB(1)]を設定する。更に、CPU2
は、セルDDD(211)〜DDD(222)にそれぞ
れ含まれるパターンPD1,PD2に対して、パターン
PD1,PD2の所属セルであるセルDDD(211)
〜DDD(222)と同じ種類[BBB(2)]を設定
する。
Similarly, the CPU 2 sets the cell DDD (12
1), pattern P included in DDD (122)
The same type [BBB (1)] is set for D1 and PD2 as the cells DDD (121) and DDD (122) that belong to the patterns PD1 and PD2. Furthermore, CPU2
Is a cell DDD (211) which is a cell belonging to the patterns PD1 and PD2 with respect to the patterns PD1 and PD2 included in the cells DDD (211) to DDD (222), respectively.
The same type [BBB (2)] as that of DDD (222) is set.

【0112】CPU2は、図1の図形処理におけるステ
ップ23〜25のループを繰り返し実行し、重なりを検
出する。1回目のループにおいて、先ず、CPU2は、
セルAAAに含まれるストラクチャの枠データを図1の
第2データファイル12から読み込む。図13の最上段
に示すように、セルAAAはセルBBB(1),BBB
(2)を含む。従って、CPU2は、セルBBB
(1),BBB(2)の枠データを第2データファイル
12から読み込む。
The CPU 2 repeatedly executes the loop of steps 23 to 25 in the graphic processing of FIG. 1 to detect an overlap. In the first loop, first, the CPU 2
The frame data of the structure included in the cell AAA is read from the second data file 12 of FIG. As shown at the top of FIG. 13, cell AAA is composed of cells BBB (1), BBB
(2) is included. Therefore, the CPU 2 determines that the cell BBB
The frame data of (1) and BBB (2) is read from the second data file 12.

【0113】次に、CPU2は、読み込んだセルBBB
(1),BBB(2)の枠データに重なりがあるか判定
する。図13の上段に示すように、セルBBB(1),
BBB(2)のセル枠には、重なりがある。また、セル
BBB(1),BBB(2)は、それぞれ独自の種類に
設定されているため、種類が異なる。
Next, the CPU 2 reads the read cell BBB
It is determined whether or not the frame data of (1) and BBB (2) overlap. As shown in the upper part of FIG. 13, cells BBB (1),
The cell frame of BBB (2) has an overlap. Further, the cells BBB (1) and BBB (2) are set to unique types, respectively, and thus have different types.

【0114】従って、2回目のループにおいて、CPU
2は、セルBBB(1)に含まれるストラクチャの枠デ
ータを図1の第2データファイル12から読み込む。図
13の2段目に示すように、セルBBB(1)はセルC
CC(11),CCC(12),CCC(21),CC
C(22)を含む。従って、CPU2は、セルCCC
(11)〜CCC(22)の枠データを第2データファ
イル12から読み込む。
Therefore, in the second loop, the CPU
2 reads the frame data of the structure included in the cell BBB (1) from the second data file 12 in FIG. As shown in the second row of FIG. 13, the cell BBB (1)
CC (11), CCC (12), CCC (21), CC
C (22). Therefore, the CPU 2 sets the cell CCC
(11) to read the frame data of CCC (22) from the second data file 12.

【0115】次に、CPU2は、読み込んだセルCCC
(11)〜CCC(22)の枠データに重なりがあるか
判定する。図13の2段目に示すように、セルCCC
(11)とセルCCC(12)のセル枠には重なりがあ
る。また、セルCCC(12)とセルCCC(21)の
セル枠には重なりがある。更に、セルCCC(21)と
セルCCC(22)のセル枠には重なりがある。
Next, the CPU 2 reads the read cell CCC
It is determined whether the frame data of (11) to CCC (22) overlap. As shown in the second row of FIG.
There is an overlap between the cell frame of (11) and the cell frame of the cell CCC (12). The cell frames of the cell CCC (12) and the cell CCC (21) have an overlap. Further, the cell frames of the cell CCC (21) and the cell CCC (22) have an overlap.

【0116】しかし、セルCCC(11)とセルCCC
(12)の種類はそれぞれ種類[BBB(1)]であり
同じである。また、セルCCC(21)とセルCCC
(22)の種類はそれぞれ種類[BBB(2)]であり
同じである。従って、CPU2は、同じ種類であるセル
CCC(11),CCC(12)間、セルCCC(2
1),CCC(22)間に「重なり無し」と判定する。
However, the cell CCC (11) and the cell CCC
The types of (12) are the types [BBB (1)], which are the same. Also, the cell CCC (21) and the cell CCC
The type of (22) is the type [BBB (2)], which is the same. Therefore, the CPU 2 sets the cell CCC (2) between the cells CCC (11) and CCC (12) of the same type.
1) It is determined that there is no overlap between the CCC (22).

【0117】一方、セルCCC(12)とセルCCC
(21)の種類はそれぞれ種類[BBB(1)],[B
BB(2)]であり異なる。従って、CPU2は、セル
CCC(12),CCC(21)間に「重なり有り」と
判定する。
On the other hand, cell CCC (12) and cell CCC
The types of (21) are types [BBB (1)] and [B
BB (2)]. Therefore, the CPU 2 determines that "there is an overlap" between the cells CCC (12) and CCC (21).

【0118】従って、3回目のループにおいて、CPU
2は、「重なり有り」と判定したセルCCC(12),
CCC(21)にそれぞれ含まれるストラクチャの枠デ
ータを読み込む。図13の3段目に示すように、セルC
CC(12)は、セルDDD(121),DDD(12
2)を含む。セルCCC(21)はセルDDD(21
1),DDD(212)を含む。従って、CPU2は、
セルDDD(121),DDD(122),DDD(2
11),DDD(212)の枠データを第2データファ
イル12から読み込む。
Therefore, in the third loop, the CPU
2 is a cell CCC (12) determined to have “overlapping”,
The frame data of the structure included in the CCC (21) is read. As shown in the third row of FIG.
The CC (12) includes cells DDD (121) and DDD (12
2). Cell CCC (21) is connected to cell DDD (21
1), DDD (212). Therefore, the CPU 2
Cells DDD (121), DDD (122), DDD (2
11), the frame data of DDD (212) is read from the second data file 12.

【0119】次に、CPU2は、読み込んだセルDDD
(121),DDD(122),DDD(211),D
DD(212)の枠データに重なりがあるか判定する。
図13の3段目に示すように、セルDDD(121)と
セルDDD(122)のセル枠には重なりがある。ま
た、セルDDD(122)とセルDDD(211)のセ
ル枠には重なりがある。更に、セルDDD(211)と
セルDDD(212)のセル枠には重なりがある。
Next, the CPU 2 reads the read cell DDD
(121), DDD (122), DDD (211), D
It is determined whether or not the DD (212) frame data has an overlap.
As shown in the third row of FIG. 13, the cell frames of the cell DDD (121) and the cell DDD (122) have an overlap. The cell frames of the cell DDD (122) and the cell DDD (211) have overlap. Further, the cell frames of the cell DDD (211) and the cell DDD (212) have an overlap.

【0120】しかし、セルDDD(121)とセルDD
D(122)の種類はそれぞれ種類[BBB(1)]で
あり同じである。また、セルDDD(211)とセルD
DD(212)の種類はそれぞれ種類[BBB(2)]
であり同じである。従って、CPU2は、同じ種類であ
るセルDDD(121),DDD(122)間、セルD
DD(211),DDD(212)間にそれぞれ「重な
り無し」と判定する。
However, cell DDD (121) and cell DD
The type of D (122) is the type [BBB (1)], which is the same. Also, cell DDD (211) and cell D
Each type of DD (212) is a type [BBB (2)]
And the same. Therefore, the CPU 2 determines whether the cell DDD (121) and the cell DDD (122) of the same type
It is determined that there is no overlap between DD (211) and DDD (212).

【0121】一方、セルDDD(122)とセルDDD
(211)の種類はそれぞれ種類[CCC(11)],
[CCC(12)]であり異なる。従って、CPU2
は、セルDDD(112),DDD(211)間に「重
なり有り」と判定する。
On the other hand, cell DDD (122) and cell DDD
The types of (211) are type [CCC (11)],
[CCC (12)], which is different. Therefore, CPU2
Determines that there is an overlap between the cells DDD (112) and DDD (211).

【0122】従って、4回目のループにおいて、CPU
2は、「重なり有り」と判定したセルDDD(11
2),DDD(211)に含まれるストラクチャの枠デ
ータを第2データファイル12から読み込む。即ち、C
PU2は、図13の最下段に示すように、セルDDD
(112),DDD(211)にそれぞれ含まれるパタ
ーンPD1,PD2の枠データを第2データファイル1
2から読み込む。
Therefore, in the fourth loop, the CPU
2 is the cell DDD (11
2) The frame data of the structure included in the DDD (211) is read from the second data file 12. That is, C
PU2 has a cell DDD as shown at the bottom of FIG.
(112) and the frame data of the patterns PD1 and PD2 included in the DDD (211), respectively.
Read from 2.

【0123】この時、CPU2は、「重なり無し」と判
定したセルDDD(121)とセルDDD(212)に
含まれるストラクチャの枠データを読み込まない。即ち
CPU2は、「重なり無し」と判定したセルに含まれる
枠データを読み込まない。従って、メモリ3等のリソー
スの使用量が全て(セルDDD(111)〜DDD(2
12)の枠データ)を読み込む場合に比べて少ない。
At this time, the CPU 2 does not read the frame data of the structures included in the cell DDD (121) and the cell DDD (212) determined as “no overlap”. That is, the CPU 2 does not read the frame data included in the cell determined as “no overlap”. Therefore, the usage amounts of resources such as the memory 3 are all (cells DDD (111) to DDD (2
12) compared to reading frame data).

【0124】セルDDD(112),DDD(211)
はセルを含まないため、次に読み込むセル枠はない。従
って、CPU2は、各セルDDD(112),DDD
(211)に含まれるパターンPD1,PD2において
重なりを判定する。
Cell DDD (112), DDD (211)
Contains no cells, so there is no next cell frame to read. Therefore, the CPU 2 determines that each of the cells DDD (112), DDD
The overlap is determined in the patterns PD1 and PD2 included in (211).

【0125】この場合、図13の最下段に示すように、
セルDDD(122)のパターンPD2と、セルDDD
(211)のパターンPD1に重なりがある。また、セ
ルDDD(122)のパターンPD1と、セルDDD
(211)のパターンPD2に重なりがある。
In this case, as shown at the bottom of FIG.
The pattern PD2 of the cell DDD (122) and the cell DDD
The pattern PD1 of (211) has an overlap. The pattern PD1 of the cell DDD (122) and the cell DDD
The pattern PD2 of (211) has an overlap.

【0126】そして、セルDDD(122)のパターン
PD1と、セルDDD(211)のパターンPD1はそ
れぞれ種類[CCC(11)],[CCC(12)]で
あり異なる。また、セルDDD(122)のパターンP
D2と、セルDDD(211)のパターンPD2は、は
それぞれ種類[CCC(11)],[CCC(12)]
であり異なる。
The pattern PD1 of the cell DDD (122) and the pattern PD1 of the cell DDD (211) are different types [CCC (11)] and [CCC (12)], respectively. The pattern P of the cell DDD (122)
D2 and the pattern PD2 of the cell DDD (211) have types [CCC (11)] and [CCC (12)], respectively.
Is different.

【0127】従って、CPU2はセルDDD(112)
とセルDDD(211)において「重なり有り」と判定
する。そして、CPU2は、重なりがあるセルDDD
(112)のパターンPD2,PD1と、セルDDD
(211)のパターンPD1,PD2の重なり情報を図
1の第3データファイル13に格納する。
Therefore, the CPU 2 sets the cell DDD (112)
And the cell DDD (211) determines that there is an overlap. Then, the CPU 2 determines that the overlapping cell DDD
(112) pattern PD2, PD1 and cell DDD
The overlapping information of the patterns PD1 and PD2 of (211) is stored in the third data file 13 of FIG.

【0128】以上の処理によって、全ての重なりを重複
することなく検出することができるので、処理に要する
時間が短い。しかも、重なりがあるセルに対して、各セ
ルが同じ種類の場合に「重なり無し」と判断してそのセ
ルに含まれるストラクチャを読み込まないようにしたた
め、読み込むデータ数が少なくなってリソースが不足す
ることがない。
By the above processing, all the overlaps can be detected without overlapping, so that the time required for the processing is short. In addition, for cells that have an overlap, when each cell is of the same type, it is determined that there is no overlap, and the structure included in the cell is not read, so that the number of data to be read is reduced and resources are insufficient. Nothing.

【0129】ところで、従来の方式では、種類が設定さ
れていないため、本実施形態で「重なり無し」と判断し
た枠を「重なり有り」として動作していた。例えば、図
13の2段目において、セルCCC(11)とセルCC
C(12)、セルCCC(21)とセルCC(22)を
従来では「重なり有り」と判断していた。その結果、余
計な重なりも調べることになり、処理に時間がかかる。
また、「重なり無し」とするために、予め重なりを除去
したデータ(新たなセル)を作成する等の方法を行った
りするものもあるが、重なりを除去したデータを作成す
るためにリソース(ディスク資源等)をよけいに消費す
るとともに、処理に時間がかかる。
By the way, in the conventional method, since the type is not set, the frame determined as “no overlap” in the present embodiment is operated as “with overlap”. For example, in the second row of FIG. 13, the cell CCC (11) and the cell CC
C (12), cell CCC (21) and cell CC (22) have conventionally been determined to be "overlapping". As a result, extra overlap is also checked, and the processing takes time.
In addition, in order to make “no overlap”, there is a method of creating data (new cell) from which overlap has been removed in advance, but a resource (disk) is used to create data with overlap removed. Resources, etc.), and processing takes time.

【0130】しかしながら、本実施形態では、各セルの
枠に対して種類を設定し、同じ種類の枠は「重なり無
し」として処理しているため、余計な重なりは調べない
ので、処理時間が短くなる。また、「重なり無し」と判
定したセル枠に含まれるストラクチャを読み込まない、
即ち、「重なり無し」と判定したセル枠と展開しないた
め、その時々に処理するデータ数が少なくなって必要と
するリソース量が少なくなる。更に、予め重なりを除去
したデータを作成する必要がない。そのため、リソース
が不足することがなく、処理時間が短くなる。
However, in the present embodiment, the type is set for each cell frame, and the frames of the same type are processed as “no overlap”, so that no extra overlap is checked, so that the processing time is short. Become. Also, do not read the structure contained in the cell frame determined as "no overlap",
That is, since the cell frame determined as “no overlap” is not expanded, the number of data to be processed at each time is reduced, and the required resource amount is reduced. Furthermore, there is no need to create data from which overlap has been removed in advance. Therefore, there is no shortage of resources, and the processing time is shortened.

【0131】[スイープ法を用いた重なり検出処理]次
に、スイープ法を用いて重なり検出処理を実行する場合
を、図14〜図19を用いて説明する。スイープ法は、
図形の形状や重なり合い等の状態を検出するのに有効な
方法であり、一般的に用いられる。
[Overlap Detection Processing Using Sweep Method] Next, the case where the overlap detection processing is executed using the sweep method will be described with reference to FIGS. The sweep method is
This is an effective method for detecting a state such as a shape of a figure or an overlap, and is generally used.

【0132】図14は、レイアウトデータ61の階層構
造を示す説明図である。図15は、レイアウトデータ6
1を展開した状態を示すレイアウト図である。図16
は、レイアウトデータ61の各階層に含まれるストラク
チャを示すレイアウト図である。
FIG. 14 is an explanatory diagram showing the hierarchical structure of the layout data 61. FIG. 15 shows the layout data 6
FIG. 2 is a layout diagram showing a state in which No. 1 is developed. FIG.
9 is a layout diagram showing structures included in each layer of the layout data 61. FIG.

【0133】図14に示すように、レイアウトデータ6
1は、最上層にセルTOPを備える。セルTOPは、下
層に設けられた2つの同一レイアウトのセルAAA
(1),AAA(2)と、セルBBBを含む。セルAA
A(1)はセルCCC(1)を含み、セルAAA(2)
はセルCCC(2)を含む。各セルCCC(1),CC
C(2)は、それぞれセルEEEとパターンPC1(図
16参照)を含む。セルEEEはパターンPE1,PE
2を含む。
As shown in FIG. 14, layout data 6
1 has a cell TOP in the uppermost layer. The cell TOP is composed of two cells of the same layout, AAA, which are provided in the lower layer.
(1), AAA (2), and cell BBB. Cell AA
A (1) includes cell CCC (1) and cell AAA (2)
Includes cell CCC (2). Each cell CCC (1), CC
C (2) includes a cell EEE and a pattern PC1 (see FIG. 16). Cell EEE has patterns PE1 and PE
2 inclusive.

【0134】前記セルBBBは2つの同一レイアウトの
セルDDD(1),DDD(2)と、パターンPB1,
PB2(図16参照)を含む。セルDDDは、パターン
PD1,PD2(図16参照)を含む。
The cell BBB includes two cells DDD (1) and DDD (2) having the same layout and a pattern PB1,
PB2 (see FIG. 16). Cell DDD includes patterns PD1 and PD2 (see FIG. 16).

【0135】図16には、各階層において重なりがある
ストラクチャに対してハッチングを付してある。セルT
OPに含まれるセルAAA(1),AAA(2),BB
Bは重なり合っている。また、セルBBBに含まれるセ
ルDDD(1),DDD(2)は重なり合っている。
In FIG. 16, hatching is applied to structures having an overlap in each layer. Cell T
Cells AAA (1), AAA (2), BB included in OP
B overlaps. The cells DDD (1) and DDD (2) included in the cell BBB overlap.

【0136】図15には、全ての階層を展開した場合に
重なるストラクチャをハッチングを付して示してある。
図15に示すように、セルCCC(1)に含まれるセル
EEE(1)を構成するパターンPE1と、セルCCC
(2)に含まれるパターンPC1に重なりがある。ま
た、セルDDD(1)に含まれるパターンPD1とセル
DDD(2)に含まれるパターンPD1、セルDDD
(1)に含まれるパターンPD2とセルDDD(2)に
含まれるパターンPD2に重なりがある。
FIG. 15 shows hatched structures that overlap when all the layers are expanded.
As shown in FIG. 15, a pattern PE1 constituting the cell EEE (1) included in the cell CCC (1) and a cell CCC (1).
The pattern PC1 included in (2) has an overlap. The pattern PD1 included in the cell DDD (1), the pattern PD1 included in the cell DDD (2), and the cell DDD
The pattern PD2 included in (1) and the pattern PD2 included in the cell DDD (2) overlap.

【0137】上記のレイアウトデータ61に対してスイ
ープ法を用いた場合について説明する。先ず、CPU2
は、各セルの存在領域をボトムアップにて計算して各セ
ルの枠データを作成する。そして、CPU2は、作成し
た各セルの枠データを第2データファイル12に格納す
る。
The case where the sweep method is used for the layout data 61 will be described. First, CPU2
Calculates the existence area of each cell from the bottom up to create frame data of each cell. Then, the CPU 2 stores the created frame data of each cell in the second data file 12.

【0138】次に、CPU2は、処理対象セルを設定す
る。ここでは、セルTOPを処理対象セルに設定した場
合について説明する。次に、CPU2は、設定した処理
対象セルに基づいて、各セルの種類を設定する。
Next, the CPU 2 sets a cell to be processed. Here, a case where the cell TOP is set as a processing target cell will be described. Next, the CPU 2 sets the type of each cell based on the set processing target cell.

【0139】処理対象セルに設定したセルAAAを最上
階層とした階層構造を構成する各ストラクチャに対し
て、CPU2は以下のように種類を設定する。先ず、C
PU2は、セルTOPが処理対象セルであるため、セル
TOPに独自の種類[TOP]を設定する。
The CPU 2 sets the type of each structure constituting the hierarchical structure with the cell AAA set as the cell to be processed as the uppermost layer as follows. First, C
The PU2 sets a unique type [TOP] in the cell TOP because the cell TOP is a processing target cell.

【0140】次に、CPU2は、セルTOPに含まれる
セルAAA(1),AAA(2),BBBに対して、各
セルの所属セルが処理対象セルであるため、各セルAA
A(1),AAA(2),BBBにそれぞれ独自の種類
[AAA(1)][AAA(2)],[BBB]を設定
する。
Next, since the cells belonging to the cells AAA (1), AAA (2) and BBB included in the cell TOP are the cells to be processed, the CPU 2
Unique types [AAA (1)], [AAA (2)], and [BBB] are set for A (1), AAA (2), and BBB, respectively.

【0141】そして、CPU2は、セルAAA(1)以
下の階層に含まれる各セル,各パターンに対して、所属
セルであるセルAAA(1)と同じ種類[AAA
(1)]を設定する。また、CPU2は、セルAAA
(2)以下の階層に含まれる各セル,各パターンに対し
て、所属セルであるセルAAA(2)と同じ種類[AA
A(2)]を設定する。更に、CPU2は、セルBBB
以下の階層に含まれる各セル,各パターンに対して、所
属セルであるセルBBBと同じ種類[BBB]を設定す
る。
Then, for each cell and each pattern included in the hierarchy below the cell AAA (1), the CPU 2 determines the same type [AAA] as the cell AAA (1) which belongs to the cell.
(1)] is set. Further, the CPU 2 executes the cell AAA
(2) For each cell and each pattern included in the following hierarchy, the same type [AA] as the cell AAA (2) that belongs to the cell.
A (2)]. Further, the CPU 2 executes the cell BBB
The same type [BBB] as the cell BBB to which the cell belongs is set for each cell and each pattern included in the following hierarchy.

【0142】次に、CPU2は、スイープラインSLを
処理対象セルとしたセルTOPに対して、セル枠の左辺
から右辺に向かってスイープする。尚、スイープライン
SLを処理対象セルに設定したセル枠の右辺から左辺に
向かってスイープしてもよい。
Next, the CPU 2 sweeps from the left side to the right side of the cell frame with respect to the cell TOP having the sweep line SL as a processing target cell. Note that the sweep line SL may be swept from the right side to the left side of the cell frame set as the processing target cell.

【0143】次に、CPU2は、スイープラインSLに
おいてX座標が同じ複数のセル枠が存在する場合、それ
らの複数のセル枠が重なり合うと判定する。そして、C
PU2は、重なると判定した複数のセルのセル枠を読み
込む。
Next, when there are a plurality of cell frames having the same X coordinate on the sweep line SL, the CPU 2 determines that the plurality of cell frames overlap. And C
PU2 reads the cell frames of a plurality of cells determined to overlap.

【0144】例えば、図17のスイープラインSLの位
置において、セルAAA(1),AAA(2),BBB
が重なっている。従って、CPU2は、セルAAA
(A),AAA(2),BBBのセル枠を読み込む。
For example, at the position of sweep line SL in FIG. 17, cells AAA (1), AAA (2), BBB
Are overlapping. Therefore, the CPU 2 determines that the cell AAA
The cell frames of (A), AAA (2), and BBB are read.

【0145】ここで、セル枠AAA(1)とセル枠AA
A(2)、セル枠AAA(2)とセル枠BBBは、それ
ぞれ幾何学的に重なりがある。また、各セル枠AAA
(1),AAA(2),BBBは、所属セルが処理対象
セルであるため、それぞれ独自の種類が設定されてい
る。従って、CPU2は、各セル枠AAA(1),AA
A(2),BBBに含まれるストラクチャ、即ち各セル
の1つ下の階層のセル,パターンのセル枠を読み込む。
そして、CPU2は、読み込んだ全てのセル枠の名前等
の情報を格納したワークリストをメモリ3に作成する。
Here, the cell frame AAA (1) and the cell frame AAA
A (2), the cell frame AAA (2), and the cell frame BBB have a geometrical overlap. Also, each cell frame AAA
(1), AAA (2), and BBB have their own types because the cell to which they belong is the cell to be processed. Therefore, the CPU 2 determines that each cell frame AAA (1), AAA
A (2), the structure included in the BBB, that is, the cell of the next lower layer of each cell and the cell frame of the pattern are read.
Then, the CPU 2 creates a work list in the memory 3 in which information such as the names of all the read cell frames is stored.

【0146】図18に示すように、セルAAA(1)は
セルCCC(1)を含み、セルAAA(2)はセルCC
C(2)を含む。また、セルBBBはセルDDD
(1),DDD(2)とパターンPB1,PB2を含
む。従って、CPU2は、ワークリストに、セルCCC
(1),CCC(2),セルDDD(1),DDD
(2)と、パターンPB1,PB2の情報を格納する。
As shown in FIG. 18, cell AAA (1) includes cell CCC (1), and cell AAA (2) includes cell CCC (1).
C (2). The cell BBB is the cell DDD
(1), DDD (2) and patterns PB1 and PB2. Therefore, the CPU 2 stores the cell CCC in the work list.
(1), CCC (2), cell DDD (1), DDD
(2) and the information of the patterns PB1 and PB2 are stored.

【0147】それぞれのセルCCC(1),CCC
(2),DDD(1),DDD(1)は、種類[AAA
(1)],[AAA(2)],[BBB],[BBB]
を持つ。従って、CPU2は、セルCCC(1)とセル
CCC(2)、セルCCC(2)とセルDDD(1)は
「重なり有り」と判定する。また、CPU2は、セルD
DD(1)とセルDDD(2)は「重なり無し」と判定
する。
Each cell CCC (1), CCC
(2), DDD (1) and DDD (1) are of type [AAA
(1)], [AAA (2)], [BBB], [BBB]
have. Therefore, the CPU 2 determines that the cell CCC (1) and the cell CCC (2) and the cell CCC (2) and the cell DDD (1) are “overlapping”. Further, the CPU 2 determines that the cell D
DD (1) and cell DDD (2) are determined to be "no overlap".

【0148】CPU2は、上記の処理を階層構造に構成
されたレイアウトデータ61に対して、上層から下層に
向かって繰り返し実行する。すると、ワークリストに
は、パターンのみが残る。そこで、CPU2は、残った
パターンに重なりがないかを調べる。
The CPU 2 repeatedly executes the above processing on the layout data 61 having a hierarchical structure from the upper layer to the lower layer. Then, only the pattern remains in the work list. Therefore, the CPU 2 checks whether the remaining patterns overlap.

【0149】ここで、図19に示すように、セルEEE
(1)に含まれるパターンPE2と、セルCCC(2)
に含まれるパターンPC1に重なりがあり、それぞれに
異なる種類[AAA(1)],[AAA(2)]が設定
されている。従って、CPU2は、パターンPE2とパ
ターンPC1を「重なり有り」と判定する。そして、C
PU2は、重なりがあるパターンPE1,PC1の重な
り情報を図1の第3データファイル13に格納する。
Here, as shown in FIG. 19, the cell EEE
Pattern PE2 included in (1) and cell CCC (2)
Are different from each other, and different types [AAA (1)] and [AAA (2)] are set for each of them. Therefore, the CPU 2 determines that the pattern PE2 and the pattern PC1 are "overlapping". And C
The PU2 stores the overlapping information of the overlapping patterns PE1 and PC1 in the third data file 13 of FIG.

【0150】上記のように、スイープ法を用いることに
より、重なりのあるパターンを容易に検出することがで
きるので、処理時間が短くなる。以上記述したように、
本実施の形態によれば、以下の効果を奏する。
As described above, by using the sweep method, an overlapping pattern can be easily detected, and the processing time is shortened. As described above,
According to the present embodiment, the following effects can be obtained.

【0151】(1)入力したレイアウトデータに対し
て、各セル毎に展開した時の存在領域を設定し、各存在
領域の領域枠,パターンの枠よりなるセル枠の情報を作
成し、レイアウトデータに含まれるセルを順次処理対象
セルに設定し、処理対象セル以下の階層のセル,パター
ンのセル枠に対して階層構造に応じた種類を設定する。
そして、幾何学的に重なりがあるセル枠,パターンに対
して、異なる種類が設定されている場合には重なり有り
と判定し、セル枠同士又はセル枠とパターンに重なり有
りと判定した場合には重なりがあるセル枠に含まれる下
層のセル枠,パターンを更に読み込み、パターン同士に
重なりがあると判定した場合には該パターンの重なりを
確定するようにした。
(1) With respect to the input layout data, an existing area when expanded for each cell is set, and information of a cell frame including an area frame of each existing area and a pattern frame is created. Are sequentially set as cells to be processed, and the type according to the hierarchical structure is set for the cells of the hierarchy below the cell to be processed and the cell frame of the pattern.
If different types are set for cell frames and patterns that have geometrical overlap, it is determined that there is overlap, and if it is determined that there is overlap between cell frames or between cell frames and patterns, The lower cell frame and the pattern included in the cell frame having the overlap are further read, and when it is determined that the patterns overlap each other, the overlap of the patterns is determined.

【0152】その結果、各セルの枠に対して種類を設定
し、同じ種類の枠は「重なり無し」として処理している
ため、余計な重なりは調べないので、処理時間を短くす
ることができる。
As a result, the type is set for each cell frame, and the frames of the same type are processed as “no overlap”, so that no extra overlap is checked, so that the processing time can be shortened. .

【0153】(2)また、「重なり無し」と判定したセ
ル枠に含まれるストラクチャを読み込まない、即ち、
「重なり無し」と判定したセル枠と展開しないため、そ
の時々に処理するデータ数が少なくなって必要とするリ
ソース量を少なくすることができる。
(2) In addition, the structure contained in the cell frame determined as “no overlap” is not read, ie,
Since the cell frame determined as “no overlap” is not expanded, the number of data to be processed at each time is reduced, and the required resource amount can be reduced.

【0154】(3)更に、予め重なりを除去したデータ
を作成する必要がない。そのため、リソースが不足する
ことがなく、処理時間を短くすることができる。 (4)セル枠に対しては、そのセル枠又はそのセル枠の
所属セルが処理対象セルの場合にはそのセル枠に対して
独自の種類を設定し、そのセル枠又はそのセル枠の所属
セルが処理対象セルではない場合には所属セルと同じ種
類を設定する。また、パターンに対しては、所属セルと
同じ種類を設定するようにした。そのため、レイアウト
データの階層構造に応じた種類を容易に設定することが
できる。
(3) Further, there is no need to create data from which overlap has been removed in advance. Therefore, the processing time can be shortened without running out of resources. (4) For a cell frame, if the cell frame or the cell to which the cell frame belongs is a processing target cell, a unique type is set for the cell frame, and the cell frame or the cell frame belongs to. If the cell is not the processing target cell, the same type as the belonging cell is set. Also, the same type as the belonging cell is set for the pattern. Therefore, the type according to the hierarchical structure of the layout data can be easily set.

【0155】(4)図形の状態を検出するためにスイー
プ法を用いたため、重なりのあるパターンを容易に検出
することができる。そのため、図形処理の処理時間が短
くなり、処理の高速化を図ることができる。
(4) Since the sweep method is used to detect the state of the figure, overlapping patterns can be easily detected. Therefore, the processing time of the graphic processing is shortened, and the processing speed can be increased.

【0156】[0156]

【発明の効果】以上詳述したように、本発明によれば、
処理の高速化とリソース量の低減を図ることが可能な図
形処理方法、図形処理装置、及び、記録媒体を提供する
ことができる。
As described in detail above, according to the present invention,
It is possible to provide a graphic processing method, a graphic processing apparatus, and a recording medium capable of achieving high-speed processing and reducing the amount of resources.

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

【図1】 図形処理のフローチャート。FIG. 1 is a flowchart of graphic processing.

【図2】 種類設定処理のフローチャート。FIG. 2 is a flowchart of a type setting process.

【図3】 一実施形態の図形処理装置の概略構成図。FIG. 3 is a schematic configuration diagram of a graphic processing apparatus according to an embodiment.

【図4】 図形の階層構造を示す説明図。FIG. 4 is an explanatory diagram showing a hierarchical structure of a graphic.

【図5】 図形の階層構造を説明するための斜視図。FIG. 5 is a perspective view illustrating a hierarchical structure of a graphic.

【図6】 データの関連を示す説明図。FIG. 6 is an explanatory diagram showing the relationship between data.

【図7】 図形の階層構造を示す説明図。FIG. 7 is an explanatory diagram showing a hierarchical structure of a graphic.

【図8】 展開された図形を示すレイアウト図。FIG. 8 is a layout diagram showing a developed figure.

【図9】 図形の階層構造を示すレイアウト図。FIG. 9 is a layout diagram showing a hierarchical structure of a graphic.

【図10】 図形処理を説明するためのレイアウト図。FIG. 10 is a layout diagram for explaining graphic processing.

【図11】 図形の展開処理を示すレイアウト図。FIG. 11 is a layout diagram showing a graphic development process.

【図12】 図形の展開処理を示すレイアウト図。FIG. 12 is a layout diagram showing a graphic development process.

【図13】 図形の展開処理を示すレイアウト図。FIG. 13 is a layout diagram showing a graphic development process.

【図14】 別の図形の階層構造を示す説明図。FIG. 14 is an explanatory diagram showing a hierarchical structure of another graphic.

【図15】 別の展開された図形を示すレイアウト図。FIG. 15 is a layout diagram showing another developed figure.

【図16】 別の図形の階層構造を示すレイアウト図。FIG. 16 is a layout diagram showing a hierarchical structure of another graphic.

【図17】 別の図形処理を説明するためのレイアウト
図。
FIG. 17 is a layout diagram for explaining another graphic processing.

【図18】 別の図形の展開処理を示すレイアウト図。FIG. 18 is a layout diagram showing another graphic development process.

【図19】 別の図形の展開処理を示すレイアウト図。FIG. 19 is a layout diagram showing another graphic development process.

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

11 第1データファイル(レイアウトデータ) 13 第3データファイル(重なり情報) 21 領域枠作成手段 22 処理対象セル設定手段 23 データ読み込み手段 24 種類設定手段 25 第1重なり判定手段 26 第2重なり判定手段 27 重なり確定手段 Reference Signs List 11 first data file (layout data) 13 third data file (overlap information) 21 area frame creation means 22 processing target cell setting means 23 data reading means 24 type setting means 25 first overlap judgment means 26 second overlap judgment means 27 Overlap confirmation means

Claims (9)

【特許請求の範囲】[Claims] 【請求項1】 セル及びパターンが階層構造に構成され
たレイアウトデータに対して、パターンの幾何学的な重
なりを検出する図形処理方法であって、 前記レイアウトデータを入力し、各セル毎に展開した時
の存在領域を設定し、各存在領域の領域枠,パターンの
枠よりなるセル枠の情報を作成し、 前記レイアウトデータに含まれるセルを順次処理対象セ
ルに設定し、 前記処理対象セル以下の階層のセル,パターンのセル枠
に対して階層構造に応じた種類を設定し、 前記幾何学的に重なりがあるセル枠,パターンに対し
て、異なる種類が設定されている場合には重なり有りと
判定し、セル枠同士又はセル枠とパターンに重なり有り
と判定した場合には重なりがあるセル枠に含まれる下層
のセル枠,パターンを更に読み込み、パターン同士に重
なりがあると判定した場合には該パターンの重なりを確
定するようにした図形処理方法。
1. A graphic processing method for detecting geometrical overlap of a pattern with respect to layout data in which cells and patterns are arranged in a hierarchical structure, wherein the layout data is input and expanded for each cell. Setting the existence area at the time of making, creating information of a cell frame composed of an area frame of each existence area and a pattern frame, sequentially setting cells included in the layout data as cells to be processed, The type corresponding to the hierarchical structure is set for the cell frame of the hierarchy and the cell frame of the pattern, and there is an overlap when the different type is set for the cell frame and the pattern having the geometrical overlap. If it is determined that there is overlap between the cell frames or between the cell frame and the pattern, the lower layer cell frames and patterns included in the overlapping cell frames are further read, and the Graphic processing method to determine the overlapping of the pattern in the case of determining that it is.
【請求項2】 セル及びパターンが階層構造に構成され
たレイアウトデータに対して、パターンの幾何学的な重
なりを検出する図形処理方法であって、 前記レイアウトデータを入力し、各セル毎に展開した時
の存在領域を作成し、作成した各存在領域の領域枠,パ
ターンの枠よりなるセル枠の情報を階層構造にてファイ
ルに格納するステップと、 前記レイアウトデータに含まれるセルを順次処理対象セ
ルに設定するステップと、 前記処理対象セル以下の階層のセル,パターンのセル枠
に対して階層構造に応じた種類を設定するステップと、 前記処理対象セル、又は重なり有りと判定したセル枠に
含まれるセル枠,パターンを読み込むステップと、 前記新たに読み込んだセル枠のうち、種類が異なるセル
枠同士、又はセル枠とパターンに重なりがあるか判定す
るステップと、 前記新たに読み込んだセル枠に重なりがない場合に、前
記読み込んだパターンのうち、種類の異なるパターンに
重なりがあるか判定するステップと、 前記重なり有りと判定されたパターンの重なりを確定
し、幾何学的に重なるパターンの重なり情報を含むテー
ブルを作成するステップを備えた図形処理方法。
2. A graphic processing method for detecting a geometrical overlap of a pattern with respect to layout data in which cells and patterns are configured in a hierarchical structure, wherein the layout data is input and expanded for each cell. Creating the existence area at the time of the execution, storing the information of the created cell frame including the area frame and the pattern frame in the file in a hierarchical structure, and sequentially processing the cells included in the layout data. Setting a cell, setting a type according to a hierarchical structure for a cell of a hierarchy below the processing target cell, and a cell frame of a pattern, and setting the type of the processing target cell or the cell frame determined to have an overlap. Reading the included cell frames and patterns; and, among the newly read cell frames, overlapping cell frames of different types or overlapping with the cell frames and patterns. Determining whether there is an overlap; and determining whether there is an overlap with a different type of pattern among the read patterns when the newly read cell frame has no overlap; and determining that the overlap exists. A graphic processing method comprising the steps of: determining a pattern overlap; and creating a table including information on geometrically overlapping patterns.
【請求項3】 請求項1又は2に記載の図形処理方法に
おいて、 前記セル枠,パターンに対して種類を設定する場合に、 セル枠に対しては、 該セル枠又は該セル枠の所属セルが処理対象セルの場合
には該セル枠に対して独自の種類を設定し、 該セル枠又は該セル枠の所属セルが処理対象セルではな
い場合には所属セルと同じ種類を設定し、 パターンに対しては、所属セルと同じ種類を設定するよ
うにした図形処理方法。
3. The graphic processing method according to claim 1, wherein when a type is set for the cell frame and the pattern, the cell frame or a cell belonging to the cell frame is set for the cell frame. If is a cell to be processed, a unique type is set for the cell frame. If the cell frame or the cell to which the cell frame belongs is not a cell to be processed, the same type as the belonging cell is set. Is a graphic processing method that sets the same type as the belonging cell.
【請求項4】 請求項1乃至3のうちの何れか1項に記
載の図形処理方法において、 前記処理対象セルに対して、該スイープ法を用いて幾何
学的に重なるセル又はパターンを検出し、検出したセル
枠,パターンにおいて重なりを判定するようにした図形
処理方法。
4. The graphic processing method according to claim 1, wherein a cell or pattern that geometrically overlaps with the processing target cell is detected by using the sweep method. , A graphic processing method for judging an overlap in a detected cell frame or pattern.
【請求項5】 セル及びパターンが階層構造に構成され
たレイアウトデータに対して、パターンの幾何学的な重
なりを検出する図形処理装置であって、 前記レイアウトデータを入力し、各セル毎に展開した時
の存在領域を設定し、各存在領域の領域枠,パターンの
枠よりなるセル枠の情報を作成する領域枠作成手段と、 前記レイアウトデータに含まれるセルを順次処理対象セ
ルに設定する処理対象セル設定手段と、 前記処理対象セル以下の階層のセル,パターンのセル枠
に対して階層構造に応じた種類を設定する種類設定手段
とを備え、 前記幾何学的に重なりがあるセル枠,パターンに対し
て、異なる種類が設定されている場合には重なり有りと
判定し、セル枠同士又はセル枠とパターンに重なり有り
と判定した場合には重なりがあるセル枠に含まれる下層
のセル枠,パターンを更に読み込み、パターン同士に重
なりがあると判定した場合には該パターンの重なりを確
定するようにした図形処理装置。
5. A graphic processing device for detecting a geometrical overlap of a pattern with respect to layout data in which cells and patterns are arranged in a hierarchical structure, wherein the layout data is input and expanded for each cell. Area frame creation means for setting the existence area at the time of performing, and creating information of a cell frame composed of an area frame of each existence area and a pattern frame, and a process of sequentially setting cells included in the layout data as cells to be processed A target cell setting means, and a type setting means for setting a type according to a hierarchical structure to a cell of a hierarchy below the processing target cell and a cell frame of a pattern, wherein the geometrically overlapping cell frame; If a different type is set for the pattern, it is determined that there is an overlap. Further reading, graphics processing apparatus adapted to determine the overlapping of the pattern in the case of determining that there is an overlap in the pattern between the underlying cell frame, patterns included in the.
【請求項6】 セル及びパターンが階層構造に構成され
たレイアウトデータに対して、パターンの幾何学的な重
なりを検出する図形処理装置であって、 前記レイアウトデータを入力し、各セル毎に展開した時
の存在領域を作成し、作成した各存在領域の領域枠,パ
ターンの枠よりなるセル枠の情報を階層構造にてファイ
ルに格納する領域枠作成手段と、 前記レイアウトデータに含まれるセルを順次処理対象セ
ルに設定する処理対象セル設定手段と、 前記処理対象セル以下の階層のセル,パターンのセル枠
に対して階層構造に応じた種類を設定する種類設定手段
と、 前記処理対象セル、又は重なり有りと判定したセル枠に
含まれるセル枠,パターンを読み込むデータ読み込み手
段と、 前記新たに読み込んだセル枠のうち、種類が異なるセル
枠同士、又はセル枠とパターンに重なりがあるか判定す
る第1重なり判定手段と、 前記新たに読み込んだセル枠に重なりがない場合に、前
記読み込んだパターンのうち、種類の異なるパターンに
重なりがあるか判定する第2重なり判定手段と、 前記重なり有りと判定されたパターンの重なりを確定
し、幾何学的に重なるパターンの重なり情報を含むテー
ブルを作成する重なり確定手段とを備えた図形処理装
置。
6. A graphic processing apparatus for detecting a geometrical overlap of a pattern with respect to layout data in which cells and patterns are arranged in a hierarchical structure, wherein the layout data is input and expanded for each cell. Area frame creating means for creating an existing area at the time of the creation, storing information of the created area frame of each existing area and a cell frame composed of a pattern frame in a file in a hierarchical structure, and a cell included in the layout data. A processing target cell setting means for sequentially setting the processing target cells; a type setting means for setting a type according to a hierarchical structure with respect to a cell of a hierarchy below the processing target cell and a cell frame of a pattern; Or data reading means for reading a cell frame and a pattern included in the cell frame determined to have an overlap, and a cell frame of a different type among the newly read cell frames. First overlap determining means for determining whether a pattern overlaps with a cell frame or a cell frame, and when the newly read cell frame has no overlap, among the read patterns, a different type of pattern has a overlap. A graphic processing apparatus comprising: a second overlap determination unit that determines whether the overlap is determined; and an overlap determination unit that determines the overlap of the patterns determined to have the overlap and creates a table including overlap information of the geometrically overlapped patterns.
【請求項7】 請求項5又は6に記載の図形処理装置に
おいて、 前記種類設定手段において、 セル枠に対しては、 該セル枠又は該セル枠の所属セルが処理対象セルの場合
には該セル枠に対して独自の種類を設定し、 該セル枠又は該セル枠の所属セルが処理対象セルではな
い場合には所属セルと同じ種類を設定し、 パターンに対しては、所属セルと同じ種類を設定するよ
うにした図形処理装置。
7. The graphic processing device according to claim 5, wherein the type setting means includes: for a cell frame, when the cell frame or a cell belonging to the cell frame is a cell to be processed. Set a unique type for the cell frame. If the cell frame or the cell to which the cell frame belongs is not the processing target cell, set the same type as the belonging cell. A graphic processing device for setting the type.
【請求項8】 請求項5乃至7のうちの何れか1項に記
載の図形処理装置において、 前記処理対象セルに対して、該スイープ法を用いて幾何
学的に重なるセル又はパターンを検出し、検出したセル
枠,パターンにおいて重なりを判定するようにした図形
処理装置。
8. The graphic processing device according to claim 5, wherein a cell or pattern that geometrically overlaps with the processing target cell is detected using the sweep method. And a graphic processing device for determining the overlap in the detected cell frames and patterns.
【請求項9】 請求項1乃至4のうちの何れか1項に記
載の図形処理方法にて重なりを検出する図形処理プログ
ラムを記録した記録媒体。
9. A recording medium storing a graphic processing program for detecting an overlap by the graphic processing method according to claim 1. Description:
JP9262118A 1997-09-26 1997-09-26 Graphic processing method, graphic processor and recording medium Withdrawn JPH11102380A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9262118A JPH11102380A (en) 1997-09-26 1997-09-26 Graphic processing method, graphic processor and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9262118A JPH11102380A (en) 1997-09-26 1997-09-26 Graphic processing method, graphic processor and recording medium

Publications (1)

Publication Number Publication Date
JPH11102380A true JPH11102380A (en) 1999-04-13

Family

ID=17371307

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9262118A Withdrawn JPH11102380A (en) 1997-09-26 1997-09-26 Graphic processing method, graphic processor and recording medium

Country Status (1)

Country Link
JP (1) JPH11102380A (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7240305B2 (en) 2004-06-02 2007-07-03 Lippincott George P OPC conflict identification and edge priority system
US7367009B2 (en) 2000-07-10 2008-04-29 Mentor Graphics Corporation Convergence technique for model-based optical and process correction
US7412676B2 (en) 2000-06-13 2008-08-12 Nicolas B Cobb Integrated OPC verification tool
US7459248B2 (en) 2005-02-24 2008-12-02 James Word Performing OPC on structures with virtual edges
US7536660B2 (en) 2004-02-24 2009-05-19 Konstantinos Adam OPC simulation model using SOCS decomposition of edge fragments
US7539954B2 (en) 2004-02-24 2009-05-26 Konstantinos Adam OPC simulation model using SOCS decomposition of edge fragments
US7716624B2 (en) 2003-12-17 2010-05-11 Emile Y Sahouria Mask creation with hierarchy management using cover cells
US7716614B2 (en) 2002-06-24 2010-05-11 Kauth Thomas H Hierarchical feature extraction for electrical interaction calculations
US7861207B2 (en) 2004-02-25 2010-12-28 Mentor Graphics Corporation Fragmentation point and simulation site adjustment for resolution enhancement techniques
US7945871B2 (en) 2000-06-13 2011-05-17 Cobb Nicolas B Integrated OPC verification tool

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7412676B2 (en) 2000-06-13 2008-08-12 Nicolas B Cobb Integrated OPC verification tool
US7945871B2 (en) 2000-06-13 2011-05-17 Cobb Nicolas B Integrated OPC verification tool
US7367009B2 (en) 2000-07-10 2008-04-29 Mentor Graphics Corporation Convergence technique for model-based optical and process correction
US7716614B2 (en) 2002-06-24 2010-05-11 Kauth Thomas H Hierarchical feature extraction for electrical interaction calculations
US8863051B2 (en) 2002-06-24 2014-10-14 Mentor Graphics Corporation Hierarchical feature extraction for electrical interaction calculations
US8510690B2 (en) 2002-06-24 2013-08-13 Mentor Graphics Corporation Hierarchical feature extraction for electrical interaction calculations
US9292643B2 (en) 2003-12-17 2016-03-22 Mentor Graphics Corporation Mask creation with hierarchy management using cover cells
US9996651B2 (en) 2003-12-17 2018-06-12 Mentor Graphics Corporation Mask creation with hierarchy management using cover cells
US7716624B2 (en) 2003-12-17 2010-05-11 Emile Y Sahouria Mask creation with hierarchy management using cover cells
US7536660B2 (en) 2004-02-24 2009-05-19 Konstantinos Adam OPC simulation model using SOCS decomposition of edge fragments
US7539954B2 (en) 2004-02-24 2009-05-26 Konstantinos Adam OPC simulation model using SOCS decomposition of edge fragments
US9361422B2 (en) 2004-02-25 2016-06-07 Mentor Graphics Corporation Fragmentation point and simulation site adjustment for resolution enhancement techniques
US8566753B2 (en) 2004-02-25 2013-10-22 Mentor Graphics Corporation Fragmentation point and simulation site adjustment for resolution enhancement techniques
US9703922B2 (en) 2004-02-25 2017-07-11 Mentor Graphics Corporation Fragmentation point and simulation site adjustment for resolution enhancement techniques
US7861207B2 (en) 2004-02-25 2010-12-28 Mentor Graphics Corporation Fragmentation point and simulation site adjustment for resolution enhancement techniques
US10354044B2 (en) 2004-02-25 2019-07-16 Mentor Graphics Corporation Fragmentation point and simulation site adjustment for resolution enhancement techniques
US8806390B2 (en) 2004-06-02 2014-08-12 Mentor Graphics Corporation OPC conflict identification and edge priority system
US7240305B2 (en) 2004-06-02 2007-07-03 Lippincott George P OPC conflict identification and edge priority system
US7865863B2 (en) 2004-06-02 2011-01-04 Mentor Graphics Corporation OPC conflict identification and edge priority system
US7459248B2 (en) 2005-02-24 2008-12-02 James Word Performing OPC on structures with virtual edges

Similar Documents

Publication Publication Date Title
US6598206B2 (en) Method and system of modifying integrated circuit power rails
US7480878B2 (en) Method and system for layout versus schematic validation of integrated circuit designs
JPH04372134A (en) Semiconductor device and manufacture thereof
US8954915B2 (en) Structured placement of hierarchical soft blocks during physical synthesis of an integrated circuit
JPH11102380A (en) Graphic processing method, graphic processor and recording medium
JP2006301961A (en) Automatic floor planning technique for semiconductor integrated circuit
US6167555A (en) System and method for converting polygon-based wires of an integrated circuit design to path-based wires
US8539416B1 (en) Methods, systems, and articles of manufacture for creating a hierarchical output for an operation in an electronic design
US8032855B1 (en) Method and apparatus for performing incremental placement on a structured application specific integrated circuit
KR100521935B1 (en) Layout data saving method, layout data converting device and graphic verifying device
JP3027949B2 (en) Automatic wiring method of semiconductor integrated circuit
US10970452B2 (en) System for designing semiconductor circuit and operating method of the same
JP2851152B2 (en) Graphic processing unit
JP2910730B2 (en) Hierarchical layout design method and hierarchical layout design device
JP4139236B2 (en) Timing analysis program
JP4119504B2 (en) Wiring prohibited area setting method
CN108346170A (en) The method for padding gap and device of electronic map
JP3132554B2 (en) Automatic layout design method and apparatus for semiconductor device
JP2648528B2 (en) LSI design method
JP3076269B2 (en) Automatic wiring method
JPH03236262A (en) Processing method for graphic
JP2000315220A (en) Plotting data verifying method, manufacture of photomask and recording medium
JP2004118649A (en) Generating method and device of menu selectable test program tool
CN115455894A (en) Wiring method and device, computing device and storage medium
CN113255283A (en) Global wiring method for rapidly removing closed loop and redundant node

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: 20041207