(57)【要約】【課題】デバイス試験用のプログラムをワーク・ステーションＷＳ上若しくはテスタプロセッサＴＰ上において実行するテスト・プラン・プログラムの実行速度を、高速化することが可能な半導体試験装置のＴＤＬ機械語プログラム生成装置を提供する。【解決手段】被試験デバイスを所定に試験するＴＤＬに基づくテスト・プラン・プログラムＴＰＰを作成し、作成されたテスト・プラン・プログラムＴＰＰを総合開発環境を備えるワーク・ステーションＷＳ上にて評価／デバックする半導体試験装置のＴＤＬ機械語プログラム生成装置であって、ワーク・ステーションＷＳにＴＤＬプログラム・ファイルＴＤＬＰＦと、中間コード翻訳手段と、ＴＤＬ中間コードＴＤＬＭＣと、第１機械語変換手段と、第１アセンブラコンパイラと、シミュレータとを備える半導体試験装置のＴＤＬ機械語プログラム生成装置。【選択図】        図７
2004192315.tif 000002
【特許請求の範囲】
【請求項１】
被試験デバイス（ＤＵＴ）を所定に試験するＴＤＬ（テスト記述言語）に基づくテスト・プラン・プログラムＴＰＰを作成し、作成されたテスト・プラン・プログラムＴＰＰを総合開発環境を備えるワーク・ステーションＷＳ上にて評価／デバックする半導体試験装置のＴＤＬ機械語プログラム生成装置であって、当該ワーク・ステーションＷＳにＴＤＬプログラム・ファイルＴＤＬＰＦと、中間コード翻訳手段と、ＴＤＬ中間コードＴＤＬＭＣと、第１機械語変換手段と、第１アセンブラコンパイラと、シミュレータとを備え、
該ＴＤＬプログラム・ファイルＴＤＬＰＦはＣＰＵ上へロードして実行するプログラムであり、ユーザが作成するＤＵＴ試験用プログラムの評価／デバック用のソースファイルであり、
該中間コード翻訳手段は該ＴＤＬプログラム・ファイルＴＤＬＰＦを受けて、ＣＰＵの種類に依存しないインタプリタ型のＴＤＬ中間コードＴＤＬＭＣを生成して出力するものであり、
該ＴＤＬ中間コードＴＤＬＭＣはプロセッサの種類に依存しないスタック処理形態の中間コードであって、ＷＳ内コンピュータが受けて逐次に解釈実行可能なものであり、
該第１機械語変換手段は該ＴＤＬ中間コードＴＤＬＭＣを受けて、該ＴＤＬ中間コードＴＤＬＭＣと同一の処理動作が行えるように変換し、且つＷＳ内コンピュータに対応するアセンブラ言語のニモニックとする第１アセンブラ言語ソースファイルを生成して出力するものであり、
該第１アセンブラコンパイラは該第１アセンブラ言語ソースファイルを受けてコンパイルして、ＷＳ内コンピュータで実行可能な第１機械語コードを生成して出力するものであり、
該シミュレータはＷＳ内コンピュータと第１機械語直接実行手段とハードウエアエミュレータとを備え、
該第１機械語直接実行手段は該第１機械語コードとリンクして動作する他の該ハードウエアエミュレータ及びその他のソフトウエアと連携しながら、ワーク・ステーションＷＳ上の総合開発環境の管理下の基で、該第１機械語コードを受けて、ＷＳ内コンピュータであるＣＰＵのプログラムメモリ上へロードして当該ＣＰＵの機械語コードとして直接実行するものであり、
該ハードウエアエミュレータはワーク・ステーションＷＳ上の総合開発環境の管理下の基で、半導体試験装置が備える機能要素を擬似的にエミュレートできるように該第１機械語コードとソフト的にインタフェースするものであり、
以上を具備することを特徴とする半導体試験装置のＴＤＬ機械語プログラム生成装置。
【請求項２】
被試験デバイス（ＤＵＴ）を所定に試験するＴＤＬ（テスト記述言語）に基づくテスト・プラン・プログラムＴＰＰを作成し、作成されたテスト・プラン・プログラムＴＰＰに基づいて半導体試験装置本体側のＤＵＴを試験実施する半導体試験装置のＴＤＬ機械語プログラム生成装置であって、当該ワーク・ステーションＷＳにＴＤＬプログラム・ファイルＴＤＬＰＦと、中間コード翻訳手段と、ＴＤＬ中間コードＴＤＬＭＣと、第２機械語変換手段と、第２アセンブラコンパイラと、ハードリソースとを備え、
該ＴＤＬプログラム・ファイルＴＤＬＰＦは半導体試験装置本体側のＣＰＵ上へロードして実行するプログラムであり、ユーザが作成するＤＵＴ試験実行用のソースファイルであり、
該中間コード翻訳手段は該ＴＤＬプログラム・ファイルＴＤＬＰＦを受けて、ＣＰＵの種類に依存しないインタプリタ型のＴＤＬ中間コードＴＤＬＭＣを生成して出力するものであり、
該ＴＤＬ中間コードＴＤＬＭＣはプロセッサの種類に依存しないスタック処理形態の中間コードであって、半導体試験装置本体側のＣＰＵが受けて逐次に解釈実行可能なものであり、
該第２機械語変換手段は該ＴＤＬ中間コードＴＤＬＭＣを受けて、該ＴＤＬ中間コードＴＤＬＭＣと同一の処理動作が行えるように変換し、且つ半導体試験装置本体側のＣＰＵに対応するアセンブラ言語のニモニックとする第２アセンブラ言語ソースファイルを生成して出力するものであり、
該第２アセンブラコンパイラは該第２アセンブラ言語ソースファイルを受けてコンパイルして、半導体試験装置本体側のＣＰＵで実行可能な第２機械語コードを生成して出力するものであり、
該第２機械語直接実行手段は該第２機械語コードとリンクして動作する他のソフトウエアと連携しながら、半導体試験装置本体側のＣＰＵの管理下の基で、該第２機械語コードを受けて、当該ＣＰＵのプログラムメモリ上へロードして当該ＣＰＵの機械語コードとして直接実行するものであり、
該ハードリソースはＤＵＴを試験実施するために半導体試験装置が備える機能要素であり、該第２機械語コードとハード的にインタフェースするものであり、
以上を具備することを特徴とする半導体試験装置のＴＤＬ機械語プログラム生成装置。
【請求項３】
請求項１記載の構成手段と、
請求項２記載の構成手段と、
を備えることを特徴とする半導体試験装置のＴＤＬ機械語プログラム生成装置。
【請求項４】
第１機械語変換手段若しくは該第２機械語変換手段は、該ＴＤＬ中間コードＴＤＬＭＣを受けて実行環境のＣＰＵに対応したアセンブラ言語のニモニックで記述されたアセンブラ言語ソースファイルを生成して出力するものであって、
該ＴＤＬ中間コードＴＤＬＭＣの中間コードの単位毎に対して、１：１に対応する単一若しくは複数のアセンブラニモニックに変換して出力し、
該ＴＤＬ中間コードＴＤＬＭＣが演算用に使用するスタックメモリを当該ＣＰＵ内のレジスタに置き換えるように変更し、且つ当該ＣＰＵに対応するアセンブラニモニックを生成して出力する、ことを特徴とする請求項１又は２記載の半導体試験装置のＴＤＬ機械語プログラム生成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、半導体試験装置のワーク・ステーションＷＳ上で作成するデバイス試験用のプログラムのデバック等でエミュレーション実行するときの実行速度の高速化と、半導体試験装置の本体側に備えるテスタプロセッサＴＰ側で実行するデバイス試験用のプログラムの実行速度の高速化に関する。特に、ＣＰＵ上で実行するデバイス試験用のプログラムであるインタプリタ形態のテスト・プラン・プログラムの実行速度を高速化できる半導体試験装置のＴＤＬ機械語プログラム生成装置に関する。
【０００２】
【従来の技術】
【０００３】
【特許文献１】
特開平１０−３２０２２９号公報（図２）
【０００４】
本願に関連する特開平１０−３２０２２９号公報では、半導体試験装置に用いるエミュレータの提供であって、このエミュレータによって試験のためのプログラムの開発やデバッグを、半導体部品に対する試験信号の印加や結果としての信号の評価等、具体的な試験レベルで行うことができる。即ち、試験プログラムの作成やその動作確認等の実施を、実際のハードウェァである半導体試験装置を使用しないで行うことができるエミュレータである。
【０００５】
次に、図１はＴＤＬプログラム・ファイルＴＤＬＰＦをＴＤＬ中間コードとして翻訳生成し、これを順次解釈実行する従来の概念構成図である。ここで、ＴＤＬとはTest Description Language（テスト記述言語）の略である。
ＴＤＬ中間コードの解釈実行には２形態がある。第１形態はプログラムの検証等を目的とする場合であり、ワーク・ステーションＷＳ側のＣＰＵ上で順次解釈実行する形態である。第２形態は実際に被試験デバイス（ＤＵＴ）を試験実行する場合であり、半導体試験装置側のＣＰＵ上で順次解釈実行する形態である。
【０００６】
図１に示す構成要素はワーク・ステーションＷＳ側においては、ＴＤＬプログラム・ファイルＴＤＬＰＦと、中間コード翻訳手段（翻訳）２０と、ＴＤＬ中間コードＴＤＬＭＣと、シミュレータ３０とがある。前記シミュレータ３０内にはＷＳ内コンピュータＣＰＵ１と、第１ＴＤＬインタプリタ１１と、ハードウエアエミュレータ３５とがある。ワーク・ステーションＷＳは汎用プロセッサであるＣＰＵ１により動作する。
ここで、ＷＳ上には、半導体試験装置専用の総合開発環境である例えばビューポイント（View Point）と呼ばれる開発環境を備えている。装置本体側とはネットワークで接続されていて、ＤＵＴ試験の全体を制御管理もしている。
更に、総合開発環境であるビューポイントは、実際に半導体試験装置を使用するテスティング・モードと、ソフトウエアのシミュレータを使用するエミュレーション・モードとを備えている。前記エミュレーション・モードの場合にはＷＳ上で、実際の半導体試験装置でＤＵＴを試験する為に必要となる試験プログラムの開発とデバッグ作業が可能となっている。例えば、ＤＵＴへ印加すべき試験信号を擬似的に印加して評価・デバックすることができ、試験レベルでのエミュレーションが可能である。
【０００７】
一方、半導体試験装置の装置本体側においては、テスタプロセッサＴＰと、第２ＴＤＬインタプリタ１２と、ハードリソースと、被試験デバイスＤＵＴとがある。装置本体側は汎用プロセッサ又は専用プロセッサを適用したテスタプロセッサＴＰにより動作する。
【０００８】
本願におけるＴＤＬプログラム・ファイルＴＤＬＰＦは、テスト・プラン・プログラムＴＰＰに該当する部分であり、ユーザが作成するＣ＋＋言語を基本とした記述形態のソースファイルである。前記テスト・プラン・プログラムＴＰＰはＣＰＵ上へロードしてＴＤＬインタプリタＴＤＬＩを介してインタプリタ型（順次解釈実行型）で実行するプログラムである。尚、ユーザが作成するＴＤＬプログラム・ファイルＴＤＬＰＦにはテスト・プラン・プログラムＴＰＰ、パターンファイル、ソケットプログラム、その他がある。
【０００９】
中間コード翻訳手段（翻訳）２０は、テスト・プラン・プログラムＴＰＰと他のリンクすべきプログラムを受けて、ＣＰＵの種類に依存しないインタプリタ型のＴＤＬ中間コードＴＤＬＭＣを生成する。
【００１０】
生成されたＴＤＬ中間コードＴＤＬＭＣは、プロセッサの種類に依存しないスタック処理形態の中間コードであって、シミュレータ３０内の仮想マシンである第１ＴＤＬインタプリタ１１へ供給されてＷＳ側で疑似的に解釈実行できる。また、最終的には装置本体側の仮想マシンである第２ＴＤＬインタプリタ１２へ供給されてＤＵＴが試験される。
【００１１】
第１ＴＤＬインタプリタ１１は、ＷＳ内コンピュータＣＰＵ１で順次解釈実行するスタック処理形態のＣＰＵ種類に依存しない仮想マシーンであって、上記ＴＤＬ中間コードＴＤＬＭＣが記憶装置（図示なし）からＣＰＵのメモリ上へロードされた後、中間コードのコード値がどのような命令であるかを逐次解釈し、解釈結果に基づいて、メモリ上のスタックレジスタを対象として演算操作を所定に実施する。これを順次連続的に行うことにより、ＴＤＬ中間コードＴＤＬＭＣが処理されていく。
上記実行に連携するハードウエアエミュレータ３５との間で擬似的に信号授受が行われて仮想的なエミュレーション実行が行われる。これによれば、ＴＤＬ中間コードを解釈実行して動作途中の任意の印加波形やタイミングを画面表示させたりすることができる。従って、作成したプログラムの正当性や設計ミスの有無やデバッグが容易にできる。しかし、第１ＴＤＬインタプリタ１１を仲介させることでＣＰＵの機械語による処理速度に比べて１〜数十分の１の低速な解釈実行処理となってしまう難点がある。これに伴い、テスト・プラン・プログラムＴＰＰの評価時間やデバック時間が多くかかる難点が生じる。
【００１２】
ハードウエアエミュレータ３５は、半導体試験装置が備える機能要素を擬似的にエミュレートするソフトウエアであって、例えば、パターン発生器、波形整形器、ピンエレクトロニクス、コンパレータ、フェールメモリ、ＤＣ測定装置、その他をエミュレートする。また、ＤＵＴもエミュレート対象とする場合もある。
【００１３】
第２ＴＤＬインタプリタ１２は、半導体試験装置専用のテスタプロセッサＴＰに対応したインタープリタであり、上記第１ＴＤＬインタプリタ１１と同等に、装置本体側のテスタプロセッサＴＰで順次解釈実行するスタック処理形態のＣＰＵ種類に依存しない仮想マシーンである。これに基づきハードリソースを制御し、ハードリソースを介してＤＵＴとの信号授受が行われてデバイス試験が行われる。しかし、第２ＴＤＬインタプリタ１２を仲介させることでＣＰＵの機械語による処理速度に比べて数十分の１の低速な解釈実行処理となってしまう難点がある。これに伴い、デバイス試験のスループットが低下してしまう難点を生じる。
【００１４】
ハードリソースは半導体試験装置が備える要素であって、パターン発生器、波形整形器、ピンエレクトロニクス、コンパレータ、フェールメモリ、ＤＣ測定装置、その他がある。
【００１５】
次に、図２はＴＤＬソースファイルの部分的な簡明な２行の記述に対応するＴＤＬ中間コードの具体例である。図２Ａでは変数ｉ、ｊを使用し、ｆｏｒ文により１０００回ループするプログラム例であり、図２Ｂは翻訳結果の中間コード例である。この具体例を説明する。
【００１６】
ＴＤＬ中間言語は、図２Ｂで示すようなＣＰＵの種類に依存しない中間コードに変換される。この中間コードは、スタックマシン形態で動作する中間コードであり、ＷＳ上のビューポイント内に備える仮想マシーンの第１ＴＤＬインタプリタ１１で解釈実行できる。スタックマシーンとして動作する為、演算や操作の対象となる変数や値は、一度スタックに詰まれた後、スタックメモリ間での演算操作により順次処理が行われていく。また、中間コードを読み出して命令の種類を解釈するまでの処理時間もかかる。
【００１７】
図２Ｂにおいて、行番号１〜２７に展開された中間コードを説明する。
最初の１〜４行目の「for 文 の i = 0; 実行」では，変数ｉ＝０をセットする手順である。
１行目：スタック上にｉへのアドレスを詰む。
２行目：ｉを初期化する為の定数０をさらにスタック上に確保する。
３行目：ｉの領域に定数０の値を代入する。
４行目：ｉへのアドレスと定数０を、スタック上から廃棄する。
次の５〜１１行目の「for 文 の i ＜ 1000; 比較」ではｉ＜１０００の比較手順である。
５行目：この式の比較結果を格納する領域をスタック上に確保する。
６行目：定数の１０００をスタックに詰む。
７行目：ｉのアドレスをスタックに詰む。
８行目：ｉの値をスタックにコピーする。
９行目：ｉのコピーした値と、定数１０００の比較を行う。結果を５行目で確保した領域に格納する。
９行目の実行が終わった時点での、スタックイメージは図３に示すように、「ｉの値」「１０００」「 i ＜ 1000の比較結果」とがスタックメモリ上に存在する。
１０行目：ｉの値とスタックと比較結果を格納した場所を、スタックから廃棄する。廃棄はするが、比較結果はそのまま読む事はできる。
１１行目：比較結果の真偽を確認し、真なら引き続き実行を行う。偽なら、２７行目にジャンプする。
以後の１２〜２０行目の「j = j + 1; の実行」の手順と、２１〜２７行目の「for 文 の i ++ の実行」の手順についても、上述説明のスタックメモリとの演算操作によって、各行の中間コードが順次解釈実行されていく。
【００１８】
【発明が解決しようとする課題】
上述した従来構成によれば、当該ＣＰＵに対応した第１ＴＤＬインタプリタ１１や第２ＴＤＬインタプリタ１２を備えることで、同一のＴＤＬ中間コードＴＤＬＭＣを順次解釈実行できる。しかしながら、第１ＴＤＬインタプリタ１１や第２ＴＤＬインタプリタ１２を仲介させることに伴って、ＣＰＵが本来備えている機械語による処理速度に比べて数十分の１の低速な実行速度となってしまう難点がある。これに伴い、第１に、作成したテスト・プラン・プログラムＴＰＰの評価やデバックに多くの時間がかかる難点が生じる。第２に、実際のデバイス試験において、デバイス試験のスループットが低下してしまう難点を生じる。
そこで、本発明が解決しようとする課題は、デバイス試験用のプログラムをワーク・ステーションＷＳ上若しくはテスタプロセッサＴＰ上において実行するテスト・プラン・プログラムの実行速度を、高速化することが可能な半導体試験装置のＴＤＬ機械語プログラム生成装置を提供することである。
【００１９】
【課題を解決するための手段】
第１の解決手段を示す。ここで第７図は、本発明に係る解決手段を示している。
上記課題を解決するために、被試験デバイス（ＤＵＴ）を所定に試験するＴＤＬ（テスト記述言語）に基づくテスト・プラン・プログラムＴＰＰを作成し、作成されたテスト・プラン・プログラムＴＰＰを総合開発環境を備えるワーク・ステーションＷＳ上にて評価／デバックする半導体試験装置のＴＤＬ機械語プログラム生成装置であって、当該ワーク・ステーションＷＳにＴＤＬプログラム・ファイルＴＤＬＰＦと、中間コード翻訳手段２０と、ＴＤＬ中間コードＴＤＬＭＣと、第１機械語変換手段５１と、第１アセンブラコンパイラ６１と、シミュレータ３０とを備え、
上記ＴＤＬプログラム・ファイルＴＤＬＰＦはＣＰＵ上へロードして実行するプログラムであり、ユーザが作成するＤＵＴ試験用プログラムの評価／デバック用のソースファイルであり、
上記中間コード翻訳手段２０は上記ＴＤＬプログラム・ファイルＴＤＬＰＦを受けて、ＣＰＵの種類に依存しないインタプリタ型のＴＤＬ中間コードＴＤＬＭＣを生成して出力するものであり、
上記ＴＤＬ中間コードＴＤＬＭＣはプロセッサの種類に依存しないスタック処理形態の中間コードであって、ＷＳ内コンピュータＣＰＵ１が受けて逐次に解釈実行可能なものであり、
上記第１機械語変換手段５１は上記ＴＤＬ中間コードＴＤＬＭＣを受けて、上記ＴＤＬ中間コードＴＤＬＭＣと同一の処理動作が行えるように変換し、且つＷＳ内コンピュータＣＰＵ１に対応するアセンブラ言語のニモニックとする第１アセンブラ言語ソースファイル５１ｆを生成して出力するものであり、
上記第１アセンブラコンパイラ６１はＷＳ内コンピュータＣＰＵ１に対応した既存のアセンブラ用のコンパイラであって、上記第１アセンブラ言語ソースファイル５１ｆを受けてコンパイルして、ＷＳ内コンピュータＣＰＵ１で実行可能な第１機械語コードＭＣ１を生成して出力するものであり、
上記シミュレータ３０ｂはＷＳ内コンピュータＣＰＵ１と第１機械語直接実行手段７１とハードウエアエミュレータ３５とを備え、
上記第１機械語直接実行手段７１は上記第１機械語コードＭＣ１とリンクして動作する他の上記ハードウエアエミュレータ３５及びその他のソフトウエアと連携しながら、ワーク・ステーションＷＳ上の総合開発環境の管理下の基で、上記第１機械語コードＭＣ１を受けて、ＷＳ内コンピュータＣＰＵ１であるＣＰＵのプログラムメモリ上へロードして当該ＣＰＵの機械語コードとして直接実行するものであり、
上記ハードウエアエミュレータ３５はワーク・ステーションＷＳ上の総合開発環境の管理下の基で、半導体試験装置が備える機能要素（パターン発生器、波形整形器、ピンエレクトロニクス、コンパレータ、フェールメモリ、ＤＣ測定装置等）を擬似的にエミュレートできるように上記第１機械語コードＭＣ１とソフト的にインタフェースするものであり、
以上を具備することを特徴とする半導体試験装置のＴＤＬ機械語プログラム生成装置である。
【００２０】
次に、第２の解決手段を示す。
被試験デバイス（ＤＵＴ）を所定に試験するＴＤＬ（テスト記述言語）に基づくテスト・プラン・プログラムＴＰＰを作成し、作成されたテスト・プラン・プログラムＴＰＰに基づいて半導体試験装置本体側のＤＵＴを試験実施する半導体試験装置のＴＤＬ機械語プログラム生成装置であって、当該ワーク・ステーションＷＳにＴＤＬプログラム・ファイルＴＤＬＰＦと、中間コード翻訳手段２０と、ＴＤＬ中間コードＴＤＬＭＣと、第２機械語変換手段５２と、第２アセンブラコンパイラ６２と、ハードリソースとを備え、
上記ＴＤＬプログラム・ファイルＴＤＬＰＦは半導体試験装置本体側のＣＰＵ上へロードして実行するプログラムであり、ユーザが作成するＤＵＴ試験実行用のソースファイルであり、
上記中間コード翻訳手段２０は上記ＴＤＬプログラム・ファイルＴＤＬＰＦを受けて、ＣＰＵの種類に依存しないインタプリタ型のＴＤＬ中間コードＴＤＬＭＣを生成して出力するものであり、
上記ＴＤＬ中間コードＴＤＬＭＣはプロセッサの種類に依存しないスタック処理形態の中間コードであって、半導体試験装置本体側のＣＰＵが受けて逐次に解釈実行可能なものであり、
上記第２機械語変換手段５２は上記ＴＤＬ中間コードＴＤＬＭＣを受けて、上記ＴＤＬ中間コードＴＤＬＭＣと同一の処理動作が行えるように変換し、且つ半導体試験装置本体側のＣＰＵに対応するアセンブラ言語のニモニックとする第２アセンブラ言語ソースファイル５２ｆを生成して出力するものであり、
上記第２アセンブラコンパイラ６２は上記第２アセンブラ言語ソースファイル５２ｆを受けてコンパイルして、半導体試験装置本体側のＣＰＵで実行可能な第２機械語コードＭＣ２を生成して出力するものであり、
上記第２機械語直接実行手段７２は上記第２機械語コードＭＣ２とリンクして動作する他のソフトウエアと連携しながら、半導体試験装置本体側のＣＰＵの管理下の基で、上記第２機械語コードＭＣ２を受けて、当該ＣＰＵのプログラムメモリ上へロードして当該ＣＰＵの機械語コードとして直接実行するものであり、
上記ハードリソースはＤＵＴを試験実施するために半導体試験装置が備える機能要素（パターン発生器、波形整形器、ピンエレクトロニクス、コンパレータ、フェールメモリ、ＤＣ測定装置等）であり、上記第２機械語コードＭＣ２とハード的にインタフェースするものであり、
以上を具備することを特徴とする半導体試験装置のＴＤＬ機械語プログラム生成装置がある。
【００２１】
次に、第３の解決手段を示す。ここで第４図は、本発明に係る解決手段を示している。
上述第１の解決手段を具備し、
上述第２の解決手段を具備し、
以上を備えて、ワーク・ステーションＷＳ上にてテスト・プラン・プログラムＴＰＰを評価／デバックし、完成したテスト・プラン・プログラムＴＰＰに基づいて実際のＤＵＴを試験実施することを特徴とする半導体試験装置のＴＤＬ機械語プログラム生成装置がある。
【００２２】
次に、第４の解決手段を示す。ここで第５図と第６図は、本発明に係る解決手段を示している。
上記課題を解決するために、第１機械語変換手段５１若しくは上記第２機械語変換手段５２は、上記ＴＤＬ中間コードＴＤＬＭＣを受けて実行環境のＣＰＵに対応したアセンブラ言語のニモニックで記述されたアセンブラ言語ソースファイル５１ｆ、５２ｆを生成して出力するものであって、
上記ＴＤＬ中間コードＴＤＬＭＣの中間コードの単位毎に対して、１：１に対応する単一若しくは複数のアセンブラニモニックに変換して出力し、
上記ＴＤＬ中間コードＴＤＬＭＣが演算用に使用するスタックメモリを当該ＣＰＵ内のレジスタに置き換えるように変更し、且つ当該ＣＰＵに対応するアセンブラニモニックを生成して出力する、ことを特徴とする上述半導体試験装置のＴＤＬ機械語プログラム生成装置がある。
【００２３】
【発明の実施の形態】
以下に本発明を適用した実施の形態の一例を図面を参照しながら説明する。また、以下の実施の形態の説明内容によって特許請求の範囲を限定するものではないし、更に、実施の形態で説明されている要素や接続関係等が解決手段に必須であるとは限らない。更に、実施の形態で説明されている要素や接続関係等の形容／形態は、一例でありその形容／形態内容のみに限定するものではない。
【００２４】
本発明について、図４〜図８を参照して以下に説明する。尚、従来構成に対応する要素は同一符号を付し、また重複する部位の説明は省略する。
【００２５】
図４はＴＤＬ中間コードをＴＤＬ機械語コードに変換して実行する概念構成例である。この構成要素は、ワーク・ステーションＷＳ側においては、ＴＤＬプログラム・ファイルＴＤＬＰＦと、中間コード翻訳手段２０と、ＴＤＬ中間コードＴＤＬＭＣと、第１機械語変換手段５１と、第２機械語変換手段５２と、ＣＰＵ１対応のアセンブラコンパイラ６１と、ＴＰ対応のアセンブラコンパイラ６２と、第１機械語コードＭＣ１と、第２機械語コードＭＣ２と、シミュレータ３０ｂとである。前記シミュレータ３０ｂ内にはＷＳ内コンピュータＣＰＵ１と、第１機械語直接実行手段７１と、ハードウエアエミュレータ３５とがある。装置本体側においては、テスタプロセッサＴＰと、第２機械語直接実行手段７２と、ハードリソースと、被試験デバイスＤＵＴとがある。
【００２６】
追加又は変更した構成要素について以下に説明する。
第１機械語変換手段５１は、図２Ｂに示すＴＤＬ中間コードＴＤＬＭＣを受けてＷＳ内コンピュータＣＰＵ１に対応したアセンブラ言語のニモニックで記述された第１アセンブラ言語ソースファイル５１ｆ（図５、図６参照）を生成するものである。尚、図５、図６の説明については後述する。
第２機械語変換手段５２は、図２Ｂに示すＴＤＬ中間コードＴＤＬＭＣを受けて装置本体側のテスタプロセッサＴＰに対応したアセンブラ言語のニモニックで記述された第２アセンブラ言語ソースファイル５２ｆを生成するものである。尚、ＷＳ内コンピュータＣＰＵ１とテスタプロセッサＴＰとが同一のプロセッサ（ＣＰＵ）を適用しているシステム構成の場合には、第１機械語変換手段５１若しくは第２機械語変換手段５２の何れか一方を備えれば足りることは言うまでもない。
【００２７】
ＣＰＵ１対応のアセンブラコンパイラ６１は、ＷＳ内コンピュータＣＰＵ１に対応した既存のアセンブラ用のコンパイラであって、上記第１アセンブラ言語ソースファイル５１ｆを受けてコンパイルして、実行ファイルである第１機械語コードＭＣ１を生成出力する。即ち、当該ＣＰＵ上で直接実行可能な通常のアプリケーションソフトである。但し、総合開発環境であるビューポイントの管理下でハードウエアエミュレータ３５と連携しながら順次実行する形態のアプリケーションソフトである。
【００２８】
ＴＰ対応のアセンブラコンパイラ６２も同様であって、装置本体側のテスタプロセッサＴＰに対応した既存のアセンブラ用のコンパイラであって、上記第２アセンブラ言語ソースファイル５２ｆを受けてコンパイルして、実行ファイルである第２機械語コードＭＣ２を生成出力する。
【００２９】
シミュレータ３０ｂ内の第１機械語直接実行手段７１は、ＣＰＵのプログラムメモリ上へ上記第１機械語コードＭＣ１がロードされて、総合開発環境であるビューポイントの管理下に置かれて、ハードウエアエミュレータ３５と共に順次実行する。
これによれば、第１機械語コードＭＣ１が当該ＣＰＵ上で直接実行可能な機械語コードである結果、従来のような第１ＴＤＬインタプリタ１１を仲介した場合と対比すると、数十倍の高速で実行できることとなる。
【００３０】
次に、図５と図６とはＷＳ内コンピュータＣＰＵ１が一般的な「ＳＰＡＲＣーＣＰＵ」としたときに、アセンブラニモニック形態で出力する場合の機械語変換手段の具体例の前半と後半である。ここで、図５、図６において、右側の「！」記号以降がコメント部分であり、図２ＢのＴＤＬ中間コードＴＤＬＭＣに対応する。当該コメント行の左側が１：１に対応するＳＰＡＲＣーＣＰＵのアセンブラニモニック記述である。図５の上部記述は初期化する為の記述部位である。
【００３１】
機械語のアセンブラニモニックへの生成アルゴリズムを列挙すると、
Ａ：基本的には一つの中間コードを対応するアセンブラニモニックに直接的に変換する。もしも中間コードに対応するアセンブラニモニックが当該ＣＰＵに存在しない場合には複数行のアセンブラニモニックで代用する。
【００３２】
Ｂ：次に、変数に対しては、ＴＤＬ中間コードで使用していたデータ幅と同一のデータ幅となるように、変数領域を例えばｉｎｔ型やｄｏｕｂｌｅ型に定義宣言する。
【００３３】
Ｃ：演算領域に対しては、ＴＤＬ中間コードでは、スタックメモリ上に領域を確保して演算処理を行っていたが、ＣＰＵ内の整数レジスタや浮動小数点レジスタに割り当てるようにする。尚、従来のスタックマシン方式のＴＤＬ中間コードでの実行の場合はスタックメモリ上で受け渡しや演算を行った後にスタックの廃棄処理が必要であったが、本発明のＣＰＵ内のレジスタを適用する場合には廃棄処理が不要となる利点が得られる。
【００３４】
Ｄ：所望により、連続する複数中間コードの指定区間を一群の単位として繰り返し呼び出しできるサブルーチン関数にしても良い。例えばアセンブラニモニック（例えばｃａｌｌ命令）を適用する。これにより、繰り返し出現する同一処理を行う一群の中間コードを圧縮してアセンブラニモニックに展開できる。
【００３５】
Ｅ：ジャンプ命令の中間コードの場合には、分岐用のアセンブラニモニックに置き換え、ジャンプ先には、固有のラベル名を付与しておく。
【００３６】
上述したＡ〜Ｅの生成アルゴリズムを適用することにより、図５、図６に示すように、ＴＤＬ中間コードＴＤＬＭＣに対して、１：１に対応したアセンブラニモニックのアセンブラソースファイルが生成される。
生成されたアセンブラソースファイルは、ＣＰＵ１対応の既存のアセンブラコンパイラ６１によりコンパイルすることで、ＣＰＵ１上で直接実行可能な実行ファイル、即ち第１機械語コードＭＣ１が生成される。
尚、図２Ｂに示すＴＤＬ中間コードＴＤＬＭＣのバイト数は約２００バイト程度を要するが、図５、図６で生成される第１機械語コードＭＣ１は約１５０バイト程度で済む。従って、バイト数の増加の懸念は無く実用的でもある。
【００３７】
上述した結果、第１に、シミュレータ３０ｂ内の第１機械語直接実行手段７１は、上記第１機械語コードＭＣ１をＣＰＵのプログラムメモリ上へロードして、当該ＣＰＵの機械語により直接的に順次実行できる。従って、従来のような低速のインタプリタでは無くなる結果、テスト・プラン・プログラムＴＰＰ部分の実行速度においては従来よりも数十倍の高速で実行できる大きな利点が得られることとなる。但し、ハードウエアエミュレータ３５の存在により全体の実行速度は低下する。
また第２に、装置本体側の第２機械語直接実行手段７２でも同様に、テスタプロセッサＴＰの機械語により直接的に順次実行できる。従って、従来のような低速のインタプリタでは無くなる結果、テスト・プラン・プログラムＴＰＰ部分の実行速度においては従来よりも数十倍の高速で実行できる大きな利点が得られることとなる。これに伴いデバイス試験のスループットが向上できる利点も備えている。
【００３８】
次に、第１機械語コードＭＣ１の単体のみによる実行速度の効果について数値例を示す。ＴＤＬインタプリタＴＤＬＩで実行した場合は２０．５ｍＳであり、機械語直接実行の場合が０．４２３ｍＳであった。従って、この場合には約４８倍の高速実行が可能となっていることが判る。
【００３９】
尚、本発明の技術的思想は、上述実施の形態の具体構成例、接続形態例に限定されるものではない。更に、本発明の技術的思想に基づき、上述実施の形態を適宜変形して広汎に応用してもよい。
【００４０】
例えば図７の構成例に示すように、ワーク・ステーションＷＳのみで動作出来ればよい場合には、図４の構成要素に対して、第２機械語変換手段５２とＴＰ対応のアセンブラコンパイラ６２と第２機械語コードＭＣ２とを削除した構成手段で実現できる。
【００４１】
また、図８の構成例に示すように、図４の構成に対して図１の従来構成要素である第１ＴＤＬインタプリタ１１と第２ＴＤＬインタプリタ１２とを追加して備えて、インタプリタによる実行形態か機械語直接実行手段による実行形態か、の何れでも選択的に運用可能な構成としても良い。
【００４２】
また上述実施例では、第１機械語変換手段５１がＴＤＬ中間コードＴＤＬＭＣを受けてＷＳ内コンピュータＣＰＵ１に対応したアセンブラ言語形態のニモニックを生成する場合とした具体例で示したが、所望により、Ｃ言語形態のニモニックを生成するように構成しても良い。この場合にも、既存のＣ言語コンパイラを備えて仲介させることで、上述同様に第１機械語コードＭＣ１が生成可能である。
【００４３】
【発明の効果】
本発明は、上述の説明内容からして、下記に記載される効果を奏する。
上述説明したように本発明によれば、第１に、シミュレータ３０ｂ内の第１機械語直接実行手段７１が、上記第１機械語コードＭＣ１をＣＰＵのプログラムメモリ上へロードして、当該ＣＰＵの機械語により直接的に順次実行できる。従って、従来のような低速のインタプリタでは無くなる結果、テスト・プラン・プログラムＴＰＰ部分の実行速度においては従来よりも数十倍の高速で実行できる大きな利点が得られることとなる。但し、ハードウエアエミュレータ３５の存在により全体の実行速度は低下する。
また第２に、装置本体側の第２機械語直接実行手段７２でも同様に、テスタプロセッサＴＰの機械語により直接的に順次実行できる。従って、従来のような低速のインタプリタでは無くなる結果、テスト・プラン・プログラムＴＰＰ部分の実行速度においては従来よりも数十倍の高速で実行できる大きな利点が得られることとなる。これに伴い大幅なスループットの向上が期待できる。
従って、本発明の技術的効果は大であり、産業上の経済効果も大である。
【図面の簡単な説明】
【図１】従来の、ＴＤＬプログラム・ファイルＴＤＬＰＦをＴＤＬ中間コードとして翻訳生成し、これを順次解釈実行する従来の概念構成図である。
【図２】ＴＤＬソースファイルの部分的な簡明な２行の記述に対応するＴＤＬ中間コードの具体例である。
【図３】スタックマシンの動作を説明するメモリ上のスタックイメージを説明する図である。
【図４】ＴＤＬ中間コードをＴＤＬ機械語コードに変換して実行する概念構成例である。
【図５】ＷＳ内コンピュータＣＰＵ１が一般的な「ＳＰＡＲＣーＣＰＵ」としたときに、アセンブラニモニック形態で出力する機械語変換手段の具体例の前半である。
【図６】ＷＳ内コンピュータＣＰＵ１が一般的な「ＳＰＡＲＣーＣＰＵ」としたときに、アセンブラニモニック形態で出力する機械語変換手段の具体例の後半である。
【図７】ワーク・ステーションＷＳのみで動作させる場合の、ＴＤＬ中間コードをＴＤＬ機械語コードに変換して実行する概念構成例である。
【図８】インタプリタによる実行形態か機械語直接実行手段による実行形態か、の何れでも選択的に運用可能な概念構成例である。
【符号の説明】
ＣＰＵ１  ＷＳ内コンピュータ
ＭＣ１    第１機械語コード
ＭＣ２    第２機械語コード
１１      第１ＴＤＬインタプリタ
１２      第２ＴＤＬインタプリタ
２０      中間コード翻訳手段（翻訳）
３０，３０ｂ  シミュレータ
３５      ハードウエアエミュレータ
５１      第１機械語変換手段
５１ｆ    第１アセンブラ言語ソースファイル
５２      第２機械語変換手段
５２ｆ    第２アセンブラ言語ソースファイル
６１      ＣＰＵ１対応のアセンブラコンパイラ
６２      ＴＰ対応のアセンブラコンパイラ
７１      第１機械語直接実行手段
７２      第２機械語直接実行手段
ＴＤＬＩ  ＴＤＬインタプリタ
ＴＤＬＭＣ  ＴＤＬ中間コード
ＴＰ      テスタプロセッサ
ＴＰＰ    テスト・プラン・プログラム
ＷＳ      ワーク・ステーション
【図１】
2004192315.tif 000003
【図２】
2004192315.tif 000004
【図３】
2004192315.tif 000005
【図４】
2004192315.tif 000006
【図５】
2004192315.tif 000007
【図６】
2004192315.tif 000008
【図７】
2004192315.tif 000009
【図８】
2004192315.tif 000010