(57)【特許請求の範囲】
【請求項１】
半導体デバイス試験装置であって、
被試験半導体デバイスを試験するように構成されるプログラム可能ハードウェアを含み、
前記プログラム可能ハードウェアは、前記被試験半導体デバイスへ及び前記被試験半導体デバイスからのデータの流れを制御するべく２つ以上のパターン生成器でプログラムされ、
前記２つ以上のパターン生成器は、
前記被試験半導体デバイスにデータを送信する送信用パターン生成器と、
前記被試験半導体デバイスからデータを受信する受信用パターン生成器と
を含み、
前記送信用パターン生成器と前記受信用パターン生成器とは互いに通信し合う半導体デバイス試験装置。
【請求項２】
前記受信用パターン生成器は、前記被試験半導体デバイスから受信した前記データに対して、１つ以上の命令コードを実行するように構成される、請求項１に記載の半導体デバイス試験装置。
【請求項３】
前記受信用パターン生成器は、前記送信用パターン生成器にメッセージを送信し、前記メッセージは、前記送信用パターン生成器が前記被試験半導体デバイスにデータを送信すべきであるということを示す、請求項１に記載の半導体デバイス試験装置。
【請求項４】
前記送信用パターン生成器は、送信されるべきデータを指定する１つ以上の命令コードを実行するように構成される、請求項１に記載の半導体デバイス試験装置。
【請求項５】
前記受信用パターン生成器は、前記送信用パターン生成器にメッセージを送信するように構成され、
前記メッセージは、前記送信用パターン生成器が前記被試験半導体デバイスにデータを送信すべきであるということを示すデータを含む、請求項１に記載の半導体デバイス試験装置。
【請求項６】
前記プログラム可能ハードウェアから及び前記プログラム可能ハードウェアへのデータの流れを制御するデータ制御器を更に含む、請求項１に記載の半導体デバイス試験装置。
【請求項７】
前記データ制御器は、前記送信用パターン生成器と通信し、かつ、前記データ制御器は前記送信用パターン生成器にコマンドを送信するように構成され、
前記コマンドは、前記送信用パターン生成器によって実行されるべき１つ以上の命令コードを指定するデータを含む、請求項６に記載の半導体デバイス試験装置。
【請求項８】
前記データ制御器は、前記受信用パターン生成器と通信し、かつ、前記データ制御器は、前記受信用パターン生成器にコマンドを送信するように構成され、
前記コマンドは、前記受信用パターン生成器によって実行されるべき１つ以上の命令コードを指定するデータを含む、請求項６に記載の半導体デバイス試験装置。
【請求項９】
半導体デバイスを試験する方法であって、
前記半導体デバイスを試験するためにハードウェアをプログラミングすることを含み、
前記ハードウェアは、
複数ビットのデータを被試験半導体デバイスに送信するべく命令コードでプログラムすることができる送信用パターン生成器と、
受信した前記複数ビットのデータに対してデータ処理を実行するべく命令コードでプログラムすることができる受信用パターン生成器と
を含み、
前記送信用パターン生成器と前記受信用パターン生成器とは互いに通信し合う方法。
【請求項１０】
１つ以上のビットのデータを前記被試験半導体デバイスに送信することと、
前記１つ以上のビットのデータを前記被試験半導体デバイスから受信することと
を更に含む、請求項９に記載の方法。
【請求項１１】
送信されるべきデータを指定する１つ以上の命令コードを、前記送信用パターン生成器によって実行することを更に含む、請求項１０に記載の方法。
【請求項１２】
前記被試験半導体デバイスから受信された前記１つ以上のビットのデータに対して、１つ以上の命令コードを実行することを更に含む、請求項１０に記載の方法。
【請求項１３】
前記送信用パターン生成器は、前記被試験半導体デバイスに前記データのビットを送信する前に、前記受信用パターン生成器からの電気信号を受信するのを待つ、請求項９に記載の方法。
【請求項１４】
半導体デバイスであって、
受信用パターン生成器及び送信用パターン生成器でプログラムされるプログラム可能ハードウェアを含み、
前記送信用パターン生成器は、１つ以上のビットのデータを被試験半導体デバイスに送信するように構成され、
前記受信用パターン生成器は、前記送信用パターン生成器と通信するように構成され、
前記受信用パターン生成器は、前記被試験半導体デバイスから、１つ以上のビットのデータを受信するように構成され、
前記送信用パターン生成器は、前記被試験半導体デバイスに１つ以上の第２ビットのデータを送信する前に、前記受信用パターン生成器から信号を受信するのを待つように構成される、半導体デバイス。
【発明の詳細な説明】
【背景技術】
【０００１】
半導体デバイス（例えば、メモリチップ及びマイクロプロセッサ）に対する商業ニーズが増加し、これらのデバイスの試験はデバイスメーカーにとって重要となっている。そのような試験を実施するために、例えば自動試験装置（「ＡＴＥ」）などの半導体デバイス試験装置が使用され、製造された半導体デバイスの性能を特徴付け、かつ検証する。多くのＡＴＥは、ＡＴＥのハードウェアが、特に被試験半導体デバイス（「ＤＵＴ」）用に構成されているシステムレベルの試験を実施する。
【０００２】
いくつかのタイプの試験では、ＡＴＥは、直流信号などのＤＵＴ信号を送信する。一部のＡＴＥは、ＤＵＴに送信された信号を生成するために使用される信号パターン生成器を含む。パターン生成器によって生成された信号に基づいて、ＡＴＥはＤＵＴに信号を送信し、ＤＵＴはいくつかのデータをＡＴＥに送り返すことによって応答する。
【発明の概要】
【課題を解決するための手段】
【０００３】
広くは、一態様において、半導体デバイス試験装置は、被試験半導体デバイスを試験するように構成されるプログラム可能なハードウェアを含む。このプログラム可能なハードウェアは、被試験半導体デバイスへ、及びこれからのデータの流れを制御するための２つ又はそれ以上のパターン生成器でプログラムされる。２つ又はそれ以上のパターン生成器は、被試験半導体デバイスにデータを送信するように、及び被試験半導体デバイスからデータを受信するようにプログラムされる。パターン生成器のうちの１つは、被試験半導体デバイスにデータを送信するための送信用プログラム可能パターン生成器を含む。もう一方のパターン生成器は、被試験半導体デバイスからデータを受信するための受信用プログラム可能パターン生成器を含む。この受信用プログラム可能パターン生成器は、被試験半導体デバイスから受信したデータに対して、１つ以上の命令コード実行するように構成される。送信用プログラム可能パターン生成器及び受信用プログラム可能パターン生成器は通信している。受信用パターン生成器は、送信用パターン生成器にメッセージを送信し、このメッセージは、送信用パターン生成器が被試験半導体デバイスにデータを送信すべきであるということを示す。送信用パターン生成器は、送信されるべきデータを指定する１つ以上の命令コードを実行するようにプログラムされる。受信用プログラム可能パターン生成器は、送信用プログラム可能パターン生成器にメッセージを送信するように構成され、メッセージは、送信用プログラム可能パターン生成器が被試験半導体デバイスにデータを送信すべきであるということを示すデータを含む。
【０００４】
実施には以下の特徴の１つ以上が含まれてもよい。半導体デバイス試験装置は、プログラム可能なハードウェアから出る、及びこれへのデータの流れを制御するためのデータ制御器も含む。このデータ制御器は、送信用プログラム可能パターン生成器と通信し、かつデータ制御器は送信用プログラム可能パターン生成器にコマンドを送信するように構成され、このコマンドは、送信用プログラム可能パターン生成器によって実行されるべき１つ以上の命令コードを指定するデータを含む。データ制御器は、受信用プログラム可能パターン生成器と通信し、かつ、データ制御器は、受信用プログラム可能パターン生成器にコマンドを送信するように構成され、コマンドは、受信用プログラム可能パターン生成器によって実行されるべき１つ以上の命令コードを指定するデータを含む。
【０００５】
広くは、一態様において、半導体デバイスを試験する方法は、半導体デバイスを試験するようにハードウェアをプログラミングすることを含む。このハードウェアは、複数ビットのデータを被試験半導体デバイスに送信するために、命令コードでプログラムすることができる送信用パターン生成器と、受信した複数ビットのデータにデータ処理を実行するために、命令コードでプログラムすることができる受信用パターン生成器と、を含む。本方法はまた、１つ以上のビットのデータを被試験半導体デバイスに送信することと、１つ以上のビットのデータを被試験半導体デバイスから受信することと、を含む。本方法はまた、送信されるべきデータを指定する１つ以上の命令コードを、送信用パターン生成器によって実行することを含む。本方法はまた、被試験半導体デバイスから受信された１つ以上のビットのデータに対して、１つ以上の命令コードを実行することを含む。
【０００６】
送信用パターン生成器は、被試験半導体デバイスに複数ビットのデータを送信する前に、受信用パターン生成器から電気信号を受信するのを待つ。
【０００７】
広くは、一態様において、半導体デバイスは、受信用パターン生成器及び送信用パターン生成器でプログラムされる、プログラム可能なハードウェアを含む。送信用パターン生成器は、１つ以上のビットのデータを被試験半導体デバイスに送信するように構成される。受信用パターン生成器は、送信用パターン生成器と通信するように構成される。受信用パターン生成器は、被試験半導体デバイスから、１つ以上のビットのデータを受信するように構成される。送信用パターン生成器は、被試験半導体デバイスに１つ以上の第２ビットのデータを送信する前に、受信用パターン生成器から信号を受信するのを待つように構成される。
【０００８】
１つ以上の実施形態の詳細は、添付図面及び以下の明細書に記載される。他の特徴、目的及び利点は、明細書及び図面により、並びに請求の範囲により明らかになるであろう。
【図面の簡単な説明】
【０００９】
【図１】デバイスを試験するためのＡＴＥのブロック図。
【図２】ＡＴＥで使用される試験装置のブロック図。
【図３】半導体デバイス試験装置の概略。
【図４】半導体デバイス試験装置によって実施されるプロセスのプロセスフロー図。
【図５】プログラム可能なハードウェアの図。
【図６】半導体デバイス試験装置によって実施されるプロセスのプロセスフロー図。
【図７】プログラム可能なハードウェアの図。
【図８】半導体デバイス試験装置によって実施されるプロセスのプロセスフロー図。
【図９】パターン生成器によって実行される命令コードの例。
【図１０】パターン生成器によって実行される命令コードの例。
【発明を実施するための形態】
【００１０】
図１を参照すると、半導体デバイスなどの被試験デバイス（ＤＵＴ）１８を試験するためのＡＴＥシステム１０は、試験装置１２を含む。試験装置１２を制御するために、システム１０は、配線接続１６によって試験装置１２とインターフェース接続するコンピュータシステム１４を含む。典型的に、コンピュータシステム１４は、ＤＵＴ １８を試験するためのルーチン及び機能の実行を開始するために、試験装置１２にコマンドを送信する。そのような試験ルーチンの実行は、試験信号の生成、及びＤＵＴ １８への試験信号の送信を開始し、ＤＵＴからの応答を回収することができる。様々なタイプのＤＵＴがシステム１０によって試験されてもよい。例えば、ＤＵＴは集積回路（ＩＣ）チップ（例えば、メモリチップ、マイクロプロセッサ、アナログ−デジタル変換器、デジタル−アナログ変換器等）などの半導体デバイスであってもよい。
【００１１】
試験信号を提供し、ＤＵＴから応答を回収するために、試験装置１２は、ＤＵＴ １８の内部回路のインターフェースを提供する１つ以上のコネクタピンに接続される。いくつかのＤＵＴを試験するために、例えば６４又は１２８もの数のコネクタピン（又はそれ以上）は、試験装置１２にインターフェース接続されてもよい。説明目的で、この実施例では、半導体デバイス試験装置１２は、配線接続を介してＤＵＴ １８の１つのコネクタピンに接続される。伝導体２０（例えばケーブル）は、ピン２２に接続されて、試験信号（例えば、パラメトリック測定ユニット（「ＰＭＵ」）試験信号、ピンエレクトロニクス（「ＰＥ」）試験信号、等）をＤＵＴ １８の内部回路に供給する。伝導体２０もまた、半導体デバイス試験装置１２によって提供される試験信号に応答して、ピン２２で信号を検出する。例えば、電圧信号又は電流信号は、試験信号に応答してピン２２で検出され、伝導体２０を介して試験装置１２へ解析のために送られてもよい。そのような単一ポート試験はまた、ＤＵＴ １８に含まれる他のピン上で実施されてもよい。例えば、試験装置１２は、他のピンへ試験信号を提供し、（提供された信号を供給する）伝導体を介して反射した関連信号を回収してもよい。反射した信号を回収することによって、ピンの入力インピーダンスは、他の単一ポート試験量と共に特徴付けられてもよい。他の試験シナリオでは、デジタル信号は、ＤＵＴ １８上のデジタル値を保存するために、伝導体２０をわたってピン２２に送られてもよい。いったん保存されると、ＤＵＴ １８は、保存されたデジタル値を読み出し、伝導体２０を介してこれを試験装置１２に送るためにアクセスされ得る。読み出されたデジタル値は次いで、正しい値がＤＵＴ １８に保存されているかどうかを判定するために識別され得る。
【００１２】
１ポート測定の実施に伴って、２ポート試験もまた、半導体デバイス試験装置１２によって実施されてもよい。例えば、試験信号は伝導体２０にわたってピン２２内に注入されてもよく、応答信号は、ＤＵＴ １８の１つ以上の他のピンから回収されてもよい。この応答信号は半導体デバイス試験装置１２に提供され、利得応答、位相応答、及び他のスループット測定量などの量を決定する。
【００１３】
図２も参照して、ＤＵＴの複数のコネクタピンから試験信号を送信し、かつ回収するために、半導体デバイス試験装置１２は多くのピンと通信することができるインターフェースカード２４を含む。例えばインターフェースカード２４は、例えば３２、６４、又は１２８ピンに試験信号を送信し、対応する応答を回収する。ピンへの各通信リンクは、一般的にチャネルと呼ばれ、試験信号を多くのチャネルに提供することによって、複数の試験を同時に実施することができるため試験時間が低減される。インターフェースカード上に多くのチャネルを有すると共に、複数のインターフェースカードを試験装置１２内に含むことによって、全体のチャネル数は増加し、これによって更に試験時間を低減する。本実施例では、複数のインターフェースカードを試験装置１２に装着させることができるということを示すために、２つの追加のインターフェースカード２６及び２８が示されている。
【００１４】
各インターフェースカードは、特定の試験機能を実施するための専用の集積回路（ＩＣ）チップ（例えば、特定用途向け集積回路（ＡＳＩＣ））を含む。例えば、インターフェースカード２４は、パラメトリック測定ユニット（ＰＭＵ）試験及びピンエレクトロニクス（ＰＥ）試験を実施するためのＩＣチップ３０を含む。ＩＣチップ３０は、ＰＭＵ試験を実施するための回路を含むＰＭＵ段３２と、ＰＥ試験を実施するための回路を含むＰＥ段３４と、を含む。更に、インターフェースカード２６及び２８はそれぞれ、ＰＭＵ及びＰＥ回路を含むＩＣチップ３６、３８を含む。典型的に、ＰＭＵ試験は、ＤＣ電圧又は電流信号をＤＵＴに提供して、入力及び出力インピーダンスなどの量、漏電電流、並びに他のタイプのＤＣ性能特徴を判定することを含む。ＰＥ試験は、ＡＣ試験信号、すなわち波長をＤＵＴ（例えば、ＤＵＴ １８）に送ることと、ＤＵＴの性能を更に特徴付けるために応答を回収することと、を含む。例えば、ＩＣチップ３０は、ＤＵＴ上での保存のために、２進値のベクトルを表すＡＣ試験信号を送信してもよい。いったんこれらの２進値が保存されると、正しい２進値が保存されたかどうかを判定するために、ＤＵＴは試験装置１２によってアクセスされ得る。デジタル信号は典型的に、急激な電圧遷移を伴うため、ＩＣチップ３０上のＰＥ段３４内の回路は、ＰＭＵ段３２内の回路と比較して比較的高速で動作する。
【００１５】
ＤＣ及びＡＣ試験信号の両方をインターフェースカード２４からＤＵＴ １８まで通過させるために、導電性トレース４０は、ＩＣチップ３０をインターフェースボードコネクタ４２に接続し、これは信号がインターフェースボード２４に伝えられ、これを通過するのを可能にする。インターフェースボードコネクタ４２はまた、インターフェースコネクタ４６に接続される伝導体４４に接続され、これは信号が試験装置１２に伝えられるのを、又は試験装置１２から伝えられるのを可能にする。本実施例では、伝導体２０は、試験装置１２とＤＵＴ １８のピン２２との間の双方向性の信号経路のために、インターフェースコネクタ４６に接続される。いくつかの構成では、インターフェースデバイスは、試験装置１２からＤＵＴまで１つ以上の伝導体を接続するために使用されてもよい。例えば、ＤＵＴ（例、ＤＵＴ １８）は、各ＤＵＴピンへのアクセスを提供するために、デバイスインターフェースボード（ＤＩＢ）上に実装されてもよい。そのような構成では、伝導体２０は、ＤＵＴの適切なピン（例えばピン２２）上に試験信号を配置するために、ＤＩＢに接続されてもよい。
【００１６】
本実施例では、信号を供給し、かつ回収するために、導電性トレース４０及び伝導体４４のみがそれぞれ、ＩＣチップ３０及びインターフェースボード２４を接続する。しかしながら、ＩＣチップ３０（ＩＣチップ３６及び３８と共に）は典型的に、信号を提供し、ＤＵＴから信号を（ＤＩＢを介して）回収するために、複数の導電性トレース及び対応する伝導体とそれぞれ接続される複数のピン（例えば８、１６、等）を有する。更に、いくつかの構成では、試験装置１２は、インターフェースカード２４、２６、及び２８によって提供されるチャネルをインターフェース接続するために、２つ又はそれ以上のＤＩＢを接続してもよい。
【００１７】
試験装置１２は、プログラム可能なハードウェア１０４、例えばフィールドプログラマブルゲートアレイ（「ＦＰＧＡ」）半導体デバイスを含み、これは試験装置１２がＤＵＴ １８に応答するようにプログラムすることができる。プログラム可能なハードウェア１０４はピンエレクトロニクスチップに接続し、これはＤＵＴ １８に接続される。
【００１８】
図３を参照すると、試験装置１２は、ハードウェア伝送技術を含む物理層１０６を含む。例えば、物理層１０６は、ＤＵＴ １８からデータがどのように送信され、受信されるかを制御する。いくつかの実施例では、物理層１０６はＤＵＴ １８から試験装置１２までのビット単位の配信を指定する。物理層はプロトコル固有ではなく、ＤＵＴ １８のポートで使用される様々なタイプのプロトコル及びインターフェース（例えばＳｅｒｉａｌ Ａｄｖａｎｃｅｄ Ｔｅｃｈｎｏｌｏｇｙ Ａｔｔａｃｈｍｅｎｔ（「ＳＡＴＡ」）及びＨｉｇｈ−Ｄｅｆｉｎｉｔｉｏｎ Ｍｕｌｔｉｍｅｄｉａ Ｉｎｔｅｒｆａｃｅ（「ＨＤＭＩ」）など）と併せて使用することができる。試験装置１２では、タイミング及びクロック修復の詳細は、物理層１０６で取り扱われ、プログラム可能なハードウェア１０４は、試験装置１２とＤＵＴ １８との間に伝送される情報のレベル（すなわち、データのビット）を制御する。
【００１９】
プログラム可能なハードウェア１０４は、試験装置１２が試験中にＤＵＴのポート上の様々なプロトコルを使用するように、例えば試験装置１２のユーザーによってプログラムすることができる。プログラム可能なハードウェア１０４は、正しいプロトコルにプログラムすることができ、そのプロトコルを使用してＤＵＴ １８と通信する。試験装置１２は、ＤＵＴ １８上のポートにそのポートのためのプロトコルを使用してデータを送信するため、試験装置１２はプログラム可能なハードウェア１０４によって「プロトコルを認識」している。更に、試験装置１２は、ＤＵＴの問題のアレイをデバッグしたり、又は試験装置１２が組み込み式のプロトコルサポートを有さないＤＵＴ １８を試験することができる。
【００２０】
試験装置１２はＤＵＴ １８に応答するようにプログラムすることができるため、試験装置１２は、ＤＵＴ １８との接続（「ハンドシェイク」）を確立することができる。ハンドシェイクは、接続、速度、プロトコルの詳細、及びＤＵＴ １８上で使用されるアルゴリズムの検証を含む。いくつかの実施例では、試験装置１２がＤＵＴ １８を試験する前に、ＤＵＴ １８上のシリアルポートを立ち上げるためにハンドシェイクが必要とされる。
【００２１】
プログラム可能なハードウェア１０４は、ＤＵＴ １８に送信する複数ビットのデータを指定する、様々な命令コード（operation codes）（「命令コード（opcodes）」）でプログラムすることができる。プログラム可能なハードウェア１０４はまた、ＤＵＴ １８からデータを受信した後に、プログラム可能なハードウェア１０４によって実施されるべき演算を指定する命令コードでプログラムすることができる。図４を参照して、プログラム可能なハードウェア１０４は、ＤＵＴ １８のポートとのハンドシェイクの実施、すなわちＤＵＴ １８のポートの立ち上げにおいて様々なアクション２００を実施する。プログラム可能なハードウェア１０４は、ＤＵＴ １８に複数ビットのデータを送信する命令コードを実行する（２０２）。プログラム可能なハードウェア１０４は、ＤＵＴ １８から複数ビットのデータを受信する（２０４）。プログラム可能なハードウェア１０４は、受信したデータを検証する又は受信したデータに他の機能を実施するために、更に命令コードを実行する（２０６）。これらの機能の例には、ＤＵＴ １８を試験するためのアルゴリズムの試験が挙げられる。プログラム可能なハードウェアはまた、より多くの複数ビットのデータをＤＵＴ １８に送信するために、更に命令コードを実行する（２０８）。これらのアクション（２０２、２０４、２０６）は、ＤＵＴ １８が試験されるまで続けられてもよい。
【００２２】
図５を参照して、プログラム可能なハードウェア１０４は、２つのパターン生成器、すなわち送信用パターン生成器３０２（「Ｔｘ Ｐａｔｇｅｎ」）及び受信用パターン生成器３０４（「Ｒｘ Ｐａｔｇｅｎ」）を含んでもよい。プログラムのライブラリは、プログラム可能なハードウェア１０４に提供される。プログラムのライブラリは、Ｔｘ Ｐａｔｇｅｎ ３０２及びＲｘ Ｐａｔｇｅｎ ３０４を定義するコードを含む。プログラム可能なハードウェア１０４がＦＰＧＡカードである場合、コードはＦＰＧＡコードを含む。
【００２３】
パターン生成器（３０２、３０４）は、試験装置１２のユーザーによって、プログラム可能なハードウェア１０４にプログラムされた一連の命令コードを保存し、これを実行する。例えば、Ｔｘ Ｐａｔｇｅｎ ３０２は、複数ビットのデータをＤＵＴ １８に送信するために、Ｔｘ Ｐａｔｇｅｎ ３０２によって実行される一連の命令コードを含む。Ｒｘ Ｐａｔｇｅｎ ３０４もまた、ＤＵＴ １８から複数ビットのデータを受信するために、Ｒｘ Ｐａｔｇｅｎ ３０４によって実行される一連の命令コードを含む。
【００２４】
２つのパターン生成器（３０２、３０４）の使用を通じて、ＤＵＴ １８への、及びこれからのデータの流れは制御可能である。一実施例において、Ｔｘ Ｐａｔｇｅｎ ３０２はＤＵＴ １８にデータを送信し、Ｒｘ Ｐａｔｇｅｎ ３０４はＤＵＴ １８からデータを受信する。Ｔｘ Ｐａｔｇｅｎ ３０２及びＲｘ Ｐａｔｇｅｎ ３０４は互いにデータ通信しているため、Ｒｘ Ｐａｔｇｅｎ ３０４が受信したデータを検証するまで待ち、更にデータを送らないように、Ｔｘ Ｐａｔｇｅｎ ３０２をプログラムすることができる。
【００２５】
試験装置１２のユーザーは、試験装置１２上に提供されるコンピュータインターフェース５２（図２）を通じて、Ｔｘ Ｐａｔｇｅｎ ３０２又はＲｘ Ｐａｔｇｅｎ ３０４によって実行されるべき命令コードのシーケンス（及び命令コードと関連付けられているデータ）を指定する。例えば、ユーザーは、「ＷＡＩＴ」及び「Ｓｅｔ＿ＴＸ」を含むように、Ｔｘ Ｐａｔｇｅｎ ３０２によって実行される命令コードのシーケンスを定義してもよい。同様に、ユーザーは、「ＲＰＴ」及び「ＷＡＩＴ＿ＲＸ」を含むように、Ｒｘ Ｐａｔｇｅｎ ３０４によって実行される命令コードのシーケンスを定義してもよい。
【００２６】
いくつかの実施例では、Ｔｘ Ｐａｔｇｅｎ ３０２及びＲｘ Ｐａｔｇｅｎ ３０４は、ケーブル、電線、又はコンデンサなどの通信リンク３０６、３０８を介して互いに通信する。Ｔｘ Ｐａｔｇｅｎ ３０２は、ＤＵＴ １８へのデータの移動を制御する。Ｒｘ Ｐａｔｇｅｎ ３０４は、ＤＵＴ １８からのデータの受信を制御する。Ｔｘ Ｐａｔｇｅｎ ３０２は通信リンク３０４を通じて、Ｔｘ Ｆｌａｇ ３１０と呼ばれるデータをＲｘ Ｐａｔｇｅｎ ３０４に送信する。Ｒｘ Ｐａｔｇｅｎ ３０４は通信リンク３０８を通じて、Ｒｘ Ｆｌａｇ ３１２と呼ばれるデータをＴｘ Ｐａｔｇｅｎ ３０２に送信する。
【００２７】
Ｔｘ Ｆｌａｇ ３１０は、Ｒｘ Ｐａｔｇｅｎ ３０４にＤＵＴ １８からのデータ受信の待機を開始すべきであるということを伝えるデータを含む。いくつかの実施例では、Ｔｘ Ｐａｔｇｅｎ ３０２がＤＵＴ １８にデータを送信すると同時に、Ｔｘ Ｐａｔｇｅｎ ３０２はＴｘ Ｆｌａｇ ３１０を送信する。他の実施例では、Ｔｘ Ｐａｔｇｅｎ ３０２はＤＵＴ １８にデータを送信した後にＴｘ Ｆｌａｇ ３１０を送信する。
【００２８】
Ｒｘ Ｐａｔｇｅｎ ３０４は、受信を予定している全てのデータをＲｘ Ｐａｔｇｅｎ ３０４が受信しそのデータの精度及び完全性を検証することができたときに、Ｔｘ Ｐａｔｇｅｎ ３０２にＲｘ Ｆｌａｇ ３１２を送信する。Ｒｘ Ｐａｔｇｅｎ ３０４が予定しているデータをＲｘ Ｐａｔｇｅｎ ３０４が受信した後、Ｒｘ ＰａｔｇｅｎはＴｘ Ｐａｔｇｅｎ ３０２にＲｘ Ｆｌａｇ ３０８を送信する。Ｒｘ Ｆｌａｇ ３１２は、Ｔｘ Ｐａｔｇｅｎ ３０２が、次の命令コードの実行を開始し、ＤＵＴ １８に更にデータを送り続けるべきであるという信号をＴｘ Ｐａｔｇｅｎ ３０２に送る。
【００２９】
いくつかの実施例では、Ｒｘ Ｐａｔｇｅｎ ３０４は、Ｒｘ Ｐａｔｇｅｎ ３０４がどのように処理すべきか分からないというデータをＤＵＴ １８から受信する。一実施例では、Ｒｘ Ｐａｔｇｅｎ ３０４は、ＤＵＴ １８上のアナログ−デジタル変換器から出力されるデータを読むことができない。この場合、Ｒｘ Ｐａｔｇｅｎ ３０４は通信リンク３１４を介してデータをキャプチャメモリデバイス３１６に送信する。キャプチャメモリデバイス３１６は、半導体試験装置のデバイス１００が、後でデータにアクセスできるように、そのデータを保存する。この容量において、キャプチャメモリデバイス３１６はデータリポジトリとして機能し、Ｒｘ Ｐａｔｇｅｎ ３０４が直接処理することができないデータを保存する。
【００３０】
いくつかの実施例では、Ｔｘ Ｐａｔｇｅｎ ３０２及びＲｘ Ｐａｔｇｅｎ ３０４に入るデータは、４８ビット幅、６００メガヘルツ（「ＭＨｚ」）のダイナミックランダムアクセスメモリ（「ＤＲＡＭ」）から来る。本実施例において、６００ＭＨｚのクロック周波数は、Ｔｘ Ｐａｔｇｅｎ ３０２とＲｘ Ｐａｔｇｅｎ ３０４との間で分割される。しかしながら、試験装置１２のＤＲＡＭに保存されたデータのリフレッシュによる一部の非効率性が存在するため、Ｔｘ Ｐａｔｇｅｎ ３０２によって実行される命令コードは、２６６ＭＨｚ（Ｍｈｚ）におけるデータの割り当てられた４８ビットである。同様に、Ｒｘ Ｐａｔｇｅｎ ３０４によって実行される命令コードは、２６６ＭＨｚ（Ｍｈｚ）におけるデータの割り当てられた４８ビットである。４８ビットのデータのうち、４０ビットは記号データであり、８ビットは制御データとして使用される。以下の表１は、Ｔｘ Ｐａｔｇｅｎ ３０２内にプログラムされ得る、送信命令コードの例を提供する：
【表１】
0005732464.tif 000002
【００３１】
上記の表１に示すように、命令コードの初めの４ビットは、Ｔｘ Ｐａｔｇｅｎ ３０２によって実行されるべきコマンド（例えばＮＥＸＴ又はＰＲＴ）を指定する。次の４ビットは、様々な制御ビットを設定するのに使用される被演算子を指定する。残りの４０ビットは記号データとして指定される。表１に提供される実施例において、４０ビットは、各記号が１０ビットを含む４つの記号として送信される。
【００３２】
ＮＥＸＴコマンドは、記号データの４０ビットを取り、それをＴｘ Ｐａｔｇｅｎ ３０２上のポートに送信する。ＰＲＴコマンドも、記号データの４０ビットを取り、それをＴｘ Ｐａｔｇｅｎ ３０２上のポートに送信する。更に、ＰＲＴコマンドは、Ｔｘ Ｐａｔｇｅｎ ３０２上のポートから一定のサイクルの間、データを送信し続け、ここでは、サイクルの数は次の４８ビットコマンドに指定される。ＢＬＯＯＰコマンドはＮＥＸＴコマンドのように機能するが、ただし被演算子のアドレスが保存されており、これによってＥＬＯＯＰコマンドは、このアドレスへと分岐を遡ることができる。
【００３３】
ＥＬＯＯＰコマンドは、Ｔｘ Ｐａｔｇｅｎ ３０２上のポートからデータの４０ビットを送信する。ＥＬＯＯＰコマンドも、特定の回数のループを繰り返すループ機能を含む。ＥＬＯＯＰコマンドでは、ループは、３つのイベント（Ｍａｔｃｈ条件、Ｈｏｓｔ Ｆｌａｇ、又はＩＳＬコマンド）を通じて途中で終了する場合がある。これを受けて、４８ビットデータフィールドの残りのビットは、以下のとおり、このために使用することができる：
ビット４７＝ＲＸ Ｆｌａｇを待つ
ビット４６＝Ｈｏｓｔ Ｆｌａｇを待つ
ビット４５＝ＩＳＬコマンドを待つ
ビット４４：１０＝リザーブ
ビット設定なし＝通常ループ
ＷＡＩＴコマンドは、ピンデータをソースし続けながら、イベントが発生するまで待つ。ＷＡＩＴコマンドも、特定のイベントが発生するのを待ち、イベントが発生した場合、実行は次の命令コードまで進む。
【００３４】
ＷＡＩＴ＿ＳＰＤコマンドは、低（「Ｌ」）、中（「Ｍ」）、及び高（「Ｈ」）の間でパターン速度を変更するために使用される。次の命令コードにおいて、速度変更を安定させる待機カウントが設定される。速度は、被演算子ビットによって選択される。ＳＥＴ＿ＴＸコマンドは、Ｔｘ Ｆｌａｇ ３１０をＲｘ Ｐａｔｇｅｎ ３０４に送信する。これは、Ｔｘ Ｐａｔｇｅｎ ３０２がフラグ命令コードに達したということをＲｘ Ｐａｔｇｅｎ ３０４に知らせるために使用される。ＳＥＴ＿ＦＬコマンドはホストフラグをセットする。ＳＥＴ＿ＩＳＬコマンドはＩＳＬ終了ビットをセットする。ＳＥＴ＿ＭＯＤＥコマンドは以下のとおり、モードビットをセットする。いくつかの実施例では、ＳＥＴ＿ＭＯＤＥコマンドは、Ｔｘ Ｐａｔｇｅｎ ３０２をセットして、データの疑似乱数バイナリシーケンス（「ＰＲＢＳ」）パターンを生成し、これを送信する。他の実施例では、ＳＥＴ＿ＭＯＤＥコマンドは、ループバックが開始されるべきであるということを指定する。ＳＴＯＰコマンドは、データのパターンの移動を停止するが、Ｔｘ Ｐａｔｇｅｎ ３０２上のポートへ４０ビットを送信し続ける。
【００３５】
Ｒｘ Ｐａｔｇｅｎ ３０４内にプログラムされ得る命令コードは、以下の表２に示されるように、Ｔｘ Ｐａｔｇｅｎ ３０２に関する命令コードと同様であってもよい。
【表２】
0005732464.tif 000003
【００３６】
被演算子フィールドを有する代わりに、Ｒｘ Ｐａｔｇｅｎ ３０４のための命令コードはケアフィールドを有してもよい。ケアフィールドは、受信したデータ上に任意の追加の操作を実施することなく、Ｒｘ Ｐａｔｇｅｎ ３０４がデータを受信するかどうかを指定する。いくつかの実施例では、ＤＵＴ １８から受信されるデータは期待値と比較されない。これらの実施例では、０（ゼロ）は、ケアフィールド内の対応する記号位置に配置される。他の実施例では、ケアフィールドは、捕捉されたデータがいくつかの期待データと一致すべきであるということを指定する。いくつかの実施例では、ケアビットは、期待データと捕捉データとの間に一致が生じるべきであるということを指定する。捕捉されたデータが、期待データと一致しない場合、失敗条件が生じ、デコードエラー、又はディスパリティエラーなどのエラーが生じる。本実施例において、Ｒｘ Ｐａｔｇｅｎ ３０４は誤った記号、デコードエラー、又はディスパリティエラーとして失敗条件を記録する。
【００３７】
Ｒｘ Ｐａｔｇｅｎ ３０４によって使用される命令コード内に含まれる指示は、ＥＬＯＯＰ、ＷＡＩＴ、ＳＥＴ＿ＣＡＰ＿ＯＮ、ＳＥＰ＿ＣＡＰ＿ＯＦＦ及びＲＥＳＥＴコマンドを除き、Ｔｘ Ｐａｔｇｅｎ ３０２によって使用される命令コードに含まれる指示と同じであってもよい。
【００３８】
ＥＬＯＯＰコマンド及びＷＡＩＴコマンドに関して、整合及び一致条件を待つために追加の選択ビットが追加されている。ビット選択は以下のとおり：
ビット４７＝ＴＸ Ｆｌａｇを待つ
ビット４６＝Ｈｏｓｔ Ｆｌａｇを待つ
ビット４５＝ＩＳＬコマンドを待つ
ビット４４＝整列を待つ
ビット４３＝整列、次いで一致Ａを待つ
ビット４２＝整列、次いで一致Ｂを待つ
ビット４１＝整列、次いで一致Ａ＋Ｂを待つ
ビット４０＝一致の前に捕捉する
ビット３９＝一致の後に捕捉する
ビット４０：１６＝リザーブ
ビット１５：０＝待機又はループカウント（ループカウントのみ１０ｂ）
捕捉ビットは、データのパケットの開始を指定するデータをＷＡＩＴコマンドが待つのを可能にする。ＷＡＩＴの指示の実行を通じて、Ｒｘ Ｐａｔｇｅｎ ３０４は次いで待機し、データのパケットの終わりで一致が生じるまでデータを受信する。
【００３９】
ＳＥＴ＿ＣＡＰ＿ＯＮ及びＳＥＴ＿ＣＡＰ＿ＯＦＦコマンドは、捕捉データがキャプチャメモリ３１６に保存されたかどうかを決定するモードビットを設定し、これをクリアする。ＳＥＴ＿ＣＡＰ＿ＯＮコマンドは、次のサイクルでデータの捕捉を開始し（すなわち、命令コードの実行）、その一方でＳＥＴ＿ＣＡＰ＿ＯＦＦコマンドは、現在のサイクルでデータの捕捉を停止する。
【００４０】
ＲＥＳＥＴコマンドは、条件の整列又は一致をリセットするために、又は一致する値を変更するために使用され、ここではＡ＝整列、Ｍ＝一致、及びＶ＝値である。
【００４１】
図９を参照すると、Ｒｘ Ｐａｔｇｅｎ ３０４は、例えば帯域外（out of band）（「ＯＯＢ」）シーケンス３５０、アイドルシーケンス３５２、受信パケットシーケンス３５４、及び送信パケットシーケンス３５６など、様々な命令コードパターンでプログラムされてもよい。Ｔｘ Ｐａｔｇｅｎ ３０２の送信パケットシーケンスは、データをＤＵＴ １８に送信するため、例えばＲｘ Ｐａｔｇｅｎ ３０４の送信パケットシーケンス３５６において、Ｒｘ Ｐａｔｇｅｎ ３０４はＤＵＴ １８からデータの受信を待つ。図１０を参照すると、Ｔｘ Ｐａｔｇｅｎ ３０２はまた、例えば帯域外（「ＯＯＢ」）シーケンス３６０、アイドルシーケンス３６２、受信パケットシーケンス３６４、及び送信パケットシーケンス３６６など様々な命令コードパターンでプログラムされる。
【００４２】
図６を参照すると、Ｔｘ Ｐａｔｇｅｎ ３０２及びＲｘ Ｐａｔｇｅｎ ３０４はＤＵＴ １８の試験において様々なアクションを実施する（４００）。Ｔｘ Ｐａｔｇｅｎ ３０２は、命令コード、例えば記号データをＤＵＴ １８に転送させるＮＥＸＴ指示を含む命令コードを実行する（４０２）。Ｔｘ Ｐａｔｇｅｎ ３０２はまた、Ｒｘ Ｐａｔｇｅｎ ３０４にＴｘ Ｆｌａｇ ３１０を送信する（４０４）。Ｔｘ Ｆｌａｇ ３１０は、Ｒｘ Ｐａｔｇｅｎ ３０４が、ＤＵＴ １８から送られるデータの待機始めるべきであるということをＲｘ Ｐａｔｇｅｎ ３０４に伝える。ＤＵＴ １８はＲｘ Ｐａｔｇｅｎ ３０４にデータを送信する（４０６）。Ｒｘ Ｐａｔｇｅｎ ３０４は、それが指定されたデータを受信したということを検証するために、受信したデータに対して命令コードを実行する（４０８）。Ｒｘ Ｐａｔｇｅｎ ３０４は、Ｒｘ Ｆｌａｇ ３１２をＴｘ Ｐａｔｇｅｎ ３０２に送信する（４１０）。
【００４３】
図７を参照すると、いくつかの実施形態では、専用の制御器５０２は、プログラム可能なハードウェア１０４の一部であり、Ｔｘ Ｐａｔｇｅｎ ３０２及びＲｘ Ｐａｔｇｅｎ ３０４による命令コードの実行を制御するために使用される。ＤＵＴ １８が様々なタイプのデータを送り返して、Ｒｘ Ｐａｔｇｅｎ ３０４が、様々な形態の受信したデータをどのように処理すべきか分からないときに、専用の制御器５０２が使用される。この場合では、Ｒｘ Ｐａｔｇｅｎ ３０４は、受信したデータを通信リンク５０４によって専用の制御器５０２に送信する。他の場合では、Ｒｘ Ｐａｔｇｅｎ ３０４は受信したデータをキャプチャメモリデバイス３１６に送信し、専用の制御器５０２はキャプチャメモリデバイス３１６にアクセスする。Ｒｘ Ｐａｔｇｅｎ ３０４は専用の制御器５０２にメッセージを送信し、Ｒｘ Ｐａｔｇｅｎ ３０４がデータを受信したということを専用の制御器５０２に通報する。専用の制御器５０２は次いで、キャプチャメモリデバイス３１６から受信したデータにアクセスする。専用の制御器５０２は受信したデータを解析し、Ｔｘ Ｐａｔｇｅｎ ３０２によって実行されるべき命令コードを決定する。専用の制御器５０２は次いで、次に実行すべき命令コードをＴｘ Ｐａｔｇｅｎ ３０２に指示する。
【００４４】
いくつかの実施例では、Ｔｘ Ｆｌａｇ ３１０及びＲｘ Ｆｌａｇ ３１２を通じて、Ｔｘ Ｐａｔｇｅｎ ３０２及びＲｘ Ｐａｔｇｅｎ ３０４は互いに通信しない。代わりに、専用の制御器５０２は、Ｒｘ Ｐａｔｇｅｎ ３０４から受信したデータを処理し、Ｒｘ Ｐａｔｇｅｎ ３０４にデータを返して、Ｒｘ Ｐａｔｇｅｎ ３０４が実行すべき任意の追加の命令コード（例えば、更なるデータ又は命令コードを受信するのを待ち、受信したデータと、Ｒｘ Ｐａｔｇｅｎ ３０４が受信するのを予定しているデータとの一致比較を行う）をＲｘ Ｐａｔｇｅｎ ３０４に伝える。専用の制御器５０２がＲｘ Ｐａｔｇｅｎ ３０４から受信したデータを処理した後、専用の制御器５０２は、どの命令コードを次に実行すべきかをＴｘ Ｐａｔｇｅｎ ３０２に伝えるコマンドをＴｘ Ｐａｔｇｅｎ ３０２に送信する。
【００４５】
いくつかの実施例では、Ｔｘ Ｐａｔｇｅｎ ３０２及びＲｘ Ｐａｔｇｅｎ ３０４は、実行に関して適切な命令コードを決定する際に、通信リンク３０６、３１２、並びにＴｘ Ｆｌａｇ ３１０及びＲｘ Ｆｌａｇ ３１２と併せて専用の制御器５０２を使用する。一実施例では、Ｒｘ Ｐａｔｇｅｎ ３０４は、Ｒｘ Ｐａｔｇｅｎ ３０４が直接処理することができ、実行のための適切な命令コードを決定することができるいくつかのデータをＤＵＴ １８から受信する。しかしながら、Ｒｘ Ｐａｔｇｅｎ ３０４は、それが処理することができない他のデータも受信する場合がある。この場合、Ｒｘ Ｐａｔｇｅｎ ３０４は専用の制御器５０２にそのデータを回す。専用の制御器５０２はそのデータを処理し、どの命令コードを次に実行すべきかという指示を、通信リンク５０４によってＲｘ Ｐａｔｇｅｎ ３０４に送信する。
【００４６】
図８を参照して、Ｒｘ Ｐａｔｇｅｎ ３０４、Ｔｘ Ｐａｔｇｅｎ ３０２、及び専用の制御器５０２は、ＤＵＴ １８へのデータの送信及びＤＵＴ １８からのデータの受信のプロセスにおいて、様々なアクションを実施する（６００）。Ｒｘ Ｐａｔｇｅｎ ３０４はＤＵＴ １８からデータを受信する（６０２）。Ｔｘ Ｐａｔｇｅｎ ３０２は受信したデータを専用の制御器５０２に送信する（６０４）。専用の制御器５０２はＲｘ Ｐａｔｇｅｎ ３０４から受信したデータを処理する（６０６）。専用の制御器５０２は、Ｒｘ Ｐａｔｇｅｎ ３０４がＤＵＴ １８から更にデータを受信するのを待つ必要があるかどうかを決定する（６０８）。Ｒｘ Ｐａｔｇｅｎ ３０４が更にデータを受信する必要があるか、又は追加の命令コードを実行する必要があるかを専用の制御器５０２が決定する場合、専用の制御器５０２は、実行すべき命令コードを指定する追加の指示をＲｘ Ｐａｔｇｅｎ ３０４に送信する（６１０）。ＤＵＴ １８からデータを受信し、受信したデータを専用の制御器５０２に回すＲｘ Ｐａｔｇｅｎ ３０４のこのサイクル６１４は、Ｒｘ Ｐａｔｇｅｎ ３０４が必要とする全てのデータをＲｘ Ｐａｔｇｅｎ ３０４がしたということを専用の制御器５０２が決定するまで続く。Ｒｘ Ｐａｔｇｅｎ ３０４が必要とする全てのデータをＲｘ Ｐａｔｇｅｎ ３０４が受信したということを専用の制御器５０２が決定した場合、専用の制御器５０２はコマンドをＴｘ Ｐａｔｇｅｎ ３０２に回す（６１２）。Ｔｘ Ｐａｔｇｅｎ ３０２に回されるコマンドは、Ｔｘ Ｐａｔｇｅｎ ３０２がＤＵＴ １８に送信すべき命令コードを指定することができる。Ｔｘ Ｐａｔｇｅｎ ３０２は命令コードをＤＵＴ １８に送信してもよい。
【００４７】
プログラム可能なハードウェア１０４は標準回路素子を含んでもよい。一実施例では、Ｔｘ Ｐａｔｇｅｎ ３０２からＤＵＴ １８に送信される記号データは、並直列変換器５０６又は帯域外検出装置５０８を通じて送信される。記号データは次いで、論理ゲート５１０を通過し、その出力はＤＵＴ １８に送信される。受信端部上で、ＤＵＴ １８は、試験装置１２及びプログラム可能なハードウェア１０４にデータを戻す。受信されたデータは、試験装置１２の一部である論理ゲート５１２を通過する。いくつかの実施例では、受信されたデータはまた、受信したデータが、既に確立されている通信チャネル外であるかどうかを判定するために、帯域外検出装置５１４を通過する。受信したデータは次いで、直並列変換器５１４を通過し、Ｒｘ Ｐａｔｇｅｎ ３０４に送信される。１０ｂの配列はビットストリームを見て、１０ｂ配列が探している配列記号に基づいて、１０ｂ記号境界を配置すべき場所を決定する。
【００４８】
いくつかの実施例では、受信されたデータは、トラッカー５１８に送信され、遅延装置５２０を通じて供給される。トラッカー５１８は、データ遷移を調査し、クロックがデータアイの中心にあるように、時刻比較ストローブ（我々のクロック）の相を移動させる。いくつかの実施例では、マスター発振器（「ＭＯＳＣ」）は搭載クロックとして機能する。
【００４９】
いくつかの実施例では、Ｔｘ Ｐａｔｇｅｎ ３０２は階層ランダムアクセスメモリ（「ＨＲＡＭ」）５２２及び器具シンクリンク（「ＩＳＬ」）５２４に接続され、Ｔｘ Ｐａｔｇｅｎ ３０２とＲｘ Ｐａｔｇｅｎ ３０４との間でイベントを同期させる。Ｒｘ Ｐａｔｇｅｎ ３０４も、ＨＲＡＭ ５２６及びＩＳＬ ５２８に接続される。いくつかの実施例では、専用の制御器５０２は、例えばサーバー又は他の計算デバイスなどのホストデバイス５３０とインターフェース接続する。
【００５０】
多くの実施形態を説明してきた。それでもなお、様々な修正が行われてもよいことが理解されるであろう。それ故に、その他の実施形態は以下の「請求項の範囲」内にある。
【図１】
0005732464.tif 000004
【図２】
0005732464.tif 000005
【図３】
0005732464.tif 000006
【図４】
0005732464.tif 000007
【図５】
0005732464.tif 000008
【図６】
0005732464.tif 000009
【図７】
0005732464.tif 000010
【図８】
0005732464.tif 000011
【図９】
0005732464.tif 000012
【図１０】
0005732464.tif 000013