(57)【要約】【課題】  中間データを用いて半導体試験装置上で実行されるテストプログラム又はテストパタンプログラムを生成する生成装置などであって、自動化可能部分を特定して自動生成化を進ませた生成方法、その生成方法をコンピュータにより実行可能なプログラム、及びそのプログラムを記録した記録媒体、並びにシステム構成を簡略化する生成装置を提供する。【解決手段】  生成装置５１は、半導体試験装置により試験される被試験デバイスの論理シミュレーション等により生成されるベクタファイルに基づき、被試験デバイスが有する複数ピンのそれぞれに対するタイミングセットと波形モード又はパタンデータとを中間データとして生成する中間データ生成エンジン５３を備える。【選択図】  図１ 
2006030169.tif 000002
【特許請求の範囲】
【請求項１】
中間データを用いて半導体試験装置上で実行されるテストプログラムを生成する生成装置において、
前記半導体試験装置により試験される被試験デバイスの論理シミュレーション又はスキャンATPG(Automatic Test Pattern Generator)により生成されるベクタファイルに基づき、前記被試験デバイスが有する複数ピンのそれぞれに対するタイミングセットと波形モードとを前記中間データとして生成する中間データ生成手段を備えた、生成装置。
【請求項２】
中間データを用いて半導体試験装置上で実行されるテストパタンプログラムを生成する生成装置において、
前記半導体試験装置により試験される被試験デバイスの論理シミュレーション又はスキャンATPG(Automatic Test Pattern Generator)により生成されるベクタファイルに基づき、前記被試験デバイスが有する複数ピンのそれぞれに対するタイミングセットとパタンデータとを前記中間データとして生成する中間データ生成手段を備えた、生成装置。
【請求項３】
前記中間データ生成手段が生成した中間データを記憶する記憶手段を備え、
前記記憶手段に記憶された中間データを用いてプログラム言語が異なる複数の半導体試験装置のそれぞれのプログラム言語フォーマットに従うテストプログラム又はテストパタンプログラムを生成することが可能であることを特徴とする請求項１又は２記載の生成装置。
【請求項４】
中間データを用いて半導体試験装置上で実行されるテストプログラム又はテストパタンプログラムを生成する生成方法において、
中間データ生成手段が、前記半導体試験装置により試験される被試験デバイスの論理シミュレーション又はスキャンATPG(Automatic Test Pattern Generator)により生成されるベクタファイルに基づき、前記被試験デバイスが有する複数ピンのそれぞれに対するタイミングセットと波形モード又はパタンデータとを前記中間データとして生成するステップを含む、生成方法。
【請求項５】
前記半導体試験装置はサイクルベースシステムであり、
前記ステップは、
抽出手段が入力信号における変化点を基準にしてサイクライズを行ってサイクルレートを抽出するステップと、
生成手段が前記抽出されたサイクルレートの種類と比率とに応じた前記タイミングセットを生成するステップとを含む、請求項４記載の生成方法。
【請求項６】
前記半導体試験装置はサイクルベースシステムであり、
前記ステップは、生成手段が時間単位のサイクライズにより前記タイミングセットを生成するステップを含む、請求項４記載の生成方法。
【請求項７】
前記被試験デバイスが有する複数ピンのそれぞれに対するタイミングセット毎のエッジに対して、前記複数ピンがグルーピングされたグループ単位毎にエッジをアラインするステップと、
前記アライン結果により前記タイミングセットの再アサインを行うステップとを含む、請求項４記載の生成方法。
【請求項８】
複数のベクタファイルに基づき生成される中間データとしてのタイミングセットのエッジと波形モードとにより前記タイミングセットの割り当てを行って前記複数のベクタファイルの実行順序のスケジューリングを行うステップを含む、請求項４記載の生成方法。
【請求項９】
中間データを用いてサイクルベースシステムの半導体試験装置上で実行されるテストパタンプログラムを生成する生成方法において、
中間データ生成手段が、前記半導体試験装置により試験される被試験デバイスの論理シミュレーションにより生成されるベクタファイルに基づき、前記被試験デバイスが有する複数ピンのそれぞれに対するタイミングセットを前記中間データとして生成するステップを含み、
前記ステップは、
サイクライズにより前記タイミングセットを生成する第１のステップと、
サイクライズ後の各サイクルにおいて前記被試験デバイスに対するスティミュラスを
テンプレート化する第２のステップとを含む、生成方法。
【請求項１０】
前記第２のステップは、前記被試験デバイスを制御するための所定のピンについてサイクライズされたサイクル毎の入力印加パタン情報を前記ベクタファイルから抽出して前記スティミュラスのテンプレート化を実行するステップを含む、請求項９記載の生成方法。
【請求項１１】
請求項４から１０のいずれかに記載の生成方法をコンピュータに実行させることが可能なプログラム。
【請求項１２】
請求項１１記載のプログラムをコンピュータが実行することが可能にて記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、生成装置、生成方法、その生成方法をコンピュータに実行させることが可能なプログラム、及びそのプログラムを記録した記録媒体に関し、特に中間データを用いて半導体試験装置上で実行されるテストプログラム又はテストパタンプログラムを生成する生成装置、生成方法、その生成方法をコンピュータに実行させることが可能なプログラム、及びそのプログラムを記録した記録媒体に関する。
【背景技術】
【０００２】
図２４は、従来の半導体試験装置用テストプログラム生成システムの概略ブロック図である。
【０００３】
生成システム１は、記憶手段３と、中間データ群５と、複数のテストプログラム生成手段７Ａ〜７ｎと、複数の翻訳手段９Ａ〜９ｎと、ライブラリ抽出／中間データ生成手段１１と、中間データ・ライブラリ登録手段１３とを備える。記憶手段３は、ライブラリ１５と、製品情報ファイル１７とを備える。
【０００４】
ライブラリ１５には、測定方法、測定シーケンスの内容等、各機種LSIテスタに共通の情報が登録されている。製品情報ファイル１７には、各種LSIのパッケージ規格、ピンの配列及び名称等、LSIの種類ごとに固有の製品情報が登録されている。ライブラリ抽出／中間データ生成手段１１は、各機種LSIテスタのテストプログラムの生成に必要なデータを記憶手段３のライブラリ１５及び製品情報ファイル１７から読み出して、各種テストプログラム言語から独立した共通言語のデータに変換することにより、中間データ群５の各ファイル１９〜３７を生成する。
【０００５】
ここで、テストフローファイル１９は測定項目及び測定順序を記述したファイルであり、第１、第２、・・・第ｎのテンプレートファイル２１Ａ〜２１ｎは測定対象LSIの種類ごとに測定シーケンスを記述したファイルである。波形ファイル２３は測定対象LSIに入出力する信号波形の波形モード及びタイミング値を記述したファイルであり、レベルファイル２５は測定対象LSIに入出力する信号の電圧を記述したファイルである。ピンファイル２７は測定対象LSIの接触子とLSIテスタの接触子との接続関係を記述したファイルであり、DC測定条件ファイル２９はDC測定の測定条件を記述したファイルである。パワーシーケンスファイル３１はユニットの電源オン／オフの順序及び時間を記述したファイルであり、変数ファイル３３は変数及び演算式が記述されたファイルである。パターンリストファイル３５はテストパターンの実行開始アドレス及び停止アドレスの情報が記述されたファイルであり、インスタンスファイル３７はテンプレートと各パラメータとの結び付きを記述したファイルである。
【０００６】
中間データ・ライブラリ登録手段１３は、生成された中間データ群５の各ファイル１９〜３７に含まれる中間データを記憶手段３のライブラリ１５に登録する。
【０００７】
第１、第２、・・・第ｎのテストプログラム生成手段７Ａ〜７ｎは、それぞれがLSIテスタの機種ごとに対応して設けられており、中間データ群５の必要な各ファイル１９〜３７から読み出した中間データを変換することにより、LSIテスタの機種ごとに対応した第１、第２、・・・第ｎのテストプログラム３９Ａ〜３９ｎをＡＳＣＩＩ(American Standard Code for Information Interchange)ファイルで作成する。
【０００８】
第１、第２、・・・第ｎのプログラム翻訳手段９Ａ〜９ｎは、それぞれがLSIテスタの機種ごとに対応して設けられており、各テストプログラム３９Ａ〜３９ｎのコンパイル及びリンクを行い、LSIテスタの機種ごとに対応した実行可能プログラムであるバイナリファイルの第１、第２、・・・第ｎのテストプログラム４１Ａ〜４１ｎを生成する。
【０００９】
【特許文献１】特開２０００−１６３２７８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、上述したテストプログラムの生成では、自動生成に必要な中間データに関する具体的な分析まで考慮されたプログラム生成とはなっていない。また、ＬＳＩテスタのハード仕様制約を満たさない情報が中間データに定義されていた場合には、プログラム翻訳手段にて翻訳処理が実行されるまではその制約違反は検出されず、検出された後において前提となる中間データの再定義或いは編集が必要となり、繰り返し作業が発生している。そのため、現状ではエンジニアによる多大な手作業が必要とされる。
【００１１】
ゆえに、本発明は、自動化可能部分を特定して自動生成化を進ませた生成方法、その生成方法をコンピュータにより実行可能なプログラム、及びそのプログラムを記録した記録媒体、並びにシステム構成を簡略化する生成装置を提供する。
【課題を解決するための手段】
【００１２】
請求項１に係る発明の生成装置は、中間データを用いて半導体試験装置上で実行されるテストプログラムを生成する生成装置において、前記半導体試験装置により試験される被試験デバイスの論理シミュレーション又はスキャンATPG(Automatic Test Pattern Generator)により生成されるベクタファイルに基づき、前記被試験デバイスが有する複数ピンのそれぞれに対するタイミングセットと波形モードとを前記中間データとして生成する中間データ生成手段を備える。
【００１３】
請求項２に係る発明の生成装置は、中間データを用いて半導体試験装置上で実行されるテストパタンプログラムを生成する生成装置において、前記半導体試験装置により試験される被試験デバイスの論理シミュレーション又はスキャンATPG(Automatic Test Pattern Generator)により生成されるベクタファイルに基づき、前記被試験デバイスが有する複数ピンのそれぞれに対するタイミングセットとパタンデータとを前記中間データとして生成する中間データ生成手段を備える。なお、パタンデータは、テンプレート化されたものであってもよい。
【００１４】
請求項３に係る発明の生成装置は、請求項１又は２において、前記中間データ生成手段が生成した中間データを記憶する記憶手段を備え、前記記憶手段に記憶された中間データを用いてプログラム言語が異なる複数の半導体試験装置のそれぞれのプログラム言語フォーマットに従うテストプログラム又はテストパタンプログラムを生成することが可能であることを特徴とする。
【００１５】
請求項４に係る発明の生成方法は、中間データを用いて半導体試験装置上で実行されるテストプログラム又はテストパタンプログラムを生成する生成方法において、中間データ生成手段が、前記半導体試験装置により試験される被試験デバイスの論理シミュレーション又はスキャンATPG(Automatic Test Pattern Generator)により生成されるベクタファイルに基づき、前記被試験デバイスが有する複数ピンのそれぞれに対するタイミングセットと波形モード又はパタンデータとを前記中間データとして生成するステップを含むものである。なお、パタンデータは、テンプレート化されたものであってもよい。
【００１６】
請求項５に係る発明の生成方法は、請求項４において、前記半導体試験装置はサイクルベースシステムであり、前記ステップは、抽出手段が入力信号における変化点を基準にしてサイクライズを行ってサイクルレートを抽出するステップと、生成手段が前記抽出されたサイクルレートの種類と比率とに応じた前記タイミングセットを生成するステップとを含むものである。
【００１７】
請求項６に係る発明の生成方法は、請求項４において、前記半導体試験装置がサイクルベースシステムであり、前記ステップが、生成手段が時間単位のサイクライズにより前記タイミングセットを生成するステップを含むものである。
【００１８】
請求項７に係る発明の生成方法は、請求項４において、前記被試験デバイスが有する複数ピンのそれぞれに対するタイミングセット毎のエッジに対して、前記複数ピンがグルーピングされたグループ単位毎にエッジをアラインするステップと、前記アライン結果により前記タイミングセットの再アサインを行うステップとを含むものである。
【００１９】
請求項８に係る発明の生成方法は、請求項４において、複数のベクタファイルに基づき生成される中間データとしてのタイミングセットのエッジと波形モードとにより前記タイミングセットの割り当てを行って前記複数のベクタファイルの実行順序のスケジューリングを行うステップを含むものである。
【００２０】
請求項９に係る発明の生成方法は、中間データを用いてサイクルベースシステムの半導体試験装置上で実行されるテストパタンプログラムを生成する生成方法において、中間データ生成手段が、前記半導体試験装置により試験される被試験デバイスの論理シミュレーションにより生成されるベクタファイルに基づき、前記被試験デバイスが有する複数ピンのそれぞれに対するタイミングセットを前記中間データとして生成するステップを含み、前記ステップが、サイクライズにより前記タイミングセットを生成する第１のステップと、サイクライズ後の各サイクルにおいて前記被試験デバイスに対するスティミュラスをテンプレート化する第２のステップとを含むものである。
【００２１】
請求項１０に係る発明の生成方法は、請求項９において、前記第２のステップが、前記被試験デバイスを制御するための所定のピンについてサイクライズされたサイクル毎の入力印加パタン情報を前記ベクタファイルから抽出して前記スティミュラスのテンプレート化を実行するステップを含むものである。
【００２２】
請求項１１に係る発明のプログラムは、請求項４から１０のいずれかに記載の生成方法をコンピュータに実行させることが可能なプログラムである。
【００２３】
請求項１２に係る発明の記録媒体は、請求項１１記載のプログラムをコンピュータが実行することが可能にて記録した記録媒体である。
【００２４】
なお、中間データを用いて半導体試験装置上で実行されるテストプログラム及びテストパタンプログラムの少なくともいずれかを生成する生成装置において、例えば上記のような中間データ生成手段により中間データを生成する際に、格納すべきパラメータが前記半導体試験装置に対して要求される制約条件を満たすか否かをチェックするようにしてもよい。そして、制約条件が満たされなかった場合においても制約条件が満たされるように補正されてもよい。さらに、上記チェック結果を通知するようにしてもよい。このような制約チェックが行われることにより、従来では、翻訳後において検出された制約違反が早期に検出され、前提となる中間データの再定義或いは編集が不要化されて繰り返し作業も減少し、この点からもエンジニアが行わざるを得ない手作業の負担が軽減される。
【発明の効果】
【００２５】
この発明によれば、半導体試験装置により試験される被試験デバイスの論理シミュレーション又はスキャンATPG(Automatic Test Pattern Generator)により生成されるベクタファイルに基づき、前記被試験デバイスが有する複数ピンのそれぞれに対するタイミングセットと波形モード又はパタンデータとを中間データとして生成するので、このタイミングセットと波形モード又はパタンデータとによりテストプログラム又はテストパタンプログラムの生成処理における自動化を進めることができる。
【発明を実施するための最良の形態】
【００２６】
図１は本発明の第１の実施の形態にかかる生成装置の概略ブロック図である。以下、図１を用いて構成を説明する。
【００２７】
生成装置５１は、中間データ生成エンジン５３と、中間データ記憶部５５と、GUI（グラフィカル・ユーザ・インターフェイス）５７と、テンプレート５９と、プログラム生成エンジン６１と、逆変換エンジン６７とを備え、中間データ生成エンジン５３が生成する中間データを用いてテストパタンプログラム６９とテストプログラム７１とを生成する。ここで、テストプログラムは、制御（メイン）プログラムを指す。
【００２８】
中間データ生成エンジン５３には、VCD(Value Change Dump)データ、HDL(Hardware Description Language)データ、レイアウトデータなどが入力される。ここで、VCDデータは、半導体開発における論理設計にHDLやC言語が用いられた場合に実施される論理シミュレーションにより出力されるベクタファイルの一つであり、IEEE標準規格のフォーマットに沿っている。中間データ生成エンジン５３は、上記のようなデータにより中間データを生成する。以下、中間データに関して、場合分けをして詳細に説明する。
【００２９】
[被試験デバイスのピンの名称、入出力属性定義、波形モード定義、サイクル幅、信号変化タイミングの定義、タイミンググループ（以下、「タイミングセット」という）定義、電圧と電流レベル定義に関する項目]
【００３０】
半導体試験装置がサイクルベースシステムであるときには、上記項目は構造上の制約から省略できない要素であり、他の電圧と電流レベルの定義も含めて、これらはプログラム内で所定関数により定義付けされる必要がある。また、半導体試験装置では、全て共通のプログラム言語が用いられているのではなく、機種毎に異なるプログラム言語が用いられており、その場合には上記項目に関する宣言や定義は異なるプログラム言語でなされる必要がある。そして、上記項目は、テストプログラム７１のみならず、テストパタンプログラム６９の生成に大きな影響を与える要素である。
【００３１】
ここで、被試験対象デバイスのピンの名称のそれぞれはユニークである。入出力属性定義は、入力、出力、双方向、内部信号に関する定義である。波形モードは、NRZ(None Return Zero)、RZO(Return Zero/One)、XOR(ExclusiveOR)により定まる。サイクル幅は基本周波数により定まる。信号変化タイミングの定義はサイクル基点から各信号変化点の遅延により定まり、各ピンの信号の変化点が基点からの遅延で表現される。タイミングセットはサイクル幅と信号変化タイミングなどにより定まる。電圧と電流レベル定義は、電圧のHighレベル値、Lowレベル、Middleレベル値などの電気特性により定まる。
【００３２】
図２は機種Ａのテストアプリケーション言語のフォーマットの一例であり、図３は機種Aとは異なるプログラム言語が必要とされる機種Bのテストアプリケーション言語のフォーマットの一例である。ここで、図２及び図３に示したA機種及びB機種において定義すべき要素は同じであるが、プログラム言語の相違により、フォーマットが異なっている。図２の機種Ａでは、ピン名の宣言部とタイミングセットの宣言部が独立したフォーマットとなっている。ピン名の宣言文には変化点が定義されているが、変化点のシンボル名は複数のタイミングセットに定義され、ハードウエアの制約の範囲において各タイミングセット内ではユニークな遅延値の設定が可能である。各サイクルでどのタイミングセットを用いるかはテストパタンプログラムに定義されており、両者の関係によりタイミングが選択される。一方、図３の機種Ｂでは、各ピンの宣言文にタイミングセットの定義が記述されるフォーマットとなっており、各サイクルでどのタイミングセットが選択されるかはＡ機種と同様にパタンプログラムで定義する。このように必要な要素はいずれもほぼ同じであるが、機種毎に記述言語のフォーマットが異なるため、それぞれのノウハウを必要とする。なお、タイミングセットはテストパタンプログラム内においても宣言される。
【００３３】
以上のような上記項目に関し、エンジニアによる手作業では以下のような問題があった。第１に、上記項目は被試験対象デバイスの各ピンに対して必要になり、一般にデバイスには数百ピンが実装されており、それらに上記複数項目（要素）を１つずつ定義していくことは困難である。第２に、人手による入力ではミスが発生する可能性を否定できず、プログラムをコンパイルするまでミスの検出ができない可能性もあり、開発効率が低下する原因となるだけでなく、デバッグの際の初期品質が低下し、これらの繰り返しが工数増大の原因となる。第３に、上流の設計データや仕様が変更になった際には、それをテストアプリケーションやテンプレートを用いた手法であれば所定フォーマットファイルへ反映させる必要があるため、その際に人為的ミスが発生する可能性は否定できず、特に仕様が確定していない状態で評価を繰り返しているような状況では開発効率は低下せざるを得なかった。第４に、テンプレートを用意することで複数のプログラム言語の異なる半導体試験装置への対応を可能とするが、上流にある設計データやデバイス仕様によってはテンプレートをカスタマイズするか、図２４に示すように複数用意する必要がある。テンプレートをカスタマイズするには、修正のために各半導体試験装置の異なるプログラム言語を理解する必要がある。
【００３４】
ところで、今日の半導体設計開発における論理設計はＨＤＬやＣ言語を用いての設計が主流となっている。これらの言語で設計したハードウエアモデルは正しく機能を満たした動作を行うか否かが検証されなくてはならない。このとき論理シミュレーションが実施される。そして、シミュレーションにより出力されるベクタファイルがあり、一般的にこれが半導体試験装置にて行うテストにおけるテストパタンとされる。上記ベクタファイルのひとつであるＶＣＤファイルには、被試験デバイスのピン名称と、それぞれのピンの論理レベルの変化タイミングと、その論理値レベルと、また一部拡張として入出力属性とが含まれている。
【００３５】
図１の中間データ生成エンジン５３は、テストプログラムを生成するために必要な上記ピン名称、各ピンの論理レベルの変化タイミング、入出力属性をシミュレーション結果のＶＣＤファイルから抽出し、テストパタンプログラムを生成するために必要な各ピンの論理レベルの変化タイミング、その論理レベルを抽出する。また、図１の中間データ生成エンジン５３は、HDL情報、レイアウト情報から、被試験デバイスのピン入出力属性及び電圧と電流レベルに関する要素を抽出する。
【００３６】
図４及び図５は、図１の中間データ生成エンジンの動作を説明する図であってサイクライズ処理を説明するための第１及び第２の図である。
【００３７】
まず、デバイス仕様を基に実施した論理シミュレーションによって生成されるＶＣＤファイルには被試験デバイスの各ピンに対するイベント（信号の変化）が時間情報とともに格納されており、図４及び図５のサイクライズフローに示す処理手順でイベントと時間情報が解析されてサイクライズが行われる。
【００３８】
サイクライズには任意の処理手法を選択することが可能であり、第１に被試験デバイスの基本クロックとなるクロックピンの変化タイミングに従ってサイクルレートを設定する方法と、第２に固定rate（周波数の値のみ）に従ってサイクルレートを設定する方法に大きく分類される。
【００３９】
ここで、基本クロックに従ってサイクルレートを設定する方法では、サイクルrateに依存してそのまま分割を継続するか、１つのサイクルrate の整数倍であれば同一rateとみなして取り扱うか選択が可能である。またベクタの初期期間にみられるような同一rateで分割できない端数のサイクルレート、たとえばクロックが安定していない期間或いは初期リセット期間がある場合は個別にrateを設定することも選択できるようにしている。このように自由度を広げて自動生成率向上を目指した手法を用いてサイクライズが行われる。
【００４０】
図４を用いてさらに説明する。ステップＳ１において、マスタークロックか否かが判断される。マスタークロックである場合にはステップＳ２に進み、マスタークロックではない場合にはステップＳ１３に進む。ステップＳ２ではマスタークロック解析が行われ、全エッジを抽出することによるサイクルレートの抽出が行われる。一方、ステップＳ１３では固定のサイクルレートにより解析が行われる。
【００４１】
ステップＳ２に続くステップＳ３では単一レートか否かが判断される。単一レートでない場合にはステップＳ４に進み、単一レートの場合にはステップＳ９に進む。一方、ステップＳ１３に続くステップＳ１４ではオフセットであるか否かが判断される。オフセットの場合にはステップＳ１２に進む、オフセットではない場合にはステップＳ９に進む。
【００４２】
ステップＳ４では、レートがＮ整数倍であるか否かが判断される。Ｎ整数倍の場合にはステップＳ６ではレートを同一レートとみなすか又は同一レートにみなさないかが選択可能である。Ｎ整数倍ではない場合にはステップ５において別レートが設定される。ステップＳ５及びステップＳ６に続くステップＳ７ではオフセットか否かが判断される。オフセットの場合にはステップＳ８に進み、オフセットではない場合にはステップＳ９に進む。ステップＳ９ではオフセットなしで全サイクルを同一レートとした処理が行われ、続けて図５のステップＳ１５に進む。
【００４３】
ステップＳ８ではオフセットの切り出しが行われ、引き続きステップＳ１０において同一レートが複数種類か否かが判断される。複数種類の場合にはステップＳ１１において全種類レートの抽出が行われ、複数種類ではない場合にはステップＳ１２においてオフセットありで全サイクルを同一レートとした処理が行われる。
【００４４】
以上の処理でサイクル分割がされたら、図５に示す処理に以降し、被試験デバイスのピンについて波形モードの生成と信号の変化タイミング定義および全体でのタイミングセットの定義とパタンデータ抽出が行われる。
【００４５】
具体的には、ステップＳ１５において全ピンについて基点間の変化点の抽出が行われる。次に続くステップＳ１６では変化点からタイミングエッジと波形モードが決定される。ステップＳ１７はユーザが任意でスキップさせることが可能な処理であるが、ステップＳ１６においてエッジが決定されて抽出された後、ピングループ単位でエッジアラインが行われる。そのアライン処理は、ピングループ単位ごとにエッジが揃えられる処理により行われる。図２２はエッジアラインの処理を説明するための図である。ここで、CLKはクロックを表し、ＩＮＡはそれぞれ被試験デバイスのピンについての信号を表し、丸で囲んだ位置にエッジが位置している。図２２（Ａ）に示される状態がオリジナルの状態であったとすると、例えば、図２２（Ｂ）に示すEarly側の変化点にアラインされてエッジが抽出され、或いは図２２（Ｃ）に示すLate側の変化点にアラインされてエッジが抽出される。また、機能検証向けに開発されて、テスタでのテストを意識せずに生成されたベクタの場合などは、入力ピンのエッジタイミングが統一されてないことがある。しかし、ステップＳ１６によるグループ毎のアライン処理によりエッジが抽出されるのでタイミングセット総数は削減される。また、単にハード的な制約に基づいて無条件に分解能のみから丸めるよりも、デバイスＡＣ特性に基づく上記グルーピングによるグループ単位毎のエッジ抽出のほうが抽出精度は高い。続くステップＳ１８ではピン毎にタイミングセットの切り出しが行われ、ステップＳ１９では各サイクルでタイミングセットの定義が行われる。そして、ステップＳ２０では、ベクタファイルとサイクライズ結果からパタンデータの抽出が行われ、中間ファイルが生成される。次に、ベクタが複数であるか否かがステップＳ２１で判断される。複数でない場合には処理が終了するが、複数の場合にはステップＳ２２以降の処理が続く。ステップＳ２２では、全ベクタについてＳ１からＳ２０の処理が行われているのでタイミングセットとパタンデータが一旦抽出されており、全ベクタの抽出されたタイミングセット情報が読み込まれる。ステップＳ２３では、テスタ制約が満たされる範囲でタイミングセットがマージされて最適化が行われる。最適化によりタイミングセットの定義が変更されると、ステップＳ２４において、パタンデータにあるタイミングセット番号が変更され、最適化後の上記データが中間データとして格納される。さらにタイミングセットがマージされることにより、パタンの実行順序が変更される必要があるため、ステップＳ２５においてパタンスケジューリングが行われる。図２３はこのパタンスケジューリングを説明するための図である。例えば、後述するように半導体試験装置の制約のためにＴＳ総数がＭＡＸで５つに定まっているとする。その場合、Vector1(TS1,2,3)、Vector2(TS1,4,5)、Vector3(TS1,6)、Vector4(TS1,2,3,4)、Vector5(TS1,5,6)であるとすると、スケジューリングされれば、まずはTS1,2,3,4,5が設定されてVector1,2,4が選ばれ、次にTS1,5,6が設定されてVector3,5が選ばれる。一方、スケジューリングされなければ、第１にTS1,2,3が設定されてVector1が選ばれ、第２にTS1,4,5が設定されてVector2が選ばれ、第３にTS1,6が設定されてVector3が選ばれ、第４にTS1,2,3,4が設定されてVector4が選ばれ、最後にTS1,5,6が設定されてVector5が選ばれる。このようにタイミングセットが最適化されてタイミングセットを定義付ける回数が少なくなるということは、テストプログラムとして、実行効率が向上することになり、プログラム走行時間の短縮につながる。なお、ステップＳ２１以降の処理は、ユーザーが任意でスキップさせることができる処理である。
【００４６】
図１に戻って、中間データ記憶部５５は、上記のように生成した中間データを中間ファイルとして記憶し、保持する。プログラム生成エンジン６１が、テストプログラム７１及びテストパタンプログラム６９を生成するには、上記被試験デバイスのピンの名称、入出力属性定義、波形モード定義、サイクル幅、信号変化タイミングの定義、タイミングセット定義、電圧と電流レベル定義に関する項目以外の要素も必要である。
【００４７】
[被試験デバイスのピンの名称、入出力属性定義、波形モード定義、サイクル幅、信号変化タイミングの定義、タイミングセット定義、電圧と電流レベル定義に関する項目以外]
【００４８】
上記項目以外には、第１に半導体試験装置機種定義（ターゲットとなるテスタの選択）、第２にデバイスピンとテスタ間にある物理的接続情報、第３にテストカテゴリの定義、第４にデバイスの各ピンの電源オンとオフのシーケンスの定義、第５にデバイスの各ピンと接続するテスタのドライバユニットとコンパレータユニットの種類の定義、第６にデバイスの各ピンのＤＣ測定条件、第７にデバイスの各出力ピンについての出力判定条件や判定タイミング（ストローブポイント）の定義、第８にテスト実行順序の定義、が挙げられる。なお、上記の物理的接続情報、シーケンス定義、ドライバユニットとコンパレータユニットの種類の定義、DC測定条件、出力判定条件や判定タイミングの定義は少なくともデバイスピンに従って設定する項目である。
【００４９】
このような項目に対して、エンジニアによる手作業では以下のような問題があった。デバイスのピンに関する情報定義は、各ピン毎に複数要素の情報を定義することになり、人手を介しての入力のため入力ミスの可能性は否定できない。また、入力情報は、各ピン毎に複数要素の情報を入力するが、複数のピンに対して同一の要素を入力するような場合も多くあり、一括入力ができないために効率化できていない。しかも入力情報が変更になった場合、つまり仕様が変更になった場合は、上記の作業を再度行う必要があり、ミスの可能性を広げることになる。
【００５０】
このような項目に関する中間データを編集、修正可能とすべく、GUI５７が設けられている。ユーザは、このGUI５７を利用して、被試験デバイスのピングループを任意に定義可能であり、そのグループ単位にテストプログラム生成に必要な上記のような項目を入力でき、また編集もできる。
【００５１】
図６は、GUIの動作処理を主に説明するための図である。
ステップＳＴ１において、デバイス仕様やテスト仕様が定まる。ステップＳＴ２において、半導体試験装置の機種選定（テスタ機種選定）によりテンプレートの選択が行われる。ステップＳＴ３では、ユーザが、GUI５７を用いて複数ピン毎に編集し、詳細は後述するがテスタ制約や入力値のチェックがインタラクティブに行われ、中間データ記憶部５５には、物理的接続情報、DC測定条件、電源ON/OFFシーケンス、テストカテゴリ、ドライバユニット、テストフロー等の中間データが中間ファイルとして保存される。
【００５２】
そして、ステップＳＴ４に示すように、図１のプログラム生成エンジン６１は、テストプログラム生成部６３とテストパタンプログラム生成部６５とを備え、これらがテンプレート５９と中間データ記憶部５５に記憶されている中間ファイルからテストプログラム７１とテストパタンプログラム６９を生成する。その後は、ステップＳＴ５に示すようにコンパイルとリンク処理が行われる。
【００５３】
次に、図１の逆変換エンジン６７について説明する。逆変換エンジン６７は、図示を省略したが、抽出部と処理部とを備える。抽出部は、テストプログラム７１とテストパタンプログラム６９を解読し、少なくともピンに関する情報を抽出する。処理部は、抽出された情報に対して中間データ形式に応じたリフォーマット処理を行う。
【００５４】
なお、抽出されるピン属性情報としては、タイミングセット、波形モード、変化タイミング、DC測定関連情報、電圧と電流レベル情報、物理的接続情報、ドライバユニット種類情報が挙げられる。抽出処理としては、さらに各サイクルでのタイミングセット、テストカテゴリ、電源投入シーケンス、テストフローに対しても行われる。
【００５５】
このような中間データへの逆変換により、テストプログラム７１とテストパタンプログラム６９から中間データへの逆変換が可能となり、異なる任意の半導体試験用テストプログラム言語のテストプログラムとテストパタンプログラムの生成が可能となる。すなわち、テストプログラムの再利用が可能となる。
【００５６】
図７は、本発明の第２の実施の形態にかかる生成装置の概略ブロック図である。以下、図７を用いて図１の異なる構成部分を特に説明する。また、図８は、図７の生成装置の主要な動作を説明するためのフロー図である。
【００５７】
ところで、被試験デバイスのピンの名称、入出力属性定義、波形モード定義、サイクル幅、信号変化タイミングの定義、タイミンググループ定義、電圧と電流レベルに関する項目に対し、半導体試験装置のハード仕様から入力制約範囲が発生するが、従来の手法ではそれらのチェックは実際にプログラムをコンパイルするまで行われない。そのため、入力ミス等があった場合には、検出が遅れるため、対応が後手となり、開発効率を低下させる原因となる。
【００５８】
また、上記以外に関する項目についても、従来の手法では、入力が明らかに誤っていたにもかかわらずテストプログラムを生成した場合には、半導体試験装置にてコンパイルを行った時点でなければそのミスは検出されない。すなわち、半導体試験装置のハード的仕様による制約などで入力情報に範囲が限定されて入力されるべき場合でも、そのミスの検出は後工程のコンパイルとリンクの処理まで検出されない可能性が高い。したがって、繰り返し工数がかかることにもなり、開発効率が低下している原因にもなっている。
【００５９】
そこで、この生成装置７３は、制約チェック部７５，７７，７９と、テスト制約情報記憶部８１と、通知部８３とをさらに備える。
【００６０】
ステップＳＳ１においてデバイス仕様が定まる。ステップＳＳ２において論理設計・論理検証に沿ったVCDデータとHDLデータが作成される。ステップＳＳ３ではレイアウト設計によりレイアウト情報が作成される。ステップＳＳ４において中間データ生成エンジン５３により中間データが生成される。
【００６１】
ステップＳＳ５において、図７の制約チェック部７５は、中間データ生成エンジン５３が生成した中間データがテスタ制約情報記憶部８１に記憶されて保存されているテスタ制約条件、特にハード仕様の制約の範囲を満たしているか否かをチェックする。なお、制約チェック部７５は、ターゲット機種が選定されていない場合などには、ハード制約チェックを複数の半導体試験装置について一括同時チェックを行うことにより、最適解を容易に求めることも可能である。
【００６２】
また、ステップＳＳ５において、制約チェック部７５は自動補正機能も有しており、上記チェック結果によりハード制約条件を満たせない抽出要素に対して制約範囲内におさまるように補正処理を行い、より最適化に向けた処理が行われる。なお、上記自動補正機能により補正された値が論理シミュレーションへフィードバックされて被試験デバイスが補正後の環境で動作可能であるか否かを判断するために、被試験デバイスをテストするための環境としてのテストベンチを用いてもよい。その場合には、自動補正後の品質が確保される。
【００６３】
次に、ステップＳＳ６において、ユーザは、GUI５７を用いて、被試験デバイスのピン名称、入出力属性定義、波形モード定義、サイクル幅、信号変化タイミングの定義、タイミンググループ定義、電圧と電流レベル定義以外の項目に関し、定義付け、編集、修正を行う。定義付け等されるものは、例えば、半導体試験装置機種定義（ターゲットとなるテスタの選択）、デバイスピンとテスタ間にある物理的接続情報、テストカテゴリ定義、デバイスの各ピンの電源オンとオフのシーケンス定義、デバイスの各ピンと接続するテスタのドライバユニットやコンパレータユニットの種類の定義、デバイスの各ピンのDC測定条件、デバイスの各出力ピンについての出力判定条件や判定タイミング（ストローブポイント）の定義、テスト実行順序の定義などである。
【００６４】
ステップＳＳ７において、図７の制約チェック部７９が、GUI５７が利用されて定義付けられ或いは編集・修正された中間データに対して、制約チェックを行う。この制約チェックは、機種が選定されていない場合は、ハード制約チェックをプログラム言語等が異なる複数の半導体試験装置について一括に同時に行われてもよい。その場合、機種選択の最適解の指標が容易に求まる。また、機種選定済みの場合には、ハード制約を満たさなかった項目については、制約チェック部７９が有する自動補正機能により制約範囲内におさまるように補正処理が行われてもよい。これにより、より最適化に向けた処理がなされる。
【００６５】
ここで、制約チェック部７９は、半導体試験装置のハード仕様の制約範囲内で制限される入力項目について、ユーザがその候補を選択できるように、通知部８３によりユーザに対してその候補を提示できるようにしてもよい。それにより、ユーザはインタラクティブに入力動作を行える。
【００６６】
図８に戻って、ステップＳＳ８において、図７のプログラム生成エンジン６１が、テンプレート５９と中間データ記憶部５５に記憶された中間データとから、テストプログラム７１及びテストパタンプログラム６９を生成する。
【００６７】
そして、その後に、ステップＳＳ９ではコンパイルとリンクとが行われ、ステップＳＳ１０において半導体試験装置による実際のテストが行われる。なお、ステップＳＳ９からステップＳＳ１０に進む際にエラーは生じない。なぜならば、従来と異なり、入力項目に対して制約チェックを既に事前に行っているからである。
【００６８】
一方、図７の制約チェック部７７は、逆変換エンジン６７がテストパタンプログラム６９とテストプログラム７１に対して逆変換して得られた中間データに対して制約チェックを行う。この場合のチェックは、プログラム言語等が異なる複数の半導体試験装置に対して一括に同時に行われてもよく、任意の１機種に対して行われてもよい。
【００６９】
図７の通知部８３は、制約チェック部７５、制約チェック部７７、制約チェック部７９のチェック結果をユーザに通知することが可能であり、さらに逆変換エンジン６７において逆変換するために必要な要素が抽出できない場合にもその結果を通知することができるものである。この通知部８３により、特に制約チェック部７５のチェック結果及び制約チェック部７７のチェック結果がユーザに早期に伝えられることにより、従来と異なり、開発効率を向上させる上でもまた自動生成化の点でも重要な早期チェックとそれに対する適切な処置が早期に施されることになる。
【００７０】
図９及び図１０は、図７の生成装置の場合における図４の処理に続く処理を示す第１及び第２のフロー図であり、図１１は、図７の生成装置の場合におけるGUIの動作処理をも示したフロー図である。以下、図９、図１０及び図１１を用いて、図７の生成装置の動作をさらに制約チェックも含めて説明する。
【００７１】
図１１を参照して、ステップＳＴＴ１において、単一テスタが指定されているか否かが判断される。この機種指定により前述した逆変換エンジン６７やGUI５７入力機能が有効となるようにしておく。単一テスタが指定されている場合にはステップＳＴＴ２に進み、単一テスタ未指定の場合にはステップＳＴＴ１２に進む。ステップＳＴＴ３及びステップＳＴＴ１３では、中間データ生成エンジン５３により、ベクタファイルとHDLデータ等から、ピン名称、入出力属性、波形モード、信号変化タイミング、タイミンググループ、電圧と電流レベルなどに関する中間データが生成される。ステップＳＴＴ４では、制約チェック部７５が制約チェックを行い、ステップＳＴＴ１０では、制約チェック部７５がその自動補正機能を使って自動補正を行う。
【００７２】
制約チェックが複数の機種に対して行われるか又は任意の１機種に対して行われるかを選択可能とする。複数の機種に対して一括チェックが行われる場合にはその比較結果から最適な半導体試験装置が通知部８３により通知されることにより、機種選択の判断の容易化が進む。一方、任意の１機種に対して制約チェックが行われる場合には、抽出した要素が制約範囲を満たしていないときには、ステップＳＴＴ１０における自動補正が行われる。
【００７３】
図９及び図１０を参照して、さらに図１１のステップＳＴＴ４及びステップＳＴＴ１０の処理を具体的に説明する。ステップＳＴＳ１ではピン名称が制約違反か否かが判断される。具体的にはピン名に対する主に予約語やレングス制約チェックが行われる。違反の場合にはステップＳＴＳ２に進み、ステップＳＴＳ２において違反内容の通知が図７の通知部８３により行われる。予約語が用いられたり、又はピン名の長さが制約を越えている場合にはステップＳＴＳ２に続き、ステップＳＴＳ３においてそれらがシャドーテーブルに登録され、自動で代替ピン名が割り当て登録される。例えば８文字の制限があればシャドーテーブルに違反したオリジナルのピン名と代替ピン名が８文字以内で登録される。すなわち、ステップＳＴＳ３ではピン名称に関する制約違反は、ピンシャドーテーブルが自動的にアサインされ、名前が割り当てられることで行われる。ステップＳＴＳ４ではシャドーテーブルが参照されて中間ファイルの編集が行われ、またテストプログラム生成時までシャドーテーブルが用いられる。名称制約違反ではない場合及びステップＳＴＳ４の次にはステップＳＴＳ５に進む。
【００７４】
ステップＳＴＳ５では、サイクルレートが制約違反か否かが判断される。ここでの制約チェックは、ハードで設定不可能なレートが設定されていないか否かが検査される。具体的にはサイクルレートがハード制約以上の高周波で設定されていた場合（レート制約違反の場合には）ステップＳＴＳ６に進み、ステップＳＴＳ６においてサイクルレート違反内容の通知が図７の通知部８３により行われる。ステップＳＴＳ７において補正が行われるが、それは、サイクルレートが制約条件範囲内で補正されるように再度サイクライズされて行われる。例えば最高周波数１００Ｍｈｚの場合にはサイクルレートは１０ｎｓ以上である必要があるのに対し、サイクルレートに８ｎｓと指定されていた場合は制約範囲外であるのでステップＳＴＳ７において制約範囲内となるようにサイクレートの再設定が行われる。レート制約違反ではない場合及びステップＳＴＳ７の次にはステップＳＴＳ８に進む。
【００７５】
ステップＳＴＳ８では、サイクライズがなされ、及び全ピンについての基点間の変化点を抽出する処理が行われる。ステップＳＴＳ９では、上記変化点からタイミングエッジと波形モードが決定される。
【００７６】
ステップＳＴＳ１０では波形モードが制約違反か否かが判断される。ここでの制約チェックでは、ハードで設定不可能な波形モードが設定されていないか否かが検査される。波形モード制約違反の場合にはステップＳＴＳ１１に進み、ステップＳＴＳ１１において波形モード違反内容の通知が図７の通知部８３により行われる。ステップＳＴＳ１２以降の補正処理が行われる。ステップＳＴＳ１２では波形パルス幅のチェックが行われ、パルス幅が制約を満たさない場合にはステップＳＴＳ１４に進む。ステップＳＴＳ１４では違反したパルス幅が極端に狭いときにはテスタハードによる再現が不能であるためノイズとして扱われる。ノイズとみなされる場合は期待しない入力波形であることから波形モードから削除される。なお、パルス幅が制約幅の境界線にある場合にはノイズとみなされず、最適化が行われる。さらに、ステップＳＴＳ１３においてはパルス幅には違反ではないものの、波形モード違反でもあることから、１つのピンに複数波形モードが存在する場合には違反した波形モードの比率が算出され、出現比率が誤差範囲であるならば不安定サイクルのノイズ波形として扱われ、この波形モードは削除される。ステップＳＴＳ１３及びステップＳＴＳ１４の次の処理と波形モード制約違反ではない場合は、ステップＳＴＳ１５に進む。ステップＳＴＳ１５ではピン毎にタイミングセットの切り出しとして、ピン毎に抽出したタイミングエッジと波形モードとがクロックレートの種類毎に整理される。例えばピンＡにはクロックレートＡ，Ｂがあるとする。波形モードは両者同一で、クロックレートＡのエッジは１ｎｓ、クロックレートＢのエッジは２ｎｓとされるように整理される。ステップＳＴＳ１６では各サイクルでタイミングセットの定義が行われるために、ピン毎にまとめられた上記仮タイミングセットが全ピンでＯＲされて、サイクル毎のタイミングセットが決定される。例えば、１サイクル目は仮タイミングＡが用いられてタイミングセット１、２サイクル目も同様にタイミングセット１、３サイクル目は仮タイミングＢが用いられてタイミングセット２が割り付けられるように、全サイクルに対しての定義が行われる。
【００７７】
次に、ステップＳＴＳ１７ではタイミングが制約違反か否かが判断される。ここでの制約チェックは、設定されたタイミングセット数等も有限であることから、その数がオーバーされていないかなどが検査される。タイミング制約違反の場合にはステップＳＴＳ１８に進み、ステップＳＴＳ１８においてタイミング違反（タイミングエッジ、タイミングセット違反）の通知が図７の通知部８３により行われる。ステップＳＴＳ１９以降では補正処理が行われる。ステップＳＴＳ１９では、分解能違反か否かが判断される。分解能違反の場合にはステップＳＴＳ２１に進み、分解能違反ではない場合にはステップＳＴＳ２０に進む。ステップＳＴＳ２０ではピン毎に分解能が調整され、丸め処理により制約範囲内でのエッジの最適化が行われる。ステップＳＴＳ２１ではピン毎に分解能範囲内での丸め処理が行われ、最適化が行われる。ステップＳＴＳ２０及びステップＳＴＳ２１の次の処理は、ステップＳＴＳ２２であり、全体でエッジの最適化が行われる。
【００７８】
例えば、信号変化タイミング（タイミングエッジとも呼ぶ）の定義可能個数は、半導体試験装置内のタイミング生成モジュールのハード仕様制約に影響される。仮に装置全体でタイミングエッジの総数制限がｎ個であったとし、それをオーバーするn+1 個のタイミングエッジを抽出したとすると、これは制約違反にあたる。自動補正機能が有効であれば、まず信号変化タイミングの遅延時間について分解能を調整することで丸め処理を行って、丸め後の値でタイミングエッジグループを再分類することで、丸め処理前に比べて信号変化タイミングの定義個数を削減し制約範囲内に収める可能がでてくる。また、自動補正によって補正したタイミングエッジが被試験デバイスの動作へ悪影響があるか否かを確認しておく必要が生じる。これを解決するために、補正により生成された中間ファイルから論理シミュレーション用にテストベンチを生成して、補正後のタイミングを反映して論理シミュレーションを再実行することで、補正前との等価性確認を行う。
【００７９】
タイミング制約違反ではない場合とステップＳＴＳ２２の次の処理として、ステップＳＴＳ２３ではパタンデータの抽出処理が行われる。
【００８０】
図１１を参照して、ステップＳＴＴ５では、GUI５７により、中間データとなる所定項目についての中間ファイル化のための定義付けが開始される。ステップＳＴＴ６において、被試験デバイスと半導体試験装置間の物理的接続定義、テストカテゴリ定義、デバイス各ピンの電源オン又はオフの電源投入シーケンス定義、デバイスの各ピンと接続するテスタのドライバユニットやコンパレータユニットの種類の定義、デバイスの各ピンのDC測定条件、デバイスの各出力ピンについての出力判定条件や判定タイミング（ストローブポイント）定義が行われる。
【００８１】
一方、ステップＳＴＴ１３に続いて、ステップＳＴＴ１４においても、ステップＳＴＴ５と同様の処理が行われる。ステップＳＴＴ１５においては、物理的接続定義、カテゴリ定義、電源投入シーケンス定義、ドライバユニット、ドライバユニット、コンパレータユニットの種類の定義、デバイスの各ピンのDC測定条件、デバイスの各出力ピンについての出力判定条件や判定タイミング（ストローブポイント）定義がなされる。ステップＳＴＴ１６ではテストフロー定義もなされる。
【００８２】
ステップＳＴＴ７では、上述したように半導体試験装置機種の選定がなされていることにより、GUI５７で定義された各要素について、ハード制約による制約チェック機能と候補選択サポート機能が有効になっている結果、制約チェックがなされ、ステップＳＴＴ１１では自動補正も行われる。デバイスの各ピンと接続するテスタのドライバユニット、コンパレータユニットの種類の定義においては、選択可能な候補のみだけが選択できるサポート機能により不必要な入力ミスがないように支援される。そして、デバイスの各ピンのＤＣ測定条件については、設定した値がハード仕様の範囲内であるかインタラクティブにチェックを行うことで入力ミスの軽減が可能となる。
【００８３】
また、ハード制約の上限値を超えた値を登録しようとした場合は、自動的に補正を行う手段により制約範囲内値に補正をかける。例えば、入力電圧などの定義範囲は、上限と下限が半導体試験装置のハード仕様制約に影響される。この範囲が-ｎ[V]〜n[V]であり、ＧＵＩ５７から入力電圧の上限値をn+α[V]として入力したとすると、制約違反となる。ここで自動補正機能が有効であれば、上限値を超えた入力は、制限値内に自動修復した値、つまりこの場合はn[V]として自動補正する。これにより人手による入力ミス以外の制約的な部分でのエラーを軽減させることが可能となる。
【００８４】
上記の物理的接続定義、電源投入シーケンス定義、ドライバユニットやコンパレータユニット定義、ＤＣ測定条件、出力判定条件や判定タイミング定義については、ピン単位に値を定義、編集する必要があるが、あらかじめピンについてのグループ定義を行うことにより、ピン単位ではなくグループ単位に定義や編集が可能になる。これにより入力効率を向上し、テストプログラムの開発工数短縮に貢献することが可能になる。
【００８５】
この制約チェックと自動補正は、図７の制約チェック部７９により行われ、基本的には制約チェック部７５と同様に、テスタ制約情報記憶部８１に記憶されて保存されているテスト制約条件との関係でなされる。
【００８６】
ステップＳＴＴ７に続くステップＳＴＴ８ではテストフローの定義がなされ、ステップＳＴＴ９ではテストプログラム生成がなされる。
【００８７】
一方、ステップＳＴＴ１７では複数機種に対するテスタ制約一括チェックがなされる。ステップＳＴＴ１８では、制約チェックが行われ、その結果に応じて、ステップＳＴＴ１９では機種指定の有無について判断され、又は、ステップＳＴＴ２０における図７の通知部８３による通知が行われる。ステップＳＴＴ１９において、機種指定がある場合にはステップＳＴＴ１に戻り、機種指定が無い場合には処理が終了する。
【００８８】
なお、上記実施の形態ではＶＣＤファイルやＨＤＬファイルを用いて示したが、スキャンATPG(Automatic  Test  Pattern  Generator)により生成されるＷＧＬファイルや、STIL(Standard  Test  Interface  Language)などのファイル形式であってもよい。
【００８９】
［被試験デバイスに対するパタン発生手法に関する項目］
被試験デバイスがメモリやレジスタファイルを含む構造であり、それらが外部端子より制御可能である場合、一般的には２次元の配列のセルをリード・ライトするテストが行われる。その場合、半導体試験装置のハードウエアの一機能を利用してテストパタンプログラムを生成する手法がある。その生成手法の一つがＡＬＰＧ(Algorithmic Pattern Generator)である。
【００９０】
ＡＬＰＧは、半導体試験のハードウエア機能の一部にあるＡＬＰＧ手段を用いて、テストベクタを不要とするものである。テストベクタが不要となるので試験装置のパタンメモリ容量が抑えられることができるという特徴がある。メモリやレジスタファイル構造は、記憶可能セル数、つまり記憶容量ビット数分だけテストを行う必要がある。１ビットでもリード・ライトができなければそれは不良品として判定されなければならない。したがって、容量の全ビットをテストするためには、最低でもワード(線)数×アクセスシーケンスに要するサイクルステップ×データパタンで求められるだけのパタンステップが必要となる。しかし、これをテストベクタとして保持するのは膨大すぎて、半導体試験装置のメモリ資源が圧迫される。よってパタンデータは、ベクタデータとしては保持せずともＡＬＰＧによりプログラマブルに生成し解消するものである。ＡＬＰＧは、テストパタンプログラム内にＡＬＰＧの専用レジスタや演算関数を用いたパタン生成のアルゴリズムが定義されておくだけで半導体試験装置のハードウエアにより所定のパタンを生成する。
【００９１】
ＡＬＰＧ機能は、ある程度の規則性をもったテストパタンを生成する場合に用いられ、デバイスの各ピンに対して規則性をもって電圧印加が行われることを意味する。またＡＬＰＧが適用されるのは、被試験デバイスのピンから制御可能なデバイスであって、特にアドレスバスやデータバスに対してはプログラマブルにパタンが発生可能である。また実際にデバイスへアクセスを行うためには、制御信号が実際のアクセスシーケンスに従った動作を行うように定義しておく必要がある。
【００９２】
図１２は、あるメモリデバイスのライトシーケンスのタイミングチャートである。また図１３は、リードシーケンスのタイミングチャートである。これら例にとれば、第１のＣＳＢＮ（チップセレクト）、第２のＲＡＳＮ（ＲＯＷアドレスストローブ）、第３のＣＡＳＮ（ＣＯＬＵＭアドレスストローブ）、第４のライトイネーブル（ライトイネーブル）、第５のＯＥＮ（アウトイネーブル）によるピンに対して操作を行うことで、被試験デバイスへのアクセスが可能になるので、最低でもこれらのピンに与える電圧印加レベルの組み合わせによるシーケンスが図１２及び図１３に従って定義される必要がある。そして、ＡＤＲ（アドレスバス）とＤＡＴＡ（データバス）に対してＡＬＰＧ機能を用いて、プログラマブルにパタンが発生することで、書き込みテストや読み出しテスト、その他リフレッシュテストなどのパタンを得ることができる。
【００９３】
ところが、従来では、上記第１のＣＳＢＮから第５のＯＥＮのほかにデバイスを制御するために必要な信号があれば、エンジニアが、それらを含めて電圧印加レベルの組み合わせとそれらのアクセスシーケンスを仕様書をもとにしてテストパタンプログラムにてＡＬＰＧ機能を用いながらコーディングしていた。各制御ピンに対するタイミングセットの定義や波形モードの定義、タイミングチャートからアクセスシーケンスの定義を行う作業は複雑となり、入力ミスは否定できない。また、同じ被試験デバイスにも複数の動作モードが存在し、それらをすべて網羅するには多くのシーケンスを定義するために、多くの工数が必要となる。また、複数のアクセスレイテンシが存在するため、それらの組み合わせまで考慮すると作業はより複雑化し開発効率が低下する。
【００９４】
そこで、この実施の形態では、被試験対象デバイスの設計段階にて、必ず論理シミュレーションで扱う、イベント型のベクタファイルなど標準化されているシミュレーション結果フォーマットファイルを用いることにする。被試験対象デバイスがメモリやレジスタファイルなどを含む構成であって、ピンから制御可能な場合、一般的には２次元の配列セルをリード・ライトしながらテストする動作なので、動作にはある程度の規則性がある。これらの規則性を上記シミュレーション結果のベクタファイルから自動で抽出し、そして抽出した情報から規則性をもつスティミュラスをデバイスアクセスの１シーケンスとしてテンプレートに保存する。これによりＡＬＰＧへ応用することが可能になる。また、上記テンプレートと半導体試験装置のＡＬＰＧ機能を用いてテストパタンプログラムを生成することが可能になる。
【００９５】
図１４は、本発明の第３の実施の形態にかかるテストパタンプログラム生成処理を示すフロー図である。
【００９６】
ここでの中間データ生成エンジンはベクタファイルからテンプレートを生成する手段を含んでいる。これはＡＬＰＧ機能を用いたテストパタンプログラムを生成するものである。この第３の実施の形態においても、第１の実施の形態又は第２の実施の形態で説明したことと同様に、ベクタファイルからの自動抽出処理、制約チェック、自動補正処理によって、ベクタファイルの情報からサイクライズを行い、制御ピンに関し波形モードの決定とタイミングセットの割り当てが行われる。入力となるベクタファイルには、被試験デバイスメモリの任意の１アドレスに対する、各種アクセスシーケンス動作、各種動作モードでの動作、各種レイテンシでの動作を含めたベクタが存在するだけでよい。つまり、被試験デバイスがｎビットの記憶素子を有していても、それらの全アドレスに対してのアクセスを行うシミュレーションを行う必要はなく、テンプレート化するための代表的な動作を任意の１アドレスに対してのみ行う。アドレスやデータのバリエーションも入力とするベクタには要求されない。アドレスとデータはテストパタンプログラム内で任意にプログラマブルに生成するからである。そして、ベクタファイルの情報から被試験デバイスに対してアクセスの意味をもつ特定のサイクルにシンボル定義が行われ、被試験デバイスに対する読み出しシーケンスと書き込みシーケンス、他にもリフレッシュシーケンスや連続書き込み、読み出しシーケンスなどを意味するパタンデータについてテンプレートを生成する。このテンプレートが用いられることにより、従来からのＡＬＰＧを用いたテストパタンプログラムで定義していた制御ピンに関するプログラムの一部を自動生成することが可能となる。以下、図面を用いてさらに説明する。
【００９７】
ステップＳＳＴ１においてデバイス仕様が決定され、ＳＳＴ２で論理設計を行う、設計した被試験デバイスがステップＳＳＴ１のデバイス仕様に沿って正しく機能しているか否かを論理検証によって確認する。ステップＳＳＴ２では論理検証で論理シミュレーションを実行し、ステップＳＳＴ３ではＶＣＤファイルが生成される。本実施の形態において、ここでの論理シミュレーションは上記に示したとおり、被試験デバイスのメモリセルの１アドレスに対してのみ、ライトシーケンスと、リードシーケンスを実施しており、ステップＳＳＴ３のＶＣＤファイルには図１２、図１３のような波形のシミュレーション結果が保存されているとする。
【００９８】
ステップＳＳＴ４においては、ベクタのサイクライズが行われる。これは第１の実施の形態である図４のステップＳ１からＳ１４と同等の処理が行われる。サイクライズの際の基準となるクロックはＣＬＫとする。ステップＳＳＴ５では波形モードとタイミングセットの抽出が行われる。この処理では第１の実施の形態である図５のＳ１５からＳ２０と同等の処理が行われる。ステップＳＳＴ６においては、テスタ機種が指定されていれば制約チェックと自動補正が行われる。この処理では第２の実施の形態を示した図９のステップＳＴＳ１から図１０のステップＳＴＳ２３と同等の処理が行われる。
【００９９】
次に、ステップＳＳＴ７では、シンボルの定義が行われる。シンボルは、ステップＳＳＴ４からステップＳＳＴ６までの処理によるサイクライズ後に、その結果から各サイクル毎にシンボルを自動で割り当てることにより、最適化される。ここではＶＣＤに図１２と図１３のシミュレーション波形結果が格納され、ＣＬＫ信号を基準にサイクライズされているので、シンボルの割り当てを図１５と図１６のように定義する。
【０１００】
次に、ステップＳＳＴ８では、ステップＳＳＴ７でシンボルの割り当てが行われた際に、最初のアイドルサイクルＩＤＬＥを基準にシーケンスが分割される。図１５と図１６がそれぞれシーケンスの切れ目であって、分割したそれぞれからテンプレートが作成されて、ステップＳＳＴ９ではそれが中間ファイルに格納される。この段階でテンプレート名は自動でアサインされる。以上からテンプレートは、タイミングセット、および各ピンの波形モードとエッジタイミング、それにレジスタアサイン用のシンボルの名を定義する図１７のピン定義ファイル、及び、ステップＳＳＴ７で自動アサインされたシンボルの定義と、定義したシンボルのサイクルにおける各ピンのレベルの組み合わせを定義する図１８のシンボル定義ファイル、さらにステップＳＳＴ８で分割したアクセスシーケンスを示す図１９と図２０のシーケンステンプレートファイルから構成され、これらがステップＳＳＴ９における中間ファイルにテンプレート群として保存される。  
【０１０１】
ステップＳＳＴ１０では、ステップＳＳＴ９で保存された中間ファイルのテンプレート群において、自動でアサインしたシンボル名やテンプレートシーケンス名が任意に変更可能とされている。テンプレート群はそれぞれが関連をもつので、修正は連携して行われる。
【０１０２】
ステップＳＳＴ１１では、ステップＳＳＴ９の中間ファイルのテンプレート群が用いられて、実際にテストパタンプログラムがコーディングされる。本実施の形態にならって生成されたＳＳＴ９における中間ファイルが無ければ、デバイス仕様とテスト仕様を参考にエンジニアが同様のテンプレート群を全てコーディングしなければならない。これに対し、本実施の形態では、テンプレートが既に存在するので、テスト項目に沿ってこれらが活用されながらプログラムが作成されることが可能である。
【０１０３】
図２１は、メモリデバイスのテストを行うにあたり、まず複数ビットに対して書き込み処理が行われ、読み出し処理によって書き込みデータ（ここではゼロ初期化）が正しく読み出せたか否かについてテストを行うテストパタンプログラムの一例である。なお、図２１中において円で囲まれた部分はエンジニアによるコーディングがなされる。
【０１０４】
まず、ステップＳＳＴ９における中間ファイルにあるテンプレート群のうち書き込みシーケンスである図１９のテンプレートが流用され、ＡＬＰＧ専用の演算子が用いられて、アドレス定義と書き込みデータ定義が行われる。テンプレート群はあくまで１アドレスに対してのアクセスされたものであるので、全アドレスを網羅して書き込みを行う必要がある。ここで、ＸＢ、ＸＣは８ビットの演算用レジスタである。ＩＸは８ビットのインデクスレジスタである。ＸＢ＜ＸＢ＋１とは加算の意味をもつ演算項でＸＢレジスタを１ずつ加算することを意味する。Ｘ＜ＸＢは図１７のピン定義ファイル内にあるＡＤＲＳピン＜Ｘ０−Ｘ７＞で示される８ビットのＡＤＲＳピンにＸＢレジスタの値を印加するという意味である。Ｄ＜ＸＤはＤＡＴＡピン＜Ｄ０−Ｄ７＞で示される８ビットのＤＡＴＡピンにＸＤレジスタの値を印加するという意味である。インデックスループ命令ＪＩＸは、命令を実行するたびにＩＸレジスタをデクリメントし、ＩＸレジスタが０以外である間は分岐成立とし、０になれば不成立する命令である。図２１の上段（前半）は書き込みルーチンを意味しており、被試験デバイスのメモリアドレス空間を０からＩＸレジスタで指定するアドレス２５５(１０進)になるまでライトシーケンスによりループ処理が行われる。
【０１０５】
また、図２１の後半の読み出しルーチンにおいても、ステップＳＳＴ９における中間ファイルにあるテンプレート群のうち読み出しシーケンスである図２０のテンプレートが流用され、ＡＬＰＧ専用の演算子が用いられて、アドレス２５５から０番地まで−１ずつ減算が行われて読み出しが行われている。ＸＥレジスタには期待値が設定され、ＸＥ＜Ｄによって期待値の比較が行われている。
【０１０６】
このようにテンプレート群が用いられ、アドレスバス部とデータバスはプログラマブルにパタンを発生させ、テスト項目にそって任意のアルゴリズムの定義が可能となる。そして、図１４のステップＳＳＴ１２に示すように、テンプレート群が活用され、ＡＬＰＧを用いたテストパタンプログラムが作成される結果、その生成は従来に比べて簡単化している。
【０１０７】
また、上記実施の形態では、生成装置と生成方法を示したが、生成方法をコンピュータにより実行可能とするプログラム、それを記録した記録媒体とした利用形態でもよい。
【０１０８】
以下、本願発明のポイントを再度記載する。
第１は、被試験デバイスの論理シミュレーションにおいて用いられるイベント型ベクタファイルフイル、またはスキャンＡＴＰＧ(Automatic Test Pattern Generator)ベクタファイルから被試験デバイスの各ピンにおけるタイミング情報の抽出を行い、サイクルベースシステムである半導体試験装置動作に合致するようにサイクライズを行って、半導体試験装置用テストプログラムとテストパタンプログラムの生成に必要な要素である被試験デバイスの各ピンに対するタイミングセット番号及びタイミングセット毎のエッジと波形モードを上記ベクタファイルからの情報のみで直接生成する手段と、生成された上記要素を保持するための手段、保持手段から上記要素を読み出して複数の半導体試験装置用の言語フォーマットに沿ったテストプログラムのソースコードとテストパタンプログラムを生成する手段を備えたことを特徴とする。
【０１０９】
第２は、上記タイミングセット番号及びタイミングセット毎のエッジと波形モードを自動生成する手段において、自動生成された波形モードとタイミングセットが、半導体試験装置のハード仕様の制約条件を満たしているか否かをチェックして通知する手段を含むことを特徴とする。
【０１１０】
第３は、上記チェック手段が複数の半導体試験装置の制約チェックを一括で行い、条件を満たす最適な機種を通知する手段を備え、又は、任意の選択した半導体試験装置の制約チェック手段を備えたことを特徴とする。
【０１１１】
第４は、上記チェック手段が、制約条件を満たしてない場合にタイミングセットを制約の範囲内に自動補正する手段を備えたことを特徴とする。
【０１１２】
第５は、上記チェック手段が、自動補正後の結果を論理シミュレーションに反映させるためのテストベンチ生成手段を備えたことを特徴とする。
【０１１３】
第６は、HDL(Hardware Description Language)より、被試験デバイスのピンの入出力属性情報および電圧と電流レベル情報を抽出する手段、またレイアウト設計情報から被試験デバイスのピンに対する名称および入出力属性および電圧と電流レベル情報を抽出する手段を備え、生成された上記要素を保持するための手段、保持手段から上記要素を読み出して複数の半導体試験装置用の言語フォーマットに沿ったテストプログラムのソースコードとテストパタンプログラムを生成する手段を備えたことを特徴とする。
【０１１４】
第７は、上記タイミングセット番号及びタイミングセット毎のエッジと波形モードを自動生成する手段において、特定の入力信号の変化点に注目しその変化点を基準にしてサイクライズを行ってサイクルレートを抽出し、それらの種類と比率に応じてタイミングセットを自動生成する処理、または特定の入力信号の変化点に関係なく時間単位のサイクライズによりタイミングセットを自動生成する処理、上記処理によりサイクライズされた各サイクルレート内での被試験デバイスピンの信号変化点を抽出して波形モードを自動生成する処理を特徴とする。
【０１１５】
第８は、上記半導体試験装置のテストプログラムとテストパタンプログラムの生成に必要な要素以外を保持手段への入力と編集を行うためのグラフィカルユーザーインタフェース（以降ＧＵＩとする）手段を備え、ＧＵＩから被試験デバイスのピンに対する属性グループを任意に定義可能とする手段と、定義済みの任意グループ毎に半導体試験装置用テストプログラムとテストパタン生成に必要な要素を入力あるいは編集可能とした手段を含むことを特徴とする。
【０１１６】
第９は、上記ＧＵＩ手段において入力および編集される情報が半導体試験装置のハード仕様の制約条件を満たしているか否かをチェックして通知する手段、入力すべき要素が半導体試験装置に依存して候補が限定されている項目は、あらかじめ該当候補の中からしか選択できないようにさせる手段を備えたことを特徴とする。
【０１１７】
第１０は、上記チェック手段には、複数の半導体試験装置の制約チェックを一括で行い、条件を満たす最適な機種を通知する手段、および任意の選択した半導体試験装置の制約チェック手段を備えたことを特徴とする。
【０１１８】
第１１は、上記チェック手段は制約条件を満たしてない場合に入力された値を制約の範囲内に自動補正する手段を備え、自動補正後の結果を通知する手段を備える。
【０１１９】
第１２は、論理シミュレーションにおいて用いられるイベント型ベクタファイルから被試験デバイスの所定動作のサイクル間においてサイクライズとタイミングセットおよび波形モードの自動生成を行い、サイクライズ後の各サイクルにおいて被試験デバイスに対する一連のスティミュラスをパタンテンプレート化する手段と、そのテンプレートを基にしてアドレスピンとデータピンに対してはプログラマブルにデータを生成し、診断用パタンプログラムを生成する手段を備えたことを特徴とする。
【０１２０】
第１３は、上記被試験デバイスに対するアクセスフローをパタンテンプレート化する手段と、そのテンプレートを基にしてアドレスピンとデータピンに対してプログラマブルにデータを生成し、診断用テストパタンプログラムを生成する手段において、テンプレートは被試験デバイスを制御するための特定のピンについてサイクライズされたサイクル毎の入力印加パタン情報をベクタファイルから抽出して生成する処理と、同サイクルでのアドレスピンとデータピンに印加するためのデータはプログラマブルに発生させ、それらを特定のアルゴリズムによって連続して生成させる処理を行うような組み合わせパタンを生成する処理を特徴とする。
【０１２１】
以下、上記本願発明のポイントに伴う効果をまとめる。
[被試験デバイスのピンの名称、入出力属性定義、波形モード定義、サイクル幅、信号変化タイミングの定義、タイミンググループ定義、電圧と電流レベル定義に関する項目]
これらのシミュレーション情報、設計情報、レイアウト情報は標準化された仕様になったフォーマットに基づいて出力されるため、必要要素を自動抽出する上記手段、抽出した要素をそれぞれ保持格納手段、各要素が各半導体試験装置のハード仕様制約を満たしているかのチェックをする手段、それらの要素から複数の半導体試験装置のプログラム言語を生成する手段により最終的にテストアプリケーションが生成される。そのため、人手を介さずに短時間にプログラムが生成でき、自動化により再生成が容易になる。また、プログラムのコーディングを行う必要がなく、言語の知識がなくともアプリケーションの一部を開発できる。さらに、入力ミスの軽減により品質を確保できる。自動生成により可読性の高いプログラムを生成することが可能になりデバッグ編集が容易となる。また、第三者が見ても理解できるように統一された記述になる。ターゲット機種が選定されていれば、各要素を抽出した時点で、半導体試験装置のハード仕様制約を満たすか否かチェックを行うので、ミスや誤りを早期に検出してＴＡＴを短縮することができ、開発効率を向上させることができる。さらに、ハード制約を満たしてない場合でも、丸め処理などにより補正可能な範囲で自動補正することで、開発をアシストして効率向上させることができる。そして、ターゲット機種を選定していない場合は、複数機種について一括同時チェックを行うことで、機種選択の指標を得ることが可能になる。
【０１２２】
[被試験デバイスのピンの名称、入出力属性定義、波形モード定義、サイクル幅、信号変化タイミングの定義、タイミンググループ定義、電圧と電流レベル定義以外に関する項目]
テストプログラムを生成するために必要なここでの要素を定義するためのＧＵＩ手段、被試験デバイスのピンを特定要素毎にグループ化することにより、必要要素の入力や編集がグループ単位に行える手段、各要素が各半導体試験装置のハード仕様制約を満たしているかのチェックをインタラクティブに行う手段により最終的にテストアプリケーションが生成される。そのため、グループ単位での要素定義・編集により、情報の入力効率を向上させ、全体の開発効率向上へ貢献できる。また、プログラムのコーディングを行う必要がなく、言語の知識がなくともアプリケーションの一部を開発できる。さらに、自動生成により可読性の高いプログラムを生成することが可能になりデバッグ編集が容易である。第三者が見ても理解できるように統一された記述になる。各要素を生成した時点で半導体試験装置のハード仕様制約を満たすか否かチェックを行うので、ミスや誤りを早期に検出してＴＡＴを短縮することができ、開発効率を向上させることもできる。さらに、ハード制約で入力要素や範囲が限定される項目については、ＧＵＩから選択方式により自由度を限定してアシストすることにより、入力ミスを減少させることができる。そして、ハード制約を満たしていない場合でも、自動補正機能により入力値を制約の範囲内で補正することで開発をアシストして効率向上させることができる。
【０１２３】
[被試験デバイスに対するパタン発生手法に関する項目]
テストパタンプログラム特にＡＬＰＧを用いた特定の規則性のあるようなパタンを生成する場合に、シミュレーション情報から被試験デバイスの制御信号の動作をテンプレートとして生成する手段、テンプレートとＡＬＰＧ機能を用いてテストプログラムを生成する手段により最終的にテストパタンプログラムが生成される。そのため、制御信号のパタンを手作業で生成する必要がなく短期間に開発できる。また、シミュレーションの動作を反映することになるのでミスを軽減できる。さらに、自動化することで、再構築が容易となる。
【図面の簡単な説明】
【０１２４】
【図１】本発明の第１の実施の形態にかかる生成装置の概略ブロック図である。
【図２】機種Ａのテストアプリケーション言語のフォーマットの一例である。
【図３】図２の機種Aとは異なるプログラム言語が必要とされる機種Bのテストアプリケーション言語のフォーマットの一例である。
【図４】図１の中間データ生成エンジンの動作を説明する図であってサイクライズ処理を説明するための第１の図である。
【図５】図１の中間データ生成エンジンの動作を説明する図であってサイクライズ処理を説明するための第２の図である。
【図６】GUIの動作処理を主に説明するための図である。
【図７】本発明の第２の実施の形態にかかる生成装置の概略ブロック図である。
【図８】図７の生成装置の主要な動作を説明するためのフロー図である。
【図９】図７の生成装置の場合における図４の処理に続く処理を示すフロー図である。
【図１０】図７の生成装置の場合における図９の処理に続く処理を示すフロー図である。
【図１１】図７の生成装置の場合におけるGUIの動作処理をも示したフロー図である。
【図１２】ライトシーケンスによるメモリデバイスのタイミングチャートの一例を示す図である。
【図１３】リードシーケンスによるメモリデバイスのタイミングチャートの一例を示す図である。
【図１４】本発明の第３の実施の形態にかかるテストパタンプログラム生成処理を示すフロー図である。
【図１５】ライトシーケンスにおけるシンボルを定義した一例を示す図である。
【図１６】リードシーケンスにおけるシンボルを定義した一例を示す図である。
【図１７】テンプレート群におけるピンの定義ファイルの一例を示す図である。
【図１８】テンプレート群におけるシンボルの定義ファイルの一例を示す図である。
【図１９】テンプレート群におけるシーケンステンプレートの第１の例を示す図である。
【図２０】テンプレート群におけるシーケンステンプレートの第２の例を示す図である。
【図２１】メモリデバイスのテストを行うにあたり、まず複数ビットに対して書き込み処理が行われ、読み出し処理によって書き込みデータ（ここではゼロ初期化）が正しく読み出せたか否かについてテストを行うテストパタンプログラムの一例を示す図である。
【図２２】エッジアラインの処理を説明するための図である。
【図２３】パタンスケジューリングを説明するための図である。
【図２４】従来の半導体試験装置用テストプログラム生成システムの概略ブロック図である。
【符号の説明】
【０１２５】
５１、７３  生成装置
５３  中間データ生成エンジン
【図１】
2006030169.tif 000003
【図２】
2006030169.tif 000004
【図３】
2006030169.tif 000005
【図４】
2006030169.tif 000006
【図５】
2006030169.tif 000007
【図６】
2006030169.tif 000008
【図７】
2006030169.tif 000009
【図８】
2006030169.tif 000010
【図９】
2006030169.tif 000011
【図１０】
2006030169.tif 000012
【図１１】
2006030169.tif 000013
【図１２】
2006030169.tif 000014
【図１３】
2006030169.tif 000015
【図１４】
2006030169.tif 000016
【図１５】
2006030169.tif 000017
【図１６】
2006030169.tif 000018
【図１７】
2006030169.tif 000019
【図１８】
2006030169.tif 000020
【図１９】
2006030169.tif 000021
【図２０】
2006030169.tif 000022
【図２１】
2006030169.tif 000023
【図２２】
2006030169.tif 000024
【図２３】
2006030169.tif 000025
【図２４】
2006030169.tif 000026