(57)【特許請求の範囲】
【請求項１】
自動テスト装置用のプロトコルエンジン回路であって、前記プロトコルエンジン回路は、
被試験デバイスに関するプロトコル固有データと固定プロトコルデータとを取り込んで、前記被試験デバイスに対応して選択されたプロトコル定義を用いて、前記被試験デバイスのテストのために前記プロトコル固有データ及び前記固定プロトコルデータをフォーマットするように構成された、プロトコル生成回路を含む、プロトコルエンジン回路。
【請求項２】
プロトコル定義テーブルを更に含み、前記プロトコル生成回路が、前記プロトコル定義テーブルから、前記選択されるプロトコル定義を取り込むように構成される、請求項１に記載のプロトコルエンジン回路。
【請求項３】
前記プロトコル生成回路が、プロトコル制御回路を含む、請求項２に記載のプロトコルエンジン回路。
【請求項４】
前記プロトコル定義テーブルが、動作信号データを含む、請求項２に記載のプロトコルエンジン回路。
【請求項５】
前記被試験デバイスに関する複数個のプロトコル定義を含むプロトコル定義テーブルを更に含む、請求項１に記載のプロトコルエンジン回路。
【請求項６】
複数個の前記被試験デバイスに関する複数個のプロトコル定義を含むプロトコル定義テーブルを更に含む、請求項１に記載のプロトコルエンジン回路。
【請求項７】
自動テスト装置用のプロトコルエンジン回路であって、前記プロトコルエンジン回路は、
プロトコル固有データを取り込んで、被試験デバイスに対応して選択されたプロトコル定義を用いて、前記被試験デバイスのテストのために前記プロトコル固有データをフォーマットするように構成された、プロトコル生成回路と、
プロトコル定義テーブルと
を含み、
前記プロトコル生成回路は、前記プロトコル定義テーブルから、前記選択されるプロトコル定義を取り込むように構成され、
前記プロトコル生成回路は、プロトコル制御回路を含み、
前記プロトコル制御回路は、命令コード及びプロトコル定義位置番号を受け取って格納するためのホストデバイスと情報伝送する、プロトコル制御格納テーブルを含む、プロトコルエンジン回路。
【請求項８】
前記プロトコル生成回路が、前記プロトコル定義テーブルから固定プロトコルデータ、及び前記プロトコル制御格納テーブルから命令コードを受け取って、前記被試験デバイスをテストするための動作信号データを含む固定プロトコルデータを生成するように接続される、動作テーブルを更に含む、請求項７に記載のプロトコルエンジン回路。
【請求項９】
前記プロトコル生成回路が、プロトコル固有データ格納テーブルを含む、請求項７に記載のプロトコルエンジン回路。
【請求項１０】
前記プロトコル固有データ格納テーブルが、
ａ）前記被試験デバイスに関する前記プロトコル固有データを収容する駆動データテーブルと、
ｂ）前記被試験デバイスからの応答として期待される前記プロトコル固有データを収容する期待データテーブルと、を含む、請求項９に記載のプロトコルエンジン回路。
【請求項１１】
前記プロトコル生成回路が、前記プロトコル制御格納テーブルと情報伝送し、前記命令コードに基づいて指定デバイスプロトコルの操作動作を定義するために使用される一連のタイミングサイクルを提供する、トランザクション状態マシンを含む、請求項９に記載のプロトコルエンジン回路。
【請求項１２】
前記プロトコル制御格納テーブルが、
ａ）前記命令コードを格納し、前記命令コードを逐次的順序で前記トランザクション状態マシンに転送するための、命令コード格納デバイスと、
ｂ）前記プロトコル定義位置番号を格納し、前記プロトコル定義位置番号を前記トランザクション状態マシンに転送するための、トランザクション位置格納デバイスと、を含む、請求項１１に記載のプロトコルエンジン回路。
【請求項１３】
前記プロトコル生成回路が、前記プロトコル定義テーブルから固定プロトコルデータ、及び前記プロトコル制御格納テーブルから命令コードを受け取って、前記被試験デバイスのテストのための動作信号データを含む固定プロトコルデータを生成するように接続される、動作テーブルを更に含む、請求項１２に記載のプロトコルエンジン回路。
【請求項１４】
前記命令コードが、前記プロトコルエンジン回路と前記ホストデバイスとの間のコマンド及び制御を管理するための命令を含む、請求項１３に記載のプロトコルエンジン回路。
【請求項１５】
フロー制御回路を更に含み、前記命令コードが、複数個のプロトコルエンジン回路間のフロー制御を管理するための命令を含む、請求項１４に記載のプロトコルエンジン回路。
【請求項１６】
自動テスト装置用のプロトコルエンジン回路であって、前記プロトコルエンジン回路は、
ａ）命令コード及びプロトコル定義位置番号を含むテストパターンを受け取って格納するためのホストデバイスと情報伝送する、プロトコル制御格納テーブルと、
ｂ）前記プロトコル制御格納テーブルと情報伝送し、前記命令コードに基づいて指定デバイスプロトコルの操作動作を定義する一連のタイミングサイクルを提供する、トランザクション状態マシンと、
ｃ）前記プロトコル定義位置番号に対応して、被試験デバイスに関する固定プロトコルデータを供給するために、前記トランザクション状態マシンに応答する、プロトコル定義テーブルと、
ｄ）前記トランザクション状態マシンに応答して、前記命令コードに対応する動作データを提供する、動作テーブルと、
ｅ）期待データ及び駆動データを含むテストパターンを受け取って格納するための、前記ホストデバイスと情報伝送する、プロトコル固有データ格納テーブルであって、前記一連のタイミングサイクルに応答して、前記固定プロトコルデータに対応するプロトコル固有データ、及び動作データを、前記被試験デバイスのテストのためのピンエレクトロニクス回路に供給する、プロトコル固有データ格納テーブルと、を含む、プロトコルエンジン回路。
【請求項１７】
自動テスト装置と被試験デバイスとの間の情報伝送に関する、指定デバイスプロトコルに準拠する信号及びタイミングの生成方法であって、前記方法は、
ａ）前記被試験デバイスに関する固定プロトコルデータを受け取ることと、
ｂ）プロトコル固有データを受け取ることと、
ｃ）前記自動テスト装置の一要素によって前記固定プロトコルデータ及び前記プロトコル固有データを、前記被試験デバイスをテストするための前記指定デバイスプロトコルに構築することと、を含む、方法。
【請求項１８】
ａ）プロトコル定義位置番号を受け取ることと、
ｂ）前記指定デバイスプロトコルのための固定プロトコルデータを、前記プロトコル定義位置番号によって指示されるテーブル位置から選択することと、
ｃ）前記指定デバイスプロトコル中の前記固定プロトコルデータ及び前記プロトコル固有データを使用して、前記被試験デバイスをテストすることと、を更に含む、請求項１７に記載の方法。
【請求項１９】
命令コードを受け取ることと、前記命令コードに対応するテーブル位置から動作データを取り込むことと、被試験デバイスをテストするために、前記指定デバイスプロトコル中の前記固定プロトコルデータ及び前記プロトコル固有データを伴って、前記動作データを供給することと、を更に含む、請求項１８に記載の方法。
【請求項２０】
指定デバイスプロトコルのための前記固定プロトコルデータを取り込むことが、動作データを取り込むことを含み、前記テストすることが、前記動作データを使用することを含む、請求項１８に記載の方法。
【請求項２１】
プロトコル定義位置番号、命令コード、及びプロトコル固有データを、逐次的順序で格納し、供給することを更に含む、請求項１８に記載の方法。
【請求項２２】
前記プロトコル定義位置番号を受け取ること、及び前記固定プロトコルデータを取り込むことが、状態マシンを使用することを含む、請求項１８に記載の方法。
【請求項２３】
前記プロトコル定義位置番号を受け取ることが、プロトコル制御格納テーブルから前記プロトコル定義位置番号を受け取ることを含み、プロトコル定義テーブルから前記固定プロトコル定義を選択するために、前記状態マシンを使用することを更に含む、請求項２２に記載の方法。
【請求項２４】
前記プロトコル制御格納テーブルから命令コードを受け取るために前記状態マシンを使用することと、前記プロトコル制御格納テーブルから前記命令コードに対応する動作テーブルから動作データを選択することを更に含む、請求項２３に記載の方法。
【請求項２５】
前記テストすることが、プロトコル固有データ格納テーブルから、前記プロトコル固有データを供給することを含む、請求項２４に記載の方法。
【請求項２６】
前記固定プロトコルデータ、前記動作データ、及び前記プロトコル固有データを、ピンエレクトロニクス論理回路へ供給することを更に含む、請求項２５に記載の方法。
【請求項２７】
前記プロトコル制御格納テーブル及び前記プロトコル固有データ格納テーブル内へ、テストパターンコマンドをローディングすることを更に含む、請求項２６に記載の方法。
【請求項２８】
前記プロトコル定義位置を受け取ることが、ホストデバイスから前記プロトコル定義位置番号を受け取ることを含む、請求項１８に記載の方法。
【請求項２９】
ａ）ＤＵＴに関するプロトコル定義を含む、プロトコル定義格納手段と、
ｂ）前記プロトコル定義格納手段から、プロトコル定義を選択して取り込むための手段と、
ｃ）ＤＵＴをテストするために前記プロトコル定義を使用して、前記ＤＵＴに関する固定プロトコルデータとプロトコル固有データとを前記プロトコル定義に応じて組み合わせることによってテストデータを提供するための手段と、を含む、汎用プロトコルエンジン。
【請求項３０】
前記プロトコル定義格納手段が、前記ＤＵＴを機能的にテストするために要求される前記プロトコル定義を含むプロトコル定義テーブルを含む、請求項２９に記載の汎用プロトコルエンジン。
【請求項３１】
テストデータを提供するための前記手段が、データ格納テーブル及び動作テーブルを含む、請求項３０に記載の汎用プロトコルエンジン。
【請求項３２】
前記格納されたプロトコル定義の群から、前記プロトコル定義を選択して取り込むための前記手段が、プロトコル制御格納テーブル及びプロトコル定義テーブルを含み、選択されたプロトコルを用いてテストデータを提供するための前記手段が、データ格納テーブル及びセレクタを含む、請求項２９に記載の汎用プロトコルエンジン。
【発明の詳細な説明】
【背景技術】
【０００１】
自動化された格納パターン機能テストは、集積回路（ＩＣ）デバイスの製造において、そのデバイスのパラメータ特性評価及び操作特性評価を提供するための重要な工程をもたらす。自動テスト装置システムは、制御コンピュータ又はホストコンピュータに接続されるテスト回路を含む。制御コンピュータは、テスト回路を起動して、被試験デバイスに刺激信号を提供し、被試験デバイスから応答信号を受け取るための、機能テストパターンデータを受け入れて格納する、ユーザインターフェースを提供する。この応答信号を評価して、集積回路デバイスのパラメータ特性評価及び動作特性評価を判定する。
【０００２】
被試験デバイス（ＤＵＴ）は、ピンエレクトロニクスからの、及びピンエレクトロニクスへの物理信号のための物理インターフェースを提供するデバイスインターフェースボード、すなわちＤＩＢに装着される。テスト回路からのテスト刺激信号は、ピンエレクトロニクスを通り、ＤＩＢを介して被試験デバイスに供給される。被試験デバイスからのテスト応答信号は、ＤＩＢを通ってピンエレクトロニクスへ、及びテスト回路へと転送される。テスト刺激信号及びテスト応答信号は、テスト回路によって相関化され、被試験デバイスが、テストに合格しているか又は不合格かを判定する。
【０００３】
テスト回路によって生成される刺激信号は、データ信号、及び刺激入力を同期させるクロック信号を含む。テストの有効性は、これらの信号の、互いに対する正確な配列に依存している。例えば、クロック信号、データ信号、及びイネーブル信号などの、いくつかの異なる信号を連係させて、適切な時点で発信し、テストプロセス中に有意なデータが確実に得られるようにする。様々な集積回路機能は、固定されたタイミング及びデータプロトコルに準拠するインターフェース仕様を有する。例えば、これらのプロトコルとしては、Ｅｔｈｅｒｎｅｔ（登録商標）  Ｍａｎａｇｅｍｅｎｔ  Ｄａｔａ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ（ＭＤＩＯ）、Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ（ＵＳＢ）、又はＩｎｔｅｒ−Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ（Ｉ２Ｃ）Ｂｕｓなどのｎ−ワイヤシリアル構造のバス、Ｇｅｎｅｒａｌ  Ｐｕｒｐｏｓｅ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ（ＧＰＩＯ）などのパラレル通信バス、ダブルデータレートＤｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＤＤＲ）などのメモリバス、並びにＨｉｇｈ−Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ（ＨＤＭＩ）などの高速通信チャネルが挙げられる。
【０００４】
上述のように、近年では、格納パターン機能テストは、確定的に挙動しないデバイスでは、ますます困難な事態に陥ってきている。現在、半導体プロセスの集積化及び複雑性のレベルは、集積回路チップが、実質上、完全な「システム−オン−チップ」（ＳＯＣ）であることを許容している。システム−オン−チップは、コンピュータ又は他の電子システムの全ての機能性回路素子を、単一の集積回路（チップ）内に集積化する。これらの集積回路素子は、デジタル回路、アナログ回路、ランダムアクセスメモリ、アナログ及びデジタル混合信号回路の、いずれかの組み合わせであり、多くの場合、無線周波機能を含み得る。
【０００５】
システム−オン−チップ（ＳＯＣ）は、同じ半導体基板上に組み込まれた、複数のデジタル集積回路機能及びアナログ集積回路機能を提供する。ＳＯＣの例は、携帯電話の受信機能、処理機能、及び送信機能のみならず、写真及びビデオ処理機能、音声デジタル信号処理回路、並びに半導体メモリ回路も組み込んだ、携帯電話である。現在、ほとんどのＳＯＣテストでは、ＳＯＣの個々の機能は、複数のテスト方法で、例えば、ＳＣＡＮテスト、内蔵自己テスト（ＢＩＳＴ）、及び機能テストによって、個別にテストされる。システムレベルテストは、典型的には特注の回路を用いて、一般的には、マイクロプロセッサなどの、高い平均販売価格で少品種のデバイスに関してのみ使用される。最終システムレベルテストは、マイクロプロセッサのような特定のＳＯＣデバイスのテスト用に特別に作られた、特注のテスト装置に対して実装される場合がある。他のＳＯＣデバイスに関するシステムレベルテストを実施することが望ましいであろうが、低い平均販売価格のＳＯＣのために特注の機能テスト装置を構築することは、コスト的に有効ではない。
【０００６】
自動テスト回路を使用するＳＯＣテストの困難性は、自動テスト回路を使用するパラメータテスト及び単独機能テストが、確定的なテスト動作であることである。テスト刺激信号は、特定のタイミング及び特定の構造で印加され、テスト応答信号は、特定のタイミング及び特定の構造を有することが期待される。テスト応答信号が、所定のパラメータに関して期待されたタイミング及び構造に合致しない場合には、そのＳＯＣ被試験デバイスは不合格であると判定される。ＳＯＣデバイスの機能は、異なるタイミング及び異なるクロッキングの仕様で動作する場合があり、非同期的に動作する場合がある。ＳＯＣデバイスは、動作可能な場合であっても、そうではないことを応答テスト信号が示すときがあり、それは、情報伝送機能の非同期性によってテスト応答信号が不正なものとして現れている場合である。
【０００７】
現世代の自動テスト装置システムは、特定の待ち時間要因を提供する以外には、非決定性のＳＯＣデバイスを扱うための能力が、極めて限定されている。このことは、テスト刺激信号が、設計検証で使用されるシミュレーションベクトルである場合に、恐らくは、最初の試作デバイスが稼動しないという点で、テスト技術者に重大な問題を引き起こす。一連の試行錯誤のループを引き続き行なう中で、テスト技術者は、通過配列を見出すまで、ベクトルの移動を試みる。大容量の関連データ、及び各試行を再シミュレートする必要性のために、各ループに数日が費やされ、最終的な結果としては、新たなＳＯＣデバイスのテスト及び評価の段階に、数ヶ月が追加される場合もある。
【０００８】
現在の自動テスト装置システムの範囲内で、ＳＯＣ被試験デバイスの動作条件をシミュレートする試みがなされている。回路機能間の非同期情報伝送の非決定的な機能のために、ＳＯＣ非試験デバイスに関しては、それらの機能の通常動作環境を正確に再作成することは、不可能である。現在の自動テスト装置システムには、ＳＯＣ非試験デバイスの通常動作環境の、非決定的な電気条件及びタイミング条件を、容易かつ正確に提供する能力が欠如している。非決定的な電気条件及びタイミング条件が、自動テスト装置システム内に欠如していることによって、更に、ＳＯＣ被試験デバイスに関しての、その通常動作環境において存在し得る、変動動作条件下での許容度に関しての誤差限界が測定されない。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
したがって、必要とされるのは、被試験デバイスによって期待される指定デバイスプロトコルに準拠する刺激信号及びタイミングを生成し、かつ指定デバイスプロトコルに準拠するタイミングに従って応答信号を受け取るための、自動テスト装置内のプロトコル生成回路又はエンジンである。
【課題を解決するための手段】
【００１０】
一実施形態では、自動テスト装置用のプロトコルエンジン回路は、プロトコル固有データを取り込んで、被試験デバイスに対応して選択されたプロトコル定義を用いて、被試験デバイスのテストのためにプロトコル固有データをフォーマットするように構成された、プロトコル生成回路を含む。このプロトコル生成回路は、プロトコル定義テーブルから、選択されるプロトコル定義を取り込むように構成することができる。
【００１１】
１つの実施では、自動テスト装置と被試験デバイスとの間の情報伝送に関する、指定デバイスプロトコルに準拠する信号及びタイミングの生成方法であって、この方法は、被試験デバイスに関する固定プロトコルデータを受け取ることと、プロトコル固有データを受け取ることと、固定プロトコルデータ及びプロトコル固有データを、被試験デバイスをテストするための指定デバイスプロトコルに構築することと、を含む。この実施は、プロトコル定義位置番号を受け取ることと、指定デバイスプロトコルのための固定プロトコルデータを、プロトコル定義位置番号によって指示されるテーブル位置から選択することと、被試験デバイスをテストするための、指定デバイスプロトコル中の、固定プロトコルデータ及びプロトコル固有データを供給することと、が更に含まれ得る。一部の実装では、本方法は、命令コードを受け取ることと、命令コードに対応するテーブル位置から動作データを取り込むことと、被試験デバイスをテストするために、指定デバイスプロトコル中の固定プロトコルデータ及びプロトコル固有データを伴って、動作データを供給することと、を更に含む。他の実装では、指定デバイスプロトコルのための固定プロトコルデータを取り込むことは、動作データを取り込むことを含み、固定プロトコルデータを供給することは、動作データを供給することを含む。
【図面の簡単な説明】
【００１２】
【図１】プロトコル生成回路の実施形態の簡略ブロック図。
【図２】プロトコル生成回路の別の実施形態の簡略ブロック図。
【図３】自動テストシステムの一実施形態内の、指定デバイスプロトコルの構成に関する、例示的な操作動作の表。
【図４Ａ】プロトコル生成回路の更に別の実施形態の、より詳細なブロック図。
【図４Ｂ】プロトコル生成回路の更に別の実施形態の、より詳細なブロック図。
【図５】図１、図２、あるいは図４Ａ及び図４Ｂのプロトコル生成回路を組み込んだ、プロトコル特異回路の実施形態の１つの、複数の例を組み込んだ、自動テスト装置システムのブロック図。
【図６】Ｅｔｈｅｒｎｅｔ（登録商標）  Ｍａｎａｇｅｍｅｎｔ  Ｄａｔａ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ（ＭＤＩＯ）のプロトコル仕様に準拠する、信号の相対的な構造及びタイミングを説明する図。
【図７】例示的な命令コードの表。
【発明を実施するための形態】
【００１３】
ＦＰＧＡ内に格納された、特定のＳＯＣのための具体的なプロトコルを含むプロトコル特異回路を利用して、テストを改善することができる。しかしながら、そのような手法は、過度に時間を浪費するか、又は一部の用途に限定される恐れがある。異なるＳＯＣには、１つ以上の異なるプロトコルが要求され得る。様々なＳＯＣが、Ｅｔｈｅｒｎｅｔ（登録商標）  Ｍａｎａｇｅｍｅｎｔ  Ｄａｔａ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ（ＭＤＩＯ）、Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ（ＵＳＢ）、又はＩｎｔｅｒ−Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ（Ｉ２Ｃ）Ｂｕｓなどのｎ−ワイヤシリアル構造のバス、Ｇｅｎｅｒａｌ  Ｐｕｒｐｏｓｅ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ（ＧＰＩＯ）などのパラレル通信バス、ダブルデータレートＤｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＤＤＲ）などのメモリバス、並びにＨｉｇｈ−Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ（ＨＤＭＩ）などの高速通信チャネル、あるいは他のもののうちの１つ以上を含み得る。様々なＤＵＴに関して、多数の異なるプロトコルを生成することが可能なテスタの利点は、それがテスタの機能性を増大させ、テスト効率を改善させることができることである。
【００１４】
図１は、プロトコル生成回路３００、及びピンエレクトロニクス３２０との相互接続の実施形態の簡略ブロック図である。テストパターンコマンド３７２は、ホストデバイスに入力され、Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＤＲＡＭ）（図示せず）内に格納され、プロトコル制御格納テーブル３７０に転送され得る。プロトコル制御格納テーブル３７０は、指定デバイスプロトコルに準拠する刺激信号及びタイミングを構成するためのコマンドを定義する、命令コードを格納する。この命令コードは、復号されても、又は部分的に復号されてもよく、あるいは、指定デバイスプロトコルに準拠する刺激信号及びタイミングを生成するための制御信号を直接提供するように構造化されてもよい。命令コードは、接続３０９を通じてトランザクション状態マシン３０５に転送される。開始信号３０６が起動すると、トランザクション状態マシン３０５は、クロック３０８によって同期化され、命令コードに基づいて指定デバイスプロトコルの操作動作の実行順序を定義する、一連のタイミングサイクルを提供する。このタイミングサイクル信号は、プロトコル定義テーブル３１０に転送される。タイミング信号３０７はまた、トランザクション状態マシン３０５からプロトコル制御格納テーブル３７０にも転送され、命令コード３０２（図２に示す）及びテーブル番号３０４（図２に示す）の伝送をインクリメントする。タイミング信号３０７はまた、プロトコル固有データ格納テーブル３１５にも転送され、期待データ３１７及び駆動データ３１９の伝送をインクリメントする。
【００１５】
テストパターンコマンド３７２はまた、固定プロトコルデータのセットを収容し、一部の実施形態では指定デバイスに関する対応する動作信号を更に含み得るプロトコル定義テーブル３１０内での位置を定義する、プロトコル定義位置番号も含む。他の実施形態では、図２を参照して以下に説明するように、動作信号は、別個の動作テーブル３５０内に収容され得る。
【００１６】
図１を参照すると、プロトコルエンジンテストパターンコマンド３７２はまた、実行されるトランザクションのそれぞれに関して使用されるためのプロトコル固有データも含む。このプロトコル固有データは、プロトコル固有データ格納テーブル３１５内に置かれる。プロトコル固有データは、被試験デバイス３３５に刺激信号として駆動されるデータ、被試験デバイスからの応答信号と比較される期待データ、又はトランザクションの実行中にデータのフローを制御するために使用されるマスキングデータとすることができる。
【００１７】
ピンエレクトロニクス３２０は、図示のように、チャネル論理３２５及び入出力ドライバ３３０を含む。チャネル論理は、セレクタ３２１及びチャネル回路３２３を含む。セレクタ３２１は、固定プロトコルデータ３１２をプロトコル定義テーブル３１０から受け取り、プロトコル固有データ３１３をプロトコル固有データ格納テーブル３１５から受け取る。プロトコル定義テーブル３１０からの動作信号３１４は、チャネル回路３２３に、固定プロトコルデータ３１２又はプロトコル固有データ３１３を選択データ信号３２２として転送するか、あるいはコマンド信号３２４を転送するかを選択するための制御命令を提供して、チャネル回路３２３を適切に起動させる。チャネル回路３２３の駆動データ出力３２７は、ピンエレクトロニクス３２０の入出力ドライバ／レシーバ３３０のドライバ３３２への入力であり、自動テスト装置が、指定デバイスプロトコルに従って、被試験デバイス３３５へ刺激データを駆動している場合に駆動される、プロトコル固有データ３１３又は固定プロトコルデータ３１２を提供する。あるいは、チャネル回路３２３の制御出力３２６は、自動テスト装置が被試験デバイス３３５からの応答信号を受け取っているとき、ドライバ３３２の動作を停止させるために必要な制御信号を、ドライバ３３２に提供する。レシーバ３３４は、被試験デバイスからの応答信号を受け取るように接続される。レシーバ３３４は、受け取ったデータ３２８をチャネル回路３２３に転送するように接続される。チャネル回路３２３は、期待プロトコル固有データ３１３をプロトコル固有データ格納テーブル３１５から受け取り、期待固定プロトコルデータ３１２をプロトコル定義テーブル３１０から受け取る。期待プロトコル固有データ３１３及び固定プロトコルデータ３１２は、レシーバ３３４からの応答信号と比較され、被試験デバイス３３５が正しく機能しているか否かを判定する。チャネル回路３２３は、不合格プロセッサ（図示せず）に転送される比較結果信号３４０を提供する。
【００１８】
図２は、プロトコル生成回路３００、及びピンエレクトロニクス３２０へのその接続性の、別の実施形態の簡略ブロック図である。プロトコル生成回路３００のこの実施形態の構造は、図１に関して上述したものと同様である。プロトコル制御格納テーブル３７０は、命令コードのための高速バッファとして働く、Ｆｉｒｓｔ−Ｉｎ−Ｆｉｒｓｔ−Ｏｕｔ（ＦＩＦＯ）メモリ３０１を含む。ＦＩＦＯ  ３０１の出力は、状態フリップフロップ３０２に伝送される。プロトコル制御格納テーブル３７０は、命令コード３０９ａを、トランザクション状態マシン３０５及び動作テーブル３５０への接続に対して伝送する。上述のように、トランザクション状態マシン３０５は、開始信号３０６が起動すると、クロック３０８によって同期化され、命令コードに基づいて、指定デバイスプロトコルの操作動作の実行順序を定義する、一連のタイミングサイクルを提供する。
【００１９】
プロトコル制御格納テーブル３７０はまた、プロトコル定義位置番号のための高速バッファとして働く、ＦＩＦＯメモリ３０３も含む。ＦＩＦＯ  ３０３の出力は、テーブル番号状態フリップフロップ３０４に伝送される。テーブル番号状態フリップフロップ３０４は、プロトコル定義位置番号を、トランザクション状態マシン３０５への接続３０９ｂに対して伝送し、次いで、プロトコル定義位置番号は、接続３１１を通って、プロトコル定義テーブル３６０に送られ、指定デバイスプロトコルのデータ及びタイミングを構築するための固定プロトコルデータ３６２のセットを収容するプロトコル定義テーブル３６０内での位置を提供する。
【００２０】
プロトコル固有データ格納テーブル３１５は、被試験デバイスからの応答信号と比較される期待データのための高速バッファとして働く、ＦＩＦＯメモリ３１６を含む。ＦＩＦＯ  ３１６の出力は、状態フリップフロップ３１７に伝送される。状態フリップフロップ３１７は、チャネル論理３２５の比較論理３５６への接続３１３ａに対して、期待データを伝送する。同様に、プロトコル固有データ格納テーブル３１５は、指定デバイスプロトコルに従って被試験デバイスに駆動されるプロトコル固有データのための高速バッファとして働く、ＦＩＦＯメモリ３１８を含む。ＦＩＦＯ  ３１８の出力は、状態フリップフロップ３１９に伝送される。状態フリップフロップ３１９は、チャネル論理３２５の駆動論理３５４への接続３１３ｂに対して、駆動データを伝送する。
【００２１】
この実施形態では、プロトコル定義テーブル３６０及び動作テーブル３５０は、それぞれ個別に提供される。これは、一部の実施形態では、いずれの所定のプロトコルに関しても、各ビット時間の間に起こり得る、動作のサブセットが存在するという事実を利用するためである。図３は、自動テスト装置システム内の、指定デバイスプロトコルの構成に使用され得る、操作動作例の表である。これらの動作としては、「０駆動」若しくは「データ駆動」「Ｌｏであれば保持」、「変化まで進行」、又は「ＨであればＬｏ−Ｚパルス」、を挙げることができる。図３は、リストの例であって、他の動作も可能である。任意の追加的な動作をリストに加えて、プロトコル生成エンジン３７０をそれらに適応するようにアップデートしてもよい。一部の実施形態では、各ビット時間の間に起こり得るのは、限られた数の駆動動作、限られた数の比較動作、及び限られた数の入出力動作のみである。プロトコル定義テーブル３６０は、固定プロトコルデータを格納し、動作テーブル３５０は、命令コード３０９ａに対応する動作を格納する。命令コード３０９ａ及び固定プロトコルデータ３６２は、チャネル論理３２５を適切に起動させるために選択される、データ信号３２２ａ及びデータ信号３２２ｂ、並びにコマンド信号３２４を、誘導するための信号を選択するポインタを、動作テーブル３５０内の位置に対して提供する。動作テーブル３５０の出力３２２ａは、プロトコル定義テーブル３６０からの固定プロトコルデータ３６２を、チャネル論理３２５内の駆動論理３５４に誘導する。同様に、駆動データ状態フリップフロップ３１９の出力３１３ｂは、プロトコル固有データ３１３ａ及び３１３ｂを、駆動論理３５４に提供する。駆動論理３５４は、刺激データをドライバ３３２に提供し、それゆえ被試験デバイス３３５にも提供する。
【００２２】
動作テーブル３５０の出力３２２ｂは、プロトコル定義テーブル３６０からの固定プロトコルデータ３６２を、チャネル論理３２５内の比較論理３５６に誘導する。同様に、期待データ状態フリップフロップ３１７の出力３１３ａは、期待プロトコル固有データ３１３ａを、比較論理３５６に提供する。比較論理３５６は、被試験デバイス３３５からの応答データを、レシーバ３３４を通じて受け取る。比較論理３５６は、トランザクション状態マシン３０５及び不合格プロセッサ（図示せず）に転送される比較結果信号３４０を提供する。
【００２３】
動作テーブル３５０の出力は、チャネル論理３２５の入出力論理３５２への、動作信号３２４を含む。入出力論理３５２は、駆動論理３５４、比較論理３５６、及び入出力ドライバ／レシーバ３３０のドライバ３３２の適切な制御を起動して、被試験デバイス３３５の動作状況を判定するためのビット毎の適切なトランザクションを生成する。
【００２４】
図４Ａ及び図４Ｂは、ピンエレクトロニクス３２０との相互接続を備えるプロトコル生成回路３００の更に別の実施形態の、より詳細なブロック図である。この実施形態の自動テスト装置内のプロトコル生成回路３００の、原始データ格納概念は、Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＤＲＡＭ）（図示せず）内に可能な限り少量の情報を格納することである。これは、命令コード、テーブル番号、及びペイロードのビット（データビット）のみが、ＤＲＡＭ（図示せず）内に格納されることを意味する。全ての一定のプロトコル特異ビット（スタート／ストップのビット、又はケアビットのような）は、プロトコル定義テーブル４１０内に格納され、それゆえＤＲＡＭ（図示せず）内に場所をとらない。ＤＲＡＭ（図示せず）は、命令コード３７２ａ、テーブル番号３７２ｂに関するテストパターンデータ、駆動データ３７２ｃ、期待データ３７２ｄ、及びマスキングデータ３７２ｅを提供する。命令コード３７２ａ及びテーブル番号３７２ｂは、プロトコル制御格納テーブル４００への入力である。駆動データ３７２ｃ、期待データ３７２ｄ、及びデータマスクビット３７２ｅは、プロトコル固有データ格納テーブル４１５への入力である。
【００２５】
ロードシーケンスは、プロトコル実行状態マシン４０５が、「次へ」のコマンド４０９を発行した後に進行する。命令コードは、命令コード状態フリップフロップ４０２内にクロック処理され、テーブル番号は、テーブル位置状態フリップフロップ４０４内にクロック処理される。命令コードは、それが読み取りトランザクションか、書き込みトランザクションか、又はマスクアップデートのトランザクションであるかを判定するために、十分に復号される。駆動データ３７２ｃ、期待データ３７２ｄ、及びデータマスク３７２ｅのサイズは、小さなＲＡＭ内で検索される。プロトコル実行状態マシン４０５は、次いで適正な数のブロックを、この場合はＦＩＦＯとして使用されるランダムアクセスメモリ（ＲＡＭ）（図示せず）内にロードする。このＦＩＦＯの出力は、駆動データフリップフロップ４１６、期待データフリップフロップ４１７、及びデータマスクフリップフロップ４１８への入力である。
【００２６】
駆動データフリップフロップ４１６、期待データフリップフロップ４１７、及びデータマスクフリップフロップ４１８は、プロトコル実行状態マシン４０５によって使用され、単一の直列ストリームから複数ビット幅のバスまでの、様々なデータ幅要件を備えるプロトコルを提供する。更には、複数のプロトコル生成回路をグループ化して、より幅の広いバスを提供してもよい。駆動データフリップフロップ４１６、期待データフリップフロップ４１７、及びデータマスクフリップフロップ４１８のビット並び替え（ｂｉｔ  ｓｗｉｚｚｌｅ）を、バーストの開始にプログラムして、ＲＡＭからの多数のビットを、プロトコルの要求に応じて、プロトコル実行状態マシン４０５への１、２、４、又は任意数のビットに変換する。
【００２７】
駆動データフリップフロップ４１６、期待データフリップフロップ４１７、及びデータマスクフリップフロップ４１８のイネーブルラインは、次のデータセットが次のビットクロック上に出力されるべきであることを指示する。リセットラインは、待機又は繰り返しの命令コードの、特殊な場合に使用される。この場合には、条件が適合していなければ（トランザクション不合格が発生しているか、又は繰り返しが行なわれていない）、トランザクションは繰り返される必要がある。「次へ」のコマンド４０９を伴わない最終ビット信号は、ＦＩＦＯがメモリポインタをリセットしてトランザクションを繰り返すべきであることを意味する。
【００２８】
プロトコル制御格納テーブル４００及びプロトコル固有データ格納テーブル４１５の出力は、次いで、命令コード、プロトコル定義位置番号、駆動データ４１３ａ、期待データ４１３ｂ、及びデータマスクビット４１３ｃを全て適切に、次のトランザクションの開始に整列させる。命令コード状態フリップフロップ４０２は、復号された命令コード又は部分的に復号された命令コードを収容する、複数出力レジスタである。命令コード状態フリップフロップ４０２の出力の１セットは、プロトコル実行状態マシン４０５の状態カウンタを初期化するために、初期定義コード４０３ａをプロトコル実行状態マシン４０５に提供する。命令コードの一部分は、読み取り／書き込みトランザクションビット４０３ｂであり、次いで、命令コード状態フリップフロップ４０２からプロトコル定義テーブル４１０に転送される。トランザクション定義４０３ｃは、命令コード状態フリップフロップ４０２から動作テーブル４５０に転送される。命令コードのトランザクションオフセット部分４０３ｄは、テーブル位置状態フリップフロップ４０４からのテーブル位置４０１と、テーブルオフセット計算器４０６内で組み合わされて、実行されている各トランザクションに関する、テーブル位置４０１の始期ポインタからの正確なオフセット位置を生成する。プロトコル実行状態マシン４０５からのテーブル位置ビット４９１は、オフセット計算器４０６の出力と、加算器４０７内で組み合わされて、次のトランザクションに関する、プロトコル定義テーブル４１０内の正確な位置、定義及び固定データを決定する。
【００２９】
プロトコル生成回路３００のこの実施形態は、自動テスト装置の複数のチャネルを制御して、被試験デバイス４３５の複数のピンを刺激するように構造化される。このことを達成するために、プロトコル定義テーブル４１０は、複数の定義テーブルＲＡＭ  ４６１、４６２、４６３、及び４６４、並びに別個の動作テーブル４５０を含む。複数の定義テーブルＲＡＭ  ４６１、４６２、４６３、及び４６４は、別個の動作テーブル４５０を通じて、被試験デバイス４３５の個別のピンに対するピンエレクトロニクス３２０の、チャネル論理回路４２５及び入出力ドライバ／レシーバ４３０に情報伝送する。このプロトコル生成回路３００の実施形態を組み込んだ自動テスト装置では、プロトコル生成回路３００は、被試験デバイス４３５の８つのピンと情報伝送する８つのチャネルに対応する。所望により、例えば６４ビットのバスなどの、より広いバスの幅に対応するために、複数のプロトコル生成回路３００を連動させる。この連動プロトコル生成回路３００は、同一の命令コードを実行する。複数の定義テーブルＲＡＭ  ４６１、４６２、４６３、及び４６４は、被試験デバイスのピンに印加される信号に関しての、各ピンの機能に基づいた、異なる定義信号を収容する。
【００３０】
テーブルオフセット計算器４０６及び加算器４０７は、異なる複数の定義テーブルＲＡＭ  ４６１、４６２、４６３、及び４６４が実行される際に、トランザクション定義アドレスに関するオフセットアドレスを生成する。読み取り及び書き込みの双方に関する新たなトランザクションのそれぞれは、異なる長さ及び異なる定義を有し得る。テーブルオフセット計算器４０６及び加算器４０７は、各トランザクションのタイプに関するオフセットがプログラムされる。このことにより、全てのトランザクションの全体としての長さが、複数の定義テーブルＲＡＭ  ４６１、４６２、４６３、及び４６４内の利用可能な格納スペースを超えない限りは、複数の定義テーブルＲＡＭ  ４６１、４６２、４６３、及び４６４内に、多くの短いトランザクションのタイプ、又はより少ない長いトランザクションのタイプが許容される。
【００３１】
プロトコル定義テーブル４１０は、一般的なハウスキーピング機能に関する追加的なビット（この実装では３ビット）を提供するプロトコル定義制御テーブル４６１を含む。これらのビットは、「最終」のビット４９２ａ、「格納」４９２ｂ、及び「反転保持センス」４９２ｃとして定義される。「最終」のビットは、プロトコル実行状態マシン４０５に、トランザクションの最終ビットが伝送されることを通知する。プロトコル実行状態マシン４０５は、「次へ」のコマンドを発行する。「次へ」のコマンドは、後続のトランザクションが保持されていない場合、繰り返しカウントに達している場合、待機条件が存在しない場合、又は先行のトランザクションが繰り返される可能性がある場合に、発行される。「格納」は、いずれのサイクルが格納サイクルであるかを定義する。格納される実際のビットは、捕獲論理４７５のセットアップによるバーストの前に定義される。「反転保持センス」は、保持ライン４９３のセンスを反転させる。保持ライン４９３の機能は、以降で説明する。
【００３２】
複数のプロトコル定義テーブルＲＡＭ  ４６２、４６３、及び４６４の出力４１２ａ、４１２ｂ、．．．、４１２ｘは、それらの個々の動作テーブル４５０に印加される。動作テーブル４５０は、主にそのアドレスをプロトコル定義テーブルＲＡＭ  ４６２から得るが、特定数（すなわち、２）のアドレスビット４０３ｃは、命令コード状態フリップフロップ４０２から来る。これは、命令コードが、例えば読み取り及びマスク読み取りなどの、トランザクションの特定のビットの動作を変更するケースを処理するためである。代替的な実施形態では、動作の変更は、プロトコル定義テーブルＲＡＭ  ４６２にトランザクションのタイプを追加することによって処理され得る。しかしながら、プロトコル定義テーブルＲＡＭ  ４６２は、動作テーブル４５０と比べて相対的に高価であるため、アドレスビット４０３ｃが、より望ましい実装になる。
【００３３】
動作テーブル４５０の出力からの、固定プロトコルデータ信号４２２ａ及びトランザクションコマンド信号４２４ａは、チャネル論理４２５への入力である。コマンド信号４２４ａは、保持動作の１つが実行中であり、条件が適合していないことを指示する「保持」の信号を含む。コマンド信号４２４ａ内のパルス時間信号は、被試験デバイス４３５に関するクロックパルスを生成するために、パルス発振器４５８によって使用される調時パルスである。コマンド信号４２４ａ内のイネーブルマスクは、データマスクフリップフロップ４１８からのマスクビットの読み取りを可能にする。固定プロトコルデータ４１２ａは、プロトコル定義テーブル４６２へと格納され、復号して固定プロトコルデータ４２２ａを生成するために、動作テーブル４５０に伝送される。固定プロトコルデータ４２２ａは、チャネル論理４２５に伝送される。プロトコル固有データ４１３ａは、駆動データフリップフロップ４１６からチャネル論理４２５に伝送される。データマスキングビット４１３ｃは、データマスクフリップフロップ４１８からチャネル論理４２５に伝送される。コマンド信号４２４ａの機能選択ビットは、被試験デバイス４３５のピンに伝送されるデータのソースを選択する。駆動論理４５２の出力は、入出力ドライバ／レシーバ４３０のピンドライバ４３２の入力である。
【００３４】
コマンド信号４２４ｂは、入出力論理４５４への入力である。入出力論理４５４は、ピンドライバ４３２を制御する。ピンドライバ４３２が能動的にデータを駆動している場合、入出力論理４５４は、インピーダンス制御を設定し、その駆動を可能にする。あるいは、入出力論理４５４は、ピンドライバ４３２が、調時パルスに基づいて、高インピーダンス状態、又はロー状態への駆動の間で切り替わることを可能にする。高インピーダンス状態は、ピンエレクトロニクス４３０のレシーバ４３４が、被試験デバイス４３５からのデータを受け取ることを可能にする。あるいは、一部のプロトコルは、特殊に符号化され、信号伝達の目的のためにクロックラインが下に引かれる（すなわち、Ｉ２Ｃ）。インピーダンス制御は、これらの機能を促進する。
【００３５】
レシーバ４３４の出力は、比較論理４５６への入力である。比較論理４５６は、図３の比較動作を実施する。比較論理４５６は、レシーバ４３４によって取得された被試験デバイス４３５からの応答データを、期待データ状態フリップフロップ４１７からの期待データ４１３ｂと比較する。更に、比較論理４５６は、データマスクフリップフロップ４１８からのデータマスクビット４１３ｃを受け取る。応答データ及び期待データ４１３ｂ、並びにデータマスクビット４１３ｃの比較の結果は、トランザクションが失敗したか否かを決定する。更に、比較論理４５６は、プロトコル生成回路３００のフロー制御に関する、様々な保持条件を管理する。
【００３６】
プロトコル生成回路３００のフロー制御の一部として、ラウンドトリップＦＩＦＯ  ４８５が、期待応答データ４１３ｂ及びデータマスクビット４１３ｃを遅延させ、被試験デバイス４３５を通るラウンドトリップ時間で、それらを時間的に後に移動させる。この遅延によって、比較論理４５６は、被試験デバイス４３５からの応答データを、駆動データ４１３ａ、期待データ４１３ｂ、及びデータマスクビット４１３ｃのうちの１つと比較することが可能になる。更には、ラウンドトリップＦＩＦＯ  ４８５は、動作テーブル４５０からのトランザクションテーブル番号４２３を、捕獲論理４７５内の比較結果データ４５９と整列させるために、遅延させる。ラウンドトリップＦＩＦＯ  ４８５は、期待固定データ信号４２２ｂを、比較論理４５６内での、レシーバ４３４からの応答データとの比較のために、遅延させる。
【００３７】
プロトコル生成回路３００のフロー制御の次の機能は、「保持オア」のツリー４６５である。「保持オア」のツリー４６５は、入出力論理４５４及び比較論理４５６からの「保持」の信号及びイネーブル信号を受け取り、また、その各チャネルは、プロトコル生成回路３００又は連動したプロトコル生成回路３００のグループによってエミュレートされているプロトコルに関してグループ化されている。「保持オア」のツリー４６５の「保持」の出力４９３は、プロトコル実行状態マシン４０５及び捕獲論理４７５に転送され、被試験デバイス４３５のテストでエミュレートされているプロトコルの適切なフローを保証する。被試験デバイス４３５への動作テーブル４５０の出力から、次いで「保持オア」のツリー４６５を通ってプロトコル実行状態マシン４０５に戻るループ時間が、被試験デバイスの最大周波数を設定する。
【００３８】
比較論理４５６の出力の１つは、「トランザクション不合格オア」のツリー４７０に転送される、トランザクション不合格信号４５７である。トランザクション不合格信号４５７は、被試験デバイス４３５が、特定のビットトランザクション時間で行なわれたトランザクションの１つ以上に失格しているという信号を提供する。プロトコル生成回路３００又は連動するプロトコル生成回路３００のグループによってエミュレートされているプロトコルに関してグループ化されている各チャネルの、全てのトランザクション不合格信号４５７は、「トランザクション不合格オア」のツリー４７０への入力である。「トランザクション不合格オア」のツリー４７０の出力４９４は、プロトコル実行状態マシン４０５への出力であり、被試験デバイス４３５をテストするためのプロトコル生成の進行状況の指示を提供する。
【００３９】
捕獲論理４７５は、被試験デバイス４３５からの応答データと期待データ４１３ｂとの比較の状態を説明する、比較結果データ信号４５９を、比較論理４５６から受け取る。捕獲論理はまた、遅延したトランザクションテーブル番号４８６ａ、及び遅延した格納信号４８６ｂを、ラウンドトリップＦＩＦＯ  ４８５から受け取る。捕獲論理４７５は、その後の読み取り／修正／書き込み操作に使用するための読み取りデータを、比較結果データ信号４５９から捕獲する。捕獲論理４７５は、他のプロトコル生成回路３００を用いたデータとの相関のために、タイムスタンプ及びテーブル番号４８６ａを伴う、比較結果データ信号４５９を格納する。タイムスタンプ及びテーブル番号４８６ａを伴う比較結果データ信号４５９は、ＤＲＡＭ  ２２０に転送される。
【００４０】
上述のように、プロトコル実行状態マシン４０５は、クロック４０８によって同期され、命令コードに基づいて指定デバイスプロトコルの操作動作を定義する、一連のタイミングサイクルを提供する。このタイミングサイクル信号は、プロトコル定義テーブル４１０に転送される。テーブル位置ビット４９１は、プロトコル実行状態マシン４０５から加算器４０７に転送され、そうして、被試験デバイスに送られる刺激信号の生成、並びに被試験デバイスからの応答の受け取り及び評価のための、プロトコル形成に関するトランザクションデータにアクセスするために、プロトコル定義テーブル４１０に転送される。
【００４１】
プロトコル実行状態マシン４０５の他の機能としては、ホストとの情報伝送のために使用されるフラグ４９７の提供が挙げられる。プロトコル実行状態マシン４０５は、限られた数のフラグの任意の組み合わせを設定するか、又は比較することができる。フラグ４９７の被演算子は、マスクビット、書き込みビット、又は比較フラグを含む。複数のプロトコル生成回路３００が連動する場合では、１つのプロトコル実行状態マシン４０５のみがフラグに関して使用され、他のプロトコル実行状態マシン４０５は、マスターユニットからの状態を受け取る。
【００４２】
待ち時間同期信号ライン（ＩＳＬ）４９８が、プロトコル実行状態マシン４０５に対して特定のプロトコル動作の始動を振り分けるために、マスタープロトコル実行状態マシン４０５によって使用される。
【００４３】
図５は、図１、図２、あるいは図４Ａ及び図４Ｂのプロトコル生成制御３７０を組み込んだプロトコル特異回路の実施形態の１つの、複数の例５０５ａ、．．．、５０５ｎを組み込んだ自動テスト装置システム５００のブロック図である。自動テスト装置システム５００は、複数のピンエレクトロニクスユニット５１０ａ、．．．、５１０ｎに接続された、プロトコル特異回路５０５ａ、．．．、５０５ｎの複数のチャネルを有する。複数のピンエレクトロニクスユニット５１０ａ、．．．、５１０ｎのそれぞれは、上述のように、電気的インターフェース５０２ａ、．．．、５０２ｎ及び５０４ａ、．．．、５０４ｎを、ＳＯＣ被試験デバイス５４０と自動テスト装置システム５００との間に、ロードアダプタの物理的相互接続を通じて提供する。プロトコル特異回路５０５ａ、．．．、５０５ｎのそれぞれは、複数のピンエレクトロニクスユニット５１０ａ、．．．、５１０ｎの少なくとも１つに接続されて、ＳＯＣ被試験デバイス５４０にテスト刺激信号を提供し、ＳＯＣ被試験デバイスからテスト応答信号を受け取る。
【００４４】
プロトコル特異回路５０５ａ、．．．、５０５ｎのそれぞれは、図１、図２あるいは図４Ａ及び図４Ｂで説明したものと同様に機能するプロトコル生成回路３００を、プロトコル生成回路３００の残りの回路と連係させて有する。プロトコル特異回路５０５ａ、．．．、５０５ｎの各プロトコル生成回路３００は、テストコマンドを提供し、ＳＯＣ被試験デバイス５４０の実行のテスト結果の記録を取るための、その指定ＤＲＡＭ  ５２０ａ、．．．、５２０ｎと情報伝送する。
【００４５】
多数のピンを有するプロトコルでは、プロトコル特異回路５０５ａ、．．．、５０５ｎは、コマンドの復号を連係させ、期待応答をシミュレートするテスト応答信号を同期的に生成する。期待応答を同期的にシミュレートするために、プロトコル特異回路５０５ａ、．．．、５０５ｎは、同期通信インターフェース５２５を通じて、協働可能なプロトコル特異回路５０５ａ、．．．、５０５ｎのそれらの間で情報伝送する。同期通信インターフェース５２５は、「トランザクション不合格オア」のツリーからのトランザクション不合格信号、及び「保持オア」のツリーからの保持信号を収容する。この協働は、動作の待ち時間に効果を及ぼし得るため、この情報伝送は、プロトコル特異回路５０５ａ、．．．、５０５ｎ間の交差通信の影響を最小限に抑えるように構造化される。例えば、プロトコル生成回路５０５ａ、．．．、５０５ｎに関する状態マシン（図５には示さず）の１つは、マスターとして働き、復号のために、近接するプロトコル特異回路５０５ａ、．．．、５０５ｎからテスト刺激信号を直接受け取る。このマスタープロトコルエンジン制御器（図示せず）は、次いで、プロトコルによって指定されるテスト応答信号の構造及びタイミングを構成するための適切な命令を振り分け、一方で動作に関する待ち時間の影響を最小限に抑える。待ち時間同期信号ライン（ＩＳＬ）５３５は、複数のプロトコル特異回路５０５ａ、．．．、５０５ｎに対して、特定のプロトコル動作の始動を振り分けるために、マスタープロトコルエンジン制御器（図示せず）によって使用される。
【００４６】
自動テスト装置システム５００は、プロトコル特異回路５０５ａ、．．．、５０５ｎによって決定される異なるタイミングを生成するための、複数のマスターオシレータ５３０ａ及び５３０ｂを有し得る。これは、自動テスト装置システム５００の確定的な動作に関して、特に当てはまる。自動テスト装置システム５００の非決定性の動作では、マスターオシレータ５３０ａ及び５３０ｂは、確定的動作を伴うテストのそれらの部分に関して使用することができるが、非決定性の動作でのプロトコルエンジン制御器（図示せず）に関しては、ＳＯＣ被試験デバイス５４０からの外部タイミングが使用され得る。
【００４７】
ここで、Ｅｔｈｅｒｎｅｔ（登録商標）  Ｍａｎａｇｅｍｅｎｔ  Ｄａｔａ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ（ＭＤＩＯ）のプロトコル仕様に準拠する信号及びタイミングを説明する例示的な図に関して、図６を参照する。ＭＤＩＯは、バス上の１つのステーションがマスターとして働き、バス上の他の全てがスレーブとして働く、２ピンのシリアルバスプロトコルである。マスターは、バスに関するクロック信号を生成し、マスターによって伝送される動作は、読み取り動作及び書き込み動作である。プロトコルの各パケットの冒頭は、プリアンブル６５２で始まり、フレームの開始６５３及び命令コード６５４が続く。固定データ６５０は、これらのコードのそれぞれを含み、プロトコル定義テーブル内に格納されるように定義される。別個の命令コードも存在するが、命令コードを定義するためには、２つのコードのみが存在する。それらをプロトコル定義テーブル内に置くことにより、テストパターン内での節約が可能になる。物理アドレス６５７及び宛先アドレス６５８が、テストパターンの実行と共に生成されて、プロトコルを生成し、それによって、固有駆動データＦＩＦＯ内に格納される、固有の駆動及び期待データ６５５を生成する。ターンアラウンドタイムのビット６６０は、実施されているトランザクションのタイプに応じて変化するが、それらは、少ない組み合わせしか有さず、固定データと見なされて、プロトコル定義テーブル内に格納される。アドレス／データのビット６６５は、固有駆動データＦＩＦＯ内に格納される、固有駆動データである。アイドルタイムのビット時間６７０は、ピンエレクトロニクスのドライバを強制的に高インピーダンス状態にするように設定されたコマンドを、実際に提供する。
【００４８】
図７は、指定デバイスプロトコルの定義に関する操作動作から開発された、例示的な命令コードの表である。命令コードは、ここで、自動テスト装置内のプロトコル生成回路に、各ピンのプロトコル実行に関するタイミング及び信号を指示する、「省略形」コマンド言語である。この実施例の命令コードは、プロトコルのタイミング及びデータ構造の生成に関する、トランザクション定義である。この実施例の命令コード定義にはまた、自動テスト装置のホストが、プロトコル生成回路に対して直接命令を提供するための、エンジンアップデート命令コードも含まれる。フロー制御命令コードは、テストパターンのフローを制御するために、連動プロトコル生成回路のグループと、テストパターン発振器、又は自動テスト装置のホストとの間の情報伝送を提供する。
【００４９】
プロトコル生成回路は、いずれの所定のプロトコルに関しても、例えば図３に示すように、各ビット時間の間に起こり得る動作には、小さなセットしか存在しないという事実を利用するこれらの動作から、プロトコルの各ピンに関する一連の動作を構築し、それによってプロトコルを生成することができる。この動作の文字列は、プロトコル定義テーブル内に含まれる。これらの動作は、読み取り、書き込み、読み取り続行などの、トランザクションのタイプを定義する、命令コードのセットとして構造化される。プロトコル定義テーブル内のテーブル番号は、複数のトランザクション定義のいずれが、この特定のトランザクションに適用されるかを、状態マシンに通知する。期待応答データは、自動テスト装置の観点から、読み取りトランザクション内に含まれる固有データである。駆動刺激データは、読み取り及び書き込みの双方のトランザクションに関する固有データである（読み取りトランザクション内には、例えばアドレスのような、固有駆動データが存在し得る）。プロトコル実行状態マシンは、命令コード及びテーブル番号によって選択される、トランザクションに関するプロトコル定義を取り込み、命令コードは、動作テーブル内で特定のイネーブルビットへと復号され、これらのイネーブルビットは、チャネル論理内で駆動刺激データ及び期待応答データと組み合わされて、適切なトランザクションをビット毎に生成する。トランザクションが完了すると、プロトコル実行状態マシンは、次の命令コード、テーブル番号、及びデータへ進行する。単一ビットより幅広のプロトコルは、プロトコル生成回路を複数のビットにわたって複製することによって生成される。
【００５０】
図１及び図２を参照すると、一実施形態では、プロトコル制御定義テーブル３１０又は３６０は、プロトコル定義格納手段を提供する。プロトコル制御格納テーブル３７０は、プロトコル定義格納テーブル３６０から、プロトコル定義を選択して取り込むための手段を提供する。プロトコル固有データ格納テーブル３１５は、ＤＵＴのテストに関するテストデータを供給するための手段である。一部の実施形態では、動作テーブル３５０は、ＤＵＴのテストに関するテストデータを提供するための手段の一部として、選択されたプロトコル定義を使用するために提供することができる。
【００５１】
当業者によって理解されるように、論理プログラミング可能デバイスなどの再構成可能な集積回路に結合された計算デバイスに対して実行可能な再構成命令コードを収容する、プログラム格納デバイスを作り出すことができる。再構成命令コードは、実行された場合、再構成可能な集積回路の内部回路を、図１、図２、あるいは図４Ａ及び図４Ｂで説明したようなプロトコル生成回路が形成されるように構成する。再構成可能な集積回路は、構成された場合、自動テスト装置と被試験デバイスとの間の情報伝送のための、指定デバイスプロトコルに準拠する信号及びタイミングの生成に関するプロセスを実行する。
【００５２】
用語「テーブル」は、本明細書で使用するとき、格納されて取り込み可能な情報を収容するメモリ格納デバイス、又はそのようなことが可能な他のデバイスを包含し得ることが理解される。
【００５３】
本発明を、その実施形態に関連して、具体的に示し説明してきたが、当業者であれば、形状及び細部における様々な変更が、本発明の趣旨及び範囲から逸脱することなく、なされ得ることが理解されよう。
【図１】
0005260758.tif 000002
【図２】
0005260758.tif 000003
【図３】
0005260758.tif 000004
【図４Ａ】
0005260758.tif 000005
【図４Ｂ】
0005260758.tif 000006
【図５】
0005260758.tif 000007
【図６】
0005260758.tif 000008
【図７】
0005260758.tif 000009