(57)【要約】【課題】確認に要する時間が長くなることを抑制しつつ、試験プログラムにおける各種制約および各種ルールに対する違反の有無を精度よく確認する。【解決手段】テストプログラム７に基づいて半導体装置２に対する試験を行う半導体試験装置１は、記憶部３、入力部４、制御部５および測定部６を備えている。そのうち、記憶部３、入力部４および制御部５により、テストプログラム７を確認する試験プログラム確認装置１２が構成される。制御部５は、テストプログラム７の各命令を、チェック用試験を行うための命令に変換したチェック用プログラム９を実行することにより、チェック用試験を記憶部３上で仮想的に実行する。制御部５は、チェック用試験が実行される間、試験を行うための測定部６の動作に関する各種制約および試験に関する各種ルールに対する違反の有無を確認する。【選択図】図１
2013167471.tif 000002
【特許請求の範囲】
【請求項１】
半導体装置に対する試験を行う半導体試験装置に用いられる試験プログラムを確認する試験プログラム確認装置であって、
前記試験プログラムが記憶されるメモリと、
前記試験プログラムに基づくチェック用試験を前記メモリ上で仮想的に実行するチェック用試験実行手段と、
前記チェック用試験が実行される間、前記試験を行うためのハードウェアの動作に関する各種制約および前記試験に関する各種ルールに対する違反の有無を確認するプログラムチェック手段と、
を備えていることを特徴とする試験プログラム確認装置。
【請求項２】
前記チェック用試験の内容を設定する試験内容設定手段と、
前記各種制約および前記各種ルールの内容を設定するチェック内容設定手段と、
を備えていることを特徴とする請求項１に記載の試験プログラム確認装置。
【請求項３】
請求項１または２に記載の試験プログラム確認装置と、
前記試験プログラムに基づいて半導体装置に対する試験を行うためのハードウェアと、
前記試験プログラムに従って前記ハードウェアの制御を行い、前記試験を実際に実行する実試験実行手段と、
を備えていることを特徴とする半導体試験装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置に対する試験を行う半導体試験装置に用いられる試験プログラムを確認する試験プログラム確認装置、および、その試験プログラム確認装置を備えた半導体試験装置に関する。
【背景技術】
【０００２】
半導体デバイス（半導体装置）に対するテスト（試験）を行う半導体試験装置（テスタ）に用いられるテストプログラム（試験プログラム）は、そのテスト内容に応じて適宜作成または変更される。テストプログラムが作成または変更された場合、そのテストプログラムに問題が無いかどうかを確認するためのチェックを実施する必要がある（例えば、特許文献１参照）。
【０００３】
コンパイラを用いて上記チェックを行えば、文法の誤りについての検出は可能であるが、文法的に問題が無いプログラムの場合、次のような誤りを検出することができない。すなわち、テストプログラムについては、テスタのハードウェア的な制約や、テスタを使用する半導体メーカの独自のルールなどの様々な制約がある。コンパイラを用いたチェックでは、それら各種制約（ルールも含む）に対する違反の有無を確認することができない。
【０００４】
これに対し、プログラムデバッガなどを用いて上記チェックを行えば、各種制約に関する違反を検出することができるように思える。しかし、プログラムデバッガによるチェックは、人の手による作業となるため、多大な時間を要する。しかも、デバッガを用いたチェックにより上記した各種制約に関する違反を検出するためには、デバッグ中に所定箇所の波形を観測する、といった作業などが必要になる場合もある。ただし、チェックの時点では、どこに問題があるのかが分からないため、どのタイミングでもって、どの箇所の波形を観測してよいのかが分からず、実際に問題点を見つけることは極めて難しい。このように、プログラムデバッガを用いたチェックは、その作業時間が長くなるとともに、チェック抜けが生じ易いという問題を有する。このような問題は、テストプログラムのサイズが大きくなるほど顕在化する。
【０００５】
一方、特許文献２には、テストプログラムの違反をチェックする機能を備えた半導体試験装置が開示されている。特許文献２に記載の半導体試験装置は、試験時にＤＵＴ（Device Under Test）に印加される電圧の値について、条件違反が無いか否かをチェックすることができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−１０１２９１号公報
【特許文献２】特開２００８−２１６２２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献２に記載の半導体試験装置は、印加電圧の確認などの静的な状態のチェックを行うことはできるものの、実際に試験で使用するテストプログラムに従ったハードウェアの動作に関する動的なチェックを行うことができない。つまり、特許文献２に記載の半導体試験装置は、ハードウェア的な制約や半導体メーカの独自のルールなどの各種制約に関する違反の有無を確認することができない。
【０００８】
本発明は上記事情に鑑みてなされたものであり、その目的は、確認に要する時間が長くなることを抑制しつつ、試験プログラムにおける各種制約および各種ルールに対する違反の有無を精度よく確認することができる試験プログラム確認装置、および、その試験プログラム確認装置を備えた半導体試験装置を提供することにある。
【課題を解決するための手段】
【０００９】
請求項１に記載の手段によれば、半導体装置に対する試験を行う半導体試験装置に用いられる試験プログラムを確認する試験プログラム確認装置である。試験プログラム確認装置は、試験プログラムが記憶されるメモリ、チェック用試験実行手段およびプログラムチェック手段を備えている。チェック用試験実行手段は、試験プログラムに基づくチェック用試験をメモリ上で仮想的に実行する。プログラムチェック手段は、チェック用試験が実行される間、試験を行うためのハードウェアの動作に関する各種制約および試験に関する各種ルールに対する違反の有無を確認する。
【００１０】
このような構成によれば、実際に試験に使用される試験プログラムの動作（流れ）に則した動的なチェックが可能になる。また、そのチェックは、人手を介すことなく、メモリ上において自動的に実施されるため、工数削減やミス低減といった効果が得られる。すなわち、本手段によれば、確認に要する時間が長くなることを抑制しつつ、各種制約および各種ルールに対する違反の有無を精度よく確認することができる。
【００１１】
請求項２に記載の手段によれば、試験内容設定手段およびチェック内容設定手段を備えている。試験内容設定手段は、チェック用試験の内容を設定する。チェック内容設定手段は、各種制約および各種ルールの内容を設定する。ハードウェアの動作に関する各種制約や試験に関する各種ルールは、装置を使用するユーザ毎、プロセス毎あるいは製品毎に異なる可能性がある。上記構成によれば、チェック用試験、各種制約および各種ルールの内容をユーザがカスタマイズできるため、各種制約および各種ルールが異なる場合であっても、それに対応したチェック用試験を実施することができる。従って、各種制約および各種ルールに対する違反の検出精度が一層向上する。
【００１２】
請求項３に記載の手段によれば、請求項１または２に記載の試験プログラム確認装置、ハードウェアおよび実試験実行手段を備えている。ハードウェアは、試験プログラムに基づいて半導体装置に対する試験を行うためのものである。実試験実行手段は、試験プログラムに従ってハードウェアの制御を行い、試験を実際に実行する。このような構成によれば、半導体装置に対する試験を実際に実行しながら、チェック用試験を実行するという用途に用いることが可能となる。
【図面の簡単な説明】
【００１３】
【図１】第１の実施形態を示すもので、半導体試験装置の概略的な構成図
【図２】テストプログラムの各命令、デバイステスト時の各動作およびプログラムチェック時の仮想的な各動作の流れを示す図
【図３】第２の実施形態を示すもので、試験プログラム確認装置の概略的な構成図
【発明を実施するための形態】
【００１４】
以下、本発明の複数の実施形態について図面を参照して説明する。なお、各実施形態において実質的に同一の構成には同一の符号を付して説明を省略する。
（第１の実施形態）
以下、第１の実施形態について図１および図２を参照しながら説明する。
図１に示す半導体試験装置１は、各種試験に対応して予め準備されるテストプログラム（試験プログラム）に基づいて、被試験対象（Device Under Test）である半導体装置２（以下、ＤＵＴ２とも称す）に対する試験を行う。半導体試験装置１は、ウエハのレベルでの試験（前工程試験）およびパッケージング後の試験（後工程試験）のいずれか一方または双方に適用することができる。
【００１５】
半導体試験装置１は、記憶部３、入力部４、制御部５および測定部６を備えている。記憶部３（メモリに相当）には、テストプログラム７（試験プログラム）、測定部制御プログラム８、チェック用プログラム９およびユーザ定義ファイル１０などが記憶される。入力部４は、例えばユーザにより操作される操作部（図示せず）を備えており、その操作部の操作に応じて、記憶部３に記憶するための各種のプログラムおよびファイルを半導体試験装置１に入力する。
【００１６】
制御部５は、例えばマイクロコンピュータを主体として構成されている。制御部５は、記憶部３に記憶された各種のプログラムを実行することにより装置全体の動作を制御する。測定部６は、電圧・電流測定器、電圧・電流印加装置、電圧波形印加・比較装置、プローブ（図示せず）などのハードウェアから構成される。測定部６は、ＤＵＴ２に対して所定の入力信号（電圧、電流、電圧波形）を入力する機能、ＤＵＴ２から出力される出力信号（電圧、電流、電圧波形）を観測する機能などを備えている。
【００１７】
テストプログラム７は、ＤＵＴ２に対する試験の条件、内容、手順などを示すものである。テストプログラム７は、基本的には半導体試験装置１を使用するユーザにより作成される。ただし、半導体試験装置１の製造段階（出荷時点）において、例えば汎用的な試験を行うためのテストプログラムなどを記憶部３に予め記憶しておくことも可能である。
【００１８】
ユーザは、入力部４が備える操作部を操作することにより、作成または変更したテストプログラム７を記憶部３に書き込むこと（書き換え、追加）ができる。つまり、記憶部３に記憶されたテストプログラム７の内容は、ユーザによる設定（変更）が可能となっている。このようなことから、本実施形態において、入力部４は、試験内容設定手段として機能する。
【００１９】
測定部制御プログラム８は、テストプログラム７の各命令を、ハードウェアを制御するための命令に変換した（置き換えた）ものであり、制御部５により生成される。制御部５は、測定部制御プログラム８を実行することにより、テストプログラム７の内容に従って測定部６の制御を行い、前述した試験を実際に実行する。つまり、制御部５は、実試験実行手段として機能する。
【００２０】
チェック用プログラム９は、テストプログラム７の各命令を、チェック用試験を実行するための命令に変換した（置き換えた）ものである。チェック用試験は、テストプログラム７に則した動作を記憶部３上で仮想的に実行するものである。このような仮想的な動作としては、例えばフラグを用いることができる。すなわち、所定の動作を開始するための命令が実行されると所定のフラグをセットし、上記動作を停止するための命令が実行されると上記フラグをクリアする。そして、そのフラグの状態を適宜確認すれば、実際の試験の流れに則した動的なチェックを行うことが可能となる。チェック用試験における各動作の内容、測定部６の動作に関する各種制約および試験を行う上での各種ルールの内容や、それら制約およびルールに対する違反（エラー）の規定などは、ユーザ定義ファイル１０により定められる。
【００２１】
ユーザ定義ファイル１０は、半導体試験装置１を使用するユーザにより作成される。ユーザは、入力部４が備える操作部を操作することにより、作成または変更したユーザ定義ファイル１０を記憶部３に書き込むこと（書き換え、追加）ができる。つまり、記憶部３に記憶されたユーザ定義ファイル１０の内容は、ユーザによる設定（変更）が可能となっている。このようなことから、本実施形態において、入力部４は、チェック内容設定手段として機能する。
【００２２】
制御部５は、チェック用プログラム９を実行することにより、ユーザ定義ファイル１０により規定された内容のチェック用試験を記憶部３上で仮想的に実行する。また、制御部５は、チェック用試験が実行される間、ユーザ定義ファイル１０により規定された各種制約および各種ルールに対する違反の有無を確認する。
【００２３】
制御部５は、上記違反の有無を確認した結果をユーザに対して報知する報知機能を有する。本実施形態では、制御部５は、上記確認結果をディスプレイ１１に表示する。なお、上記報知機能としては、ディスプレイ１１を用いる方法に限らずともよく、他の表示装置を用いる方法や、音声出力などによる方法など様々な方法を適用することができる。このように、制御部５は、チェック用試験実行手段およびプログラムチェック手段として機能する。
【００２４】
制御部５は、測定部６を制御して実際の試験を実行している期間にあっても、チェック用試験を行うことが可能になっている。つまり、半導体試験装置１は、実際の試験を実行する機能と、チェック用試験を実行する機能と、実際の試験を実行しながらチェック用試験を実行する機能とを備えている。ユーザは、入力部４が備える操作部に対して所定の操作を行うことにより、上記各機能を切り替えることができる。なお、本実施形態では、記憶部３、入力部４および制御部５により、半導体試験装置１に用いられるテストプログラム７の確認を行う試験プログラム確認装置１２が構成される。
【００２５】
上述した測定部６の動作に関する各種制約の一例として、「ＤＵＴ２に電圧（電源）を印加しているときにリレーの切り替えを行ってはいけない」という制約が挙げられる。上記リレーは、測定部６およびＤＵＴ２の間に介在するものであり、測定部６から出力される出力信号を、ＤＵＴ２が有する複数の端子（パッド）のうちのいずれかに対し、選択的に入力するために設けられる。また、各種制約の一例として、「ＤＵＴ２に電圧（電源）を印加しているときに印加電圧のレンジを切り替えてはならない」という制約も挙げられる。これは、テスタの仕様による制約である。すなわち、電源印加中にレンジ設定（切り替え）が行われると、電源が一旦オフするといった仕様のテスタが存在するためである。このようなテスタを用いる場合、上記制約に対する違反の有無を確認する必要がある。
【００２６】
また、各種ルールとは、半導体試験装置１を利用するユーザ（半導体メーカ）における独自のルールのことである。例えば、「電源投入時点では、ＤＵＴ２の端子への印加電圧を所定値（例えば０Ｖ）に設定しなければならない」といったルールや、「プログラム上における電源電圧、印加電圧および電流の各最大値は、規定範囲内でなければならない」といったルールなどが挙げられる。なお、以下の説明においては、上記各制約が存在するものとしている。
【００２７】
次に、上記構成の作用について図２も参照して説明する。
＜デバイステスト時＞
まず、図２（ａ）に示すテストプログラム７を用い、ＤＵＴ２に対する試験（デバイステスト）を実際に行う場合について説明する。テストプログラム７は、初期化命令（Ａ１）、端子条件設定命令（Ａ２）、電圧設定命令（Ａ３）、印加レンジ設定命令（Ａ４）、電源オン命令（Ａ５）、ＤＵＴ内部設定命令（Ａ６）、測定命令［１］（Ａ７）、印加レンジ設定命令（Ａ８）、測定命令［２］（Ａ９）および電源オフ命令（Ａ１０）を含んでいる。テストプログラム７において、これらＡ１〜Ａ１０の命令は順次実行される。
【００２８】
この場合、制御部５は、テストプログラム７に基づいて生成される測定部制御プログラム８を実行する。つまり、制御部５は、測定部制御プログラム８に従って測定部６を制御し、テストプログラム７における各命令Ａ１〜Ａ１０に対応する各動作Ｂ１〜Ｂ１０を実行する。具体的には、制御部５は、図２（ｂ）に示すように、初期化（Ｂ１）、端子条件設定（Ｂ２）、電圧設定（Ｂ３）、印加レンジ設定（Ｂ４）、電源印加（Ｂ５）、ＤＵＴ内部設定（Ｂ６）、測定［１］（Ｂ７）、印加レンジ設定（Ｂ８）、測定［２］（Ｂ９）および電源立ち下げ（Ｂ１０）の各動作を順次実行する。
【００２９】
なお、この場合、Ｂ５において「電源印加」が行われた後、その電源印加状態が解消されることなく、Ｂ８において「印加レンジ設定」が行われる。つまり、この場合、電源を印加したまま、印加レンジを切り替える動作が実行される。これは、前述した測定部６の動作に関する制約に違反する。従来では、このような制約に対する違反の有無を検出することができなかった。これに対し、本実施形態によれば、後述するプログラムチェックにおいて、このような違反を検出することができる。
【００３０】
ちなみに、このような違反により生じる問題は、次のとおりである。すなわち、電源を印加した状態のままレンジ切り替えが行われると、テスタの電源が一旦オフしてしまい、ＤＵＴ２が初期化されてしまう。そのため、Ｃ９の測定［２］が実行される際、内部が所望の状態にならず、意図したとおりの試験が実施できないおそれがある。例えば、連続して電圧（電源）を印加する試験であるのにも関わらず、途中でテスタの電源がオフすると、そのときには電圧の印加が停止されてしまう。その結果、電圧の印加が断続的なものとなり、本来の趣旨の試験が実施されないことになる。
【００３１】
＜プログラムチェック時＞
続いて、図２（ａ）に示すテストプログラム７を用い、テストプログラム７の確認を行うためのチェック用試験を記憶部３上で仮想的に行う場合について説明する。この場合、制御部５は、チェック用プログラム９を実行する。つまり、制御部５は、テストプログラム７に則した仮想的な動作Ｃ１、Ｃ４、Ｃ５、Ｃ８、Ｃ１０を記憶部３上で実行する。各動作Ｃ１、Ｃ４、Ｃ５、Ｃ８、Ｃ１０は、テストプログラムにおける命令Ａ１、Ａ４、Ａ５、Ａ８、Ａ１０にそれぞれ対応している。
【００３２】
この場合、電源印加中における制約に関する違反（レンジ切り替え）を検出することを主眼に置いているため、テストプログラム７における命令Ａ２、Ａ３、Ａ６、Ａ７、Ａ９に対応する仮想的な動作は行わないようにしている。なお、他の制約に関する違反などを検出する必要がある場合、それらの違反を検出するために必要となる命令に対応する仮想的な動作を行うように適宜変更すればよい。
【００３３】
具体的には、制御部５は、図２（ｃ）に示すように、電源フラグクリア（Ｃ１）、電源フラグチェック（Ｃ４）、電源フラグセット（Ｃ５）、電源フラグチェック（Ｃ８）および電源フラグクリア（Ｃ１０）の各動作を順次実行する。電源フラグは、電源が印加される期間にセットされるとともに、電源が印加されない期間にクリアされるものである。そして、この場合、テストプログラム７における印加レンジ設定命令（Ａ４、Ａ８）に対応して、電源フラグのチェックが行われる（Ｃ４、Ｃ８）。つまり、電源フラグチェックが実行される際に（Ｃ４、Ｃ８）、電源フラグがセットされているようであれば、実際の試験において、電源が印加されたまま印加レンジを切り替える動作が実行されるということになる。
【００３４】
この場合、Ｃ１において「電源フラグクリア」が行われた後、その電源フラグがセットされることなく、Ｃ４において「電源フラグチェック」が行われる。つまり、ここでは、電源の印加が行われない状態で印加レンジを切り替える動作が実行されることになり、上記制約に対する違反は生じていない。従って、Ｃ４においては、上記制約に対する違反（エラー）が無いと判断される。
【００３５】
その後、Ｃ５において「電源フラグセット」が行われた後、その電源フラグがクリアされることなく、Ｃ８において「電源フラグチェック」が行われる。つまり、ここでは、電源の印加が行われた状態で印加レンジを切り替える動作が実行されることになり、上記制約に対する違反が生じることになる。従って、Ｃ８においては、上記制約に対する違反があると判断され、その旨がディスプレイ１１に表示される。
【００３６】
以上説明したように、本実施形態の半導体試験装置１は、テストプログラム７の確認を行う試験プログラム確認装置１２を備えている。試験プログラム確認装置１２を構成する制御部５は、記憶部３に記憶されるテストプログラム７に基づくチェック用試験を記憶部３上で仮想的に実行し、そのチェック用試験が実行される間、測定部６の動作に関する各種制約および試験に関する各種ルールに対する違反の有無を確認する。このような構成によれば、実際に試験に使用されるテストプログラム７の流れに則した動的なチェックが可能になる。また、そのチェックは、人手を介すことなく、記憶部３上において自動的に実施されるため、テストプログラム７の確認に要する工数の削減や、チェック漏れなどのミスを低減するといった効果が得られる。すなわち、本実施形態によれば、テストプログラム７の確認に要する時間が長くなることを抑制しつつ、各種制約および各種ルールに対する違反の有無を精度よく確認することができる。
【００３７】
測定部６の動作に関する各種制約や試験に関する各種ルールは、半導体試験装置１を使用するユーザ（半導体メーカ）毎、プロセス毎、あるいは製品毎に異なることが多い。本実施形態の構成では、ユーザは、チェック用試験における仮想的な動作の内容、各種制約の内容、各種ルールの内容、それら制約およびルールに対する違反の規定などをカスタマイズすることができる。そのため、上記した各条件の異なる様々な状況のいずれにおいても、最適なチェック用試験を実施することが可能となる。従って、テストプログラム７における違反の有無の確認精度が一層向上する。
【００３８】
制御部５は、測定部６を制御して実際の試験を実行している期間にあっても、チェック用試験を行うことが可能になっている。つまり、本実施形態の半導体試験装置１によれば、半導体装置２に対する試験を実際に行いながら、テストプログラム７の確認を行うという用途にも対応することができる。
【００３９】
（第２の実施形態）
第１の実施形態では、半導体試験装置１に対し、試験プログラム確認装置１２としての機能を組み込んだ例を示したが、これに限らずともよい。例えば、本実施形態のように、試験プログラムを確認する試験プログラム確認装置を単体で構成してもよい。図３に示す試験プログラム確認装置２１は、図１に示した半導体試験装置１に対し、測定部６が省かれている点と、記憶部３に記憶される各種プログラムのうち、測定部制御プログラム８が省かれている点とが異なっている。
【００４０】
つまり、本実施形態の試験プログラム確認装置２１は、図１に示した半導体試験装置１から、半導体装置２に対する試験を実際に行うための構成を省いたものである。このような構成の試験プログラム確認装置２１によっても、第１の実施形態と同様の作用および効果が得られる。
【００４１】
（その他の実施形態）
なお、本発明は上記し且つ図面に記載した各実施形態に限定されるものではなく、次のような変形または拡張が可能である。
半導体試験装置１において、実際の試験を実行している期間にチェック用試験を行うことができない仕様に変更することも可能である。つまり、半導体試験装置１は、実際の試験を実行する機能と、チェック用試験を実行する機能とを備えたものでもよい。
チェック用試験における仮想的な動作の内容、各種制約の内容、各種ルールの内容、それら制約およびルールに対する違反の規定などをカスタマイズ可能とする機能（試験内容設定手段およびチェック内容設定手段）については、必要に応じて設ければよい。
【符号の説明】
【００４２】
図面中、１は半導体試験装置、２は半導体装置、３は記憶部（メモリ）、４は入力部（試験内容設定手段、チェック内容設定手段）、５は制御部（チェック用試験実行手段、プログラムチェック手段、実試験実行手段）、６は測定部（ハードウェア）、１２、２１は試験プログラム確認装置を示す。
【図１】
2013167471.tif 000003
【図２】
2013167471.tif 000004
【図３】
2013167471.tif 000005