(57)【要約】ソフトウェア及びハードウェアシステム及びこれらの関連手法は、シリコンデバッグ、プロセス特性、プロダクション（ボリューム）テスト、システム診断、の改良された故障診断と同様に、ＡＴＥ独立ｇｏ／ｎｏ−ｇｏテストを提供する。これは、集積回路内に設計される埋込テストアーキテクチャと、集積回路と外部環境との間においてシームレスに情報を伝送する手段と、関連するテスト及び診断を行うためにシームレスな伝送を実現するユーザの外部環境と、を含む。
2004509425.tif 000002
【特許請求の範囲】
【請求項１】
埋込テストコントローラを有する回路に接続するテスタを備えたＡＴＥ環境において、該回路をテストする際に使用するシステムであって、
埋込テストコントローラアクセスデータファイル、故障モジュールに至るまでテスト障害を診断する際に使用する署名及びベクトルデータを含むテストコントローラ診断データファイル、前記回路に埋め込まれている１つもしくは複数のテストコントローラ毎に１つもしくは複数のテストステップを定義するテストコンフィグレーションデータファイルを読み込む手段を有する、テストプログラムを生成する手段と、
前記テストコンフィグレーションデータファイルにおいて指定された１つもしくは複数の前記テストステップ及び１つもしくは複数の埋込テストコントローラ毎に前記アクセスデータファイルから導かれるテストパターンを生成する手段と、
被測定デバイスにテスト刺激をロードする指示のＡＴＥ独立シーケンスを生成し、取得操作を実行し、前記デバイスの応答データを抽出する手段と、
指示のＡＴＥテスタ独立シーケンスを指示のテスタ特定シーケンスに変換する手段と、
指示の前記テスタ特定シーケンスを実行するために、前記テスタにロードする手段と、
を有するシステム。
【請求項２】
前記テストプログラムは、ＡＴＥテスタのカーネルライブラリにリンクされているユーザ定義プログラムであって、ＡＴＥテスタハードウェアを直接制御し、被測定デバイスをテストするためにソフトウェアコード及び該ＡＴＥテスタを駆動するデータのコンビネーションであり、
前記テストプログラムを生成する手段は、
埋込テストコントローラアクセスデータファイルを読み込み、被測定デバイスの前記埋込テストコントローラを表示し選択する手段と、
個別のテストステップを定義する手段と、
１つもしくは複数のテストグループを定義する手段と、
前記テストステップをユーザ選択シーケンシャルオーダーに配列する手段と、
１つもしくは複数の前記テストステップを選択的に実行する手段と、
テストコンフィグレーションファイルにテストプログラムを書き込む手段と、
ＡＴＥソフトウェアと前記テストプログラムとをリンクする手段と、
を有する、
請求項１に記載のシステム。
【請求項３】
故障被測定デバイスに関する情報を収集し報告するためのデータログ処理をイネーブル及びディスエーブルにし、故障デバイスの症状を詳述し、表示手段に故障情報を表示し、及び／又はオフライン解析のために「ログ」ファイルに該情報を記憶する手段を含む、請求項１に記載のシステム。
【請求項４】
テストステップのシーケンスをユーザが定義することを可能にする手段を有し、
前記テストステップのシーケンスの各ステップにおいて、デバイスに埋め込まれている１つもしくは複数のテストコントローラが実行され、任意のコントローラもしくはテストステップのランタイムパラメータとデータログリクエストとを定義し、もしくは、変更し、選択されたテストグループの適切な所定のベクトルが実行される際に、機能ベクトルを用いず実行される、
請求項１に記載のシステム。
【請求項５】
故障被測定デバイスに関する情報を収集し報告するためのデータログ処理をイネーブル及びディスエーブルにし、故障デバイスの症状を詳述し、表示媒体に故障情報を表示し、及び／又はオフライン解析のために「ログ」ファイルに該情報を記憶する手段と、
テストステップのシーケンスをユーザが定義することを可能にする手段と、
デバイス故障を診断する手段と、
をさらに有し、
前記テストステップのシーケンスの各ステップにおいて、デバイスに埋め込まれている１つもしくは複数のテストコントローラが実行され、任意のコントローラもしくはテストステップのランタイムパラメータとデータログリクエストとを定義し、もしくは、変更し、選択されたテストグループの適切な所定のベクトルが実行される際に、機能ベクトルを用いず実行される、
請求項１に記載のシステム。
【請求項６】
前記テストステップの各々は、１つもしくは複数のテストコントローラのパラレルなフル実行を定義し、
１つもしくは複数の前記テストコントローラのコントローラテストと、対応するテストステップのベクトルを生成する全てのコントローラのランタイムコントローラオプションと、を設定し、実行し、該コントローラテストの結果を収集し、
各々のテストステップは、各々個別のテストベクトルとタイミング特定を有する、
請求項２に記載のシステム。
【請求項７】
前記テストグループの各々は、テストステップの規則的な選択であり、
非システム特定ベクトルを含むかもしれないテストにおいて、特定ポイントにおける実行のテストステップのグループを、ＡＴＥテストプログラムに選択させることができる、
請求項２に記載のシステム。
【請求項８】
前記テストプログラムを変換する手段は、
複数の自動テスト機器テスタモデルの各々の変換データを記憶する手段と、
当該システムに使用される自動テスト機器テスタのモデルを特定する手段と、
を有し、
前記変換する手段は、前記テストプログラム及び前記テスト刺激を変換する特定のテスタモデルに関連する、変換データを使用する、
請求項１に記載のシステム。
【請求項９】
テスト故障において生じる比較パターンを生成した、前記テストプログラムにおけるコマンドを判断する際に使用する、該テストプログラムのコマンドの各々のバックマップデータを生成し記憶する手段、をさらに含む請求項１に記載のシステム。
【請求項１０】
ＡＴＥテスタによるＡＴＥ故障データ出力をテスタ独立故障変換された故障データに変換する故障トランスレータと、
前記埋込テストコントローラアクセスデータファイル、前記テストプログラムのオリジナルコマンドを判断するパターンプロセッサのパターンデータにアクセスする前記故障トランスレータの変換された故障データ、コマンドの各々にコメントされた埋込テストレジスタデータにおける故障ビットオフセットに応答し、関連する埋込テストコントローラのアクセスデータと、故障レジスタビットと、を故障のセマンティックスを判断するために比較し、チップ設計のコンテクストにおけるデータログを生成する、データログジェネレータと、
をさらに有する請求項１に記載のシステム。
【請求項１１】
前記データログジェネレータは、メモリ埋込テストデータログの故障メモリインスタンス、アドレス、及び、データビットを生成し、論理埋込テストデータログの故障スキャン試行、もしくは、故障フリップフロップインスタンスを生成する、請求項１０に記載のシステム。
【請求項１２】
テストコンフィグレーションをユーザが定義することを可能とするユーザインタフェース手段をさらに含み、
該ユーザインタフェース手段は、
被測定デバイスの埋込テストブロックの各々の埋込テストブロック識別と、該埋込テストブロックの各々の操作モードの各々と、を表示する表示手段と、
テストコンフィグレーションを特定する手段と、
テストを起動する手段と、
テスト結果データの診断を起動する手段と、
を有し、
前記テストコンフィグレーションを特定する手段は、
テストの１つもしくは複数の前記埋込テストブロックを選択する手段と、
選択された埋込テストブロックの各々の操作モードを特定する手段と、
テストコンフィグレーションデータファイルにテストコンフィグレーションデータを記憶する手段と、
を含む、
請求項１に記載のシステム。
【請求項１３】
回路に接続されるテスタを有するＡＴＥ環境において、該回路をテストする際に使用するシステムであって、
テストプログラムを生成する手段と、
変換テストプログラムとテスト刺激とを出力するために、ＡＴＥテスタにより要求されるフォーマットにテストプログラムとテスト刺激とを変換する手段と、
前記ＡＴＥテスタによるＡＴＥ故障データ出力をＳＶＦ故障に変換し、変換故障データを生成する故障変換手段と、
埋込テストコントローラアクセスデータファイル、前記テストプログラムのオリジナルコマンドを判断する前記テストプログラムを生成する手段のパターンデータにアクセスする故障トランスレータの変換された故障データ、コマンドの各々にコメントされた埋込テストレジスタデータにおける故障ビットオフセットに応答し、埋込テストコントローラのアクセスデータと、故障レジスタビットと、を故障のセマンティックスを判断するために比較し、チップ設計のコンテクストにおけるデータログを生成する、データログ生成手段と、
を有し、
前記テストプログラムを生成する手段は、
被測定デバイスの埋込テストアーキテクチャ記述を含む埋込テストコントローラアクセスデータファイル、該デバイスの埋込テストブロックの各々の埋込テストアクセスパターン、埋込テストブロックの各々の任意の結果データを読み込む手段と、
テストが実行される１つもしくは複数の埋込テストブロックを識別するテストコンフィグレーションデータファイルと、１つもしくは複数の埋込テストブロックの操作モードと、を読み込む手段と、
前記回路の１つもしくは複数の埋込テストブロックの各々のテスト刺激を生成する手段と、
を有し、
埋込テストコントローラデータは、埋込テスト機能と該デバイスの機能モード構造への接続のみを記述し、
前記テストプログラムとテスト刺激とを変換する手段は、
複数の自動テスト機器テスタモデルの各々の変換データを記憶する手段と、
当該システムに使用される自動テスト機器テスタのモデルを特定する手段と、
テスト故障において生じる比較データを生成する、前記テストプログラムにおけるコマンドを判断する際に使用する、該テストプログラムにおけるコマンドの各々のバックマップデータを生成し記憶する手段と、
を有し、
変換する手段は、前記テストプログラムと前記テスト刺激とを変換する特定テスタモデルに関連する変換データを用いる、
システム。
【請求項１４】
ユーザにより使用され、テストコンフィグレーションを特定し、テストコンフィグレーションデータファイルに該テストコンフィグレーションを記憶するユーザ入力手段をさらに有し、
該ユーザ入力手段は、当該システムに関連するＡＴＥテスタと通信する手段を備え、
該通信する手段は、
埋込テストサーバから受信される論理、フォーマット、タイミングを備える完全なパターンのセットをテスタメモリにロードするように、前記テスタに指示する手段と、
前記テスタのパターンランの故障データを抽出する手段と、
診断のために当該システムに前記故障データを送信する手段と、
前記埋込テストサーバの故障診断情報を受信し、前記テスタのデータコレクションストリームに故障診断情報を挿入する手段と、
を含む、
請求項１３に記載のシステム。
【請求項１５】
回路を設計しテストするシステムにおいて使用する、コンピュータ読込可能埋込テストコントローラアクセスデータファイルを生成するプログラムプロダクトであって、
コンピュータ読込可能記憶媒体と、
回路設計データファイルと埋込テストコントローラ設計データファイルとを読み込む、前記媒体に記録されている手段と、
ファイルの埋込テスト構造のアーキテクチャを判断し、埋込テストアーキテクチャのコンピュータ読込可能記述を生成する、前記媒体に記録されている手段と、
埋込テストコントローラ設計データファイルの全ての埋込テストコントローラを識別し、該埋込テストコントローラの各々の埋込テストコントローラアクセスパターンと操作モードとの記述を生成する、前記媒体に記録されている手段と、
埋込テストコントローラアクセスデータファイルに前記記述を書き込み、コンピュータ読込可能媒体に該埋込テストコントローラアクセスデータファイルを記憶する、前記媒体に記録されている手段と、
を有する、プログラムプロダクト。
【請求項１６】
電子回路に接続され、該電子回路の埋込テストブロックをテストするテストパターンを該電子回路に適用するテスタを含む、自動テスト機器環境において、電子回路を設計しテストする際に使用するシステムであって、
前記電子回路の埋込テストブロックアクセスデータファイルを読み込む手段と、
ユーザ入力に応答して、被測定回路の１つもしくは複数の埋込テストブロックを選択し、選択された１つもしくは複数の埋込テストブロックの各々の操作モードを特定する手段と、
ユーザ入力に応答する前記手段に応答して、選択された埋込テストブロックの各々に使用するテストプログラムとテスト刺激と、を前記テスタにより認識されるフォーマットで生成し、前記テストパターンをユーザ入力に応答する前記手段に出力する手段と、
ユーザ入力に応答する前記手段に応答して、回路の選択された前記埋込テストブロックのテストを起動するために、前記電子回路に前記テストパターンをロードし、該パターンを実行し、テスト結果をリターンするように、前記テスタに指示する手段と、
を有するシステム。
【請求項１７】
異なるモードで前記埋込テストブロックを実行することによりさらなる情報を取得することができるか否かを判断するために、前記テスト結果を解析する手段をさらに有する、請求項１６に記載のシステム。
【請求項１８】
前記解析する手段は、さらなるテストステップの実行によりさらなる情報が取得されなくなるまで、診断に使用される埋込テストブロックを含むテストステップを繰り返し生成し、もしくは、変更し、テストパターンを生成し、該パターンをロードし、該テストパターンを実行し、結果をリターンするように、前記テスタに指示する手段を有する、請求項１７に記載のシステム。
【請求項１９】
前記解析する手段は、異なるモードで前記埋込テストブロックを実行することによりさらなる情報を取得できない場合、ファイナルテストレポートを生成するように操作することができる、請求項１７に記載のシステム。
【請求項２０】
前記データファイルは、被測定デバイスの埋込テストアーキテクチャ記述、埋込テストブロック各々の埋込テストアクセスパターン、任意の、埋込テストブロック各々の結果データ、を有する、請求項１６に記載のシステム。
【請求項２１】
埋込テストコントローラを有するデジタル回路をテストする際に使用するシステムであって、
被測定デバイスに接続するＡＴＥテスタと、
特殊用途、もしくは、一般用途デジタルコンピュータと、
を、組み合わせて有し、
前記ＡＴＥテスタは、
前記被測定デバイスに電力を供給する手段と、
前記被測定デバイスにテストクロック信号を供給する手段と、
ユーザ開発テストプログラムに応答して、該デバイスにテストパターンをロードし、デバイス応答データを該デバイスからアンロードすることを含む、テストを前記デバイスで実行する手段と、
テストコントローラアクセスデータファイルを読み込み、テストプログラムコンフィグレーションファイルを生成するユーザインタフェース手段と、
を有し、
前記デジタルコンピュータは、前記ユーザインタフェース手段に応じて、テストプログラムを生成する埋込テストアクセスデバイスを有し、
該アクセスデバイスは、コンピュータ読取可能形式で記述する、該デバイスの前記埋込テストコントローラの埋込テストアクセスデータファイルを読み込み、テストを実行する前記手段に前記テストプログラムを送信する手段を含む、
システム。
【請求項２２】
埋込テストコントローラを有するデジタル回路をテストする際に使用するシステムであって、
被測定デバイスに電力を供給し、該被測定デバイスにクロック信号を供給するテスタヘッドを有するＡＴＥテスタワークステーションと、
特殊用途、もしくは、一般用途デジタルコンピュータと、
ユーザ開発テストプログラムに応答して、ＡＴＥ特定テストベクトルにテストプログラムを変換し、ＡＴＥベクトルメモリに該テストベクトルをロードし、テストコンフィグレーションファイルに示されるテストプログラム仕様にしたがい、前記デバイスでテストを実行する手段と、
を、組み合わせて有し、
前記デジタルコンピュータは、
表示手段と、
パラレル入出力ポートと、
テストコンフィグレーションデータファイルを生成する際にユーザにより使用される前記ワークステーションのユーザインタフェース手段と、
前記ユーザインタフェース手段に応答して、前記テストコンフィグレーションデータファイルに示されるテストプログラム仕様にしたがい、テストプログラムを生成する当該コンピュータの埋込テストコントローラアクセス手段と、
を有し、
該アクセス手段は、コンピュータ読取可能形式で記述する、該デバイスの前記埋込テストコントローラの前記テストコンフィグレーションデータファイルと埋込テストアクセスデータファイルとを読み込み、テストを実行する前記手段に前記テストプログラムを送信する手段を含む、
システム。
【請求項２３】
ＡＴＥソフトウェア環境とインタフェースし、埋込テストブロックで電子回路をテストする、埋込テストコントローラアクセスプログラムプロダクトであって、
コンピュータ読込可能記憶媒体と、
コンピュータ読取可能媒体に記憶され、前記電子回路に関連する、埋込テストコントローラデータファイルを読み込む、前記媒体に記録されている手段と、
前記回路で実行される１つもしくは複数のテストステップを特定するテストコンフィグレーションファイルを読み込む、前記媒体に記録されている手段と、
１つもしくは複数の前記テストステップの各々を実行するジェネリックフォーマットの指示シーケンスを生成する、前記媒体に記録されている手段と、
ジェネリックフォーマットの前記指示シーケンスをテスタ特定フォーマットの指示シーケンスに変換する、前記媒体に記録されている第１の変換手段と、
実行するために、前記テスタに前記テスタ特定指示シーケンスをロードする、前記媒体に記録されている手段と、
前記テスタの応答データ出力をジェネリックフォーマットの応答データに変換する、前記媒体に記録されている第２の変換手段と、
ジェネリックフォーマットの前記応答データを解析する、前記媒体に記録されている手段と、
を有する、プログラムプロダクト。
【請求項２４】
前記埋込テストコントローラデータファイルを生成する、前記媒体に記憶されている手段をさらに有し、
前記埋込テストコントローラデータファイルを生成する手段は、
前記回路の埋込テストコントローラアーキテクチャの記述と、
サポートされる全ての操作モードにおける前記埋込テストコントローラを起動するために要されるチップピンデータシーケンスと、コントローラを実行させるために要されるチップピンデータシーケンスと、該コントローラからテスト結果を抽出するために要されるチップピンデータシーケンスと、を含む、前記デバイスの埋込テストコントローラの各々の埋込テストアクセスパターンの記述と、
論理埋込テスト試行の各々の適正な署名値、論理埋込テスト試行の適正なフロップ値と、混合信号コンポーネントパラメータのハイロー境界値と、シミュレーションを通じて導かれるべき全ての埋込テストブロックの結果データと、を含む、期待テスト結果の記述と、
を前記埋込テストコントローラデータファイルに挿入し、コンピュータ読取可能媒体にアクセスデータファイルを記憶する、
請求項２３に記載のプログラムプロダクト。
【請求項２５】
テストコンフィグレーションデータファイルを生成する、前記媒体に記憶されているユーザインタフェース手段をさらに有し、
該ユーザインタフェース手段は、
前記埋込テストコントローラデータファイル及び前記回路に定義されている埋込テストコントローラの各々を示すアイコンを表示する、該アイコンの各々を選択する手段を含む、表示手段と、
前記テストステップに含まれる１つもしくは複数の前記埋込テストコントローラを選択し、選択された埋込テストコントローラの各々のランタイムパラメータを特定する手段を含む、１つもしくは複数のテストステップを定義する手段と、
コンピュータ読取可能媒体のテストコンフィグレーションデータファイルにテストコンフィグレーションデータを記憶する手段と、
定義された前記テストステップを実行する手段と、
テスト結果データの診断を起動する手段と、
を有する、
請求項２３に記載のプログラムプロダクト。
【請求項２６】
前記テストの実行で生じる故障を診断する、前記媒体に記録されている手段をさらに有し、
診断する前記手段は、前記埋込テストコントローラアクセスデータファイルの期待テスト結果データを抽出し、該期待テスト結果データと、故障モジュールを識別する実結果と、を比較する、手段を含む、
請求項２３に記載のプログラムプロダクト。
【請求項２７】
埋込テストコントローラを有する電子回路をテストする方法であって、
ユーザ定義テストプログラムをデジタルコンピュータに記憶し、
ＡＴＥのテストヘッドに前記電子回路をマウントし、
前記電子回路に前記コンピュータの通信ポートを接続し、
通信するためのプログラムを用いて、前記ユーザ定義テストプログラムを実行し、
前記デジタルコンピュータは、通信ポートと、ＡＴＥテスタのソフトウェアを実行するテストプログラムと前記テストプログラムとを直接通信させる手段と、を有し、
前記ＡＴＥテスタは、電子回路をマウントする前記テストヘッドを有する、
方法。
【請求項２８】
１つもしくは複数の埋込テストコントローラを有し、ＡＴＥテスタと接続される、電子回路をテストするＡＴＥ独立方法であって、
デバイスに埋め込まれるテストコントローラを識別する埋込テストコントローラアクセスデータファイル、テスト機能、及び、コンピュータ読取可能ファイルの機能モード構造と前記テストコントローラとの接続を記憶し、
前記アクセスデータファイルから導かれるテストコンフィグレーションデータファイルを生成し、前記回路の１つもしくは複数の埋込テストコントローラブロックで実行する１つもしくは複数のテストステップ及び１つもしくは複数の埋込テストブロックの各々の操作モードを特定し、
コンピュータ読取可能媒体に前記テストコンフィグレーションデータファイルを記憶し、
コンピュータ読取可能形式のＡＴＥ独立テストプログラムに前記コンフィグレーションファイルを変換し、
前記ＡＴＥ独立テストプログラムをテスタ特定テストプログラムに変換し、
前記ＡＴＥテスタに前記テスタ特定テストプログラムをロードし、該プログラムを実行する、
方法。
【請求項２９】
１つもしくは複数の埋込テストコントローラを有し、ＡＴＥテスタハードウェアに接続される、電子回路をテストするＡＴＥ独立方法であって、
デバイスに埋め込まれる全てのテストコントローラを識別するテストコントローラアクセスデータファイルを読み込み、テスト機能と該デバイスの機能モード構造への該テストコントローラの接続とを記述し、
前記デバイスに埋め込まれる１つもしくは複数のテストコントローラで実行される１つもしくは複数のテストステップを記述するテストコンフィグレーションファイルを読み込み、
前記テストコントローラの各々と、前記テストステップの各々との表示を表示デバイスにユーザが選択可能なように表示し、
テストプログラムを定義し、
前記テスタに前記テストプログラムをロードし、
前記テスタで前記テストプログラムを実行し、
前記テストプログラムによりリターンされるテスト結果を解析し、
前記表示デバイスに前記テスト結果を表示し、
前記テストプログラムを定義することは、少なくとも１つのテストステップを定義することを含み、
テストステップの各々は、
前記テストステップに含まれる１つもしくは複数のテストコントローラを前記表示デバイスで選択し、
選択されたテストコントローラに関連する全てのランタイムパラメータを特定し、
前記テストステップの各々を実行するためにテスタ独立指示シーケンスを書き込み、
前記テストプログラムを出力するために、テスタ独立形式に前記指示の各々を変換する、
ことを含む、
方法。
【請求項３０】
１つもしくは複数の埋込テストコントローラを有し、ＡＴＥテスタに接続される、電子回路をテストするＡＴＥ独立方法であって、
デバイスに埋め込まれる全てのテストコントローラを識別するテストコントローラアクセスデータファイルを読み込み、テスト機能と該デバイスの機能モード構造への該テストコントローラの接続とを記述し、
前記デバイスに埋め込まれる１つもしくは複数のテストコントローラで実行される１つもしくは複数のテストステップを記述するテストコンフィグレーションデータファイルを読み込み、
テストプログラムを定義し、
前記テストプログラムを出力するために、テスタ独立形式に前記指示の各々を変換し、
前記テスタに前記テストプログラムをロードし、
前記テスタで前記テストプログラムを実行し、
前記テストプログラムによりリターンされるテスト結果を解析し、
表示デバイスに前記テスト結果を表示し、
前記テストプログラムを定義することは、
テストステップの各々を実行するためにテスタ独立指示シーケンスを書き込み、
前記テストプログラムを出力するために、テスタ独立形式に前記指示の各々を変換する、
ことを含む、
方法。
【請求項３１】
ＡＴＥ環境の電子回路を設計及びテストする際に使用する方法であって、
埋込テスト機能と、デバイスの機能モード構造との接続と、を記述する埋込テストコントローラアクセスデータファイルを生成し、
前記回路の１つもしくは複数の埋込テストブロックで実行する１つもしくは複数のテストステップ、及び、１つもしくは複数の該埋込テストブロックの各々の操作モードを識別するテストコンフィグレーションデータファイルを生成し、コンピュータ読取可能媒体に該テストコンフィグレーションデータファイルを記憶し、
前記埋込テストコントローラアクセスデータファイルは、
被測定デバイスの埋込テストアーキテクチャ記述と、
前記デバイスの埋込テストブロックの各々の埋込テストアクセスパターンと、
を含み、
前記埋込テストアクセスパターンは、
サポートする全ての操作モードにおける埋込テストコントローラを起動するために要されるチップピンデータシーケンスと、
前記コントローラを実行させるために要されるチップピンデータシーケンスと、
前記コントローラのテスト結果を抽出するために要されるチップピンデータシーケンスと、
論理埋込テスト試行の各々の適正な署名値、論理埋込テスト試行の適正なフロップ値と、混合信号コンポーネントパラメータのハイロー境界値と、シミュレーションを通じて導かれるべき全ての埋込テストブロックの結果データと、を含む、期待テスト結果と、
を含み、
コンピュータ読取可能媒体に前記アクセスデータファイルを記憶し、
前記テストコンフィグレーションデータファイルのテストステップの各々は、
前記テストステップに含まれる埋込テストブロックの各々を識別し、
前記テストコンフィグレーションファイルの前記テストステップに特定される埋込テストブロックの各々に、前記テストステップにより前記埋込テストブロックに特定されるコントローラモードで実行するための前記埋込テストアクセスパターンを前記アクセスデータファイルからフィルタし、
前記テストステップに特定された全ての埋込テストブロックがパラレルに実行されるように、信号テストパターンセットにフィルタされた前記アクセスパターンをマージし、
処理されたテストパターンセットを生成するために、デバイス入力出力ピンもしくはデバイステストアクセスポートインタフェースに前記テストパターンセットを関連付け、
テスタ独立テストパターンセットを生成するために、テスタ独立フォーマットに処理された前記テストパターンを変換し、
テスタ独立コマンドの各々に埋込テストレジスタデータのコメントを含む、前記テスタ独立フォーマット処理テストパターンのテスタ独立バックマップを生成して記憶し、
テスタ独立フォーマット処理テストパターンのハイレベル独立指示をデバイス入力出力トランジッションに拡張し、
ターゲットテスタフォーマットに前記トランジッションを変換し、
選択された埋込テストブロックにターゲットテスタフォーマットテストパターンをシフトインすることにより、前記回路のテストを実行し、該テストパターンに選択されたブロックの応答データを取得するために取得操作を実行し、テスト応答をシフトアウトする、
ことを含む、
方法。
【請求項３２】
テスト応答データを解析することをさらに含み、
該テスト応答データを解析することは、
ＡＴＥ故障毎に、パターンの実行により生じる前記テストコントローラにおける、テスト応答データと期待テスト応答データとの比較の失敗を示し、ピンの名称、及び、テストパターンの先頭からのＡＴＥサイクルオフセットを判断し、
ＡＴＥサイクルのバックマップデータから、前記ＡＴＥ故障により生じるサイクルのテストパターンを生成する対応するＡＴＥ独立コマンドを判断し、
故障テスタ独立コマンドの識別と該コマンドの故障ビットオフセットとを用いて、前記バックマップのオリジナルコマンドを検出し、テスタ独立コマンドの各々にコメントされているテストレジスタの該故障ビットオフセットを検索し、
故障の記述を生成するために前記埋込テストコントローラのアクセスデータに対する故障レジスタビットを解析し、前記回路の設計のコンテクストにおいてデータログレポートを生成する、
ことを含む、
請求項３１に記載の方法。
【請求項３３】
埋込テストブロックにおける全ての故障モジュールを自動的に診断することをさらに含み、
該診断することは、実行の各々毎に異なる設定で論理テストコントローラの１もしくは複数の実行を行い、１もしくは複数の故障試行を検出するステップを含み、
該ステップは、
テストコントローラパターンジェネレータシード（Ｓ）及びテストコントローラマルチプル入力シフトレジスタスタート試行（ＭＳ）を起動し、
前記論理テストコントローラ及び複数のＡＴＥクロックサイクル（Ｒ）の関連するモジュールをクロック制御し、
期待ＭＩＳＲ比較値（ＭＣ）をスキャン出力する、
請求項３１に記載の方法。
【請求項３４】
各々の実行毎にテストパターンをパッチすることをさらに含み、
該パッチすることは、論理診断アルゴリズムの繰り返し毎に、新しいスキャンパターンカウント及び期待署名でテスタメモリの先のテストパターンを更新し、故障スキャンシーケンスを検出するためのバイナリサーチを用いる、ことを含む、
請求項３３に記載の方法。
【請求項３５】
論理テストコントローラの実行がベクトルテンプレートとしてなされる場合、テスト実行毎に同じベクトルセットを使用し、故障モジュールを識別するためにテスト結果データをサーチするために使用されるアルゴリズムに関係なく、パターンの再使用を可能とするように、異なるパラメータに異なる値を使用する、請求項３３に記載の方法。
【請求項３６】
診断リクエストの各々毎に、同じもしくは異なるサーチアルゴリズムを用いて、最初の故障試行、Ｎの故障試行、もしくは、故障試行の全ての１つをサーチすることを含み、
最初の故障試行では、リクエストにバイナリサーチアルゴリズムを用い、
Ｎの故障試行では、Ｎのサイズにしたがい、バイナリサーチ、シーケンシャルサーチ、もしくは、バイナリ、シーケンシャルのハイブリッドを用い、
故障試行の全てでは、シーケンシャルサーチアルゴリズムを用いる、
請求項３５に記載の方法。
【請求項３７】
テストステップに続き、埋込テストブロックにおける故障メモリ毎に、全ての故障メモリを自動的に診断することをさらに含み、
該診断することは、
新しいテストステップを生成し、もしくは、診断に使用される前記埋込テストブロックを含むカレントテストステップを修正し、
ＡＴＥテスタテストパターンを生成し、
ＡＴＥテスタに前記ＡＴＥテストパターンをロードし、該ＡＴＥテストパターンを実行し、回路応答データをリターンし、
異なるモードで前記埋込テストブロックを実行することによりさらなる情報が収集されることができるか否か判断し、もしくは、最終結果をレポートするために、前記回路応答データを解析する、
ことを１もしくは複数繰り返すことを含む、
請求項３１に記載の方法。
【請求項３８】
ＡＴＥテスタハードウェアにマウントされ、埋込テストコントローラを有する、電気回路デバイスで実行されるテストのテスト応答データを解析する方法であって、
ピンの名称と、ＡＴＥフォーマット埋込テストパターンの先頭からの該ピンのＡＴＥサイクルオフセットと、を判断し、
前記ＡＴＥサイクルのバックマップデータから、ＡＴＥ故障により生じる該サイクルの比較パターンを生成するＡＴＥ独立フォーマットコマンドの識別を判断し、
故障ＡＴＥ独立コマンドの識別とコマンドの故障ビットオフセットとを用い、バックマップデータファイルのオリジナルコマンドと前記ＡＴＥ独立コマンドに関連するバックマップにコメントされている埋込テストレジスタデータの該故障ビットオフセットとを判断し、
故障の記述と前記回路の設計コンテクストのデータログレポートとを生成するように、前記ピンに関連する前記埋込テストコントローラの前記アクセスデータファイルに対する故障レジスタビットを解析する、
ことを、埋込テストパターン実行における比較の失敗を示すＡＴＥ故障毎に、なす、方法。
【請求項３９】
前記アクセスデータファイルは埋込テスト機能と、前記デバイスにおける機能モード構造への接続と、を記述し、
前記アクセスデータファイルは、
被測定デバイスの埋込テストアーキテクチャ記述と、
サポートされる全ての操作モードにおける前記埋込テストコントローラを起動するために要されるチップピンデータシーケンスと、該コントローラを実行させるために要されるチップピンデータシーケンスと、該コントローラのテストを抽出するために要されるチップピンデータシーケンスと、を含む、前記デバイスの埋込テストブロック毎の埋込テストアクセスパターンと、
論理埋込テスト試行の各々の適正な署名値、論理埋込テスト試行の適正なフロップ値と、混合信号コンポーネントパラメータのハイロー境界値と、シミュレーションを通じて導かれるべき全ての埋込テストブロックの結果データと、を含む、期待テスト結果と、
を含む、
請求項３８に記載の方法。
【請求項４０】
テストステップの各々の実行に続き、埋込テストブロックにおける故障メモリの各々を自動的に診断することをさらに含み、
該診断することは、実行の各々毎に異なる設定で論理テストコントローラの１もしくは複数の実行を行い、１もしくは複数の故障試行を検出するステップを含み、
該ステップは、
テストコントローラパターンジェネレータシード（Ｓ）及びテストコントローラＭＩＳＲスタート試行（ＭＳ）を起動し、
前記論理テストコントローラ及び複数のＡＴＥクロックサイクル（Ｒ）の関連するモジュールをクロック制御し、
期待ＭＩＳＲ比較値（ＭＣ）をスキャン出力する、
請求項３８に記載の方法。
【請求項４１】
論理診断アルゴリズムの繰り返し毎の実行毎にテストパターンをパッチし、ＡＴＥテスタメモリの先のテストパターンを新しいスキャンパターンカウント及び期待署名で更新し、前記テスト応答データの故障スキャンシーケンスを検出するためにバイナリサーチを用いる、請求項３８に記載の方法。
【請求項４２】
論理テストコントローラの実行が、ベクトルテンプレートとしてなされる場合、実行毎に同じベクトルセットを使用し、故障モジュールを識別するためにテスト結果データをサーチするために使用されるアルゴリズムに関係なく、パターンの再使用を可能にするように、異なるパラメータに異なる値を使用する、請求項３８に記載の方法。
【請求項４３】
解析することは、診断リクエストの各々毎に、同じもしくは異なるサーチアルゴリズムを用いて、最初の故障試行、Ｎの故障試行、もしくは、故障試行の全ての１つをサーチすることを含み、
最初の故障試行では、バイナリサーチアルゴリズムを用い、
Ｎの故障試行では、Ｎのサイズにしたがい、バイナリサーチ、シーケンシャルサーチ、もしくは、バイナリ、シーケンシャルのハイブリッドの何れかを用い、
故障試行の全てでは、シーケンシャルサーチアルゴリズムを用いる、
請求項３８に記載の方法。
【請求項４４】
テストステップに続き、埋込テストブロックにおける故障メモリ毎に、全ての故障メモリを自動的に診断することをさらに含み、
該診断することは、
新しいテストステップを生成し、もしくは、診断に使用される前記埋込テストブロックを含むカレントテストステップを修正し、
ＡＴＥテスタテストパターンを生成し、
ＡＴＥテスタに前記ＡＴＥテストパターンをロードし、該ＡＴＥテストパターンを実行し、回路応答データをリターンし、
異なるモードで前記埋込テストブロックを実行することによりさらなる情報が収集されることができるか否か判断し、もしくは、最終結果をレポートするために、前記回路応答データを解析する、
ことを１もしくは複数繰り返すことを含む、
請求項３８に記載の方法。
【請求項４５】
ユーザ定義テストプログラムを実行するソフトウェアを実行するテストプログラム及び被測定電子回路に接続するテストヘッドを有するＡＴＥを含む、ＡＴＥ環境のＩＥＥＥテストアクセスポートを有する電子回路をテストするシステムであって、
デジタルコンピュータと、
被測定デバイスに接続するロードボードと、
前記デバイスの前記テストアクセスポートのピンにポートを接続する手段と、
を備え、
前記デジタルコンピュータは、
ユーザとインタフェースする手段を有し、当該デジタルコンピュータにロードされる、埋込テストコントローラデータアクセス手段と、
双方向入出力ポートと、
を有する、
システム。
【請求項４６】
ユーザ定義テストプログラムを実行するソフトウェアを実行するテストプログラム及び被測定電子回路に接続するテストヘッドを有するＡＴＥを含む、ＡＴＥ環境の電子回路をテストするシステムであって、
デジタルコンピュータと、
被測定デバイスに接続し、前記ＡＴＥテスタハードウェアの前記テストヘッドにマウントする、ロードボードと、
前記デバイスのＩＥＥＥテストアクセスポートのピンにポートを接続する手段と、
前記ＡＴＥの前記テストプログラムソフトウェアに直接リンクする、前記コンピュータのＡＴＥユーザ機能プログラムと、
を備え、
前記デジタルコンピュータは、当該デジタルコンピュータにロードされる埋込テストコントローラデータアクセス手段と、双方向入出力ポートと、を有し、
前記埋込テストコントローラデータアクセス手段は、前記テストプログラムソフトウェアにより実行するユーザ定義テストプログラムを生成するために、ユーザとインタフェースする手段を有し、被測定デバイスに埋め込まれたテストコントローラを記述する埋込テストアクセスファイルを備える、
システム。
【請求項４７】
埋込テストコントローラを有する電子回路をテストする方法であって、
入出力通信ポートを有するデジタルコンピュータにおけるコンピュータ読込可能ファイルの前記回路の埋込テストアーキテクチャと埋込テストコントローラの各々との記述と、ユーザとソフトウェアを生成するテストプログラムとの間の通信を行うユーザインタフェースを有するソフトウェアと、ＡＴＥの処理を実行するテストプログラムを生成するテストプログラムとユーザ定義機能テストプログラムとを通信させるユーザ定義機能と、を記憶し、
ＡＴＥのテストヘッドに前記電子回路をマウントし、
前記電子回路のピンにコンピュータ通信ポートを接続し、
ユーザ定義機能を用いて、ユーザ定義テストプログラムを実行する、
方法。
【請求項４８】
埋込テストコントローラを有する電子回路をテストする際に使用するテストプログラムを開発する方法であって、
テスト機能を記述する１つもしくは複数のコンピュータ読取可能ファイルデータと、前記デバイスのテストコントローラの各々の該デバイスにおける機能モード構造への接続と、を記憶し、
１つもしくは複数のアクセスデータファイルを読み込み、全ての埋込テストコントローラとモジュールとを判断し、ディスプレイ媒体にテストコントローラを表示し、
テストステップの各々が、１つもしくは複数の埋込テストコントローラのパラレルなセットアップ、実行、結果の収集を含む、フル実行を定義する、１つもしくは複数のテストステップを定義し、
コンピュータ読取可能テストコンフィグレーションファイルに定義されたテストステップを記憶する、
方法。
【請求項４９】
対応するＡＴＥテストステップのベクトルを生成するテストステップにおける、全ての埋込テストコントローラのランタイムコントロールオプションを用いることをさらに含む、請求項４８に記載の方法。
【請求項５０】
テストステップの各々が別個のベクトルとタイミング仕様とを有する、請求項４８に記載の方法。
【請求項５１】
１つもしくは複数の埋込テストコントローラを有する電子回路をリモートにテスト及び診断する方法であって、
セントラルロケーションに埋込テストコントローラアクセスデータファイルを記憶し、
前記セントラルロケーションにテストコンフィグレーションデータを記憶し、前記デバイスの前記テストコントローラを起動し、実行し、該テストコントローラからテスト結果を抽出する１つもしくは複数のテストステップを識別し、
前記デバイスに接続し、
前記コントローラを起動し、実行し、テスト結果をリターンするように、前記テストコンフィグレーションから導かれるテストプログラム、及び、前記アクセスデータを実行し、
前記セントラルロケーションにテストコントローラテスト結果をリターンし、
前記テスト結果を解析し、
前記データファイルは、前記デバイスに埋め込まれているテストコントローラと、コントローラを実行させるため、及び、該コントローラからテスト結果を抽出するため、にサポートされる操作モードの全てにおける埋込テストコントローラの各々を起動することを要するデータシーケンスと、論理埋込テスト試行の適正な署名を含む期待テスト結果と、を識別する、
方法。
【請求項５２】
デバイスの所定のブロックをテストし、テスト結果をリターンするように、各々操作される１つもしくは複数の埋込セルフテストコントローラを有する電子回路をリモートにテスト及び診断する方法であって、
リモートロケーションから前記デバイスに接続し、
前記リモートロケーションから、１つもしくは複数の前記セルフテストコントローラを実行させ、テスト結果データを生成させ、
１つもしくは複数のセルフテストコントローラの各々から前記テスト結果データを抽出し、前記リモートロケーションに該結果データを伝送し、
前記リモートロケーションで前記テスト結果を解析する、
方法。
【請求項５３】
前記デバイスへの接続は、インターネット接続の手段による前記デバイスへの接続を含む、請求項５２に記載の方法。
【請求項５４】
前記デバイスへのリモートな接続は、ローカルエリアネットワークの手段による接続を含む、請求項５２に記載の方法。
【請求項５５】
前記デバイスへのリモートな接続は、ダイヤルアップ電話接続の手段による接続を含む、請求項５２に記載の方法。
【請求項５６】
前記デバイスは埋込セルフテストコントローラを有する他の電子回路を含む回路基板に配置され、
当該方法は、テスト結果を生成し、前記リモートロケーションに結果データを伝送するように、前記デバイスの各々における前記セルフテストコントローラの各々に実行させることをさらに含む、
請求項５２に記載の方法。
【請求項５７】
前記デバイスは、テストコントローラ起動、実行、データベースの１つもしくは複数のテストコントローラの各々のデータ抽出を読み込み、１つもしくは複数の前記コントローラに該データをロードするように、１つもしくは複数の前記セルフテストコントローラに実行させる、請求項５２に記載の方法。
【請求項５８】
前記データの解析は、前記テストコントローラの各々の期待テスト結果データを前記データベースからリトリーブし、前記コントローラテストデータと前記期待テストデータとを比較し、前記テストコントローラ構造の故障デバイスレポートを生成する、ことを含む、請求項５２に記載の方法。
【請求項５９】
埋込テストコントローラを有する電子回路をリモートにテストし診断するシステムであって、
前記デバイスからリモートロケーションにテストコントローラアクセス及び実行データを記憶する手段と、
前記リモートロケーションから前記デバイスに接続する手段と、
１つもしくは複数の前記テストコントローラを実行させ、各々からテスト結果を前記セントラルロケーションへ伝送させる手段と、
前記リモートロケーションで前記テスト結果を解析する手段と、
を有するシステム。
【請求項６０】
前記デバイスへのリモートな接続は、インターネット接続の手段による前記デバイスへの接続を含む、請求項５９に記載のシステム。
【請求項６１】
前記デバイスへのリモートな接続は、ローカルエリアネットワークの手段による接続を含む、請求項５９に記載のシステム。
【請求項６２】
前記デバイスへのリモートな接続は、ダイヤルアップ電話接続の手段による接続を含む、請求項５９に記載のシステム。
【請求項６３】
デバイスの少なくとも部分のセルフテストを実行するために、１つもしくは複数のコントローラテストプログラムに従って操作されることができる１つもしくは複数の埋込テストコントローラを有する電子回路デバイスをテストする方法であって、
コンピュータ読取可能形式で、前記デバイスに埋め込まれている全てのテストコントローラを記述するデバイステストコントローラアクセスデータファイル、テスト機能、前記デバイスの機能モードへの前記テストコントローラの接続と、を記憶し、
コンピュータ読取可能形式で、テストコンフィグレーションを生成し、
前記デバイスに接続し、
１つもしくは複数の前記テストと出力テスト結果に従って、前記コントローラテストプログラムを、１つもしくは複数の前記コントローラに実行させるように、前記アクセスデータファイルと前記テストコンフィグレーションとから導かれるテストパターンを前記テストコントローラにロードし、
前記構成は、前記デバイスで実行される１つもしくは複数のテストステップを特定し、テストステップの各々は、実行される１つもしくは複数のテストコントローラを特定する、
方法。
【請求項６４】
前記テストステップの各々を実行する指示シーケンスを含むデバイス独立テストプログラムを生成する、ことをさらに含み、
前記テストパターンのロードは、前記デバイス独立テストプログラムをデバイス特定プログラムに変換し、該デバイス特定テストプログラムの各々を実行することを含む、
請求項６３に記載の方法。
【請求項６５】
１つもしくは複数の埋込テストコントローラを有し、ＡＴＥテスタに接続される、電子回路のＡＴＥ独立テストを実行するプログラムプロダクトであって、
コンピュータ読取可能記憶媒体と、
前記デバイスに埋め込まれているテストコントローラを識別する埋込テストコントローラアクセスデータファイル、テスト機能、前記デバイスの機能モード構造への前記テストコントローラの各々の接続、をコンピュータ読取可能ファイルに記憶する、前記媒体に記録されている手段と、
前記アクセスデータファイルから導かれるテストコンフィグレーションデータファイルを生成し、前記回路の１つもしくは複数の埋込テストコントローラブロックで実行する１つもしくは複数のテストステップと、１つもしくは複数の前記埋込テストブロックの各々の操作モードと、を特定する、前記媒体に記録されている手段と、
コンピュータ読取可能媒体に前記テストコンフィグレーションデータファイルを記憶する、前記媒体に記録されている手段と、
コンピュータ読取可能形式のＡＴＥ独立テストプログラムに、前記テストコンフィグレーションファイルを変換する、前記媒体に記録されている手段と、
テスタ特定テストプログラムに前記ＡＴＥ独立テストプログラムを変換する、前記媒体に記録されている手段と、
前記ＡＴＥテスタに前記テスタ特定テストプログラムをロードし、該プログラムを実行する、前記媒体に記録されている手段と、
を有する、プログラムプロダクト。
【請求項６６】
１つもしくは複数のテストコントローラを有し、ＡＴＥテスタハードウェアに接続される、電子回路のＡＴＥ独立テストを実行するプログラムプロダクトであって、
コンピュータ読取可能記憶媒体と、
前記デバイスに埋め込まれるテストコントローラの全てを識別し、テスト機能及び前記デバイスの機能モードへの前記テストコントローラの接続を記述するテストアクセスデータファイルを読み込む、前記媒体に記録されている手段と、
前記デバイスに埋め込まれている１つもしくは複数のテストコントローラで実行される、１つもしくは複数のテストステップを記述するテストコンフィグレーションファイルを読み込む、前記媒体に記録されている手段と、
ユーザ選択可能に、前記テストコントローラの各々及び前記テストステップの各々の表示を表示デバイスに表示する、前記媒体に記録されている手段と、
テストプログラムを定義する、前記媒体に記録されている手段と、
前記テスタに前記テストプログラムをロードする、前記媒体に記録されている手段と、
前記テスタで前記テストプログラムを実行する、前記媒体に記録されている手段と、
前記テストプログラムによりリターンされるテスト結果を解析する、前記媒体に記録されている手段と、
前記表示デバイスに前記テスト結果を表示する、前記媒体に記録されている手段と、
を備え、
前記テストプログラムを定義することは、少なくとも１つのテストステップを定義することを含み、
該テストステップの各々は、
前記テストステップに含まれる１つもしくは複数のテストコントローラを、前記表示デバイスで選択し、
選択されたテストコントローラの各々に関連するランタイムパラメータの全てを特定し、
前記テストステップの各々を実行するテスタ独立指示シーケンスを書き込み、
前記テストプログラムを出力するために、テスタ独立フォーマットに前記指示の各々を変換する、
ことを含む、
プログラムプロダクト。
【請求項６７】
１つもしくは複数の埋込テストコントローラを有し、ＡＴＥテスタに接続される、電子回路のＡＴＥ独立テストのプログラムプロダクトであって、
コンピュータ読取可能記憶媒体と、
前記デバイスに埋め込まれるテストコントローラの全てを識別し、テスト機能及び前記デバイスの機能モードへの前記テストコントローラの接続を記述するテストコントローラアクセスデータファイルを読み込む、前記媒体に記録されている手段と、
前記デバイスに埋め込まれている１つもしくは複数のテストコントローラで実行される、１つもしくは複数のテストステップを記述するテストコンフィグレーションデータファイルを読み込む、前記媒体に記録されている手段と、
テストプログラムを定義する、前記媒体に記録されている手段と、
前記テストプログラムを出力するために、テスタ独立フォーマットに前記指示の各々を変換する、前記媒体に記録されている手段と、
前記テスタに前記テストプログラムをロードする、前記媒体に記録されている手段と、
前記テスタで前記テストプログラムを実行する、前記媒体に記録されている手段と、
前記テストプログラムによりリターンされるテスト結果を解析する、前記媒体に記録されている手段と、
表示デバイスに前記テストを表示する、前記媒体に記録されている手段と、
を備え、
前記テストプログラムを定義することは、
前記テストステップの各々を実行するテスタ独立指示シーケンスを書き込み、
前記テストプログラムを出力するために、テスタ独立フォーマットに前記指示の各々を変換する、
ことを含む、
プログラムプロダクト。
【請求項６８】
ＡＴＥ環境で電子回路の設計及びテストに使用するプログラムプロダクトであって、
コンピュータ読取可能記憶媒体と、
埋込テスト機能及び前記デバイスの機能モードへの接続を記述する埋込テストコントローラアクセスデータファイルを生成する、前記媒体に記録されている手段と、
前記回路の１つもしくは複数の埋込テストブロックで実行する１つもしくは複数のテストステップ、及び、１つもしくは複数の埋込テストブロックの各々の操作モードを識別するテストコンフィグレーションデータファイルを生成し、コンピュータ読取可能記憶媒体に該テストコンフィグレーションデータファイルを記憶する、前記媒体に記録されている手段と、
を備え、
前記埋込テストコントローラアクセスデータファイルは、
被測定デバイスの埋込テストアーキテクチャ記述と、
前記デバイスの埋込テストブロックの各々の埋込テストアクセスパターンと、
を含み、
前記埋込テストアクセスパターンは、
サポートされる操作モードの全てにおける前記埋込テストコントローラを起動するために要されるチップピンデータシーケンスと、
前記コントローラを実行させるために要されるチップピンデータシーケンスと、
前記コントローラのテスト結果を抽出するために要されるチップピンデータシーケンスと、
論理埋込テスト試行の各々の適正な署名値、論理埋込テスト試行の適正なフロップ値と、混合信号コンポーネントパラメータのハイロー境界値と、シミュレーションを通じて導かれるべき全ての埋込テストブロックの結果データと、を含む、期待テスト結果と、
を含み、
前記アクセスデータファイルをコンピュータ読取可能媒体に記憶し、
前記テストコンフィグレーションデータファイルのテストステップの各々で、
前記テストステップに含まれる埋込テストブロックの各々を識別し、
前記テストコンフィグレーションファイルの前記テストステップで特定される埋込テストブロックの各々で、前記テストステップにより前記埋込テストブロックで特定されるコントローラモードで実行する前記埋込テストパターンを、前記アクセスデータファイルからフィルタし、
前記テストステップで特定される埋込テストブロックの全てがパラレルに実行されるように、単一のテストパターンセットにフィルタされた前記アクセスパターンをマージし、
処理されたテストパターンセットを生成するために、デバイス入出力ピン又はデバイステストアクセスポートに、前記テストパターンセットを関連付け、
テスタ独立テストパターンセットを生成するために、テスタ独立フォーマットに処理された前記テストパターンセットを変換し、
テスタ独立コマンドの各々に埋込テストレジスタデータをコメント付けすることを含む、前記テスタ独立フォーマットの処理されたテストパターンのテスタ独立バックマップを生成して記憶し、
前記テスタ独立フォーマットの処理されたテストパターンのハイレベル独立指示を、デバイス入出力トランジッションに拡張し、
ターゲットテスタフォーマットに前記トランジッションを変換し、
選択された前記埋込テストブロックにターゲットテスタフォーマットのテストパターンをシフトインすることにより、前記回路のテストを実行し、前記テストパターンへの選択された前記ブロックの応答データを取得するために取得操作を実行し、前記テスト応答をシフトアウトする、
プログラムプロダクト。
【請求項６９】
テスト応答データを解析する、前記媒体に記録されている手段をさらに有し、
該解析することは、
ＡＴＥ故障の各々に、パターンの実行から生じる前記テストコントローラのテスト応答データと期待テスト応答データとの間の比較の失敗を示し、ピンの名称とテストパターンの先頭からのＡＴＥサイクルオフセットとを判断し、
前記ＡＴＥサイクルのバックマップデータから、ＡＴＥ故障で生じる前記サイクルのテストパターンを生成するＡＴＥ独立コマンドを判断し、
故障テスタ独立コマンドの識別とコマンドの故障ビットオフセットとを用いて、前記バックマップのオリジナルコマンドを検出し、各々のテスタ独立コマンドにコメントされているテスタレジスタの前記故障ビットオフセットを調べ、
前記故障の記述を生成するために前記埋込テストコントローラの前記アクセスデータに対し故障レジスタビットを解析し、前記回路の設計のコンテクストのデータログを生成する、
ことを含む、
請求項６８に記載のプログラムプロダクト。
【請求項７０】
テストステップに続き、故障埋込論理テストブロックの各々の故障モジュール毎に自動的に診断することをさらに含み、
該診断することは、実行の各々の異なる設定による論理テストコントローラの１つもしくは複数の実行及び１つもしくは複数の故障試行の検出を含み、
該実行及び検出は、
テストコントローラパターンジェネレータシード（Ｓ）及びテストコントローラマルチプル入力シフトレジスタスタート試行（ＭＳ）を起動し、
前記論理テストコントローラ及び複数のＡＴＥクロックサイクル（Ｒ）の関連するモジュールをクロック制御し、
期待ＭＩＳＲ比較値（ＭＣ）をスキャンアウトする、
ことを含む、
請求項６８に記載のプログラムプロダクト。
【請求項７１】
実行の各々においてテストパターンをパッチすることをさらに含み、
該パッチすることは、論理診断アルゴリズムの繰り返しの各々で、新しいスキャンパターンでテスタメモリの先のテストパターン及び期待署名を更新し、
故障スキャンシーケンスを検出するためにバイナリサーチを使用する、
請求項７０に記載のプログラムプロダクト。
【請求項７２】
ベクトルテンプレートとして、論理テストコントローラが実装される場合、テスト実行の各々に同じベクトルセットを使用し、故障モジュールを識別するようにテスト結果データをサーチするために使用されるように、アルゴリズムに関係なく、パターンの再使用を可能にする異なるパラメータに異なる値を使用する、請求項７０に記載のプログラムプロダクト。
【請求項７３】
診断リクエストの各々毎に、同じもしくは異なるサーチアルゴリズムを用いて、最初の故障試行、Ｎの故障試行、もしくは、故障試行の全ての１つをサーチすることを含み、
最初の故障試行では、リクエストにバイナリサーチアルゴリズムを用い、
Ｎの故障試行では、Ｎのサイズにしたがい、バイナリサーチ、シーケンシャルサーチ、もしくは、バイナリ、シーケンシャルのハイブリッドを用い、
故障試行の全てでは、シーケンシャルサーチアルゴリズムを用いる、
請求項７２に記載のプログラムプロダクト。
【請求項７４】
テストステップに続き、埋込テストブロックの故障メモリの各々の故障メモリの全てを自動的に診断する、前記媒体に記録されている手段をさらに含み、
該診断することは、
新しいテストステップを生成し、診断に使用される前記埋込テストブロックを含むカレントテストステップを修正し、
ＡＴＥテスタテストパターンを生成し、
前記ＡＴＥテスタに前記ＡＴＥテストパターンをロードし、該ＡＴＥテストパターンを実行し、回路応答データをリターンし、
異なるモードの前記埋込テストブロックを実行することにより、さらなる情報が収集されるか否かを判断し、もしくは、最終結果をレポートするために回路応答データを解析する、
請求項７２に記載のプログラムプロダクト。
【請求項７５】
ＡＴＥテスタハードウェアにマウントされ、埋込テストコントローラを有する、電子回路デバイスで実行されるテストのテスト応答データを診断するプログラムプロダクトであって、
該プログラムプロダクトは、ＡＴＥ故障の各々で、埋込テストパターン実行において、比較の失敗を示し、
コンピュータ読取可能記憶媒体と、
ピンの名称及びＡＴＥフォーマット埋込テストパターンの先頭からの該ピンのＡＴＥサイクルオフセットを判断する、前記媒体に記録されている手段と、
前記ＡＴＥサイクルのバックマップデータファイルから、前記ＡＴＥ故障で生じる前記サイクルの比較パターンを生成するＡＴＥ独立フォーマットコマンドの識別を判断する、前記媒体に記録されている手段と、
故障ＡＴＥ独立コマンドの識別とコマンドの故障ビットオフセットとを用いて、前記バックマップのオリジナルコマンド、及び、ＡＴＥ独立コマンドに関連する前記バックマップにコメントされている埋込テストレジスタデータの前記故障ビットオフセットを判断する、前記媒体に記録されている手段と、
故障の記述と前記回路の設計のコンテクストにおけるデータログレポートとを生成するために、前記ピンに関連する前記埋込テストコントローラの前記アクセスデータファイルに対し故障レジスタビットを解析する、前記媒体に記録されている手段と、
を備える、プログラムプロダクト。
【請求項７６】
前記アクセスデータファイルは、埋込テスト機能と前記デバイスの機能モード構造への接続を記述し、
該アクセスデータファイルは、
被測定デバイスの埋込テストアーキテクチャの記述と、
サポートされる全ての操作モードにおける前記埋込テストコントローラを起動するために要されるチップピンデータシーケンスと、コントローラを実行させるために要されるチップピンデータシーケンスと、該コントローラからテスト結果を抽出するために要されるチップピンデータシーケンスと、を含む、前記デバイスの埋込テストコントローラの各々の埋込テストアクセスパターンと、
論理埋込テスト試行の各々の適正な署名値、論理埋込テスト試行の適正なフロップ値と、混合信号コンポーネントパラメータのハイロー境界値と、シミュレーションを通じて導かれるべき全ての埋込テストブロックの結果データと、を含む、期待テスト結果と、
を含む、
請求項７５に記載のプログラムプロダクト。
【請求項７７】
テストステップの各々に続き、故障埋込テストブロックの各々の故障モジュールの全てを自動的に診断する、前記媒体に記録されている手段をさらに含み、
該診断することは、実行の各々の異なる設定で論理テストコントローラの１つもしくは複数の実行をなし、１つもしくは複数の故障試行を検出することを含み、
該実行及び検出は、
テストコントローラパターンジェネレータシード（Ｓ）及びテストコントローラＭＩＳＲスタート試行（ＭＳ）を起動し、
前記論理テストコントローラと複数のＡＴＥクロックサイクルの関連するモジュールとをクロック制御し、
期待ＭＩＳＲ比較値（ＭＣ）をスキャンアウトする、
ことを含む、
請求項７５に記載のプログラムプロダクト。
【請求項７８】
テストステップの各々を繰り返す、前記媒体に記録されている手段をさらに有し、
該繰り返しは、論理診断アルゴリズムの繰り返しの各々で、実行の各々のテストパターンをパッチし、新しいスキャンパターンカウント及び期待署名でＡＴＥテスタメモリの先のテストパターンを更新し、前記テスト応答データの故障スキャンシーケンスを検出するためにバイナリサーチを用いる、ことを含む、
請求項７５に記載のプログラムプロダクト。
【請求項７９】
ベクトルテンプレートとして論理テストコントローラの実行がなされた場合、実行の各々に同じベクトルセットを用い、故障モジュールを識別するようにテスト結果データをサーチするために使用されるアルゴリズムに関係なく、パターンの再使用をすることができるように、異なるパラメータに異なる値を用いる、請求項７５に記載のプログラムプロダクト。
【請求項８０】
前記解析は、診断リクエストの各々毎に、同じもしくは異なるサーチアルゴリズムを用いて、最初の故障試行、Ｎの故障試行、もしくは、故障試行の全ての１つをサーチすることを含み、
最初の故障試行では、リクエストにバイナリサーチアルゴリズムを用い、
Ｎの故障試行では、Ｎのサイズにしたがい、バイナリサーチ、シーケンシャルサーチ、もしくは、バイナリ、シーケンシャルのハイブリッドを用い、
故障試行の全てでは、シーケンシャルサーチアルゴリズムを用いる、
請求項７５に記載のプログラムプロダクト。
【請求項８１】
テストステップに続いて、故障埋込テストブロックの各々の故障モジュールの全てを自動的に診断する、前記媒体に記録されている手段をさらに有し、
該診断は、
新しいテストステップを生成し、診断に使用される前記埋込テストブロックを含むカレントテストステップを修正し、
ＡＴＥテスタテストパターンを生成し、
前記ＡＴＥテスタに前記ＡＴＥテストパターンをロードし、該ＡＴＥテストパターンを実行し、回路応答データをリターンし、
異なるモードで前記埋込テストブロックを実行することにより、さらなる情報が収集されるか否か判断し、最終結果をレポートするために、前記回路応答データを解析する、
ことの１つもしくは複数の繰り返しを実行することを含む、
請求項７５に記載のプログラムプロダクト。
【請求項８２】
埋込テストコントローラを有する電子システムをテスト若しくは診断する際に使用するシステムであって、
前記電子システムの前記テストコントローラのテスト機能に関する情報を生成する第１の手段と、
テスト、及び／若しくは、前記電子システムの前記テストコントローラの診断指示及びデータを生成する第２の手段と、
前記テストコントローラに前記指示及びデータを適用し、該テストコントローラからテスト結果を受信する第３の手段と、
前記結果データを解析し、前記電子システムの特性をレポートする第４の手段と、
を有するシステム。
【請求項８３】
前記第１の手段は、
前記埋込テストコントローラ各々の操作モードのアクセスパターン及び起動パターンを記述する手段と、
前記電子システムの特徴を記述する手段と、
前記電子システムの期待応答データを記述する手段と、
を含む、
請求項８２に記載のシステム。
【請求項８４】
前記第２の手段は、
前記第１の手段により生成される前記情報を読み込む手段と、
テスト及び／若しくは診断要求を取得する手段と、
テスト及び／若しくは前記情報に基づく前記要求をなすための診断指示及びデータを生成する手段と、
を含む、
請求項８２に記載のシステム。
【請求項８５】
前記第４の手段は、
前記第１の手段により生成される前記情報を読み込む手段と、
テスト及び／若しくは診断要求を取得する手段と、
前記第３の手段のテスト結果を受信する手段と、
前記情報及び前記診断要求に基づいて、前記電子システムの有意な特性に前記結果データを変換する手段と、
を含む、
請求項８２に記載のシステム。
【請求項８６】
前記第３の手段は、
前記テスト、診断指示、データを受信する手段と、
前記埋込テストコントローラに前記指示及びデータを送信する手段と、
埋込テスト操作の完了を待機する手段と、
前記埋込テストコントローラのテスト結果データを受信する手段と、
を含む、
請求項８２に記載のシステム。
【請求項８７】
前記第３の手段はＡＴＥである、請求項８２に記載のシステム。
【請求項８８】
前記第３の手段は、電力及びクロック信号を受信するようにＡＴＥに接続される、前記電子システムに接続する通信ポートを備えるコンピュータである、請求項８２に記載のシステム。
【請求項８９】
前記第３の手段は、通信ポート、前記電子システムへのポートに接続するケーブル、電源、クロックソースを備えるコンピュータである、請求項８２に記載のシステム。
【請求項９０】
前記第３の手段は当該電子システムである、請求項８２に記載のシステム。
【請求項９１】
当該電子システムは、テスト及び／又は診断する前記システムからリモートにある、請求項８２に記載のシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、集積回路の設計とテストとに関し、詳細には、集積回路のテストを、設計テスト環境下と製造テスト環境下との双方で、埋込テストコントローラでテストすることを容易にする際に用いられるシステム、プログラムプロダクト及び方法に関する。
【０００２】
【従来の技術】
製造テストのフローには、集積回路のコミュニティと製造テストのコミュニティとが分離している、という問題があった。設計エンジニアは、一般的に、集積回路の設計用のテストパターンを作成して、テストエンジニアに送る。テストエンジニアは、自動テスト装置（ＡＴＥ）にロードされることにより実行されるテストプログラムの全体に、テストパターンを組み込む。この自動テスト装置は、一般的には、被測定デバイスを内部にマウントするコンピュータソフトウェアコントローラテスタを含んでいる。多くのＡＴＥが市販されており、またその内の多くが、様々な命令セットのフォーマットを持つ様々なオペレーティングシステム上で動作する。したがって、設計エンジニアと製造のテストエンジニアとの間のハンドオフは、テストパターンをＡＴＥが理解できるフォーマットに変換しなければならないため困難なものとなる。加えて、故障が発生すると、テストエンジニアは、正しい診断をするためには、しばしば設計エンジニアに相談し、デバイス設計データを参照する必要がある。
【０００３】
この設計エンジニアとテスト製造エンジニアとの間の連絡及び相談は、特定の市販ＡＴＥのアーキテクチャ、これに固有のオペレーティングシステム及び動作特性に強く依存しているため悪化させられる。製造テスト環境が、極度にリソース集約的であり、このことは、集積回路の製品化までの時間、大量生産化までの時間及び品質にかなりの影響を及ぼすことになる。
【０００４】
製造ｇｏ／ｎｏ−ｇｏテストを実行するためのテストベクトルとテストプログラムとの準備をかなり減少させることを可能とする埋込テストアーキテクチャが提案されているとはいえ、一般的には、テスト結果が診断解析のために利用可能となることはない。この診断の問題は、ビルトインセルフテスト（埋込テスト）がテスト方法の一部をなす場合には、特に重要である。ビルトインセルフテストは独立している（ｓｅｌｆ−ｃｏｎｔａｉｎｅｄ）ため、テスト結果データは、全体的なｇｏ／ｎｏ−ｇｏのレポートに過ぎず、一般的には、診断解析のために利用されることはできない。したがって、よりよい診断解析を得るためには、埋込テストブロックを、「バッチ」ベースで数回実行し、実行する毎に、異なるテストパターン及び／または埋込テスト動作モードを用いて、追加の診断情報を得るようにしなければならない。多くの場合、埋込テストの実行ごとのセットアップ要件は、先行する１つ以上の実行の結果によって異なる。これは、テストエンジニア及び特に設計エンジニアは、障害を診断するために、予めテストプログラムを作成することができないにもかかわらず、診断がなされている間に、テストプログラムを作成しなければならないことを意味する。
【０００５】
即ち、設計エンジニアとテスト及び製造のエンジニアとの間での情報のシームレスな伝達と合成とに基づき、テストプログラムの開発とテスト結果の診断とを容易にする、一般的なテスト環境が必要とされる。
【０００６】
【発明が解決しようとする課題】
本発明は、非ＡＴＥ環境と同様に、従来のＡＴＥ環境における埋込テストコントローラテストをシームレスに統合するソフトウェアシステム及び方法を提供する。本システムは、上記の従来型バッチ指向テストパターン生成の必要性を解消し、また、解消しない場合でも、テストエンジニアの設計コミュニティに対する依存性を低減する。
【０００７】
このことは、部分的には、環境下の集積回路デバイスの埋込テストアクセスデータファイル、埋込テストコントローラを動作させるために必要とされる埋込テストブロックに関する情報の全てを含むデータファイル、診断結果を提供することにより、部分的には、比較的シンプルなユーザテスト定義コンフィグレーションに基づく、１つ若しくは複数のテストコントローラにおいてテスト及び診断を自律的に行うことができるシステムを提供することにより、達成される。本発明の別の態様は、アクセスデータファイルを読み取って表示するユーザインタフェースを提供するが、この場合、テストコントローラは、被測定デバイスと、各コントローラと関連するランタイムパラメータと、を含み、これにより、パラレル又はシーケンシャルな１つ又は複数のテストコントローラを含むテストステップのシーケンスを、ユーザが指定することを可能とする。この結果、設計と製造テストとの間のハンドオフが無ベクトルのものとなる。
【０００８】
本発明のシステムは、テストプログラム開発者、製造テストスタッフ及び製品サポートエンジニアの各々の必要性をサポートする。埋込テストアクセスシステムをＡＴＥオペレーティングシステムと統合することによって、これらのユーザは、自分が操作するのに最も適した環境下で作業することが可能となる。テストエンジニアは、自分が他の利用可能なテストプログラム作製ツールで作業するのと同じように、埋込テストアクセスソフトウェアで作業する。製造スタッフの場合、最終的なテストコンフィグレーションは、ｇｏ／ｎｏ−ｇｏテストのための他の何れのテストプログラムとも全く異なることがなくテスト生産フローに適合する。製品サポートエンジニアは、本システムをセットアップして、故障のメカニズムを監視し、また、特殊な診断ルーチンをコールして、故障が何れのロジックデバイスのフリップフロップやメモリデバイスの何れのセルによるものであるかを明確にする。
【０００９】
【課題を解決するための手段】
本発明の一つの態様は、１つ又は複数の埋込テストコントローラを有する回路をテストする方法、システム、プログラムプロダクトとして定義される。該方法、システム、プログラムプロダクトは、デバイスに埋め込まれた全てのテストコントローラを識別し、該テストコントローラからのテストデータの起動、実行、抽出に要されるデータを記載するテストコントローラアクセスデータを読み込み；該デバイスに埋め込まれた１つ又は複数のテストコントローラにおいて実行される１つ又は複数のテストステップを記載するテストコンフィグレーションデータを読み込み；１つ又は複数のテストコントローラの各々からテスト応答データを起動し、実行し、抽出するために要されるアクセスデータファイルデータから抽出することを含む、１つ又は複数のテストステップの各々を実行するテストパターンのシーケンスに該テストコンフィグレーションデータを変換し、該集積回路の１つ又は複数のテストコントローラにテストパターンのシーケンスをロードする。
【００１０】
本発明の別の態様は、埋込テストコントローラを有する回路において実行されるテストのテスト応答データを診断する方法、システム、プログラムプロダクトである。該方法は、テストコントローラにロードされたテストパターンの実行において比較の失敗を示すモジュール障害の各々に対し、ピンの名称、及び、テストパターンの先頭からのピンのサイクルオフセットを判断し；該サイクルのバックマップデータファイルから、障害の原因であるサイクルの比較パターンを生成したフォーマットされたジェネリックコマンドの識別を判断し；該ジェネリックコマンド障害及びコマンドにおけるビットオフセットの障害の識別を用いて、バックマップデータファイルにおけるオリジナルコマンドと、該ジェネリックコマンドに関連するバックマップにコメントされている埋込テストレジスタデータにおけるビットオフセット障害と、を判断し；障害の記載を生成するピンに関連する埋込テストコントローラのアクセスデータファイルに対するレジスタビット障害と、該回路の設計コンテクストにおけるデータログレポートと、を解析する。
【００１１】
本発明の更に別の態様は、埋込テストコントローラを有する電気システムをテスト又は診断する際に使用するシステム及びプログラムプロダクトとして定義される。該システム及びプログラムプロダクトは、該電気システムの埋込テストコントローラのテスト性能に関する情報を生成する第１の手段と、該電気システムのテストコントローラのテスト及び／又は診断命令と、データと、を生成する第２の手段と、該テストコントローラに該命令及びデータを適用し、該テストコントローラからテスト結果を受信する第３の手段と、該テストコントローラのテスト結果データを解析し、該電気システムの特性をレポートする第４の手段と、を備える。
【発明の実施の形態】
【００１２】
本発明の上記の特徴と他の特徴及び態様は、添付図面を参照して記載される以下の説明によればより明らかであろう。
【００１３】
本発明は、集積回路中の障害をテストして診断する新規な方法、並びに、本方法を自動化するコンピュータプログラムプロダクト及びシステムを提供する。本発明によれば、被測定デバイス中に埋め込まれたテストコントローラに関する詳細なデータは、コンピュータ読み取り可能データベース中に記憶される。このデータベースは、１つ以上のコンピュータ読み取り可能ファイルを含む適切などのような形態をも取り得る。以降、このデータベースを、埋込テストアクセスファイル又はＥＴＡファイルと呼ぶ。本発明によるプログラムプロダクトは、以降、埋込テストアクセスソフトウェア又はＥＴＡソフトウェアと呼ぶ。本発明はまた、ユーザ定義のテスト及び診断を実行する比較的簡単なユーザ定義テストコンフィグレーションと、テストコンフィグレーションを生成し、このテストコンフィグレーションをコンピュータ読み取り可能ファイル中に記憶するユーザインタラクティブインタフェースと、を採用するシステムを提供する。以下の記述は、これらのファイルのコンテンツを詳述する。
【００１４】
本発明の別の態様は、本発明の所望の方法及び機能、詳細には、ＥＴＡファイルを読み取り、該ファイルのコンテンツを用いて、テストコンフィグレーションファイルを生成して保存し、該テストコンフィグレーションファイル中の各テスト規格を１つ以上のシーケンステスト命令に変換して、被測定デバイスに対してテストを実行し、テスト命令を実行し、また、テスト結果を診断する機能、を提供するプログラムを含む第１のライブラリの提供に関する。
【００１５】
本発明の別の態様は、第１のライブラリによって生成されたテスト命令をマシン固有のフォーマットに変換して、マシン固有の命令を、被測定デバイスが接続されているマシンに入力するプログラムを含む第２のライブラリの提供に関する。第２のライブラリは、また、マシンから出力されたテスト結果データをジェネリックなフォーマットに変換して、第１のライブラリが、テスト結果を診断できるようにする。
【００１６】
上述したように、ＥＴＡソフトウェアはまた、単純なパス／障害から障害モジュールの識別に至る診断レベルでテスト障害を診断するように設計されている。診断の実行に際して、本システムは、ＥＴＡファイルにアクセスして、固有のテストのための正しい応答データを決定し、このデータを用いて障害モジュールを識別する。本システムは、ユーザインタフェースによってインタラクティブに又はユーザの干渉とは無関係に実行することが可能である。
【００１７】
本発明の特定の実施形態では、前述のマシンはＡＴＥテスタである。しかしながら、本発明は、本方法と本システムとを他の環境に応用することを予定している。加えて、本特定の実施形態においては、ＥＴＡソフトウェアがＡＴＥシステムにロードされているとはいえ、本ソフトウェアは、このようなシステムと緊密に関連する必要はないことが理解されよう。実際、本発明は、本ソフトウェアが、テストされるデバイスから遠隔に置かれ、また、ローカルエリアネットワーク、インターネット、イントラネット、ダイヤルアップ、及び、被測定デバイスと通信するための接続などの手段を用いるデバイスと接続することを予定している。本システムは単に、テストされるデバイス毎に前述のＥＴＡデータファイルを必要としているだけである。本発明は、テストの実行又は特定のデバイスを予定しているだけではなく、回路基板やシステムのテストも予定している。
（埋込テストコントローラ）
【００１８】
本発明をさらに詳述する前に、埋込テストコントローラとこれに関連する用語を簡単に説明しておくのが有用であろう。
【００１９】
埋込テストブロック又はテスト構造体は、一般的には、集積回路デバイス中の所定のスキャンチェーン内に配置されたビルトインセルフテスト又は埋込テストコントローラ及び関連のテスト可能モジュールと定義される。テスト可能モジュールは、テストされるデバイス中に埋め込まれたハードウェアエンティティである。モジュールは、組み合わせロジック、埋め込まれたメモリ、複合された信号コンポーネントなどであってよい。埋込テストコントローラは、同じタイプの１つ以上のモジュール、すなわち、ロジック又はメモリをパラレルに又はシーケンシャルにテストするように設計された回路である。埋込テストコントローラは、テスト用のテストベクトルを生成するために用いられるランタイム制御オプション又はパラメータを有している。これらのオプションは、コントローラのタイプによって異なる。例えば、「保持時間」は、メモリタイプの埋込テストコントローラの場合に指定され、「パワーレベル」は、ロジックタイプの埋込テストコントローラの場合に指定される。埋込テストコントローラのステップは、診断目的で実行される動作である。ロジックタイプの埋込テストコントローラにおけるステップは、「試行」と呼ばれ、一方、メモリタイプの埋込テストコントローラにおけるステップは、「ステップ」と呼ばれる。
【００２０】
テストコントローラは、テストパターンをシリアルにコントローラ中にロードすることによって、所望のランタイムパラメータを指定するパターンで、実行させられる。そのように指示された場合、テストコントローラは、これと関連するテスト可能モジュールのテストを実行する。コントローラがテストを実行する手段は、コントローラのタイプによって異なる。ロジックテストコントローラは、指定されたパラメータに従ってテストパターンを生成する疑似ランダムパターンジェネレータ（ＰＲＰＧ）を含む。このテストパターンは、このテストコントローラと関連するテスト可能モジュール中にロード又はスキャニングされる。コントローラは、また、複数入力シリアルレジスタ（ＭＩＳＲ）を含むが、これは、ＰＲＰＧが生成したテストパターンに対するテスト可能モジュールの応答を解析するものである。ＭＩＳＲは、ｇｏ／ｎｏ−ｇｏ出力を生成するか、又は、さらなる解析のために応答データを出力してもよい。このようなコントローラは、技術上公知であり、したがって、ここではこれ以上詳述しない。メモリ及び他のタイプのコントローラも、同様に、コントローラと関連したモジュールをテストする手段を含んでいる。
（埋込テストコントローラアクセスデータファイル）
【００２１】
図４に、ＥＴＡファイル、即ち、データベース３２のコンテンツを示す。ＥＴＡファイル、即ち、データベースは、被測定デバイスの埋込テスト機能を含み、また、以下に示すセクションを備えている。
【００２２】
１．デバイス中の各埋込テストブロックのアクセスインタフェースと制御インタフェースとを記述している埋込テストアーキテクチャ記述セクション３２ａ。これは、各埋込テストブロックポートの機能と、各テストブロックの埋込セットアップスキャンチェーン内のレジスタの各々の記述と、を含んでいる。例えば、このセクションは、テスト中に入力されるランダムパターンの数を指定するために用いられるロジックテストブロックのセットアップスキャンチェーン内のビット範囲を示す。このセクションは、また、各埋込テストブロックの制御ポート及びアクセスポートとデバイス又は１１４９．１ＴＡＰのピン間の接続を記述している。このセクションは、埋込テストブロックのイネーブルピンに対するＴＡＰ命令レジスタビット接続を示す。
【００２３】
２．各埋込テストブロックの情報にアクセスし、該情報を実行し、リトリーブするために必要とされるパターンを定義するアクセスパターン記述セクション３２ｂ。
【００２４】
３．シミュレーションから導き出され、また、ランタイム環境下では効率的に生成することが不可能なテスト結果を生成するテストブロックの一部の形態で用いられるオプションの結果データセクション（図示せず）。これにより、これらの結果は、ＥＴＡソフトウェアに対して利用可能とされる。このような結果データの例として、スキャンベースのロジック埋込テストコントローラに起因する署名や、テストの障害を診断して欠陥モジュールを突き止める際に用いられるベクトルデータなどがある。
【００２５】
上記のデータは、１つ以上のファイルを含む、何れかの適切な又は所望の手段で記憶される。
【００２６】
ＥＴＡファイルは、任意の所望の手段で開発することが可能である。しかしながら、本発明によれば、このファイルは、集積回路デバイスの設計プロセスの一部として開発される。図１に、本発明の好ましい実施形態による、ソフトウェアシステム１０のアーキテクチャの全体的なフローを示す。この図の左側は、設計環境内で生成するものである。同図の右側は、製造テスト環境である。本システムは、３つの主要なコンポーネント、すなわち、埋込テストＩＰ（Ｉｎｔｅｌｌｅｃｔｕａｌ Ｐｒｏｐｅｒｔｙ）ジェネレータ１２、埋込テストＩＰインテグレータ１４、及び、ＥＴＡソフトウェア１６と呼ばれる埋込テストアクセスソフトウェアを含んでいる。埋込テストＩＰジェネレータは、テストされる設計コンポーネントの要件に基づいて様々な埋込テストブロックの集積回路設計記述を作成する自動ツールである。これらの記述は、埋込テストＩＰ設計データファイル１８中に記憶される。
【００２７】
埋込テストＩＰインテグレータは、埋込テストＩＰ設計データファイル１８をチップ設計データファイル２０とマージして、埋込テスト設計データファイル２２でチップを生成するオートメーションルールである。一般に、これらのデータファイルは、ハードウェア記述言語（ＨＤＬ）フォーマットで指定されたコンポーネント記述を持つＡＳＣＩＩテキストファイルという形態で与えられる。このようなツールとファイルとは、一般的に、当業者には公知である。これらの機能の内、埋込テストＩＰインテグレータツールは、ファイル２２中に、制御ポートとアクセスポートとの間の接続の、被測定デバイスのピン又はデバイス内で実施されているＩＥＥＥ１１４９．１テストアクセスポート（ＴＡＰ）に対する規定を挿入する。埋込テスト設計データファイル２２を持つこのチップを、製造ハードウェア／ソフトウェア２４が用いて、集積回路すなわちチップ２６を製造する。埋込テストＩＰジェネレータツール及びインテグレータツールには、市販されているものがあるため、ここでは詳述しない。
【００２８】
本発明によれば、これらのツールは、アクセスソフトウェア１６が埋込テストの実行、埋込テスト結果の抽出及び診断を自律的に実施することを可能とするために埋込テストアクセスデータファイル３２の上記の３つのセクション中で必要とされる詳細な情報を提供するようになっている。好適には、これらのツールは、また、被測定デバイス中の全てのテストコントローラのテスト又は各テストコントローラのデフォルトランタイムパラメータの指定に用いられる「デフォルト」テストコンフィグレーションファイルをパラレルに生成するようになっている。このデフォルトテストコンフィグレーションファイルは、後述するような手段でユーザが編集することが可能である。
（テストコンフィグレーションファイル）
【００２９】
図２に、テストコンフィグレーションファイル５０を示す。これは、埋込テストコントローラのテストステップ、テストグループ及びランタイムのパラメータを指定するために用いられることができるシンタックスを含む。
【００３０】
テストコンフィグレーションは、１つ以上のテストステップの順序付けされたコレクションと１つ以上のテストグループの順序付けされていないコレクションとである。テストステップは、１つ以上の埋込テストコントローラのパラレルなフル実行である。フル実行には、セットアップ、実行、及び、テストコントローラから得られたテスト結果の収集が含まれる。図２から理解されるように、ＴｅｓｔＳｔｅｐ１と呼ばれるテストステップのコンフィグレーションは、４行から始まり３４行で終わる。各テストステップで、このテストコンフィグレーションは、テストのためのテストベクトルを生成するために必要な全ての埋込テストコントローラの全てのランタイム制御オプションを指定する。１９〜３２行で、メモリコントローラと、これに関連するランタイムパラメータの全てと、を指定する。テストコンフィグレーションは、各テストステップに対して別個のベクトルとタイミングとを指定する。図２では、これらは５〜１８行目に指定されている。３３行に示すように、同じタイプの他のテストコントローラ、この場合はメモリテストコントローラが、この時点でこれらのステップに追加される。
【００３１】
テストグループは、テストステップの順序付けされたコレクションである。テストグループによって、テストプログラムは、非ＡＴＥベクトルがインタリーブされる特定の時点での実行のためのテストステップのグループを選択することが可能となる。この選択機能によって、ほとんどの障害が早期に検出されるようにテストプログラムを最適化し、これによって、テスト時間を短縮することが可能となる。外部ＡＴＥが、テストコンフィグレーション中で示されている全てのテストステップのための様々なタイミング（すなわち、ピン毎の周期、イベントなど）をプログラムするために必要とされてもよい。
【００３２】
図２に示されるように、テストグループＧｒｏｕｐ１は、３行〜４５行の間で定義され、前述のＴｅｓｔＳｔｅｐ１を含んでいる。４４行に示されているように、このグループ中の追加のテストステップは、このポイントに挿入してもよい。４６行に、追加のテストグループはこのポイントで定義してもよいことを示す。
【００３３】
テストコンフィグレーションは、標準のテキストエディタを用いて作成又は修正されることができるＡＳＣＩＩテキストファイルに記憶される。しかしながら、本発明は、ＥＴＡファイルにアクセスすることと、埋込テストコントローラ及び関連のランタイムオプションを表すアイコンを表示すること、との双方のためのユーザインタフェースプログラムを、ユーザが容易に、テストコンフィグレーションを作成し、テストコントローラランタイムパラメータ及び診断優先度を指定できるように提供する。このユーザインタフェースは後述する。
【００３４】
テストコンフィグレーションの構造は、本発明の精神から逸脱することなく修正され得ることが理解されるであろう。
（テストプログラム）
【００３５】
ここで図３を参照する。今までは、集積回路生産環境下では、ユーザは、テストプログラムを開発してこれをＡＴＥテスタコントローラソフトウェアプラットフォーム３０上に、オペレータインタフェースボックス又はワークステーション（図示せず）を用いてロードしたものである。ＡＴＥソフトウェアプラットフォームには、ベンダー固有のソフトウェアが、ＡＴＥテスタハードウェア３４上のテストプログラムに含まれている命令を読み取って実行するルーチンライブラリとハードウェアライブラリと、という形態で含まれている。ユーザ定義されたテストプログラムは、実際にＡＴＥテスタをテストデバイスにドライブするするコードとデータとの組み合わせである。テストプログラムソースコードは、一般的には、ＡＴＥテスタプラットフォームが異なれば（例えば、Ｔｏｏｌｂｏｘ（登録商標）中のＣコード、Ａｇｉｌｅ（登録商標）中のブロック指向のＡＳＣＩＩコードなど）、その形態も異なる。
【００３６】
本発明は、従来のテストプログラムの必要性を解消することを追求するが、従来のテストプログラムが、本発明のシステムにアクセスすることを可能とする手段を提供する。ＡＴＥテスタソフトウェアは、各ＡＴＥテスタモデル毎に対して高度に特殊化されているため、また、レガシーを考慮しているため、一般に、言語や通信の修正に対してはフレキシブルではない。この理由により、本発明の埋込テストアクセス機能のバルクは、以下に説明するＥＴＡサーバソフトウェア中に常駐する。ユーザ定義のテストプログラムやグラフィカルユーザインタフェースとシェルユーザインタフェースなどのクライアントプログラムは、ＥＴＡサーバと通信するために小さいライブラリのユーティリティプログラムしか必要としない。したがって、本発明は、「ＡＴＥサーバインタフェースライブラリ」というラベルを持ち、一般に参照符号５６で指定される小さいプログラムライブラリを提供するが、これは、ＡＴＥテスタコントローラ上にインストールされて、ＥＴＡソフトウェア機能とＥＴＡデータとにアクセスする必要があるときには、クライアントプログラム内からコールすることが可能である。同様に、ＥＴＡシステムは、このライブラリにコールして、ＡＴＥテスタ上で動作を実行することが可能である。ＲＰＣやＣＯＲＢＡなどの適切なプロセス間通信方法をテスタプラットフォーム上で用いて、ＥＴＡソフトウェアにアクセスすることが可能である。
【００３７】
したがって、ユーザは、従来のテストプログラムを開発して、これを、インタフェースライブラリ５６によって提供される高レベルの命令中に組み込んで、ＥＴＡシステムと通信する。この高レベル命令のセットは、テスト開発者が埋込テストソフトウェアアーキテクチャの詳細な知識を必要とすることなくテストプログラムを作成することを可能とする手段となる。詳細には、この命令セットは、次の機能を提供する。
●ＥＴＡシステムに対して、デバイスの名称とロケーションを指定することによって、そのデバイスがテスト中であることを指定する。
●ＥＴＡサーバが生成したロジック、フォーマット及びタイミングを完備したターンのセットをテスタ３４のメモリ中にロードする。
●障害データをパターンの実行から抽出して、診断用のＥＴＡサーバ環境に送る。
●故障情報をＥＴＡサーバから受信して、テスタシステムデータ収集ストリーム中に挿入する。
（ＥＴＡソフトウェアシステム）
【００３８】
ＥＴＡソフトウェアは、被測定デバイスが置かれている環境、この場合はＡＴＥソフトウェア環境と被測定デバイス中の埋込テストブロックとの間にリンクされている。ＥＴＡソフトウェアとこの環境とを統合することによって、テストプログラム開発者は、埋込テストブロックの動作を、埋込テストブロックの様々なモードとパラメータとを指定する（すなわち、様々な「ｗｈａｔ−ｉｆ」シナリオを演じる）ことによって観察することを含む多くの特定の動作を実行することが可能となり、これによって、最適な「生産」テストプログラムを設計したり、初期化に際して、パターンのセットを作成してこれをＡＴＥテスト中のパターンメモリ中にロードしてテスト生産フロア上でｇｏ／ｎｏ−ｇｏ方式に基づいて実行するテストプログラムを開発したり、欠陥埋込テストブロックを、例えば、ユーザがロジック埋込テストの障害を診断して欠陥フリップフロップを明らかにしたり、メモリ埋込テストの障害を診断して欠陥メモリセルを明らかにしたりできるように診断したり、テストプログラムからコールされて、被測定デバイスの統計的データ解析の支援となることが可能な診断手順のセットを提供したりすることが可能となる。
【００３９】
本発明のＥＴＡソフトウェア１６は、ＡＴＥテストシステム３０上で直接的に実行されて、クライアントプログラムに対して、テスト中のデバイス２６内に埋め込まれている全てのテストブロックに対する完全なアクセス権を与えるようになっている。しかしながら、既述したように、ＥＴＡソフトウェアは、遠隔にロードして、デバイスに対して任意の適切な手段で接続されてもよい。ＥＴＡソフトウェアはまた、以下に説明するように、従来のテストプログラムを必要とすることなく、テストを実行してテスト結果を診断することが可能である。
【００４０】
図３に、ＡＴＥテスタから直接アクセスすることが可能な環境下におけるＥＴＡシステムのライブラリレベルのアーキテクチャを示す。このシステムは、ＡＴＥ埋込テストサーバ４２と、ＡＴＥテスタハードウェア３４を制御するＡＴＥソフトウェアプログラムプラットフォーム３０と、を含む。
【００４１】
サーバ４２は、ＡＴＥライブラリ４６、アプリケーションプログラムインタフェース（ＡＰＩ）４７及び、テストコンフィグレーションデータファイル５０及びＥＴＡファイル３２を読み取るＥＴＡライブラリ４８を含んでいる。ＡＰＩ４７は、ライブラリ４６と４８との間の通信、さらに他のクライアントプログラム５２との通信を提供する。ライブラリ４６は、テスタと、又は、ＡＴＥソフトウェアプラットフォーム上で実行されるテストプログラムと、インタフェースライブラリ５６を介して通信する。ＥＴＡソフトウェアは、後述のユーザインタフェース５４を含んでいる。サーバソフトウェア４２は、ＡＴＥソフトウェア４４がロードされるのと同じマシン上にインストールされたり、または、別個のマシン上にロードされて、適切なネットワークによってＡＴＥソフトウェアマシンに接続されたりする。
【００４２】
ＡＴＥライブラリ４６は、テストプログラムに又はライブラリ５６中のユーティリティに対する通信リンクを提供し、パターンをテスタとは無関係なフォーマットからテスタ固有のフォーマットに変換し、変換されたパターンをテスタ上の実行中のパターン中にロードし、テスタ固有のテスト結果をテスタとは無関係なフォーマットに変換してこの変換されたテスト結果をライブラリ４８に処理目的で伝達することによって、ＥＴＡライブラリ４８を、特定のテスタモデルにとってのターゲットとする。この目的のために、ライブラリ４６は、様々なＡＴＥテスタのモードの各々に対して１つずつ対応する、複数の変換ライブラリを含む。システムを初期化する際には、ユーザは単に、使用すべき固有のＡＴＥテスタモデルを指定するが、これは、ライブラリ４６をこのモデルに対する関連の変換ライブラリにアクセスさせるものである。
【００４３】
サーバライブラリ４８は、ＥＴＡソフトウェア１６の一次的な機能を提供するが、これは、ＥＴＡファイルとテストコンフィグレーションファイルとの処理であり、被測定デバイスのユーザ定義テストを実行してテスト結果を診断するものである。この目的のため、ライブラリ４８は、パターンプロセッサ６０とデータログジェネレータ６６とを有する。このパターンプロセッサを最初に説明する。
【００４４】
パターンプロセッサ６０は、テストコンフィグレーションファイル中に指定されているテストを実行するために必要なテストパターンを生成する。図４に、本発明によるパターンプロセッサ中に組み込まれたテストパターン生成プロセスを示す。パターンプロセッサ６０は、ＥＴＡファイルとテストコンフィグレーションファイルとを読み取るように動作可能である。これには、テストコンフィグレーション規格と、各規格を処理するための特定の手順と、のライブラリ（図示せず）が含まれている。これによって、プロセッサは、テストコンフィグレーションファイル中の各規格を読み取り、また、ＥＴＡファイルを用いて、ジェネリックな又はＡＴＥテスタとは無関係なフォーマットで、対応する命令又は命令のシーケンスを生成することが可能である。テストコンフィグレーションファイル中に指定されている各テストステップに対して、パターンプロセッサ６０は、次のタスクを実行する。
【００４５】
１．テストステップ中に指定された埋込テストブロックを識別し、各テストブロック毎にＥＴＡのアクセスパターン記述セクションから、テストステップによって指定されたモードでテストコントローラを実行させるために必要とされるアクセスパターンを抽出する。
【００４６】
２．テストステップ中のテストコントローラの各々に対する抽出済みのパターンを１つのパターンにマージし、これによって、テストステップ中の全ての埋込テストブロックがパラレルに実行されるようにする。
【００４７】
３．ＥＴＡファイルの埋込テストアーキテクチャ既述セクションを用いて、テストパターンセットを被測定デバイスのＩ／Ｏピンと、又は、デバイスのテストアクセスポートインタフェースと、関連付けて、テストステップ規格を実効させるために必要な全ての命令のシーケンスを生成する。
【００４８】
４．ターゲットとされたテストパターンセットを、シリアルベクトルフォーマット（ＳＶＦ）などのテスタとは無関係なフォーマットに変換し、この変換されたテストパターンをテスタとは無関係なフォーマットのテストパターンファイルとして記憶する。ＳＶＦは、ＩＥＥＥ１１４９．１の周知の高レベル言語である（参照することで本明細書に組み込まれる、１９９７年７月２８日改訂、パート番号ＡＳＳＥＴ−ＳＶＦ−ＤＯＣ、Ａｓｓｅｔ　Ｉｎｔｅｒｔｅｃｈ社から入手可能、著作権１９９４　Ｔｅｘａｓ　Ｉｎｓｔｒｕｍｅｎｔ、著作権１９９７　Ａｓｓｅｔ　Ｉｎｔｅｒｔｅｃｈ、「シリアルベクトルフォーマット規格（Ｓｅｒｉａｌ　Ｖｅｃｔｏｒ　Ｆｏｒｍａｔ　Ｓｐｅｃｉｆｉｃａｔｉｏｎ）」を参照のこと）。ＳＶＦが好ましいとはいえ、本発明の精神から逸脱しない他のどのようなジェネリックなフォーマットでも採用可能である。
【００４９】
ＡＴＥライブラリ４６はＡＴＥパターントランスレータ６２を含むが、これは、各命令を、パターンプロセッサ５０によって生成されたテスタとは無関係なテストパターンファイルに変換して、以下の追加タスクを実行する。
【００５０】
５．テスタとは無関係なフォーマットテストパターンファイル中の高レベルＳＶＦコマンドをＩ／Ｏトランジションに拡張して、次に、このトランジションをターゲットテスタが必要とする固有のフォーマットに変換する。
【００５１】
６．変換されたパターンをＡＴＥサーバインタフェースユーティリティ５６に伝達し、これがコマンドをテスタに入力する。
【００５２】
７．ＳＶＦバンクマップデータを、後述する障害データログプロセス中に使用されるバックマップファイル又はデータベース用に生成する。
【００５３】
テスタとは無関係なフォーマッティングがされたパターンセットとそれに対応するテスタ固有変換とは、本質的に、従来のテストプログラムの同等物である。
【００５４】
このパターン生成フローは、埋込テストパターンが比較的単純であるため、リアルタイムテスト環境によく適している。一般的な埋込テストコントローラ実行には、一般的に、埋込テストブロック中の数１０個のレジスタビットの初期化と、数１００万の迅速なＡＴＥクロックサイクルの繰り返しループと、埋込テストブロック中の数１０のレジスタビットの結果取得と、が伴う。
（障害データログ動作）
【００５５】
ＡＴＥ環境におけるデータログ動作とは、被測定デバイス中の障害に関する情報を採取して報告するプロセスのことである。このデータは、被測定デバイスの問題の症状、すなわち、デバイスがどのように故障しているかを記述している。データログ故障情報は、リアルタイムで又はログファイル中に収集されて、オフラインで解析される。診断とは、欠陥デバイスの解析しデバイスが故障する理由を判定するプロセスのことである。ここで、データログと診断との区別は、データログを、何れのベクトルも変更することなく得られたなんらかの故障情報として定義することによってなされる。
【００５６】
図５に、本発明による故障データログフロープロセスを示す。ＥＴＡサーバライブラリ４８はさらに、故障データログメカニズムを含むが、このメカニズムによって、システムはチップ設計データというコンテクストにおけるＡＴＥ環境によって報告されたＡＴＥ障害を解釈し、これによって、意味のあるデータログ結果を提供することが可能となる。このメカニズムは、ＡＴＥ故障データをＡＴＥソフトウェアプログラムから受信する、ＡＴＥライブラリ４６中の故障トランスレータ６４を含む。このトランスレータは、故障をＳＶＦ故障、すなわちジェネリックな故障データに変換して、この変換された故障データを、ライブラリ４８中のデータログジェネレータ６６に転送する。データログジェネレータ６６は、ＥＴＡファイルにアクセスして、ＳＶＦパターンデータをパターンプロセッサ６０から、そして、ＳＶＦ故障データを故障トランスレータ６４から受信する。
【００５７】
データログ動作のプロセスは、次のステップを含む。
【００５８】
１．テストパターン実行における「比較の失敗」を表すＡＴＥ故障は、ライブラリ４６中の故障トランスレータ６４に対して、インタフェース５６を介して、ピン名称と、故障という結果となったＡＴＥテストパターンの先頭からのＡＴＥサイクルオフセットという形態で送られる。
【００５９】
２．故障トランスレータは、ＳＶＦバックマップデータ中のＡＴＥサイクルをルックアップして、このＡＴＥサイクルの「比較」パターンを生成したＳＶＦコマンドを決定して、対応するＳＶＦ故障を指定する。
【００６０】
３．故障トランスレータは、ＳＶＦ故障をデータログジェネレータ６６に対して、障害ＳＶＦコマンドと、このコマンド内の障害ビットオフセットという形態で送る。
【００６１】
４．データログジェネレータは、ＳＶＦ中のオリジナルのコマンドを発見して、各ＳＶＦコマンドに対してコメントとして付けられた埋込テストレジスタデータから障害ビットオフセットを決定する。
【００６２】
５．データログジェネレータは、障害レジスタビットを埋込テストコントローラに対するＥＴＡファイル中のアクセスデータと比較して、故障のセマンティックスを決定して、意味あるデータログをチップ設計のコンテクスト中に生成する。例えば、メモリ埋込テストデータログは、欠陥のメモリインスタンス、アドレス及びデータビットを含むことがある。ロジック埋込テストデータログは、欠陥のスキャン試行又は欠陥フリップフロップインスタンスを含むことがある。
【００６３】
本システムは、故障を自動的に診断することが可能である。診断要求は、任意のクライアント、すなわち、ＡＴＥソフトウェア中にロードされたＧＵＩプログラムやユーザが開発したテストプログラムによっても発行される。この要求は、ユーザが、ユーザインタフェースプログラムのディスプレイ上の「診断」オプションをクリックすると作成されて、ビットレベルの故障を取得したり、又は、ユーザ定義のテストプログラム中にプログラムされた命令によって作成されて、全ての欠陥メモリ埋込テストブロックの全ての欠陥メモリエレメントを診断するように、ＥＴＡサーバに指示する。欠陥メモリ又はロジックを自動的に診断する場合、本システムは、以下のシーケンスを数回反復して実行する。
【００６４】
１．診断のために用いられる埋込テストブロックを含む、テストステップを作成して修正する。
【００６５】
２．ＡＴＥパターンを前述したように生成する。
【００６６】
３．パターンをロードし、これを実行し、結果を戻すように、テスタに命令する。
【００６７】
４．テスト結果を解析して、埋込テストブロックを別のモードで実行することによって、追加の情報を収集することが可能であるかどうか判断し、不可能であれば、最終結果を報告する。
【００６８】
ロジックテストコントローラによってテストされたロジックを診断するために、広い範囲の様々なアルゴリズムを用いることができるが、何れのアルゴリズムも、様々なセッティングでテストコントローラを１回以上実行することからなっている。診断で最も時間を要する部分は、失敗した試行を明らかにすることである。失敗した試行を明らかにするため、テストコントローラは何回も実行されるが、この場合、テストコントローラの実行は、以下のステップを含む。
【００６９】
１．ＰＲＰＧ（ＰＳ）とＭＩＳＲを初期化して、試行（ＭＳ）を開始する。
【００７０】
２．多くのＡＴＥクロックサイクル（Ｒ）にわたって、テストコントローラと関連するテスト可能モジュールとをクロック制御する。
【００７１】
３．期待されるＭＩＳＲ比較値（ＭＣ）をスキャンアウトする。
【００７２】
テストコントローラの実行は、ベクトルのテンプレートとして実施される。これが実行されると、パラメータが異なればそれに応じて異なった値を、すなわち、ＰＳ、ＭＳ、Ｒ及びＭＣに対して異なった値を単に「渡す」ことによって、同じベクトルセットを繰り返して用いる。これによって、何れのアルゴリズム、すなわち、バイナリ、シーケンシャル、指数関数的シーケンシャル又は他のアルゴリズムなどを用いても同じパターンを再使用して、結果データ中の障害を探索することが可能となる。このようなアルゴリズムは、技術上公知であり、したがって、ここでは説明しない。
【００７３】
ユーザは、最初の障害試行、最初から数えてＮ個の障害試行又は全ての障害試行を要求し得る。潜在的には、各要求に対して様々なアルゴリズムが用いられてもよい。バイナリ探索アルゴリズムが、「最初の障害試行」要求には最も適していることが分かっている。Ｎのサイズによっては、バイナリ探索アルゴリズム、シーケンシャル探索アルゴリズム又はこれらのハイブリッドが、「最初のＮ個の障害試行」要求には適している。シーケンシャル探索アルゴリズムは、ほとんどの場合、「全ての障害試行」要求に最も適していると信じられている。場合によっては、後者は全てのベクトルを生成するために必要とされる時間又はテスタ上のベクトルメモリのサイズのため、実現不可能となり得る。
【００７４】
本発明の最良の実行モードでは、サーバライブラリ４６が、Ｃ＋＋抽象的ベースクラスとして実施され、また、ＡＴＥ埋込テストインタフェースライブラリ５６が、ジェネリックなサーバライブラリ４６とターゲットＡＴＥテスタとの間の変換層として働くテスタ固有サブクラスとして実施される。ライブラリ４６のＣ＋＋クラス定義は、二重目的ＡＰＩである。ベースクラスとして、それは、ＡＴＥ埋込テストライブラリ５６から直接アクセス可能である。ＥＴＡサーバライブラリＣ＋＋クラス定義もまた、グラフィカルユーザインタフェースやテストプログラムなどの、任意のＣＯＲＢＡに準拠したクライアントに対してもアクセス可能とするＣＯＲＢＡインタフェースとして実施されるのが好ましい。システム機能のバルクをサーバ中に保持することによって、サーバを、テストプログラムの実施を考慮することなく、高レベルＣ＋＋フレームワークで実施することが可能となる。
【００７５】
図３から理解されるように、ＡＰＩ４７は、ＥＴＡサーバによってサポートされて、グラフィカルユーザインタフェース（ＧＵＩ）、シェルユーザインタフェース（ＳＵＩ）又はテストプログラムなどの何れのクライアントからの要求に対しても応答する。何れのクライアントからの適切な要求にも応答して、ＡＰＩ４７は、被測定デバイスに対するＥＴＡファイルを選択し、テストコンフィグレーションファイルを作成、ロード又はセーブし、テストコンフィグレーションファイルを修正し、指定された欠陥回路ブロックを診断する。
（ユーザインタフェース）
【００７６】
好適には、本発明は、ユーザインタフェースを提供し、これにより、ＥＴＡサーバの機能に対するユーザのアクセスを可能とすることによって、テストコンフィグレーションファイルの開発を容易にする。より具体的には、ユーザインタフェースは、ＥＴＡファイルとテストコンフィグレーションファイルとの双方を読み取り、コンピュータ表示デバイス上でこれら双方のファイルからの情報を表示するように設計されている。図７に、グラフィカルユーザインタフェース５４のメインウィンドウを示す。このウィンドウには、被測定デバイス中のロジックテストコントローラの各々を表すアイコン８２を図形で示すボックス８０が含まれている。図中の例には、ロジックテストコントローラとメモリテストコントローラとが含まれている。このテストコントローラを選択して、ウィンドウの中心部分にあるテストコンフィグレーションボックス８４中にドラッグすることが可能である。テストコンフィグレーションは、テストステップとテストされる特定のモジュールとを含む、「ｇｒｏｕｐ＿ｍｅｍｏｒｙ」と呼ばれるテストグループを示す。テストコンフィグレーションボックスの右には、ボタン８６、８８及び９０がそれぞれテストグループ、テストステップ及びテストコントローラ追加用に装備されている。このウィンドウは、出力ファイルとログファイルとを含むデバイスファイルを表示し、そのロケーションを指定する手段９２となる。「実行」ボタン９４は、テストを実行するために、また、「診断」ボタン９６が、テスト結果を診断するために装備されている。診断結果は、ボックス９８中に表示される。「セーブ」ボタン１００が、テストコンフィグレーションをファイルにセーブするために装備されている。ユーザがセーブオプションを選択すると、プログラムは、ＡＳＣＩＩフォーマットで、全てのテスト規格をユーザが指定したテストコンフィグレーションファイル５０に、テストコンフィグレーションボックスに図示されたシーケンスで書き込み、また、テストコンフィグレーション中に指定された各特定のテストコントローラに対するパラメータ指定ウィンドウ中に指定されているランタイムパラメータの全てを含む。
【００７７】
ユーザインタフェースは、本システムによって処理されるテストコントローラタイプと関連すると考えられるパラメータの全てを表示して編集する手段ともなる。図８に、選択されたロジックテストコントローラと関連する「アドバンスト」パラメータを指定するテストステップウィンドウを示す。類似のウィンドウが、他の全てのタイプのテストコントローラに対しても装備されているが、パラメータは異なる。さらに、ユーザインタフェースは、所望次第で、どのようなＡＴＥプログラムでも呼び出すボタン又は他の手段を備えてもよく、インタフェースがテスタを直接に制御することを可能とする。
【００７８】
ユーザインタフェースウィンドウのコンテンツ及びレイアウトは、本発明の精神から逸脱することなく修正し得ることが理解されるであろう。
【００７９】
図９及び１０に、それぞれメモリテストコントローラとロジックテストコントローラとに対する診断オプションを指定するのに用いられるウィンドウを示す。類似のウィンドウが、本システムによって処理される他の全てのタイプのテストコントローラにも装備されている。図示されるウィンドウは、図示だけを目的とし、テストコントローラとテスト規格と関連すると考えられる全てのオプションとパラメータとを完全に、そして、総体的に示すことを意図するものではないことが理解されるであろう。
【００８０】
図１１に、本システムの様々なコンポーネント同士間のインタフェースと多くの機能とを示す。
【００８１】
本発明は、個別のデバイスのテストに制限されるものではないことが当業者には理解されるであろう。実際、本出願は、本発明が基板やシステムのテストに対しても等しく良好に適用されることを意図している。このような応用分野では、ＥＴＡサーバは、テストされる各ボード及び／またはシステム上の各チップと関連するＥＴＡファイルを記憶する。ＧＵＩは、基板又はシステム中の選択された基板上の全てのチップを選択して表示する手段、基板を選択する手段、選択された基板上のチップを選択する手段、選択されたチップ上でテストコントローラを表示して選択する手段及び、テストステップとテストグループとを作成編集して実行し、ボード又はシステムのテストコンフィグレーションファイルを前述した手段でセーブする手段となる。
（ＡＴＥソフトウェア統合）
【００８２】
図６に、ＥＴＡソフトウェアがＡＴＥソフトウェアプラットフォーム中に統合される様子を示す。高レベル命令セットライブラリは、ユーザテストプログラムとインタフェースライブラリ５６との間で通信を確立する。インタフェースライブラリ５６は、ランタイムライブラリと通信し、また、ＥＴＡサーバとも前述したような手段で通信する。本発明の開発の際の考慮により、埋込テストアクセス機能を、ユーザテストプログラムに対して、インパクトを最少に抑えて提供している。高レベル命令セットは、ユーザテストプログラムを埋込テストサーバインタフェースから絶縁する使用しやすい命令となっている。ランタイムライブラリは、埋込テストサーバインタフェースに直接アクセスし、これにより、データログモードにおける障害報告などの自動機能を提供している。
【００８３】
テストプログラム開発者は、グラフィカルユーザインタフェース５４とＡＴＥデバッグ環境との組み合わせを用いて、テストプログラムを作成する。ＧＵＩを用いて、テストエンジニアは、被測定デバイスの機能を保証するために必要とされるパターンの最適なセットを見つける。ＡＴＥ環境に内蔵された命令セットによって、本システムは、次のことを実行するコードを書き込む。
【００８４】
●埋込テストＡＴＥライブラリに接続する。
【００８５】
●被測定デバイスのテストコンフィグレーションデータをＥＴＡサーバから要求する。
【００８６】
●テストベクトルをＥＴＡサーバから受信する。
【００８７】
●テストベクトルをテストパターンに変換する。
【００８８】
●テストパターンをテスタのパターンメモリ中にロードする。
【００８９】
プロダクトサポートエンジニアによって指定された障害判断基準によってテストプログラムから自動的にコールすることが可能な診断ルーチンが提供されている。テストフロアスタッフが、テストプログラムを、テスト製造フロー中の他の全てのプログラムと同様にロードする。起動されると、テストプログラムは、自動的にＥＴＡサーバに接続し、被測定デバイスを識別し、関連のパターンをロードし、これによりテストの準備ができる。
【００９０】
プロダクトサポートエンジニアは、デバイスの性能を監視する。製造の流れに関するより詳細な情報を、テストエンジニアによって書かれた診断ルーチンをイネーブルにすることによって得ることが可能である。個別の部品に対する故障解析は、ユーザインタフェースＧＵＩを用いて得ることが可能である。これらのツールを用いて、テストプログラムの性能を、生産に対してさらに最適化することが可能である。
【００９１】
本発明のさらなる態様は、ワークステーションを、直接に被測定デバイスとデバイスをテストする関連手段とに接続することを可能とするシステムに関連する。図１２及び１３に示すように、高速デバイス１１０は、ＥＴＡソフトウェアを装備され、また、５ピンの低速ケーブル１１２で標準のロード基板上にマウントされた被測定デバイスのＪＴＡＧピンに接続されている。このデバイスは、ＡＴＥテスタ３４によって、従来の方式で電力を供給され、クロック信号を供給される。デバイス１１０は、ＡＴＥワークステーション１１６の、双方向入／出力パラレル又はシリアルポートなどの通信ポート１１４と接続されている。デバイス１１０中のソフトウェアは、ＡＴＥライブラリ４６と通信するパラレルポートドライバ１１８などの適切なポートドライバとポート１１４とを含む。
【００９２】
同図は、ＡＴＥの標準的な部分を形成するソフトウェアを実行するテストプログラムを表示している。本発明のＥＴＡソフトウェアは、ソフトウェアを実行するテストプログラムに、ソフトウェアリンクによって接続されている。このリンクは、任意のＡＴＥ環境下にある任意のテストプログラムにも含むことが可能であるカスタムコードで書かれ、これは、「ユーザ機能」と呼ばれる。ユーザ機能は、ＡＴＥソフトウェア環境が直接にはサポートしていないなんらかの必要性が生成した場合に所与のＡＴＥソフトウェアプラットフォームの機能を完備するために、従来はＡＴＥシステム中に提供されていた。
【００９３】
これらのユーザ機能は、テストエンジニアによってネイティブＡＴＥソフトウェア言語、通常はＣ言語、で書かれ、また、実行可能なテストプログラム中にリンクされる。ユーザ機能を用いて、ワークステーション上のＥＴＡサーバに対する通信チャネル（ＲＰＣ）をオープンするようにしてもよい。このチャネルを用いて、テストプログラムだけにコールしてその結果を受信するようにしてもよい。次に、別の通信チャネルをオープンし、そのアドレスが、第１のチャネルを介してＥＴＡサーバに送られる。このようにして、ＥＴＡサーバは、必要次第で、テストプログラムをコールするハンドルを有する。
【００９４】
テストプログラムとＥＴＡサーバとの間で通信を確立するユーザ機能のための疑似コードは、以下の通りである。
2004509425.tif 000003
【００９５】
ＥＴＡソフトウェアは、ポートを介してデバイスを占有し、これにアクセス、又は、これを診断する。
【００９６】
テストプログラムプロセスとＥＴＡサーバとの間に通信が確立されると、これらは双方とも、互いに要求を行うことができる。他のユーザ機能もまた、ＥＴＡサーバからの要求に基づいて様々なユーザテストステップに応答してこれを実行するように書かれる。これらのユーザ機能は、ライブラリ中にコンパイルすること、又は、各ＡＴＥプラットフォームのソースコードとして供給することが可能である。
【００９７】
記述したＥＴＡユーザインタフェースに対する性能強化や修正は、図１２及び１３に示す実施形態で動作するには全く不必要である。
【００９８】
本実施形態には、多くの利点がある。本実施形態は、旧式の完全自動ＡＴＥ上に容易にインストールされ、これによって、ユニットをグレードアップする必要なく、本発明を既存の装置に採用することが可能となる。これは、低価格の混合信号ＡＴＥを含む、ユーザが選んだテスタにインストールすることも可能である。
【００９９】
上記から理解されるように、本発明は、完全な埋込テスト関連のテストフローをサポートするコンピュータプログラムプロダクト及びシステムを提供する。本システムは、設計環境内における埋込テストブロックの自動的な作成及び統合並びに、製造テスト環境内での埋込テストの自動的なアクセス及び制御をサポートする。これによって、設計環境からの埋込テスト関連情報が製造環境にシームレスに転送され、これで、生産ｇｏ／ｎｏ−ｇｏテスト実行用の埋込テストの自動的制御、生産データログ、さらに、アドバンスト故障診断が可能となる。本システムは、今までは製造テストの場合に必要であったバッチ指向のテストパターン生成のいかなる必要性をも解消し、また、たとえ解消されなくても、テストエンジニアが設計コミュニティに依存する程度を軽減するものである。
【０１００】
本発明の好ましい実施形態は、何れのＡＴＥテスタプラットフォームでも動作するように設計されたシステムであるとはいえ、本発明は、この実施形態に制限されるように解釈されるべきでないことが理解されるであろう。事実、設計環境下と製造テスト環境下との双方においてアクセス可能な埋込テストＩＰアクセスデータファイルを生成するシステムを提供することにはかなり利点がある。したがって、特定のＡＴＥテスタシステム用に様々な機能が設計されている、すなわち、本書に記載のライブラリの一部が不必要となることを意味する、実施形態を提供することは本発明の範囲に含まれる。
【０１０１】
本発明を、本発明の好ましい実施形態と図面とを参照して詳細に説明したが、本発明の精神と範囲とから逸脱することなく、様々な応用、修正及び変更が遂行できることが当業者には明らかであろう。したがって、今まで記載した添付図面は、前述のクレームと適切に解釈された法的な等価物からしか推察すべきでない本発明の範囲を制限する意図はないことを理解すべきである。
【図面の簡単な説明】
【図１】
本発明の実施形態のシステムアーキテクチャのフローを示すブロック図である。
【図２】
本発明の実施形態のテストコンフィグレーションファイルの一般的な構造と構文を示す図である。
【図３】
本発明の実施形態の埋込テストコントローラアクセスシステムのライブラリレベルのアーキテクチャを示すブロック図である。
【図４】
本発明の実施形態のテストパターンの生成フローを示すブロック図である。
【図５】
本発明の実施形態の障害データログフローを示すブロック図である。
【図６】
本発明の実施形態のＡＴＥソフトウェアプラットフォームアーキテクチャを示すブロック図である。
【図７】
本発明の実施形態のグラフィカルユーザインタフェースのメインウィンドウの図である。
【図８】
本発明の実施形態のメモリテストコントローラのアドバンストランタイムオプションを指定する際に用いられるグラフィカルユーザインタフェースのウィンドウを示す図である。
【図９】
本発明の実施形態の、メモリテストコントローラの診断オプションを指定する際に用いられるグラフィカルユーザインタフェースのウィンドウの図である。
【図１０】
本発明の実施形態のロジックテストコントローラの診断オプションを指定する際に用いられるグラフィカルユーザインタフェースのウィンドウの図である。
【図１１】
本発明の実施形態の埋込テストアクセスサーバと、クライアントソフトウェア及びＡＴＥソフトウェアの環境と、のより高次のブロックダイアグラムと、プログラムプロダクトの複数の機能を実行することにより生じるデータフローと、を示す。
【図１２】
本発明の実施形態における、ＡＴＥテスタのテスタヘッドにマウントされている被測定デバイスのＪＴＡＧピンに直接接続されている、本発明のプログラムプロダクトがロードされる、コンピュータシステムを示す。
【図１３】
本発明の実施形態における、ＡＴＥテスタのテスタヘッドにマウントされている被測定デバイスのＪＴＡＧピンに直接接続されている、本発明のプログラムプロダクトがロードされる、コンピュータシステムを示す。
【図１】
2004509425.tif 000004
【図３】
2004509425.tif 000005
【図４】
2004509425.tif 000006
【図５】
2004509425.tif 000007
【図６】
2004509425.tif 000008
【図７】
2004509425.tif 000009
【図１１】
2004509425.tif 000010
【図１２】
2004509425.tif 000011
【国際公開パンフレット】
2004509425.tif 000012
2004509425.tif 000013
2004509425.tif 000014
2004509425.tif 000015
2004509425.tif 000016
2004509425.tif 000017
2004509425.tif 000018
2004509425.tif 000019
2004509425.tif 000020
2004509425.tif 000021
2004509425.tif 000022
2004509425.tif 000023
2004509425.tif 000024
2004509425.tif 000025
2004509425.tif 000026
2004509425.tif 000027
2004509425.tif 000028
2004509425.tif 000029
2004509425.tif 000030
2004509425.tif 000031
2004509425.tif 000032
2004509425.tif 000033
2004509425.tif 000034
2004509425.tif 000035
2004509425.tif 000036
2004509425.tif 000037
2004509425.tif 000038
2004509425.tif 000039
2004509425.tif 000040
2004509425.tif 000041
2004509425.tif 000042
2004509425.tif 000043
2004509425.tif 000044
2004509425.tif 000045
2004509425.tif 000046
2004509425.tif 000047
2004509425.tif 000048
2004509425.tif 000049
2004509425.tif 000050
2004509425.tif 000051
2004509425.tif 000052
2004509425.tif 000053
2004509425.tif 000054
2004509425.tif 000055
2004509425.tif 000056
2004509425.tif 000057
2004509425.tif 000058
2004509425.tif 000059
2004509425.tif 000060
2004509425.tif 000061
2004509425.tif 000062
2004509425.tif 000063
2004509425.tif 000064
2004509425.tif 000065
2004509425.tif 000066
2004509425.tif 000067
2004509425.tif 000068
2004509425.tif 000069
2004509425.tif 000070
2004509425.tif 000071
2004509425.tif 000072
2004509425.tif 000073
2004509425.tif 000074
2004509425.tif 000075
2004509425.tif 000076
2004509425.tif 000077
2004509425.tif 000078
2004509425.tif 000079
2004509425.tif 000080
2004509425.tif 000081
2004509425.tif 000082
2004509425.tif 000083
2004509425.tif 000084
2004509425.tif 000085
2004509425.tif 000086
2004509425.tif 000087
【国際公開パンフレット（コレクトバージョン）】
2004509425.tif 000088
2004509425.tif 000089
【国際調査報告】
2004509425.tif 000090
2004509425.tif 000091
2004509425.tif 000092
2004509425.tif 000093