(57)【要約】【課題】  従来のパターン密度チェックフローは、マスク全体に対するパターン密度の計算は最終検証で行っており、最終検証でパターン密度エラーとなった場合にＴＡＴが増大する問題があった。【解決手段】  本発明にかかるパターン密度チェックプログラムは、予めパターン密度チェック対象チップのチップデータと当該チップのマスクデータとを記憶した記憶部を備えたコンピュータに、マスクデータ１０１を読み込み、マスクデータ１０１から密度チェック対象チップの１チップ分のスクライブ枠のデータ率を有するスクライブ枠モデルを作成する第１のステップ（Ｓ１）と、チップデータ１０２を読み込み、チップデータとスクライブ枠モデルとを合わせて１チップ分の密度チェックを行う第２のステップ（Ｓ３）と、をコンピュータに実行させるものである。【選択図】図１
2006344176.tif 000002
【特許請求の範囲】
【請求項１】
予めパターン密度チェック対象チップのチップデータと当該チップのマスクデータとを記憶した記憶部を備えたコンピュータに、
前記マスクデータを読み込み、当該マスクデータから密度チェック対象チップの１チップ分のスクライブ枠のデータ率を有するスクライブ枠モデルを作成する第１のステップと、
前記チップデータを読み込み、当該チップデータと前記スクライブ枠モデルとを合わせて１チップ分の密度チェックを行う第２のステップと、をコンピュータに実行させるパターン密度チェックプログラム。
【請求項２】
前記チップデータは、チップ内の機能ブロックであるマクロの配置位置情報を有するフロアプランデータであり、前記マクロ毎にデータ率を有していることを特徴とする請求項１に記載のパターン密度チェックプログラム。
【請求項３】
前記第２のステップは、所定の面積のチェック基準枠により密度チェックを行うことを特徴とする請求項１に記載のパターン密度チェックプログラム。
【請求項４】
前記スクライブ枠モデルは、所定の大きさで複数の領域に分割されていることを特徴とする請求項１に記載のパターン密度チェックプログラム。
【請求項５】
前記スクライブ枠モデルは、製造条件に基づいたパターンのデータ率の上限値とパターンのデータ率の下限値とを有することを特徴とする請求項１又は４に記載のパターン密度チェックプログラム。
【請求項６】
前記フロアプランデータは、それぞれのマクロが所定の面積で分割され、分割された領域ごとのデータ率を有していることを特徴とする請求項２に記載のパターン密度チェックプログラム。
【請求項７】
前記第２のステップは、密度チェックの結果エラーとなった場合には、エラーとなった座標情報と、エラーとなったマクロ情報とを含む情報を出力することを特徴とする請求項２乃至６に記載のパターン密度チェックプログラム。
【請求項８】
前記第２のステップは、密度チェックの結果エラーとなった場合には、エラーとなった領域に含まれるマクロを移動させる所定の領域を仮想的に示す仮想配置領域を設定し、当該仮想配置領域に対して再度パターン密度チェックを行い、その結果に基づいて前記マクロの移動可能な範囲を出力することを特徴とする請求項２乃至６に記載のパターン密度チェックプログラム。
【請求項９】
マスクのパターン密度チェックを行う装置であって、
ウェハの裁断領域であるスクライブ枠のパターン密度を示すスクライブ枠モデルを作成するスクライブ枠モデル作成手段と、
チップ内の機能ブロックであるマクロの配置を示すフロアプランデータに基づき、前記マクロ毎のパターン密度を示すマクロデータ率モデルを作成するマクロデータ率モデル作成手段と、
前記スクライブ枠モデルと前記マクロデータ率モデルと前記フロアプランデータのマクロの位置情報とを組み合わせたスクライブ枠を含む１チップのデータに対して、所定の面積範囲のチェック基準枠を設定し、当該チェック基準枠を用いて当該スクライブ枠を含む１チップ全体のパターン密度チェックを実行するパターン密度チェック手段とを有するパターン密度チェック装置。
【請求項１０】
前記スクライブ枠モデルは、所定の大きさで複数の領域に分割されていることを特徴とする請求項９に記載のパターン密度チェック装置。
【請求項１１】
前記スクライブ枠モデルは、製造条件に基づいたパターンのデータ率の上限値とパターンのデータ率の下限値とを有することを特徴とする請求項９又は１０に記載のパターン密度チェック装置。
【請求項１２】
前記マクロデータ率モデルは、それぞれのマクロが所定の面積で分割され、分割された領域ごとのデータ率を有していることを特徴とする請求項９乃至１１のいずれか１項に記載のパターン密度チェック装置。
【請求項１３】
前記パターン密度チェック手段は、エラーとなった場合には、エラーとなった座標情報と、エラーとなったマクロ情報とを含む情報を出力することを特徴とする請求項９乃至１２のいずれか１項に記載のパターン密度チェック装置。
【請求項１４】
前記パターン密度チェック手段は、エラーとなった領域に含まれるマクロを移動させる所定の領域を仮想的に示す仮想配置領域を設定し、当該仮想配置領域に対して再度パターン密度チェックを行い、その結果に基づいて前記マクロの移動可能な範囲を出力することを特徴とする請求項９乃至１３のいずれか１項に記載のパターン密度チェック装置。
【請求項１５】
コンピュータによってマスクのパターン密度チェックを行う方法であって、
予めマスクデータと密度チェック対象チップのデータ率を有するチップデータとが記憶された記憶部から前記マスクデータを読み込んでウェハの裁断領域であるスクライブ枠のパターン密度を示すスクライブ枠モデルを作成するスクライブ枠モデル作成手段と、
前記チップデータを読み込んで当該チップデータと前記スクライブ枠モデルとを合わせて１チップ分の密度チェックを行う密度チェック手段と、を含むことを特徴とするパターン密度チェック方法。
【請求項１６】
前記チップデータは、チップ内の機能ブロックであるマクロの配置位置情報を有するフロアプランデータであり、前記マクロ毎にデータ率を有していることを特徴とする請求項１５に記載のパターン密度チェック方法。
【請求項１７】
前記スクライブ枠モデルは、所定の大きさで複数の領域に分割されていることを特徴とする請求項１５に記載のパターン密度チェック方法。
【請求項１８】
前記密度チェック手段は、所定の面積のチェック基準枠により密度チェックを行うことを特徴とする請求項１５に記載のパターン密度チェック方法。
【請求項１９】
前記スクライブ枠モデルは、製造条件に基づいたパターンのデータ率の上限値とパターンのデータ率の下限値とを有することを特徴とする請求項１５又は１７に記載のパターン密度チェック方法。
【請求項２０】
前記フロアプランデータは、それぞれのマクロが所定の面積で分割され、分割された領域ごとのデータ率を有していることを特徴とする請求項１６に記載のパターン密度チェック方法。
【請求項２１】
前記密度チェック手段は、密度チェックの結果エラーとなった場合には、エラーとなった座標情報と、エラーとなったマクロ情報とを含む情報を出力することを特徴とする請求項１５乃至２０のいずれか１項に記載のパターン密度チェック方法。
【請求項２２】
前記密度チェック手段は、密度チェックの結果エラーとなった領域に含まれるマクロを移動させる所定の領域を仮想的に示す仮想配置領域を設定し、当該仮想配置領域に対して再度パターン密度チェックを行い、その結果に基づいて前記マクロの移動可能な範囲を出力することを特徴とする請求項１５乃至２０のいずれか１項に記載のパターン密度チェック方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路と半導体集積回路のマクロ配置設計技術に関し、特にマスクデータ内のパターン密度チェックに関するものである。
【背景技術】
【０００２】
近年、半導体集積回路は素子の微細化が進んでおり、微細なパターンをウェハ上にパターニングしなければならない。パターニングは、製造工程ごとに準備されたマスクよって行われ、パターニングされた微細なパターンを重ね合わせることで半導体集積回路が形成される。パターニングにおいて、一般的にＣＭＰ（Ｃｈｅｍｉｃａｌ  Ｍｅｃｈａｎｉｃａｌ  Ｐｏｌｉｓｈｉｎｇ）に代表されるウェハ研磨技術が用いられている。ＣＭＰ工程では、ウェハ表面を平坦にする。しかしながら、設計段階でのレイアウトによっては、半導体集積回路の製造に用いられるマスクに形成されるパターンの比率が多すぎ、あるいは少なすぎに偏る場合がある。この場合、ＣＭＰ工程で必要なパターンが必要以上に削れてしまう。つまり、パターンが必要以上に削れてしまうために、パターンの比率が偏ったマスクで製造された半導体集積回路は、パターニング不良から誤動作を起こす恐れがある問題がある。
【０００３】
上記問題を解決するために、マスク全体に対するパターンの占有率（パターン密度）を規定しておき、パターンの比率がある範囲内になるように検証することが一般的に行われている。従来のマスクの模式図とパターン密度の検証範囲を図１４に示す。図１４に示すように、マスクは、例えば１つのマスク１４０１に同じチップ１４０３のパターンが４つパターニングされ、チップ１４０３のパターンの周囲にチップの裁断領域であるスクライブ枠１４０２を有している。パターン密度チェックを行う範囲（パターン密度チェック領域）１４０６は、すべてのチップ１４０３とすべてのスクライブ枠１４０２が対象となる。
【０００４】
また、従来のレイアウトからマスク作成開始段階までのフローチャートを図１５に示す。図１５に示すように従来のマスク作成開始までのフローは、設計が完了した回路のレイアウトを実行し（ステップＳ１２）、続いてマスクデータを作成する（ステップＳ１３）。作成したマスクデータに基づいて、マスク全体に対するパターン密度を算出し、その密度が規定の範囲内か否かの判断を行う最終検証を行う（ステップＳ１４）。ここで、パターン密度が規定の範囲内であった場合は、マスク作成を開始する（ステップＳ１５）。しかし、パターン密度が規定の範囲外であった場合は、再びレイアウト段階に戻り、パターン密度が規定の範囲内に収まるまでステップＳ１２からＳ１４までを繰り返す。
【０００５】
しかしながら、従来のレイアウトからマスク作成までのフローは、マスク作成の直前でマスク全体のデータが揃うまで最終検証を行うことができなかった。そのため、最終検証でパターン密度エラーとなった場合には、後戻り工程が発生し半導体集積回路の開発期間（ＴＡＴ：Ｔｕｒｎ  Ａｒｏｕｎｄ  Ｔｉｍｅ）が増大する問題があった。
【０００６】
そこで、最終検証でのパターン密度エラーを低減するための技術が特許文献１に開示されている。特許文献１に記載の技術は、半導体集積回路の機能ブロックであるマクロに対して、レイアウト段階でマクロのレイアウト面積に対する素子のパターン密度の計算を行うものである。しかしながら、特許文献１に記載の技術によっても、検証されるパターン密度はマクロ内部のみであって、チップ周辺のスクライブ枠までを含めたマスク全体のパターン密度の計算は最終検証で行わなければならなかった。最終検証でマスク全体のパターン密度を計算した結果、エラーとなった場合には、やはり後戻り工程が発生し、ＴＡＴが増大する問題がある。
【０００７】
また、最終検証における検証はマスク全体で行うために、検証に用いるデータが膨大になる。このことから、パターン密度の計算時間が増大する問題がある。
【特許文献１】特開２００３−６７４４１号
【発明の開示】
【発明が解決しようとする課題】
【０００８】
従来のパターン密度チェックフローは、マスク全体に対するパターン密度の計算は最終検証まで行うことができず、最終検証でパターン密度エラーとなった場合にＴＡＴが増大する問題があった。
【課題を解決するための手段】
【０００９】
本発明にかかるパターン密度チェックプログラムは、予めパターン密度チェック対象チップのチップデータと当該チップのマスクデータとを記憶した記憶部を備えたコンピュータに、前記マスクデータを読み込み、当該マスクデータから密度チェック対象チップの１チップ分のスクライブ枠のデータ率を有するスクライブ枠モデルを作成する第１のステップと、前記チップデータを読み込み、当該チップデータと前記スクライブ枠モデルとを合わせて１チップ分の密度チェックを行う第２のステップと、をコンピュータに実行させるものである。
【００１０】
また、本発明にかかるパターン密度チェック装置は、マスクのパターン密度チェックを行う装置であって、ウェハの裁断領域であるスクライブ枠のパターン密度を示すスクライブ枠モデルを作成するスクライブ枠モデル作成手段と、チップ内の機能ブロックであるマクロの配置を示すフロアプランデータに基づき、前記マクロ毎のパターン密度を示すマクロデータ率モデルを作成するマクロデータ率モデル作成手段と、前記スクライブ枠モデルと前記マクロデータ率モデルと前記フロアプランデータのマクロの位置情報とを組み合わせたスクライブ枠を含む１チップのデータに対して、所定の面積範囲のチェック基準枠を設定し、当該チェック基準枠を用いて当該スクライブ枠を含む１チップ全体のパターン密度チェックを実行するものである。
【００１１】
さらに、本発明にかかるパターン密度チェック方法は、コンピュータによってマスクのパターン密度チェックを行う方法であって、予めマスクデータと密度チェック対象チップのデータ率を有するチップデータとが記憶された記憶部から前記マスクデータを読み込んでウェハの裁断領域であるスクライブ枠のパターン密度を示すスクライブ枠モデルを作成するスクライブ枠モデル作成手段と、前記チップデータを読み込んで当該チップデータと前記スクライブ枠モデルとを合わせて１チップ分の密度チェックを行う密度チェック手段と、を含むことを特徴とするものである。
【００１２】
本発明にかかるパターン密度チェックプログラム、方法及び装置によれば、チェック基準枠を用いて１つのチップ及びそのチップの周囲のスクライブ枠に対してパターン密度チェックを行う。これによって、パターン密度チェックを行う領域の詳細なパターン密度を知ることができるため、パターン密度エラーがあった場合であってもチェックの結果からエラー回避が可能である。また、本発明にかかるパターン密度チェックは、マスク全体のデータを作成する前の段階で行うことができる、早期のエラー発見が可能である。これにより、後戻り工程を削減してＴＡＴの短縮が可能である。さらに、マスクを作成するデータの一部（１つのチップ及びそのチップの周囲のスクライブ枠のデータ）に対してパターン密度チェックを実行するため、マスク全体のデータに対してパターン密度チェックを行うよりもデータ量を削減できる。これにより、データ処理時間を短縮できる。
【発明の効果】
【００１３】
本発明のパターン密度チェックプログラム、装置及び方法によれば、スクライブ枠を含む１チップのレイアウトからレイヤー毎のパターン密度を計算し、パターン密度エラーを早期に発見することで、後戻り工程の発生を削減することができるため、ＴＡＴの短縮が可能である。
【発明を実施するための最良の形態】
【００１４】
実施の形態１
実施の形態１にかかるパターン密度チェックは、例えば、マスクデータに配置されている複数のチップのうち１つのチップ及びそのチップの周囲のスクライブ枠に対して、パターン密度チェックを行うものである。
【００１５】
実施の形態１にかかるパターン密度チェックのフローチャートを図１に示す。図１を参照して実施の形態１にかかるパターン密度チェックのフローを説明する。図１に示すように、実施の形態１にかかるパターン密度チェックは、予め準備されたマスクデータからスクライブ枠のデータを抽出して、スクライブ枠モデルを作成する（ステップＳ１）。スクライブ枠モデルの詳細は後述する。続いて、予め準備されたフロアプランデータから、マクロのデータを抽出し、マクロデータ率モデルを作成する（ステップＳ２）。フロアプランデータは、半導体集積回路の機能ブロックであるマクロの配置を示すデータである。マクロデータ率モデルの詳細については後述する。
【００１６】
次に、スクライブ枠モデル、マクロデータ率モデル、フロアプランデータのマクロの位置情報を組み合わせたスクライブ枠を含む１チップのデータに対してパターン密度チェックを行う（ステップＳ３）。ステップＳ３でパターン密度が設計基準の範囲内にない場合は、ダミーセルの追加あるいはマクロ配置の見直しなどのレイアウト見直しを行う。また、ステップＳ３でパターン密度が設計基準の範囲内であった場合は、このレイアウトに基づいてマスクの作成を行う。パターン密度チェックの詳細は後述する。また、このパターン密度チェックはレイアウトのレイヤー毎に作成されるマスクそれぞれに対して行われる。
【００１７】
実施の形態１にかかるパターン密度チェックフローの各ステップについて詳細に説明する。まず、マスクデータ１０１は、レイヤー毎に準備され、製造プロセス、チップサイズなどで決まるデータであって、チップデータの他にスクライブ枠アライメントマーク、検査マークなどが含まれる。マスクデータの一例を図２に示す。
【００１８】
図２（ａ）に示すマスクデータ２００は、チップ２０１〜２０４のデータとスクライブ枠２０５を有している。このスクライブ枠２０５は、メタル層で生成されるアライメントマーク２０６と拡散層で生成されるダミーセル２０７を有している。アライメントマーク２０６及びダミーセル２０７は、図２（ｂ）、（ｃ）あるいは（ｄ）（ｅ）で示すような階層構造となっている。図（ｂ）メタル層で形成されるアライメントマーク２０６が最も多く配置されるパターンの一例を示す図である。図２（ｃ）は、拡散層で形成されるダミーセル２０７が最も多く配置されるパターンの一例を示す図である。また、図２（ｄ）は、メタル層で形成されるアライメントマーク２０６が最も少なく配置されるパターンの一例を示す図である。図２（ｅ）は、拡散層で形成されるダミーセル２０７が最も少なく配置されるパターンの一例を示す図である。アライメントマーク２０６及びダミーセル２０７が配置される量は製造条件によって決定される。
【００１９】
ステップＳ１のスクライブ枠モデル作成は、マスクデータ１０１を入力として、チップ１つ分のスクライブ枠モデルを作成し、スクライブ枠モデルのデータを作成する。スクライブ枠モデルの一例を図３に示す。
【００２０】
図３（ａ）は、スクライブ枠モデル３００を模式的に示す図である。スクライブ枠モデル３００は、マスクデータ２００に配置されるチップ１つの周辺を囲むスクライブ枠モデルである。スクライブ枠モデル３００は、例えば１つのチップを囲むスクライブ枠が所定の領域（１）〜（２０）に分割されている。所定の領域（１）〜（２０）は、例えば製造プロセス毎に予め決められているパターン密度チェックを行う基準面積を設定すればよい。また、スクライブ枠モデル３００は、図２（ｂ）、（ｃ）及び（ｄ）、（ｅ）に示されるアライメントマーク２０６及びダミーセル２０７が最も多く配置された場合と最も少なく配置された場合との素子レイアウトデータを有している。スクライブ枠モデル３００は、それぞれの所定の領域の面積に対するアライメントマーク２０６及びダミーセル２０７のパターンのデータ率を有する。データ率とは、所定の領域の面積に対するアライメントマーク２０６及びダミーセル２０７のデータ量（占有面積）である。
【００２１】
図３（ｂ）は、スクライブ枠モデルを表すデータを示したものである。まず、＃ＳＣＲＩＢＥ＿ＭＡＸＭＯＤＥＬ以下にアライメントマーク２０６及びダミーセル２０７が最も多く配置された場合の各領域のデータが記述されている。記述されるデータは、例えばＳ＿ＡＬＬＡＲＥＡは領域の面積、ＰＯＬＹＭＡＸはポリシリコン層が配置される面積、ＤＩＦＦＭＡＸは拡散層が配置されている面積、Ｍ１ＭＡＸ、Ｍ２ＭＡＸ、Ｍ３ＭＡＸ、Ｍ４ＭＡＸ、Ｍ５ＭＡＸはそれぞれ１層目から５層目までのアルミ配線が配置される面積を表している。また、＃ＳＣＲＩＢＥ＿ＭＩＮＭＯＤＥＬ以下にアライメントマーク２０６及びダミーセル２０７が最も少なく配置された場合の各領域のデータが記述されている。記述されるデータは、例えばＳ＿ＡＬＬＡＲＥＡは領域の面積、ＰＯＬＹＭＩＮはポリシリコン層が配置されるの面積、ＤＩＦＦＭＩＮは拡散層が配置されている面積、Ｍ１ＭＩＮ、Ｍ２ＭＩＮ、Ｍ３ＭＩＮ、Ｍ４ＭＩＮ、Ｍ５ＭＩＮはそれぞれ１層目から５層目までのアルミ配線が配置される面積を表している。上記説明より、図３（ｂ）に示すスクライブ枠モデルは、例えば領域（１）の拡散層は、最も多く配置される場合で２５０であり、最も少なく配置される場合で６５であることを示している。その他の構成要素に関しても図３（ｂ）に示されるデータより、それぞれが配置される面積が分かる。
【００２２】
フロアプランデータ１０２は、例えば３つのマクロＡ、Ｂ、Ｃそれぞれの大きさ及びチップ内のどの位置に配置されているかを表すデータである。
【００２３】
ステップＳ２のマクロデータ率モデル作成は、フロアプランの結果から、チップ内の各マクロのレイアウトデータを抽出し、マクロ毎にデータ率を算出してマクロデータ率モデルを作成する。マクロデータ率モデルの一例を図４に示す。
【００２４】
図４（ａ）は、マクロＣについてのマクロデータ率モデル４００を模式的に示す図である。マクロデータ率モデル４００は、マクロＣを４つの領域（１，１）、（１，２）、（２，１）、（２，２）に分割して、それぞれの領域についてのデータ率を表したものである。
【００２５】
図４（ｂ）は、マクロデータ率モデルを表すデータを示したものである。＃ＭＡＣＲＯ＿Ｃ＿ＡＲＥＡ以下にマクロＣの各領域のデータ率が表されている。例えばＭ＿ＡＬＬＡＲＥＡは領域の面積、ＰＯＬＹはポリシリコン層が配置される面積、ＤＩＦＦは拡散層が配置される面積、Ｍ１、Ｍ２、Ｍ３、Ｍ４、Ｍ５はそれぞれ１層目から５層目までのアルミ配線が配置される面積を表している。図４（ｂ）に示すマクロデータ率モデルは、例えば領域（１，１）の場合、領域の面積が４００であって、ポリシリコン層が１６０、拡散層が８０、１層目のアルミ配線が３００、２層目のアルミ配線が２６４、３層目のアルミ配線が２００、４層目のアルミ配線が２００、５層目のアルミ配線が７８となることを示している。
【００２６】
ステップＳ３のパターン密度チェックは、スクライブ枠モデル、マクロデータ率モデル、フロアプランデータを入力としてスクライブ枠を考慮したチップのパターン密度チェックを実行する。さらにパターン密度チェックを実行して得られた結果を設計基準データとを比較して、各素子のレイアウト密度が設計基準の範囲内か否かを判断する。設計基準データは、使用するプロセスに基づいて予め設定されているパターン密度の上限基準及び下限基準を示すデータである。
【００２７】
パターン密度チェックの方法について詳細に説明する。図５にマクロＡ、Ｂ、Ｃがフロアプランにより配置されたチップ及びそのチップの周囲を囲むスクライブ枠モデルの模式図を示す。図５に示すチップ及びスクライブ枠に対してパターン密度チェックを行う例について説明する。
【００２８】
パターン密度チェックは、所定の面積に設定されたチェック基準枠５０１を用いて行う。チェック基準枠５０１は図５において斜線のハッチングで示される領域である。このチェック基準枠５０１を所定のピッチ量で移動させて、移動させる毎にチェック基準枠５０１内のパターン密度を計算することで行う。所定のピッチ量で移動させたチェック基準枠を図５において破線で囲まれる領域で示す。パターン密度チェックは、チェック基準枠を移動させる度に、チェック基準枠５０１内のパターン密度を計算して行う。チェック基準枠５０１をスクライブ枠モデルと１つのチップ全体を網羅する領域で移動させることで、１つのチップとスクライブ枠とを含めたパターン密度チェックを行う。このチェック基準枠５０１は、パターン密度をチェックする領域を示すもので、例えばパターン密度チェックを行う基準面積で設定すればよい。チェック基準枠５０１によるパターン密度チェックは、チェック基準枠５０１の面積に対するデータが占める面積の比で行い、このデータが占める面積はチェック基準枠５０１とオーバーラップしているスクライブ枠モデルとマクロデータ率モデルとから算出する。
【００２９】
パターン密度は、Ｍ＿ＡＬＬＡＲＥＡをマクロの分割された領域１つの面積、Ｓ＿ＡＬＬＡＲＥＡをスクライブ枠の分割された領域１つの面積、Ｍ＿ＣＲＯＳＳＡＲＥＡをチェック基準枠とマクロとがオーバーラップしている部分の面積、Ｓ＿ＣＲＯＳＳＡＲＥＡチェック基準枠とスクライブ枠とがオーバーラップしている部分の面積、ＣＨＫ＿ＡＬＬＡＲＥＡをチェック基準枠の面積とすると式（１）で表される。
チェック基準枠内密度＝（α＋β）／ＣＨＫ＿ＡＬＬＡＲＥＡ  ・・・  （１）
【数１】
2006344176.tif 000003
【数２】
2006344176.tif 000004
【００３０】
式（１）によって求まるチェック基準枠内密度は、設計基準データと比較される。この比較の結果、チェック基準枠内密度が設計基準データの範囲内にない場合は、チェック結果（上限密度：ＯＫ、下限密度：ＮＧ）、座標情報（チェック基準枠の座標、マクロの座標、スクライブ枠の座標）マクロ名及びマクロの領域名、スクライブ枠の領域番号、密度の計算結果の情報がパターン密度チェック結果格納手段に格納される。
【００３１】
その後、チェック結果に基づいて設計者はダミーセルの追加／削除あるいはフロアプランの見直しを行う。
【００３２】
パターン密度チェックを図５において斜線のハッチングで示されるチェック基準枠５０１におけるモデルの実際の数値を用いて説明する。この場合、マクロＣの領域（２，２）とスクライブ枠の領域（１５）、（１６）、（１７）がチェック基準枠５０１とオーバーラップしている。ここで、ＣＨＫ＿ＡＬＬＡＲＥＡ、Ｍ＿ＡＬＬＡＲＥＡ、Ｓ＿ＡＬＬＡＲＥＡはそれぞれ面積が４００とする。また、チェック基準枠５０１がマクロＣの領域（２，２）及びスクライブ枠の領域（１５）、（１６）、（１７）とオーバーラップしている部分の面積は、それぞれ２０、８０、１００、１００である。この面積は、チェック基準枠の座標とマクロＣの座標とスクライブ枠モデルの座標とから求めることができる。パターン密度チェックはポリシリコン層、拡散層、各メタル層でそれぞれ行うが、ここではポリシリコン層の計算例のみを示す。
【００３３】
ポリシリコン層が最も多く配された場合（ＭＡＸ条件）の密度は式（２）で表される。
α＝（１６０×（２０／４００））＝８
β＝（３２０×（８０／４００）＋２５０×（１００／４００）
＋３２０×（１００／４００）＝２０６．５
チェック基準枠内密度（ＭＡＸ）＝（８＋２０６．５）／４００＝５３．６％・・（２）
【００３４】
ポリシリコン層が最も少なく配された場合（ＭＩＮ条件）の密度は式（３）で表される。
α＝（１６０×（２０／４００））＝８
β＝（８０×（８０／４００）＋６５×（１００／４００）
＋８０×（１００／４００）＝５２．２５
チェック基準枠内密度（ＭＩＮ）＝（８＋５２．２５）／４００＝１５．１％・・（３）
【００３５】
ここで、ポリシリコン層の設計基準が上限密度８０％、下限密度２０％であった場合、式（２）、（３）の計算結果は、ＭＩＮ条件の場合に設計基準を違反していることになる。この場合、パターン密度チェック結果格納手段には、チェック結果（上限密度：ＯＫ、下限密度ＮＧ）、座標情報（チェック基準枠の座標、マクロの座標、スクライブ枠の座標）マクロ名及びマクロの領域名、スクライブ枠の領域番号、密度の計算結果の情報が格納される。
【００３６】
設計者は上記チェック結果よりマクロＣの領域（２，２）のポリシリコン層のパターン密度が不足していることが分かる。これによって、設計者はマクロＣの領域（２，２）へのダミーセルの追加あるいはマクロＣをスクライブ枠に近づけるなどのレイアウトの見直しを行う。
【００３７】
ここで、図６にマスク全体の中のパターン密度チェックを行う領域６０６を示す。実施の形態１にかかるパターン密度チェックは、マスク全体に対して行うのではなく、マスク上に配置された複数のチップ６０３のうち１つのチップ６０３とその周囲を囲むスクライブ枠モデル６０５に対して行う。パターン密度チェックを行う領域６０６の面積は、図６において斜線のハッチングの領域となる。
【００３８】
また、実施の形態１にかかるパターン密度チェック装置７００の模式図を図７に示す。図７に示す装置７００は、パターン密度チェックの処理を行うデータ処理部７０１（例えば、コンピュータ）とデータ処理の結果を表示する表示部７０２と設計者等がコンピュータの操作を行う操作部７０３を有している。データ処理部７０１の内部は、上記の密度チェックフローにおいて用いられるフロアプランデータが格納されるフロアプランデータ格納手段７０４、マクロデータ率モデルを格納するマクロデータ率モデル格納手段７０５、マスクデータが格納されるマスクデータ格納手段７０６、スクライブ枠モデルを格納するスクライブ枠モデル格納手段７０７、設計基準データが格納される設計基準格納手段７０８、パターン密度チェックの結果を格納するパターン密度チェック結果格納手段７０９と、上記説明のマクロデータ率モデルを作成するマクロデータ率モデル作成手段７１０、スクライブ枠モデルを作成するスクライブ枠モデル作成手段７１１、パターン密度チェックを実行するパターン密度チェック手段７１２を有している。
【００３９】
上記の説明より、実施の形態１にかかるパターン密度チェックのフローによれば、チップのフロアプランを用いて、スクライブ枠を含めたパターン密度チェックをチェック基準枠を用いて行うことが可能である。この結果、パターン密度チェックエラーをフロアプランの段階で発見できるため、チップ設計完了後にマスクデータのパターン密度チェックエラーが発生する可能性を削減できる。つまり、マスクには同じチップが複数配置されたデータであることから、本実施の形態にかかるパターン密度チェックは、１つのチップ及びその周囲のスクライブ枠に対してのパターン密度を適正なものとすることで、マスク全体でのパターン密度を適正にするものである。
【００４０】
また、パターン密度チェックをチェック基準枠を用いて行うため、エラーが発生した箇所の座標を正確に把握することが可能である。さらに、チェック基準枠内の密度計算結果によって、どのマクロがパターン密度にどれだけ寄与しているかを判定することが可能である。つまり、パターン密度チェックエラーが発生したとしても、そのエラー内容から配置の変更の指針（ダミーセルの追加、マクロの移動など）を知ることが可能である。これによって、パターン密度チェックエラーを早期に解消することが可能であるため、ＴＡＴの短縮が可能である。
【００４１】
さらに、従来のマスク作成前の最終検証では、マスク全体に対してパターン密度チェックを行っていたが、本実施の形態では１つのチップ及びその周囲のスクライブ枠に対してのみのパターン密度チェックを行うのみである。つまり、従来の最終検証を行う場合に対して、本実施の形態のパターン密度チェックに用いられるデータ量が少ないために少ない時間でのパターン密度チェックが可能である。
【００４２】
なお、本実施の形態では、フロアプランが確定した場合について説明したが、暫定的なフロアプランから、マクロの仮想データを作成してパターン密度チェックを行うことも可能である。
【００４３】
実施の形態２
実施の形態１にかかるパターン密度チェックは、パターン密度チェックでエラーとなった場合に設計者が任意にレイアウトの見直しを行っていたのに対し、実施の形態２にかかるパターン密度チェックは、一度パターン密度チェックを実行し、パターン密度エラーとなった場合に、エラーのないフロアプランを計算により求めるものである。実施の形態１にかかるパターン密度チェックのフローと同じ部分については実施の形態１と同様の符号を付して説明を省略する。なお実施の形態２にかかるパターン密度チェックでは、実施の形態１のパターン密度チェック（ステップＳ３）を第１のパターン密度チェックと称す。
【００４４】
実施の形態２にかかるパターン密度チェックのフローチャートを図８に示す。実施の形態２にかかるパターン密度チェックのフローを図８を参照して説明する。実施の形態２にかかるパターン密度チェックのフローは、第１のパターン密度チェック（ステップＳ３）でエラーとなった場合に、まずパターン密度エラー領域に含まれるマクロを移動させる所定の領域を仮想的に設定する。（ステップＳ５）。このマクロの移動範囲を仮想配置領域と称す。続いて、ステップＳ５で設定された仮想配置領域に対してパターン密度を計算し、パターン密度エラーが発生しない領域を探す（第２のパターン密度チェック、ステップＳ６）。ステップＳ６の結果に基づいて、パターン密度エラーが発生しない領域にマクロを移動する（ステップＳ７）。これにより、パターン密度エラーのないレイアウトを作成し、この結果に基づいてマスクを作成する。
【００４５】
実施の形態２にかかるパターン密度チェックのフローの各ステップについて詳細に説明する。まず、エラー領域に含まれるマクロが配置される対象領域を広げるステップＳ５について説明する。図９にパターン密度チェック領域とその領域内でエラーとなった領域を示す。図９において破線で四角に示された領域がパターン密度チェックエラーとなった領域９０１である。このパターン密度チェックエラー領域９０１にはマクロＡとマクロＢとが含まれる。例えば、マクロＢに対して仮想配置領域を設定する。仮想配置領域を設定した仮フロアプランを図１０を示す。図１０において、太線で囲まれる領域がマクロＢの仮想配置領域１００１である。この仮想配置領域１００１は、例えばマクロＢを上下左右及び斜め方向に平行移動させた面積に相当する。
【００４６】
続いて、ステップＳ６は、この広げられたマクロＢの仮想配置領域１００１内に対して第２のパターン密度チェックを行う。第２のパターン密度チェックによって、マクロＢを移動させた場合に密度エラーとなる領域とならない領域が判明する。密度エラーとなる領域と密度エラーとならない領域を図１１に示す。図１１において、格子のハッチングとなっている部分が密度エラーとなる領域１１０２であり、斜線のハッチングで示す領域が密度エラーとならない領域１１０１である。なお、この第２のパターン密度チェック手段においても、パターン密度チェックは、実施の形態１と同様の計算方法でパターン密度を計算する。
【００４７】
設計者は、ステップＳ６の第２のパターン密度チェックのチェック結果に基づき、ステップＳ７でマクロＢをパターン密度エラーのない領域に移動させる。マクロＢを移動させたフロアプランの一例を図１２に示す。
【００４８】
図１３に実施の形態２にかかるパターン密度チェック装置１３００を示す。図１３に示す実施の形態２にかかるパターン密度チェック装置１３００は、図７に示す実施の形態２にかかるパターン密度チェック装置７００に対して、実施の形態２にかかるパターン密度チェックフローの各処理に対応して、仮フロアプランデータを格納する仮フロアプランデータ格納手段１３０１、第２のパターン密度チェックの結果を格納する配置検証結果格納手段１３０２、マクロの仮想配置領域を設定する仮フロアプラン作成手段１３０３、第２のパターン密度チェックを実行する第２のパターン密度チェック手段１３０４を追加したものである。
【００４９】
実施の形態２にかかるパターン密度チェックによれば、パターン密度エラーとなった領域があった場合であっても、マクロを移動させた場合にパターン密度エラーとならない領域を計算によって明確にすることが可能である。つまり、パターン密度チェックを繰り返し行うことなくマクロを最適な配置とすることが可能である。これによって、繰り返し工程を削減できるため、ＴＡＴの短縮が可能である。
【００５０】
なお、本発明は上記実施の形態に限られたものではなく適宜変更することが可能である。例えば、チェック基準枠のサイズを小さくすることによって、更に詳細にエラー領域を把握することが可能である。逆に、チェック基準枠のサイズを大きくすることによって、パターン密度チェック時間を短縮することが可能である。また、本発明のパターン密度チェックは、格子状に設定されたチェック基準枠それぞれに対してパターン密度を計算することでも実現可能である。
【図面の簡単な説明】
【００５１】
【図１】実施の形態１にかかるパターン密度チェックのフローチャートを示す図である。
【図２】実施の形態１にかかるマスクデータの一例を示す図である。
【図３】実施の形態１にかかるスクライブ枠モデルの一例を示す図である。
【図４】実施の形態１にかかるマクロデータ率モデルの一例を示す図である。
【図５】実施の形態１にかかるパターン密度チェック領域とチェック基準枠を示す図である。
【図６】実施の形態１にかかるマスクデータとパターン密度チェック領域を示す図である。
【図７】実施の形態１にかかるパターン密度チェック装置を示す図である。
【図８】実施の形態２にかかるパターン密度チェックのフローチャートを示す図である。
【図９】実施の形態２にかかるパターン密度チェック領域と密度エラー領域を示す図である。
【図１０】実施の形態２においてマクロＢの仮想配置領域が設定された仮フロアプランを示す図である。
【図１１】実施の形態２にかかる第２のパターン密度チェック手段がパターン密度チェックを行った結果を示す図である。
【図１２】実施の形態２にかかる第２のパターン密度チェック手段がパターン密度チェックを行った結果に基づいてマクロＢの配置を変更した場合のパターン密度チェック領域の一例を示す図である。
【図１３】実施の形態２にかかるパターン密度チェック装置を示す図である。
【図１４】従来のパターン密度チェック領域を示す図である。
【図１５】従来のマスク作成のフローチャートを示す図である。
【符号の説明】
【００５２】
１０１    マスクデータ
１０２    フロアプランデータ
１０３    マスク作成
２００    マスクデータ
２０１、２０２、２０３、２０４    チップ
２０５    スクライブ枠モデル
２０６    アライメントマーク
２０７    ダミーセル
３００    スクライブ枠モデル
４００    マクロデータ率モデル
５０１    チェック基準枠
６０１    マスク
６０２    スクライブ枠
６０３    チップ
６０４    レチクル
６０５    スクライブ枠モデル
６０６    パターン密度チェック領域
７０１    データ処理部
７０２    表示部
７０３    操作部
７０４    フロアプランデータ格納手段
７０５    マクロデータ率モデル格納手段
７０６    マスクデータ格納手段
７０７    スクライブ枠モデル格納手段
７０８    設計基準格納手段
７０９    パターン密度チェック結果格納手段
７１０    マクロデータ率モデル作成手段
７１１    スクライブ枠モデル作成手段
７１２    パターン密度チェック手段
９０１    パターン密度エラー領域
１００１    仮想配置領域
１１０１    パターン密度エラーとならない領域
１１０２    パターン密度エラーとなる領域
１３０１    仮フロアプランデータ格納手段
１３０２    配置検証結果格納手段
１３０３    仮フロアプラン作成手段
１３０４    （第２の）パターン密度チェック手段
【図１】
2006344176.tif 000005
【図２】
2006344176.tif 000006
【図３】
2006344176.tif 000007
【図４】
2006344176.tif 000008
【図５】
2006344176.tif 000009
【図６】
2006344176.tif 000010
【図７】
2006344176.tif 000011
【図８】
2006344176.tif 000012
【図９】
2006344176.tif 000013
【図１０】
2006344176.tif 000014
【図１１】
2006344176.tif 000015
【図１２】
2006344176.tif 000016
【図１３】
2006344176.tif 000017
【図１４】
2006344176.tif 000018
【図１５】
2006344176.tif 000019