(57)【要約】試験のために構成された集積回路が説明される。集積回路は、高速入力／出力インターフェースを含む。集積回路はまた、高速入力／出力インターフェースに結合された試験コントローラを含む。集積回路はさらに、試験コントローラに結合された試験回路を含む。試験コントローラは、高速入力／出力インターフェースからのコントローラプロトコル試験情報に基づいて、試験回路を制御する。【選択図】図１
2014522961.tif 000002
【特許請求の範囲】
【請求項１】
試験のために構成された集積回路であって、
高速入力／出力インターフェースと、
前記高速入力／出力インターフェースに結合される試験コントローラと、
前記試験コントローラに結合される試験回路とを備え、前記試験コントローラが、前記高速入力／出力インターフェースからのコントローラプロトコル試験情報に基づいて、前記試験回路を制御する、集積回路。
【請求項２】
前記試験コントローラおよび前記試験回路に結合された、試験アクセスポートをさらに備える、請求項１に記載の集積回路。
【請求項３】
前記高速入力／出力インターフェースが、高速入力／出力プロトコル試験情報を前記コントローラプロトコル試験情報へとフォーマット化し、前記試験コントローラが、前記コントローラプロトコル試験情報を、前記試験回路を制御するために前記試験アクセスポートに提供されるｊｏｉｎｔ  ｔｅｓｔ  ａｃｔｉｏｎ  ｇｒｏｕｐプロトコル試験情報へとフォーマット化する、請求項２に記載の集積回路。
【請求項４】
前記試験コントローラが、ｊｏｉｎｔ  ｔｅｓｔ  ａｃｔｉｏｎ  ｇｒｏｕｐプロトコル試験結果をコントローラプロトコル試験結果へとフォーマット化し、前記高速入力／出力インターフェースが、前記コントローラプロトコル試験結果を高速入力／出力プロトコル試験結果へとフォーマット化する、請求項２に記載の集積回路。
【請求項５】
試験アクセスポートインターフェース信号が、前記試験アクセスポートの前に傍受される、請求項２に記載の集積回路。
【請求項６】
前記試験アクセスポートによって提供される試験制御信号およびデータ信号が、前記試験アクセスポートの後に傍受される、請求項２に記載の集積回路。
【請求項７】
前記試験コントローラが、前記試験アクセスポートを通じてアクセスされない試験回路の一部で試験を実行する、請求項２に記載の集積回路。
【請求項８】
前記コントローラプロトコル試験情報が、リセットメッセージと、命令メッセージと、データメッセージとからなる群の少なくとも１つを含む、請求項１に記載の集積回路。
【請求項９】
前記コントローラプロトコル試験情報が、試験データ入力メッセージと、試験モード選択メッセージと、試験データ出力メッセージとからなる群の少なくとも１つを含む、請求項１に記載の集積回路。
【請求項１０】
前記コントローラプロトコル試験情報が、目標の試験アクセスポート状態と、入力／出力フィールドと、データとを含む、メッセージを含む、請求項１に記載の集積回路。
【請求項１１】
前記高速入力／出力インターフェースが、ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ（ＵＳＢ）インターフェースである、請求項１に記載の集積回路。
【請求項１２】
前記高速入力／出力インターフェースが、モバイルディスプレイデジタルインターフェース（ＭＤＤＩ）である、請求項１に記載の集積回路。
【請求項１３】
前記試験回路が、境界スキャンレジスタと、スキャンチェーンと、レジスタとメモリとからなる群の少なくとも１つである、請求項１に記載の集積回路。
【請求項１４】
前記コントローラプロトコル試験情報がパラレルフォーマットである、請求項１に記載の集積回路。
【請求項１５】
前記コントローラプロトコル試験情報がシリアルフォーマットである、請求項１に記載の集積回路。
【請求項１６】
前記試験コントローラが、前記高速入力／出力インターフェースとは別個である、請求項１に記載の集積回路。
【請求項１７】
集積回路を試験するための方法であって、
高速入力／出力インターフェースにおいて、高速入力／出力プロトコル試験情報を受信することと、
前記高速入力／出力プロトコル試験情報に基づいて、コントローラプロトコル試験情報を生成することと、
前記コントローラプロトコル試験情報を試験コントローラに提供することと、
前記高速入力／出力インターフェースからの前記コントローラプロトコル試験情報に基づいて、試験回路を制御することとを備える、方法。
【請求項１８】
前記集積回路が、前記試験コントローラおよび前記試験回路に結合された試験アクセスポートを備える、請求項１７に記載の方法。
【請求項１９】
前記コントローラプロトコル試験情報を生成することが、前記高速入力／出力プロトコル試験情報を前記コントローラプロトコル試験情報へとフォーマット化することを備え、前記方法が、前記コントローラプロトコル試験情報を、前記試験回路を制御するために前記試験アクセスポートに提供されるｊｏｉｎｔ  ｔｅｓｔ  ａｃｔｉｏｎ  ｇｒｏｕｐプロトコル試験情報へとフォーマット化することをさらに備える、請求項１８に記載の方法。
【請求項２０】
ｊｏｉｎｔ  ｔｅｓｔ  ａｃｔｉｏｎ  ｇｒｏｕｐプロトコル試験結果をコントローラプロトコル試験結果へとフォーマット化することと、前記コントローラプロトコル試験結果を高速入力／出力プロトコル試験結果へとフォーマット化することとをさらに備える、請求項１８に記載の方法。
【請求項２１】
試験アクセスポートインターフェース信号を前記試験アクセスポートより前に傍受することをさらに備える、請求項１８に記載の方法。
【請求項２２】
前記試験アクセスポートによって提供される試験制御信号とデータ信号とを、前記試験アクセスポートの後に傍受することをさらに備える、請求項１８に記載の方法。
【請求項２３】
前記試験アクセスポートを通じてアクセスされない試験回路の一部で試験を実行することをさらに備える、請求項１８に記載の方法。
【請求項２４】
前記コントローラプロトコル試験情報が、リセットメッセージと、命令メッセージと、データメッセージとからなる群の少なくとも１つを含む、請求項１７に記載の方法。
【請求項２５】
前記コントローラプロトコル試験情報が、試験データ入力メッセージと、試験モード選択メッセージと、試験データ出力メッセージとからなる群の少なくとも１つを含む、請求項１７に記載の方法。
【請求項２６】
前記コントローラプロトコル試験情報が、目標の試験アクセスポート状態と、入力／出力フィールドと、データとを含む、メッセージを含む、請求項１７に記載の方法。
【請求項２７】
前記高速入力／出力インターフェースが、ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ（ＵＳＢ）インターフェースである、請求項１７に記載の方法。
【請求項２８】
前記高速入力／出力インターフェースが、モバイルディスプレイデジタルインターフェース（ＭＤＤＩ）である、請求項１７に記載の方法。
【請求項２９】
前記試験回路が、境界スキャンレジスタと、スキャンチェーンと、レジスタとメモリとからなる群の少なくとも１つである、請求項１７に記載の方法。
【請求項３０】
前記コントローラプロトコル試験情報がパラレルフォーマットである、請求項１７に記載の方法。
【請求項３１】
前記コントローラプロトコル試験情報がシリアルフォーマットである、請求項１７に記載の方法。
【請求項３２】
前記試験コントローラが、前記高速入力／出力インターフェースとは別個である、請求項１７に記載の方法。
【請求項３３】
命令を有する非一時的有形コンピュータ可読媒体を備える、集積回路を試験するためのコンピュータプログラム製品であって、前記命令が、
電子デバイスに、高速入力／出力インターフェースにおいて、高速入力／出力プロトコル試験情報を受信させるためのコードと、
前記電子デバイスに、前記高速入力／出力プロトコル試験情報に基づいて、コントローラプロトコル試験情報を生成させるためのコードと、
前記電子デバイスに、前記コントローラプロトコル試験情報を試験コントローラへ提供させるためのコードと、
前記電子デバイスに、前記高速入力／出力インターフェースからの前記コントローラプロトコル試験情報に基づいて、試験回路を制御させるためのコードとを備える、コンピュータプログラム製品。
【請求項３４】
前記集積回路が、前記試験コントローラおよび前記試験回路に結合された試験アクセスポートを備える、請求項３３に記載のコンピュータプログラム製品。
【請求項３５】
前記電子デバイスに、前記コントローラプロトコル試験情報を生成させるための前記コードが、前記電子デバイスに、前記高速入力／出力プロトコル試験情報を前記コントローラプロトコル試験情報へとフォーマット化させるためのコードを備え、前記命令がさらに、前記電子デバイスに、前記コントローラプロトコル試験情報を、前記試験回路を制御するために前記試験アクセスポートに提供されるｊｏｉｎｔ  ｔｅｓｔ  ａｃｔｉｏｎ  ｇｒｏｕｐプロトコル試験情報へとフォーマット化させるためのコードを備える、請求項３４に記載のコンピュータプログラム製品。
【請求項３６】
前記命令がさらに、前記電子デバイスに、ｊｏｉｎｔ  ｔｅｓｔ  ａｃｔｉｏｎ  ｇｒｏｕｐプロトコル試験結果をコントローラプロトコル試験結果へとフォーマット化させるためのコードと、前記電子デバイスに、前記コントローラプロトコル試験結果を高速入力／出力プロトコル試験結果へとフォーマット化させるためのコードとを備える、請求項３４に記載のコンピュータプログラム製品。
【請求項３７】
集積回路を試験するための装置であって、
高速入力／出力プロトコル試験情報を受信するための手段と、
前記高速入力／出力プロトコル試験情報に基づいて、コントローラプロトコル試験情報を生成するための手段と、
前記コントローラプロトコル試験情報を提供するための手段と、
前記コントローラプロトコル試験情報に基づいて、試験回路を制御するための手段とを備える、装置。
【請求項３８】
前記集積回路が、前記試験回路を試験するための追加の手段を備える、請求項３７に記載の装置。
【請求項３９】
前記コントローラプロトコル試験情報を生成するための前記手段が、前記高速入力／出力プロトコル試験情報を前記コントローラプロトコル試験情報へとフォーマット化するための手段を備え、前記装置が、前記コントローラプロトコル試験情報を、前記試験回路を制御するために提供されるｊｏｉｎｔ  ｔｅｓｔ  ａｃｔｉｏｎ  ｇｒｏｕｐプロトコル試験情報へとフォーマット化するための手段をさらに備える、請求項３７に記載の装置。
【請求項４０】
ｊｏｉｎｔ  ｔｅｓｔ  ａｃｔｉｏｎ  ｇｒｏｕｐプロトコル試験結果をコントローラプロトコル試験結果へとフォーマット化するための手段と、前記コントローラプロトコル試験結果を高速入力／出力プロトコル試験結果へとフォーマット化するための手段とをさらに備える、請求項３７に記載の装置。
【発明の詳細な説明】
【関連出願】
【０００１】
本出願は、「ＦＲＡＭＥＷＯＲＫ  ＡＮＤ  ＰＲＯＴＯＣＯＬ  ＦＯＲ  ＵＴＩＬＩＺＩＮＧ  ＨＩＧＨ−ＳＰＥＥＤ  ＩＮＰＵＴ／ＯＵＴＰＵＴ  ＩＮＴＥＲＦＡＣＥＳ  ＦＯＲ  ＴＥＳＴ  ＣＯＮＴＲＯＬ  ＡＮＤ  ＴＥＳＴ  ＤＡＴＡ  ＤＥＬＩＶＥＲＹ」という、２０１１年６月１７日に出願した米国仮特許出願第６１／４９８，４３１号に関し、この仮特許出願の優先権を主張する。
【技術分野】
【０００２】
本開示は全般に、電子デバイスに関する。より詳細には、本開示は、高速入力／出力インターフェースを使用して試験するための集積回路に関する。
【背景技術】
【０００３】
電子デバイスは、日常生活の一部となっている。電子デバイスの例には、集積回路、携帯電話、スマートフォン、ワイヤレスモデム、コンピュータ、デジタル音楽プレーヤ、全地球測位システム（ＧＰＳ）ユニット、携帯情報端末、ゲームデバイスなどがある。現在、自動車から住宅の鍵まで、あらゆるものに電子デバイスが入っている。電子デバイスの複雑さは、ここ数年で劇的に増した。例えば、多くの電子デバイスは、デバイスを制御するのを助ける１つまたは複数のプロセッサ、ならびにプロセッサとデバイスの他の部分とをサポートするためのいくつかのデジタル回路を有する。
【０００４】
複雑さのこの上昇によって、集積回路および／またはデジタルシステムを試験できる試験に対する必要性が増してきた。試験は、いくつかのハードウェア、ソフトウェア、またはこれら両方の組合せのような、デバイスの様々な部分を検証または試験するために使用され得る。
【０００５】
しかしながら、集積回路を試験することは、試験を実行するための試験装置および試験時間のような、試験リソースを必要とする。いくつかの場合には、集積回路上でのいくつかの試験の実行は、特定の製造段階に限定されることがあり、一回当たり限られた数の集積回路に限定されることがある。この議論から認識され得るように、試験の行いやすさおよび／または速さを向上させるのを助ける、システムおよび方法が有益であり得る。
【発明の概要】
【０００６】
試験のために構成された集積回路が説明される。集積回路は、高速入力／出力インターフェースを含む。集積回路はまた、高速入力／出力インターフェースに結合された試験コントローラを含む。集積回路はさらに、試験コントローラに結合された試験回路を含む。試験コントローラは、高速入力／出力インターフェースからのコントローラプロトコル試験情報に基づいて、試験回路を制御する。試験コントローラは、高速入力／出力インターフェースから分離され得る。
【０００７】
集積回路はまた、試験コントローラおよび試験回路に結合された、試験アクセスポートを含み得る。高速入力／出力インターフェースは、高速入力／出力プロトコル試験情報を、コントローラプロトコル試験情報へとフォーマット化できる。試験コントローラは、コントローラプロトコル試験情報を、試験回路を制御するために試験アクセスポートに提供されるｊｏｉｎｔ  ｔｅｓｔ  ａｃｔｉｏｎ  ｇｒｏｕｐプロトコル試験情報へと、フォーマット化できる。
【０００８】
試験コントローラは、ｊｏｉｎｔ  ｔｅｓｔ  ａｃｔｉｏｎ  ｇｒｏｕｐプロトコル試験結果をコントローラプロトコル試験結果へとフォーマット化できる。高速入力／出力インターフェースは、コントローラプロトコル試験結果を、高速入力／出力プロトコル試験結果へとフォーマット化できる。
【０００９】
試験アクセスポートインターフェース信号は、試験アクセスポートの前で傍受され得る。試験アクセスポートによって提供される試験制御信号およびデータ信号は、試験アクセスポートの後で傍受され得る。
【００１０】
試験コントローラは、試験アクセスポートを通ってアクセスされない試験回路の一部において、試験を実行できる。試験回路は、境界スキャンレジスタ、スキャンチェーン、レジスタおよび／またはメモリであり得る。
【００１１】
コントローラプロトコル試験情報は、リセットメッセージ、命令メッセージ、および／またはデータメッセージを含み得る。コントローラプロトコル試験情報は、試験データ入力メッセージ、試験モード選択メッセージ、および／または試験データ出力メッセージを含み得る。コントローラプロトコル試験情報は、目標の試験アクセスポート状態と、入力／出力フィールドと、データとを含む、メッセージを含み得る。
【００１２】
高速入力／出力インターフェースは、ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ（ＵＳＢ）インターフェースであってよい。高速入力／出力インターフェースは、モバイルディスプレイデジタルインターフェース（ＭＤＤＩ）であってよい。
【００１３】
コントローラプロトコル試験情報は、パラレルフォーマットであってよい。コントローラプロトコル試験情報は、シリアルフォーマットであってよい。
【００１４】
集積回路を試験するための方法も説明される。方法は、高速入力／出力インターフェースにおいて、高速入力／出力プロトコル試験情報を受信することを含む。方法はまた、高速入力／出力プロトコル試験情報に基づいて、コントローラプロトコル試験情報を生成することを含む。方法はさらに、コントローラプロトコル試験情報を試験コントローラに提供することを含む。方法は追加で、高速入力／出力インターフェースからのコントローラプロトコル試験情報に基づいて、試験回路を制御することを含む。
【００１５】
集積回路を試験するためのコンピュータプログラム製品が説明される。コンピュータプログラム製品は、命令を伴う非一時的有形コンピュータ可読媒体を含む。命令は、電子デバイスに、高速入力／出力インターフェースにおいて、高速入力／出力プロトコル試験情報を受信させるためのコードを含む。命令はまた、電子デバイスに、高速入力／出力プロトコル試験情報に基づいて、コントローラプロトコル試験情報を生成させるためのコードを含む。命令はさらに、電子デバイスに、コントローラプロトコル試験情報を試験コントローラへ提供させるためのコードを含む。命令は追加で、電子デバイスに、高速入力／出力インターフェースからのコントローラプロトコル試験情報に基づいて、試験回路を制御させるためのコードを含む。
【００１６】
集積回路を試験するための装置も説明される。装置は、高速入力／出力プロトコル試験情報を受信するための手段を含む。装置はまた、高速入力／出力プロトコル試験情報に基づいて、コントローラプロトコル試験情報を生成するための手段を含む。装置はさらに、コントローラプロトコル試験情報を提供するための手段を含む。装置は追加で、コントローラプロトコル試験情報に基づいて、試験回路を制御するための手段を含む。
【図面の簡単な説明】
【００１７】
【図１】高速入力／出力（ＨＳＩＯ）インターフェースを使用して試験するための集積回路の一構成を示すブロック図。
【図２】高速入力／出力インターフェース（ＨＳＩＯ）を使用して試験するための方法の一構成を示す流れ図。
【図３】高速入力／出力（ＨＳＩＯ）インターフェースを使用して試験するための集積回路のより具体的な構成を示すブロック図。
【図４】高速入力／出力インターフェース（ＨＳＩＯ）を使用して試験するための方法のより具体的な構成を示す流れ図。
【図５】高速入力／出力インターフェース（ＨＳＩＯ）を使用した試験が実施され得る、集積回路の一例を示すブロック図。
【図６】高速入力／出力インターフェース（ＨＳＩＯ）を使用した試験が実施され得る、集積回路の別の例を示すブロック図。
【図７】高速入力／出力インターフェース（ＨＳＩＯ）を使用した試験が実施され得る、集積回路の別の例を示すブロック図。
【図８】高速入力／出力インターフェース（ＨＳＩＯ）を使用した試験が実施され得る、集積回路の別の例を示すブロック図。
【図９】高速入力／出力インターフェース（ＨＳＩＯ）を使用した試験が実施され得る、集積回路の別の例を示すブロック図。
【図１０】高速入力／出力インターフェース（ＨＳＩＯ）を使用した試験が実施され得る、集積回路の別の例を示すブロック図。
【図１１】本明細書で開示されるシステムおよび方法に従って使用され得るコントローラプロトコルの一例を示す図。
【図１２】本明細書で開示されるシステムおよび方法に従って使用され得るコントローラプロトコルの別の例を示す図。
【図１３】本明細書で開示されるシステムおよび方法に従って使用され得るコントローラプロトコルの別の例を示す図。
【図１４】電子デバイスにおいて利用され得る様々なコンポーネントを示す図。
【発明を実施するための形態】
【００１８】
詳細な説明
文脈によって明確に限定されない限り、「信号」という用語は、本明細書では、ワイヤ、バス、または他の伝送媒体上に表されたメモリ位置（またはメモリ位置のセット）の状態を含む、その通常の意味のいずれをも示すために使用される。文脈によって明確に限定されない限り、「発生させること（generating）」という用語は、本明細書では、計算すること（computing）または別様に生成すること（producing）など、その通常の意味のいずれをも示すために使用される。文脈によって明確に限定されない限り、「計算すること（calculating）」という用語は、本明細書では、値のセットから計算すること（computing）、評価すること、および／または選択することなど、その通常の意味のいずれをも示すために使用される。文脈によって明確に限定されない限り、「取得すること（obtaining）」という用語は、計算すること（calculating）、導出すること、（例えば、外部デバイスから）受信すること、および／または（例えば、記憶要素のアレイからの）取り出すことなど、その通常の意味のいずれをも示すために使用される。「備えること（comprising）」という用語は、本明細書および特許請求の範囲において使用される場合、他の要素または動作を除外しない。「に基づく」（「ＡはＢに基づく」など）という用語は、（ｉ）「少なくとも〜に基づく」（例えば、「Ａは少なくともＢに基づく」）、および特定の文脈で適切な場合に、（ｉｉ）「と等しい」（例えば、「ＡはＢと等しい」）という場合を含む、その通常の意味のいずれをも示すために使用される。同様に、「に応答して」という用語は、「少なくとも〜に応答して」を含む、その通常の意味のいずれをも示すために使用される。
【００１９】
別段に規定されていない限り、特定の特徴を有する装置の動作のいかなる開示も、類似の特徴を有する方法を開示する（その逆も同様）ことをも明確に意図し、特定の構成による装置の動作のいかなる開示も、類似の構成による方法を開示する（その逆も同様）ことをも明確に意図する。「構成」という用語は、具体的な文脈によって示されるように、方法、装置、またはシステムに関して使用され得る。「方法」、「プロセス」、「手順」、および「技法」という用語は、具体的な文脈によって別段に規定されていない限り、総称的、互換的に使用される。「装置」および「デバイス」という用語も、特定の文脈によって別段に規定されていない限り、総称的、互換的に使用される。「要素」および「モジュール」という用語は、通常、より大きな構成の一部分を示すために使用される。また、文書の一部分の参照によるいかなる組込みも、その部分内で参照される用語または変数の定義が、その文書中の他の場所、ならびに組み込まれた部分中で参照される任意の図に現れた場合、そのような定義を組み込んでいることを理解されたい。
【００２０】
本明細書で使用される「ブロック／モジュール」という用語は、特定の要素がハードウェア、ソフトウェアまたは両方の組合せにおいて実装され得ることを示すために使用され得る。「結合された」という用語およびその変形は、１つの要素が別の要素へ直接または間接的に接続されることを示すために使用され得る。例えば、第１の要素が第２の要素に結合される場合、第１の要素は第２の要素に直接的に接続されてよく、または第３の要素を通じて第２の要素に間接的に接続されてよい。
【００２１】
多くの異なる種類の電子デバイスが、試験による恩恵を受けることができる。そのようなデバイスは、限定はされないが、集積回路、携帯電話、ワイヤレスモデム、コンピュータ、デジタル音楽プレーヤ、全地球測位システム（ＧＰＳ）ユニット、携帯情報端末、ゲームデバイスなどがある。デバイスの１つのグループは、ワイヤレス通信システムとともに使用され得るデバイスを含む。本明細書で使用される場合、「ワイヤレス通信デバイス」という用語は、ワイヤレス通信ネットワークを通じた音声通信および／またはデータ通信のために使用され得る、電子デバイスを指す。ワイヤレス通信デバイスの例には、携帯電話、スマートフォン、ハンドヘルドワイヤレスデバイス、ワイヤレスモデム、ラップトップコンピュータ、パーソナルコンピュータなどがある。ワイヤレス通信デバイスは、代替的に、アクセス端末、モバイル端末、加入者局、リモート局、ユーザ端末、端末、加入者ユニット、ユーザ機器などと呼ばれることがある。
【００２２】
集積回路またはチップは、試験機能を制御し、試験データを送信し受信するために使用される、専用の試験インターフェースを保有できることが多い。専用の試験インターフェースの一例は、試験アクセスポート（ＴＡＰ）である。「試験アクセスポート（ＴＡＰ）」は、本明細書でいくつかの例において説明される。しかしながら、任意の専用の試験インターフェースが、これらの例では試験アクセスポート（ＴＡＰ）の代わりに使用され得ることに留意されたい。さらに、「ｊｏｉｎｔ  ｔｅｓｔ  ａｃｔｉｏｎ  ｇｒｏｕｐ（ＪＴＡＧ）プロトコル」という用語が、本明細書のいくつかの例で使用される。しかしながら、専用の試験インターフェースと通信するために使用され得る任意のプロトコルは、これらの例ではｊｏｉｎｔ  ｔｅｓｔ  ａｃｔｉｏｎ  ｇｒｏｕｐ（ＪＴＡＧ）プロトコルの代わりに使用され得ることを留意されたい。
【００２３】
集積回路が基板に組み立てられる場合、ルーティングチャネルが限られていることが原因で、試験インターフェースアクセスが失われることがある。これにより、試験機能の制御が阻まれることがあり、その後、（例えば、集積回路上の）チップ間の相互接続試験のような、いくつかの試験の実行が妨げられることがある。例えば、携帯電話では、デバイス間で、かつ周辺機器へデータを運ぶためのワイヤのための空間は、わずか数本分しかない。少数のワイヤしか下側のクラムシェル(clamshell)から上側のクラムシェルに向かうことができないクラムシェル型の携帯電話では、状況はさらに悪い。利用できるワイヤが限られていることで、電話の中のチップの試験インターフェースにアクセスすることができず、その後、ユーザは、既存の試験方法を使用して、デバイスの接続と構造上の機能とを試験することができない。
【００２４】
専用の試験インターフェースに必要な基板の空間は、通常、より高価な基板のルーティングという追加のコストを払うことによって（これは普通、非常にハイエンドの携帯電話およびデバイスを除き選択肢ではない）、設けられる。あるいは、単に試験機能を設けなくてもよいが、このことは、欠陥と歩留まりの問題の源を迅速に特定できない結果として、数百万ドルの追加の生産コストをもたらし得る。
【００２５】
本明細書で開示されるシステムおよび方法は、高速入力／出力（ＨＳＩＯ）インターフェース（例えば、ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ（ＵＳＢ）、モバイルディスプレイデジタルインターフェース（ＭＤＤＩ）など）を試験インターフェースとして利用することによって、この問題に対処する。集積回路上にはすでに多数のＨＳＩＯインターフェースが存在することが多いので、本明細書で開示されるシステムおよび方法は、専用の試験インターフェースのアクセスをサポートするのに必要とされ得る追加のルーティングコストを招くことなく、試験制御を可能にできる。本明細書で開示されるシステムおよび方法は、高速入力／出力（ＨＳＩＯ）インターフェースを使用することで、通常の専用の試験インターフェースを使用した場合よりも高速に試験が実行され得るという点で有利となり得る。さらに、本明細書で開示されるシステムおよび方法は、試験において使用され得る集積回路当たりのピンがより少ないので、一度に多数の集積回路を試験することを可能にし得る。
【００２６】
従って、試験のためにＨＳＩＯインターフェースを使用することの１つの利点は、少数のピンを通じた高速な試験データの送達である。このことは、使用するピンの数が少ないことにより、より高速な試験とパラレリズムのレベルの向上とを可能にし、その結果試験のコストが減る。言い換えると、試験するのに必要な時間の長さを減らすことによって、かつ／または、一度に試験され得るデバイス（例えば、集積回路）の数を増やすことによって、試験のためのＨＳＩＯインターフェースを使用することで、試験のコストは減らされ得る。加えて、試験のためにＨＳＩＯインターフェースを使用することで、専用の試験インターフェースへのアクセスが阻まれている場合であっても、試験が可能になり得る。
【００２７】
一構成では、試験コントローラは、ＨＳＩＯインターフェースを通じて試験デバイスと通信する、集積回路上で実装され得る。試験コントローラは、ハードウェアおよび／またはソフトウェアで（例えば、デバイス中または集積回路上の既存のプロセッサを使用することによって）実装され得る。試験コントローラは、ＨＳＩＯインターフェースを通じて送達されるデータを符号化することによりＴＡＰによって通常は生成されるであろう、試験命令を生成できる。
【００２８】
本明細書で開示されるシステムおよび方法のいくつかの可能な構成の例が、以下で与えられる。一構成では、試験コントローラ（ハードウェアおよび／またはソフトウェアで実装される）は、ＨＳＩＯインターフェースを通じて、外部デバイス（例えば、試験デバイス）と通信する（例えば、情報を送信および／または受信する）。この構成では、試験コントローラは、ＴＡＰによって提供される試験制御信号とデータ信号とを傍受し、ＨＳＩＯインターフェースから取得した命令に基づいて、適切な制御値とデータ値とを提供する。試験コントローラはまた、ＨＳＩＯを通じて、試験結果または応答を外部デバイスに送達できる。この構成の一例では、試験制御信号および／または試験データ信号は、ＴＡＰの後で傍受され得る。別の例では、ＴＡＰインターフェース信号は、ＴＡＰの前で傍受され得る。さらに別の例では、試験制御信号および／または試験データ信号は、下流の論理の中の任意の時点において傍受され得る。
【００２９】
いくつかの構成では、本明細書で開示されるシステムおよび方法は、ＴＡＰインターフェース（ＨＳＩＯインターフェースと比べて相対的に遅いことがある）を通じては可能ではないことがある、他の試験を追加でサポートできる。例えば、高速試験データストリームは、ＨＳＩＯを使用することによって、集積回路上のメモリにルーティングされ得る。
【００３０】
加えて、または代替的に、本明細書で開示されるシステムおよび方法は、パラレルに、複数のスキャンチャネルを駆動し、レジスタをロードおよび／またはアンロードするために使用され得る。例えば、ＨＳＩＯインターフェース物理（ＰＨＹ）層が、パラレルフォーマットで、試験コントローラとの間でデータを送信し受信している場合、ＨＳＩＯインターフェース物理層が、複数のスキャンチェーンを駆動するために使用され得る。
【００３１】
あるいは、データが高速シリアルストリームとして（試験コントローラに）到達している場合、データは、複数のスキャンチャネルへと復号され得る。例えば、毎秒８０メガビット（Ｍｂｐｓ）のデータストリームが、２０Ｍｂｐｓで４個のスキャンチェーンを駆動するために使用され得る。レジスタへのデータのシリアルロードに加えて、パラレルデータロードも、いくつかの構成においてサポートされ得る。一例では、特定のレジスタが選択され、ＨＳＩＯインターフェースを通じてデータがパラレルにロードされる。同様に、選択されたレジスタデータがパラレルに読み取られ得る（例えば、アンロードされ得る）。一構成では、全てのレジスタへのデータのパラレルなロードが可能にされ得る。任意選択で、全てのレジスタに同一のデータをロードしてよく、または、特定のレジスタに試験データをロードしつつ、レジスタの残りにユーザがプログラム可能なデータ（例えば、すべて０のような）をロードしてよい。いくつかの構成では、選択されたレジスタはパラレルに読み取られてよい。
【００３２】
試験コントローラおよびＨＳＩＯは、プロトコル（例えば、「コントローラプロトコル」）に基づいて通信し得る。例えば、試験コントローラは、ＨＳＩＯ  ＰＨＹまたは内部のソースから、クロック入力を得ることができる。試験コントローラとＨＳＩＯとの間の通信チャネルは空いており、試験コントローラとＨＳＩＯはプロトコル（例えば、「コントローラプロトコル」）に基づいて互いに通信する。プロトコルの一構成は、リセット、命令、またはデータを、試験コントローラに送信するだけである。試験コントローラは、リセットの後、ＴＡＰの有限状態機械（ＦＳＭ）をアイドル状態に設定する。通信が命令かデータかに基づいて、試験コントローラは、アイドル状態から開始する必要なＦＳＭシーケンス全体を経て、命令を完了し、アイドル状態に戻る（従って、任意の追加の命令を待機する）。同様に、情報（例えば、データ）は、（例えば、要求されると）ＨＳＩＯインターフェースを通じて出力され得る。
【００３３】
別の構成では、サイクルごとのＦＳＭ制御は、符号化を使用して、ＨＳＩＯインターフェースを通じて、ＴＡＰインターフェース信号全体を送達することによって、実現され得る。このプロトコル構成では、目標のＴＡＰ状態に到達するための試験モード選択（ＴＭＳ）シーケンスが、最初に送達される。データ書込みおよび／または読取りは、試験データイン（ＴＤＩ）命令および／または試験データアウト（ＴＤＯ）命令を利用することによって、この特定の状態において実行され得る。次いで、次の試験モード選択（ＴＭＳ）シーケンスを送信することによって、新たな状態遷移が後に続き得る。
【００３４】
別の構成では、目標の状態およびこの特定の状態における動作（例えば、書込みおよび／または読取り）が、命令に埋め込まれ得る。試験コントローラは、入来する命令中の符号化された状態情報を使用することによって、目標の状態に直接飛び、データのシフトインまたはシフトアウトを実行できる。
【００３５】
本明細書で開示されるシステムおよび方法は、既存のＨＳＩＯインターフェースを試験インターフェースとして利用できる。これによって、専用の試験インターフェース（例えば、ＴＡＰ）の必要性がなくなり得る。従って、本明細書で開示されるシステムおよび方法は、ルーティングの要件を減らし、他の方法では可能ではないであろう試験およびデバッグの能力を可能にできる。その結果、専用の試験インターフェースのアクセスを伴わずに、試験品質を上げることができ、デバイスのデバッグ時間を減らすことができる。ＴＡＰおよび可能性のある他の試験機構と関連する全ての命令が、ＨＳＩＯインターフェースプロトコルに埋め込まれ得る。
【００３６】
次に、図面を参照して様々な構成が説明され、同様の参照番号は機能的に同様の要素を示し得る。本明細書で全般に説明され図に示されるシステムおよび方法は、多種多様な異なる構成で構成および設計され得る。従って、図に表されるいくつかの構成についての以下のより詳細な説明は、特許請求する範囲を限定するものではなく、システムおよび方法を代表するものにすぎない。
【００３７】
図１は、高速入力／出力（ＨＳＩＯ）インターフェース１１６を使用して試験するための集積回路１０２の一構成を示すブロック図である。集積回路１０２は、試験回路１０４と、試験コントローラ１１０と、高速入力／出力（ＨＳＩＯ）インターフェース１１６とを含む。高速入力／出力（ＨＳＩＯ）インターフェース１１６は、試験コントローラ１１０に結合されてよく、試験コントローラ１１０は、試験回路１０４に結合されてよい。試験回路１０４は、試験のための１つまたは複数の回路要素を備え得る。例えば、試験回路１０４は、１つまたは複数の個別のコンポーネント（例えば、抵抗、キャパシタ、インダクタ）、ダイオード、トランジスタ、ラッチ、レジスタ（例えば、境界スキャンレジスタ）、スキャンチェーン、フリップフロップ、メモリセル、バス、デジタル論理、プロセッサ、特定用途向け集積回路（ＡＳＩＣ）などを含み得る。いくつかの構成では、集積回路１０２は、ｄｅｖｉｃｅ  ｕｎｄｅｒ  ｔｅｓｔ（ＤＵＴ）であると考えられ得る。加えて、または代替的に、試験回路１０４は、試験のための情報を圧縮および／または解凍するための回路を含み得る。
【００３８】
試験コントローラ１１０は、試験回路１０４を制御するために使用され得る。例えば、試験コントローラ１１０は、試験回路１０４上で１つまたは複数の試験を実行するために、試験情報１０６（例えば、命令、データなど）を試験回路１０４に提供できる。試験コントローラ１１０はまた、試験回路１０４から試験結果１０８を受信できる。試験コントローラ１１０は、ハードウェア、ソフトウェア、または両方の組合せとして実装され得る。例えば、試験コントローラ１１０は、特定用途向け集積回路（ＡＳＩＣ）、マイクロコントローラ、命令を伴うプロセッサなどとして実装され得る。試験コントローラ１１０は、試験回路１０４に結合されてよく、高速入力／出力（ＨＳＩＯ）インターフェース１１６に結合されてよい。
【００３９】
高速入力／出力（ＨＳＩＯ）インターフェース１１６は、別のデバイスから情報を受信するために使用されてよく、かつ／または、別のデバイスに情報を送信（例えば、出力）するために使用されてよい。高速入力／出力（ＨＳＩＯ）インターフェース１１６は、インターフェースをサポートするために使用される、１つまたは複数の物理ポート、プロトコル、および／または論理を含み得る。高速入力／出力（ＨＳＩＯ）インターフェース１１６の例には、ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ（ＵＳＢ）インターフェース、モバイルディスプレイデジタルインターフェース（ＭＤＤＩ）、Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｅｘｐｒｅｓｓ（ＰＣＩｅ）インターフェース、Ｈｉｇｈ−Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅｓ（ＨＤＭＩ（登録商標））、Ｓｅｒｉａｌ  Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ（ＳＡＴＡ）インターフェース、Ｍｏｂｉｌｅ  Ｉｎｄｕｓｔｒｙ  Ｐｒｏｃｅｓｓｏｒ  Ｉｎｔｅｒｆａｃｅ  Ｄｉｓｐｌａｙ  Ｓｅｒｉａｌ  Ｉｎｔｅｒｆａｃｅｓ（ＭＩＰＩ  ＤＳＩ）、Ｍｏｂｉｌｅ  Ｉｎｄｕｓｔｒｙ  Ｐｒｏｃｅｓｓｏｒ  Ｉｎｔｅｒｆａｃｅ  Ｃａｍｅｒａ  Ｓｅｒｉａｌ  Ｉｎｔｅｒｆａｃｅｓ（ＭＩＰＩ  ＣＳＩ）などがある。
【００４０】
高速入力／出力（ＨＳＩＯ）インターフェース１１６は、コントローラプロトコル試験情報１１２を試験コントローラ１１０に送信できる。コントローラプロトコル試験情報１１２は、試験回路１０４を試験するために使用され得る、命令および／またはデータを含み得る。コントローラプロトコル試験情報１１２は、コントローラプロトコルに準拠し得る。言い換えると、コントローラプロトコル試験情報１１２は、試験コントローラ１１０によって使用されるプロトコルに従ってフォーマット化され得る。例えば、コントローラプロトコル試験情報１１２は、コントローラプロトコルによって規定されるような、特定のメッセージ、フレーム、パケットおよび／またはタイミング構造に従って構築され得る。
【００４１】
高速入力／出力（ＨＳＩＯ）インターフェース１１６は、コントローラプロトコル試験結果１１４を受信できる。コントローラプロトコル試験結果１１４は、試験回路１０４を試験したことに基づいて生成される情報（例えば、データ）を含み得る。コントローラプロトコル試験結果１１４は、コントローラプロトコルに従ってフォーマット化され得る。言い換えると、コントローラプロトコル試験結果１１４は、試験コントローラ１１０によって使用されるプロトコルに従ってフォーマット化され得る。例えば、コントローラプロトコル試験結果１１４は、コントローラプロトコルによって規定されるような、特定のメッセージ、フレーム、パケットおよび／またはタイミングに従って構築され得る。コントローラプロトコルのいくつかの例が、以下でより詳しく与えられる。高速入力／出力（ＨＳＩＯ）インターフェース１１６は、コントローラプロトコル試験結果１１４をＨＳＩＯプロトコル試験結果１２０へとフォーマット化できる。
【００４２】
高速入力／出力（ＨＳＩＯ）インターフェース１１６は、試験デバイス１２２からＨＳＩＯプロトコル試験情報１１８を受信することができ、かつ／または、ＨＳＩＯプロトコル試験結果１２０を試験デバイス１２２に送信できる。しかしながら、ＨＳＩＯインターフェース１１６は、試験と関連しない様々な異なる種類の情報を送信および／または受信するために使用され得ることに留意されたい。例えば、ＨＳＩＯインターフェース１１６は、集積回路１０２上のメモリにファイルを転送し、外部ディスプレイを駆動し、バッテリーを充電し、音声を出力し、音声を受信し、ユーザインターフェースデバイス（例えば、マウス、タッチパッド）と通信するなどするために、使用され得る。
【００４３】
ＨＳＩＯインターフェース１１６は、専用の試験インターフェース（例えば、ＴＡＰ）ではなくてもよいことに留意されたい。ＨＳＩＯインターフェース１１６の高い速度は試験のより高速な実行を可能にし得るが、ＨＳＩＯインターフェース１１６を使用することの他の利点があり得る。例えば、ＨＳＩＯインターフェース１１６が試験の適用中に完全な動作速度よりも遅い速度で実行されても、デバッグなどのような何らかの目的で、依然として有用であり得る。
【００４４】
いくつかの構成では、ＨＳＩＯインターフェース１１６は、集積回路設計において通常使用されるインターフェースであり得る。例えば、ＨＳＩＯインターフェース１１６は、コンピューティングデバイスのマザーボードまたは携帯電話の基板などのための、ＵＳＢインターフェースであり得る。
【００４５】
集積回路１０２は、試験デバイス１２２と通信できる。例えば、試験デバイス１２２は、高速入力／出力（ＨＳＩＯ）インターフェース１１６に結合され得る。試験デバイス１２２の例には、自動試験装置（ＡＴＥ：automated test equipment）、デジタルマルチメータ、オシロスコープ、コンピュータなどがある。
【００４６】
高速入力／出力（ＨＳＩＯ）インターフェース１１６は、ＨＳＩＯプロトコル試験情報１１８を試験デバイス１２２から受信できる。ＨＳＩＯプロトコル試験情報１１８は、試験のための命令および／またはデータを含み得る。さらに、ＨＳＩＯプロトコル試験情報１１８は、ＨＳＩＯプロトコルに従ってフォーマット化され得る。例えば、高速入力出力（ＨＳＩＯ）インターフェース１１６がＵＳＢインターフェースである場合、ＨＳＩＯプロトコル試験情報１１８は、ＵＳＢプロトコル（例えば、ハンドシェイクプロトコル、トークンプロトコル、肯定応答／否定応答（ＡＣＫ／ＮＡＣＫ）プロトコルなど）に従ってフォーマット化され得る。
【００４７】
高速入力／出力（ＨＳＩＯ）インターフェース１１６は、ＨＳＩＯプロトコル試験結果１２０を試験デバイス１２２に送信できる。例えば、高速入力／出力（ＨＳＩＯ）インターフェース１１６は、ＨＳＩＯプロトコルに従ってフォーマット化されるデータを送信できる。
【００４８】
一例では、高速入力／出力（ＨＳＩＯ）インターフェース１１６は、ＨＳＩＯプロトコル試験情報１１８を試験デバイス１２２から受信できる。高速入力／出力（ＨＳＩＯ）インターフェース１１６は、ＨＳＩＯプロトコル試験情報１１８に基づいて、コントローラプロトコル試験情報１１２を生成できる。例えば、高速入力／出力（ＨＳＩＯ）インターフェース１１６は、ＨＳＩＯプロトコル試験情報１１８からＨＳＩＯプロトコルのフォーマットを除去することができ、ペイロード情報が得られる。高速入力／出力（ＨＳＩＯ）インターフェース１１６は、コントローラプロトコルのフォーマットをペイロード情報に追加することができ、かつ／または、ペイロード情報を、試験コントローラ１１０に提供されるコントローラプロトコル試験情報１１２へとフォーマット化（例えば、変換、転換など）できる。言い換えると、高速入力／出力（ＨＳＩＯ）インターフェース１１６は、ＨＳＩＯプロトコル試験情報をコントローラプロトコル試験情報１１２へとフォーマット化できる。
【００４９】
試験コントローラ１１０は、コントローラプロトコル試験情報１１２に基づいて、試験回路１０４を制御できる。例えば、試験コントローラ１１０は、コントローラプロトコル試験情報１１２に基づいて、試験情報１０６を試験回路１０４に送信できる。別の例では、試験コントローラ１１０は、他の情報（例えば、ＪＴＡＧプロトコル試験情報）を、試験回路１０４を制御する別のブロック／モジュール（例えば、専用の試験インターフェース、ＴＡＰなど）に送信できる。いくつかの構成では、試験コントローラ１１０は、ＨＳＩＯインターフェース１１６から離れていて（例えば、統合されていなくて）よい。例えば、試験コントローラ１１０は、集積回路１０２上に含まれる別個のブロックまたはチップであってよい。
【００５０】
いくつかの構成では、試験コントローラ１１０は、試験回路１０４のための１つまたは複数の試験を制御（例えば、指揮）できる。例えば、試験コントローラ１１０は、試験されるべき集積回路１０２の特定のブロックまたは要素（例えば、試験回路１０４）を規定するインジケータを、試験デバイス１１２から（ＨＳＩＯインターフェース１１６を通じて）受信できる。試験コントローラ１１０は次いで、試験データを、試験されるべき適切なブロックまたは要素に向ける（例えば、ルーティングする）ことができる。これらのブロックまたは要素のいくつかの例は、メモリ、スキャンチェーン、境界スキャン、特定の回路要素、１つまたは複数のレジスタなどを含み得る。いくつかの構成では、例えば、試験コントローラ１１０は、試験データまたは試験信号を特定のブロックまたは要素へ向けるために使用される特定のアドレス（または制御情報）へと、インジケータを転換できる。加えて、または代替的に、試験コントローラ１１０は、試験の実行を開始および／または終了できる。このことは、試験デバイス１２２から（ＨＳＩＯインターフェース１１６を通じて）受信された１つまたは複数のインジケータに基づいてよく、または、試験コントローラ１１０によって独立に実行されてよい。
【００５１】
試験回路１０４は、試験情報１０６に基づいて、１つまたは複数の動作を実行できる。試験回路１０４は、試験情報１０６に基づいて、試験結果１０８を生成できる。試験結果１０８は、試験コントローラ１１０に提供され得る。
【００５２】
試験コントローラ１１０は、試験結果１０８に基づいて、コントローラプロトコル試験結果１１４を生成できる。例えば、試験コントローラ１１０は、試験結果１０８をコントローラプロトコル試験結果１１４へとフォーマット化できる。例えば、試験コントローラ１１０は、コントローラプロトコル情報を試験結果１０８に追加することができ、かつ／または、コントローラプロトコルに従って試験結果１０８を構築できる。試験コントローラ１１０は、コントローラプロトコル試験結果１１４を高速入力／出力（ＨＳＩＯ）インターフェース１１６に提供できる。
【００５３】
高速入力／出力（ＨＳＩＯ）インターフェース１１６は、コントローラプロトコル試験結果１１４に基づいて、ＨＳＩＯプロトコル試験結果１２０を生成できる。例えば、高速入力／出力（ＨＳＩＯ）インターフェース１１６は、コントローラプロトコル試験結果１１４を、試験デバイス１２２への送信のために、ＨＳＩＯプロトコル試験結果１２０へとフォーマット化できる。例えば、高速入力／出力（ＨＳＩＯ）インターフェース１１６は、ＨＳＩＯプロトコル情報をＨＳＩＯプロトコル試験結果１２０に追加することができ、かつ／または、コントローラプロトコル試験結果１１４からコントローラプロトコルのフォーマットを除去し、ＨＳＩＯプロトコル情報を追加することができ、かつ／または、ＨＳＩＯプロトコル（例えば、ＵＳＢプロトコル、ＭＤＤＩプロトコルなど）に従ってコントローラプロトコル試験結果１１４を構築できる。
【００５４】
図２は、高速入力／出力インターフェース（ＨＳＩＯ）を使用して試験するための方法２００の一構成を示す流れ図である。集積回路１０２は、高速入力／出力（ＨＳＩＯ）インターフェース１１６において、ＨＳＩＯプロトコル試験情報１１８を受信できる（２０２）。例えば、高速入力／出力（ＨＳＩＯ）インターフェース１１６は、高速入力／出力（ＨＳＩＯ）プロトコル（例えば、ＵＳＢプロトコル、ＭＤＤＩプロトコルなど）に従ってフォーマット化された、ＨＳＩＯプロトコル試験情報１１８を受信できる。ＨＳＩＯプロトコル試験情報１１８は、試験デバイス１２２（例えば、ＡＴＥ）から受信され得る。
【００５５】
集積回路１０２（例えば、高速入力／出力（ＨＳＩＯ）インターフェース１１６）は、ＨＳＩＯプロトコル試験情報１１８に基づいて、コントローラプロトコル試験情報１１２を生成できる（２０４）。例えば、高速入力／出力（ＨＳＩＯ）インターフェース１１６は、ＨＳＩＯプロトコル試験情報１１８からＨＳＩＯプロトコルのフォーマットを除去することができ、ペイロード情報が得られる。高速入力／出力（ＨＳＩＯ）インターフェース１１６は、コントローラプロトコルのフォーマットをペイロード情報に追加することができ、かつ／または、ペイロード情報を、コントローラプロトコル試験情報１１２へとフォーマット化（例えば、変換、転換など）できる。集積回路１０２（例えば、高速入力／出力（ＨＳＩＯ）インターフェース１１６）は、コントローラプロトコル試験情報１１２を試験コントローラ１１０に提供できる（２０６）。
【００５６】
集積回路１０２は、コントローラプロトコル試験情報１１２に基づいて、試験回路１０４を制御できる（２０８）。例えば、試験コントローラ１１０は、高速入力／出力（ＨＳＩＯ）インターフェース１１６からのコントローラプロトコル試験情報１１２に基づいて、試験情報１０６を試験回路１０４に送信できる。別の例では、試験コントローラ１１０は、他の情報（例えば、ＪＴＡＧプロトコル試験情報）を、試験回路１０４を制御する別のブロック／モジュール（例えば、ＴＡＰ）に送信できる。
【００５７】
図３は、高速入力／出力（ＨＳＩＯ）インターフェース３１６を使用して試験するための集積回路３０２のより具体的な構成を示すブロック図である。集積回路３０２は、試験回路３０４と、試験アクセスポート（ＴＡＰ）３２４と、試験コントローラ３１０と、高速入力／出力（ＨＳＩＯ）インターフェース３１６とを含む。高速入力／出力（ＨＳＩＯ）インターフェース３１６は試験コントローラ３１０に結合されてよく、試験コントローラ３１０は試験アクセスポート（ＴＡＰ）３２４に結合されてよく、試験アクセスポート（ＴＡＰ）３２４は試験回路３０４に結合されてよい。試験回路３０４は、試験のための１つまたは複数の回路要素を備え得る。例えば、試験回路３０４は、１つまたは複数の個別のコンポーネント（例えば、抵抗、キャパシタ、インダクタ）、ダイオード、トランジスタ、ラッチ、レジスタ（例えば、境界スキャンレジスタ）、スキャンチェーン、フリップフロップ、メモリセル、バス、デジタル論理素子、プロセッサ、特定用途向け集積回路（ＡＳＩＣ）などを含み得る。いくつかの構成では、集積回路３０２は、ｄｅｖｉｃｅ  ｕｎｄｅｒ  ｔｅｓｔ（ＤＵＴ）であると考えられ得る。
【００５８】
試験アクセスポート（ＴＡＰ）３２４は、試験コントローラ３１０によって提供される情報に基づいて試験回路３０４を制御するために使用され得る。例えば、試験アクセスポート（ＴＡＰ）３２４は、試験回路３０４上で１つまたは複数の試験を実行するために、試験情報３０６（例えば、命令、データなど）を試験回路３０４に提供できる。試験アクセスポート（ＴＡＰ）３２４はまた、試験回路３０４から試験結果３０８を受信できる。試験アクセスポート（ＴＡＰ）３２４は、ハードウェア、ソフトウェア、または両方の組合せとして実装され得る。例えば、試験アクセスポート（ＴＡＰ）３２４は、特定用途向け集積回路（ＡＳＩＣ）、マイクロコントローラ、命令を伴うプロセッサなどとして実装され得る。試験アクセスポート（ＴＡＰ）３２４は、試験回路３０４および試験コントローラ３１０に結合され得る。試験アクセスポート（ＴＡＰ）３２４はまた、試験回路３０４を試験するための追加の手段および／または代替的な手段であってよい。試験アクセスポート３２４は、試験コントローラ３１０に追加するものであってよく、または試験コントローラ３１０の代わりであってよい。
【００５９】
試験コントローラ３１０は、試験回路３０４を制御するために使用され得る。試験コントローラ３１０は、ｊｏｉｎｔ  ｔｅｓｔ  ａｃｔｉｏｎ  ｇｒｏｕｐ（ＪＴＡＧ）プロトコル転換ブロック／モジュール３３２を含み得る。ｊｏｉｎｔ  ｔｅｓｔ  ａｃｔｉｏｎ  ｇｒｏｕｐ（ＪＴＡＧ）プロトコル転換ブロック／モジュール３３２は、試験コントローラ３１０が、コントローラプロトコル試験情報３１２をＪＴＡＧプロトコル試験情報３２８へとフォーマット化（例えば、転換）すること、および／または、ＪＴＡＧプロトコル試験結果３３０をコントローラプロトコル試験結果３１４へとフォーマット化（例えば、転換）することを可能にし得る。
【００６０】
一例では、試験コントローラ３１０は、試験回路３０４上で１つまたは複数の試験を実行するために、ＪＴＡＧプロトコル試験情報３２８を試験アクセスポート（ＴＡＰ）３２４に提供できる。ＪＴＡＧプロトコル試験情報３２８は、試験アクセスポート（ＴＡＰ）３２４を介して試験回路３０４上で１つまたは複数の試験を実行するために使用され得る、命令および／またはデータを含み得る。ＪＴＡＧプロトコル試験情報３２８は、ＪＴＡＧプロトコルに従ってフォーマット化され得る。
【００６１】
試験コントローラ３１０はまた、試験アクセスポート（ＴＡＰ）３２４からＪＴＡＧプロトコル試験結果３３０を受信できる。試験コントローラ３１０は、ハードウェア、ソフトウェア、または両方の組合せとして実装され得る。例えば、試験コントローラ３１０は、特定用途向け集積回路（ＡＳＩＣ）、マイクロコントローラ、命令を伴うプロセッサなどとして実装され得る。試験コントローラ３１０は、試験アクセスポート（ＴＡＰ）３２４に結合されてよく、高速入力／出力（ＨＳＩＯ）インターフェース３１６に結合されてよい。
【００６２】
いくつかの構成では、試験コントローラ３１０は、試験アクセスポート（ＴＡＰ）３２４に提供される、かつ／または試験アクセスポート（ＴＡＰ）３２４から受信されるＪＴＡＧプロトコル試験結果３３０から提供される、ＪＴＡＧプロトコル試験情報３２８に加えて、またはＪＴＡＧプロトコル試験情報３２８の代わりに、試験アクセスポート（ＴＡＰ）３２４から独立に試験情報３０６を送信することができ、かつ／または試験結果３０８を受信できる。例えば、試験回路３０４は、試験のための複数のブロック／モジュール（例えば、異なる部分）を含み得る。この場合、試験コントローラ３１０は、試験アクセスポート（ＴＡＰ）３２４を通じて試験回路３０４の１つまたは複数のブロック／モジュールを試験することができ、かつ／または、試験回路３０４の１つまたは複数の他のブロック／モジュール（例えば、メモリ、スキャンチェーンなど）を独立に試験できる。
【００６３】
いくつかの構成では、試験アクセスポート（ＴＡＰ）３２４への外部アクセスが阻まれることがある（３２６）。例えば、試験アクセスポート（ＴＡＰ）３２４への外部アクセスは、製造の早い段階では提供され得るが、ある段階の後では阻まれることがある。いくつかの構成では、本明細書で開示されるシステムおよび方法は、試験アクセスポート（ＴＡＰ）３２４への（直接の）外部アクセスが阻まれた（３２６）後であっても、試験回路３０４を試験するための試験アクセスポート（ＴＡＰ）３２４へのアクセスを提供できる。
【００６４】
高速入力／出力（ＨＳＩＯ）インターフェース３１６は、別のデバイスから情報を受信するために使用されてよく、かつ／または、別のデバイスに情報を送信（例えば、出力）するために使用されてよい。高速入力／出力（ＨＳＩＯ）インターフェース３１６は、インターフェースをサポートするために使用される、１つまたは複数の物理ポート、プロトコル、および／または論理を含み得る。高速入力／出力（ＨＳＩＯ）インターフェース３１６の例には、ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ（ＵＳＢ）インターフェース、モバイルディスプレイデジタルインターフェース（ＭＤＤＩ）などがある。
【００６５】
高速入力／出力（ＨＳＩＯ）インターフェース３１６は、コントローラプロトコル試験情報３１２を試験コントローラ３１０に送信できる。コントローラプロトコル試験情報３１２は、試験回路３０４を試験するために使用され得る、命令および／またはデータを含み得る。コントローラプロトコル試験情報３１２（および／またはコントローラプロトコル試験結果３１４）は、コントローラプロトコルに準拠し得る。言い換えると、コントローラプロトコル試験情報３１２は、試験コントローラ３１０によって使用されるプロトコルに従ってフォーマット化され得る。例えば、コントローラプロトコル試験情報３１２は、コントローラプロトコルによって規定されるような、特定のメッセージ、フレーム、パケットおよび／またはタイミング構造に従って構築され得る。
【００６６】
高速入力／出力（ＨＳＩＯ）インターフェース３１６は、コントローラプロトコル試験結果３１４を受信できる。コントローラプロトコル試験結果３１４は、試験回路３０４を試験したことに基づいて生成される情報（例えば、データ）を含み得る。コントローラプロトコル試験結果３１４は、コントローラプロトコルに従ってフォーマット化され得る。言い換えると、コントローラプロトコル試験結果３１４は、試験コントローラ３１０によって使用されるプロトコルに従ってフォーマット化され得る。例えば、コントローラプロトコル試験結果３１４は、コントローラプロトコルによって規定されるような、特定のメッセージ、フレーム、パケットおよび／またはタイミング構造に従って構築され得る。コントローラプロトコルのいくつかの例が、以下でより詳しく与えられる。高速入力／出力（ＨＳＩＯ）インターフェース３１６は、コントローラプロトコル試験結果３１４をＨＳＩＯプロトコル試験結果３２０へとフォーマット化できる。
【００６７】
高速入力／出力（ＨＳＩＯ）インターフェース３１６は、試験デバイス３２２からＨＳＩＯプロトコル試験情報３１８を受信することができ、かつ／または、ＨＳＩＯプロトコル試験結果３２０を試験デバイス３２２に送信できる。しかしながら、ＨＳＩＯインターフェース３１６は、試験と関連しない様々な異なる種類の情報を送信および／または受信するために使用され得ることに留意されたい。例えば、ＨＳＩＯインターフェース３１６は、集積回路３０２上のメモリにファイルを転送し、外部ディスプレイを駆動し、ユーザインターフェースデバイス（例えば、マウス、タッチパッド）と通信するなどするために、使用され得る。
【００６８】
いくつかの構成では、ＨＳＩＯインターフェース３１６は、集積回路設計において通常使用されるインターフェースであり得る。例えば、ＨＳＩＯインターフェース３１６は、コンピューティングデバイスのマザーボードまたは携帯電話の基板などのための、ＵＳＢインターフェースであり得る。
【００６９】
集積回路３０２は、試験デバイス３２２と通信できる。例えば、試験デバイス３２２は、高速入力／出力（ＨＳＩＯ）インターフェース３１６に結合され得る。試験デバイス３２２の例には、自動試験装置（ＡＴＥ）、デジタルマルチメータ、オシロスコープ、コンピュータなどがある。
【００７０】
高速入力／出力（ＨＳＩＯ）インターフェース３１６は、ＨＳＩＯプロトコル試験情報３１８を試験デバイス３２２から受信できる。ＨＳＩＯプロトコル試験情報３１８は、試験のための命令および／またはデータを含み得る。さらに、ＨＳＩＯプロトコル試験情報３１８は、ＨＳＩＯプロトコルに従ってフォーマット化され得る。例えば、高速入力出力（ＨＳＩＯ）インターフェース３１６がＵＳＢインターフェースである場合、ＨＳＩＯプロトコル試験情報３１８は、ＵＳＢプロトコル（例えば、ハンドシェイクプロトコル、トークンプロトコル、肯定応答／否定応答（ＡＣＫ／ＮＡＣＫ）プロトコルなど）に従ってフォーマット化され得る。
【００７１】
高速入力／出力（ＨＳＩＯ）インターフェース３１６は、ＨＳＩＯプロトコル試験結果３２０を試験デバイス３２２に送信できる。例えば、高速入力／出力（ＨＳＩＯ）インターフェース３１６は、ＨＳＩＯプロトコルに従ってフォーマット化されるデータを送信できる。
【００７２】
一例では、高速入力／出力（ＨＳＩＯ）インターフェース３１６は、ＨＳＩＯプロトコル試験情報３１８を試験デバイス３２２から受信できる。高速入力／出力（ＨＳＩＯ）インターフェース３１６は、ＨＳＩＯプロトコル試験情報３１８に基づいて、コントローラプロトコル試験情報３１２を生成できる。例えば、高速入力／出力（ＨＳＩＯ）インターフェース３１６は、ＨＳＩＯプロトコル試験情報３１８からＨＳＩＯプロトコルのフォーマットを除去することができ、ペイロード情報が得られる。高速入力／出力（ＨＳＩＯ）インターフェース３１６は、コントローラプロトコルのフォーマットをペイロード情報に追加することができ、かつ／または、ペイロード情報を、試験コントローラ３１０に提供されるコントローラプロトコル試験情報３１２へとフォーマット化（例えば、変換、転換など）できる。言い換えると、高速入力／出力（ＨＳＩＯ）インターフェース３１６は、ＨＳＩＯプロトコル試験情報３１８を、試験コントローラ３１０に提供されるコントローラプロトコル試験情報３１２へとフォーマット化できる。
【００７３】
試験コントローラ３１０は、コントローラプロトコル試験情報３１２に基づいて、試験回路３０４を制御できる。例えば、試験コントローラ３１０は、コントローラプロトコル試験情報３１２をＪＴＡＧプロトコル試験情報３２８へとフォーマット化（例えば、転換）することができ、ＪＴＡＧプロトコル試験情報３２８は、試験回路３０４を制御するために試験アクセスポート（ＴＡＰ）３２４に提供される。
【００７４】
試験アクセスポート（ＴＡＰ）３２４は、ＪＴＡＧプロトコル試験情報３２８に基づいて、試験回路３０４を制御できる。例えば、試験アクセスポート（ＴＡＰ）３２４は、ＪＴＡＧプロトコル試験情報３２８に基づいて、試験情報３０６を試験回路３０４に送信できる。
【００７５】
試験回路３０４は、試験情報３０６に基づいて、１つまたは複数の動作を実行できる。試験回路３０４は、試験情報３０６に基づいて、試験結果３０８を生成できる。試験結果３０８は、試験アクセスポート（ＴＡＰ）３２４に提供され得る。
【００７６】
試験アクセスポート（ＴＡＰ）３２４は、試験回路３０４によって提供された試験結果３０８に基づいて、ＪＴＡＧプロトコル試験結果３３０を生成できる。例えば、ＪＴＡＧプロトコル試験結果３３０は、ＪＴＡＧプロトコルに準拠するようにフォーマット化された試験結果３０８を含み得る。ＪＴＡＧプロトコル試験結果３３０は、試験コントローラ３１０に提供され得る。
【００７７】
試験コントローラ３１０は、ＪＴＡＧプロトコル試験結果３３０に基づいて、コントローラプロトコル試験結果３１４を生成できる。例えば、試験コントローラ３１０は、ＪＴＡＧプロトコル試験結果３３０をコントローラプロトコル試験結果３１４へとフォーマット化できる。例えば、試験コントローラ３１０は、ＪＴＡＧプロトコル試験結果３３０からＪＴＡＧプロトコルのフォーマットを除去し、コントローラプロトコルに従ってコントローラプロトコル情報を追加できる。試験コントローラ３１０は、コントローラプロトコル試験結果３１４を高速入力／出力（ＨＳＩＯ）インターフェース３１６に提供できる。
【００７８】
高速入力／出力（ＨＳＩＯ）インターフェース３１６は、コントローラプロトコル試験結果３１４に基づいて、ＨＳＩＯプロトコル試験結果３２０を生成できる。例えば、高速入力／出力（ＨＳＩＯ）インターフェース３１６は、コントローラプロトコル試験結果３１４を、試験デバイス３２２への送信のために、ＨＳＩＯプロトコル試験結果３２０へとフォーマット化できる。例えば、高速入力／出力（ＨＳＩＯ）インターフェース３１６は、コントローラプロトコル試験結果３１４からコントローラプロトコルのフォーマットを除去し、ＨＳＩＯプロトコル情報を追加することができ、かつ／または、ＨＳＩＯプロトコル（例えば、ＵＳＢプロトコル、ＭＤＤＩプロトコルなど）に従ってコントローラプロトコル試験結果３１４を構築できる。
【００７９】
図４は、高速入力／出力インターフェース（ＨＳＩＯ）を使用して試験するための方法４００のより具体的な構成を示す流れ図である。集積回路３０２は、高速入力／出力（ＨＳＩＯ）インターフェース３１６において、高速入力／出力（ＨＳＩＯ）プロトコル試験情報３１８を受信できる（４０２）。例えば、高速入力／出力（ＨＳＩＯ）インターフェース３１６は、高速入力／出力（ＨＳＩＯ）プロトコル（例えば、ＵＳＢプロトコル、ＭＤＤＩプロトコルなど）に従ってフォーマット化された、ＨＳＩＯプロトコル試験情報３１８を受信できる。ＨＳＩＯプロトコル試験情報３１８は、試験デバイス３２２（例えば、ＡＴＥ）から受信され得る。
【００８０】
集積回路３０２（例えば、高速入力／出力（ＨＳＩＯ）インターフェース３１６）は、ＨＳＩＯプロトコル試験情報３１８に基づいて、コントローラプロトコル試験情報３１２を生成できる（４０４）。例えば、高速入力／出力（ＨＳＩＯ）インターフェース３１６は、ＨＳＩＯプロトコル試験情報３１８からＨＳＩＯプロトコルのフォーマットを除去することができ、ペイロード情報が得られる。高速入力／出力（ＨＳＩＯ）インターフェース３１６は、コントローラプロトコルのフォーマットをペイロード情報に追加することができ、かつ／または、ペイロード情報を、コントローラプロトコル試験情報３１２へとフォーマット化（例えば、変換、転換など）できる。集積回路３０２（例えば、高速入力／出力（ＨＳＩＯ）インターフェース３１６）は、コントローラプロトコル試験情報３１２を試験コントローラ３１０に提供できる（４０６）。
【００８１】
集積回路３０２（例えば、試験コントローラ３１０）は、コントローラプロトコル試験情報３１２をｊｏｉｎｔ  ｔｅｓｔ  ａｃｔｉｏｎ  ｇｒｏｕｐ（ＪＴＡＧ）プロトコル試験情報３２８へとフォーマット化できる（４０８）。例えば、試験コントローラ３１０は、コントローラプロトコル試験情報３１２からコントローラプロトコルのフォーマットを除去して、ＪＴＡＧプロトコルのフォーマットを追加することによって、コントローラプロトコル試験情報３１２をＪＴＡＧプロトコル試験情報３２８へと転換できる。集積回路１０２（例えば、試験コントローラ３１０）は、ＪＴＡＧプロトコル試験情報３２８を試験アクセスポート（ＴＡＰ）３２４に提供できる（４１０）。
【００８２】
集積回路３０２は、ＪＴＡＧプロトコル試験情報３２８基づいて、試験回路３０４を制御できる（４１２）。例えば、試験アクセスポート（ＴＡＰ）３２４は、ＪＴＡＧプロトコル試験情報３２８に基づいて、試験情報３０６を試験回路３０４に送信できる。
【００８３】
集積回路３０２は、試験回路３０４から試験結果３０８を取得できる（４１４）。例えば、試験回路３０４は、試験情報３０６を与えられると、試験結果３０８を生成できる。いくつかの構成では、集積回路３０２（例えば、試験コントローラ３１０および／または試験アクセスポート（ＴＡＰ）３２４）は、試験結果３０８を出力するための命令（例えば、試験データアウト（ＴＤＯ）命令）を提供できる。いくつかの構成では、試験結果３０８は、試験アクセスポート（ＴＡＰ）３２４を介して取得され得る（４１４）。この場合、試験結果３０８は、ＪＴＡＧプロトコル試験結果３３０としてフォーマット化され得る。しかしながら、他の構成では、試験結果３０８は、試験アクセスポート（ＴＡＰ）３２４とは独立に取得され得る（４１４）。
【００８４】
集積回路３０２は、試験結果３０８（および／または、例えばＪＴＡＧプロトコル試験結果３３０）をコントローラプロトコル試験結果３１４へとフォーマット化できる（４１６）。例えば、試験コントローラ３１０は、試験結果３０８（または、例えばＪＴＡＧプロトコル試験結果３３０）をコントローラプロトコル試験結果３１４へとフォーマット化（例えば、変換、転換など）できる（４１６）。一構成では、集積回路３０２（例えば、試験コントローラ３１０）は、試験結果３０８にコントローラプロトコルのフォーマットを追加できる。別の構成では、集積回路３０２（例えば、試験コントローラ３１０）は、ＪＴＡＧプロトコル試験結果３３０からＪＴＡＧプロトコルのフォーマットを除去し、コントローラプロトコルのフォーマットを追加できる。
【００８５】
集積回路３０２は、コントローラプロトコル試験結果３１４をＨＳＩＯプロトコル試験結果３２０へとフォーマット化できる（４１８）。例えば、試験コントローラ３１０は、コントローラプロトコル試験結果３１４を高速入力／出力（ＨＳＩＯ）インターフェース３１６に提供できる。高速入力／出力（ＨＳＩＯ）インターフェース３１６は次いで、コントローラプロトコル試験結果３１４からコントローラプロトコルのフォーマットを除去して、ＨＳＩＯプロトコルのフォーマットを追加することによって、コントローラプロトコル試験結果３１４をＨＳＩＯプロトコル試験情報３２０へとフォーマット化できる（４１８）。集積回路３０２は、ＨＳＩＯプロトコル試験結果３２０を送信できる（４２０）。例えば、高速入力／出力（ＨＳＩＯ）インターフェース３１６は、ＨＳＩＯプロトコル試験結果３２０を外部の試験デバイス３２２に出力または提供できる。
【００８６】
図５は、高速入力／出力インターフェース（ＨＳＩＯ）５１６を使用した試験が実施され得る、集積回路５０２の一例を示すブロック図である。具体的には、試験コントローラ５１０（ハードウェアおよび／またはソフトウェアで実装され得る）は、高速入力／出力（ＨＳＩＯ）インターフェース５１６を通じて、外部デバイス（例えば、試験デバイス）と通信する（例えば、情報を外部デバイスに送信する、かつ／または情報を外部デバイスから受信する）。この例では、試験コントローラ５１０は、試験アクセスポート（ＴＡＰ）５２４によって（例えば、試験アクセスポート５２４の後に）提供される１つまたは複数の信号５４０ａ−ｂ（例えば、試験制御信号およびデータ信号）を傍受し、試験コントローラ５１０が高速入力／出力（ＨＳＩＯ）インターフェース５１６から取得するコントローラプロトコル試験情報５１２（例えば、命令）に基づいて、試験情報５０６ａ−ｃ（例えば、制御値およびデータ値）を提供する。従って、１つまたは複数の信号５４０ａ−ｂ（例えば、試験制御信号および／または試験データ信号）は、ＴＡＰ５２４の後で傍受され得る。試験コントローラ５１０はまた、コントローラプロトコル試験結果５１４（例えば、応答）を、高速入力／出力（ＨＳＩＯ）インターフェース５１６を通じて外部デバイスに送達できる。
【００８７】
図５に示される例では、ＴＡＰ５２４インターフェース（ＨＳＩＯインターフェース５１６と比べると相対的に遅いことがある）を通じては可能ではないことのある他の試験が、追加でサポートされ得る。例えば、試験情報５０６ｅ（例えば、高速試験データストリーム）は、高速入力／出力（ＨＳＩＯ）インターフェース５１６から、集積回路５０２上のメモリ５３６にルーティングされ得る。
【００８８】
図５に示される例に関するさらなる詳細が、以下で与えられる。集積回路５０２は、試験回路５０４と、試験アクセスポート（ＴＡＰ）５２４と、試験コントローラ５１０と、高速入力／出力（ＨＳＩＯ）インターフェース５１６と、マルチプレクサＡ  ５３８ａと、マルチプレクサＢ  ５３８ｂと、１つまたは複数の境界スキャンレジスタ５３４と、メモリ５３６とを含む。試験回路５０４は、試験のための１つまたは複数の回路要素を備え得る。いくつかの構成では、境界スキャンレジスタ５３４は、試験回路５０４の一部であると考えられ得る。加えて、または代替的に、メモリ５３６は、いくつかの構成では試験回路５０４の一部であると考えられ得る（しかし、メモリ５３６は、例えば、試験アクセスポート（ＴＡＰ）５２４によって、または試験アクセスポート５２４を通じてアクセスされなくてもよい）。試験回路５０４は、１つまたは複数の個別のコンポーネント（例えば、抵抗、キャパシタ、インダクタ）、ダイオード、トランジスタ、ラッチ、レジスタ（例えば、境界スキャンレジスタ）、スキャンチェーン、フリップフロップ、メモリセル、バス、デジタル論理、プロセッサ、特定用途向け集積回路（ＡＳＩＣ）などを含み得る。いくつかの構成では、集積回路５０２は、ｄｅｖｉｃｅ  ｕｎｄｅｒ  ｔｅｓｔ（ＤＵＴ）であると考えられ得る。
【００８９】
試験アクセスポート（ＴＡＰ）５２４（例えば、ＴＡＰ５２４インターフェース）は、試験回路５０４および／または境界スキャンレジスタ５３４を制御するために通常は使用される、専用の試験インターフェースであってよい。例えば、試験アクセスポート（ＴＡＰ）５２４は、１つまたは複数の試験を実行するために、情報５４０ａ−ｂを試験回路５０４および／または境界スキャンレジスタ５３４に提供できる。例えば、試験アクセスポート（ＴＡＰ）５２４は、境界スキャンレジスタ５３４および／または試験回路５０４に提供される試験情報５０６ｇ−ｈとして選択され得る情報５４０ａ−ｂを、マルチプレクサＡ  ５３８ａに提供できる。試験アクセスポート（ＴＡＰ）５２４はまた、試験回路５０４および／または境界スキャンレジスタ５３４から試験結果５０８ａを受信できる。
【００９０】
試験アクセスポート（ＴＡＰ）５２４は、ハードウェア、ソフトウェア、または両方の組合せとして実装され得る。例えば、試験アクセスポート（ＴＡＰ）５２４は、特定用途向け集積回路（ＡＳＩＣ）、マイクロコントローラ、命令を伴うプロセッサなどとして実装され得る。試験アクセスポート（ＴＡＰ）５２４は、試験回路５０４（または試験回路５０４の何らかの部分）に結合され得る。いくつかの構成では、試験アクセスポート（ＴＡＰ）５２４は、製造のある段階においてのみ外部からアクセスされ得る。しかしながら、試験アクセスポート（ＴＡＰ）５２４への外部アクセスが最終的には阻まれることがある（５２６）。
【００９１】
高速入力／出力（ＨＳＩＯ）インターフェース５１６は、ＨＳＩＯプロトコル試験情報５１８を外部デバイス（例えば、試験デバイス）から受信できる。ＨＳＩＯプロトコル試験情報５１８は、試験のための命令および／またはデータを含み得る。さらに、ＨＳＩＯプロトコル試験情報５１８は、ＨＳＩＯプロトコルに従ってフォーマット化され得る。
【００９２】
高速入力／出力（ＨＳＩＯ）インターフェース５１６は、試験コントローラ５１０に提供されるＨＳＩＯプロトコル試験情報５１８に基づいて、コントローラプロトコル試験情報５１２を生成できる。試験コントローラ５１０は、コントローラプロトコル試験情報５１２に基づいて、試験回路５０４を制御できる。例えば、試験コントローラ５１０は、コントローラプロトコル試験情報５１２に基づいて、試験情報５０６ａ−ｅを生成できる。
【００９３】
試験コントローラ５１０は、試験回路５０４（例えば、境界スキャンレジスタ５３４および／またはメモリ５３６を含む）を制御するために使用され得る。図５に示される例では、試験コントローラ５１０は、マルチプレクサＡ  ５３８ａおよびマルチプレクサＢ  ５３８ｂに結合される。試験コントローラ５１０は、１つまたは複数の試験を実行するために、試験情報５０６ａ−ｅを提供する。例えば、試験コントローラ５１０は、試験情報５０６ａ−ｂをマルチプレクサＡ  ５３８ａに提供できる。加えて、試験コントローラ５１０は、試験情報５０６ｃを使用してマルチプレクサＡ  ５３８ａを制御できる。例えば、試験コントローラ５１０は、何らかの試験情報５０６ｃ（例えば、命令、制御信号など）を使用して、（ＴＡＰ５２４からの情報５４０ａ−ｂの代わりに）試験情報５０６ｇ−ｈとして試験情報５０６ａ−ｂを選択できる。例えば、試験コントローラ５１０は、ＴＡＰ５２４インターフェースからの情報５４０ａ−ｂ（もしあれば）を「傍受」し、ＴＡＰ５２４インターフェースからの情報５４０ａ−ｂの代わりに、試験情報５０６ｇ−ｈとして、試験情報５０６ａ−ｂ（高速入力／出力（ＨＳＩＯ）インターフェース５１６によって受信されるＨＳＩＯプロトコル試験情報５１８に基づく）を提供できる。
【００９４】
境界スキャンレジスタ５３４および／または試験回路５０４は、試験情報５０６ｇ−ｈに基づいて、１つまたは複数の動作を実行できる。例えば、境界スキャンレジスタ５３４は、集積回路５０２の特定のピンに何らかのビットを与えることができ、かつ／または、試験回路５０４は、試験情報５０６ｈを適用できる。境界スキャンレジスタ５３４および／または試験回路５０４は、試験情報５０６ｇ−ｈに基づいて、試験結果５０８ａを生成できる。試験結果５０８ａは、試験コントローラ５１０（および／または試験アクセスポート（ＴＡＰ）５２４）に与えられ得る。
【００９５】
加えて、または代替的に、試験コントローラ５１０は、ＴＡＰ５２４インターフェースを通じては可能ではないことがある、他の試験を実行できる。例えば、試験コントローラ５１０は、高速入力／出力（ＨＳＩＯ）インターフェース５１６から集積回路５０２上のメモリ５３６へと試験情報５０６ｅ（例えば、高速試験データストリーム）をルーティングするために、何らかの試験情報５０６ｄ（例えば、命令、制御信号など）を使用して、マルチプレクサＢ  ５３８ｂを制御できる。試験コントローラ５１０からのこの試験情報５０６ｅは、他のデータ５４４に加えて、または他のデータ５４４の代わりに、マルチプレクサＢ  ５３８ｂからメモリ５３６に提供される試験情報５０６ｆとして選択され得る。
【００９６】
試験コントローラ５１０は、制御プロトコル試験情報５１２を試験情報５０６ａ−ｅへとフォーマット化できることに留意されたい。いくつかの構成では、何らかの試験情報５０６ａ−ｃは、他の試験情報５０６ｄ−ｅとは異なるフォーマットで提供されてよい。
【００９７】
いくつかの構成では、高速入力／出力（ＨＳＩＯ）インターフェース５１６は、データ５０６ｆとして試験情報５０６ｅをメモリ５３６に提供したことの結果を取得するために、メモリ５３６にアクセスできる。例えば、高速入力／出力（ＨＳＩＯ）インターフェース５１６は、直接メモリ５３６にアクセスすることができ、または、試験コントローラ５１０を介して、メモリ５３６から、（例えば、コントローラプロトコル試験結果５１４としてフォーマット化された）試験結果５０８ｂを取得できる。
【００９８】
試験コントローラ５１０は、試験結果５０８ａに基づいて、コントローラプロトコル試験結果５１４を生成できる。例えば、試験コントローラ５１０は、試験結果５０８ａをコントローラプロトコル試験結果５１４へとフォーマット化できる。例えば、試験コントローラ５１０は、コントローラプロトコルに従って、コントローラプロトコル情報を追加できる。試験コントローラ５１０は、コントローラプロトコル試験結果５１４を高速入力／出力（ＨＳＩＯ）インターフェース５１６に提供できる。
【００９９】
高速入力／出力（ＨＳＩＯ）インターフェース５１６は、コントローラプロトコル試験結果５１４に基づいて、ＨＳＩＯプロトコル試験結果５２０を生成できる。例えば、高速入力／出力（ＨＳＩＯ）インターフェース５１６は、コントローラプロトコル試験結果５１４を、試験デバイスへの送信のために、ＨＳＩＯプロトコル試験結果５２０へとフォーマット化できる。例えば、高速入力／出力（ＨＳＩＯ）インターフェース５１６は、コントローラプロトコル試験結果５１４からコントローラプロトコルのフォーマットを除去し、ＨＳＩＯプロトコル情報を追加することができ、かつ／または、ＨＳＩＯプロトコル（例えば、ＵＳＢプロトコル、ＭＤＤＩプロトコルなど）に従ってコントローラプロトコル試験結果５１４を構築できる。
【０１００】
図６は、高速入力／出力インターフェース（ＨＳＩＯ）６１６を使用した試験が実施され得る、集積回路６０２の別の例を示すブロック図である。この例では、試験アクセスポート（ＴＡＰ）６２４インターフェースは、ＴＡＰ６２４の前で傍受され得る。他の例では、試験制御信号および／または試験データ信号は、下流の論理の中の任意の時点において傍受され得る。
【０１０１】
図６に示される例に関するさらなる詳細が、以下で与えられる。集積回路６０２は、試験回路６０４と、試験アクセスポート（ＴＡＰ）６２４と、試験コントローラ６１０と、高速入力／出力（ＨＳＩＯ）インターフェース６１６と、マルチプレクサＡ  ６３８ａと、マルチプレクサＢ  ６３８ｂと、１つまたは複数の境界スキャンレジスタ６３４と、メモリ６３６とを含む。試験回路６０４は、試験のための１つまたは複数の回路要素を備え得る。いくつかの構成では、境界スキャンレジスタ６３４は、試験回路６０４の一部であると考えられ得る。加えて、または代替的に、メモリ６３６は、いくつかの構成では試験回路６０４の一部であると考えられ得る（しかし、メモリ６３６は、例えば、試験アクセスポート（ＴＡＰ）６２４によって、または試験アクセスポート６２４を通じてアクセスされなくてもよい）。
【０１０２】
試験アクセスポート（ＴＡＰ）６２４（例えば、ＴＡＰ６２４インターフェース）は通常、試験回路６０４および／または境界スキャンレジスタ６３４を制御するために使用され得る。例えば、試験アクセスポート（ＴＡＰ）６２４は、１つまたは複数の試験を実行するために、試験情報６０６ａ−ｂを試験回路６０４および／または境界スキャンレジスタ６３４に提供できる。例えば、試験アクセスポート（ＴＡＰ）６２４は、マルチプレクサＡ  ６３８ａを通じて、外部信号に基づいて試験情報６０６ａ−ｂを提供できる。しかしながら、外部信号に対するアクセスが阻まれるようになることがある（６２６）。試験アクセスポート（ＴＡＰ）６２４は、試験回路６０４および／または境界スキャンレジスタ６３４から試験結果６０８ａを受信できる。試験アクセスポート（ＴＡＰ）６２４は、試験回路６０４に結合され得る。
【０１０３】
高速入力／出力（ＨＳＩＯ）インターフェース６１６は、ＨＳＩＯプロトコル試験情報６１８を外部デバイス（例えば、試験デバイス）から受信できる。ＨＳＩＯプロトコル試験情報６１８は、試験のための命令および／またはデータを含み得る。さらに、ＨＳＩＯプロトコル試験情報６１８は、ＨＳＩＯプロトコルに従ってフォーマット化され得る。
【０１０４】
高速入力／出力（ＨＳＩＯ）インターフェース６１６は、試験コントローラ６１０に提供されるＨＳＩＯプロトコル試験情報６１８に基づいて、コントローラプロトコル試験情報６１２を生成できる。試験コントローラ６１０は、コントローラプロトコル試験情報６１２に基づいて、試験回路６０４を制御できる。例えば、試験コントローラ６１０は、コントローラプロトコル試験情報６１２に基づいて、ＪＴＡＧプロトコル試験情報６２８ａ−ｂを生成できる。
【０１０５】
試験コントローラ６１０は、試験回路６０４（例えば、境界スキャンレジスタ６３４および／またはメモリ６３６を含む）を制御するために使用され得る。図６に示される例では、試験コントローラ６１０は、マルチプレクサＡ  ６３８ａに結合される。試験コントローラ６１０は、１つまたは複数の試験を実行するために、ＪＴＡＧプロトコル試験情報６２８ａ−ｂ（および／または試験情報６０６ｄ−ｅ）を提供する。例えば、試験コントローラ６１０は、ＪＴＡＧプロトコル試験情報６２８ａをマルチプレクサＡ  ６３８ａに提供できる。加えて、試験コントローラ６１０は、ＪＴＡＧプロトコル試験情報６２８ｂを使用してマルチプレクサＡ  ６３８ａを制御できる。例えば、試験コントローラ６１０は、何らかのＪＴＡＧプロトコル試験情報６２８ｂ（例えば、命令、制御信号など）を使用して、ＪＴＡＧプロトコル試験情報６２８ａを（もしあれば、アクセスが阻まれた可能性のある外部のルートからの情報６２６の代わりに）、試験アクセスポート（ＴＡＰ）６２４に提供される選択されたＪＴＡＧプロトコル試験情報６２８ｃとして選択できる。選択されたＪＴＡＧプロトコル試験情報６２８ｃは次いで、試験情報６０６ａ−ｂを生成するために使用され得る。例えば、試験コントローラ６１０は、ＴＡＰ６２４インターフェースへの途上の外部の情報を（もしあれば）「傍受」して、試験アクセスポート（ＴＡＰ）６２４への途上の外部の情報（もしあれば）の代わりに試験情報６０６ａ−ｂを生成するために、ＪＴＡＧプロトコル試験情報６２８ａ（高速入力／出力（ＨＳＩＯ）インターフェース６１６によって受信されるＨＳＩＯプロトコル試験情報６１８に基づく）を提供できる。
【０１０６】
境界スキャンレジスタ６３４および／または試験回路６０４は、試験情報６０６ａ−ｂに基づいて、１つまたは複数の動作を実行できる。例えば、境界スキャンレジスタ６３４は、集積回路６０２の特定のピンに何らかのビットを与えることができ、かつ／または、試験回路６０４は、試験情報６０６ｂを適用できる。境界スキャンレジスタ６３４および／または試験回路６０４は、試験情報６０６ａ−ｂに基づいて、試験結果６０８ａを生成できる。試験結果６０８ａは、試験アクセスポート（ＴＡＰ）６２４に与えられ得る。
【０１０７】
加えて、または代替的に、試験コントローラ６１０は、ＴＡＰ６２４インターフェースを通じては可能ではないことがある、他の試験を実行できる。例えば、試験コントローラ６１０は、高速入力／出力（ＨＳＩＯ）インターフェース６１６から集積回路６０２上のメモリ６３６へと試験情報６０６ｅ（例えば、高速試験データストリーム）をルーティングするために、何らかの試験情報６０６ｄ（例えば、命令、制御信号など）を使用して、マルチプレクサＢ  ６３８ｂを制御できる。試験コントローラ６１０からのこの試験情報６０６ｅは、他のデータ６４４に加えて、または他のデータ６４４の代わりに、マルチプレクサＢ  ６３８ｂからメモリ６３６に提供される試験情報６０６ｆとして選択され得る。
【０１０８】
いくつかの構成では、高速入力／出力（ＨＳＩＯ）インターフェース６１６は、データ６０６ｆとして試験情報６０６ｅをメモリ６３６に提供したことの結果を取得するために、メモリ６３６にアクセスできる。例えば、高速入力／出力（ＨＳＩＯ）インターフェース６１６は、直接メモリ６３６にアクセスすることができ、または、試験コントローラ６１０を介して、メモリ６３６から、（例えば、コントローラプロトコル試験結果６１４としてフォーマット化された）試験結果６０８ｂを取得できる。
【０１０９】
試験コントローラ６１０は、試験アクセスポート（ＴＡＰ）６２４からＪＴＡＧプロトコル試験結果６３０を受信できる。例えば、試験アクセスポート（ＴＡＰ）６２４は、境界スキャンレジスタ６３４および／または試験回路６０４から受信された試験結果６０８ａに基づいて、ＪＴＡＧプロトコル試験結果６３０を試験コントローラ６１０に提供できる。
【０１１０】
試験コントローラ６１０は、ＪＴＡＧプロトコル試験結果６３０に基づいて、コントローラプロトコル試験結果６１４を生成できる。例えば、試験コントローラ６１０は、ＪＴＡＧプロトコル試験結果６３０をコントローラプロトコル試験結果６１４へとフォーマット化できる。例えば、試験コントローラ６１０は、ＪＴＡＧプロトコル試験結果６３０からＪＴＡＧプロトコルのフォーマットを除去し、コントローラプロトコルに従ってコントローラプロトコル情報（例えば、構造）を追加できる。試験コントローラ６１０は、コントローラプロトコル試験結果６１４を高速入力／出力（ＨＳＩＯ）インターフェース６１６に提供できる。
【０１１１】
高速入力／出力（ＨＳＩＯ）インターフェース６１６は、コントローラプロトコル試験結果６１４に基づいて、ＨＳＩＯプロトコル試験結果６２０を生成できる。例えば、高速入力／出力（ＨＳＩＯ）インターフェース６１６は、コントローラプロトコル試験結果６１４を、試験デバイスへの送信のために、ＨＳＩＯプロトコル試験結果６２０へとフォーマット化できる。例えば、高速入力／出力（ＨＳＩＯ）インターフェース６１６は、コントローラプロトコル試験結果６１４からコントローラプロトコルのフォーマットを除去し、ＨＳＩＯプロトコル情報を追加することができ、かつ／または、ＨＳＩＯプロトコル（例えば、ＵＳＢプロトコル、ＭＤＤＩプロトコルなど）に従ってコントローラプロトコル試験結果６１４を構築できる。
【０１１２】
図７は、高速入力／出力インターフェース（ＨＳＩＯ）７１６を使用した試験が実施され得る、集積回路７０２の別の例を示すブロック図である。この例では、本明細書で開示されるシステムおよび方法は、複数のスキャンチャネルを駆動するために使用され得る。例えば、高速入力／出力（ＨＳＩＯ）インターフェース７１６の物理（ＰＨＹ）層は、コントローラプロトコル試験情報７１２をパラレルフォーマットで試験コントローラ７１０に送信することができ、試験コントローラ７１０は複数のスキャンチェーン７４６ｃ−ｆを駆動するために使用され得る。さらに、高速入力／出力（ＨＳＩＯ）インターフェース７１６は、試験コントローラ７１０からパラレルフォーマットでコントローラプロトコル試験結果７１４を受信できる。
【０１１３】
図７に示される例に関するさらなる詳細が、以下で与えられる。集積回路７０２は、試験回路７０４と、試験アクセスポート（ＴＡＰ）７２４と、試験コントローラ７１０と、高速入力／出力（ＨＳＩＯ）インターフェース７１６と、マルチプレクサ７３８と、１つまたは複数の境界スキャンレジスタ７３４と、１つまたは複数のスキャンチェーン７４６とを含む。試験回路７０４は、試験のための１つまたは複数の回路要素を備え得る。いくつかの構成では、境界スキャンレジスタ７３４は、試験回路７０４の一部であると考えられ得る。加えて、または代替的に、１つまたは複数のスキャンチェーン７４６は、試験回路７０４の一部であると考えられ得る（しかし、スキャンチェーン７４６は、試験アクセスポート（ＴＡＰ）７２４によって、または試験アクセスポート７２４を通じてアクセスされなくてもよい）。
【０１１４】
試験アクセスポート（ＴＡＰ）７２４（例えば、ＴＡＰ７２４インターフェース）は通常、試験回路７０４および／または境界スキャンレジスタ７３４を制御するために使用され得る。例えば、試験アクセスポート（ＴＡＰ）７２４は、１つまたは複数の試験を実行するために、試験情報７０６ａ−ｂを試験回路７０４および／または境界スキャンレジスタ７３４に提供できる。例えば、試験アクセスポート（ＴＡＰ）７２４は、マルチプレクサ７３８からの外部信号に基づいて試験情報７０６ａ−ｂを提供できる。しかしながら、外部信号に対するアクセスが阻まれるようになることがある（７２６）。試験アクセスポート（ＴＡＰ）７２４は、試験回路７０４および／または境界スキャンレジスタ７３４から試験結果７０８ａを受信できる。試験アクセスポート（ＴＡＰ）７２４は、試験回路７０４に結合され得る。
【０１１５】
高速入力／出力（ＨＳＩＯ）インターフェース７１６は、ＨＳＩＯプロトコル試験情報７１８を外部デバイス（例えば、試験デバイス）から受信できる。ＨＳＩＯプロトコル試験情報７１８は、試験のための命令および／またはデータを含み得る。さらに、ＨＳＩＯプロトコル試験情報７１８は、ＨＳＩＯプロトコルに従ってフォーマット化され得る。いくつかの構成では、高速入力／出力（ＨＳＩＯ）インターフェース７１６は、ＨＳＩＯプロトコル試験情報７１８をパラレルフォーマットで受信できる。他の構成では、高速入力／出力（ＨＳＩＯ）インターフェース７１６は、ＨＳＩＯプロトコル試験情報７１８をシリアルフォーマットで受信できる。
【０１１６】
高速入力／出力（ＨＳＩＯ）インターフェース７１６は、ＨＳＩＯプロトコル試験情報７１８に基づいて、コントローラプロトコル試験情報７１２を生成できる。コントローラプロトコル試験情報７１２は、いくつかの構成では、パラレルフォーマットで試験コントローラ７１０に提供され得る。他の構成では、コントローラプロトコル試験情報７１２は、シリアルフォーマットで試験コントローラ７１０に提供され得る。試験コントローラ７１０は、コントローラプロトコル試験情報７１２に基づいて、試験回路７０４を制御できる。例えば、試験コントローラ７１０は、コントローラプロトコル試験情報７１２に基づいて、ＪＴＡＧプロトコル試験情報７２８ａ−ｂを生成できる。
【０１１７】
試験コントローラ７１０は、試験回路７０４（例えば、境界スキャンレジスタ７３４および／またはスキャンチェーン７４６を含む）を制御するために使用され得る。図７に示される例では、試験コントローラ７１０は、マルチプレクサ７３８に結合される。試験コントローラ７１０は、１つまたは複数の試験を実行するために、試験情報７２８ａ−ｂ（および／または試験情報７０６ｃ−ｆ）を提供する。例えば、試験コントローラ７１０は、ＪＴＡＧプロトコル試験情報７２８ａをマルチプレクサ７３８に提供できる。加えて、試験コントローラ７１０は、ＪＴＡＧプロトコル試験情報７２８ｂを使用してマルチプレクサ７３８を制御できる。例えば、試験コントローラ７１０は、何らかのＪＴＡＧプロトコル試験情報７２８ｂ（例えば、命令、制御信号など）を使用して、ＪＴＡＧプロトコル試験情報７２８ａを（もしあれば、アクセスが阻まれた可能性のある外部のルートからの情報７２６の代わりに）、試験アクセスポート（ＴＡＰ）７２４に提供される選択されたＪＴＡＧプロトコル試験情報７２８ｃとして選択できる。選択されたＪＴＡＧプロトコル試験情報７２８ｃは次いで、試験情報７０６ａ−ｂを生成するために使用され得る。例えば、試験コントローラ７１０は、ＴＡＰ７２４インターフェースへの途上の外部の情報を（もしあれば）「傍受」して、試験アクセスポート（ＴＡＰ）７２４への途上の外部の情報（もしあれば）の代わりに試験情報７０６ａ−ｂを生成するために、ＪＴＡＧプロトコル試験情報７２８ａ（高速入力／出力（ＨＳＩＯ）インターフェース７１６によって受信されるＨＳＩＯプロトコル試験情報７１８に基づく）を提供できる。
【０１１８】
境界スキャンレジスタ７３４および／または試験回路７０４は、試験情報７０６ａ−ｂに基づいて、１つまたは複数の動作を実行できる。例えば、境界スキャンレジスタ７３４は、集積回路７０２の特定のピンに何らかのビットを与えることができ、かつ／または、試験回路７０４は、試験情報７０６ｂを適用できる。境界スキャンレジスタ７３４および／または試験回路７０４は、試験情報７０６ａ−ｂに基づいて、試験結果７０８ａを生成できる。試験結果７０８ａは、試験アクセスポート（ＴＡＰ）７２４に与えられ得る。
【０１１９】
加えて、または代替的に、試験コントローラ７１０は他の試験を実行できる。例えば、試験コントローラ７１０は、何らかのパラレルな試験情報７０６ｃ−ｆを使用して、（高速入力／出力（ＨＳＩＯ）インターフェース７１６によって受信されるＨＳＩＯプロトコル試験情報７１８に基づいて）スキャンチェーン７４６ｃ−ｆを試験できる。一構成では、スキャンチェーン７４６ｃ−ｆの各々は、試験情報７０６ｃ−ｆを提供することによって試験され得る１つまたは複数のフリップフロップを含み得る。スキャンチェーン７４６ｃ−ｆは、試験コントローラ７１０に提供され得る試験結果７０８ｃ−ｆを生成できる。
【０１２０】
試験コントローラ７１０は、試験アクセスポート（ＴＡＰ）７２４からＪＴＡＧプロトコル試験結果７３０を受信できる。例えば、試験アクセスポート（ＴＡＰ）７２４は、境界スキャンレジスタ７３４および／または試験回路７０４から受信された試験結果７０８ａに基づいて、ＪＴＡＧプロトコル試験結果７３０を試験コントローラ７１０に提供できる。
【０１２１】
試験コントローラ７１０は、ＪＴＡＧプロトコル試験結果７３０および／または試験結果７０８ｃ−ｆに基づいて、コントローラプロトコル試験結果７１４を生成できる。例えば、試験コントローラ７１０は、ＪＴＡＧプロトコル試験結果７３０および／または試験結果７０８ｃ−ｆを、コントローラプロトコル試験結果７１４へとフォーマット化できる。例えば、試験コントローラ７１０は、ＪＴＡＧプロトコル試験結果からＪＴＡＧプロトコルのフォーマットを除去し、コントローラプロトコルに従ってコントローラプロトコル情報（例えば、構造）を追加できる。加えて、または代替的に、試験コントローラ７１０は、コントローラプロトコルに従って、コントローラプロトコル情報（例えば、構造）を試験結果７０８ｃ−ｆに追加できる。試験コントローラ７１０は、コントローラプロトコル試験結果７１４を高速入力／出力（ＨＳＩＯ）インターフェース７１６に提供できる。
【０１２２】
高速入力／出力（ＨＳＩＯ）インターフェース７１６は、コントローラプロトコル試験結果７１４に基づいて、ＨＳＩＯプロトコル試験結果７２０を生成できる。例えば、高速入力／出力（ＨＳＩＯ）インターフェース７１６は、コントローラプロトコル試験結果７１４を、試験デバイスへの送信のために、ＨＳＩＯプロトコル試験結果７２０へとフォーマット化できる。例えば、高速入力／出力（ＨＳＩＯ）インターフェース７１６は、コントローラプロトコル試験結果７１４からコントローラプロトコルのフォーマットを除去し、ＨＳＩＯプロトコル情報を追加することができ、かつ／または、ＨＳＩＯプロトコル（例えば、ＵＳＢプロトコル、ＭＤＤＩプロトコルなど）に従ってコントローラプロトコル試験結果７１４を構築できる。
【０１２３】
図８は、高速入力／出力インターフェース（ＨＳＩＯ）８１６を使用した試験が実施され得る、集積回路８０２の別の例を示すブロック図である。この例では、コントローラプロトコル試験情報８１２は、試験コントローラ８１０によって高速シリアルストリームとして受信され得る。シリアル試験情報８０６ｈは、複数のスキャンチャネルへと復号され得る（例えば、逆多重化され得る）。例えば、毎秒８０メガビット（Ｍｂｐｓ）のデータストリーム（例えば、試験情報８０６ｈ）が、各々２０Ｍｂｐｓで４個のスキャンチェーン８４６ｃ−ｆを駆動するために使用され得る。
【０１２４】
図８に示される例に関するさらなる詳細が、以下で与えられる。集積回路８０２は、試験回路８０４と、試験アクセスポート（ＴＡＰ）８２４と、試験コントローラ８１０と、高速入力／出力（ＨＳＩＯ）インターフェース８１６と、マルチプレクサＡ  ８３８ａと、マルチプレクサＢ  ８３８ｂと、１つまたは複数の境界スキャンレジスタ８３４と、１つまたは複数のスキャンチェーン８４６とを含む。試験回路８０４は、試験のための１つまたは複数の回路要素を備え得る。いくつかの構成では、境界スキャンレジスタ８３４は、試験回路８０４の一部であると考えられ得る。加えて、または代替的に、１つまたは複数のスキャンチェーン８４６は、試験回路８０４の一部であると考えられ得る（しかし、スキャンチェーン８４６は、試験アクセスポート（ＴＡＰ）８２４によって、または試験アクセスポート８２４を通じてアクセスされなくてもよい）。
【０１２５】
試験アクセスポート（ＴＡＰ）８２４（例えば、ＴＡＰ８２４インターフェース）は通常、試験回路８０４および／または境界スキャンレジスタ８３４を制御するために使用され得る。例えば、試験アクセスポート（ＴＡＰ）８２４は、１つまたは複数の試験を実行するために、試験情報８０６ａ−ｂを試験回路８０４および／または境界スキャンレジスタ８３４に提供できる。例えば、試験アクセスポート（ＴＡＰ）８２４は、マルチプレクサＡ  ８３８ａからの外部信号に基づいて試験情報８０６ａ−ｂを提供できる。しかしながら、外部信号に対するアクセスが阻まれるようになることがある（８２６）。試験アクセスポート（ＴＡＰ）８２４は、試験回路８０４および／または境界スキャンレジスタ８３４から試験結果８０８ａを受信できる。試験アクセスポート（ＴＡＰ）８２４は、試験回路８０４に結合され得る。
【０１２６】
高速入力／出力（ＨＳＩＯ）インターフェース８１６は、ＨＳＩＯプロトコル試験情報８１８を外部デバイス（例えば、試験デバイス）から受信できる。ＨＳＩＯプロトコル試験情報８１８は、試験のための命令および／またはデータを含み得る。さらに、ＨＳＩＯプロトコル試験情報８１８は、ＨＳＩＯプロトコルに従ってフォーマット化され得る。いくつかの構成では、高速入力／出力（ＨＳＩＯ）インターフェース８１６は、ＨＳＩＯプロトコル試験情報８１８をシリアルフォーマットで受信できる。
【０１２７】
高速入力／出力（ＨＳＩＯ）インターフェース８１６は、ＨＳＩＯプロトコル試験情報８１８に基づいて、コントローラプロトコル試験情報８１２を生成できる。コントローラプロトコル試験情報８１２は、いくつかの構成では、シリアルフォーマットで試験コントローラ８１０に提供され得る。試験コントローラ８１０は、コントローラプロトコル試験情報８１２に基づいて、試験回路８０４を制御できる。例えば、試験コントローラ８１０は、コントローラプロトコル試験情報８１２に基づいて、ＪＴＡＧプロトコル試験情報８２８ａ−ｂを生成できる。
【０１２８】
試験コントローラ８１０は、試験回路８０４（例えば、境界スキャンレジスタ８３４および／またはスキャンチェーン８４６を含む）を制御するために使用され得る。図８に示される例では、試験コントローラ８１０は、マルチプレクサＡ  ８３８ａに結合される。試験コントローラ８１０は、１つまたは複数の試験を実行するために、ＪＴＡＧプロトコル試験情報８２８ａ−ｂ（および／または試験情報８０６ｇ−ｈ）を提供する。例えば、試験コントローラ８１０は、ＪＴＡＧプロトコル試験情報８２８ａをマルチプレクサＡ  ８３８ａに提供できる。加えて、試験コントローラ８１０は、ＪＴＡＧプロトコル試験情報８２８ｂを使用してマルチプレクサＡ  ８３８ａを制御できる。例えば、試験コントローラ８１０は、何らかのＪＴＡＧプロトコル試験情報８２８ｂ（例えば、命令、制御信号など）を使用して、ＪＴＡＧプロトコル試験情報８２８ａを（もしあれば、アクセスが阻まれた可能性のある外部のルートからの情報８２６の代わりに）、試験アクセスポート（ＴＡＰ）８２４に提供される選択されたＪＴＡＧプロトコル試験情報８２８ｃとして選択できる。選択されたＪＴＡＧプロトコル試験情報８２８ｃは次いで、試験情報８０６ａ−ｂを生成するために使用され得る。例えば、試験コントローラ８１０は、ＴＡＰ８２４インターフェースへの途上の外部の情報を（もしあれば）「傍受」して、試験アクセスポート（ＴＡＰ）８２４への途上の外部の情報（もしあれば）の代わりに試験情報８０６ａ−ｂを生成するために、ＪＴＡＧプロトコル試験情報８２８ａ（高速入力／出力（ＨＳＩＯ）インターフェース８１６によって受信されるＨＳＩＯプロトコル試験情報８１８に基づく）を提供できる。
【０１２９】
境界スキャンレジスタ８３４および／または試験回路８０４は、試験情報８０６ａ−ｂに基づいて、１つまたは複数の動作を実行できる。例えば、境界スキャンレジスタ８３４は、集積回路８０２の特定のピンに何らかのビットを与えることができ、かつ／または、試験回路８０４は、試験情報８０６ｂを適用できる。境界スキャンレジスタ８３４および／または試験回路８０４は、試験情報８０６ａ−ｂに基づいて、試験結果８０８ａを生成できる。試験結果８０８ａは、試験アクセスポート（ＴＡＰ）８２４に与えられ得る。
【０１３０】
加えて、または代替的に、試験コントローラ８１０は他の試験を実行できる。例えば、試験コントローラ８１０は、（例えば、シリアル試験情報８０６ｈからの）何らかのパラレルな試験情報８０６ｃ−ｆを使用して、（高速入力／出力（ＨＳＩＯ）インターフェース８１６によって受信されるＨＳＩＯプロトコル試験情報８１８に基づいて）スキャンチェーン８４６ｃ−ｆを試験できる。一構成では、スキャンチェーン８４６ｃ−ｆの各々は、試験情報８０６ｃ−ｆを提供することによって試験され得る１つまたは複数のフリップフロップを含み得る。例えば、試験コントローラ８１０は、試験情報８０６ｈを、高速シリアルデータストリームとしてマルチプレクサＢ  ８３８ｂを提供できる。試験コントローラ８１０はまた、試験情報８０６ｇを使用して、高速シリアルデータストリームとして提供される試験情報８０６ｈを復号する（例えば、逆多重化する）ために、マルチプレクサＢ  ８３８ｂを制御できる。例えば、試験情報８０６ｈは、４個の２０Ｍｂｐｓのデータストリームとして試験情報８０６ｃ−ｆの４個のセットへと逆多重化される、８０Ｍｂｐｓのデータストリームを備え得る。
【０１３１】
スキャンチェーン８４６ｃ−ｆは、試験コントローラ８１０に提供され得る試験結果８０８ｃ−ｆを生成できる。一構成では、試験結果８０８ｃ−ｆは、試験コントローラ８１０へパラレルに提供され得る。別の構成では、試験結果８０８ｃ−ｆは、試験コントローラ８１０に提供されるシリアルデータストリーム８０８ｇとして結合され得る。例えば、試験結果８０８ｃ−ｆは、試験コントローラ８１０に提供される単一のシリアルデータストリーム８０８ｇへと多重化され得る。
【０１３２】
試験コントローラ８１０は、試験アクセスポート（ＴＡＰ）８２４からＪＴＡＧプロトコル試験結果８３０を受信できる。例えば、試験アクセスポート（ＴＡＰ）８２４は、境界スキャンレジスタ８３４および／または試験回路８０４から受信された試験結果８０８ａに基づいて、ＪＴＡＧプロトコル試験結果８３０を試験コントローラ８１０に提供できる。
【０１３３】
試験コントローラ８１０は、ＪＴＡＧプロトコル試験結果８３０および／または試験結果８０８ｃ−ｆに基づいて、コントローラプロトコル試験結果８１４を生成できる。例えば、試験コントローラ８１０は、ＪＴＡＧプロトコル試験結果８３０および／または試験結果８０８ｃ−ｆを、コントローラプロトコル試験結果８１４へとフォーマット化できる。例えば、試験コントローラ８１０は、ＪＴＡＧプロトコル試験結果からＪＴＡＧプロトコルのフォーマットを除去し、コントローラプロトコルに従ってコントローラプロトコル情報（例えば、構造）を追加できる。加えて、または代替的に、試験コントローラ８１０は、コントローラプロトコルに従って、コントローラプロトコル情報（例えば、構造）を試験結果８０８ｃ−ｆ（例えば、データストリーム８０８ｇ）に追加できる。試験コントローラ８１０は、コントローラプロトコル試験結果８１４を高速入力／出力（ＨＳＩＯ）インターフェース８１６に提供できる。いくつかの構成では、コントローラプロトコル試験結果８１４は、シリアルデータストリームとして、または複数のパラレルデータストリームとして送信され得る。
【０１３４】
高速入力／出力（ＨＳＩＯ）インターフェース８１６は、コントローラプロトコル試験結果８１４に基づいて、ＨＳＩＯプロトコル試験結果８２０を生成できる。例えば、高速入力／出力（ＨＳＩＯ）インターフェース８１６は、コントローラプロトコル試験結果８１４を、試験デバイスへの送信のために、ＨＳＩＯプロトコル試験結果８２０へとフォーマット化できる。例えば、高速入力／出力（ＨＳＩＯ）インターフェース８１６は、コントローラプロトコル試験結果８１４からコントローラプロトコルのフォーマットを除去し、ＨＳＩＯプロトコル情報を追加することができ、かつ／または、ＨＳＩＯプロトコル（例えば、ＵＳＢプロトコル、ＭＤＤＩプロトコルなど）に従ってコントローラプロトコル試験結果８１４を構築できる。
【０１３５】
図９は、高速入力／出力インターフェース（ＨＳＩＯ）９１６を使用した試験が実施され得る、集積回路９０２の別の例を示すブロック図である。具体的には、図９は、本明細書で開示されるシステムおよび方法に従ってレジスタ９４８がパラレルにロードおよび／またはアンロードされ得る、一構成を示す。レジスタにデータをシリアルにロードし、レジスタからデータをシリアルにアンロードすることに加えて、パラレルなデータのロードも、いくつかの構成でサポートされ得る。例えば、特定のレジスタ９４８が選択されてよく、試験情報９０６は高速入力／出力（ＨＳＩＯ）インターフェース９１６を通じてパラレルにロードされ得る。加えて、選択されたレジスタ９４８はパラレルに読み取られ得る（例えば、アンロードされ得る）。
【０１３６】
図９に示される例に関するさらなる詳細が、以下で与えられる。集積回路９０２は、レジスタ９４８ａ−ｄ（例えば、試験回路）と、試験コントローラ９１０と、高速入力／出力（ＨＳＩＯ）インターフェース９１６と、デマルチプレクサ９４２と、マルチプレクサ９３８とを含む。
【０１３７】
高速入力／出力（ＨＳＩＯ）インターフェース９１６は、ＨＳＩＯプロトコル試験情報９１８を外部デバイス（例えば、試験デバイス）から受信できる。ＨＳＩＯプロトコル試験情報９１８は、試験のための命令および／またはデータを含み得る。さらに、ＨＳＩＯプロトコル試験情報９１８は、ＨＳＩＯプロトコルに従ってフォーマット化され得る。いくつかの構成では、高速入力／出力（ＨＳＩＯ）インターフェース９１６は、ＨＳＩＯプロトコル試験情報９１８をパラレルフォーマットで受信できる。例えば、ＨＳＩＯプロトコル試験情報９１８は、データ、チャネル、またはストリームのパラレルなセットで受信され得る。
【０１３８】
高速入力／出力（ＨＳＩＯ）インターフェース９１６は、ＨＳＩＯプロトコル試験情報９１８に基づいて、コントローラプロトコル試験情報９１２を生成できる。コントローラプロトコル試験情報９１２は、いくつかの構成では、パラレルフォーマットで試験コントローラ９１０に提供され得る。試験コントローラ９１０は、コントローラプロトコル試験情報９１２に基づいて、パラレルな試験情報９０６ａ−ｄを提供できる。例えば、試験コントローラ９１０は、コントローラプロトコル試験情報９１２に基づいて、試験情報のパラレルセット９０６ａ−ｄをレジスタ９４８ａ−ｄに提供できる。
【０１３９】
試験コントローラ９１０は、デマルチプレクサ９４２、マルチプレクサ９３８、および／またはレジスタ９４８ａ−ｄを制御するために使用され得る。図９に示される例では、試験コントローラ９１０は、デマルチプレクサ９４２およびマルチプレクサ９３８に結合される。試験コントローラ９１０は、試験情報９０６ｅを、デマルチプレクサ９４２およびマルチプレクサ９３８に提供する。試験情報９０６ｅは、試験情報９０６ｆ−ｉをレジスタ９４８ａ−ｄに提供するために、デマルチプレクサ９４２によって逆多重化され得る。この試験情報９０６ｆ−ｉ（例えば、制御情報）は、特定のレジスタ９４８ａ−ｄが試験コントローラ９１０からの試験情報９０６ａ−ｄをロードできる時を制御できる。
【０１４０】
レジスタ９４８ａ−ｄは、試験結果９０８ｅ−ｔをマルチプレクサ９３８に提供できる。マルチプレクサ９３８は、レジスタからの試験結果９０８ｅ−ｔを多重化（例えば、選択）して、試験コントローラ９１０に提供される（選択された）試験結果９０８ａ−ｄを提供できる。例えば、マルチプレクサ９３８は、試験コントローラ９１０によって提供される試験情報９０６ｅに基づいて、第１のレジスタ９４８ａからの試験結果９０８ｅ−ｈのセット、第２のレジスタ９４８ｂからの試験結果９０８ｉ−ｌのセット、第３のレジスタ９４８ｃからの試験結果９０８ｍ−ｐのセット、または、第４のレジスタ９４８ｄからの試験結果９０８ｑ−ｔのセットを選択できる。図９に示される例は、例えば、いくつかの４ビットレジスタ９４８を使用する、グラフィクスチップまたは画像チップを試験するために使用され得る。
【０１４１】
試験コントローラ９１０は、試験結果９０８ａ−ｄに基づいて、コントローラプロトコル試験結果９１４を生成できる。例えば、試験コントローラ９１０は、試験結果９０８ａ−ｄを、コントローラプロトコル試験結果９１４へとフォーマット化できる。例えば、試験コントローラ９１０は、コントローラプロトコルに従って、コントローラプロトコル情報（例えば、構造）を試験結果９０８ａ−ｄに追加できる。試験コントローラ９１０は、コントローラプロトコル試験結果９１４を高速入力／出力（ＨＳＩＯ）インターフェース９１６に提供できる。いくつかの構成では、コントローラプロトコル試験結果９１４は、シリアルデータストリームとして、または複数のパラレルデータストリームとして送信され得る。
【０１４２】
高速入力／出力（ＨＳＩＯ）インターフェース９１６は、コントローラプロトコル試験結果９１４に基づいて、ＨＳＩＯプロトコル試験結果９２０を生成できる。例えば、高速入力／出力（ＨＳＩＯ）インターフェース９１６は、コントローラプロトコル試験結果９１４を、試験デバイスへの送信のために、ＨＳＩＯプロトコル試験結果９２０へとフォーマット化できる。例えば、高速入力／出力（ＨＳＩＯ）インターフェース９１６は、コントローラプロトコル試験結果９１４からコントローラプロトコルのフォーマットを除去し、ＨＳＩＯプロトコル情報を追加することができ、かつ／または、ＨＳＩＯプロトコル（例えば、ＵＳＢプロトコル、ＭＤＤＩプロトコルなど）に従ってコントローラプロトコル試験結果９１４を構築できる。
【０１４３】
図１０は、高速入力／出力インターフェース（ＨＳＩＯ）１０１６を使用した試験が実施され得る、集積回路１００２の別の例を示すブロック図である。この例では、全てのレジスタ１０４８へのデータのパラレルなロードが可能にされ得る。任意選択で、全てのレジスタ１０４８に同一のデータをロードしてよく、または、特定のレジスタ１０４８に試験データをロードしつつ、レジスタ１０４８の残りにユーザがプログラム可能なデータ（例えば、すべて０のような）をロードしてよい。いくつかの構成では、レジスタ１０４８はパラレルに読み取られてよい。
【０１４４】
図１０に示される例に関するさらなる詳細が、以下で与えられる。集積回路１００２は、レジスタ１０４８ａ−ｄ（例えば、試験回路）と、試験コントローラ１０１０と、高速入力／出力（ＨＳＩＯ）インターフェース１０１６と、マルチプレクサ１０３８と、デマルチプレクサ１０４２とを含む。
【０１４５】
高速入力／出力（ＨＳＩＯ）インターフェース１０１６は、ＨＳＩＯプロトコル試験情報１０１８を外部デバイス（例えば、試験デバイス）から受信できる。ＨＳＩＯプロトコル試験情報１０１８は、試験のための命令および／またはデータを含み得る。さらに、ＨＳＩＯプロトコル試験情報１０１８は、ＨＳＩＯプロトコルに従ってフォーマット化され得る。いくつかの構成では、高速入力／出力（ＨＳＩＯ）インターフェース１０１６は、ＨＳＩＯプロトコル試験情報１０１８をパラレルフォーマットで受信できる。例えば、ＨＳＩＯプロトコル試験情報１０１８は、データ、チャネル、またはストリームのパラレルなセットで受信され得る。
【０１４６】
高速入力／出力（ＨＳＩＯ）インターフェース１０１６は、ＨＳＩＯプロトコル試験情報１０１８に基づいて、コントローラプロトコル試験情報１０１２を生成できる。コントローラプロトコル試験情報１０１２は、いくつかの構成では、パラレルフォーマットで試験コントローラ１０１０に提供され得る。試験コントローラ１０１０は、コントローラプロトコル試験情報１０１２に基づいて、パラレルな試験情報１００６ａ−ｄを提供できる。例えば、試験コントローラ１０１０は、コントローラプロトコル試験情報１０１２に基づいて、試験情報のパラレルなセット１００６ａ−ｄをデマルチプレクサ１０４２に提供できる。
【０１４７】
試験コントローラ１０１０は、デマルチプレクサ１０４２とマルチプレクサ１０３８と制御するために使用され得る。図１０に示される例では、試験コントローラ１０１０は、デマルチプレクサ１０４２およびマルチプレクサ１０３８に結合される。試験コントローラ１０１０は、試験情報１００６ｕを、デマルチプレクサ１０４２およびマルチプレクサ１０３８に提供する。試験情報１００６ｕは、試験情報１００６ａ−ｄをレジスタ１０４８ａ−ｄへと逆多重化（例えば、ルーティング）するために使用され得る。例えば、デマルチプレクサ１０４２は、試験情報１００６ａ−ｄを、第１のレジスタ１０４８ａへの試験情報の第１のセット１００６ｅ−ｈ、第２のレジスタ１０４８ｂへの試験情報の第２のセット１００６ｉ−ｌ、第３のレジスタ１０４８ｃへの試験情報の第３のセット１００６ｍ−ｐ、および／または第４のレジスタ１０４８ｄへの試験情報の第４のセット１００６ｑ−ｔへと逆多重化（例えば、ルーティング）できる。
【０１４８】
レジスタ１０４８ａ−ｄは、試験結果１００８ｅ−ｔをマルチプレクサ１０３８に提供できる。マルチプレクサ１０３８は、レジスタからの試験結果１００８ｅ−ｔを多重化（例えば、選択）して、試験コントローラ１０１０に提供される（選択された）試験結果１００８ａ−ｄを提供できる。例えば、マルチプレクサ１０３８は、試験コントローラ１０１０によって提供される試験情報１００６ｕに基づいて、第１のレジスタ１０４８ａからの試験結果１００８ｅ−ｈのセット、第２のレジスタ１０４８ｂからの試験結果１００８ｉ−ｌのセット、第３のレジスタ１０４８ｃからの試験結果１００８ｍ−ｐのセット、または、第４のレジスタ１０４８ｄからの試験結果１００８ｑ−ｔのセットを選択できる。図１０に示される例は、例えば、いくつかの４ビットレジスタ１０４８を使用する、グラフィクスチップまたは画像チップを試験するために使用され得る。
【０１４９】
試験コントローラ１０１０は、試験結果１００８ａ−ｄに基づいて、コントローラプロトコル試験結果１０１４を生成できる。例えば、試験コントローラ１０１０は、試験結果１００８ａ−ｄを、コントローラプロトコル試験結果１０１４へとフォーマット化できる。例えば、試験コントローラ１０１０は、コントローラプロトコルに従って、コントローラプロトコル情報（例えば、構造）を試験結果１００８ａ−ｄに追加できる。試験コントローラ１０１０は、コントローラプロトコル試験結果１０１４を高速入力／出力（ＨＳＩＯ）インターフェース１０１６に提供できる。いくつかの構成では、コントローラプロトコル試験結果１０１４は、シリアルデータストリームとして、または複数のパラレルデータストリームとして送信され得る。
【０１５０】
高速入力／出力（ＨＳＩＯ）インターフェース１０１６は、コントローラプロトコル試験結果１０１４に基づいて、ＨＳＩＯプロトコル試験結果１０２０を生成できる。例えば、高速入力／出力（ＨＳＩＯ）インターフェース１０１６は、コントローラプロトコル試験結果１０１４を、試験デバイスへの送信のために、ＨＳＩＯプロトコル試験結果１０２０へとフォーマット化できる。例えば、高速入力／出力（ＨＳＩＯ）インターフェース１０１６は、コントローラプロトコル試験結果１０１４からコントローラプロトコルのフォーマットを除去し、ＨＳＩＯプロトコル情報を追加することができ、かつ／または、ＨＳＩＯプロトコル（例えば、ＵＳＢプロトコル、ＭＤＤＩプロトコルなど）に従ってコントローラプロトコル試験結果１０１４を構築できる。
【０１５１】
図１１は、本明細書で開示されるシステムおよび方法に従って使用され得るコントローラプロトコル１１５０の一例を示す図である。例えば、試験コントローラ１１０および高速入力／出力（ＨＳＩＯ）インターフェース１１６は、コントローラプロトコルに基づいて通信できる。例えば、試験コントローラ１１０は、高速入力／出力（ＨＳＩＯ）インターフェース１１６の物理（ＰＨＹ）層から、または内部の発生源からクロック入力を得ることができる。通信チャネルは次いで、試験コントローラ１１０と高速入力／出力（ＨＳＩＯ）インターフェース１１６との間で開放され得る。試験コントローラ１１０および高速入力／出力（ＨＳＩＯ）インターフェース１１６は、コントローラプロトコル１１５０に基づいて、互いに通信できる。例えば、コントローラプロトコル試験情報１１２および／またはコントローラプロトコル試験結果１１４は、コントローラプロトコル１１５０に従ってフォーマット化され得る。
【０１５２】
図１１に示される例では、コントローラプロトコル１１５０は、試験コントローラ１１０と高速入力／出力（ＨＳＩＯ）インターフェース１１６との間で送信され得る３つのタイプのメッセージ、すなわち、リセットメッセージと、命令メッセージと、データメッセージとを提供するのみであり得る。リセットメッセージは、リセットインジケータ１１５２を含み得る。試験コントローラ１１０は、リセットインジケータ１１５２を受信した後、試験アクセスポート（ＴＡＰ）の有限状態機械（ＦＳＭ）をアイドル状態に設定できる。
【０１５３】
命令メッセージは、命令インジケータ１１５４と命令コード１１５６とを含み得る。命令インジケータ１１５４は、命令コード１１５６が来る予定であることを試験コントローラ１１０に示すことができる。命令コード１１５６は、特定の方式で動作するように試験コントローラ１１０に命令できる。例えば、命令コード１１５６は、試験コントローラ１１０がＴＡＰ  ＦＳＭを特定の状態へと進めるべきであることを、示すことができる。別の例では、命令コード１１５６は、試験すべき試験回路の特定のブロック／モジュール（例えば、部分）を示すことができる。
【０１５４】
データメッセージは、データインジケータ１１５８と、入力／出力フィールド１１６０と、データ値１１６２とを含み得る。データインジケータ１１５８は、入力および／または出力のために使用される期間（例えば、入力／出力フィールド１１６０）がメッセージ中に発生し得ることを示すことができる。入力／出力フィールド１１６０は、データ値１１６２が試験コントローラ１１０に入力されるか、または、（例えば、コントローラプロトコル試験結果１１４のように）試験コントローラ１１０から出力されるかを規定できる。データ値１１６２は、コントローラプロトコル試験情報１１２またはコントローラプロトコル試験結果１１４を含み得る。
【０１５５】
いくつかの構成では、通信が命令メッセージであるかデータメッセージであるかに基づいて、試験コントローラ１１０は、必要に応じて、（例えば、試験アクセスポート（ＴＡＰ）中の）ＦＳＭシーケンスを詳しく検討できる。命令メッセージが試験コントローラ１１０によって受信される場合、例えば、試験コントローラ１１０は、（ＴＡＰのＦＳＭにおける）アイドル状態から開始し、命令コード１１５６によって与えられる命令を完了できる。試験コントローラ１１０は次いで、（ＴＡＰのＦＳＭを）アイドル状態に戻すことができる（従って、任意の追加の命令を待機する）。加えて、試験コントローラ１１０は、高速入力／出力（ＨＳＩＯ）インターフェース１１６を通じて（例えば、要求された場合にデータメッセージを使用することによって）、データ値１１６２を出力できる。
【０１５６】
図１２は、本明細書で開示されるシステムおよび方法に従って使用され得るコントローラプロトコル１２５０の別の例を示す図である。例えば、試験コントローラ１１０および高速入力／出力（ＨＳＩＯ）インターフェース１１６は、コントローラプロトコルに基づいて通信できる。例えば、試験コントローラ１１０は、高速入力／出力（ＨＳＩＯ）インターフェース１１６の物理（ＰＨＹ）層から、または内部の発生源からクロック入力を得ることができる。通信チャネルは次いで、試験コントローラ１１０と高速入力／出力（ＨＳＩＯ）インターフェース１１６との間で開放され得る。試験コントローラ１１０および高速入力／出力（ＨＳＩＯ）インターフェース１１６は、コントローラプロトコル１２５０に基づいて、互いに通信できる。例えば、コントローラプロトコル試験情報１１２および／またはコントローラプロトコル試験結果１１４は、コントローラプロトコル１２５０に従ってフォーマット化され得る。
【０１５７】
図１２に示される例では、（例えば、試験アクセスポート（ＴＡＰ）の）サイクルごとの有限状態機械（ＦＳＭ）の制御が、符号化を使用して、高速入力／出力（ＨＳＩＯ）インターフェース１１６を通じて完全なＴＡＰインターフェース信号を試験コントローラ１１０に送達することによって、実現され得る。例えば、コントローラプロトコル１２５０は、３つのタイプのメッセージ、すなわち、試験データ入力（ＴＤＩ）メッセージと、試験モード選択（ＴＭＳ）メッセージと、試験データ出力（ＴＤＯ）メッセージとを含み得る。言い換えると、コントローラプロトコル試験情報１１２および／またはコントローラプロトコル試験結果１１４は、ＴＤＩメッセージと、ＴＭＳメッセージと、ＴＤＯメッセージとの１つまたは複数を含み得る。このコントローラプロトコル１２５０では、目標のＴＡＰ状態に到達するための試験モード選択（ＴＭＳ）シーケンスが、最初に送達される。例えば、試験モード選択（ＴＭＳ）メッセージは、試験モード選択（ＴＭＳ）インジケータ１２６８と、入力制御１２７０（情報）とを含み得る。ＴＭＳインジケータ１２６８は、入力制御１２７０が来ていることを試験コントローラ１１０（およびＴＡＰ）に示すことができる。入力制御１２７０は次いで、ＴＡＰのＦＳＭの状態を変化させることができる。
【０１５８】
特定の状態では、１つまたは複数の試験データ入力（ＴＤＩ）メッセージおよび／または試験データ出力（ＴＤＯ）メッセージが、データ（例えば、試験情報１０６）を入力するために、かつ／またはデータ（例えば、試験結果１０８）を要求するために使用され得る。ＴＤＩメッセージは、ＴＤＩインジケータ１２６４と入力データ１２６６とを含み得る。ＴＤＯメッセージは、ＴＤＯインジケータ１２７２と出力データ１２７４とを含み得る。例えば、データ書込みおよび／または読取りは、試験データイン（ＴＤＩ）メッセージおよび／または試験データアウト（ＴＤＯ）メッセージを利用することによって、特定の状態において実行され得る。次いで、次の試験モード選択（ＴＭＳ）メッセージを送信することによって、新たな状態遷移が後に続き得る。図１２に示されるプロトコル１２５０は、高速入力／出力（ＨＳＩＯ）インターフェース１１６および／または試験コントローラ１１０を通じて、通常のＪＴＡＧメッセージを埋め込むための１つの手法であり得ることに留意されたい。
【０１５９】
図１３は、本明細書で開示されるシステムおよび方法に従って使用され得るコントローラプロトコル１３５０の別の例を示す図である。例えば、試験コントローラ１１０および高速入力／出力（ＨＳＩＯ）インターフェース１１６は、コントローラプロトコルに基づいて通信できる。例えば、試験コントローラ１１０は、高速入力／出力（ＨＳＩＯ）インターフェース１１６の物理（ＰＨＹ）層から、または内部の発生源からクロック入力を得ることができる。通信チャネルは次いで、試験コントローラ１１０と高速入力／出力（ＨＳＩＯ）インターフェース１１６との間で開放され得る。試験コントローラ１１０および高速入力／出力（ＨＳＩＯ）インターフェース１１６は、コントローラプロトコル１３５０に基づいて、互いに通信できる。例えば、コントローラプロトコル試験情報１１２および／またはコントローラプロトコル試験結果１１４は、コントローラプロトコル１３５０に従ってフォーマット化され得る。
【０１６０】
図１３に示される例では、１つのメッセージが使用され得る。このメッセージは、目標の試験アクセスポート（ＴＡＰ）状態１３７６と、入力／出力フィールド１３７８と、データ１３８０とを含み得る。ＴＡＰ状態１３７６によって規定される特定の状態における動作（例えば、書込みおよび／または読取り）は、データ１３８０に含まれる命令に埋め込まれ得る。試験コントローラ１１０は、入来するメッセージ中のＴＡＰ状態１３７６（例えば、符号化された状態情報）に基づいて目標の状態に直接飛び、データのシフトインまたはシフトアウトを実行できる。入力／出力フィールド１３７８は、データ１３８０がシフトインされる（例えば、コントローラプロトコル試験情報１１２のように）かどうか、または、データ１３８０がシフトアウトされる（例えば、コントローラプロトコル試験結果１１４のように）かどうかを示すことができる。
【０１６１】
図１４は、電子デバイス１４０２において利用され得る様々なコンポーネントを示す。示されるコンポーネントは、同じ物理的構造物内に配置されてよく、または別個のハウジングもしくは構造物中に配置されてよい。電子デバイス１４０２は、以前に説明された１つまたは複数の集積回路１０２、３０２、５０２、６０２、７０２、８０２、９０２、１００２と同様に構成され得る。電子デバイス１４０２はプロセッサ１４８８を含む。プロセッサ１４８８は、汎用シングルマイクロプロセッサまたはマルチチップマイクロプロセッサ（例えば、ＡＲＭ）、専用マイクロプロセッサ（例えば、デジタル信号プロセッサ（ＤＳＰ））、マイクロコントローラ、プログラマブルゲートアレイなどであり得る。プロセッサ１４８８は、中央演算処理装置（ＣＰＵ）と呼ばれることがある。図１４の電子デバイス１４０２中に単一のプロセッサ１４８８のみが示されるが、代替的な構成では、プロセッサの組合せ（例えば、ＡＲＭとＤＳＰ）が使用され得る。
【０１６２】
電子デバイス１４０２はまた、プロセッサ１４８８と電子通信しているメモリ１４８２を含む。すなわち、プロセッサ１４８８は、メモリ１４８２から情報を読み取ること、および／またはメモリ１４８２に情報を書き込むことができる。メモリ１４８２は、電子情報を記憶することが可能な任意の電子コンポーネントであり得る。メモリ１４８２は、ランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、磁気ディスク記憶媒体、光記憶媒体、ＲＡＭ中のフラッシュメモリデバイス、プロセッサとともに含まれるオンボードメモリ、プログラマブル読取り専用メモリ（ＰＲＯＭ）、消去可能プログラマブル読取り専用メモリ（ＥＰＲＯＭ）、電気的消去可能ＰＲＯＭ（ＥＥＰＲＯＭ）、レジスタなど、およびそれらの組合せであり得る。
【０１６３】
データ１４８６ａおよび命令１４８４ａは、メモリ１４８２内に記憶され得る。命令１４８４ａは、１つまたは複数のプログラム、ルーチン、サブルーチン、関数、プロシージャなどを含み得る。命令１４８４ａは、単一のコンピュータ可読ステートメントまたは多くのコンピュータ可読ステートメントを含み得る。命令１４８４ａは、上で説明された方法２００、４００の１つまたは複数を実施するために、プロセッサ１４８８によって実行可能であり得る。命令１４８４ａを実行することは、メモリ１４８２内に記憶されるデータ１４８６ａの使用を伴い得る。図１４は、プロセッサ１４８８にロードされている（命令１４８４ａおよびデータ１４８６ａから来ることがある）いくつかの命令１４８４ｂとデータ１４８６ｂとを示す。
【０１６４】
電子デバイス１４０２はまた、他の電子デバイスと通信するための１つまたは複数の通信インターフェース１４９０を含み得る。通信インターフェース１４９０は、有線通信技術、ワイヤレス通信技術、またはその両方に基づき得る。様々なタイプの通信インターフェース１４９０の例には、シリアルポート、パラレルポート、ユニバーサルシリアルバス（ＵＳＢ）、イーサネット（登録商標）アダプタ、ＩＥＥＥ１３９４バスインターフェース、小型コンピュータシステムインターフェース（ＳＣＳＩ）バスインターフェース、赤外線（ＩＲ）通信ポート、Ｂｌｕｅｔｏｏｔｈ（登録商標）ワイヤレス通信アダプタ、ＩＥＥＥ８０２．１１ワイヤレス通信アダプタなどがある。
【０１６５】
電子デバイス１４０２はまた、１つまたは複数の入力デバイス１４９２と、１つまたは複数の出力デバイス１４９４とを含み得る。様々な種類の入力デバイス１４９２の例には、キーボード、マウス、マイクロフォン、遠隔制御デバイス、ボタン、ジョイスティック、トラックボール、タッチパッド、ライトペンなどがある。様々な種類の出力デバイス１４９４の例には、スピーカ、プリンタなどがある。電子デバイス１４０２中に通常含まれ得る１つの特定のタイプの出力デバイスは、ディスプレイデバイス１４９６である。本明細書で開示される構成とともに使用されるディスプレイデバイス１４９６は、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、発光ダイオード（ＬＥＤ）、ガスプラズマ、エレクトロルミネセンスなどのような、任意の適切な画像投影技術を利用し得る。ディスプレイコントローラ１４９８はまた、メモリ１４８２に記憶されたデータを、ディスプレイデバイス１４９６上に示されるテキスト、グラフィクス、および／または動画に（適宜）変換するために設けられ得る。
【０１６６】
電子デバイス１４０２の様々なコンポーネントは、電力バス、制御信号バス、ステータス信号バス、データバスなどを含み得る、１つまたは複数のバスによって互いに結合され得る。簡単のために、図１４では様々なバスはバスシステム１４０１として示される。図１４は、電子デバイス１４０２の１つの可能な構成しか示していないことに留意されたい。様々な他のアーキテクチャおよびコンポーネントも利用され得る。
【０１６７】
「判定すること」という用語は、多種多様なアクションを包含し、従って、「判定すること」は、計算すること、算出すること、処理すること、導出すること、調査すること、探索すること（例えば、テーブル、データベースまたは別のデータ構造において探索すること）、確認することなどを含み得る。また、「判定すること」は、受信すること（例えば、情報を受信すること）、アクセスすること（例えば、メモリ中のデータにアクセスすること）などを含み得る。また、「判定すること」は、解決すること、選択すること、選定すること、確立することなどを含み得る。
【０１６８】
「に基づいて」という句は、別段に明示されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という句は、「のみに基づいて」と「に少なくとも基づいて」の両方を表す。
【０１６９】
「プロセッサ」という用語は、汎用プロセッサ、中央演算処理装置（ＣＰＵ）、マイクロプロセッサ、デジタルシグナルプロセッサ（ＤＳＰ）、コントローラ、マイクロコントローラ、状態機械などを包含するものと広く解釈されるべきである。いくつかの状況下では、「プロセッサ」は、特定用途向け集積回路（ＡＳＩＣ）、プログラマブル論理デバイス（ＰＬＤ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）などを指し得る。「プロセッサ」という用語は、処理デバイスの組合せ、例えば、ＤＳＰとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、ＤＳＰコアと連携する１つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成を指し得る。
【０１７０】
「メモリ」という用語は、電子情報を記憶することが可能な任意の電子部品を包含するものと広く解釈されるべきである。メモリという用語は、ランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、プログラマブル読取り専用メモリ（ＰＲＯＭ）、消去可能プログラマブル読取り専用メモリ（ＥＰＲＯＭ）、電気的消去可能ＰＲＯＭ（ＥＥＰＲＯＭ）、フラッシュメモリ、磁気式または光学式のデータ記憶装置、レジスタなど、様々なタイプのプロセッサ可読媒体を指し得る。プロセッサがメモリから情報を読み込み、かつ／またはメモリに情報を書き込むことができる場合、メモリはプロセッサと電子通信していると言われる。プロセッサに一体化されたメモリは、プロセッサと電子通信している。
【０１７１】
「命令」および「コード」という用語は、任意のタイプの（１つまたは複数の）コンピュータ可読ステートメントを含むものと広く解釈されたい。例えば、「命令」および「コード」という用語は、１つまたは複数のプログラム、ルーチン、サブルーチン、関数、プロシージャなどを指し得る。「命令」および「コード」は、単一のコンピュータ可読ステートメントまたは多くのコンピュータ可読ステートメントを備え得る。
【０１７２】
本明細書で説明される機能は、ハードウェアによって実行されるソフトウェアまたはファームウェアで実装され得る。機能は、１つまたは複数の命令としてコンピュータ可読媒体上に記憶され得る。「コンピュータ可読媒体」または「コンピュータプログラム製品」という用語は、コンピュータまたはプロセッサによってアクセスされ得る、任意の非一時的な有形記憶媒体を指す。限定ではなく例として、コンピュータ可読媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭもしくは他の光ディスク記憶デバイス、磁気ディスク記憶デバイスもしくは他の磁気記憶デバイス、または命令もしくはデータ構造の形態で所望のプログラムコードを搬送または記憶するために使用されコンピュータによってアクセスされ得る、任意の他の媒体を備え得る。本明細書で使用されるディスク（disk）およびディスク（disc）には、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）およびブルーレイ（登録商標）ディスク（disc）が含まれ、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザーで光学的に再生する。
【０１７３】
本明細書に開示された方法は、記載された方法を実現するための１つまたは複数のステップまたは動作を備える。本方法のステップおよび／または動作は、特許請求の範囲から逸脱することなく互いに交換され得る。言い換えれば、説明されている方法の適切な動作のためにステップまたは動作の特定の順序が必要とされない限り、特定のステップおよび／または動作の順序および／または使用は、特許請求の範囲から逸脱することなく修正され得る。
【０１７４】
さらに、図２および図４によって示されたものなど、本明細書で説明される方法および技法を実行するためのモジュールおよび／または他の適切な手段は、デバイスによってダウンロードされ、かつ／または他の方法で取得され得ることを理解されたい。例えば、デバイスは、本明細書で説明される方法を実行するための手段の転送を可能にするために、サーバに結合され得る。代替的に、本明細書に記載された様々な方法は、記憶手段をデバイスに結合するかまたは提供するときにデバイスが様々な方法を取得できるように、記憶手段（例えば、ランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、コンパクトディスク（disc）（ＣＤ）またはフロッピーディスク（disk）のような物理的記憶媒体など）を介して提供され得る。
【０１７５】
特許請求の範囲は、上で示された厳密な構成およびコンポーネントに限定されないことを理解されたい。特許請求の範囲から逸脱することなく、本明細書に記載されたシステム、方法、および装置の構成、動作および詳細において、様々な修正、変更および変形が行われ得る。
【図１】
2014522961.tif 000003
【図２】
2014522961.tif 000004
【図３】
2014522961.tif 000005
【図４】
2014522961.tif 000006
【図５】
2014522961.tif 000007
【図６】
2014522961.tif 000008
【図７】
2014522961.tif 000009
【図８】
2014522961.tif 000010
【図９】
2014522961.tif 000011
【図１０】
2014522961.tif 000012
【図１１】
2014522961.tif 000013
【図１２】
2014522961.tif 000014
【図１３】
2014522961.tif 000015
【図１４】
2014522961.tif 000016
【国際調査報告】
2014522961.tif 000017
2014522961.tif 000018