(57)【要約】      （修正有）【課題】半導体集積回路のマスクデータ処理における計算量を削減してターン・アラウンド・タイムを短縮することが可能なマスクデータ処理方法を提供する。【解決手段】マスクデータ処理方法は、それぞれが設計パターンを有する複数のセルを含んだ階層構造を有する設計データに対して、当初の階層構造を有する設計データに前記マスクデータ処理の計算を実行するS182と、前記計算が実行される設計パターンの図形数またはエッジ長の合計、或いは実行される計算量、或いは展開度が所定の閾値以上となることが予測される場合S183に、前記計算が実行される設計パターンの前記図形数または前記エッジ長の合計、或いは実行される前記計算量、或いは前記展開度が減少するように前記階層構造を修正するS185。【選択図】図１８
2008134434.tif 000002
【特許請求の範囲】
【請求項１】
それぞれが設計パターンを有する複数のセルを含んだ階層構造を有する設計データに対して、同一の設計パターンを有する複数の繰り返しセルがマスクデータ処理の内容に基づいて予め定められた繰り返し数以上一方向に並列し、且つ前記繰り返しセルの前記一方向と垂直方向の幅がマスクデータ処理の内容に基づいて予め定められた幅以上であるときは、複数の前記繰り返しセルの中の1つのセルに含まれる設計パターンに対してのみマスクデータ処理の計算を実行することによりマスクデータを生成するマスクデータ処理方法において、
当初の階層構造を有する設計データに前記マスクデータ処理の計算を実行すると、前記計算が実行される設計パターンの図形数またはエッジ長の合計、或いは実行される計算量、或いは展開度が所定の閾値以上となることが予測される場合に、前記計算が実行される設計パターンの前記図形数または前記エッジ長の合計、或いは実行される前記計算量、或いは前記展開度が減少するように前記階層構造を修正する
ことを特徴としたマスクデータ処理方法。
【請求項２】
それぞれが設計パターンを有する複数のセルを含んだ階層構造を有する設計データに対して、同一の設計パターンを有する複数の繰り返しセルがマスクデータ処理の内容に基づいて予め定められた繰り返し数以上一方向に並列し、且つ前記繰り返しセルの前記一方向と垂直方向の幅がマスクデータ処理の内容に基づいて予め定められた幅以上であるときは、複数の前記繰り返しセルの中の1つのセルに含まれる設計パターンに対してのみマスクデータ処理の計算を実行することによりマスクデータを生成するマスクデータ処理方法において、
同一のクリティカルな設計パターンを有する複数のクリティカルセルが前記繰り返し数以上繰り返し方向に並列し、且つ前記クリティカルセルの前記繰り返し方向と垂直方向の幅が前記予め定められた幅より小さく、且つ複数の前記クリティカルセルがそれぞれ、前記繰り返し方向と垂直な一方向に、マスクデータ処理の計算を実行したときの単位面積当たりの計算量が前記クリティカルな設計パターンに比べて少ない同一の隣接設計パターンと隣接している場合は、
前記クリティカルセルがそれに隣接する前記隣接設計パターンを含み、且つ、前記クリティカルセルの前記繰り返し方向と垂直方向の幅が前記予め定められた幅以上になるように、複数の前記クリティカルセルの一辺の幅を大きくする修正を前記階層構造に行った後に前記マスクデータ処理の計算を実行する
ことを特徴としたマスクデータ処理方法。
【請求項３】
設計データがそれぞれが設計パターンを有する複数のセルに分割され、前記複数のセルのそれぞれはその外周部に接して隣接する前記複数のセルのいずれかに含まれる設計パターンであるフリンジ領域を備えており、各前記セルのマスクデータ処理における計算においては、各前記セルに備えられたフリンジ領域も共に計算することによりマスクデータを生成するマスクデータ処理方法において、
マスクデータ処理の前に前記分割を変更してフリンジ領域を移動或いは変更することにより、前記分割を変更した後におけるフリンジ領域のマスクデータ処理における計算量を変更前の前記分割におけるフリンジ領域のマスクデータ処理における計算量よりも減少させる
ことを特徴としたマスクデータ処理方法。
【請求項４】
請求項１乃至３のいずれかに記載のマスクデータ処理方法を用いて半導体装置を製造する
ことを特徴とする半導体装置の製造方法。
【請求項５】
コンピュータに
請求項１乃至３のいずれかに記載のマスクデータ処理方法を行う手順
を実行させるためのコンピュータ読み取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の製造のための設計レイアウトの作成及びマスクデータ処理方法に係り、特に、階層構造の最適化のためのマスクデータ処理方法、それを用いた半導体装置の製造方法、及びマスクデータ処理を実行するプログラムに関するものである。
【背景技術】
【０００２】
半導体製造における設計データの出荷に際しては、データの正しさを確認するために、種々の検証が行われる。
【０００３】
例えば、デバイス条件、プロセス条件を考慮して決められた、最小寸法、スペース、形状等に関する基本的な設計規約である、デザイン・ルールを満たしているか否かを検証するするデザイン・ルール・チェックが行われる。
【０００４】
あるいは、以前のデータとの差分が想定外の箇所で発生していないかどうかを調べる差分チェック、形状チェック、回路シミュレーション、さらには、プロセスシミュレーションを用いた検証などがあげられる。
【０００５】
これらの検証に合格した設計データは、規定の検査で問題が検出されなかったとしてテープ・アウトされてマスクデータ処理に投入される。
【０００６】
一方、近年の半導体デザイン・ルールの微細化およびプロセスの複雑化に伴って、特に、非常に微細でプロセスの難易度が高いクリティカルレイヤーにおいてはマスクデータ処理のルール及び処理内容は複雑になる一方である（例えば、特許文献１参照。）。
【０００７】
例えば、光近接効果補正、解像限界以下の補助パターンの挿入、ダミーパターン挿入、位相シフトマスクのシフタ発生・配置などであり、マスクデータ処理のルール作成の負担および計算コストは増大の一途をたどっている。
【０００８】
マスクデータ処理に投入される設計データに対してテープ・アウト前に行われる検証では、マスクデータ処理において中間データ/処理後データサイズがどの程度になるか、処理時間はどの程度であるかを予測することは大変困難である。
【０００９】
例えば、形状的な正しさが確認された設計データであっても、設計データの階層構造がマスクデータ処理ツールにそぐわないために、想定外の処理時間増大や中間データ／処理後データサイズの増大を招き、ひいてはスケジュール遅延やデータ格納領域不足による処理の異常終了を引き起こす一因となることがある。
【００１０】
マスクデータ処理における処理時間の激増などの不具合を起こした場合に、その原因を調べてみると、マスクデータ処理における階層処理において、メモリセルアレイなどの階層構造が保持されず、階層が展開されてしまっている場合がある。メモリセルアレイやその周辺部は繰り返し回数が非常に多いため、階層が展開されてしまうとデータサイズが莫大に増えてしまう。特に、高精度ＯＰＣ(Optical Proximity Correction：光近接効果補正)対象領域など処理に多大な計算量を要する領域が展開されると、計算量の増加が著しく、結果的に処理ターン・アラウンド・タイム(Turn Around Time)が悪化してしまう。
【００１１】
このような階層構造などに起因する不具合は、ごく小さな領域の設計データをテスト的にマスクデータ処理に通しても表面化しにくいため見過ごされがちである。このためマスクデータ処理の段階で初めて明らかになり、処理マシンの再手配、再スケジューリングや、設計データの再作成、再検証が必要となる。これらの作業は多大な労力を要し、特に設計データにおいて階層構造の修正を人手に頼った場合には非常に手間がかかる上ミスも生じやすく、さらなるスケジュール遅延及びコスト増大の一因となっている。
【００１２】
また、マスクデータ処理の演算方式によっては、階層処理におけるフリンジ領域、すなわち、周囲のレイアウトを考慮するために重複して図形演算が行われ、その後切り捨てられる領域が大きくなる。フリンジ領域に相当する部分に高精度ＯＰＣ対象領域など処理に多大な計算量を要する領域が含まれると、多大な計算量を要する処理を重複して実行することとなり、処理時間が増大する要因となる。
【００１３】
半導体装置の製造においては、スケジュールの遅延によるコスト増加は甚大である。即ち、決められたスケジュールのもとで、適切なターン・アラウンド・タイムを保つためには、マシン・リソースに余裕を持たせる必要が生じ、マスクデータ処理のインフラ整備におけるコストが上昇することにより、マスクデータ処理全体のコストが増大してしまう。
【特許文献１】特開２００５−１８１５２４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
本発明は、半導体集積回路のマスクデータ処理における計算量を削減してマシン・リソースを節約し、またターン・アラウンド・タイムを短縮することが可能なマスクデータ処理方法、該方法によって形成されたマスクを用いた半導体装置の製造方法、及び該マスクデータ処理方法をコンピュータに実行させるためのプログラムを提供する。
【課題を解決するための手段】
【００１５】
この発明の第１の態様に係るマスクデータ処理方法は、それぞれが設計パターンを有する複数のセルを含んだ階層構造を有する設計データに対して、同一の設計パターンを有する複数の繰り返しセルがマスクデータ処理の内容に基づいて予め定められた繰り返し数以上一方向に並列し、且つ前記繰り返しセルの前記一方向と垂直方向の幅がマスクデータ処理の内容に基づいて予め定められた幅以上であるときは、複数の前記繰り返しセルの中の1つのセルに含まれる設計パターンに対してのみマスクデータ処理の計算を実行することによりマスクデータを生成するマスクデータ処理方法において、当初の階層構造を有する設計データに前記マスクデータ処理の計算を実行すると、前記計算が実行される設計パターンの図形数またはエッジ長の合計、或いは実行される計算量、或いは展開度が所定の閾値以上となることが予測される場合に、前記計算が実行される設計パターンの前記図形数または前記エッジ長の合計、或いは実行される前記計算量、或いは前記展開度が減少するように前記階層構造を修正する。
【００１６】
この発明の第２の態様に係るマスクデータ処理方法は、それぞれが設計パターンを有する複数のセルを含んだ階層構造を有する設計データに対して、同一の設計パターンを有する複数の繰り返しセルがマスクデータ処理の内容に基づいて予め定められた繰り返し数以上一方向に並列し、且つ前記繰り返しセルの前記一方向と垂直方向の幅がマスクデータ処理の内容に基づいて予め定められた幅以上であるときは、複数の前記繰り返しセルの中の1つのセルに含まれる設計パターンに対してのみマスクデータ処理の計算を実行することによりマスクデータを生成するマスクデータ処理方法において、同一のクリティカルな設計パターンを有する複数のクリティカルセルが前記繰り返し数以上繰り返し方向に並列し、且つ前記クリティカルセルの前記繰り返し方向と垂直方向の幅が前記予め定められた幅より小さく、且つ複数の前記クリティカルセルがそれぞれ、前記繰り返し方向と垂直な一方向に、マスクデータ処理の計算を実行したときの単位面積当たりの計算量が前記クリティカルな設計パターンに比べて少ない同一の隣接設計パターンと隣接している場合は、前記クリティカルセルがそれに隣接する前記隣接設計パターンを含み、且つ、前記クリティカルセルの前記繰り返し方向と垂直方向の幅が前記予め定められた幅以上になるように、複数の前記クリティカルセルの一辺の幅を大きくする修正を前記階層構造に行った後に前記マスクデータ処理の計算を実行する。
【００１７】
この発明の第３の態様に係るマスクデータ処理方法は、設計データがそれぞれが設計パターンを有する複数のセルに分割され、前記複数のセルのそれぞれはその外周部に接して隣接する前記複数のセルのいずれかに含まれる設計パターンであるフリンジ領域を備えており、各前記セルのマスクデータ処理における計算においては、各前記セルに備えられたフリンジ領域も共に計算することによりマスクデータを生成するマスクデータ処理方法において、マスクデータ処理の前に前記分割を変更してフリンジ領域を移動或いは変更することにより、前記分割を変更した後におけるフリンジ領域のマスクデータ処理における計算量を変更前の前記分割におけるフリンジ領域のマスクデータ処理における計算量よりも減少させる。
【発明の効果】
【００１８】
本発明によれば、半導体集積回路のマスクデータ処理における計算量を削減してマシン・リソースを節約し、またターン・アラウンド・タイムを短縮することが可能なマスクデータ処理方法、該方法によって形成されたマスクを用いた半導体装置の製造方法、及び該マスクデータ処理方法をコンピュータに実行させるためのプログラムを提供できる。
【発明を実施するための最良の形態】
【００１９】
以下、図面を参照して本発明の実施形態について詳細に説明する。
【００２０】
(第１の実施形態)
本発明の第１の実施形態に係るマスクデータ処理方法を図１乃至図８を用いて説明する。
【００２１】
半導体集積回路の設計データは、一般にセルとよばれる設計データの基本単位で構成されており、設計データはセルから構成された階層構造を有している。従って、設計データが情報として保持される場合は、セル内に定義された設計パターン情報と、それと同一のセルがレイアウト内の複数個所に配置されたり、繰り返して配置されたりする場合は、そのパターン情報と繰り返し及び配置に関する階層構造の情報がセットとして保持されている。
【００２２】
本実施形態においては、まず図１に示すように、マスクデータ処理レシピ１０を推奨セル構造算出装置１１に入力し、出力された推奨セル構造指針１２を得る。
【００２３】
マスクデータ処理レシピ１０には、マスクデータを生成するための処理についての具体的な方法が記述されている。具体的には、設計データからどの層とどの層を読み込んで、加算、減算、ＡＮＤ処理、ＮＯＴ処理、ＸＯＲ処理等の図形演算（ブール（Boolean)演算処理）を行い、所定のパターン（所定の大きさのライン、スペース、矩形、ラインエンド）を抽出して所定の処理（例、太らせる、細らせる、延長する）を行い、所定の箇所に補助パターン、ダミーパターンを発生させ、所定の箇所にＯＰＣ処理を施し、所定の微小パターンを除去する、等の処理内容が示されている。
【００２４】
推奨セル構造指針１２には、この後のマスクデータ処理において効率的に処理が可能となるような設計データの階層構造として推奨できるセル構成の指針が示されている。具体的には、例えば、同一の設計パターンを有する単数または複数のセルが繰り返されて配置されているセルのブロックに対しては、繰り返し方向と垂直な方向のセルの幅については、推奨セル大きさとして幅Ａミクロン以上であること、及びセルの繰り返し数については、推奨セル繰り返し数はＢ以上であること等が指針として示されている。
【００２５】
次に、図２に示すように、設計パターン修正ツール２１に、設計データ２０と推奨セル構造指針１２を入力し、修正された設計データ２２を得た。
【００２６】
設計データ２０は通常の検証を通してリリースした設計データであり、例えば、図３に示すような小規模テストパターンデータである。中心のラインパターンは、１本のラインパターン３０が例えば１００本が並んだパターンである。両脇の領域に、微細でプロセス難易度が高いクリティカルなパターン３１、３２、３３、３４が集中しており、この後のマスクデータ処理においてＯＰＣ計算が必要である為に単位面積あたりの計算量が大きい領域となる。具体的には、ブール演算のみが必要なラインパターン３０等に比べて単位面積当たり数万倍以上の計算量が必要となることがある。
【００２７】
クリティカルなパターン３１と３２は例えば、互いに鏡面対称なパターンであり、パターン３１と３２を１セットとして上下に同一のセットがＢ以上繰り返されている。同様に、クリティカルなパターン３３と３４も、互いに鏡面対称なパターンであり、パターン３３と３４を１セットとして上下に同一のセットがＢ以上繰り返されている。ここで、クリティカルなパターン３１、３２、３３、３４の横幅はＡミクロンより小さい。
【００２８】
従って、当初の設計データ２０の情報は、図４に示すように、ラインパターン３０の情報、パターン３１及び３２からなるクリティカルセル４１の情報、パターン３３及び３４からなるクリティカルセル４２の情報、及びそれらの繰り返しに関する階層情報を含んでいる。
【００２９】
このような設計データ２０を推奨セル構造指針１２と共に設計パターン修正ツール２１に入力した結果得られた、修正された設計データ２２は、図５に示す階層構造を有することになる。
【００３０】
図５においては、１本のラインパターンであるセル５０と、パターン３１、３２及びラインパターンの一部が１つのセルとなったセル５１と、パターン３３、３４及びラインパターンの一部が１つのセルとなったセル５２とがそれぞれ繰り返しパターンとされていることが示されている。ここで、セル５１と５２の繰り返し数はＢ以上であるが、セル５１と５２の横幅も推奨セル構造指針１２に従って、図４のセル４１と４２より伸ばされてＡミクロン以上になっている。
【００３１】
従って、修正された設計データ２２の情報は、セル５０、５１、５２のそれぞれの情報、及びそれらの繰り返しに関する階層情報を含むことになる。即ち、図３に示したマスクデータ処理における計算量の大きいクリティカルなパターン３１、３２、３３、３４が、推奨セル構造指針１２に従った、横幅Ａミクロン以上、繰り返し数Ｂ以上のアレイ領域となっている。
【００３２】
本実施形態におけるマスクデータ処理においては、その前段階として階層処理が行われる。階層処理とはマスクデータ処理の内容、即ち、ブール演算処理、サイジング量、ＯＰＣ処理、ＲＥＴ処理の内容に鑑みて、設計データの階層構造を展開、再構築することである。即ち、階層処理によって展開するセルの幅、繰り返し数等の閾値は、マスクデータ処理の内容に依存する。
【００３３】
具体的には、同一の設計パターンを有する単数又は複数のセルがマスクデータ処理の内容に基づいて予め定められた繰り返し数Ｂ以上一方向に並べて配置しており、さらにその単数又は複数のセルが一方向に並んでいる方向と垂直な方向のセルの幅がマスクデータ処理の内容に基づいて予め定められた幅Ａミクロン以上であるときは、上記繰り返して並べたセルの中の1つまたは最小限のセルに含まれる設計パターンに対してのみマスクデータ処理の計算が実行可能となるように階層処理がなされる。
【００３４】
なお、上述した推奨セル構造指針１２は、マスクデータ処理において効率的に処理が可能となるような設計データの階層構造として推奨できるセル構成の指針であるので、結果的には、例えば階層処理における上記セルの幅、繰り返し数等の閾値がそのまま反映されている。
【００３５】
従って、上記した修正された設計データ２２をマスクデータ処理に投入したところ、その前処理である階層処理、即ち、図５に示した修正された設計データ２２の階層構造をマスクデータ処理での演算のために再構築する処理を行うことにより、図６に示すような繰り返しを利用したマスクデータ処理の計算を行うことが可能となった。
【００３６】
図６に示されるように、マスクデータ処理においては、１本のラインパターンであるセル５０と、パターン３１、３２及びラインパターンの一部が１つのセルとなったセル６１と、パターン３３、３４及びラインパターンの一部が１つのセルとなったセル６２とがそれぞれ繰り返しパターンとされて１回づつ計算が実行される。
【００３７】
即ち、本実施形態による設計データの階層構造の修正により、マスクデータ処理における計算量の大きいクリティカルなパターン３１、３２、３３、３４に費やされる計算を大幅に削減することが可能となった。なお、セル６３、６４、６５、６６は縁に存在するため周辺のパターン配置の状況がそれぞれ異なっているために、繰り返しを利用することが出来ない。アレイ領域からセル６３、６４、６５、６６を除いても、セル６１及び６２の繰り返し数はＢ以上あるとする。
【００３８】
他方、従来のように設計パターン修正ツール２１を使用せずに、図４に階層構造が示された当初の設計データ２０をそのまま、マスクデータ処理に投入すると、図７に示すようにマスクデータ処理の計算が実行される。
【００３９】
即ち、マスクデータ処理ツールにおける階層処理の結果、繰り返しを利用できるのはラインパターン３０のみで、セル４１及び４２は横幅が閾値Ａミクロンより小さいことから、セル４１及び４２の一次元アレイを完全に展開し、図７に示すようにフラットにした状態で処理をおこなうことになる。このため計算量の大きいパターン３１、３２、３３、３４についても、パターンの繰り返しを利用することなく全ての領域についてマスクデータ処理における計算を行うこととなる。
【００４０】
従って、本実施形態において修正された設計データを用いて繰り返しを効果的に利用することにより、従来のように修正しない設計データに比べて、マスクデータ処理における計算量を大幅に削減することが可能となった。本実施形態の場合のように小規模なテストパターンの場合は、例えば図８に示すように、計算量の削減割合は約３６％となった。
【００４１】
同様に、中規模テストパターンデータ、製品規模テストパターンデータについても本実施形態で説明したように、推奨セル構造指針を利用した設計を行い、従来の設計方法で作成したデータと、マスクデータ処理における計算量を比較した。その結果、図８に示すとおり、パターンの繰り返し数や階層が展開される度合いに応じた計算量削減効果が得られた。
【００４２】
(第２の実施形態)
本発明の第２の実施形態に係るマスクデータ処理方法を以下に説明する。本実施形態においては、推奨セル構造指針１２に基づいて、図４に示した設計データ２０に関して、自動的にセル構造を修正した例を図９に示す。
【００４３】
第１の実施形態と同様に、図１でマスクデータ処理レシピ１０を推奨セル構造算出装置１１に入力したところ、推奨セル構造指針１２は、セルの幅がＡミクロン以上、繰り返し数がＢ以上となった。
【００４４】
図２に示すように、設計パターン修正ツール２１に、設計データ２０と推奨セル構造指針１２を入力すると、設計パターン修正ツール２１は、そこでセル大きさをＡより大きくするために、図４の既存のセル４１、４２を、図９に示すようにパターンがない外側方向に拡大してセル９１、９２とする。
【００４５】
具体的には図９に示すようにセル外形をＡミクロン以上とする位置に、セル９１、９２の外形を定義するダミーパターン９０を発生し、このダミーパターン９０を含む形でセル９１、９２を再構成する。ダミーパターン９０を含むように拡大されたセル９１、９２が新たに含むようになった領域のマスクデータ処理における単位面積あたりの計算量は、当然ながらクリティカルなパターン３１、３２、３３、３４のそれよりはるかに小さい。
【００４６】
以上の修正を設計パターン修正ツール２１によって設計データに対して行うことにより、マスクデータ処理においては、セル９１及び９２とがそれぞれ繰り返しパターンとされて１回づつだけマスクデータ処理の計算が実行される。その結果、単位面積当たりの計算量の大きいクリティカルなパターン３１、３２、３３、３４に費やされる計算量を大幅に削減することが可能となった。
【００４７】
本実施形態の別の例としては、推奨セル構造指針１２を満たすためにセル外形を横幅がＡミクロン以上になるように外側に広げる際に、図１０に示すように、別のパターン１１０と重なる場合である。この場合、拡張されたセル１０１及び１０２に含まれるパターン１１０の形状を解析し、各セル１０１及び１０２の内部で同じ形状になる場合には、パターン１１０をセルの大きさに分割したパターン１１１及び１１２としてセル１０１及び１０２内に含めてセルを再構成した。
【００４８】
即ち、図１１に示す元のセル４１は、図１２に示すように、枠パターン１１１を埋め込み、さらにセル外形を定義するためのダミーパターン９０を含んだセル１０１へと拡張された。これにより、マスクデータ処理において、パターン繰り返しを利用したマスクデータ処理の計算が実行され、クリティカルなパターン３１、３２、３３、３４に費やされる計算量を大幅に削減することが可能となった。
【００４９】
(第３の実施形態)
本発明の第３の実施形態に係るマスクデータ処理方法を図１３乃至図１５を用いて説明する。本実施形態に係るマスクデータ処理方法おいては、縦方向の一次元アレイ構造を有する図１３に示す設計データ１３０に対してマスクデータ処理を行った場合を考える。
【００５０】
図１３に示されるように、マスクデータ処理の前処理である階層処理において、設計データ１３０は、ドーナッツ状中抜き領域１３１及び中間セル１３２、１３３、１３４に分割される。さらにドーナッツ状中抜き領域１３１及び中間セル１３２、１３３、１３４に、周囲のレイアウトの影響を考慮するために重複してマスクデータ処理の計算をする領域、即ち、フリンジ領域１３５〜１３８をつけて中間データを作成する。フリンジ領域１３５〜１３８は、周辺領域からの受ける光近接効果等の影響を取り入れるために付加してマスクデータ処理の計算をすることが必要となる領域である。
【００５１】
その後、これらの中間データそれぞれに関して図形演算処理及びＯＰＣ処理等のマスクデータ処理を行い、処理後のデータからフリンジ領域１３５〜１３８を除いて再配置し、処理後データ１３９を作成する。フリンジ領域は計算後にカットして捨てられる領域であるが、それに囲まれた領域のマスクデータ処理の計算をより正確に実行するために必要な領域となっている。
【００５２】
本実施形態においては、設計データの当初のセル構造において、図１４に示すように、フリンジ領域１３５〜１３８と重なるように、マスクデータ処理において計算量の大きいパターン１４１〜１４８が配置されているとする。
【００５３】
これをそのまま、階層処理して中間データを作成してしまうと、図１４の右側に示されるようにフリンジ領域１３５〜１３８と重なっている部分については重複して計算されることになる。そのため図形演算処理に過大な負担がかかって多大な計算量が必要となることがわかる。マスクデータ処理計算量の大きなパターン１４１〜１４８の例としては、高精度光近接効果補正（高精度ＯＰＣ）が必要なパターンなどがあげられる。
【００５４】
そこで、本実施形態においては、上記のように当初の中間データでは多大な計算量が必要であることが判明すると、図１４に示されたセル構造を再構成する。即ち、図１５に示すように、マスクデータ処理において計算量の大きいパターン１４１〜１４８が、セルの外形からフリンジ領域にかかる部分に入らないよう、セルの外形を拡大する。
【００５５】
その結果、図１５の右側に示されるように、階層処理の中間データにおいて、マスクデータ処理計算量の大きなパターン１４１〜１４８はフリンジ領域１５１〜１５４にかからないためそれぞれ重複して計算されることがない。即ち、設計データを複数のセルに分割する方法を変更してフリンジ領域を移動することにより、変更後のフリンジ領域１５１〜１５４のマスクデータ処理における計算量を当初のフリンジ領域１３５〜１３８のマスクデータ処理における計算量より大幅に削減することが可能となる。
【００５６】
また、パターン１４３〜１４６については、セル１５５の繰り返しを活かして計算回数を削減することができるため、マスクデータ処理における計算量を削減することができる。
【００５７】
以上説明したように、本実施形態に係るマスクデータ処理方法においては、設計データのセルを再構成して、フリンジ領域がマスクデータ処理において計算量の大きいパターン１４１〜１４８に重ならないようにすることにより、マスクデータ処理における計算量を削減することが可能となる。
【００５８】
なお、上ではセル構造の組み換えをマスクデータ処理の前処理である階層処理において実行するとして説明したが、それより前の段階における設計データの修正工程として実行してもよい。即ち、例えば第１の実施形態において説明した設計パターン修正ツール２１等において設計データの階層構造を組み替えることによって実行しても良い。
【００５９】
(第４の実施形態)
本発明の第４の実施形態に係るマスクデータ処理方法を図１６及び図１７を用いて説明する。
【００６０】
まず、設計データの当初のセル構造が図１６に示すようなセル境界によって分割されたセル構造であるとする。ここで、設計パターン１６１〜１６６は高精度光近接効果補正（高精度ＯＰＣ）が必要なパターン等のようにマスクデータ処理において多大な計算量を要する図形または領域である。また、そのまわりのパターン１６７〜１７２は、パターン１６１〜１６６に比べてマスクデータ処理における計算量がはるかに小さいパターンである。
【００６１】
図１６に示されるように、セル境界１６０を中心に一定の幅を有して破線でかこまれた領域が、各セルに分割したときに互いに隣接セルに付加されるフリンジ領域１８０である。図１６からわかるように、マスクデータ処理において多大な計算量を要するパターン１６１、１６２、１６４、１６５の黒く塗りつぶした領域はフリンジ領域１８０に含まれている。この部分は、第３の実施形態においても述べたようにマスクデータ処理において重複して計算されることになるため多大な計算量が必要となる。
【００６２】
そこで、本実施形態においては、マスクデータ処理の前処理である階層処理において、設計レイアウト中からマスクデータ処理において多大な計算量を要する図形または領域であるパターン１６１〜１６６を抽出する。次に、図１７に示すように階層処理における中間データにおいてフリンジ領域１８０が計算量の大きいパターン１６１〜１６６にかかる部分がなくなる、或いは少なくなるようにセル境界を変更してセル構造を組み替える。
【００６３】
即ち、マスクデータ処理の計算において計算量の大きい図形または領域が、階層処理により重複して計算されることを回避するようにセル境界を変更してセルの分割を変更する。これにより、フリンジ領域１８０を変更することにより、変更後におけるフリンジ領域１８０のマスクデータ処理における計算量を変更前におけるフリンジ領域１８０のマスクデータ処理における計算量より削減することが可能となる。
【００６４】
なお、上ではセル構造の組み換えをマスクデータ処理の前処理である階層処理において実行するとして説明したが、それより前の段階における設計データの修正工程として実行してもよい。即ち、例えば第１の実施形態において説明した設計パターン修正ツール２１等において設計データの階層構造を組み替えることによって実行しても良い。
【００６５】
(第５の実施形態)
本発明の第５の実施形態に係るマスクデータ処理方法を図を用いて説明する。
【００６６】
まず、設計段階における設計データの階層構造最適化の例を、図１８に示したフローチャートを使って説明する。
【００６７】
まず、図１で説明したように、サイジング、凹凸消し、光近接効果補正、補助パターン配置、ダミーパターン配置などが含まれるマスクデータ処理レシピ１０を推奨セル構造算出装置１１に入力し、推奨セル構造指針１２を出力する。この推奨セル構造指針１２に基づいて設計者は設計を進め、ひとまとまりの設計データ(ブロック)を作成する（ステップＳ１８１）。
【００６８】
この設計データに対して、マスクデータ処理レシピ１０に従って、実際のマスクデータ処理をエミュレート（模擬試験）するマスクデータ処理テストを行い（ステップＳ１８２）、マスクデータ処理の前処理である階層処理において階層構造を有する設計データのデータ構造がどのように展開されて処理されるか、マスクデータ処理における計算負荷がどの程度かを解析する。
【００６９】
具体的には、例えば第１の実施形態と同様に、本実施形態においても、同一の設計パターンを有する複数のセルがマスクデータ処理の内容に基づいて予め定められた繰り返し数Ｂ以上一方向に並列しており、さらにその複数のセルが並列に並んでいる方向と垂直な方向のセルの幅がマスクデータ処理の内容に基づいて予め定められた幅Ａミクロン以上であるときは、上記複数のセルの中の1つのセルに含まれる設計パターンに対してのみマスクデータ処理の計算が実行可能となるように階層処理がなされる。
【００７０】
ステップＳ１８２における解析の方法としては、例えば、階層処理の前後においてマスクデータ処理の計算が実行される設計パターンの図形数またはエッジ長、或いは実行される計算量を比較し、閾値以上に増加するか否かを判定する方法が挙げられる。
【００７１】
例えば、図４のような設計データの階層構造のままマスクデータ処理の計算が実行されたとすると、マスクデータ処理の計算が実行される設計パターンの図形数は、ラインパターン３０、クリティカルセル４１、４２の計３個である。ところが、これに階層処理を実行すると図７に示すように、ラインパターン３０はそのまま１個だけ計算すればよいが、クリティカルセル４１、４２はそれぞれ６個のセルに完全に展開されるので、計算が実行される設計パターンの図形数は、１３個になる。
【００７２】
従って、例えば、閾値が１０個であったとすると、計算が実行される設計パターンの図形数がこの閾値を越えていると判定される（ステップＳ１８３）。その結果、設計データの構造において、推奨セル構造指針１２に違反している箇所、計算量負荷が大きくしかも階層処理において展開が進んでしまいそうな箇所など、修正すべき箇所を推奨セル構造指針１２を参考にして抽出する（ステップＳ１８４）。そして、図５に示すように第１の実施形態と同様に、それらの箇所の設計データの階層構造を推奨セル構造指針１２に従って修正する（ステップＳ１８５）。
【００７３】
その結果、再びマスクデータ処理テストを行い（ステップＳ１８２）、図６に示すようにマスクデータ処理の計算が実行されることが処理負荷の解析から判明する。即ち、計算が実行される設計パターンの図形数は、セル５０、６１、６２、６３、６４、６５、６６の計７個となり、階層構造を修正することによって計算が実行される設計パターンの図形数が減少して閾値の１０未満となることが判定される（ステップＳ１８３）。その結果、設計データのセル構造に問題はないとして、データがフィックスされ出荷される（ステップＳ１８６）。なお、上記ステップＳ１８２〜Ｓ１８６の処理が、第１の実施形態において説明した設計パターン修正ツール２１の機能として実現されてもよい。
【００７４】
上記では、図形数を閾値判定の対象とする場合を例として説明したが、各図形に計算量を割り当てて、例えば、ラインパターン３０の計算量を１（任意単位）とした場合に、クリティカルセル４１、４２の計算量を、例えば１０００、セル６１〜６６の計算量を、例えば１０１０と割り当てて、計算量で閾値判定してもよい。
【００７５】
この場合、階層処理前の図４では、１＋１０００×２＝２００１、階層処理後の図７では、１＋１０００×１２＝１２００１、修正後の設計データに階層処理を施した図６では、１＋１０１０×６＝６０６１となるので、閾値が例えば１００００であったとすると、上で説明したのと同様な判定および設計データの修正が実行されることになる。
【００７６】
また例えば、図４に示した設計データのセル階層構造を全て展開したときの全図形数、即ち、ラインパターン３０が１００個に、クリティカルセル４１及び４２がそれぞれ６個の計１１２個を分母として、処理図形数を分子とした展開度（（処理図形数）／（全図形数））を閾値判定に用いてもよい。具体的には、階層処理前の図４では３／１１２、階層処理後の図７では１３／１１２、修正後の設計データに階層処理を施した図６では７／１１２となる。
【００７７】
さらには、各図形の周囲の単位長さに、重みをつけた計算量を割り当ててそれを用いて閾値判定してもよい。例えば、ラインパターン３０の周囲長に、単位長さあたり１（任意単位）の計算量を割り当て、クリティカルセル４１、４２の周囲長には単位長さあたり、例えば１０００の計算量を割り当てて、マスクデータ処理の計算が実行される計算量とエッジ長を乗じて算出し、判定基準に用いてもよい。
【００７８】
また、上記ステップＳ１８５においては、設計データの階層構造を推奨セル構造指針１２に従って修正するとしたが、図５或いは図９に示されるような修正後の設計データの階層構造の候補が複数提示されて、ユーザが状況に応じて最適な階層構造、或いは計算量が少ない階層構造を選択出来るようになっていてもよい。
【００７９】
また、図１８のフローチャートに示した設計段階における設計データの階層構造最適化の例として、第３或いは第４の実施形態に示したマスクデータ処理を設計段階においてエミュレートして実行することも可能である。この場合図１４、図１５、或いは図１６、図１７に示したマスクデータ処理がステップＳ１８２においてエミュレート（模擬試験）されることになる。
【００８０】
以上の説明においては、設計段階において設計データの階層構造を最適化しているが、図１９のフローチャートに示すように、設計データの作成及び出荷（ステップＳ１９１）後、マスクデータ処理の前段階において階層構造を最適化することもできる。
【００８１】
この場合も、まず、マスクデータ処理レシピ１０に従ってマスクデータ処理の前処理である階層処理において階層構造を有する設計データのデータ構造がどのように展開されて処理されるか、マスクデータ処理における計算負荷がどの程度かを解析する（ステップＳ１９２）。
【００８２】
そして、上記に説明したのと同様な閾値判定を実行し（ステップＳ１９３）、閾値以上であれば、その箇所をセルの階層構造から抽出し（ステップＳ１９４）、セルの階層構造を修正した（ステップＳ１９５）後に、マスクデータ処理（ステップＳ１９６）を実行する。閾値判定（ステップＳ１９３）において閾値未満であった場合は、出荷された設計データをそのままマスクデータ処理にかける（ステップＳ１９６）。
【００８３】
以上説明してきたように、半導体集積回路の設計パターンデータの階層構造をマスクデータ処理ツールが効率よく扱える構造に組み替えることにより、マスクパターン形状に不具合を及ぼすことなく、マスクデータ処理における計算量を削減することが可能となる。
【００８４】
従って、上記第１乃至第５の実施形態に係るマスクデータ処理方法によって、マスクデータ処理のためのマシンリソースを節約し、またマスクデータ作成のターン・アラウンド・タイムを短縮することが可能となる。その結果、上に説明したマスクデータ処理方法によってフォトマスクを製造し、それを用いて半導体装置を製造することで半導体装置の製造コストを削減することが可能となる。
【００８５】
また、上記第１乃至第５の実施形態において説明したマスクデータ処理方法は、図２０に示したような、ＣＰＵ２０１、ディスプレイ等の表示装置２０２、入力装置２０３、主記憶装置２０４（メインメモリ）、ハードディスク等からなる記憶装置２０５からなるコンピュータシステム２００において実現することが可能である。
【００８６】
この場合上記マスクデータ処理方法は、記憶装置２０５に保持されているプログラムがＣＰＵ２０１に実行されることによって実現される。また、記憶装置２０５には、マスクデータ処理レシピ１０の内容、及び推奨セル構造算出装置１１を実現するプログラムが共に保持されていてよい。そして、マスクデータ処理レシピ１０をもとに推奨セル構造算出装置１１を実現するプログラムが出力した推奨セル構造指針１２もまた、記憶装置２０５に保持される。
【００８７】
記憶装置２０５には、さらに、データ構造解析、処理負荷解析、及び解析結果判定などを実行するデータ解析プログラム、設計データ構造（セル構造）の修正候補の抽出、及び設計データ構造（セル構造）の修正を実行するデータ構造（セル構造）修正プログラム、図形データ等が、保持されている。
【００８８】
ＣＰＵ２０１は、これらのプログラム及びデータを用いて、図１８或いは図１９に示されたフローチャートに基づいたマスクデータ処理を実行する。上記データ解析プログラムの解析結果も記憶装置２０５に保持されてよい。また、記憶装置２０５、物理的には複数の記憶装置から構成されて機能ごとに役割分担してもよい。
【００８９】
なお、本願発明は上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出されうる。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出されうる。
【図面の簡単な説明】
【００９０】
【図１】本発明の第１の実施形態において、マスクデータ処理レシピから推奨セル構造指針が得られる様子を示す図。
【図２】本発明の第１の実施形態における設計パターン修正ツールの入出力関係を示す図。
【図３】本発明の第１の実施形態に係る設計データの構成を示す上面図。
【図４】本発明の第１の実施形態に係る設計データの階層構造を示す上面図。
【図５】本発明の第１の実施形態に係る修正された設計データの階層構造を示す上面図。
【図６】本発明の第１の実施形態に係る修正された設計データの階層構造において繰り返しを利用したマスクデータ処理の計算の様子を示す図。
【図７】図４に示した当初の設計データの階層構造において繰り返しを利用したマスクデータ処理の計算の様子を示す図。
【図８】本発明の第１の実施形態に係るマスクデータ処理方法による従来手法に比べた計算量の削減量を示す図。
【図９】本発明の第２の実施形態に係るダミーパターンを用いて修正された設計データの階層構造を示す上面図。
【図１０】本発明の第２の実施形態に係るダミーパターンを用いて修正された別の設計データの階層構造を示す上面図。
【図１１】修正前のセルを示す図。
【図１２】本発明の第２の実施形態に係る修正後のセルを示す図。
【図１３】本発明の第３の実施形態に係るマスクデータ処理の流れを前処理である階層処理の中間データの構成を中心に示した図。
【図１４】本発明の第３の実施形態におけるマスクデータ処理の前処理である階層処理での当初の中間データの様子を示す図。
【図１５】本発明の第３の実施形態におけるマスクデータ処理の前処理である階層処理でのセルを再構成した後の中間データの様子を示す図。
【図１６】本発明の第４の実施形態における当初のセル構造で分割された設計データの様子を示す図。
【図１７】本発明の第４の実施形態におけるマスクデータ処理の前処理である階層処理においてセル構造を組み替えた後の設計データの様子を示す図。
【図１８】本発明の第５の実施形態において設計段階における設計データの階層構造最適化の処理を示すフローチャート。
【図１９】本発明の第５の実施形態においてマスクデータ処理の前段階において階層構造を最適化する処理を示すフローチャート。
【図２０】本実施形態のマスクデータ処理方法実現するンピュータシステムの構成を示す図。
【符号の説明】
【００９１】
１０…マスクデータ処理レシピ、  １１…推奨セル構造算出装置、
１２…推奨セル構造指針、２０、１３０…設計データ、２１…設計パターン修正ツール、
２２…設計データ、  ３０…ラインパターン、  
３１、３２、３３、３４、１１０、１１１、１１２、１６７〜１７２…パターン、
４１、４２…クリティカルセル、
５０、５１、５２、６１、６２、６３、６４、６５、６６、９１、９２、１０１、１０２、１５５…セル、  ９０…ダミーパターン、１３１…ドーナッツ状中抜き領域、
１３２、１３３、１３４…中間セル、
１３５〜１３８、１５１〜１５４、１８０…フリンジ領域、１３９…処理後データ、
１４１〜１４８、１６１〜１６６…計算量の大きなパターン、  １６０…セル境界、
２００…コンピュータシステム、２０１…ＣＰＵ、２０２…表示装置、２０３…入力装置、
２０４…主記憶装置、  ２０５…記憶装置、
Ｓ１８１〜Ｓ１８６、Ｓ１９１〜Ｓ１９６…ステップ。
【図１】
2008134434.tif 000003
【図２】
2008134434.tif 000004
【図３】
2008134434.tif 000005
【図４】
2008134434.tif 000006
【図５】
2008134434.tif 000007
【図６】
2008134434.tif 000008
【図７】
2008134434.tif 000009
【図８】
2008134434.tif 000010
【図９】
2008134434.tif 000011
【図１０】
2008134434.tif 000012
【図１１】
2008134434.tif 000013
【図１２】
2008134434.tif 000014
【図１３】
2008134434.tif 000015
【図１４】
2008134434.tif 000016
【図１５】
2008134434.tif 000017
【図１６】
2008134434.tif 000018
【図１７】
2008134434.tif 000019
【図１８】
2008134434.tif 000020
【図１９】
2008134434.tif 000021
【図２０】
2008134434.tif 000022