(57)【要約】【課題】  入力パターンデータの粗密に影響されず効率のよい図形演算処理を行うことができるデータ処理方法及びデータ処理装置を提供することを目的とする。【解決手段】    半導体のレイアウトデータを処理するデータ処理方法であって、前記レイアウトデータを第１の個数の仮分散ユニットに分割し、前記第１の個数の仮分散ユニットを組み合わせて、前記第１の個数よりも小なる第２の個数の分散ユニットを作成する際に、前記レイアウトデータを前記第２の個数の等面積の領域に分割した場合にそれぞれの領域に含まれるデータ量のばらつきよりも、前記第２の個数の分散ユニットのそれぞれに含まれるデータ量のばらつきのほうが小さくなるように、前記第１の仮分散ユニットを組み合わせることにより分散ユニットのデータ量を平準化するデータ処理方法を提供する。【選択図】    図１
2005215618.tif 000002
【特許請求の範囲】
【請求項１】
半導体のレイアウトデータを処理するデータ処理方法であって、
前記レイアウトデータを第１の個数の仮分散ユニットに分割する第１の工程と、
前記第１の個数の仮分散ユニットを組み合わせて、前記第１の個数よりも小なる第２の個数の分散ユニットを作成する第２の工程と、
前記第２の個数の分散ユニットのそれぞれを、前記第２の個数の処理装置のそれぞれに入力してデータ処理を実行する第３の工程と、
前記第２の個数の処理装置のそれぞれによりデータ処理された前記第２の個数の分散ユニットを集約して処理済みのレイアウトデータを作成する第４の工程と、
を備え、
前記第２の工程において、前記レイアウトデータを前記第２の個数の等面積の領域に分割した場合にそれぞれの領域に含まれるデータ量のばらつきよりも、前記第２の個数の分散ユニットのそれぞれに含まれるデータ量のばらつきのほうが小さくなるように、前記第１の仮分散ユニットを組み合わせることを特徴とするデータ処理方法。
【請求項２】
前記第２の工程において、前記第２の分散ユニットのそれぞれに含まれるデータ量が、前記レイアウトデータに含まれる合計のデータ量を前記第２の個数により除したデータ量に近づくように、前記第１の個数の仮分散ユニットを組み合わせることを特徴とする請求項１記載のデータ処理方法。
【請求項３】
前記第１の個数の仮分散ユニットのそれぞれは、前記レイアウトを前記第１の個数に分割して形成される等面積の領域のそれぞれに含まれるデータに対応することを特徴とする請求項１または２に記載のデータ処理方法。
【請求項４】
前記第２の工程において、前記第２の個数の分散ユニットのそれぞれを、隣接する他の分散ユニットとオーバーラップするように作成することを特徴とする請求項１〜３のいずれか１つに記載のデータ処理方法。
【請求項５】
前記データ量を、図形の頂点の数により判定することを特徴とする請求項１〜４のいずれか１つに記載のデータ処理方法。
【請求項６】
半導体のレイアウトデータを処理するデータ処理装置であって、
分散ユニット作成集約部と、
第２の個数のデータ処理部と、
を備え、
前記分散ユニット作成集約部は、
前記レイアウトデータを第１の個数の仮分散ユニットに分割する第１の工程と、
前記第１の個数の仮分散ユニットを組み合わせて、前記第１の個数よりも小なる第２の個数の分散ユニットを作成する第２の工程と、
前記第２の個数の分散ユニットのそれぞれを、前記第２の個数の処理装置のそれぞれに入力してデータ処理を実行する第３の工程と、
前記第２の個数の処理装置のそれぞれによりデータ処理された前記第２の個数の分散ユニットを集約して処理済みのレイアウトデータを作成する第４の工程と、
を実行可能とされ、
さらに前記分散ユニット作成集約部は、前記第２の工程において、前記レイアウトデータを前記第２の個数の等面積の領域に分割した場合にそれぞれの領域に含まれるデータ量のばらつきよりも、前記第２の個数の分散ユニットのそれぞれに含まれるデータ量のばらつきのほうが小さくなるように、前記第１の仮分散ユニットを組み合わせることを特徴とするデータ処理装置。
【請求項７】
前記分散ユニット作成集約部は、前記第２の工程において、前記第２の分散ユニットのそれぞれに含まれるデータ量が、前記レイアウトデータに含まれる合計のデータ量を前記第２の個数により除したデータ量に近づくように、前記第１の個数の仮分散ユニットを組み合わせることを特徴とする請求項６記載のデータ処理装置。
【請求項８】
前記分散ユニット作成集約部は、前記第１の工程において、前記第１の個数の仮分散ユニットのそれぞれが、前記レイアウトを前記第１の個数に分割して形成される等面積の領域のそれぞれに含まれるデータに対応するように分割することを特徴とする請求項６または７に記載のデータ処理装置。
【請求項９】
前記分散ユニット作成集約部は、前記第２の工程において、前記第２の個数の分散ユニットのそれぞれを、隣接する他の分散ユニットとオーバーラップするように作成することを特徴とする請求項６〜８のいずれか１つに記載のデータ処理装置。
【請求項１０】
前記分散ユニット作成集約部は、前記データ量を、図形の頂点の数により判定することを特徴とする請求項６〜９のいずれか１つに記載のデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理方法及びデータ処理装置に関し、特に、半導体のパターンデータに関する図形演算処理を効率的に実行させるための分散処理において、それぞれの演算処理プロセッサに同等の負荷の分散データを割り振るデータ処理方法及びデータ処理装置に関する。
【背景技術】
【０００２】
半導体集積回路の製造に際しては、フォトマスクや電子線描画などによるパターンの形成が必須である。これらパターンの設計は、コンピュータなどを用いて実施される。
【０００３】
例えば、マスクパターンのシミュレーションを行うための方法が開示されている（特許文献１）。この文献においては、半導体の製造に用いるフォトマスクパターンをウェーハ上に露光転写した時の投影光学像の光強度分布のシミュレーションを実施する目的で、データを領域分割して複数の演算処理プロセッサに割り振る方法が開示されている。領域分割の方法は、各演算プロセッサの性能が等しければ、投影面において等面積になるようにデータを分割する。分割された各データを各演算プロセッサに割り振り、演算処理を実行する。
【０００４】
投影光学像の光強度シミュレーションは計算量が多いため、データを分割して並列処理を行うことは効率的であり、複数の演算処理プロセッサに計算を割り振る手法は有効である。また、そのためのデータ分割手法として、等面積にデータを分割することは、光強度シミュレーションを行う場合には、問題なかった。
【特許文献１】特開平１１−３２７１２０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
近年、ＬＳＩ（Large Scale Integrated circuit）の微細化、大規模化に伴い、半導体パターンデータに含まれる図形数も急激に増大している。そのため、マスク製造に必要となる、例えばサイジングなどの各種図形処理やデータフォーマット変換の演算負荷が高くなっている。つまり、複数の演算処理プロセッサを用いる分散処理の重要性は高くなっている。しかし、特許文献１に開示されているように、単純に等面積に分割したパターンデータを用いて分散処理をすると、入力パターンデータの粗密の分布が分散処理効率に影響を及ぼす場合がある。
【０００６】
本発明は、かかる課題の認識に基づいてなされたものであり、その目的は、入力パターンデータの粗密に影響されず効率のよい図形演算処理を行うことができるデータ処理方法及びデータ処理装置を提供することにある。
【課題を解決するための手段】
【０００７】
本発明によれば、半導体のレイアウトデータを処理するデータ処理方法であって、前記レイアウトデータを第１の個数の仮分散ユニットに分割する第１の工程と、前記第１の個数の仮分散ユニットを組み合わせて、前記第１の個数よりも小なる第２の個数の分散ユニットを作成する第２の工程と、前記第２の個数の分散ユニットのそれぞれを、前記第２の個数の処理装置のそれぞれに入力してデータ処理を実行する第３の工程と、前記第２の個数の処理装置のそれぞれによりデータ処理された前記第２の個数の分散ユニットを集約して処理済みのレイアウトデータを作成する第４の工程と、を備え、
前記第２の工程において、前記レイアウトデータを前記第２の個数の等面積の領域に分割した場合にそれぞれの領域に含まれるデータ量のばらつきよりも、前記第２の個数の分散ユニットのそれぞれに含まれるデータ量のばらつきのほうが小さくなるように、前記第１の仮分散ユニットを組み合わせることを特徴とするデータ処理方法が提供される。
【０００８】
ここで、前記第２の工程において、前記第２の分散ユニットのそれぞれに含まれるデータ量が、前記レイアウトデータに含まれる合計のデータ量を前記第２の個数により除したデータ量に近づくように、前記第１の個数の仮分散ユニットを組み合わせるものとすることができる。
【０００９】
また、前記第１の個数の仮分散ユニットのそれぞれは、前記レイアウトを前記第１の個数に分割して形成される等面積の領域のそれぞれに含まれるデータに対応するものとすることができる。
【００１０】
また、前記第２の工程において、前記第２の個数の分散ユニットのそれぞれを、隣接する他の分散ユニットとオーバーラップするように作成することができる。
【００１１】
また、前記データ量を、図形の頂点の数により判定することができる。
【００１２】
一方、本発明によれば、半導体のレイアウトデータを処理するデータ処理装置であって、分散ユニット作成集約部と、第２の個数のデータ処理部と、を備え、
前記分散ユニット作成集約部は、前記レイアウトデータを第１の個数の仮分散ユニットに分割する第１の工程と、前記第１の個数の仮分散ユニットを組み合わせて、前記第１の個数よりも小なる第２の個数の分散ユニットを作成する第２の工程と、前記第２の個数の分散ユニットのそれぞれを、前記第２の個数の処理装置のそれぞれに入力してデータ処理を実行する第３の工程と、前記第２の個数の処理装置のそれぞれによりデータ処理された前記第２の個数の分散ユニットを集約して処理済みのレイアウトデータを作成する第４の工程と、を実行可能とされ、
さらに前記分散ユニット作成集約部は、前記第２の工程において、前記レイアウトデータを前記第２の個数の等面積の領域に分割した場合にそれぞれの領域に含まれるデータ量のばらつきよりも、前記第２の個数の分散ユニットのそれぞれに含まれるデータ量のばらつきのほうが小さくなるように、前記第１の仮分散ユニットを組み合わせることを特徴とするデータ処理装置が提供される。
【００１３】
ここで、前記分散ユニット作成集約部は、前記第２の工程において、前記第２の分散ユニットのそれぞれに含まれるデータ量が、前記レイアウトデータに含まれる合計のデータ量を前記第２の個数により除したデータ量に近づくように、前記第１の個数の仮分散ユニットを組み合わせるものとすることができる。
【００１４】
また、前記分散ユニット作成集約部は、前記第１の工程において、前記第１の個数の仮分散ユニットのそれぞれが、前記レイアウトを前記第１の個数に分割して形成される等面積の領域のそれぞれに含まれるデータに対応するように分割するものとすることができる。
【００１５】
また、前記分散ユニット作成集約部は、前記第２の工程において、前記第２の個数の分散ユニットのそれぞれを、隣接する他の分散ユニットとオーバーラップするように作成するものとすることができる。
【００１６】
また、前記分散ユニット作成集約部は、前記データ量を、図形の頂点の数により判定するものとすることができる。
【発明の効果】
【００１７】
本発明によれば、それぞれの分散ユニットが等面積になるように入力データを分割する場合に比べて、データ中のパターンデータの粗密の影響を受けない分散ユニットを形成できる。つまり、各分散ユニットの処理時間が平準化され、分散処理計算機の使用効率の向上につながり、スループットやコストの点でも有利である。
【００１８】
その結果として、迅速且つ高い歩留まりで大規模なレイアウトデータのデータ処理を確実に実施することができ、産業上のメリットは多大である。
【発明を実施するための最良の形態】
【００１９】
以下、図面を参照しつつ本発明の実施の形態について説明する。  
図１は、本発明の実施の形態にかかるデータ処理装置の構成を例示する模式図である。  
また、図２は、本実施形態のデータ処理装置において実施されるデータ処理の流れを表すフローチャートである。
【００２０】
すなわち、本実施形態のデータ処理装置は、分散ユニット作成・集約部１０と、これに並列に接続されたｍ個の計算機Ｃ１〜Ｃｍと、を有する。分散ユニット作成・集約部１０には、ＬＳＩ設計データＬＤ１と、処理内容指示ＩＳと、が入力される。分散ユニット作成・集約部１０では、入力されたＬＳＩ設計データＬＤ１から複数の分散ユニットＤＵ１〜ＤＵｍを作成し、計算機Ｃ１〜Ｃｍにそれぞれ出力する。計算機（分散ユニット処理）Ｃ１〜Ｃｍは、分散ユニット作成・集約部１０で作成された分散ユニットＤＵ１〜ＤＵｍを受け取って、与えられた処理内容指示ＩＳにしたがってデータ処理を行い、処理済分散ユニットＤＴ１〜ＤＴｍをそれぞれ出力する。
【００２１】
これら処理済分散ユニットＤＴ１〜ＤＴｍは、分散ユニット生成・集約部１０において集約され、演算処理済のＬＳＩ設計データＬＤ２として出力される。分散ユニットＤＵ１〜ＤＵｍの数ｍは、その分散処理装置の構成、すなわち並列して処理可能な計算機Ｃ１〜Ｃｍの数によって定められる。
【００２２】
ここで、ＬＳＩ設計データＬＤ１、ＬＤ２とは、例えば、半導体集積回路のレイアウトを表すデータであり、「レイアウトデータ」あるいは「ＣＡＤ（computer aided design）データ」などと呼ばれるデータなどである。
【００２３】
ＬＳＩ設計データＬＤ１に対する各種のデータ処理の負荷は、データ中の図形の内容に依存する。単位面積あたりの図形数が多いデータほど、また複雑な形状の図形が多く含まれるデータほど、処理負荷は増大する。本発明における「データ処理」とは、典型的には、ＬＳＩ設計データＬＤ１に含まれる図形に対する操作を意味し、例えば、「サイジング」、「回転」、「反転」、「論理演算処理」などを含む。ＬＳＩ設計データは、一般的にはＸＹ座標上の頂点を指定し、その頂点を結ぶ形でポリゴン図形により表される。したがって、データの単位面積あたりの頂点数とデータ処理負荷との間には比例関係があるといえる。
【００２４】
以下、図２を参照しつつさらに詳細に説明する。  
まず、ステップＳ１０１において、処理対象のデータ（ＬＳＩ設計データＬＤ１）を入力する。  
次に、このデータに行う処理内容の指示ＩＳをデータ処理装置に対して与える。
【００２５】
次に、ステップＳ１０２において、仮分散ユニットを作成する。まず、分散ユニットの数ｍの整数倍の数の仮分散ユニット数ｎを定める。次に、入力データをｎ個の仮分散ユニットに分割する。
【００２６】
図３は、仮分散ユニットの作成を説明するための模式図である。    
すなわち、同図は、ＬＳＩレイアウトデータＬＤ１により表されるレイアウト全体を表す。本具体例の場合、レイアウトデータＬＤ１は、ｎ＝（６×６）＝３６個の仮分散ユニットＴＤＵに分割されている。この段階で、必要に応じて入力データの階層展開処理などを行う。  
それぞれの仮分散ユニットＴＤＵには、ＩＤ（identification）として、例えばＡｉ（ｉ＝１〜ｎ）を付与するとよい。レイアウトデータＬＤ１を分割することにより形成される仮分散ユニットＴＤＵは、レイアウト上で互いに等面積であってもよく、面積が異なるように分割してもよい。ただし、全ての仮分散ユニットの面積が同一となるように分割すると、分割処理が容易となる。また、仮分散ユニットの形状についても、各種のものを与えることができる。図３（ａ）に表した具体例においては、それぞれの仮分散ユニットＴＤＵが矩形状で等面積となるように分割されている。
【００２７】
図３（ｂ）は、本具体例の仮分散ユニットに対してＩＤを割り付ける方法を例示する模式図である。すなわち、矩形状に分割されて形成された３６個の仮分散ユニットＴＤＵに対して、Ｘ軸に対して平行に左右を往復しながら一筆書きをするようにして、ＩＤが割り付けられている。
【００２８】
次に、それぞれの仮分散ユニットに含まれるデータ量を求める。データ量を求める方法としては、例えば、それぞれの仮分散ユニットに含まれている図形の頂点の数の総和Ｓｉを求める方法を挙げることができる。
【００２９】
次に、ステップＳ１０３において仮分散ユニットを複数集めて分散ユニットを作成する。すなわち、それぞれの仮分散ユニットのデータ量（ここでは、頂点数の総和Ｓｉ）に基づいて、仮分散ユニットを適宜組合せ、分散ユニットＤＵを形成する。この際に、仮分散ユニットのデータ量Ｓｉを考慮することにより、分散ユニットＤＵのデータ量がほぼ均等になるように仮分散ユニットを組み合わせることができる。
【００３０】
すなわち、入力されたレイアウトデータＬＤ１に含まれる全頂点数は、１〜ｎまでのそれぞれの仮分散ユニットの頂点数の和ΣＳｎである。従って、それぞれの分散ユニットＤＵに含まれる頂点数がそれぞれ（ΣＳｎ／ｍ）になるように分割ユニットを作成すれば、分散処理部Ｃ１〜Ｃｍでの処理負荷が均一になる。
【００３１】
図４は、ステップＳ１０２及びステップＳ１０３における分散ユニットの作成のプロセスの詳細を例示したフローチャートである。
【００３２】
ステップＳ２０１においては、図１乃至図３に関して前述したように、入力データを等面積に分割することで、仮分散ユニットを生成する。
【００３３】
次に、ステップＳ２０２において、仮分散ユニットの頂点数の標準偏差を求め、仮分散ユニットの頂点数の「ばらつき」を評価する。この評価に際しては、仮分散ユニットの頂点数の標準偏差を求め、仮分散ユニットの頂点数の平均値で除算した値を用いることができる。この値が所定値（例えば、０．２程度）以下であった場合、この入力データにはそれほど「ばらつき」がないとみなし、ステップＳ２０３に進み、等面積に分割するなど、適宜分散ユニットを作成すればよい。
【００３４】
ステップＳ２０２における評価の結果、「ばらつき」が十分に大きい場合（ステップＳ２０２：yes）には、ステップＳ２０４に進む。
【００３５】
ステップＳ２０４においては、それぞれの分散ユニットにＩＤを付与する。  
次に、ステップＳ２０５において、ある仮分散ユニットＡｉとそれに隣接する仮分散ユニット（Ａｉ＋１）とを結合し、結合したユニットに（Ａｉ＋１）というＩＤを付与する。
【００３６】
次に、ステップＳ２０６において、ユニット（Ａｉ＋１）に含まれる頂点数（Ｓｉ＋１）を計算する。そして、ステップＳ２０７において、頂点数（Ｓｉ＋１）と、今までに決定した分散ユニットに含まれる頂点数の和が、（分散ユニットの理想的な頂点の数、すなわちΣＳｎ／ｍ）×（今までに決定した分散ユニットの数＋１）より大きいか否かの判定を行う。
【００３７】
上記の関係が成立した場合、ステップＳ２０８においてこのユニット（Ａｉ＋１）を分散ユニットＤＵｊとする。成立しなかった場合、変数ｉを１増加させ、さらに次の仮分散ユニット（Ａｉ＋１）とユニットＡｉとを結合し、同様の判定を繰り返す。
【００３８】
ステップＳ２０８で分散ユニットＤＵｊが決定したら、変数ｉ，ｊの値を１ずつ増加し、次の分散ユニットＤＵｊの作成をステップＳ２０４〜Ｓ２０８の処理を繰り返して行う。
【００３９】
すなわち、ステップＳ２０９では、処理の終了の判定を行う。すなわち、分散ユニットが作成された結果として、すべての仮分散ユニットがいずれかの分散ユニットに所属した場合には、処理を終了し、ステップＳ２１０において、作成されたすべての分散ユニットを出力する。
【００４０】
なお、ステップＳ２０７において、その条件が満たされる前に、仮分散ユニットがなくなる、すなわち（ｉ＋１＝ｎ）が成り立つ場合がある。この場合は、その時点でのユニット（Ａｉ＋１）を分散ユニットＤＵｊとすればよい。
【００４１】
一方、仮分散ユニットＴＤＵの形成に際しては、それぞれの仮分散ユニットＴＤＵが等面積になるように、レイアウトデータＬＤ１を単純にｎ個に分割するだけである。このため、隣接するいくつかの仮分散ユニットを集めて分散ユニットＤＵを形成した場合、隣接する分散ユニット同士の境界を図形がまたぐ場合もあり得る。このように、分散ユニットの境界で単純にパターンデータを分割することは、マスクの描画精度に影響を与える恐れがあるため好ましくない。
【００４２】
そこで、隣接する分散ユニットＤＵがたがいにオーバーラップするように分散ユニットの大きさを決めるとよい。すなわち、それぞれの分散ユニットＤＵの大きさにある程度ゆとり（幅）をもたせて、隣接する分散ユニットにまたがる図形は、双方の分散ユニットにいったん所属させ、それぞれのユニットで演算処理を行ったうえで、処理結果集約部でまとめる場合に、両方の分散ユニットに属する図形の処理を行うとよい。
【００４３】
再び図２に戻って説明を続けると、以上の手順により作成された分散ユニットＤＵ１〜ＤＵｍは、ステップＳ１０４において、分散処理部Ｃ１〜Ｃｍにそれぞれ割り振られ、各分散処理部でのデータ処理が実行される。
【００４４】
次に、ステップＳ１０５において処理結果が集約される。すなわち、分散処理部Ｃ１〜Ｃｍでのデータ処理の結果と、分散ユニットＤＵの境界での処理結果とをまとめて、データ処理済みのレイアウトデータＬＤ２を生成する。そして、ステップＳ１０６において、データ処理結果が出力される。
【００４５】
以下、実施例を参照しつつ、本発明の実施の形態についてさらに詳細に説明する。  
図３（ａ）は、本実施例において、仮分散ユニットＴＤＵに分割された入力データを表す模式図である。同図において、Ａは頂点数が１０００、Ｂは頂点数が１００、Ｃは頂点数１０の仮分散ユニットをそれぞれ表す。すなわち、本実施例における入力データは、データの粗密に２次元的な「ばらつき」を有する。以下、この入力データを分散ユニット数が「４」になるように分割する実施例について説明する。
【００４６】
図５（ａ）は、４つの分散ユニットが等面積になるように分割した比較例を表す模式図である。この比較例の場合、４つの分散ユニットＤＵ１〜ＤＵ４に含まれる頂点の数は、２７０〜９０００までの幅がある。
【００４７】
図５（ｂ）は、本発明の手法に基づいて形成した分散ユニットを表す模式図である。４つの分散ユニットＤＵ１〜ＤＵ４に含まれる頂点の数は、１９００〜４０２０となり、図５（ａ）に表した比較例に比べて、４つの分散ユニットに含まれる頂点数のばらつきが少なくなることが分かる。
【００４８】
図６は、データ分散処理のタイムチャートを例示した模式図である。すなわち、同図は、生成した４つの分散ユニットをそれぞれ分散処理部Ｃ１〜Ｃ４においてデータ処理する際の処理時間を表す。
【００４９】
図６の上段は、図５（ａ）に表した比較例のデータ処理結果を表す。分散ユニットＤＵ１の図形データの密度が非常に高いため、分散ユニットＤＵ１の処理には他の分散ユニット（ＤＵ２〜ＤＵ４）よりも時間がかかる。データ処理結果を集約するためには、すべての分散ユニットの処理結果が必要であるので、処理時間が長い分散ユニットが全体の処理速度を律速する。したがって、このような分割方法では、処理時間が効率的に短縮できず、処理終了時間の見積もりも困難となる。
【００５０】
一方、図６の下段は、図５（ｂ）に表した本実施例のデータ処理結果を表す。本実施例の場合、仮分散ユニットから分散ユニットを作成する手間が追加されるが、４つの分散ユニットＤＵ１〜ＤＵ４の処理負荷を平準化したことによる処理時間の低減効果がそれを上回る場合に、本発明によるメリットが生まれる。
【００５１】
以上説明したように、本発明によれば、それぞれの分散ユニットが等面積になるように入力データを分割する場合に比べて、データ中のパターンデータの粗密の影響を受けない分散ユニットを形成できる。つまり、各分散ユニットの処理時間が平準化され、分散処理計算機の使用効率の向上につながり、スループットやコストの点でも有利である。例えば、ＳＯＣ（system on a chip）などの場合、ひとつのチップ上に、ＣＰＵ（central processing unit）部、メモリ部、Ｉ／Ｏ（input/output）部などが設けられているために、チップ内でパターンの粗密差が大きい。このような半導体集積回路のレイアウトデータに対して、本発明のデータ処理方法は極めて有効である。
【００５２】
図７は、本発明の第２の実施例を表すフローチャートである。  
すなわち、同図は、仮分散ユニットから分散ユニットを形成するプロセスを表す。
【００５３】
データ処理すべき半導体のパターンの粗密が大きい場合には、本発明に基づいてデータ量を均等化させた分散ユニットを形成する効果が大きいが、パターンの粗密が小さいレイアウトデータの場合には、必ずしも本発明を適用する必要はない。すなわち、レイアウトデータを単純に等面積に分割して分散ユニットを形成したほうが、全体の処理速度が速い場合もありうる。
【００５４】
そこで、本実施例においては、仮分散ユニットを形成した段階で、データの粗密を判定する。具体的には、図２に表したステップＳ１０２に関して前述したように、仮分散ユニットを形成した後に、ステップＳ３０２において、これら仮分散ユニットのデータ量を計算する。データ量は、前述したように、図形の頂点の総数や、あるいは後述するように、図形の辺の数など、各種のパラメータのうちの適当なものを用いて計算することができる。
【００５５】
次に、ステップＳ３０４において、仮分散ユニットのデータ量をもとに、平均データ量Ａと最大データ量Ｍを求める。そして、ステップＳ３０６において、平均データ量Ａと最大データ量Ｍとの差を算出し、バラツキの基準値ＴＰと比較する。
【００５６】
ＭとＡとの差がバラツキの基準値ＴＰ以下の場合（ステップＳ３０６：no）は、図５（ａ）に関して前述した比較例の如く、レイアウトデータを等面積に分割した分散ユニットを形成する。例えば、仮分散ユニットを同数ずつ結合させることにより、等面積の分散ユニットを形成することができる。この処理は短時間で実行できるので、迅速にステップＳ２１０（図４）に進むことができる。  
そしてこの場合には、分散ユニットのデータの粗密差が小さいので、分散処理した場合の処理速度の違いも少なく、分散処理の効果が効率的に得られる。
【００５７】
一方、ＭとＡとの差がバラツキの基準値ＴＰより多い場合（ステップＳ３０６：yes）には、図４に関して前述したステップＳ２０４に進む。すなわち、本発明に基づいて、分散ユニットのデータ量が均一になるように仮分散ユニットを組み合わせる。
【００５８】
本具体例におけるバラツキの基準値ＴＰは、仮分散ユニットの組合せを調節してデータ量の均一化をしたほうが全体の処理時間が短縮されるか否かという観点から適宜決定することができる。すなわち、ステップＳ２０４〜Ｓ２０９（図４）における分散ユニットの形成処理を実施すると、それだけ処理時間が増加するが、第１実施例に関して前述したように、分散ユニットにおけるデータ量を均一化することにより、全体の処理時間が短縮されるという効果が得られる。
【００５９】
これに対して、レイアウトデータにおけるデータ量のバラツキが少ない場合には、このような均一化処理（ステップＳ２０４〜Ｓ２０９）を実行することなく図５（ａ）に例示した如く単純に等面積に分割して分散ユニットを形成したほうが処理時間が短くなる。
【００６０】
従って、これらの処理時間の増減の効果を勘案して、バラツキの基準値ＴＰを決定すればよい。なお、データの粗密を判断するパラメータとしては、平均データ量Ａと最大データ量Ｍとの差のほかにも、例えば、各仮分散ユニットのデータ量の標準偏差を算出したり、また、データ量の最大値と最小値との差を算出するなど、各種の方法を採用することができる。
【００６１】
図８は、本発明の第３の実施例を表す模式図である。すなわち、同図は、レイアウトデータを仮分割ユニットに分割する方法の変型例を表す。  
本実施例においては、レイアウトデータＬＤ１をＸ軸に対して平行な方向のみに分割して複数の仮分散ユニットを形成する。図８（ａ）は、仮分散ユニットに分割された状態を表し、同図（ｂ）は、これら仮分散ユニットを組み合わせて分散ユニットが形成された状態を表す。なお、レイアウトデータＬＤ１を分割する場合、Ｘ軸に対して平行な方向ではなく、Ｙ軸に対して平行な方向に分割してよい。
【００６２】
本実施例によれば、仮分散ユニットＴＤＵの境界がＸ軸に対して平行か、またはＹ軸に対して平行かのいずれかにしかあらわれないため、データ分割やデータ処理が容易になる。
【００６３】
以上、具体例を参照しつつ本発明の実施の形態について説明した。しかし、本発明は、これらの具体例に限定されるものではない。
【００６４】
例えば、分散ユニット作成の基準として図形の頂点数を用いているが、図形の辺の数を基準に分散ユニットを作成する方法でも同様の効果が得られる。
【００６５】
また、本発明は、半導体集積回路のレイアウトデータのデータ処理のみに限定されるものではなく、データ容量の大きいパターンデータのデータ処理を行う各種の用途に適用して同様の作用効果が得られるものである。
【００６６】
その他、本発明の要素を具備し、当業者が適宜設計変更しうる全てのデータ処理方法及びデータ処理装置は本発明の範囲に包含される。
【図面の簡単な説明】
【００６７】
【図１】本発明の実施の形態にかかるデータ処理装置の構成を例示する模式図である。
【図２】本発明の実施形態のデータ処理装置において実施されるデータ処理の流れを表すフローチャートである。
【図３】仮分散ユニットの作成を説明するための模式図である。
【図４】ステップＳ１０２及びステップＳ１０３における分散ユニットの作成のプロセスの詳細を例示したフローチャートである。
【図５】（ａ）は、４つの分散ユニットが等面積になるように分割した比較例を表す模式図であり、（ｂ）は、本発明の手法に基づいて形成した分散ユニットを表す模式図である。
【図６】データ分散処理のタイムチャートを例示した模式図である。
【図７】本発明の第２の実施例を表すフローチャートである。
【図８】本発明の第３の実施例を表す模式図である。
【符号の説明】
【００６８】
１０ 分散ユニット作成・集約部
Ｃ１〜Ｃｍ 分散処理部（計算機）
ＤＴ１〜ＤＴｍ 処理済分散ユニット
ＤＵ１〜ＤＵｍ 分散ユニット
ＩＳ 処理内容指示
ＬＤ１ レイアウトデータ（設計データ）
ＬＤ２ 処理済レイアウトデータ
ＴＤＵ 仮分散ユニット
【図１】
2005215618.tif 000003
【図２】
2005215618.tif 000004
【図３】
2005215618.tif 000005
【図４】
2005215618.tif 000006
【図５】
2005215618.tif 000007
【図６】
2005215618.tif 000008
【図７】
2005215618.tif 000009
【図８】
2005215618.tif 000010