本発明の一実施の形態である図形データ展開装置のについて説明する。
この実施の形態によると、入力される図形データは、適当な階層構造で記述された最下層データに当たり、通常は、装置を制御する計算機のハードディスクなどに格納されており、装置の動作に応じて、本図形データ展開装置の処理装置により読み込まれる。
即ち、本発明の図形データ展開装置で取り扱う図形の種類としては、図1に示すような、X軸方向、Y軸方向、及び斜め45度の線分よりなる図形を考える。尚、45度以外の斜線を含むような図形が存在する場合には、そのような図形を適当なアルゴリズムによって、前もって上述の図形に分割しておけばよい。
図1において、図形ごとに付与した数は、図形コードを示すものとする。また、各図形の原点は、左下、すなわちX,Y両座標について、当該図形が存在するもっとも小さい値をもって原点としている。例えば、図形コード3の三角形の場合、位置21がここでいう原点である。
本発明のプリプロセッサが読み込む図形データのフォーマットは、図2に示されている。この図からわかるように、図形データとして図形の種類、図形原点の位置、縦横の長さが与えられる。
第1の実施形態では、1つのマス目の占有率を0/16,1/16,2/16,…,15/16,16/16の17通り、すなわち0,1,…,15,16の17階調で表現することとする。ここでは、展開グリッド寸法は設計グリッド寸法の4倍とする。当然、さらに多階調にすることも可能であるし、より少ない階調に展開する場合にも同様の手順で実現できる。
展開グリッド寸法は、設計グリッド寸法の4倍に設定したため、読み込んだ図形の原点、辺の長さは、展開グリッド寸法の4分の1単位で正確に記述されている。例えば、展開グリッド寸法(1マスの寸法)が0.2μm刻み、設計グリッド寸法はその4分の1の0.05μmであるとする。この時、図形の種類が、図1の図形コード5の縦型の平行四辺形であり、図形原点(x,y)、図形長l1 ,l2 (それぞれ、図形がX軸方向にまたがる長さ、Y軸方向にまたがる長さで定義するとする)とし、x=0.7μm,y=0.15μm,l1 =0.55μm,l2 =1.15μmであったとする。その時、展開グリッド寸法で考えると、図形原点(X、Y)、図形長L1 ,L2 (それぞれ、x,y,l1 ,l2 を0.2μmで除算する)は、以下のようなる。
即ち、この図形は図3のような図形である。展開結果は、図4のようになる。要するに、図形が各展開グリッドを占有している率が、展開結果に反映される。
以下に、具体的な多値デーダ発生方式について述べる。1つの展開グリッドの値を17値の階調にするに当たって、ある図形を描いたときに、各展開グリッドを占有することが期待される値がいくらかを計算して、その結果をその展開グリッドの値としたいとする。このとき、多値化するに当たっては、まず、図形の各頂点が、展開グリッド内においてどの位置にあるのかを展開グリッドの4分の1の精度で求める。これは、四角形:図形原点(X,Y)、横の長さL1 、縦の長さL2 および三角形:図形原点(X,Y)、横の長さL1 が、その展開グリッド寸法の4分の1の精度でわかれば、求めることができる。設計グリッド寸法は、展開グリッド寸法の4分の1の精度であるとしているので、図形の各頂点の算出は可能である。基本的に、四角形の場合はX,Y,L1,L2、三角形の場合はX,Y,L1が決まれば、図形の各頂点の展開グリッドにおける位置が求まり、図形周囲の展開グリッドの値がいくつになるかは、一意に決定される。当然図形外周に当たらない内部のマス目の値は16である。本発明の図形データ展開装置で用いる多値データ発生回路は、このような特性を利用したアルゴリズムで実現される。
例えば図5のようになるように、図形コードが1の三角形で、図形原点(X,Y)、図形長L1 が、それぞれ展開グリッド寸法で次のように与えられたとする。
このときの展開結果は図6のようになるが、この場合、図形の原点は、それが存在する展開クリッドの中において(2/4,1/4)という座標にある。図形種類とこの情報だけで、この図形原点が存在する展開グリット(1,1)の値は“2”であることが一意に決定される(16マスのうち2マス分を占有している)。また、その1つ右の隣接展開グリッド(2,1)の値が“12”で、右上(2,2)が、“5”となることも一意に決まる。また、図形の右端での数値は、図形原点の展開グリッドにおける位置及び図形長が、展開グリッド寸法の4分の1の精度で分かるので、やはり−意に決定される。
上述のように、例えば図5の形状の三角形では、図形原点(X,Y)、図形長L1 が1展開グリッドの中においてどの位置に存在するかというと、X,Y,L1のそれぞれについて、展開グリッド寸法以下である(0/4,1/4,2/4,3/4)の4通りの可能性があるので、43=64通りのパターンしかない。同様に四角形においては44=256通りの処理がある。実際には、以下に示すように、1展開グリッドに満たない図形の処理等もあるので、より複雑である。
即ち、図形が小さい場合、例えば、先述の例題のように、図形コードが1の三角形で、図形原点(X,Y)、図形長L1 が、それぞれ以下のような展開グリッド寸法で、図形データが与えられた場合には、図7のようになる。
この場合には、前述の図5の時とは違い、図形原点が存在する図形左下の展開グリッド(1,1)の値が、“2”というところまではよいが、その隣(2,1)が、“12”で、その上(2,2)が、“5”であるという論理が成り立たなくなる。これは、本来展開グリッドにおいて、図形の存在する左から2列目の展開グリッド群の値は、図形原点の存在する展開グリッドにおいて、図形原点がその展開グリッド内のどこに存在するかということにのみ依存するはずであるが、図形が小さいために、同時に右端の線分の影響も受けて値が決まるために起こる。従って、このように小さい図形は、別に処理しなければならないわけである。
また、本発明の多値化方式では、図8の図形のように、ある展開グリッド内を斜めに切る図形があった場合にも、展開グリッド座標(3,2),(4、3)(図8で位置22,23に示す展開グリッド)の値を理論値“8”として発生することができる。この展開グリッドには、図形が完全に占有しているマス目が6つあり、斜めに切っているため半分占有しているマス目が4つある。従つて、理論値は6+4*0.5=8となる。しかし、従来のように“1”,“0”の展開を行うとすれば、“0.5”という記述はできないので、この展開グリッドに関しては、以下のようになる。
0.5を切り上げた場合:6+4*1=10
0.5を切り捨てた場合:6+4*0=6
どちらにしても理論値“8”からずれた値が発生してしまっていたわけである。つまり、従来の“1”,“0”展開では、回避できなかった問題が本多値化方式では解決できる。
尚、特開平1−305344号で示されているように、展開グリッドを斜め線を含むように二等辺三角形で設定すれば、この問題を解決することはできるが、処理速度を考えると現実的ではない。
次に、第2の実施形態を説明する。この実施形態では、図1のような図形を処理するに当たり、まず図10のような基本図形を用意し、それ以外の図形はその基本図形に分割してから処理することとする。実際の図形展開処理は、Y軸方向(縦方向)にm展開グリッドを1ワードとしてnワード分の処理を行うような一括処理をしながらX軸方向(横方向)に描いていくこととするため、便宜上、ここでは基本図形を図10に示すように選んでいる(m,nは適当な整数)。この基本図形の処理シーケンスを用意することにより、すべての図形を展開処理することができる。例えば、図11のような平行四辺形の場合、この平行四辺形を図12のように直角二等辺三角形、長方形、直角二等辺三角形に分割して処理する。また、Y軸に関して対称な図形は、展開していく方向をX軸に関して、逆方向にすればよい。もちろん、考えられるすべての図形に対して、処理シーケンスを別々に用意しても実現可能であることはいうまでもないが、このように基本図形というものを用意した方が、ハード装置の効率がよい。
上述した本発明の図形処理は、限られたパターンをROM等に予め書き込んでおく、テーブル参照方式により実現される。このテーブル参照方式を実現するハード構成が図9に示されている。
即ち、図9に示す図形データ展開回路によると、図形コード、図形原点X,Yおよび図形長L1,L2が複合図形分割部110に入力される。この複合図形分割部110は、入力された図形コードに対応する図形を基本図形に分割する。複合図形分割部110を介した図形原点X,Yおよび図形長L1,L2は初期パラメータ計算部111およびパラメータアドレス制御部112に入力される。パラメータアドレス制御部112は図形原点X,Yおよび図形長L1,L2と共に図形コードを受けることにより、図形のパラメータアドレスを行う。
図形処理シーケンサ113は複合図形分割部110からの図形コードと初期パラメータ計算部111の初期パラメータを受けて図形処理シーケンスを実行する。ROM114には所定のパターンが予め書き込まれ、初期パラメータ計算部111およびパラメータアドレス制御部112からの信号によりアドレス指定され、所望のパターンが読み出され、パターンメモリ115に記憶される。
上述のようにして発生した図形の多値データは、パターンメモリに書き込まれ、必要に応じて、読み出される。
次の第3の実施形態では、第1及び第2の実施形態で発生したパターンをメモリに書き込むことについて説明する。
本発明の図形処理においては、多値のデー夕を発生させているので、パターンは、同一の展開グリッドに複数のパターンが存在する場合もあるので、図13のように、書き込んであるデータを一度読み出して、それと新たに発生したデータを加算器116において加算して、再び、パターンメモリ115に書き込む必要がある。
ここまでは、多値化する際に、0から16の17階調でのみ考えてきたが、これでは、例えば、8つの三角形が組み合わさってできた、正方形(図14)などの場合に、その中心部の座標が、その展開グリッドにおいて、どの位置に存在するかによって、中心展開グリッド(図14では(4,3))の値は、16から20の値をとり得る。図14の場合には、“20”になる。この問題は、16以上の値は、すべて16として扱えば問題はないが、同様の例題で、できあがった正方形の4隅において、その展開グリッドにおける位置によっては、本来期待される値より、1大きくなってしまう。図14の図形の展開グリッド座標(2,0)では、本来“3”となるべきとこるが、丸数字1の図形で“3”、丸数字2の図形で“1”が発生して、2つの図形の合計として表すと“4”になってしまうことが分かる。これは、本当は、0.5という値をとるベきところを四捨五入して、1としたためこの状況が、2つ以上の図形で重なると、こういう現象が起きるわけである。この本来期待される値よりも大きくなってしまう現象を回避するためには、内部精度を上げて、内部的に、0.5を取り扱えるようにすれば良い。そのようにすれば、図14の(2,0)の展開グリッドにおいても丸数字1の図形で“2.5”、丸数字2の図形で“0.5”が発生して、合計“3”という理論値が得ることができる。
第4の実施形態では、第1及び2の実施形態で発生し、パターンメモリ115に書き込まれたパターンデータを読み出すことについて説明する。
パターンは、パターンメモリ115に書き込まれ、読み出された後、また次のデータを書き込まれるというように使い回される。そこで、パターンを読み出した後は、パターンメモリ115をクリアしなければならない。そのため、パターンを読み出した後は、そこにパターンが存在しないことを示すヌルデー夕が書き込まれる。
第5の実施形態では、図形が重なっていた場合についての処理を説明する。展開グリッドの値が上限値を越える場合には、図15のように、この上限値を越えた分については振幅を制限する回路、即ちリミッタ回路117が付随され、これにより図形の重なりによる問題を解決している。
第6の実施形態では、パターンの発生速度を上げるために、図16のようにパターン発生回路118及びパターンメモリ115を複数組み用意し、それらを並列動作させる。この場合には、階層構造展開回路119で、図形ごとのデータにまで展開したものを複数のパターン発生回路118に効率よく並列動作させるように入力データを配分させるデータ配分調停回路120が設けられる。なお、パターンメモリ115に記憶されたデータはパターン読出し回路121によって読み出される。
第7の実施形態では、パターン発生回路118を複数系統用意した場合のパターンの読み出しについて説明する。パターンを読み出す際には、同一座標のパターンデータ同士を加算して、読み出すことになるが、その時に前述のように一定のしきい値を越えた場合には、加算回路122の後段に図17のようにしきい値を越えた分について振幅を制限するリミッタ回路117が設けられる。これによって、第5の実施形態と同様の図形の重なりによる問題が解決できる。
上述した実施例によると、設計パターンデータを展開する段階で、“1”,“0”ではなく、多値の階調に展開することにより、より高速にかつ精度の高い展開結果を後段の回路に送ることが可能となり、検査装置全体としての性能を高めることができる。
次に、第8の実施形態として、上述した実施例において多値を発生させる方法について説明する。
例えば、図18のように、図形コードが2の三角形で、図形原点(X,Y)、図形長Ll(=L2)が、それぞれ展開グリッド寸法で次のように与えられたとする。
X=1.50,Y=1.25,L1=3.75
この場合、展開結果は図19に示すようになるが、図形の原点は、それが存在する展開グリッドの中において(2/4,1/4)という座標にある。図形種類とこの情報だけで、この図形原点が存在する展開グリッド(1,l)の値は“6”であることが一意に決定される(16マスのうち6マス分を占有している)。また、その1つ上の隣接展開グリッド(1,2)の値が“8”で、右(2,1)が、“12”となることも一意に決まる。また、図形の右端での数値は、図形原点の展開グリッドにおける位置及び図形長が、展開グリッド寸法の4分の1の精度で分かるので、やはり一意に決定される。つまり、展開グリッド単位で考えて、図形原点,図形寸法の値の小数点以下の数値のみにより、その図形を形成する線分上のグリッドの値が決まる。しかし、実際には、1展開グリッドに満たない図形の処理等もあるので、より複雑である。
即ち、図形が小さい場合には、例えば、先の実施形態のように、図形コードが2の三角形であり、図形原点(X,Y)および図形長L1が、それぞれ展開グリッド寸法で次のように与えられると、結果は図20のようになる。
X=1.50,Y=1.25,L1=1.25
この場合には、図19とは違い、図形原点が存在する図形左下の展開グリッド(1,1)の値が、161というところまではよいが、その上(1,2)が、“8”で、その右(1,2)が、“12”であるという論理が成り立たない。従って、このように小さい図形は、別に処理しなければならないわけである。
ここまでは、多値化する際に、0から16の17階調でのみを考察してきたが、これでは、例えば、8つの三角形が組み合わさってできた、正方形(図14)などの揚合に、その中心部の座標が、その展開グリッドにおいて、どの位置に存在するかによって、中心展開グリッド(図14では(4,3))の値は、16から20の値をとりうる。図14の場合には、“20”になる。この問題は、16以上の値は、すべて16として扱えば問題はないが、同様の例題で、できあがった正方形の4隅において、その展開グリッドにおける位置によっては、本来期待される値より、1つ大きくなってしまう。図14の図形の展開グリッド座標(2,0)では、本来“3”となるべきところが、丸数字1の図形で“3”、丸数字2の図形で“1”が発生して、2つの図形の合計として表すと“4”になってしまうことが分かる。これは、本当は、0.5という値をとるベきところを四捨五入して、1としたためこの状況が、2つ以上の図形で重なると、こういう現象が起きるわけである。この本来期待される値よりも大きくなってしまう現象を回避するためには、内部精度を上げて、内部的に、0.5を取り扱えるようにすれば良い。そのようにすれば、図14の(2,0)の展開グリッドにおいても丸数字1の図形で“2.5”、丸数字2の図形で“0.5”が発生して、合計“3”という理論値が得ることができる。
次に、第9の実施形態として、パターンを形成するときに用いられたパターン設計データと実際に測定された測定データとを比較してパターン欠陥を検出する試料検査装置を説明する。
図21に示される試料検査装置では、顕微鏡等を用いてフォトマスク201に形成されているパターンが拡大され、この拡大パターンが図22に示すように細長い短冊状に分割され、この分割部分が、例えばテーブル202が動かされることによって連続的に走査され、この走査によって得られるデータによって検査される。
具体的には、XYθテーブル202上にフォトマスク201が載置され、適切な光源203によってフォトマスク1に形成されているパターンが照射される。フォトマスク201を透過した光は拡大光学系204を介して、フォトダイオードアレイ205に入射する。従って、フォトダイオードアレイ205上にパターンの光学像が結像される。フォトダイオードアレイ205上に結像されたパターンの像は、フォトダイオードアレイ5によって光電変換され、さらにセンサ回路206によってA/D変換される。このセンサ回路206から出力された測定パターンデータは、位置回路7から出力されたXYθテーブル2上におけるフォトマスク201の位置を示すデータとともに比較回路208に送られる。
一方、磁気ディスク209には、後述するようにフォトマスク201へのパターン形成時に用いたパターン設計データが格納されており、この磁気ディスク209から制御計算機210を通してデータ展開回路211に読み出される。この場合、展開回路211は、後述する手法に従ってデータを展開し、このデータを比較回路208に送る。比較回路208は、送られてきた図形のデータに適切なフィルタ処理を施して多値化データにする。これはセンサ回路206から得られた測定パターンデータは、拡大光学系204の解像特性やフォトダイオードアレイ205のアパーチャ効果等によってフィルタが作用した状態にあるため、設計側のデータにもフィルタ処理を施して、測定パターンデータに合わせるためである。比較回路208は、測定パターンデータと適切なフィルタ処理の施された設計データとを適切なアルゴリズムに従って比較し、一致しない場合には、欠陥有りと判定している。
上記のような試料検査装置において、集積度の高いLSIの出現に伴って光転写装置の解像度をさらに向上させるために、フォトマスクに光の干渉を利用する位相シフトパターンが設けられる。すなわち、フォトマスク201に形成されるパターンは、図23に示すように周辺パターン221と回路パターン222とに分けられる。回路パターン222は、さらにロジックコントローラ部223とメモリ部224とに分けられる。メモリ部224には、特に微細パターンの形成が要求され、この部分に位相シフトパターンを形成することが必要となっている。通常のフォトマスクは、ガラス基板の表面に遮光機能のあるクロム層を所定のパターン(以後クロムパターンと呼ぶ)に設けたものとなつている。位相シフトパターンは、通常、SiO2などの遮光性材料で形成される。位相シフトの構造には種々の方式が考えられており、図24(a)に示すレベソン方式、図24(b)に示す補助パターン方式、図24(c)に示すエッジ強調方式、図24(d)に示すクロムレス方式、図24(e)に示すハーフトーン方式などがある。尚、これらの図において225はガラス基板を示し、226はクロムパターンを示し、227は位相シフトパターンを示している。このようにクロムパターンと位相シフトパターンとを混在したフォトマスクのような試料について、両方のパターンの欠陥を同時に検出できるように本発明の実施例においては、磁気ディスク209に格納されるパターンデータおよびデータ展開回路211に改良がなされている。
すなわち、磁気ディスク209には、フォトマスク201に図24に示したようにクロムパターン226および位相シフ卜パターン227を形成するときに用いたパターン設計データが、座標定義同一に格納されている。このパターン設計データは、図25に示すように図形原点、図形の辺の長さなどのほか、位相シフトパターン227を表す図形デー夕には、位相シフトパターンの有無や種類などを定義する識別データおよび展開回路211の動作モードを指定する属性データ等が付与されている。この情報によって、クロムパターン226だけの揚合、位相シフトパターン227だけの場合、両者が混在してじる場合の検査アルゴリズム、各種検査に必要な設定値の変更を自動的に行なわせる。この変更の方法は、データ展開回路211自身が上記属性データを読み取って自動で行うことや、このデータ展開回路211を制御する制御計算機、あるいは上記磁気ディスク209を装備している計算機が読み取ってデータ展開回路211にコマンドとして設定するなどの方式が可能である。
磁気デイスク209からデータ展開回路211へのデータ転送は、ストライプと呼ぶ短冊状ごと、あるいは、セルと呼ぶ適切な領域ごとに行われる。データ展開回路211は、転送されたデータをデータの階層構造に従って展開し、後述するパターンメモリに格納し、検査の進行に伴ってパターンメモリから読み出して後続回路に出力する。
一般的に、本発明が対象とする、この種の半導体の設計データは、くり返しパターンや共通に配置するパターンを効率良く記述するために適当な階層構造を採用することが多い。この場合、クロムパターンのデータと位相シフトパターンのデータの混在の仕方には、様々な形態が考えられる。一つの例は、磁気ディスク209に格納されている段階から、完全に別ファイルとして取り扱われる場合が容易に考えられる。
本発明においては、試料検査装置の検査方式について種々の方式を説明する。まず、第1の方式では、図26に示すように、クロムパターン用のデータ展開回路241と位相シフトパターン用のデータ展開回路242が設けられ、計算機がファイルを取り扱う際に上述の識別を行い、それぞれの回路に転送し処理を行う。
即ち、図26において、クロムパターン用データ展開回路241に対応するデータメモリ270は、計算機210からの転送データを一時的に格納するためのバッファとして機能する。階層展開回路271はデータメモリ270からデータを読み取り、データの階層構造を展開し、多値レベルのビットパターンを発生するビットパターン発生回路272に出力する。ビットパターン発生回路272が発生した、多値のビットパターンデータはパターンメモリ254に格納される。パターンメモリ254はリングバッファ構造になっており、パターン読み出し回路255の読み出しに応じて順次展開を進めるように構成されている。バッファのサイズは、展開パターンの図形密度による展開速度の変動を吸収する程度の一定のパターン範囲を保持する程度確保すれば良い。
位相シフトパターン用データ展開回路242は、多値レベルのビットパターンを発生するビットパターン発生回路273が、クロムパターン用データ展開回路241と異なる振幅特性を持たせている点に特徴がある。すなわち、クロム図形は0〜100、ハーフトーン膜は70などとする。
さらに具体的には、クロムパターン用データ展開回路241では、図27に示すようなクロム膜226にガラス基板部分225が露出している部分が記述されたデータの展開処理を行い、ガラスパターン部分は“100”という値になり、クロムパターン部分は“0”という値がパターンメモリ254に展開される。また、位相シフトパターン用データ展開回路242は、図27のクロム膜226に位相シフトパターン膜部分227が記述されたデータの展開処理を行い、ハーフトーン膜がある部分は“−30”、そしてガラスパターン部分は“0”という値がパターンメモリ254に展開される。そしてどちらの展開回路のビットパターン発生回路272,273とも、パターンエッジの量子化誤差を抑えるために、パターンエッジやパターンコーナの位置に応じた適切な中間階調の値を発生させる機能を持っている。
パターン読み出し回路255は、クロムパターン用のパターンメモリ254と位相シフトパターン用パターンメモリを、座標が同期するよう読み出し、その際に演算回路257で次の演算を行わせている。ここでは、堀込み型ク位相シフトデータを取り扱う場合を図28を参照して説明する。
この堀込み型の揚合、クロムの上にシフタを張り付けた後、クロムもシフタも乗っていないガラス部分を削った後、シフタをはがすことによって処理が終了している。
図28において、元のガラス部分とガラスを彫り込んだ部分は、どちらもガラスであることにかわりはない。従って、このフォトマスクに光を当てた場合、位相が変わるだけで、その透過光量は、元のガラス部分とガラスを彫り込んだ部分とで、基本的には、同じになるはずであると考えられていた。しかし、本来の露光波長と異なる波長の光で検査した場合、パターンの間隔が非常に狭い場合には、その限りではなく、ガラスを彫り込んだ部分の方が、若干その振幅が小さくなることが分かった。そこで、そのような、位相シフトデータに対応するため、次のような処理を施す。すなわち、演算回路257ではクロムパターンデータから位相シフトパターンデータを減じる処理を施す。この際に、適当な振幅結果となるようにクロムデータをd1 、位相シフトデータをd2 、適当な係数:k1 ,k2 とした場合に
k1d1 − k2d2 (2)
なる演算を行う。また、結果がマイナスの値になる場合には零にクランプする機能も用意されている。従つて、上述の演算によって、所望の特性を得ることができるわけである。
また、パターンメモリへの書き込みは以前に説明した図13に示すような構成を採ることでより実用的になる。すなわち、新たに書き込もうとする座標領域のパターンメモリのデータを一回読み出して、この読出しデータと書き込むデータとを加算してから、メモリに書き込む。これは、実際のパターンメモリは複数画素を一括して、並列に取り扱うと構成が容易になることによる。
ここで、もし図形が重なって記述されていたとすると図13の構成のままではガラスパターン部分は“100”という値を超過してしまう。そこで図15に示すように、それを越えた分については振幅を制限する回路を付随させることによって、図形の重なりによる問題を解決できる。
ビットパターン発生回路272,273によるパターンメモリ254への書き込みは、検査装置の所定の検査速度に対して充分に高速に動作するよう設計されている。すなわち、パターン読み出し回路255は、常に後続の比較回路208からのデータ要求を待機するよう動作し、パターンメモリ254にはパターンが展開され、リングバッファがフルの状態になるよう動作する。また、このパターンメモリ254は読み出された後はデータが不要となるため、読み出しと同時にゼロクリアする機能が設けられている。
以上の過程で合成され読み出されたデータは、比較回路208に送られる。比較回路208は送られてきたデータに適切なフィルタ処理を施して、さらに詳細な多値データにしたうえで、センサ回路206から送られる観測データと比較判定アルゴリズムを適用して欠陥判定を行う。なお、センサ回路206と比較回路208の間でセンサ特性を補正したり、上述の設計データを処理したことに対応するオフセット処理や、クランプ処理を実施できるようにしておくことも実用性に富む構成である。
以上の説明では、クロムパターンのデータと位相シフトパターンのデータの混在の仕方の一例として、磁気ディスク209に格納されている段階から、完全に別ファイルとして取り扱われる場合を説明した。しかし、上述のような、くり返しや共通配置を記述するためには、階層構造の適当な階層において、クロムパターンと位相シフトパターンの混在を許容する取り扱いも合理的な方法といえる。
また、本発明のデータ展開回路211では、データ記述の階層毎に入出力インターフエースを備えた概略展開、詳細展開といったパイプライン状の回路構成を基本とし、階層の段数が複雑な場合には、回路の構成段数もこれに応じた複数の段数の階層構成を採用するようにする。
この場合に、クロムパターンデータと位相シフトパターンデータが、第n番目の階層以下は別々に記述されて、この階層以上はクロムパターンと位相シフトパターンを一体の構造として取り扱うよう記述されていることが考えられる。
そこで本発明の第2の検査方式として、上記第n番目の階層まで混在したデータが流れて、n番目の階層で識別を行い、当該階層以下の処理を行う部分をクロムパターンデータ専用の回路と位相シフトパターンデータ専用の回路を設け、それを並列化することによって、クロムパターンデータと位相シフトパターンデータが磁気ディスク209に格納されている単一のファイル内に混在している場合にも処理することが可能とする方式を図29を参照して説明する。
本発明の検査装置に読み込ませるデータは、図25に示すようなフォーマットにより、クロム部分の図形には“C”、ハーフトーン部分の図形には“H”なる符号が付加されていることで識別を行えるところが、図2のデータフォーマットと異なる。これは、図27の断面形状のクロム−ハーフトーン混在パターン部分を想定したものである。
図29のデータ識別回路251は上記n番目の階層を展開する部分に具備されるもので、識別された階層データは、第1の実施例で説明したクロムパターン発生回路241および位相シフトパターン242にそれぞれ導かれる。これ以降のパターンメモリへの書き込み動作、パターンメモリ読み出し回路255、演算回路257の動作などは第1の検査方式と同様である。
上述の第2の検査方式では、クロムパターンデータと位相シフトパターンデータが混在している場合の両者の頻度が極端に異なる場合、頻度が少ないデータ用の回路が休んでいるにも関らず頻度が高いほうの回路の処理能力で全体の展開速度を律速することになる。このため、全体の回路を効率的に運用するにはクロムパターンデータ用回路と位相シフトパターンデータ用回路の区別をやめて、どちらのデータでも処理できる構成を採ることもできる。
この構成が第3の検査方式として図30に示されている。これによると、データメモリ270には、クロムパターンと位相シフトパターのデータが識別可能なように格納されており、データメモリを読み出したデータは、識別回路251が図25に示フようなフォーマットにより、クロム部分の図形には“C”、ハーフトーン部分の図形にば“H”なる符号が付加されていることで識別し、図形毎に振幅調整回路252が振幅(明るさ)を決定する。例えばクロム図形は0〜100で、クロムの遮光膜は0、ガラス部分は100と定義する。一方、位相シフトパターンの場合は−30〜0として、ハーフトーン膜部分は−30、ガラス部分は0と定義する。
ビットパターン発生回路253は、ビット展開した結果が前記振幅調整回路252で決定された振幅のデータを発生し、ビットパターンメモリ254に書き込む。本方式の場合、図28に示すようにクロムーガラス図形のガラス部分は“100”という値になり、位相シフトマスクのハーフトーン膜がある部分は“−30”といつた値がパターンメモリに書き込まれる。
なお、パターンメモリへ書き込む際には、図13のように、書き込もうとする領域のメモリ内のデータを一回読み出して、それと書き込むデータとを加算してから、メモリに書き込む構成は上記第1、第2の方式と同様である。
この構成を採ることで、クロムパターンの図形(ガラス部分)に位相シフトパターンの遮光膜が重なる部分は、まず“100”という値が書き込まれて、次に“−30”といった値がパターンメモリに書き込まれる。この“−30”が書き込まれる際に読み出して加算するため、結局“70”がパターンメモリに記録される。書き込まれる順序が逆で一時的にマイナスの値が書き込まれることも許容する。
本方式の場合では、ハーフトーン、クロム双方についてパターンを発生させてメモリに書き込むので、最終的な累積値が上限値(この場合には100)を越えたり、下限値(この場合は0)を下回る場合にも、図15のように、それを越えた分については振幅を制限する回路を付随させることによって、図形の重なりによる問題を解決できる。
本発明の試料検査装置のビットパターン発生回路では、階層構造に応じてデータを展開するデータ展開回路に比べて、個々の図形パターンを発生する部分の処理時間が掛るため、第6の実施形態で説明した図16に示すようなパターン発生回路118およびパターンメモリ115を並列化してスループットを向上することが可能である。
この場合には、階層構造展開回路で、図形ごとのデータにまで展開したものを複数のパターン発生手段に効率よく並列動作させるように入力データを配分させるデータ配分調停回路120を設ける。
ここで用いる複数のバターン発生回路118、および、それぞれのパターン発生回路118に対応するパターンメモリ115は、クロムパターンと位相シフトバターンを混在して展開できるもので構成することもできる。また、上記第2の方式で説明した図29のように、クロムパターン用のパターン発生回路241と、位相シフトパターン用のパターン発生回路242の両方を適当な数ずつ用意して、図16の調停回路120には図29のデータ識別回路251の機能を兼ね備えるようにすることも可能である。
本方式のパターン読み出し回路121は、複数系統のパターンメモリ115を読み出す際に、同一座標のパターンデータ同士を加算して、読み出すようにする。具体的には図17に示すように演算回路122とリミッタ回路117とから成る合成機能を用意する。演算回路117は同一座標のパターンデータ同士を加算するものであり、リミッタ回路117は、上記第1の方式で説明した通り、所定の振幅を越えた分について振幅を制限する回路である。これによって、図形の重なりによる問題が解決できる。
次に、第5の検査方式として、図31の、第1の位相シフト膜と第2の位相シフト膜のように、位相シフト膜2種とクロム膜が混在し、ガラスの明るさが“100”、A種位相シフト膜部分の明るさが“70”、B種位相シフト膜部分の明るさが“30”、クロム膜の明るさが“0”とする場合の対応構成を説明する。
図30の回路構成において、識別回路251はクロム膜と位相シフト膜の2種の膜を識別することになる。データ識別回路251は、ガラス−クロム図形の場合には0〜100の振幅とするよう振幅調整回路252に指示し、A種位相シフト膜の図形の場合には−30〜0の振幅とするよう、さらにB種位相シフト膜の図形の場合には−70〜0の振幅とするよう振幅調整回路252に指示する。
これ以降のパターン発生回路253とパターンメモリ254の動作構成は上記第3の方式で説明したことと同様である。
尚、パターンの発生回路を3系統用意して、第1及び第2の方式のように実現することも可能である。また、本方式の場合でもスループット向上のために、上記第4の方式で説明した、複数のバターン発生回路、および、それぞれのパターン発生回路に対応するパターンメモリを並列に装備してパターンメモリを読み出し時に合成処理する方法を併用することも可能である。
以上説明した各検査方式は、本発明の趣旨を逸脱しない範囲で更に変形可能である。たとえば、計算機からデータを受信する部分に大容量のバッファメモリを具備し、さらにバッファを複数用意してダブルバッファの原理で交互に運用したりする。または、以上説明した各構成回路間の随所にバッファメモリを設ける。パターンを読み出した結果にオフセットを重畳して、光振幅特性をより良く模擬しようとすることなどは、いずれも本発明の応用として、実用的な変形例である。
また、以上の説明では、試料検査装置は、光源から発射された光を試料に透過させて観測した場合を説明したが、本発明のデータ展開回路は、試料からの反射光を観測する方式であっても、振幅のダイナミックレンジや明暗を定義し直すことで適用可能である。
115…パターンメモリ、116…加算回路、117…リミッタ回路、118…可変振幅パターン発生回路、119…階層構造展開回路、120…調停回路、122…加算回路、205…フォトダイオードアレイ、206…センサ回路、207…位置回路、208…比較回路、210…制御計算機、211…データ展開回路、221…周辺パターン、222…回路パターン、223…コントローラパターン、224…メモリパターン、225…ガラス基板、226…クロムパターン、227…位相シフトパターン、241…クロムパターン発生回路、242…位相シフトパターン発生回路、251…データ識別回路、252…振幅調整回路、253…パターン発生回路、254…パターンメモリ、255…バターン読み出し回路、256…振幅調整パターン発生回路、257…演算回路、270…データメモリ、271…階層データ展開回路、272…クロムパターン発生回路、273…位相シフトバターン発生回路