(54)【発明の名称】画像上または撮像されたオブジェクト上で動作を実行する方法、画像またはオブジェクト上で反復的な動作を実行する方法、幾何学的情報と非幾何学的情報をグラフィック図形に関連付けるステップを含む動作を制御する方法、計測プランを含む方法およびコンピュータ可読媒体
(58)【調査した分野】(Int.Cl.,DB名)
前記画像上に第3の図形を配置するステップが、前記第1の図形と前記第2の図形の間を接続する前記第3の図形を前記画像上に配置するステップを含む請求項1に記載の方法。
前記画像上に第3の図形を配置するステップが、前記第1の図形と前記第2の図形の間の距離を測定するコンピュータ命令に関連付けられた前記第3の図形を前記画像上に配置するステップを含む請求項1に記載の方法。
前記画像上に第3の図形を配置するステップが、その結果が間接的に前記第1の図形と前記第2の図形の前記位置に依存する動作を、その位置が最終的に前記第1および第2の図形の前記位置に依存する1つまたは複数の中間図形によって指定する前記第3の図形を前記画像上に配置するステップを含む請求項1に記載の方法。
前記画像に1つまたは複数の追加の図形を配置するステップであって、前記1つまたは複数の追加の図形の位置が前記第1の図形と前記第2の図形の前記位置に依存し、前記第3の図形によって指定された前記動作の前記結果が前記1つまたは複数の追加の図形の前記位置に依存するステップをさらに含む請求項1に記載の方法。
前記第2の特徴部分を位置特定するために前記第2の図形に関連付けられた実行可能なパターン認識コンピュータ命令を実行するステップが、前記第1の図形に関連付けられた実行可能なパターン認識コンピュータ命令を実行することによって位置特定される構造のエッジを位置特定するステップを含む請求項1に記載の方法。
前記画像上に前記第2の図形を配置するステップが、前記画像上に追加の図形を配置するための固定点を含めて前記第2の図形を配置するステップを含む請求項8に記載の方法。
前記追加の図形または前記第3の図形の少なくとも1つが、前記オブジェクトの画像内で位置特定された特徴部分間の距離または角度を決定するための関連付けられたコンピュータ命令を含む請求項9に記載の方法。
前記1つまたは複数の追加の図形を組み合わせるステップと、前記組み合わせを将来使用するためにステンシルに記憶するステップとをさらに含む請求項16に記載の方法。
【発明を実施するための形態】
【0013】
次に、本発明およびその利点をさらに十分に理解するために、添付の図面に関連してなされる以下の説明を参照することにする。
【0014】
本発明は、加工物の画像をオペレータが制御できるコンピュータ生成グラフィックと組み合わせるものであり、画像または画像が生成される加工物に対する動作をグラフィックが指定するようにグラフィックの一部に動作が関連付けられている。
【0015】
いくつかの実施態様では、本発明は、撮像をコンピュータ援用設計タイプのソフトウェアと組み合わせる。例えば、荷電粒子ビーム顕微鏡の1つまたは複数の画像は、コンピュータ援用設計ソフトウェアによって生成されたベクトルタイプのグラフィック構成要素のような1つまたは複数のグラフィック構成要素が重ね合わされる背景として使用される。ページの縮尺は、そのページが含んでいる1つまたは複数の画像の縮尺に自動的に設定される。ユーザは、画像、あるいはコンピュータ援用設計構成要素を操作して撮像される加工品に対して、実行すべき動作を指定することができる。
【0016】
動作は、例えば荷電粒子ビームシステムのステージの移動、標本のミリング、標本の表示画像に対する測定の実行、標本上へのパターンの配置、または配置されたパターン上の場所で追加の動作を実行することを含むことができる。動作は、通常は指定された順序で実行され、測定動作の結果はスプレッドシート、データベース、または他のデータ解析ツールに自動的に入れることができる。
【0017】
本発明の一実施形態では幾何学図形が動作と関連付けられる。結合してステンシルと呼ばれる数群になる所定の形状の一群から、そこからグラフィック構成要素が画像上にドラッグされる一群の所定の図形からグラフィック構成要素が選択されることが好ましい。次いでグラフィック構成要素は、画像上で移動、サイズ変更、回転、または修正することができる。位置、すなわちユーザが図形を配置する画像上のXY座標は、画像、または撮像された標本に対してどこで動作が実行されるかを決定する。図形のエリアは、例えばミルボックスのサイズ(すなわち、標本が集束イオンビームで走査、ミリングされるべき画像上のエリア)またはエッジ検出サーチゾーン(すなわち、画像輝度の変化を検出することによってエッジを位置特定するためにサーチされるべき画像のエリア)など、動作の範囲を決定することができる。
【0018】
図形は、図形の幾何学的配列を含むのみならず、例えばエッジ検出閾値、ミルボックスの線量、およびパターン照合基準画像など、ツールの非幾何学構成も含んでいる。ユーザは、図形が画像上に配置された後でその図形を構成することができる。ユーザは、別の場所で同じ動作を実行するよう指定するために図形を複製することができる。図形を複製することによって、ユーザに迅速かつ効率的に一連の動作を構築することを可能にするグラフィカルでない構成も複製される。
【0019】
ユーザは、一連の動作を指定するために図形を組み合わせることができ、これによって一続きの比較的単純な動作から複雑な動作を構築することが可能になる。図形は適宜編集することができ、編集された図形は再利用するために保存することができる。一連の動作全体をページの概念を使用して便宜的に再分割することができる。1つのページは、互いに密接に関連する動作を実行する図形をグループ化する。通常、これは所与の画像に基づく動作、または関連する動作を伴う。一連の動作は任意の数のページを有することができる。
【0020】
グラフィックに関連付けられる動作は、計測動作、ステージの移動、または標本のミリングのようないかなるタイプの動作であってもよい。したがって、測定されるべき場所は、例えば面切断および撮像によって準備することができる。この場合、場所は測定または他の動作によって特性を決定することができる。次いで一連の動作を、手動で、またはパターン認識ソフトウェアにより自動で位置特定された類似のパターンを有する複数の場所に対して実行することができる。動作を指定する図形は、集束イオンビームシステムを集束および制御するためのビームパラメータのようなプロパティを含むことができる。図形に関連付けられた動作は、好適には図形内の親子関係によって、またページの順序のような図形間の他の手段によって順序付けられる。順序は、例えばツリーまたは流れ図で表示することができ、適宜変更できることが好ましい。
【0021】
例えば、一実施形態では、
図1に示すようにステップ110で画像が獲得される。画像は、例えば望遠鏡、走査電子顕微鏡(SEM)、走査イオン顕微鏡として使用される集束イオンビームシステム(FIB)のような顕微鏡、または他の撮像機器など、撮像システムから獲得することができる。画像は、機器の標本からの「ライブ」であっても、ファイルに記憶されている「オフライン」であってもよい。ステップ112で、ユーザは、実行されるべき1つまたは複数の動作を指定することができる1つまたは複数のフォームまたは図形を画像に重ね合わせる。例えば、画像上に配置された長方形を含んでいる図形は、その長方形内で特徴部分エッジを位置特定する動作を指示することができる。第2の長方形は、第2の特徴部分エッジ位置特定動作を示すために使用することができる。エッジ位置特定動作を表すグラフィック間の画像上に配置される寸法線のような第3のグラフィックシェイプは、以前の動作によって位置特定された特徴部分エッジ間の距離の測定を含む動作を示すことができる。
【0022】
ステップ114で、1つまたは複数の図形が示す動作が実行される。ステップ116で、動作の結果を示すように画像または図形が修正される。例えば、測定動作が実行されると、測定された寸法はコンピュータ生成グラフィックとして画像上に表示することができ、ステップ118では、任意選択によりスプレッドシートのようなデータ解析を容易にするフォーマットで保存することができる。システムは、パターンを認識するために調整することができる。ステップ120で、システムは、他の場所で類似の特徴部分を位置特定するためにパターン認識ソフトウェアを使用して画像をサーチする。決定ブロック122は、類似の特徴部分が位置特定された場合、他の場所にある類似の特徴部分に対して類似の動作を実行するためにプロセスがステップ112に戻ることを示している。別法として、プロセスを類似の特徴部分に対してステップ114から開始し、画像および図形を表示せずに自動的に続行することもできる。
【0023】
いくつかの好ましい実施形態では、図形は、親オブジェクトを移動、サイズ変更、または回転することによって子を移動、回転、および任意選択でサイズ変更することができるように親子型階層関係を有する。システムが1つの場所で画像パターンと一致するように調整されると、類似パターンが異なるサイズであるか異なる回転をしていたとしても、一度指定された測定または動作を類似パターン上で自動的に実行することができる。後続場所での子図形用の図形パラメータは、親図形の自動変更からの公式によって決定することができる。好ましいユーザインタフェースは、ユーザが関係を微調整することができるようにこの公式を公開する。図形間の関係は、実行順序を指定することもできる。
【0024】
好ましいユーザインタフェースは、ユーザが計測シーケンスで図形の物理(例えば、位置、サイズ、向き)および論理(例えば、親/子関係)属性の両方と連携することを可能にする。論理表示と物理表示の両方を提供することにより、ユーザは図形間の親/子関係とプログラムされたシーケンスの実行順序を容易に理解することが可能になる。数百のツールを含んでいる任意の複合シーケンスは、単にページにツールをドラッグすることによって構築することができる。ユーザは、シーケンサーツリーダイアログによって同じピア階層のツールの実行を好適に再順序付けすることができる。シーケンス構築のどの段階においても、通常は正式なスクリプティング、コンパイリング、またはテキスト論理プログラミングは必要とされない。但し、いくつかの実施形態ではこのようなプログラミングが柔軟性を付加する場合がある。
【0025】
親子図形の組み合わせは「複合図形」と呼ばれる。ユーザが複合図形を設計すると、単に複合図形を複製して、そのコピーを事前定義された図形を含んでいるステンシルにドラッグすることにより、その図形で「マスター」を構成することができる。複合図形が図面のページにドロップされると、図形間の親/子実行関係が自動的にアサートされる。マスターには適切な名称が与えられる。ユーザはステンシル上のマスターを編集することもできる。アプリケーション全体を再インストールせずに新しいマスターが追加されるので、これにより柔軟性が非常に高まる。
【0026】
ステンシル上のマスター図形は、図形の幾何学的配列を含むのみならず、エッジ検出閾値、ミルボックスの線量、およびパターン照合基準画像など、図形の非幾何学構成も含んでいる。したがって、図形のために作成されたカスタム構成ダイアログは、マスターが作成、編集される際にユーザと対話するためにも使用可能である。マスターは、直線フィットおよび寸法図形を含む簡素な、または完全な1組の計測図形であってよい。ユーザは、サーチエリアのようなパラメータを調節し、パターン認識ツールを調整し、計測を試験する準備が整う前にエッジ認識閾値を設定するだけでよい。
【0027】
ある応用例では、例えば薄膜記録ヘッドがその上に製作されたセラミックウエハの画像を表示することができる。ユーザは、薄膜ヘッドのエッジのような長方形内の幾何学特徴部分を位置特定するために画像上のコントラストの差異を使用する関連付けられた動作を有する画像上に長方形の図形をドラッグすることができる。ユーザは、画像上に寸法線をドラッグすることもできる。この場合、寸法線は、異なる位置の薄膜ヘッドの幅を提供するために識別されたエッジ間の寸法を表示する。調整されたシステムは、薄膜記録ヘッドのパターンをサーチして認識し、薄いヘッドが発見された各場所でエッジ識別と測定動作を反復することができる。複数の測定結果は、結果を解析するためにスプレッドシートまたはリレーショナルデータベースに自動的に記入することができる。スプレッドシートまたはリレーショナルデータベースを組み込むことによって、進行中解析(fly analysis)を実行するようプログラミングする公式を提供することができる。結果は、サンプリングパターンを部分変更するためにシステムにフィードバックすることができる。したがって、本発明は、適応サンプリング、すなわち後の場所の動作を決定するために以前の場所の結果を使用することを可能にする。このようなサンプリングは、例えば半導体またはデータ記憶プロセスでのリソグラフィー焦点露出マトリックス解析で有用である。
【0028】
システムは、作図あるいは二次元コンピュータ援用設計(2−D CAD)プログラム、視覚プログラム、データ解析プログラム、および荷電粒子ビームインタフェースプログラムのような市販の構成要素を使用して実施することができる。入手可能な構成要素は、通常、アドオンおよびカスタムプログラミング制御によってカスタマイズされ、強化される。このような実施態様はプログラミング資源の非常に有効な使用例ではあるが、本発明はこのようなソフトウェアに依存するものではなく、熟練したプログラマーが最初から書くこともできる。
【0029】
本発明は、荷電粒子ビームシステムの自動制御を容易に行い、これにより設計セットアップ時間は短縮される。システムの構成は、サンプル測定をセットアップすることのみならず、隠された特徴部分または測定されるべき切断面を露出するためにミリングすることなどにより測定場所の準備をセットアップすることも含むことができる。
【0030】
好ましい一実施形態は、走査電子顕微鏡(SEM)画像捕捉、計測、集束イオンビーム(FIB)ミクロ機械加工、および結果データベースを使用する統合されたアプリケーションを提供する。この実施形態は、ビーム動作のプログラミングと結果の表示を容易にするために、二次元コンピュータ援用設計(CAD)プログラムを視覚プログラムと組み合わせる。CADプログラムは、撮像場所で実行されるべき動作を指定するために画像に重ね合わせることができるグラフィックを生成する。
【0031】
画像を獲得するために荷電粒子システムが使用され、関連場所の準備および測定動作を有する図形を生成するためにWashington、RedmondのMicrosoft社製Visioソフトウェアが使用され、測定されるべき特徴部分を特定するためにMA、NatickのCognex社製パターン認識ソフトウェアが使用される好ましい一実施形態を以下で説明する。荷電粒子ビームシステムは、本発明の譲渡人であるOregon、HillsboroのFEI社製のアプリケーションプログラミングインタフェースであるxPを使用して制御される。
【0033】
ABS−空気ベアリング表面(磁気記録ヘッド部分)
ActiveXコントロール−Microsoft社開発によるActiveX技術を使用した一種のソフトウェア制御
ADO−Microsoft社製ActiveXデータオブジェクト
C3DおよびIC3D−本発明を実施するソフトウェアシステムの名称
キャリパ−エッジを位置特定するCognex社製のパターン認識ツール
Visio−Microsoft社製の作図または二次元コンピュータ援用設計プログラム
FEI図形−本発明の一実施形態でVisio Stencil(ステンシル)に表示されるカスタムマイズされた図形
GEM−(汎用設備モデル)製造工場で半導体製造設備を相互接続するための工業規格プログラミングインタフェース
Gizmo(ギズモ)−図形、ツール、および制御の組み合わせをカプセル化するオブジェクト
GUID−Microsoft社製グローバル一意識別子
HFW−水平フィールド幅
MDI−複数文書インタフェース
MUIF−FEI社製手動ユーザインタフェース。ユーザが顕微鏡パラメータを手動設定することを可能にするノブを含んでいるパネル。
【0034】
OCXファイル−OLE(オブジェクトのリンクおよび埋め込み)基準に関連付けられた制御を含んでいるファイル
PatMax−VisionProライブラリまたは他の製品の部分としてCognex社から市販されているパターン認識ツール
シーケンサー−システムが実行すべき動作の順序を制御するコントローラ
STACOMマップ−FEIのステージ位置補正/修正アプリケーション
ステンシル−事前に構成された複数図形または複数群の図形用位置ホルダ
UI 1280−荷電粒子ビームシステムの動作を制御するためのFEI社製コンピュータインタフェース
VBA−ビジュアルベーシックフォーアプリケーション−アプリケーション補足用のMicrosoft社製オブジェクト指向プログラミング言語
XML−拡張可能マークアップ言語
xP−荷電粒子ビームシステム動作制御用のFEI社製アプリケーションプログラミングインタフェース(API)
以下で説明するC3DまたはIC3Dと呼ばれる実施形態は、ユーザによる拡張を可能にする市販のソフトウェア構成要素を使用して実施される。動作に関連付けられた図形は、Visioを使用して作成されたカスタム図形である。パターン認識のような視覚動作は、Cognex社製のVisionProソフトウェアによって実行される。England、KentのActuate社のKansas、Overland ParkのFormula One Division(正式名称Tidestone Technologies)のFormula Oneスプレッドシートをデータ解析用に使用することができる。荷電粒子ビームシステムを制御するために使用されるインタフェースは、本発明の譲渡人であり、集束イオンビームシステムおよび電子顕微鏡の製造業者であるOregon、HillsboroのFEI社製xPプログラミングインタフェースであることが好ましい。様々な構成要素に対するカスタム制御および構成要素間のインタフェースはVBAおよびActiveXを使用してプログラムすることができる。
【0035】
この実施形態では、1つまたは複数のVisioページは計測構成を含んでいる。ページは、計測構成が設計されているキャンバスである。ユーザは、寸法が示されるべき特徴部分のビットマップ(またはTIFF)画像を挿入することから開始する。Visioは簡素化されたCADプログラムなので、図面の縮尺を提供する。画像ファイルのヘッダーまたはタグは、メートル当たりピクセルの画像縮尺を含んでおり、これにより画像がロードされる際にVisioページ図面縮尺を適切に設定することができる。
【0036】
プログラマーが画像に図形を重ねる際にその画像をガイドとして使用することができるように、この画像をVisioに挿入すると便利である。一度プログラムされると、画像を表示せずに後続場所で動作を自動的に実行することができる。画像ピクセルデータは、画像を表示せずに動作を実行するためにVisio図形に関連付けることができるCognexツールへの入力として使用される。
【0037】
一実施形態では画像はページに結合されるが、この場合、各ページに1つの画像しか関連付けることはできない。3次元特性を獲得するために切断して複数の切断面を撮像することによりサンプルが解析されるような別の実施形態では、1ページ当たり複数の画像が必要となる場合がある。したがって、いくつかの実施形態では、画像ツールを、ステンシルからドラッグしてページに配置する図形とすることが好ましい。撮像を以下でさらに詳細に説明する。
【0038】
Visio図形は、以下でさらに詳細に説明するように実行時の挙動に関連付けることができる。Visioは、FEI社設計によるActiveX構成要素をVisioインスタンスに接続することを容易にする公開されたオブジェクトモデルを提供する。一度接続されると、Visio文書、ページ、および図形は、特注設計の構成要素によってVisioから入手可能とされたプロパティ、メソッド、およびイベントを使用して容易に操作することができる。したがって、VisioオブジェクトはVisio外の動作を制御することができ、Visio外の動作はVisioオブジェクトを制御することができる。
【0039】
各Visio図形は、図形の幾何学的配列と他のプロパティに関する情報を含んでいる独自のShapeSheet(図形シート)スプレッドシートに記載される。例えば、ShapeSheetスプレッドシートは、図形の寸法、およびその頂点それぞれのx座標とy座標とを含んでいる。ShapeSheetの情報の大部分は、ハードコードされた数値ではなく公式を使用して定義することができる。公式を使用することによって、図形はその状況に応じて様々に作用することができる。公式は、標準的な数学的演算子と論理演算子および数学的関数と論理関数を含むことができる。図形がページにドロップした際にその図形を示すために、いくつかの図形に関してShapeSheetに少数のユーザ定義セルが追加される。
【0040】
Visioの中央部分はステンシルだが、これは、通常、寸法を示すこと、または流れ図作成のような関連関数を有する図形を含んでいる。ユーザは、ステンシルから図形をドラッグしてそれらをVisio文書のページにドロップすることにより複雑な図面を構築することができる。ステンシル上の図形はマスターと呼ばれる。Visioの専門的なプロ仕様バージョンは、標準的注釈/寸法提示設計ステンシル上の寸法図形のような複数の有用な図形を提供する。
【0041】
Visioを使用して本発明を実施するために複数のカスタム図形を作成することが、通常、要求される。計測に使用される実施形態の場合、使用されるカスタム図形は、顕微鏡図形、視覚図形、寸法図形、フィット図形、交差図形、およびVBA図形を含めていくつかの主要なグループに分割することができる。
【0042】
顕微鏡図形は、荷電粒子システム、光学顕微鏡、またはデュアル(電子およびイオン)ビームシステムのような物理システムに対する挙動を提供する。これらの図形に関連付けられた挙動は、殊に、撮像、ミリング、およびステージの移動を含む。画像図形は複雑であり、通常はページエリア全体を必要とする。画像は、倍率に基づいてページの縮尺を設定する。ミル図形は、画像倍率によってサイズ指定される単純な長方形とすることができる。ミル図形は、ユーザによってサイズ変更することができ、様々な幾何学図形とすることができることが好ましい。移動図形は、特徴部分のソース位置を、通常は表示フィールドの中心である宛先位置に接続する1−D(一次元)図形である。顕微鏡図形を使用することによって、本発明は、最終画像上で使用するためのグラフィカル計測ツールのみならず、すべての場所処理ソリューションも提供することができる。
【0043】
視覚図形は特徴部分またはエッジを位置特定する。マスターをページにドラッグすることによって図形が作成される場合、ユーザは、その図形を後で識別し易くするためにその図形に名称を与えるよう求められる。適切な構成要素オブジェクトが例示され、図形に関連付けられる。関連付けられた構成ダイアログもページ内に連結される。ユーザは、図形サーチエリア、モデルエリア、原点接続点などを構成することができる。好ましい一実施形態では、構成要素オブジェクトは、Cognex社製のVisionProソフトウェアによって提供された視覚ツールである。Cognex表示は使用しないことが好ましいので、Cognexツールに関連付けられたすべての描画要件はVisio図形で再現される。視覚図形は、例えばPatMax(Cognex VisionPro PatMax)、キャリパ(Cognex VisionProキャリパ)、ラジアルキャリパ(Cognex VisionProキャリパ)、非対称キャリパ(Cognex VisionProキャリパ)、およびBlob(Cognex CVL GBlob)を含む。
【0044】
寸法図形は、距離、傾斜度、または点のどれかである画像上の特徴部分の実際の測定値を提供する。点図形は2つの値、すなわち点のX位置とY位置を戻す。寸法図形をページにドラッグすることによって寸法図形が作成される場合、ユーザは、その図形を後で識別し易くするためにその図形に名称を与えるよう求められる。各寸法に対する列は、図形の名称と、複数次元図形の場合は次元の名称を含んでいる結果スプレッドシートに自動的に追加されることが好ましい。
【0045】
寸法図形例は、Visio注釈/寸法提示−設計ステンシルにある場合があり、水平、水平外側、垂直、垂直外側、外側均等位置合わせ、外側不均等位置合わせ、均等位置合わせ、不均等位置合わせ、弧の半径、半径外側、半径、直径、直径外側、角度中心、角度不均等、角度均等、角度外側、および点(画像調整空間に対して参照される点の位置)を含む。
【0046】
フィット図形は、視覚図形を寸法図形に接続するために使用される。例としては線フィット、円フィット、および線延長がある。フィット図形をページにドラッグすることによってフィット図形が作成される場合、ユーザは、図形を後で識別し易くなるのでこの図形に名称を与えるよう求められる。ユーザは、接続する視覚図形または他の接続図形からの接続点を特定する必要がある。フィット図形の例には、線延長、最小2乗線フィット、および円フィットが含まれる。
【0047】
交差図形は、接続線のような2つの接続図形の交差点にある接続点を維持する。2つの接続図形の交差点は、非常に有用な位置であり、図形のShapeSheetsの属性に基づいて容易に計算することができる。交差図形は、図面のすべての接続図形交差点に対して自動的に生成されることが好ましい。交差図形はページ上で位置特定される。交差図形を計算し、配置するにはリフレッシュメソッドを使用することができ、またはVisioアイドルイベントをトリガとして使用することができる。
【0048】
このようなカスタム図形の一例として、Visio PatMax図形はCognex社製のPatMax(登録商標)視覚ツールを制御することができる。PatMax図形は、Visio基本図形ステンシル上の長方形図形のコピーとして引き出すことができる。Visio図形のプロパティは、ShapeSheetと呼ばれるユーザアクセス可能なスプレッドシート内で定義される。PatMax図形が基本の長方形から引き出される場合、この図形が後でページにドロップされる際にこの図形を識別するためにカスタム定義されたセルが図形のShapeSheetに追加される。図形とPatMax視覚ツールのような挙動オブジェクトとの関連付けを管理するために図形マネージャ制御を作成することが好ましい。
【0049】
ユーザは、PatMax図形を構成することができ、このPatMax図形はCognex PatMaxツールを構成する。例えば、図形の長方形エリアはPatMaxモデルエリアを設定し、このモデルの原点を示すために接続点を使用することができる。接続点は、ユーザが1−D図形の複数のエンドポイントを1つの2−D図形に貼り付けることを可能にするVisio特徴部分である。Visioは、図形上に接続点を配置するためにユーザに接続点ツールを提供する。したがって、ユーザは、サーチエリアと原点とを設定するために図形を操作することができる。PatMaxツールは、モデルエリアと原点だけでなくさらに多くの構成を必要とするので、ユーザが様々な閾値と動作モードを設定することができるように、PatMax図形が図面にドロップされる際に構成ダイアログが表示されることが好ましい。
【0050】
PatMax図形は、PatMaxツールが実行される前にPatMaxツールを調整するために使用される。PatMaxツールが実行されると、PatMax図形はこのツールの実行結果に基づいて再描画される。すなわち、ユーザはツールをプログラムするためにVisio図形を使用するのみならず、このツールの動作結果はVisio図形を部分変更することができる。例えば、ページ上で図形を再度位置特定するために、通常、PatMaxのX位置特定およびY位置特定結果が使用される。モデル原点が図形の唯一の接続点によって表される。PatMaxは、元のサイズまたは向きが変更されてサイズまたは向きが異なってしまったとしてもパターンを照合することができる。位置特定されたパターンが元の図形と異なる縮尺である場合、図形をサイズ変更するためにPatMaxツールからのX拡大縮小とY拡大縮小の結果を使用することができる。角度結果は図形の向きを変える。スコア、すなわち位置特定されたパターンが元の調整されたパターンとどの程度一致しているかを、図形の輪郭の色を変更するために使用することができる。実行時結果に基づいて図形を再描画するという概念は、親子図形の関係によって実現される。当業者ならば、上記のPatMaxの例に基づいて他の図形を実現することができよう。
【0051】
実行時結果に基づいて図形を再描画するという概念は、親子図形の関係によって容易となる。したがって、本発明は、パターンを位置特定してその位置を戻すこと、拡大縮小すること、および位置特定されたパターンに関する回転情報などのPatMax動作のような、図形の挙動が以前の動作の結果によって変わる適応ツールを提供する。
【0052】
図形は、基準点、すなわち寸法を測定するために使用されるべき点を形成するために一体に接続することができる。したがって、計測プロセスは、基準点を位置特定するための画像に対する第1の動作と、次いで固定点間の距離を測定することを含むことができる。場所の整合と面切断を含めて場所全体の動作を構成するためにVisio文書を使用することができる。
【0053】
例えば、薄膜ヘッド計測は、ヘッドの磁極を位置特定するためにPatMaxツールを使用し、ヘッドの幅を定義するエッジを位置特定するために磁極から設定された距離に配置されたキャリパツールを使用することができる。このような関係を定義することは、「固定する」と呼ばれることがよくある。図形の固定は、Visio図形のグループ化を使用して達成することができる。グループは、少なくとも1つの親図形と1つの子図形から構成される。子図形はその親に従う。親に関連付けられたPatMaxツールが実行されると、処理中の現在の場所に対して親のみならず子図形の幾何学的配列も再定義するために実行結果をフィードバックすることができる。
【0054】
概念の1つの応用例として、PatMaxまたはキャリパツールによって配置されたVisio接続点間に1次元(1D)図形を伸張させることができる。次いでこれらの伸張された1D線は、1D線に沿った一定比率の長さでその線から一定比率の距離の所に配置することができる子図形に対する親として使用することができる。これは縮尺を提供し、ユーザはこれを用いて、例えば特徴部分の高さの一定比率のところにおけるその特徴部分の幅を測定することができる。この技術を使用して、ユーザが計測構成を再プログラムすることを必要とせず、高さまたは幅の異なる特徴部分をカバーするように1D線が自動的に伸張する。
【0055】
図2Aは、薄膜記録ヘッドの幅を測定するために使用される図形の組み合わせの一例を示している。薄膜ヘッド202の画像が示されている。Cognex PatMaxオブジェクトに関連付けられたPatMax図形203は、薄膜ヘッド磁極204の一部の上に重ねられる。PatMax図形はエリアおよび原点205によって特徴付けられる。エリアおよび原点は、元々PatMaxオブジェクトを調整する際にユーザによって配置され、調節されたものであり、次いで図形が実行される際に、適宜、原点は自動的に再度配置され、エリアは自動的に再度配置され、サイズ変更され、向きを変えられる。2つのキャリパ図形206は、PatMax図形204から所定の距離だけ上に配置される。各キャリパ図形206は、特徴部分内のエッジ208を示すのとは対照的に変化を発見するためにそのエリア内およびその構成された方向でサーチするCognexキャリパオブジェクトと関連付けられている。各キャリパ図形は、位置特定されたエッジ上に自動的に配置された接続点210を含む。接続点は図形同士を接続するために使用される。1−D図形と2−D図形を接続するために使用される場合、これらは最も有用である。
【0056】
寸法図形はキャリパの接続点に接続することができる。
図2Aは、2つの接続点210に接続するために図面に寸法線216が追加されることを示している。接続点210間の寸法は自動的に計算される。
【0057】
図形が画像に適用される時に子図形が親図形と共に配置されるように、キャリパ図形206および寸法線216はPatMax図形204の子図形として定義される。子図形は、任意選択で親図形によりサイズ変更されるか、または向きを変えられるように設定される。
図2Bは、PatMaxツールオブジェクトが薄膜ヘッドの磁極250を位置特定し、磁極250上にPatMax図形252を再配置し、サイズ変更する一例を示している。
図2Bでは、PatMax図形252は
図2AのPatMax図形204よりも薄い。これは、薄膜ヘッドの磁極250が
図2Aの磁極204よりも薄いからである。また、PatMax図形254は左に移動されている。これは、薄膜ヘッドの磁極250が表示フィールドの中央にないからである。親PatMax図形252に対する子図形であるキャリパ254は、PatMax図形252によって既に再度位置特定されているが、この例では、キャリパ図形254は自動的にサイズ変更するようには構成されていなかった。
図2Cでは、PatMaxオブジェクトツールは、回転された薄膜ヘッド260を位置特定した。PatMax図形262は、それ自体とその子キャリパ図形264の向きを自動的に変える。
図2Dは
図2Bと類似しているが、キャリパ図形270はPatMax図形272によってサイズ変更するように構成されている。
【0058】
図形が実行される順序は、ページ上のそれらのXY位置と同様に重要である。実行順序は図形がページに配置される順序によって決定することができるが、実行をその順序だけに限定するということは極端である。親図形は子図形の位置を制御するので、通常は親図形が最初に実行される。
【0059】
Visioのオープンアーキテクチャは、AddOnがVisioの内部データ集合にアクセスすることを可能にする。したがって、シーケンサーは、実行順序を決定するためにページの図形の集合で位置特定される図形全体を通して反復するようプログラムすることができる。荷電粒子ビームまたは他の撮像システムに対する動作を制御するシーケンサーは、Visio図形に基づいて順序付けることができることが好ましい。
【0060】
Visioページの図形を見ただけで親子関係を確認することは難しいので、図形の関係を表示するためにツリー制御を使用することができる。ツリー制御は、ユーザが階層の同じレベルを占めている図形の実行時順序を変更することを可能にする。大部分の応用例では、親子関係はページで部分変更することができ、ツリー制御を使用しない。
【0061】
ミリング位置合わせ、ミリング、測定位置合わせ、測定およびいかなる他の動作の関数も、Visioページによってそれぞれ実行することができる。Visioは文書が含むことのできる複数のページに対する限定を指定しない。ユーザは、たとえば製品のタイプまたはある種のオペレータ指示などを示すテキストを含んでいる図形のような動作を実行しない図形を追加することもできる。これらの図形は計測シーケンスの部分ではないが、シーケンスツリーはそのページに対する親子関係を依然として示す。
【0062】
カスタム図形は、能動と受動という2つのカテゴリに分類することができる。能動図形は一部の実行可能な実行時の挙動と関連付けられる。例としては、一群の顕微鏡図形の図形がある。受動図形は実行可能な挙動は有さず、能動図形の結果によって移動中のそれら幾何学的配列の部分に反応するだけである。受動図形の例としては、寸法図形、フィット図形、および交差図形がある。
【0063】
Visioはビジュアルベーシックフォーアプリケーション(VBA)と共に供給される。VBAは、アプリケーションエンジニアに、ステンシルのマスター図形にカスタム挙動を関連付けることによって独自のカスタム動作を構築することを可能にする。この場合、これらの図形は、ページとシーケンスツリーに設定されたそれらの実行位置とに配置することができる。受動図形は実行可能な挙動を有さず、能動図形の結果によって移動中のそれら幾何学的配列の部分に反応するだけである。
【0064】
シーケンサーは、後述する能動図形とVBA図形だけを実行する。他のすべては無視される。シーケンサーツリーは、文書図形のすべてを示すモードと、能動図形とVBA図形だけを表示するモードの2つのモードを有することが好ましい。
【0065】
所望の実行時挙動を達成するために、Visioインスタンスに接続されているActivX構成要素を使用することができる。一度接続されると、これらのVisio文書、ページ、および図形は、Visioによって使用可能とされるプロパティ、メソッド、およびイベントを使用してActiveX構成要素により容易に操作することができる。Visioは、MicrosoftがMultiple Document Interface(MDI)アプリケーションと呼ぶものであり、すなわちこのアプリケーションの単一インスタンスが同時に複数文書を開くことができるということである。Visioオブジェクトモデルは、MDIフレームまたは文書ウィンドウにウィンドウを追加するメソッドを提供する。この機能は、多様なActiveXコントロールに組み込むことができる。それぞれのフォームはVisioウィンドウ内で連結される。Visioは、カスタムメニューとツールバーを追加するメソッドも提供する。
【0066】
関連付けられた動作を伴う計測関連または荷電粒子ビーム関連図形のFEIツール集合は、FEIツールを正確な順序で実行することによりアプリケーションが自動化された計測または他の動作を実行することを可能にする。FEIツールの実行順序は、図形をグループ化するユーザによって定義された階層で設定される。実行順序は、一般に、VisioページのシーケンスおよびVisioページ内の親子階層によって決定される。
【0067】
図3Aは、本発明による典型的なVisio画面を示している。このページは、主要ウィンドウ304の走査電子顕微鏡画像302とその画像に重ねあわされた図形とを含む。ユーザは、ソースを特定することから開始する。画像ソースは、撮像機器または事前定義されたビットマップ画像であってよい。画像ヘッダーは、通常、画像がロードされる際にページ描画縮尺の設定を可能にする、メートル当たりピクセルで拡大縮小することを含んでいる。画像を囲むことは、図形ステンシル306、主要ウィンドウに表示する画像を選択するための画像ウィンドウ308、レシピ、すなわち場所に適用することができる完全な計測シーケンスを含むレシピウィンドウ310、および主要ウィンドウでの図形の実行順序を示すシーケンスウィンドウ312を含む追加情報を含んでいる複数の任意選択ウィンドウ(またはフォーム)であってよい。画面300は、標準選択肢とカスタマイズされた選択肢とを含むVisioツールバー320、およびVisioメニューバー322も含む。
【0068】
図3は、複数のウィンドウとツールバーを有するVisio画面300を示す。主要ウィンドウ302は、この例ではディスクドライブヘッドで使用されるような薄膜記録ヘッドの一部である画像304を表示する。ウィンドウ306は、コールアウト図形のステンシル308を示すステンシルウィンドウである。上記のように、ステンシルのマスター図形はマウスを用いて主要ウィンドウ302にドラッグすることができる。主要ウィンドウ302の図形の組み合わせは、新しいマスター図形を作成するためにステンシルにドラッグして戻すことができる。コールアウトステンシル308の下には、例えばPatMax図形およびキャリパ図形などを含む追加の図形を有する計測ステンシル314がある。別の応用例には別のステンシルおよび図形を作成することができる。
【0069】
画面300は、ユーザが主要ウィンドウ302に表示することを選択できる画像を表示する画像プレビューウィンドウ320も含む。画像プレビューウィンドウ320の下には、異なるレシピを含んでいるレシピウィンドウ322があり、各レシピはシーケンスウィンドウ326に表示される一連のステップを含んでいる。シーケンスウィンドウ326は、主要ウィンドウ302の図形に関連付けられた動作が実行される順序を表示する。
【0070】
図4は、主要ウィンドウ406の画像404が位置特定されるウエハのエリアを示すウエハマップウィンドウ402を含めて異なるウィンドウを表示させたVisio画面402を示している。画面402は、測定結果とプロセス統計とを示すための結果ウィンドウ410と、構築レシピおよびオブジェクト階層を表示するための制御ウィンドウ412とを含む。
【0071】
図5は、
図6A〜6Hに示す計測アプリケーションを構築するために使用されるステップを示す流れ図である。当業者には、流れ図に示したステップの一部が同時に実行され、これらのステップが図示した順序に限定されないということを理解されよう。ステップ502で、ユーザは、PatMaxツールのようなパターン認識ツールに対応するVisio図形を画像にドラッグする。パターン認識ツールは、薄膜記録ヘッドのような、位置特定され、測定されるべき特徴部分の輪郭を認識するように既に調整されている。ドロップするかダブルクリックすることによってパターン図形が起動され、またステップ504で、ツールは、対象特徴部分を位置特定するために画像全体または画像の指定された部分をサーチする。
【0072】
ステップ506で、Visio PatMax図形はPatMaxツール動作の結果に従って配置し直される。
図6Aは、PatMax図形602が薄膜記録ヘッド606の磁極604上に配置され、Visio接続点608がPatMaxツールによって戻された原点に配置されていることを示す。ステップ510で、PatMax図形602の子図形であるキャリパ図形610(
図6B)は、PatMax図形602の接続点608に対する所定の位置で画像上に配置される。キャリパ610サーチエリアは、PatMax図形によって戻された縮尺と角度結果に従って拡大縮小し、向きを変えることができる。キャリパ図形610は、薄膜ヘッド606のトップエッジと磁極604のトップエッジとを位置特定し、それぞれのエッジに接続点612および614を配置する。キャリパ図形610は単一のエッジしか位置特定することができず、したがって一方が各エッジを位置特定するようにして2つのキャリパツールが必要となる場合がある。
【0073】
キャリパ図形610は、接続点620、622、624、626、および628も含む。これらの接続点のそれぞれは、薄膜記録ヘッド606の高さを示す、接続点612と616の間の所定の割合の距離に配置されている。ステップ512で、3つの追加キャリパ図形632が接続点624と626の間に配置される。キャリパは3つしか示していないが、薄膜ヘッドの高さの8パーセントと38パーセントの間で5つのキャリパ(キャリパが片側のエッジのみを位置特定する場合には10)が使用される。これらのキャリパはヘッドのエッジ606上で接続点632を位置特定し、配置する。薄膜ヘッド606の角度を特定するためにこれらの接続点が使用される。
【0074】
ステップ514で、ヘッド幅を決定するために2つの追加キャリパ640および642(
図6D)が追加される。キャリパ640および642は、ヘッド606の高さの50%と95%に位置特定される。ステップ530で、線650(
図6E)はヘッド606の両側の3つの点の組632に合わせられる。別の水平な線652が、ステップ530で底部の点632に合わせられる。
【0075】
図6A〜6Eは、特徴部分を位置特定し、特徴部分間に接続点または線を設定するプロセスを示している。
図6Fでは、ステップ530で描画に寸法線が追加され、ステップ532で実際の寸法が決定され表示される。寸法線660はヘッド606の高さを既に自動的に決定しており、その高さを表示する。寸法線662、664、および664は、ヘッド606の全体の高さに対して様々な高さでヘッドの幅を決定し、表示する。角度寸法図形670および672は、線650および線652の間の角度によって決定されたヘッド側壁角度を決定して表示する。
【0076】
ステップ500〜514は特徴部分を位置特定し、固定点を設定することを伴い、ステップ530および532は固定点間を測定することを伴う。すべての特徴部分の固定が完了する前にいくつかの特徴部分に関して寸法が決定される。画像とVisioページ間の縮尺の一致は、実際の特徴部分を測定するためにVisio図形を使用することを容易にする。決定ブロック540で、測定する追加ヘッドがあるか否かをシステムは決定した。追加ヘッドがある場合、シーケンスが反復される。各ヘッドの画像が表示されることは必須ではなく、測定はオペレータの介入なしに実行することができる。
【0077】
図7Aおよび7Bは、この例では浅い溝の単離した特徴部分である、キャリパの一端を固定する特徴部分のない「宙吊り」図形を測定する別の計測構成例である。キャリパ702および704は特徴部分の底部エッジを位置特定し、そのエッジに接続点706および708を配置する。中央キャリパ710は点706と708の間の1−D線図形712の中間点の間に宙吊りになっている。水平キャリパ720および722は、キャリパの高さの指定した比率の所で中央キャリパ710に固定される。
図7Bは、高さが異なっても計測構成が機能できることを示している。
【0078】
本発明のいくつかの実施形態は、測定特徴部分から発見特徴部分を分離することによって更なる柔軟性を達成する。例えば、キャリパおよびPatMaxツールは、ユーザに対象特徴部分のVisio接続点を提供する。次いでユーザはこれらの接続点に寸法図形をスナップすることができる。したがって、連続していない特徴部分間の距離および角度を測定することが可能である。例えば、表示フィールドの第1の部分の画像を獲得することができ、第1の部分で第1の特徴部分を位置特定することができる。表示フィールドの第2の部分の画像を獲得することができ、第2の部分で第2の特徴部分を位置特定することができる。特徴部分のそれぞれを位置特定するPatMaxツールはVisio接続点を各特徴部分の画像に取り付ける。
【0079】
1次元Visio寸法線図形は接続点間に接続することができ、2つの特徴部分間の測定値は決定され、表示され、任意選択でデータベースまたはスプレッドシートに保存される。2つの特徴部分間で連続画像を形成することは必須ではない。透過型電子顕微鏡(TEM)試料調整のようないくつかの応用例では、撮像によって標本が劣化または破壊する可能性がある。本発明は、撮像せずに、したがって中間エリアを破壊せずに損傷を受けやすいエリア全体の測定を容易にする。
図8A〜8Fは、試料を破壊せずにTEMに対する試料を調整するために本発明に従って使用することのできる一連の動作を示している。本発明によって容易になるこのような他の応用例は、当業者には想起されようし、本発明の範囲を逸脱するものではない。
【0080】
図8Aは典型的なTEM試料802を示している。「X」は参照マーク804のように試料の両端で既にミリング済みである。集束イオンビームを使用してTEM試料を間引くことが望ましいが、試料上部806は脆弱でありイオンビームに曝されることで容易に破壊される。撮像動作中にビームに短時間曝されただけでも試料は破壊される可能性があるので、イオンビーム撮像は最小限に抑えられる。本発明は、試料上部をビームに曝すことを最小限に抑えながら、イオンビームを正確に走査してイオンビームを使用してTEM試料を間引くことを可能にする。
図8Bは、TEM試料の中央部分を走査しないようにしたイオンビームによって生成された画像を示している。ビームは、試料の両側にある長方形810を走査するが、ビームは中央エリアは空白になっているか、片側の最後のドエル点からもう一方の側の最初のドエル点までジャンプする。
【0081】
図8Cは、PatMax図形820が参照マーク804の両方を既に位置特定していることを示している。寸法図形822は、参照マーク804の中心でPatMaxツールによって配置された接続点に配置されている。周知の画像縮尺を使用して、寸法図形822は参照マーク804の間の距離を決定する。対応するPatMax図形の子図形であるキャリパ830(
図8D)は、試料の片側にある試料エリアのエッジを位置特定し、キャリパ対832は、試料のもう一方の側にある試料エリアのエッジを位置特定する。キャリパ830のそれぞれは、それが検出したエッジに接続点834を配置し、キャリパ832のそれぞれは、それが検出したエッジに接続点836を配置する。
【0082】
図8Eは、試料エッジのキャリパによって配置された接続点間の試料の撮像されないエリア全体に延長線図形840が配置されていることを示している。線図形840は、試料上部を撮像することを必要とせずに試料上部のエッジを示す。最後に、それぞれが最も近い延長線840の子パターンであるミリングパターン図形850(
図8F)は、上部をミリングせずに試料のエッジを正確にミリングするために、ミリングする場所を正確にイオンビームに示すように配置される。ミリングパターンの正確な配置は、実験的に決定され、試料の構成とビームパラメータに依存することになる。いくつかの応用例では、ミルパターン図形は延長線に僅かに重なる。ミリングパターン図形は、記述されたパターンをミリングするようイオンビームに指示する関連付けられたコードを有する。
【0083】
Visioの統合されたVBAは、ページおよび図形を含むVisio文書、Cognexツールセットを含むCognex VisioPro、カセット、ウエハ、場所リスト、および適応サンプリングの操作のような特定用途向けアイテム、FEIのxPシステムのような機械専用ライブラリを使用する機械の相互作用、バグ固定、回避策、データロギング、およびデータの提示、トレンディング、作図用スプレッドシートのような動作の様々な態様を自動的に取り扱う機能を提供する。
【0084】
VBA挙動はVisio図形に関連付けられている。VBAコードは図形または文書中で位置特定することができる。VBA挙動を図形と関連付けることにより、エンジニアは、シーケンサーで図形を実行する順序を設定すること、図形のShapeSheetにカスタムプロパティセクションを追加し、ユーザがカスタムプロパティダイアログを使用してこれらのプロパティを編集できるようにすること、Visio文書が保存された時にShapeSheetに図形の構成を保存すること、ShapeSheet公式を使用して図形の挙動を一部変更すること、およびEventDb1Clickにより記述されたように図形をダブルクリックすることにより挙動をテストすることを含む多くの関数を実行することができる。
【0085】
ユーザが図形をダブルクリックすると、シーケンサーは図形のEventDblClickセルに含まれている関数を実行する。デフォルトでは、このセルは、OPENTEXTWIN関数を含んでいる。この関数は、ユーザが図形上でマウスをダブルクリックした時にテキストを編集することができるように、図形のテキストブロックを開く。VBAプログラマーは、実行されるべきカスタム挙動のメソッド名をEventDb1Clickセルに入れることができる。図形の/挙動/ダブルクリック/実行マクロメニューは、図形に対して実行することのできる使用可能なマクロのリストをVBAプログラマーに提供する。通常、この関数はThisDocument.Runのフォームである。
【0086】
VBAプログラマーが適切な関数を一度選択すると、プログラマーは図形上でダブルクリックするだけで挙動をテストすることができる。一実施形態では、シーケンサーはOPENTEXTWIN関数を実行しないようにプログラムされている。何故ならば、この関数は、能動でない非VBA図形ではデフォルト関数であり、この関数はVisio以外では何も制御しないからである。シーケンサーは、無視する関数のレジストリベースのリストを参照する。但し、いくつかの実施形態では、OPENTEXTWINだけが実行可能でない関数である場合がある。
【0087】
VBA図形は、シーケンサーツリーの能動またはVBA図形のフィルター処理済みリストに表示される。ユーザは、能動またはVBA図形でシーケンスの実行を開始することができる。VBAプログラマーは、VBA図形を作成した時にシーケンサーツリーがそれをVBA図形であると識別できるようにVBA図形のShapeSheetにUser.ActiveShapeセルを追加することができる。
【0088】
Visio図形を物理装置に接続する方法の一例として、移動およびミル顕微鏡図形の詳細な説明を以下に示す。これらの図形を例として使用することにより、当業者は様々な応用例に対するカスタム図形を作成することができる。
【0089】
図9は移動図形の使用例を示している。移動図形はブロック図/基本図形/クロス図形、および注釈/一般的なコネクタ/ミッドアロー図形を含む複合図形である。移動図形を使用するために、ユーザは、PatMax図形の原点904のような移動されるべき特徴部分と、十字形図形906によって示されたページ中心のX=0、Y=0位置のような要求された宛先との間に1−D線902を接続する。移動図形のソース位置は、ステージのランディング精度によって異なる。1−D接続線902は、ソース904と宛先906の間の接続を維持するために伸張する。移動図形を選択することにより構成ダイアログが表示され、これによりユーザは移動を構成することが可能になる。図形をダブルクリックすることにより移動が実行される。
【0090】
移動動作を実行するために移動図形は顕微鏡へのリンクを有する。顕微鏡挙動を提供するソフトウェアオブジェクトは移動オブジェクトと呼ばれる。移動図形は移動オブジェクトのユーザインタフェースの部分となる。移動図形と移動オブジェクトの組み合わせは移動ツールと呼ばれる。移動ツールの挙動はユーザから簡素に見えるべきである。ユーザは宛先とソースを単純に選択する。
【0091】
移動ツールは、X、Y、およびZ翻訳とステージ回転移動を制御して相対的移動と絶対的移動を可能にし、電子とイオンビームの一致を維持し、焦点を維持し、ビームシフトとステージ移動の組み合わせを使用して最も効率的な方法で移動を実行することが好ましい。列ごとのビームシフトの最大量は構成可能である。移動ツールはまた、顕微鏡のノーズの容量プローブ高さ測定値と高度マップの組み合わせに基づいてZ訂正を利用し、ユーザの単位と「n」点の位置合わせを管理し、XYステージ訂正STACOMマップ、すなわちステージを正確に配置するために使用されるステージ移動の非線形マップを管理し、ステージと試料ホルダの連携によるXY電子ビーム偏差を管理し、軸ごとにバックラッシュを構成することを可能にし、ウエハの平坦さに応じて容量プローブ使用の2つのモードを管理することも好ましい。
【0092】
移動ツールは、その移動が不成功となり顕微鏡が「Stage Ready by Timeout」ステータスのようなエラーインジケータを戻した場合に指定した移動を複数回再実行する手段を提供することも好ましい。移動ツールはまた、累積ステージ位置とビームシフトに基づいて位置をサンプリングし、Stage Ready by Timeoutステータスおよび移動した累積ステージ距離を含む診断データを提供すべきである。
【0093】
顕微鏡図形の別の例はミル図形であるが、これは、例えば基礎をなす層または切断面を露出させるために集束イオンビームシステムに加工物表面から材料を取り除かせる。一実施形態では、ユーザは、PSConvertアプリケーション(後述)を使用してミルパターンを設計する。ユーザは、ミリングステンシルに複数のミルパターンマスターを追加することができる。この場合、ユーザはこれらをページにドラッグすることができる。
【0094】
ミリングパターンエリアと位置はPSConvertによって通常はX=0、Y=0に固定される。ユーザは、図形をページにドラッグすることによってパターンの位置を変更することができる。この擬似移動はビームシフトを使用して達成される。ベクトルエリアは水平フィールド幅(HFW)に依存し、したがってHFWが変更された場合はパターンの表示されたベクトルエリアが更新される。
【0095】
ミル図形が作成または選択される際、構成ダイアログが起動される。構成ダイアログは、ユーザが、アパーチャサイズ、ビーム電流、スポットサイズ、焦点、スティグメーション、並びにガスの名称を含む高圧およびガス圧入システムパラメータを含む列パラメータを構成することを可能にする1組のタブを含むことになる。図形上でダブルクリックすることにより、ユーザ確認後にパターンがミリングされる。
【0096】
別の顕微鏡ツールは画像獲得ツールである。画像は、ユーザが他の図形を配置する基準として使用する「壁紙」を提供する。画像獲得が画像表示と分離された場合、画像機能を簡素化することができる。画像獲得ツールは、どの粒子ビーム(イオンまたは電子)または光学顕微鏡を撮像に使用するかをユーザが選択することを可能にすることが好ましい。ユーザは、イオン、電子または光学図形をステンシルからページにドラッグすることによりビームまたは顕微鏡を選択する。画像図形がステンシルからページにドラッグされた時、現在のxP画像走査パラメータと水平表示フィールドが引き継がれることが好ましい。画像獲得ツールは、ユーザが水平フィールド幅(倍率)、走査パラメータ、ビームパラメータ、およびディテクタパラメータを設定することを可能にする。ユーザは、表示フィールドを、例えば図形の幅および高さを設定して走査エリアを設定することにより選択する。図形は、シーケンス内のプレースホルダーであり、ユーザはダイアログにより、またはFEI社製UI1280集束イオンビームシステムインタフェース、手動グラフィカル制御インタフェースのような撮像ツール固有のインタフェースを使用して、もしくは場合によっては機械の手動ノブを使用しても走査エリアを変更する。
【0097】
画像を表示するにはページへの画像制御の挿入が必要となる。これは、Microsoft Forms2.0フレーム制御を使用して実行することができる。要求された機能はVisioの背景ページにフレーム制御を挿入することによって達成することができる。背景ページを使用することはユーザが図形を誤って選択しないという更なる利点を有するが、文書全体に背景ページは1つしか必要とされないため、この技術はページを単一画像に限定する。
【0098】
ページの縮尺はミクロン当たり画像ピクセルのプロパティを使用して設定することができる。画像縦横比は能動ビームとステージの傾斜によって決定することができる。通常、フレームは標準xP 512
*442の縦横比となる。ページ縮尺はxP HFWと一致するように設定される必要があるので、各画像図形は新しいVisioページを必要とする。いかなる実現可能な画像の傾斜でも考慮するために別個のXおよびYページ縮尺を使用することができる。
【0099】
次いでユーザは、手動ユーザインタフェース(MUIF)ノブを使用してHFWを自由に変更し、いかなる変更によってもページ縮尺は更新される。さらにユーザはページを自由にサイズ変更し、選択されたエリア走査を効果的に作成する。ユーザが走査エリアを変更するとxP HFWが調節される。これは、能動列に対して確実に正規のHFW値が設定されるように慎重な計算を必要とする。
【0100】
ユーザがHFWを減らした場合、壁紙画像は新しい画像サイズに合うようにクロップされ、ズームされる。HFWが増やされた場合、撮像された壁紙は新しい画像サイズに合うようにズームアウトされ、中心に置かれ、この結果、画像周囲に空白エリアが表示される。
【0101】
画像図形が作成または選択されると、構成ダイアログが起動される。構成ダイアログは、ユーザが、画像サイズ、画像解像度、およびピクセルドエルを含む走査パラメータ、アパーチャ、ビーム電流、スポットサイズ、焦点、スティグメーション、および高圧を含む列パラメータ、およびディテクタ、バイアス、グリッド、コントラスト、および輝度を含むディテクタパラメータを構成することを可能にする1組のタブを含む。
【0102】
画像図形が構成されると、その上をダブルクリックすることによって画像フレームがそこに取り込まれる。ユーザが走査エリアとHFWの構成に一度満足すると、図形はそのすべての保護をイネーブルさせるべきである。これは、ユーザが画像上の他の図形を操作しようとする際に誤って画像図形を移動することを防止する。
【0103】
実行順序は、ページの順序とページ内の図形の順序の2つの階層に分割される。Visioはユーザがページタブ上で右クリックすることによってページを再順序付けすることを可能にするので、ページを順序通りに実行することが好ましい。したがって、各ページは、ページ内の図形の実行順序を指定する独自のリスト制御だけを必要とする。これは図形リストを含んでいる簡素な連結ウィンドウであってよい。ページは本質的に図形の集合なので、図形シーケンスデータはページShapeSheet内に
好適に記憶される。
【0104】
ページ内図形の全体的な実行順序は、各図形を通して反復することにより確認することができる。
図10は、典型的なABSヘッド計測アプリケーションの実行順序を示している。
【0105】
Visioで使用可能なカスタムプロパティ、データ、イベント、およびメソッドは、本発明を実施する際に有用である。Visio図形は、例えば、PatMaxコントラスト閾値など、非視覚情報を記憶するために使用することができる。Visioは、追加データを記憶するために複数の特徴部分を提供する。これらは、Shape.Data1/2/3と総称されるShape.Data1、Shape.Data2、およびShape.Data3のオブジェクトプロパティの3つの多様なデータメンバーを含む。これらの3つのメンバーは、少なくとも64Kのテキストの容量を有するように表示される。Data1/2/3メンバーは、例えばCognex永続データなど、図形に関連付けられた任意のカスタム(非Visio)XMLデータに対する便宜的な記憶域を提供する。図形が複製またはコピーされた時にカスタムデータもコピーされるので、カスタムデータを図形と関連付けることは非常に有用である。Visio図形は、データベースウィザードアドオンを使用して様々な方法でデータベースレコードにリンクすることもできる。
【0106】
Visioは、カスタムプロパティ、ShapeSheetのユーザおよびスクラッチエリアに情報を記憶することも実現する。Visio ShapeSheetは、ユーザがShapeSheetセクションのどれにでも「ユーザ」フィールドを追加することを可能にする。
【0107】
構成データをXMLフォーマットでShape.Data1/2/3フィールドに記憶することが可能である。Cognex VisionPro PatMaxおよびキャリパツールは、XMLシリアル化メソッドをサポートする。Cognexは、CogFileオブジェクトのロード/保存メソッドを使用してこれらのシリアル化メソッドを設計した。ファイルを使用する代わりに図形のDATA1プロパティをシリアル化ターゲットとして使用することが好ましい。何故ならば、図形がコピーされる際にそれらのDATA1の内容もコピーされるからである。Visio文書を保存することによっても当然ながらDATA1の内容は保存される。したがって、マスター図形はインストール時にディフォルトカスタムによって構成することができ、このデータは図形がステンシルからドラッグされる時にコピーされる。
【0108】
PatMaxおよびキャリパXMLデータは、例えば以下のステートメントを使用することなどにより図形のDATA1プロパティを使用して保存することができる。
【0109】
mShape.Data1=CogMisc.SaveObjectToString(PMTool,cogPersistOptionAll−cogPersistOptionInputImages−cogPersistOptionOutputImages,cogPersistFormatXMLWithLineBreaks)
また、データは以下のステートメントを使用してロードすることができる。
【0110】
SetPMTool=CogMisc.LoadObjectFromString(mShape.Data1,,cogPersistOptionAll)
実行可能なコードをテンプレート、文書、ステンシル、またはActiveXコントロールに追加することができる。一実施形態は、ActiveXコントロールを自動化挙動の主要位置として使用する。
【0111】
基本的な実施態様はおよそ30の基本図形を含むことができる。これらの半分以上は、通常、元のVisio挙動にほとんど修正を必要としない寸法図形である。これらの簡素な図形をコピーし、修正することによって、ユーザは複合図形の数百、または場合によっては数千の組み合わせを構築することができる。したがって、ソフトウェアの新しいバージョンのインストールができる限り簡単になるように、図形にはコードをできるだけ入れないことが好ましい。
【0112】
ActiveXコントロールを使用することにより、既存のインストールがさらに単純明快になるように更新される。これは、新しいマスターを作るためにマスターステンシルをコピーする時に、図形に関連付けられた追加の図形コードはコピーされず、スプレッドシートデータだけがコピーされるからである。
【0113】
ある種のフォームの制御は、ユーザが図形に対してある種の動作を実行する際に指示された挙動を実行することが要求される。Visioは、ユーザの動作をShapeSheetイベントとVisioアプリケーションイベントの2つの別個の方法に分割する。
【0114】
図形のShapeSheetのイベントセクションは、以下のイベントが行われる際に実行されるべきファンクションコールを指定するセルを有する。ShapeSheetイベントは、図形がダブルクリックされた際に行われるEventDb1Clickと、図形が描画ページにドロップされた際に行われるEventDropと、ページ上での図形の向きまたは位置が修正された際に行われるeventXFModとを含む。EventDropは、対応する図形がスプレッドシートにドロップされた際に、ミルオブジェクトのようなオブジェクトを作成、構成するために有用である。EventXFModは受動図形を定義するなどのために有用であり、EventDb1Clickは図形に関連付けられた動作を実行するために有用である。
【0115】
ShapeSheetイベントは単一の図形イベントを処理するために使用される。これらのイベントは、セルの内容がイベントハンドラを示す時にCALLTHISまたはRUNADDONコマンドを使用することによって処理される。これらのイベントは、Visual Basicイベント処理を書き込まずに自動制御を可能にする。いくつかの関数はVBイベント処理を必要とするので、ShapeSheetイベントは実際には利点ではない。EventDb1ClickのようないくつかのイベントはShapeSheetでのみ使用可能であり、EventDropのような他のイベントはVisio Application ShapeAddedイベントによって使用可能である。
【0116】
図形に関するVisioアプリケーションイベントは、単一または複数の図形イベントを処理する。Visioアプリケーションイベントは、ShapeSheetイベントセルを構成するために必要とされる特別な労力なしに各タイプのインスタンスに対して一般的なイベントハンドラを提供する。これらの一般的なイベントにより、Visio文書、ページ、および図形マネージャを設計することができる。
【0117】
ShapeAddedイベントはVisio文書に1つまたは複数の図形が追加された後にトリガされ、SelectionAddedイベントは複数の図形の追加のために一度呼び出される。ShapeChangedイベントは、セルに記憶されていない図形のプロパティがVisio文書で変更された後に行われる。SelectionChangedは複数の図形選択のために一度呼び出される。このイベントは、あるグループでの2−D図形の移動、または1−D図形の接続点の移動などのように図形が移動される際の特定の状況で有用である。ShapeParentChan
gedイベントは、図形がグループ化されるか、または1組の図形がグループ化解除された後で行われる。実行階層図を再描画するために有用である。BeforeShapeDeleteイベントは図形が削除される前に行われ、BeforeSelectionDeleteが複数の選択のために一度呼び出される。これらのイベントは、図形を削除し、図形の階層図を再描画するために有用である。BeforeDocumentSave/AsイベントはVisio文書が保存される直前に行われ、FEIオブジェクトデータを図形DATA1セルに保存するために有用である。
【0118】
多くの他のイベントがVisioで文書化され、当業者ならば特定の実施態様に適用可能な適切なイベントを選択することができよう。例えば、DocumentOpenedイベントはVisio文書が開かれた後で行われ、図形階層図を描画するために有用である。PageAddedイベントはVisio文書にページが追加された後で行われ、図形階層図を再描画するために有用である。PageChangedイベントはページ名、ページに関連付けられた背景ページ、またはページのタイプ(前景または背景)が変更された後で行われ、図形階層図を再描画するために有用である。NoEventPendingイベントはMicrosoft Visioインスタンスがそのイベント待ち行列をフラッシュした後で行われ、図形がすべての幾何学的配列の変更を完了した際に結果スプレッドシートのリフレッシュを開始するために有用である。ShapeChangedイベントを受け取る図形は「ダーティ」フラグを設定すべきである。NoEventPendingハンドラは「ダーティ」フラグを照会し、適切に動作することができる。ウィンドウが別のページを表示した後で行われるWindowTurnedToPageイベントは、図形階層図を再描画するために有用である。
【0119】
Cognexは、サーチ動作を実行する挙動オブジェクトを表すために「ツール」という用語を使用する。Cognexは、ユーザがツールを構成するために使用するActiveXコントロールを表すために「制御」という用語を使用する。Visioは、ステンシルからドラッグされて図形に配置されるオブジェクトを表すために「シェイプ(図形)」という用語を使用する。FEIは、図形、ツール、および制御の組み合わせを表すためにGizmoという用語を使用する。
【0120】
Gizmoは、Visio図形のような幾何学的配列のプロパティを有するオブジェクト、ActiveX構成制御のようなソフトウェア制御、視覚ツールまたは機械インタフェースのようなツールオブジェクトというオブジェクトを含む。Gizmoは、FEIがFEIまたはCognex PatMaxツールのようなサードパーティ構成要素をラップし、それをVisio図形に関連付けることによって設計されたCOMオブジェクトである。Cognex PatMaxツールは、挙動論理を含んでいるCogPMAlignツールオブジェクトと、ユーザが挙動論理を構成することを可能にするCogPMAlignCtl ActiveXコントロールとを含んでいる。図形のShapeSheetは、図形のタイプを示すUser.GizmoIdセルを含む。GizmoIdとこれらに関連付けられたGizmo ProgIdの集合はレジストリで維持される。Gizmoは、サードパーティの「ツール」インタフェースをGizmoManager(ギズモマネージャ)が処理できる一般的なインタフェースに変換するラッパーと見なすことができる。
【0121】
追加のGizmoはプログラムを再インストールせずにインストールすることができる。アプリケーションエンジニアはVBAコードモジュールを書き、そのモジュールをステンシルの図形に関連付けることができる。これらは「カスタムGizmo」と呼ばれる。カスタムGizmoは、アプリケーションエンジニアが追加のデータロギングおよびシステム予備手段ツールを作成することを可能にする。VBAコードはステンシルに関連づけられるべきである。
【0122】
GizmoManagerは、CogPMAlignCtlデータを図形のDATA1プロパティに直列化するためのトリガとしてVisio BeforeDocumentSaveイベントハンドラを使用することができる。Visio文書全体が保存されているので、BeforeDocumentSaveイベントハンドラはGimzo集合全体を通して反復する必要があり、これによってGizmoのデータはすべてそれらの関連付けられた図形のDATA1プロパティに直列化される。
【0123】
Gizmoは、Gizmoによってユーザとシーケンサーの対話を管理するように設計されたVisio AddOnであるGizmoManagerによって管理される。GizmoManagerは、初期化、実行、保存、および削除のメソッドと、Shape、ResultsSheet、Type、IDのプロパティと、成功/失敗ステータスを含むPreRunおよびPostRunのイベントとを有するインタフェースを供給する。GizmoManagerは、一般に、Visioイベント、押しボタン、およびそのメソッドを呼び出すメニューによって駆動される。
【0124】
図11は、ユーザが図形をページにドラッグしてGizmoがインスタンス生成される際に行われる一連のイベントを示している。ステップ1102で、ユーザは図形をステンシルからVisioページにドラッグする。ステップ1104で、Visioは、ShapeAddedイベントが実行済みであることを認識し、イベント処理コードを対象とする。ステップ1106で、GizmoManagerのShapeAddedイベントハンドラは、User.GizmoTypeIDに関して図形のShapeSheetのユーザセクションに問い合わせることによってその図形がGizmoか否かを判定する。ユーザセルが存在する場合、ステップ1108でGizumoManagerは、インストールされたGizmoの集合全体で反復するためにGizmoTypeIDを使用することによってGizmoのインスタンスを作成することを試みる。Gizmoが正常に作成されると、ステップ1110でGizmoManagerは図形のDATA1プロパティを問い合わせる。DATA1は、ロードメソッドを使用してGizmoを構成するために使用される11MLデータならばどれでも含む。XMLデータの大多数はツールオブジェクトの構成である。
【0125】
ステップ1112で、GizmoManagerはShapeName(図形ネーム)とツールオブジェクト参照をGizmo集合に追加する。この時点で、ユーザには、図形の名称をPMTool.SiteAlignのような何らかの適した名称に変更するよう求められる場合がある。Gizmoが正常に作成されると、ステップ1114でGizmoAddedイベントが始動され、これによりステップ1120でGizmo階層制御はそのページの他の図形に関連する新しい図形を示すよう再描画され、ステップ1122でGizmoManagerは結果ワークシートに列を追加する。Gizmoが無効である場合、ステップ1126でGizmoが正常にインストールされなかったことを失敗の理由と共にユーザに示すダイアログが表示される。ダイアログを閉じる際に、ステップ1128で図形が削除される。
【0126】
この時点で図形がページで選択されたので、Visioはステップ1130でShapeSelectedイベントを発効すべきである。GizmoManagerのShapeSelectedイベントハンドラは、ステップ1132でAddOnウィンドウに構成制御を表示するためのトリガとしてこれを使用する。複合図形マスターが追加されたとしてもVisioは1つのShapeAddedイベントしか送信しないので、ステップ1140でGizmoManagerのShapeAddedイベントハンドラを、子図形に対する必須のGizmoを作成して、ShapeAddedイベントによって供給されたVisio図形オブジェクト全体で反復する必要がある。通常、子図形はステンシルで指定済みの適合した名称を有することになる。
【0127】
図12は、GizmoManagerの機能ブロック図と、それらブロック間の情報の流れを示している。
【0128】
Gizmoマネージャは、ユーザがFEI図形で特定の動作を実行した際に行われるイベントを制御する。図形、動作、およびイベントに対するGizmoManagerの典型的な反応を以下の表に示す。
【0130】
Gizmoの一例としては、Cognex VisionProソフトウェアからのツールに基づいたPMToolがある。Gizmoは、Visio図形、ActiveX構成制御、およびツールオブジェクトを含む。
【0131】
Visioは、幅
*0.5、高さ
*0.5の接続点を有する長方形というだけの図形を提供する。VisionProは、構成制御であるCogPMAlignCtlと挙動COMオブジェクトであるCogPMAlignToolを提供する。Visio図形はCogPMAlignToolを調整するために使用される。CogPMAlignToolの対象領域はVisio図形のエリアによって設定される。簡約化のため、パターン原点は対象領域中心に固定されている。ユーザが接続点を移動することを可能にするようパターン原点を定義するために接続点も使用することができる。
【0132】
1つの図形からのデータがVisioページ、構成ダイアログのタイトルバー、データロギングワークシートの複数列、およびシーケンスツリー分岐上の図形の上に表示される。したがって、図形にそれ自体を識別するための名称を与えることが好ましい。それがVisioページに対する最初のドロップの場合、ユーザはその図形を命名するよう求められる。ユーザは、PMTool1.3など、Visioによって提供されるデフォルト名を使用することを選択することができるが、図形を、PMTool.SiteAlignmentのようなより記述的な名称で残すことによってレシピはより維持可能になる。
【0133】
xP、Visio、およびVisionProは異なる座標系を有するので、ある種の座標系転換が必須である。xPは監視フィールド中心の原点を使用し、Visioは左下を使用し、Vision Proは左上を使用する。プログラミングを容易にするためにxP座標系が好まれ、座標系変換は非常に単純明快になる。Visioは、所与の図形の座標空間をそのページの別の図形またはそのページ自体の座標空間に変換するために使用することができるLOCTOLOCコマンドを提供する。
【0134】
以下の公式は、図形のX軸中心をページの中心に変換する。
【0135】
(PNTX(LOCTOLOC(PNT(LocPinX,LocPinY),Height,ThePage!PageHeight))−(ThePage!PageWidth
*0.5))
ページの縮尺は、画像のミクロン当たりピクセルに従って設定される。Visioは、所与の図形の角度をそのページの別の図形またはそのページ自体の角度に変換するために使用することができるANGLETOLOCコマンドも提供する。
【0136】
ANGLETOLOC(Angle,ThePage!PageWidth,ThePage!PageWidth)
以下のコードは、画像ピクセルをVisionProから中心に置かれたミクロンに変換する。
【0137】
Dim t As New CogTransform2DLinear
‘Skew by PI,Offset by Image Width/2 and Height/2 to align Vx Coords to xP Coords was 96/25.4
t.SetScalingAspectRotationSkewTranslation ImagePixelsPerNanometer,1,0,PI,_
IDBTool.OutputImage.Width/2,IDBTool.OutputImage.Height/2
以下のコードは、縮尺をピクセルからナノメートルに変換する。
【0138】
IDBTool.OutputImage.CoordinateSpaceTree.AddSpace“/”,“nm”,t
IDBTool.OutputImage.SelectedSpaceName=“nm”
画像ツールは、画像データをVisionPro画像データベースオブジェクトまたは決定されたいかなるオブジェクトにでもロードすることを担当する。
【0139】
ツール構成/テストのため、およびシーケンスの一部としてツールを実行するために機能できるように、PreRun、Run、PostRun、および構成ダイアログ起動が実施される。ユーザは、CogPMAlignCtlを使用してツールを構成する。この制御は、そのツールバー上で実行ボタンを位置特定する。ユーザは、調整後の構成をテストするために実行ボタンを使用する。実行ボタンは実行メソッドを呼び出す。実行メソッドはシーケンサーによっても呼び出すことができる。
【0140】
PreRun、Run、PostRunダイアログの起動は、実行メソッドを呼び出した結果すべて実行される。これは、CogPmAlignCtlの実行ボタンと完全に整合している。CogPMAlignToolは、本発明の実施形態に必要となるすべての機能を提供するわけではない。座標系転換とデータベースへの実行時結果の出力とはある種の付加的な挙動を必要とする。したがって、FEIPMAlignToolオブジェクトは以下の挙動と共に作成されることが好ましい。
【0141】
実際の実行メソッドが呼び出される前に、制御は、プレ実行コードならばどれでも最初に実行できるようにするためにPreRunイベントを始動させる。PreRunはVisioからVisionProへの変換を調整するが、これは調整時に必要とされる。ユーザはCogPMAlignToolのサーチエリアを設定できることが好ましい。このメソッドを実行することによってCogPMAlignTool実行メソッドが呼び出され、調整、実行、結果などに対してCogPMAlignをカプセル化することが要求される。実行メソッドが完了するとVsionProはPostRunイベントを始動させる。ポスト実行動作は、関連付けられたVisio図形を配置し、データをロギングワークシートに出力するようサーチ結果を変形するためにVisionProからVisioへの変換を調整する。このコードは、Visio図形を現在の画像に対するサーチXY位置に移動し、ツールの結果をロギングワークシートに送る。
【0142】
ユーザがFEIタイプ図形を選択する際、関連付けられた構成ダイアログが表示される。CogPMAlignToolはControlProgIDプロパティを有する。CogPMAlignCtlを作成し、これを構成フォームの集合に追加するためにこのデータを使用することができる。CogPMAlignCtlのサブジェクトをCogPMAlignToolのインスタンスに設定する必要がある。
【0143】
CogPMAlignCtlは、不要な特徴部分のいくつかを除去するよう修正されることが好ましい。CognexはVBソースコードを提供するので、制御の修正は完全に許容可能である。
【0144】
Visio文書は、レシピに対する完全な場所の動作を含んでいる。これらの動作は複数のページに渡って分散される。各ページはビーム、倍率、および傾斜に基づいて画像を定義する。ページに対する動作は、画像ビーム、倍率、および傾斜を基準とする。Visio文書内のページの順序は、各ページが実行される順序を定義する。ユーザはページを再順序付けすることができる。再順序付けはVisio関数として既に提供されている。ページの図形の親/子階層は実行順序を設定する。ユーザは、同じ階層レベルの図形を再順序付けすることができ、したがって親/子関係は保存される。ユーザは子図形を親関係の中にドラッグし、また親関係からドラッグすることができる。Visio文書構造はシーケンサーに入力データを提供する。
【0145】
「シーケンスエクスプローラ」ツリー表示はVisioの描画エクスプローラに類似している。これは、ページおよび図形の実行順序および階層の視覚表現を提供し、ユーザが図形およびページの実行順序を再順序付けすることを可能にすることが好ましい。再順序付けはVisio文書構造を更新するために必要とされる。ツリーのノードをクリックすることにより関連付けられたページと図形が起動される。図形を起動することにより、図形のツール構成ダイアログが表示される。ツリーはVisio文書構造を使用して構築される。Visio文書がシーケンサーに入力データを提供するので、図形名を構成制御(ダイアログ)と挙動オブジェクト(数ラインのxPLibコード)に関連付けるためにデータ集合が要求される。Visioの描画エクスプローラによってシーケンスエクスプローラ機能を提供することができる。描画エクスプローラは、図形またはページを再順序付けする機能は提供しない。ページはVisioのページタブを使用して再順序付けすることができる。
【0146】
構成制御は、親ウィンドウがVisioウィンドウになる単一フォームに収納されることが好ましい。構成制御は、Visio Pageを親とするVisioのvisAnchorBarAddonであっても、Visio MDIフレームを親とするvisDrawingAddonであってもよい。
【0147】
同じタイプの図形がいくつアクティブな文書にあるかに関わらず、構成制御タイプのインスタンスは1つだけ作成される。AddOnウィンドウは空白のVBフォームを含む。図形マネージャは、新しいタイプの構成制御が作成され、制御集合に追加されるべきか否かを判定するために、ControlForm制御の集合全体で反復するためにVisio ShapeAddedイベントハンドラを使用する。構成制御は、関連付けられた図形がユーザによって起動された際に制御のサブジェクトプロパティが挙動オブジェクトインスタンスに設定される場合、Cognex VisionProモデルに準拠することが好ましい。図形マネージャは、どの制御が他のすべてを表示させ、また隠すかを決定するためにVisio SelectionAddedイベントハンドラを使用する。これは、VisioがShapeSelectedイベントの前にShapeAddedイベントを始動させることを想定している。
【0148】
一度にアクティブなのは1つのタイプの構成制御だけである。ユーザが異なるタイプの複数の図形を選択した場合、AddOnウィンドウは、「No Common Properties」の存在を示す空白フォームを表示する。これは、Visio Shape Size&Position Dialog挙動と直列である。
【0149】
ユーザが同じタイプの複数の図形を選択した場合、構成制御のサブジェクトは、選択集合の最初の図形のサブジェクトに設定される。変更されたプロパティのどれでも、選択集合の全図形の全挙動オブジェクトに適用される。これは、Visio Shape Size&Position Dialog挙動と直列である。これは図形対象領域を含む。
【0150】
図形を選択することによって一度作成されると、AddOnウィンドウは常に表示されることになる。図形が全く選択されない場合、「No Selection」の存在を示す空白フォームが表示される。AddOnウィンドウのタイプがvisAnchorBarAddonの場合、ユーザはこれを閉じることができる。ウィンドウがvisDrawingAddonの場合、これを閉じることはできない。
【0151】
Gizmoによって開発されたデータは、埋め込まれたスプレッドシート/ワークシートを対象とする。各EFI Gizmoは、ユーザがどのデータがどのワークシートを対象としているかを指定することを可能にする構成タブを有する。
【0152】
通常、寸法図形から導かれた計測寸法は、デフォルトでは結果ワークシートを対象とするが、ユーザは代替ワークシートを指定することができる。PatMaxおよびMoveのような他のGizmoは診断用と見なされるデータを有する。非寸法Gizmoは、通常、それ独自のワークシートを有する。
【0153】
Gizmoマネージャは、図形のカスタムプロパティに対処するのに十分なほど洗練されていることが好ましい。カスタムプロパティは、アプリケーションエンジニアに、カスタム図形にデータ入力制御を容易に提供するメソッドを与える。各Gizmoに対するEditControlは、Visioカスタムプロパティダイアログを連結するために使用することができる空白タブを有する。Gizmoマネージャは、選択された図形がカスタムプロパティセクションを有するか否かを判定し、カスタムプロパティダイアログをEditControlタブに連結する。
【0154】
半導体業界は急速に変化する性質があるので、将来の計測要件を正確に予測することは不可能である。したがって、原始的なGizmoの集合を構築するにはグラフィカルな計測が望ましい。原始的なGizmoのVisio図形は、複雑な(または複合)計測Gizmoを提供するためにグループ化または接続を使用してアプリケーションエンジニアまたは顧客の計測エンジニアにより連結することができる。この方式は、複合計測を実行するために多数のカスタムGizmo用にソフトウェアを書くことをソフトウェアエンジニアに要求しない。
【0155】
したがって、計測Gizmoは、Visioの容易な使用と組み合わされてスクリプト記述の柔軟性を提供することが好ましい。多くても、FEIアプリケーションエンジニアと顧客計測エンジニアは、原始的な図形を連結し、要求される複合計測図形を構築するためにVisio ShapeSheet公式を書く必要がある。一度構築されると、これらの複合図形はVisioステンシル上に置くことができる。
【0156】
計測Gizmoは、Visioの容易な使用と組み合わされてスクリプト記述の柔軟性を含むことが好ましい。多くても、FEIアプリケーションエンジニアと顧客計測エンジニアは、要求される複合計測図形を構築するために原始的な図形を連結するようVisio ShapeSheet公式を書く必要がある。一度構築されると、これらの複合図形はVisioステンシル上に置くことができる。
【0157】
いくつかの実施形態は、他の図形を連結するためにヘルパー図形を使用する。ヘルパー図形は、Visio実行時挙動だけを有し、関連付けられたGizmoは有しない。これらは、画像処理、特定の寸法に合わせること、または顕微鏡関数を実行せず、EditControlを有さないが、Visioカスタムプロパティを有する場合がある。これらの唯一の関数は、キャリパのようなアクティブな図形を連結することである。ヘルパー図形は、元来は単なる幾何学図形である。
【0158】
SEM画像スティグメーションと、エレクトロンコラム、ウエハ、ウエハ上の様々な位置にあるステージの間の磁気擾乱により誘発された焦点の歪みのためにスティグメーションマップを使用することができる。
【0159】
システム間でレシピが独立であることを保証するために、2つのマップが要求される場合がある。すなわち、個々の機械に関して訂正するシステム依存マップと、個々の製品タイプに関して訂正する製品依存マップである。個々の顕微鏡それぞれに独自のシステム依存マップは大部分のアプリケーションに適している。しかし、特徴部分のサイズが縮小し、業界がさらに高い画像品質を求めるようになり、製品依存マップが好まれるようになった。ウエハ上のXおよびY位置に境界を付けることによって画定されるウエハ位置にXおよびYスティグメーション値と作業距離値とを提供するために、通常、2つのマップが合計される。
【0160】
Visio.VSD文書は、SEMスティグメーションと作業距離のような訂正値を設定するために図形関連Gizmoを含むことができる。マッピングされた値を適用するための柔軟性が好ましい。スティグメーション値を適用するために最も柔軟なメソッドは、アプリケーションプログラマーがSEM画像Gizmo構成制御(FeiSEMImageEditCtl)のマッピングされた値を参照できるようにすることである。スティグメーションおよび作業距離値はShapeSheetセル公式によって参照することができ、これによりアプリケーションプログラマーは、現在の場所に対する機械依存値と製品依存値とを組み合わせることが可能となる。この場合、顕微鏡は、画像が獲得される前にこれらの値に設定される。
【0161】
FeiSEMImageEditCtlは、Visio ShapeSheetに類似のチェックボックスを有し、アプリケーションエンジニアが公式または結果(値)を見ることを可能にする。アプリケーションエンジニアが固定されたスティグメーション値を適用することを希望する場合が実際に起こり得る。この場合、ユーザは単に顕微鏡から数値を入力するか、または値を記録することができる。
【0162】
エレクトロンコラムのスティグメーションと作業距離に影響を与えたのと同じ磁気擾乱が、電子ビームの位置にも影響を与える。これは、イオンビームと電子ビームの間の一致を失わせる原因となる。20ミクロンまでの一致エラーが既に報告されている。一致マップは、主要ビームがイオンから電子に切り替えられた時にステージを移動しなければならないXおよびY距離を提供することができる。
【0163】
主要コラムが変更されたというだけの理由からアプリケーションプログラマーが実行シーケンスでGizmoを配置または移動することは直観しないので、SEM画像Gizmoは、主要ビームが現在は電子ビームでない場合のみ、ステージの移動を行うことによって訂正要因を適用することが好ましい。実際の訂正値は同様の方法でスティグメーションマップに適用され、これによりアプリケーションプログラマーは、システム訂正と製品訂正を組み合わせることにより訂正値を計算するためのアルゴリズムを決定する。
【0164】
好ましい実施形態は、マップエディターがアプリケーションエンジニアにマップデータを見ることを可能にさせる。エラー報告のシンタックスは、マップデータフォーマットエラーを効率的に追跡することを可能にすべきである。
【0165】
製品依存マップファイルはレシピのプロパティであり、レシピアーカイブファイルにパッケージされる。製品依存マップファイルはレシピと共に移動する。これらの実施態様は非常に単純明快である。
【0166】
システム依存マップファイルはシステムに常駐する。各タイプのマップが1つしか要求されない場合、一致およびスティグメーションマップのファイル名をレジストリで指定することができる。しかし、スティグメーションのマップの訂正は1つのステージ回転角度に対してのみ有効であるなどのように、各タイプの複数マップが要求される場合がある。レシピがそれぞれの経路を異なる回転角度にして2つの経路を指定する場合、2つのスティグメーションマップが要求される。各経路に対するスティグメーションマップは単にレジストリの各経路に対して指定することはできない。何故ならば、所与の経路番号に対して異なるレシピは異なる回転角度を有する場合があり、したがって異なるマップを必要とするからである。したがって、システムマップファイル名はレシピ内で指定しなければならない。
【0167】
GEMがイネーブルされると、GEMホストはロットの各ウエハに対する捕捉変数表をダウンロードすることができる。この値は倍長浮動小数点(ダブル)にフォーマットされる。
【0169】
データストレージFABでは、所与の特徴部分の配置は以前のプロセスステップを実行するために使用した個々のシステムによって決定される。例えば、ステッパーシステムは、ホストプログラマーに周知の固有のオフセットを有することができる。ホストプログラマーは、一対の捕捉変数のXYオフセットを計測システムに伝達することができる。アプリケーションプログラマーは、このXYオフセットをミリング位置に適用することができる。
【0170】
捕捉変数はプロセス訂正入力のタイプでもあり、したがってワークシートのマップおよびレシピツリーの単一分岐と同様の方法で表示される。捕捉変数値は、プロセスと位置合わせの両方に関してレシピの.vsdファイルの各ページの事前定義されたユーザセルに書き込まれる。
【0171】
実行時モデルエリア図形は、特徴部分を表す画像上エリアを囲むように拡大縮小すべきである。これは、Gizmoが既に特徴部分を位置特定しており、その近似サイズは測定済みであるという信頼性をユーザに与えるために有用な特徴部分である。ユーザが位置特定済みの特徴部分のサイズを基準として任意の子オブジェクトを拡大縮小することを希望する場合があるので、拡大縮小特徴部分はモデル原点図形にも適用されるべきである。
【0172】
図形の実行結果は、各場所が処理される際にユーザが指定した統計を計算するためにスプレッドシートのようなデータ解析用フォーマットで保存することが好ましい。一実施形態は、後の位置が以前の場所の結果を使用するユーザが開発した公式によって計算される場合、任意選択で特徴部分適応サンプリングを含むことができる。適応サンプリングについては本明細書で後述する。
【0173】
エンドユーザは、図形を構成する際に支援するためにレイヤに図形を割り当てることにより実行時表示の表示を構成することができる。ユーザは特定の図形が印刷可能とするか否かを設定することができる。通常、寸法図形は印刷可能であるが、アクティブおよびVBA図形は印刷可能ではない。ユーザは、当然ながら図形の色、線のスタイル、および塗りつぶしパターンを変更し、またテキストを追加することができる。Visio文書はワード文書にオブジェクトとして挿入することができるが、その文書のサイズにより、ページをビットマップ、TIFF、またはJPEGのような様々な画像フォーマットで保存することがさらに有用である。
【0174】
いくつかの実施形態では、ツリーシーケンサーをVisioフローチャートに替えることができる。ツールの2つの表示が動作を定義する。物理表示は画像に対するツールのXY位置、ツールの子、および他のツールである。論理表示は、各ツールの実行時ブーリアン評価に基づく実行シーケンスを決定する。評価は、合格/失格ツール実行ステータスのように単純であっても、1つまたは複数の図形の反復を提供するために使用される固定されたfor−next表現であっても、より複合的なVBA while−doまたはdo−until表現であってもよい。複合シーケンスの例は、イオンビームのミルエンドポイント検出シナリオとして使用されるパターン認識であってよい。Visio文書は、所与の対象場所での動作のシーケンス全体を記述するように定義される。「文書」は複数のページから構成することができる。単一ページは計測構成を含むことができる。ページは計測構成を設計するキャンバスである。
【0175】
流れ図のプログラミング、または条件付きの分岐は、自動制御、制御、および回復の追加レベルを提供する。例えば、製造工程中に覆われていた位置合わせマークまたはフィデューシャル(基点)を再度露出するためのミリングでは、フィデューシャルが観察可能になったらできるだけ早くミリング工程を停止することが望ましい。流れ図のプログラミングで使用可能な条件付き分岐を使用することにより、光学画像を連続的に監視することが可能であり、パターン認識が完全なターゲットを識別する時はミリングを中止する。条件付き分岐のシステムは、部分的な露出と破壊されたエリアの修正の原因となる、間違った場所に置かれたミリングのような状況に反応することもできる。条件付き分岐は、分類または場所の準備の適切な方法に繋がる特徴部分に関する決定を行うためにも使用することができる。例えば、不良点を適正に切断できるように軸を識別することができる。
【0176】
図13は、条件付き分岐の使用例を示している。ステップ1302でTEMサンプルは粗くミリングされる。ステップ1304でサンプルが測定され、所望の厚さに達していない場合、決定ブロック1306は所望の厚さに達するまでステップ1302によるミリングを続行することを示す。次いでステップ1310で細かくミリングされ、所望の厚さに達していない場合、決定ブロック1312は所望の厚さに達するまでステップ1310による細かいミリングを続行することを示す。ステップ1316でサンプルが取り除かれる。VBAおよびアクティブXを使用してVisioを視覚ソフトウェアおよび荷電粒子システムとインタフェースすることに関する上記の記述に基づいて、当業者ならば、条件付き分岐を伴う流れ図の生成を上記のVisioページに容易に組み込むことができる。VBAフォームデータは、所望の厚さと実際の厚さの測定を実現するために図形と連携する。Visioは、
図13に示すようなカスタムインタフェースを作成するためにボタンのようなウィンドウ制御をページに配置することを可能にする。表示されたカスタムインタフェースは、選択されたレシピに依存することができる。
【0177】
異なる実施形態は異なるモードで動作することができる。第1のモードでは、荷電粒子ビームシステムを自動制御するために本発明を使用することができる。このモードでは、システムは、ウエハのローディング、ウエハ上の場所へのナビゲーション、ウエハ上の場所の準備、およびウエハ上の特徴部分の測定のすべての局面を制御する。本発明は、オフラインモードで使用することもできる。このモードでは、システムは顕微鏡に接続されておらず、ラップトップまたはデスクトップコンピュータシステムで実行することができる。ユーザは、測定する複数の画像をデータベースから選択し、ナノメートル、メートル、またはキロメートル当たり画像ピクセル換算で画像の拡大縮小を設定し、それらの画像に対して計測シーケンスを実行する。
【0178】
本発明は計測に限定されるものではなく、いかなるタイプの自動制御動作、特に画像ベースの動作を指定するようにシーケンスをグラフィカルに構築し、実行するために使用することができる。アプリケーションのエリアは、限定はしないが、
・オブジェクトの位置、識別、および分類を含めた天体望遠鏡の自動誘導
・特徴部分の位置、識別、および分類を含めた光学顕微鏡の自動操縦
・DNAマイクロアレイスポットの自動識別および定量
・移動機械車両、ロボット、またはプローブの画像ベースによるナビゲーション
・画像ベースのコンピュータ数値制御(CNC)機械ツール制御および自動制御
・リソグラフィーマスク不良点識別および補修、または不良点除去
・3−Dナノファブリケーションおよび3−D検査
・半導体不良点識別、精密切断および分類
・薄膜コーティング解析
・自動制御および手動画像注釈
・製造ライン光学検査および処分(廃棄)
を含む。
【0179】
ユーザは、特徴部分のミリング、撮像、移動、位置特定の組み合わせによって場所のシーケンスを、図形をステンシルからドラッグしてページ上に配置することによってエッジをプログラムすることができる。ユーザは、複数の図形を組み合わせ、その組み合わせを新しいマスターとしてステンシルに記憶することができる。
【0180】
組み合わせには基本的に制限はない。構成全体は数百という図形を含むことができる。ユーザは、計測をテストする準備が整う前に視覚図形サーチエリアを調節し、PatMaxツールを調整し、キャリパ閾値を設定するだけでよい。
【0181】
本発明は、走査電子顕微鏡およびデュアルビームシステムの集束イオンビームのような複数の機器の制御を可能にし、光学顕微鏡のような他の機器の制御も可能にする。
【0182】
本発明の異なる実施形態は、ユーザにプログラムコードを書くことを要求せずに複合計測動作の自動制御を可能にする。いくつかの実施形態は、ユーザがシーケンス、階層、および関係をグラフィカルに作成することを可能にする。本発明は、いかなるソース由来のいかなる種類の画像に対しても動作することができ、システム製造業者による専門知識のサポートがほとんどまたは全くない縮尺較正および測定を可能にする。専用ツールのツールボックスと、ツールを組み合わせる簡単な方法を提供することにより、ユーザが複雑な動作を簡単な方法でプログラムすることが可能になる。固定するなどのツールの関係はターゲット特徴部分の完全に幾何学的な記述を可能にする。本発明は、異なる機械通信ライブラリと新しいGizmoを使用して新しいハードウェアに容易に適用することができる。
【0183】
本発明は多くのタイプのシステムに幅広く適用することができ、すべての実施形態が特徴部分のすべてを組み込むことを必要とするわけでも、本発明の目的のすべてに合致するわけでもない。本発明は、いかなるタイプの動作でもグラフィカルに指定するために使用することができる。本発明は、荷電粒子ビームシステムに限定されるものではない。本発明は計測に限定されないが、計測動作には特に適している。本発明は機械制御には有用であるが、オフライン画像解析を必要とする実施例によって示されるように機械制御に限定されるものではない。
【0184】
本発明およびその利点を上記また下記で詳細に説明しているが、首記の特許請求の範囲によって定義されるように本発明の趣旨および範囲を逸脱せずに、本明細書では様々な変更、置き換え、および代替形態を行うことができることを理解されたい。さらに、本願の範囲を、本明細書に記載のプロセス、機械、製品、物質の組成、手段、メソッド、およびステップの特定の実施形態に限定することは意図しない。
【0185】
当業者には、本発明の開示から、本明細書に記載の対応する実施形態とほぼ同様の関数を実行し、またはほぼ同様の結果を達成する、既存の、または将来開発されるプロセス、機械、製品、物質の組成、手段、メソッド、またはステップが本発明に従って利用されることを容易に認識されよう。したがって、首記の特許請求の範囲は、その範囲に、このようなプロセス、機械、製品、物質の組成、手段、メソッド、またはステップを含むことを意図するものである。