(57)【要約】集積回路（７０）を試験する機器（１０）は、試験用装置（７０）に接続可能である出力チャネル（５０）を有するシーケンス制御ロジックユニット（２０）と、各データセットが出力チャネルへ出力するためのテストパターンを決定するためシーケンス制御ロジックユニット（２０）により使用される少なくとも２タイプのデータセット（６０ｂ，６０ｃ，．．）を格納するためのメモリ（６０）とを含む。
2005524852.tif 000002
【特許請求の範囲】
【請求項１】
集積回路を試験する機器であって、
試験用装置に接続可能である出力チャネルを有するシーケンス制御ロジックユニットと、
それぞれのデータセットが出力チャネルへ出力するためのテストパターンを決定するため前記シーケンス制御ロジックユニットにより使用される少なくとも２タイプのデータセットを格納するためのメモリと、
を備える、機器。
【請求項２】
前記メモリが、前記シーケンス制御ロジックユニットによって実行可能である命令を備える少なくとも一つのテストシーケンスプログラムを格納するように更に構成され、
前記機器の動作中に、前記テストシーケンスプログラムが前記シーケンス制御ロジックユニットによって実行される、請求項１に記載の機器。
【請求項３】
前記シーケンス制御ロジックユニットが、少なくとも二つの別個の要求元からメモリアクセス要求を受信するため接続された読み出し／書き込みキューを有するメモリインタフェースを更に備える、請求項２に記載の機器。
【請求項４】
前記シーケンス制御ロジックユニットが、前記メモリインタフェースからの実行可能な命令を受信し保持するため接続された命令キャッシュを更に備える、請求項３に記載の機器。
【請求項５】
前記シーケンス制御ロジックユニットが、複数のデータバッファを更に備え、各データバッファが要求元と関連付けられ、各データバッファが前記メモリインタフェースから受信されたデータを格納する、請求項３に記載の機器。
【請求項６】
前記メモリが、前記試験用装置から受信されたテスト結果を格納するように更に構成される、請求項３に記載の機器。
【請求項７】
前記試験用装置から受信されたテスト結果を格納するため結果キャッシュを更に備える、請求項６に記載の機器。
【請求項８】
前記シーケンス制御ロジックユニットが、複数のパターン制御ロジックブロックを更に備え、
前記複数のパターン制御ロジックブロックのうちの少なくとも一つが、前記メモリに格納された前記データセットのうちの一方から受信されたデータに基づいてテストパターンを出力するように構成される、請求項３に記載の機器。
【請求項９】
前記メモリに格納された前記テストデータセットのうちの少なくとも一つが、機能データ、スキャンデータ、及びデジタル化されたアナログデータを表すデータセットのうちの少なくとも一つを備える、請求項８に記載の機器。
【請求項１０】
前記メモリインタフェースに接続され、前記データセット及び前記実行可能なテストシーケンスプログラムを前記プログラムの実行前にロードするためのフロントエンドプロセッサを更に備え、請求項３に記載の機器。
【請求項１１】
前記複数のパターン制御ロジックブロックのうちの対応する一つから少なくとも一つの出力ビットを受信するための複数の選択マルチプレクサと、
前記複数の選択マルチプレクサのそれぞれの出力を制御するためのデータ選択ロジックブロックと、
を更に備える、請求項８に記載の機器。
【請求項１２】
前記データ選択ロジックブロックが、前記テストシーケンスプログラムの一部として前記メモリに格納された命令の一部分に基づいて、前記複数の選択マルチプレクサのそれぞれに対する選択コードを決定する、請求項１１に記載の機器。
【請求項１３】
前記データ選択ロジックブロックがインデックス付きテーブルを含み、
前記データ選択ロジックブロックが命令の一部分に基づいてインデックスを受信するため接続される、請求項１２に記載の機器。
【請求項１４】
試験用装置の入力ピンに接続可能である第２の出力チャネルを有する第２のシーケンス制御ロジックユニットと、
少なくとも１タイプのデータセット及び第２の実行可能なテストプログラムを格納するための第２のメモリと、
を更に備え、
前記第２のメモリに格納された各データセットが、前記第２の出力チャネルに出力されるべきテストパターンを決定するため、前記第２のシーケンス制御ロジックユニットによって使用可能である、請求項３に記載の機器。
【請求項１５】
前記フロントエンドプロセッサと前記第１及び第２のシーケンス制御ロジックユニットとを接続する制御ラインを更に備え、
前記機器の動作中に、前記制御ラインが、前記第１及び第２のテストシーケンスプログラムの実行を協調させ、前記第１及び第２のシーケンス制御ユニットの前記出力チャネルに接続可能である単一の試験用装置へのテストパターンの出力を協調させるように、前記第１及び第２の制御ユニットの両方に同期信号を送信するため使用される、請求項１４に記載の機器。
【請求項１６】
各データセットが試験用装置の入力ピンに接続可能である一つ以上の出力チャネルによって出力されるべきテストパターンを決定するため、シーケンス制御ロジックユニットによって使用可能である少なくとも２タイプのデータセットをメモリに格納するステップを、マシンに実行させるための命令が格納された記憶媒体を備える、物品。
【請求項１７】
前記格納するステップが前記シーケンス制御ロジックユニットによって実行可能である命令を備えた少なくとも一つのテストシーケンスプログラムを前記メモリに格納するステップを更に備える、請求項１６に記載の物品。
【請求項１８】
複数の要求元からのメモリアクセス要求を、前記メモリへのインタフェースでキューに入れるステップを更に備える、請求項１７に記載の物品。
【請求項１９】
前記メモリインタフェースから受信した命令を命令キャッシュに格納するステップを更に備える、請求項１７に記載の物品。
【請求項２０】
前記メモリインタフェースから受信したデータを、それぞれが前記複数の要求元の一つと関連付けられた複数のデータバッファに格納するステップを更に備える、請求項１８に記載の物品。
【請求項２１】
前記試験用装置から受信したテスト結果を前記メモリに格納するステップを更に備える、請求項１８に記載の物品。
【請求項２２】
前記格納するステップが、
前記試験用装置から受信したテスト結果を結果キャッシュに格納するステップと、
前記格納されたテスト結果を前記結果キャッシュから前記メモリへ書き込むステップと、
を更に備える、請求項２１に記載の物品。
【請求項２３】
複数のパターン制御ロジックブロックのうちの少なくとも一つから、前記メモリに格納されたデータセットから受信されたデータに基づくテストパターンを前記出力チャネルへ出力するステップを更に備える、請求項１８に記載の物品。
【請求項２４】
複数のマルチプレクサのそれぞれで前記複数のパターン制御ロジックブロックのうちの対応する一つから少なくとも一つの出力ビットを受信するステップと、
前記複数のマルチプレクサのそれぞれから少なくとも一つの出力ビットを選択するステップと、
を更に備える、請求項２１に記載の物品。
【請求項２５】
前記選択するステップが、前記テストシーケンスプログラムの一部として前記メモリに格納された命令の一部分に基づいて前記複数のマルチプレクサのそれぞれに対し選択コードを決定するステップを更に備える、請求項２４に記載の物品。
【請求項２６】
集積回路を試験する方法であって、
各データセットが試験用装置の入力ピンに接続可能である一つ以上の出力チャネルによって出力されるべきテストパターンを決定するため、シーケンス制御ロジックユニットによって使用可能である少なくとも２タイプのデータセットをメモリに格納するステップを備える、方法。
【請求項２７】
前記格納するステップが、前記シーケンス制御ロジックユニットによって実行可能である命令を備えた少なくとも一つのテストシーケンスプログラムを前記メモリに格納するステップを更に備える、請求項２６に記載の方法。
【請求項２８】
要求元からのメモリアクセス要求を前記メモリへのインタフェースでキューに入れるステップを更に備える、請求項２７に記載の方法。
【請求項２９】
前記メモリインタフェースから受信した命令を命令キャッシュに格納するステップを更に備える、請求項２７に記載の方法。
【請求項３０】
前記メモリインタフェースから受信したデータを、それぞれが前記要求元の一つと関連付けられた複数のデータバッファに格納するステップを更に備える、請求項２８に記載の方法。
【請求項３１】
前記試験用装置から受信したテスト結果を前記メモリに格納するステップを更に備える、請求項２８に記載の方法。
【請求項３２】
前記格納するステップが、
前記試験用装置から受信したテスト結果を結果キャッシュに格納するステップと、
前記格納されたテスト結果を前記結果キャッシュから前記メモリインタフェースへ書き込むステップと、
を更に備える、請求項３１に記載の方法。
【請求項３３】
複数のパターン制御ロジックブロックのうちの少なくとも一つから、前記メモリに格納されたデータセットから受信されたデータに基づくテストパターンを前記出力チャネルへ出力するステップを更に備える、請求項２８に記載の方法。
【請求項３４】
複数のマルチプレクサのそれぞれで前記複数のパターン制御ロジックブロックのうちの対応する一つから少なくとも一つの出力ビットを受信するステップと、
前記複数のマルチプレクサのそれぞれから少なくとも一つの出力ビットを選択するステップと、
を更に備える、請求項３１に記載の方法。
【請求項３５】
前記選択するステップが、前記テストシーケンスプログラムの一部として前記メモリに格納された命令の一部分に基づいて、前記複数のマルチプレクサのそれぞれに対し選択コードを決定するステップを更に備える、請求項３４に記載の方法。
【発明の詳細な説明】
【優先権主張】
【０００１】
[0001]本願は、米国特許法１１９条（ｅ）に基づいて、２００２年５月８日に出願された米国特許出願第６０／３７９，３４１号に基づく優先権を主張し、この特許出願の全内容は参照によって本明細書に組み入れられる。
【背景】
【０００２】
[0002]本願は集積回路テストに関する。
【０００３】
[0003]典型的な集積回路テストシステムでは、テストパターンのシーケンス（「テストシーケンス」）が、試験用装置（ＤＵＴ）のピンに供給される。多種多様なテストパターン、例えば、スキャンパターン、機能パターン、アルゴリズムパターン、及びアナログパターンが特定のＤＵＴを収容する様々なロジックセクションを試験するため使用される。一部のタイプのテストパターン（例えば、スキャンパターン）は直列形式でＤＵＴピンへ供給され、別のタイプ（例えば、機能パターン、アナログパターン及びアルゴリズムパターン）は並列形式でピンの組に供給される。ＤＵＴのアーキテクチャに応じて、テストシーケンスは、複合テストパターンを出力し、すなわち、２タイプ以上のテストパターンを同時にＤＵＴの異なるピンへ出力する。
【０００４】
[0004]テストシーケンス中に、ＤＵＴは出力ピンからテスト「結果」を出力する。したがって、テストシステムは、テストシーケンス中にテスト結果を受信するためＤＵＴに接続された二つ以上の入力チャネルを含む。
【概要】
【０００５】
[0008]本発明の一態様によれば、集積回路を試験する機器は、試験用装置に接続可能である出力チャネルを有するシーケンス制御ロジックユニットと、それぞれが出力チャネルへ出力するためのテストパターンを決定するためシーケンス制御ロジックユニットにより使用される少なくとも２タイプのデータセットを格納するためのメモリと、を含む。
【０００６】
[0009]以下の一つ以上の特徴が含まれる。メモリは、シーケンス制御ロジックユニットによって実行可能である命令を含む少なくとも一つのテストシーケンスプログラムを格納するように更に構成され、機器の動作中に、テストシーケンスプログラムがシーケンス制御ロジックユニットによって実行される。シーケンス制御ロジックユニットは、少なくとも二つの別個の要求元からメモリアクセス要求を受信するため接続された読み出し／書き込みキューを有するメモリインタフェースを更に含む。シーケンス制御ロジックユニットは、メモリインタフェースからの実行可能な命令を受信し保持するため接続された命令キャッシュを更に備える。シーケンス制御ロジックユニットは複数のデータバッファを更に含み、各データバッファが要求元と関連付けられ、各データバッファがメモリインタフェースから受信されたデータを格納するように更に構成される。メモリは、試験用装置から受信されたテスト結果を格納するように更に構成される。機器は、試験用装置から受信されたテスト結果を格納するため結果キャッシュを更に含む。シーケンス制御ロジックユニットは複数のパターン制御ロジックブロックを更に含み、複数のパターン制御ロジックブロックのうちの少なくとも一つは、メモリに格納された二つのデータセットのうちの一方から受信されたデータに基づいてテストパターンを出力するように構成される。メモリに格納されたテストデータセットは、機能データ、スキャンデータ、及びデジタル化されたアナログデータを表すデータセットのうちの少なくとも一つを備える。機器はメモリインタフェースに接続されたフロントエンドプロセッサを更に含み、フロントエンドプロセッサは、プログラムの実行前に、データセット及び実行可能なテストシーケンスプログラムをロードするように構成される。機器は、複数のパターン制御ロジックブロックのうちの対応する一つから少なくとも一つの出力ビットを受信するため複数の選択マルチプレクサを更に含み、複数の選択マルチプレクサのそれぞれの出力を制御するためデータ選択ロジックブロックを更に含む。データ選択ロジックブロックは、テストシーケンスプログラムの一部としてメモリに格納された命令の一部分に基づいて、複数の選択マルチプレクサのそれぞれに対する選択コードを決定する。データ選択ロジックブロックはインデックス付きテーブルを含み、データ選択ロジックブロックは命令の一部分に基づいてインデックスを受信するため接続される。機器は、試験用装置の入力ピンに接続可能である第２の出力チャネルを有する第２のシーケンス制御ロジックユニットと、少なくとも１タイプのデータセット及び第２の実行可能なテストプログラムを格納するための第２のメモリと、を更に含み、第２のメモリに格納された各データセットは第２の出力チャネルに出力するためのテストパターンを決定するため第２のシーケンス制御ロジックユニットによって使用可能である。機器はフロントエンドプロセッサと第１及び第２のシーケンス制御ロジックユニットとを接続する制御ラインを更に含み、機器の動作中に、制御ラインは、第１及び第２のテストシーケンスプログラムの実行を協調させ、第１及び第２のシーケンス制御ユニットの出力チャネルに接続可能である単一の試験用装置へのテストパターンの出力を協調させるべく、第１の制御ユニットと第２の制御ユニットの両方に同期信号を送信するため使用される。
【０００７】
[0010]本発明の更なる態様による物品（article）は、マシンによって実行されたときに、各データセットが試験用装置の入力ピンに接続可能である一つ以上の出力チャネルによって出力されるべきテストパターンを決定するためシーケンス制御ロジックユニットによって使用可能である少なくとも２タイプのデータセットをメモリに格納するステップを実行させる命令が格納された記憶媒体を含む。
【０００８】
[0011]一つ以上の以下の特徴もまた含まれる。格納するステップは、シーケンス制御ロジックユニットによって実行可能である命令を備えた少なくとも一つのテストシーケンスプログラムをメモリに格納するステップを更に含む。この物品は、また、要求元からのメモリアクセス要求をメモリへのインタフェースでキューに入れるステップを更に含む。この物品は、メモリインタフェースから受信した命令を命令キャッシュに格納するステップを更に含む。この物品は、メモリインタフェースから受信したデータを、それぞれが要求元の一つと関連付けられた複数のデータバッファに格納するステップを更に含む。この物品は、試験用装置から受信したテスト結果をメモリに格納するステップを更に含む。この物品は、格納するステップが、試験用装置から受信したテスト結果を結果キャッシュに格納するステップと、格納されたテスト結果を結果キャッシュからメモリインタフェースへ書き込むステップと、を更に含む。この物品は、複数のパターン制御ロジックブロックのうちの少なくとも一つからのテストパターンを出力チャネルへ出力するステップを更に含み、このテストパターンがメモリに格納されたデータセットから受信されたデータに基づく。この物品は、複数のマルチプレクサのそれぞれで、複数のパターン制御ロジックブロックのうちの対応する一つから少なくとも一つの出力ビットを受信するステップと、複数のマルチプレクサのそれぞれから少なくとも一つの出力ビットを選択するステップと、を更に含む。この物品は、選択するステップが、テストシーケンスプログラムの一部としてメモリに格納された命令の一部分に基づいて、複数のマルチプレクサのそれぞれに対し選択コードを決定するステップを更に含む。
【０００９】
[0012]本発明の更なる一態様によれば、集積回路を試験する方法は、各データセットが試験用装置の入力ピンに接続可能である一つ以上の出力チャネルによって出力されるべきテストパターンを決定するためシーケンス制御ロジックユニットによって使用可能である少なくとも２タイプのデータセットをメモリに格納するステップを含む。
【００１０】
[0013]一つ以上の以下の特徴もまた含まれる。格納するステップは、シーケンス制御ロジックユニットによって実行可能である命令を含んだ少なくとも一つのテストシーケンスプログラムをメモリに格納するステップを更に含む。この方法は、また、要求元からのメモリアクセス要求をメモリへのインタフェースでキューに入れるステップを更に含む。この方法は、メモリインタフェースから受信した命令を命令キャッシュに格納するステップを更に含む。この方法は、メモリインタフェースから受信したデータを、それぞれが要求元の一つと関連付けられた複数のデータバッファに格納するステップを更に含む。この方法は、試験用装置から受信したテスト結果をメモリに格納するステップを更に含む。この方法は、格納するステップが、試験用装置から受信したテスト結果を結果キャッシュに格納するステップと、格納されたテスト結果を結果キャッシュからメモリインタフェースへ書き込むステップと、を更に含む。この方法は、複数のパターン制御ロジックブロックのうちの少なくとも一つからのテストパターンを出力チャネルへ出力するステップを更に含み、このテストパターンがメモリに格納されたデータセットから受信されたデータに基づく。この方法は、複数のマルチプレクサのそれぞれで、複数のパターン制御ロジックブロックのうちの対応する一つから少なくとも一つの出力ビットを受信するステップと、複数のマルチプレクサのそれぞれから少なくとも一つの出力ビットを選択するステップと、を更に含む。選択するステップは、テストシーケンスプログラムの一部としてメモリに格納された命令の一部分に基づいて複数のマルチプレクサのそれぞれに対し選択コードを決定するステップを更に含む。
【００１１】
[0014]本発明の実施形態は以下の一つ以上の効果を奏する。例えば、単一の多目的メモリの使用は、ＤＵＴを試験するため必要なテストパターンの異なるタイプのそれぞれのために別個のメモリが要求されないので機器のコストを削減する。更に、単一の多目的メモリの使用は、別個のコンポーネントの個数が削減されるので、すなわち、テストパターンのそれぞれのタイプのためのメモリ及び別個のロジックブロックの個数が削減されるので機器の信頼性を高める。また、機器のプログラミング及び使用は、一つのメモリだけを単一ソースからロードすればよいので、複数の分割されたメモリを有するシステムの使用よりも比較的簡単である。
【説明】
【００１２】
[0015]図１を参照すると、試験用装置（ＤＵＴ７０）を試験する集積回路テストシステム１０は、シーケンス制御ロジックのブロック２０（ＳＣＬ２０）と、多目的メモリ６０と、フロントエンドプロセッサ６５（ＦＥＰ６５）と、出力チャネル５０と、入力チャネル５１と、を含む。システム１０の動作中に、実行可能なテストシーケンスプログラム６０ａ及びテストデータ６０ｂ−６０ｎの組がメモリ６０へロードされる。テストデータ６０ｂ−６０ｎの各組は、ＤＵＴ７０内に収容されたロジックのセクションを試験するために必要な異なるタイプのテストパターンに対応する。メモリ６０のロードに続いて、プログラム６０ａからの命令がＳＣＬ２０によって読み出され、実行され、一つ以上のデータセット６０ｂ−６０ｎからのデータのブロックが、複合テストパターンを発生し出力チャネル５０からＤＵＴ７０へ出力するため、ＳＣＬ２０によって読み出され使用される。
【００１３】
[0016]従来のテストシステムは、ＤＵＴを試験するため必要な特定のテストパターンのそれぞれを発生する別個のロジックのブロックを含むことがよくある。典型的に、別個のパターン固有ロジックブロックのそれぞれは、特定のタイプのテストパターンを生成するため必要なデータセット及び／又はアルゴリズム情報を記憶する別個のメモリを含む。これに対して、システム１０は、複数のデータセットを格納するため使用される唯一の多目的メモリ６０を含み、各データセットはＤＵＴをテストするために必要である様々なタイプのテストパターンに対応する。メモリ６０は、また、システム１０の一つ以上の実行可能なテストシーケンスプログラムを格納するため使用される。更に、メモリ６０は、また、テスト結果（「獲得」又は「不成功」）、すなわち、試験用ＤＵＴから受信した出力を格納するため使用される。統一された多目的メモリの使用は、ＤＵＴを試験するため必要な異なるタイプのテストパターンのそれぞれに別個のメモリが要求されないのでシステム１０のコストを削減する。更に、統一メモリの使用は、別個のコンポーネントの個数が減少し、すなわち、テストパターンのそれぞれのタイプのためのメモリと別個のロジックブロックの個数を減少させ得るので、システム１０の信頼性を向上させる。また、システム１０のプログラミング及び使用は、唯一のメモリだけが単一のソース（例えば、フロントエンドプロセッサ６５）からロードされれば済むので、複数の分割されたメモリを有するシステムの使用よりも比較的簡単である。
【００１４】
[0017]図１を更に参照すると、ＳＣＬ２０は、テストシーケンスプログラム６０ａを実行し、また一連のパターン制御ロジックブロック３７ａ−３７ｃ（ＰＣＬ３７ａ−３７ｃ）及びアルゴリズムパターン発生ブロック４１（ＡＰＧ４１）の出力を制御するシーケンス制御プロセッサ２５（ＳＣＰ２５）を含む。ＡＰＧ４１は、ＳＣＰ２５によって作動されたとき、ハードウェアに組み込まれた、又は、プログラム６０ａの実行前若しくは実行中にＡＰＧ４１にロードされたソフトウェアプログラムによって実現された、アルゴリズムに基づく出力ビットパターンを生成する。使用される具体的なアルゴリズムは、希望のテストのタイプ及びＤＵＴの仕様に依存する。ＳＰＬ制御ブロック３７ａは、データセットに基づいて出力するために適切なＳＣＡＮビットを決定する制御ブロックを表す。ＡＰＬ制御ブロック３７ｂは、データセットに基づいて出力するために適切なデジタル化されたアナログビットを決定する制御ブロックを表す。Ｆ制御ブロック３７ｃは、データセットに基づいて出力するために適切な機能データビットを決定する制御ブロックを表す。
【００１５】
[0018]ＰＣＬ３７ａ−３７ｃは、メモリ６０に格納されたデータセット６０ｂ−６０ｎからデータのブロックを受信するため接続される。ＰＣＬ３７ａ−３７ｃ及びＡＰＧ４１の出力３９ａ−３９ｄはセレクタマルチプレクサ４３（ＭＵＸ４３）へ入力される。複合ビットパターンはＭＵＸ４３からバス４４に出力され、選択された複合ビットパターンはＳＣＰ２５からの制御ライン４０によって制御される。バス４４上の複合ビットパターンは、次に、イベントロジックブロック４７及びピンエレクトロニクスブロック４９を介して送信される。ＳＣＰ２５は、制御ライン４６上のイベントロジック４７に機能信号を送信するため接続される。ライン４６上の機能信号は、ＤＵＴ７０によって要求される適切な出力信号特性を決定するためイベントロジック４７及びピンエレクトロニクス４９によって使用される。より詳細には、機能信号４６は、ＤＵＴ７０へ送信される出力信号の適切な動作特性を決定するため、例えば、出力チャネル５０に接続されたＤＵＴ７０の各ピンによって要求されるタイミング、電圧レベル及び／又は電流レベルを決定するため、イベントロジック４７及びピンエレクトロニクス４９によって使用される。
【００１６】
[0019]メモリ６０へアクセスするため、ＳＣＬ２０は、メモリバス６１によってメモリ６０に接続されたメモリインタフェース／ページ要求スプーラ２９（ＭＩＰＲＳ２９）を含む。ＭＩＰＲＳ２９は、ＳＣＬ２０内の様々なロジックブロック（要求元）からデータ及び命令読み出し／書き込み要求を受信するため接続された読み出し／書き込みキュー２９ａを含む。読み出し／書き込みキュー２９ａは、ＭＩＰＲＳ２９が複数の読み出し／書き込み要求を保持し、これらの要求を順番に処理することを可能にさせる。システム１０の本実施例において、要求元は（プログラム６０ａから命令を要求する）ＳＣＰ２５と、（それぞれがデータセット６０ｂ−６０ｎからデータを要求する）ＰＣＬ３７ａ−３７ｃと、（結果がＤＵＴ７０から入力チャネル５１で受信されたときにデータ書き込みを要求する）ＰＥ４９と、を含む。各要求元は、また、第１の要求元が動作を継続している間に同時にＭＩＰＲＳ２９が第２の要求元からの読み出し又は書き込み要求を処理可能にするために十分なデータ又は命令のバッファを保持するため、関連したキャッシュ（又はバッファ）（例えば、１組のＦＩＦＯレジスタ）を含む。より詳細には、ＳＣＬ２０は、命令キャッシュ２５ａ及び結果キャッシュ３１を含み、両方のキャッシュはＭＩＰＲＳ２９に接続され、メモリ６０から読み出された命令及びメモリ６０へ書き込まれるべき結果データをそれぞれ記憶するため使用される。同様に、各ＰＣＬ３７ａ−３７ｃは、バス３４上でメモリ６０から読み出されたテストデータ、及び、ＭＩＰＲＳ２９から受信されたテストデータを保持するため使用されるＦＩＦＯレジスタ３８ａ−３８ｃを含む。
【００１７】
[0020]ＳＣＬ２０は、バス２８によってＭＩＰＲＳ２９に接続されたバスインタフェースブロック２７を含む。バスインタフェースブロック２７は、また、バス６６によってフロントエンドプロセッサ６５に接続され、バス２６によってシーケンス制御プロセッサ２５（ＳＣＰ２５）に接続される。システム１０の動作中に、フロントエンドプロセッサ６５は、バスインタフェース２７及びＭＩＰＲＳ２９を経由してプログラム及びデータセットを送信することにより、テストシーケンスプログラム６０ａ及びテストデータセット６０ｂ−６０ｎをメモリ６０にロードする。
【００１８】
[0021]典型的に、テストシーケンスプログラム６０ａ及びデータセット６０ｂ−６０ｎがメモリ６０へロードされる前に、プログラマ（「ユーザ」）は、ＤＵＴ７０を試験するため必要なテストパターンを指定する。ユーザは、フロントエンドプロセッサ６５上でテストシーケンス発生プログラムを実行してもよい。テストシーケンス発生プログラムは、ユーザがフロントエンドプロセッサ６５に接続された入力／出力装置（例えば、図示されないキーボード又はマウス）を用いてＤＵＴテスト用選択を実行できるようにする。より詳細には、テストシーケンス発生プログラムは、ユーザがＤＵＴ７０の各ピンに必要なテストパターンのタイプ、及び、テストプログラム（「テストシーケンス」）の実行中にＤＵＴ７０へ出力する逐次的なパターンの個数を選択し指定できるようにする。ユーザは、また、テストシーケンス中にＤＵＴ出力ピンからの予想結果を選択し指定してもよい。ユーザの選択に基づいて、テストシーケンス発生プログラムは、テストシーケンスプログラム６０ａをアセンブルし、この結果、指定されたＤＵＴピン毎に適切なテストパターンがＳＣＬ２０によるテストシーケンスプログラム６０ａの実行中の適切な時点に出力されるであろう。ユーザは、また、ＤＵＴ７０の物理特性、例えば、ＤＵＴ７０によって必要とされるクロック速度及び／又は動作電圧レベルを指定してもよい。この場合、テストシーケンスプログラム６０ａは、後述するように、ＳＣＬ２０から出力されたテストパターン信号及びＤＵＴへの入力がＤＵＴの動作信号必要条件に合致するよう条件付けされるように、ＤＵＴの物理特性を反映するコマンド（又はコマンドフィールド）を含む。
【００１９】
[0022]バスインタフェース２７は、複数のレジスタＲＥＧａ−ＲＥＧｎを含み、複数のレジスタは、メモリ６０に格納されたプログラム６０ａの開始アドレス及び各データセットの開始（「ベース」）アドレスを格納するため、フロントエンドプロセッサ６５によって使用される。各データのベースアドレス及びサイズは可変である。システム１０の動作中、フロントエンドプロセッサ６５は、データセットがメモリ６０へ書き込まれる前に、各データセットのベースアドレスをレジスタＲＥＧａ−ＲＥＧｎのうちの一つのレジスタに書き込む。ベースアドレスはＭＩＰＲＳ２９へ転送され、ＭＩＰＲＳ２９は、次のデータセットの書き込みのロケーションを決定するためベースアドレスを使用する。ＭＩＰＲＳ２９は、また、パターン制御ブロック３７ａ−３７ｃから受信された次の読み出しのロケーションを決定するため、すなわち、各データセットのベースアドレスに相対的にデータセット内の次の読み出しアドレスを決定するため、各データセットのベースアドレスを使用する。
【００２０】
[0023]フロントエンドプロセッサ６５は、信号ライン６８によってＳＣＰ２５へコマンド信号を送信するため接続される。テストシーケンスプログラム６０ａ及びテストデータセット６０ｂ−６０ｎがメモリ６０にロードされた後、フロントエンドプロセッサ６５は信号ライン６８上のＳＣＰ２５へ「スタート」信号を送信し、これにより、ＳＣＰ２５にテストシーケンスプログラム６０ａの実行を開始させる。ＳＣＰ２５がＦＥＰ６５から「スタート」信号を受信するとき、ＳＣＰ２５は、（レジスタＲＥＧａ−ＲＥＧｎのうちの一つのレジスタに格納された）プログラム６０ａの開始アドレスをＭＩＰＲＳ２９へ送信する。ＭＩＰＲＳ２９は、送信された開始アドレスから始まるプログラム６０ａから命令のブロックを読み出し、次に、読み出された命令を命令キャッシュ２５ａへ転送し、命令キャッシュは次にこれらの命令を命令バス３３上のＳＣＰ２５へ転送する。
【００２１】
[0024]上述のように、レジスタＲＥＧａ−ＲＥＧｎは、メモリ６０に格納されたテストデータ６０ｂ−６０ｎの各セットに関するベースアドレスを格納するため使用される。ＳＣＰ２５がテストシーケンスプログラム６０ａの実行を開始すると、ＳＣＰ２５は、要求された各データセットの第１の読み出し要求を初期化するため、これらのベースアドレスを読み出し、バスインタフェース２７を介してＭＩＰＲＳ２９へ転送する。後続の読み出し要求は、データセット６０ｂ−６０ｎからの付加データを要求する要求側のＰＣＬ３７ａ−３７ｃからＭＩＰＲＳ２９へ送信される。同様に、ＳＣＰ２５は、付加命令がＳＣＰ２５によって要求されたとき、命令読み出し要求をＭＩＰＲＳ２９へ送信する。ＭＩＰＲＳ２９によって受信された各読み出し要求は、ＭＩＰＲＳ２９に、テストデータ６０ｂ−６０ｎからデータ又は命令のページを読み出させ、データのページを要求元へ返却させる。「ページ」は、各要求元がその付随したバッファに格納することができるデータ又は命令のブロックサイズを表す。各要求元が有するページサイズは異なっていてもよい。
【００２２】
[0025]ＳＣＰ２５は、各ＦＩＦＯ３８ａ−３８ｃに保持されたデータの進みを制御するため、制御ライン２９によって各制御ブロック３７ａ−３７ｃのそれぞれの出力３９ａ−３９ｃに接続される。ＳＣＰ２５は、また、ＭＵＸ４３へのアルゴリズムパターンの出力３９ｄを制御するため、制御ライン２７によってＡＰＧ４１に接続される。ＳＣＰ２５は、また、選択ライン４０によってＭＵＸ４３へ接続され、バス４４上の複合ビットパターンの選択を制御する。システム１０の動作中、テストシーケンスプログラム６０ａ内の実行可能な命令のそれぞれがＳＣＰ２５によって受信されるとき、その命令はＳＣＰ２５によってデコードされる。ＳＣＰ２５は、サイクルの実行中に各ＰＣＬ３７ａ−３７ｃ及びＡＰＧ４１から要求される出力ビットを決定する。この決定に基づいて、ＳＣＰ２５は、制御ライン２９及び制御ライン２７のそれぞれに前進信号を送信することにより、ＰＣＬ３７ａ−３７ｃ及びＡＰＧ４１のそれぞれから出力３９ａ−３９ｃへの適切なビットを進める。ＳＣＰ２５は、次に、選択コードを決定し、ＭＵＸ４３への制御バス４０に出力する。選択コードは、ＤＵＴ７０のピン毎に指定されたテストパターンに対応し、パターン制御ブロック３７ａ−３７ｃ及びＡＰＧ４１のそれぞれからの適切なビットを選択させる。一例として、ＭＵＸ出力バス４４が３２ビット幅であるならば（ビット０からビット３１までのビット位置を有するならば）、命令は、ＳＰＬ制御ブロック３７ａからのスキャンビットとしてビット０を指定し、ＡＰＬ制御ブロック３７ｂからのアナログビットとしてビット１〜ビット３１を指定する。したがって、バス２９上の前進信号は、ＳＰＬブロック３７ａからの１ビット及びＡＰＬブロック３７ｂからの３１ビットを出力するため送信される。ＳＣＰ２５は、次に、ＭＵＸ４３からの複合出力パターンを形成するため、ＳＰＬブロック３７ａ及びＡＰＬブロック３７ｂから出力されたビットを選択するように選択コードを送信し、この場合は、ＳＰＬブロック３７ａからのビット０とＡＰＬブロック３７ｂからのビット１〜ビット３１を結合する。
【００２３】
[0026]バス４４上の複合ビットパターン出力はイベントロジックブロック４５に入力される。イベントロジック４５は、また、ＳＣＰ２５からのライン４６上の機能制御信号を受信する。機能信号は、出力チャネル５０に接続されたＤＵＴ７０の各ピンのため必要な出力信号の動作特性を反映する。イベントロジック４７は、バス４８上のデジタル信号パターンとバス４６ａ上の条件付け信号をピンエレクトロニクス４９（ＰＥ４９）へ転送する。バス４８上のデジタル信号パターンはＤＵＴ７０の必要なタイミングに基づく。ＰＥ４９は、次に、バス４６ａ上の条件付け信号に応じて、受信したデジタル信号パターンに「条件を設定」し、例えば、出力信号の電圧を増幅し、及び／又は、デジタル信号パターンをアナログ出力信号に変換し、及び／又は、ＤＵＴ７０のピン若しくはピンの組によって要求される出力信号のタイミングを調整する。
【００２４】
[0027]ＰＥ４９からＤＵＴ７０への条件設定された出力信号は、ＤＵＴピン７０ａ−７０ｄに接続された信号チャネル５０に出力される。テストパターンがＤＵＴ７０へ出力されるとき、テスト結果はピン７０ｅでＤＵＴ７０に接続された入力チャネル５１上でＳＣＬ２０に入力される。受信された結果は、次に、バス４９ａを介して送信され、結果キャッシュ３１に格納される。結果キャッシュ３１が結果のページ全体を格納したとき、結果キャッシュ３１は、結果のページをメモリ６０へ書き込むため、書き込み要求をＭＩＰＲＳ２９へ送信する。メモリ６０に格納された結果は、フロントエンドプロセッサ６５又はＳＣＰ２５によって後で取り出される。受信された結果は、プログラム６０ａから実行される命令の流れを決定するため（例えば、受信した結果に基づいて分岐判定を行うため）、プログラム６０ａの実行中にＳＣＰ２５によって使用される。
【００２５】
[0028]メモリ６０は、各々が異なるタイプのテストパターンに対応する可能性がある多数のタイプのテストデータセット及び／又はテストプログラムを格納するため使用してもよい。例えば、データセットのタイプは、機能データ（「Ｆデータ」）、スキャンデータ及びデジタル化されたアナログデータを含む。しかしながら、デジタルフォーマットで表現されるあらゆるタイプのデータはメモリ６０に格納しメモリ６０から読み出してもよい。
【００２６】
[0029]特定のデータセット６０ｂ−６０ｎと関連付けられたリンクテーブルがデータセットと共にメモリ６０に格納される。リンクテーブルは、データセットの種々のセグメントへのポインタを含み、データセットが非リニア形式でメモリに保存されメモリから読み出されることを可能にする。この場合は、特定のＰＣＬ３７ａ−３７ｃは、リンクテーブルを要求し、関連したＦＩＦＯレジスタ３８ａ−３８ｃにリンクテーブルを格納し、格納されたリンクテーブルは、メモリ６０に格納され、これらのリンクテーブルに基づいて編成されたデータセットのセグメントにアクセスするため使用される。
【００２７】
[0030]多目的メモリ６０は、「ＰＣ標準」メモリ、すなわち、ＰＣ標準通信プロトコルに準拠して動作するように構築されたメモリでもよい。この場合、メモリ６０は別のＰＣ標準メモリによって置き換えてもよい。また、メモリ６０は、単一のアドレス／データバス６１及びＭＩＰＲＳ２９によってアクセス可能であるマルチプルチップセットを使用して構成してもよく、例えば、メモリ６０は、「デュアルインラインメモリ」（ＤＩＭＭ）として実現される。一般に、単一の統一メモリアドレス空間としてアクセスすることができるあらゆる物理的又は電気的メモリ構造が使用される。
【００２８】
[0031]図２を参照すると、テストシステム１０の代替の実施形態は、データ選択ロジック１０ａ（ＤＳＬ１０ａ）を含む。ＤＳＬ１０ａは、ＰＣＬ３７ａ−３７ｃ及びＡＰＧ４１からの複合ビットパターンを選択し割り当てる代替的な方式を表す。一部のケースでは、ＰＣＬ３７ａ−３７ｃ及びＡＰＧ４１のような１組のパターン制御ロジックブロックからの出力ラインの本数は、ＭＵＸ４３のような単一のマルチプレクサの入力ライン容量を超過する。したがって、ＤＳＬ１０ａは、データ選択ルックアップロジックブロック４２（ＤＳＬＬＢ４２）の出力によって制御される複数のマルチプレクサ４３ａ−４３ｆを使用して、比較的多数の入力を多重化することが可能である。より詳細には、各ＰＣＬ３７ａ−３７ｃ及びＡＰＧ４１は、３２ビットのデータをそれぞれのバス３９ａ−３９ｄに出力する。１６個の選択マルチプレクサ４３ａ−４３ｐがＰＣＬ３７ａ−３７ｃ及びＡＰＧ４１の各出力バス３９ａ−３９ｎからそれぞれ２ビットを受信するため接続される。各ＭＵＸ４３ａ−４３ｐは、次に、１６本の出力バスＤ（０：１）−Ｄ（３０：３１）にそれぞれ２ビットずつを出力するため選択され、バス４４に複合ビットパターンを形成する。バス４４上で適切な複合ビットパターンを選択するため、ＤＳＬＬＢ４２は、テストシーケンスプログラム６０ａの実行前にインデックス付きルックアップテーブルがロードされる。ＤＳＬＬＢ４２は、ライン４０上でＳＣＰ２５から４ビットデータ選択インデックス４０ａ（ＤＳ  Ｉｎｄｅｘ０：３）を受信するため接続され、次に、３ビット選択コードを選択ライン４３ａ−４３ｐ上のそれぞれのＭＵＸ４３ａ−４３ｐへ出力する。データ選択インデックス４０ａは、システム１０の動作中にメモリ６０又はＲＡＭ７５の何れかからフェッチされたＳＤＳ命令３３ａのオペランドフィールドの一部に対応する。この場合、ＳＣＰ２５はＳＤＳ命令をデコードし、対応した４ビットデータ選択インデックス４０ａ（ＤＳ  Ｉｎｄｅｘ（０：３））をＤＳＬＬＢ４２へ出力する。ＤＳＬＬＢ４２は、受信した４ビット「ＤＳ  Ｉｎｄｅｘ」を使用し、格納されたルックアップテーブルに索引を付け、１６個の別個の３ビット選択コードを、３ビット選択コード毎に別個の選択バス４５ａ−４５ｐで、それぞれのＭＵＸ４３ａ−４３ｐへ出力する。
【００２９】
[0032]このようにインデックス付きルックアップテーブルを用いて複数のマルチプレクサを制御する方式は、比較的短いオペコードフィールドを有する実行可能な命令で比較的多数のマルチプレクサを制御可能にさせる。この場合は、ＳＤＳ命令は、アセンブルされ、４ビットオペコードフィールドによって表現され、ＤＳＬＬＢ４２からそれぞれのライン４５ａ−４５ｐへ出力される１６個の３ビット選択コードを選択するため使用される。これは、比較的小規模のオペコードが複数のマルチプレクサを制御するために十分な個別の選択コードを発生させるため使用されるので有利である。
【００３０】
[0033]複合ビットパターン４４は分割され、集積回路の種々の物理的な部分へ割り当てられ、又は、種々の回路基板へ割り当てられる。例えば、出力バス４４の３２ビットは、二つの１６ビットグループ、すなわち、Ｄ（０−１５）及びＤ（１６−３１）のそれぞれに分割され、各グループが異なる回路基板又は集積回路へ割り当てられる。これは、３２ビットのテストパターンを制御するために必要なロジックの量が単一の集積回路又は回路基板の回路容量を上回るような状況である。
【００３１】
[0034]図３を参照すると、集積回路テストシステム１００の第３の実施形態は、複数のテストシーケンスボード８０ａ−８０ｎを含み、テストシーケンスボードのそれぞれは、複数のシーケンス制御ロジックブロック（ＳＣＬ）２０ａ−２０ｂ、２０ｃ−２０ｄ及び２０ｍ−２０ｎをそれぞれに含む。各ＳＣＬ２０ａ−２０ｎは、入力チャネル５１ａ−５１ｎ及び出力チャネル５０ａ−５０ｎを介してＤＵＴ７０の入力／出力ピンの組に接続される。各ＳＣＬ２０ａ−２０ｎは、上述のメモリ６０と同じ形式で動作する関連した多目的メモリ８１ａ−８１ｎに接続され、すなわち、各メモリ８１ａ−８１ｎは、テストパターンをＤＵＴ７０へ出力するため使用されるテストシーケンスプログラム及び複数のデータセットを保持するため使用される。システム１００は、制御バス６１及びデータバス６２によってＳＣＬのそれぞれに接続されたフロントエンドプロセッサ６５（ＦＥＰ６）を含む。データバス６２は、各ＳＣＬ２０ａ−２０ｎにそれぞれ収容されたバスインタフェースブロック２７ａ−２７ｎに「ディジーチェイン」形式で接続される。各バスインタフェースブロック２７ａ−２７ｎは関連したメモリ８１ａ−８１ｎに接続される。
【００３２】
[0035]システム１００の動作中に、ＦＥＰ４６はバス６２を介して、バスインタフェースブロック２７ａ−２７ｎを経由して関連したメモリ８１ａ−８１ｎに実行可能なテストシーケンスプログラムをロードする。各メモリ８１ａ−８１ｎにロードされた実行可能なプログラム及びテストデータセットは、各ＳＣＬプロセッサ２０ａ−２０ｎにそれぞれ接続された各ピンのため適切である。ＦＥＰ６０は、次に、テストプログラムの実行を開始するため、制御バス６１を介して各ＳＣＬへ「スタート」信号を発行する。
【００３３】
[0036]ＦＥＰ６５は、ＤＵＴ７０の試験中に、二つのＳＣＬプロセッサの動作を同期させるため、二つ（以上）のＳＣＬプロセッサへバス６１上の同期（ＳＹＮＣＨ）信号を送信する。複数のＳＣＬの同期動作を協調させるため、システム１０ａは、また、クロックライン９１によって各ＳＣＬプロセッサへ接続されたシステムクロック９０を含む。
【００３４】
[0037]制御バス６１は双方向でもよく、ＦＥＰ６５及び各ＳＣＬ２０ａ−２０ｎが相互に協調用信号を送受信可能にさせる。例えば、ＳＣＬ２０ａは、試験中に不成功のテスト結果であると判定されるテスト出力を入力チャネル５１ａ上で受信する。ＳＣＬ２０ａは、次に、不成功の判定を示すために、制御バス６１上でＳＣＬ２０ｃのような他のＳＣＬへ協調用信号を送信する。ＳＣＬ２０ｃは、ＳＣＬ２０ａから受信した結果を使用して、その固有のテストシーケンスプログラムの実行フローを決定するか、又は、そのテストシーケンスプログラムの実行を中止する。
【００３５】
[0038]統一メモリ６０は、必ずしもテストシステム内の別個のパターン固有ロジックブロックのすべてに対して使用されなくてもよい。それどころか、統一メモリは、二つ以上の別個のパターン固有ロジックブロックの任意の組み合わせのために機能し、一方、他のロジックブロックが専用メモリを有し、及び／又は、別個の統一メモリアドレス空間を共有してもよい。
【００３６】
[0039]上記の実施形態における集積回路を試験するプロセス（又は方法）は、図１〜３のハードウェア及びソフトウェアとの共用に限定されない。以下ではプロセス２００と称されるこのプロセスは、あらゆるコンピューティング又はプロセシング環境にアプリケーションが見出されるであろう。プロセス２００は、ハードウェア、ソフトウェア、又は、両者の組み合わせの形で実施される。プロセス２００は、それぞれにプロセッサ及びプロセッサによって読み取り可能な記憶媒体を含むプログラマブルコンピュータ又はその他のマシンで実行されるコンピュータプログラムの形で実施される。
【００３７】
[0040]本明細書に記載されていないその他の実施形態も特許請求の範囲に含まれる。
【図面の簡単な説明】
【００３８】
【図１】集積回路テストシステムの第１の実施形態を示すブロック図である。
【図２】集積回路テストシステムの第２の実施形態を示すブロック図である。
【図３】集積回路テストシステムの第３の実施形態を示すブロック図である。
【図１】
2005524852.tif 000003
【図２】
2005524852.tif 000004
【図３】
2005524852.tif 000005
【国際調査報告】
2005524852.tif 000006
2005524852.tif 000007
2005524852.tif 000008