JP2650127B2 - 集積回路設計図形データの階層展開処理方法 - Google Patents

集積回路設計図形データの階層展開処理方法

Info

Publication number
JP2650127B2
JP2650127B2 JP3278266A JP27826691A JP2650127B2 JP 2650127 B2 JP2650127 B2 JP 2650127B2 JP 3278266 A JP3278266 A JP 3278266A JP 27826691 A JP27826691 A JP 27826691A JP 2650127 B2 JP2650127 B2 JP 2650127B2
Authority
JP
Japan
Prior art keywords
module
area
data
graphic data
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP3278266A
Other languages
English (en)
Other versions
JPH0594494A (ja
Inventor
俊文 渡辺
一彦 小松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP3278266A priority Critical patent/JP2650127B2/ja
Publication of JPH0594494A publication Critical patent/JPH0594494A/ja
Application granted granted Critical
Publication of JP2650127B2 publication Critical patent/JP2650127B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、集積回路の設計支援シ
ステム、特に設計したマスク図形のパタンデータが定め
られている図形規模を満たしているかどうかを検査する
いわゆるDRC(デザインルールチエック)、マスクデ
ータを電子ビーム(EB)描画データに変換するEBデ
ータ変換、図形データの全体あるいは一部を画面表示あ
るいはプロッタ作図するためのデータ処理、マスク図形
パタンから電気回路を求める回路抽出処理、パタン検査
用特定領域のビットマップ等で利用される設計図形デー
タの階層展開処理方法に関するものである。
【0002】
【従来の技術】はじめに、集積回路の図形データ記述お
よびその際利用される階層構造について説明する。図形
データは、一般に複数個のモジュールの集まりとして記
述され、各モジュールは、実際の図形データと他のモジ
ュールへの参照を示すモジュール参照データ(以下、参
照データと呼ぶ)を含んでいる。このモジュール参照は
多段の参照が可能で、設計データ全体は、あるモジュー
ルを最上位として、モジュールの上下関係が規定され、
階層構造をなしている。
【0003】図9に、図形データ記述および階層構造の
具体例を示す。図9(a)は設計データ記述、図9
(b)はモジュールの階層構造を示している。本例は、
モジュールA100内にモジュールA101・A102
および図形P100−1・P100−2が存在し、また
モジュールA101内にはモジュールA103・A10
4と図形P101、モジュールA102内にはモジュー
ルA105・A106と図形P102、モジュールA1
03〜A106が存在している例である。本例における
各モジュールの座標系原点、座標系、図形の関係を図1
0に示す。
【0004】図形データ内の記述は、図9(a)に示す
ように、モジュールA100については図形P100−
1およびP100−2に関する図形データと、参照して
いるモジュールA101・A102に関する参照データ
で記述されている。モジュールA101・A102につ
いても同様に図形データと参照データが記述されてい
る。モジュールA103〜A106は最下層のため図形
データだけで記述され、参照データはない。ここで使わ
れる各モジュールの図形データとは、頂点座標列で定義
される多角形または端点座標と幅で定義される幅付き線
分等で定義され、その位置はその図形の属するモジュー
ルの座標系で表現されている。一方、参照データは、下
位モジュールを参照する毎に、その下位モジュール名
と、その下位モジュールの座標系原点を上位モジュール
の座標系で表現した位置とにより定義される。以下、こ
の位置を下位モジュールの参照点と呼ぶ。
【0005】図9(a)の図形データ記述が示すモジュ
ール相互の参照関係は、図9(b)に示すように多段の
参照が行なわれ、上位のモジュールA100が下位のモ
ジュールA101、A102を参照しそのモジュールA
101、A102がさらに下位モジュールA103・A
104およびA105、A106を参照している。この
例では、全体としてモジュールA100を最上位モジュ
ールとして階層構造をなしている。
【0006】モジュールは、一般に下位モジュールほど
単純で、上位モジュールから多数回参照されている。ま
た、階層構造では、1回だけそのモジュールの実体を定
義すれば、参照する上位モジュールからは、そのモジュ
ール名と参照点という少ない情報だけで、そのモジュー
ルが含んでいる図形を表現できる。そのためこの階層表
現は、図形データ記述のデータ量を小さくするのに有効
で広く用いられている。
【0007】次に階層展開について説明する。上記のよ
うに有用な階層表現でも、“ある特定の図形の近傍にど
んな図形があるか”を調べる場合、モジュー間の相対的
な位置関係を求める必要があり、階層表現されたままの
データでは上記のような図形処理を行う上で不都合なこ
とが多い。
【0008】そのため、この相対的な位置が容易に分か
るように、対象としている図形群を参照関係のない統一
した座標系で表現し直すことが有用である。具体的に
は、各モジュール内で定義されている図形の位置および
参照点の位置を一つ上位のモジュールの座標系での表現
に変換し、この変換を最も上位のモジュールに至るまで
繰り返し、最終的にこの最上位モジュールの座標系です
べての図形位置を表現し直すことである。この変換を
“階層展開”と呼んでいる。特に対象としている領域が
チップ全面の場合を“全領域の階層展開”、限られた領
域の場合を“特定領域の階層展開”と呼ぶ。
【0009】この階層展開を、前述した図9の例につい
て、さらに図10の座標系を参考にして説明する。モジ
ュールA100は、点0100を原点とする座標系C1
00で記述された図形P100−1、P100−2を持
ち、また同じ座標系C100上の点0101、0102
を参照点としてモジュールA101・A102を参照す
る。モジュールA101は点0101を原点とする座標
系C101で記述された図形P101を持ち、同じ座標
系C101上の点0103、0104を参照点としてモ
ジュールA103・A104を参照する。モジュールA
102も同様である。モジュールA103は、点010
3を原点とする座標系C103で記述された図形P10
3だけを持つ。モジュールA104〜A106も同様で
ある。
【0010】このような設計データに対し、モジュール
A103、A104を1つ上位のモジュールA101の
座標系C101で階層展開するとは、座標系C103、
C1047で記述されている図形P103、P104の
位置を一つ上位の座標系C101で表現することであ
る。また全階層の階層展開は、各座標系C101〜C1
06で表現されたすべての図形の位置を最上位モジュー
ルA100の座標系C100で表現し直すことである。
このように階層展開により、各図形の位置はある一つの
座標系で表現され、階層表現を用いた時に比べ図形相互
の位置関係が明確になる。
【0011】次に、従来の階層展開手法について説明す
る。チップ全体あるいはチップの一部の領域について階
層展開する場合は、各モジュールの階層の深さを算出
し、各モジュールを階層の深さをキーとして降順に並べ
換え、最も下位のモジュールからそのモジュール内の図
形を一つ上位モジュールの座標系で変換する。この変
換を同じ深さのモジュールに対し繰り返し、その深さの
すべてのモジュールに対し展開し終ったら、一段上位の
モジュールについて同じ展開を繰り返す。この変換を最
上位層まですべての層に対し繰り返し実行すれば良い。
このように、下位のモジュールから順に展開すれば全体
の展開が可能となる。また、ある領域についての展開で
あれば、全領域を階層展開した後で、その領域に属して
いる図形を抽出することでできる。
【0012】この展開法は直接的で判りやすいが、個々
の図形を扱う回数が多く効率的でない。効率の良い階層
展開方法として、本出願人による特願平1−32093
5号(特公平7−70602号)に記載されている方法
がある。この方法は、まず各モジュールの図形データと
参照データとを分離し、次に参照データのみを用いて、
参照されたモジュールが他のモジュールモジュールを参
照しなくなるまで、即ち、階層の深さが1になるまで参
照データ間の階層を展開し、しかる後に図形データと展
開された参照データにより図形自身の展開をする方法で
ある。さらに、この特許願では、参照データの展開で、
上位のモジュールから展開する方が効率の良いことが示
されている。
【0013】いずれにしても、従来の階層展開方法は、
すべての領域に対し展開してみて初めて図形の存在する
領域が分かるため、ある特定領域についてのみ展開した
い場合にも、全体をまず展開してみる必要があった。
【0014】以上、集積回路の図形データを扱う処理に
おいては、階層展開が必要なこと、また、その従来の手
法について述べたが、DRC、EB描画データ変換ある
いは回路抽出といった処理では、展開した後のデータに
対して、さらに複雑な種々の処理を施す必要がある。こ
れらの処理は、LSIの集積度の増加やパターンの微細
化に伴い、処理量が急激に増大している。そのため処理
時間が増加し、いかに速く処理するかが技術的な課題と
なっている。この様な背景から、複数の計算機を用いた
分散処理を利用することが考えられている。
【0015】図形データを扱う分散処理の利点は、領域
毎の処理を分散できる点にある。即ち計算機がN台あっ
たとき、チップ等の処理したい領域全体をN個の領域に
分け、それぞれを各計算機で処理させるのである。処理
量の平準化が必要な場合には、全体の領域を計算機台数
より十分に多い例えばM×N個の領域に分けて、1つの
計算機でM個の領域を処理させる方法もある。領域境界
で生じる図形の接続に関しては、処理内容によってそれ
ぞれ対応が必要となるが、集積回路パタン図形は、チッ
プ内に概ね一様に配置されていることから、領域毎の分
散処理のメリットは大きい。
【0016】分散処理を行うN台の計算機のうち、1台
を主計算機、残りの(N−1)台を従計算機と呼ぶこと
にする。主計算機は、各計算機がどの領域を分担するか
を決定し、設計図形データを各計算機に送るとともに領
域の境界で生じる各計算機間の処理の調整を行ったり、
処理が終了した結果を集める等の仕事を担当する。領域
毎の分散処理するにあたり、従来は主計算機が設計図形
データの階層を展開し、各領域に図形データを分割、分
配した後、各計算機にその計算機が担当する領域の図形
データを転送していた。
【0017】
【発明が解決しようとする課題】従来技術では、ある領
域についてのみ階層展開したい場合も、全領域の階層を
展開した後に、その領域の図形を取り出していた。その
ため、ある限られた範囲での階層展開が必要であったに
もかかわらず全体を展開しているため、多くの処理時間
を要する問題があった。
【0018】また、領域毎の分散処理では、主計算機が
全領域の階層を展開し、しかる後に従計算機にその計算
機が担当する領域の図形データを転送していたため、階
層展開そのものは分散処理とならず、チップ全体の階層
を1台の計算機で処理していたため多くの時間を要し、
また、展開後の設計図形データは、展開前の設計データ
に比べ量が多く、転送に長い時間を要する問題があっ
た。
【0019】本発明は、上述の点に考慮しなされたもの
であり、その目的は、限られた領域についての高速な階
層展開を可能として処理の効率を上げるとともに、分散
処理においては階層展開工程も分散して処理時間の短縮
を可能とし、かつデータ量の少ない階層構造データを転
送することでデータ転送時間を短くすることにある。
【0020】
【課題を解決するための手段】上記目的を達成するため
に、本発明の階層展開処理方法では、1つのモジュール
が、自分が持つ図形データとその下位となるモジュール
が持つ全ての図形データとを覆う最小の領域(例えば長
方形領域)をその座標系で表わして、これを当該モジュ
ールの第1の専有領域と定義し、また、自分自身が持つ
全ての図形データを覆う領域を当該モジュールの第2の
占有領域と定義し、各モジュールについて、該専有領域
を予め求めておき、第1と第2の専有領域の両方あるい
は第2の専有領域を利用して、設計図形データを階層展
開するようにしたことである。
【0021】さらに、本発明の階層展開処理方法では、
上記専有領域を複数の計算機(プロセッサ)が保持し、
各計算機に階層構造のままの同一の設計図形データを転
送し、各計算機にて限られた領域の階層展開を分散して
処理するようにしたことである。
【0022】
【作用】階層表現された設計データの各モジュールは、
図形データと他モジュールへの参照データとから構成さ
れる。図形データは、図形そのものを表し、具体的な座
標値で図形の各頂点の位置等が示される。ある一つのモ
ジュール内で定義されている図形データに注目し、その
すべての図形についてそれらを覆うことができ、一辺が
x軸に平行な一つの最小な長方形を考え、この長方形で
囲まれる領域を、そのモジュールの“狭い専有領域”
(第2の専有領域)と呼ぶことにする。その例を図11
に示す。図11のモジュール構成配置は図9と同一であ
る。ここで、複数個の図形P100−1、P100−2
を持つモジュールA100では長方形SA100で示さ
れる領域が狭い専有領域となる。また、1つしか図形を
持たないモジュールA101、A103では、長方形S
A101、SA103で示される領域が狭い専有領域と
なる。
【0023】一方、モジュールA100はモジュールA
101、A102を、さらにそれらの下位にモジュール
A103〜A106を参照しているから、モジュールA
100が専有している領域として、モジュールA101
〜A106まで含めて考える場合もある。このように、
自分が参照する下位モジュール、さらにそのモジュール
が参照するすべての下位モジュールまで含み、その中で
定義されているすべての図形を覆うことができ、一辺が
x軸に平行な一つの最小な長方形の領域を“広いの専有
領域”(第1の専有領域)と呼ぶことにする。この“広
い専有領域”では、自分が直接参照するすべての下位モ
ジュールの広い専有領域と自分自身の狭い専有領域とを
含んでいる。図11では、長方形LA101で示される
領域が、モジュールA101の広い専有領域となり、ま
た長方形LA100で示される領域が、モジュールA1
00の広い専有領域となる。
【0024】本発明では、上記した各モジュールのすべ
ての下位モジュールまで含んで専有する“広い専有領
域”(第1の専有領域)と下位モジュールを含まない
専有する“狭い専有領域”(第2の専有領域)を自分自
身の座標系で予め求めておき、利用するようにしたもの
である。その結果、これらの専有領域をあらかじめ求め
ておけば、ある限られた領域について階層展開を効率よ
えることが可能となる。さらに、複数台の計算機で
分散して階層展開する場合、各計算機に階層構造のまま
の同一の設計データを転送し、各計算機が限られた領域
の階層展開をすることが可能となる。以下に具体例につ
いて説明する。
【0025】一つのチップは、ある機能を実現するブロ
ックの組み合わせで構成され、この機能ブロックが設計
時の大きな単位となっている。この様子を図12に示
す。図12(a)は一つのチップのレィアウトを図示し
たもので、A−Fが機能ブロックに相当し、たとえば読
み書き可能なメモリ部、乗算器、入出力部、あるいはロ
ジックアレィ部などが対応する。TOP全ブロックを
含むチップ全体を示している。図12(b)は、図12
(a)に対応する設計図形データのモジュールをツリー
構造で示している。モジュールTOPは最上位モジュー
ルである。モジュールA−Fは機能ブロックのA−Fに
対応し、各モジュールは一つの機能を実現するため通常
多くのモジュールを下位に有している。このように、半
導体集積回路チップ内での各モジュールの配置は、最上
位モジュール以外の各モジュールはチップ上に局在して
いるのが一般的である。ここで、限られた領域たとえば
図12(a)のSで示す領域についての図形データを処
理する場合、位置的に関係のないモジュールA、B、C
について図形情報を得るための階層を展開する必要は全
くない。
【0026】本発明において、上記のような特性を持つ
設計データに対し、限られた領域の階層展開を行う場合
について、図13を用いて説明する。図13の構成配置
は図9と同一であるが、階層展開したい特定の領域Sが
加えてある。この階層展開を効率よく行うには、先の特
願平1−320935号に示したように、各モジュー
ルのデータを図形データと参照データに分離し、参照
データのみの階層を展開し、展開済参照データを用い
て各図形の座標変換をしながら領域Sに重なる図形を抽
出する工程からなる方法が有効である。特に工程の参
照データの展開は、上位から下位へ展開することが有効
である。
【0027】本発明を適用することにより、この工程
において、モジュールの広い専有領域が既知で有れば、
あるモジュールのチップ中の絶対位置(ここではTOP
モジュールの座標系での位置を意味する)が決まった時
点で、そのモジュールを最上位モジュールとするモジュ
ール群の領域と領域Sとの重なりの有無が即座に判断で
き、無駄な階層展開をせず処理効率を上げることができ
る。図13の例では、モジュールA101が参照された
時点で、モジュールA101を最上位のモジュールとす
る図形群の領域、すなわちモジュールA101の広い専
有領域LA101が領域Sに含まれないことが即座に判
断でき、その結果、モジュールA101から下の階層は
展開しなくて良いことが判る。このように、各モジュー
ルがその“広い専有領域”を有していれば、関連のない
モジュールについての展開処理をなくし、全体の処理書
を低減できる。この処理量低減の効果は、上位モジュー
ルであるほど、またモジュール局在しているほど大き
くなる。
【0028】また、同じ階層展開の工程において、あ
るモジュールの広い専有領域が領域Sと重なりを持って
いたとしても、そのモジュール自身が持つ図形群が領域
Sと重なりを持つとは限らず、重なりが無ければそのモ
ジュールに対する以降の処理が不要となる。この重なり
を調べるために狭い専有領域が有効に利用できる。すな
わち、モジュール自身が持つ図形データは一般に多くの
点列で定義されており、各点列を対象とした領域Sとの
重なり判定の代わりに、狭い専有領域と領域Sとの重な
り判定を行う。もし領域同士の重なりがあれば、次の工
程階層展開ではじめて各点列と領域Sとの重なり判定
が行われ、この領域同士の重なりが無ければ点列レベル
での重なり判定を省略できる。
【0029】さらに、この階層展開は無駄な階層展開処
理、重なり判定処理を低減したことにより、データの一
時的保存量および演算量が減り、メモリ使用量が少な
く、かつ処理量も少ないため、大容量メモリや高速プロ
セッサを搭載した特殊な計算機で無くても実行が容易で
ある。このためチップの全領域など広い領域に対し、階
層展開を含むこの種の処理を複数の計算機上で分散処理
することが容易である。ここでN台の計算機からなる分
散処理システムを考え、各計算機に同一の設計データを
転送するとともに、各計算機が担当する領域の指示を与
えれば、各計算機は全体の1/N程度の局所的な領域を
担当するだけとなり、前記階層展開の工程と同様の作
用が各計算機上で可能となる。
【0030】
【実施例】以下、本発明の一実施例について詳述する。
はじめに、“狭い専有領域”の求め方を説明する。設計
データの一つのモジュールは、実質的には実図形データ
とモジュールの参照データの記述だけからなっている。
各モジュール毎にその中で定義されている実図形データ
についてだけ、その頂点列の座標をすべて走査し、x、
y座標それぞれの最大値、最小値を求めることにより、
このモジュールの狭い専有領域を算出することができ
る。図13のモジュールA100の例で、この狭い専有
領域は、図中の座標値Xi100、Xa100、Yi1
00、Ya100の組で示される。
【0031】次に、“広い専有領域”の求め方を説明す
る。階層のツリー構造を求めておいて、最下位のモジュ
ールから上位に向って順に“広い専有領域”を計算すれ
ば、どのモジュールでもその子供のモジュールの“広い
専有領域”が既知となっているので、全てのモジュール
の“広い専有領域”が容易に求められる。この方法は直
観的に理解し易いが、階層のツリー構造を求める必要が
あり、コーディング量、処理量とも小さくなく、処理の
高速化の観点から好ましくない。
【0032】モジュールxの広い専有領域は、自分が直
接参照するすべての下位モジュールの広い専有領域をモ
ジュールxの座標系で表現した領域とモジュールxの狭
い専有領域とを覆うことのできる最小の長方形領域とし
て算出できる。そこで、すべてのモジュールについて狭
い専有領域をあらかじめ求めておくこことし、広い専有
領域は、算出したいモジュール名(モジュールX)を引
数とする処理「広い専有領域算出処理(モジュール
X)」で求られる。その手順の一例を以下のステップ1
〜3に示す。 step1: モジュールXの広い専有領域として、既知となっている
モジュールXの狭い専有領域を初期値として与える。 step2: モジュールXから直接参照しているすべてのモジュール
(モジュールYとする)について、参照される都度、s
tep2−1〜2−2を実行する。参照モジュールがな
いか、あるいはすべてのモジュールについて、その参照
回数だけ処理2−1〜2−2を終えれば、step3へ
いく。 step2−1: モジュールYの広い専有領域が未算出ならば、再帰的に
処理「広い専有領域算出処理(モジュールY)」を実行
して、モジュールYの広い専有領域を求める。 step2−2: モジュールYの参照点から、モジュールXの座標系での
モジュールYの広い専有領域を求め、さらに、この広い
専有領域と既に求められているモジュールXの広い専有
領域とを覆うことができ、一辺がx軸に平行な最小の長
方形領域を、新たなモジュールXの広い専有領域とす
る。 step3: 求められた広い専有領域がモジュールXの広い専有領域
である。そこで処理を終了とする。
【0033】この処理「広い専有領域算出処理(モジュ
ールX)」の特徴は、処理を再帰的実行することで、モ
ジュールが指定されれば、Xの下のモジュールについて
広い専有領域が未決定であっても、自動的に算出できる
ことである。モジュールXとして最上位のモジュール名
を指定すれば、必要なすべての広い専有領域の計算が可
能になる。この処理法の利点は、あらかじめ階層構造を
求めておく必要がない点にあるが、参照データをあらか
じめ並べ換えておくこと等が処理の演算量を減らす上で
有効である。たとえばstep2では、あるモジュール
xの広い専有領域を求める際、モジュールXを親とする
下位モジュール毎にモジュールxの広い専有領域を更新
する。そこで上位モジュール名を第1キー、下位モジュ
ール名を第2キーとして参照データをあらかじめソーテ
ィングしておくと、そのデータ列の中で親モジュールx
さえ検索できれば必要となる参照データを連結して、し
かも同一モジュール名のデータして読み込むことができ
る。
【0034】以下に第1の実施例として、1台の計算機
システムにおいて、設計データを入力し、ある特定の領
域のプロッタ用データを作成する場合を説明する。
【0035】図1は、第1の実施例を実現するシステム
構成のブロック図である。本システムは、展開処理を実
行するデータ処理装置101、入力データとなる階層構
造記述の集積回路設計図形データを格納する設計図形デ
ータファイル102、設計図形データファイル102の
参照データを格納する参照データファイル103、設計
図形データファイル102の実図形データを格納する実
図形データファイル104、各モジュール毎の、狭い専
有領域と広い専有領域を格納する専有領域ファイル10
5、階層展開した参照データを格納する展開済参照ファ
イル106、階層展開した図形データを格納する展開済
図形ファイル107、プロッタ用データファイル10
8、及び計算機内部バス109からなる。参照データフ
ァイル103は、上位モジュール名、下位モジュール
名、および参照点座標からなるデータを1つのレコード
とし、このレコードが集まったものである。利用の便を
考え、図2に示すように、上位モジュール名を第1キ
ー、下位モジュール名を第2キーとしてソーディングし
てあることとする。実図形データファイル104は、各
モジュール毎に、具体的な実図形データが格納されてい
る。専有領域ファイル105は、図3に示すように、各
モジュール毎に狭い専有領域と広い専有領域が格納され
る。実図形データファイル104と専有領域ファイル1
05では、そのモジュールの座標系で座標値を表してい
る。展開済参照ファイル106は、参照データファイル
103と比べると、上位モジュールが最上位モジュール
となっているため、上位モジュール名の記述が不要とな
っている。すなわち、下位モジュール名とそのモジュー
ルの参照点座標からなるレコードの集まりである。ま
た、展開済参照ファイル106に格納されているレコー
ドの下位モジュールは、その狭い専有領域がプロッタ用
データを作成すべき特定の領域と必ず重なりを持ってい
る。
【0036】図4に本実施例の処理手順の概要を示す。 手順1−1:設計図形データファイル102を入力し
て、参照データと実図形データとに分け、それぞれを参
照データファイル103と実図形データファイル104
に格納する。参照データファイル103は、図3に示し
たように上位モジュール名と下位モジュール名によりソ
ーティングしておく。 手順1−2:モジュール毎に、狭い専有領域と広い専有
領域を算出し、専有領域ファイル105を作成する。 手順1−3:参照データファイル103を入力して、参
照データの階層を展開し、展開済参照ファイル106を
作成する。この場合、特定の領域についてのみ階層展開
すればよいことから、専有領域ファイル105を利用し
て不要な展開処理は行なわない。 手順1−4:展開済参照ファイル106と実図形データ
ファイル104を用いて実図形を展開し、展開済図形フ
ァイル107を作成する。 手順1−5:展開済図形ファイル107からプロッタ用
データファイル108を作成する。
【0037】ここで、手順1−1は特別の技巧は必要と
せず、手順1−2の処理は既に説明した通りである。手
順1−4はファイル104の実図形データとファイル1
06の展開済参照データとを、モジュール毎に対応させ
て座標変換し、特定の領域で切り出せば良い。手順1−
5は単なる形式の変換でしかない。従って、ここでは、
手順1−3について以下に詳しく説明する。
【0038】プロッタ用データを作成する特定の領域は
長方形領域とし、その左下と右上の点の座標値が、設計
データの最上位モジュールと同一の座標系で与えられて
いることとする。各モジュールが該特定の領域と重なる
か否かを調べるためには、各モジュールの専有領域を、
該領域の記述と同一の最上位モジュールの座標系で表す
ことが必要となる。この最上位モジュールの座標系で表
した座標値を絶対座標と呼ぶことにする。
【0039】各モジュールと領域Sとの重なり判定を、
図5を用いて説明する。図5(a)はモジュールの階層
を示し、最上位モジュールtの下にモジュールu、その
下にモジュールlが存在している。図5(b)はそれら
の位置関係を示し、Ot、Ou、Olは、それぞれモジ
ュールt、u、lの座標原点を表している。図5におい
て、領域Sがプロッタ用データを作成する特定の領域で
ある。ここで、モジュールが領域Sと重なることが既
知で、モジュールuの座標点0uの絶対座標値は得ら
れているとする。モジュールlと領域Sの重なり判定
は、モジュールlの広い専有領域を絶対座標で表し、そ
れを領域Sと比較して行う。そのため参照データで記述
されているOlの座標値を絶対座標に変換し、その後、
モジュールの広い専有領域を絶対座標に変換する。
【0040】以上から、参照データの階層展開におい
て、参照される下位モジュールXが領域Sと重なるか否
かを調べるための処理手続として、「領域重なり判定処
理(モジュールx、参照Oxの絶対座標」考える。ここ
で、モジュールx、参照点Oxの絶対座標は、この処理
手続の引数である。この処理手続は、参照点Oxでモジ
ュールxが参照された時に、参照後のモジュールxが領
域Sと重なるか否か判断し、その結果に基づいてモジュ
ールxの参照データの処置を決める。以下に処理の詳細
を示す。 step1: モジュールxが参照されている点Oxの絶対座標を用い
て、モジュールxの広い専有領域を絶対座標に変換す
る。変換結果を領域Sと比較し、重ならなければ処理を
終了する。重なっていればstep2へ行く。 step2: モジュールxが参照されている点Oxの絶対座標を用い
て、モジュールxの狭い専有領域を絶対座標に変換す
る。変換結果を領域Sと比較し、重ならなければste
p3へ行く。重なっていれば、モジュールX、参照点O
xの絶対座標を展開済参照ファイル106へ出力して、
step3へ行く。 step3: 参照データファイル103を用いて、モジュールxを上
位とする参照データを調べ、存在しなければ処理終了、
存在していたら参照データのある度にstep4を実行
する。モジュールxを上位とする全て参照データを処理
したら、処理終了とする。 step4: 下位のモジュール名をyとする。上位モジュールxの原
点Oxの絶対座標を用いて、下位モジュールyの参照点
Oyの絶対座標を求める。領域重なり判定処理(モジュ
ールy、参照点Oyの絶対座標)を実行し、step3
へ戻る。
【0041】この領域重なり判定処理(モジュールx、
参照点Oxの絶対座標)の特徴は、広い専有領域を求め
た時と同様に、処理自身を再帰的に用いていることであ
る。従って、モジュールxの下に他のモジュールが存在
していても、下のモジュールが領域Sと重なるかぎり、
モジュールxの下の全てのモジュールについて処理を行
う。
【0042】なお、step2で、モジュールxと参照
点Oxの絶対座標が1つのレコードとなって展開済参照
ファイル106へ書き込まれるが、このレコードが示す
モジュールxは、モジュールxに含まれる実図形データ
のみを指している。階層構造を有している段階では、モ
ジュールxには実図形データと参照データとが含まれて
いるが、領域重なり判定処理を用いて階層を展開してい
く過程において、参照データはその下位モジュールの座
標値変換に用いられ、下位データに吸収される。その結
果、展開済参照ファイル106で記述されるモジュール
名は、そのモジュールの実図形のみを意味している。
【0043】この領域重なり判定をしながら階層展開す
る処理を、図9(a)の構成および図14の配置を持つ
具体例で説明する。図14の配置は図13と同一で、プ
ロッタ出力したい特定領域S2を加えてある。
【0044】モジュールA100に対し処理を開始す
る。モジュールA100は、その広い専有領域LA10
0は領域Sと重なりがあり(step1)、狭い専有領
域SA100は重なりがなく何も出力せず(step
2)、下位モジュールA101、A102に対し再帰的
に領域重なり判定処理を開始する(step3)。モジ
ュールA101では、参照点0101の絶対位置を参考
に広い専用領域LA101と領域Sと重なりがない事が
分かり、処理終了となる(step1)。モジュールA
102では、同様に広い専有領域LA102と領域Sと
は重なりがある事が分かり(step1)、狭い専有領
域SA102も重なりがあり、モジュール名A102と
参照点0102の絶対位置を展開済参照ファイル106
に出力し(step2)、さらに下位モジュールA10
5、A106に対し再帰的に領域重なり判定処理を開始
する(step3)。モジュールA105では、参照点
0105の絶対位置を参考に広い専有領域LA105と
領域Sと重なりが有ることが分かり(step1)、狭
い専有領域SA105も重なりがあり、モジュール名A
105と参照点0105の絶対位置を展開済参照ファイ
ル106に出力し(step2)、下位モジュールはな
いため終了となる(step3)。モジュールA106
では、モジュールA105と同様であり、これをもって
モジュールA100以下の全体の処理を終了する。最終
的に、図14において、広い専有領域が領域と重なりを
持たないモジュールA101は階層展開さえ実行され
ず、狭い専有領域までS領域と重なりを持つモジュール
A102、A105、A106について、展開済参照フ
ァイル106にモジュール名と絶対位置で示した参照点
が出力される。
【0045】図1の実施例では、すべてのデータは外部
のファイルを介して実行したが、一般にLSIチップは
高々1000種類程度のモジュールを持ち、専有領域等
のためにあらたに保持しなければならい領域は、各モジ
ュール毎に8ワード(ワードは4バイト程度の長さ)程
度であり、チップ全体でもたかだか数10kバイト程度
の小さな領域である。また領域重なり判定処理のste
p1、step2では展開の不必要なモジュールは出現
時に処理対象から除外しているため、必要以上のファイ
ル出力をしていない。これらのため、各作業用ファイル
104、105、106、107、108は小さく、実
際のデータの規模・稼働をえた場合、何れのファイル
も外部デスク上に存在する必要はなく、計算機内部のメ
モリ上だけでも稼働できる場合が多い。したがって、時
間を要する外部ファイルとの入出力回数を大幅に低減
し、全体の処理随度を向上することができる。
【0046】次に、第2の実施例として、複数台の計算
機からなるシステム構成において、設計データを入力
し、各計算機がチップ上の異なる領域の階層展開および
図形処理を担当し、全処理結果をまとめて一つのファイ
ルとして作成する場合について説明する。
【0047】図6は第2の実施例を実現するシステム構
成のブロック図である。201は主計算機、202〜2
05は従計算機、206はローカルネットである。10
2は階層構造記述された集積回路設計図形データを格納
する設計図形データファイル、110は処理図形出力フ
ァイル、111は各従計算機の演算結果を一次的に格納
する作業用図形ファイル、109は主計算機の内部バス
である。図7(a)は主計算機内部の本処理に係わる部
分の主な構成である。図7(a)で、213は制御部、
214は演算部、215〜217は記憶部で、図1の1
03〜105と同様の内容をそれぞれ格納する参照デー
タ記憶域、実図形データ記憶域、専有領域記憶域であ
る。218は各従計算機が担当する領域をしめす担当領
域記憶域である。図7(b)は従計算機内部の主な構成
である。図7(b)で、109’、213’、214’
は各々従計算機の内部バス、制御部、演算部である。2
15’〜218’は図7(a)の215〜218と同様
である。さらに221は106と同様の内容の展開済参
照記憶域、221は107と同様の内容の展開済図形記
憶域、222は図形処理結果を格納する処理図形記憶域
である。
【0048】図8は本実施例の処理の概要を示す。 手順2−1:主計算機に201おいて、設計図形データ
ファイル102を入力して、参照データと実図形データ
とに分け、それぞれを参照データ記憶域215と実図形
データ記憶域216に格納する。参照データ記憶域21
5は、上位モジュール名と下位モジュール名によりソー
ティングしておく。また、モジュール毎に、狭い専有領
域と広い専有領域を算出し、専有領域記憶域217に格
納する。 手順2−2:各従計算機202〜206が処理を担当す
る領域を主計算機201が決定し、処理領域割当記憶域
218に格納する。 手順2−3:参照データ記憶域215、実図形データ記
憶域216、専有領域記憶域217、処理領域割当記憶
域218の内容を各従計算機の記憶域215’〜21
8’に転送する。 手順2−4:各従計算機202〜206において、処理
領域割当記憶域218’に記載されている担当領域につ
いて、参照記憶域215’、実図形データ記憶域21
6’、専有領域記憶域217’のデータおよび作業領域
として221、222を用いて階層展開する。しかる後
に、所望の図形処理を行い結果を222へ格納する。 手順2−5:処理後の図形を、各従計算機202〜20
6が個別に主計算機201に転送し、作業用図形ファイ
ル111に格納する。 手順2−6:主計算機201において、個別に転送され
てきた図形ファイル111を一つにまとめ、図形処理出
力ファイル110を作成する。
【0049】ここで、手順2−1では、先の手順1−1
〜1−2と同様の設計図形データの分離と専有領域の算
出を行う。その手法は、前に説明した通りである。手順
2−2の処理領域の割当ては、従計算機がN台があった
場合、処理領域全体をN分割する。図6では従計算機は
4台なので全体を4分割して良い。また、mを整数とし
て全体をN×mに分割し、その中の異なった適当なm個
ずつを1台の従計算機の割当領域とすることにより、チ
ップの中に図形密度の局所的な差があっても各従計算機
の処理量を平準化する事ができる。手順2−3では、従
計算機のデータを転送するが、専有領域記憶域。処理領
域割当記憶域のデータ量は高々数10kバイトおよび数
バイトと小さくその転送時間は無視できる。手順2−4
では、先の手順1−3〜1−4と同様の階層展開方法を
用いる。
【0050】なお、本実施例では手順2−1を、主計算
機上で実行しているが、手順2−4の前に、各従計算機
上で実行しても良い。但し、本実施例のように設計図形
データを、参照データと実図形データに分離した場合、
設計図形データの不要なデータ、冗長な表現を除去する
ことができるため、参照データと実図形データはファイ
ル102のデータ設計図形データに比べ、そのデータ量
を少なくすることが可能である。また主計算機の処理速
度を従計算機に比べ速くしたシステム構成の場合には、
分離処理および専有領域算出処理をより高速に実行でき
る利点も有している。
【0051】本実施例の特徴は、主計算機から従計算機
へ転送するデータが少なく転送時間が短い点にある。例
えば、図形レベルまで展開した場合のデータ量は、通常
階層構成を持つ設計データ量の10〜20倍に増加す
る。主計算機で図形レベルまで展開していた従来方法で
は、従計算機の台数に係わりなくこの大量のデータを転
送する必要があった。一方、本実施例を用いれば、転送
すべきデーテ量は、従計算機の台数にほぼ比例し、従計
算機が数台以下であれば従来法に比べデータ転送量は半
分以下となる。さらに各従計算機への転送の際、同時に
複数の計算機にデータを転送する“同報通信”を用いる
と、本方法で必要となるデータの転送は階層構成をもつ
設計データを1回だけ送れば良く、データ転送量におけ
る本方法の優位性はより明確である。また、階層展開処
理そのものも分散することにより、従来の1台の計算機
で全体を展開した場合に比べ、各計算機上での処理量は
減少し、最終的に高速に展開できる。
【0052】
【発明の効果】以上の説明から明らかである如く、請求
項1及び2の発明では、集積回路の設計支援システムに
おいて、各モジュールに対し専有領域を求めるというわ
ずかなデータの前処理を施し、この専有領域を利用する
ことにより、限られた領域の設計データの階層展開に際
し、関係無い領域の無駄な階層展開をさけ、図形がこの
限られた領域に属するかの判定回数を削減し、さらに、
請求項3の発明では、分散処理を考えた際、限られた領
域の高速な階層展開を各従計算機上で可能にするため、
システム全体としての高速な処理を実現できる。本発明
は、一般の局所的な図形情報だけで処理できる図形処
理、具体的にはデザインルールチエック、EB描画デー
タ変換などにも同様に有効である。
【図面の簡単な説明】
【図1】本発明の第1の実施例のシステム構成図であ
る。
【図2】参照データファイルの構成例を示す図である。
【図3】専有領域ファイルの構成例を示す図である。
【図4】図1の処理手順の概要を示す図である。
【図5】モジュールと特定領域との重なり判定を説明す
る図である。
【図6】本発明の第2の実施例のシステム構成図であ
る。
【図7】図6の主計算機及び従計算機の詳細図である。
【図8】図6の処理手順の概要を示す図である。
【図9】集積回路の図形データ記述およびモジュールの
階層構造の具体例を示す図である。
【図10】図9の例の各モジュールの座標系、原点座標
系、図形を示す図である。
【図11】図9の例の専有領域を説明する図である。
【図12】チップのレイアウト及びそのモジュールのツ
リー構造を示す図である。
【図13】図12の例の限られた領域の階層展開を説明
する図である。
【図14】領域重なり判定をしながら階層展開する処理
を説明する図である。
【符号の説明】
101 データ処理装置 102 設計データファイル 103 参照データファイル 104 実図形データファイル 105 専有領域ファイル 106 展開済参照ファイル 107 展開済図形ファイル 201 主計算機 202〜206 従計算機

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】 集積回路の設計支援システムで、複数の
    モジュールの集合体として記述され、かつ、それぞれの
    モジュールが実際の図形データと他のモジュールの参照
    を示すモジュール参照データとを含んでいる階層構造記
    述の集積回路設計図形データを入力して、該設計図形デ
    ータを階層展開する処理方法において、 1つのモジュールが、自分が持つ図形データとその下位
    となるモジュールが持つ全ての図形データとを覆う領域
    当該モジュールの座標系で表して、これを当該モジュ
    ールの第1専有領域と定義し、また、自分自身が持つ全
    ての図形データを覆う領域を当該モジュールの座標系で
    表して、これを当該モジュールの第2占有領域と定義
    し、各モジュールについて、前記第1専有領域と前記第
    2専有領域を予め求めておき、指定された対象領域について設計図形データを階層展開
    する時、当該モジュールの第1専有領域が対象領域に含
    まれていないと、当該モジュールから下の階層の展開処
    理を省略し、前記第1専有領域が対象領域に含まれてい
    ても、第2専有領域が対象領域に含まれていないと、当
    該モジュールでの図形データに対する処理を省略 するこ
    とを特徴とする集積回路設計図形データの階層展開処理
    方法。
  2. 【請求項2】 集積回路の設計支援システムで、複数の
    モジュールの集合体として記述され、かつ、それぞれの
    モジュールが実際の図形データと他のモジュールの参照
    を示すモジュール参照データとを含んでいる階層構造記
    述の集積回路設計図形データを入力して、該設計図形デ
    ータを階層展開する処理方法において、 1つのモジュールが、自分自身が持つ全ての図形データ
    を覆う領域を当該モジュールの座標系で表して、これを
    当該モジュールの専有領域と定義し、各モジュールにつ
    いて、前記専有領域を予め求めておき、指定された対象領域について設計図形データを階層展開
    する時、当該モジュールの専有領域が対象領域に含まれ
    ていないと、当該モジュールでの図形データに 対する処
    理を省略 することを特徴とする集積回路設計図形データ
    の階層展開処理方法。
  3. 【請求項3】 請求項1もしくは2記載の集積回路設計
    図形データの階層展開処理方法において、 複数のプロセッサでそれぞれ前記専有領域を保持し、各
    プロセッサにて各指定された領域毎に分散して 設計図形
    データを階層展開することを特徴とする集積回路設計図
    形データの階層展開処理方法。
JP3278266A 1991-09-30 1991-09-30 集積回路設計図形データの階層展開処理方法 Expired - Fee Related JP2650127B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3278266A JP2650127B2 (ja) 1991-09-30 1991-09-30 集積回路設計図形データの階層展開処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3278266A JP2650127B2 (ja) 1991-09-30 1991-09-30 集積回路設計図形データの階層展開処理方法

Publications (2)

Publication Number Publication Date
JPH0594494A JPH0594494A (ja) 1993-04-16
JP2650127B2 true JP2650127B2 (ja) 1997-09-03

Family

ID=17594948

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3278266A Expired - Fee Related JP2650127B2 (ja) 1991-09-30 1991-09-30 集積回路設計図形データの階層展開処理方法

Country Status (1)

Country Link
JP (1) JP2650127B2 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02191069A (ja) * 1989-01-20 1990-07-26 Fujitsu Ltd Lsi製造用パターンデータの生成方法
JPH03113675A (ja) * 1989-09-28 1991-05-15 Fujitsu Ltd Lsiパターンデータの階層展開処理方法

Also Published As

Publication number Publication date
JPH0594494A (ja) 1993-04-16

Similar Documents

Publication Publication Date Title
US5359537A (en) Automatic synthesis of integrated circuits employing controlled input dependency during a decomposition process
JP4028844B2 (ja) グラフィックス・イメージ生成装置、及びその方法並びにプログラム
JP2626153B2 (ja) レイアウトのコンパクション方法
JP2004240750A (ja) 画像検索装置
US5493509A (en) Method of and apparatus for generating mask layouts
US20040117751A1 (en) Estimating free space in ic chips
JP2650127B2 (ja) 集積回路設計図形データの階層展開処理方法
CN112612427B (zh) 一种车辆停靠点数据处理方法、装置、存储介质及终端
JPH041862A (ja) 図形選択方法
JPH07334532A (ja) 配線容量値抽出装置
JPH1185826A (ja) 描画データ処理システムおよび描画データの処理方法
JP3185342B2 (ja) 図形パターンデータ処理方法
JP2991459B2 (ja) 荷電ビーム描画用データの作成方法及び作成装置
JP4585742B2 (ja) 画像表示装置、画像表示方法、プログラム及び記録媒体
JP3536362B2 (ja) 描画データ生成方法
JP4145714B2 (ja) 印刷処理装置
Nandy et al. Algorithm for incremental compaction of geometrical layouts
JP2924486B2 (ja) 集積回路の設計データの階層構造展開方法
JPH11194480A (ja) 描画用マスクパタンデータ生成方法とその装置
JP3171905B2 (ja) データ処理方法
JP2835082B2 (ja) 論理回路合成装置
JP3845477B2 (ja) 図形演算装置
Berkman et al. Top-bottom routing around a rectangle is as easy as computing prefix minima
JP2004171139A (ja) データ階層化およびデータ再構成方法/装置/プログラム/記録媒体、データ記録媒体
JP2596204B2 (ja) 画像データの高速レイアウト装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090516

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees