(57)【要約】【課題】  より実用的且つ汎用性の高い半導体集積回路のテスト装置および方法を提供する。【解決手段】  半導体集積回路のテスト装置２は、ＨＣ１８から送信されるテストプログラムを、テスト条件設定データとテスト回路構築データとに分けて、ＤＲＡＭ２２とフラッシュメモリ２３とにそれぞれ記憶し、テスト回路構築データに基づいて、ＦＰＧＡ１３に所望のテスト回路１９を構築し、テスト条件設定データに基づいて、検査波形信号生成回路３０により検査波形信号を生成してこれをＤＵＴ２０に出力し、検査波形信号に対してＤＵＴ２０で出力される出力波形信号と理論値とを比較回路３１で比較してＤＵＴ２０の動作の良否を判定し、判定結果をＨＣ１８に送信する。【選択図】    図１
2006162285.tif 000002
【特許請求の範囲】
【請求項１】
ホストコンピュータから送信される被テスト半導体集積回路のテストプログラムを記憶するメモリと、
前記メモリから前記テストプログラムを読み出して、前記被テスト半導体集積回路の動作を検証するためのテスト回路を構築するプログラマブルデバイスと、
前記ホストコンピュータとの信号の入出力を媒介するＰＣインターフェイスと、
前記被テスト半導体集積回路の複数の入出力端子との信号の入出力を媒介するピンエレクトロニクスドライバとを備え、
前記メモリは、前記被テスト半導体集積回路の全てのテスト項目を実行可能なテスト回路を構築するためのテスト回路構築データと、前記被テスト半導体集積回路の全てのテスト項目毎のテスト条件を設定するテスト条件設定データとに分けて前記テストプログラムを記憶する構成を有するとともに、
前記テスト回路は、前記テスト回路構築データの供給を受けて、前記プログラマブルデバイス上に少なくとも複数のテスト項目を実施可能なように形成され、
さらに、前記テスト回路は、前記テスト条件設定データの供給を受けて、少なくとも発生タイミング、極性、電圧値、電流値を可変とする任意の検査波形信号を、前記ピンエレクトロニクスドライバを介して前記被テスト半導体集積回路の任意の端子に出力することを可能とする検査波形信号生成回路と、前記検査波形信号に対して前記被テスト半導体集積回路から出力される出力波形信号と理論値とを比較して、前記被テスト半導体集積回路の動作の良否を判定する比較回路と、を少なくとも含み、
さらに、前記メモリは、前記被テスト半導体集積回路のテスト項目毎に前記テスト条件設定データを前記テスト回路に送信するように構成され、
前記ＰＣインターフェイスを介して前記比較回路による前記被テスト半導体集積回路の動作の良否の判定結果を前記ホストコンピュータに送信することを特徴とする半導体集積回路のテスト装置。
【請求項２】
前記検査波形信号生成回路によって設定され、前記被テスト半導体集積回路に印加する電圧値または電流値のレベルを規定するとともに、前記被テスト半導体集積回路から出力される電圧値または電流値を測定する電圧／電流印加・測定回路を備えたことを特徴とする請求項１に記載の半導体集積回路のテスト装置。
【請求項３】
前記プログラマブルデバイスには、前記被テスト半導体集積回路の全てのテスト項目が実行可能な前記テスト回路が構築されることを特徴とする請求項１または２に記載の半導体集積回路のテスト装置。
【請求項４】
前記半導体集積回路が、論理回路およびメモリを含む複数種類の回路からなる複合デバイスである場合、
前記プログラマブルデバイスには、前記複数種類の回路のうち１種類の回路用の前記テスト回路が構築されることを特徴とする請求項１または２に記載の半導体集積回路のテスト装置。
【請求項５】
ホストコンピュータから送信される被テスト半導体集積回路のテストプログラムを記憶するメモリと、
前記メモリから前記テストプログラムを読み出して、前記被テスト半導体集積回路の動作を検証するためのテスト回路を構築するプログラマブルデバイスと、
前記ホストコンピュータとの信号の入出力を媒介するＰＣインターフェイスと、
前記被テスト半導体集積回路の複数の入出力端子との信号の入出力を媒介するピンエレクトロニクスドライバとを備えた半導体集積回路のテスト装置でテストを行う方法であって、
前記メモリは、前記被テスト半導体集積回路の全てのテスト項目を実行可能なテスト回路を構築するためのテスト回路構築データと、前記被テスト半導体集積回路の全てのテスト項目毎のテスト条件を設定するテスト条件設定データとに分けて前記テストプログラムを記憶するとともに、
前記テスト回路は、前記テスト回路構築データの供給を受けて、前記プログラマブルデバイス上に少なくとも複数のテスト項目を実施可能なように形成され、
さらに、前記テスト回路は、テスト条件設定データの供給を受けて、少なくとも発生タイミング、極性、電圧値、電流値を可変とする任意の検査波形信号を、前記ピンエレクトロニクスドライバを介して前記被テスト半導体集積回路の任意の端子に出力し、前記検査波形信号に対して前記被テスト半導体集積回路から出力される出力波形信号と理論値とを比較して、前記被テスト半導体集積回路の動作の良否を判定し、
さらに、前記メモリは、前記被テスト半導体集積回路のテスト項目毎に前記テスト条件設定データを前記テスト回路に送信し、
前記ＰＣインターフェイスを介して前記比較による前記被テスト半導体集積回路の動作の良否の判定結果を前記ホストコンピュータに送信することを特徴とする半導体集積回路のテスト方法。
【請求項６】
前記プログラマブルデバイスには、前記半導体集積回路の全てのテスト項目が実行可能な前記テスト回路が構築されることを特徴とする請求項５に記載の半導体集積回路のテスト方法。
【請求項７】
前記半導体集積回路が、論理回路およびメモリを含む複数種類の回路からなる複合デバイスである場合、
前記プログラマブルデバイスには、前記複数種類の回路のうち１種類の回路用の前記テスト回路が構築され、
この種類の回路の全てのテスト項目を完了した後、残りの他の種類の回路用の前記テスト回路が構築されることを特徴とする請求項５に記載の半導体集積回路のテスト方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テスト装置に被テスト半導体集積回路のテスト回路を構築し、このテスト回路で被テスト半導体集積回路の動作を検証する半導体集積回路のテスト装置および方法に関する。
【背景技術】
【０００２】
半導体メモリや論理集積回路などの半導体集積回路の動作を検証する際に、ユーザーにより任意の論理が書き換え可能なＦＰＧＡ（Field Programmable Gate Array）などのプログラマブルデバイスを回路基板上に搭載し、このプログラマブルデバイスに、ＨＤＬ（Hardware Description Language）、あるいはＣ言語で記述された所望のテスト項目を実行可能なテスト回路を構築する技術が提案されている。（特許文献１および２参照）。
【特許文献１】国際公開第９８／５７２８１号パンフレット
【特許文献２】特開２００２−１２３５６２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
特許文献１および２に記載の技術では、例えば、ホストコンピュータに蓄積され、テスト対象にテストを実行するためのテストプログラムを、プログラマブルデバイスに送信する際の技術的配慮がなされておらず、テストすべき半導体集積回路のテスト項目毎に、テストプログラムをプログラマブルデバイスに送信する構成となっている。しかしながら、半導体集積回路のテストは、実際には１００項目程度のテストを必要とするため、数メガバイト以上のデータ容量を要するテストプログラムをテスト項目毎にプログラマブルデバイスに送信し、テスト回路を構築することは実用的ではない。また、テストプログラムをテスト項目毎にホストコンピュータなどの外部機器から送信する場合には、ホストコンピュータとの通信速度によっては膨大な時間を要するおそれがあり、現実的ではない。
【０００４】
本発明は、上記課題に鑑みてなされたものであり、テストすべき半導体集積回路のテストに先立って、テストプログラムが蓄積されたホストコンピュータから、プログラマブルデバイスを有するテスト装置に対して、テストプログラムを送信してメモリに記憶するようにしたものであり、その際、テストプログラムを、テスト回路を構築するためのテスト回路構築データ（数メガバイト）と、テスト項目毎のテスト条件設定データ（数百キロバイト）とに分離可能なようにメモリに記憶させておき、このメモリからプログラマブルデバイス上に少なくとも複数のテスト項目を実施可能なようにテスト回路を構築し、しかる後、メモリからプログラマブルデバイス上に、テスト項目毎にテスト条件データを送信するようにしたものである。これによって実用的且つ汎用性の高い半導体集積回路のテスト装置および方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、請求項１に記載の発明は、ホストコンピュータから送信される被テスト半導体集積回路のテストプログラムを記憶するメモリと、前記メモリから前記テストプログラムを読み出して、前記被テスト半導体集積回路の動作を検証するためのテスト回路を構築するプログラマブルデバイスと、前記ホストコンピュータとの信号の入出力を媒介するＰＣインターフェイスと、前記被テスト半導体集積回路の複数の入出力端子との信号の入出力を媒介するピンエレクトロニクスドライバとを備え、前記メモリは、前記被テスト半導体集積回路の全てのテスト項目を実行可能なテスト回路を構築するためのテスト回路構築データと、前記被テスト半導体集積回路の全てのテスト項目毎のテスト条件を設定するテスト条件設定データとに分けて前記テストプログラムを記憶する構成を有するとともに、前記テスト回路は、前記テスト回路構築データの供給を受けて、前記プログラマブルデバイス上に少なくとも複数のテスト項目を実施可能なように形成され、さらに、前記テスト回路は、前記テスト条件設定データの供給を受けて、少なくとも発生タイミング、極性、電圧値、電流値を可変とする任意の検査波形信号を、前記ピンエレクトロニクスドライバを介して前記被テスト半導体集積回路の任意の端子に出力することを可能とする検査波形信号生成回路と、前記検査波形信号に対して前記被テスト半導体集積回路から出力される出力波形信号と理論値とを比較して、前記被テスト半導体集積回路の動作の良否を判定する比較回路と、を少なくとも含み、さらに、前記メモリは、前記被テスト半導体集積回路のテスト項目毎に前記テスト条件設定データを前記テスト回路に送信するように構成され、前記ＰＣインターフェイスを介して前記比較回路による前記被テスト半導体集積回路の動作の良否の判定結果を前記ホストコンピュータに送信することを特徴とする。
【０００６】
なお、前記検査波形信号生成回路によって設定され、前記被テスト半導体集積回路に印加する電圧値または電流値のレベルを規定するとともに、前記被テスト半導体集積回路から出力される電圧値または電流値を測定する電圧／電流印加・測定回路を備えることが好ましい。
【０００７】
また、前記プログラマブルデバイスには、前記被テスト半導体集積回路の全てのテスト項目が実行可能な前記テスト回路が構築されることが好ましい。あるいは、前記半導体集積回路が、論理回路およびメモリを含む複数種類の回路からなる複合デバイスである場合、前記プログラマブルデバイスには、前記複数種類の回路のうち１種類の回路用の前記テスト回路が構築されることが好ましい。
【０００８】
請求項５に記載の発明は、ホストコンピュータから送信される被テスト半導体集積回路のテストプログラムを記憶するメモリと、前記メモリから前記テストプログラムを読み出して、前記被テスト半導体集積回路の動作を検証するためのテスト回路を構築するプログラマブルデバイスと、前記ホストコンピュータとの信号の入出力を媒介するＰＣインターフェイスと、前記被テスト半導体集積回路の複数の入出力端子との信号の入出力を媒介するピンエレクトロニクスドライバとを備えた半導体集積回路のテスト装置でテストを行う方法であって、前記メモリは、前記被テスト半導体集積回路の全てのテスト項目を実行可能なテスト回路を構築するためのテスト回路構築データと、前記被テスト半導体集積回路の全てのテスト項目毎のテスト条件を設定するテスト条件設定データとに分けて前記テストプログラムを記憶するとともに、前記テスト回路は、前記テスト回路構築データの供給を受けて、前記プログラマブルデバイス上に少なくとも複数のテスト項目を実施可能なように形成され、さらに、前記テスト回路は、テスト条件設定データの供給を受けて、少なくとも発生タイミング、極性、電圧値、電流値を可変とする任意の検査波形信号を、前記ピンエレクトロニクスドライバを介して前記被テスト半導体集積回路の任意の端子に出力し、前記検査波形信号に対して前記被テスト半導体集積回路から出力される出力波形信号と理論値とを比較して、前記被テスト半導体集積回路の動作の良否を判定し、さらに、前記メモリは、前記被テスト半導体集積回路のテスト項目毎に前記テスト条件設定データを前記テスト回路に送信し、前記ＰＣインターフェイスを介して前記比較による前記被テスト半導体集積回路の動作の良否の判定結果を前記ホストコンピュータに送信することを特徴とする。
【０００９】
なお、前記プログラマブルデバイスには、前記半導体集積回路の全てのテスト項目が実行可能な前記テスト回路が構築されることが好ましい。あるいは、前記半導体集積回路が、論理回路およびメモリを含む複数種類の回路からなる複合デバイスである場合、前記プログラマブルデバイスには、前記複数種類の回路のうち１種類の回路用の前記テスト回路が構築され、この種類の回路の全てのテスト項目を完了した後、残りの他の種類の回路用の前記テスト回路が構築されることが好ましい。
【発明の効果】
【００１０】
本発明の半導体集積回路のテスト装置および方法によれば、ホストコンピュータから送信される被テスト半導体集積回路のテストプログラムを記憶するメモリと、メモリからテストプログラムを読み出して、被テスト半導体集積回路の動作を検証するためのテスト回路を構築するプログラマブルデバイスと、ホストコンピュータとの信号の入出力を媒介するＰＣインターフェイスと、被テスト半導体集積回路の複数の入出力端子との信号の入出力を媒介するピンエレクトロニクスドライバとを備え、メモリは、被テスト半導体集積回路の全てのテスト項目を実行可能なテスト回路を構築するためのテスト回路構築データと、被テスト半導体集積回路の全てのテスト項目毎のテスト条件を設定するテスト条件設定データとに分けてテストプログラムを記憶する構成を有するとともに、テスト回路は、テスト回路構築データの供給を受けて、プログラマブルデバイス上に少なくとも複数のテスト項目を実施可能なように形成され、さらに、テスト回路は、テスト条件設定データの供給を受けて、少なくとも発生タイミング、極性、電圧値、電流値を可変とする任意の検査波形信号を、ピンエレクトロニクスドライバを介して被テスト半導体集積回路の任意の端子に出力することを可能とする検査波形信号生成回路と、検査波形信号に対して被テスト半導体集積回路から出力される出力波形信号と理論値とを比較して、被テスト半導体集積回路の動作の良否を判定する比較回路と、を少なくとも含み、さらに、メモリは、被テスト半導体集積回路のテスト項目毎にテスト条件設定データをテスト回路に送信するように構成され、ＰＣインターフェイスを介して比較回路による被テスト半導体集積回路の動作の良否の判定結果をホストコンピュータに送信するので、実用的かつ汎用性の高い半導体集積回路のテスト装置および方法を提供することができる。
【発明を実施するための最良の形態】
【００１１】
図１において、本発明を適用した半導体集積回路のテスト装置２は、テストボード１０上に実装されたＣＰＵ１１と、メモリモジュール１２と、ＦＰＧＡ１３と、電圧／電流印加・測定装置（ＰＭＵ；Parametric Measurement Unit）１４と、電源供給回路（ＤＰＳ；Device Power Supply）１５と、ピンエレクトロニクスドライバ（ＰＥ；Pin Electronics Driver）およびマルチプレクサ（ＭＰＸ；Multiplexer）１６と、ホストコンピュータとのインターフェイス１７とから構成される。このテスト装置２は、ホストコンピュータ（ＨＣ）１８から送信されるテストプログラムに基づいて、ＦＰＧＡ１３にテスト回路１９を構築し、このテスト回路１９で検査対象である半導体集積回路（ＤＵＴ；Device Under Test）２０の動作を検証するものである。
【００１２】
ここで、ＨＣ１８から送信されるテストプログラムは、ＤＵＴ２０の仕様に応じて作成されたもので、テスト回路構築データとテスト条件設定データに大別され、各々ＨＤＬあるいはＣ言語によって記述される。テスト回路構築データは、１つのＤＵＴ２０の全てのテスト項目を実行可能なテスト回路を構築するためのデータであり、例えば、ＤＵＴ２０の仕様に応じてテスト・ソウフトウエア・メーカによって準備される。また、テスト条件設定データは、ＦＰＧＡに構築されたテスト回路に対してＤＵＴ２０の全てのテスト項目毎のテスト条件を付与するように、テスト項目に対応して準備される。このテスト条件設定データは、さらに後述するシーケンス設定、ピンリスト設定など、各種条件を設定するデータと、論理デバイスのテスト時のテストパターンデータとを含み、これらはテスト・ソウフトウエア・メーカによって準備されるか、あるいはユーザーによって設定される。
【００１３】
また、ＨＣ１８は、ＵＳＢケーブルなどでテスト装置２に接続されてテスト装置２との間でデータを遣り取りする他、システムＬＡＮ（図示せず）にイーサネット（登録商標）方式により接続され、半導体製造工場全体を統括制御する生産管理装置（図示せず）との生産管理データの送受信を行うものであってもよい。またＨＣ１８は、テスト装置２とＤＵＴ２０とを相対的に移動させるプローバや、ハンドラなどの制御装置（図示せず）とＧＰＩＢ（General Purpose Interface Bus）接続され、この制御装置との信号の送受信を行うものでもよい。さらに、ＨＣ１８は、複数のテスト装置２にＵＳＢ接続されており、各テスト装置２に固有のＩＤ番号を管理し、各テスト装置２を個別に制御するものであってもよい。
【００１４】
さらに、ＤＵＴ２０は、典型的には半導体ウェハ上に形成された複数のチップのうちの所定の組み合わせ単位（例えば１６個）からなり、１回のテスト終了後にテスト装置２を半導体ウェハに対して相対的にこの単位毎に移動させることによって、半導体ウェハに形成されたチップ全体のテストを行う。なお、ＤＵＴ２０は、半導体ウェハのチップに限らず、例えば、実装後の複数の同一半導体チップであってもよい。
【００１５】
ＣＰＵ１１およびインターフェイス１７は、ＦＰＧＡ１３内に構成されるＣＰＵとのインターフェイス回路として示す図２〜４に例示するように、各種出力端子を有し、ＡＮＤ回路やフリップフロップ回路などの各種論理回路から構成される機能モジュール（内部リセット信号作成／内部メモリクリアモジュール（reg#rst、図３）、アドレスデコーダ（reg#addec、図４）など）からなり、ＨＣ１８との信号の入出力を媒介するとともに、バス２１を介してテスト装置２の各部を統括的に制御する。
【００１６】
図１において、メモリモジュール１２は、ＤＲＡＭ２２、フラッシュメモリ２３、およびＳＲＡＭ２４から構成される。このメモリモジュール１２には、ＣＰＵ１１の制御の下に、バス２１を介してＨＣ１８から送信されるテスト回路構築データおよびテスト条件設定データからなるテストプログラムが記憶される。また、メモリモジュール１２は、ＤＵＴ２０のテスト開始に先立って、バス２１を介してＦＰＧＡ１３にテスト回路構築データを送信し、さらにＤＵＴ２０のテスト項目毎に、テスト条件設定データを送信する。また、メモリモジュール１２は、ＦＰＧＡ１３からテスト項目毎に得られたテスト結果を受信してこれを記憶する。また、さらに、メモリモジュール１２は、記憶したテスト結果をＣＰＵ１１およびインターフェイス１７を介してＨＣ１８に送信する。
【００１７】
ＤＲＡＭ２２は、ＤＵＴ２０の全てのテストテスト項目毎のテスト条件設定データが記憶される。ＤＲＡＭ２２は、ＤＵＴ２０のテスト項目毎に、ＣＰＵ１１の制御の下に、バス２１を介して１つのテスト項目毎のテスト条件設定データをＦＰＧＡ１３に送信し、また、テスト条件設定データのうちのテストパターンデータを、ＳＲＡＭ２４を経由してＦＰＧＡ１３に送信する。フラッシュメモリ２３には、ＤＵＴ２０のテストに必要な全てのテスト項目を実行可能なテスト回路１９を構築するためのテスト回路構築データが記憶される。
【００１８】
ＳＲＡＭ２４は、ＤＲＡＭ２２に記憶されたテスト条件設定データのうちのテストパターンデータの一時的バッファとして機能するとともに、ＤＵＴ２０として半導体メモリをテストする際には、ＦＰＧＡ１３から送信されるテスト結果を記憶する救済処理用のＥＣＲメモリとしても機能する。
【００１９】
ＦＰＧＡ１３は、ＤＵＴ２０のテスト開始に先立って、フラッシュメモリ２３からテスト回路構築データを読み出して、これに基づいて複数のテスト項目のテストを実行可能なテスト回路１９を構築する。
【００２０】
テスト回路１９は、ＤＵＴ２０が論理回路あるいはメモリ回路のみから構成される場合には、通常全てのテスト項目を実行可能に構築され、ＤＵＴ２０が論理回路およびメモリ回路を含む複数種類の回路からなる複合デバイスである場合には、複数種類の回路のうちの１種類の回路の全てのテスト項目を実行可能に構築される。かかる複合デバイスにあっては、１つの種類の回路における全てのテスト項目のテストを完了した後、他の種類の回路における全てのテスト項目が実行可能なように新たなテスト回路が構築され、最終的に全てのテストが完了するように個々のテスト回路が構築される。また、さらに、ＦＰＧＡ１３は、テスト回路１９が構築された状態において、ＤＲＡＭ２２およびＳＲＡＭ２４からテスト項目毎にテスト条件設定データを読み出して、このテスト条件にて所望のテストを実行する。
【００２１】
図５に示すように、テスト回路１９は、検査波形信号生成回路３０と比較回路３１とから構成されている。検査波形信号生成回路３０は、テスト項目毎にＤＲＡＭ２２およびＳＲＡＭ２４から送信されるテスト条件設定データを保持するテスト条件設定用レジスタ３２に入力されたテスト条件に応じて、少なくとも、発生タイミング、極性、電圧値、電流値を可変とする任意の検査波形信号を、ＰＥ１６を介してＤＵＴ２０の任意の端子に出力する。
【００２２】
テスト条件設定用レジスタ３２に入力されるテスト条件としては、テスト回路１９全体の動作を制御するためのシーケンス設定、検査波形信号を出力するＤＵＴ２０の入出力ピンを設定するピンリスト設定、ＰＭＵ１４で規定する電圧値または電流値を設定するＰＭＵ設定、ＤＰＳ１５からＤＵＴ２０に供給する電源電圧を設定するＤＰＳ設定、ＰＥおよびＭＰＸ１６の動作を制御するためのリレー設定、検査波形信号の発生タイミングを設定するタイミング設定、波形信号の立ち上がり、立ち下がり、極性を設定するフォーマット設定、および後述するＡＬＰＧ回路３７を動作させるためのインストラクション設定データなどがある。これらのテスト条件は、ある種のＤＵＴ２０の検査に用いられるテスト条件を例示したものであり、ＤＵＴ２０の種類に応じて種々設定変更が可能である。
【００２３】
検査波形信号生成回路３０は、例えば、シーケンス回路３３、ＰＭＵ１４などに設けられたＡ／Ｄ、Ｄ／Ａ回路を制御するためのＡ／Ｄ、Ｄ／Ａ制御回路３４、タイミング回路３５、フォーマット回路３６、およびＡＬＰＧ（Algorithmic Memory Pattern Generator）回路３７から構成される。この検査波形信号生成回路３０は、ＤＵＴ２０に応じて個々に設定される。
【００２４】
シーケンス回路３３は、テスト条件設定用レジスタ３２に入力されたシーケンス設定データおよびピンリスト設定データに基づいて、テストの開始、終了、データのアドレス指定およびＤＵＴ２０の入出力端子の指定など、テストを実行するためのテストシーケンス信号を発するものであり、例えば図６に示すような階層機能モジュール（ピンエレクトロニクス制御モジュール（pec）、タイミング発生モジュール（pec#tmgen）など）を持ち、図７に示すようなブロック構成（テスト開始指示の立ち上がりを検出してパルスを発生する立ち上がり検出、ＨＣ１８からのテスト終了指示、終了アドレスの実行、ＥＮＤ命令、ＳＴＰＳ命令の実行を検出する終了検出など）となっている。
【００２５】
Ａ／Ｄ、Ｄ／Ａ制御回路３４は、テスト条件設定用レジスタ３２に入力されたＰＭＵ設定、ＤＰＳ設定データに基づいて、電圧値または電流値のデータ、およびＤＵＴ２０から出力される出力波形信号の電圧値または電流値を測定するためのレンジ切り替え命令をＰＭＵ１４に送信する。また、ＤＵＴ２０に供給する電源電圧のデータを送信する際のレンジ切り替え命令をＤＰＳ１５に送信する。
【００２６】
タイミング回路３５は、例えば図８に示すような構成（クロック周期用カウンタ、pec#tsblockなど）を有し、テスト条件設定用レジスタ３２に入力されたタイミング設定データに基づいて、テストに使用するサイクルクロックを作成し、これをテストの基本サイクルとして、検査波形信号の発生タイミングを決定する。
【００２７】
フォーマット回路３６は、例えば、図９に示すような構成（クロック選択、波形成形など）を有し、テスト条件設定用レジスタに入力されたフォーマット設定データに基づいて、検査波形信号の立ち上がり、立ち下がりの極性を決定する。
【００２８】
ＡＬＰＧ回路３７は、ＤＵＴ２０として半導体メモリをテストしている場合に、テスト条件設定用レジスタに入力されたインストラクション設定データに基づいて、ＤＵＴ２０の入出力ピンへの繰り返しパターンを発生させ、ピンポンテスト、マーチングテストなどの各種検査波形信号を生成する。
【００２９】
図５において、比較回路３１は、検査波形信号に対してＤＵＴ２０から出力される出力波形信号と理論値とを比較して、ＤＵＴの良否を判定する。この比較回路３１は、例えば図１０に示すような構成（外部ＰＥdelay発生回路、端子状態比較回路など）を有する。また更に、比較回路はＰＭＵ１４で測定される電圧値または電流値を理論値と比較して、ＤＵＴ２０の動作の良否を判定するようにしてもよい。
【００３０】
ここで、テスト条件設定用レジスタ３２は、図１１および図１２に示すようなフォーマットテーブル（reg#fmtreg）およびタイミングテーブル（reg#tmg）を有する。このため、テスト条件設定用レジスタ３２には、比較回路３１によるＤＵＴ２０の動作の良否の判定結果を受けて、ＤＵＴ２０における欠陥処理データ（ＥＣＲ（Error Capture Ram）データ）を作成し、これをＳＲＡＭ２４に格納するためのＥＣＲメモリインターフェイス３８（図５参照）を設けることが可能である。
【００３１】
図１において、ＰＭＵ１４は、Ａ／Ｄ、Ｄ／Ａ回路を有し、Ａ／Ｄ、Ｄ／Ａ制御回路３４から入力される検査波形信号のうちの電圧値、電流値のデータ、および出力信号の電流値または電圧値を測定する際のレンジ切り替え命令を受けて、ＤＵＴ２０へ印加する電圧値または電流値の出力レベルを規定するとともに、測定レンジおよび測定モードを切り替えて、ＤＵＴ２０からの出力信号の電圧値または電流値を測定する。なお、ＰＭＵ１４は、例えば図１３に示すように、増幅器とＦＥＴを組み合わせたレンジ切り替えが可能な回路構成を有する。ＰＭＵ１４におけるかかる構成により、ＤＵＴ２０への入力電圧値、電流値と、ＤＵＴ２０からの出力電流値、電圧値の比較に基づいて、ＤＵＴ２０内部の電流リーク、内部ショートおよび回路のオープンなどの検証を行うことが可能となる。
【００３２】
ＤＰＳ１５は、Ａ／Ｄ、Ｄ／Ａ回路を有し、Ａ／Ｄ、Ｄ／Ａ制御回路３４から入力される電源電圧のデータ、および動作電源電流を測定する際のレンジ切り替え命令を受けて、ＤＵＴ２０に所望の電源電圧を供給する。なお、ＤＰＳ１５は、例えば図１４に示すように、増幅器とＦＥＴを組み合わせたレンジ切り替えが可能な回路構成を有する。ＤＰＳ１５におけるかかる構成により、ＤＵＴ２０への任意の電源電圧を供給することが可能となり、各種の電源電圧におけるＤＵＴ２０の検証を行うことが可能となる。また、ＰＭＵ１４およびＤＰＳ１５を含めたテスト装置２のハードウェア構成は、例えば図１５に示すような構成を有する。
【００３３】
ＰＥ１６は、ＦＰＧＡ１３の複数の入出力ピンとＤＵＴ２０の複数の入出力ピンとの信号の入出力を媒介する。また、ＭＰＸ１６は、リレーマトリックスによりＤＵＴ２０の入出力ピンに対して、ＦＰＧＡ１３の入出力ピンと接続したり、ＰＭＵ１４の入出力ピンを接続する切り替えを行う。
【００３４】
インターフェイス１７は、ＨＣ１８に対して、ＦＰＧＡ１３、メモリ１２およびＣＰＵ１１などの間の入出力を媒介するインターフェイスであって、ＨＣ１８から送信されるテスト開始（START）、テスト中止（STOP）などの各種コマンド、およびＦＰＧＡ１３から送信されるＤＵＴ２０の判定結果（PASS、FAIL）、指令受け入れ可（READY）などの信号の遣り取りを行う。
【００３５】
次に、上記構成による作用について、図１６のフローチャートを参照して説明する。まず、テスト装置２とＨＣ１８とをＵＳＢケーブルなどで接続するとともに、テスト装置２とＤＵＴ２０とをＰＥおよびＭＰＸ１６を介して接続する。
【００３６】
次いで、ＤＵＴ２０のテストプログラムを、インターフェイス１７を介してＨＣ１８から受信し、バス２１を介してメモリモジュール１２に記憶する。このとき、テストプログラムのうち、テスト条件設定データはＤＲＡＭ２２に、テスト回路構築データはフラッシュメモリ２３にそれぞれ分けて記憶される。
【００３７】
テストプログラムの記憶後、ＣＰＵ１１の制御の下に、フラッシュメモリ２３からテスト回路構築データがＦＰＧＡ１３に読み出され、このテスト回路構築データに基づいたテスト回路１９がＦＰＧＡ１３に構築される。
【００３８】
ここで、テスト回路構築データは、ＤＵＴ２０のすべてのテスト項目を実行することが可能なデータを含む。また、ＤＵＴ２０が論理回路もしくはメモリの１種類の回路である場合には、テスト回路構築データのすべてがＦＰＧＡ１３に読み出されてテスト回路が構築される。一方、ＤＵＴ２０が論理回路およびメモリを含む複数種類の回路からなる複合デバイスである場合には、複数種類の回路のうち１種類の回路用のテスト回路構築データがＦＰＧＡ１３に読み出されて、１種類の回路用のテスト回路が構築される。この場合、残りの種類の回路用のテスト回路構築データは、１種類の回路のテストの全てが完了した後、ＦＰＧＡ１３に読み出されて、残りの種類の回路用のテスト回路が構築される。
【００３９】
テスト回路１９の構築後、テストプログラムを送信し、テスト開始の命令がなされると、ＣＰＵ１１の制御の下に、１つのテスト項目毎にテスト条件設定データがＤＲＡＭ２２からテスト回路１９に順次入力されるとともに、ＳＲＡＭ２４にテストパターンデータが設定される。テスト条件設定データは、テスト回路１９のテスト条件設定用レジスタ３２に入力され、これによりテスト条件が設定される。
【００４０】
テスト回路１９では、テスト条件設定用レジスタ３２に入力されたテストプログラムに基づいて、検査波形信号生成回路３０にて所望の検査波形信号が生成される。生成される検査波形信号は、ＰＥ１６を介して、シーケンス回路３３により選択されたＤＵＴ２０の入出力ピンに出力される。また、Ａ／Ｄ、Ｄ／Ａ制御回路３４を介して、ＰＭＵ１４から所望の電圧値あるいは電流値がＤＵＴ２０の入出力ピンに出力される。このとき、ＭＰＸ１６が、ＤＵＴ２０の入出力ピンに対して、ＦＰＧＡ１３の入出力ピンに代えてＰＭＵ１４の入出力ピンを選択するように切り替える。
【００４１】
ＤＵＴ２０では、テスト回路から入力された検査波形信号、あるいはＰＭＵ１４から入力された電圧値、電流値に対する出力波形信号、あるいは電流値、電圧値が、ＰＥおよびＭＰＸ１６を介してＦＰＧＡ１９内に形成された比較回路３１、あるいはＰＭＵ１４に入力される。これらの入力の切り替えは、ＭＰＸ１６の切り替えによって行われる。
【００４２】
比較回路３１では、入力された出力信号と理論値とが比較され、ＤＵＴ２０の動作の良否が判定される。このテスト判定結果は、テスト条件設定用レジスタ３２内に設けられたＥＣＲメモリインターフェイス３８を介してＳＲＡＭ２４に送信されるか、あるいはインターフェイス１７を介してＨＣ１８に送信される。さらに、ＳＲＡＭ２４に記憶された判定結果は、インターフェイス１７を介してＨＣ１８に送信される。
【００４３】
このように、ＨＣ１８から送信されるテストプログラムを、テスト条件設定データとテスト回路構築データとに分け、ＤＲＡＭ２２とフラッシュメモリ２３とにそれぞれ記憶し、テスト回路構築データに基づいて、ＦＰＧＡ１３に所望のテスト回路１９を構築し、テスト条件設定データに基づいて、検査波形信号生成回路３０により検査波形信号を生成してこれをＤＵＴ２０に出力し、検査波形信号に対してＤＵＴ２０で出力される出力波形信号と理論値とを比較回路３１で比較してＤＵＴ２０の動作の良否を判定し、判定結果をＨＣ１８に送信するようにした。したがって、従来のようにテスト項目毎にテスト回路構築データおよびテスト条件設定データの全てからなるテストプログラムをＦＰＧＡのようなプログラマブルデバイスに書き込んでテスト回路を書き換える必要がなく、また大量のテストプログラムをテスト項目毎にホストコンピュータから送信する必要もない。したがって、より実用的且つ汎用性の高い半導体集積回路のテスト装置を提供することができる。
【００４４】
なお、テスト回路１９の構成は、上記実施態様に示す各回路に限らず、例えばトリミング回路を含めてもよい。トリミング回路は、ＤＵＴ２０としてフラッシュメモリをテストする場合に用いられる。フラッシュメモリのテストは、書き込み、読み出し、および消去の工程を繰り返し行うが、トリミング回路は各工程におけるテスト条件を変えながらテストを繰り返し、フラッシュメモリの全セルがプログラム状態（フローティングゲートなどの電荷蓄積サイトに電荷を書き込んだ状態）およびイレース状態（フローティングゲートなどの電荷蓄積サイトを空にした状態）において、セル電流が確実なＯＮ／ＯＦＦを示す条件を抽出するための回路である。勿論、抽出した条件によってもなお、上記の挙動を示さないセルに対しては、そのセルをＮＧとして処理するための機能も有する。上記のテストは、フラッシュメモリのテストにおいて多くの時間を占めるテストであり、トリミング回路はこのシーケンスを実施するための回路である。
【００４５】
なお、上記実施態様では、ＦＰＧＡ１３に全てのテストが実行可能なテスト回路１９を構築しているが、テスト対象デバイスが論理回路およびメモリを含む複数種類の回路からなる複合デバイスである場合には、複数種類の回路のうち１種類の回路（例えば論理回路）用のテスト回路を構築し、この種類の回路のテストを完了した後、残りの種類の回路（メモリ）用のテスト回路を構築し、残りの回路のテストを同様に行うようにしてもよい。また、テスト対象デバイスが自己テスト回路を有するデバイス（ＢＩＳＴ；Built In Self Test、ＤＦＴ；Design For Test）である場合、それに対応するテスト回路１９を構築し、テスト条件を設定すればよい。これにより、１つのテスト装置で様々な半導体集積回路のテストを実現することができる。
【図面の簡単な説明】
【００４６】
【図１】本発明を適用した半導体集積回路のテスト装置の概略構成を示す図である。
【図２】ＣＰＵおよびインターフェイスの構成の一例を巣メスブロック図である。
【図３】ＣＰＵおよびインターフェイスの機能モジュールの一例を示すブロック図である。
【図４】ＣＰＵおよびインターフェイスの機能モジュールの一例を示すブロック図である。
【図５】テスト回路の概略構成を示す図である。
【図６】シーケンス回路の階層構造の一例を示す説明図である。
【図７】シーケンス回路の内部構成の一例を示すブロック図である。
【図８】タイミング回路の一例を示すブロック図である。
【図９】フォーマット回路の内部構成の一例を示すブロック図である。
【図１０】比較回路の内部構成の一例を示すブロック図である。
【図１１】テスト条件設定用レジスタに設けられるフォーマットテーブルの概要を示す図である。
【図１２】テスト条件設定用レジスタに設けられるタイミングテーブルの概要を示す図である。
【図１３】ＰＭＵの構成の一例を示す電気回路図である。
【図１４】ＤＰＳの構成の一例を示す電気回路図である。
【図１５】ＰＭＵおよびＤＰＳを含めたテスト装置のハードウェア構成を示すブロック図である。
【図１６】半導体集積回路のテスト装置の処理手順を示すフローチャートである。
【符号の説明】
【００４７】
２  テスト装置
１１  ＣＰＵ
１２  メモリモジュール
１３  ＦＰＧＡ（プログラマブルデバイス）
１４  電圧／電流印加・測定装置（ＰＭＵ）
１５  電源供給回路（ＤＰＳ）
１６  ピンエレクトロニクスドライバ（ＰＥ）およびマルチプレクサ（ＭＰＸ）
１７  インターフェイス
１８  ホストコンピュータ（ＨＣ）
１９  テスト回路
２０  半導体集積回路（ＤＵＴ）
２２  ＤＲＡＭ
２３  フラッシュメモリ
２４  ＳＲＡＭ
３０  検査波形信号生成回路
３１  比較回路
３２  テスト条件設定用レジスタ
【図１】
2006162285.tif 000003
【図２】
2006162285.tif 000004
【図３】
2006162285.tif 000005
【図４】
2006162285.tif 000006
【図５】
2006162285.tif 000007
【図６】
2006162285.tif 000008
【図７】
2006162285.tif 000009
【図８】
2006162285.tif 000010
【図９】
2006162285.tif 000011
【図１０】
2006162285.tif 000012
【図１１】
2006162285.tif 000013
【図１２】
2006162285.tif 000014
【図１３】
2006162285.tif 000015
【図１４】
2006162285.tif 000016
【図１５】
2006162285.tif 000017
【図１６】
2006162285.tif 000018