(57)【特許請求の範囲】
【請求項１】
半導体デバイスの機能テストをするための半導体テストシステムにおいて、
被試験半導体デバイス（ＤＵＴ）の電源ピンに電源を供給し、ＤＵＴの入力ピンにテストパターンを印加してそのＤＵＴの出力信号を評価するためのテスタハードウエアと、
汎用オペレーティングシステムにより動作し、テストプログラムに基づいて半導体テストシステムの総合的動作を制御するためのホストコンピュータと、
テストパターンの基準電圧と電源の構成をあらわすコンフィギュレーションデータとその基準電圧、電源およびテストパターンの動作・非動作タイミングをあらわすタイミングデータを演算するコンフィギュレーションソフトウエアと、そのコンフィギュレーションソフトウエアは、ＤＵＴをテストする前に、テストプログラムに基づいて上記コンフィギュレーションデータとタイミングデータを演算し、
テスタハードウエア内の電源と基準電圧における動作、非動作のタイミングを起動させるための電源トリガと信号トリガをそれぞれテスタハードウエアに供給するためのデバイスドライバーと、
そのデバイスドライバーが規定する所定の時間後に割込み信号を形成し、その割込み信号を上記ホストコンピュータを介して上記デバイスドライバーに送信するためのハードウエアタイマーであって、あらかじめ定められた所定の計算値を格納するレジスタと、レジスタに格納された計算値に達するまでクロック信号を計数するダウンカウンターとを有するハードウエアタイマーと、
により構成され、上記デバイスドライバーは、上記ハードウエアタイマーからの割込み信号を受信すると、テストパターンを開始し、テスタハードウエアから発生されたテスト終了信号を受信するとテストパターンを停止し、所定の時間間隔後に上記ハードウエアタイマーから割込み信号を形成させるように上記ハードウエアタイマーを起動し、上記ハードウエアタイマーから割り込み信号を受信すると、上記ＤＵＴへの電源供給を停止する、半導体テストシステム。
【請求項２】
上記デバイスドライバーは、ホストコンピュータを介して送信される割込み信号に対して所定の待ち時間と所定の優先順位により応答するように構成されたソフトウエアである、請求範囲１項に記載の半導体テストシステム。
【請求項３】
上記デバイスドライバーは、ハードウエアタイマーにより形成される割込み信号、またはテスタハードウエアから発生される割込み信号に応答するように設計されている、請求範囲１項に記載の半導体テストシステム。
【請求項４】
上記テスタハードウエアは、上記コンフィギュレーションソフトウエアからのコンフィギュレーションデータにより規定された基準電圧に基づいてテストパターンを形成し、上記コンフィギュレーションソフトウエアからのコンフィギュレーションデータにより規定されたＤＵＴへ供給する電源を形成する、請求範囲１項に記載の半導体テストシステム。
【請求項５】
上記テスタハードウエアは更に、ＤＵＴの出力信号と期待信号を比較して、その出力信号と期待信号間にミスマッチを検出したときフェイル信号を発生するためのコンパレータと、そのフェイル信号を受信するとテスト終了信号を発生するテスト終了ロジックを有している、請求範囲４項に記載の半導体テストシステム。
【請求項６】
上記ホストコンピュータは、上記テスタハードウエアからテスト終了信号を受信すると割込み信号を形成して上記デバイスドライバーに送信する、請求範囲５項に記載の半導体テストシステム。
【請求項７】
半導体デバイスの機能テストをするための半導体テストシステムにおいて、
被試験半導体デバイス（ＤＵＴ）の電源ピンに電源を供給し、そのＤＵＴの入力ピンにテストパターンを印加して、そのＤＵＴの出力信号を評価するためのテスタハードウエアと、
汎用オペレーティングシステムにより動作し、テストプログラムに基づいて半導体テストシステムの総合的動作を制御するためのホストコンピュータと、
テストパターンの基準電圧と電源の構成をあらわすコンフィギュレーションデータとその基準電圧、電源およびテストパターンの動作・非動作タイミングをあらわすタイミングデータを演算するための演算手段と、そのコンフィギュレーションデータとタイミングデータは、ＤＵＴをテストする前に、テストプログラムに基づいて決定され、
テスタハードウエア内の電源と基準電圧における動作、非動作のタイミングを起動させるための電源トリガと信号トリガをそれぞれテスタハードウエアに供給するための供給手段と、
その供給手段が規定する所定の時間後に割込み信号を形成し、その割込み信号を上記ホストコンピュータを介して上記供給手段に送信するためのハードウエアタイマーであって、あらかじめ定められた所定の計算値を格納するレジスタと、レジスタに格納された計算値に達するまでクロック信号を計数するダウンカウンターとを有するハードウエアタイマーと、
により構成され、上記ハードウエアタイマーからの割込み信号を受信すると、テストパターンを開始し、そのテストパターンは、上記テスタハードウエアから発生されたテスト終了信号を受信すると終了し、上記ハードウエアタイマーは、そのテスト終了信号の発生から所定時間経過後に上記割込み信号を形成して上記ＤＵＴへの電源を直ちに非動作にする、半導体テストシステム。
【請求項８】
上記テスタハードウエアは、上記演算手段で決定されたコンフィギュレーションデータにより規定する基準電圧に基づいてテストパターンを形成し、その演算手段で決定されたコンフィギュレーションデータにより規定するＤＵＴに供給する電源を形成する、請求範囲７項に記載の半導体テストシステム。
【請求項９】
上記テスタハードウエアは更に、ＤＵＴの出力信号と期待信号を比較して、その出力信号と期待信号間にミスマッチを検出したときフェイル信号を発生するためのコンパレータと、そのフェイル信号を受信するとテスト終了信号を発生するテスト終了ロジックを有している、請求範囲７項に記載の半導体テストシステム。
【請求項１０】
上記ホストコンピュータは、上記テスタハードウエアからテスト終了信号を受信すると割込み信号を発生する、請求範囲７項に記載の半導体テストシステム。
【発明の詳細な説明】
技術分野
この発明は、ＩＣやＬＳＩのような半導体デバイスをテストするための半導体テストシステムに関し、特に、汎用オペレーティングシステムを用いて高い時間精度のテストシーケンスを発生できるようにした半導体テストシステムに関する。
背景技術
半導体テストシステム（ＩＣテスタ）により、ＩＣやＬＳＩのような半導体デバイスをテストする場合には、被試験デバイスの該当するピンに、ＩＣテスタにより生成されたテスト信号すなわちテストパターンを予め定めたテストタイミングで供給する。そしてＩＣテスタは、被試験デバイスから、そのテスト信号に応答した出力信号を受信する。その出力信号を所定のタイミングによるストローブ信号でストローブすなわちサンプルし、期待値データと比較して、被試験デバイスが正常に機能しているかどうかを検証する。
このような半導体デバイスをテストする状況において、そのテスト動作の一部として、テストシステムは、テストシステム自身や被試験デバイス（ＤＵＴ）および関連機器の動作シーケンスを制御する必要がある。被試験ロジックデバイス（ＤＵＴ）における機能的テストにおいて発生される動作シーケンスの例を、図１Ａ−図１Ｄのタイミング図に示す。
この例において、テストシステムは、ＤＵＴに２つの電源を供給している。２つの電源の動作（イベント）の開始時間は、例えば、図１Ａ、図１Ｂにそれぞれ示す時間Ｓ１、時間Ｓ２が望ましい。ＤＵＴの信号線は、図１Ｃの時間Ｓｉで初期化しなければならない。デジタルテストパターンはＤＵＴに供給され、そのテストパターンの開始時間は、図１Ｄの時間Ｓｔとして示されている。実際には、デジタルテストパターンは、数百キロバイトまたは数メガバイトのベクターのような大規模なものとなっている。
目的としたテストにおけるデジタルテストパターン発生動作は、ＤＵＴの出力についてフェイル（不良）が検出された場合、またはテストパターンの終了の場合のいずれかによって完了する。テストパターン発生の終了時間は、図１Ｄの時間Ｅｔとして示されている。テストパターンが終了した時点で、ＤＵＴへの電源の供給は終了する（非動作にする）。これらの終了イベントとして好ましい時間が、図１Ａ、図１Ｂにそれぞれ時間Ｅ１、時間Ｅ２として示されている。上述の動作シーケンスは、ＤＵＴについて、各種の異なるロジックテストを行うために繰り返し実行される。
このようなテストを実際に行う際には、テストエンジニアは、テストプログラムの一部として、テストパターンを開始する時間Ｓｔを基準として、各種のイベントの時間Ｓ１、Ｓ２、Ｓｉを特定する。同様に、テストパターンの終了時間Ｅｔを基準として、ＤＵＴへの電源供給を終了するイベントの時間Ｅ１、Ｅ２を特定する。
ロジックテストの結果が有効であるためには、テストシステムは、テストシステム自身、ＤＵＴ、および関連機器の各タイミングを正確にかつ繰り返し可能に制御できなければならない。シーケンスのタイミングに所定以上の誤差や変動があると、そのテストは無効となったり、または矛盾したテスト結果をもたらし、あるいはＤＵＴに損害を与える原因となる。例えば、上記のイベントの各時間Ｓ１、Ｓ２、Ｓｉに必要なタイミングレゾリューション（時間精度）は、一般に、１ミリ秒ブラスマイナス１００マイクロ秒程度である。
現在のテストシステムは、ユーザが各種のテストアプリケーションやエンジニアリングソフトウエアを実行できるように、一般に、ＵＮＩＸ（登録商標）やマイクロソフトウインドウ（登録商標）のような汎用オペレーティングシステムを用いている。これら汎用オペレーティングシステムは、テストシステムを販売する会社、または顧客、あるいは第三者から提供される。しかし、このような汎用オペレーティングシステム・プラットフォームには、ソフトウエアが高い時間精度で繰り返し実行できる機能は用いられていない。したがって、汎用オペレーティングシステムのみを用いると、動作タイミングは０−１０ミリ秒の変動が生じ、かつその動作タイミングをユーザが制御することはできない。
すなわち、テストのための各種イベントのタイミングを、所望のタイミングで発生させることができない。例えば図２Ａ、図２Ｂのタイミング図において、タイミングＳ１、Ｓ２は、図１Ａ、図１Ｂに示す意図したタイミングＳ１、Ｓ２よりも早く開始し、またタイミングＥ１、Ｅ２は、図１Ａ、図１Ｂに示す意図したタイミングＥ１、Ｅ２よりも遅く終了している。このため、ＤＵＴのテストにおいて誤差を発生させる原因となり、テストの信頼性を損なう。
このような問題を解決するために、一般に用いられる方法として、テストシステムに専用リアルタイムオペレーティングシステムを付加することにより、テストシステムのソフトウエアが、テストシステム（ＩＣテスタ）自身やＤＵＴの正確な動作シーケンスの制御を実行できるようにしている（「Ａｄｖａｎｔｅｓｔ  Ｔ６６８２  Ｖｉｅｗｐｏｉｎｔ  Ａｒｃｈｉｔｅｃｔｕｒｅ」Ａｄｖａｎｔｅｓｔ社、１９９８）。このリアルタイムオペレーティングシステムは、一般に別のプロセッサで実行されるが、場合によっては、汎用オペレーティングシステ用のプロセッサと同一プロセッサで実行することもある。このようなリアルタイムオペレーティングシステムを用いることにより、１００−１０００マイクロ秒程度のタイミング精度で且つ繰り返し動作シーケンスを実現できる。
しかし、このような追加のオペレーティングシステムを用いると、複数のプロセッサで実行される不均質（ノンホモジーニアス）なオペレーティングシステムの構成となる。この構成では、例えばテストプログラムの開発において、全体として複雑性が増大し、またソフトウエアアプリケーションにおける柔軟性が減少する。したがって、この解決法は、結果として、テストの総合コストを増加させてしまう。
また別の従来技術では、単一のリアルタイムオペレーティングシステムを用いて、各種アプリケーションプログラムをサポートするとともに、テストシステムのソフトウエアに必要な時間精度の動作シーケンスを実現するようにしている（「Ａｄｖａｎｔｅｓｔ  Ｔ６６８２  Ｖｉｅｗｐｏｉｎｔ  Ａｒｃｈｉｔｅｃｔｕｒｅ」Ａｄｖａｎｔｅｓｔ社、１９９８）。このシステムは、均質（ホモジーニアス）なオペレーティングシステムによる単純性や効率性を実現でき、シーケンスの高精度タイミング設定や繰り返し性も実現できる。しかし、リアルタイムオペレーティングシステムでは、得られるサービスやライブラリが、汎用オペレーティングシステムのそれよりも乏しい。したがって、この解決法は、アプリケーションプログラムの設計や実行を制限してしまう。
したがって、テスト業界において、上述の問題を解決できる半導体テストシステムが必要とされている。
発明の開示
本発明の目的は、したがって、汎用オペレーティングシステムを用いて高精度の時間シーケンスを実現できる半導体テストシステムを提供することにある。
また、本発明の他の目的は、各テストにおいて各種パラメータの動作・非動作について高時間精度の動作シーケンスを実現するために、専用のハードウエアとソフトウエアの組み合わせにより構成した半導体テストシステムを提供することにある。
また、本発明の更に別の目的は、供給電源、基準電圧、テストパターン発生との間のタイミング関係を高精度で正確に設定することができる半導体テストシステムを提供することにある。
本発明による半導体テストシステムは、被試験半導体デバイス（ＤＵＴ）の電源ピンに電源を供給し、ＤＵＴの入力ピンにテストパターンを印加してそのＤＵＴの出力信号を評価するためのテスタハードウエアと、汎用オペレーティングシステムにより動作し、テストプログラムに基づいて半導体テストシステムの総合的動作を制御するためのホストコンピュータを備えている。本発明のテストシステムは更に、テストパターンの基準電圧と電源の構成をあらわすコンフィギュレーションデータとその基準電圧、電源およびテストパターンの動作・非動作タイミングをあらわすタイミングデータを演算するコンフィギュレーションソフトウエアを有している。そのコンフィギュレーションソフトウエアは、ＤＵＴをテストする前に、テストプログラムに基づいて上記コンフィギュレーションデータとタイミングデータを演算して決定する。
本発明のテストシステムはさらに、テスタハードウエア内の電源と基準電圧における動作、非動作のタイミングを起動させるための電源トリガと信号トリガをそれぞれテスタハードウエアに供給するためのデバイスドライバーと、そのデバイスドライバーが規定する所定の時間後に割込み信号を形成し、その割込み信号を上記ホストコンピュータを介して上記デバイスドライバーに送信するためのハードウエアタイマーを有している。デバイスドライバーは、ハードウエアタイマーからの割込み信号を受信すると、テストパターンを開始し、またハードウエアタイマーから割込み信号を受信すると、ＤＵＴへの電源供給を停止する。
本発明のテストシステムおいて、デバイスドライバーは、ホストコンピュータを介してテスタハードウエアで発生されたテスト終了信号を受信するとテストパターンを停止し、所定の時間間隔の後に割込み信号を発生するようにハードウエアタイマーを起動させ、そのハードウエアタイマーからの割込み信号を受信するとＤＵＴへ供給する電源を非動作にする。
本発明のテストシステムおいて、デバイスドライバーは、ホストコンピュータを介して受信した割込み信号に迅速に応答するように構成された、最小の待ち時間と最優先順位をもつソフトウエアである。また、デバイスドライバーは、ハードウエアタイマーにより形成された割込み信号、あるいはテスタハードウエアにより形成された割込み信号に応答するように構成されている。
テスタハードウエアは、コンフィギュレーションソフトウエアからのコンフィギュレーションデータにより規定された基準電圧に基づいてテストパターンを形成し、かつコンフィギュレーションソフトウエアからのコンフィギュレーションデータにより規定されたＤＵＴへ供給する電源を形成するためのハードウエア制御回路を有している。テスタハードウエアは更に、ＤＵＴの出力信号と期待信号を比較して、その間が不一致のときフェイル信号を発生するための比較器と、その比較器からフェイル信号を受信するとテスト終了信号を形成するためのテスト終了ロジックとを有している。
本発明の半導体テストシステムでは、専用のリアルタイムオペレーティングシステムを使用しなくても、高い時間精度でテストシーケンスを発生することができる。本発明の半導体テストシステムは、汎用オペレーティングシステムを用いるので、柔軟性やサービス性が得られ、また多数のアプリケーションソフトウエアを利用することができる。更に、本発明の半導体テストシステムは、専用のハードウエアとソフトウエアの組み合わせを用いることにより、各テストにおける各種パラメータの動作・非動作について厳密な時間シーケンスを実現することができる。
発明を実施するための最良の形態
本発明の半導体テストシステムを、図３−図７を参照して説明する。本発明の詳細について、好ましい実施例に基づいて以下に説明するが、本発明は、これらの実施例に限られるものではない。本発明は添付した請求範囲に規定した発明の精神と範囲内で、各種の置換、変形、等価の形態を包含するものである。
本発明の半導体テストシステムは、必要な機能を実現するために、専用のハードウエアとソフトウエアとの組み合わせを使用している。本発明の半導体テストシステムにおいては新たな構成要素として、ホストコンピュータに割込みを提供するためのハードウエアプログラマブルタイマーと、テスタハードウエア制御回路と、ハードウエアの構成（コンフィギュレーション）と切り替え動作を演算するためのコンフィギュレーション
（構成）ソフトウエア、及びハードウエアプログラマブルタイマーとテスタの割込みに応答して、テスト装置を間接的に構成するように上記ハードウエアを制御するためのソフトウエアであるデバイスドライバーを有している。コンフィギュレーション
（構成）ソフトウエアは、時間精度を要しないが、デバイスドライバーは時間精度を要する。
本発明の半導体テストシステムの全体的構成の例を、図３のブロック図に示しており、上述のハードウエアとソフトウエアを有している。図３の例において、半導体テストシステムは、テスタハードウエア２８と、電源・テスタ周辺機器３６を有している。テスタハードウエア２８は、テスタの信号線と電源線に、信号や電源を高速で直接的および間接的に与えるためのハードウエア制御回路（ピンエレクトロニックス）３４を有している。
電源・テスタ周辺機器３６は、例えば被試験半導体デバイス（ＤＵＴ）４０に供給する電源をハードウエア制御回路３４に提供する。また、電源・テスタ周辺機器３６は、ＤＵＴ４０に供給されるテスト信号（パターン）の振幅を規定された値に形成するために、ハードウエア制御回路３４に基準電圧を供給する。半導体テストシステムの総合的動作は、汎用オペレーティングシステムを有するホストコンピュータ２２により制御される。ＤＵＴ４０は、ハードウエア制御回路３４を介してテスタハードウエア２８に接続されている。
半導体テストシステムは更に、ホストコンピュータ（汎用オペレーティングシステム）に割込みを発生するためのハードウエアプログラマブルタイマー２４と、テストプログラムを受信し、１または２以上のテストの開始や停止のシーケンスを実現ための切り替え動作やハードウエア構成を予め演算するためのコンフィギュレーションソフトウエア３２、及びハードウエアプログラマブルタイマー２４とテスタ割込みに応答し、テスト装置を間接的に構成するために上記ハードウエア（テスタハードウエア２８、ハードウエア制御回路３４、ハードウエアタイマー２４）を制御するためのデバイスドライバー２６を含んでいる。
デバイスドライバー２６は、高タイミング精度の動作を実行できるように設計されている。ホストコンピュータ２２は、ＵＮＩＸ（登録商標）、ウインドウ（登録商標）、ウインドウＮＴ（登録商標）、あるいはＬＩＮＵＸ（登録商標）のような汎用オペレーティングシステムにより動作する。また、ホストコンピュータ２２は、テストプログラムに基づいて半導体テストシステムの総合的動作を制御する。
現実的な対応として、ホストコンピュータ２２（汎用オペレーティングシステム）は、演算上またはタイミング上あるいは他の資源の制限のために、デバイスドライバー２６による複雑または時間のかかる意思決定を禁止する。従って、そのような複雑あるいは時間を要する意思決定は、コンフィギュレーションソフトウエア３２あるいはテスタハードウエア２８により、あらかじめ可能な時に演算し必要なハードウエアの組み合わせ等の構成をする。すなわち、ホストコンピュータからのテストプログラムに基づいて、コンフィギュレーションソフトウエア３２は、電源とピン信号の初期化を実現させる切り替え動作とハードウエア構成を予め演算する。このように予め演算されたデータは、その実行のためにデバイスドライバー２６とハードウエア制御回路３４に送信される。
図４は、ハードウエアタイマー２４の詳細な構成例を示している。この例では、ハードウエアタイマー２４は、ＰＣＩバスインターフェイスのようなバスインターフェイス４２、レジスタ４６、及びダウンカウンター４４を有している。一例としてハードウエアタイマーは、３２ビット長で０．５ＭＨｚの分解能を有する。レジスタ４６は、書き込み動作を介して、デバイスドライバーからの予め演算された例えば３２ビットの値を格納する。ハードウエアタイマー２４は、書き込み動作を介して、デバイスドライバーからのトリガ信号により始動される。これよりハードウエアタイマー２４は、例えばダウンカウンター４４によりクロック信号をダウンカウントする。ダウンカウンター４４は、その計数値がレジスタ４６からの予め演算された値に到達すると割込み信号を発生する。これにより、プログラムされた時間後に、ＰＣＩバスを介して、テストシステムに割込みを行う。
図５は、テスタハードウエア２８内のハードウエア回路の構成例を示しており、ハードウエア制御回路３４、テスタバス５２、コンパレータ（比較器）５７、及びテスト終了ロジック５５を有している。ハードウエア制御回路３４は、ピンコンフィギュレーションレジスタ５４、ピンドライバー５６、および電源スイッチ５８を含んでいる。実際のテストシステムは、対象とする被試験半導体デバイスのピン数に基づいてこれら素子を多数有している。テスタハードウエア２８は、テスタバス５２を介して、コンフィギュレーションソフトウエア３２からのピンコンフィギュレーションデータとデバイスドライバー２６からの信号トリガと電源トリガを受信する。
ピンドライバー５６は、ＤＵＴ４０の入力ピンに供給するピン信号（テスト信号またはクロック信号）を形成する。電源スイッチ５８は、ＤＵＴ４０の電源ピンに供給する所定電圧レベルの電源を形成する。コンパレータ（比較器）５７は、ＤＵＴ４０の出力（テストパターンに応答した出力）を受信し、それを期待値と比較する。応答出力と期待値とが不一致のときは、コンパレータ５７はフェイル信号を発生する。テスト終了ロジック５５は、フェイル信号を受信すると、テスト終了信号を発生する。テスト終了信号は、テスタバス５２を介して、割込みとしてホストコンピュータ２２に供給される。テスト終了ロジック５５については、本発明と同一の出願人による別の米国特許出願、すなわち２０００年４月２４日に出願した米国特許出願番号０９／５５９、３６５に詳細例が開示されている。
コンフィギュレーション
（構成）ソフトウエア３２により形成されたピンコンフィギュレーションデータ（ピン構成データ）に基づいて、ピンコンフィギュレーションレジスタ５４は、ピンドライバー５６の出力（ピン信号）を高信号レベルまたは低信号レベル（基準電圧）、あるいは高インピーダンスに構成する。コンフィギュレーションソフトウエア３２による電源コンフィギュレーションデータに基づいて、電源３６は、電源スイッチ５８に予め構成された電圧と電流レベルを供給して、ＤＵＴ電源を形成する。上記信号や電源の構成を、ソフトウエア制御のもとで迅速に形成するために、トリガ線が用いられる。この図５の例では、動作の大部分をテスタバス５２を介して実施しているが、テスタバスは必須ではない。
図６は、本発明の半導体テストシステムにおけるデバイスドライバー２６の機能的ブロック図の例を示している。本発明のデバイスドライバー２６により、直接的または間接的にテスタ２８を制御するための単純で迅速な決定ができるように設計されている。このようにすることにより、デバイスドライバー２６は、オペレーティングシステムから与えられた制限に反することなく、ハードウエアテスタ２８のシーケンスを制御することができる。デバイスドライバー２６は、特権的で再構成できるソフトウエアであり、ホストコンピュータ２２内の汎用オペレーティングシステムに付加することができる。デバイスドライバー２６は、適切なタイミングで関連ハードウエアに応答するよう設計されている。特に、汎用オペレーティングシステム（ホストコンピュータ２２）は、デバイスドライバー２６を最優先的に、また最小の待ち時間で実行させることにより、デバイスドライバー２６によるハードウエアの割込み実施することができる。
本発明において、デバイスドライバー２６は、特にハードウエアタイマー２４またはテスタハードウエア２８により発生される割込みに応答するように設計されている。ホストコンピュータ２２は、ハードウエアタイマー２４またはテスタハードウエア２８からの割込みに応答することができ、その割込みをデバイスドライバー２６に送信する。デバイスドライバー２６は、この割込みを受信すると、直ちにハードウエア制御回路３４における上述の電源構成あるいは信号構成を起動させるためのトリガ信号を発生する。
図６の例では、デバイスドライバー２６は、電源初期化ユニット６２、ＤＵＴピン信号初期化ユニット６４、テストパターン実行ユニット６６、及び電源非動作ユニット６８を有している。構成（コンフィギュレーション）データとタイミングデータに基づいて、電源初期化ユニット６２は、ハードウエア制御回路３４に電源トリガを送信し、ＤＵＴの電源を設定する。同様に、構成データとタイミングデータに基づいて、ＤＵＴピン信号初期化ユニット６４は、ハードウエア制御回路３４にピン信号トリガを送信し、ピン信号（高信号レベル、低信号レベル、または高インピーダンス）を設定する。割込みに応答して、テストパターン実行ユニット６６は、テストパターントリガを送信する。これによりテスタ２８は、ＤＵＴに供給するテストパターンを発生する。テストの終了後、電源非動作ユニット６８は、電源トリガを発生してＤＵＴへの電源供給を停止させる。
本発明の半導体テストシステムの動作におけるテストの開始および停止の動作プロセスの例を、図７のフローチャートに示す。上述のように、テストプログラムは、ホストコンピュータ２２からコンフィギュレーションソフトウエア３２に供給される。テストの開始前、すなわちステップ１０１において、コンフィギュレーションソフトウエア３２は、初期化のタイミング、電源と信号構成、非動作のタイミング等を演算する。この演算に基づいて、コンフィギュレーションソフトウエア３２は、統合されたテストシーケンスを作成し、そのテストシーケンスデータをデバイスドライバー２６に送信する。
ステップ１０２において、デバイスドライバー２６は、各初期化シーケンス項目（例えば電源構成とそのタイミング、テスト信号構成とそのタイミング、テストパターンの開始タイミング等）を実行する。デバイスドライバー２６は、ステップ１０３において、初期化シーケンス、例えばハードウエア制御回路３４を介したＤＵＴピン信号トリガまたは電源トリガ、のいずれか１つを設定する。例として、電源トリガを受信すると、ハードウエア制御回路３４は、スイッチを操作して、コンフィギュレーションソフトウエア３２により形成された電源コンフィギュレーションデータに基づいて、テストに用いる電源を構成する。同様に、電源トリガを受信すると、ハードウエア制御回路３４は、スイッチを操作して、テストパターン用の基準電圧（例えば低電圧レベル、高電圧レベル、あるいは高インピーダンス）を設定する。このようにして、ＤＵＴ４０に与える電源タイミングやテストパターンの基準レベルは、デバイスドライバー２６により制御される。
デバイスドライバー２６は更に、ステップ１０４において、ハードウエアタイマー２４にタイマートリガとタイマーコンフィギュレーションデータを送信する。従って、ハードウエアタイマー２４は、デバイスドライバー２６からのコンフィギュレーションデータにり特定された時間長を測定し、その特定時間後に割込み信号を発生する。割込み信号は、ホストコンピュータ２２に送信され、直ちにその割り込みをデバイスドライバー２６に送信する。したがって、ステップ１０５において、デバイスドライバー２６は、割込みに応答して、ＤＵＴ４０に供給するテストパターンの開始をタイミングをハードウエアテスｔ２８に送出する。これにより、初期化のタイミングは、デバイスドライバー２６により正確に規制される。更に、他の初期化に対応して、ＤＵＴ４０に印加するテストパターンの開始タイミングが、半導体テストシステム内で正確に制御される。
ステップ１０２−１０５に関する上述のプロセスは、各種パラメータ、例えば異なる電源電圧、異なるテスト信号基準電圧等を用いてＤＵＴにテストパターンを供給するために繰り返すことができる。従って、ステップ１０６では、半導体テストシステムは、ＤＵＴを連続してテストするとともに、テスタハードウエア２８から発生されるテスト終了信号の発生まで待機している。
ステップ１０７では、テスタ２８から割込みが発生されたかどうかを決定する。そのような割込みは、図５のテスト終了ロジック５５がテスト終了信号を発生した時に生成される。一般に、テスト終了信号は、コンパレータ５７により、ＤＵＴ４０の応答出力と期待データが一致しなかったことが検出された場合に発生される。テスト終了信号に基づく割込みを受信すると、ステップ１０８において、デバイスドライバー２６は、非動作シーケンスを実行して、テストの終了のためのタイミングを制御する。デバイスドライバー２６は、特定のタイミングでテストパターンが終了するように、テストパターンの発生を停止する指示を出す。
デバイスドライバー２６は、ステップ１０９において、ハードウエアタイマー２４にタイマートリガとタイマーコンフィギュレーションデータを送信し、ＤＵＴ４０への電源の非動作のタイミングを特定するための割込みを発生する。デバイスドライバー２６は、ハードウエアタイマー２４に指定された時間長のカウントが終了するまで待つ。ハードウエアタイマー２４は、デバイスドライバー２６からのタイマーコンフィギュレーションデータにより特定されたタイミングで割込み信号を発生する。この割込み信号は、ホストコンピュータ２２を介してデバイスドライバー２６に戻る。従って、デバイスドライバー２６は、ステップ１１０において、ハードウエア制御回路３４に電源トリガを送信して、ＤＵＴからの電源を切り離す。他に非動作にすべき項目があれば、上記のステップ１０８−１１０における非動作のプロセスを繰り返す。従って、ステップ１１１において、非動作対象がないことを確認して、図７のプロセスは終了する。このように、高精度の時間テストシーケンスを、汎用オペレーティングシステムを用いて実行することができる。
以上説明したように、本発明の半導体テストシステムでは、専用のリアルタイムオペレーティングシステムを使用しなくても、高い時間精度でテストシーケンスを発生することができる。本発明の半導体テストシステムは、汎用オペレーティングシステムを用いるので、柔軟性やサービズ性が得られ、また多数のアプリケーションソフトウエアを利用することができる。更に、本発明の半導体テストシステムは、専用のハードウエアとソフトウエアの組み合わせを用いることにより、各テストにおける各種パラメータの動作・非動作について厳密な時間シーケンスを実現することができる。
好ましい実施例しか明記していないが、上述した開示に基づき、添付した請求の範囲で、本発明の精神と範囲を離れることなく、本発明の様々な形態や変形が可能である。
【図面の簡単な説明】
図１Ａ−図１Ｄは、半導体テストシステムにおいて、被試験半導体デバイスに電源とテストパターンを供給する場合の、意図したタイミング関係を示すタイミング図である。
図２Ａ−図２Ｄは、半導体テストシステムにおいて、被試験半導体デバイスに電源とテストパターンを供給する場合の、不適当なタイミング関係を示すタイミング図である。
図３は、汎用オペレーティングシステムを用いて、高時間精度シーケンス発生を可能とした本発明の半導体テストシステムの全体的構成を示すブロック図である。
図４は、図３に示す本発明の半導体テストシステムに用いるハードウエアタイマーの構成例を示す概念ブロック図である。
図５は、図３に示すハードウエア制御回路を含んだ本発明の半導体テストシステムのテスタハードウエアの構成例を示す概念ブロック図である。
図６は、図３に示す本発明の半導体テストシステムに用いるデバイスドライバーの構成例を示す概念図である。
図７は、本発明の半導体テストシステムにおけるテストシーケンス発生の動作例を示すフローチャートである。
【図１Ａ】
0004246498.tif 000002
【図１Ｂ】
0004246498.tif 000003
【図１Ｃ】
0004246498.tif 000004
【図１Ｄ】
0004246498.tif 000005
【図２Ａ】
0004246498.tif 000006
【図２Ｂ】
0004246498.tif 000007
【図２Ｃ】
0004246498.tif 000008
【図２Ｄ】
0004246498.tif 000009
【図３】
0004246498.tif 000010
【図４】
0004246498.tif 000011
【図５】
0004246498.tif 000012
【図６】
0004246498.tif 000013
【図７】
0004246498.tif 000014