(57)【要約】【課題】  テストプログラムを再生成するための作業時間を短縮することができるテストプログラム自動生成装置を提供する。【解決手段】  試験対象となる互いに種類が異なる複数の半導体装置毎の製品情報を格納する製品情報記憶装置２と、製品情報に基づいて複数の半導体装置に共通の初期中間データを生成する初期中間データ生成手段１１と、初期中間データに基づいて、複数の半導体装置をそれぞれ試験する試験装置２１で用いるテストプログラムを複数の試験装置毎に生成する初期プログラム生成手段１２と、テストプログラムが修正されたときに、テストプログラムの修正内容を初期中間データに反映し、複数の半導体装置に共通の調整中間データを生成する調整中間データ生成手段１３とを備える。【選択図】      図１
2005308637.tif 000002
【特許請求の範囲】
【請求項１】
試験対象となる互いに種類が異なる複数の半導体装置毎の製品情報を格納する製品情報記憶装置と、
前記製品情報に基づいて前記複数の半導体装置に共通の初期中間データを生成する初期中間データ生成手段と、
前記初期中間データに基づいて、前記複数の半導体装置をそれぞれ試験する試験装置で用いるテストプログラムを前記複数の試験装置毎に生成する初期プログラム生成手段と、
前記テストプログラムが修正されたときに、前記テストプログラムの修正内容を前記初期中間データに反映し、前記複数の半導体装置に共通の調整中間データを生成する調整中間データ生成手段
とを備えることを特徴としたテストプログラム自動生成装置。
【請求項２】
試験対象となる互いに種類が異なる複数の半導体装置毎の製品情報を格納する製品情報記憶装置と、
前記製品情報と異なる追加テスト分の製品情報を格納する追加テスト分製品情報記憶装置と、
前記製品情報に基づいて前記複数の半導体装置に共通の初期中間データを生成する初期中間データ生成手段と、
前記追加テスト分の製品情報に基づいて、前記複数の試験装置に共通の追加中間データを生成する追加中間データ生成手段と、
前記追加中間データと前記初期中間データを併合することにより、前記複数の半導体装置をそれぞれ試験する試験装置で用いるテストプログラムを前記複数の試験装置毎に生成するための、前記複数の試験装置に共通の併合中間データを生成する併合手段
とを備えることを特徴としたテストプログラム自動生成装置。
【請求項３】
初期中間データ生成手段が、試験対象となる互いに種類が異なる複数の半導体装置毎の製品情報に基づいて前記複数の半導体装置に共通の初期中間データを生成する手順と、
初期プログラム生成手段が、前記初期中間データに基づいて、前記複数の半導体装置をそれぞれ試験する試験装置で用いるテストプログラムを前記複数の試験装置毎に生成する手順と、
前記テストプログラムが修正されたときに、調整中間データ生成手段が、前記テストプログラムの修正内容を前記初期中間データに反映し、前記複数の半導体装置に共通の調整中間データを生成する手順
とを含むことを特徴とするテストプログラム自動生成方法。
【請求項４】
初期中間データ生成手段が、試験対象となる互いに種類が異なる複数の半導体装置毎の製品情報に基づいて、前記複数の半導体装置に共通の初期中間データを生成する手順と、
追加中間データ生成手段が、追加テスト分の製品情報に基づいて、前記複数の試験装置に共通の追加中間データを生成する手順と、
併合手段が、前記追加中間データと前記初期中間データを併合することにより、前記複数の半導体装置をそれぞれ試験する試験装置で用いるテストプログラムを前記複数の試験装置毎に生成するための、前記複数の試験装置に共通の併合中間データを生成する手順
とを含むことを特徴とするテストプログラム自動生成方法。
【請求項５】
テストプログラム自動生成装置に、
製品情報記憶装置に格納された試験対象となる互いに種類が異なる複数の半導体装置毎の製品情報に基づいて前記複数の半導体装置に共通の初期中間データを生成する手順と、
前記初期中間データに基づいて、前記複数の半導体装置をそれぞれ試験する試験装置で用いるテストプログラムを前記複数の試験装置毎に生成する手順と、
前記テストプログラムが修正されたときに、前記テストプログラムの修正内容を前記初期中間データに反映し、前記複数の半導体装置に共通の調整中間データを生成する手順
とを実行させることを特徴とするテストプログラム自動生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、試験装置に用いるテストプログラムの生成技術に係り、特に、テストプログラム自動生成装置、テストプログラム自動生成方法及びテストプログラム自動生成プログラムに関する。
【背景技術】
【０００２】
種々な用途に使用される半導体装置（ＬＳＩ）に対しては、試験装置（ＬＳＩテスタ）を用いて所望の特性を満たすか判定するためのテストが行われる。一般的に、半導体装置の種類毎に要求される特性が異なるので、試験のためのテストプログラムは、半導体装置の種類毎に生成する必要が有る。
【０００３】
半導体装置の種類毎に効率良くテストプログラムを生成するために、複数の半導体装置に固有の言語で記述された製品情報を複数の半導体装置に共通の言語に変換することにより、テストプログラムの生成に必要な、複数の半導体装置に共通の「中間データ」を生成する方法が知られている（例えば、特許文献１参照。）。生成された中間データを利用することにより、複数の半導体装置毎のテストプログラムをそれぞれ生成することができる。
【０００４】
テストプログラムは、試験装置におけるスペック調整、タイミング調整や、テストシーケンスの追加及び修正等により修正される。ここで、ある半導体装置のテストプログラムが修正された後に、テストプログラムが修正された半導体装置と種類の異なる半導体装置のテストプログラムの同様の修正等のために、テストプログラムの再生成が必要な場合がある。従来、テストプログラムの修正内容を即座に中間データに反映することができなかった。このため、テストプログラムの再生成が必要な場合には、テストプログラムを再生成したうえで、再生成されたテストプログラムに修正内容のすべてを手作業にて盛り込む必要がある。したがって、多大な労力と時間を費やし、手修正による修正ミスが発生する問題点もある。
【０００５】
また、半導体装置の開発過程においては、再設計、歩留向上、及び設計データを出力するタイミング調整などの要因で、テストパターンやテスト項目等の追加テスト分の製品情報をテストプログラムに追加する場合がある。追加テスト分の製品情報が少ない場合にはテストプログラムに手作業で追加する。しかし、追加テスト分の製品情報が多い場合には、もとの製品情報に追加テスト分の製品情報を含めて、テストプログラムの自動生成を最初からやり直さなければならない。したがって、多大な時間を費やす問題点がある。
【特許文献１】特許第３３８８１９０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明の目的は、テストプログラムを再生成するための作業時間を短縮することができるテストプログラム自動生成装置、テストプログラム自動生成方法及びテストプログラム自動生成プログラムを提供することである。
【課題を解決するための手段】
【０００７】
本発明の第１の特徴は、（イ）試験対象となる互いに種類が異なる複数の半導体装置毎の製品情報を格納する製品情報記憶装置と、（ロ）製品情報に基づいて複数の半導体装置に共通の初期中間データを生成する初期中間データ生成手段と、（ハ）初期中間データに基づいて、複数の半導体装置をそれぞれ試験する試験装置で用いるテストプログラムを複数の試験装置毎に生成する初期プログラム生成手段と、（ニ）テストプログラムが修正されたときに、テストプログラムの修正内容を初期中間データに反映し、複数の半導体装置に共通の調整中間データを生成する調整中間データ生成手段とを備えるテストプログラム自動生成装置であることを要旨とする。
【０００８】
本発明の第２の特徴は、（イ）試験対象となる互いに種類が異なる複数の半導体装置毎の製品情報を格納する製品情報記憶装置と、（ロ）製品情報と異なる追加テスト分の製品情報を格納する追加テスト分製品情報記憶装置と、（ハ）製品情報に基づいて複数の半導体装置に共通の初期中間データを生成する初期中間データ生成手段と、（ニ）追加テスト分の製品情報に基づいて、複数の試験装置に共通の追加中間データを生成する追加中間データ生成手段と、（ホ）追加中間データと初期中間データを併合することにより、複数の半導体装置をそれぞれ試験する試験装置で用いるテストプログラムを複数の試験装置毎に生成するための、複数の試験装置に共通の併合中間データを生成する併合手段とを備えるテストプログラム自動生成装置であることを要旨とする。
【０００９】
本発明の第３の特徴は、（イ）初期中間データ生成手段が、試験対象となる互いに種類が異なる複数の半導体装置毎の製品情報に基づいて複数の半導体装置に共通の初期中間データを生成する手順と、（ロ）初期プログラム生成手段が、初期中間データに基づいて、複数の半導体装置をそれぞれ試験する試験装置で用いるテストプログラムを複数の試験装置毎に生成する手順と、（ハ）テストプログラムが修正されたときに、調整中間データ生成手段が、テストプログラムの修正内容を初期中間データに反映し、複数の半導体装置に共通の調整中間データを生成する手順とを含むテストプログラム自動生成方法であることを要旨とする。
【００１０】
本発明の第４の特徴は、（イ）初期中間データ生成手段が、試験対象となる互いに種類が異なる複数の半導体装置毎の製品情報に基づいて、複数の半導体装置に共通の初期中間データを生成する手順と、（ロ）追加中間データ生成手段が、追加テスト分の製品情報に基づいて、複数の試験装置に共通の追加中間データを生成する手順と、（ハ）併合手段が、追加中間データと初期中間データを併合することにより、複数の半導体装置をそれぞれ試験する試験装置で用いるテストプログラムを複数の試験装置毎に生成するための、複数の試験装置に共通の併合中間データを生成する手順とを含むテストプログラム自動生成方法であることを要旨とする。
【００１１】
本発明の第５の特徴は、テストプログラム自動生成装置に、（イ）製品情報記憶装置に格納された試験対象となる互いに種類が異なる複数の半導体装置毎の製品情報に基づいて複数の半導体装置に共通の初期中間データを生成する手順と、（ロ）初期中間データに基づいて、複数の半導体装置をそれぞれ試験する試験装置で用いるテストプログラムを複数の試験装置毎に生成する手順と、（ハ）テストプログラムが修正されたときに、テストプログラムの修正内容を初期中間データに反映し、複数の半導体装置に共通の調整中間データを生成する手順とを実行させるテストプログラム自動生成プログラムであることを要旨とする。
【発明の効果】
【００１２】
本発明によれば、テストプログラムを再生成するための作業時間を短縮することができるテストプログラム自動生成装置、テストプログラム自動生成方法及びテストプログラム自動生成プログラムを提供することができる。
【発明を実施するための最良の形態】
【００１３】
次に、図面を参照して、本発明の第１〜第３の実施の形態を説明する。以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。ただし、図面は模式的なものである。この発明の技術的思想は、特許請求の範囲において、種々の変更を加えることができる。
【００１４】
（第１の実施の形態）
本発明の第１の実施の形態に係るテストプログラム自動生成装置は、図１に示すように、中央処理装置（ＣＰＵ）１、製品情報記憶装置２、ライブラリ３、中間データ記憶装置４、プログラム生成用記憶装置５、テストプログラム記憶装置６、主記憶装置７、入力装置８、及び出力装置９を備える。図１に示したテストプログラム自動生成装置は、半導体装置をそれぞれ試験する複数（第１〜第ｎ）の試験装置２１，２２，２３，・・・・・，２ｎ（ｎは４以上の整数）で使用されるテストプログラムを自動生成する。複数（第１〜第ｎ）の試験装置２１，２２，２３，・・・・・，２ｎは、例えばインターネットやイントラネット等の通信ネットワーク１０を介してＣＰＵ１に接続されている。
【００１５】
製品情報記憶装置２は、それぞれ試験対象となる互いに種類の異なる複数の半導体装置毎の製品情報を格納する。製品情報は、被テスト対象となる半導体装置のパッケージ規格、ピンの配列及びピンの名称を含む。製品情報は、互いに種類の異なる複数の半導体装置毎の言語で記述されている。また、ライブラリ３は、中間データを生成するために必要な、互いに種類の異なる複数の半導体装置に共通の中間データ生成用情報や、互いに種類の異なる複数の半導体装置毎のテンプレートファイルを格納する。中間データ生成用情報は、テスト方法及びテストシーケンスを含む。また、プログラム生成用記憶装置５は、例えばウェハテスト用の情報、チップテスト用の情報、及びパッケージテスト用の情報等の、テストプログラムを生成するために必要なプログラム生成用情報を格納する。
【００１６】
ＣＰＵ１は、初期中間データ生成手段１１、初期プログラム生成手段１２、調整中間データ生成手段１３、調整プログラム生成手段１４、及び送信手段１８を備える。初期中間データ生成手段１１は、製品情報記憶装置２に格納された製品情報、及びライブラリ３に格納された中間データ生成用情報を読み込んで、互いに種類の異なる複数の半導体装置に共通の言語のデータに変換することにより、テストプログラムを生成するために必要な、互いに種類の異なる複数の半導体装置に共通の中間データ（以下、「初期中間データ」という。）を自動生成する。
【００１７】
初期中間データは、例えば図２に示すように、半導体装置に対して行うテストのテスト項目やテスト順序が記述されたテストフローファイル４０、テストフローファイル４０のテストフローのインスタンスが記述されたインスタンスファイル４２テストプログラム内で定義され使用される変数や演算式が記述された変数ファイル４３、試験装置２１，２２，２３，・・・・・，２ｎのユニットの電源オン／オフの順序及び時間が記述されたパワーシーケンスファイル４４、半導体装置に入出力する信号の電圧値が記述されたレベルファイル４５、半導体装置に入出力する信号波形の波形モードやタイミング値が記述された波形ファイル４６、テストパターンの実行開始アドレスや停止アドレスの情報が記述されたパターンリストファイル４７、ＤＣテスト条件が記述されたＤＣテスト条件ファイル４８、及び半導体装置の接触子（デバイスピン）と試験装置２１，２２，２３，・・・・・，２ｎの接触子（テスタピン）との接続関係が記述されたピンファイル４９を含む。
【００１８】
更に、図１に示した初期中間データ生成手段１１は、ライブラリ３に格納された複数（第１〜第ｎ）のテンプレートファイル４１１〜４１ｎを図２に示すように中間データ記憶装置４に転送する。テンプレートファイル４１１〜４１ｎのテンプレートには、パワーシーケンスファイル４４、レベルファイル４５、波形ファイル４６、パターンリストファイル４７、ＤＣテスト条件ファイル４８、及びピンファイル４９の各パラメータが挿入されるテストシーケンスが記述されている。テンプレートファイル４１１〜４１ｎも、初期中間データに含まれる。
【００１９】
例えば図３に示すように、図２に示したテストフローファイル４０のテストフロー４０ａにおいて、ヘッダ情報部Ｔ１にはテストで用いる半導体装置のデバイスピン及び対応するテスタピン等のピン名、変数定義部Ｔ２にはテストプログラムで定義され用いられる変数の変数名、及びテスト項目Ｔ３，Ｔ４内のそれぞれにはテスト項目Ｔ３，Ｔ４を実現するために必要なインスタンスのインスタンス名Ａ，Ｂ等が記述されている。ピン名に対応するピン４９ａ、変数名に対応する変数４３ａ、及びインスタンス名Ａ，Ｂに対応するインスタンス４２ａ，４２ｂのそれぞれは、図２に示したピンファイル４９、変数ファイル４３、及びインスタンスファイル４２に記述されている。
【００２０】
また、図３に示したインスタンス４２ａ，４２ｂのそれぞれには、テストプログラムの生成に必要なテンプレート名、パワーシーケンス名、レベル名、波形名、ＤＣテスト条件名、パターンリスト名等が記述されている。テンプレート名に対応するテンプレート４１ａ，４１ｂ、パワーシーケンス名に対応するパワーシーケンス４４ａ，４４ｂ、レベル名に対応するレベル４５ａ，４５ｂ、波形名に対応する波形４６ａ，４６ｂ、ＤＣテスト条件名に対応するＤＣテスト条件４８ａ，４８ｂ、及びパターンリスト名に対応するパターンリスト４７ａ，４７ｂのそれぞれは、図２に示したテンプレートファイル４１１、パワーシーケンスファイル４４、レベルファイル４５、波形ファイル４６、ＤＣテスト条件ファイル４８、及びパターンリストファイル４７に記述されている。
【００２１】
図１に示した初期プログラム生成手段１２は、初期中間データ生成手段１１により生成された初期中間データ、及びプログラム生成用記憶装置５に格納されたプログラム生成用情報を読み込んで、互いに種類の異なる複数の半導体装置毎のテストプログラムを生成する。テストプログラムは、以下の手順のように生成可能である。
【００２２】
（ａ）初めに、テストプログラムを使用する試験装置名、及び実施するテストのテストフロー名を取得する。試験装置名、及びテストフロー名は、例えば図１に示したプログラム生成用記憶装置５にプログラム生成用情報として予め格納されていても良く、入力装置８を介して入力されても良い。そして、図２に示したテストフローファイル４０に記述された図３に示したテストフロー４０ａを読み込んで、テストフロー４０ａに記述されたピン名、変数名、及びインスタンス名Ａ，Ｂを取得する。更に、図３に示すように、インスタンス名Ａ，Ｂに対応する図２に示したインスタンスファイル４２のインスタンス４２ａ，４２ｂを読み込んで、テストプログラムの生成に必要なテンプレート名、パワーシーケンス名、レベル名、波形名、ＤＣテスト条件名、及びパターンリスト名等を取得する。
【００２３】
（ｂ）更に、取得されたピン名、変数名、パワーシーケンス名、レベル名、波形名、ＤＣテスト条件名、及びパターンリスト名にそれぞれ対応する図２に示したピンファイル４９のピン４９ａ、変数ファイル４３の変数４３ａ、パワーシーケンスファイル４４のパワーシーケンス４４ａ，４４ｂ、レベルファイル４５のレベル４５ａ，４５ｂ、波形ファイル４６の波形４６ａ，４６ｂ、ＤＣテスト条件ファイル４８のＤＣテスト条件４８ａ，４８ｂ、及びパターンリストファイル４７のパターンリスト４７ａ，４７ｂを読み込んで、試験対象となる半導体装置の固有の言語に変換する。
【００２４】
（ｃ）引き続き、取得されたテンプレート名に対応するテンプレートファイル４１１〜４１ｎのテンプレート４１ａ，４１ｂを読み込んで、変換されたパワーシーケンス４４ａ，４４ｂ、レベル４５ａ，４５ｂ、波形４６ａ，４６ｂ、ＤＣテスト条件４８ａ，４８ｂ、及びパターンリスト４７ａ，４７ｂを、テンプレート４１ａ，４１ｂ内の指定された書き込み場所に書き込む。更にピン４９ａ、変数４３ａ、及びテンプレート４１ａ，４１ｂを、テストフロー４０ａの指定された展開場所であるヘッダ情報部Ｔ１、変数定義部Ｔ２、及びテスト項目Ｔ３，Ｔ４に書き込む。この結果、テストプログラムが生成される。
【００２５】
例えば図４に示すように、テストプログラムＰ１には、変数宣言部（Globals）Ｐ１１、ＤＣパラメータ部（DCParameter）Ｐ１２、ＡＣパラメータ部（ACParameter）Ｐ１３、ピンリスト（Pinmap）Ｐ１４、ピングループ（Signal Group）Ｐ１５、テスト部（Test部）Ｐ１６、テスト順序（Flow）Ｐ１７、テストプラン（Test Plan）Ｐ１８、前処理（Pre Process）Ｐ１９等が記述されている。更に、図５に具体的なテストプログラムＰ２を一例として示す。テストプログラムＰ２には、変数宣言部Ｐ２０、ピンリストＰ２１、ピングループＰ２２、テスト部Ｐ２３、及びテスト順序Ｐ２４等が記述されている。
【００２６】
ここで、テストプログラムは、試験装置２１，２２，２３，・・・・・，２ｎにおいてスペック調整やタイミング調整、テストシーケンスの追加、修正等の調整作業が実施された場合に、入力装置８を介したソースコード修正等により修正される。例えば、図５に示したテストプログラムＰ２において、変数宣言部Ｐ２０の変数”GCL”や”FPIHB”の値、ピンリストＰ２１のピン“GPPDDETECT”，“FCH3IO_0”，“FCH3IO_1”，“FCH3IO_2”、ピングループＰ２２のレベル“vih”，“vil”，“voh”，“vol”の値や波形“wavekind 1”，“timingt 1”，“drekind 1”，”timingd 1”，”timings 1”の値、テスト部Ｐ２３のテンプレート”fc1_1_1”、パワーシーケンス“powerT0”，“punit1”，“punit2”，“signalT0”，“sunit1”，“sunit2”，“sunit3”の値、パターンリスト“STA”，“SPA”のアドレス、レベル”SVal”，”MRng”の値、波形”rate”の値、及びテスト順序Ｐ２４のテストフロー“fff”，“ccm_1_gr1”，“psc1_1_gr2”等が修正される。
【００２７】
図１に示した調整中間データ生成手段１３は、修正されたテストプログラムを読み込んで、テストプログラムの修正内容を初期中間データに反映することにより、互いに種類の異なる複数の半導体装置に共通の中間データ（以下、「調整中間データ」という。）を生成する。調整中間データは、例えば以下の手順で生成可能である。
【００２８】
（ａ）例えば、図４に示したテストプログラムＰ１に記述された変数宣言部Ｐ１１から変数４３ｘ、ＤＣパラメータ部Ｐ１２からレベル４５１ｘを読み込み、ＡＣパラメータ部Ｐ１３から波形４６１ｘ及びレベル４５２ｘを読み込み、ピンリストＰ１４からピン４９ｘ、ＤＣテスト条件４８１ｘ、及び波形４６２ｘを読み込み、ピングループＰ１５からレベル４５３ｘ、波形４６３ｘ、及びインスタンス４２１ｘを読み込み、テスト部Ｐ１６からインスタンス４２２ｘ、ＤＣテスト条件４８２ｘ、パワーシーケンス４４ｘ、パターンリスト４７ｘ、テンプレート４１ｘ、及びテストフロー４０１ｘを読み込み、テスト順序Ｐ１７、テストプランＰ１８、及び前処理Ｐ１９のそれぞれからテストフロー４０２ｘ，４０３ｘ，４０４ｘを読み込む。
【００２９】
（ｂ）次に、テストフロー４０１ｘ，４０２ｘ，４０３ｘ，４０４ｘ、インスタンス４２１ｘ，４２２ｘ、変数４３ｘ，レベル４５１ｘ，４５２ｘ，４５３ｘ、波形４６１ｘ，４６２ｘ，４６３ｘ、パワーシーケンス４４ｘ、パターンリスト４７ｘ、ＤＣテスト条件４８１ｘ，４８２ｘ、及びピン４９ｘを、互いに種類の異なる複数の半導体装置に共通の言語に変換する。
【００３０】
（ｃ）更に、テンプレート４１ｘと、共通の言語に変換されたテストフロー４０１ｘ，４０２ｘ，４０３ｘ，４０４ｘ、インスタンス４２１ｘ，４２２ｘ、変数４３ｘ，レベル４５１ｘ，４５２ｘ，４５３ｘ、波形４６１ｘ，４６２ｘ，４６３ｘ、パワーシーケンス４４ｘ、パターンリスト４７ｘ、ＤＣテスト条件４８１ｘ，４８２ｘ、及びピン４９ｘを、図２に示したテストフローファイル４０、テンプレートファイル４１１、インスタンスファイル４２、変数ファイル４３，パワーシーケンスファイル４４、レベルファイル４５、波形ファイル４６、パターンリストファイル４７、ＤＣテスト条件ファイル４８、ピンファイル４９のそれぞれに書き込む。この結果、図１に示した互いに種類の異なる複数の半導体装置に共通の調整中間データが生成される。
【００３１】
また、調整中間データ生成手段１３は、例えば図５に示したテストプログラムを読み込んだ場合には、例えば変数宣言部Ｐ２０から”GCL”や”FPIHB”の値等の変数４３ｙを取得し、ピンリストＰ２１から“GPPDDETECT”，“FCH3IO_0”，“FCH3IO_1”，“FCH3IO_2”等のピン４９ｙを取得し、ピングループＰ２２から“vih”，“vil”，“voh”，“vol”の値等のレベル４５１ｙ、及び“wavekind 1”，“timingt 1”，“drekind 1”，”timingd 1”，”timings 1”等の波形４６１ｙを取得し、テスト部Ｐ２３から”fc1_1_1”等のテンプレート４１ｙ、“powerT0”，“punit1”，“punit2”，“signalT0”，“sunit1”，“sunit2”，“sunit3”の値等のパワーシーケンス４４ｙ、“STA”，“SPA”のアドレス等のパターンリスト４７ｙ、”SVal”，”MRng”の値等のレベル４５２ｙ、及び”rate”の値等の波形４６２ｙを取得し、テスト順序Ｐ２４等から“fff”，“ccm_1_gr1”，“psc1_1_gr2”等のテストフロー４０ｙを取得して、調整中間データを生成する。なお、調整中間データ生成手段１３は、テストプログラムを読み込んだ後、及びテストプログラムから変換されたデータを初期中間データに書き込んだ後に、読み込み及び書き込みが正常に終了したか否か逐次判断可能である。
【００３２】
図１に示した調整プログラム生成手段１４は、調整中間データ生成手段１３により生成された調整中間データ、及びプログラム生成用記憶装置５に格納されたプログラム生成用情報に基づいて、調整中間データを互いに種類の異なる複数の半導体装置毎の言語に変換することにより、互いに種類の異なる複数の半導体装置毎のテストプログラムを生成する。
【００３３】
送信手段１８は、調整プログラム生成手段１４により生成された互いに種類の異なる複数の半導体装置毎のテストプログラムを、通信ネットワーク１０を介して対応する試験装置２１，２２，２３，・・・・・，２ｎに送信可能である。なお、生成されたテストプログラムは、送信手段１８を用いる代わりに、コンピュータ読取り可能な記録媒体に記録されて、試験装置２１，２２，２３，・・・・・，２ｎにおいて読み出して用いても良い。
【００３４】
また、ＣＰＵ１は、図示を省略した記憶装置管理手段を備える。製品情報記憶装置２及びライブラリ３等との入出力が必要な場合は、この記憶装置管理手段を介して、必要なファイルの格納場所を探し、ファイルの読み出し・書き込み処理がなされる。更に、ＣＰＵ１は、入力装置８、出力装置９のＣＰＵ１との入出力を制御するための図示を省略した入出力制御装置（インターフェース）を備える。また、ＣＰＵ１は、通信ネットワーク１０を介した通信を制御するための図示を省略した通信制御装置を備える。
【００３５】
中間データ記憶装置４は、初期中間データ生成手段１１により生成された初期中間データ、及び調整中間データ生成手段１３により生成された調整中間データを格納する。テストプログラム記憶装置６は、初期プログラム生成手段１２及び調整プログラム生成手段１４のそれぞれにより生成されたテストプログラムを格納する。
【００３６】
図１に示した入力装置８としては、例えばキーボード、マウス、ＯＣＲ等の認識装置、イメージスキャナ等の図形入力装置、音声入力装置等の特殊入力装置が使用可能である。出力装置９としては、液晶ディスプレイ、ＣＲＴディスプレイ等の表示装置や、インクジェットプリンタ、レーザプリンタ等の印刷装置等を用いることができる。主記憶装置７には、ＲＯＭ及びＲＡＭが組み込まれている。ＲＯＭは、ＣＰＵ１において実行されるプログラムを格納しているプログラム記憶装置等として機能する（プログラムの詳細は後述する。）。ＲＡＭは、ＣＰＵ１におけるプログラム実行処理中に利用されるデータ等を一時的に格納したり、作業領域として利用される一時的なデータメモリ等として機能する。主記憶装置７としては、例えば半導体メモリ、磁気ディスク、光ディスク、光磁気ディスクや磁気テープ等が採用可能である。
【００３７】
次に、本発明の第１の実施の形態に係るテストプログラム自動生成方法を図６のフローチャートを参照しながら説明する。
【００３８】
（イ）図６のステップＳ１１において、図１に示した初期中間データ生成手段１１が、製品情報記憶装置２に格納された製品情報及びライブラリ３に格納された中間データ生成用情報に基づいて、互いに種類の異なる複数の半導体装置に共通の初期中間データを生成する。ステップＳ１２において、初期プログラム生成手段１２が、初期中間データ生成手段１１により生成された初期中間データ、及びプログラム生成用記憶装置５に格納されたプログラム生成用情報に基づいて、互いに種類の異なる複数の半導体装置毎のテストプログラムを生成する。
【００３９】
（ロ）ステップＳ１３において、初期プログラム生成手段１２により生成されたテストプログラムの修正が不要な場合には処理を終了する。一方、テストプログラムの修正が必要な場合にはステップＳ１４に進み、入力装置８を介してテストプログラムが修正され、テストプログラム記憶装置６に格納される。ステップＳ１５において、テストプログラムの作成が完了したら、処理を終了する。一方、例えば生成したテストプログラムに対応する半導体装置と異なる種類の半導体装置に対して同様の修正内容を盛り込んだテストプログラムの再生成が必要な場合には、ステップＳ１６１に進む。
【００４０】
（ハ）ステップＳ１６１において、調整中間データ生成手段１３が、テストプログラム記憶装置６に格納された修正されたテストプログラムを読み込む。ステップＳ１６２において、調整中間データ生成手段１３が、ステップＳ１６１での読み込みが正常に終了したか判断される。正常に読み込まれた場合、ステップＳ１６３に進む。一方、読み込みにエラーが生じた場合、ステップＳ１６１の手順に戻って読み込みをやり直す。ステップＳ１６３において、調整中間データ生成手段１３が、読み込んだ修正されたテストプログラムを互いに種類の異なる複数の半導体装置に共通の言語に変換する。ステップＳ１６４において、調整中間データ生成手段１３が、変換された修正されたテストプログラムを中間データ記憶装置に格納された初期中間データに書き込むことにより、互いに種類の異なる複数の半導体装置に共通の調整中間データを生成する。ステップＳ１６５において、調整中間データ生成手段１３が、ステップＳ１６４での書き込みが正常に終了したか判断する。書き込みが正常に終了したと判断された場合、ステップＳ１７に進む。一方、書き込みにエラーが生じた場合、ステップＳ１６４の手順に戻って書き込みをやり直す。
【００４１】
（ニ）ステップＳ１６において、調整プログラム生成手段１４が、調整中間データ生成手段１３により生成された調整中間データに基づいて試験装置２２，２３，・・・・・，２ｎに固有のテストプログラムをそれぞれ生成する。その後、ステップＳ１３の手順に戻り、テストプログラムの修正が更に必要か判断される。
【００４２】
上述した手順を繰り返すことにより生成されたテストプログラムは、テストプログラム記憶装置６に格納される。例えば送信手段１８は、必要に応じてテストプログラムを対応する試験装置２１，２２，２３，・・・・・，２ｎに送信する。試験装置２１，２２，２３，・・・・・，２ｎにおいて、送信されたテストプログラムを実行して、半導体装置を試験する。
【００４３】
図６に示した一連の操作、即ち、（イ）初期中間データ生成手段１１が、製品情報記憶装置２に格納された試験対象となる互いに種類が異なる複数の半導体装置毎の製品情報に基づいて複数の半導体装置に共通の初期中間データを生成する手順；（ロ）初期プログラム生成手段１２が、初期中間データに基づいて、複数の半導体装置をそれぞれ試験する試験装置２１で用いるテストプログラムを複数の試験装置毎に生成する手順；（ハ）調整中間データ生成手段１３が、テストプログラムが修正されたときに、テストプログラムの修正内容を初期中間データに反映し、複数の半導体装置に共通の調整中間データを生成する手順；（ニ）調整プログラム生成手段１４が、調整中間データに基づいて、複数の半導体装置をそれぞれ試験する試験装置２１で用いるテストプログラムを複数の試験装置毎に生成する手順；（ホ）送信手段１８が、テストプログラムを試験装置２１に送信する手順；等は、図６と等価なアルゴリズムのプログラム（テストプログラム生成プログラム）により、図１に示したテストプログラム生成装置を制御して実行できる。テストプログラム生成プログラムは、図１に示した主記憶装置７等に記憶させれば良い。また、テストプログラム生成プログラムは、コンピュータ読取り可能な記録媒体に保存し、この記録媒体を主記憶装置７などに読み込ませることにより、本発明の一連の操作を実行することができる。
【００４４】
ここで、「コンピュータ読取り可能な記録媒体」とは、例えばコンピュータの外部メモリ装置、半導体メモリ、磁気ディスク、光ディスク、光磁気ディスク、磁気テープなどのプログラムを記録することができるような媒体などを意味する。具体的には、フレキシブルディスク、ＣＤ−ＲＯＭ，ＭＯディスク、カセットテープ、オープンリールテープなどが「コンピュータ読取り可能な記録媒体」に含まれる。例えば、テストプログラム生成装置の本体は、フレキシブルディスク装置（フレキシブルディスクドライブ）及び光ディスク装置（光ディスクドライブ）を内蔵若しくは外部接続するように構成できる。フレキシブルディスクドライブに対してはフレキシブルディスクを、また光ディスクドライブに対してはＣＤ−ＲＯＭをその挿入口から挿入し、所定の読み出し操作を行うことにより、これらの記録媒体に格納されたプログラムをテストプログラム生成装置を構成するプログラム記憶装置にインストールすることができる。また、所定のドライブ装置を接続することにより、例えばゲームパック等に利用されているメモリ装置としてのＲＯＭや、磁気テープ装置としてのカセットテープを用いることもできる。更に、インターネット等の情報処理ネットワークを介して、このプログラムをプログラム記憶装置に格納することが可能である。
【００４５】
第１の実施の形態によれば、テストプログラムの再生成の必要があるときに、テストプログラムの修正内容が反映された、互いに種類の異なる複数の半導体装置に共通の調整中間データを用いてテストプログラムを自動生成することができる。このため、再生成したテストプログラムに、過去に実施した修正内容を手作業で盛り込む作業が不要となるので、テストプログラムの再生成に要する作業時間を大幅に短縮できる。また、手修正のミスによるテスト事故を排除することができる。
【００４６】
（第２の実施の形態）
本発明の第２の実施の形態に係るテストプログラム自動生成装置は、図７に示すように、中央処理装置（ＣＰＵ）１ｘ、追加テスト分製品情報記憶装置２ｘ、製品情報記憶装置２、ライブラリ３、中間データ記憶装置４、テストプログラム記憶装置６、主記憶装置７、入力装置８、出力装置９、及び併合情報記憶装置１０を備える。追加テスト分製品情報記憶装置２ｘは、追加テスト分の製品情報を格納する。追加テスト分の製品情報としては、製品情報のテスト項目に追加される新たなテスト項目等を含む。追加テスト分の製品情報は、製品情報記憶装置２ｘに予め格納されていても良く、入力装置８を介して追加されても良い。
【００４７】
併合情報記憶装置１０は、追加するテストフロー名、追加されるテストフローが書き込まれるテストフロー名、及びテストフロー内の書き込み場所等を併合情報として格納する。例えば図８（ａ）に示すような併合情報では、一行目の“a”が追加されるテストフロー名を示し、１行目の“b”が追加するテストフロー名を示し、２行目の”FCMIN_A”から４行目の“FCMIN_B”までが「テストフロー名ｂに対応するテストフローの”FCMIN_A”と“FCMIN_B”の間」を書き込み場所として示す。
【００４８】
図７に示したＣＰＵ１ｘは、図１に示した調整中間データ生成手段１３及び調整プログラム生成手段１４の代わりに、追加中間データ生成手段１５、併合手段１６、及び併合プログラム生成手段１７を備える点が、ＣＰＵ１と異なる。初期中間データ生成手段１１は、例えば図８（ｂ）に示すようなテストフロー等が含まれる中間データを生成する。図８（ｂ）において、１行目の“a”はテストフロー名を示し、２行目以降の“Exec CCM”，“Exec PSC”，“Exec FCMIN_A”，“Exec FCMIN_B”，“Exec FCMIN_C”，・・・・・はテスト項目を示す。
【００４９】
図７に示した追加中間データ生成手段１５は、追加テスト分製品情報記憶装置２ｘに格納された追加テスト分の製品情報に基づいて、互いに種類の異なる複数の半導体装置に共通の追加中間データを生成する。追加中間データ生成手段１５は、例えば図８（ｃ）に示すようなテストフローを含む追加中間データを生成する。図８（ｃ）において、１行目の“b”はテストフロー名を示し、２行目以降の“Exec FCMIN_X”，“Exec FCMIN_Y”，“Exec FCMIN_Z”はテスト項目を示す。
【００５０】
図７に示した併合手段１６は、併合情報記憶装置１０に格納された併合情報に基づいて、初期中間データ生成手段１１により生成された初期中間データと、追加中間データ生成手段１５により生成された追加中間データとを併合することにより、互いに種類の異なる複数の半導体装置に共通の併合中間データを生成する。併合手段１６は、例えば図８（ａ）に示した併合情報に基づいて、図８（ｂ）に示したテストフロー“ａ”の４行目の“FCMIN＿A”と５行目の“FCMIN_B”の間に、図８（ｃ）に示したテストフロー“ｂ”の２行目以降の“FCMIN_X」，“FCMIN_Y」，“FCMIN_Z”を挿入することにより、図８（ｄ）に示すような併合テストフローを生成する。なお、テストフローとテストフローの他の中間データとは、図２に示すようにインスタンスにより関係付けられるので、中間データ及び追加中間データのそれぞれのテストフローの他の中間データ同士は併合しなくて良い。このため、併合手段１６は、中間データのテストフローファイルと、追加中間データのテストフローファイルのみを併合すれば良い。
【００５１】
図７に示した併合プログラム生成手段１７は、併合手段１６により生成された併合中間データに基づいて、併合中間データを互いに種類の異なる複数の半導体装置毎の言語に変換することにより、互いに種類の異なる複数の半導体装置毎のテストプログラムを生成する。他の構成は、図１に示したテストプログラム自動生成装置と実質的に同様であるので、重複した説明を省略する。
【００５２】
次に、本発明の第２の実施の形態に係るテストプログラム自動生成方法を図９のフローチャートを参照しながら説明する。
【００５３】
（イ）図９のステップＳ２１において、図７に示した初期中間データ生成手段１１が、製品情報記憶装置２に格納された製品情報、及びライブラリ３に格納された中間データ生成用情報に基づいて、互いに種類の異なる複数の半導体装置に共通の初期中間データを生成する。ステップＳ２２において、初期プログラム生成手段１２が、初期中間データ生成手段１１により生成された初期中間データ、及びプログラム生成用記憶装置５に格納されたプログラム生成用情報に基づいて、互いに種類の異なる複数の半導体装置毎のテストプログラムを生成する。
【００５４】
（ロ）ステップＳ２３において、テスト項目の追加の有無が判定される。テスト項目の追加が無ければ処理を終了する。一方、テスト項目の追加が有る場合、ステップＳ２４に進む。ステップＳ２４において、追加中間データ生成手段１５が、製品情報記憶装置２に格納された、追加テスト分の製品情報に基づいて、初期中間データと異なる、互いに種類の異なる複数の半導体装置に共通の追加中間データを生成する。
【００５５】
（ハ）ステップＳ２５１において、併合手段１６が、併合情報記憶装置１０に格納された併合情報を読み込んで、テストフロー名及びテストフロー内の指定された書き込み場所を取得する。ステップＳ２５２において、併合手段１６が、製品情報記憶装置２ｘに格納されたテストフローファイル４０のテストフロー及び追加中間データの追加テストフローを読み込んで、テストフロー内の書き込み場所に追加テストフローを書き込むことにより、互いに種類の異なる複数の半導体装置に共通の併合中間データを生成する。ステップＳ２５３において書き込みが正常に終了したか判断される。書き込みにエラーが発生した場合、ステップＳ２５２の手順に戻る。一方、書き込みが正常に終了したと判断された場合、ステップＳ２６に進む。
【００５６】
（ニ）ステップＳ２６において、併合プログラム生成手段１７が、併合手段１６により生成された併合中間データに基づいて互いに種類の異なる複数の半導体装置毎のテストプログラムをそれぞれ生成する。生成されたテストプログラムは、テストプログラム記憶装置６に格納される。
【００５７】
第２の実施の形態によれば、テストプログラムを生成した後にテスト項目が追加された場合でも、初期中間データと追加中間データを併合することができ、併合中間データに基づいてテストプログラムを再生成できる。このため、テスト項目が追加された場合に初めからテストプログラムの生成をやり直さなくて良くなり、テストプログラムの再生成に要する時間を短縮できる。
【００５８】
（第３の実施の形態）
本発明の第２の実施の形態に係るテストプログラム自動生成装置は、図１０に示すように、中央処理装置（ＣＰＵ）１ｙ、追加テスト分製品情報記憶装置２ｘ、製品情報記憶装置２、ライブラリ３、中間データ記憶装置４、テストプログラム記憶装置６、主記憶装置７、入力装置８、出力装置９、及び併合情報記憶装置１０を備える。
【００５９】
ＣＰＵ１ｙは、図７に示したＣＰＵ１ｘと同様の追加中間データ生成手段１５、併合手段１６、及び併合プログラム生成手段１７を更に備える点が、図１に示したＣＰＵ１と異なる。他の構成は、図１及び図７に示したテストプログラム自動生成装置の構成と実質的に同様であるので、重複した説明を省略する。
【００６０】
次に、本発明の第３の実施の形態に係るテストプログラム自動生成方法の一例を図１１のフローチャートを参照しながら説明する。
【００６１】
（イ）図１１のステップＳ３１において、図１０に示した初期中間データ生成手段１１が、製品情報記憶装置２に格納された製品情報、及びライブラリ３に格納された中間データ生成用情報に基づいて、互いに種類の異なる複数の半導体装置に共通の初期中間データを生成する。ステップＳ３２において、初期プログラム生成手段１２が、初期中間データ生成手段１１により生成された初期中間データ、及びプログラム生成用記憶装置５に格納されたプログラム生成用情報に基づいて、複数の互いに種類の異なる複数の半導体装置毎のテストプログラムを生成する。
【００６２】
（ロ）ステップＳ３３において、ステップＳ３２で生成されたテストプログラムの修正が不要であれば処理を終了する。一方、テストプログラムの修正が必要であれば、ステップＳ３４において入力装置８を介してテストプログラムが修正される。ステップＳ３５において、テストプログラムの作成が完了したら処理を終了する。一方、テストプログラムの再生成が必要な場合には、ステップＳ３６に進む。
【００６３】
（ハ）ステップＳ３６において、調整中間データ生成手段１３が、修正されたテストプログラムに基づいて互いに種類の異なる複数の半導体装置に共通の調整中間データを生成する。ステップＳ３７において、テスト項目の追加が無ければ、ステップＳ３２に進む。一方、テスト項目の追加があれば、ステップＳ３８に進む。ステップＳ３８において、追加中間データ生成手段１５が、追加テスト分製品情報記憶装置２ｘに格納された追加テスト分の製品情報を読み込んで、互いに種類の異なる複数の半導体装置に共通の追加中間データを生成する。ステップＳ３９において、併合手段１６が、追加中間データ生成手段１５により生成された追加中間データを、調整中間データ生成手段１３により生成された調整中間データに併合することにより互いに種類の異なる複数の半導体装置に共通の併合中間データを生成する。
【００６４】
（ニ）ステップＳ４０において、ステップＳ３７でテスト項目の追加があり、ステップＳ３８及びＳ３９で併合データを生成した場合には、併合プログラム生成手段１７が、併合中間データに基づいて互いに種類の異なる複数の半導体装置毎のテストプログラムをそれぞれ生成する。一方、ステップＳ３７でテスト項目の追加が無かった場合には、調整プログラム生成手段１４が、調整中間データ生成手段１３により生成された調整中間データに基づいて互いに種類の異なる複数の半導体装置毎のテストプログラムをそれぞれ生成する。その後、ステップＳ３３に戻り、再度テストプログラムの修正が必要か判断される。
【００６５】
第３の実施の形態によれば、テストプログラムが修正された場合、調整中間データを利用することができるので、テストプログラムの再生成に要する作業時間を大幅に短縮できる。更に、再生成したテストプログラムに、過去に実施した修正内容を手作業で盛り込む作業が不要となるので、手修正のミスによるテスト事故を排除することができる。また、テスト項目が追加された場合においても、併合中間データを利用することができるので、テストプログラムの再生成に要する作業時間を大幅に短縮できる。
【００６６】
（その他の実施の形態）
本発明は第１乃至第３の実施の形態によって記載したが、この開示の一部をなす論述及び図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例及び運用技術が明らかとなろう。例えば、図１及び図１０に示したテストプログラム生成装置を、テストプログラムが修正された半導体装置と異なる種類の半導体装置のテストプログラムの再生成の他に、横展開に利用することが可能である。例えば、１つの半導体装置に対応するウェハテスト工程でのテストプログラムを修正して、修正されたテストプログラムに基づいて調整中間データ生成手段１３により調整中間データを生成し、調整中間データを用いて同じ半導体装置を試験対象とするパッケージテスト用のテストプログラムを生成しても良い。
【００６７】
また、互いに種類の異なる試験装置２１，２２，２３，・・・・・，２ｎを示したが、テストプログラムを使用する試験装置の数や種類は特に限定されない。例えば、１つの試験装置２１が、互いに種類の異なる半導体装置に対して、対応するテストプログラムをそれぞれ用いて順次試験しても良い。試験装置の数や種類に対応して、テストプログラムの数及び種類は適宜選択可能である。このように、種々の実施の形態に用いることができるのは勿論である。したがって、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
【図面の簡単な説明】
【００６８】
【図１】本発明の第１の実施の形態に係るテストプログラム生成装置の一例を示すブロック図である。
【図２】本発明の第１の実施の形態に係る中間データ記憶装置の一例を示すブロック図である。
【図３】本発明の第１の実施の形態に係る中間データの一例を示す概略図である。
【図４】本発明の第１の実施の形態に係るテストプログラム及び中間データの一例を示す概略図（その１）である。
【図５】本発明の第１の実施の形態に係るテストプログラム及び中間データの一例を示す概略図（その２）である。
【図６】本発明の第１の実施の形態に係るテストプログラム生成方法を説明するためのフローチャートである。
【図７】本発明の第２の実施の形態に係るテストプログラム生成装置の一例を示すブロック図である。
【図８】図８（ａ）は、本発明の第２の実施の形態に係る併合情報の一例を示す記述である。図８（ｂ）は、本発明の第２の実施の形態に係る中間データのテストフローの一例を示す記述である。図８（ｃ）は、本発明の第２の実施の形態に係る追加中間データの追加テストフローの一例を示す記述である。図８（ｄ）は、本発明の第２の実施の形態に係る併合中間データのテストフローの一例を示す記述である。
【図９】本発明の第２の実施の形態に係るテストプログラム生成方法を説明するためのフローチャートである。
【図１０】本発明の第３の実施の形態に係る中間データ記憶装置の一例を示すブロック図である。
【図１１】本発明の第３の実施の形態に係るテストプログラム生成方法を説明するためのフローチャートである。
【符号の説明】
【００６９】
１，１ｘ，１ｙ…ＣＰＵ
２…製品情報記憶装置
２ｘ…追加テスト分製品情報記憶装置
３…ライブラリ
４…中間データ記憶装置
５…プログラム生成用記憶装置
６…テストプログラム記憶装置
７…主記憶装置
８…入力装置
９…出力装置
１０…併合情報記憶装置
１１…初期中間データ生成手段
１２…初期プログラム生成手段
１３…調整中間データ生成手段
１４…調整プログラム生成手段
１５…追加中間データ生成手段
１６…併合手段
１７…併合プログラム生成手段
１８…送信手段
２１，２２，２３，・・・・・，２ｎ…試験装置
【図１】
2005308637.tif 000003
【図２】
2005308637.tif 000004
【図３】
2005308637.tif 000005
【図４】
2005308637.tif 000006
【図５】
2005308637.tif 000007
【図６】
2005308637.tif 000008
【図７】
2005308637.tif 000009
【図８】
2005308637.tif 000010
【図９】
2005308637.tif 000011
【図１０】
2005308637.tif 000012
【図１１】
2005308637.tif 000013