(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0012】
以下、図面にしたがって本発明の実施の形態について説明する。ただし、本発明の技術的範囲はこれらの実施の形態に限定されず、特許請求の範囲に記載された事項とその均等物まで及ぶものである。
【0013】
[パターンマッチング処理装置の構成]
図1は、本実施の形態例におけるパターンマッチング処理装置の構成の一例を示す図である。同図において、パターンマッチング処理装置100は、例えば、処理装置10、記憶装置11、入力装置12、及び出力装置13を有する。また、記憶装置11は、例えば、ライブラリ記憶領域14、マッチング対象パターン記憶領域15、マッチング抽出パターン記憶領域16、プログラム領域17を有する。
【0014】
プログラム領域17には、処理装置10で実行されるコンピュータプログラムが格納される。本実施の形態例では、プログラム領域17に、例えば、パターンマッチングプログラム
20、及び、ライブラリ生成プログラム21等が格納される。また、ライブラリ記憶領域14には、パターンマッチング処理において参照されるライブラリLBが記憶される。マッチング対象パターン記憶領域15には、パターンマッチングの対象とされるパターンの情報が記憶される。そして、マッチング抽出パターン記憶領域16には、パターンマッチング処理によって一致したと判定され抽出されたパターンの情報が記憶される。
【0015】
例えば、
図1のパターンマッチング処理装置100において、入力装置12から、マッチングする対象とされるマッチング対象パターンの情報が入力され、マッチング対象パターン記憶領域15に格納される。そして、パターンマッチングプログラム20は、マッチング対象パターンを、ライブラリLBに登録される登録マッチングパターンとマッチングさせる。パターンマッチングプログラム20によって一致すると判定されたパターンの情報はマッチング抽出パターン記憶領域17に記憶されると共に、出力装置13から出力される。また、ライブラリ生成プログラム21は、ライブラリLBを生成しライブラリ記憶領域14に記憶させる。
【0016】
ここで、パターンマッチング処理について説明する。
【0017】
[パターンマッチング処理]
本実施の形態例において、パターンマッチング処理は、設計パターンについてOPC処理が行われ生成されたマスクパターンに対して行われる。OPC処理では、パターンの周辺環境やパターンの向き、演算処理の収束値の相違等によって、設計パターンにおける原パターンが同一であっても微妙に異なるパターンが無数に生成される。パターンマッチング処理では、OPC処理後のパターンのうち、例えば、経験等に基づいて修正を要すると予め認識されたパターンが抽出の対象となる。修正を要するパターンとは、例えば、現像処理の結果、隣接するパターンと融合してしまうパターンである。
【0018】
より具体的に、パターンマッチング処理では、例えば、マスクパターンが有する各パターンについて、まず、検証ルールを満たしているか否かが判定され、満たしていないパターンが検出される。続いて、検証ルールを満たすパターンについて、ライブラリLBに記憶された各登録マッチングパターンとマッチングされ、一致するか否かが検証される。なお、ライブラリLBには、修正を要する不正なエラーパターンが登録されてもよいし、正しいパターンが登録されてもよい。本実施の形態例では、ライブラリLBにエラーパターンが登録マッチングパターンとして登録される。
【0019】
続いて、OPC処理後のマスクパターンにおける微妙に異なる複数のパターンについて例示する。
【0020】
[OPC処理後のパターン]
図2は、マスクパターンが有する微妙に異なる複数のパターンを例示する図である。同図には、類似する9個のパターンが例示されている。この例において、例えば、パターンP2〜P9は、原図のパターンP1がOPC処理によって補正され生成されたパターンである。このように、OPC処理によって、原図パターンが微妙に異なって補正される。同図のような微妙に異なる複数のパターンに含まれる所定のパターンを抽出する場合、ライブラリLBには複数の微妙に異なるパターンが登録される。そこで、本実施の形態例におけるパターンマッチング方法では、同一グループに分類された微妙に異なるパターンのアウトラインを共通部分情報と非共通部分情報とに階層化したライブラリLBを参照することによってマッチング処理を行う。
【0021】
つまり、本実施の形態例におけるパターンマッチング方法では、OPC処理後のマスクパターンのパターンであって同一グループとして分類された複数の登録マッチングパターンのアウトラインの共通部分を第1の階層のアウトライン情報、非共通部分を第2の階層のアウトライン情報として有するライブラリLBが参照される。そして、ライブラリLBを参照して、第1、2のマッチング工程が行われる。
【0022】
第1のマッチング工程では、マッチング対象パターンのマッチング対象アウトライン情報と、複数の第1の階層のアウトライン情報とが一致するか否かマッチングされる。第2のマッチング工程では、第1のマッチング工程で一致した場合に、一致した第1の階層のアウトライン情報に関連する複数の第2の階層のアウトライン情報とが一致するか否かマッチングされ、マッチング対象パターンと、一致した第1、2の階層のアウトライン情報に対応する登録マッチングパターンが一致すると判定される。
【0023】
このように、本実施の形態例におけるパターンマッチング方法では、ライブラリLBに登録される類似した複数の登録マッチングパターンの情報が階層化される。これにより、第1の階層とのマッチング処理によって、第2の階層とのマッチング対象となるマッチング対象パターンが絞り込まれ、不要なマッチング処理の省略が可能になる。この結果、マッチング処理が効率化される。
【0024】
続いて、本実施の形態例におけるパターンマッチング方法において参照されるライブラリLBの生成処理とその構成について説明する。
【0025】
[ライブラリLBの生成処理の流れ]
図3は、本実施の形態例におけるパターンマッチング方法において参照されるライブラリLBの生成処理を説明するフローチャート図である。階層化ライブラリLBの構築処理を開始すると(S11)、初めに、ライブラリ生成プログラム21は、ライブラリLBに登録する対象のパターン群から、同一のグループとして扱いたいパターン群を抽出する(S12)。同一のグループとして扱いたいパターン群は、ユーザによって任意に指定されてもよいし、OPC処理前の原図パターンを同一とするパターン群が抽出されてもよい。
【0026】
続いて、ライブラリ生成プログラム21は、同一グループに分類された複数の登録の対象となるマッチングパターン(以下、登録マッチングパターンと称する)のアウトラインの共通部分を抽出する(S13)。具体的に、ライブラリ生成プログラム21は、登録マッチングパターンの情報に基づいて、パターンの輪郭の線分情報であるアウトライン情報を生成する。マスクパターンの各パターンは、例えば、矩形等の図形の組み合わせによって構成される。そこで、ライブラリ生成プログラム21は、組み合わされた図形の輪郭を示す線分をアウトライン情報として生成する。
【0027】
続いて、ライブラリ生成プログラム21は、同一のグループに分類された複数の登録マッチングパターンのアウトライン情報の共通部分を第1の階層のアウトライン情報としてライブラリLBに格納する(S14)。具体的に、例えば、ライブラリ生成プログラム21は、登録マッチングパターンがN個ある場合、N個のうち2つの登録マッチングパターンのアウトライン情報のAND処理を行う。また、登録マッチングパターンが3つ以上ある場合、ライブラリ生成プログラム21は、AND処理後のアウトライン情報と、3つ目の登録マッチングパターンのアウトライン情報とのAND処理を行う。このAND処理を繰り返すことによって、N個の登録マッチングパターンのアウトライン情報における共通のアウトライン情報が得られる。そして、ライブラリ生成プログラム21は、共通のアウトライン情報を、第1の階層のアウトライン情報としてライブラリLBに記憶させる。
【0028】
また、ライブラリ生成プログラム21は、複数の登録マッチングパターンのアウトライン情報の非共通部分を、第1の階層のアウトライン情報に関連する複数の第2の階層のアウトライン情報としてライブラリLBに格納する(S14)。具体的に、例えば、ライブラリ生成プログラム21は、第1の階層のアウトライン情報と、N個の登録マッチングパターンのアウトライン情報とのXOR処理を行う。これにより、第1の階層のアウトライン情報と登録マッチングライブラリLBのアウトライン情報とのN個の差分情報が算出される。そして、ライブラリ生成プログラム21は、差分アウトライン情報、即ち、アウトラインの非共通部分の情報を、N個の第2の階層のアウトライン情報としてライブラリLBにそれぞれ記憶させる。
【0029】
そして、ライブラリの構築処理が完了し(S15)、登録する対象のパターン群から、対象の登録マッチングパターンが削除される(S16)。
【0030】
続いて、ライブラリLBの生成処理を具体例に基づいて説明する。
【0031】
[ライブラリLBの生成処理の具体例]
図4は、ライブラリLBに登録する対象の登録マッチングパターンと、そのアウトライン情報の一例を示す図である。同図において、同一グループに分類される3つの登録マッチングパターンP1〜P3とそのアウトライン情報PL1〜PL3が例示される。
【0032】
図4の例において、同一のグループとして分類され3つの登録マッチングパターンのアウトライン情報が生成される。同図のように、登録マッチングパターンP1は、2つの矩形p1、p2によって構成される。具体的に、矩形p1は、座標c1を始点としてX方向に距離ln1、Y方向に距離ln2を有する図形であって、矩形p2は、座標c2を始点としてX方向に距離ln3、Y方向に距離ln4を有する図形である。そして、ライブラリ生成プログラム21は、登録マッチングパターンP1の情報に基づいて、輪郭の線分を示すアウトライン情報PL1を生成する。例えば、アウトライン情報PL1は、座標の時計周りに、座標
c1から座標
c3、座標
c3から座標
c4、座標
c4から座標
c5、座標
c5から座標
c6、座標
c6から座標
c7、座標
c7から座標
c1の線分の情報を有する。同様にして、アウトライン情報PL2、PL3が生成される。
【0033】
続いて、ライブラリ生成プログラム21は、登録マッチングパターンP1〜P3のアウトライン情報PL1〜PL3の共通部分を抽出し(S13)、ライブラリLBに格納する(S14)。
【0034】
図5は、
図4の登録マッチングパターンP1〜P3に対応する第1、2の階層のアウトライン情報の一例を示す図である。同図において、登録マッチングパターンP1〜P3(
図4)に対応するアウトライン情報PL1〜PL3と、対応する第1の階層L1のアウトライン情報A1、及び、第2の階層L2のアウトライン情報B1〜B3が示される。第2のアウトライン情報B1は登録マッチングパターンP1に、第2のアウトライン情報B2は登録マッチングパターンP2に、第2のアウトライン情報B3は登録マッチングパターンP3に対応する。
【0035】
図5の例において、登録マッチングパターンP1〜P3のアウトライン情報PL1〜PL3の共通部分として、第1の階層L1のアウトライン情報A1が抽出される。アウトライン情報A1は、アウトライン情報PL1〜PL3が共通に有する線分の情報である。また、登録マッチングパターンP1〜P3のアウトライン情報PL1〜PL3の非共通部分として、第2の階層L2のアウトライン情報B1〜B3が抽出される。アウトライン情報B1は、登録マッチングパターンP1のアウトライン情報PL1と第1の階層のアウトライン情報A1との差分の情報である。同様にして、アウトライン情報B2はアウトライン情報PL2と第1の階層のアウトライン情報A1との差分情報、アウトライン情報B3は、アウトライン情報PL3と第1の階層のアウトライン情報A1との差分情報である。
【0036】
このように、登録マッチングパターンに対応する第1、2の階層のアウトライン情報が、登録マッチングパターンの情報としてライブラリLBに記憶される。ライブラリLBは、グループ毎に、1つの第1の階層のアウトライン情報と、第1の階層のアウトライン情報に関連するひとつまたは複数の第2の階層のアウトライン情報を有する。
【0037】
続いて、
図3〜
図5で説明した処理に基づいて生成される本実施の形態例におけるライブラリLBを参照することによって行われるパターンマッチング処理について説明する。
【0038】
[パターンマッチング処理の流れ]
図6は、本実施の形態例におけるパターンマッチング処理について説明するフローチャート図である。同図において、マッチング対象パターンはマスクパターンが有するマッチングの対象となるパターンを、登録マッチングパターンは、ライブラリLBに登録されたパターンを示す。
【0039】
パターンマッチングプログラム20は、まず、マッチング対象パターン情報FPから1つのマッチング対象パターンを選択し、ライブラリLBを参照し、第1の階層のアウトライン情報とのマッチング処理を行う。具体的に、パターンマッチングプログラム20は、マッチング対象パターンのアウトライン情報と、第1の階層のアウトライン情報とをマッチングさせ、一致するか否かを判定する(S21)。例えば、パターンマッチングプログラム20は、マッチング対象パターンのアウトライン情報に、第1の階層のアウトライン情報が含まれる場合に一致するものとして判定する。
【0040】
一致する場合(S21のYES)、パターンマッチングプログラム20は、さらに、第2の階層のアウトライン情報とのマッチング処理を行う。具体的に、パターンマッチングプログラム20は、マッチング対象パターンと、第1の階層のアウトライン情報に関連するひとつまたは複数の第2の階層のアウトライン情報とをマッチングさせ、一致するか否かを判定する(S24)。例えば、パターンマッチングプログラム20は、マッチング対象パターンのアウトライン情報と第1の階層のアウトライン情報との非共通部分の線分が、第2の階層のアウトライン情報と一致するか否かを判定する。
【0041】
なお、第2の階層のアウトライン情報とのマッチング処理は、複数のプロセッサ、及び、装置によって並列に処理されてもよい。一致した第1の階層のアウトライン情報に関連する第2の階層のアウトライン情報は、通常、複数存在する。このため、複数の第2の階層のアウトライン情報とマッチング対象アウトライン情報とのマッチング処理が複数のプロセッサまたは装置によって並列に処理分散されることによって、処理速度が向上する。
【0042】
一致する第2の階層のアウトライン情報がある場合(S24のYES)、パターンマッチングプログラム20は、マッチング対象パターンが、一致した第1の階層のアウトライン情報と、第2の階層のアウトライン情報とに対応する登録マッチングパターンと一致すると判定する。
【0043】
一方、第1の階層のアウトライン情報とのマッチング処理において一致しない場合(S21のNO)、パターンマッチングプログラム20は、マッチング対象パターンを、抽出すべき同一グループのパターンとして含めるか否かを判定する(S22)。含める場合(S22のYES)、さらに、パターンマッチングプログラム20は、マッチング対象パターンを追加登録するために、ライブラリLBを再構築する(S23)。この処理については、後述する。
【0044】
また、第2の階層のアウトライン情報とのマッチング処理において一致しない場合(S24のNO)、パターンマッチングプログラム20は、マッチング対象パターンを、抽出すべき同一グループのパターンとして含めるか否かを判定する(S25)。含める場合(S25のYES)、パターンマッチングプログラム20は、マッチング対象パターンを追加登録するために、ライブラリLBを再構築する(S26)。
【0045】
マッチング対象パターンを、抽出すべき同一グループのパターンとして含めない場合(S22のNO、S25のNO)、マッチング対象パターンはライブラリLBに追加登録されることなく、パターンマッチング処理が終了する。
【0046】
[マッチング回数の低減]
ここで、本実施の形態例におけるパターンマッチング方法によってマッチング回数が低減される例について説明する。この例において、例えば、ライブラリLBに登録される登録マッチングパターン数がN個、ライブラリLBとマッチングされるマッチング対象パターンがM個である。また、N個の登録マッチングパターンは、第1の階層を共有する同一のグループに分類されるものとする。即ち、ライブラリLBは、N個の登録マッチングパターンについて、ひとつの第1の階層のアウトライン情報と、N個の第2の階層のアウトライン情報とを有する。
【0047】
ライブラリLBが階層化されない一般的なパターンマッチング方法によると、M個のマッチング対象パターンそれぞれについてN個の登録マッチングパターンとマッチングされ、一致するか否かが判定される。このため、一般的なパターンマッチング方法によるマッチング回数はM×N回である。
【0048】
一方、本実施の形態例におけるパターンマッチング方法によると、M個のマッチング対象パターンそれぞれについて、まず、ひとつの第1の階層のアウトライン情報とマッチングされる。このとき、M個のマッチング対象パターンのうち、X(X≦M)個のマッチング対象パターンが一致するものとする。そこで、一致したX個のマッチング対象パターンそれぞれについて、N個の第2の階層のアウトライン情報とマッチングされる。このため、本実施の形態例におけるパターンマッチング方法によるマッチング回数は、1×M+X×N回である。
【0049】
例えば、N=100、M=10000、X=1000の場合を例示する。この場合、一般的なパターンマッチング方法によると、マッチング回数は1,000,000回(=10000×100)である。これに対し、本実施の形態例におけるパターンマッチング方法によると、マッチング回数は110,000回(=1×10000+1000×100)である。
【0050】
このように、本実施の形態例におけるパターンマッチング方法によると、マッチング回数が大幅に低減され、マッチング処理にかかる時間が短縮される。即ち、第1の階層のアウトライン情報とのマッチング処理の結果に基づいて、第2の階層のアウトライン情報とのマッチング処理の対象となるマッチング対象パターンが絞り込まれることにより、不要なマッチング処理が回避される。これにより、マッチング回数が低減され、マッチング処理が効率化される。
【0051】
ただし、一致したマッチング対象パターンの数(X個)によっては、マッチング回数が改善されない場合もある。例えば、N=10000、M=100、X=100の場合を例示する。この場合、一般的なパターンマッチング方法によると、マッチング回数は1,000,000回(=100×10000)である。これに対し、本実施の形態例におけるパターンマッチング方法によると、マッチング回数は1,000,100回(=1×100+10000×100)である。この例では、本実施の形態例におけるパターンマッチング方法によるマッチング回数の方が多い。
【0052】
このように、第1の階層のアウトライン情報とのマッチング処理の結果、一致するマッチング対象パターンの数(X個)が多い場合、第2の階層のアウトライン情報とのマッチング処理の対象となるマッチング対象パターンが絞り込まれない。つまり、第1の階層のアウトライン情報とのマッチング処理におけるマッチング率が高い場合、第1の階層のアウトライン情報によるフィルタリングが適切に機能せず、マッチング回数が低減しない。このような場合、例えば、同一グループとして分類するパターン群が複数のグループにさらに細分化されることによって、マッチング率を下げる。これにより、マッチング回数が改善される。
【0053】
[ライブラリLBの再構築処理]
続いて、
図6のフローチャート図の工程S23、工程S26で述べたライブラリLBの再構築処理について説明する。
【0054】
図7は、ライブラリLBの再構築処理の流れについて説明するフローチャート図である。まず、
図6のフローチャート図において、マッチング対象パターンが、第1の階層のアウトライン情報とのマッチング処理において一致しない場合であって(S21のNO)、抽出すべきパターンとして同一グループに含めると判定された場合(S22のYES)のライブラリLBの再構築処理の例について説明する。
【0055】
マッチング対象パターンが抽出すべきパターンとして同一グループに含めると判定された場合(S22のYES)、ライブラリLBの再構築処理が開始される(S31)。ライブラリ生成プログラム21は、まず、新たに登録する対象の追加マッチングパターン情報APから、ひとつの追加マッチングパターンを選択してアウトライン情報を生成する。そして、ライブラリ生成プログラム21は、追加マッチングパターンのアウトライン情報と、同一グループとする第1の階層のアウトライン情報との共通部分を、新たな第1の階層のアウトライン情報としてライブラリLBに格納する(S32)。
【0056】
続いて、ライブラリ生成プログラム21は、従来の第1の階層のアウトライン情報と新たな第1の階層のアウトライン情報との非共通部分を、第2の階層のアウトラインに関連する情報第1、2の階層間の第1アウトライン情報としてライブラリLBに格納する(S33)。また、ライブラリ生成プログラム21は、追加マッチングアウトライン情報と新たな第1の階層のアウトライン情報との非共通部分を追加マッチングパターンに対応する第1、2の階層間の第2アウトライン情報としてライブラリLBに格納する(S33)。これにより、ライブラリLBの再構築処理が完了し(S34)、追加マッチングパターン情報APから対象の追加マッチングパターンが削除される(S35)。
【0057】
一方、
図6のフローチャート図において、マッチング対象パターンが、第1の階層のアウトライン情報とのマッチング処理において一致したものの(
図6のS21のYES)、第2の階層のアウトライン情報とのマッチング処理において一致しない場合であって(S24のNO)、抽出すべきパターンとして同一グループに含めると判定された場合(S25のYES)のライブラリLBの再構築処理について説明する。
【0058】
マッチング対象パターンが抽出すべきパターンとして同一グループに含めると判定された場合(S25のYES)、同様にして、ライブラリLBの再構築処理が開始される(S31)。この場合、追加マッチングパターンのアウトライン情報は、第1の階層のアウトライン情報と一致する(
図6のS21のYES)。このため、第1の階層のアウトライン情報は変更されない。
【0059】
そこで、ライブラリ生成プログラム21は、新たに登録する追加マッチングパターンのアウトライン情報を生成し、第1の階層のアウトライン情報との非共通部分を、追加マッチングパターンに対応する第2の階層のアウトライン情報としてライブラリLBに追加して格納する(S32、S33)。そして、ライブラリLBの再構築処理が完了し(S34)、追加マッチングパターン情報APから対象の追加マッチングパターンが削除される(S35)。
【0060】
[ライブラリLBの再構築処理の具体例]
図8は、ライブラリLBの再構築処理の具体例について説明する図である。この例では、同図の追加マッチングパターンP5(
図2)のアウトライン情報PL5がライブラリLBに追加登録される。同図では、マッチング対象パターンが、第1の階層のアウトライン情報とのマッチング処理において一致しない場合(S21のNO)におけるライブラリLBの再構築処理の具体例について表される。
【0061】
ライブラリ生成プログラム21は、追加マッチングパターンのアウトライン情報PL5と、従来の第1の階層L1のアウトライン情報A1との共通部分を新たな第1の階層L1のアウトライン情報A11とする(S32)。同図において、新たな第1の階層のアウトライン情報A11は、従来の第1の階層のアウトライン情報A1に対して、アウトライン情報PL5と共通しない丸の点線部分ZZの線分が除外されている。
【0062】
続いて、ライブラリ生成プログラム21は、新たな第1の階層のアウトライン情報A11と、従来の第1の階層のアウトライン情報A1との非共通部分を、従来の第2の階層L2のアウトライン情報に対応する第1、2の階層間(LX)のアウトライン情報Z11として登録する(S33)。
図8において、第1、2の階層間(LX)のアウトライン情報Z11は、新たな第1の階層のアウトライン情報A11において除外された線分であって、従来の第1の階層のアウトライン情報A1が有する丸の点線部分ZZの線分を有する。
【0063】
また、ライブラリ生成プログラム21は、追加マッチングパターンP5のアウトライン情報PL5と新たな第1の階層のアウトライン情報A11との非共通部分を、追加マッチングパターンP5に対応する第1、2の階層間(LX)のアウトライン情報Z12として登録する(S33)。このため、追加マッチングパターンP5に対応する第2の階層L2のアウトライン情報は生成されない。
【0064】
このように、追加マッチングパターンがライブラリLBに追加登録される。この方法によると、ライブラリLBに新たに追加マッチングパターンが登録される場合であっても、従来の第2の階層L2のアウトライン情報B1〜B3が変更されない。例えば、第2の階層L2のアウトライン情報の数が多量である場合、第2の階層のアウトライン情報を変更する必要がないことにより、追加マッチングパターンが効率的に簡易に登録可能になる。また、例えば、第1、2の階層間(LX)に登録された追加マッチングライブラリLBに対応するアウトライン情報が増加した場合、当該アウトライン情報のうち、共通部分を有するアウトライン情報に対応する追加マッチングライブラリLB群を、別グループとして分類しなおしてもよい。
【0065】
[別のライブラリLBの再構築処理]
なお、ライブラリ生成プログラム21は、マッチング対象パターンが、第1の階層のアウトライン情報とのマッチング処理において一致しない場合であって(S21のNO)、抽出すべきパターンとして同一グループに含めると判定された場合(S22のYES)、別の方法によって、ライブラリLBを再構築してもよい。
【0066】
この場合、ライブラリ生成プログラム21は、追加マッチングパターンの追加マッチングアウトライン情報と同一グループとして分類される第1の階層のアウトライン情報との共通部分を新たな第1の階層のアウトライン情報として、複数の登録マッチングパターンのアウトライン情報及び追加マッチングアウトライン情報と、新たな第1の階層のアウトライン情報との非共通部分それぞれを新たな第2の階層のアウトライン情報としてライブラリLBに格納しなおす。
【0067】
図9は、別のライブラリLBの再構築処理における具体例について説明する図である。
図8の具体例と同様にして、追加マッチングパターンP5(
図2)のアウトライン情報PL5がライブラリLBに追加される。
【0068】
ライブラリ生成プログラム21は、追加マッチングパターンのアウトライン情報PL5と、従来の第1の階層のアウトライン情報A1との共通部分を、新たな第1の階層L1のアウトライン情報A11としてライブラリLBに格納しなおす。また、ライブラリ生成プログラム21は、新たな第1の階層のアウトライン情報A11と、アウトライン情報PL1〜PL3、及び、追加マッチングパターンのアウトライン情報PL5との非共通部分を、それぞれ第2の階層の複数のアウトライン情報B11〜B14としてそれぞれライブラリLBに格納しなおす。
【0069】
別の方法によると、新たに追加マッチングパターンが登録される場合、従来の第2の階層のアウトライン情報についても変更される。ただし、ライブラリLBの階層数が2階層に押さえられることから、ライブラリLBの構成が簡易になる。
【0070】
以上のように、本実施の形態例におけるパターンマッチング方法では、マスクパターンのパターンであって同一グループとして分類された複数の登録マッチングパターンのアウトラインの共通部分を第1の階層のアウトライン情報、非共通部分を第2の階層のアウトライン情報として有するライブラリLBが参照される。
【0071】
まず、第1のマッチング工程として、当該ライブラリLBが参照されることによって、マッチング対象パターンのマッチング対象アウトライン情報が、複数の第1の階層のアウトライン情報と一致するか否かマッチングされる。そして、第2のマッチング工程として、第1のマッチング工程で一致した場合に、一致した第1の階層のアウトライン情報に関連する複数の第2の階層のアウトライン情報と一致するか否かマッチングされ、マッチング対象パターンが、一致した第1、2の階層のアウトライン情報に対応する登録マッチングパターンと一致すると判定される。
【0072】
これにより、第1のマッチング工程によって、第1の階層のアウトライン情報とのマッチング処理の結果に基づいて、第2の階層のアウトライン情報とのマッチング処理の対象となるマッチング対象パターンが絞り込まれる。このため、第2のマッチング工程では、マッチング対象パターンについて、一致した第1の階層と関連する第2の階層とマッチング対象パターンとのマッチングのみが行われることにより、パターンマッチング処理が効率化される。これにより、マッチング回数が低減されると共に、マッチング処理にかかる時間が短縮される。
【0073】
また、マスクパターンのパターンマッチング処理のように、微妙に異なる複数の登録マッチングパターンがライブラリLBに登録される場合、登録マッチングパターンが類似する。このため、登録マッチングパターンの情報の効果的な階層化が可能になり、第1の階層のアウトライン情報数が抑えられると共に、第1のマッチング工程によるフィルタリングがより効果的に行われる。また、本実施の形態例におけるパターンマッチング方法によると、マッチング率の許容範囲を設定する必要がない。このため、マッチング処理によって、抽出対象のパターンと一致するパターンのみが抽出可能となる。
【0074】
さらに、マスクパターンの場合、微妙に異なる複数のパターンのうち、原図を同一とする複数のパターン毎にグループ化されることで、容易に分類が可能である。これにより、登録マッチングパターンが効果的に階層化され、マッチング回数をより効果的に低減させることができる。また、第2の階層のアウトライン情報とマッチング対象アウトライン情報とのマッチング処理が並列に処理分散されることによって、処理速度の向上が可能となる。
【0075】
さらに、本実施の形態例におけるパターンマッチング方法によると、ライブラリLBは、さらに、ライブラリLBに新たに登録される追加マッチングパターンの追加マッチングアウトライン情報と同一グループとして分類される第1の階層のアウトライン情報との共通部分を新たな第1の階層のアウトライン情報として有する。また、ライブラリLBは、第1の階層のアウトライン情報と新たな第1の階層のアウトライン情報との非共通部分を第2の階層のアウトラインに関連する第1、2の階層間の第1アウトライン情報として、追加マッチングアウトライン情報と新たな第1の階層のアウトライン情報との非共通部分を追加マッチングパターンに対応する第1、2の階層間の第2アウトライン情報としてそれぞれ有する。
【0076】
そして、第2のマッチング工程は、第2の階層のアウトライン情報とのマッチング前に、一致した第1の階層のアウトライン情報に関連する第1、2アウトライン情報と一致するか否かマッチングし、第1アウトライン情報と一致する場合には複数の第2の階層アウトライン情報と一致するか否かマッチングし、第2アウトライン情報と一致する場合にマッチング対象パターンが追加マッチングパターンと一致すると判定する。
【0077】
これにより、本実施の形態例におけるパターンマッチング方法によると、第2の階層のアウトライン情報を変更することなく、新たな追加マッチングパターンを簡易に登録可能となる。このため、パターンマッチング方法によると、ライブラリLBに登録マッチングパターンを追加し学習させ続けることが容易になる。また、特に、第2の階層のアウトライン情報の数が多い場合、第2の階層のアウトライン情報を変更する必要がないことにより、追加マッチングパターンを効率的に登録することが可能になる。
【0078】
また、本実施の形態例におけるパターンマッチング方法によると、ライブラリLBは、さらに、ライブラリLBに新たに登録される追加マッチングパターンであって、第1のマッチング工程において一致する追加マッチングパターンの追加マッチングアウトライン情報と、一致した第1の階層のアウトライン情報との非共通部分を、当該追加マッチングパターンに対応する第2の階層のアウトライン情報として有する。そして、第2のマッチング工程は、第2の階層のアウトライン情報のうち、追加マッチングパターンに対応する第2の階層のアウトライン情報と一致する場合にマッチング対象パターンが追加マッチングパターンと一致すると判定する。
【0079】
これにより、本実施の形態例におけるパターンマッチング方法によると、第2の階層のアウトライン情報を変更することなく、簡易に、新たな追加マッチングパターンを簡易に登録可能となる。このため、パターンマッチング方法によると、ライブラリLBに登録マッチングパターンを追加し続けて学習させることが容易になる。
【0080】
以上の実施の形態をまとめると、次の付記のとおりである。
【0081】
(付記1)
半導体製造工程における、設計パターンの光近接効果補正後のマスクパターンのパターンマッチング方法であって、
前記マスクパターンのパターンであって同一グループとして分類された複数の登録マッチングパターンのアウトラインの共通部分を第1の階層のアウトライン情報、非共通部分を第2の階層のアウトライン情報として有するライブラリを参照し、マッチング対象パターンのマッチング対象アウトライン情報を、複数の前記第1の階層のアウトライン情報と一致するか否かマッチングする第1のマッチング工程と、
前記第1のマッチング工程で一致した場合に、前記ライブラリを参照して前記一致した第1の階層のアウトライン情報に関連する複数の前記第2の階層のアウトライン情報と一致するか否かマッチングし、前記マッチング対象パターンが、一致した前記第1、2の階層のアウトライン情報に対応する登録マッチングパターンと一致すると判定する第2のマッチング工程と、を有するパターンマッチング方法。
【0082】
(付記2)
付記1において、
前記ライブラリは、さらに、前記ライブラリに新たに登録される追加マッチングパターンの追加マッチングアウトライン情報と同一グループとして分類される前記第1の階層のアウトライン情報との共通部分を新たな第1の階層のアウトライン情報として、前記第1の階層のアウトライン情報と前記新たな第1の階層のアウトライン情報との非共通部分を前記第2の階層のアウトライン
情報に関連する前記第1、2の階層間の第1アウトライン情報として、前記追加マッチングアウトライン情報と前記新たな第1の階層のアウトライン情報との非共通部分を前記追加マッチングパターンに対応する前記第1、2の階層間の第2アウトライン情報としてそれぞれ有し、
前記第2のマッチング工程は、前記第2の階層のアウトライン情報とのマッチング前に、前記一致した第1の階層のアウトライン情報に関連する第1、2アウトライン情報と一致するか否かマッチングし、前記第1アウトライン情報と一致する場合には前記複数の第2の階層アウトライン情報と一致するか否かマッチングし、前記第2アウトライン情報と一致する場合には前記マッチング対象パターンが前記追加マッチングパターンと一致すると判定するパターンマッチング方法。
【0083】
(付記3)
付記1において、
前記ライブラリは、さらに、前記ライブラリに新たに登録される追加マッチングパターンであって、前記第1のマッチング工程において一致する追加マッチングパターンの追加マッチングアウトライン情報と、前記一致した第1の階層のアウトライン情報との非共通部分を、当該追加マッチングパターンに対応する前記第2の階層のアウトライン情報として有し、
前記第2のマッチング工程は、前記第2の階層のアウトライン情報のうち、前記追加マッチングパターンに対応する第2の階層のアウトライン情報と一致する場合に前記マッチング対象パターンが前記追加マッチングパターンと一致すると判定するパターンマッチング方法。
【0084】
(付記4)
設計パターンの光近接効果補正後のマスクパターンの生成方法であって、
前記マスクパターンを生成する生成工程と、
前記マスクパターンのパターンであって同一グループとして分類された複数の登録マッチングパターンのアウトラインの共通部分を第1の階層のアウトライン情報、非共通部分を第2の階層のアウトライン情報として有するライブラリを参照し、マッチング対象パターンのマッチング対象アウトライン情報を、複数の前記第1の階層のアウトライン情報と一致するか否かマッチングする第1のマッチング工程と、
前記第1のマッチング工程で一致した場合に、前記ライブラリを参照して前記一致した第1の階層のアウトライン情報に関連する複数の前記第2の階層のアウトライン情報と一致するか否かマッチングし、前記マッチング対象パターンが、一致した前記第1、2の階層のアウトライン情報に対応する登録マッチングパターンと一致すると判定する第2のマッチング工程と、
前記第2のマッチング工程において一致したと判定された前記マッチング対象パターンを抽出する抽出工程と、を有するマスクパターンの生成方法。
【0085】
(付記5)
付記4において、
前記ライブラリは、さらに、前記ライブラリに新たに登録される追加マッチングパターンの追加マッチングアウトライン情報と同一グループとして分類される前記第1の階層のアウトライン情報との共通部分を新たな第1の階層のアウトライン情報として、前記第1の階層のアウトライン情報と前記新たな第1の階層のアウトライン情報との非共通部分を前記第2の階層のアウトライン
情報に関連する前記第1、2の階層間の第1アウトライン情報として、前記追加マッチングアウトライン情報と前記新たな第1の階層のアウトライン情報との非共通部分を前記追加マッチングパターンに対応する前記第1、2の階層間の第2アウトライン情報としてそれぞれ有し、
前記第2のマッチング工程は、前記第2の階層のアウトライン情報とのマッチング前に、前記一致した第1の階層のアウトライン情報に関連する第1、2アウトライン情報と一致するか否かマッチングし、前記第1アウトライン情報と一致する場合には前記複数の第2の階層アウトライン情報と一致するか否かマッチングし、前記第2アウトライン情報と一致する場合には前記マッチング対象パターンが前記追加マッチングパターンと一致すると判定するマスクパターンの生成方法。
【0086】
(付記6)
付記4において、
前記ライブラリは、さらに、前記ライブラリに新たに登録される追加マッチングパターンであって、前記第1のマッチング工程において一致する追加マッチングパターンの追加マッチングアウトライン情報と、前記一致した第1の階層のアウトライン情報との非共通部分を、当該追加マッチングパターンに対応する前記第2の階層のアウトライン情報として有し、
前記第2のマッチング工程は、前記第2の階層のアウトライン情報のうち、前記追加マッチングパターンに対応する第2の階層のアウトライン情報と一致する場合に前記マッチング対象パターンが前記追加マッチングパターンと一致すると判定するマスクパターンの生成方法。
【0087】
(付記7)
半導体製造工程における、設計パターンの光近接効果補正後のマスクパターンのパターンマッチング処理において参照されるライブラリの構築方法であって、
前記マスクパターンのパターンであって同一グループとして分類された複数の登録マッチングパターンのアウトラインの共通部分を第1の階層のアウトライン情報として前記ライブラリに登録する第1の登録工程と、
前記複数の登録マッチングパターンのアウトラインの非共通部分を第2の階層のアウトライン情報として登録する第2の登録工程とを有し、
前記ライブラリは、マッチング対象パターンと前記複数の登録マッチングパターンとのマッチング処理において参照され、
前記第1の階層のアウトライン情報は、前記マッチング対象パターンのマッチング対象アウトライン情報と一致するか否かマッチングされ、
前記第2の階層のアウトライン情報については、前記第1の階層のアウトライン情報とのマッチングにおいて一致した場合に、前記一致した第1の階層のアウトライン情報に関連する複数の前記第2の階層のアウトライン情報が前記マッチング対象アウトライン情報と一致するか否かマッチングされ、一致した前記第1、2の階層のアウトライン情報に対応する登録マッチングパターンが前記マッチング対象パターンと一致すると判定されるライブラリの構築方法。
【0088】
(付記8)
付記7において、さらに、
前記ライブラリに新たに登録される追加マッチングパターンの追加マッチングアウトライン情報と、当該追加マッチングパターンと同一グループとして分類される前記第1の階層のアウトライン情報との共通部分を新たな第1の階層のアウトライン情報として登録すると共に、前記第1の階層のアウトライン情報と前記新たな第1の階層のアウトライン情報との非共通部分を前記第2の階層のアウトライン
情報に関連する前記第1、2の階層間の第1アウトライン情報として、前記追加マッチングアウトライン情報と前記新たな第1の階層のアウトライン情報との非共通部分を前記追加マッチングパターンに対応する前記第1、2の階層間の第2アウトライン情報としてそれぞれ登録するライブラリ再構築工程と、を有し、
前記第1、2アウトライン情報については、前記第2の階層のアウトライン情報とのマッチング前に、前記一致した第1の階層のアウトライン情報に関連する第1、2アウトライン情報が前記マッチング対象アウトライン情報と一致するか否かマッチングされ、前記第1アウトライン情報と一致する場合には前記複数の第2の階層アウトライン情報と一致するか否かマッチングされ、前記第2アウトライン情報と一致する場合には前記追加マッチングパターンが前記マッチング対象パターンと一致すると判定されるライブラリの構築方法。
【0089】
(付記9)
付記7において、さらに、
前記ライブラリに新たに登録される追加マッチングパターンであって、
前記第1の階層のアウトライン情報と一致する追加マッチングパターンの追加マッチングアウトライン情報と、前記一致した第1の階層のアウトライン情報との非共通部分を、当該追加マッチングパターンに対応する前記第2の階層のアウトライン情報として登録するライブラリ再構築工程と、を有し、
前記マッチング対象アウトライン情報は、前記追加マッチングパターンに対応する第2の階層のアウトライン情報と一致する場合に、前記追加マッチングパターンが前記マッチング対象パターンと一致すると判定されるライブラリの構築方法。