JPH11102380A - 図形処理方法、図形処理装置、及び、記録媒体 - Google Patents
図形処理方法、図形処理装置、及び、記録媒体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
Links
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
(57)【要約】
【課題】処理の高速化とリソース量の低減を図ることの
できる図形処理方法を提供すること。 【解決手段】入力したレイアウトデータに対して、各セ
ル毎に展開した時の存在領域を設定し、各存在領域の領
域枠,パターンの枠よりなるセル枠の情報を作成し、レ
イアウトデータに含まれるセルを順次処理対象セルに設
定し、処理対象セル以下の階層のセル,パターンのセル
枠に対して階層構造に応じた種類を設定する。そして、
幾何学的に重なりがあるセル枠,パターンに対して、異
なる種類が設定されている場合には重なり有りと判定
し、セル枠同士又はセル枠とパターンに重なり有りと判
定した場合には重なりがあるセル枠に含まれる下層のセ
ル枠,パターンを更に読み込み、パターン同士に重なり
があると判定した場合には該パターンの重なりを確定す
る。
できる図形処理方法を提供すること。 【解決手段】入力したレイアウトデータに対して、各セ
ル毎に展開した時の存在領域を設定し、各存在領域の領
域枠,パターンの枠よりなるセル枠の情報を作成し、レ
イアウトデータに含まれるセルを順次処理対象セルに設
定し、処理対象セル以下の階層のセル,パターンのセル
枠に対して階層構造に応じた種類を設定する。そして、
幾何学的に重なりがあるセル枠,パターンに対して、異
なる種類が設定されている場合には重なり有りと判定
し、セル枠同士又はセル枠とパターンに重なり有りと判
定した場合には重なりがあるセル枠に含まれる下層のセ
ル枠,パターンを更に読み込み、パターン同士に重なり
があると判定した場合には該パターンの重なりを確定す
る。
Description
【0001】
【発明の属する技術分野】本発明は、半導体集積回路装
置のパターンデータにおける階層間の重なりを容易に認
識することができる図形処理方法、図形処理装置、及
び、記録媒体に関するものである。
置のパターンデータにおける階層間の重なりを容易に認
識することができる図形処理方法、図形処理装置、及
び、記録媒体に関するものである。
【0002】近年の半導体集積回路装置(LSI)は高
集積化が進められ、それに伴いLSIの設計データのデ
ータ量も膨大になってきているため、データを記憶する
磁気ディスク装置等の容量が不足するおそれがある。ま
た、LSIのレイアウト検証やEBデータ作成処理に必
要となる図形処理にかかる時間が長くなってきている。
リソース量の増加や処理時間の長期化はコストアップを
招くことから、図形処理に要する時間の短縮とリソース
量の低減が要求されている。
集積化が進められ、それに伴いLSIの設計データのデ
ータ量も膨大になってきているため、データを記憶する
磁気ディスク装置等の容量が不足するおそれがある。ま
た、LSIのレイアウト検証やEBデータ作成処理に必
要となる図形処理にかかる時間が長くなってきている。
リソース量の増加や処理時間の長期化はコストアップを
招くことから、図形処理に要する時間の短縮とリソース
量の低減が要求されている。
【0003】
【従来の技術】従来、レイアウト検証やEBデータ作成
処理等に必要となる図形処理は、LSIのレイアウトデ
ータから図形の重なりを調べ、重なり合う図形に対して
図形論理演算を行うことにより、検証や作成処理に必要
となる図形を作成する。そして、作成した図形に基づい
てレイアウト検証やEBデータ作成処理等が行われてい
る。
処理等に必要となる図形処理は、LSIのレイアウトデ
ータから図形の重なりを調べ、重なり合う図形に対して
図形論理演算を行うことにより、検証や作成処理に必要
となる図形を作成する。そして、作成した図形に基づい
てレイアウト検証やEBデータ作成処理等が行われてい
る。
【0004】
【発明が解決しようとする課題】LSIのレイアウトデ
ータは、階層構造にて構成され、設計効率の向上やデー
タ量の削減が図られている。そのようなレイアウトデー
タは実際には重なり合うパターンが異なる階層に存在し
たり同一階層にある他のセルに含まれるため、パターン
の重なりがすぐには判別できない場合がある。
ータは、階層構造にて構成され、設計効率の向上やデー
タ量の削減が図られている。そのようなレイアウトデー
タは実際には重なり合うパターンが異なる階層に存在し
たり同一階層にある他のセルに含まれるため、パターン
の重なりがすぐには判別できない場合がある。
【0005】そこで、レイアウトデータの全てのパター
ンデータを同一階層に展開して図形論理演算を行う方法
がある。しかし、この方法では、複数使用しているセル
をその使用数分だけ設けて展開する事になるためパター
ン数が多くなってデータ量が膨大となり、ディスク装置
等に全てのデータが格納しきれない、所謂リソース量が
不足する。また、データ量が多くなると処理速度の低下
を招き、処理時間が長くなる。
ンデータを同一階層に展開して図形論理演算を行う方法
がある。しかし、この方法では、複数使用しているセル
をその使用数分だけ設けて展開する事になるためパター
ン数が多くなってデータ量が膨大となり、ディスク装置
等に全てのデータが格納しきれない、所謂リソース量が
不足する。また、データ量が多くなると処理速度の低下
を招き、処理時間が長くなる。
【0006】また、セルの中の重なりのあるパターンの
みを上層に持ち上げて(パターンを上層のデータに変更
して)図形論理演算する方法がある。この方法は、重な
りのないパターンにより新たなセルを構成することによ
り、階層構造を維持してデータ量の増大を抑える効果が
ある。しかしながら、この方法では、重なりのあるセル
が多いと、上記の全てのパターンを展開する方法と同様
となるので、やはりリソースの不足と処理速度の低下を
招く。
みを上層に持ち上げて(パターンを上層のデータに変更
して)図形論理演算する方法がある。この方法は、重な
りのないパターンにより新たなセルを構成することによ
り、階層構造を維持してデータ量の増大を抑える効果が
ある。しかしながら、この方法では、重なりのあるセル
が多いと、上記の全てのパターンを展開する方法と同様
となるので、やはりリソースの不足と処理速度の低下を
招く。
【0007】また、重なりのあるセルのパターンのみを
展開してデータ量の増大を抑えようとする方法がある。
しかし、この方法では、重なり合うセルの数が多いと、
上記の全てのパターンを展開する方法と同様となるの
で、やはりリソースの不足と処理速度の低下を招く。
展開してデータ量の増大を抑えようとする方法がある。
しかし、この方法では、重なり合うセルの数が多いと、
上記の全てのパターンを展開する方法と同様となるの
で、やはりリソースの不足と処理速度の低下を招く。
【0008】更に、予め処理対象となるセルを調べる前
に、その時々に基準とするセルに含まれ、そのセルより
下の階層のセル(子孫セル)の重なりを除去した新たな
セルを作成しておき、その新たなセルを参照する方法が
ある。この方法では、同じ重なりを何度も調べることは
回避できるので、処理時間の短縮に寄与する。しかし、
予め重なりを除去した新たなセルを作成しなければなら
ないため、処理に長時間を要するという問題がある。
に、その時々に基準とするセルに含まれ、そのセルより
下の階層のセル(子孫セル)の重なりを除去した新たな
セルを作成しておき、その新たなセルを参照する方法が
ある。この方法では、同じ重なりを何度も調べることは
回避できるので、処理時間の短縮に寄与する。しかし、
予め重なりを除去した新たなセルを作成しなければなら
ないため、処理に長時間を要するという問題がある。
【0009】本発明は上記問題点を解決するためになさ
れたものであって、その目的は処理の高速化とリソース
量の低減を図ることのできる図形処理方法、図形処理装
置、及び、記録媒体を提供することにある。
れたものであって、その目的は処理の高速化とリソース
量の低減を図ることのできる図形処理方法、図形処理装
置、及び、記録媒体を提供することにある。
【0010】
【課題を解決するための手段】上記目的を達成するた
め、請求項1に記載の発明は、セル及びパターンが階層
構造に構成されたレイアウトデータに対して、パターン
の幾何学的な重なりを検出する図形処理方法であって、
前記レイアウトデータを入力し、各セル毎に展開した時
の存在領域を設定し、各存在領域の領域枠,パターンの
枠よりなるセル枠の情報を作成し、前記レイアウトデー
タに含まれるセルを順次処理対象セルに設定し、前記処
理対象セル以下の階層のセル,パターンのセル枠に対し
て階層構造に応じた種類を設定し、前記幾何学的に重な
りがあるセル枠,パターンに対して、異なる種類が設定
されている場合には重なり有りと判定し、セル枠同士又
はセル枠とパターンに重なり有りと判定した場合には重
なりがあるセル枠に含まれる下層のセル枠,パターンを
更に読み込み、パターン同士に重なりがあると判定した
場合には該パターンの重なりを確定するようにした。
め、請求項1に記載の発明は、セル及びパターンが階層
構造に構成されたレイアウトデータに対して、パターン
の幾何学的な重なりを検出する図形処理方法であって、
前記レイアウトデータを入力し、各セル毎に展開した時
の存在領域を設定し、各存在領域の領域枠,パターンの
枠よりなるセル枠の情報を作成し、前記レイアウトデー
タに含まれるセルを順次処理対象セルに設定し、前記処
理対象セル以下の階層のセル,パターンのセル枠に対し
て階層構造に応じた種類を設定し、前記幾何学的に重な
りがあるセル枠,パターンに対して、異なる種類が設定
されている場合には重なり有りと判定し、セル枠同士又
はセル枠とパターンに重なり有りと判定した場合には重
なりがあるセル枠に含まれる下層のセル枠,パターンを
更に読み込み、パターン同士に重なりがあると判定した
場合には該パターンの重なりを確定するようにした。
【0011】請求項2に記載の発明は、セル及びパター
ンが階層構造に構成されたレイアウトデータに対して、
パターンの幾何学的な重なりを検出する図形処理方法で
あって、前記レイアウトデータを入力し、各セル毎に展
開した時の存在領域を作成し、作成した各存在領域の領
域枠,パターンの枠よりなるセル枠の情報を階層構造に
てファイルに格納するステップと、前記レイアウトデー
タに含まれるセルを順次処理対象セルに設定するステッ
プと、前記処理対象セル以下の階層のセル,パターンの
セル枠に対して階層構造に応じた種類を設定するステッ
プと、前記処理対象セル、又は重なり有りと判定したセ
ル枠に含まれるセル枠,パターンを読み込むステップ
と、前記新たに読み込んだセル枠のうち、種類が異なる
セル枠同士、又はセル枠とパターンに重なりがあるか判
定するステップと、前記新たに読み込んだセル枠に重な
りがない場合に、前記読み込んだパターンのうち、種類
の異なるパターンに重なりがあるか判定するステップ
と、前記重なり有りと判定されたパターンの重なりを確
定し、幾何学的に重なるパターンの重なり情報を含むテ
ーブルを作成するステップを備えた。
ンが階層構造に構成されたレイアウトデータに対して、
パターンの幾何学的な重なりを検出する図形処理方法で
あって、前記レイアウトデータを入力し、各セル毎に展
開した時の存在領域を作成し、作成した各存在領域の領
域枠,パターンの枠よりなるセル枠の情報を階層構造に
てファイルに格納するステップと、前記レイアウトデー
タに含まれるセルを順次処理対象セルに設定するステッ
プと、前記処理対象セル以下の階層のセル,パターンの
セル枠に対して階層構造に応じた種類を設定するステッ
プと、前記処理対象セル、又は重なり有りと判定したセ
ル枠に含まれるセル枠,パターンを読み込むステップ
と、前記新たに読み込んだセル枠のうち、種類が異なる
セル枠同士、又はセル枠とパターンに重なりがあるか判
定するステップと、前記新たに読み込んだセル枠に重な
りがない場合に、前記読み込んだパターンのうち、種類
の異なるパターンに重なりがあるか判定するステップ
と、前記重なり有りと判定されたパターンの重なりを確
定し、幾何学的に重なるパターンの重なり情報を含むテ
ーブルを作成するステップを備えた。
【0012】請求項3に記載の発明は、請求項1又は2
に記載の図形処理方法において、前記セル枠,パターン
に対して種類を設定する場合に、セル枠に対しては、該
セル枠又は該セル枠の所属セルが処理対象セルの場合に
は該セル枠に対して独自の種類を設定し、該セル枠又は
該セル枠の所属セルが処理対象セルではない場合には所
属セルと同じ種類を設定し、パターンに対しては、所属
セルと同じ種類を設定するようにした。
に記載の図形処理方法において、前記セル枠,パターン
に対して種類を設定する場合に、セル枠に対しては、該
セル枠又は該セル枠の所属セルが処理対象セルの場合に
は該セル枠に対して独自の種類を設定し、該セル枠又は
該セル枠の所属セルが処理対象セルではない場合には所
属セルと同じ種類を設定し、パターンに対しては、所属
セルと同じ種類を設定するようにした。
【0013】請求項4に記載の発明は、請求項1乃至3
のうちの何れか1項に記載の図形処理方法において、前
記処理対象セルに対して、該スイープ法を用いて幾何学
的に重なるセル又はパターンを検出し、検出したセル
枠,パターンにおいて重なりを判定するようにした。
のうちの何れか1項に記載の図形処理方法において、前
記処理対象セルに対して、該スイープ法を用いて幾何学
的に重なるセル又はパターンを検出し、検出したセル
枠,パターンにおいて重なりを判定するようにした。
【0014】請求項5に記載の発明は、セル及びパター
ンが階層構造に構成されたレイアウトデータに対して、
パターンの幾何学的な重なりを検出する図形処理装置で
あって、前記レイアウトデータを入力し、各セル毎に展
開した時の存在領域を設定し、各存在領域の領域枠,パ
ターンの枠よりなるセル枠の情報を作成する領域枠作成
手段と、前記レイアウトデータに含まれるセルを順次処
理対象セルに設定する処理対象セル設定手段と、前記処
理対象セル以下の階層のセル,パターンのセル枠に対し
て階層構造に応じた種類を設定する種類設定手段とを備
え、前記幾何学的に重なりがあるセル枠,パターンに対
して、異なる種類が設定されている場合には重なり有り
と判定し、セル枠同士又はセル枠とパターンに重なり有
りと判定した場合には重なりがあるセル枠に含まれる下
層のセル枠,パターンを更に読み込み、パターン同士に
重なりがあると判定した場合には該パターンの重なりを
確定するようにした。
ンが階層構造に構成されたレイアウトデータに対して、
パターンの幾何学的な重なりを検出する図形処理装置で
あって、前記レイアウトデータを入力し、各セル毎に展
開した時の存在領域を設定し、各存在領域の領域枠,パ
ターンの枠よりなるセル枠の情報を作成する領域枠作成
手段と、前記レイアウトデータに含まれるセルを順次処
理対象セルに設定する処理対象セル設定手段と、前記処
理対象セル以下の階層のセル,パターンのセル枠に対し
て階層構造に応じた種類を設定する種類設定手段とを備
え、前記幾何学的に重なりがあるセル枠,パターンに対
して、異なる種類が設定されている場合には重なり有り
と判定し、セル枠同士又はセル枠とパターンに重なり有
りと判定した場合には重なりがあるセル枠に含まれる下
層のセル枠,パターンを更に読み込み、パターン同士に
重なりがあると判定した場合には該パターンの重なりを
確定するようにした。
【0015】請求項6に記載の発明は、セル及びパター
ンが階層構造に構成されたレイアウトデータに対して、
パターンの幾何学的な重なりを検出する図形処理装置で
あって、前記レイアウトデータを入力し、各セル毎に展
開した時の存在領域を作成し、作成した各存在領域の領
域枠,パターンの枠よりなるセル枠の情報を階層構造に
てファイルに格納する領域枠作成手段と、前記レイアウ
トデータに含まれるセルを順次処理対象セルに設定する
処理対象セル設定手段と、前記処理対象セル以下の階層
のセル,パターンのセル枠に対して階層構造に応じた種
類を設定する種類設定手段と、前記処理対象セル、又は
重なり有りと判定したセル枠に含まれるセル枠,パター
ンを読み込むデータ読み込み手段と、前記新たに読み込
んだセル枠のうち、種類が異なるセル枠同士、又はセル
枠とパターンに重なりがあるか判定する第1重なり判定
手段と、前記新たに読み込んだセル枠に重なりがない場
合に、前記読み込んだパターンのうち、種類の異なるパ
ターンに重なりがあるか判定する第2重なり判定手段
と、前記重なり有りと判定されたパターンの重なりを確
定し、幾何学的に重なるパターンの重なり情報を含むテ
ーブルを作成する重なり確定手段とを備えた。
ンが階層構造に構成されたレイアウトデータに対して、
パターンの幾何学的な重なりを検出する図形処理装置で
あって、前記レイアウトデータを入力し、各セル毎に展
開した時の存在領域を作成し、作成した各存在領域の領
域枠,パターンの枠よりなるセル枠の情報を階層構造に
てファイルに格納する領域枠作成手段と、前記レイアウ
トデータに含まれるセルを順次処理対象セルに設定する
処理対象セル設定手段と、前記処理対象セル以下の階層
のセル,パターンのセル枠に対して階層構造に応じた種
類を設定する種類設定手段と、前記処理対象セル、又は
重なり有りと判定したセル枠に含まれるセル枠,パター
ンを読み込むデータ読み込み手段と、前記新たに読み込
んだセル枠のうち、種類が異なるセル枠同士、又はセル
枠とパターンに重なりがあるか判定する第1重なり判定
手段と、前記新たに読み込んだセル枠に重なりがない場
合に、前記読み込んだパターンのうち、種類の異なるパ
ターンに重なりがあるか判定する第2重なり判定手段
と、前記重なり有りと判定されたパターンの重なりを確
定し、幾何学的に重なるパターンの重なり情報を含むテ
ーブルを作成する重なり確定手段とを備えた。
【0016】請求項7に記載の発明は、請求項5又は6
に記載の図形処理装置において、前記種類設定手段にお
いて、セル枠に対しては、該セル枠又は該セル枠の所属
セルが処理対象セルの場合には該セル枠に対して独自の
種類を設定し、該セル枠又は該セル枠の所属セルが処理
対象セルではない場合には所属セルと同じ種類を設定
し、パターンに対しては、所属セルと同じ種類を設定す
るようにした。
に記載の図形処理装置において、前記種類設定手段にお
いて、セル枠に対しては、該セル枠又は該セル枠の所属
セルが処理対象セルの場合には該セル枠に対して独自の
種類を設定し、該セル枠又は該セル枠の所属セルが処理
対象セルではない場合には所属セルと同じ種類を設定
し、パターンに対しては、所属セルと同じ種類を設定す
るようにした。
【0017】請求項8に記載の発明は、請求項5乃至7
のうちの何れか1項に記載の図形処理装置において、前
記処理対象セルに対して、該スイープ法を用いて幾何学
的に重なるセル又はパターンを検出し、検出したセル
枠,パターンにおいて重なりを判定するようにした。
のうちの何れか1項に記載の図形処理装置において、前
記処理対象セルに対して、該スイープ法を用いて幾何学
的に重なるセル又はパターンを検出し、検出したセル
枠,パターンにおいて重なりを判定するようにした。
【0018】請求項9に記載の発明は、請求項1乃至4
のうちの何れか1項に記載の図形処理方法にて重なりを
検出する図形処理プログラムを記録した記録媒体であ
る。 (作用)従って、請求項1又は2に記載の発明によれ
ば、各セルの存在領域に対して設定された種類に基づい
て、幾何学的に重なりがあるセル枠,パターンに対し
て、異なる種類が設定されている場合には重なり有りと
判定され、セル枠同士又はセル枠とパターンに重なり有
りと判定した場合には重なりがあるセル枠に含まれる下
層のセル枠,パターンが更に読み込まれ、パターン同士
に重なりがあると判定した場合にはそのパターンの重な
りが確定される。そのため、同じ種類のセル枠が展開さ
れないため、必要とするリソース量が少なくなる。ま
た、設定した種類によって余分な重なりを検出しないの
で、処理時間が短い。
のうちの何れか1項に記載の図形処理方法にて重なりを
検出する図形処理プログラムを記録した記録媒体であ
る。 (作用)従って、請求項1又は2に記載の発明によれ
ば、各セルの存在領域に対して設定された種類に基づい
て、幾何学的に重なりがあるセル枠,パターンに対し
て、異なる種類が設定されている場合には重なり有りと
判定され、セル枠同士又はセル枠とパターンに重なり有
りと判定した場合には重なりがあるセル枠に含まれる下
層のセル枠,パターンが更に読み込まれ、パターン同士
に重なりがあると判定した場合にはそのパターンの重な
りが確定される。そのため、同じ種類のセル枠が展開さ
れないため、必要とするリソース量が少なくなる。ま
た、設定した種類によって余分な重なりを検出しないの
で、処理時間が短い。
【0019】請求項3に記載の発明によれば、セル枠に
対しては、そのセル枠又はそのセル枠の所属セルが処理
対象セルの場合にはそのセル枠に対して独自の種類が設
定され、そのセル枠又はそのセル枠の所属セルが処理対
象セルではない場合には所属セルと同じ種類が設定され
る。また、パターンに対しては、所属セルと同じ種類が
設定される。そのため、レイアウトデータの階層構造に
応じた種類が容易に設定される。
対しては、そのセル枠又はそのセル枠の所属セルが処理
対象セルの場合にはそのセル枠に対して独自の種類が設
定され、そのセル枠又はそのセル枠の所属セルが処理対
象セルではない場合には所属セルと同じ種類が設定され
る。また、パターンに対しては、所属セルと同じ種類が
設定される。そのため、レイアウトデータの階層構造に
応じた種類が容易に設定される。
【0020】請求項4に記載の発明によれば、処理対象
セルに対して、そのスイープ法が用いられ、幾何学的に
重なるセル又はパターンが容易に検出される。そのた
め、重なりあうパターンが容易に検出され、処理時間が
短い。
セルに対して、そのスイープ法が用いられ、幾何学的に
重なるセル又はパターンが容易に検出される。そのた
め、重なりあうパターンが容易に検出され、処理時間が
短い。
【0021】請求項5又は6に記載の発明によれば、領
域枠作成手段は、入力されたレイアウトデータに対し
て、各セル毎に展開した時の存在領域を設定し、各存在
領域の領域枠,パターンの枠よりなるセル枠の情報を作
成する。処理対象セル設定手段は、レイアウトデータに
含まれるセルを順次処理対象セルに設定する。種類設定
手段は、処理対象セル以下の階層のセル,パターンのセ
ル枠に対して階層構造に応じた種類を設定する。そし
て、幾何学的に重なりがあるセル枠,パターンに対し
て、異なる種類が設定されている場合には重なり有りと
判定し、セル枠同士又はセル枠とパターンに重なり有り
と判定した場合には重なりがあるセル枠に含まれる下層
のセル枠,パターンを更に読み込み、パターン同士に重
なりがあると判定した場合にはそのパターンの重なりを
確定するようにした。そのため、同じ種類のセル枠が展
開されないため、必要とするリソース量が少なくなる。
また、設定した種類によって余分な重なりを検出しない
ので、処理時間が短い。
域枠作成手段は、入力されたレイアウトデータに対し
て、各セル毎に展開した時の存在領域を設定し、各存在
領域の領域枠,パターンの枠よりなるセル枠の情報を作
成する。処理対象セル設定手段は、レイアウトデータに
含まれるセルを順次処理対象セルに設定する。種類設定
手段は、処理対象セル以下の階層のセル,パターンのセ
ル枠に対して階層構造に応じた種類を設定する。そし
て、幾何学的に重なりがあるセル枠,パターンに対し
て、異なる種類が設定されている場合には重なり有りと
判定し、セル枠同士又はセル枠とパターンに重なり有り
と判定した場合には重なりがあるセル枠に含まれる下層
のセル枠,パターンを更に読み込み、パターン同士に重
なりがあると判定した場合にはそのパターンの重なりを
確定するようにした。そのため、同じ種類のセル枠が展
開されないため、必要とするリソース量が少なくなる。
また、設定した種類によって余分な重なりを検出しない
ので、処理時間が短い。
【0022】請求項7に記載の発明によれば、種類設定
手段は、セル枠に対しては、そのセル枠又はそのセル枠
の所属セルが処理対象セルの場合にはそのセル枠に対し
て独自の種類を設定し、そのセル枠又はそのセル枠の所
属セルが処理対象セルではない場合には所属セルと同じ
種類を設定する。また、パターンに対しては、所属セル
と同じ種類を設定するようにした。そのため、そのた
め、レイアウトデータの階層構造に応じた種類が容易に
設定される。
手段は、セル枠に対しては、そのセル枠又はそのセル枠
の所属セルが処理対象セルの場合にはそのセル枠に対し
て独自の種類を設定し、そのセル枠又はそのセル枠の所
属セルが処理対象セルではない場合には所属セルと同じ
種類を設定する。また、パターンに対しては、所属セル
と同じ種類を設定するようにした。そのため、そのた
め、レイアウトデータの階層構造に応じた種類が容易に
設定される。
【0023】請求項8に記載の発明によれば、処理対象
セルに対して、そのスイープ法を用いて幾何学的に重な
るセル又はパターンを検出し、検出したセル枠,パター
ンにおいて重なりを判定するようにした。そのため、重
なり合うパターンを容易に検出することができ、処理時
間が短い。
セルに対して、そのスイープ法を用いて幾何学的に重な
るセル又はパターンを検出し、検出したセル枠,パター
ンにおいて重なりを判定するようにした。そのため、重
なり合うパターンを容易に検出することができ、処理時
間が短い。
【0024】請求項9に記載の発明によれば、記録媒体
には、請求項1乃至4のうちの何れか1項に記載の図形
処理方法にて重なりを検出する図形処理プログラムが記
録され、容易に提供される。
には、請求項1乃至4のうちの何れか1項に記載の図形
処理方法にて重なりを検出する図形処理プログラムが記
録され、容易に提供される。
【0025】
【発明の実施の形態】以下、本発明を具体化した一実施
の形態を図1〜図19に従って説明する。図3は、本実
施形態の図形処理装置のシステム構成を示す。図形処理
装置1は、中央処理装置(以下、CPUという)2、メ
モリ3、磁気ディスク装置4、表示器5、キーボード6
及び磁気テープ装置7を備え、それらはバス8により相
互に接続されている。
の形態を図1〜図19に従って説明する。図3は、本実
施形態の図形処理装置のシステム構成を示す。図形処理
装置1は、中央処理装置(以下、CPUという)2、メ
モリ3、磁気ディスク装置4、表示器5、キーボード6
及び磁気テープ装置7を備え、それらはバス8により相
互に接続されている。
【0026】磁気ディスク装置4には、図1,図2に示
す図形処理のプログラムデータ(以下、単にプログラム
という)が記憶されている。このプログラムは、階層構
造のレイアウトデータの中から、重なりのあるパターン
データを検出する重なり検出処理を実行するためのもの
である。プログラムデータは記録媒体としての磁気テー
プ9に記録され供給される。CPU2は、磁気テープ装
置7を制御して磁気テープ9からプログラムデータを読
み出し、磁気ディスク装置4に記憶させる。
す図形処理のプログラムデータ(以下、単にプログラム
という)が記憶されている。このプログラムは、階層構
造のレイアウトデータの中から、重なりのあるパターン
データを検出する重なり検出処理を実行するためのもの
である。プログラムデータは記録媒体としての磁気テー
プ9に記録され供給される。CPU2は、磁気テープ装
置7を制御して磁気テープ9からプログラムデータを読
み出し、磁気ディスク装置4に記憶させる。
【0027】磁気ディスク装置4には、図1に示す第
1,第2データファイル11,12が記憶されている。
第1データファイル11には、予めCAD装置(図示
略)により回路設計及びレイアウト設計により作成され
た半導体装置のレイアウトデータが格納されている。第
2データファイル12は作業ファイルであり、CPU2
は、重なり検出処理中に作成する一時的なデータを第2
データファイル12に格納する。尚、第2データファイ
ル12は、図3のメモリ3に作成されても良い。
1,第2データファイル11,12が記憶されている。
第1データファイル11には、予めCAD装置(図示
略)により回路設計及びレイアウト設計により作成され
た半導体装置のレイアウトデータが格納されている。第
2データファイル12は作業ファイルであり、CPU2
は、重なり検出処理中に作成する一時的なデータを第2
データファイル12に格納する。尚、第2データファイ
ル12は、図3のメモリ3に作成されても良い。
【0028】図3中のメモリ3には、図1に示される第
3データファイル13が格納される。第3データファイ
ル13は、重なり検出処理の処理結果を格納するための
ファイルである。CPU2は、重なり検出処理を実行し
て検出した重なりのあるパターンデータ及びそのパター
ンデータを含むセルのセル名を重なり情報として第3デ
ータファイル13に格納する。尚、第3データファイル
13は、図3の磁気ディスク装置4に作成されても良
い。
3データファイル13が格納される。第3データファイ
ル13は、重なり検出処理の処理結果を格納するための
ファイルである。CPU2は、重なり検出処理を実行し
て検出した重なりのあるパターンデータ及びそのパター
ンデータを含むセルのセル名を重なり情報として第3デ
ータファイル13に格納する。尚、第3データファイル
13は、図3の磁気ディスク装置4に作成されても良
い。
【0029】次に、図形処理(重なり検出処理)を図
1,図2のフローチャートに従って説明する。CPU2
は、キーボード6の操作に基づき、図1のフローチャー
トに示すステップ21〜28に従って図形処理(重なり
検出処理)を実行する。
1,図2のフローチャートに従って説明する。CPU2
は、キーボード6の操作に基づき、図1のフローチャー
トに示すステップ21〜28に従って図形処理(重なり
検出処理)を実行する。
【0030】先ず、ステップ21は領域枠作成処理(領
域枠作成手段)であり、図3のCPU2は、第1データ
ファイル11に格納されたレイアウトデータを入力す
る。そのレイアウトデータに対して、CPU2は、各階
層において各セル毎に展開した場合の全てのパターンを
含む存在領域をボトムアップ(最下層から上層に向かっ
て順番に)で設定する。そして、CPU2は、設定した
各階層の存在領域の境界線(存在領域を囲む線)をセル
枠とする。各セルはそれぞれセル枠を有する。CPU2
は、設定したセル枠のデータと、パターンのデータを第
2データファイル12に格納する。
域枠作成手段)であり、図3のCPU2は、第1データ
ファイル11に格納されたレイアウトデータを入力す
る。そのレイアウトデータに対して、CPU2は、各階
層において各セル毎に展開した場合の全てのパターンを
含む存在領域をボトムアップ(最下層から上層に向かっ
て順番に)で設定する。そして、CPU2は、設定した
各階層の存在領域の境界線(存在領域を囲む線)をセル
枠とする。各セルはそれぞれセル枠を有する。CPU2
は、設定したセル枠のデータと、パターンのデータを第
2データファイル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と同一階層に設けられている。
成されたレイアウトデータ40がある。このレイアウト
データ40は、最上層にセルAAAを備える。セルAA
Aは、下層に設けられたセルBBBとセルCCCを含
む。セルBBBとセルCCCは、同一階層に設けられ、
レイアウトデータが異なるセルである。更に、セルBB
Bは、下層に設けられたセルDDDを備え、そのセルD
DDは下層に設けられたパターンPD1を含む。セルC
CCは、下層に設けられたパターンPC1,PC2を含
む。パターンPD1,PD2は形状が異なるパターンで
あり、セルDDDと同一階層に設けられている。
【0032】図5は、領域枠作成処理により作成される
各層のセル枠を示す説明図である。尚、セルと作成され
たセル枠との関係を分かり易くするため、セル枠に対し
てセルと同じ符号を付してある。また、各階層におい
て、セルに含まれる1階層下のセル,パターンを破線に
て示してある。
各層のセル枠を示す説明図である。尚、セルと作成され
たセル枠との関係を分かり易くするため、セル枠に対し
てセルと同じ符号を付してある。また、各階層におい
て、セルに含まれる1階層下のセル,パターンを破線に
て示してある。
【0033】図3のCPU2は、レイアウトデータ40
に対して、各階層におけるセル枠の作成をボトムアップ
にて作成する。即ち、CPU2は、先ず、最下層に存在
するパターンPD1に対して、そのパターンPD1を含
み、上層のセルDDDが存在する領域を設定する。そし
て、CPU2は、設定した存在領域の枠であるセル枠D
DDを作成する。従って、セルDDDはセル枠DDDを
有し、パターンPD1を含む。
に対して、各階層におけるセル枠の作成をボトムアップ
にて作成する。即ち、CPU2は、先ず、最下層に存在
するパターンPD1に対して、そのパターンPD1を含
み、上層のセルDDDが存在する領域を設定する。そし
て、CPU2は、設定した存在領域の枠であるセル枠D
DDを作成する。従って、セルDDDはセル枠DDDを
有し、パターンPD1を含む。
【0034】同様に、CPU2は、セルDDDに対し
て、そのセルDDDを含み、上層のセルBBBが存在す
る領域を設定し、設定した存在領域の枠であるセル枠B
BBを作成する。従って、セルBBBはセル枠BBBを
有し、セルDDDを含む。
て、そのセルDDDを含み、上層のセルBBBが存在す
る領域を設定し、設定した存在領域の枠であるセル枠B
BBを作成する。従って、セルBBBはセル枠BBBを
有し、セルDDDを含む。
【0035】また、CPU2は、セルDDDと同じ階層
のパターンPC1,PC2に対して、そのパターンPC
1,PC2を含み、上層のセルCCCが存在する領域を
設定し、設定した存在領域の枠であるセル枠CCCを作
成する。従って、セルCCCはセル枠CCCを有し、パ
ターンPC1,PC2を含む。
のパターンPC1,PC2に対して、そのパターンPC
1,PC2を含み、上層のセルCCCが存在する領域を
設定し、設定した存在領域の枠であるセル枠CCCを作
成する。従って、セルCCCはセル枠CCCを有し、パ
ターンPC1,PC2を含む。
【0036】更に、CPU2は、セルBBB,CCCに
対して、そのセルBBB,CCCを含み、上層のセルA
AAが存在する領域を設定し、設定した存在領域の枠で
あるセル枠AAAを作成する。従って、セルAAAはセ
ル枠AAAを有し、セルBBB,CCCを含む。
対して、そのセルBBB,CCCを含み、上層のセルA
AAが存在する領域を設定し、設定した存在領域の枠で
あるセル枠AAAを作成する。従って、セルAAAはセ
ル枠AAAを有し、セルBBB,CCCを含む。
【0037】そして、CPU2は、作成したセル枠AA
A,BBB,CCC,DDDの情報を図1の第2データ
ファイル12に格納する。また、CPU2は、レイアウ
トデータ40に含まれるパターンPC1,PC2,PD
1の情報を第2データファイル12に格納する。
A,BBB,CCC,DDDの情報を図1の第2データ
ファイル12に格納する。また、CPU2は、レイアウ
トデータ40に含まれるパターンPC1,PC2,PD
1の情報を第2データファイル12に格納する。
【0038】各セル枠AAA〜DDDに対して格納する
情報は、各セル枠AAA〜DDDの座標値、存在する階
層の値、等を含む。各パターンPC1〜PD1に対して
格納する情報は、各パターンの座標値、存在する階層の
値、等を含む。
情報は、各セル枠AAA〜DDDの座標値、存在する階
層の値、等を含む。各パターンPC1〜PD1に対して
格納する情報は、各パターンの座標値、存在する階層の
値、等を含む。
【0039】レイアウトデータに対して作成したセル
枠、パターンの情報を格納すると、CPU2は、図1の
ステップ21からステップ22に移る。ステップ22は
処理対象セル設定処理(処理対象セル設定手段)であ
り、図3のCPU2は、レイアウトデータを構成する全
セルのなかから、その時々において重なり検出処理の対
象とするセル(セル枠)を選択する。CPU2は、選択
したセルを処理対象セルとして扱う。CPU2は、処理
対処セルを最上階層として階層構造を構成するセル及び
パターンに対して、ステップ23〜25の処理を繰り返
し実行(ステップ23〜25のループを実行)し、トッ
プダウン(最上階層の処理対象セルから下層に向かって
順番)に重なりがあるか否かを判断するようにプログラ
ムが構成されている。CPU2は、その時の処理対象セ
ルを設定すると、ステップ22からステップ23に移
る。
枠、パターンの情報を格納すると、CPU2は、図1の
ステップ21からステップ22に移る。ステップ22は
処理対象セル設定処理(処理対象セル設定手段)であ
り、図3のCPU2は、レイアウトデータを構成する全
セルのなかから、その時々において重なり検出処理の対
象とするセル(セル枠)を選択する。CPU2は、選択
したセルを処理対象セルとして扱う。CPU2は、処理
対処セルを最上階層として階層構造を構成するセル及び
パターンに対して、ステップ23〜25の処理を繰り返
し実行(ステップ23〜25のループを実行)し、トッ
プダウン(最上階層の処理対象セルから下層に向かって
順番)に重なりがあるか否かを判断するようにプログラ
ムが構成されている。CPU2は、その時の処理対象セ
ルを設定すると、ステップ22からステップ23に移
る。
【0040】ステップ23はデータ読み込み処理(デー
タ読み込み手段)であり、CPU2は、着目したセルに
含まれるレイアウトレイアウトデータの情報を第2デー
タファイル12から読み込む。その情報は、着目したセ
ルの1階層下のセル(以下、子セルという)とパターン
の枠データを含む。その枠データは、セル枠の座標値、
パターンの外形の座標値を含む。CPU2は、必要な枠
データの読み込みを終了すると、ステップ23からステ
ップ24に移る。
タ読み込み手段)であり、CPU2は、着目したセルに
含まれるレイアウトレイアウトデータの情報を第2デー
タファイル12から読み込む。その情報は、着目したセ
ルの1階層下のセル(以下、子セルという)とパターン
の枠データを含む。その枠データは、セル枠の座標値、
パターンの外形の座標値を含む。CPU2は、必要な枠
データの読み込みを終了すると、ステップ23からステ
ップ24に移る。
【0041】その時々に着目するセルは、ステップ22
において設定された処理対象セルを最上階層とする階層
構造を構成するセルのうちの1つである。CPU2は、
また、階層構造を構成するセルのうち、最上階層のセル
から順番にその時々に着目するセルに設定する。例え
ば、図4においてCPU2は、セルAAAを処理対象セ
ルとした場合に、セルAAA→セルBBB→セルDDD
→セルCCCの順番に着目セルとする。また、CPU2
は、セルBBBを処理対象セルとした場合、そのセルB
BB→セルCCCの順番に着目セルとし、セルAAA及
びセルCCCに着目しない。
において設定された処理対象セルを最上階層とする階層
構造を構成するセルのうちの1つである。CPU2は、
また、階層構造を構成するセルのうち、最上階層のセル
から順番にその時々に着目するセルに設定する。例え
ば、図4においてCPU2は、セルAAAを処理対象セ
ルとした場合に、セルAAA→セルBBB→セルDDD
→セルCCCの順番に着目セルとする。また、CPU2
は、セルBBBを処理対象セルとした場合、そのセルB
BB→セルCCCの順番に着目セルとし、セルAAA及
びセルCCCに着目しない。
【0042】従って、ステップ23〜25のループを実
行する上で、先ず最初のループにおいてCPU2は最上
階層の処理対象セルに含まれるセル枠,パターンの枠デ
ータを読み込む。2回目以降のループにおいて、CPU
2は、処理対象セルから下の階層に含まれるセル枠,パ
ターンの枠データを順次読み込む。
行する上で、先ず最初のループにおいてCPU2は最上
階層の処理対象セルに含まれるセル枠,パターンの枠デ
ータを読み込む。2回目以降のループにおいて、CPU
2は、処理対象セルから下の階層に含まれるセル枠,パ
ターンの枠データを順次読み込む。
【0043】尚、子セルは、処理対象セルの1階層下の
セルだけでなく、その時々に着目したセルの1階層下の
セルの事をいう。逆に、その時々に着目したセルが含ま
れるセルを親セルという。例えば、図4のレイアウトデ
ータ40において、その時にセルBBBに着目したした
場合、そのセルBBBはセルAAAの子セルであり、セ
ルBBBの親セルはセルAAAである。また、その時に
セルDDDに着目した場合、そのセルDDDはセルBB
Bの子セルであり、セルDDDの親セルはセルBBBで
ある。
セルだけでなく、その時々に着目したセルの1階層下の
セルの事をいう。逆に、その時々に着目したセルが含ま
れるセルを親セルという。例えば、図4のレイアウトデ
ータ40において、その時にセルBBBに着目したした
場合、そのセルBBBはセルAAAの子セルであり、セ
ルBBBの親セルはセルAAAである。また、その時に
セルDDDに着目した場合、そのセルDDDはセルBB
Bの子セルであり、セルDDDの親セルはセルBBBで
ある。
【0044】ステップ24は種類設定処理(種類設定手
段)であり、図3のCPU2は、ステップ22において
設定した処理対象セルを最上階層とする階層構造のデー
タを構成する構造体(セル,パターンを含み、以下スト
ラクチャという)に対して、図2のフローチャートに示
すステップ31〜37に従って種類を設定する。
段)であり、図3のCPU2は、ステップ22において
設定した処理対象セルを最上階層とする階層構造のデー
タを構成する構造体(セル,パターンを含み、以下スト
ラクチャという)に対して、図2のフローチャートに示
すステップ31〜37に従って種類を設定する。
【0045】先ず、ステップ31において、CPU2
は、ストラクチャがセルかパターンかを判断する。CP
U2は、ストラクチャがパターンの場合、ステップ32
に移る。そのステップ32において、CPU2は、パタ
ーンに対して、そのパターンの所属セルと同じ種類を設
定する。パターンの所属セルは、そのパターンを有する
上層のセルのことをいう。
は、ストラクチャがセルかパターンかを判断する。CP
U2は、ストラクチャがパターンの場合、ステップ32
に移る。そのステップ32において、CPU2は、パタ
ーンに対して、そのパターンの所属セルと同じ種類を設
定する。パターンの所属セルは、そのパターンを有する
上層のセルのことをいう。
【0046】ステップ31においてストラクチャがパタ
ーンではない、即ちストラクチャがセルの場合、CPU
2は、ステップ31からステップ33に移る。ステップ
33において、CPU2は、そのセルが処理対象セルか
否かを判断する。CPU2は、セルが処理対象セルの場
合、ステップ33からステップ34に移る。ステップ3
4において、CPU2は、セルに対して独自の種類を設
定する。
ーンではない、即ちストラクチャがセルの場合、CPU
2は、ステップ31からステップ33に移る。ステップ
33において、CPU2は、そのセルが処理対象セルか
否かを判断する。CPU2は、セルが処理対象セルの場
合、ステップ33からステップ34に移る。ステップ3
4において、CPU2は、セルに対して独自の種類を設
定する。
【0047】ステップ33においてストラクチャである
セルが処理対象セルではない場合、CPU2はステップ
33からステップ35に移る。ステップ35において、
CPU2は、ストラクチャの所属セルが処理対象セルか
否かを判断する。ストラクチャの所属セルは、そのスト
ラクチャを含むセル、即ちストラクチャの1階層上のセ
ルであってストラクチャの親セルである。CPU2は、
所属セルが処理対象セルの場合、ステップ35からステ
ップ36に移る。ステップ36において、CPU2は、
ストラクチャに対して独自の種類を設定する。
セルが処理対象セルではない場合、CPU2はステップ
33からステップ35に移る。ステップ35において、
CPU2は、ストラクチャの所属セルが処理対象セルか
否かを判断する。ストラクチャの所属セルは、そのスト
ラクチャを含むセル、即ちストラクチャの1階層上のセ
ルであってストラクチャの親セルである。CPU2は、
所属セルが処理対象セルの場合、ステップ35からステ
ップ36に移る。ステップ36において、CPU2は、
ストラクチャに対して独自の種類を設定する。
【0048】ステップ35において所属セルが処理対象
セルではない場合、CPU2はステップ35からステッ
プ37に移る。ステップ37において、CPU2は、ス
トラクチャに対して所属セルと同じ種類を設定する。
セルではない場合、CPU2はステップ35からステッ
プ37に移る。ステップ37において、CPU2は、ス
トラクチャに対して所属セルと同じ種類を設定する。
【0049】上記の種類設定処理を図5を用いて説明す
る。尚、ここでは、セルAAAを処理対象セルに設定し
た場合について説明する。ストラクチャがパターンPD
1の場合、CPU2は、図2のステップ32においてパ
ターンPD1の所属セルと同じ種類をパターンPD1に
対して設定する。パターンPD1の所属セルはセルDD
Dである。従って、CPU2は、パターンPD1に対し
て所属セルであるセルDDDと同じ種類を設定する。
る。尚、ここでは、セルAAAを処理対象セルに設定し
た場合について説明する。ストラクチャがパターンPD
1の場合、CPU2は、図2のステップ32においてパ
ターンPD1の所属セルと同じ種類をパターンPD1に
対して設定する。パターンPD1の所属セルはセルDD
Dである。従って、CPU2は、パターンPD1に対し
て所属セルであるセルDDDと同じ種類を設定する。
【0050】同様に、ストラクチャがパターンPC1,
PC2の場合、パターンPC1,PC2の所属セルはセ
ルCCCである。従って、CPU2は、図2のステップ
32においてパターンPC1,PC2に対して所属セル
であるセルCCCと同じ種類を設定する。
PC2の場合、パターンPC1,PC2の所属セルはセ
ルCCCである。従って、CPU2は、図2のステップ
32においてパターンPC1,PC2に対して所属セル
であるセルCCCと同じ種類を設定する。
【0051】また、ストラクチャがセルDDDの場合、
そのセルDDDは処理対象セルではない。また、セルD
DDの所属セルであるセルBBBは処理対象セルではな
い。従って、CPU2は、図3のステップ37において
セルDDDに対して所属セルであるセルBBBと同じ種
類を設定する。
そのセルDDDは処理対象セルではない。また、セルD
DDの所属セルであるセルBBBは処理対象セルではな
い。従って、CPU2は、図3のステップ37において
セルDDDに対して所属セルであるセルBBBと同じ種
類を設定する。
【0052】また、ストラクチャがセルBBBの場合、
そのセルBBBは処理対象セルではない。また、セルB
BBの所属セルであるセルAAAは所属セルである。従
って、CPU2は、図3のステップ36においてセルB
BBに対して独自の種類を設定する。
そのセルBBBは処理対象セルではない。また、セルB
BBの所属セルであるセルAAAは所属セルである。従
って、CPU2は、図3のステップ36においてセルB
BBに対して独自の種類を設定する。
【0053】同様に、ストラクチャがセルCCCの場
合、そのセルCCCは処理対象セルではない。また、セ
ルCCCの所属セルであるセルAAAは所属セルであ
る。従って、CPU2は、図3のステップ36において
セルCCCに対して独自の種類を設定する。
合、そのセルCCCは処理対象セルではない。また、セ
ルCCCの所属セルであるセルAAAは所属セルであ
る。従って、CPU2は、図3のステップ36において
セルCCCに対して独自の種類を設定する。
【0054】更にまた、ストラクチャがセルAAAの場
合、そのセルAAAは処理対象セルである。従って、C
PU2は、図3のステップ34においてセルAAAに対
して独自の種類を設定する。
合、そのセルAAAは処理対象セルである。従って、C
PU2は、図3のステップ34においてセルAAAに対
して独自の種類を設定する。
【0055】種類の設定は、各ストラクチャのデータに
対して、所定の領域に種類を示すデータを書き込むこと
により行われる。図6は、図4,5のレイアウトデータ
40を構成するストラクチャのデータを示す説明図であ
る。
対して、所定の領域に種類を示すデータを書き込むこと
により行われる。図6は、図4,5のレイアウトデータ
40を構成するストラクチャのデータを示す説明図であ
る。
【0056】セルAAAからパターンPD1の各階層を
構成する各ストラクチャには、それぞれデータ領域41
〜47が設定されている。これらのデータ領域41〜4
7は、例えば図1のステップ21における領域枠作成処
理においてメモリ3に作成される。また、データ領域4
1〜47は、図形処理プログラムの実行に先立って作成
されても良い。また、ステップ22における処理対象セ
ル設定処理において作成されても良く、この場合には設
定される処理対象セルを最上層とする階層構造を構成す
るストラクチャに対してのみデータ領域を作成されても
良い。
構成する各ストラクチャには、それぞれデータ領域41
〜47が設定されている。これらのデータ領域41〜4
7は、例えば図1のステップ21における領域枠作成処
理においてメモリ3に作成される。また、データ領域4
1〜47は、図形処理プログラムの実行に先立って作成
されても良い。また、ステップ22における処理対象セ
ル設定処理において作成されても良く、この場合には設
定される処理対象セルを最上層とする階層構造を構成す
るストラクチャに対してのみデータ領域を作成されても
良い。
【0057】各データ領域41〜47は、それぞれ第
1,第2領域48,49を含む。第1領域48は、スト
ラクチャの種類(セル枠又はパターン)、各ストラクチ
ャに設定される種類を書き込みために設けられている。
また、第1領域48には、図1のステップ22において
設定される処理対象セルを示す情報が書き込まれる。第
2領域49は、各ストラクチャの所属セルへのポインタ
を格納するために設けられている。ポインタは、例えば
各ストラクチャの所属セルのデータ領域を示すアドレス
である。このポインタにより、各ストラクチャの所属セ
ルを容易に判断することができる。
1,第2領域48,49を含む。第1領域48は、スト
ラクチャの種類(セル枠又はパターン)、各ストラクチ
ャに設定される種類を書き込みために設けられている。
また、第1領域48には、図1のステップ22において
設定される処理対象セルを示す情報が書き込まれる。第
2領域49は、各ストラクチャの所属セルへのポインタ
を格納するために設けられている。ポインタは、例えば
各ストラクチャの所属セルのデータ領域を示すアドレス
である。このポインタにより、各ストラクチャの所属セ
ルを容易に判断することができる。
【0058】図1のステップ24における種類設定処理
を終了すると、図3のCPU2は、ステップ24からス
テップ25に移る。ステップ25は第1重なり判定処理
(第1重なり判定手段)であり、セル枠に重なりがある
か否かを判定するセル枠重なり判定処理である。ステッ
プ25において、CPU2は、ステップ23で読み込ん
だ枠データにおいて、その枠データがセル枠の情報の場
合に、セル枠の重なりを調べる。セル枠の重なりは、セ
ル枠と他のセル枠、セル枠とパターンの重なりの場合で
ある。セル枠に重なりがある場合、CPU2は、ステッ
プ25からステップ23に戻り、そのセルの子セル枠,
パターンを読み込む。即ち、CPU2は、重なりのある
セル枠に対して、そのセル枠の1つ下の階層の枠データ
を読み込む。CPU2は、ステップ25においてセル枠
の重なりを調べる。そして、CPU2は、セル枠に重な
りが無い場合、ステップ25からステップ26に移る。
を終了すると、図3のCPU2は、ステップ24からス
テップ25に移る。ステップ25は第1重なり判定処理
(第1重なり判定手段)であり、セル枠に重なりがある
か否かを判定するセル枠重なり判定処理である。ステッ
プ25において、CPU2は、ステップ23で読み込ん
だ枠データにおいて、その枠データがセル枠の情報の場
合に、セル枠の重なりを調べる。セル枠の重なりは、セ
ル枠と他のセル枠、セル枠とパターンの重なりの場合で
ある。セル枠に重なりがある場合、CPU2は、ステッ
プ25からステップ23に戻り、そのセルの子セル枠,
パターンを読み込む。即ち、CPU2は、重なりのある
セル枠に対して、そのセル枠の1つ下の階層の枠データ
を読み込む。CPU2は、ステップ25においてセル枠
の重なりを調べる。そして、CPU2は、セル枠に重な
りが無い場合、ステップ25からステップ26に移る。
【0059】従って、CPU2は、ステップ23〜25
のループをセル枠の重なりがなくなるまで階層が深くな
る方向、即ち処理対象セルから下層に向かって繰り返し
行う。そして、セル枠に重なりが無くなると、CPU2
は、ステップ25からステップ26に移る。
のループをセル枠の重なりがなくなるまで階層が深くな
る方向、即ち処理対象セルから下層に向かって繰り返し
行う。そして、セル枠に重なりが無くなると、CPU2
は、ステップ25からステップ26に移る。
【0060】ステップ26は第2重なり判定処理(第2
重なり判定手段)であり、パターンに重なりがあるか否
かを判定するパターン重なり判定処理である。ステップ
26において、図3のCPU2は、パターン同士に重な
りがある場合、ステップ26からステップ27に移る。
重なり判定手段)であり、パターンに重なりがあるか否
かを判定するパターン重なり判定処理である。ステップ
26において、図3のCPU2は、パターン同士に重な
りがある場合、ステップ26からステップ27に移る。
【0061】ステップ27は重なり確定処理(重なり確
定手段)であり、図3のCPU2は、ステップ26にお
いて重なり有りを判定したパターンに対して重なりを確
定する。CPU2は、確定したパターンの情報を重なり
情報として第3データファイル13に格納する。重なり
情報は、重なりがあるパターンを示す情報であり、パタ
ーンを含むセルのセル名、パターンが存在する階層、パ
ターンの座標値、等を含む。
定手段)であり、図3のCPU2は、ステップ26にお
いて重なり有りを判定したパターンに対して重なりを確
定する。CPU2は、確定したパターンの情報を重なり
情報として第3データファイル13に格納する。重なり
情報は、重なりがあるパターンを示す情報であり、パタ
ーンを含むセルのセル名、パターンが存在する階層、パ
ターンの座標値、等を含む。
【0062】図1のステップ26においてパターン同士
に重なりが無い場合、CPU2はステップ26からステ
ップ28に移る。ステップ28は終了判定処理であり、
図3のCPU2は、全てのセルに対して重なり検出処理
を実施したか否かを判断する。この判断には、ステップ
22において設定される処理対象セルの情報が用いられ
る。CPU2は、レイアウトデータを構成する全てのセ
ルを処理対象セルに設定したか否かを判断する。CPU
2は、全てのセルを処理対象セルに設定していない場
合、ステップ28からステップ22に移る。そして、処
理対象セルに設定していないセルが無くなるまでステッ
プ22からステップ27のループを繰り返し実行し、全
てのセルを処理対象セルとした重なり検出処理を実行す
る。
に重なりが無い場合、CPU2はステップ26からステ
ップ28に移る。ステップ28は終了判定処理であり、
図3のCPU2は、全てのセルに対して重なり検出処理
を実施したか否かを判断する。この判断には、ステップ
22において設定される処理対象セルの情報が用いられ
る。CPU2は、レイアウトデータを構成する全てのセ
ルを処理対象セルに設定したか否かを判断する。CPU
2は、全てのセルを処理対象セルに設定していない場
合、ステップ28からステップ22に移る。そして、処
理対象セルに設定していないセルが無くなるまでステッ
プ22からステップ27のループを繰り返し実行し、全
てのセルを処理対象セルとした重なり検出処理を実行す
る。
【0063】ステップ28において全てのセルの処理を
終了した、即ち全てのセルを処理対象セルとしてパター
ンの重なりを判定する処理を終了した場合、CPU2は
図形処理を終了する。
終了した、即ち全てのセルを処理対象セルとしてパター
ンの重なりを判定する処理を終了した場合、CPU2は
図形処理を終了する。
【0064】上記の図形処理(重なり検出処理)におい
て第3データファイル13に格納された重なり情報は、
レイアウト検証やEBデータ作成処理等に利用される。
例えば、レイアウト検証では、第3データファイル13
に格納された重なり情報に基づいて、重なりある図形に
対して図形論理処理が行われ、検証に必要な図形が作成
される。また、EBデータ作成処理では、第3データフ
ァイル13に格納された重なり情報に基づいて、重なり
があるレイアウトデータの重なりを除去した露光データ
を作成する。その露光データにより、重なりが無い分だ
け露光時間の短縮や周りに対する影響をなくすことがで
きる。
て第3データファイル13に格納された重なり情報は、
レイアウト検証やEBデータ作成処理等に利用される。
例えば、レイアウト検証では、第3データファイル13
に格納された重なり情報に基づいて、重なりある図形に
対して図形論理処理が行われ、検証に必要な図形が作成
される。また、EBデータ作成処理では、第3データフ
ァイル13に格納された重なり情報に基づいて、重なり
があるレイアウトデータの重なりを除去した露光データ
を作成する。その露光データにより、重なりが無い分だ
け露光時間の短縮や周りに対する影響をなくすことがで
きる。
【0065】このレイアウト検証やEBデータ作成処理
等において、予め重なり合うパターンの情報が作成され
ているため、全てのセルに対して重なりを調べる必要が
ない。また、従来のように全てのレイアウトデータを展
開したり、重なりの無い新たなセルを作成する必要がな
い。そのため、処理時間の高速化とリソース量の低減が
図られる。
等において、予め重なり合うパターンの情報が作成され
ているため、全てのセルに対して重なりを調べる必要が
ない。また、従来のように全てのレイアウトデータを展
開したり、重なりの無い新たなセルを作成する必要がな
い。そのため、処理時間の高速化とリソース量の低減が
図られる。
【0066】次に、上記の図形処理(重なり検出処理)
を、図7〜図13を用いて説明する。図7は、レイアウ
トデータ51の階層構造を示す説明図である。図8は、
レイアウトデータ51を展開した状態を示すレイアウト
図である。図9は、レイアウトデータ51の各階層に含
まれるストラクチャを示すレイアウト図である。
を、図7〜図13を用いて説明する。図7は、レイアウ
トデータ51の階層構造を示す説明図である。図8は、
レイアウトデータ51を展開した状態を示すレイアウト
図である。図9は、レイアウトデータ51の各階層に含
まれるストラクチャを示すレイアウト図である。
【0067】レイアウトデータ51は、最上層にセルA
AAを備える。セルAAAは、下層に設けられた2つの
同一レイアウトのセルBBBを備える。尚、同一レイア
ウトのセルを区別するために、以下の説明において括弧
付き数字をセルの符号に付して説明する。従って、セル
AAAは、セルBBB(1),BBB(2)を備える。
AAを備える。セルAAAは、下層に設けられた2つの
同一レイアウトのセルBBBを備える。尚、同一レイア
ウトのセルを区別するために、以下の説明において括弧
付き数字をセルの符号に付して説明する。従って、セル
AAAは、セルBBB(1),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参照)を備える。
ぞれ下層に設けられた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参照)を備える。
【0069】図9には、各階層において重なりがあるス
トラクチャに対してハッチングを付してある。セルAA
Aに含まれるセルBBB(1),BBB(2)は重なり
合っている。また、各セルBBBに含まれるセルCCC
(1),CCC(2)は重なり合っている。更に、各セ
ルCCCに含まれるセルDDD(1),DDD(2)は
重なり合っている。そして、各セルDDDに含まれるパ
ターンPD1,PD2は重なり合っていない。
トラクチャに対してハッチングを付してある。セルAA
Aに含まれるセルBBB(1),BBB(2)は重なり
合っている。また、各セルBBBに含まれるセルCCC
(1),CCC(2)は重なり合っている。更に、各セ
ルCCCに含まれるセルDDD(1),DDD(2)は
重なり合っている。そして、各セルDDDに含まれるパ
ターンPD1,PD2は重なり合っていない。
【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に重なりがある。
なるストラクチャをハッチングを付して示してある。図
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に重なりがある。
【0071】上記のレイアウトデータ51に対する図形
処理を説明する。 [セルDDDを処理対象セルに設定した場合]処理対象
セルに設定したセルDDD(111)を最上階層とした
階層構造を構成する各ストラクチャに対して、CPU2
は以下のように種類を設定する。
処理を説明する。 [セルDDDを処理対象セルに設定した場合]処理対象
セルに設定したセルDDD(111)を最上階層とした
階層構造を構成する各ストラクチャに対して、CPU2
は以下のように種類を設定する。
【0072】先ず、CPU2はセルDDD(111)に
種類を設定する。セルDDD(111)は処理対象セル
である。従って、CPU2は、セルDDD(111)に
独自の種類[DDD(111)]を設定する。
種類を設定する。セルDDD(111)は処理対象セル
である。従って、CPU2は、セルDDD(111)に
独自の種類[DDD(111)]を設定する。
【0073】次に、CPU2は、セルDDD(111)
に含まれるパターンPD1,PD2に対して、パターン
PD1,PD2の所属セルであるセルDDD(111)
と同じ種類[DDD(111)]を設定する。
に含まれるパターンPD1,PD2に対して、パターン
PD1,PD2の所属セルであるセルDDD(111)
と同じ種類[DDD(111)]を設定する。
【0074】CPU2は、図1の図形処理におけるステ
ップ23〜25のループを繰り返し実行し、重なりを検
出する。1回目のループにおいて、先ず、CPU2は、
セルDDD(111)に含まれる枠データを図1の第2
データファイル12から読み込む。図10に示すよう
に、セルDDD(111)はパターンPD1,DP2を
含む。従って、CPU2は、パターンPD1,PD2の
枠データを第2データファイル12から読み込む。
ップ23〜25のループを繰り返し実行し、重なりを検
出する。1回目のループにおいて、先ず、CPU2は、
セルDDD(111)に含まれる枠データを図1の第2
データファイル12から読み込む。図10に示すよう
に、セルDDD(111)はパターンPD1,DP2を
含む。従って、CPU2は、パターンPD1,PD2の
枠データを第2データファイル12から読み込む。
【0075】セルDDD(111)はセルを含まないた
め、次に読み込むセル枠はない。従って、CPU2は、
パターンPD1,PD2において重なりを判定する。こ
の場合、パターンPD1,PD2に重なりが無いため、
CPU2はセルDDD(111)において「重なり無
し」と判定する。
め、次に読み込むセル枠はない。従って、CPU2は、
パターンPD1,PD2において重なりを判定する。こ
の場合、パターンPD1,PD2に重なりが無いため、
CPU2はセルDDD(111)において「重なり無
し」と判定する。
【0076】また、CPU2は、セルDDD(112)
〜DDD(222)に対して、セルDDD(111)と
同じ処理を実行する。そして、CPU2は、各セルDD
D(112)〜DDD(222)において、セルDDD
(111)と同様に「重なり無し」と判定する。
〜DDD(222)に対して、セルDDD(111)と
同じ処理を実行する。そして、CPU2は、各セルDD
D(112)〜DDD(222)において、セルDDD
(111)と同様に「重なり無し」と判定する。
【0077】[セルCCCを処理対象セルに設定した場
合]処理対象セルに設定したセルCCC(11)を最上
階層とした階層構造を構成する各ストラクチャに対し
て、CPU2は以下のように種類を設定する。
合]処理対象セルに設定したセルCCC(11)を最上
階層とした階層構造を構成する各ストラクチャに対し
て、CPU2は以下のように種類を設定する。
【0078】先ず、CPU2は、セルCCC(11)に
種類を設定する。セルCCC(11)は処理対象セルで
ある。従って、CPU2は、セルCCC(11)に独自
の種類[CCC(11)]を設定する。
種類を設定する。セルCCC(11)は処理対象セルで
ある。従って、CPU2は、セルCCC(11)に独自
の種類[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)]を
設定する。
含まれるセルDDD(111),DDD(112)に種
類を設定する。セルDDD(111),DDD(11
2)の所属セルであるセルCCC(11)は処理対象セ
ルである。従って、CPU2は、各セルに独自の種類を
設定する。即ち、CPU2は、セルDDD(111)に
対して独自の種類[DDD(111)]を、セルDDD
(112)に対して独自の種類[DDD(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)]を設定する。
に含まれるパターンPD1,PD2に対して、パターン
PD1,PD2の所属セルであるセルDDD(111)
と同じ種類[DDD(111)]を設定する。また、C
PU2は、セルDDD(112)に含まれるパターンP
D1,PD2に対して、パターンPD1,PD2の所属
セルであるセルDDD(112)と同じ種類[DDD
(112)]を設定する。
【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から読み込む。
ップ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から読み込む。
【0082】次に、CPU2は、読み込んだセルDDD
(111),DDD(112)の枠データに重なりがあ
るか判定する。セルDDD(111),DDD(11
2)のセル枠には、図11の上段に示すように重なりが
ある。また、セルDDD(111),DDD(112)
は、それぞれ独自の種類が設定されているため、種類が
異なる。
(111),DDD(112)の枠データに重なりがあ
るか判定する。セルDDD(111),DDD(11
2)のセル枠には、図11の上段に示すように重なりが
ある。また、セルDDD(111),DDD(112)
は、それぞれ独自の種類が設定されているため、種類が
異なる。
【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から読み込む。
2は、セルDDD(111),DDD(112)をそれ
ぞれ構成するストラクチャの枠データを読み込む。図1
1の下段に示すように、セルDDD(111),DDD
(112)は、パターンPD1,PD2をそれぞれ含
む。従って、CPU2は、セルDDD(111),DD
D(112)のパターンPD1,PD2の枠データを第
2データファイル12から読み込む。
【0084】セルDDD(111),DDD(112)
はセルを含まないため、次に読み込むセル枠はない。従
って、CPU2は、各セルDDD(111),DDD
(112)に含まれるパターンPD1,PD2において
重なりを判定する。
はセルを含まないため、次に読み込むセル枠はない。従
って、CPU2は、各セルDDD(111),DDD
(112)に含まれるパターンPD1,PD2において
重なりを判定する。
【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に格納する。
ル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に格納する。
【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に格納する。
セルに設定した場合、CPU2は、セルCCC(11)
を処理対象セルに設定した場合と同様に動作する。即
ち、CPU2は、セルCCC(2)を最上階層とする階
層構造を構成する各ストラクチャに対して種類を設定す
る。そして、CPU2は、図8のセルDDD(121)
とセルDDD(122)における重なりを検出する。そ
して、CPU2は、重なりがあるセルDDD(121)
のパターンPD1と、セルDDD(122)のパターン
PD1,PD2の重なり情報を、図1の第3データファ
イル13に格納する。
【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に格納する。
に設定した場合、CPU2は、セルCCC(11)を処
理対象セルに設定した場合と同様に動作する。即ち、C
PU2は、セルCCC(21)を最上階層とする階層構
造を構成する各ストラクチャに対して種類を設定する。
そして、CPU2は、図8のセルDDD(211)とセ
ルDDD(212)における重なりを検出する。そし
て、CPU2は、重なりがあるセルDDD(211)の
パターンPD1,PD2と、セルDDD(212)のパ
ターンPD1の重なり情報を、図1の第3データファイ
ル13に格納する。
【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に格納する。
に設定した場合、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に格納する。
【0089】[処理対象セルにセルBBBを設定した場
合]処理対象セルに設定したセルBBB(1)を最上階
層とした階層構造を構成する各ストラクチャに対して、
CPU2は以下のように種類を設定する。
合]処理対象セルに設定したセルBBB(1)を最上階
層とした階層構造を構成する各ストラクチャに対して、
CPU2は以下のように種類を設定する。
【0090】先ず、CPU2は、セルBBB(1)に種
類を設定する。セルBBB(1)は処理対象セルであ
る。従って、CPU2は、セルBBB(1)に独自の種
類[BBB(1)]を設定する。
類を設定する。セルBBB(1)は処理対象セルであ
る。従って、CPU2は、セルBBB(1)に独自の種
類[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)]を設定する。
まれるセルCCC(11),CCC(12)に種類を設
定する。セルCCC(11),CCC(12)の所属セ
ルであるセルBBB(1)は処理対象セルである。従っ
て、CPU2はセルCCC(11),CCC(12)に
対してそれぞれ独自の種類[CCC(11)],[CC
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)]を設定する。
含まれるセル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)]を設定する。
【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)]を設定する。
に含まれるパターンPD1,PD2に対して、パターン
PD1,PD2の所属セルであるセルDDD(111)
と同じ種類[CCC(11)]を設定する。また、CP
U2は、セルDDD(112)に含まれるパターンPD
1,PD2に対して、パターンPD1,PD2の所属セ
ルであるセルDDD(112)と同じ種類[CCC(1
2)]を設定する。
【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から読み込む。
ップ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から読み込む。
【0095】次に、CPU2は、読み込んだセルCCC
(11),CCC(12)の枠データに重なりがあるか
判定する。図12の上段に示すように、セルCCC(1
1),CCC(12)のセル枠には、重なりがある。ま
た、セルCCC(11),CCC(12)は、それぞれ
独自の種類に設定されているため、種類が異なる。
(11),CCC(12)の枠データに重なりがあるか
判定する。図12の上段に示すように、セルCCC(1
1),CCC(12)のセル枠には、重なりがある。ま
た、セルCCC(11),CCC(12)は、それぞれ
独自の種類に設定されているため、種類が異なる。
【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か
ら読み込む。
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か
ら読み込む。
【0097】次に、CPU2は、読み込んだセルDDD
(111)〜DDD(122)の枠データに重なりがあ
るか判定する。図12の中段に示すように、セルDDD
(111)とセルDDD(112)のセル枠には重なり
がある。セルDDD(112)とセルDDD(121)
のセル枠には重なりがある。更に、セルDDD(12
1)とセルDDD(122)のセル枠には重なりがあ
る。
(111)〜DDD(122)の枠データに重なりがあ
るか判定する。図12の中段に示すように、セルDDD
(111)とセルDDD(112)のセル枠には重なり
がある。セルDDD(112)とセルDDD(121)
のセル枠には重なりがある。更に、セルDDD(12
1)とセルDDD(122)のセル枠には重なりがあ
る。
【0098】しかし、セルDDD(111)とセルDD
D(112)の種類はそれぞれ種類[CCC(11)]
であり同じである。また、セルDDD(121)とセル
DDD(122)の種類はそれぞれ種類[CCC(1
2)]であり同じである。従って、CPU2は、同じ種
類であるセルDDD(111),DDD(112)間、
セルDDD(121),DDD(122)間に「重なり
無し」と判定する。
D(112)の種類はそれぞれ種類[CCC(11)]
であり同じである。また、セルDDD(121)とセル
DDD(122)の種類はそれぞれ種類[CCC(1
2)]であり同じである。従って、CPU2は、同じ種
類であるセルDDD(111),DDD(112)間、
セルDDD(121),DDD(122)間に「重なり
無し」と判定する。
【0099】一方、セルDDD(112)とセルDDD
(121)は種類がそれぞれ種類[CCC(11)],
[CCC(12)]であり異なる。従って、CPU2
は、セルDDD(112),DDD(121)間に「重
なり有り」と判定する。
(121)は種類がそれぞれ種類[CCC(11)],
[CCC(12)]であり異なる。従って、CPU2
は、セルDDD(112),DDD(121)間に「重
なり有り」と判定する。
【0100】従って、3回目のループにおいて、CPU
2は、「重なり有り」と判定したセルDDD(11
2),DDD(121)に含まれるストラクチャの枠デ
ータを第2データファイル12から読み込む。即ち、図
12の下段に示すように、CPU2は、セルDDD(1
12),DDD(121)にそれぞれ含まれるパターン
PD1,PD2の枠データを第2データファイル12か
ら読み込む。
2は、「重なり有り」と判定したセルDDD(11
2),DDD(121)に含まれるストラクチャの枠デ
ータを第2データファイル12から読み込む。即ち、図
12の下段に示すように、CPU2は、セルDDD(1
12),DDD(121)にそれぞれ含まれるパターン
PD1,PD2の枠データを第2データファイル12か
ら読み込む。
【0101】この時、CPU2は、「重なり無し」と判
定したセルDDD(111)とセルDDD(122)に
含まれるストラクチャの枠データを読み込まない。即
ち、CPU2は、「重なり無し」と判定したセルに含ま
れる枠データを読み込まない。従って、メモリ3等のリ
ソースの使用量が全て(セルDDD(111)〜DDD
(122)の枠データ)を読み込む場合に比べて少な
い。
定したセルDDD(111)とセルDDD(122)に
含まれるストラクチャの枠データを読み込まない。即
ち、CPU2は、「重なり無し」と判定したセルに含ま
れる枠データを読み込まない。従って、メモリ3等のリ
ソースの使用量が全て(セルDDD(111)〜DDD
(122)の枠データ)を読み込む場合に比べて少な
い。
【0102】セルDDD(112),DDD(121)
はセルを含まないため、次に読み込むセル枠はない。従
って、CPU2は、各セルDDD(112),DDD
(121)に含まれるパターンPD1,PD2において
重なりを判定する。
はセルを含まないため、次に読み込むセル枠はない。従
って、CPU2は、各セルDDD(112),DDD
(121)に含まれるパターンPD1,PD2において
重なりを判定する。
【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に格納する。
ル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に格納する。
【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に格納
する。
ルに設定した場合、CPU2は、セルBBB(1)を処
理対象セルに設定した場合と同様に動作する。即ち、C
PU2は、セルBBB(2)を最上階層とする階層構造
を構成する各ストラクチャに対して種類を設定する。そ
して、CPU2は、図8のセルDDD(212)とセル
DDD(221)における重なりを検出する。そして、
CPU2は、重なりがあるセルDDD(212)のパタ
ーンPD2と、セルDDD(221)のパターンPD2
の重なり情報を、図1の第3データファイル13に格納
する。
【0105】[セルAAAを処理対象セルに設定した場
合]処理対象セルに設定したセルAAAを最上階層とし
た階層構造を構成する各ストラクチャに対して、CPU
2は以下のように種類を設定する。
合]処理対象セルに設定したセルAAAを最上階層とし
た階層構造を構成する各ストラクチャに対して、CPU
2は以下のように種類を設定する。
【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)]を設定する。
定する。セル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)]を設定する。
【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)]を設定する。
まれるセル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)]を設定する。
【0108】次に、CPU2は、セルCCC(11)に
含まれるセルDDD(111),DDD(112)に対
して種類を設定する。この時、セルDDD(111),
DDD(112)の所属セルであるセルCCC(11)
は処理対象セルではない。従って、CPU2は、セルD
DD(111),DDD(112)に所属セルであるセ
ルCCC(11)と同じ種類[BBB(1)]を設定す
る。
含まれるセルDDD(111),DDD(112)に対
して種類を設定する。この時、セルDDD(111),
DDD(112)の所属セルであるセルCCC(11)
は処理対象セルではない。従って、CPU2は、セルD
DD(111),DDD(112)に所属セルであるセ
ルCCC(11)と同じ種類[BBB(1)]を設定す
る。
【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)]を設定する。
に含まれるセル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)]を設定する。
【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)]を設定する。
に含まれるパターンPD1,PD2に対して、パターン
PD1,PD2の所属セルであるセルDDD(111)
と同じ種類[BBB(1)]を設定する。また、CPU
2は、セルDDD(112)に含まれるパターンPD
1,PD2に対して、パターンPD1,PD2の所属セ
ルであるセルDDD(112)と同じ種類[BBB
(1)]を設定する。
【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)]を設定
する。
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)]を設定
する。
【0112】CPU2は、図1の図形処理におけるステ
ップ23〜25のループを繰り返し実行し、重なりを検
出する。1回目のループにおいて、先ず、CPU2は、
セルAAAに含まれるストラクチャの枠データを図1の
第2データファイル12から読み込む。図13の最上段
に示すように、セルAAAはセルBBB(1),BBB
(2)を含む。従って、CPU2は、セルBBB
(1),BBB(2)の枠データを第2データファイル
12から読み込む。
ップ23〜25のループを繰り返し実行し、重なりを検
出する。1回目のループにおいて、先ず、CPU2は、
セルAAAに含まれるストラクチャの枠データを図1の
第2データファイル12から読み込む。図13の最上段
に示すように、セルAAAはセルBBB(1),BBB
(2)を含む。従って、CPU2は、セルBBB
(1),BBB(2)の枠データを第2データファイル
12から読み込む。
【0113】次に、CPU2は、読み込んだセルBBB
(1),BBB(2)の枠データに重なりがあるか判定
する。図13の上段に示すように、セルBBB(1),
BBB(2)のセル枠には、重なりがある。また、セル
BBB(1),BBB(2)は、それぞれ独自の種類に
設定されているため、種類が異なる。
(1),BBB(2)の枠データに重なりがあるか判定
する。図13の上段に示すように、セルBBB(1),
BBB(2)のセル枠には、重なりがある。また、セル
BBB(1),BBB(2)は、それぞれ独自の種類に
設定されているため、種類が異なる。
【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から読み込む。
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から読み込む。
【0115】次に、CPU2は、読み込んだセルCCC
(11)〜CCC(22)の枠データに重なりがあるか
判定する。図13の2段目に示すように、セルCCC
(11)とセルCCC(12)のセル枠には重なりがあ
る。また、セルCCC(12)とセルCCC(21)の
セル枠には重なりがある。更に、セルCCC(21)と
セルCCC(22)のセル枠には重なりがある。
(11)〜CCC(22)の枠データに重なりがあるか
判定する。図13の2段目に示すように、セルCCC
(11)とセルCCC(12)のセル枠には重なりがあ
る。また、セルCCC(12)とセルCCC(21)の
セル枠には重なりがある。更に、セルCCC(21)と
セルCCC(22)のセル枠には重なりがある。
【0116】しかし、セルCCC(11)とセルCCC
(12)の種類はそれぞれ種類[BBB(1)]であり
同じである。また、セルCCC(21)とセルCCC
(22)の種類はそれぞれ種類[BBB(2)]であり
同じである。従って、CPU2は、同じ種類であるセル
CCC(11),CCC(12)間、セルCCC(2
1),CCC(22)間に「重なり無し」と判定する。
(12)の種類はそれぞれ種類[BBB(1)]であり
同じである。また、セルCCC(21)とセルCCC
(22)の種類はそれぞれ種類[BBB(2)]であり
同じである。従って、CPU2は、同じ種類であるセル
CCC(11),CCC(12)間、セルCCC(2
1),CCC(22)間に「重なり無し」と判定する。
【0117】一方、セルCCC(12)とセルCCC
(21)の種類はそれぞれ種類[BBB(1)],[B
BB(2)]であり異なる。従って、CPU2は、セル
CCC(12),CCC(21)間に「重なり有り」と
判定する。
(21)の種類はそれぞれ種類[BBB(1)],[B
BB(2)]であり異なる。従って、CPU2は、セル
CCC(12),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から読み込む。
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から読み込む。
【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)のセル枠には重なりがある。
(121),DDD(122),DDD(211),D
DD(212)の枠データに重なりがあるか判定する。
図13の3段目に示すように、セルDDD(121)と
セルDDD(122)のセル枠には重なりがある。ま
た、セルDDD(122)とセルDDD(211)のセ
ル枠には重なりがある。更に、セルDDD(211)と
セルDDD(212)のセル枠には重なりがある。
【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)間にそれぞれ「重な
り無し」と判定する。
D(122)の種類はそれぞれ種類[BBB(1)]で
あり同じである。また、セルDDD(211)とセルD
DD(212)の種類はそれぞれ種類[BBB(2)]
であり同じである。従って、CPU2は、同じ種類であ
るセルDDD(121),DDD(122)間、セルD
DD(211),DDD(212)間にそれぞれ「重な
り無し」と判定する。
【0121】一方、セルDDD(122)とセルDDD
(211)の種類はそれぞれ種類[CCC(11)],
[CCC(12)]であり異なる。従って、CPU2
は、セルDDD(112),DDD(211)間に「重
なり有り」と判定する。
(211)の種類はそれぞれ種類[CCC(11)],
[CCC(12)]であり異なる。従って、CPU2
は、セルDDD(112),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から読み込む。
2は、「重なり有り」と判定したセルDDD(11
2),DDD(211)に含まれるストラクチャの枠デ
ータを第2データファイル12から読み込む。即ち、C
PU2は、図13の最下段に示すように、セルDDD
(112),DDD(211)にそれぞれ含まれるパタ
ーンPD1,PD2の枠データを第2データファイル1
2から読み込む。
【0123】この時、CPU2は、「重なり無し」と判
定したセルDDD(121)とセルDDD(212)に
含まれるストラクチャの枠データを読み込まない。即ち
CPU2は、「重なり無し」と判定したセルに含まれる
枠データを読み込まない。従って、メモリ3等のリソー
スの使用量が全て(セルDDD(111)〜DDD(2
12)の枠データ)を読み込む場合に比べて少ない。
定したセルDDD(121)とセルDDD(212)に
含まれるストラクチャの枠データを読み込まない。即ち
CPU2は、「重なり無し」と判定したセルに含まれる
枠データを読み込まない。従って、メモリ3等のリソー
スの使用量が全て(セルDDD(111)〜DDD(2
12)の枠データ)を読み込む場合に比べて少ない。
【0124】セルDDD(112),DDD(211)
はセルを含まないため、次に読み込むセル枠はない。従
って、CPU2は、各セルDDD(112),DDD
(211)に含まれるパターンPD1,PD2において
重なりを判定する。
はセルを含まないため、次に読み込むセル枠はない。従
って、CPU2は、各セルDDD(112),DDD
(211)に含まれるパターンPD1,PD2において
重なりを判定する。
【0125】この場合、図13の最下段に示すように、
セルDDD(122)のパターンPD2と、セルDDD
(211)のパターンPD1に重なりがある。また、セ
ルDDD(122)のパターンPD1と、セルDDD
(211)のパターンPD2に重なりがある。
セルDDD(122)のパターンPD2と、セルDDD
(211)のパターンPD1に重なりがある。また、セ
ルDDD(122)のパターンPD1と、セルDDD
(211)のパターンPD2に重なりがある。
【0126】そして、セルDDD(122)のパターン
PD1と、セルDDD(211)のパターンPD1はそ
れぞれ種類[CCC(11)],[CCC(12)]で
あり異なる。また、セルDDD(122)のパターンP
D2と、セルDDD(211)のパターンPD2は、は
それぞれ種類[CCC(11)],[CCC(12)]
であり異なる。
PD1と、セルDDD(211)のパターンPD1はそ
れぞれ種類[CCC(11)],[CCC(12)]で
あり異なる。また、セルDDD(122)のパターンP
D2と、セルDDD(211)のパターンPD2は、は
それぞれ種類[CCC(11)],[CCC(12)]
であり異なる。
【0127】従って、CPU2はセルDDD(112)
とセルDDD(211)において「重なり有り」と判定
する。そして、CPU2は、重なりがあるセルDDD
(112)のパターンPD2,PD1と、セルDDD
(211)のパターンPD1,PD2の重なり情報を図
1の第3データファイル13に格納する。
とセルDDD(211)において「重なり有り」と判定
する。そして、CPU2は、重なりがあるセルDDD
(112)のパターンPD2,PD1と、セルDDD
(211)のパターンPD1,PD2の重なり情報を図
1の第3データファイル13に格納する。
【0128】以上の処理によって、全ての重なりを重複
することなく検出することができるので、処理に要する
時間が短い。しかも、重なりがあるセルに対して、各セ
ルが同じ種類の場合に「重なり無し」と判断してそのセ
ルに含まれるストラクチャを読み込まないようにしたた
め、読み込むデータ数が少なくなってリソースが不足す
ることがない。
することなく検出することができるので、処理に要する
時間が短い。しかも、重なりがあるセルに対して、各セ
ルが同じ種類の場合に「重なり無し」と判断してそのセ
ルに含まれるストラクチャを読み込まないようにしたた
め、読み込むデータ数が少なくなってリソースが不足す
ることがない。
【0129】ところで、従来の方式では、種類が設定さ
れていないため、本実施形態で「重なり無し」と判断し
た枠を「重なり有り」として動作していた。例えば、図
13の2段目において、セルCCC(11)とセルCC
C(12)、セルCCC(21)とセルCC(22)を
従来では「重なり有り」と判断していた。その結果、余
計な重なりも調べることになり、処理に時間がかかる。
また、「重なり無し」とするために、予め重なりを除去
したデータ(新たなセル)を作成する等の方法を行った
りするものもあるが、重なりを除去したデータを作成す
るためにリソース(ディスク資源等)をよけいに消費す
るとともに、処理に時間がかかる。
れていないため、本実施形態で「重なり無し」と判断し
た枠を「重なり有り」として動作していた。例えば、図
13の2段目において、セルCCC(11)とセルCC
C(12)、セルCCC(21)とセルCC(22)を
従来では「重なり有り」と判断していた。その結果、余
計な重なりも調べることになり、処理に時間がかかる。
また、「重なり無し」とするために、予め重なりを除去
したデータ(新たなセル)を作成する等の方法を行った
りするものもあるが、重なりを除去したデータを作成す
るためにリソース(ディスク資源等)をよけいに消費す
るとともに、処理に時間がかかる。
【0130】しかしながら、本実施形態では、各セルの
枠に対して種類を設定し、同じ種類の枠は「重なり無
し」として処理しているため、余計な重なりは調べない
ので、処理時間が短くなる。また、「重なり無し」と判
定したセル枠に含まれるストラクチャを読み込まない、
即ち、「重なり無し」と判定したセル枠と展開しないた
め、その時々に処理するデータ数が少なくなって必要と
するリソース量が少なくなる。更に、予め重なりを除去
したデータを作成する必要がない。そのため、リソース
が不足することがなく、処理時間が短くなる。
枠に対して種類を設定し、同じ種類の枠は「重なり無
し」として処理しているため、余計な重なりは調べない
ので、処理時間が短くなる。また、「重なり無し」と判
定したセル枠に含まれるストラクチャを読み込まない、
即ち、「重なり無し」と判定したセル枠と展開しないた
め、その時々に処理するデータ数が少なくなって必要と
するリソース量が少なくなる。更に、予め重なりを除去
したデータを作成する必要がない。そのため、リソース
が不足することがなく、処理時間が短くなる。
【0131】[スイープ法を用いた重なり検出処理]次
に、スイープ法を用いて重なり検出処理を実行する場合
を、図14〜図19を用いて説明する。スイープ法は、
図形の形状や重なり合い等の状態を検出するのに有効な
方法であり、一般的に用いられる。
に、スイープ法を用いて重なり検出処理を実行する場合
を、図14〜図19を用いて説明する。スイープ法は、
図形の形状や重なり合い等の状態を検出するのに有効な
方法であり、一般的に用いられる。
【0132】図14は、レイアウトデータ61の階層構
造を示す説明図である。図15は、レイアウトデータ6
1を展開した状態を示すレイアウト図である。図16
は、レイアウトデータ61の各階層に含まれるストラク
チャを示すレイアウト図である。
造を示す説明図である。図15は、レイアウトデータ6
1を展開した状態を示すレイアウト図である。図16
は、レイアウトデータ61の各階層に含まれるストラク
チャを示すレイアウト図である。
【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を含む。
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を含む。
【0134】前記セルBBBは2つの同一レイアウトの
セルDDD(1),DDD(2)と、パターンPB1,
PB2(図16参照)を含む。セルDDDは、パターン
PD1,PD2(図16参照)を含む。
セルDDD(1),DDD(2)と、パターンPB1,
PB2(図16参照)を含む。セルDDDは、パターン
PD1,PD2(図16参照)を含む。
【0135】図16には、各階層において重なりがある
ストラクチャに対してハッチングを付してある。セルT
OPに含まれるセルAAA(1),AAA(2),BB
Bは重なり合っている。また、セルBBBに含まれるセ
ルDDD(1),DDD(2)は重なり合っている。
ストラクチャに対してハッチングを付してある。セルT
OPに含まれるセルAAA(1),AAA(2),BB
Bは重なり合っている。また、セルBBBに含まれるセ
ルDDD(1),DDD(2)は重なり合っている。
【0136】図15には、全ての階層を展開した場合に
重なるストラクチャをハッチングを付して示してある。
図15に示すように、セルCCC(1)に含まれるセル
EEE(1)を構成するパターンPE1と、セルCCC
(2)に含まれるパターンPC1に重なりがある。ま
た、セルDDD(1)に含まれるパターンPD1とセル
DDD(2)に含まれるパターンPD1、セルDDD
(1)に含まれるパターンPD2とセルDDD(2)に
含まれるパターンPD2に重なりがある。
重なるストラクチャをハッチングを付して示してある。
図15に示すように、セルCCC(1)に含まれるセル
EEE(1)を構成するパターンPE1と、セルCCC
(2)に含まれるパターンPC1に重なりがある。ま
た、セルDDD(1)に含まれるパターンPD1とセル
DDD(2)に含まれるパターンPD1、セルDDD
(1)に含まれるパターンPD2とセルDDD(2)に
含まれるパターンPD2に重なりがある。
【0137】上記のレイアウトデータ61に対してスイ
ープ法を用いた場合について説明する。先ず、CPU2
は、各セルの存在領域をボトムアップにて計算して各セ
ルの枠データを作成する。そして、CPU2は、作成し
た各セルの枠データを第2データファイル12に格納す
る。
ープ法を用いた場合について説明する。先ず、CPU2
は、各セルの存在領域をボトムアップにて計算して各セ
ルの枠データを作成する。そして、CPU2は、作成し
た各セルの枠データを第2データファイル12に格納す
る。
【0138】次に、CPU2は、処理対象セルを設定す
る。ここでは、セルTOPを処理対象セルに設定した場
合について説明する。次に、CPU2は、設定した処理
対象セルに基づいて、各セルの種類を設定する。
る。ここでは、セルTOPを処理対象セルに設定した場
合について説明する。次に、CPU2は、設定した処理
対象セルに基づいて、各セルの種類を設定する。
【0139】処理対象セルに設定したセルAAAを最上
階層とした階層構造を構成する各ストラクチャに対し
て、CPU2は以下のように種類を設定する。先ず、C
PU2は、セルTOPが処理対象セルであるため、セル
TOPに独自の種類[TOP]を設定する。
階層とした階層構造を構成する各ストラクチャに対し
て、CPU2は以下のように種類を設定する。先ず、C
PU2は、セルTOPが処理対象セルであるため、セル
TOPに独自の種類[TOP]を設定する。
【0140】次に、CPU2は、セルTOPに含まれる
セルAAA(1),AAA(2),BBBに対して、各
セルの所属セルが処理対象セルであるため、各セルAA
A(1),AAA(2),BBBにそれぞれ独自の種類
[AAA(1)][AAA(2)],[BBB]を設定
する。
セルAAA(1),AAA(2),BBBに対して、各
セルの所属セルが処理対象セルであるため、各セルAA
A(1),AAA(2),BBBにそれぞれ独自の種類
[AAA(1)][AAA(2)],[BBB]を設定
する。
【0141】そして、CPU2は、セルAAA(1)以
下の階層に含まれる各セル,各パターンに対して、所属
セルであるセルAAA(1)と同じ種類[AAA
(1)]を設定する。また、CPU2は、セルAAA
(2)以下の階層に含まれる各セル,各パターンに対し
て、所属セルであるセルAAA(2)と同じ種類[AA
A(2)]を設定する。更に、CPU2は、セルBBB
以下の階層に含まれる各セル,各パターンに対して、所
属セルであるセルBBBと同じ種類[BBB]を設定す
る。
下の階層に含まれる各セル,各パターンに対して、所属
セルであるセルAAA(1)と同じ種類[AAA
(1)]を設定する。また、CPU2は、セルAAA
(2)以下の階層に含まれる各セル,各パターンに対し
て、所属セルであるセルAAA(2)と同じ種類[AA
A(2)]を設定する。更に、CPU2は、セルBBB
以下の階層に含まれる各セル,各パターンに対して、所
属セルであるセルBBBと同じ種類[BBB]を設定す
る。
【0142】次に、CPU2は、スイープラインSLを
処理対象セルとしたセルTOPに対して、セル枠の左辺
から右辺に向かってスイープする。尚、スイープライン
SLを処理対象セルに設定したセル枠の右辺から左辺に
向かってスイープしてもよい。
処理対象セルとしたセルTOPに対して、セル枠の左辺
から右辺に向かってスイープする。尚、スイープライン
SLを処理対象セルに設定したセル枠の右辺から左辺に
向かってスイープしてもよい。
【0143】次に、CPU2は、スイープラインSLに
おいてX座標が同じ複数のセル枠が存在する場合、それ
らの複数のセル枠が重なり合うと判定する。そして、C
PU2は、重なると判定した複数のセルのセル枠を読み
込む。
おいてX座標が同じ複数のセル枠が存在する場合、それ
らの複数のセル枠が重なり合うと判定する。そして、C
PU2は、重なると判定した複数のセルのセル枠を読み
込む。
【0144】例えば、図17のスイープラインSLの位
置において、セルAAA(1),AAA(2),BBB
が重なっている。従って、CPU2は、セルAAA
(A),AAA(2),BBBのセル枠を読み込む。
置において、セルAAA(1),AAA(2),BBB
が重なっている。従って、CPU2は、セルAAA
(A),AAA(2),BBBのセル枠を読み込む。
【0145】ここで、セル枠AAA(1)とセル枠AA
A(2)、セル枠AAA(2)とセル枠BBBは、それ
ぞれ幾何学的に重なりがある。また、各セル枠AAA
(1),AAA(2),BBBは、所属セルが処理対象
セルであるため、それぞれ独自の種類が設定されてい
る。従って、CPU2は、各セル枠AAA(1),AA
A(2),BBBに含まれるストラクチャ、即ち各セル
の1つ下の階層のセル,パターンのセル枠を読み込む。
そして、CPU2は、読み込んだ全てのセル枠の名前等
の情報を格納したワークリストをメモリ3に作成する。
A(2)、セル枠AAA(2)とセル枠BBBは、それ
ぞれ幾何学的に重なりがある。また、各セル枠AAA
(1),AAA(2),BBBは、所属セルが処理対象
セルであるため、それぞれ独自の種類が設定されてい
る。従って、CPU2は、各セル枠AAA(1),AA
A(2),BBBに含まれるストラクチャ、即ち各セル
の1つ下の階層のセル,パターンのセル枠を読み込む。
そして、CPU2は、読み込んだ全てのセル枠の名前等
の情報を格納したワークリストをメモリ3に作成する。
【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の情報を格納する。
セル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の情報を格納する。
【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)は「重なり無し」と判定
する。
(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)は「重なり無し」と判定
する。
【0148】CPU2は、上記の処理を階層構造に構成
されたレイアウトデータ61に対して、上層から下層に
向かって繰り返し実行する。すると、ワークリストに
は、パターンのみが残る。そこで、CPU2は、残った
パターンに重なりがないかを調べる。
されたレイアウトデータ61に対して、上層から下層に
向かって繰り返し実行する。すると、ワークリストに
は、パターンのみが残る。そこで、CPU2は、残った
パターンに重なりがないかを調べる。
【0149】ここで、図19に示すように、セルEEE
(1)に含まれるパターンPE2と、セルCCC(2)
に含まれるパターンPC1に重なりがあり、それぞれに
異なる種類[AAA(1)],[AAA(2)]が設定
されている。従って、CPU2は、パターンPE2とパ
ターンPC1を「重なり有り」と判定する。そして、C
PU2は、重なりがあるパターンPE1,PC1の重な
り情報を図1の第3データファイル13に格納する。
(1)に含まれるパターンPE2と、セルCCC(2)
に含まれるパターンPC1に重なりがあり、それぞれに
異なる種類[AAA(1)],[AAA(2)]が設定
されている。従って、CPU2は、パターンPE2とパ
ターンPC1を「重なり有り」と判定する。そして、C
PU2は、重なりがあるパターンPE1,PC1の重な
り情報を図1の第3データファイル13に格納する。
【0150】上記のように、スイープ法を用いることに
より、重なりのあるパターンを容易に検出することがで
きるので、処理時間が短くなる。以上記述したように、
本実施の形態によれば、以下の効果を奏する。
より、重なりのあるパターンを容易に検出することがで
きるので、処理時間が短くなる。以上記述したように、
本実施の形態によれば、以下の効果を奏する。
【0151】(1)入力したレイアウトデータに対し
て、各セル毎に展開した時の存在領域を設定し、各存在
領域の領域枠,パターンの枠よりなるセル枠の情報を作
成し、レイアウトデータに含まれるセルを順次処理対象
セルに設定し、処理対象セル以下の階層のセル,パター
ンのセル枠に対して階層構造に応じた種類を設定する。
そして、幾何学的に重なりがあるセル枠,パターンに対
して、異なる種類が設定されている場合には重なり有り
と判定し、セル枠同士又はセル枠とパターンに重なり有
りと判定した場合には重なりがあるセル枠に含まれる下
層のセル枠,パターンを更に読み込み、パターン同士に
重なりがあると判定した場合には該パターンの重なりを
確定するようにした。
て、各セル毎に展開した時の存在領域を設定し、各存在
領域の領域枠,パターンの枠よりなるセル枠の情報を作
成し、レイアウトデータに含まれるセルを順次処理対象
セルに設定し、処理対象セル以下の階層のセル,パター
ンのセル枠に対して階層構造に応じた種類を設定する。
そして、幾何学的に重なりがあるセル枠,パターンに対
して、異なる種類が設定されている場合には重なり有り
と判定し、セル枠同士又はセル枠とパターンに重なり有
りと判定した場合には重なりがあるセル枠に含まれる下
層のセル枠,パターンを更に読み込み、パターン同士に
重なりがあると判定した場合には該パターンの重なりを
確定するようにした。
【0152】その結果、各セルの枠に対して種類を設定
し、同じ種類の枠は「重なり無し」として処理している
ため、余計な重なりは調べないので、処理時間を短くす
ることができる。
し、同じ種類の枠は「重なり無し」として処理している
ため、余計な重なりは調べないので、処理時間を短くす
ることができる。
【0153】(2)また、「重なり無し」と判定したセ
ル枠に含まれるストラクチャを読み込まない、即ち、
「重なり無し」と判定したセル枠と展開しないため、そ
の時々に処理するデータ数が少なくなって必要とするリ
ソース量を少なくすることができる。
ル枠に含まれるストラクチャを読み込まない、即ち、
「重なり無し」と判定したセル枠と展開しないため、そ
の時々に処理するデータ数が少なくなって必要とするリ
ソース量を少なくすることができる。
【0154】(3)更に、予め重なりを除去したデータ
を作成する必要がない。そのため、リソースが不足する
ことがなく、処理時間を短くすることができる。 (4)セル枠に対しては、そのセル枠又はそのセル枠の
所属セルが処理対象セルの場合にはそのセル枠に対して
独自の種類を設定し、そのセル枠又はそのセル枠の所属
セルが処理対象セルではない場合には所属セルと同じ種
類を設定する。また、パターンに対しては、所属セルと
同じ種類を設定するようにした。そのため、レイアウト
データの階層構造に応じた種類を容易に設定することが
できる。
を作成する必要がない。そのため、リソースが不足する
ことがなく、処理時間を短くすることができる。 (4)セル枠に対しては、そのセル枠又はそのセル枠の
所属セルが処理対象セルの場合にはそのセル枠に対して
独自の種類を設定し、そのセル枠又はそのセル枠の所属
セルが処理対象セルではない場合には所属セルと同じ種
類を設定する。また、パターンに対しては、所属セルと
同じ種類を設定するようにした。そのため、レイアウト
データの階層構造に応じた種類を容易に設定することが
できる。
【0155】(4)図形の状態を検出するためにスイー
プ法を用いたため、重なりのあるパターンを容易に検出
することができる。そのため、図形処理の処理時間が短
くなり、処理の高速化を図ることができる。
プ法を用いたため、重なりのあるパターンを容易に検出
することができる。そのため、図形処理の処理時間が短
くなり、処理の高速化を図ることができる。
【0156】
【発明の効果】以上詳述したように、本発明によれば、
処理の高速化とリソース量の低減を図ることが可能な図
形処理方法、図形処理装置、及び、記録媒体を提供する
ことができる。
処理の高速化とリソース量の低減を図ることが可能な図
形処理方法、図形処理装置、及び、記録媒体を提供する
ことができる。
【図1】 図形処理のフローチャート。
【図2】 種類設定処理のフローチャート。
【図3】 一実施形態の図形処理装置の概略構成図。
【図4】 図形の階層構造を示す説明図。
【図5】 図形の階層構造を説明するための斜視図。
【図6】 データの関連を示す説明図。
【図7】 図形の階層構造を示す説明図。
【図8】 展開された図形を示すレイアウト図。
【図9】 図形の階層構造を示すレイアウト図。
【図10】 図形処理を説明するためのレイアウト図。
【図11】 図形の展開処理を示すレイアウト図。
【図12】 図形の展開処理を示すレイアウト図。
【図13】 図形の展開処理を示すレイアウト図。
【図14】 別の図形の階層構造を示す説明図。
【図15】 別の展開された図形を示すレイアウト図。
【図16】 別の図形の階層構造を示すレイアウト図。
【図17】 別の図形処理を説明するためのレイアウト
図。
図。
【図18】 別の図形の展開処理を示すレイアウト図。
【図19】 別の図形の展開処理を示すレイアウト図。
11 第1データファイル(レイアウトデータ) 13 第3データファイル(重なり情報) 21 領域枠作成手段 22 処理対象セル設定手段 23 データ読み込み手段 24 種類設定手段 25 第1重なり判定手段 26 第2重なり判定手段 27 重なり確定手段
Claims (9)
- 【請求項1】 セル及びパターンが階層構造に構成され
たレイアウトデータに対して、パターンの幾何学的な重
なりを検出する図形処理方法であって、 前記レイアウトデータを入力し、各セル毎に展開した時
の存在領域を設定し、各存在領域の領域枠,パターンの
枠よりなるセル枠の情報を作成し、 前記レイアウトデータに含まれるセルを順次処理対象セ
ルに設定し、 前記処理対象セル以下の階層のセル,パターンのセル枠
に対して階層構造に応じた種類を設定し、 前記幾何学的に重なりがあるセル枠,パターンに対し
て、異なる種類が設定されている場合には重なり有りと
判定し、セル枠同士又はセル枠とパターンに重なり有り
と判定した場合には重なりがあるセル枠に含まれる下層
のセル枠,パターンを更に読み込み、パターン同士に重
なりがあると判定した場合には該パターンの重なりを確
定するようにした図形処理方法。 - 【請求項2】 セル及びパターンが階層構造に構成され
たレイアウトデータに対して、パターンの幾何学的な重
なりを検出する図形処理方法であって、 前記レイアウトデータを入力し、各セル毎に展開した時
の存在領域を作成し、作成した各存在領域の領域枠,パ
ターンの枠よりなるセル枠の情報を階層構造にてファイ
ルに格納するステップと、 前記レイアウトデータに含まれるセルを順次処理対象セ
ルに設定するステップと、 前記処理対象セル以下の階層のセル,パターンのセル枠
に対して階層構造に応じた種類を設定するステップと、 前記処理対象セル、又は重なり有りと判定したセル枠に
含まれるセル枠,パターンを読み込むステップと、 前記新たに読み込んだセル枠のうち、種類が異なるセル
枠同士、又はセル枠とパターンに重なりがあるか判定す
るステップと、 前記新たに読み込んだセル枠に重なりがない場合に、前
記読み込んだパターンのうち、種類の異なるパターンに
重なりがあるか判定するステップと、 前記重なり有りと判定されたパターンの重なりを確定
し、幾何学的に重なるパターンの重なり情報を含むテー
ブルを作成するステップを備えた図形処理方法。 - 【請求項3】 請求項1又は2に記載の図形処理方法に
おいて、 前記セル枠,パターンに対して種類を設定する場合に、 セル枠に対しては、 該セル枠又は該セル枠の所属セルが処理対象セルの場合
には該セル枠に対して独自の種類を設定し、 該セル枠又は該セル枠の所属セルが処理対象セルではな
い場合には所属セルと同じ種類を設定し、 パターンに対しては、所属セルと同じ種類を設定するよ
うにした図形処理方法。 - 【請求項4】 請求項1乃至3のうちの何れか1項に記
載の図形処理方法において、 前記処理対象セルに対して、該スイープ法を用いて幾何
学的に重なるセル又はパターンを検出し、検出したセル
枠,パターンにおいて重なりを判定するようにした図形
処理方法。 - 【請求項5】 セル及びパターンが階層構造に構成され
たレイアウトデータに対して、パターンの幾何学的な重
なりを検出する図形処理装置であって、 前記レイアウトデータを入力し、各セル毎に展開した時
の存在領域を設定し、各存在領域の領域枠,パターンの
枠よりなるセル枠の情報を作成する領域枠作成手段と、 前記レイアウトデータに含まれるセルを順次処理対象セ
ルに設定する処理対象セル設定手段と、 前記処理対象セル以下の階層のセル,パターンのセル枠
に対して階層構造に応じた種類を設定する種類設定手段
とを備え、 前記幾何学的に重なりがあるセル枠,パターンに対し
て、異なる種類が設定されている場合には重なり有りと
判定し、セル枠同士又はセル枠とパターンに重なり有り
と判定した場合には重なりがあるセル枠に含まれる下層
のセル枠,パターンを更に読み込み、パターン同士に重
なりがあると判定した場合には該パターンの重なりを確
定するようにした図形処理装置。 - 【請求項6】 セル及びパターンが階層構造に構成され
たレイアウトデータに対して、パターンの幾何学的な重
なりを検出する図形処理装置であって、 前記レイアウトデータを入力し、各セル毎に展開した時
の存在領域を作成し、作成した各存在領域の領域枠,パ
ターンの枠よりなるセル枠の情報を階層構造にてファイ
ルに格納する領域枠作成手段と、 前記レイアウトデータに含まれるセルを順次処理対象セ
ルに設定する処理対象セル設定手段と、 前記処理対象セル以下の階層のセル,パターンのセル枠
に対して階層構造に応じた種類を設定する種類設定手段
と、 前記処理対象セル、又は重なり有りと判定したセル枠に
含まれるセル枠,パターンを読み込むデータ読み込み手
段と、 前記新たに読み込んだセル枠のうち、種類が異なるセル
枠同士、又はセル枠とパターンに重なりがあるか判定す
る第1重なり判定手段と、 前記新たに読み込んだセル枠に重なりがない場合に、前
記読み込んだパターンのうち、種類の異なるパターンに
重なりがあるか判定する第2重なり判定手段と、 前記重なり有りと判定されたパターンの重なりを確定
し、幾何学的に重なるパターンの重なり情報を含むテー
ブルを作成する重なり確定手段とを備えた図形処理装
置。 - 【請求項7】 請求項5又は6に記載の図形処理装置に
おいて、 前記種類設定手段において、 セル枠に対しては、 該セル枠又は該セル枠の所属セルが処理対象セルの場合
には該セル枠に対して独自の種類を設定し、 該セル枠又は該セル枠の所属セルが処理対象セルではな
い場合には所属セルと同じ種類を設定し、 パターンに対しては、所属セルと同じ種類を設定するよ
うにした図形処理装置。 - 【請求項8】 請求項5乃至7のうちの何れか1項に記
載の図形処理装置において、 前記処理対象セルに対して、該スイープ法を用いて幾何
学的に重なるセル又はパターンを検出し、検出したセル
枠,パターンにおいて重なりを判定するようにした図形
処理装置。 - 【請求項9】 請求項1乃至4のうちの何れか1項に記
載の図形処理方法にて重なりを検出する図形処理プログ
ラムを記録した記録媒体。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP9262118A JPH11102380A (ja) | 1997-09-26 | 1997-09-26 | 図形処理方法、図形処理装置、及び、記録媒体 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP9262118A JPH11102380A (ja) | 1997-09-26 | 1997-09-26 | 図形処理方法、図形処理装置、及び、記録媒体 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH11102380A true JPH11102380A (ja) | 1999-04-13 |
Family
ID=17371307
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP9262118A Withdrawn JPH11102380A (ja) | 1997-09-26 | 1997-09-26 | 図形処理方法、図形処理装置、及び、記録媒体 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH11102380A (ja) |
Cited By (10)
| 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 |
| US7716614B2 (en) | 2002-06-24 | 2010-05-11 | Kauth Thomas H | Hierarchical feature extraction for electrical interaction calculations |
| US7716624B2 (en) | 2003-12-17 | 2010-05-11 | Emile Y Sahouria | Mask creation with hierarchy management using cover cells |
| 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 |
-
1997
- 1997-09-26 JP JP9262118A patent/JPH11102380A/ja not_active Withdrawn
Cited By (20)
| 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 | |
| Nam et al. | A fast hierarchical quadratic placement algorithm | |
| JPH04372134A (ja) | 半導体装置及びその製造装置 | |
| JPH11102380A (ja) | 図形処理方法、図形処理装置、及び、記録媒体 | |
| CN118395935B (zh) | 标准单元尺寸调整方法、装置和计算机设备 | |
| CN115983190B (zh) | 一种满足多重掩膜约束的集成电路版图布线方法、装置及存储介质 | |
| US6167555A (en) | System and method for converting polygon-based wires of an integrated circuit design to path-based wires | |
| US6496968B1 (en) | Hierarchical wiring method for a semiconductor integrated circuit | |
| CN118709635B (zh) | 优化图形密度分布的版图生成方法、装置、介质、程序产品及终端 | |
| US10970452B2 (en) | System for designing semiconductor circuit and operating method of the same | |
| US8448121B2 (en) | Implementing Z directional macro port assignment | |
| KR100521935B1 (ko) | 레이아웃 데이터의 보존 방법, 레이아웃 데이터 변환장치, 및 도형 검증 장치 | |
| JP3027949B2 (ja) | 半導体集積回路の自動配線方法 | |
| CN116127898A (zh) | 版图自动布孔方法、装置和终端设备 | |
| JP2004318224A (ja) | 配線図形検証方法、プログラム及び装置 | |
| JP3556767B2 (ja) | 半導体集積回路装置の設計装置 | |
| JP2851152B2 (ja) | 図形処理装置 | |
| CN113255283B (zh) | 快速拆除闭合环路和冗余节点的全局布线方法 | |
| JP2910730B2 (ja) | 階層レイアウト設計方法および階層レイアウト設計装置 | |
| JP4119504B2 (ja) | 配線禁止領域設定方法 | |
| JP3130810B2 (ja) | 自動配置配線方法 | |
| JP3759357B2 (ja) | データ作成方法 | |
| JP5033135B2 (ja) | レイアウト後edaアプリケーションを開発するための方法およびシステム | |
| JP2921001B2 (ja) | パタン抽出方法 | |
| CN108346170A (zh) | 电子地图的缝隙填充方法及装置 |
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 |