(57)【要約】【課題】半導体検査プログラムに関して、分かりやすく正確な検査条件ドキュメントを簡単に作成するための検査条件抽出プログラムを提供する。【解決手段】半導体検査プログラム１のテスト条件を、当該半導体検査プログラムを実行する半導体検査装置のハードウェアに設定されている値から読み出す（ルーチン２２，２３）前に、検査条件を抽出する対象ハードウェアを選択する（ルーチン２１）。これにより、選択されたハードウェアの設定値のみファイル出力（ルーチン２５）する。【選択図】    図２
2004184114.tif 000002
【特許請求の範囲】
【請求項１】
半導体検査プログラムのテスト条件を、当該半導体検査プログラムを実行する半導体検査装置のハードウェアに設定されている値から読み出す機能と、検査条件を抽出する対象ハードウェアを選択し、選択されたハードウェアの設定値のみ出力する機能とをコンピュータに実現させることを特徴とする、半導体検査プログラムの検査条件抽出プログラム。
【請求項２】
前記ハードウェアの設定値を出力する際に、同じ検査条件のテスト項目をまとめて出力する機能をコンピュータに実現させる、請求項１記載の半導体検査プログラムの検査条件抽出プログラム。
【請求項３】
複数検査工程の検査プログラムから検査条件を抽出し、各検査工程の検査条件をメモリに保存し、最終検査工程の検査条件抽出時に各検査工程でのテスト項目実施有無を判断し、実施している場合は該検査工程の検査条件をファイルへ出力する機能をコンピュータに実現させる、請求項２記載の半導体検査プログラムの検査条件抽出プログラム。
【請求項４】
前記最終検査工程において、当該最終検査工程にて抽出された検査条件を前記ファイルへ直接出力し、最終検査工程を除く各検査工程の検査条件を前記メモリから読み出して前記ファイルへ出力する機能をコンピュータに実現させる、請求項３記載の半導体検査プログラムの検査条件抽出プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体の検査プログラムの検証に用いられる、検査条件抽出プログラムに関するものである。
【０００２】
【従来の技術】
半導体は、近年集積化が進み、その検査には膨大な検査項目が必要である。検査プログラムの検査条件が正しいか否かは、検査の品質に関わる重大な問題であり、十二分にもチェックをしなければならない。
【０００３】
検査プログラム開発が完全に自動化されている場合には、検査条件の設定ミスの可能性はないが、現実には検査プログラムを完全に自動では開発できず、一部手修正が入ったり、最初から人手で作成したりする場合がある。よって、検査条件のチェックには、検査仕様書と検査プログラムに記述されている検査条件が完全に一致していることを人手で確認しなければならない（非特許文献１参照）。
【０００４】
検査プログラムに記述されている検査条件を知るためには、１つは、検査プログラムを読み設定条件を得る方法がある。しかし、検査条件記述部に変数を使ったりサブルーチンを使ったりしているため、プログラムを熟読しても誤る可能性が高いし、また、工数も膨大になる。
【０００５】
そこで有効なのが、検査プログラムを半導体検査装置（以下テスターと呼ぶ）で走らせ、その時テスターに設定されている値を読み出す方法である。この時読み出された値は、まさにテスターハードの設定値であるので、最も正確である。
【０００６】
テスターハードの設定値を読み出す方法について説明する。
【０００７】
まず、テスターに検査プログラムを読み込ませ、検査プログラムを走らせる。ハードの設定値を読み出すことが目的なので、半導体デバイスは必ずしも必要ではない。目的のテスト項目を繰り返し実施し、ハードの設定値を読み出すツールを起動する。一般に、ハードの設定値を読み出すツールは、テスターに準備提供されている。
【０００８】
一つのテスト項目についてハードの設定値の読み出しを完了したら、次のテスト項目を繰り返し実行し、同様にハード設定値を読み出す。これを、最後のテスト項目まで実施したら、結果をファイルに出力する。
【０００９】
このようにして、必要とするテスターハードの設定値を次々読み出すことで、検査条件を知ることができる（特許文献１参照）。
【００１０】
しかし、この方法では、目的とするテスト項目ごとにテストを繰り返し実行し、ツールを起動し、ハード設定値を読み出すという作業をくりかえさなければならない。今日のように検査項目が数百を越える場合、手作業で行うには工数がかかる。
【００１１】
全テスト項目の検査条件を自動的に出力する機能をもつツールも、従来知られているが、出力が数百ページものドキュメントになり、実用的ではない。
【００１２】
また、半導体検査では、ウェハー状で実施するプローブ検査と、組み立て後に実施する組み立て検査のように、複数工程の検査が実施される。上述の方法では１工程の検査条件ファイルは作成できるが、複数工程の検査条件を作成するためには、必要工程分上記作業を行い、それぞれの検査条件を加工する作業が必要である。
【００１３】
そのような作業の従来の手法について、図７を用いて説明する。
【００１４】
８１，８２，８３はそれぞれ第１、第２、第ｎの検査工程の検査プログラム、８４，８５，８６はそれぞれ第１、第２、第ｎの検査工程の検査条件を抽出する工程、９１，９２，９３はそれぞれ第１、第２、第ｎの検査条件をファイル出力する工程、９４は第１〜第ｎ工程の検査条件ファイルをそれぞれ読み込む工程、９５は全検査工程の検査条件ファイルを出力する工程である。また、８８はテスター、９６はＥＷＳを示す。
【００１５】
まず、第１工程の検査プログラム８１をテスター８８で実行する。このとき工程８４で各テスト項目の検査条件をテスターハードから読み出す。工程９１で検査条件をファイルに出力する。
【００１６】
次に、第２工程の検査プログラム８２をテスター８８で実行する。このとき工程８５で各テスト項目の検査条件をテスターハードから読み出す。工程９２で検査条件をファイルに出力する。
【００１７】
以上のような処理を、最終工程ｎまで繰り返す。
【００１８】
次に、工程９１から９３で出力されたファイルを、工程９４でＥＷＳ９６に読み込む。工程９５で、全工程の検査条件をまとめて、ファイルに出力する。
【００１９】
【特許文献１】
特開平１０−１８５９８７号公報
【００２０】
【非特許文献１】
Ａ．Ｍａｔｓｕｍｏｔｏ，”Ｄｅｓｉｇｎ  Ｒｅｖｉｅｗ  ｆｏｒ  ｔｈｅ  Ｅｓｔａｂｌｉｓｈｍｅｎｔ  ｏｆ  ｔｅｓｔｉｎｇ”，ＳＥＭ−ＩＣＯＮ  Ｊａｐａｎ  ９７
【００２１】
【発明が解決しようとする課題】
このように、従来の手法では、全検査項目の検査条件を作成するのに工数がかかり、また、作成された検査条件ファイルも膨大な量となるので、検査仕様書とのチェックは容易ではない。
【００２２】
本発明は、以上の問題を鑑み、半導体検査プログラムに関して、分かりやすく正確な検査条件ドキュメントファイルを簡単に作成するための検査条件抽出プログラムを提供することを目的とする。
【００２３】
【課題を解決するための手段】
上記の目的を達成するために、本発明にかかる半導体検査プログラムの検査条件抽出プログラムは、半導体検査プログラムのテスト条件を、当該半導体検査プログラムを実行する半導体検査装置のハードウェアに設定されている値から読み出す機能と、検査条件を抽出する対象ハードウェアを選択し、選択されたハードウェアの設定値のみ出力する機能とを、コンピュータに実現させることを特徴とする。
【００２４】
【発明の実施の形態】
本発明にかかる半導体検査プログラムの検査条件抽出プログラムは、上述したように、検査条件を出力する対象とするハードを選択できるよう出力対象ハード選択機能を設けることにより、不要な検査条件の出力を省略することができ、分かりやすく正確な検査条件ドキュメントファイルを簡単に作成することが可能となる。
【００２５】
また、本発明にかかる検査条件抽出プログラムにおいて、前記ハードウェアの設定値を出力する際に、同じ検査条件のテスト項目をまとめて出力する機能をコンピュータに実現させることとしても良い。
【００２６】
従来は、１回の作業では１検査工程の検査条件ファイルしか作成できず、検査工程ごとの検査条件を他検査工程と比較してチェックすることが容易ではなかったため、チェックの工数が大きかった。これに対して、本発明の検査条件抽出プログラムによれば、同じ検査条件のテスト項目をまとめて出力することにより、チェックが容易となる。
【００２７】
また、本発明にかかる検査条件抽出プログラムにおいて、複数検査工程の検査プログラムから検査条件を抽出し、各検査工程の検査条件をメモリに保存し、最終検査工程の検査条件抽出時に各検査工程でのテスト項目実施有無を判断し、実施している場合は該検査工程の検査条件を出力する機能をコンピュータに実現させることとしても良い。
【００２８】
従来は、複数工程の検査条件ファイルをまとめて作成するためには、ＥＷＳなど別のコンピュータで、加工用のプログラムを別途作成し、処理しなければならなかった。よって、ＥＷＳが付随していないテスターではその作業ができないため、ＥＷＳへのファイル転送という手間が発生していた。また、図７に示したように、検査条件を出力したファイルを、各検査工程ごとに検査工程数分だけ読み込む作業が発生し、二度手間で工数が大となっていた。これに対して、本発明にかかる検査条件抽出プログラムによれば、最終検査工程を除く各検査工程の検査条件を、最終検査工程において前記メモリから読み出してまとめてファイルへ出力することにより、ＥＷＳを用いなくても複数検査工程の検査条件ファイルをまとめて出力することができる。
【００２９】
また、前記最終検査工程において、当該最終検査工程において抽出された検査条件を前記メモリを介さずにファイルへ直接出力し、最終検査工程を除く各検査工程の検査条件を前記メモリから読み出して前記ファイルへ出力することとしても良い。これにより、メモリを有効活用することができる。
【００３０】
以下、本発明の具体的な実施形態の一例について、図面を参照しながら説明する。
【００３１】
図１に、本発明の検査条件抽出プログラムによる処理のフローを示す。
【００３２】
図１において、１，２，３はそれぞれ第１、第２、第ｎの検査工程の検査プログラム、４，５，６はそれぞれ第１、第２、第ｎの検査工程の検査条件を抽出する工程、７は全検査工程の検査条件をファイルに出力する工程である。第ｎ検査工程は最終検査工程である。また、８はテスターである。すなわち、工程４〜７は、テスター８により実行される。
【００３３】
テスター８において、第１〜第ｎ検査工程の検査プログラムを実行し、各検査工程の検査条件をテスター上のメモリ（図示せず）に保存する。最終検査工程（第ｎ検査工程６）を実施するときに、この検査工程の各テスト項目の検査条件を抽出してメモリを介さずファイルへ直接出力すると共に、第１〜第ｎ−１検査工程での検査条件を、前述のメモリから同じファイルへ出力する。
【００３４】
このように、各検査工程でファイル出力を行わず、最終検査工程で全検査工程の検査条件を一度にファイル出力することにより、処理効率が向上する。
【００３５】
ここで、本実施形態における第１〜第ｎ検査工程の検査プログラム１，２，３の構造を図２に示す。なお、図２では、第１検査工程の検査プログラム１を例示するが、第２〜第ｎ検査工程の検査プログラムもこれと同様である。図２に示すように、検査プログラム１には、検査条件出力対象ハードを選択するルーチン２１と、各テスト項目実行時にルーチン２１で選択されたハードに設定されている値を読み出すルーチン２２と、ルーチン２２で読み出した検査条件をメモリに保存するルーチン２３と、最終検査工程ｎで全検査工程の検査条件をまとめるルーチン２４と、全検査条件をファイルに出力するルーチン２５から成るプログラム２０が組み込まれる。
【００３６】
ルーチン２１において検査条件出力対象として選択されるハードとは、汎用的に全テスト項目で使用すると考えられるハードで、かつ、検査仕様に関わるハードである。例えば、電源部、入力電圧印加部、出力電圧比較部、測定周波数設定部、測定判定部、および、テスト対象ピン等が、選択対象となる。なお、ルーチン２１における選択対象ハードは、これらの例に限定されない。電源クランプ部や特殊テスト用テスターハードを除く任意のハードを、選択対象とすることができる。
【００３７】
組み込みプログラム２０は、別ファイルに記述しておき、検査プログラム１にはそのファイルを挿入する命令（ＩＮＳＥＲＴ命令など）で記述しておけば良い。このようにすれば、他の検査プログラム２，３にも、組み込みプログラム２０を容易に組み込める。
【００３８】
上記組み込み後の検査プログラム１をテスター上で走らせる。
【００３９】
検査プログラム１は、第１のテスト項目を実行するため各ハードに必要な条件を設定していく。第１のテスト項目の設定が完了すると、第１のテスト項目が実施される。この時、組み込まれたルーチン２２の作用により、ハードに設定された値が読み出される。この値をルーチン２３によりメモリ変数に代入する。
【００４０】
テスターのメモリには限りがあるため、メモリを有効に使用しなければ全テストの条件は保存できない。このため、本実施形態では、以下のようにメモリ配置を工夫している。
【００４１】
図３に、メモリの配置の一例を概念的に示す。検査条件が全く同じテスト項目のテストを１つのテストグループと考え、テストグループ毎に検査条件を管理する。これにより、全テスト項目の検査条件を保持する必要がなく、メモリの有効活用ができる。ＥＷＳが接続されていないテスターでは、一般にメモリも小規模であるので、この手法により、大規模回路の検査条件を保持することも可能である。
【００４２】
メモリ変数は、同じ検査条件を持つテストグループのテスト数を保有する第１変数と、同じ検査条件を持つ、つまり同じテストグループに属するテスト番号を保有する第２変数と、該検査条件を保有する第３変数からなる。検査条件を保有する第３変数は、組み込みルーチンにおいて選択されたハードの検査条件だけを保有するように割り当てられる。これは、第３変数の第３配列要素に対応するハードを割り当てることで実現する。
【００４３】
このフローを、図４に示す。
【００４４】
まず、第１のテスト項目について検査プログラム１を実行する（ステップＳ４１）。このとき、組み込みルーチン２２，２３により、ハードに設定された値が読み出され、以下のように処理される（ステップＳ４２）。まず、テストグループ番号には“１”が割り当てられる。テスト数を保有する第１変数については、配列要素ｅ１はテストグループ番号“１”、配列要素ｅ２は検査工程を要素とし、テスト数“１”が代入される。テスト番号を保有する第２変数については、配列要素ｅ１はテストグループ番号“１”、配列要素ｅ２は検査工程を要素とし、第１のテスト項目のテスト番号が代入される。検査条件を保有する第３変数については、配列要素ｅ１はテストグループ番号”１”、配列要素ｅ２は検査工程、配列要素ｅ３は検査条件を抽出したハードを要素とし、指定されたハードの設定値が保有される。これで、組み込みルーチン２３の処理は終わり、フローは通常のテストフローに戻る。このときの各変数の状態は、図４のＳ４２に示すとおりである。
【００４５】
次に、第２のテスト項目の条件が設定され、第２のテスト項目について検査プログラム１が実行される（ステップＳ４３）。この時も、組み込みルーチン２２，２３により、ハードに設定された値が読み出され、以下のように処理される。
【００４６】
まず、第２のテスト項目で読み出されたハード条件を、第１のテスト項目で保存された第３変数のハード条件と比較する（ステップＳ４４ａ）。
【００４７】
すべての検査条件が一致した場合、テスト数を保有する第１変数の値に１を加算する。また、テスト番号を保有する第２変数には、第２のテスト項目のテスト番号を追加する。検査条件を保有する第３変数は変更されない。この場合の各変数の状態を図４のステップＳ４４ｂに示す。これで組み込みルーチンでの処理は一旦終わりフローは通常のテストフローに戻る。
【００４８】
なお、前記ステップＳ４４ａにおいて１つでもハードの条件が一致しなかった場合、第１のテスト項目と第２のテスト項目は別のテストグループと見なし、テストグループ番号に１を加算する。
【００４９】
テスト数を保有する第１変数については、配列要素ｅ１はテストグループ番号“２”、配列要素ｅ２は検査工程を要素とし、テスト数“１”が代入される。テスト番号を保有する第２変数については、配列要素ｅ１はテストグループ番号“２”、配列要素ｅ２は検査工程を要素とし、第１のテスト項目のテスト番号が代入される。検査条件を保有する第３変数については、配列要素ｅ１はテストグループ番号“２”、配列要素ｅ２は検査工程、配列要素ｅ３は検査条件を抽出したハードを要素とし、指定されたハードの設定値が保有される。このときの各変数の状態を図４のステップＳ４４ｃに示す。
【００５０】
上述の処理を、以下同様にして、第３のテスト項目から最後（第ｎ）のテスト項目まで実行する。
【００５１】
検査工程が１工程のみの場合は、テスト番号を保存する第２変数を、テスト数を保存する第１変数の値分だけ読み出すことにより、該テストグループに属するテスト番号を列挙できる。検査条件を保存する第３変数の値を選択されたハード分だけ順次出力すれば、テスト番号と検査条件とを符合させることができる。しかも、同じ検査条件のテストはまとめて出力されているので、出力ファイルの量は小規模である。また、検査仕様書とのチェックも容易になり、誤りも削減できる。
【００５２】
一方、検査工程が複数の場合は、最終検査工程（第ｎの検査工程）を除き、第１検査工程から第ｎ−１検査工程まで同じ処理を繰り返す。この時メモリの状態は初期化されないようにする。
【００５３】
最終検査工程（第ｎの検査工程）では、検査条件を読み出しながら、他の検査工程の検査条件を変数から読み出し同時に出力していく。検査工程の管理は、第１変数から第３変数まで、配列要素ｅ２で管理可能である。また、最終工程の条件はメモリに保存する必要がないので、メモリが削減できる。これは、メモリが少ないテスターでは非常に有効である。
【００５４】
複数検査工程の検査では、必ずしも各検査工程で各テストのテスト順番が同じであるとは限らない。また、ある検査工程でのみ実施されるテストもある。
【００５５】
そうした不規則なテスト順番の検査条件を出力するための手法を説明する。
【００５６】
最終検査工程（第ｎの検査工程）の検査プログラムに組み込みプログラム２０を挿入し、テスターで実行する。第１のテスト項目における組み込みプログラム２０の処理を、図５を用いて説明する。第１のテスト項目と同じテスト番号が他の検査工程に存在するかどうかを調べるため、テスト番号を保存する第２変数を検索する。
【００５７】
第１検査工程で存在すれば、第１検査工程で第１のテスト項目を実行するまでに別のテスト項目が実行されていないかを検索する。テスト番号を保存する第２変数は該検査工程でのテストの実施順にテスト番号を保存しているので容易に検索できる。
【００５８】
別のテスト項目ｘが実施されている場合は、第１検査工程のテスト項目ｘの検査条件を出力する。
【００５９】
これを、第ｎ−１検査工程まで同様に行う。
【００６０】
最終検査工程（第ｎの検査工程）ではテスト項目ｘは実施されていないので、最終検査工程（第ｎの検査工程）の条件欄は例えば“−”のように出力する。そして、第１のテスト項目のテスト番号と検査条件とを全検査工程分出力する（出力５１）。図６（ａ）に、この出力５１の一例を示す。
【００６１】
別のテスト項目ｘが実施されていない場合は、テスト項目１の検査条件を出力する（出力５２）。図６（ｂ）に、出力５２の一例を示す。
【００６２】
他の検査工程で最終検査工程ｎの第１のテスト項目が実施されていない場合は、該検査工程の検査条件欄は例えば“−”のように出力する（出力５３）。図６（ｃ）に、出力５３の一例を示す。
【００６３】
次に、最終検査工程（第ｎの検査工程）の検査プログラムは、第２のテスト項目を実施する。第２のテスト項目と同じテスト番号が他の検査工程に存在するかどうかを調べるため、テスト番号を保存する第２変数を検索する。存在すれば、第１のテスト項目から第２のテスト項目を実行するまでに別のテスト項目が実行されていないかを検索する。この手法は、第１のテスト項目でおこなったものと同じである。
【００６４】
以下、上述の処理を、最終検査工程の全テスト項目について実施する。
【００６５】
最終検査工程の検査プログラムが終了する前に、検査条件の出力先ファイルを閉じておく。
【００６６】
この手順により、全検査工程の全テスト項目の検査条件が同じ検査条件ごとにまとめられ、１つのファイルに出力される。
【００６７】
以上のように、本発明により、簡単に正確な検査条件ドキュメントファイルが作成できる。また、ＥＷＳを必要とせずテスター上で処理できるため、作業工数も削減できる。さらに、使用メモリも削減できるので、低機能テスターでの実行も可能となる。
【００６８】
【発明の効果】
以上に説明したように、本発明によれば、半導体検査プログラムに関して、分かりやすく正確な検査条件ドキュメントファイルを簡単に作成するための検査条件抽出プログラムを提供できる。
【図面の簡単な説明】
【図１】本発明の一実施形態にかかる検査条件抽出プログラムの構成を示す説明図
【図２】本発明の一実施形態にかかる検査プログラムおよび組み込みプログラムの構造を示す説明図
【図３】本発明の一実施形態にかかる変数マップ
【図４】本発明の一実施形態において、検査条件をメモリに保存する処理のフローを示す説明図
【図５】本発明の一実施形態において、複数検査工程の検査条件出力フローを示す説明図
【図６】（ａ）〜（ｃ）は、図５のフローを実行した場合の出力例を示す説明図
【図７】従来の検査条件抽出プログラムの構成を示す説明図
【符号の説明】
１    第１検査工程の検査プログラム
２    第２検査工程の検査プログラム
３    第ｎ検査工程の検査プログラム
４    第１検査工程の検査条件抽出工程
５    第２検査工程の検査条件抽出工程
６    第ｎ検査工程の検査条件抽出工程
７    全検査工程の検査条件ファイル出力工程
８    テスター
５１〜５３  出力
８１  第１検査工程の検査プログラム
８２  第２検査工程の検査プログラム
８３  第ｎ検査工程の検査プログラム
８４  第１検査工程の検査条件抽出工程
８５  第２検査工程の検査条件抽出工程
８６  第ｎ検査工程の検査条件抽出工程
８８  テスター
９１  第１検査工程の検査条件ファイル出力工程
９２  第２検査工程の検査条件ファイル出力工程
９３  第ｎ検査工程の検査条件ファイル出力工程
９４  第１〜第ｎ検査工程の検査条件ファイル読み込み工程
９５  全検査工程の検査条件ファイル出力工程
９６  ＥＷＳ
２０  組み込みプログラム
【図１】
2004184114.tif 000003
【図２】
2004184114.tif 000004
【図３】
2004184114.tif 000005
【図４】
2004184114.tif 000006
【図５】
2004184114.tif 000007
【図６】
2004184114.tif 000008
【図７】
2004184114.tif 000009