(57)【要約】【課題】テストプログラムの検証に多大な時間を要するという課題があった。【解決手段】本発明のテストプログラムデバッグ装置は、被試験デバイスシミュレータ及び半導体試験装置シミュレータとを備える。そして、半導体試験装置シミュレータは、テストプログラムのうちの検証すべき命令の範囲である検証範囲を取得する検証範囲取得部と、テストプログラムのうちの検証範囲以外の範囲である非検証範囲に含まれる非検証範囲命令のうち、被試験デバイスシミュレータの設定を行うための設定命令以外の非設定命令を単純化する命令単純化部と、検証範囲に含まれる検証範囲命令、設定命令、及び命令単純化部によって単純化された非設定命令を実行する命令実行部とを有する。【選択図】図１
2010146592.tif 000002
【特許請求の範囲】
【請求項１】
半導体試験装置用のテストプログラムのデバッグを行うテストプログラムデバッグ装置であって、
被試験デバイスをシミュレートする被試験デバイスシミュレータと、
前記テストプログラムを実行して前記半導体試験装置をシミュレートし、前記被試験デバイスシミュレータにテストパターンを供給する半導体試験装置シミュレータと
を備え、
前記半導体試験装置シミュレータは、
前記テストプログラムのうちの検証すべき命令の範囲である検証範囲を取得する検証範囲取得部と、
前記テストプログラムのうちの前記検証範囲以外の範囲である非検証範囲に含まれる非検証範囲命令のうち、前記被試験デバイスシミュレータの設定を行うための設定命令以外の非設定命令を単純化する命令単純化部と、
前記検証範囲に含まれる検証範囲命令、前記設定命令、及び前記命令単純化部によって単純化された前記非設定命令を実行する命令実行部と
を有するテストプログラムデバッグ装置。
【請求項２】
前記非設定命令は、前記非設定命令として、前記テストパターンの生成を行うためのパターン生成命令、及び前記テストパターンに対して前記被試験デバイスシミュレータから出力された出力パターンを期待値と比較するパターン比較命令を含み、
前記命令単純化部は、前記パターン生成命令及び前記パターン比較命令を単純化し、
前記命令実行部は、前記検証範囲命令及び前記設定命令、並びに前記単純化された前記パターン生成命令及び前記パターン比較命令を実行する請求項１に記載のテストプログラムデバッグ装置。
【請求項３】
前記命令単純化部は、前記非設定命令を前記命令実行部によって実行されない命令として設定し、
前記命令実行部は、前記検証範囲命令及び前記設定命令を実行し、前記非設定命令を実行しない請求項１に記載のテストプログラムデバッグ装置。
【請求項４】
半導体試験装置用のテストプログラムのデバッグを行うテストプログラムデバッグ装置であって、
被試験デバイスをシミュレートする被試験デバイスシミュレータと、
前記テストプログラムを実行して前記半導体試験装置をシミュレートし、前記被試験デバイスシミュレータにテストパターンの受け渡しを行う半導体試験装置シミュレータと
を備え、
前記半導体試験装置シミュレータは、前記テストプログラムのうちの検証すべき命令の範囲である検証範囲を取得し、
前記被試験デバイスシミュレータは、前記テストプログラムのうちの前記検証範囲以外の範囲である非検証範囲に含まれる非検証範囲命令のうち、前記被試験デバイスシミュレータの設定を行うための設定命令以外の非設定命令に基づくシミュレートを単純化して実行するテストプログラムデバッグ装置。
【請求項５】
前記被試験デバイスシミュレータは、前記半導体試験装置シミュレータから供給された前記テストパターンに対する出力パターンを予め保持しており、前記非設定命令に基づく前記半導体試験装置シミュレータからの前記テストパターンに対して、予め保持している前記出力パターンを出力する請求項４に記載のテストプログラムデバッグ装置。
【請求項６】
テストプログラムを実行することにより被試験デバイスを試験する半導体試験装置であって、
前記テストプログラムのうちの前記被試験デバイスの試験に用いるべき命令の範囲である試験範囲を取得する試験範囲取得部と、
前記テストプログラムのうちの前記試験範囲以外の範囲である非試験範囲に含まれる非試験範囲命令のうち、前記被試験デバイスの設定を行うための設定命令以外の非設定命令を単純化する命令単純化部と、
前記試験範囲に含まれる試験範囲命令、前記設定命令、及び前記命令単純化部によって単純化された前記非設定命令を実行する命令実行部と
を備える半導体試験装置。
【請求項７】
前記非設定命令は、前記非設定命令として、テストパターンの生成を行うためのパターン生成命令、及び前記テストパターンに対して前記被試験デバイスから出力されたテストパターンを期待値と比較するパターン比較命令を含み、
前記命令単純化部は、前記パターン生成命令及び前記パターン比較命令を単純化し、
前記命令実行部は、前記試験範囲命令及び前記設定命令、並びに前記単純化された前記パターン生成命令及び前記パターン比較命令を実行する請求項６に記載の半導体試験装置。
【請求項８】
被試験デバイスをシミュレートする被試験デバイスシミュレータと、半導体試験装置用のテストプログラムを実行して前記半導体試験装置をシミュレートし、前記被試験デバイスシミュレータにテストパターンを供給する半導体試験装置シミュレータとを備えるテストプログラムデバッグ装置によるテストプログラムデバッグ方法であって、
前記テストプログラムのうちの検証すべき命令の範囲である検証範囲を取得する段階と、
前記テストプログラムのうちの前記検証範囲以外の範囲である非検証範囲に含まれる非検証範囲命令のうち、前記被試験デバイスシミュレータの設定を行うための設定命令以外の非設定命令を単純化する段階と、
前記検証範囲に含まれる検証範囲命令、前記設定命令、及び単純化された前記非設定命令を実行する段階と
を備えるテストプログラムデバッグ方法。
【請求項９】
テストプログラムを実行することにより被試験デバイスを試験する試験方法であって、
前記テストプログラムのうちの前記被試験デバイスの試験に用いるべき命令の範囲である試験範囲を取得する段階と、
前記テストプログラムのうちの前記試験範囲以外の範囲である非試験範囲に含まれる非試験範囲命令のうち、前記被試験デバイスの設定を行うための設定命令以外の非設定命令を単純化する段階と、
前記試験範囲に含まれる試験範囲命令、前記設定命令、及び単純化された前記非設定命令を実行する段階と
を備える試験方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テストプログラムデバッグ装置、半導体試験装置、テストプログラムデバッグ方法、及び試験方法に関する。特に本発明は、半導体試験装置用のテストプログラムを仮想的に実行してテストプログラムのデバッグを行うテストプログラムデバッグ装置及びテストプログラムデバッグ方法、並びにテストプログラムを実行することにより被試験デバイスを試験する半導体試験装置及び試験方法に関する。
【背景技術】
【０００２】
半導体試験装置は、半導体試験装置用のテストプログラムを実行することにより、被試験デバイスにテストパターンを供給して、被試験デバイスの各種試験を行う。このテストプログラムは、試験条件、テストパターンの生成、テストパターンの比較等を規定する膨大な命令で構成されており、半導体試験装置の種類及び被試験デバイスの種類に併せて作成又は変更される。そして、テストプログラムが作成又は変更された場合には、そのテストプログラムが正常に動作するものか否かの検証を行わなければならない。そこで、従来、ワークステーション等の汎用コンピュータを用いて半導体試験装置及び被試験デバイスをシミュレートするテストプログラムデバッグ装置にテストプログラムを実行させることによって、テストプログラムの検証が行われている（例えば、特許文献１参照。）。
特許文献１  特開２００１−５１０２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、上述のようにテストプログラムは膨大な命令で構成されているため、テストプログラムの実行には多大な時間が要される。また、従来のテストプログラムデバッグ装置は、テストプログラムの一部の命令のみを実行することができず、複数の試験項目のうちの一部の試験項目の命令だけを検証することや、複数のテストパターンのうちの一部のテストパターンを生成するための命令だけを検証する場合であっても、テストプログラムの全命令を実行させなければならない。そのため、テストプログラムの検証に多大な時間を要するという課題があった。
【０００４】
そこで本発明は、上記の課題を解決することができる試験装置を提供することを目的とする。この目的は請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
【課題を解決するための手段】
【０００５】
本発明の第１の形態によると、半導体試験装置用のテストプログラムのデバッグを行うテストプログラムデバッグ装置であって、被試験デバイスをシミュレートする被試験デバイスシミュレータと、テストプログラムを実行して半導体試験装置をシミュレートし、被試験デバイスシミュレータにテストパターンを供給する半導体試験装置シミュレータとを備える。
【０００６】
半導体試験装置シミュレータは、テストプログラムのうちの検証すべき命令の範囲である検証範囲を取得する検証範囲取得部と、テストプログラムのうちの検証範囲以外の範囲である非検証範囲に含まれる非検証範囲命令のうち、被試験デバイスシミュレータの設定を行うための設定命令以外の非設定命令を単純化する命令単純化部と、検証範囲に含まれる検証範囲命令、設定命令、及び命令単純化部によって単純化された非設定命令を実行する命令実行部とを有する。
【０００７】
非設定命令は、非設定命令として、テストパターンの生成を行うためのパターン生成命令、及びテストパターンに対して被試験デバイスシミュレータから出力された出力パターンを期待値と比較するパターン比較命令を含み、命令単純化部は、パターン生成命令及びパターン比較命令を単純化し、命令実行部は、検証範囲命令及び設定命令、並びに単純化されたパターン生成命令及びパターン比較命令を実行してもよい。
【０００８】
命令単純化部は、非設定命令を命令実行部によって実行されない命令として設定し、命令実行部は、検証範囲命令及び設定命令を実行し、非設定命令を実行しなくてもよい。
【０００９】
本発明の第２の形態によると、半導体試験装置用のテストプログラムのデバッグを行うテストプログラムデバッグ装置であって、被試験デバイスをシミュレートする被試験デバイスシミュレータと、テストプログラムを実行して半導体試験装置をシミュレートし、被試験デバイスシミュレータにテストパターンの受け渡しを行う半導体試験装置シミュレータとを備える。
【００１０】
半導体試験装置シミュレータは、テストプログラムのうちの検証すべき命令の範囲である検証範囲を取得し、被試験デバイスシミュレータは、テストプログラムのうちの検証範囲以外の範囲である非検証範囲に含まれる非検証範囲命令のうち、被試験デバイスシミュレータの設定を行うための設定命令以外の非設定命令に基づくシミュレートを単純化して実行する。
【００１１】
被試験デバイスシミュレータは、半導体試験装置シミュレータから供給されたテストパターンに対する出力パターンを予め保持しており、非設定命令に基づく半導体試験装置シミュレータからのテストパターンに対して、予め保持している出力パターンを出力してもよい。
【００１２】
本発明の第３の形態によると、テストプログラムを実行することにより被試験デバイスを試験する半導体試験装置であって、テストプログラムのうちの被試験デバイスの試験に用いるべき命令の範囲である試験範囲を取得する試験範囲取得部と、テストプログラムのうちの試験範囲以外の範囲である非試験範囲に含まれる非試験範囲命令のうち、被試験デバイスの設定を行うための設定命令以外の非設定命令を単純化する命令単純化部と、試験範囲に含まれる試験範囲命令、設定命令、及び命令単純化部によって単純化された非設定命令を実行する命令実行部とを備える。
【００１３】
非設定命令は、非設定命令として、テストパターンの生成を行うためのパターン生成命令、及びテストパターンに対して被試験デバイスから出力されたテストパターンを期待値と比較するパターン比較命令を含み、命令単純化部は、パターン生成命令及びパターン比較命令を単純化し、命令実行部は、試験範囲命令及び設定命令、並びに単純化されたパターン生成命令及びパターン比較命令を実行してもよい。
【００１４】
本発明の第４の形態によると、被試験デバイスをシミュレートする被試験デバイスシミュレータと、半導体試験装置用のテストプログラムを実行して半導体試験装置をシミュレートし、被試験デバイスシミュレータにテストパターンを供給する半導体試験装置シミュレータとを備えるテストプログラムデバッグ装置によるテストプログラムデバッグ方法であって、テストプログラムのうちの検証すべき命令の範囲である検証範囲を取得する段階と、テストプログラムのうちの検証範囲以外の範囲である非検証範囲に含まれる非検証範囲命令のうち、被試験デバイスシミュレータの設定を行うための設定命令以外の非設定命令を単純化する段階と、検証範囲に含まれる検証範囲命令、設定命令、及び単純化された非設定命令を実行する段階とを備える。
【００１５】
本発明の第５の形態によると、テストプログラムを実行することにより被試験デバイスを試験する試験方法であって、テストプログラムのうちの被試験デバイスの試験に用いるべき命令の範囲である試験範囲を取得する段階と、テストプログラムのうちの試験範囲以外の範囲である非試験範囲に含まれる非試験範囲命令のうち、被試験デバイスの設定を行うための設定命令以外の非設定命令を単純化する段階と、試験範囲に含まれる試験範囲命令、設定命令、及び単純化された非設定命令を実行する段階とを備える。
【００１６】
なお上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションも又発明となりうる。
【図面の簡単な説明】
【００１７】
【図１】テストプログラムデバッグ装置１００の構成の一例を示す図である。
【図２】半導体試験装置２００の構成の一例を示す図である。
【図３】テストプログラム１１０及びパターンプログラム３００の構成の一例を示す図である。
【発明を実施するための形態】
【００１８】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は請求の範囲に係る発明を限定するものではなく、又実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１９】
図１は、本発明の一実施形態に係るテストプログラムデバッグ装置１００の構成の一例を示す。テストプログラムデバッグ装置１００は、ワークステーション等の汎用コンピュータによって実現され、半導体試験装置２００及び被試験デバイス２０２の動作をシミュレートすることによって、テストプログラム１１０が正常に動作するか否かを検証してデバッグを行う。このように、テストプログラムデバッグ装置１００は、半導体試験装置２００及び被試験デバイス２０２を模擬するものであるので、まず図２を参照して、実際の半導体試験装置２００の構成及び動作を説明する。
【００２０】
図２は、本発明の一実施形態に係る半導体試験装置２００の構成の一例を示す。半導体試験装置２００は、被試験デバイス２０２に接続されて被試験デバイス２０２とテストパターンの受け渡しを行うテストモジュール２０６と、テストモジュール２０６を制御するテストモジュール制御部２０４と、テストモジュール制御部２０４とテストモジュール２０６とを接続するテスタバス２２２とを備える。テストモジュール制御部２０４は、テストプログラム１１０、アプリケーションプログラム２１０、言語解析実行部２１２、テスタライブラリ２１４、及びテスタバスドライバ２１６を有する。そして、アプリケーションプログラム２１０は、試験範囲取得部２１８及び命令単純化部２２０として機能する。また、テストモジュール２０６は、レジスタ２２４、メモリ２２６、及び試験実行部２２８を有する。
【００２１】
テストプログラム１１０は、被試験デバイス２０２に対して行う試験の内容が記述されたものである。言語解析実行部２１２は、テストプログラム１１０の構文解析を行い、テストプログラム１１０に従って、半導体試験装置２００を動作させる。アプリケーションプログラム２１０は、テストプログラム１１０及び言語解析実行部２１２と連携して動作し、被試験デバイス２０２へのテストパターンの印加制御等を行う。テスタライブラリ２１４は、言語解析実行部２１２によって構文解析が行われたテストプログラム１１０の命令をレジスタレベルの命令に変換して、パターンデータの生成やテストモジュール２０６の設定を行うとともに、テストモジュール２０６に対して測定動作の指示を行う。そして、テスタバスドライバ２１６は、テスタバス２２２を介して、テスタライブラリ２１４によって生成されたパターンデータをレジスタ２２４に転送する。
【００２２】
レジスタ２２４は、テスタライブラリ２１４によって生成されたパターンデータを格納しており、格納しているパターンデータを直接又はメモリ２２６を介して試験実行部２２８に供給する。そして、試験実行部２２８は、レジスタ２２４又はメモリ２２６が格納しているパターンデータに基づいて被試験デバイス２０２の試験を行い、試験結果をレジスタ２２４又はメモリ２２６に格納する。そして、テスタバスドライバ２１６は、レジスタ２２４又はメモリ２２６に格納されている試験結果を、テスタバス２２２を介してテスタライブラリ２１４に取り込む。そして、アプリケーションプログラム２１０は、テスタライブラリ２１４に取り込まれた試験結果に基づいて、被試験デバイス２０２の良否判定、被試験デバイス２０２の特性解析等を行う。
【００２３】
図１に示したテストプログラムデバッグ装置１００は、上述の半導体試験装置２００及び被試験デバイス２０２の動作をシミュレートし、テストプログラム１１０が正常に動作するか否かを検証してデバッグを行う。次に、図１を参照して、テストプログラムデバッグ装置１００の構成及び動作を説明する。
【００２４】
テストプログラムデバッグ装置１００は、被試験デバイス２０２をシミュレートする被試験デバイスシミュレータ１０４と、テストプログラム１１０を実行して半導体試験装置２００をシミュレートし、被試験デバイス２０２にテストパターンを供給する半導体試験装置シミュレータ１０２とを備える。半導体試験装置シミュレータ１０２は、テストモジュール２０６をエミュレートするテストモジュールエミュレータ１０８と、テストモジュールエミュレータ１０８を制御するエミュレータ制御部１０６と、エミュレータ制御部１０６とテストモジュールエミュレータ１０８とを仮想的に接続する仮想テスタバス１２４と、被試験デバイスシミュレータ１０４の試験結果を解析する試験結果解析判定部１３６とを有する。
【００２５】
エミュレータ制御部１０６は、テストプログラム１１０、アプリケーションプログラム１１２、言語解析実行部１１４、テスタライブラリ１１６、及びテスタバスエミュレータ１１８を含む。そして、アプリケーションプログラム１１２は、検証範囲取得部１２０及び命令単純化部１２２として機能する。また、テストモジュールエミュレータ１０８は、仮想レジスタ１２６、仮想メモリ１２８、及び仮想試験実行部１３０を含む。
【００２６】
エミュレータ制御部１０６は、図２に示したテストモジュール制御部２０４と同一の動作を行い、図２に示したテストモジュール２０６の動作をソフトウェアで実現するテストモジュールエミュレータ１０８を制御する。テストプログラム１１０は、図２に示したテストプログラム１１０が移植されたものであり、テストプログラムデバッグ装置１００によるデバッグの対象である。言語解析実行部１１４は、テストプログラム１１０の構文解析を行い、テストプログラム１１０に従って、半導体試験装置シミュレータ１０２を動作させる。アプリケーションプログラム１１２は、テストプログラム１１０及び言語解析実行部１１４と連携して動作し、被試験デバイスシミュレータ１０４へのテストパターンの印加制御等を行う。テスタライブラリ１１６は、本発明の命令実行部の一例であり、言語解析実行部１１４によって構文解析が行われたテストプログラム１１０の命令をレジスタレベルの命令に変換して、パターンデータの生成やテストモジュールエミュレータ１０８の設定を行うとともに、テストモジュールエミュレータ１０８に対して測定動作の指示を行う。そして、テスタバスエミュレータ１１８は、仮想テスタバス１２４を介して、テスタライブラリ１１６によって生成されたパターンデータを仮想レジスタ１２６に転送する。
【００２７】
仮想レジスタ１２６は、テスタライブラリ１１６によって生成されたパターンデータを格納しており、格納しているパターンデータを直接又は仮想メモリ１２８を介して仮想試験実行部１３０に供給する。そして、仮想試験実行部１３０は、仮想レジスタ１２６又は仮想メモリ１２８が格納しているパターンデータに基づいて被試験デバイスシミュレータ１０４の仮想試験を行い、仮想試験結果を仮想レジスタ１２６又は仮想メモリ１２８に格納する。そして、テスタバスエミュレータ１１８は、仮想レジスタ１２６又は仮想メモリ１２８に格納されている仮想試験結果を、仮想テスタバス１２４を介してテスタライブラリ１１６に取り込む。そして、試験結果解析判定部１３６は、テスタライブラリ１１６、仮想レジスタ１２６、又は仮想メモリ１２８に格納されている仮想試験結果と、予め生成された仮想試験結果の期待値とを比較検討する。そして、試験結果解析判定部１３６は、テストプログラム１１０が正常に動作しているかの検証を行い、検証結果をユーザに通知する。例えば、仮想試験結果と期待値とが異なる場合には、仮想試験結果の元となるテストプログラム１１０の行番号等をモニタに表示したり、プリンタで印字したりする。
【００２８】
図３は、テストプログラム１１０及びパターンプログラム３００の構成の一例を示す。テストプログラム１１０は、試験項目の識別子であるテスト番号３０２毎に、試験条件を規定する試験条件命令群３０４、及び被試験デバイス２０２又はテストモジュールエミュレータ１０８からの出力パターンを測定する測定命令群３０６を有する。測定命令群３０６は、テストモジュール２０６又はテストモジュールエミュレータ１０８の設定を行うための命令である設定命令３０８と、テストパターンの生成を行うための命令であるパターン生成命令３１０と、テストパターンに対して被試験デバイス２０２又は被試験デバイスシミュレータ１０４から出力された出力パターンを予め生成された期待値と比較するパターン比較命令３１２とを含む。設定命令３０８は、例えばレジスタ値の設定である。また、パターンプログラム３００は、パターン生成命令３１０によって呼び出され、テストパターンを生成するための情報を有する。具体的には、パターンプログラム３００は、テストパターンのアドレス３１４に対応づけて、テストパターンを示すパターンデータ３１６を保持する。
【００２９】
図１に示したテストプログラムデバッグ装置１００は、図３に示したテストプログラム１１０を順次実行することにより、テストプログラム１１０の検証を行うが、ユーザがテストプログラム１１０において検証すべき命令の範囲、又はパターンプログラム３００において検証すべきパターンデータの範囲を選択し、選択されたテストプログラム１１０の一部分の命令を検証してもよい。
【００３０】
即ち、検証範囲取得部１２０は、ユーザの指示入力に基づいて、テストプログラム１１０のうちの検証すべき命令の範囲である検証範囲を取得する。例えば、テストプログラム１１０におけるテスト番号３０２、又はテスト番号３０２の範囲がユーザによって指定された場合、検証範囲取得部１２０は、テスト番号３０２、又はテスト番号３０２の範囲を検証範囲として取得する。また、検証範囲取得部１２０は、ユーザの指示入力に基づいて、パターンプログラム３００のうちの検証すべきテストパターンの範囲を検証範囲として取得してもよい。例えば、パターンプログラム３００におけるテストパターンのアドレス３１４、又はテストパターンのアドレス３１４の範囲がユーザによって指定された場合、検証範囲取得部１２０は、指定されたテストパターンのアドレス３１４のテストパターン、又は指定されたテストパターンのアドレス３１４の範囲のテストパターンを検証範囲として取得してもよい。また、パターンプログラム３００におけるテストパターンのアドレス３１４及びカウントの範囲がユーザによって指定された場合、検証範囲取得部１２０は、指定されたテストパターンのアドレス３１４から指定されたカウントの範囲のテストパターンを検証範囲として取得してもよい。なお、テストパターンのアドレス３１４、テストパターンのアドレスの範囲、並びにテストパターンのアドレス３１４及びカウントの範囲のいずれもが指定されない場合には、検証範囲取得部１２０は、パターンプログラム３００の全てのテストパターンを検証範囲として取得してもよい。
【００３１】
そして、命令単純化部１２２は、テストプログラム１１０のうちの、検証範囲取得部１２０が取得した検証範囲以外の範囲である非検証範囲に含まれる命令である非検証範囲命令のうち、被試験デバイスシミュレータ１０４の設定を行うための命令である設定命令３０８以外の命令である非設定命令を単純化する。例えば、命令単純化部１２２は、非設定命令であるパターン生成命令３１０及びパターン比較命令３１２を単純化し、簡易な命令に変換する。例えば、命令単純化部１２２は、パターン生成命令３１０の前段に設けられるテストパターンの実行命令を検出し、テストパターンの実行命令が含まれる試験項目においてテストパターンの実行命令より後段の命令を単純化する。
【００３２】
そして、テスタライブラリ１１６は、検証範囲取得部１２０が取得した検証範囲に含まれる命令である検証範囲命令、非検証範囲命令のうちの設定命令３０８、並びに非検証範囲命令のうち命令単純化部１２２によって単純化された非設定命令を実行し、テストモジュールエミュレータ１０８を動作させる。また、命令単純化部１２２は、非設定命令の単純化の他の例として、非設定命令をテスタライブラリ１１６によって実行されない命令として設定してもよい。そして、テスタライブラリ１１６は、検証範囲命令及び設定命令を実行し、非設定命令を実行しなくてもよい。
【００３３】
以上のように、ユーザから取得した検証範囲以外の命令を単純化することによって、ユーザによって指定された検証範囲を短時間で検証することができる。さらに、ユーザから取得した検証範囲以外の命令のうちで、被試験デバイスシミュレータ１０４のレジスタ値等の設定命令を単純化せずに行うことにより、テストプログラム１１０の一部の命令を検証範囲とする場合であっても、テストプログラム１１０の全てを検証する場合と同様の環境で被試験デバイスシミュレータ１０４を動作させることができるので、テストプログラム１１０を正確に検証することができる。
【００３４】
また、他の例においては、命令単純化部１２２による非設定命令の単純化に代えて、被試験デバイスシミュレータ１０４は、非設定命令に基づくシミュレートを単純化して実行してもよい。具体的には、被試験デバイスシミュレータ１０４は、半導体試験装置シミュレータ１０２から供給されたテストパターンに対する出力パターンを予め保持している出力パターンテーブル１３８を有している。そして、被試験デバイスシミュレータ１０４は、非設定命令に基づく半導体試験装置シミュレータ１０２からのテストパターンに対して、当該テストパターンに対応づけて予め保持している出力パターンを出力する。これにより、被試験デバイスシミュレータ１０４によるシミュレートの時間を軽減でき、検証範囲を迅速に検証することができる。
【００３５】
また、図２に示した半導体試験装置２００は、図３に示したテストプログラム１１０を順次実行することにより、被試験デバイス２０２の試験を行うが、ユーザがテストプログラム１１０において試験すべき命令の範囲、又はパターンプログラム３００において試験すべきパターンデータの範囲を選択し、選択されたテストプログラム１１０の一部分について試験してもよい。
【００３６】
即ち、試験範囲取得部２１８は、ユーザの指示入力に基づいて、テストプログラム１１０のうちの試験すべき命令の範囲である試験範囲を取得する。例えば、テストプログラム１１０におけるテスト番号３０２、又はテスト番号３０２の範囲がユーザによって指定された場合、試験範囲取得部２１８は、テスト番号３０２、又はテスト番号３０２の範囲を試験範囲として取得する。また、試験範囲取得部２１８は、ユーザの指示入力に基づいて、パターンプログラム３００のうちの試験すべきテストパターンの範囲を試験範囲として取得してもよい。例えば、パターンプログラム３００におけるテストパターンのアドレス３１４、又はテストパターンのアドレス３１４の範囲がユーザによって指定された場合、試験範囲取得部２１８は、指定されたテストパターンのアドレス３１４のテストパターン、又は指定されたテストパターンのアドレス３１４の範囲のテストパターンを試験範囲として取得してもよい。また、パターンプログラム３００におけるテストパターンのアドレス３１４及びカウントの範囲がユーザによって指定された場合、試験範囲取得部２１８は、指定されたテストパターンのアドレス３１４から指定されたカウントの範囲のテストパターンを試験範囲として取得してもよい。なお、テストパターンのアドレス３１４、テストパターンのアドレスの範囲、並びにテストパターンのアドレス３１４及びカウントの範囲のいずれもが指定されない場合には、試験範囲取得部２１８は、パターンプログラム３００の全てのテストパターンを試験範囲として取得してもよい。
【００３７】
そして、命令単純化部２２０は、テストプログラム１１０のうちの、試験範囲取得部２１８が取得した試験範囲以外の範囲である非試験範囲に含まれる命令である非試験範囲命令のうち、被試験デバイス２０２の設定を行うための命令である設定命令３０８以外の命令である非設定命令を単純化する。例えば、命令単純化部２２０は、非設定命令であるパターン生成命令３１０及びパターン比較命令３１２を単純化し、簡易な命令に変換する。そして、テスタライブラリ２１４は、試験範囲取得部２１８が取得した試験範囲に含まれる命令である試験範囲命令、非試験範囲命令のうちの設定命令３０８、並びに非試験範囲命令のうち命令単純化部２２０によって単純化された非設定命令を実行し、テストモジュール２０６を動作させる。また、命令単純化部２２０は、非設定命令の単純化の他の例として、非設定命令をテスタライブラリ２１４によって実行されない命令として設定してもよい。そして、テスタライブラリ２１４は、試験範囲命令及び設定命令を実行し、非設定命令を実行しなくてもよい。
【００３８】
以上のように、ユーザから取得した試験範囲以外の命令を単純化することによって、ユーザによって指定された試験範囲を短時間で試験することができる。さらに、ユーザから取得した試験範囲以外の命令のうちで、被試験デバイス２０２のレジスタ値等の設定命令を単純化せずに行うことにより、テストプログラム１１０の一部分を試験範囲とする場合であっても、テストプログラム１１０の全てについて試験する場合と同様の環境で被試験デバイス２０２を動作させることができるので、テストプログラム１１０を正確に試験することができる。
【００３９】
以上、実施形態を用いて本発明を説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。上記実施形態に、多様な変更又は改良を加えることができる。そのような変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、請求の範囲の記載から明らかである。
【符号の説明】
【００４０】
１００  テストプログラムデバッグ装置
１０２  半導体試験装置シミュレータ
１０４  被試験デバイスシミュレータ
１０６  エミュレータ制御部
１０８  テストモジュールエミュレータ
１１０  テストプログラム
１１２  アプリケーションプログラム
１１４  言語解析実行部
１１６  テスタライブラリ
１１８  テスタバスエミュレータ
１２０  検証範囲取得部
１２２  命令単純化部
１２４  仮想テスタバス
１２６  仮想レジスタ
１２８  仮想メモリ
１３０  仮想試験実行部
１３６  試験結果解析判定部
１３８  出力パターンテーブル
２００  半導体試験装置
２０２  被試験デバイス
２０４  テストモジュール制御部
２０６  テストモジュール
２１０  アプリケーションプログラム
２１２  言語解析実行部
２１４  テスタライブラリ
２１６  テスタバスドライバ
２１８  試験範囲取得部
２２０  命令単純化部
２２２  テスタバス
２２４  レジスタ
２２６  メモリ
２２８  試験実行部
３００  パターンプログラム
３０２  テスト番号
３０４  試験条件命令群
３０６  測定命令群
３０８  設定命令
３１０  パターン生成命令
３１２  パターン比較命令
３１４  テストパターンのアドレス
３１６  パターンデータ
【図１】
2010146592.tif 000003
【図２】
2010146592.tif 000004
【図３】
2010146592.tif 000005
【手続補正書】
【提出日】平成22年3月26日(2010.3.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
半導体試験装置用のテストプログラムのデバッグを行うテストプログラムデバッグ装置であって、
被試験デバイスをシミュレートする被試験デバイスシミュレータと、
前記テストプログラムを実行して前記半導体試験装置をシミュレートし、前記被試験デバイスシミュレータにテストパターンを供給する半導体試験装置シミュレータとを備え、
前記半導体試験装置シミュレータは、
前記テストプログラムのうちの検証すべき命令の範囲である検証範囲を取得する検証範囲取得部と、
前記テストプログラムのうちの前記検証範囲以外の範囲である非検証範囲に含まれる非検証範囲命令のうち、前記被試験デバイスシミュレータの設定を行うための設定命令以外の非設定命令を単純化する命令単純化部と、
テストプログラムの実行において、前記非検証範囲においては、前記設定命令及び前記命令単純化部によって単純化された前記非設定命令を実行し、前記検証範囲においては、検証範囲命令を実行する命令実行部と、
を有するテストプログラムデバッグ装置。
【請求項２】
前記被試験デバイスシミュレータにより得られた仮想試験結果と、予め生成された仮想試験結果の期待値とを比較し、テストプログラムが正常に動作しているかの検証を行い、検証結果をユーザに通知する試験結果解析判定部を更に有する
請求項１に記載のテストプログラムデバッグ装置。
【請求項３】
半導体試験装置用のパターンプログラムのデバッグを行うパターンプログラムデバッグ装置であって、
被試験デバイスをシミュレートする被試験デバイスシミュレータと、
テストプログラム及び前記パターンプログラムを実行して前記半導体試験装置をシミュレートし、前記被試験デバイスシミュレータにテストパターンを供給する半導体試験装置シミュレータとを備え、
前記半導体試験装置シミュレータは、
前記パターンプログラムのうちの検証すべきテストパターンの範囲である検証範囲を取得する検証範囲取得部と、
前記検証範囲を呼び出す前記テストプログラムのうちのパターン生成命令及び前記検証範囲のテストパターン実行命令以外の命令のうち、前記被試験デバイスシミュレータの設定を行うための設定命令以外の非設定命令を単純化する命令単純化部と、
前記テストプログラムの実行において、前記検証範囲以外においては、前記設定命令及び前記命令単純化部によって単純化された前記非設定命令を実行し、前記検証範囲においては、前記パターン生成命令及びテストパターン実行命令を実行する命令実行部と、
前記被試験デバイスシミュレータにより得られた仮想試験結果と、予め生成された仮想試験結果の期待値とを比較し、パターンプログラムが正常に動作しているかの検証を検証範囲において行い、検証結果をユーザに通知する試験結果解析判定部と
を有するパターンプログラムデバッグ装置。
【請求項４】
半導体試験装置用のテストプログラムのデバッグを行うテストプログラムデバッグ装置であって、
被試験デバイスをシミュレートする被試験デバイスシミュレータと、
前記テストプログラムを実行して前記半導体試験装置をシミュレートし、前記被試験デバイスシミュレータにテストパターンの受け渡しを行う半導体試験装置シミュレータとを備え、
前記半導体試験装置シミュレータは、前記テストプログラムのうちの検証すべき命令の範囲である検証範囲を取得し、
前記被試験デバイスシミュレータは、テストプログラムの実行において、前記テストプログラムのうちの前記検証範囲以外の範囲である非検証範囲に含まれる非検証範囲命令のうち、前記被試験デバイスシミュレータの設定を行うための設定命令以外の非設定命令に基づくシミュレートを単純化して実行するテストプログラムデバッグ装置。
【請求項５】
半導体試験装置用のパターンプログラムのデバッグを行うパターンプログラムデバッグ装置であって、
被試験デバイスをシミュレートする被試験デバイスシミュレータと、
テストプログラム及び前記パターンプログラムを実行して前記半導体試験装置をシミュレートし、前記被試験デバイスシミュレータにテストパターンの受け渡しを行う半導体試験装置シミュレータとを備え、
前記半導体試験装置シミュレータは、前記パターンプログラムのうちの検証すべきテストパターンの範囲である検証範囲を取得し、
前記被試験デバイスシミュレータは、テストプログラムの実行において、前記テストプログラムのうちの前記検証範囲を呼び出すパターン生成命令及び前記検証範囲のテストパターン実行命令以外の命令のうち、前記被試験デバイスシミュレータの設定を行うための設定命令以外の非設定命令に基づくシミュレートを単純化して実行し、
前記被試験デバイスシミュレータにより得られた仮想試験結果と、予め生成された仮想試験結果の期待値とを比較し、パターンプログラムが正常に動作しているかの検証を検証範囲において行い、検証結果をユーザに通知するパターンプログラムデバッグ装置。
【請求項６】
テストプログラムを実行することにより被試験デバイスを試験する半導体試験装置であって、
前記テストプログラムのうちの前記被試験デバイスの試験に用いるべき命令の範囲である試験範囲を取得する試験範囲取得部と、
前記テストプログラムのうちの前記試験範囲以外の範囲である非試験範囲に含まれる非試験範囲命令のうち、前記被試験デバイスの設定を行うための設定命令以外の非設定命令を単純化する命令単純化部と、
テストプログラムの実行において、前記非試験範囲においては、前記設定命令及び前記命令単純化部によって単純化された前記非設定命令を実行し、前記試験範囲においては、試験範囲命令を実行する命令実行部とを備える半導体試験装置。
【請求項７】
テストプログラムを実行することにより被試験デバイスを試験する半導体試験装置であって、
パターンプログラムのうちの前記被試験デバイスの試験に用いるべきテストパターンの範囲である試験範囲を取得する試験範囲取得部と、
前記試験範囲を呼び出す前記テストプログラムのうちのパターン生成命令及び前記試験範囲のテストパターン実行命令以外の命令のうち、前記被試験デバイスの設定を行うための設定命令以外の非設定命令を単純化する命令単純化部と、
前記テストプログラムの実行において、前記試験範囲以外においては、前記設定命令及び前記命令単純化部によって単純化された前記非設定命令を実行し、前記試験範囲においては、前記パターン生成命令及び前記テストパターン実行命令を実行する命令実行部と、
前記被試験デバイスにより得られた試験結果と、予め生成された試験結果の期待値とを比較し、前記被試験デバイスが正常に動作しているかの試験を試験範囲において行い、試験結果をユーザに通知する試験結果解析判定部とを備える半導体試験装置。
【請求項８】
被試験デバイスをシミュレートする被試験デバイスシミュレータと、半導体試験装置用のテストプログラムを実行して前記半導体試験装置をシミュレートし、前記被試験デバイスシミュレータにテストパターンを供給する半導体試験装置シミュレータとを備えるテストプログラムデバッグ装置によるテストプログラムデバッグ方法であって、
前記テストプログラムのうちの検証すべき命令の範囲である検証範囲を取得する段階と、
前記テストプログラムのうちの前記検証範囲以外の範囲である非検証範囲に含まれる非検証範囲命令のうち、前記被試験デバイスシミュレータの設定を行うための設定命令以外の非設定命令を単純化する段階と、
テストプログラムの実行において、前記非検証範囲においては、前記設定命令及び単純化された前記非設定命令を実行し、前記検証範囲においては、検証範囲命令を実行する段階とを備えるテストプログラムデバッグ方法。
【請求項９】
被試験デバイスをシミュレートする被試験デバイスシミュレータと、半導体試験装置用のテストプログラムを実行して前記半導体試験装置をシミュレートし、前記被試験デバイスシミュレータにテストパターンを供給する半導体試験装置シミュレータとを備えるパターンプログラムデバッグ装置によるパターンプログラムデバッグ方法であって、
前記パターンプログラムのうちの検証すべきテストパターンの範囲である検証範囲を取得する段階と、
前記検証範囲を呼び出す前記テストプログラムのうちのパターン生成命令及び前記検証範囲のテストパターン実行命令以外の命令のうち、前記被試験デバイスシミュレータの設定を行うための設定命令以外の非設定命令を単純化する段階と、
前記テストプログラムの実行において、前記検証範囲以外においては、前記設定命令及び命令単純化段階によって単純化された前記非設定命令を実行し、前記検証範囲においては、前記パターン生成命令及び前記テストパターン実行命令を実行する段階と、
前記被試験デバイスシミュレータにより得られた仮想試験結果と、予め生成された仮想試験結果の期待値とを比較し、パターンプログラムが正常に動作しているかの検証を検証範囲において行い、検証結果をユーザに通知する段階と、
を備えるパターンプログラムデバッグ方法。
【請求項１０】
テストプログラムを実行することにより被試験デバイスを試験する試験方法であって、
前記テストプログラムのうちの前記被試験デバイスの試験に用いるべき命令の範囲である試験範囲を取得する段階と、
前記テストプログラムのうちの前記試験範囲以外の範囲である非試験範囲に含まれる非試験範囲命令のうち、前記被試験デバイスの設定を行うための設定命令以外の非設定命令を単純化する段階と、
テストプログラムの実行において、前記非試験範囲においては、前記設定命令及び単純化された前記非設定命令を実行し、前記試験範囲においては、試験範囲命令を実行する段階とを備える試験方法。
【請求項１１】
テストプログラムを実行することにより被試験デバイスを試験する試験方法であって、
パターンプログラムのうちの前記被試験デバイスの試験に用いるべきテストパターンの範囲である試験範囲を取得する段階と、
前記試験範囲を呼び出す前記テストプログラムのうちのパターン生成命令及び前記試験範囲のテストパターン実行命令以外の命令のうち、前記被試験デバイスの設定を行うための設定命令以外の非設定命令を単純化する段階と、
前記テストプログラムの実行において、前記試験範囲以外においては、前記設定命令及び単純化された前記非設定命令を実行し、前記試験範囲においては、前記パターン生成命令及び前記テストパターン実行命令を実行する段階と、
前記被試験デバイスにより得られた試験結果と、予め生成された試験結果の期待値とを比較し、前記被試験デバイスが正常に動作しているかの試験を試験範囲において行い、試験結果をユーザに通知する段階とを備える試験方法。