(57)【要約】  少なくともそれぞれのバッファメモリを含む複数のポート処理ユニットと、被テストデバイスの少なくとも１つと接続するためのそれぞれの高速入出力（ＨＳＩＯ）インタフェースとを備える、１または複数の被テストデバイスをテストするための自動試験装置。ポート処理ユニットは、データを受信し、受信データをそれぞれのバッファメモリに格納し、接続された１または複数の被テストデバイスをテストするためのそれぞれのＨＳＩＯインタフェースを介して、接続された被テストデバイスのうち１または複数に、それぞれのバッファメモリに格納されたデータを提供するよう構成される。１または複数の被テストデバイスの自動試験のための方法およびコンピュータプログラムも記載される。
2021520001.tif 000002
【特許請求の範囲】
【請求項１】
１または複数の被テストデバイスをテストするための自動試験装置であって、前記自動試験装置は、
それぞれのバッファメモリと、
前記１または複数の被テストデバイスの少なくとも１つに接続するためのそれぞれの高速入出力インタフェース（ＨＳＩＯインタフェース）と
を少なくとも含む複数のポート処理ユニットを備え、前記複数のポート処理ユニットは、
データを受信し、
受信された前記データをそれぞれの前記バッファメモリに格納し、
接続された前記１または複数の被テストデバイスをテストするために、それぞれの前記ＨＳＩＯインタフェースを介して、それぞれの前記バッファメモリに格納された前記データを、接続された前記１または複数の被テストデバイスのうち１または複数に提供する
よう構成される、自動試験装置。
【請求項２】
それぞれの前記バッファメモリは、それぞれの前記高速入出力インタフェース（ＨＳＩＯインタフェース）によって、ローカルメモリとしてアクセス可能である、請求項１に記載の自動試験装置。
【請求項３】
前記自動試験装置は、共有メモリプールを含むデータ格納部を更に備え、
前記複数のポート処理ユニットは更に、前記共有メモリプールから共有データを受信するよう構成される、請求項１または２に記載の自動試験装置。
【請求項４】
前記データ格納部は更に、共有データを前記複数のポート処理ユニットおよび／またはメモリハブのうち１または複数にストリーミングするよう構成される、請求項３に記載の自動試験装置。
【請求項５】
前記データ格納部は更に、デバイスごとの結果データを複数のメモリ領域に格納するよう構成される、請求項３または４に記載の自動試験装置。
【請求項６】
前記複数のポート処理ユニットのうち１または複数は更に、前記共有メモリプールから少なくとも１つの他のポート処理ユニットに共有データを転送するよう構成される、請求項３から５のいずれか一項に記載の自動試験装置。
【請求項７】
前記複数のポート処理ユニットのうち１または複数は、少なくとも１つの他のポート処理ユニットから共有データを受信するよう構成される、請求項３から６のいずれか一項に記載の自動試験装置。
【請求項８】
前記複数のポート処理ユニットのうち１または複数は、デイジーチェーンを形成し、共有データを前記共有メモリプールから連続的に転送する、請求項３から７のいずれか一項に記載の自動試験装置。
【請求項９】
前記複数のポート処理ユニットの１または複数は、メモリハブから共有データを受信するよう構成される、請求項３から８のいずれか一項に記載の自動試験装置。
【請求項１０】
共有データの受信と、接続された１または複数の被テストデバイスをテストするための前記共有データの使用との間のタイムシフトを可能にするべく、前記複数のポート処理ユニットは、バッファリングメモリおよび／または１または複数のキャッシュを含む、請求項３から９のいずれか一項に記載の自動試験装置。
【請求項１１】
前記複数のポート処理ユニットの少なくとも１つは更に、インタフェースを介して、前記共有データに基づくテスト情報を被テストデバイスに提供し、前記被テストデバイスへの前記テスト情報の伝達のタイミングに応じて、前記被テストデバイスを特性評価するよう構成される、請求項３から１０のいずれか一項に記載の自動試験装置。
【請求項１２】
前記被テストデバイスへのテスト情報の伝達が、前記複数のポート処理ユニットのそれぞれによる共有データの受信から、予め定められた時間より多く遅れた場合、前記少なくとも１つのポート処理ユニットは、被テストデバイスを不良として特性評価するよう構成される、請求項１１に記載の自動試験装置。
【請求項１３】
前記複数のポート処理ユニットは更に、デバイスごとの結果データを取得し、前記デバイスごとの結果データを前記データ格納部へ転送するよう構成される、請求項３から１２のいずれか一項に記載の自動試験装置。
【請求項１４】
前記複数のポート処理ユニットは更に、前記共有データに基づく予期データを使用して前記デバイスごとの結果データを取得するよう構成される、請求項１３に記載の自動試験装置。
【請求項１５】
スターアーキテクチャで、複数のポート処理ユニットを前記データ格納部に結合するよう構成されるメモリハブを更に備える、請求項３から１４のいずれか一項に記載の自動試験装置。
【請求項１６】
前記メモリハブは、異なるポート処理ユニットへの共有データの非同時転送を可能にするために、バッファリングメモリおよび／または１または複数のキャッシュを含む、請求項１５に記載の自動試験装置。
【請求項１７】
前記データ格納部は更に、前記複数のポート処理ユニットに提供される前記共有データ、および、デバイスごとの結果データのための個別のインタフェースを含む、請求項３から１６のいずれか一項に記載の自動試験装置。
【請求項１８】
前記データ格納部は、前記複数のポート処理ユニットへの共有データの提供に干渉することなく、デバイスごとの結果データにアクセスするよう構成されるメモリインタフェースを含む、請求項３から１７のいずれか一項に記載の自動試験装置。
【請求項１９】
前記複数のポート処理ユニットは更に、受信された前記データにおけるコマンドエラーを検出するよう、および、受信された前記データを、予めロードされた予期データと比較するよう構成されるストリーミングエラー検出ブロックを含み、前記予期データは好ましくはマスクデータを含む、請求項１から１８のいずれか一項に記載の自動試験装置。
【請求項２０】
前記自動試験装置は好ましくは、関連する、接続された１または複数のデバイスによるデータ使用をトラッキングするよう構成される、接続された前記１または複数のデバイスに関連するデバイスごとのＦＩＦＯメモリ、または、管理キャッシュに前記予期データを予めロードするよう、および、前記データを破棄するよう更に構成され、前記自動試験装置は特に、好ましくは、前記データ使用のトラッキングに基づいて、特定の被テストデバイスがデータストリームに従わないという検知に応答して、前記特定の被テストデバイスを不良として認識するよう更に構成される、請求項１９に記載の自動試験装置。
【請求項２１】
前記自動試験装置は、圧縮された形式でデータをメモリに格納するよう更に構成され、
前記圧縮は好ましくは、標準的データ圧縮、またはテスト固有の形式である、請求項１９または２０に記載の自動試験装置。
【請求項２２】
予期されるエラー分布に一致するように前記圧縮を動的に調整するよう更に構成される、請求項２１に記載の自動試験装置。
【請求項２３】
前記自動試験装置は、受信されたデータストリームの近くに不良である可能性がある受信データを維持するよう構成される、請求項２１または２２に記載の自動試験装置。
【請求項２４】
前記ストリーミングエラー検出ブロックは更に、不良の解析に関連する統計情報を格納するよう構成される、請求項１９から２３のいずれか一項に記載の自動試験装置。
【請求項２５】
データを受信する段階と、
受信された前記データを格納する段階と、
格納された前記データを被テストデバイスのうち１または複数に提供する段階と
を備える、１または複数の被テストデバイスの自動試験のための方法。
【請求項２６】
処理デバイスのためのコンピュータプログラムであって、前記コンピュータプログラムが前記処理デバイスで実行されるとき、請求項２５に記載の方法の段階を実行するためのソフトウェアコード部分を含む、コンピュータプログラム。
【請求項２７】
前記処理デバイスは、前記ソフトウェアコード部分が格納されるコンピュータ可読媒体を備え、前記コンピュータプログラムは、前記処理デバイスの内部メモリに直接ロード可能である、請求項２６に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明による実施形態は、１または複数の被テストデバイスをテストするための自動試験装置に関連する。
【０００２】
本発明の更なる実施形態は、１または複数の被テストデバイスの自動試験のための方法に関連する。
【０００３】
本発明による更なる実施形態は、それぞれのコンピュータプログラムに関連する。
【０００４】
本発明の実施形態は、特に、高速入出力インタフェース（ＨＳＩＯ）を介して、被テストデバイス（ＤＵＴ）からデータを受信し、ＨＳＩＯを介してデータをＤＵＴに供給することであるデバイスのテストに関連する。
【背景技術】
【０００５】
以下において、いくつかの従来の解決手段の導入を提供する。 
【０００６】
自動試験装置（ＡＴＥ）は、自動化を使用して迅速に測定を実行しテスト結果を評価する、被テストデバイス（ＤＵＴ）として知られているデバイスに対してテストを実行する任意の機器である。ＡＴＥは、高度な電子パッケージ部品における障害を自動的にテストおよび診断すること、または、システムオンチップおよび集積回路を含むウェハ上テストが可能な、単純なコンピュータ制御デジタルマルチメータ、または、数十個の複雑なテスト計器（実物の、またはシミュレートされた電子テスト装置）を含む複雑なシステムであり得る。
【０００７】
構造テストは、システムオンチップ（ＳＯＣ）内にデジタルブロックの複雑な機能を実装する個別の構造、いわゆるセルの系統的テストカバレッジを可能にする。構造テストは、これらに限定されないが、メモリ組み込み自己テスト（ＢＩＳＴ）、ロジックＢＩＳＴ（パターンがオンチップで生成される）、およびスキャンテスト（パターンが外部から提供される）を含む、様々なテスト方法を含む。ブロックをテストするために個別テストが組み合わされる。例えば、スキャンテストが階層的に（直列または並列に）ブロックに適用される。
【０００８】
高度な構造テスト方法は、外部から提供されるテストデータ（自動試験装置（ＡＴＥ）からの刺激）、および、外部から提供されるテストデータ（いわゆるシード）を拡大するオンチップテスト用デバイス（ＤＦＴ）の組み合わせをスキャンチェーンに適用する。テストデータの量を低減するために、テスト結果は縮小化および圧縮され、ＳＯＣの一次入出力インタフェース（ＩＯ）に提供される。このデータは受信データと称され、ＡＴＥによって予期データと比較される。受信データはまた、ＡＴＥによってマスキングされ得る。 
【０００９】
テスト用設計またはテスト可能設計と称されることもあるＤＦＴは典型的には、ハードウェア製品設計またはデバイス、すなわちＤＵＴにテスト可能性の特徴を追加する集積回路設計技法から成る。この追加される特徴により、テストを開発し、ＤＵＴに適用することが容易になる。 
【００１０】
以下では、上述の構造テストの一般的な表現であるスキャンテストに言及する。
【００１１】
しかしながら、新しい作製処理によって可能となるＳＯＣの複雑性の増加により、スキャンテストを費用効果が高い方法でスケーリングすることには課題がある。
【００１２】
１つの課題は、ＡＴＥに格納する必要があるテストデータ量の増大である。別の課題は、ＳＯＣ  ＩＯを通じてテストデータを供給するテスト時間の増大である。また、オンチップの複雑性の増加により、被テストブロックにテストデータを配布すること、および、必要なクロック信号を生成することに課題がある。
【００１３】
加えて、ＳＯＣが最終用途、例えば、自動車または通信インフラストラクチャシステムに配備されるとき、複雑なＳＯＣの品質および信頼性の予期は、構造テストを必要とする。
【００１４】
この状況に鑑み、自動試験装置を用いて被テストデバイスをテストするとき、格納されるデータと、処理の速度および品質と、テストの信頼性との間の妥協の改善を提供する概念に対する需要がある。
【発明の概要】
【００１５】
本発明による一実施形態は、１または複数の被テストデバイスをテストするための自動試験装置である。
【００１６】
自動試験装置は複数のポート処理ユニットを含む。
【００１７】
ポート処理ユニットは少なくとも、それぞれのバッファメモリ、および、被テストデバイスの少なくとも１つと接続するためのそれぞれの高速入出力（ＨＳＩＯ）インタフェースを含み、データを受信し、受信データをそれぞれのバッファメモリに格納し、接続された１または複数の被テストデバイスをテストするためのそれぞれのＨＳＩＯインタフェースを介して、それぞれのバッファメモリに格納されたデータを、接続された被テストデバイスのうち１または複数に提供する。 
【００１８】
ポート処理ユニットが受信するデータは、共有データ、例えば、複数のポート処理ユニットの間で共有されるデータ、例えば、テストのためのＤＵＴに送信するために使用される共有刺激データであり得る。データは例えば、場合によっては別のポート処理ユニットを介して、共有メモリプールから、または、別のポート処理ユニットから受信され得る。
【００１９】
例えば、共有メモリプールからの共有データに基づいて、ＨＳＩＯまたは別のインタフェースであり得るインタフェースを介してテストデータまたはテストプログラムを被テストデバイスに提供するために、共有され得るデータは、ＤＵＴに提供され得る。 
【００２０】
代替的に、共有メモリプールからの共有データに基づいて、被テストデバイスにテスト信号を提供するために、データはＤＵＴに提供され得る。 
【００２１】
代替的に、共有データに基づいて、デバイス被テストからの予期される信号または予期される結果を定義するために、データはＤＵＴに提供され得る。
【００２２】
また、１または複数のＤＵＴに提供されるデータは、上記で詳述される選択肢の組み合わせであり得るので、上記の任意の組み合わせが可能である。
【００２３】
ＨＳＩＯインタフェースとは、高速通信のために設計されたインタフェースを指す。例の非包括的なリストとして、ＵＳＢ、ＰＣＩｅ、ＳＡＴＡ、ギガビットＬＡＮが挙げられる。被テストデバイス（ＤＵＴ）は例えば、システムオンチップ（ＳＯＣ）であり得る。
【００２４】
この実施形態は、被テストデバイスをテストするには、ＡＴＥとＤＵＴとの間の両方の方向でのデータ伝送が必要であるという考えに基づく。これらの伝送の一部はＨＳＩＯを介して送信される。 
【００２５】
自動試験装置の好ましい実施形態において、それぞれのバッファメモリは、それぞれの高速入出力（ＨＳＩＯ）インタフェースによって、ローカルメモリとしてアクセス可能である。
【００２６】
ポート処理ユニットのそれぞれのバッファメモリがそれぞれの高速入出力（ＨＳＩＯ）インタフェースによってローカルメモリとしてアクセス可能であり、それにより、メモリアドレスの不必要な変換を回避する場合、有益であることが分かった。ＨＳＩＯを介してメモリコンテンツをアドレス指定する１つの選択肢として、ダイレクトメモリアクセス（ＤＭＡ）を介することが挙げられる。それぞれのバッファメモリは、このように、ローカルメモリとしてＨＳＩＯに結合される。 
【００２７】
自動試験装置の好ましい実施形態において、ＡＴＥは更に、共有メモリプールを含むデータ格納部を備え、ポート処理ユニットは更に、共有メモリプールから共有データを受信する。
【００２８】
上記で示されるように、ポート処理ユニットの間でデータを共有できることは有益であることが分かった。データを共有するべく、ＡＴＥは、共有データ、例えば、複数のポート処理ユニットの間で共有されるデータ、例えば、ＤＵＴのテストのための共有刺激データを格納するための共有メモリプールを有し、ポート処理ユニットは、例えば、共有メモリプールから受信されたデータでバッファを満たすために、共有メモリプールから共有データを受信する。
【００２９】
自動試験装置の好ましい実施形態において、データ格納部は更に、ポート処理ユニットの１または複数に、および／または、メモリハブに共有データをストリーミングする。
【００３０】
ＡＴＥのアーキテクチャは、専用メモリを有するポート処理ユニットを備え得るが、全体的な効率を強化するためにメモリハブも採用され得ることが分かった。
【００３１】
自動試験装置の好ましい実施形態において、データ格納部は更に、デバイスごとの結果データを複数のメモリ領域に格納する。
【００３２】
ＡＴＥは、結果または結果のストリームをデバイスごとに格納し得、それらは例えば、ポート処理ユニットによって異なるメモリ領域に提供され得ることが分かった。このことは有益であり得る。なぜなら、ＤＵＴごとの結果データのデータレートは互いに異なり得る、例えば、別の結果または結果ストリームのデータレートより、例えば少なくとも１０倍小さいからである。また、結果を格納するのに必要なボリュームおよび帯域幅は、共有刺激データより大幅に小さい。
【００３３】
自動試験装置の好ましい実施形態において、ポート処理ユニット（ＰＰＵ）の１または複数は更に、共有データを共有メモリプールから少なくとも１つの他のポート処理ユニットに転送する。
【００３４】
ＰＰＵが互いの間でデータを送信できることは有益であることが分かった。このように、共有メモリプールの負荷を小さくすることができるように、共有メモリプールから共有データを受信した１つのＰＰＵは、別のＰＰＵにデータを転送し得る。 
【００３５】
自動試験装置の好ましい実施形態において、ポート処理ユニットの１または複数は、少なくとも１つの他のポート処理ユニットから共有データを受信するよう構成される。
【００３６】
ＰＰＵが互いの間でデータを送信できることは有益であることが分かった。このように、共有メモリプールの負荷を小さくできるように、１つのＰＰＵは、共有メモリプールから共有データを受信した別のＰＰＵから共有データを受信できる。
【００３７】
自動試験装置の好ましい実施形態において、複数のポート処理ユニットのうち１または複数は、デイジーチェーンを形成して、共有メモリプールから共有データを連続的に転送する。
【００３８】
ＰＰＵとの間で共有データをそのように転送および受信するための一手段は、ＰＰＵからデイジーチェーンを形成することによって実現され得ることが分かった。
【００３９】
自動試験装置の好ましい実施形態において、複数のポート処理ユニットの１または複数は、メモリハブから共有データを受信するよう構成される。
【００４０】
代替的に、ＰＰＵはまた、メモリハブから共有データを受信し得ることが分かった。また、メモリハブが１つより多くのＰＰＵに共有データを提供する場合、中央メモリハブとみなされ得る。
【００４１】
自動試験装置の好ましい実施形態において、共有データの受信と、接続された１または複数の被テストデバイスをテストするための共有データの使用との間のタイムシフトを可能にするべく、ポート処理ユニットは、バッファリングメモリおよび／または１または複数のキャッシュを含む。
【００４２】
バッファリングメモリ、例えば、先入れ先出し（ＦＩＦＯ）メモリは、遅延を低減し、要求されたデータをより多く提供して、処理を高速化するのに役立ち得ることが分かった。同様に、処理中の停止を低減し、事実上同時により多くのデータがＰＰＵによる使用のために利用可能になるように、キャッシュが採用され得る。
【００４３】
自動試験装置の好ましい実施形態において、ポート処理ユニットの少なくとも１つは更に、インタフェースを介して、共有データに基づくテスト情報を被テストデバイスに提供し、被テストデバイスへのテスト情報の伝達のタイミングに応じて、被テストデバイスを特性評価する。
【００４４】
ＰＰＵは、インタフェース、例えばＨＳＩＯを介して、共有データに基づいて、テスト情報、例えば、テストプログラムまたはテストデータをＤＵＴに提供できることが分かった。また、ＰＰＵは更に、被テストデバイスを特性評価する。例えば、テスト情報が被テストデバイスに伝達されるタイミングに基づいて、ＤＵＴタイプを決定する、および／または、ＤＵＴを識別する。そのために、テスト情報を伝達するタイミングは、被テストデバイスによって決定または影響される。なぜなら、例えば、被テストデバイスは、例えばマスターデバイスとしてインタフェースを制御する、または、被テストデバイスはスレーブデバイスとして伝達を遅延する、または、割り込み得るからである。
【００４５】
自動試験装置の好ましい実施形態において、被テストデバイスへのテスト情報の伝達が、それぞれのポート処理ユニットによる共有データの受信から、予め定められた時間より多く遅れた場合、ポート処理ユニットの少なくとも１つは、被テストデバイスを不良として特性評価するよう構成される。
【００４６】
ＡＴＥの全体的な性能を改善するべく、ＤＵＴとの間のデータ伝送が特定の時間的閾値を超える場合、すなわち、ＡＴＥとＤＵＴとの通信が、予め定められたタイムフレーム内に実行または完了できない場合、ＰＰＵは、ＤＵＴを不良として特性評価する、または識別する、すなわち、ＤＵＴは機能不全であると決定することが分かった。予め定められたタイムフレームは例えば、ユーザ指定、デバイス固有、またはテスト固有であり得る。
【００４７】
自動試験装置の好ましい実施形態において、ポート処理ユニットは更に、デバイスごとの結果データを取得し、デバイスごとの結果データをデータ格納部に転送する。
【００４８】
ＰＰＵがデバイスごとに、すなわちＤＵＴごとの結果データ、例えば結果ストリームまたは不良データを取得し、デバイスごとの結果データ、例えば、ＤＵＴごとの結果ストリームまたはＤＵＴごとの不良データをデータ格納部に転送する場合、全体的なＡＴＥ通信は改善され得ることが分かった。
【００４９】
自動試験装置の好ましい実施形態において、ポート処理ユニットは更に、共有データに基づく予期データを使用してデバイスごとの結果データを取得する。
【００５０】
ＰＰＵがデバイスごとの結果データ、例えば、予期データを使用して、ＤＵＴごとの結果ストリームまたはＤＵＴごとの不良データを取得する場合、全体的なＡＴＥのデータ処理は改善し得ることが分かった。ここで、予期データは共有データに基づく。 
【００５１】
自動試験装置の好ましい実施形態において、ＡＴＥは、複数のポート処理ユニットをスターアーキテクチャでデータ格納部と結合するためのメモリハブを含む。
【００５２】
スターアーキテクチャは、ＰＰＵのためのデータ格納部または共有メモリプールとして機能するメモリハブを実装するための実現可能な選択肢であることが分かった。
【００５３】
自動試験装置の好ましい実施形態において、共有データを異なるポート処理ユニットへ非同時に転送することを可能にするべく、メモリハブは、バッファリングメモリおよび／または１または複数のキャッシュを含む。
【００５４】
バッファリングメモリ、例えば、先入れ先出し（ＦＩＦＯ）メモリは、遅延を低減し、処理を高速化するために要求されたデータをより多く提供するのに役立ち得ることが分かった。同様に、処理中の停止を低減し、事実上同時により多くのデータがメモリハブによる使用のために利用可能になるように、キャッシュが採用され得る。 それにより、バッファリングメモリまたはキャッシュにおいてより多くの共有データを保持することによって、共有メモリプールまたはデータ格納部への複数の読み出しアクセス無しで、関連するデータが異なる時間に異なるＰＰＵへ転送され得る。
【００５５】
自動試験装置の好ましい実施形態において、データ格納部は更に、ポート処理ユニットに提供される共有データ、および、デバイスごとの結果データのための個別のインタフェースを含む。
【００５６】
個別のインタフェースを使用して、共有データをＰＰＵに提供し、デバイスごとの結果を提供することによって、ＡＴＥの全体的な性能が改善され得ることが分かった。
【００５７】
自動試験装置の好ましい実施形態において、データ格納部は、ポート処理ユニットへの共有データの提供に干渉することなく、デバイスごとの結果データにアクセスするようメモリインタフェースを含む。
【００５８】
データ格納部が例えばＨＳＩＯまたは他のインタフェースを介して共有データをポート処理ユニットに提供することに干渉することなく、データ格納部が、例えば、後処理またはアップロードのために、デバイスごとの結果データにアクセスする、例えば、読み出すためのメモリインタフェースを有する場合、有益であることが分かった。
【００５９】
自動試験装置の好ましい実施形態において、ポート処理ユニットは更に、受信データにおけるコマンドエラーを検出する、および、受信データを、予めロードされた予期データと比較するストリーミングエラー検出ブロックを含み、予期データは好ましくはマスクデータを含む。
【００６０】
ポート処理ユニットが、コマンドエラーの検出のために、ストリーミングエラー検出ブロックを含む場合、有益であることが分かった。被テストデバイスのテストは、適切に機能する被テストデバイスが結果として何を返すかを示す予期データと比較できる結果データを生成する。
【００６１】
被テストデバイス（ＤＵＴ）の正確な機能を検証するべく、いわゆる予期データが準備され、ＡＴＥに予めロードされ得ることが分かった。受信データは次に、予期データと比較され得、そして、デバイスの正確な機能が決定され得る。受信データとは、スキャンチェーンからのデータ、コマンド、および／またはペイロードデータを指し得る。
【００６２】
ＡＴＥは、マスクデータ、すなわち、受信データのどのビットがどのコンテンツを含むべきかを定義するデータを使用することにより、よりインテリジェントにデータを処理することが可能になり得る。例として、予期データは、特定のテスト手順について、受信データが３つのブロックのデータを含むことを示すマスクデータ、適切なテストを示すコマンド、ＤＵＴによって生成された結果データ、および、結果を生成するためにＤＵＴによって使用されたシードデータを含み得る。ＡＴＥはＤＵＴにシードを供給するので、シードの格納は、テストに応じて、必要ないことがあり得る。また、結果データを選択的に格納することによって、追加のメモリ空間を節約できる。
【００６３】
自動試験装置の好ましい実施形態において、ＡＴＥは更に、デバイスごとの先入れ先出し（ＦＩＦＯ）メモリ、または、接続された１または複数のデバイスに関連する、管理キャッシュに予期データを予めロードし得る。
【００６４】
このように、ＡＴＥは、予期データをデバイスの先入れ先出し（ＦＩＦＯ）メモリに予めロードし得、それにより、受信データとのより迅速な比較のために準備された予期データを有し得ることが分かった。最初に予めロードされた（先入れ）データがまた、最初に比較され、そして、ＦＩＦＯから最初に破棄（先出し）され得るように、受信データが特定の順序であることが予期される場合、このことは特に有益である。この使用では、予期データの一部のみ、いわゆる予期データのウィンドウが予めロードされ得る。 
【００６５】
代替的に、１つより多くのＤＵＴに関連し得る管理キャッシュが、予期データ、または、予期データのウィンドウを予めロードし、次に、１つより多くのＤＵＴからの受信データと比較するために使用され得る。それにより、予期データは、全部のデバイスについて、繰り返しロード、または、予めロードされる必要がない。 
【００６６】
また、ＦＩＦＯまたは管理キャッシュメモリは、使用、例えば、関連する接続されたＤＵＴからの受信データとの比較をトラッキングし、使用された、すなわち、比較されたデータ、または、別の理由からそれ以上保持する必要がないデータを破棄し得る。
【００６７】
自動試験装置の好ましい実施形態において、ＡＴＥは、データ使用のトラッキングに基づいて、特定の被テストデバイスがデータストリームに従わないという検知に応答して、特定の被テストデバイスを不良として認識する。
【００６８】
特定の被テストデバイスがデータを徐々に提供することによって、特定の被テストデバイスに関連する管理キャッシュにおける予期データが、他の被テストデバイスに関連する対応する予期データより遥かに長く未使用のままであるという検知に応答して、ＤＵＴは不良として認識され得ることが分かった。
【００６９】
管理キャッシュのケースにおいて、対応する保持された予期データのみが、複数のＤＵＴのうち１つのメモリに保持される場合、効率は著しく影響を受け得る。特定の予期データが保持されるＤＵＴを不良とみなすことにより、予期データは管理キャッシュから破棄され、全体的な効率が改善し得る。また、受信データが特定のデータストリームまたはパターンに従うことが予期され、ＤＵＴがそのデータストリームまたはパターンで受信データを配信しない場合、不良とみなされ得る。
【００７０】
自動試験装置の好ましい実施形態において、ＡＴＥは、圧縮形式でデータをメモリに格納する。
【００７１】
圧縮されたデータは、より小さいメモリ空間を使用することが分かった。ＡＴＥは概して、全データセットの異なる部分、例えば、予期データから逸脱した受信データ、および／または、受信データが異なる予期データ、または、受信データと予期データとの間の逸脱を示すデータのみを格納し得る。ＡＴＥ内に、および／または、ＡＴＥによって格納されるデータの一部または全部は、より小さいメモリ空間を使用するように圧縮され得る。圧縮自体は、圧縮されて格納される全部のデータのデータ圧縮方法と同一であるが、また、特定のパラメータに応じて、データコマンドが異なれば異なり得る。 
【００７２】
そのようなパラメータの例は、例えば、データに関連するテストの種類であり得る。そのようなパラメータの別の例は、被テストデバイスの種類、および／または、ＡＴＥの種類である。他のパラメータは、関与するデバイスに直接関連し得、例えば、温度、使用統計、メモリステータス、利用可能なメモリ、利用可能なＣＰＵなどである。他のパラメータは、コマンドまたはペイロードを、更には、ペイロードがコマンドに完全に従うかどうか、現在の時間、伝送時間、受信時間、伝送期間などを指し得る。
【００７３】
データの一部または全部に使用される圧縮は、可逆または不可逆圧縮であり得る。 
【００７４】
使用され得る可逆圧縮タイプの例は、エントロピータイプ、例えば、算術符号、非対称数系、ゴロム、ハフマン、レンジ、シャノン、シャノン・ファノ、シャノン・ファノ・イライアス、タンストール、一進法、ユニバーサル、例えば、指数ゴロム、フィボナッチ、ガンマ、レーベンシュタイン、辞書タイプ、例えば、バイト対符号化、Ｌｅｍｐｅｌ‐Ｚｉｖ、または他の種類、例えば、ＢＷＴ、ＣＴＷ、デルタ、ＤＭＣ、ＤＰＣＭ、ＬＤＣＴ、ＭＴＦ、ＰＡＱ、ＰＰＭ、ＲＬＥ（例えば不良ビットを符号化するランレングス）を含み得る。
【００７５】
使用され得る不可逆圧縮タイプの例は、変換タイプ、例えば、離散コサイン変換、ＤＳＴ、ＦＦＴ、ウェーブレット、予測タイプ、例えば、ＤＰＣＭ、ＬＰＣ，モーション、サイコアコースティックを含み得る。
【００７６】
圧縮方法の組み合わせも使用され得る。 
【００７７】
自動試験装置の好ましい実施形態において、ＡＴＥは、予期されるエラー分布と一致するよう動的に圧縮を調整し得る。 
【００７８】
受信データがレジスタ値を含む場合、レジスタ値が誤っているとエラーのショートバーストにつながり、効率的であることが分かった。エラーバーストが開始し、エラーのワードが１つのレジスタ値に及ぶとき、これは、バイトオフセットと共にヘッダによって有効に格納され得る。
【００７９】
自動試験装置の好ましい実施形態において、ＡＴＥは、受信データストリームの近くに不良である可能性がある受信データを維持し得る。
【００８０】
高速通信において、例えば、シリアルＵＳＢまたは他のＨＳＩＯ技術を介して、例えばＤＦＴによって、関連するビットがＤＵＴにバッファリングされ得、シリアルビットの小さい領域からストリーミングすることが分かった。ＨＳＩＯがＵＳＢである場合、これば、ＵＳＢ‐ＤＦＴによって実現され得る。例えば、複数のスキャンチェーンを通じて受信されるＭＩＳＲの値がバッファリングされ得る。ここで、ＭＩＳＲは、排他的論理和またはＸＯＲゲートがＬＦＳＲのフリップフロップの１または複数の入力を駆動するように、構造が基本的にリニアフィードバックシフトレジスタ（ＬＦＳＲ）であるシーケンシャル電子回路である、多入力シフトレジスタとも称される多入力シグナチャレジスタである。
【００８１】
このレジスタが不良である場合、多くのビットが反転し、したがって、不良ビットのバーストが、全体的な受信ストリーム内の開始点の単一のオフセット値と共に格納され得る（上記を参照）。同様に、ＤＦＴは、個別のスキャンチェーンからのデータをバッファリングおよびバーストアウトし得る。また、ＤＦＴは、バッファされた複数のスキャンチェーンから来る単一のブロックの結果を維持し、別のブロックの結果から個別にバーストアウトし得る。
【００８２】
自動試験装置の好ましい実施形態において、ストリーミングエラー検出ブロックは更に、不良の解析に関連する統計情報を格納する。
【００８３】
統計情報を格納することは、発生する可能性があるエラーの評価のために有益であることが分かった。そのような統計情報の例として、場合によっては上記で詳述される種類による不良の総数のカウント、および／または、第１の不良サイクルのバイトオフセットの格納が挙げられる。
【００８４】
一実施形態は、データを受信する段階と、受信されたデータを格納する段階と、格納されたデータを被テストデバイスのうち１または複数に提供する段階とを含む、１または複数の被テストデバイスの自動試験のための方法を含む。
【００８５】
この方法は、上記の自動試験装置と同一の想定に基づく。しかしながら、当該方法はまた、自動試験装置に関連する、本明細書に記載の特徴、機能、詳細のいずれかによって補完され得ることに留意すべきである。更に、当該方法は、個別に、および、組み合わせの両方で、自動試験装置の特徴、機能、および詳細によって補完され得る。
【００８６】
本発明による一実施形態は、コンピュータプログラムがコンピュータ上で実行するとき、本明細書に記載の方法を実行するコンピュータプログラムを作成する。
【図面の簡単な説明】
【００８７】
以下では、添付の図を参照しながら、本発明による実施形態を説明する。
【００８８】
【図１】本発明の一実施形態による自動試験装置のブロック概略図を示す。
【００８９】
【図２】データ格納部を含む本発明の別の実施形態による自動試験装置のブロック概略図を示す。
【００９０】
【図３】データ格納部およびメモリハブを備える、本発明の別の実施形態による自動試験装置のブロック概略図を示す。
【００９１】
【図４】刺激データの例示的データフローを含むデータ格納部を備える、本発明の別の実施形態による自動試験装置のブロック概略図を示す。
【００９２】
【図５】刺激データの例示的データフローを含むデータ格納部およびメモリハブを備える、本発明の別の実施形態に記載の自動試験装置のブロック概略図を示す。
【００９３】
【図６】予期データの例示的データフローを含むデータ格納部を備える、本発明の別の実施形態による自動試験装置のブロック概略図を示す。
【００９４】
【図７】予期データ、応答データおよび不良データの例示的データフローを含むデータ格納部を備える、本発明の別の実施形態による自動試験装置のブロック概略図を示す。
【００９５】
【図８】データフローを含む本発明の別の実施形態による例示的自動試験装置のブロック概略図を示す。
【００９６】
図において、同様の参照符号は、同様の要素および特徴を示す。
【発明を実施するための形態】
【００９７】
図１は、本発明の一実施形態による自動試験装置１００のブロック概略図を示す。自動試験装置（ＡＴＥ）は、１または複数の被テストデバイス（ＤＵＴ）１３０をテストするためのものである。自動試験装置１００は、バッファメモリ１４０を含む複数のポート処理ユニット（ＰＰＵ）１１０と、被テストデバイス１３０と接続するための高速入出力（ＨＳＩＯ）インタフェース１２０とを備える。
【００９８】
ＤＵＴは、例えば、様々な手段でそれらにテストデータを提供し、それらからテスト結果を受信することによってテストされる。ＰＰＵは、ＡＴＥ内のエンティティから、または、ＡＴＥの外部から、このテストデータを受信し得る。ＰＰＵは次に、受信データをバッファメモリに格納し、ＨＳＩＯを介してデータをＤＵＴに提供し得る。 
【００９９】
被テストデバイスのテストでは、ＡＴＥとＤＵＴとの間で両方の方向のデータ伝送が必要である。これらの伝送の一部は、ＨＳＩＯを介して送信される。 
【０１００】
ポート処理ユニットが受信するデータは共有データであり得る。これは、例えば、同様または同一のＤＵＴが同時にテストされるセットアップを表し得る。しかしながら、同一であり得る同時テストは、異なるＤＵＴに対しても実行され得る。ＰＰＵは、テストのためにＤＵＴに提供される刺激データを受信し得、全部のＰＰＵについてデータが同一である場合、データは共有データとみなされ得る。したがって、この共有データは、ＰＰＵについて同一であり、すなわち、データはポート処理ユニットの間で共有される。上記のように、そのような共有データの例は、テストのためにＤＵＴへ送信される共有刺激データである。 
【０１０１】
データは例えば、下で詳述されるように、場合によっては別のポート処理ユニットを介して、共有メモリプールから、または、別のポート処理ユニットから受信され得る。
【０１０２】
データはＤＵＴにテストデータ、テスト信号、またはテストプログラムを提供し得、データは、ＰＰＵが受信するデータ、または、それが処理されたバージョンであり得る。すなわち、ＤＵＴに提供されるデータは、共有され得るデータに基づくデータである。代替的に、ＰＰＵが受信するデータはまた、テスト後にＤＵＴがＰＰＵへ返す、被テストデバイスからの予期信号または予期結果を表す。このデータはまた、予期データであり得、または、予期データが、共有データでもあり得る、ＰＰＵから受信されたデータに基づくデータであるように、ＰＰＵにおける処理を必要とする。
【０１０３】
１または複数のＤＵＴに提供されるデータは、上記で詳述される選択肢の組み合わせであるので、上の任意の組み合わせも可能である。
【０１０４】
バッファメモリ１４０はＰＰＵ１１０のみからアクセス可能であり得るが、ＨＳＩＯ１２０から直接アクセス可能でもあり得る。いずれかの構成である、ＰＰＵおよび／またはＨＳＩＯに結合されたバッファメモリは、そのようにアドレス指定され得るという点で、ローカルメモリとして機能する。
【０１０５】
バッファメモリをローカルメモリとしてアドレス指定することを可能にすることにより、メモリアドレスの不必要な変換が回避され得る。ＰＰＵおよび／またはＨＳＩＯからメモリコンテンツをアドレス指定する１つの選択肢は、ダイレクトメモリアクセス（ＤＭＡ）を介することである。 
【０１０６】
図２は、本発明の一実施形態によるＡＴＥ１００と同様の自動試験装置２００のブロック概略図を示す。自動試験装置（ＡＴＥ）は、１または複数の被テストデバイス（ＤＵＴ）２３０をテストするためのものである。自動試験装置２００は、バッファメモリ２４０を含む複数のポート処理ユニット（ＰＰＵ）２１０と、被テストデバイス２３０に接続するための高速入出力（ＨＳＩＯ）インタフェース２２０とを備える。図２は更に、例示的実装として図２において共有プールメモリとして表示されるデータ格納部２５０を示す。
【０１０７】
データ格納部２５０は、デイジーチェーンの形態で互いに接続もされるＰＰＵ２１０に接続される。単に例として、図２において、ＰＰＵ２１０は、この接続専用の１つのＨＳＩＯ２２０を用いてＤＵＴ２３０に接続する。ここで、図１において、各ＨＳＩＯ１２０は、ＤＵＴ１３０との複数の接続を保持できる。本発明の説明による他の特徴とのすべての組み合わせにおいて、両方の変形例が可能である。
【０１０８】
データ格納部２５０は、共有メモリプールであり得る、または、それを含み得る。そしてＰＰＵ２１０は、データ格納部２５０から直接的にデータを受信し得る。データ格納部２５０は、ＡＴＥ２００の内部要素であり得るが、ＡＴＥ２００の外部の関連要素でもあり得る。ＰＰＵは、データ格納部２５０および／または共有メモリプールのそれぞれから、共有され得るデータを受信する。
【０１０９】
データはポート処理ユニットの間で共有され得る。このことは、複数のポート処理ユニットの間で共有されるデータはデータ格納部２５０からＰＰＵによって受信され得ることを意味する。例えば、共有データは、ＤＵＴ２３０のテストのための共有刺激データであり得、ポート処理ユニット２１０は、共有データを共有メモリプール２５０から受信する。例示的使用は、例えば、共有メモリプール２５０から受信されたデータでバッファメモリ２４０を満たすことである。
【０１１０】
データ格納部２５０は、ポート処理ユニット２１０のうち１または複数に共有データをストリーミングし、データ格納部２５０は、デバイスごとに、すなわちＤＵＴごとに、結果データ、例えば結果または結果ストリームを複数のメモリ領域に格納し得る。特に、これらのメモリ領域は、機能的におよび／または技術的に異なり得る。それにより、ＰＰＵは、結果をデータ格納部に提供する。ＤＵＴごとの結果データのデータレートは互いに異なり得る、例えば、別の結果または結果ストリームのデータレートより小さい（例えば、少なくとも１０倍）ので、特定の特徴に応じて結果を異なるメモリ領域に格納することは有益であり得る。また、結果を格納するのに必要なボリュームおよび帯域幅は、共有刺激データより大幅に小さい。したがって、これらも、異なるメモリ領域に格納され得る。
【０１１１】
ポート処理ユニット（ＰＰＵ）２１０は更に、共有メモリプールから、少なくとも１つの他のポート処理ユニットへ共有データを転送し得る。ＰＰＵが互いに、または、少なくとも１つの他のＰＰＵに接続される実施形態において、ＰＰＵは、他のＰＰＵ、または、少なくとも１つの他のＰＰＵへデータを転送し得る。それにより、ＰＰＵからデータ格納部２５０へのメモリアクセス、すなわち読み出しおよび書き込みが低減される。 
【０１１２】
同様に、ＰＰＵ２１０は、少なくとも１つの他のポート処理ユニットからの共有メモリプールから共有データを受信し得る。ＰＰＵが互いに、または、少なくとも１つの他のＰＰＵに接続される実施形態において、ＰＰＵは、他のＰＰＵ、または、少なくとも１つの他のＰＰＵからデータを受信し得る。それにより、ＰＰＵからデータ格納部２５０へのメモリアクセス、すなわち読み出しおよび書き込みも低減される。 
【０１１３】
上で詳述されたＰＰＵの接続の特定の形態は、一連のＰＰＵが実現されるように、各ＰＰＵが２つの他のＰＰＵに接続されるデイジーチェーンであり、第１のＰＰＵがデータ格納部２５０に接続される。
【０１１４】
例えば、メッシュ、スター、完全接続、直線、ツリー、バスなど、他のトポロジーも可能である。第１および最後のＰＰＵはまた、リングが形成されるように互いに接続され得るが、それらはまた、一連のＰＰＵが形成されるように、互いに接続されないことがあり得る（真のデイジーチェーン）。各ＰＰＵはデータ格納部２５０に接続され得る。 
【０１１５】
図３は、本発明の一実施形態による、ＡＴＥ１００および２００と同様である自動試験装置３００のブロック概略図を示す。自動試験装置（ＡＴＥ）は、１または複数の被テストデバイス（ＤＵＴ）３３０をテストするためのものである。自動試験装置３００は、バッファメモリ３４０を含む複数のポート処理ユニット（ＰＰＵ）３１０と、被テストデバイス３３０に接続するための高速入出力（ＨＳＩＯ）インタフェース３２０とを含む。図３は更に、図３において例示的実装として共有プールメモリとして示されるデータ格納部３５０およびメモリハブ３６０を示す。
【０１１６】
この実施形態によれば、データ格納部３５０は、共有データをメモリハブ３６０にストリーミングし得、そこから、共有データはＰＰＵ３１０へ送信され得る。メモリハブ３６０はＡＴＥ３００の全体的な効率を強化し得る。
【０１１７】
ＰＰＵ３１０は共有データをメモリハブ３６０から受信し得る。また、メモリハブ３６０が１つより多くのＰＰＵ３１０に共有データを提供する場合、中央メモリハブとみなされ得る。 他のトポロジーも可能であり、例は図２の説明で見られる。
【０１１８】
図２および図３に関連して、および、図１のレイアウトについて記載される両方の変形例については、ＰＰＵ２１０、３１０は、共有データの受信と、接続された１または複数の被テストデバイス３３０をテストするための共有データの使用との間のタイムシフトを可能にするべく、バッファリングメモリ３４０、および／または、１または複数のキャッシュ（図示せず）を含み得る。
【０１１９】
先入れ先出し（ＦＩＦＯ）メモリ３４０は遅延を低減し、より多くの要求されたデータを提供して、データの処理を高速化するのに役立つ。同様に、処理中の停止を低減し、事実上同時により多くのデータがＰＰＵによる使用のために利用可能になるように、キャッシュが採用され得る。
【０１２０】
ＰＰＵ２１０、３１０の各々は、インタフェース２２０、３２０を介して、１または複数の被テストデバイス２３０、３３０に、共有データに基づくテスト情報を提供する。テスト情報を伝達するのに必要な時間に応じて、ＰＰＵは、被テストデバイスを特性評価し得る。そのような特性評価は、個別ＤＵＴの識別、ＤＵＴの特定の種類の決定、または、ＤＵＴのパラメータ、例えば、高速／低速デバイス、適切に動作する／故障したＤＵＴ、高速が利用可能／不可能、または、デバイスおよび／またはテストに関連する同様の、もしくは他のパラメータの決定の結果であり得る。 
【０１２１】
ＰＰＵ２１０、３１０は、例えばＨＳＩＯ２２０、３２０などのインタフェースを介して、共有データに基づいて、テスト情報、例えば、テストプログラムまたはテストデータをＤＵＴ２３０、３３０に提供し得る。また、ＰＰＵ２１０、３１０は更に、被テストデバイス２３０、３３０を特性評価する、例えば、テスト情報が被テストデバイスに伝達されるタイミングに基づいて、ＤＵＴタイプを決定する、および／または、ＤＵＴを識別する。そのために、テスト情報を伝達するタイミングは、被テストデバイスによって決定または影響される。なぜなら、例えば、被テストデバイスは、例えばマスターデバイスとしてインタフェースを制御する、または、被テストデバイスはスレーブデバイスとして伝達を遅延する、または、割り込み得るからである。
【０１２２】
被テストデバイスへのテスト情報の伝達が、それぞれのポート処理ユニット２１０、３１０による共有データの受信から、予め定められた時間より多く遅れた場合、ＰＰＵ２１０、３１０は、被テストデバイス２３０、３３０を不良として特性評価し得る。
【０１２３】
ＡＴＥ２００、３００の全体的な性能を改善するべく、ＤＵＴとの間のデータ伝送が特定の時間的閾値を超える場合、すなわち、ＡＴＥとＤＵＴとの通信が、予め定められたタイムフレーム内に実行または完了できない場合、ＰＰＵ２１０、３１０は、ＤＵＴ２３０、３３０を不良として特性評価する、または識別する、すなわち、ＤＵＴは機能不全であると決定する。予め定められたタイムフレームは、例えば、ユーザ指定、デバイス固有、またはテスト固有であり得る。
【０１２４】
図４、５、６および７は、データフローを含む、本発明の一実施形態による、図１から図３に記載されるようなＡＴＥ１００、２００、３００と同様である自動試験装置４００、５００のブロック概略図を示す。自動試験装置（ＡＴＥ）は、１または複数の被テストデバイス（ＤＵＴ）１３０、２３０、３３０、４３０、５３０をテストするためのものである。 
【０１２５】
テスト情報、例えば刺激データの例示的データフローは図４および図５に示される。図４において、データは、データ格納部４５０から、ＰＰＵ４１０の１つへ送信され、そこから、上述のように別のＰＰＵ４１０へ送信され、そこから、別のＰＰＵ４１０へ送信される。ＰＰＵにおいて、データは、ローカルバッファメモリ４４０に格納され、そこから、ＨＳＩＯ４２０を介して、接続されたＤＵＴ４３０へ送信される。 
【０１２６】
この例示的データフローは、単に例示的トポロジーについて示される。上記で詳述されるように、ＰＰＵ４１０の全部がデータ格納部４５０からデータを直接受信することも可能である、または、ＰＰＵ４１０のいくつかが、データ格納部４５０からデータを直接受信することが可能であり得、他のＰＰＵ４１０はデータを別のＰＰＵ４１０から受信する。 
【０１２７】
図５において、データはデータ格納部５５０からメモリハブ５６０へ送信され、そこから、データはＰＰＵ５１０へ送信される。ＰＰＵにおいて、データは、ローカルバッファメモリ５４０に格納され、そこから、ＨＳＩＯ５２０を介して、接続されたＤＵＴ５３０へ送信される。 
【０１２８】
テスト後、ＰＰＵ２１０、３１０、４１０、５１０は、ＤＵＴ２３０、３３０、４３０、５３０からデバイスごとの結果データを取得し、デバイスごとの結果データをデータ格納部２５０、４５０へ転送し得る。任意で、伝達はメモリハブ３６０、５６０に対するものであり、そこから、データはデータ格納部３５０、５５０へ送信される。 
【０１２９】
ＰＰＵ２１０、３１０、４１０、５１０がデバイスごとに、すなわちＤＵＴごとに結果データ、例えば結果ストリームまたは不良データを取得し、デバイスごとの結果データ、例えば、ＤＵＴごとに結果ストリームまたはＤＵＴごとの不良データをデータ格納部２５０、３５０、４５０、５５０に転送する場合、ＡＴＥ通信は全体的に改善され得る。 
【０１３０】
ＰＰＵ２１０、３１０、４１０、５１０は、共有データに基づく予期データを使用してデバイスごとの結果データを取得し得る。この予期データは、予期ＤＵＴ応答データを表した。予期データはデータ格納部２５０、３５０、４５０、５５０、６５０に格納され、図６に例示的に示されるように、ＰＰＵ２１０、３１０、４１０、５１０、６１０へ送信され、ここで、ローカルバッファメモリ２４０、２４０、４４０、５４０、６４０にローカルに格納され得る。図６において、１つのＰＰＵのみがデータを受信し、別のＰＰＵへ渡し、そこから更に別のＰＰＵへ送信される。上述のように、他のデータフロー、すなわち、全部または一部のＰＰＵは、データ格納部２５０、３５０、４５０、５５０、６５０からデータを受信し、トポロジー、すなわちデータがメモリハブ３６０、５６０へ送信されることも可能である。 
【０１３１】
ローカルバッファメモリ２４０、２４０、４４０、５４０、６４０から、予期データを処理するべく、必要に応じてデータがＰＰＵ２１０、３１０、４１０、５１０、６１０から取得される。例えば、それらを実際のＤＵＴ２３０、３３０、４３０、５３０、６３０の応答データと比較するためである。
【０１３２】
図７において、ＰＰＵ２１０、３１０、４１０、５１０、６１０、７１０がどのように、予期データを使用してデバイスごとの結果データ、例えば、ＤＵＴごとの結果ストリームまたはＤＵＴごとの不良データを取得するかが示されている。ここで、予期データは共有データに基づく。
【０１３３】
特に、ＤＵＴ７３０ｃ、７３０ｄ、７３０ｅおよび７３０ｆは、それぞれＨＳＩＯインタフェース７２０ｃ、７２０ｄ、７２０ｅ、７２０ｆを介して、対応するＰＰＵ７１０ｂおよび７１０ｃへ応答データを返す。ＰＰＵ７１０ｂおよび７１０ｃは、関連する予期データをローカルバッファメモリ７４０ｂおよび７４０ｃから取得し、図６に関連して先に記載したように、ここに予期データが格納される。
【０１３４】
次にＰＰＵは、予期データと受信データとを比較し、場合によっては不良データを計算し、それらは次にデータ格納部７５０に格納され得る。図７のデータフローもやはり、単に例示的なものである。メモリハブの使用、および、上で説明したようなＰＰＵ間の伝送は可能である。
【０１３５】
ＡＴＥ１００、２００、３００、４００、５００、６００、７００は、スターアーキテクチャでデータ格納部に複数のポート処理ユニットを結合するためのメモリハブを含み得る。メモリハブはまた、共有データを異なるポート処理ユニットへ非同時に転送することを可能にするために、バッファリングメモリ、および／または、１または複数のキャッシュを有し得る（両方とも図示せず）。
【０１３６】
先入れ先出し（ＦＩＦＯ）メモリは、遅延を低減し、より多くの要求されたデータを提供して、処理を高速化するのに役立ち得る。同様に、処理中の停止を低減し、事実上同時により多くのデータがメモリハブによる使用のために利用可能になるように、キャッシュが採用され得る。 それにより、バッファリングメモリまたはキャッシュにおいてより多くの共有データを保持することによって、共有メモリプールまたはデータ格納部への複数の読み出しアクセス無しで、関連するデータが異なる時間に異なるＰＰＵへ転送され得る。
【０１３７】
データ格納部２５０、３５０、４５０、５５０、６５０、７５０は更に、ポート処理ユニットへ提供される共有データ、および、デバイスごとの結果データのための個別のインタフェースを有し、それにより、ＡＴＥの全体的な性能も改善され得る。
【０１３８】
データ格納部２５０、３５０、４５０、５５０、６５０、７５０はまた、例えばデータ格納部がＨＳＩＯまたは他のインタフェースを介して共有データをポート処理ユニットに提供することに干渉することなく、例えば、後処理またはアップロードのために、デバイスごとの結果データにアクセス、例えば、読み出すためのメモリインタフェースを含み得る。
【０１３９】
ＰＰＵ１１０、２１０、３１０、４１０、５１０、６１０、７１０は更に、受信データにおけるコマンドエラーを検出し、受信データを予めロードされた予期データと比較するためのストリーミングエラー検出ブロック（図示せず）を含み得る。予期データは好ましくは、マスクデータを含む。被テストデバイスのテストは、適切に機能する被テストデバイスが結果として何を返すかを示す予期データと比較できる結果データを生成する。被テストデバイス（ＤＵＴ）の正確な機能を検証するべく、いわゆる予期データが準備され、ＡＴＥに予めロードされ得る。受信データは次に、予期データと比較され得、そして、デバイスの正確な機能が決定され得る。受信データとは、スキャンチェーンからのデータ、コマンド、および／またはペイロードデータを指し得る。  ＡＴＥは、マスクデータ、すなわち、受信データのどのビットがどのコンテンツを含むべきかを定義するデータを使用することにより、よりインテリジェントにデータを処理することが可能になり得る。例として、予期データは、特定のテスト手順について、受信データが３つのブロックのデータを含むことを示すマスクデータ、適切なテストを示すコマンド、ＤＵＴによって生成された結果データ、および、結果を生成するためにＤＵＴによって使用されたシードデータを含み得る。ＡＴＥはＤＵＴにシードを供給するので、シードの格納は、テストに応じて、必要ないことがあり得る。また、結果データを選択的に格納することによって、追加のメモリ空間を節約できる。
【０１４０】
ＡＴＥは更に、予期データを、接続された１または複数のデバイスに関連するデバイスごとの先入れ先出し（ＦＩＦＯ）メモリまたは管理キャッシュに予めロードし得る。それにより、受信データとの、より迅速な比較のために、予期データが準備され得る。最初に予めロードされた（先入れ）データがまた、最初に比較され、そして、ＦＩＦＯから最初に破棄（先出し）され得るように、受信データが特定の順序であることが予期される場合、このことは特に有益である。この使用では、予期データの一部のみ、いわゆる予期データのウィンドウが予めロードされ得る。 
【０１４１】
代替的に、１つより多くのＤＵＴに関連し得る、管理キャッシュが、予期データ、または、予期データのウィンドウを予めロードし、次に、１つより多くのＤＵＴからの受信データと比較するために使用され得る。それにより、予期データは、全部のデバイスについて、繰り返しロード、または、予めロードされる必要がない。 
【０１４２】
また、ＦＩＦＯまたは管理キャッシュメモリは、使用、例えば、関連する接続されたＤＵＴからの受信データとの比較をトラッキングし、使用された、すなわち、比較されたデータ、または、別の理由からそれ以上保持する必要がないデータを破棄し得る。
【０１４３】
ＡＴＥは、データ使用のトラッキングに基づいて、特定の被テストデバイスがデータストリームに従わないという検知に応答して、特定の被テストデバイスを不良として認識する。すなわち、特定の被テストデバイスがデータを徐々に提供することによって、特定の被テストデバイスに関連する管理キャッシュにおける予期データが、他の被テストデバイスに関連する対応する予期データより遥かに長く未使用のままである場合、ＤＵＴは不良として認識され得る。  管理キャッシュのケースにおいて、対応する保持された予期データのみが、複数のＤＵＴのうち１つのメモリに保持される場合、効率は著しく影響を受け得る。特定の予期データが保持されるＤＵＴを不良とみなすことにより、予期データは管理キャッシュから破棄され、全体的な効率が改善し得る。また、受信データが特定のデータストリームまたはパターンに従うことが予期され、ＤＵＴがそのデータストリームまたはパターンで受信データを配信しない場合、不良とみなされ得る。
【０１４４】
ストリーミングエラー検出ブロックは更に、不良の解析に関連する統計情報を格納し得る。
【０１４５】
概要に詳述されるように、データはまた、圧縮形式で格納され得る。当然、これは全部のメモリおよび全部のデータを指す。圧縮は動的に調整され得る。例えば、予期されるエラー分布に一致させるためである。
【０１４６】
ＡＴＥはまた、上で説明されるように、受信データストリームの近くに不良が発生する可能性がある受信データを維持し得る。 
【０１４７】
ＡＴＥ１００、２００、３００、４００、５００、６００、７００は任意で、本明細書に記載の特徴、機能および詳細のいずれか（個別および組み合わせの両方）によって補完され得ることに留意されたい。
【０１４８】
本発明はまた、データを受信する段階と、受信されたデータを格納する段階と、格納されたデータを被テストデバイスのうち１または複数に提供する段階とを備える、１または複数の被テストデバイスの自動試験のための方法に関する。
【０１４９】
この方法は、上記の自動試験装置と同一の想定に基づく。当該方法はまた、自動試験装置に関連する、本明細書に記載の特徴、機能、詳細のいずれかによって補完され得ることに留意すべきである。更に、当該方法は、個別に、および、組み合わせの両方で、自動試験装置の特徴、機能、および詳細によって補完され得る。
【０１５０】
本発明による一実施形態は、コンピュータプログラムがコンピュータ上で動作するとき、本明細書に記載の方法を実行するコンピュータプログラムを作成する。
［詳細および実施形態］
【０１５１】
以下において、本発明の基本的ないくつかの考慮事項が説明され、いくつかの解決手段が記載される。特に、複数の詳細が開示され、これは、本明細書に開示される実施形態のいずれかに任意で導入され得る。
［動機］
【０１５２】
構造テストは、システムオンチップ（ＳＯＣ）内のデジタルブロックの複雑な機能を実装する個別の構造（セル）の系統的テストカバレッジを可能にする。構造テストは、これらに限定されないが、メモリＢＩＳＴ、ロジックＢＩＳＴ（パターンがオンチップで生成される）、およびスキャンテスト（パターンが外部から提供される）を含む、様々なテスト方法を含む。ブロックをテストするために個別テストが組み合わされる。例えば、スキャンテストが階層的に（直列または並列に）ブロックに適用される。
【０１５３】
高度な構造テスト方法は、外部から提供されるテストデータ（ＡＴＥ（自動試験装置）からの刺激）、および、外部から提供されるテストデータ（シード）を拡大するＤＦＴ（オンチップテスト用デバイス）の組み合わせをスキャンチェーンに適用する。テストデータの量を低減するために、テスト結果は縮小化および圧縮され、ＡＴＥが予期データ（受信データをマスクする能力を含む）と比較するＳＯＣの一次ＩＯ（受信データ）に提供される。
【０１５４】
以下の提案される解決手段の適用は、上述のように、構造テストの一般的な表現であるスキャンテストを指すが、これに限定されない。
【０１５５】
しかしながら、新しい作製処理によって可能となるＳＯＣの複雑性の増加により、スキャンテストを費用効果が高い方法でスケーリングすることには課題がある。
・ＡＴＥに格納する必要があるテストデータの量の増大
・ＳＯＣ  ＩＯを通じてテストデータを供給するテスト時間の増大
・被テストブロックへのテストデータの配布および必要なクロック信号の作成を困難にするオンチップの複雑性の増加
【０１５６】
加えて、ＳＯＣが最終用途、例えば、自動車または通信インフラストラクチャシステムに配備されるとき、複雑なＳＯＣの品質および信頼性の予期は、構造テストを必要とする。
【０１５７】
これらの課題に対するいくつかの可能な解決手段は以下を含む。
・機能性高速Ｉ／Ｏインタフェースを通じた、例えば、ＵＳＢまたはＰＣＩｅを通じたテストデータ配信。  このことは以下につながる。
・データレートの増加を可能にする
・最終用途における構造テストを可能にする
・ＡＴＥおよびＤＵＴ（被テストデバイス）上のタイミングをデカップリングする必要がある（ＨＳＩＯデータ通信では典型的）。いかなる正確なタイミング同期も、ＤＵＴとＡＴＥまたは他の補助装置（例えばオシロスコープ）との間の、タイミングに制約のある信号を必要とする。
・高度なオンチップテストデータ処理、テストスケジュール、および、被テストブロックとのテストデータ通信
・提案される典型的な要素
ＡＴＥとＨＳＩＯ‐ＤＦＴとの間の通信プロトコル、例えば１１４９．１０
ネットワークオンチップ（ＮＯＣ）を使用して、テストデータを、テストアプリケーションを管理するローカルＤＦＴへ柔軟にルーティングする
複数のブロックについての、柔軟な直列または並列のテストスケジュールを
・これは以下につながる。
ＤＵＴとの間のテストデータ伝達を有効にスケジューリングする複雑なインタラクションを必要とする
新しいレベルの制御を提供するテストポートで伝達される、より高いレベルの通信（セマンティクス）を可能にする：例えば、
・意思決定および歩留り習熟を容易にする前処理結果を提供するＤＦＴ
・ＡＴＥのパワーを制御するＤＦＴ
［態様１：多サイトデータ共有、データストリーミング、データ処理のための解決手段］
【０１５８】
課題：並行してテストされる複数のサイトでテストデータを共有するテストデータ量需要の増大
・様々な種類のデータが共有され、共有データストレージからＤＵＴインタフェース（「ポート」）またはサイトごとの処理ユニットへストリーミングされる必要があり得る。  共有され得るデータは、以下を含むが、これらに限定されない。
ドライブデータ（刺激）
予期データ（予期データと共に、または、個別のメモリ領域に格納されるマスクデータを含む）
後処理結果に必要な補助データ
・データフローは、ＨＳＩＯデータレートに合わせて、結果としてのサイトごとのテストデータ伝達への影響を最小限に抑える必要がある。
・理想的には、データストレージは、ＡＴＥのポート処理ユニットとのインタフェースである全部のサイトで共有され得る。しかしながら、これは、非常に複雑かつ高価なデータインタフェースにつながる。適切なアーキテクチャは、テスト実行の影響無く、共有を最大化することが分かる必要がある。
・サイトごとのデータは共有できないこれらは以下を含む。
ＤＵＴからの受信データ
受信データを予期データと比較した後に格納される結果
サイトごとのテスト条件：例えば、実際のテストデータ伝達のプリアンブルとしてＤＵＴに通信されるＤＵＴ固有オンチップセットアップ
【０１５９】
解決手段
【０１６０】
図８は例示的データフローを示す。しかしながら、それは単に、単一のサイトを表し、データ格納部を１または複数のポート処理ユニット（ＰＰＵ）から区別しない。
【０１６１】
解決手段のコンポーネント
１．データ格納部：
・メモリの大きい共有プールを実装するＡＴＥハードウェア上のメモリサブシステム
・典型的には、利用可能な最速のコモディティＲＡＭとして実装される
・共有データをポート処理ユニットへストリーミングするために使用される。帯域幅利用を最小化するべく、多サイトテスト実行で共有されるデータは好ましくは、ＰＰＵまたはメモリハブのいずれかによって、１回のみ読み出される。
・ＤＵＴごとの結果ストリームを制御メモリ領域に格納するために使用される。結果を格納するのに必要なボリュームおよび帯域幅は好ましくは、共有刺激データの場合より大幅に小さい。
・ＡＴＥカード上には、１または複数のデータ格納部があり得る。各データ格納部は、データフローアーキテクチャの複製を必要とする。
２．ＰＰＵ‐ポート処理ユニット
・１または多くのＤＵＴとのインタフェース
・ＤＵＴのためのＨＳＩＯ、デバッグおよび制御ポートを実装する
・データをデータ格納部から直接、または、別のＰＰＵ（デイジーチェーン）もしくは中央メモリハブから転送されたものを受信する
・バッファリング（ＦＩＦＯ）およびキャッシュを使用して、データソースへのリードアクセスを最小化する
・それぞれの遅いサイトについて、効率的に不良を処理する。例えば、ユーザは最大の処理の相違を指定し得る。受信後にこの数より多く落ちる場合、デバイスに不良が生じていることを示す。
・共有データを１または複数の他のＰＰＵへ転送し得る
・予期データと受信データとのＤＵＴごとの比較を実装し、ＤＵＴごとの不良データを計算する
・不良データをデータ格納部へ（場合によっては別のＰＰＵまたはメモリハブを通じて）送信する
３．メモリハブ（任意）：
・スターアーキテクチャを実装するのに使用される
・各ＰＰＵにデータインタフェースを提供する
・バッファリング（ＦＩＦＯ）およびキャッシュを使用して、データ格納部への読み出しアクセスを最小化する
４．結果データ格納部（任意）
・以下の理由から、結果のための独立のデータ格納部が各ＰＰＵに、または、一元的にメモリハブに取り付けられ得る
・共有データをＰＰＵにストリーミングするために使用される独立のインタフェースであるメモリインタフェースを提供する
・次のテスト実行に干渉することなく、後処理またはアップロードのために、結果データにアクセスするためのメモリインタフェースを提供する。
態様２：ストリーミングエラー検出および不良圧縮のための解決手段
【０１６２】
課題：従来のＡＴＥは、リアルタイムで構造テストからの一次出力をサンプリングし、それを予期データ（を含む）マスキングと比較する。この処理は、テストデータの決定的なサイクリックＩ／Ｏによって可能になる。
【０１６３】
しかしながら、ＨＳＩＯを通じたスキャンテストは、本質的に、非決定的であり、バーストされる。また、スキャン出力は、プロトコルスタックにおけるペイロードデータである。すなわち、スキャンチェーンとの間で行き来するデータは、コマンドで「タグ付け」された一連のペイロードにスクランブリングされる。ＵＳＢ受信データ（コマンドおよびペイロード）は、処理される前にメモリに格納される。例えば、予期データと比較される。
【０１６４】
この手法は２つの問題がある。
１．受信データを格納し、それを更に読み出し、別のメモリ場所に格納された予期データと比較するために、データ処理は、大きいメモリ帯域幅要件を有する。これは、複数のデバイスを並行してテストすることによって更に増大する。
２．スキャンパターンが不良であるかどうかの決定は、ＵＳＢパケットを通じて受信されるデータの後処理に基づく。最悪の場合、受信データと予期データとの比較が、全体の実行時間を占める。すなわち、ＨＳＩＯを通じたデータストリーミングより長くかかる。
【０１６５】
解決手段
【０１６６】
ポート処理ユニットに組み込まれたストリーミングエラー検出ブロックは、受信したばかりのスキャンデータを予めロードされた予期データと比較することにより、実際のエラーが検出されたときのみメモリに書き込む。予期データはマスクデータを含み得ることに留意されたい。
【０１６７】
詳細
１．上述のデータストリーミングアーキテクチャを使用して、ポート処理ユニットは、受信データパケットと比較するために利用可能な予期データのウィンドウを維持する。
予期データは、データを破棄する前の全部のアクティブなサイトによるデータの使用をトラッキングするサイトごとのＦＩＦＯまたは管理キャッシュに予めロードされる。これにより、（場合によっては、各サイトについて繰り返し）大きいデータ格納部から予期データを読み出すことを回避する。
デバイスがデータストリームに従わない場合、ＰＰＵは、例外を発生させ、そのサイトが不良であると宣言し、利用可能なエラーデータのみを格納し得る。
２．ＨＳＩＯ上でスキャンデータを受信すると、ポート処理ユニットは、受信データを「一致」する予めロードされた予期データとを比較する。
バイトの決定的なストリームとしてのＨＳＩＯ通信の場合では、「一致」とは、予めロードされた予期データの順序で受信データを比較することを指す。
受信データのＤＭＡ伝達の場合、ＰＰＵは、予期データにおけるバイトオフセットと共に書き込まれた受信データのバイトオフセットと一致する。バイトオフセットは、メモリアドレスのように機能する。
３．要求されるデータボリュームおよびメモリインタフェース帯域幅を最小化するべく、エラー情報は圧縮形式でストリーミングされる。標準的データ圧縮（例えば、不良ビットのランレングス符号化）以外に、ストリーミングエラー検出ブロックは、（例えば、従来のＡＴＥによっても配信されるような）テスト固有の形式を実装し得る。
予期されるエラー分布と一致するよう、圧縮は動的に調整され得る。例えば、レジスタ値が誤っている場合、受信データは、エラーのショートバーストにつながるレジスタ値を含み得る。エラーバーストが開始し、エラーのワードが１つのレジスタ値に及ぶとき、これは、バイトオフセットと共にヘッダによって有効に格納され得る。ＵＳＢ‐ＤＦＴが、シリアルＵＳＢ受信データストリームの近くに不良である可能性がある受信データを維持する場合、結果データの圧縮は改善され得る。ＵＳＢ‐ＤＦＴは、シリアルビットの小さい領域においてストリーミングするために関連するビットをバッファリングし得る。例えば、複数のスキャンチェーンで受信されたＭＩＳＲレジスタの値をバッファリングし得る。  このレジスタが不良である場合、多くのビットが反転し、したがって、不良ビットのバーストが、全体的な受信ストリーム内の開始点の単一のオフセット値と共に格納され得る（上記段落を参照）。同様に、ＵＳＢ‐ＤＦＴは、個別のスキャンチェーンからのデータをバッファリングおよびバーストアウトし得る。また、ＵＳＢ‐ＤＦＴは、バッファされた複数のスキャンチェーンから来る単一のブロックの結果を維持し、別のブロックの結果から個別にバーストアウトし得る。
個別のエラー情報以外に、ストリーミングエラー検出ブロックは、不良の解析に関連する統計を格納する。例えば、不良の総数をカウントし、第１の不良サイクルのバイトオフセットを格納する。
４．スキャンオーバーＨＳＩＯの結果処理の独自の特徴は、エラーが、スキャン出力データペイロードにおいて発生するだけでなく、コマンドコードにおいても発生し得ることである。例：
ａ．ＨＳＩＯスキャンＤＦＴが、コマンドシーケンスを中断することによって通信するという異常に気付いた。
ｂ．ＨＳＩＯスキャンＤＦＴ自体が壊れており、典型的には、ペイロード全部が無効になる。
これの解決手段は、一致する受信データビットがコマンド：コマンド‐フラグデータであるかどうかを各ビットが説明する、追加の予期データセットを格納することである。
エラーがコマンドにおいて検出されるたびに、「コマンドエラー」フラグが発生して結果を評価し、予期しない処理の課題の検出を高速化する。そのようなエラーが発生するたびに、ストリーミングエラー検出ブロックは、役に立たないストレージおよびランダムなペイロードデータを最小限に抑える、または、場合によっては、続くビットを、ＨＳＩＯスキャンＤＦＴブロックの状態についての情報ペイロードとして捕捉するためのモードに切り替わり得る。
５．発生したエラーを効率的に検出し、結果を格納する以外に、ストリーミング結果処理は、結果を    デスクランブルし得る。それにより、エラーマップは、コマンド構造を有するシリアルＵＳＢストリームに梱包されたスキャンデータのビットオフセットに基づかず、ブロックＩＯのオフセット、例えば、スキャンチェーンにおけるオフセットを直接参照する。デスクランブルは、「アノテーション」のスキャンパターンで格納される必要があるマッピング情報を要求する。それは、テストされたＳＯＣブロックのスキャンＩＯに対して、本質的に関連の無いコマンドデータを除外するために、コマンドフラグデータとマージされ得る。  更に、異なるＳＯＣブロックの受信データが通信されると、マッピング情報は異なり得る。したがって、正確なデスクランブルマップを適用する前に、デスクランブル処理は最初に、ペイロードタイプ（例えば、コマンドのブロックインデックスに格納される）を検出し得る。例えば、ペイロードマップにおける各ビットがどのようにスキャンチェーンにマッピングするか（場合によっては、ペイロードの長いバーストについて反復される）。
全体で、ストリーミングデスクランブルのフローは、有効な実装において順序付けられ得る３つのフェーズに分割され得る。
ａ．コマンドデータの破棄。
ｂ．ペイロードタイプの検出。このステージはまた、単一のコマンドフレームに符号化された、同一構造のペイロードの反復を処理し得る。
ｃ．適用可能なマッピングを有するペイロードのデスクランブル
［態様３：要求されるテストデータ量を削減するための解決手段］
【０１６８】
課題：テストデータ量が増大する。これは、メモリアクセスおよび多サイトデータストリーミングにおいて、ストレージ、および、要求される帯域幅に影響する。
【０１６９】
解決手段
【０１７０】
マスクデータおよびコマンドフラグデータは、受信データとの実際の比較の直前に、リアルタイム圧縮解除を可能にするアルゴリズムで圧縮され得る。
【０１７１】
マスクビットは珍しく、バーストする可能性がより高いはずなので、ランレングス符号化が有効であり得、復号が単純である。
【０１７２】
例えば、受信ワードがコマンドおよびペイロードビットに分割される場合、コマンドフラグデータは、ランレングス符号化され得る、または、アルゴリズムによって圧縮され得る。
態様４：シーケンシングコマンドの時間オーバーヘッドを削減するための解決手段
【０１７３】
課題：ＨＳＩＯスキャンテストは、例えば、ＨＳＩＯスキャン前のデバイスのセットアップ、ＨＳＩＯスキャンテストの間のテスト条件の変更、または、独立したＨＳＩＯスキャンパターンテストのバーストなど、他の動作に挟まれている。これら全部の場合において、動作のシーケンシャル実行はオーバーヘッドにつながる。
【０１７４】
典型的なＡＴＥにおいて、これは最小化される、または、完全に回避される。そのために、テストが中断無く継続し得るようにＦＩＦＯにおける以下の動作のテストデータを準備する。
【０１７５】
解決手段
【０１７６】
ＨＳＩＯスキャンを制御する動作は概して、高レベルのオペレーティングシステムにおけるソフトウェアスタックによるサポートを要求する。したがって、以下の動作のテストデータを準備することは、前のものが完了する前に、ＯＳレベルのアクティビティの並行した開始を要求する。これは、典型的には従来技術のオペレーティングシステム（例えばＬｉｎｕｘ（登録商標））によって利用可能なマルチスレッドによって行われ得る。しかしながら、ＤＵＴインタフェースのアクティビティは順番である必要がある。したがって、ＵＳＢデータの送信は、先の動作が完了するまで一時停止される必要がある。
【０１７７】
ＨＳＩＯスキャンデータ伝送の一時停止は、特定のＨＳＩＯポートのプロトコルスタックの干渉を要求する。例えば、ＰＣＩｅの場合、ＰＣＩｅは、準備されたフレームを開始できるまで、ＩＤＬＥの駆動を継続し得る。ＤＵＴからのＤＭＡアクセスの場合、ＰＣＩｅは完全に準備され得、先の動作が完了した後に、ＤＵＴがＤＭＡデータ伝達に関与するのを待機する。
【０１７８】
データ伝送の一時停止は、ＨＳＩＯ  ＩＰにおけるＨＳＩＯスタックの適切な変更を要求する。例えば、ＨＳＩＯは、伝送を準備する２つのパイプラインを有し得る。次の利用可能なスロットにおけるデータ伝送を解放するために、トリガが受信されるまで、毎回、それらの１つがアーム化／ゲート化（ａｒｍｅｄ／ｇａｔｅｄ）されたままである。トリガは、低レベルのソフトウェアコマンド、または、別の計器もしくは更にはＤＵＴ自体から受信される電気トリガのいずれかであり得る。
［態様５：テスト用セットアップ、テストデータ、および、テストデータフローがＨＳＩＯポートの詳細から結合解除した状態を維持するための解決手段］
【０１７９】
課題：ＨＳＩＯインタフェースは、異なるオペレーティングシステムで、様々なドライバで、様々な手段でプログラムされる。テスト装置がサポートする必要がある典型的なバリエーションは、これらに限定されないが、以下を含む。
・ＵＳＢ、ＰＣＩｅ、１１４９．１０または更にはプロプライエタリなインタフェースを含む様々なＨＳＩＯポート
・ホスト／ルートまたはエンドポイントとして動作するＨＳＩＯ
・ＡＴＥからデータを取り寄せるＤＵＴまたはＤＵＴ（ＤＭＡ）にテストデータをアクティブにストリーミングするＡＴＥ
・標準インタフェースを通じた、または、カスタムドライバを要求するＨＳＩＯ通信
【０１８０】
しかしながら、ＡＴＥおよびテストプログラムは、一般的で構成可能なテスト用セットアップおよびユースケースを可能にする必要がある。
【０１８１】
解決手段
【０１８２】
ＡＴＥの解決手段は、例えば、ＰＣＩｅエンドポイントから１１４９．１０テストインタフェースの、テストプログラムにおけるポートインタフェースを再構成することを可能にする。
【０１８３】
ＡＴＥソフトウェアは、１または複数のＨＳＩＯタイプに適用できる仮想「計器」によって可能となる、２またはより多くの汎用モデルをサポートする。例：
・プッシュモードストリーミング（ＵＳＢ、１１４９．１０に典型的）：ＡＴＥはアクティブに刺激データをＨＳＩＯ通信にプッシュする
・ＤＭＡモード（ＰＣＩｅに典型的）：ＤＵＴは、ＯＣＳＴメモリを、メモリ空間にマッピングし、それとの間でデータを読み出す
【０１８４】
顧客またはサードパーティが、プロプライエタリなインタフェースに従って標準ブロックを調整することを可能にするために、システム内にフックを追加する。例：
・選択されたユースモデル、例えばＤＭＡに従って、カスタムポートを実装するための標準インタフェースを定義する。
・歩留り習熟のために受信されたパッケージを解析するためにＯＣＳＴカード上で実行する効率的なカスタム／サードパーティコード。この場合、予期データは、直接的に比較可能な予期データではなく、サポート情報を含み得る。
・データをＨＳＩＯにプッシュする直前のＤＵＴごとの暗号化。
・ＤＭＡモードで結果を書き込むＤＵＴによって使用されるアドレスのサイトごとのマッピングを可能にする。これにより、各サイトのＤＭＡが同一である場合でも、物理的な受信メモリが別個であることを維持する。
［結論］
【０１８５】
結論として、本明細書に記載の実施形態は任意で、本明細書に記載の重要な点または態様のいずれかによって補完され得る。しかしながら、本明細書に記載の重要な点および態様は、個別に、または組み合わせて使用され得、個別に、および組み合わせの両方で、本明細書に記載の実施形態のいずれかに導入され得ることに留意されたい。
［代替的な実装］
【０１８６】
一部の態様は、機器の文脈で記載したが、これらの態様は対応する方法の記載も表すことは明らかである。ブロックまたはデバイスは、方法の段階または方法の段階の特徴に対応する。同様に、方法の段階の文脈において記載される態様はまた、対応する機器の対応するブロックまたは品目または特徴の記載を表す。方法の段階の一部または全部は、例えば、マイクロプロセッサ、プログラマブルコンピュータ、または電子回路など、ハードウェア機器によって（または、それを使用することによって）実行され得る。一部の実施形態において、大部分の重要な方法の段階の１または複数は、そのような機器において実行され得る。
【０１８７】
特定の実装要件に応じて、発明の実施形態は、ハードウェアまたはソフトウェアにおいて実装され得る。実装は、デジタルストレージ媒体、例えば、電子的可読制御信号が格納されたフロッピーディスク、ＤＶＤ、Ｂｌｕ‐Ｒａｙ、ＣＤ、ＲＯＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭまたはＦＬＡＳＨ（登録商標）メモリを使用して実行され得る。これらは、それぞれの方法が実行されるように、プログラマブルコンピュータシステムと協同する（または、協同可能である）。したがって、デジタルストレージ媒体はコンピュータ可読であり得る。
【０１８８】
本発明による一部の実施形態は、本明細書に記載の方法の１つが実行されるようにプログラマブルコンピュータシステムと協同可能な、電子的可読制御信号を有するデータキャリアを含む。
【０１８９】
概して、本発明の実施形態は、プログラムコードを有するコンピュータプログラム製品として実装され得、プログラムコードは、コンピュータプログラム製品がコンピュータ上で実行するときに、方法の１つを実行するように動作可能である。プログラムコードは例えば、機械可読キャリアに格納され得る。 
【０１９０】
他の実施形態は、機械可読キャリアに格納された、本明細書に記載の方法の１つを実行するためのコンピュータプログラムを含む。 
【０１９１】
換言すれば、本発明の方法の実施形態は、したがって、コンピュータ上でコンピュータプログラムが実行するとき、本明細書に記載の方法の１つを実行するためのプログラムコードを含むコンピュータプログラムである。
【０１９２】
本発明の方法の更なる実施形態は、したがって、本明細書に記載の方法の１つを実行するためのコンピュータプログラムが記録されたデータキャリア（またはデジタルストレージ媒体、またはコンピュータ可読媒体）である。データキャリア、デジタルストレージ媒体、または、記録媒体は典型的には、有形および／または非一時的である。
【０１９３】
本発明の方法の更なる実施形態は、したがって、本明細書に記載の方法の１つを実行するためのコンピュータプログラムを表す、データストリーム、または、一連の信号である。データストリームまたは一連の信号は、例えば、データ通信接続を介して、例えばインターネットを介して伝達されるよう構成され得る。 
【０１９４】
更なる実施形態は処理手段、例えば、本明細書に記載の方法の１つを実行するよう構成または適用されるコンピュータ、または、プログラマブルロジックデバイスを含む。
【０１９５】
更なる実施形態は、本明細書に記載の方法の１つを実行するためのコンピュータプログラムがインストールされたコンピュータを含む。 
【０１９６】
本発明による更なる実施形態は、本明細書に記載の方法の１つを実行するためのコンピュータプログラムを受信側に（例えば、電子的に、または光学的に）伝達するよう構成される機器またはシステムを含む。受信側は例えば、コンピュータ、モバイルデバイス、メモリデバイスまたは同様のものであり得る。機器またはシステムは例えば、コンピュータプログラムを受信側へ伝達するためのファイルサーバを含み得る。
【０１９７】
一部の実施形態において、プログラマブルロジックデバイス（例えばフィールドプログラマブルゲートアレイ）は、本明細書に記載の方法の機能の一部または全部を実行するために使用され得る。一部の実施形態において、本明細書に記載の方法の１つを実行するべく、フィールドプログラマブルゲートアレイは、マイクロプロセッサと協同し得る。概して、方法は好ましくは、任意のハードウェア機器によって実行される。
【０１９８】
本明細書に記載の機器は、ハードウェア機器を使用して、または、コンピュータを使用して、または、ハードウェア機器およびコンピュータの組み合わせを使用して実装され得る。
【０１９９】
本明細書に記載の機器、または、本明細書に記載の機器の任意のコンポーネントは、ハードウェアおよび／またはソフトウェアにおいて少なくとも部分的に実装され得る。 
【０２００】
本明細書に記載の方法は、ハードウェア機器を使用して、または、コンピュータを使用して、または、ハードウェア機器およびコンピュータの組み合わせを使用して実行され得る。
【０２０１】
本明細書に記載の方法、または、本明細書に記載の機器の任意のコンポーネントは、ハードウェア、および／またはソフトウェアによって少なくとも部分的に実行され得る。 
【０２０２】
上記の実施形態は単に、本発明の原理を説明するためのものである。本明細書に記載の構成および詳細の修正および変形は当業者にとって明らかであることが理解される。したがって、本明細書の実施形態の記載および説明によって提示される特定の詳細ではなく、出願中の特許請求の範囲のみによって限定されることが意図されている。
【図１】
2021520001.tif 000003
【図２】
2021520001.tif 000004
【図３】
2021520001.tif 000005
【図４】
2021520001.tif 000006
【図５】
2021520001.tif 000007
【図６】
2021520001.tif 000008
【図７】
2021520001.tif 000009
【図８】
2021520001.tif 000010
【国際調査報告】
2021520001.tif 000011
2021520001.tif 000012