(57)【要約】【課題】      プログラム言語が異なる複数の半導体試験装置のそれぞれで用いるテストプログラム及びテストパタンプログラムのいずれか又は両者を生成するための生成方法等であって、人為的な手法ではなく、処理工程がシンプルで無駄を取り除いた生成方法等を提供する。【解決手段】  プログラム言語が異なる複数の半導体試験装置のそれぞれで用いるテストプログラム及びテストパタンプログラムを生成する生成装置５１は、各半導体試験装置のプログラム言語に応じたテストプログラム７７及びテストパタンプログラム７９を生成するプログラム生成エンジン６１と、生成されたテストプログラム７７及びテストパタンプログラム７９を、複数の半導体試験装置におけるプログラム言語とは異なるプログラム言語による共通フォーマットの中間データに変換する逆変換エンジン６９とを備える。【選択図】  図１
2006023292.tif 000002
【特許請求の範囲】
【請求項１】
プログラム言語が異なる複数の半導体試験装置のそれぞれで用いるテストプログラム及びテストパタンプログラムのいずれか又は両者を生成する生成装置であって、
半導体試験装置に対してテストプログラムが実行されて取得される若しくは仮想の半導体試験装置に対してテストプログラムが実行されて取得されるハードウエア設定情報、テストプログラム及びテストパタンプログラムの少なくともいずれかを、前記複数の半導体試験装置におけるプログラム言語とは異なるプログラム言語による共通フォーマットの中間データに変換する変換手段と、
前記変換手段が変換した中間データを用いて前記各半導体試験装置のプログラム言語に応じたテストプログラム及びテストパタンプログラムのいずれか又は両者を生成できる生成手段とを備えた、生成装置。
【請求項２】
前記変換手段が変換した中間データを記憶する記憶手段を備えた、請求項１記載の生成装置。
【請求項３】
テストプログラムからテンプレートを抽出する抽出手段と、
前記抽出手段が抽出したテンプレートを前記中間データとは独立して記憶するテンプレート記憶手段とを備え、
前記生成手段は、前記テンプレート記憶手段が記憶するテンプレートも用いて前記各半導体試験装置のプログラム言語に応じたテストプログラム及びテストパタンプログラムのいずれか又は両者を生成できる、請求項１又は２記載の生成装置。
【請求項４】
テンプレートを前記中間データとは独立して記憶するテンプレート記憶手段を備え、
前記変換手段は、前記テンプレート記憶手段が記憶するテンプレートを用いた変換処理を行う、請求項１から３のいずれかに記載の生成装置。
【請求項５】
前記変換手段が変換した中間データが所定の制約条件を満たすか否かをチェックするチェック手段を備えた、請求項１記載の生成装置。
【請求項６】
前記チェック手段がチェックした結果を通知する通知手段を備えた、請求項５記載の生成装置。
【請求項７】
前記半導体試験装置が試験する被試験デバイスは複数のピンを有し、
前記変換手段は、
前記テストプログラムを解読して少なくとも前記ピンに関する情報を抽出する抽出手段と、
前記抽出手段が抽出した情報に対して中間データ形式に応じたリフォーマット処理を行う処理手段とを含む、請求項１記載の生成装置。
【請求項８】
前記半導体試験装置が試験する被試験デバイスは複数のピンを有し、
前記変換手段は、
前記テストパタンプログラムを解読して少なくとも前記各ピンに対するパタン情報を抽出する抽出手段と、
前記抽出手段が抽出した情報に対して中間データ形式に応じたリフォーマット処理を行う処理手段とを含む、請求項１又は７記載の生成装置。
【請求項９】
前記変換手段が変換した結果を通知する通知手段を備えた、請求項１、７又は８記載の生成装置。
【請求項１０】
プログラム言語が異なる複数の半導体試験装置のそれぞれで用いるテストプログラム及びテストパタンプログラムのいずれか又は両者を生成する生成装置であって、
半導体試験装置に対してテストプログラムが実行されて取得される若しくは仮想の半導体試験装置に対してテストプログラムが実行されて取得されるハードウエア設定情報及びテストプログラムを前記複数の半導体試験装置におけるプログラム言語とは異なるプログラム言語による共通フォーマットの中間データに変換する変換手段と、
前記変換手段が変換した中間データを用いて前記各半導体試験装置のプログラム言語に応じたテストプログラム及びテストパタンプログラムのいずれか又は両者を生成できる生成手段と、
前記変換手段によりハードウエア設定情報から変換された中間データと前記変換手段によりテストプログラムから変換された中間データとを比較する比較手段とを備えた、生成装置。
【請求項１１】
前記比較手段の比較結果を用いて、前記変換手段によりハードウエア設定情報から変換された中間データと前記変換手段によりテストプログラムから変換された中間データとをマージするマージ手段を備えた、請求項１０記載の生成装置。
【請求項１２】
前記比較手段が比較した結果を通知する通知手段を備えた、請求項１０又は１１記載の生成装置。
【請求項１３】
プログラム言語が異なる複数の半導体試験装置のそれぞれで用いるテストプログラム及びテストパタンプログラムのいずれか又は両者を生成する生成方法であって、
変換手段が半導体試験装置に対してテストプログラムが実行されて取得される若しくは仮想の半導体試験装置に対してテストプログラムが実行されて取得されるハードウエア設定情報、テストプログラム及びテストパタンプログラムの少なくともいずれかを、前記複数の半導体試験装置におけるプログラム言語とは異なるプログラム言語による共通フォーマットの中間データに変換する第１ステップと、
生成手段が前記第１ステップで変換された中間データを用いて前記各半導体試験装置のプログラム言語に応じたテストプログラム及びテストパタンプログラムの少なくともいずれか一方を生成できる第２ステップとを含む、生成方法。
【請求項１４】
プログラム言語が異なる複数の半導体試験装置のそれぞれで用いるテストプログラム及びテストパタンプログラムを生成する生成方法であって、
変換手段がテストプログラム及びテストパタンプログラムを前記複数の半導体試験装置におけるプログラム言語とは異なるプログラム言語による共通フォーマットの中間データに変換する第１ステップと、
生成手段が前記第１ステップで変換された中間データを用いて前記各半導体試験装置のプログラム言語に応じたテストプログラム及びテストパタンプログラムを生成できる第２ステップとを含む、生成方法。
【請求項１５】
前記半導体試験装置が試験する被試験デバイスは複数のピンを有し、
前記第１ステップは、
抽出手段が、前記テストプログラムを解読して前記ピンに関する情報を抽出し、前記テストパタンプログラムを解読して前記各ピンに対するパタン情報を抽出するステップと、
処理手段が、前記抽出された情報に対して中間データ形式に応じたリフォーマット処理を行うステップとを含む、請求項１４記載の生成方法。
【請求項１６】
請求項１３から１５のいずれかに記載の生成方法をコンピュータに実行させることが可能なプログラム。
【請求項１７】
請求項１６記載のプログラムをコンピュータが実行することが可能にて記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、生成装置、生成方法、その生成方法をコンピュータに実行させることが可能なプログラム、及びそのプログラムを記録した記録媒体に関し、特にプログラム言語が異なる複数の半導体試験装置のそれぞれで用いるテストプログラム及びテストパタンプログラムのいずれか又は両者を生成する生成装置、生成方法、その生成方法をコンピュータに実行させることが可能なプログラム、及びそのプログラムを記録した記録媒体に関する。
【背景技術】
【０００２】
図５は、従来の半導体試験装置用テストプログラム生成システムの概略ブロック図である。
【０００３】
生成システム１は、記憶手段３と、中間データ群５と、複数のテストプログラム生成手段７Ａ〜７ｎと、複数の翻訳手段９Ａ〜９ｎと、ライブラリ抽出／中間データ生成手段１１と、中間データ・ライブラリ登録手段１３とを備える。記憶手段３は、ライブラリ１５と、製品情報ファイル１７とを備える。
【０００４】
ライブラリ１５には、測定方法、測定シーケンスの内容等、各機種LSIテスタに共通の情報が登録されている。製品情報ファイル１７には、各種LSIのパッケージ規格、ピンの配列及び名称等、LSIの種類ごとに固有の製品情報が登録されている。ライブラリ抽出／中間データ生成手段１１は、各機種LSIテスタのテストプログラムの生成に必要なデータを記憶手段３のライブラリ１５及び製品情報ファイル１７から読み出して、各種テストプログラム言語から独立した共通言語のデータに変換することにより、中間データ群５の各ファイル１９〜３７を生成する。
【０００５】
ここで、テストフローファイル１９は測定項目及び測定順序を記述したファイルであり、第１、第２、・・・第ｎのテンプレートファイル２１Ａ〜２１ｎは測定対象LSIの種類ごとに測定シーケンスを記述したファイルである。波形ファイル２３は測定対象LSIに入出力する信号波形の波形モード及びタイミング値を記述したファイルであり、レベルファイル２５は測定対象LSIに入出力する信号の電圧を記述したファイルである。ピンファイル２７は測定対象LSIの接触子とLSIテスタの接触子との接続関係を記述したファイルであり、DC測定条件ファイル２９はDC測定の測定条件を記述したファイルである。パワーシーケンスファイル３１はユニットの電源オン／オフの順序及び時間を記述したファイルであり、変数ファイル３３は変数及び演算式が記述されたファイルである。パターンリストファイル３５はテストパターンの実行開始アドレス及び停止アドレスの情報が記述されたファイルであり、インスタンスファイル３７はテンプレートと各パラメータとの結び付きを記述したファイルである。
【０００６】
中間データ・ライブラリ登録手段１３は、生成された中間データ群５の各ファイル１９〜３７に含まれる中間データを記憶手段３のライブラリ１５に登録する。
【０００７】
第１、第２、・・・第ｎのテストプログラム生成手段７Ａ〜７ｎは、それぞれがLSIテスタの機種ごとに対応して設けられており、中間データ群５の必要な各ファイル１９〜３７から読み出した中間データを変換することにより、LSIテスタの機種ごとに対応した第１、第２、・・・第ｎのテストプログラム３９Ａ〜３９ｎをＡＳＣＩＩ（American Standard Code for Information Interchange）ファイルで作成する。
【０００８】
第１、第２、・・・第ｎのプログラム翻訳手段９Ａ〜９ｎは、それぞれがLSIテスタの機種ごとに対応して設けられており、各テストプログラム３９Ａ〜３９ｎのコンパイル及びリンクを行い、LSIテスタの機種ごとに対応した実行可能プログラムであるバイナリファイルの第１、第２、・・・第ｎのテストプログラム４１Ａ〜４１ｎを生成する。
【０００９】
【特許文献１】特開２０００−１６３２７８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、上述したテストプログラムの生成では、LSIテスタの機種ごとにテストプログラム生成手段等が設けられており、処理工程が多くて無駄があり、システム構成が大きく複雑なものになっていた。
【００１１】
また、ある被試験デバイスのテストを同様のテスト内容で他機種の半導体試験装置で実行する他の手法としては、既存プログラムをエンジニアが手作業で編集等を行うことも従前から行われているが、編集のための膨大なプログラム言語の知識がエンジニアに要求され、さらに人為的ミスの可能性は否定できず、テスト内容の等価性の検証が行われていなかった。
【００１２】
ゆえに、本発明は、上記のような問題点を有する人為的な手法ではなく、処理工程がシンプルで無駄を取り除いた生成方法、その生成方法をコンピュータにより実行可能なプログラム、及びそのプログラムを記録した記録媒体、並びにシステム構成を簡略化する生成装置を提供する。
【課題を解決するための手段】
【００１３】
請求項１に係る発明の生成装置は、プログラム言語が異なる複数の半導体試験装置のそれぞれで用いるテストプログラム及びテストパタンプログラムのいずれか又は両者を生成する生成装置であって、半導体試験装置に対してテストプログラムが実行されて取得される若しくは仮想の半導体試験装置に対してテストプログラムが実行されて取得されるハードウエア設定情報、テストプログラム及びテストタンプログラムの少なくともいずれかを、前記複数の半導体試験装置におけるプログラム言語とは異なるプログラム言語による共通フォーマットの中間データに変換する変換手段と、前記変換手段が変換した中間データを用いて前記各半導体試験装置のプログラム言語に応じたテストプログラム及びテストパタンプログラムのいずれか又は両者を生成できる生成手段とを備える。
【００１４】
請求項２に係る発明の生成装置は、請求項１において、前記変換手段が変換した中間データを記憶する記憶手段を備える。
【００１５】
請求項３に係る発明の生成装置は、請求項１又は２において、テストプログラムからテンプレートを抽出する抽出手段と、前記抽出手段が抽出したテンプレートを前記中間データとは独立して記憶するテンプレート記憶手段とを備え、前記生成手段は、前記テンプレート記憶手段が記憶するテンプレートも用いて前記各半導体試験装置のプログラム言語に応じたテストプログラム及びテストパタンプログラムのいずれか又は両者を生成できるものである。
【００１６】
請求項４に係る発明の生成装置は、請求項１から３のいずれかにおいて、テンプレートを前記中間データとは独立して記憶するテンプレート記憶手段を備え、前記変換手段が、前記テンプレート記憶手段が記憶するテンプレートを用いた変換処理を行うものである。
【００１７】
請求項５に係る発明の生成装置は、請求項１において、前記変換手段が変換した中間データが所定の制約条件を満たすか否かをチェックするチェック手段を備える。
【００１８】
請求項６に係る発明の生成装置は、請求項５において、前記チェック手段がチェックした結果を通知する通知手段を備える。
【００１９】
請求項７に係る発明の生成装置は、請求項１において、前記半導体試験装置が試験する被試験デバイスは複数のピンを有し、前記変換手段は、前記テストプログラムを解読して少なくとも前記ピンに関する情報を抽出する抽出手段と、前記抽出手段が抽出した情報に対して中間データ形式に応じたリフォーマット処理を行う処理手段とを含む。
【００２０】
請求項８に係る発明の生成装置は、請求項１又は７において、前記半導体試験装置が試験する被試験デバイスは複数のピンを有し、前記変換手段が、前記テストパタンプログラムを解読して少なくとも前記各ピンに対するパタン情報を抽出する抽出手段と、前記抽出手段が抽出した情報に対して中間データ形式に応じたリフォーマット処理を行う処理手段とを含む。
【００２１】
請求項９に係る発明の生成装置は、請求項１、７又は８において、前記変換手段が変換した結果を通知する通知手段を備える。
【００２２】
請求項１０に係る発明の生成装置は、プログラム言語が異なる複数の半導体試験装置のそれぞれで用いるテストプログラム及びテストパタンプログラムのいずれか又は両者を生成する生成装置であって、半導体試験装置に対してテストプログラムが実行されて取得される若しくは仮想の半導体試験装置に対してテストプログラムが実行されて取得されるハードウエア設定情報及びテストプログラムを前記複数の半導体試験装置におけるプログラム言語とは異なるプログラム言語による共通フォーマットの中間データに変換する変換手段と、前記変換手段が変換した中間データを用いて前記各半導体試験装置のプログラム言語に応じたテストプログラム及びテストパタンプログラムのいずれか又は両者を生成できる生成手段と、前記変換手段によりハードウエア設定情報から変換された中間データと前記変換手段によりテストプログラムから変換された中間データとを比較する比較手段とを備える。
【００２３】
請求項１１に係る発明の生成装置は、請求項１０において、前記比較手段の比較結果を用いて、前記変換手段によりハードウエア設定情報から変換された中間データと前記変換手段によりテストプログラムから変換された中間データとをマージするマージ手段を備える。
【００２４】
請求項１２に係る発明の生成装置は、請求項１０又は１１において、前記比較手段が比較した結果を通知する通知手段を備える。
【００２５】
請求項１３に係る発明の生成方法は、プログラム言語が異なる複数の半導体試験装置のそれぞれで用いるテストプログラム及びテストパタンプログラムのいずれか又は両者を生成する生成方法であって、変換手段が半導体試験装置に対してテストプログラムが実行されて取得される若しくは仮想の半導体試験装置に対してテストプログラムが実行されて取得されるハードウエア設定情報、テストプログラム及びテストパタンプログラムの少なくともいずれかを、前記複数の半導体試験装置におけるプログラム言語とは異なるプログラム言語による共通フォーマットの中間データに変換する第１ステップと、生成手段が前記第１ステップで変換された中間データを用いて前記各半導体試験装置のプログラム言語に応じたテストプログラム及びテストパタンプログラムの少なくともいずれか一方を生成できる第２ステップとを含む。
【００２６】
請求項１４に係る発明の生成方法は、プログラム言語が異なる複数の半導体試験装置のそれぞれで用いるテストプログラム及びテストパタンプログラムを生成する生成方法であって、変換手段が、テストプログラム及びテストパタンプログラムを、前記複数の半導体試験装置におけるプログラム言語とは異なるプログラム言語による共通フォーマットの中間データに変換する第１ステップと、生成手段が前記第１ステップで変換された中間データを用いて前記各半導体試験装置のプログラム言語に応じたテストプログラム及びテストパタンプログラムを生成できる第２ステップとを含む。
【００２７】
請求項１５に係る発明の生成方法は、請求項１４において、前記半導体試験装置が試験する被試験デバイスは複数のピンを有し、前記第１のステップは、抽出手段が、前記テストプログラムを解読して前記ピンに関する情報を抽出し、前記テストパタンプログラムを解読して前記各ピンに対するパタン情報を抽出するステップと、処理手段が、前記抽出された情報に対して中間データ形式に応じたリフォーマット処理を行うステップとを含む。
【００２８】
請求項１６に係る発明のプログラムは、請求項１３から１５のいずれかに記載の生成方法をコンピュータに実行させることが可能なプログラムである。
【００２９】
請求項１７に係る発明の記録媒体は、請求項１６記載のプログラムをコンピュータが実行することが可能にて記録した記録媒体である。
【発明の効果】
【００３０】
この発明によれば、ハードウエア設定情報、テストプログラム及びテストパタンプログラムの少なくともいずれかが、複数の半導体試験装置におけるプログラム言語とは異なるプログラム言語による共通フォーマットの中間データに変換される。そして、生成手段が変換された中間データを用いて各半導体試験装置のプログラム言語に応じたテストプログラム及びテストパタンプログラムのいずれか又は両者を生成できる。したがって、人為的な方法ではない多機種へのプログラム変換が可能となり、中間データの再利用により、その処理工程に無駄がなく、シンプルなものとできる。
【発明を実施するための最良の形態】
【００３１】
図１は、本発明の実施の形態に係る生成装置の概略ブロック図である。以下、図１を用いて構成を説明する。
【００３２】
生成装置５１は、中間データ生成エンジン５３と、中間データ記憶部５５と、制約ファイル５７と、GUI（グラフィカル・ユーザ・インターフェイス）５９と、生成手段としてのプログラム生成エンジン６１と、制約チェック部６７と、変換手段としての逆変換エンジン６９と、通知部７５と、テンプレート格納部８１とを備える。
【００３３】
中間データ生成エンジン５３には、VCD（Value Change Dump）データ、HDL（Hardware Description Language）データ、レイアウトデータなどが入力される。ここで、VCDデータは、半導体開発における論理設計にHDLやC言語が用いられた場合に実施される論理シミュレーションにより出力されるベクタファイルの一つであり、IEEE標準規格のフォーマットに沿っている。中間データ生成エンジン５３は、上記のようなデータにより中間データを自動生成する。なお、パタンデータの言語は例えばWGL(Wave Generation Language)、STIL(Standard Test Interface Language)でもよい。
【００３４】
中間データ記憶部５５は、中間データを中間ファイルとして記憶し、保存する。なお、後述する制約チェック部６７は、中間データ記憶部５５に記憶された中間データが、制約ファイル５７に記憶されている各半導体試験装置に対して予め定められている制約条件に合致するか否かのチェックを行うことが可能である。そして、通知部７５はチェック結果をユーザに通知可能であり、ユーザはGUI５９を用いて自動生成不可のデータ部分についての中間データの編集、修正、或いは通知部７５から通知されたチェック結果に基づく中間データの編集、修正を行える。
【００３５】
編集、修正等が施された中間データは、プログラム生成エンジン６１に入力される。プログラム生成エンジン６１は、テストプログラム生成部６３と、テストパタンプログラム生成部６５とを備える。このテストプログラム生成部６３にはテンプレート格納部８１に格納されたテストプログラムのテンプレートコードも入力される。ここで、テンプレートとはテストプログラムの雛形となるものであり、このテンプレートは各半導体試験装置の機種によりプログラム言語仕様が異なるので機種毎に且つテスト項目毎に用意される。テンプレートには、中間データとして存在するパラメータが組み込まれるために、所定の変数が埋め込まれている。これらのテンプレートは、ユーザにより手作業で作成され、ライブラリに登録されることにより共有化される。なお、テンプレートは、中間データという位置づけではなく、他のデバイス向けのテストアプリケーション開発においても共有できることを可能とすべく、テンプレート格納部８１と中間データデータ記憶部５５とは互いに独立したライブラリとして存在する。テストプログラム生成部６３はテストプログラム７７を生成し、テストパタンプログラム生成部６５はテストパタンプログラム７９を生成する。なお、ここでのテストプログラムは制御プログラム（メインプログラム）を意味する。
【００３６】
図２は、図１の逆変換エンジン６９、制約チェック部６７、通知部７５、及びテンプレート格納部８１の動作を具体的に示すフロー図である。
【００３７】
テストプログラム７７及びテストパタンプログラム７９は、逆変換エンジン６９に入力される。また、ハードウエア設定情報８２とテンプレート格納部８１に格納されたテンプレートの情報も、逆変換エンジン６９に入力される。ここで、ハードウエア設定情報８２は、ドライバ制御モジュール、コンパレータモジュール、電源制御モジュール、ＤＣ測定モジュールなどのハードウエアの各モジュールから得られる情報の総称とする。逆変換エンジン６９は、抽出部７１と、処理部７３と、比較部８３と、マージ部８４とを備える。抽出部７１は、テストプログラム７７及びテストパタンプログラム７９を解読して少なくともピンに関する情報を抽出する。処理部７３は、抽出された情報に対して中間データ形式に応じたリフォーマット処理を行う。比較部８３とマージ部８４については詳しく後述する。
【００３８】
図２を用いてさらに具体的に説明する。ステップＳ１において、逆変換エンジン６９は、逆変換されるテストプログラム７７及びテストパタンプログラム７９、或いはハードウエア設定情報８２がどのような機種のプログラムであるかについての選定を行う。次に、ステップＳＡ１ではテストパタンプログラム７９が逆変換エンジン６９に読み込まれ、ステップＳＢ１ではテストプログラム７７が逆変換エンジン６９に読み込まれ、ステップＳＣ１ではハードウエア設定情報８２が逆変換エンジンに読み込まれる。なお、ステップＳＢ１及びステップＳＣ１の処理については、両者が常に選択されて実行される必要はなく、いずれか一方が選択されるようにしてもよい。
【００３９】
抽出部７１は、ステップＳＡ２において各サイクルにおける各ピンに対するパタンデータの抽出を行い、ステップＳＢ２、ＳＣ２においてピン属性情報の抽出を行う。ここで、ピン属性情報としては、タイミングセット、波形モード、変化タイミング、デバイスの各ピンのDC測定関連情報、Highレベル値とLowレベル値で定まる電圧レベル情報、デバイスピンとテスタ間にある物理的接続情報、デバイスの各ピンと接続するドライバユニット種類情報が挙げられる。なお、それぞれがユニークなピンの名称に対し、タイミングセットはサイクル幅と信号変化タイミングなどで決まる。サイクル幅は基本周波数により定まる。信号変化タイミングの定義は、サイクル基点から各信号変化点の遅延により定まり、各ピンの信号の変化点が基点からの遅延で表現される。波形モードは、ＮＲＺ(None Return Zero)、ＲＺＯ(Return Zero/One)、ＸＯＲ(Exclusive OR)により定まる。さらに、抽出部７１は、ステップＳＡ３において各サイクルでのタイミングセットの抽出を行い、ステップＳＢ３においてテストカテゴリの抽出、電源投入シーケンスの抽出、テストフローの抽出も行う。抽出部７１は、ステップＳＣ３において電源投入シーケンスの抽出を行う。
【００４０】
そして、ステップＳ３において処理部７３は中間ファイルへのリフォーマット処理を行う。
【００４１】
ステップＳ４ではテストプログラム７７とハードウエア設定情報８２を逆変換して中間データを抽出するか否かについて判断される。両者から中間データを抽出する場合にはステップＳ５に進み、比較部８３が、ステップSB1からSB3で抽出されてステップS3でリフォーマットされたデータと、ステップSC1からSC３で抽出されてステップS3でリフォーマットされたデータとを比較する。ステップＳ６において、通知部７５は、ステップS５での比較結果をユーザへ通知する。この比較結果により、ユーザは、テストプログラム７７から変換された中間データに対して、ハードウエア設定情報８２から変換された中間データにより未抽出項目を補足修正したマージ（統合）処理が行われる部分を認識でき、また不一致部分を認識できる。そして、プログラム生成エンジン６１が他の機種である変換先用のテストプログラム７７を生成する上で必要な編集箇所と修正箇所が明確になり、ユーザはGUI５９を用いてその編集、修正を行える。ステップＳ７において、マージ部８４は、ステップＳ５による比較結果をふまえて、テストプログラム７７から変換した中間データとハードウエア設定情報８２から変換した中間データをマージする処理を行う。ここで、テストプログラム７７のみから変換することを想定すると、テストプログラム７７内で指定していないハードウエアの設定は半導体試験装置毎に初期値に設定されている可能性が高く、ハードウエア設定情報８２からはそれら初期値もふくめて設定値が確実に抽出できる。そのため、他機種へのコンバートの際にテスト条件として等価となるような中間データの情報を抽出することができる。なお、ステップＳ４において、両者から中間データを抽出しない場合にはステップＳ８に進む。
【００４２】
ステップＳ８では、テストプログラム７７を逆変換して中間データとテンプレートを抽出する場合、もしくはテンプレートのみを抽出する場合であるか否かが判断される。いずれかである場合には、ステップＳ９において、処理部７３は、テンプレートコードのうち中間データとして抽出したパラメータ部分を所定の変数として置き換える処理を行う。テンプレート格納部８１は処理部７３により得られたテンプレートの情報を格納する。このテンプレート格納部８１に格納される情報は、ライブラリとして、他の半導体デバイス向けのテストプログラムを生成する際に再利用可能な情報となる。
【００４３】
ステップＳ９に続き、又は、ステップＳ８において上記いずれの場合でないときに、ステップＳ１０に進む。ステップＳ１０において、制約チェック部６７は、逆変換により得られた中間データが、制約ファイル５７に記憶されている各半導体試験装置に対して予め定められている制約条件に合致するか否かのチェックを行う。チェックは、特にハード仕様の制約の範囲を満たしているか否かについて行われる。ここで、制約チェックは、複数の半導体試験装置に対して同時に行うものでもよく、ユーザがGUI５９により予め選択した１機種の半導体試験装置に対してのみに行うものでもよい。
【００４４】
ステップＳ１１において、通知部７５は、変換過程に関する結果をユーザに通知する。特に、変換できない要素についての結果により、ユーザはGUI５９を用いて逆変換後の中間データに対する補正ポイントを認識できる。また、ステップＳ１１では、通知部７５は、チェック結果もユーザに通知する。特に、複数機種への同時チェックにより得られる結果は、変換先機種を最適に選択するための指標となる。そして、通知部７５により得られる情報により、プログラム生成エンジン６１が他の機種である変換先用のテストプログラム７７或いはテストパタンプログラム７９を生成する上で必要な編集箇所と修正箇所が明確になり、ユーザはGUI５９を用いてその編集、修正を行える。
【００４５】
そして、中間データ記憶部５５が逆変換エンジン６９により逆変換された中間データを中間ファイルとして記憶して保存するので、プログラム生成エンジン６１は、その中間データを用いて、新たなテストプログラム及びテストパタンプログラムを生成できる。したがって、テストプログラムとテストパタンプログラムは中間データという形で再利用されることが可能となり、複数機種へのテストプログラムとテストパタンプログラムの生成を容易なものとできる。
【００４６】
ところで、テストプログラム７７を半導体試験装置上にて実行する場合に、プログラムのデバッグ用情報として、同試験装置におけるハードウエアの各モジュールに設定された情報があり、エンジニアはこれを得ることができる。また、同試験装置の仮想システムでも、エンジニアは同様の情報を得ることができる。その結果、エンジニアは、半導体試験装置や仮想システムに対して、ハードウエア設定情報８２として正しい情報が設定されているか確認することによりプログラムの内容を確認することができる。ハードウエア設定情報８２も逆変換エンジン６９に入力されることによって、中間データを抽出することが可能である。すなわち、抽出部７１はハードウエア設定情報８２のみを解読して少なくともピンに関する情報を抽出し、処理部７３は抽出された情報に対して中間データ形式に応じたリフォーマット処理を行うこともできる。
【００４７】
図３は、逆変換において抽出部７１がテストプログラム７７から中間データを抽出する際にテンプレートを用いた場合に注目した処理フロー図である。
【００４８】
ステップＴ１においてテンプレートの選定が行われる。ステップＴ２、Ｔ３では、テンプレートの読み込みが行われる。ここでの読み込みは、例えば♯templateとして、関数Ａ（％sv,％sr）；関数Ｂ（％im,％mr）；の形で行われる。ステップＴ３では、プログラムの読み込みが行われる。ここでの読み込みは、例えば♯テストプログラムとして、関数Ａ（5V,8V）；関数Ｂ（100mA,300mA）；の形で行われる。ステップＴ４では、テンプレート変数部がプログラムから参照されて要素抽出が行われる。すなわち、テストプログラム７７およびテストパタンプログラム７９が、プログラム生成エンジン６１とテンプレート格納部８１により生成されたものである場合は、生成時に用いたそのテンプレートが逆変換エンジン６９でも読み込まれ、テンプレート内の変数部にあたる箇所は中間データとなる要素であることが認識され、テストプログラム７７から分離されて抽出される。例えば、％svに対して5Vが抽出され、％srに対して8Vが抽出され、％imに対して100ｍＡが抽出され、％mrに対して300ｍＡが抽出される。なお、ステップＴ１〜Ｔ４の処理は図２のステップＳＢ１〜ＳＢ３に相当する処理である。
【００４９】
ステップＴ５では、抽出された要素が中間データにリフォーマットされる。例えば、上記の例で考えると、5V、8V、100mA、300mAが中間データ記憶部５５に格納される。なお、このステップＴ５の処理は図２のステップＳ３の処理に相当する。
【００５０】
このようにプログラム生成エンジン６１により生成したテストプログラム７７から逆変換により中間データを生成することで、テストプログラム７７自身を編集した場合にも編集部分を自動的に且つ的確に中間データに反映することができる。また、作成時のテンプレートを用いることで、逆変換は比較処理と抽出処理だけになるため処理が簡素化されて、高速に変換をすることができる。
【００５１】
図４は、逆変換において抽出部７１がテストプログラム７７から中間データを抽出する際にテンプレートを用いない場合の処理フロー図である。
【００５２】
ステップＵ１において、プログラムの読み込み処理が行われる。この処理は図２のステップＳＢ１に相当する。ステップＵ２では構文解析が行われ、ステップＵ３では中間データ要素の抽出が行われる。ステップＵ２、Ｕ３の処理は、図２のステップＳＢ２、ＳＢ３に相当する。ステップＵ４は図２のステップＳ３に相当する。ステップＵ５では、テンプレートコードを抽出するか否かが判断される。抽出する場合には、ステップＵ６においてテストプログラムが変数で置き換えられる。この置き換えは、例えば、♯テストプログラムとしての関数Ａ（5V,8V）；関数Ｂ（100mA,300mA）；が、♯templateへ、関数Ａ（％sv,％sr）；関数Ｂ（％im,％mr）；が出力されることである。そして、ステップＵ７においてテンプレート格納部８１への格納が行われる。これらのステップＵ６、Ｕ７は図２のステップＳ９に相当する。まとめると、逆変換エンジン６９に入力されるテストプログラム７７が、プログラム生成エンジン６１により生成されたものであっても、テンプレート格納部８１が存在しない場合、又は、プログラム生成エンジン６１を用いずに人為的に作成したテストプログラム７７であった場合は、テンプレート格納部８１に存在するテンプレートを用いて逆変換処理を行うことができない。そのため、逆変換エンジン６９は、プログラム言語仕様に基づき、構文解析を行った後に、中間データとしての要素を抽出する。図３に示したテンプレートを用いて抽出した処理に比べると処理が複雑になるものの、同時に抽出した要素の部分を所定の変数として置き換えて既存のテストプログラム７７を中間データ要素とテンプレート要素に分離可能である。そのため、前述のようにテンプレートは原則的には人為的に作成されるが、既存のテストプログラム７７から逆変換エンジン６９を介して中間データ要素とテンプレート要素とが自動生成されることにより、大幅に効率化できるとともに従来からのソフト資産を中間データ記憶部５５とテンプレート格納部８１に蓄積させて継承することができる。なお、本逆変換の場合は、中間データを生成するか、テンプレートを生成するかのいずれかの処理としても良い。
【００５３】
なお、上記実施の形態では、中間データ生成エンジン５３を用いて中間データを生成したが、プログラム生成エンジン６１が生成したプログラムを逆変換エンジン６９により逆変換するという観点からは、中間データ生成エンジン５３は必ずしも必要でない。
【００５４】
また、上記実施の形態では、プログラム生成エンジン６１を用いて、テストプログラム７７及びテストパタンプログラム７９を生成したが、いずれか一方でもよい。
【００５５】
さらに、上記実施の形態では、再利用のための中間データに変換されたテストプログラム及びテストパタンプログラムは、プログラム生成エンジン６１により生成されたものとしたが、これに限らず、人為的に作成されたテストプログラム及びテストパタンプログラムのほか、逆変換エンジン６９を有していない既存の生成装置により生成されたテストプログラム及びテストパタンプログラムであってもよい。
【００５６】
さらに、上記実施の形態では、制約チェック部６７は、チェックのみを行うものとしたが、チェック結果によりハード制約条件を満たさない抽出要素に対して制約範囲内におさまるように補正を行う自動補正機能を有するようにしてもよい。
【００５７】
さらに、上記実施の形態では、図１及び図２を用いて生成装置５１と生成方法を示したが、生成方法をコンピュータにより実行可能とするプログラム、それを記録した記録媒体とした利用形態でもよい。
【図面の簡単な説明】
【００５８】
【図１】本発明の実施の形態に係る生成装置の概略ブロック図である。
【図２】図１の逆変換エンジン６９、制約チェック部６７、通知部７５及びテンプレート格納部８１の動作を具体的に示すフロー図である。
【図３】逆変換において抽出部７１がテストプログラム７７から中間データを抽出する際にテンプレートを用いた場合に注目した処理フロー図である。
【図４】逆変換において抽出部７１がテストプログラム７７から中間データを抽出する際にテンプレートを用いない場合の処理フロー図である。
【図５】従来の半導体試験装置用テストプログラム生成システムの概略ブロック図である。
【符号の説明】
【００５９】
５１  生成装置
６１  プログラム生成エンジン
６７  制約チェック部
６９  逆変換エンジン
７５  通知部
８１  テンプレート格納部
【図１】
2006023292.tif 000003
【図２】
2006023292.tif 000004
【図３】
2006023292.tif 000005
【図４】
2006023292.tif 000006
【図５】
2006023292.tif 000007