(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0018】
以下に説明する実施例では、主に基準パターンの輪郭上の点と検査パターンの輪郭上の点との誤った対応付けを低減するような技術を提供することにより、基準パターンの輪郭と検査パターンの輪郭との比較による検査における、検査結果の信頼性を向上させることを目的とする寸法測定装置、及び上記処理をコンピューターに実行させるためのコンピュータープログラムについて説明する。なお、本実施例における説明では、説明を簡単にするために、寸法測定や欠陥検査等を含めて「検査」と表現する。
【0019】
上記のような目的を達成するために、以下に説明する実施例では主に、検査対象パターンの評価基準となる基準パターンの輪郭である第一の輪郭と、前記検査対象パターンを撮影した画像から抽出した輪郭である第二の輪郭と、を比較して検査するパターン検査装置において、前記第一の輪郭上の点と前記第二の輪郭上の点とを対応付けて第一の対応情報を生成する対応生成部と、前記第一の対応情報に含まれる対応関係の整合性を判定し、整合性が取れていない対応関係を修正して第二の対応情報を生成する対応修正部と、前記第二の対応情報を用いて検査を行う検査部とを備えた装置、及びコンピュータープログラムについて説明する。
【0020】
上記構成によれば、局所的な情報から求めた対応関係に対して、周囲の状況に基づいて整合性を判定し、整合性が取れていないと推定される対応関係を修正して検査に用いるような構成としたことにより、基準パターンの輪郭上の点と検査パターンの輪郭上の点との誤った対応関係が検査に用いられる頻度を低減させることができ、検査結果の信頼性を向上させることができる。
【0021】
<第1実施形態>
以下、第1実施形態について、
図1乃至
図11を参照して説明する。
図1に示すように、パターン検査装置100は、検査画像(評価対象パターンデータ)と基準パターンデータとを読み込んで、それらの輪郭同士を比較(例えば対応点間の寸法測定)することで検査画像を検査し、検査結果を出力するものである。
【0022】
撮影装置110は、ウェハ上に形成された半導体のパターンを撮影して検査画像として撮影時のパラメータと共にパターン検査装置に供給するものであり、例えば、走査型電子顕微鏡である。
【0023】
基準パターン記憶装置120は、検査対象パターンの評価基準となる基準パターンを格納しておくものであり、例えば、ハードディスクである。なお、本実施形態では、基準パターンとして、リソシミュレータで得られた露光パターンの外形を形成する曲線を多角形で近似したものを用いる。表示装置130は、パターン検査装置から出力された検査結果を表示するディスプレイである。
【0024】
[パターン検査装置100の構成]
図1に示すように、パターン検査装置100は、座標補正部101と、輪郭抽出部102と、対応生成部103と、対応修正部104と、検査部105とを備える。
【0025】
座標補正部101は、撮影装置110から供給される撮影時のパラメータ及び検査画像、及び、基準パターン記憶装置120から供給される基準パターンを用いて、検査画像上の座標系と基準パターンの座標系との関係を求め、基準パターンのうち、検査に必要となる部分を切り出して、検査画像上の座標系での表現に変換した後、対応生成部103に供給するものである。これらの処理は公知の技術を用いて実施すればよく、例えば、特開2004−185019号公報で開示されている手法や、テンプレートマッチング等の手法を用いればよい。
【0026】
輪郭抽出部102は、撮影装置110から供給される検査画像から検査パターンの輪郭を抽出して対応生成部103に供給するものである。検査パターンの輪郭の抽出は公知の技術を用いて実施すればよい。例えば、Canny法と呼ばれる方法や、特開2004−185019号公報で開示されている方法等を用いることができる。尚、輪郭抽出部102が抽出する輪郭は、公知の技術を用いて細線化処理を施しておく。
【0027】
対応生成部103は、座標補正部101から供給される基準パターンの輪郭(多角形の集合)と、輪郭抽出部102で抽出された検査パターンの輪郭とを対応付けて対応情報を生成し、基準パターンの輪郭情報及び検査パターンの輪郭情報と共に対応修正部104に供給するものである。対応生成部103の動作については、後で詳述する(
図2参照)。尚、「輪郭情報」とは、後述(
図2参照)の輪郭点化の処理までが施された輪郭の情報、即ち、輪郭点の情報とその繋がり方の情報の組を意味するものである。ここで、輪郭点の情報としては、該輪郭点が存在する検査画像上における位置を示す2次元座標を格納しておく。また、対応情報としては、すべての輪郭点について、対応する輪郭点の識別子(後述:
図2参照)、及び、誤対応であるか否かのフラグ(後述:
図6参照)、及び、欠陥であるか否かのフラグ(後述:
図11参照)を備えるものとする。
【0028】
対応修正部104は、対応生成部103から供給された対応情報に含まれる対応関係のうち、基準パターンの輪郭情報と検査パターンの輪郭情報と他の対応情報とに照らして整合性が取れていないと推測される対応関係を誤対応として検出し、整合性が取れるように修正した上で、基準パターンの輪郭情報及び検査パターンの輪郭情報と共に検査部105に供給するものである。対応修正部104の動作については、後で詳述する(
図5参照)。
【0029】
検査部105は、対応修正部104から供給された修正後の対応情報と、基準パターンの輪郭情報及び検査パターンの輪郭情報とを用いて、検査パターンを検査し、検査結果を表示装置130に出力するものである。検査部105の動作については、後で詳述する(
図11参照)。
【0030】
[パターン検査装置100における対応生成部103の動作]
次に、対応生成部103の動作について、
図2乃至
図4を参照して説明する。
図2のフローチャートに示すように、ステップS201において、対応生成部103は、セグメント分解の処理を行う。セグメント分解の処理の目的は、輪郭の分岐を無くすこと、即ち、輪郭を「閉路」と「分岐なしの線」とに分解することである。本明細書の以下の部分では、「閉路」と「分岐なしの線」の両方を「セグメント」と呼ぶ。
【0031】
セグメント分解の処理の内容を、
図3を参照して説明する。
図3(a)が、セグメント分解前の状態である。
図3(a)の輪郭300に対して、セグメント分解を実施すると、
図3(b)に示すセグメント310、セグメント320、セグメント330、セグメント340に分解される。ここで、セグメント310は閉路であり、セグメント320、セグメント330、セグメント340は分岐なしの線である。このとき、分岐点については、該分岐点に関係するセグメントで共有する。例えば、分岐点301は、セグメント320、セグメント330、セグメント340で、端点(始点または終点)として共有される。
【0032】
セグメント分解の処理は、公知の技術を用いて実施すればよく、また、基準パターンの輪郭は、通常、枝分かれが存在しないため、セグメント分解の処理は、検査パターンの輪郭に対して行えばよい。尚、基準パターンの輪郭が枝分かれを有する可能性がある場合には、基準パターンの輪郭に対してもセグメント分解の処理を行う。各セグメントのデータ構造としては、例えば、登録されている点の個数と、登録されている点の座標を始点から終点まで順序よく並べた配列と、の組を用いればよい。
【0033】
ステップS202において、対応生成部103は、輪郭点化の処理を行う。輪郭点化の処理は、各セグメントに対して、端点の一方を始点、他方を終点として、始点から終点までの間をセグメントの形状に沿って等間隔の区間に区切り、始点及び終点と、各区間の境界位置に、輪郭同士の比較処理において計算に用いられる「輪郭点」を配置する処理である。区間の長さの最大値、即ち、輪郭点間の最大間隔は、必要となる精度に応じて、適切な値を設計値として予め与えておく。
【0034】
例えば、あるセグメントのセグメント長、即ち始点から終点までの道のりが「L」であり、輪郭点間の最大間隔が「S」の場合、LをSで割った値の小数点以下を切り上げた整数値に「1」を足した個数を、当該セグメント上の輪郭点の個数とすればよい。セグメント長に関しては、始点から終点まで、折れ線の長さを積算していけばよい。また、セグメントが閉路を形成している場合には、セグメント上の適当な点を始点かつ終点として、処理を行う。
【0035】
次に、ステップS203において、対応生成部103は、基準パターンの各々の輪郭点を最も近い検査パターンの輪郭点に対応付ける。ステップS204における対応付けの結果は、例えば、
図4(a)のようになる。
図4(a)において、基準パターンの輪郭400上に存在する輪郭点401は、最も近い検査パターンの輪郭点である、検査パターンの輪郭410上に存在する輪郭点411に対応付けられる。最も近い輪郭点の探索は、総当たり探索による方法、ボロノイ図を利用する方法、距離変換画像を利用する方法等、公知の技術、或いはその組み合わせによって実施すればよい。
【0036】
同様に、ステップS204において、対応生成部103は、検査パターンの各々の輪郭点を最も近い基準パターンの輪郭点に対応付ける。ステップS204における対応付けの結果は、例えば、
図4(b)のようになる。
【0037】
ここで、ステップS203及びステップS204で生成される対応付けは、
図4に示すように、向きのある対応付けであり、
図4(a)に示す基準パターンの輪郭400から検査パターンの輪郭410への対応付けの結果と、
図4(b)に示す検査パターンの輪郭から基準パターンの輪郭への対応付けの結果とは、一般に、異なるものとなる。向きのある対応付けとすることにより、点と点とを対応付ける処理を、距離に基づく単純な処理とすることができる。
【0038】
また、基準パターンの輪郭400から検査パターンの輪郭410への対応付けにおいては、基準パターンの輪郭上のすべての輪郭点は検査パターンの輪郭上のいずれか1つの輪郭点に対応付けられるが、検査パターンの輪郭410上の輪郭点412に示されるように、検査パターンの輪郭上のすべての輪郭点が基準パターンの輪郭上のいずれかの輪郭点から対応付けられている保証はない。同様に、検査パターンの輪郭から基準パターンの輪郭への対応付けにおいては、検査パターンの輪郭上のすべての輪郭点は基準パターンの輪郭上のいずれか1つの輪郭点に対応付けられるが、基準パターンの輪郭上のすべての輪郭点が検査パターンの輪郭上のいずれかの輪郭点から対応付けられている保証はない。
【0039】
以下では、
図4(a)の輪郭点401と輪郭点411のような関係を「輪郭点401の接続先は輪郭点411である」と定義し、輪郭点401から輪郭点411に向かう有向辺421を「輪郭点401に対応する接続辺」と呼ぶ。ステップS203及びステップS204が終了した時点において、各輪郭点には、ちょうど1本の接続辺が対応している。
【0040】
図4に示されているように、基準パターンと検査パターンの乖離が大きい部分では、基準パターンの輪郭点に対応する接続辺、或いは、検査パターンの輪郭点に対応する接続辺に、長さが長いものが存在する。本実施形態では、この性質を利用して、検査部105における検査を行う。検査部105の動作については、後で詳述する(
図11参照)。
【0041】
[パターン検査装置100における対応修正部104の動作]
次に、対応修正部104の処理について
図5を参照して説明する。
図5のフローチャートに示すように、ステップS501において、対応修正部104は、誤対応検出処理を行う。なお、この処理については、後で詳述する(
図6参照)。
【0042】
次に、ステップS502において、対応修正部104は、誤対応修正処理を行う。なお、この処理については、後で詳述する(
図8参照)。ステップS502の誤対応修正処理の終了後、対応修正部は、対応修正処理を終了する。
【0043】
[誤対応検出処理]
次に、ステップS501(
図5参照)の誤対応検出処理について、
図6、
図7、
図9を参照して説明する。
図6のフローチャートは、基準パターンの輪郭と検査パターンの輪郭のうち、一方を「輪郭A」、他方を「輪郭B」として書かれたフローチャートである。ステップS501の誤対応検出処理では、「基準パターンの輪郭を輪郭A、検査パターンの輪郭を輪郭B」とした場合の処理と、「検査パターンの輪郭を輪郭A、基準パターンの輪郭を輪郭B」とした場合の処理の、両方の処理を実施する。
【0044】
図6のフローチャートに示すように、ステップS601において、対応修正部104は、カウンタNの値を「0」にする。
【0045】
ステップS602において、対応修正部104は、輪郭AのN番目の輪郭点の接続先が妥当であるか否かを判定する。輪郭AのN番目の輪郭点の接続先が妥当である場合には(ステップS602・YES)、対応修正部104は、ステップS605に進んで処理を続ける。輪郭AのN番目の輪郭点の接続先が妥当でない場合には(ステップS602・NO)、対応修正部104は、ステップS603へ進んで処理を続ける。輪郭AのN番目の輪郭点の接続先が妥当であるか否かの判定方法は、後で詳述する(
図7参照)。
【0046】
ステップS603において、対応修正部104は、輪郭AのN番目の輪郭点に対応する輪郭Bの輪郭点の接続先、即ち、輪郭AのN番目の輪郭点の接続先である輪郭Bの輪郭点の接続先が妥当であるか否かを判定する。輪郭AのN番目の輪郭点に対応する輪郭Bの輪郭点の接続先が妥当でない場合には(ステップS603・NO)、対応修正部104は、ステップS605に進んで処理を続ける。一方、輪郭AのN番目の輪郭点に対応する輪郭Bの輪郭点の接続先が妥当である場合には(ステップS603・YES)、対応修正部104は、ステップS604で輪郭AのN番目の輪郭点を誤対応としてマークした後、ステップS605に進んで処理を続ける。輪郭AのN番目の輪郭点に対応する輪郭Bの輪郭点の接続先が妥当であるか否かの判定方法は、後で詳述する(
図7参照)。
【0047】
ステップS605において、対応修正部104は、輪郭Aのすべての輪郭点について処理が完了したか否かを判定する。処理が完了していない輪郭Aの輪郭点が存在する場合には(ステップS605・NO)、対応修正部104は、ステップS606でカウンタNの値を「1」だけ増やした後、ステップS602に戻って処理を続ける。一方、輪郭Aのすべての輪郭点について処理が完了している場合には(ステップS605・YES)、対応修正部104は、輪郭Aに対する誤対応検出処理を終了する。なお、輪郭Aのすべての輪郭点について処理が完了したか否かは、カウンタNの値と輪郭Aの輪郭点の総数とを比較することによって判定すればよい。
【0048】
図6のフローチャートにおける対応修正部104の動作を、輪郭AのN番目の輪郭点が
図9に示す輪郭点902である場合を例として説明する。
【0049】
まず、ステップS602において、輪郭点902(第一の点)の接続先が妥当か否かを判定する。
図9(a)によれば、輪郭点902の接続先は輪郭点931(第二の点)であり、
図9(b)によれば、輪郭点931の接続先は輪郭点921(第三の点)である。輪郭点902は基準パターンのセグメント900上に乗っており、輪郭点921は基準パターンのセグメント920上に乗っているため、後述(
図7参照)の妥当性判定処理において、「輪郭点902の接続先は妥当でない」と判定される。この状態では、輪郭点902の接続先が誤りであるのか輪郭点902の接続先である輪郭点931の接続先が誤りであるのかの判断ができないため、続いて、輪郭点931の接続先が妥当であるか否かの判定を行う(ステップS603)。
【0050】
図9(b)によれば、輪郭点931の接続先は輪郭点921であり、
図9(a)によれば、輪郭点921の接続先は輪郭点931である。輪郭点931と輪郭点931は何れも検査パターンの同一のセグメント930上に乗っており、セグメント930上の道のりで測った際に、道のりの長さが「0」である、即ち、互いに近傍に存在するため、後述(
図7参照)の妥当性判定処理において、「輪郭点931の接続先は妥当である」と判定される。これにより、「輪郭点902の接続先である輪郭点931の接続先が誤りである」という可能性が否定されるため、「輪郭点902の接続先は妥当でない」と判定された原因は、輪郭点902の接続先が誤りであるためであると推定される。そこで、ステップS604において、輪郭点902を誤対応としてマークする。
【0051】
[妥当性判定処理]
次に、ステップS602及びステップS603(いずれも
図6参照)で使用される妥当性判定処理について、
図7を参照して説明する。
図7のフローチャートに示すように、ステップS701において、対応修正部104は、着目している輪郭点Cの接続先の輪郭点の接続先である輪郭点Dを求める。
【0052】
次に、ステップS702において、対応修正部104は、ステップS701で求めた輪郭点Dが輪郭点Cと同一セグメント上かつ近傍に存在するか否かを判定する。輪郭点Dが輪郭点Cと同一セグメント上かつ近傍に存在する場合は(ステップS702・YES)、対応修正部104は、ステップS703で「輪郭点Cの接続先は妥当である」と判定した後、妥当性判定処理を終了する。一方、輪郭点Dが輪郭点Cと同一セグメント上にない或いは同一セグメント上に存在するが近傍にない場合は(ステップS702・NO)、対応修正部104は、ステップS704で「輪郭点Cの接続先は妥当でない」と判定した後、妥当性判定処理を終了する。
【0053】
ステップS702における「近傍に存在するか否か」の判定は、設計値として予め定めた半径「Ra」を用いて実施する。具体的には、輪郭点Cと輪郭点Dが、両方の輪郭点が乗っているセグメント上で、(Ra−1)個未満の輪郭点を挟んで隣り合っている場合(所定の位置関係にある場合)に、「近傍に存在する」と判定する。このように、半径Raを用いた処理とするのは、輪郭の形状等の影響により、接続先が妥当である場合においても、輪郭点Cと輪郭点Dとが厳密に一致するとは限らないためである。
【0054】
[誤対応修正処理]
次に、ステップS502(
図5参照)の誤対応修正処理について、
図8乃至
図10を参照して説明する。
【0055】
図8のフローチャートは、基準パターンの輪郭と検査パターンの輪郭のうち、一方を「輪郭A」、他方を「輪郭B」として書かれたフローチャートである。ステップS502の誤対応修正処理では、「基準パターンの輪郭を輪郭A、検査パターンの輪郭を輪郭B」とした場合の処理と、「検査パターンの輪郭を輪郭A、基準パターンの輪郭を輪郭B」とした場合の処理の、両方の処理を実施する。
【0056】
図8のフローチャートに示すように、ステップS801において、対応修正部104は、カウンタNの値を「0」にする。
【0057】
ステップS802において、対応修正部104は、輪郭AのN番目の輪郭点が誤対応としてマークされているか否かを判定する。輪郭AのN番目の輪郭点が誤対応としてマークされている場合は(ステップS802・YES)、対応修正部104は、ステップS803で輪郭AのN番目の輪郭点の接続先を「なし」として登録した後、ステップS804へ進んで処理を続ける。一方、輪郭AのN番目の輪郭点が誤対応としてマークされていない場合は(ステップS802・NO)、対応修正部104は、ステップS807へ進んで処理を続ける。
【0058】
ステップS804において、対応修正部104は、接続先の候補となる輪郭点を探索する。具体的には、次のように求めればよい。まず、輪郭AのN番目の輪郭点(以下「輪郭点Aa」とする)が乗っているセグメント上で、輪郭点Aaから前後各々の方向に半径「Rb」の範囲内で、誤対応としてマークされていない輪郭点をセグメント形状に沿って探索する。ここで、Rbの値は、設計値として予め定めた値である。
【0059】
(1)前後両方の方向に誤対応としてマークされていない輪郭点が見つかった場合、それらを各々、輪郭点Ab、輪郭点Ac、と呼ぶ。この場合、次に、輪郭点Abに接続する輪郭点Bbと、輪郭点Acに接続する輪郭点Bcとを求める。輪郭点Bbと輪郭点Bcとが同じセグメント上に存在する場合、該セグメント上において、輪郭点Bbから輪郭点Bcまでの間に存在する輪郭点の集合が、輪郭点Aaの接続先の候補となる。輪郭点Bbと輪郭点Bcとが乗っているセグメントが閉路を成している場合、輪郭点Bbから輪郭点Bcまでの間に存在する輪郭点の集合と、輪郭点Bcから輪郭点Bbまでの間に存在する輪郭点の集合のうち、要素数が少ない方を、輪郭点Aaの接続先の候補とする。一方、輪郭点Bbと輪郭点Bcとが同じセグメント上に存在しない場合、輪郭点Aaの接続先の候補は「存在しない」とする。
【0060】
(2)前後の一方の方向にのみ、誤対応としてマークされていない輪郭点が見つかった場合、該輪郭点を輪郭点Adと呼ぶ。この場合、次に、輪郭点Adに接続する輪郭点Bdを求める。輪郭点Bdが乗っているセグメントが閉路を成しておらず、輪郭点Bdから近い方の端点(輪郭点Beと呼ぶ)までの道のりが「Rc」以下である場合には、輪郭点Bdから輪郭点Beまでの間に存在する輪郭点の集合が、輪郭点Aaの接続先の候補となる。
【0061】
輪郭点Bdが乗っているセグメントが閉路を成している場合、或いは、輪郭点Bdから輪郭点Beまでの道のりが「Rc」より大きい場合には、輪郭点Aaの接続先の候補は「存在しない」とする。ここで、Rcの値は設計値として予め定めた値である。輪郭の形状等の影響を考慮し、通常は「Rb≦Rc」となるように定めておく。
【0062】
(3)前後いずれの方向に対しても誤対応としてマークされていない輪郭点が見つからない場合、輪郭点Aaの接続先の候補となる輪郭点は「存在しない」とする。
【0063】
ステップS805において、対応修正部104は、接続先の候補となる輪郭点が存在するか否かを判定する。接続先の候補となる輪郭点が存在する場合は(ステップS805・YES)、対応修正部104は、ステップS806へ進んで処理を続ける。一方、接続先の候補となる輪郭点が存在しない場合は(ステップS805・NO)、対応修正部104は、ステップS807へ進んで処理を続ける。この時、輪郭AのN番目の輪郭点の接続先は、ステップS803で登録された「なし」の状態のままとなる。
【0064】
ステップS806において、対応修正部104は、ステップS804で探索された接続先の候補となる輪郭点のうち、輪郭AのN番目の輪郭点に最も近い輪郭点を、輪郭AのN番目の輪郭点の接続先として登録する。
【0065】
ステップS807において、対応修正部104は、輪郭Aのすべての輪郭点について処理が完了したか否かを判定する。処理が完了していない輪郭Aの輪郭点が存在する場合には(ステップS807・NO)、対応修正部104は、ステップS808でカウンタNの値を「1」だけ増やした後、ステップS802に戻って処理を続ける。一方、輪郭Aのすべての輪郭点について処理が完了している場合には(ステップS807・YES)、対応修正部104は、輪郭Aに対する誤対応修正処理を終了する。なお、輪郭Aのすべての輪郭点について処理が完了したか否かは、カウンタNの値と輪郭Aの輪郭点の総数とを比較することによって判定すればよい。
【0066】
図8のフローチャートにおける対応修正部104の動作を、
図9及び
図10に示す場合を例として説明する。尚、
図10で
図9と同じ符号は
図9と同じものを表す。
【0067】
図9の状態において、誤対応としてマークされている、即ちステップS802・YESとなるのは、輪郭点902だけであるため、その他の輪郭点に関しては、接続先は修正されない。輪郭点902の接続先は、まず、ステップS803で「なし」が登録される。この状態が、
図10(a)の状態である。次に、ステップS804で接続先の候補となる輪郭点の探索を行う。輪郭点902からセグメント900に沿って、両方向に輪郭点を辿っていくと、誤対応としてマークされていない輪郭点として、各々の方向に関して輪郭点901と輪郭点903とが発見される。輪郭点901の接続先である輪郭点911と輪郭点903の接続先である輪郭点913とは同一のセグメント910に属しており、かつ、セグメント910上の道のりに関して互いに近傍にあるため、輪郭点902の接続先の候補となる輪郭点として、セグメント910に属す輪郭点のうち、輪郭点911から輪郭点913までの区間に含まれる輪郭点、即ち、輪郭点911、輪郭点912、輪郭点913を選定する。接続先の候補となる輪郭点が存在するため、ステップS805の判定ではステップS806の処理へと進み、ステップS806の処理において、輪郭点911、輪郭点912、輪郭点913のうち、輪郭点902に最も近い輪郭点である輪郭点912を、輪郭点902の接続先として登録する。その結果、
図10(b)のような対応関係を得ることができる。
【0068】
[パターン検査装置100における検査部105の動作]
次に、検査部105の動作について、
図11を参照して説明する。
図11のフローチャートは、基準パターンの輪郭と検査パターンの輪郭のうちの一方を「輪郭A」、他方を「輪郭B」として書かれたフローチャートである。輪郭Bについては図示しないが、後述のステップS1104においてEPE値(Edge Placement Errorの値)を算出する際に使用される。本実施形態ではEPE値を「有向辺の長さ」として定義する。検査部105は、「基準パターンの輪郭を輪郭A、検査パターンの輪郭を輪郭B」とした場合の処理と、「検査パターンの輪郭を輪郭A、基準パターンの輪郭を輪郭B」とした場合の処理の、両方の処理を実施する。
【0069】
図11のフローチャートに示すように、検査部105は、ステップS1101において、カウンタNの値を「0」にする。
【0070】
ステップS1102において、検査部105は、輪郭AのN番目の輪郭点の接続先が存在するか否かを判定する。輪郭AのN番目の輪郭点の接続先が存在する場合は(ステップS1102・YES)、検査部105は、ステップS1104へ進んで処理を続ける。一方、輪郭AのN番目の輪郭点の接続先が存在しない場合は(ステップS1102・NO)、検査部105は、ステップS1103で輪郭AのN番目の輪郭点を欠陥であるとしてマークした後、ステップS1106へ進んで処理を続ける。
【0071】
ステップS1104において、検査部105は、輪郭AのN番目の輪郭点のEPE値を算出し、算出したEPE値が閾値以下であるか否かを判定する。輪郭AのN番目の輪郭点のEPE値が閾値以下である場合は(ステップS1104・YES)、検査部105は、ステップS1106へ進んで処理を続ける。一方、輪郭AのN番目の輪郭点のEPE値が閾値より大きい場合は(ステップS1104・NO)、検査部105は、ステップS1105で輪郭AのN番目の輪郭点と輪郭AのN番目の輪郭点の接続先の輪郭点の両方を欠陥であるとしてマークした後、ステップS1106へ進んで処理を続ける。
【0072】
ステップS1106において、検査部105は、輪郭Aのすべての輪郭点について処理が完了したか否かを判定する。処理が完了していない輪郭Aの輪郭点が存在する場合には(ステップS1106・NO)、検査部105は、ステップS1107でカウンタNの値を「1」だけ増やした後、ステップS1102に戻って処理を続ける。一方、輪郭Aのすべての輪郭点について処理が完了している場合には(ステップS1106・YES)、検査部105は、欠陥であるとしてマークされた輪郭点の情報を出力して、輪郭Aに対する検査処理を終了する。なお、輪郭Aのすべての輪郭点について処理が完了したか否かは、カウンタNの値と輪郭Aの輪郭点の総数とを比較することによって判定すればよい。
【0073】
以上、第1実施形態によれば、対応生成部で生成した対応情報に含まれる各々の対応関係に対して、該対応関係における、基準パターンの輪郭上の点の基準パターンの輪郭上における近傍領域の情報と、検査パターンの輪郭上の点の検査パターンの輪郭上における近傍領域の情報と、を用いて整合性を判定し、整合性が取れていない対応関係については修正した上で検査に用いるようにしたため、基準パターンの輪郭上の点と検査パターンの輪郭上の点との誤った対応関係が検査に用いられる頻度を低減させることができ、検査結果の信頼性を向上させることができる。
【0074】
図13は、撮像装置として走査電子顕微鏡(Scanning Electron Microscope:SEM)を備えた寸法測定装置の一例を示す図である。なお、本実施例ではSEMを撮像装置として適用した例を説明するが、これに限られることはなく例えば集束イオンビームを試料に走査することによって得られる信号に基づいて、その走査像を形成する集束イオンビーム(Focused Ion Beam)装置を撮像装置とすることもできる。
【0075】
SEM本体1301、当該SEM本体の制御装置1304、及び演算処理装置1305が含まれている。演算処理装置1305は、得られた画像から輪郭線を形成する画像処理装置として機能する。制御装置1304は、SEM本体1301を制御することによって、所望の条件でのビーム走査を可能とする。制御装置1304は、試料上の所望の位置に走査位置を設定するための偏向信号を偏向器1302に供給する。偏向器1302は、供給される信号に応じて、所望の大きさに視野の大きさ(倍率)を変化させる。制御装置1304は、偏向器1302の走査と同期して検出器1303によって得られた検出信号を配列することによって得られる画像の画像処理を行う。
【0076】
演算処理装置1305には、得られた画像信号に基づいて、輪郭線データを生成する輪郭線形成部1306、
図2のS203等の処理を実行する対応点生成部1307、
図5のS501等の処理を実行する誤対応検出部1308、
図5のS502等の処理を実行する対応点補正部1309、及び対応点間の距離を測定する輪郭線間測定部1310が含まれている。また、演算処理装置1305にて実行される処理に必要な情報は、演算処理装置1305内のメモリ1311に、測定用のレシピとして記憶されている。レシピは、SEMを自動的に動作させるための動作プログラムであり、測定対象となる試料の種類ごとに、上記メモリ1311や外部の記憶媒体に記憶され、必要に応じて読み出される。
【0077】
試料から放出された電子は、検出器1303にて捕捉され、制御装置1304に内蔵されたA/D変換器でデジタル信号に変換される。演算処理装置1305に内蔵されるCPU、ASIC、FPGA等の画像処理ハードウェアによって、目的に応じた画像処理が行われる。また、演算処理装置1305は、検出信号に基づいて、ラインプロファイルを作成する機能をも備えている。
【0078】
更に演算処理装置1305は、入力手段を備えた入力装置1312と接続され、当該入力装置1312に設けられた表示装置に、操作者に対して画像や検査結果等を表示するGUI(Graphcal User Interface)等の機能を有する。
【0079】
なお、演算処理装置1305における制御や処理の一部又は全てを、CPUや画像の蓄積が可能なメモリを搭載した電子計算機等に割り振って処理・制御することも可能である。また、入力装置1312は、測定、検査等に必要とされる電子デバイスの座標、位置決めに利用するパターンマッチング用のテンプレート、撮影条件等を含む撮像レシピを手動もしくは、電子デバイスの設計データ記憶媒体1313に記憶された設計データを活用して作成する撮像レシピ作成装置としても機能する。シミュレーター1314では、設計データ記憶媒体1313に記憶された設計データをもとに、パターンの形状をシミュレーションする。このようなシミュレーションに基づいて、上述の基準パターンデータを生成するようにしても良い。
【0080】
<第2実施形態>
以下、第2実施形態について、説明する。本実施形態のパターン検査装置は、第1実施形態のパターン検査装置100に対して、対応修正部104の代わりに対応修正部104Aを備えた点のみが異なる。対応修正部104Aの動作は、対応修正部104の動作に対して、妥当性判定処理のみが異なるため、以下では、
図9及び
図12を参照して妥当性判定処理についてのみ説明する。その他の構成については、第1実施形態と同様であるため、説明を省略する。
【0081】
[妥当性判定処理]
図12のフローチャートに示すように、ステップS1201において、対応修正部104Aは、着目している輪郭点Cの 近傍の輪郭点の集合Gを求める。具体的には、輪郭点Cが乗っているセグメント上で、輪郭点Cを含まず、輪郭点Cの前後各々Rd個の輪郭点から成る集合を、集合Gとする。尚、輪郭点Cが乗っているセグメントが閉路を成している場合には、集合Gには重複する要素が含まれないようにする。また、輪郭点Cがセグメントの端点付近に存在し、Rd個の要素を選択することができない場合には、端点の位置の輪郭点までを集合Gに含める。尚、半径「Rd」は設計値として予め定めた値である。
【0082】
次に、ステップS1202において、対応修正部104Aは、集合Gに含まれている各輪郭点Dに対して、輪郭点Cの接続先と輪郭点Dの接続先が同一セグメント上かつ近傍に存在するか否かを判定し、「接続先が輪郭点Cの接続先と同一セグメント上かつ近傍に存在する」と判定された輪郭点の個数をカウントする。
【0083】
輪郭点Cの接続先と輪郭点Dの接続先が同一セグメント上かつ近傍に存在するか否かの判定は、「近傍」の定義に用いる半径が「Re」であることを除き、ステップS702(
図7参照)と同様であるため、説明を省略する。尚、半径「Re」は設計値として予め定めた値である。輪郭の形状等に影響を受けるため、その分のマージンを考慮し、通常は「Rd≦Re」となるように定めておく。
【0084】
次に、ステップS1203において、対応修正部104Aは、ステップS1202において「同一セグメント上かつ近傍に存在する」と判定された輪郭点の個数が集合Gの要素数に対して所定の割合以上であるか否かを判定する。「所定の割合以上である」と判定された場合には(ステップS1203・YES)、対応修正部104Aは、ステップS1204で「輪郭点Cの接続先は妥当である」と判定し、妥当性判定処理を終了する。一方、「所定の割合以上でない」と判定された場合には(ステップS1203・NO)、対応修正部104Aは、ステップS1205で「輪郭点Cの接続先は妥当でない」と判定し、妥当性判定処理を終了する。尚、ステップS1203の判定で使用される「所定の割合」は、設計値として予め定めた値を用いる。
【0085】
以下、
図9(a)を参照して、「Rc=1」、「Rd=1」、「所定の割合」を「0.5」、とした場合の輪郭点902及び輪郭点921の各々に対するステップS1203の判定処理について、説明する。
【0086】
輪郭点902については、まず、ステップS1201において、輪郭点901と輪郭点903から成る集合Gが生成される。次に、ステップS1202において、「接続先が輪郭点902の接続先と同一セグメント上かつ近傍に存在する」と判定される輪郭点の個数をカウントする。輪郭点902の接続先はセグメント930に乗っている輪郭点931であるのに対して、輪郭点901の接続先はセグメント910に乗っている輪郭点911であり、輪郭点903の接続先はセグメント910に乗っている輪郭点913であるため、「接続先が輪郭点902の接続先と同一セグメント上かつ近傍に存在する」と判定される輪郭点の個数は「0」となる。集合Gの要素数は「2」であり、「所定の割合」が「0.5」であるため、ステップS1203の判定は「NO」となり、ステップS1205において「輪郭点902の接続先は妥当でない」と判定される。
【0087】
輪郭点921については、まず、ステップS1201において、輪郭点922と輪郭点923から成る集合Gが生成される。次に、ステップS1202において、「接続先が輪郭点921の接続先と同一セグメント上かつ近傍に存在する」と判定される輪郭点の個数をカウントする。輪郭点921の接続先はセグメント930に乗っている輪郭点931であるのに対して、輪郭点922の接続先はセグメント930に乗っている輪郭点932であり、輪郭点923の接続先はセグメント930に乗っている輪郭点923であるため、「接続先が輪郭点921の接続先と同一セグメント上かつ近傍に存在する」と判定される輪郭点の個数は「2」となる。集合Gの要素数は「2」であり、「所定の割合」が「0.5」であるため、ステップS1203の判定は「YES」となり、ステップS1204において「輪郭点921の接続先は妥当である」と判定される。
【0088】
以上、第2実施形態によれば、輪郭点の対応付けが有向辺で定義されない場合であっても、即ち、
図9(b)の情報が無い状態においても、周囲の状況に照らして対応関係の妥当性を判定し、誤対応を修正することができる。また、本実施形態によれば、基準パターンの輪郭上の点と検査パターンの輪郭上の点との間で偶然に一対の誤対応が発生しているような場合でも、その誤対応を検出し、修正することができる。
【0089】
<変形例>
以上、2つの実施形態について説明したが、これに限定されず、上述の趣旨を逸脱しない範囲で、例えば次のように変更することができる。
【0090】
前記実施形態では、輪郭点同士の対応を有向辺によって表されるものとしたが、本実施形態はこれに限るものではない。例えば、基準パターンの輪郭上のある点Hに対して、点Hにおける基準パターンの輪郭の接線に垂直な方向に対応点を探索し、得られた検査パターンの輪郭上の点を点Hの対応点とするような場合についても、適用可能である。そのような場合、検査パターンの輪郭上の点から基準パターンの輪郭上の点への対応関係を必要としない、第2実施形態を適用するのが好適である。
【0091】
また、前記実施形態では、検査画像から得られた輪郭を、セグメント分解し、輪郭点化して使用したが、本実施形態はこれに限るものではない。例えば、検査画像から得られた輪郭をセグメント分解し、幾何学的な平滑化を施した上で、輪郭点化して使用するようにしてもよい。このような処理とすることで、ノイズの影響を低減することができる。尚、この場合、複数のセグメントで共有されている端点の位置が変化しないような平滑化処理とするか、端点の位置が変化した結果が、関連するすべてのセグメントにおいて反映されるような処理とする。
【0092】
また、前記実施形態では、「近傍」の定義を各セグメント単位で定義したが、本実施形態はこれに限るものではない。例えば、「どのセグメントと端点を共有しているか」という情報をセグメント単位で保持しておくことにより、「近傍」の定義を、端点を共有するセグメントまで許容するように変更してもよい。そのような変更は容易である。
【0093】
また、前記実施形態では、「近傍」の定義を、各セグメント上での「輪郭点の個数」を用いて定義したが、本実施形態はこれに限るものではない。例えば、各セグメント上での「道のり」を用いた定義に変更してもよく、そのような変更は容易である。
【0094】
また、前記実施形態では、基準パターンの輪郭と検査パターンの輪郭の各々について、対応付けをする前に予め生成した輪郭点同士を対応付けるような構成としたが、本実施形態はこれに限るものではない。即ち、基準パターンの輪郭と検査パターンの輪郭の表現方法は輪郭点の集合に限るものではなく、また、基準パターンの輪郭と検査パターンの輪郭の両方について予め生成した点同士を対応付ける場合に限るものでもない。例えば、基準パターンの輪郭上のある点に対応する検査パターンの輪郭上の点を前記基準パターンの輪郭上の点に基づいてその都度求めるような構成とした場合、例えば、前記検査パターンの輪郭をセグメント分解して等間隔で輪郭点化する代わりに、前記基準パターンの輪郭上の点に基づいて求められた対応点を輪郭点として用いて対応修正部の処理を実施することで、第1実施形態を適用することが可能である。その場合、「近傍」の定義については、セグメント上における「輪郭点の個数」によってではなく、セグメント上における「道のり」によって定義するのが望ましい。
【0095】
また、前記実施形態では輪郭点同士の対応付けを距離のみに基づいて生成したが、本実施形態はこれに限るものではない。例えば、輪郭点同士の対応付けを、距離のほか、接線方向の角度を加味して生成するようにしてもよい。具体的には、例えば、接線方向が略一致する輪郭点のみを接続先の候補として選定し、選定された候補の中で、最も距離が短い輪郭点に対応付けるようにすればよい。或いは、接線方向の角度の差の絶対値と距離とを各々所定の重みを掛けて足し合わせた評価値に基づいて対応付けるようにしてもよい。
【0096】
また、前記実施形態では、検査部105の構成を、欠陥であるとしてマークされた輪郭点の情報をそのまま出力するような構成としたが、本実施形態はこれに限るものではない。例えば、欠陥であるとしてマークされた輪郭点のうち、検査画像上で近しい輪郭点同士を1つのグループとして纏めて「欠陥領域」として認識し、該欠陥領域を出力するような構成としてもよい。このような変更は、例えば、モルフォロジー演算、連結成分のラベリング分解、等、公知の技術を組み合わせることにより、容易に実施できる。
【0097】
また、前記実施形態では検査部の処理の目的を「欠陥であると推定される部分の抽出」であるとしたが、本実施形態はこれに限るものではない。例えば、各輪郭点のEPE値から求められる統計量を用いてウェハ上のパターンの出来栄えを評価する形状評価のような用途にも適用可能である。また、検査部における検査の前処理として、おおよそ、その位置合わせが為されている基準パターンと参照パターンの対に対し、各々の輪郭の情報を利用してより高精度な位置合わせを実施するような場合にも、適用可能である。
【0098】
また、前記実施形態では検査画像は撮影装置110から供給されるものとしたが、本実施形態はこれに限るものではない。例えば、ネットワーク等を介して送信されてきた検査画像を受信して検査するような構成としてもよいし、検査画像が格納された記憶媒体から検査画像を読み込んで検査するような構成としてもよい。そのような変更は、検査画像を入力する部分のインタフェースを適宜変更するだけでよく、容易である。
【0099】
また、前記実施形態では検査結果は表示装置130に対して出力されるものとしたが、本実施形態はこれに限るものではない。例えば、ネットワーク等を介して検査結果を他の装置に送信するような構成としてもよいし、検査結果を格納するための記憶媒体に検査結果を書き込むような構成としてもよい。そのような変更は、検査結果を出力する部分のインタフェースを適宜変更するだけでよく、容易である。
【0100】
また、前記実施形態では、基準パターンとしてリソシミュレータで得られた露光パターンの外形を形成する曲線を多角形で近似したものを用いたが、本実施形態はこれに限るものではない。例えば、ウェハ上に形成したいパターンを表している設計データや、実際にウェハ上に形成されるパターンに近くなるようにコーナー部分を丸めた設計データ、良品と判定された製品パターンの画像から抽出した輪郭等、種々の変更が可能である。
【0101】
また、前記実施形態では、対応生成部において基準パターンのセグメント分解や輪郭点化の処理を実施する構成としたが、本実施形態はこれに限るものではなく、セグメント分解及び輪郭点化の処理を予め行っておくようにしてもよい。その場合、座標補正部によって為される補正に伴うマージンを考慮して十分に密な間隔で輪郭点が得られるようなパラメータを用いて輪郭点化を行うようにする。
【0102】
また、前記実施形態ではEPE値の算出を検査部で実施するものとしたが、これに限るものではない。例えば、対応生成部及び対応修正部において、各輪郭点の接続先が登録される都度、算出するようにしてもよい。
【0103】
また、前記実施形態では、対応修正部は、誤対応としてマークされている輪郭点の接続先を、接続先の候補となる輪郭点から選択して修正するような動作をするものとしたが、本実施形態はこれに限るものではない。例えば、誤対応としてマークされた輪郭点の接続先を「なし」と修正するだけで目的が達せられるような用途に適用する場合には、接続先の候補となる輪郭点の探索や、接続先の候補となる輪郭点から適切な輪郭点を選択する処理を、省略してもよい。
【0104】
以上、上記実施形態によれば、局所的な情報から求めた対応関係に対して、周囲の状況に基づいて整合性を判定し、整合性が取れていないと推定される対応関係を修正して検査に用いるような構成としたことにより、基準パターンの輪郭上の点と検査パターンの輪郭上の点との誤った対応関係が検査に用いられる頻度を低減させることができ、検査結果の信頼性を向上させることができる。