(57)【特許請求の範囲】
【請求項１】
被検査用半導体デバイスの信号ピンあるいは電源ピンの抵抗値に依存して変化する電流値又は電圧値を測定するための各種パラメータを設定するパラメ−タ設定手段と、
前記被検査用半導体デバイスに対する試験信号を入力する入力手段と、
前記パラメータ及び前記試験信号に応じて前記被検査用半導体デバイスの信号ピンあるいは電源ピンの抵抗値に依存した電流値又は電圧値をシミュレートして出力するシミュレート手段と
を含んで構成されることを特徴とする半導体デバイスシミュレート装置。
【請求項２】
被検査用半導体デバイスの信号ピンがハイレベルの場合の電圧値及び抵抗値を示す第１のパラメータ、前記信号ピンがローレベルの場合の電圧値及び抵抗値を示す第２のパラメータ、前記信号ピンがハイインピーダンスの場合の抵抗値を示す第３のパラメータ、前記信号ピンがハイレベル、ローレベル、ハイインピーダンスのいずれの状態にあるかを示す第４のパラメータ、電流印加電圧測定時又は電圧印加電流測定時に前記信号ピンに印加される電流値又は電圧値を示す第５のパラメータを設定するパラメ−タ設定手段と、
前記被検査用半導体デバイスに対する試験信号を入力する入力手段と、
前記第１から第５までのパラメータ及び前記試験信号に基づいて前記信号ピンにおける電流印加電圧測定時の電圧値又は電圧印加電流測定時の電流値をシミュレートして出力するシミュレート手段と
を含んで構成されることを特徴とする半導体デバイスシミュレート装置。
【請求項３】
被検査用半導体デバイスの電源ピンの抵抗値を示す第１のパラメータ、前記電源ピンに印加される電流値又は電圧値を示す第２のパラメータを設定するパラメ−タ設定手段、
前記被検査用半導体デバイスに対する試験信号を入力する入力手段と、
前記第１及び第２のパラメータ及び前記試験信号に基づいて前記被検査用半導体デバイスの電源ピンにおける電流印加電圧測定時の電圧値又は電圧印加電流測定時の電流値をシミュレートして出力するシミュレート手段と
を含んで構成されることを特徴とする半導体デバイスシミュレート装置。
【請求項４】
被検査用半導体デバイスの信号ピンがハイレベルの場合の電圧値及び抵抗値を示す第１のパラメータ、前記信号ピンがローレベルの場合の電圧値及び抵抗値を示す第２のパラメータ、前記信号ピンがハイインピーダンスの場合の抵抗値を示す第３のパラメータ、前記信号ピンがハイレベル、ローレベル、ハイインピーダンスのいずれの状態にあるかを示す第４のパラメータを設定するパラメ−タ設定手段と、
前記信号ピンに接続される負荷条件を示す試験信号を入力する入力手段と、
前記第１から第４までのパラメータ及び前記試験信号に基づいて前記信号ピンにおける電圧値をシミュレートして出力するシミュレート手段と
を含んで構成されることを特徴とする半導体デバイスシミュレート装置。
【請求項５】
被検査用半導体デバイスの信号ピンあるいは電源ピンの抵抗値に依存して変化する電流値又は電圧値を測定するための各種パラメータを設定するとともに、半導体試験用プログラムに基づいて被検査用半導体デバイスに印加される試験信号を疑似的に発生して半導体試験装置の動作をエミュレートするテスタエミュレート手段と、
前記パラメータ及び試験信号が入力され、これらのパラメータ及び試験信号に応じて前記被検査用半導体デバイスの信号ピンあるいは電源ピンの抵抗値に依存した電流値又は電圧値をシミュレートして出力するデバイスシミュレート手段と、
前記デバイスシミュレート手段からの出力に基づいて前記半導体試験用プログラムのデバッグを行うデバッグ手段と
を含んで構成されることを特徴とする半導体試験用プログラムデバッグ装置。
【請求項６】
請求項２〜４のいずれかに記載された前記パラメータ設定手段および前記シミュレート手段と、
前記パラメータ設定手段を含み、半導体試験用プログラムに基づいて前記被検査用半導体デバイスに印加される試験信号を疑似的に発生して半導体試験装置の動作をエミュレートするテスタエミュレート手段と、
前記シミュレート手段からの出力に基づいて前記半導体試験用プログラムのデバッグを行うデバッグ手段と
を含んで構成されることを特徴とする半導体試験用プログラムデバッグ装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体試験装置をエミュレートして試験用プログラムの検証を行うプログラムデバッグ装置に用いられる半導体デバイスシミュレート装置及びそれを用いた半導体試験用プログラムデバッグ装置に関する。
【０００２】
【従来の技術】
従来から、出荷前のロジックＩＣや半導体メモリ等の各種の半導体素子に対して直流試験や機能試験等を行うものとして、半導体試験装置が知られている。半導体試験装置が行う試験は大別して、機能試験と直流試験である。機能試験は、被検査用半導体デバイスに所定の試験パターン信号を与え、この試験パターン信号に対して予定通りの動作を被検査用半導体デバイスが行ったか否かを検査するものである。直流試験は、被検査用半導体デバイスの各端子の直流特性が予定した特性を満たしているか否かを検査するものである。例えば、既知の電圧を印加した場合に予定通りの電流が端子から取り出せるか否かを試験する電圧印加電流測定試験、または既知の電流を流したり取り出したりした場合に予定通りの電圧が端子に発生しているか否かを試験する電流印加電圧測定試験などがある。また、機能試験を行う場合でも、ハイレベル時の電圧を正規の電圧値、例えば５ボルトよりも低い値の４ボルトに設定したり、またはローレベル時の電圧を正規の電圧値、例えば０ボルトよりも高い値の０．５ボルトに設定したり、被検査用半導体デバイスに印加される電圧条件や電流条件などを種々変更して行う場合が多い。
【０００３】
機能試験や直流試験を行う場合にどのような項目の試験をどのような条件で行うかの各種の条件は予め半導体試験用プログラムに組み込まれているので、この半導体試験用プログラムを動作させることによって被検査用半導体デバイスの各種試験を行うことができる。しかしながら、半導体試験用プログラムは、試験項目の設定、試験条件の設定、試験の実行、試験結果の判定などと言った多岐に渡る動作を制御しなければならず、膨大なステップのプログラムで構築されている。この半導体試験用プログラムは被検査用半導体デバイスの種類が変更になったり、そのロジックが変更になったりした場合、それに併せて種々変更されなければならない。半導体試験用プログラムが新規に作成されたり、変更された場合にそのプログラム自体が正常に動作するものなのか否か、そのプログラムの評価を行わなければならない。その一方法として、実際の半導体試験装置を用いて予め良否の分かっている被検査用半導体デバイスに対して、半導体試験用プログラムを動作させて、そのプログラムの評価を行っていた。しかし、半導体試験装置自体が高価であって導入台数も少ないことから、実際の半導体試験装置を用いて半導体試験用プログラムが正常に動作するか否かの評価を行うことは、半導体試験のラインを停止することになり、好ましくない。そこで、従来は、実際の半導体試験装置を用いて半導体試験用プログラムの評価を行うのではなく、ワークステーション等の汎用コンピュータを用いて半導体試験装置をエミュレートして、その半導体試験用プログラムが正常に動作しているか否かの検証を行っていた。
【０００４】
このように半導体試験装置をエミュレートするものとして、例えば特開平９−１８５５１９号公報に記載されたようなものがある。これは、半導体試験用プログラムが正常に動作するか否かを試験するためのデバッグ装置に関するものである。これは、汎用コンピュータのオペレーシングシステムの下でデバッグ対象となる半導体試験用プログラムを動作させることによって、疑似的な半導体試験装置を構成している。この疑似的な半導体試験装置にインタフェース部を介して仮想被試験素子部、試験条件設定部、試験項目設定部、試験結果格納部などを接続し、この仮想被試験素子部に設定された仮想データを、試験条件設定部に設定された試験条件にしたがって読み込むことによって擬似的な機能試験や直流試験を行っている。
【０００５】
【発明が解決しようとする課題】
上述のデバッグ装置は、実際の被検査用半導体デバイスを用いるのではなく、仮想被試験素子部に予め設定された仮想データを、試験条件設定部に設定された試験条件にしたがってインタフェース部を介して読み込み、その仮想データが試験条件の範囲内の場合にはパスと判定し、範囲外の場合にはフェールと判定するように構成されたものである。従って、従来の仮想被試験素子部は、実際の半導体試験装置における直流試験のように、実際の被検査用半導体デバイスの測定対象となるピン（評価対象ピン）に対して電圧印加電流測定試験や電流印加電圧測定試験を行った場合に生じる被検査用半導体デバイスの内部抵抗に依存した値の変化といった実際の被検査用半導体デバイスの動作を反映したものではなかった。すなわち、被検査用半導体デバイスの内部抵抗とは無関係に、仮想被試験素子部に予め設定された仮想データを読み込むだけのものであり、実際の被検査用半導体デバイスの動作を的確にシミュレートしたものではなかった。
【０００６】
また、このような仮想試験素子部を用いて半導体試験用プログラムをデバッグしようとした場合、その一部については十分にデバッグすることができないという問題があった。それは、信号の論理値を判定する場合には、被検査用半導体デバイスの内部抵抗による電圧の変化を考慮してハイレベルのしきい値とローレベルのしきい値を適切な値に決定しなければならないのに、従来のデバッグ装置では、被検査用半導体デバイスの内部抵抗による電圧の変化を考慮していないため、半導体試験用プログラムに設定されているしきい値が適切な値であるのか否かの判定を行うことができなかった。
【０００７】
第１の発明は、このような点に鑑みて創作されたものであり、その目的は、実際の被検査用半導体デバイスと同じように内部抵抗に依存して変化する電圧値、電流値を的確にシミュレートして出力することのできる半導体デバイスシミュレート装置を提供することにある。
【０００８】
第２の発明は、このような点に鑑みて創作されたものであり、その目的は、実際の被検査用半導体デバイスに対して半導体試験用プログラムを動作させた場合と同様に仮想的な半導体デバイスを用いた場合でも半導体試験用プログラムの内容を的確に検証することのできる半導体試験用プログラムデバッグ装置を提供することにある。
【０００９】
【課題を解決するための手段】
上述の課題を解決するために、請求項１に記載された半導体デバイスシミュレート装置は、被検査用半導体デバイスの内部抵抗に依存して変化する電流値又は電圧値を測定するための各種パラメータを設定するパラメ−タ設定手段と、記被検査半導体デバイスに対する試験信号を入力する入力手段と、前記パラメータ及び前記試験信号に応じて前記被検査用半導体デバイスの内部抵抗に依存した電流値又は電圧値をシミュレートして出力するシミュレート手段とを含んで構成されるものである。
【００１０】
通常、被検査用半導体デバイスの信号ピンに対して電流印加電圧測定又は電圧印加電流測定を行う場合は、その信号ピンがハイレベル、ローレベル、ハイインピーダンスの場合に、その信号ピンに所定の電流や電圧が印加された場合の電圧値や電流値を測定すればよい。パラメ−タ設定手段は、被検査用半導体デバイスがハイレベル、ローレベル、ハイインピーダンスのいずれの状態にあるのかを示すパラメータや、その状態における個々の内部電圧値や内部抵抗値を示すパラメータを設定する。入力手段は、信号ピンに印加される印加電流値や印加電圧値を試験信号として入力する。シミュレート手段は、入力されたパラメータや試験信号、すなわち、ハイレベル、ローレベル、ハイインピーダンスにおける内部電圧値や内部抵抗値、印加電圧値及び印加電流値に基づいて被検査用半導体デバイスから測定されるであろう電圧値や電流値をシミュレートして出力する。この半導体デバイスシミュレート装置によれば、パラメータや試験信号が変わるとそれに応じて内部抵抗の値が変化し、測定電圧値や測定電流値も内部抵抗の値の変化に依存して変化するようになるので、実際の被検査用半導体デバイスを測定した場合と同様の測定結果を的確にシミュレートして出力することができる。
【００１１】
上述の課題を解決するために、請求項２に記載された半導体デバイスシミュレート装置は、被検査用半導体デバイスの信号ピンがハイレベルの場合の電圧値及び抵抗値を示す第１のパラメータ、前記信号ピンがローレベルの場合の電圧値及び抵抗値を示す第２のパラメータ、前記信号ピンがハイインピーダンスの場合の抵抗値を示す第３のパラメータ、前記信号ピンがハイレベル、ローレベル、ハイインピーダンスのいずれの状態にあるかを示す第４のパラメータ、電流印加電圧測定時又は電圧印加電流測定時に前記信号ピンに印加される電流値又は電圧値を示す第５のパラメータを設定するパラメ−タ設定手段と、前記被検査用半導体デバイスに対する試験信号を入力する入力手段と、前記第１から第５までのパラメータ及び前記試験信号に基づいて前記信号ピンにおける電流印加電圧測定時の電圧値又は電圧印加電流測定時の電流値をシミュレートして出力するシミュレート手段とを含んで構成されるものである。
【００１２】
請求項２に記載された発明は、被検査用半導体デバイスの信号ピンに対して電流印加電圧測定又は電圧印加電流測定を行う場合のパラメータや試験信号の条件を具体的に示したものである。信号ピンがハイレベルの状態で所定の電圧又は電流を印加して電圧印加電流測定又は電流印加電圧測定を行う場合には、第４のパラメータがハイレベルの状態を示すので、第１のパラメータの電圧値及び抵抗値と第５のパラメータの印加電圧又は電流に基づいた信号ピンの電流値又は電圧値がシミュレート手段から出力されるようになる。信号ピンがローレベルの状態で所定の電圧又は電流を印加して電圧印加電流測定又は電流印加電圧測定を行う場合には、第４のパラメータがローレベルの状態を示すので、第２のパラメータの電圧値及び抵抗値と第５のパラメータの印加電圧値又は電流値に基づいた信号ピンの電流値又は電圧値がシミュレート手段から出力されるようになる。信号ピンがハイインピーダンス状態で所定の電圧又は電流を印加して電圧印加電流測定又は電流印加電圧測定を行う場合には、第４のパラメータがハイインピーダンスの状態を示すので、第３のパラメータの電圧値及び抵抗値と第５のパラメータの印加電圧値又は電流値に基づいた信号ピンの電流値又は電圧値がシミュレート手段から出力されるようになる。
【００１３】
上述の課題を解決するために、請求項３に記載された半導体デバイスシミュレート装置は、被検査用半導体デバイスの電源ピンの抵抗値を示す第１のパラメータ、前記電源ピンに印加される電流値又は電圧値を示す第２のパラメータを設定するパラメ−タ設定手段と、前記被検査用半導体デバイスに対する試験信号を入力する入力手段と、前記第１及び第２のパラメータ及び前記試験信号に基づいて前記被検査用半導体デバイスの電源ピンにおける電流印加電圧測定時の電圧値又は電圧印加電流測定時の電流値をシミュレートして出力するシミュレート手段とを含んで構成されるものである。
【００１４】
請求項３に記載された発明は、被検査用半導体デバイスの電源ピンに対して電流印加電圧測定又は電圧印加電流測定を行う場合のパラメータや試験信号の条件を具体的に示したものである。電源ピンに所定の電圧又は電流を印加して電圧印加電流測定又は電流印加電圧測定を行う場合には、第１のパラメータの抵抗値と第２のパラメータの印加電圧又は電流に基づいた電源ピンの電流値又は電圧値がシミュレート手段から出力されるようになる。
【００１５】
上述の課題を解決するために、請求項４に記載された半導体デバイスシミュレート装置は、被検査用半導体デバイスの信号ピンがハイレベルの場合の電圧値及び抵抗値を示す第１のパラメータ、前記信号ピンがローレベルの場合の電圧値及び抵抗値を示す第２のパラメータ、前記信号ピンがハイインピーダンスの場合の抵抗値を示す第３のパラメータ、前記信号ピンがハイレベル、ローレベル、ハイインピーダンスのいずれの状態にあるかを示す第４のパラメータを設定するパラメ−タ設定手段と、前記信号ピンに接続される負荷条件を示す試験信号を入力する入力手段と、前記第１から第４までのパラメータ及び前記試験信号に基づいて前記信号ピンにおける電圧値をシミュレートして出力するシミュレート手段とを含んで構成されるものである。
【００１６】
請求項４に記載された発明は、被検査用半導体デバイスの信号ピンに対して種々の負荷が接続された場合のパラメータや試験信号の条件を具体的に示したものである。被検査用半導体デバイスの信号ピンがハイレベルの状態で負荷条件が無負荷の場合には、第４のパラメータがハイレベルの状態を示すので、第１のパラメータの電圧値及び抵抗値と試験信号の無負荷条件に基づいた信号ピンの電圧値がシミュレート手段から出力されるようになる。信号ピンがローレベルの状態で負荷条件が無負荷の場合には、第４のパラメータがローレベルの状態を示すので、第２のパラメータの電圧値及び抵抗値と試験信号の無負荷条件に基づいた信号ピンの電圧値がシミュレート手段から出力されるようになる。信号ピンがハイインピーダンスの状態で負荷条件が無負荷の場合には、第４のパラメータがハイインピーダンスの状態を示すので、第３のパラメータの抵抗値と試験信号の無負荷条件に基づいた信号ピンの電圧値がシミュレート手段から出力されるようになる。同様にして、負荷条件が理想電圧源と終端抵抗の場合や理想電流源によるプログラマブルロードの場合などにはそれに基づいた電圧値がシミュレート手段から出力される。
【００１７】
上述の課題を解決するために、第５の発明の半導体試験用プログラムデバッグ装置は、被検査用半導体デバイスの内部抵抗に依存して変化する電流値又は電圧値を測定するための各種パラメータを設定するとともに、半導体試験用プログラムに基づいて被検査用半導体デバイスに印加される試験信号を疑似的に発生して半導体試験装置の動作をエミュレートするテスタエミュレート手段と、前記パラメータ及び試験信号が入力され、これらのパラメータ及び試験信号に応じて前記被検査用半導体デバイスの内部抵抗に依存した電流値又は電圧値をシミュレートして出力するデバイスシミュレータ手段と、前記デバイスシミュレータ手段からの出力に基づいて前記半導体試験用プログラムのデバッグを行うデバッグ手段とを含んで構成されるものである。
【００１８】
デバイスシミュレート手段は、上述の請求項１に記載の半導体デバイスシミュレート装置に対応するものである。すなわち、請求項５に記載の半導体試験用プログラムデバッグ装置は、請求項１に記載の半導体デバイスシミュレート装置を用いて構成されたものである。従って、デバイスシミュレート手段が被検査用半導体デバイスの内部抵抗による電圧の変化を考慮した的確な動作を模擬的に行うものなので、半導体検査用プログラムに記述されたハイレベルのしきい値やローレベルのしきい値が適切な値であるか否かなどの、従来不可能であった検査を行うことができるようになり、半導体試験用プログラムのデバッグ精度を高めることが可能となる。
【００１９】
【発明の実施の形態】
以下、本発明に係る半導体デバイスシミュレート装置を適用した半導体試験用プログラムデバッグ装置の一実施の形態について、図面を参照しながら説明する。図１は、半導体試験用プログラムデバッグ装置の全体構成を示す図である。デバッグ装置１００は、半導体試験装置の動作をエミュレートし、かつ被検査用半導体デバイスの動作をシミュレートすることによって、半導体試験用プログラムが正常に動作するか否かを検証するためのものであり、ワークステーション等の汎用コンピュータによって実現される。
【００２０】
この実施の形態に係るデバッグ装置１００は、実際の半導体試験装置及び被検査用半導体デバイスの動作を模擬するものなので、その詳細な説明を行う前に、模擬される半導体試験装置の構成について説明する。
【００２１】
図２は、実際の半導体試験装置の全体構成を示す図である。図では、半導体試験装置２００に実際の被検査用半導体デバイス２５０が接続された状態が示されている。半導体試験装置２００は、被検査用半導体デバイス２５０に対して各種の直流試験（ＤＣパラメトリック試験）や機能試験を行うものである。半導体試験装置２００は、テスタ制御部２１０、テスタバス２３０、テスタ本体２４０、被検査用半導体デバイス２５０を搭載するソケット部（図示せず）を含んで構成されている。
【００２２】
テスタ制御部２１０は、テスタ本体２４０の動作を制御するためのものであり、半導体試験用プログラム（デバイステストプログラム）２１２、アプリケーションプログラム２１４、言語解析実行部２１６、テスタライブラリ２１８、テスタバスドライバ２２０を含んで構成されている。
【００２３】
デバイステストプログラム２１２は、ユーザが半導体試験装置２００を用いて、被検査用半導体デバイス２５０に対してどのような試験を行うのか、その手順や方法を記述したものである。一般的にこのデバイステストプログラムは、半導体試験装置２００のユーザによって開発作成されるものである。従って、ユーザは実際の半導体試験装置２００を用いることなく、この実施の形態に係るデバッグ装置１００を用いて自分の作成したデバイステストプログラム２１２が正常に動作するか否かの検証を行い、完成度の高いデバイステストプログラムを作成することができる。言語解析実行部２１６は、デバイステストプログラム２１２の構文解析などを行い、デバイステストプログラム２１２に従って半導体試験装置２００を忠実に動作させる中心的な役割を果たすものである。アプリケーションプログラム２１４は、デバイステストプログラム２１２及び言語解析実行部２１６と連携して動作するものであり、機能試験及び直流試験に対応した実際の試験信号等を被検査用半導体デバイス２５０に印加し、その出力信号を取り込んで被検査用半導体デバイス２５０の良否を判定したり、特性を解析するものである。
【００２４】
テスタライブラリ２１８は、言語解析実行部２１６によって構文解析が行われた後のデバイステストプログラム２１２の命令をレジスタレベルの命令（後述するレジスタ２４２へのデータ書き込み命令及びレジスタ２４２からのデータ読み出し命令に関するデータ）に変換して、半導体試験装置２００の動作に必要なデータの作成や設定を行うとともに、テスタ本体２４０に対して測定動作を指示する。テスタバスドライバ２２０は、テスタバス２３０を介して、テスタライブラリ２１８によって作成されたデータをテスタ本体２４０内のレジスタ２４２に転送する。
【００２５】
テスタ本体２４０は、テスタバス２３０を介して取り込まれたテスタ制御部２１０からのデータに基づいて被検査用半導体デバイス２５０に対して各種の試験を行う。テスタ本体２４０は、レジスタ２４２とメモリ２４４と試験実行部２４６とを含んで構成される。レジスタ２４２は、テスタバス２３０を介して取り込まれたテスタライブラリ２１８からのデータを格納する。このレジスタ２４２に格納されたデータは、直接あるいはメモリ２４４を介して試験実行部２４６に出力される。また、レジスタ２４２及びメモリ２４４は、試験実行部２４６からの試験結果に関するデータを格納する試験結果格納領域（図示せず）を有する。
【００２６】
試験実行部２４６は、機能試験実行部２４７およびＤＣパラメトリック試験実行部２４８を備えている。試験実行部２４６は、レジスタ２４２やメモリ２４４に格納されたテスタライブラリ２１８からのデータに基づいて、被検査用半導体デバイス２５０に対して機能試験やＤＣパラメトリック試験を行い、その試験結果のデータをレジスタ２４２やメモリ２４４の試験結果格納領域に格納する。レジスタ２４２及びメモリ２４４に格納された試験結果データは、テスタドライバ２２０によってテスタバス２３０を介して直接テスタライブラリ２１８に取り込まれる。なお、メモリ２４４に格納された試験結果データは、レジスタ２４２を介してテスタライブラリ２１８に取り込まれる。
【００２７】
図１のデバッグ装置１００は上述の半導体試験装置２００の全体動作をエミュレートすると共に被検査用半導体デバイス２５０の動作をシミュレートするものである。従って、半導体試験装置２００用に作成されたデバイステストプログラム１１２を図１のデバッグ装置１００を用いて実行すると、そのデバイステストプログラム１１２の動作がユーザの意図したものと一致するか否かを調べることができる。次に、この実施の形態に係るデバッグ装置１００の構成について説明する。
【００２８】
図１に示すエミュレータ制御部１１０は、デバイステストプログラム１１２、アプリケーションプログラム１１４、言語解析実行部１１６、テスタライブラリ１１８、テスタバスエミュレータ１２０を含んで構成されている。このエミュレータ制御部１１０は、テスタエミュレート部１４０の動作を制御するためのものであり、図２に示した半導体試験装置２００に含まれるテスタ制御部２１０と基本的に同じ動作を行う。
【００２９】
デバイステストプログラム１１２は、半導体試験装置２００を用いて被検査用半導体デバイス２５０に対してどのような試験を行うのか、その手順や方法を記述したものであり、デバッグ装置１００によってデバッグの対象となるプログラムである。従って、図２のデバイステストプログラム２１２がそのままこのデバイステストプログラム１１２として移植され、同様の動作を行うように構成される。アプリケーションプログラム１１４、言語解析実行部１１６及びテスタライブラリ１１８についても同様に、図２のアプリケーションプログラム２１４、言語解析実行部２１６及びテストライブラリ２１８がそのまま移植され、同様の動作を行うように構成される。テスタバスエミュレータ１２０は、エミュレータ制御部１１０とテスタエミュレート部１４０との間を仮想的に接続する仮想テスタバス１３０を駆動し、この仮想テスタバス１３０を介してテスタライブラリ１１８とテスタエミュレート部１４０との間のデータの送受を制御する。
【００３０】
テスタエミュレート部１４０は、図２のテスタ本体２４０の動作をソフトウェアで実現したものであり、エミュレータ制御部１１０内のテスタライブラリ１１８の動作指示に応じて仮想デバイス１５０に対する模擬的な試験を行う。テスタエミュレート部１４０は、仮想レジスタ１４２と仮想メモリ１４４と仮想試験実行部１４６を含んで構成されている。仮想レジスタ１４２は、テスタライブラリ１１８からのデータを格納する。この仮想レジスタ１４２に格納されたデータは、直接あるいは仮想メモリ１４４を介して仮想試験実行部１４６に送られる。また、仮想レジスタ１４２と仮想メモリ１４４は、仮想試験実行部１４６から出力される仮想試験結果データを格納する試験結果格納領域（図示せず）を有する。
【００３１】
仮想試験実行部１４６は、機能試験実行部１４７及びＤＣパラメトリック試験実行部１４８を備えている。この仮想試験実行部１４６は、仮想レジスタ１４２に格納されたテスタライブラリ１１８からのデータに基づいて、仮想デバイス１５０に対して所定の信号を出力して、機能試験実行部１４７による機能試験やＤＣパラメトリック試験実行部１４８によるＤＣパラメトリック試験を行い、その仮想試験結果データを仮想レジスタ１４２やメモリ１４４の試験結果格納領域に格納する。仮想レジスタ１４２及び仮想メモリ１４４に格納された仮想試験結果データは、仮想テスタバス１３０を介してテスタライブラリ１１８に出力される。試験結果解析判定部１６０は、仮想レジスタ１４２やメモリ１４４又はテスタライブラリ１１８に格納されている仮想試験結果データと、予め予想される試験結果の期待値とを比較検討し、デバイステストプログラム１１２が正常に動作しているか否かの検証を行い、その結果をユーザに表示する。例えば、デバイステストプログラム１１２の実行によって誤った試験結果が得られた場合は、その誤った試験結果の原因となるプログラムの行番号等をモニタ（図示せず）上に表示したり、プリンタ（図示せず）から印字したりする。
【００３２】
上述した仮想試験実行部１４６が入力手段に、仮想デバイス１５０がシミュレート手段、デバイスシミュレート手段に、パラメータ設定部１５９がパラメータ設定手段にそれぞれ対応する。また、エミュレータ制御部１１０、テスタエミュレート部１４０及びパラメータ設定部１５９がテスタエミュレート手段に、試験結果解析判定部１６０がデバッグ手段にそれぞれ対応する。
【００３３】
次に、テスタエミュレート部１４０の動作について説明する。テスタエミュレート部１４０は、仮想テタスバス１３０から仮想レジスタ１４２へのアクセスが入ると、仮想レジスタ１４２のアドレスをもとにそのアクセスが仮想レジスタ１４２のどの部分へのアクセスかを計算し、その場所にデータを書き込んだり、その場所からデータを読み出したりする。また、テスタエミュレート部１４０は、仮想レジスタ１４２のアクセスを介して仮想メモリ１４４へのアクセスが生じると、固有の仮想メモリ１４４に対してデータを書き込んだり、データを読み出したりする。この場合、一般的に一つの仮想レジスタ１４２だけでは仮想メモリ１４４に対してデータを読み書きするのに十分な情報を得ることはできない。そこで、この実施の形態では、テスタエミュレート部１４０は関連する仮想レジスタ１４２の内容を参照して、仮想メモリ１４４に対するデータの読み書きをも行うようにしている。なお、図２の半導体試験装置２００と同様に処理を行う場合は、メモリ１４４に格納された仮想試験結果データは、レジスタ１４２及び仮想テスタバス１３０を介してテスタライブラリ１１８に出力されることになるが、デバッグ装置１００の場合には、メモリ１４４に格納された仮想試験結果を直接テスタライブラリに出力するように構成してもよい。
【００３４】
テスタエミュレート部１４０に対して、波形の発生（機能試験）を開始するレジスタがアクセスされた場合、第１のタスクにおいて仮想試験実行部１４６による波形の発生処理を行う。このとき、波形発生に関する必要なデータは仮想レジスタ１４２及び仮想メモリ１４４に予め格納されているので、仮想試験実行部１４６はそれを参照しながら波形を発生する。仮想試験実行部１４６によって発生された波形は仮想デバイス１５０に転送される。仮想デバイス１５０は入力された波形に基づいて実際の被検査用半導体デバイス２５０の動作をシミュレートする。仮想デバイス１５０によってシミュレートされた結果の出力ピンデータは再び仮想試験実行部１４８にフィードバックされ、そこで期待値と比較され、その結果が所定の仮想レジスタ１４２及び仮想メモリ１４４に格納される。上述の一連の動作はテスタエミュレート部１４０の動作サイクル毎に実行処理される。
【００３５】
パラメ−タ設定部１５９は、被検査用半導体デバイスに印加される理想電圧源の電圧値、理想電流源の電流値やハイレベル時又はローレベル時における純抵抗値、電圧値、電源ピンの純抵抗値などの各種パラメ−タを仮想デバイス１５０に設定するものである。このパラメ−タ設定部１５９の設定内容に応じて被検査用半導体デバイスの特性が決定される。
【００３６】
仮想デバイス１５０は、図２に示した実際の被検査用半導体デバイス２５０と同様の動作をシミュレートするものである。仮想デバイス１５０は具体的には、電流印加電圧測定及び電圧印加電流測定のためのパラメータ（被検査用半導体デバイスに印加される理想電圧源の電圧値、理想電流源の電流値やハイレベル時又はローレベル時における純抵抗値、電源ピンの純抵抗値など）をパラメ−タ設定部１５９によって設定されると、そのパラメータに基づいて実際の被検査用半導体デバイス２５０が出力するであろう電流値、電圧値をシミュレートして出力するものである。なお、テスタエミュレート部１４０はテスタを構成するロジック部品を一つ一つシミュレートすることは行わずに、テスタの性質に着目して、タイミングデータや波形フォーマットをメインに波形データをイベント形式に１サイクル分作り出して仮想デバイス１５０に供給している。仮想デバイス１５０はそれを構成するロジック部品をイベント・ドリブン方式により一つ一つシミュレートし、１テスタサイクルが完了するまで実行する。そして、１テスタサイクルが終了した時点でその内部状態を保持したまま、シミュレートを打ち切って、そのサイクル中の出力変化をイベント形式でテスタエミュレート部１４０に転送する。テスタエミュレート部１４０は仮想デバイス１５０からの１サイクル分の出力変化を再び解析し、期待値と比較し、パス／フェイルの判定結果を仮想レジスタ１４２や仮想メモリ１４４に格納する。このような動作を行うことによって、テスタエミュレート部１４０の波形発生の効率が良くなる。また、サイクル毎にデータを処理しているのでデータの転送効率が良くなる。また、場合によっては、複数サイクルをまとめて処理してもよい。
【００３７】
以下、この仮想デバイス１５０の詳細について説明する。図３は、仮想試験実行部１４６がＤＣパラメトリック試験の中の信号ピン測定を行う場合に実現されるべき仮想デバイス１５０の内容を等価回路によって示した図である。この場合の仮想デバイス１５０は、論理値保持部（ＤＬＶ）１５１、ハイレベル時の理想電圧源１５２、ローレベル時の理想電圧源１５４、ハイレベル時の純抵抗１５３、ローレベル時の純抵抗１５５、ハイインピーダンス時の入力純抵抗１５６、切替部１５７を含んで構成されている。なお、理想電圧源１５２と純抵抗１５３、理想電圧源１５４と純抵抗１５５はそれぞれ直列に接続されている。
【００３８】
論理値保持部１５１は、被検査用半導体デバイス２５０の評価対象ピン（測定対象となる信号ピン）のレベル状態に対応した論理値を保持するものである。この論理値保持部１５１にはハイレベル（Ｈ）、ローレベル（Ｌ）、ハイインピーダンス（Ｚ）、不定（Ｘ）のいずれかのレベル状態に対応した論理値が保持される。理想電圧源１５２は、被検査用半導体デバイス２５０の評価対象ピンの出力する信号の論理値がハイレベルの場合に、その評価対象ピンが示すであろうと思われる電圧値ＤＶｏＨを格納する。純抵抗１５３は、被検査用半導体デバイス２５０の評価対象ピンの出力する信号の論理値がハイレベルのときに、その評価対象ピンに対応する抵抗の値ＤＲｏＨを格納する。理想電圧源１５４は、被検査用半導体デバイス２５０の評価対象ピンの出力する信号の論理値がローレベルのときに、その評価対象ピンが示すであろうと思われる電圧値ＤＶｏＬを格納する。純抵抗１５５は、被検査用半導体デバイス２５０の評価対象ピンの出力する信号の論理値がローレベルのときに、その評価対象ピンに対応する抵抗の抵抗値ＤＲｏＬを格納する。入力純抵抗１５６は、被検査用半導体デバイス２５０の評価対象ピンがハイインピーダンスのときに、その評価対象ピンに対応する抵抗の値ＤＲｉｎを格納する。
【００３９】
切替部１５７は、論理値保持部１５１が保持する論理値に応じて、理想電圧源１５２と純抵抗１５３の直列接続されたもの、理想電圧源１５４と純抵抗１５５の直列接続されたもの、又は入力純抵抗１５６のいずれかを選択的にＤＣパラメトリック試験実行部１４８に接続する。具体的には、論理値保持部１５１の保持する論理値がハイレベルの場合には、切替部１５７は、理想電圧源１５２と純抵抗１５３の直列接続されたものをＤＣパラメトリック試験実行部１４８に接続する。論理値保持部１５１の保持する論理値がローレベルの場合には、切替部１５７は、理想電圧源１５４と純抵抗１５５の直列接続されたものをＤＣパラメトリック試験実行部１４８に接続する。論理値保持部１５１の保持する論理値がハイインピーダンスの場合には、切替部１５７は、入力純抵抗１５６をＤＣパラメトリック試験実行部１４８に接続する。なお、論理保持部１５１の保持する論理値が不定の場合には切替部１５７は上述のいずれか一つを選択するか、または何も選択しないでメッセージを出力する。
【００４０】
図４は、図３の仮想デバイス１５０に対してＤＣパラメトリック試験の信号ピン測定を行った場合に仮想デバイス１５０から出力される測定値の具体例を示す図である。図４は電流印加電圧測定の場合と電圧印加電流測定の場合の二通りについて示してある。電流印加電圧測定の場合には、ＤＣパラメトリック試験実行部１４８が仮想デバイス１５０に対して電流値Ｉｓ（被検査用半導体デバイス２５０の評価対象ピンに流れる電流の値を模擬したもの）を供給する。従って、論理値保持部１５１の論理値がハイレベル（Ｈ）の場合には、理想電圧源１５２と純抵抗１５３がＤＣパラメトリック試験実行部１４８に接続されるので、ＤＣパラメトリック試験実行部１４８の測定値（電圧値）は、理想電圧源１５２の電圧値ＤＶｏＨと純抵抗１５３の端子電圧値（抵抗値ＤＲｏＨと電流値Ｉｓの積：ＤＲｏＨ×Ｉｓ）との合計値となる。論理値がローレベル（Ｌ）の場合には、理想電圧源１５４と純抵抗１５５がＤＣパラメトリック試験実行部１４８に接続されるので、ＤＣパラメトリック試験実行部１４８の測定値（電圧値）は、理想電圧源１５４の電圧値ＤＶｏＬと純抵抗１５５の端子電圧値（抵抗値ＤＲｏＬと電流値Ｉｓの積：ＤＲｏＬ×Ｉｓ）との合計値となる。論理値がハイインピーダンス（Ｚ）の場合には、入力純抵抗１５６がパラメトリック試験実行部１４０に接続されるので、ＤＣパラメトリック試験実行部１４８の測定値（電圧値）は、入力純抵抗１５６の端子電圧値（抵抗値ＤＲｉｎと電流値Ｉｓの積：ＤＲｉｎ×Ｉｓ）となる。
【００４１】
電圧印加電流測定の場合には、ＤＣパラメトリック試験実行部１４８が仮想デバイス１５０に対して出力する電圧値Ｖｓ（被検査用半導体デバイス２５０の評価対象ピンに印加される電圧の値を模擬したもの）を印加する。従って、論理値保持部１５１の論理値がハイレベル（Ｈ）の場合には、理想電圧源１５２と純抵抗１５３がＤＣパラメトリック試験実行部１４８に接続されるので、ＤＣパラメトリック試験実行部１４８の測定値（電流値）は、理想電圧源１５２の電圧値ＤＶｏＨから印加電圧値Ｖｓを減算した値を純抵抗１５３の抵抗値ＤＲｏＨで除算した値（ＤＶｏＨ−Ｖｓ）／ＤＲｏＨとなる。論理値がローレベル（Ｌ）の場合には、理想電圧源１５４と純抵抗１５５がＤＣパラメトリック試験実行部１４８に接続されるので、ＤＣパラメトリック試験実行部１４８の測定値（電流値）は、理想電圧源１５４の電圧値ＤＶｏＬから印加電圧値Ｖｓを減算した値を純抵抗１５５の抵抗値ＤＲｏＬで除算した値（ＤＶｏＬ−Ｖｓ）／ＤＲｏＬとなる。論理値がハイインピーダンス（Ｚ）の場合には、入力純抵抗１５６がＤＣパラメトリック試験実行部１４０に接続されるため、ＤＣパラメトリック試験実行部１４８の測定値（電流値）は、印加電圧値Ｖｓを入力純抵抗１５６の抵抗値ＤＲｉｎで除算した値Ｖｓ／ＤＲｉｎとなる。
【００４２】
以上のように、この実施の形態の仮想デバイス１５０によれば、理想電圧源１５２，１５４、純抵抗１５３，１５５、入力純抵抗１５６の各値を設定変更することによって、印加電流Ｉｓや印加電圧Ｖｓの値に応じた測定値を出力することができ、実際の被検査用半導体デバイス２５０に近いＤＣパラメトリック試験を行うことが可能となる。また、後述の図８に示した負荷条件設定部１７１を考慮するようにしてもよい。
【００４３】
図５は、仮想試験実行部１４６がＤＣパラメトリック試験の中の電源ピン測定を行う場合に実現されるべき仮想デバイス１５０の内容を等価回路によって示した図である。この場合の仮想デバイス１５０は、純抵抗１５８によって構成される。純抵抗１５８は、被検査用半導体デバイス２５０の評価対象ピン（電源ピン）に対応する抵抗の抵抗値Ｖｓｒを格納する。従って、電源ピン測定が行われる場合には、抵抗値Ｖｓｒの純抵抗１５８がＤＣパラメトリック試験実行部１４８に接続されることになる。ＤＣパラメトリック試験実行部１４８は、この純抵抗１５８の接続された状態において電圧印加電流測定や電流印加電圧測定を行う。
【００４４】
図６は、図５の仮想デバイス１５０に対してＤＣパラメトリック試験の電源ピン測定を行った場合に仮想デバイス１５０から出力される測定値の具体例を示す図である。ＤＣパラメトリック試験実行部１４８が仮想デバイス１５０に対して出力する信号の電圧値がＶｓ（被検査用半導体デバイス２５０の評価対象ピンに印加される電圧の値を疑似したもの）の場合において、電圧印加電流測定時の測定値（電流値）は印加電圧値Ｖｓを純抵抗１５８の抵抗値Ｖｓｒで除算した値Ｖｓ／Ｖｓｒとなり、電流印加電圧測定時の測定値（電圧値）は印加電圧値Ｖｓの値そのままとなる。
次に、図１のデバッグ装置１００の動作を図面を用いて説明する。図７は、ＤＣパラメトリック試験用のデバイステストプログラム１１２を実行した場合のデバッグ装置１００の動作手順を示す流れ図である。このフローは、ユーザがデバイステストプログラム１１２のデバッグ動作を指示することによって処理を開始する。まず、ステップ１００でデバッグ動作の対象となるデバイステストプログラム１１２が実行される。次にステップ１０１でエミュレータ制御部１１０内の言語解析実行部１１２がデバイステストプログラム１１２の構文解析を行う。言語解析実行部１１６によって構文解析が行われた後、ステップ１０２でテスタライブラリ１１８がデバイステストプログラム１１２の命令をレジスタレベルの命令に変換し、それに基づいてデバッグ装置１００の動作に必要なデータを作成し、これらのデータをテスタエミュレート部１４０内の仮想レジスタ１４２に格納する。仮想レジスタ１４２へのデータの格納が終了すると、ステップ１０３でエミュレータ制御部１１０はテスタエミュレート部１４０に対して測定動作を指示する。
【００４５】
エミュレータ制御部１１０から測定動作の指示を受けたテスタエミュレート部１４０は、エミュレータ制御部１１０内のテスタライブラリ１１８の動作指示に応じて仮想デバイス１５０に対する模擬的なＤＣパラメトリック試験を行う。具体的には、ステップ１０４でエミュレータ制御部１１０内のテスタライブラリ１１８の動作指示に応じて、仮想試験実行部１４６内のＤＣパラメトリック試験実行部１４８が、仮想レジスタ１４２に格納されたデータに基づいた所定の信号を仮想デバイス１５０に出力する。ステップ１０５で、仮想デバイス１５０は電流印加電圧測定あるいは電圧印加電流測定を行い、その測定値を出力する。このとき、仮想デバイス１５０は、上述のように被検査用半導体デバイスの評価対象ピンに対応する抵抗値を考慮しているので、その測定値はこの抵抗値を考慮した値となる。仮想デバイス１５０から測定値が出力されると、ステップ１０６でＤＣパラメトリック試験実行部１４８は、この測定値を仮想試験結果データとして、仮想レジスタ１４２や仮想メモリ１４８に格納する。仮想レジスタ１４２や仮想メモリ１４８に格納された仮想試験結果データは、ステップ１０７でエミュレータ制御部１１０内のテスタライブラリ１１８に出力され、テスタライブラリ１１８は、この仮想試験結果データに対応する所定の処理を行う。
【００４６】
なお、デバイステストプログラム１１２には種々の測定結果に対応してどのような動作を行うかが記述されているので、仮想試験結果データに対応してテスタライブラリ１１８の行う処理が、プログラム作成者の意図したものであれば、デバイステストプログラム１１２の該当箇所に誤りのないことが検証される。反対に、仮想試験結果データに対応してテスタライブラリ１１８の行う処理が、プログラム作成者の意図したものでなければ、デバイステストプログラム１１２の該当箇所に誤りがあることが検証される。このようにしてデバイステストプログラム１１２のデバッグ動作が行われる。
【００４７】
このように、仮想デバイス１５０は、図３や図５に示したように実際の被検査用半導体デバイス２５０内部の抵抗を考慮しているので、図４や図６の測定値に示すように、ＤＣパラメトリック試験実行部１４８の測定値が被検査用半導体デバイス２５０の評価対象ピンに対応する抵抗を含んだ値になるようにシミュレートすることができる。従って、デバッグ装置１００は、仮想デバイス１５０を備えることにより、被検査用半導体デバイス２５０を用いなくても半導体試験装置２００のＤＣパラメトリック試験時における動作を的確にエミュレートすることができるため、デバイステストプログラム１１２のデバッグの精度を高めることが可能となる。例えば、信号の論理値を判定する場合には、被検査用半導体デバイス２５０内部の抵抗による電圧の変化を考慮してハイレベルのしきい値とローレベルのしきい値を適切な値に定めなければならないが、本実施形態のデバッグ装置１００は、被検査用半導体デバイス２５０内部の抵抗による電圧の変化が考慮されているため、デバイステストプログラムに設定されているしきい値が適切な値であるか否かを判定することができる。
【００４８】
上述の実施の形態では、仮想デバイス１５０が半導体試験装置２００のＤＣパラメトリック試験時における動作をシミュレートした場合について説明したが、同様にして機能試験時における動作をシミュレートすることも可能である。図８は、仮想試験実行部１４６の機能試験実行部１４７が機能試験を行う場合に実現されるべき機能試験実行部１４７及び仮想デバイス１５０の内容を等価回路によって示した図である。なお、この場合の仮想デバイス１５０は、図３に示したような、ＤＣパラメトリック試験の中の信号ピン測定を行う場合に実現されるべき仮想デバイス１５０の内容と同じなので、その説明は省略する。
【００４９】
仮想デバイス１５０に接続される仮想試験実行部１４６の機能試験実行部１４７は、仮想デバイス１５０が出力する信号の論理値を判定するものであり、負荷条件設定部１７１と比較部１７２から構成される。負荷条件設定部１７１は、テスタ本体の理想電圧源１８１、テスタ本体のローレベル時の理想電流源１８２、テスタ本体のハイレベル時の理想電流源１８３、終端抵抗１８４（例えば抵抗値５０Ω）、ブリッジ回路１８５を含んで構成されている。負荷条件設定部１７１は通常プログラマブルロードと呼ばれるもので、被検査用半導体デバイス２５０の出力電圧とスレッショルド電圧（理想電圧源１８１の電圧値）Ｖｔを比較して、負荷電流源となる理想電流源１８２又は理想電流源１８３を自動的に選択して接続するものである。理想電圧源１８１は、半導体試験装置２００内のテスタドライバ（図示せず）の理想電圧源の電圧値Ｖｔを格納する。理想電流源１８２は、テスタドライバの論理値がローレベルのときのテスタドライバの理想電流源の電流値ＩＬＬを格納する。理想電流源１８３は、テスタドライバの論理値がハイレベルの時のテスタドライバの理想電流源の電流値ＩＬＨを格納する。ブリッジ回路１８５は、４つのダイオード１８６〜１８９を含んで構成されている。比較部１７２は、ハイレベル比較部１９１、ローレベル比較部１９２を含んで構成されている。ハイレベル比較部１９１は、仮想デバイス１５０の出力する信号がハイレベルであるか否かを判定するためのものであり、仮想デバイス１５０が出力する信号の電圧値が基準電圧値ＶｏＨ以上であるか否かを比較する。ローレベル比較部１９２は、仮想デバイス１５０の出力する信号がローレベルであるか否かを判定するためのものであり、仮想デバイス１５０の出力する信号の電圧値が基準電圧値ＶｏＬ以下であるか否かを比較する。
【００５０】
図９〜図１１は、仮想デバイス１５０の出力する信号の論理出力値と比較部１７２における電圧値を示す図である。図９は、負荷条件設定部１７１が接続されていない場合に比較部１７２で観測される仮想デバイス１５０の論理出力値を示す図である。仮想デバイス１５０の論理出力値がハイレベル（Ｈ）の場合には、理想電圧源１５２と純抵抗１５３が比較部１７２に接続されるので、比較部１７２には理想電圧源１５２の電圧値ＤＶｏＨが観測される。比較部１７はこの電圧値ＤＶｏＨに基づいてハイレベルであるかローレベルであるかの比較判定を行う。仮想デバイス１５０の論理出力値がローレベル（Ｌ）の場合には、理想電圧源１５４と純抵抗１５５が比較部１７２に接続されるので、比較部１７２には理想電圧源１５４の電圧値ＤＶｏＬが観測される。比較部１７はこの電圧値ＤＶｏＬに基づいてハイレベルであるかローレベルであるかの比較判定を行う。仮想デバイス１５０の論理値がハイインピーダンス（Ｚ）の場合には、入力純抵抗１５６が比較部１７２に接続されるだけなので、比較部１７２における電圧値はほぼ０の状態となる。この場合には比較部１７はローレベルと判定することになる。
【００５１】
図１０は、負荷条件設定部１７１の理想電圧源１８１（テスタドライバの理想電圧源）と終端抵抗１８４が仮想デバイス１５０に接続された場合に、比較部１７で観測される仮想デバイス１５０の論理出力値を示す図である。この場合、理想電流源１８２、理想電流源１８３及びブリッジ回路１８５は存在しないものとする。仮想デバイス１５０の論理値がハイレベル（Ｈ）の場合には、理想電圧源１５２と純抵抗１５３が理想電圧源１８１と終端抵抗１８４に接続されるので、比較部１７２における電圧値は（（ＤＶｏＨ−Ｖｔ）×５０）／（５０＋ＤＲｏＨ）＋Ｖｔとなる。この電圧値は終端抵抗１８４の端子電圧値（（ＤＶｏＨ−Ｖｔ）×５０）／（５０＋ＤＲｏＨ）と理想電圧源１８１の電圧値Ｖｔとの合計値である。仮想デバイス１５０の論理値がローレベル（Ｌ）の場合には、理想電圧源１５４と純抵抗１５５が理想電圧源１８１と終端抵抗１８４に接続されるので、比較部１７２における電圧値は（（ＤＶｏＬ−Ｖｔ）×５０）／（５０＋ＤＲｏＬ）＋Ｖｔとなる。この電圧値は終端抵抗１８４の端子電圧値（（ＤＶｏＬ−Ｖｔ）×５０）／（５０＋ＤＲｏＬ）と理想電圧源１８１の電圧値Ｖｔとの合計値である。仮想デバイス１５０の論理値がハイインピーダンスの場合には、入力純抵抗１５６が理想電圧源１８１と終端抵抗１８４に接続されるので、比較部１７２における電圧値は同じく終端抵抗１８４の端子電圧となるのであるが、この場合入力純抵抗１５６の抵抗値ＤＲｉｎは終端抵抗１８４に比べて非常に大きいため、電流は流れずに比較部１７２における電圧値はそのまま理想電圧源１８１の電圧値Ｖｔとなる。
【００５２】
図１１は、プログラマブルロードとして動作する負荷条件設定部１７１が接続されている場合に、比較部１７２で観測される仮想デバイス１５０の論理出力値を示す図である。仮想デバイス１５０の論理値がハイレベル（Ｈ）で、理想電圧源１８１の電圧値Ｖｔが理想電圧源１５２の電圧値ＤＶｏＨよりも小さい場合（Ｖｔ＜ＤＶｏＨ）には、理想電圧源１５２と純抵抗１５３が理想電流源１８３に接続されるので、比較部１７２における電圧値はＤＶｏＨ＋ＤＲｏＨ×ＩＬＨとなる。仮想デバイス１５０の論理値がハイレベル（Ｈ）であって、理想電圧源１８１の電圧値Ｖｔが理想電圧源１５２の電圧値ＤＶｏＨよりも大きい場合（Ｖｔ＞ＤＶｏＨ）には、理想電圧源１５２と純抵抗１５３が理想電流源１８２に接続されるので、比較部１７２における電圧値はＤＶｏＨ＋ＤＲｏＨ×ＩＬＬとなる。
【００５３】
また、仮想デバイス１５０の論理値がローレベル（Ｌ）であって、理想電圧源１８１の電圧値Ｖｔが理想電圧源１５４の電圧値ＤＶｏＬよりも大きい場合（Ｖｔ＞ＤＶｏＬ）には、理想電圧源１５４と純抵抗１５５が理想電流源１８３に接続されて、比較部１７２における電圧値はＤＶｏＬ＋ＤＲｏＬ×ＩＬＨとなる。仮想デバイス１５０の論理値がローレベル（Ｌ）であって、理想電圧源１８１の電圧値Ｖｔが理想電圧源１５４の電圧値ＤＶｏＬよりも小さい場合（Ｖｔ＜ＤＶｏＬ）には、理想電圧源１５４と純抵抗１５５が理想電流源１８２に接続されるので、比較部１７２における電圧値はＤＶｏＬ＋ＤＲｏＬ×ＩＬＬとなる。
【００５４】
仮想デバイス１５０の論理値がハイインピーダンス（Ｚ）の場合には、比較部１７２のおける電圧値は、理想電圧源１８１の電圧値に依存した次のような値となる。理想電圧源１８１の電圧値Ｖｔが入力純抵抗１５６の両端電圧以下の正の値である場合、すなわちＤＲｉｎ×ＩＬＬ＞＝Ｖｔ＞＝０の場合には、比較部１７２における電圧値は理想電圧源１８１の電圧値Ｖｔとなる。理想電圧源１８１の電圧値Ｖｔが入力純抵抗１５６の両端電圧よりも大きい正の値である場合、すなわちＤＲｉｎ×ＩＬＬ＜Ｖｔ＞＝０の場合には、比較部１７２における電圧値は入力純抵抗１５６の両端電圧値ＤＲｉｎ×ＩＬＬとなる。理想電圧源１８１の電圧値Ｖｔが入力純抵抗１５６の両端電圧以上の負の値である場合、すなわちＤＲｉｎ×ＩＬＨ＜＝Ｖｔ＜０の場合には、比較部１７２における電圧値は理想電圧源１８１の電圧値Ｖｔとなる。理想電圧源１８１の電圧値Ｖｔが入力純抵抗１５６の両端電圧よりも小さい負の値である場合、すなわちＤＲｉｎ×ＩＬＨ＞Ｖｔ＜０の場合には、比較部１７２における電圧値は入力純抵抗１５６の両端電圧値ＤＲｉｎ×ＩＬＨとなる。なお、図９〜図１１の場合において、仮想デバイス１５０の論理値が不定の場合には、その論理値出力も不定である。
【００５５】
図９〜図１１に示すように、比較部１７２における電圧値は、被検査用半導体デバイス２５０の評価対象ピンに対応する抵抗値を含んだ値になっている。すなわち、図８に示す仮想デバイス１５０は、図２に示した被検査用半導体デバイス２５０内部の抵抗を考慮したものである。したがって、デバッグ装置１００は、図８に示した仮想デバイス１５０を用いることにより、被検査用半導体デバイス２５０を用いることなく半導体試験装置２００の機能試験時における動作を的確にシミュレートすることができるため、デバイステストプログラム１１２のデバッグの精度を高めることが可能となる。
【００５６】
また、上述した実施の形態では、被検査用半導体デバイス２５０の試験を行うデバイステストプログラムをデバッグするデバッグ装置１００について考えたが、被検査用半導体デバイスとしては、半導体メモリ、各種のプロセッサ、ロジック用のＩＣ等、様々なものが考えられる。
【００５７】
なお、上述の実施の形態では、ハイレベル又はローレベルの理想電圧源と純抵抗がそれぞれ直列接続されたものと入力純抵抗とを切り替えて、仮想デバイスを擬似的（等価的）にシミュレートした場合を示しているが、これに限らず、理想電圧源の電圧値や抵抗値が測定条件に応じて変化する複雑な動作をするようなデバイスをシミュレートしてもよい。また、演算によってその出力が得られる場合について説明したが、テーブル変換によって得られるようにしてもよい。
【００５８】
【発明の効果】
上述したように第１の発明によれば、半導体デバイスの内部抵抗によって生じる電圧変化や電流変化を含んだ形で実際の被検査用半導体デバイスの動作を的確にシミュレートすることができるという効果がある。
【００５９】
上述したように第２の発明によれば、実際の被検査用半導体デバイスに対して半導体試験用プログラムを動作させた場合と同様に、仮想的な半導体デバイスがその内部抵抗によって生じる電圧変化や電流変化を含んだ形で実際の被検査用半導体デバイスの動作をシミュレートするので、半導体試験用プログラムの内容を検証することができる。
【図面の簡単な説明】
【図１】
本実施形態のデバッグ装置の全体構成を示す図である。
【図２】半導体試験装置の全体構成を示す図である。
【図３】ＤＣパラメトリック試験において信号ピンの測定を行う場合の仮想デバイスを等価回路で表した図である。
【図４】ＤＣパラメトリック試験において信号ピンの測定を行う場合の測定値を示す図である。
【図５】ＤＣパラメトリック試験において電源ピンの測定を行う場合の仮想デバイスを等価回路で表した図である。
【図６】ＤＣパラメトリック試験において電源ピンの測定を行う場合の測定値を示す図である。
【図７】ＤＣパラメトリック試験用のデバイステストプログラムを実行した場合のデバッグ装置の動作手順を示す流れ図である。
【図８】仮想試験実行部の機能試験実行部が機能試験を行う場合に実現されるべき機能試験実行部及び仮想デバイスの内容を等価回路で表した図である。
【図９】負荷条件設定部が接続されていない（無負荷）場合に比較部で観測される仮想デバイスの論理出力値を示す図である。
【図１０】負荷条件設定部の理想電圧源（テスタドライバの理想電圧源）と終端抵抗が仮想デバイスに接続された場合に、比較部で観測される仮想デバイスの論理出力値を示す図である。
【図１１】プログラマブルロードとして動作する負荷条件設定部が接続されている場合に、比較部で観測される仮想デバイスの論理出力値を示す図である。
【符号の説明】
１００  デバッグ装置
１１０  エミュレータ制御部
１１２  デバイステストプログラム
１４０  テスタエミュレート部
１４６  仮想試験実行部
１４７  機能試験実行部
１４８  ＤＣパラメトリック試験実行部
１５０  仮想デバイス
１５１  論理値保持部（ＤＬＶ）
１５２、１５４  理想電圧源
１５３、１５５  純抵抗
１５６  入力純抵抗
１５７  切替部
１５９  パラメ−タ設定部
１６０  試験結果解析判定部
【図１】
0003942765.tif 000002
【図２】
0003942765.tif 000003
【図３】
0003942765.tif 000004
【図４】
0003942765.tif 000005
【図５】
0003942765.tif 000006
【図６】
0003942765.tif 000007
【図７】
0003942765.tif 000008
【図８】
0003942765.tif 000009
【図９】
0003942765.tif 000010
【図１０】
0003942765.tif 000011
【図１１】
0003942765.tif 000012