JP2016153787A - 高速入力/出力インターフェースを使用して試験するための集積回路 - Google Patents

高速入力/出力インターフェースを使用して試験するための集積回路 Download PDF

Info

Publication number
JP2016153787A
JP2016153787A JP2016021907A JP2016021907A JP2016153787A JP 2016153787 A JP2016153787 A JP 2016153787A JP 2016021907 A JP2016021907 A JP 2016021907A JP 2016021907 A JP2016021907 A JP 2016021907A JP 2016153787 A JP2016153787 A JP 2016153787A
Authority
JP
Japan
Prior art keywords
test
controller
protocol
information
speed input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2016021907A
Other languages
English (en)
Inventor
バリス・アルスラン
Arslan Baris
マイケル・ライズン
Laisne Michael
ジョージ・アラン・ウィレイ
Alan Wiley George
ジョフレイ・シッピー
Shippee Geoffrey
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2016153787A publication Critical patent/JP2016153787A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318572Input/Output interfaces

Abstract

【課題】試験の行いやすさおよび/または速さを向上させるのを助ける、システムおよび方法を提供する。【解決手段】試験のために構成された集積回路が説明される。集積回路は、高速入力/出力インターフェースを含む。集積回路はまた、高速入力/出力インターフェースに結合された試験コントローラを含む。集積回路はさらに、試験コントローラに結合された試験回路を含む。試験コントローラは、高速入力/出力インターフェースからのコントローラプロトコル試験情報に基づいて、試験回路を制御する。【選択図】図1

Description

関連出願
本出願は、「FRAMEWORK AND PROTOCOL FOR UTILIZING HIGH−SPEED INPUT/OUTPUT INTERFACES FOR TEST CONTROL AND TEST DATA DELIVERY」という、2011年6月17日に出願した米国仮特許出願第61/498,431号に関し、この仮特許出願の優先権を主張する。
本開示は全般に、電子デバイスに関する。より詳細には、本開示は、高速入力/出力インターフェースを使用して試験するための集積回路に関する。
電子デバイスは、日常生活の一部となっている。電子デバイスの例には、集積回路、携帯電話、スマートフォン、ワイヤレスモデム、コンピュータ、デジタル音楽プレーヤ、全地球測位システム(GPS)ユニット、携帯情報端末、ゲームデバイスなどがある。現在、自動車から住宅の鍵まで、あらゆるものに電子デバイスが入っている。電子デバイスの複雑さは、ここ数年で劇的に増した。例えば、多くの電子デバイスは、デバイスを制御するのを助ける1つまたは複数のプロセッサ、ならびにプロセッサとデバイスの他の部分とをサポートするためのいくつかのデジタル回路を有する。
複雑さのこの上昇によって、集積回路および/またはデジタルシステムを試験できる試験に対する必要性が増してきた。試験は、いくつかのハードウェア、ソフトウェア、またはこれら両方の組合せのような、デバイスの様々な部分を検証または試験するために使用され得る。
しかしながら、集積回路を試験することは、試験を実行するための試験装置および試験時間のような、試験リソースを必要とする。いくつかの場合には、集積回路上でのいくつかの試験の実行は、特定の製造段階に限定されることがあり、一回当たり限られた数の集積回路に限定されることがある。この議論から認識され得るように、試験の行いやすさおよび/または速さを向上させるのを助ける、システムおよび方法が有益であり得る。
試験のために構成された集積回路が説明される。集積回路は、高速入力/出力インターフェースを含む。集積回路はまた、高速入力/出力インターフェースに結合された試験コントローラを含む。集積回路はさらに、試験コントローラに結合された試験回路を含む。試験コントローラは、高速入力/出力インターフェースからのコントローラプロトコル試験情報に基づいて、試験回路を制御する。試験コントローラは、高速入力/出力インターフェースから分離され得る。
集積回路はまた、試験コントローラおよび試験回路に結合された、試験アクセスポートを含み得る。高速入力/出力インターフェースは、高速入力/出力プロトコル試験情報を、コントローラプロトコル試験情報へとフォーマット化できる。試験コントローラは、コントローラプロトコル試験情報を、試験回路を制御するために試験アクセスポートに提供されるjoint test action groupプロトコル試験情報へと、フォーマット化できる。
試験コントローラは、joint test action groupプロトコル試験結果をコントローラプロトコル試験結果へとフォーマット化できる。高速入力/出力インターフェースは、コントローラプロトコル試験結果を、高速入力/出力プロトコル試験結果へとフォーマット化できる。
試験アクセスポートインターフェース信号は、試験アクセスポートの前で捕えられ得る。試験アクセスポートによって提供される試験制御信号およびデータ信号は、試験アクセスポートの後で捕えられ得る。
試験コントローラは、試験アクセスポートを通ってアクセスされない試験回路の一部において、試験を実行できる。試験回路は、境界スキャンレジスタ、スキャンチェーン、レジスタおよび/またはメモリであり得る。
コントローラプロトコル試験情報は、リセットメッセージ、命令メッセージ、および/またはデータメッセージを含み得る。コントローラプロトコル試験情報は、試験データ入力メッセージ、試験モード選択メッセージ、および/または試験データ出力メッセージを含み得る。コントローラプロトコル試験情報は、目標の試験アクセスポート状態と、入力/出力フィールドと、データとを含む、メッセージを含み得る。
高速入力/出力インターフェースは、universal serial bus(USB)インターフェースであってよい。高速入力/出力インターフェースは、モバイルディスプレイデジタルインターフェース(MDDI)であってよい。
コントローラプロトコル試験情報は、パラレルフォーマットであってよい。コントローラプロトコル試験情報は、シリアルフォーマットであってよい。
集積回路を試験するための方法も説明される。方法は、高速入力/出力インターフェースにおいて、高速入力/出力プロトコル試験情報を受信することを含む。方法はまた、高速入力/出力プロトコル試験情報に基づいて、コントローラプロトコル試験情報を生成することを含む。方法はさらに、コントローラプロトコル試験情報を試験コントローラに提供することを含む。方法は追加で、高速入力/出力インターフェースからのコントローラプロトコル試験情報に基づいて、試験回路を制御することを含む。
集積回路を試験するためのコンピュータプログラム製品が説明される。コンピュータプログラム製品は、命令を伴う非一時的有形コンピュータ可読媒体を含む。命令は、電子デバイスに、高速入力/出力インターフェースにおいて、高速入力/出力プロトコル試験情報を受信させるためのコードを含む。命令はまた、電子デバイスに、高速入力/出力プロトコル試験情報に基づいて、コントローラプロトコル試験情報を生成させるためのコードを含む。命令はさらに、電子デバイスに、コントローラプロトコル試験情報を試験コントローラへ提供させるためのコードを含む。命令は追加で、電子デバイスに、高速入力/出力インターフェースからのコントローラプロトコル試験情報に基づいて、試験回路を制御させるためのコードを含む。
集積回路を試験するための装置も説明される。装置は、高速入力/出力プロトコル試験情報を受信するための手段を含む。装置はまた、高速入力/出力プロトコル試験情報に基づいて、コントローラプロトコル試験情報を生成するための手段を含む。装置はさらに、コントローラプロトコル試験情報を提供するための手段を含む。装置は追加で、コントローラプロトコル試験情報に基づいて、試験回路を制御するための手段を含む。
高速入力/出力(HSIO)インターフェースを使用して試験するための集積回路の一構成を示すブロック図。 高速入力/出力インターフェース(HSIO)を使用して試験するための方法の一構成を示す流れ図。 高速入力/出力(HSIO)インターフェースを使用して試験するための集積回路のより具体的な構成を示すブロック図。 高速入力/出力インターフェース(HSIO)を使用して試験するための方法のより具体的な構成を示す流れ図。 高速入力/出力インターフェース(HSIO)を使用した試験が実施され得る、集積回路の一例を示すブロック図。 高速入力/出力インターフェース(HSIO)を使用した試験が実施され得る、集積回路の別の例を示すブロック図。 高速入力/出力インターフェース(HSIO)を使用した試験が実施され得る、集積回路の別の例を示すブロック図。 高速入力/出力インターフェース(HSIO)を使用した試験が実施され得る、集積回路の別の例を示すブロック図。 高速入力/出力インターフェース(HSIO)を使用した試験が実施され得る、集積回路の別の例を示すブロック図。 高速入力/出力インターフェース(HSIO)を使用した試験が実施され得る、集積回路の別の例を示すブロック図。 本明細書で開示されるシステムおよび方法に従って使用され得るコントローラプロトコルの一例を示す図。 本明細書で開示されるシステムおよび方法に従って使用され得るコントローラプロトコルの別の例を示す図。 本明細書で開示されるシステムおよび方法に従って使用され得るコントローラプロトコルの別の例を示す図。 電子デバイスにおいて利用され得る様々なコンポーネントを示す図。
詳細な説明
文脈によって明確に限定されない限り、「信号」という用語は、本明細書では、ワイヤ、バス、または他の伝送媒体上に表されたメモリ位置(またはメモリ位置のセット)の状態を含む、その通常の意味のいずれをも示すために使用される。文脈によって明確に限定されない限り、「発生させること(generating)」という用語は、本明細書では、計算すること(computing)または別様に生成すること(producing)など、その通常の意味のいずれをも示すために使用される。文脈によって明確に限定されない限り、「計算すること(calculating)」という用語は、本明細書では、値のセットから計算すること(computing)、評価すること、および/または選択することなど、その通常の意味のいずれをも示すために使用される。文脈によって明確に限定されない限り、「取得すること(obtaining)」という用語は、計算すること(calculating)、導出すること、(例えば、外部デバイスから)受信すること、および/または(例えば、記憶要素のアレイからの)取り出すことなど、その通常の意味のいずれをも示すために使用される。「備えること(comprising)」という用語は、本明細書および特許請求の範囲において使用される場合、他の要素または動作を除外しない。「に基づく」(「AはBに基づく」など)という用語は、(i)「少なくとも〜に基づく」(例えば、「Aは少なくともBに基づく」)、および特定の文脈で適切な場合に、(ii)「と等しい」(例えば、「AはBと等しい」)という場合を含む、その通常の意味のいずれをも示すために使用される。同様に、「に応答して」という用語は、「少なくとも〜に応答して」を含む、その通常の意味のいずれをも示すために使用される。
別段に規定されていない限り、特定の特徴を有する装置の動作のいかなる開示も、類似の特徴を有する方法を開示する(その逆も同様)ことをも明確に意図し、特定の構成による装置の動作のいかなる開示も、類似の構成による方法を開示する(その逆も同様)ことをも明確に意図する。「構成」という用語は、具体的な文脈によって示されるように、方法、装置、またはシステムに関して使用され得る。「方法」、「プロセス」、「手順」、および「技法」という用語は、具体的な文脈によって別段に規定されていない限り、総称的、互換的に使用される。「装置」および「デバイス」という用語も、特定の文脈によって別段に規定されていない限り、総称的、互換的に使用される。「要素」および「モジュール」という用語は、通常、より大きな構成の一部分を示すために使用される。また、文書の一部分の参照によるいかなる組込みも、その部分内で参照される用語または変数の定義が、その文書中の他の場所、ならびに組み込まれた部分中で参照される任意の図に現れた場合、そのような定義を組み込んでいることを理解されたい。
本明細書で使用される「ブロック/モジュール」という用語は、特定の要素がハードウェア、ソフトウェアまたは両方の組合せにおいて実装され得ることを示すために使用され得る。「結合された」という用語およびその変形は、1つの要素が別の要素へ直接または間接的に接続されることを示すために使用され得る。例えば、第1の要素が第2の要素に結合される場合、第1の要素は第2の要素に直接的に接続されてよく、または第3の要素を通じて第2の要素に間接的に接続されてよい。
多くの異なる種類の電子デバイスが、試験による恩恵を受けることができる。そのようなデバイスは、限定はされないが、集積回路、携帯電話、ワイヤレスモデム、コンピュータ、デジタル音楽プレーヤ、全地球測位システム(GPS)ユニット、携帯情報端末、ゲームデバイスなどがある。デバイスの1つのグループは、ワイヤレス通信システムとともに使用され得るデバイスを含む。本明細書で使用される場合、「ワイヤレス通信デバイス」という用語は、ワイヤレス通信ネットワークを通じた音声通信および/またはデータ通信のために使用され得る、電子デバイスを指す。ワイヤレス通信デバイスの例には、携帯電話、スマートフォン、ハンドヘルドワイヤレスデバイス、ワイヤレスモデム、ラップトップコンピュータ、パーソナルコンピュータなどがある。ワイヤレス通信デバイスは、代替的に、アクセス端末、モバイル端末、加入者局、リモート局、ユーザ端末、端末、加入者ユニット、ユーザ機器などと呼ばれることがある。
集積回路またはチップは、試験機能を制御し、試験データを送信し受信するために使用される、専用の試験インターフェースを保有できることが多い。専用の試験インターフェースの一例は、試験アクセスポート(TAP)である。「試験アクセスポート(TAP)」は、本明細書でいくつかの例において説明される。しかしながら、任意の専用の試験インターフェースが、これらの例では試験アクセスポート(TAP)の代わりに使用され得ることに留意されたい。さらに、「joint test action group(JTAG)プロトコル」という用語が、本明細書のいくつかの例で使用される。しかしながら、専用の試験インターフェースと通信するために使用され得る任意のプロトコルは、これらの例ではjoint test action group(JTAG)プロトコルの代わりに使用され得ることを留意されたい。
集積回路が基板に組み立てられる場合、ルーティングチャネルが限られていることが原因で、試験インターフェースアクセスが失われることがある。これにより、試験機能の制御が阻まれることがあり、その後、(例えば、集積回路上の)チップ間の相互接続試験のような、いくつかの試験の実行が妨げられることがある。例えば、携帯電話では、デバイス間で、かつ周辺機器へデータを運ぶためのワイヤのための空間は、わずか数本分しかない。少数のワイヤしか下側のクラムシェル(clamshell)から上側のクラムシェルに向かうことができないクラムシェル型の携帯電話では、状況はさらに悪い。利用できるワイヤが限られていることで、電話の中のチップの試験インターフェースにアクセスすることができず、その後、ユーザは、既存の試験方法を使用して、デバイスの接続と構造上の機能とを試験することができない。
専用の試験インターフェースに必要な基板の空間は、通常、より高価な基板のルーティングという追加のコストを払うことによって(これは普通、非常にハイエンドの携帯電話およびデバイスを除き選択肢ではない)、設けられる。あるいは、単に試験機能を設けなくてもよいが、このことは、欠陥と歩留まりの問題の源を迅速に特定できない結果として、数百万ドルの追加の生産コストをもたらし得る。
本明細書で開示されるシステムおよび方法は、高速入力/出力(HSIO)インターフェース(例えば、universal serial bus(USB)、モバイルディスプレイデジタルインターフェース(MDDI)など)を試験インターフェースとして利用することによって、この問題に対処する。集積回路上にはすでに多数のHSIOインターフェースが存在することが多いので、本明細書で開示されるシステムおよび方法は、専用の試験インターフェースのアクセスをサポートするのに必要とされ得る追加のルーティングコストを招くことなく、試験制御を可能にできる。本明細書で開示されるシステムおよび方法は、高速入力/出力(HSIO)インターフェースを使用することで、通常の専用の試験インターフェースを使用した場合よりも高速に試験が実行され得るという点で有利となり得る。さらに、本明細書で開示されるシステムおよび方法は、試験において使用され得る集積回路当たりのピンがより少ないので、一度に多数の集積回路を試験することを可能にし得る。
従って、試験のためにHSIOインターフェースを使用することの1つの利点は、少数のピンを通じた高速な試験データの送達である。このことは、使用するピンの数が少ないことにより、より高速な試験とパラレリズムのレベルの向上とを可能にし、その結果試験のコストが減る。言い換えると、試験するのに必要な時間の長さを減らすことによって、かつ/または、一度に試験され得るデバイス(例えば、集積回路)の数を増やすことによって、試験のためのHSIOインターフェースを使用することで、試験のコストは減らされ得る。加えて、試験のためにHSIOインターフェースを使用することで、専用の試験インターフェースへのアクセスが阻まれている場合であっても、試験が可能になり得る。
一構成では、試験コントローラは、HSIOインターフェースを通じて試験デバイスと通信する、集積回路上で実装され得る。試験コントローラは、ハードウェアおよび/またはソフトウェアで(例えば、デバイス中または集積回路上の既存のプロセッサを使用することによって)実装され得る。試験コントローラは、HSIOインターフェースを通じて送達されるデータを符号化することによりTAPによって通常は生成されるであろう、試験命令を生成できる。
本明細書で開示されるシステムおよび方法のいくつかの可能な構成の例が、以下で与えられる。一構成では、試験コントローラ(ハードウェアおよび/またはソフトウェアで実装される)は、HSIOインターフェースを通じて、外部デバイス(例えば、試験デバイス)と通信する(例えば、情報を送信および/または受信する)。この構成では、試験コントローラは、TAPによって提供される試験制御信号とデータ信号とを捕え、HSIOインターフェースから取得した命令に基づいて、適切な制御値とデータ値とを提供する。試験コントローラはまた、HSIOを通じて、試験結果または応答を外部デバイスに送達できる。この構成の一例では、試験制御信号および/または試験データ信号は、TAPの後で捕えられ得る。別の例では、TAPインターフェース信号は、TAPの前で捕えられ得る。さらに別の例では、試験制御信号および/または試験データ信号は、下流の論理の中の任意の時点において捕えられ得る。
いくつかの構成では、本明細書で開示されるシステムおよび方法は、TAPインターフェース(HSIOインターフェースと比べて相対的に遅いことがある)を通じては可能ではないことがある、他の試験を追加でサポートできる。例えば、高速試験データストリームは、HSIOを使用することによって、集積回路上のメモリにルーティングされ得る。
加えて、または代替的に、本明細書で開示されるシステムおよび方法は、パラレルに、複数のスキャンチャネルを駆動し、レジスタをロードおよび/またはアンロードするために使用され得る。例えば、HSIOインターフェース物理(PHY)層が、パラレルフォーマットで、試験コントローラとの間でデータを送信し受信している場合、HSIOインターフェース物理層が、複数のスキャンチェーンを駆動するために使用され得る。
あるいは、データが高速シリアルストリームとして(試験コントローラに)到達している場合、データは、複数のスキャンチャネルへと復号され得る。例えば、毎秒80メガビット(Mbps)のデータストリームが、20Mbpsで4個のスキャンチェーンを駆動するために使用され得る。レジスタへのデータのシリアルロードに加えて、パラレルデータロードも、いくつかの構成においてサポートされ得る。一例では、特定のレジスタが選択され、HSIOインターフェースを通じてデータがパラレルにロードされる。同様に、選択されたレジスタデータがパラレルに読み取られ得る(例えば、アンロードされ得る)。一構成では、全てのレジスタへのデータのパラレルなロードが可能にされ得る。任意選択で、全てのレジスタに同一のデータをロードしてよく、または、特定のレジスタに試験データをロードしつつ、レジスタの残りにユーザがプログラム可能なデータ(例えば、すべて0のような)をロードしてよい。いくつかの構成では、選択されたレジスタはパラレルに読み取られてよい。
試験コントローラおよびHSIOは、プロトコル(例えば、「コントローラプロトコル」)に基づいて通信し得る。例えば、試験コントローラは、HSIO PHYまたは内部のソースから、クロック入力を得ることができる。試験コントローラとHSIOとの間の通信チャネルは空いており、試験コントローラとHSIOはプロトコル(例えば、「コントローラプロトコル」)に基づいて互いに通信する。プロトコルの一構成は、リセット、命令、またはデータを、試験コントローラに送信するだけである。試験コントローラは、リセットの後、TAPの有限状態機械(FSM)をアイドル状態に設定する。通信が命令かデータかに基づいて、試験コントローラは、アイドル状態から開始する必要なFSMシーケンス全体を経て、命令を完了し、アイドル状態に戻る(従って、任意の追加の命令を待機する)。同様に、情報(例えば、データ)は、(例えば、要求されると)HSIOインターフェースを通じて出力され得る。
別の構成では、サイクルごとのFSM制御は、符号化を使用して、HSIOインターフェースを通じて、TAPインターフェース信号全体を送達することによって、実現され得る。このプロトコル構成では、目標のTAP状態に到達するための試験モード選択(TMS)シーケンスが、最初に送達される。データ書込みおよび/または読取りは、試験データイン(TDI)命令および/または試験データアウト(TDO)命令を利用することによって、この特定の状態において実行され得る。次いで、次の試験モード選択(TMS)シーケンスを送信することによって、新たな状態遷移が後に続き得る。
別の構成では、目標の状態およびこの特定の状態における動作(例えば、書込みおよび/または読取り)が、命令に埋め込まれ得る。試験コントローラは、入来する命令中の符号化された状態情報を使用することによって、目標の状態に直接飛び、データのシフトインまたはシフトアウトを実行できる。
本明細書で開示されるシステムおよび方法は、既存のHSIOインターフェースを試験インターフェースとして利用できる。これによって、専用の試験インターフェース(例えば、TAP)の必要性がなくなり得る。従って、本明細書で開示されるシステムおよび方法は、ルーティングの要件を減らし、他の方法では可能ではないであろう試験およびデバッグの能力を可能にできる。その結果、専用の試験インターフェースのアクセスを伴わずに、試験品質を上げることができ、デバイスのデバッグ時間を減らすことができる。TAPおよび可能性のある他の試験機構と関連する全ての命令が、HSIOインターフェースプロトコルに埋め込まれ得る。
次に、図面を参照して様々な構成が説明され、同様の参照番号は機能的に同様の要素を示し得る。本明細書で全般に説明され図に示されるシステムおよび方法は、多種多様な異なる構成で構成および設計され得る。従って、図に表されるいくつかの構成についての以下のより詳細な説明は、特許請求する範囲を限定するものではなく、システムおよび方法を代表するものにすぎない。
図1は、高速入力/出力(HSIO)インターフェース116を使用して試験するための集積回路102の一構成を示すブロック図である。集積回路102は、試験回路104と、試験コントローラ110と、高速入力/出力(HSIO)インターフェース116とを含む。高速入力/出力(HSIO)インターフェース116は、試験コントローラ110に結合されてよく、試験コントローラ110は、試験回路104に結合されてよい。試験回路104は、試験のための1つまたは複数の回路要素を備え得る。例えば、試験回路104は、1つまたは複数の個別のコンポーネント(例えば、抵抗、キャパシタ、インダクタ)、ダイオード、トランジスタ、ラッチ、レジスタ(例えば、境界スキャンレジスタ)、スキャンチェーン、フリップフロップ、メモリセル、バス、デジタル論理、プロセッサ、特定用途向け集積回路(ASIC)などを含み得る。いくつかの構成では、集積回路102は、device under test(DUT)であると考えられ得る。加えて、または代替的に、試験回路104は、試験のための情報を圧縮および/または解凍するための回路を含み得る。
試験コントローラ110は、試験回路104を制御するために使用され得る。例えば、試験コントローラ110は、試験回路104上で1つまたは複数の試験を実行するために、試験情報106(例えば、命令、データなど)を試験回路104に提供できる。試験コントローラ110はまた、試験回路104から試験結果108を受信できる。試験コントローラ110は、ハードウェア、ソフトウェア、または両方の組合せとして実装され得る。例えば、試験コントローラ110は、特定用途向け集積回路(ASIC)、マイクロコントローラ、命令を伴うプロセッサなどとして実装され得る。試験コントローラ110は、試験回路104に結合されてよく、高速入力/出力(HSIO)インターフェース116に結合されてよい。
高速入力/出力(HSIO)インターフェース116は、別のデバイスから情報を受信するために使用されてよく、かつ/または、別のデバイスに情報を送信(例えば、出力)するために使用されてよい。高速入力/出力(HSIO)インターフェース116は、インターフェースをサポートするために使用される、1つまたは複数の物理ポート、プロトコル、および/または論理を含み得る。高速入力/出力(HSIO)インターフェース116の例には、universal serial bus(USB)インターフェース、モバイルディスプレイデジタルインターフェース(MDDI)、Peripheral
Component Interconnect Express(PCIe)インターフェース、High−Definition Multimedia Interfaces(HDMI(登録商標))、Serial Advanced Technology Attachment(SATA)インターフェース、Mobile Industry Processor Interface Display Serial Interfaces(MIPI DSI)、Mobile Industry Processor Interface Camera Serial Interfaces(MIPI CSI)などがある。
高速入力/出力(HSIO)インターフェース116は、コントローラプロトコル試験情報112を試験コントローラ110に送信できる。コントローラプロトコル試験情報112は、試験回路104を試験するために使用され得る、命令および/またはデータを含み得る。コントローラプロトコル試験情報112は、コントローラプロトコルに準拠し得る。言い換えると、コントローラプロトコル試験情報112は、試験コントローラ110によって使用されるプロトコルに従ってフォーマット化され得る。例えば、コントローラプロトコル試験情報112は、コントローラプロトコルによって規定されるような、特定のメッセージ、フレーム、パケットおよび/またはタイミング構造に従って構築され得る。
高速入力/出力(HSIO)インターフェース116は、コントローラプロトコル試験結果114を受信できる。コントローラプロトコル試験結果114は、試験回路104を試験したことに基づいて生成される情報(例えば、データ)を含み得る。コントローラプロトコル試験結果114は、コントローラプロトコルに従ってフォーマット化され得る。言い換えると、コントローラプロトコル試験結果114は、試験コントローラ110によって使用されるプロトコルに従ってフォーマット化され得る。例えば、コントローラプロトコル試験結果114は、コントローラプロトコルによって規定されるような、特定のメッセージ、フレーム、パケットおよび/またはタイミングに従って構築され得る。コントローラプロトコルのいくつかの例が、以下でより詳しく与えられる。高速入力/出力(HSIO)インターフェース116は、コントローラプロトコル試験結果114をHSIOプロトコル試験結果120へとフォーマット化できる。
高速入力/出力(HSIO)インターフェース116は、試験デバイス122からHSIOプロトコル試験情報118を受信することができ、かつ/または、HSIOプロトコル試験結果120を試験デバイス122に送信できる。しかしながら、HSIOインターフェース116は、試験と関連しない様々な異なる種類の情報を送信および/または受信するために使用され得ることに留意されたい。例えば、HSIOインターフェース116は、集積回路102上のメモリにファイルを転送し、外部ディスプレイを駆動し、バッテリーを充電し、音声を出力し、音声を受信し、ユーザインターフェースデバイス(例えば、マウス、タッチパッド)と通信するなどするために、使用され得る。
HSIOインターフェース116は、専用の試験インターフェース(例えば、TAP)ではなくてもよいことに留意されたい。HSIOインターフェース116の高い速度は試験のより高速な実行を可能にし得るが、HSIOインターフェース116を使用することの他の利点があり得る。例えば、HSIOインターフェース116が試験の適用中に完全な動作速度よりも遅い速度で実行されても、デバッグなどのような何らかの目的で、依然として有用であり得る。
いくつかの構成では、HSIOインターフェース116は、集積回路設計において通常使用されるインターフェースであり得る。例えば、HSIOインターフェース116は、コンピューティングデバイスのマザーボードまたは携帯電話の基板などのための、USBインターフェースであり得る。
集積回路102は、試験デバイス122と通信できる。例えば、試験デバイス122は、高速入力/出力(HSIO)インターフェース116に結合され得る。試験デバイス122の例には、自動試験装置(ATE:automated test equipment)、デジタルマルチメータ、オシロスコープ、コンピュータなどがある。
高速入力/出力(HSIO)インターフェース116は、HSIOプロトコル試験情報118を試験デバイス122から受信できる。HSIOプロトコル試験情報118は、試験のための命令および/またはデータを含み得る。さらに、HSIOプロトコル試験情報118は、HSIOプロトコルに従ってフォーマット化され得る。例えば、高速入力出力(HSIO)インターフェース116がUSBインターフェースである場合、HSIOプロトコル試験情報118は、USBプロトコル(例えば、ハンドシェイクプロトコル、トークンプロトコル、肯定応答/否定応答(ACK/NACK)プロトコルなど)に従ってフォーマット化され得る。
高速入力/出力(HSIO)インターフェース116は、HSIOプロトコル試験結果120を試験デバイス122に送信できる。例えば、高速入力/出力(HSIO)インターフェース116は、HSIOプロトコルに従ってフォーマット化されるデータを送信できる。
一例では、高速入力/出力(HSIO)インターフェース116は、HSIOプロトコル試験情報118を試験デバイス122から受信できる。高速入力/出力(HSIO)インターフェース116は、HSIOプロトコル試験情報118に基づいて、コントローラプロトコル試験情報112を生成できる。例えば、高速入力/出力(HSIO)インターフェース116は、HSIOプロトコル試験情報118からHSIOプロトコルのフォーマットを除去することができ、ペイロード情報が得られる。高速入力/出力(HSIO)インターフェース116は、コントローラプロトコルのフォーマットをペイロード情報に追加することができ、かつ/または、ペイロード情報を、試験コントローラ110に提供されるコントローラプロトコル試験情報112へとフォーマット化(例えば、変換、転換など)できる。言い換えると、高速入力/出力(HSIO)インターフェース116は、HSIOプロトコル試験情報をコントローラプロトコル試験情報112へとフォーマット化できる。
試験コントローラ110は、コントローラプロトコル試験情報112に基づいて、試験回路104を制御できる。例えば、試験コントローラ110は、コントローラプロトコル試験情報112に基づいて、試験情報106を試験回路104に送信できる。別の例では、試験コントローラ110は、他の情報(例えば、JTAGプロトコル試験情報)を、試験回路104を制御する別のブロック/モジュール(例えば、専用の試験インターフェース、TAPなど)に送信できる。いくつかの構成では、試験コントローラ110は、HSIOインターフェース116から離れていて(例えば、統合されていなくて)よい。例えば、試験コントローラ110は、集積回路102上に含まれる別個のブロックまたはチップであってよい。
いくつかの構成では、試験コントローラ110は、試験回路104のための1つまたは複数の試験を制御(例えば、指揮)できる。例えば、試験コントローラ110は、試験されるべき集積回路102の特定のブロックまたは要素(例えば、試験回路104)を規定するインジケータを、試験デバイス112から(HSIOインターフェース116を通じて)受信できる。試験コントローラ110は次いで、試験データを、試験されるべき適切なブロックまたは要素に向ける(例えば、ルーティングする)ことができる。これらのブロックまたは要素のいくつかの例は、メモリ、スキャンチェーン、境界スキャン、特定の回路要素、1つまたは複数のレジスタなどを含み得る。いくつかの構成では、例えば、試験コントローラ110は、試験データまたは試験信号を特定のブロックまたは要素へ向けるために使用される特定のアドレス(または制御情報)へと、インジケータを転換できる。加えて、または代替的に、試験コントローラ110は、試験の実行を開始および/または終了できる。このことは、試験デバイス122から(HSIOインターフェース116を通じて)受信された1つまたは複数のインジケータに基づいてよく、または、試験コントローラ110によって独立に実行されてよい。
試験回路104は、試験情報106に基づいて、1つまたは複数の動作を実行できる。試験回路104は、試験情報106に基づいて、試験結果108を生成できる。試験結果108は、試験コントローラ110に提供され得る。
試験コントローラ110は、試験結果108に基づいて、コントローラプロトコル試験結果114を生成できる。例えば、試験コントローラ110は、試験結果108をコントローラプロトコル試験結果114へとフォーマット化できる。例えば、試験コントローラ110は、コントローラプロトコル情報を試験結果108に追加することができ、かつ/または、コントローラプロトコルに従って試験結果108を構築できる。試験コントローラ110は、コントローラプロトコル試験結果114を高速入力/出力(HSIO)インターフェース116に提供できる。
高速入力/出力(HSIO)インターフェース116は、コントローラプロトコル試験結果114に基づいて、HSIOプロトコル試験結果120を生成できる。例えば、高速入力/出力(HSIO)インターフェース116は、コントローラプロトコル試験結果114を、試験デバイス122への送信のために、HSIOプロトコル試験結果120へとフォーマット化できる。例えば、高速入力/出力(HSIO)インターフェース116は、HSIOプロトコル情報をHSIOプロトコル試験結果120に追加することができ、かつ/または、コントローラプロトコル試験結果114からコントローラプロトコルのフォーマットを除去し、HSIOプロトコル情報を追加することができ、かつ/または、HSIOプロトコル(例えば、USBプロトコル、MDDIプロトコルなど)に従ってコントローラプロトコル試験結果114を構築できる。
図2は、高速入力/出力インターフェース(HSIO)を使用して試験するための方法200の一構成を示す流れ図である。集積回路102は、高速入力/出力(HSIO)インターフェース116において、HSIOプロトコル試験情報118を受信できる(202)。例えば、高速入力/出力(HSIO)インターフェース116は、高速入力/出力(HSIO)プロトコル(例えば、USBプロトコル、MDDIプロトコルなど)に従ってフォーマット化された、HSIOプロトコル試験情報118を受信できる。HSIOプロトコル試験情報118は、試験デバイス122(例えば、ATE)から受信され得る。
集積回路102(例えば、高速入力/出力(HSIO)インターフェース116)は、HSIOプロトコル試験情報118に基づいて、コントローラプロトコル試験情報112を生成できる(204)。例えば、高速入力/出力(HSIO)インターフェース116は、HSIOプロトコル試験情報118からHSIOプロトコルのフォーマットを除去することができ、ペイロード情報が得られる。高速入力/出力(HSIO)インターフェース116は、コントローラプロトコルのフォーマットをペイロード情報に追加することができ、かつ/または、ペイロード情報を、コントローラプロトコル試験情報112へとフォーマット化(例えば、変換、転換など)できる。集積回路102(例えば、高速入力/出力(HSIO)インターフェース116)は、コントローラプロトコル試験情報112を試験コントローラ110に提供できる(206)。
集積回路102は、コントローラプロトコル試験情報112に基づいて、試験回路104を制御できる(208)。例えば、試験コントローラ110は、高速入力/出力(HSIO)インターフェース116からのコントローラプロトコル試験情報112に基づいて、試験情報106を試験回路104に送信できる。別の例では、試験コントローラ110は、他の情報(例えば、JTAGプロトコル試験情報)を、試験回路104を制御する別のブロック/モジュール(例えば、TAP)に送信できる。
図3は、高速入力/出力(HSIO)インターフェース316を使用して試験するための集積回路302のより具体的な構成を示すブロック図である。集積回路302は、試験回路304と、試験アクセスポート(TAP)324と、試験コントローラ310と、高速入力/出力(HSIO)インターフェース316とを含む。高速入力/出力(HSIO)インターフェース316は試験コントローラ310に結合されてよく、試験コントローラ310は試験アクセスポート(TAP)324に結合されてよく、試験アクセスポート(TAP)324は試験回路304に結合されてよい。試験回路304は、試験のための1つまたは複数の回路要素を備え得る。例えば、試験回路304は、1つまたは複数の個別のコンポーネント(例えば、抵抗、キャパシタ、インダクタ)、ダイオード、トランジスタ、ラッチ、レジスタ(例えば、境界スキャンレジスタ)、スキャンチェーン、フリップフロップ、メモリセル、バス、デジタル論理素子、プロセッサ、特定用途向け集積回路(ASIC)などを含み得る。いくつかの構成では、集積回路302は、device under test(DUT)であると考えられ得る。
試験アクセスポート(TAP)324は、試験コントローラ310によって提供される情報に基づいて試験回路304を制御するために使用され得る。例えば、試験アクセスポート(TAP)324は、試験回路304上で1つまたは複数の試験を実行するために、試験情報306(例えば、命令、データなど)を試験回路304に提供できる。試験アクセスポート(TAP)324はまた、試験回路304から試験結果308を受信できる。試験アクセスポート(TAP)324は、ハードウェア、ソフトウェア、または両方の組合せとして実装され得る。例えば、試験アクセスポート(TAP)324は、特定用途向け集積回路(ASIC)、マイクロコントローラ、命令を伴うプロセッサなどとして実装され得る。試験アクセスポート(TAP)324は、試験回路304および試験コントローラ310に結合され得る。試験アクセスポート(TAP)324はまた、試験回路304を試験するための追加の手段および/または代替的な手段であってよい。試験アクセスポート324は、試験コントローラ310に追加するものであってよく、または試験コントローラ310の代わりであってよい。
試験コントローラ310は、試験回路304を制御するために使用され得る。試験コントローラ310は、joint test action group(JTAG)プロトコル転換ブロック/モジュール332を含み得る。joint test action group(JTAG)プロトコル転換ブロック/モジュール332は、試験コントローラ310が、コントローラプロトコル試験情報312をJTAGプロトコル試験情報328へとフォーマット化(例えば、転換)すること、および/または、JTAGプロトコル試験結果330をコントローラプロトコル試験結果314へとフォーマット化(例えば、転換)することを可能にし得る。
一例では、試験コントローラ310は、試験回路304上で1つまたは複数の試験を実行するために、JTAGプロトコル試験情報328を試験アクセスポート(TAP)324に提供できる。JTAGプロトコル試験情報328は、試験アクセスポート(TAP)324を介して試験回路304上で1つまたは複数の試験を実行するために使用され得る、命令および/またはデータを含み得る。JTAGプロトコル試験情報328は、JTAGプロトコルに従ってフォーマット化され得る。
試験コントローラ310はまた、試験アクセスポート(TAP)324からJTAGプロトコル試験結果330を受信できる。試験コントローラ310は、ハードウェア、ソフトウェア、または両方の組合せとして実装され得る。例えば、試験コントローラ310は、特定用途向け集積回路(ASIC)、マイクロコントローラ、命令を伴うプロセッサなどとして実装され得る。試験コントローラ310は、試験アクセスポート(TAP)324に結合されてよく、高速入力/出力(HSIO)インターフェース316に結合されてよい。
いくつかの構成では、試験コントローラ310は、試験アクセスポート(TAP)324に提供される、かつ/または試験アクセスポート(TAP)324から受信されるJTAGプロトコル試験結果330から提供される、JTAGプロトコル試験情報328に加えて、またはJTAGプロトコル試験情報328の代わりに、試験アクセスポート(TAP)324から独立に試験情報306を送信することができ、かつ/または試験結果308を受信できる。例えば、試験回路304は、試験のための複数のブロック/モジュール(例えば、異なる部分)を含み得る。この場合、試験コントローラ310は、試験アクセスポート(TAP)324を通じて試験回路304の1つまたは複数のブロック/モジュールを試験することができ、かつ/または、試験回路304の1つまたは複数の他のブロック/モジュール(例えば、メモリ、スキャンチェーンなど)を独立に試験できる。
いくつかの構成では、試験アクセスポート(TAP)324への外部アクセスが阻まれることがある(326)。例えば、試験アクセスポート(TAP)324への外部アクセスは、製造の早い段階では提供され得るが、ある段階の後では阻まれることがある。いくつかの構成では、本明細書で開示されるシステムおよび方法は、試験アクセスポート(TAP)324への(直接の)外部アクセスが阻まれた(326)後であっても、試験回路304を試験するための試験アクセスポート(TAP)324へのアクセスを提供できる。
高速入力/出力(HSIO)インターフェース316は、別のデバイスから情報を受信するために使用されてよく、かつ/または、別のデバイスに情報を送信(例えば、出力)するために使用されてよい。高速入力/出力(HSIO)インターフェース316は、インターフェースをサポートするために使用される、1つまたは複数の物理ポート、プロトコル、および/または論理を含み得る。高速入力/出力(HSIO)インターフェース316の例には、universal serial bus(USB)インターフェース、モバイルディスプレイデジタルインターフェース(MDDI)などがある。
高速入力/出力(HSIO)インターフェース316は、コントローラプロトコル試験情報312を試験コントローラ310に送信できる。コントローラプロトコル試験情報312は、試験回路304を試験するために使用され得る、命令および/またはデータを含み得る。コントローラプロトコル試験情報312(および/またはコントローラプロトコル試験結果314)は、コントローラプロトコルに準拠し得る。言い換えると、コントローラプロトコル試験情報312は、試験コントローラ310によって使用されるプロトコルに従ってフォーマット化され得る。例えば、コントローラプロトコル試験情報312は、コントローラプロトコルによって規定されるような、特定のメッセージ、フレーム、パケットおよび/またはタイミング構造に従って構築され得る。
高速入力/出力(HSIO)インターフェース316は、コントローラプロトコル試験結果314を受信できる。コントローラプロトコル試験結果314は、試験回路304を試験したことに基づいて生成される情報(例えば、データ)を含み得る。コントローラプロトコル試験結果314は、コントローラプロトコルに従ってフォーマット化され得る。言い換えると、コントローラプロトコル試験結果314は、試験コントローラ310によって使用されるプロトコルに従ってフォーマット化され得る。例えば、コントローラプロトコル試験結果314は、コントローラプロトコルによって規定されるような、特定のメッセージ、フレーム、パケットおよび/またはタイミング構造に従って構築され得る。コントローラプロトコルのいくつかの例が、以下でより詳しく与えられる。高速入力/出力(HSIO)インターフェース316は、コントローラプロトコル試験結果314をHSIOプロトコル試験結果320へとフォーマット化できる。
高速入力/出力(HSIO)インターフェース316は、試験デバイス322からHSIOプロトコル試験情報318を受信することができ、かつ/または、HSIOプロトコル試験結果320を試験デバイス322に送信できる。しかしながら、HSIOインターフェース316は、試験と関連しない様々な異なる種類の情報を送信および/または受信するために使用され得ることに留意されたい。例えば、HSIOインターフェース316は、集積回路302上のメモリにファイルを転送し、外部ディスプレイを駆動し、ユーザインターフェースデバイス(例えば、マウス、タッチパッド)と通信するなどするために、使用され得る。
いくつかの構成では、HSIOインターフェース316は、集積回路設計において通常使用されるインターフェースであり得る。例えば、HSIOインターフェース316は、コンピューティングデバイスのマザーボードまたは携帯電話の基板などのための、USBインターフェースであり得る。
集積回路302は、試験デバイス322と通信できる。例えば、試験デバイス322は、高速入力/出力(HSIO)インターフェース316に結合され得る。試験デバイス322の例には、自動試験装置(ATE)、デジタルマルチメータ、オシロスコープ、コンピュータなどがある。
高速入力/出力(HSIO)インターフェース316は、HSIOプロトコル試験情報318を試験デバイス322から受信できる。HSIOプロトコル試験情報318は、試験のための命令および/またはデータを含み得る。さらに、HSIOプロトコル試験情報318は、HSIOプロトコルに従ってフォーマット化され得る。例えば、高速入力出力(HSIO)インターフェース316がUSBインターフェースである場合、HSIOプロトコル試験情報318は、USBプロトコル(例えば、ハンドシェイクプロトコル、トークンプロトコル、肯定応答/否定応答(ACK/NACK)プロトコルなど)に従ってフォーマット化され得る。
高速入力/出力(HSIO)インターフェース316は、HSIOプロトコル試験結果320を試験デバイス322に送信できる。例えば、高速入力/出力(HSIO)インターフェース316は、HSIOプロトコルに従ってフォーマット化されるデータを送信できる。
一例では、高速入力/出力(HSIO)インターフェース316は、HSIOプロトコル試験情報318を試験デバイス322から受信できる。高速入力/出力(HSIO)インターフェース316は、HSIOプロトコル試験情報318に基づいて、コントローラプロトコル試験情報312を生成できる。例えば、高速入力/出力(HSIO)インターフェース316は、HSIOプロトコル試験情報318からHSIOプロトコルのフォーマットを除去することができ、ペイロード情報が得られる。高速入力/出力(HSIO)インターフェース316は、コントローラプロトコルのフォーマットをペイロード情報に追加することができ、かつ/または、ペイロード情報を、試験コントローラ310に提供されるコントローラプロトコル試験情報312へとフォーマット化(例えば、変換、転換など)できる。言い換えると、高速入力/出力(HSIO)インターフェース316は、HSIOプロトコル試験情報318を、試験コントローラ310に提供されるコントローラプロトコル試験情報312へとフォーマット化できる。
試験コントローラ310は、コントローラプロトコル試験情報312に基づいて、試験回路304を制御できる。例えば、試験コントローラ310は、コントローラプロトコル試験情報312をJTAGプロトコル試験情報328へとフォーマット化(例えば、転換)することができ、JTAGプロトコル試験情報328は、試験回路304を制御するために試験アクセスポート(TAP)324に提供される。
試験アクセスポート(TAP)324は、JTAGプロトコル試験情報328に基づいて、試験回路304を制御できる。例えば、試験アクセスポート(TAP)324は、JTAGプロトコル試験情報328に基づいて、試験情報306を試験回路304に送信できる。
試験回路304は、試験情報306に基づいて、1つまたは複数の動作を実行できる。試験回路304は、試験情報306に基づいて、試験結果308を生成できる。試験結果308は、試験アクセスポート(TAP)324に提供され得る。
試験アクセスポート(TAP)324は、試験回路304によって提供された試験結果308に基づいて、JTAGプロトコル試験結果330を生成できる。例えば、JTAGプロトコル試験結果330は、JTAGプロトコルに準拠するようにフォーマット化された試験結果308を含み得る。JTAGプロトコル試験結果330は、試験コントローラ310に提供され得る。
試験コントローラ310は、JTAGプロトコル試験結果330に基づいて、コントローラプロトコル試験結果314を生成できる。例えば、試験コントローラ310は、JTAGプロトコル試験結果330をコントローラプロトコル試験結果314へとフォーマット化できる。例えば、試験コントローラ310は、JTAGプロトコル試験結果330からJTAGプロトコルのフォーマットを除去し、コントローラプロトコルに従ってコントローラプロトコル情報を追加できる。試験コントローラ310は、コントローラプロトコル試験結果314を高速入力/出力(HSIO)インターフェース316に提供できる。
高速入力/出力(HSIO)インターフェース316は、コントローラプロトコル試験結果314に基づいて、HSIOプロトコル試験結果320を生成できる。例えば、高速入力/出力(HSIO)インターフェース316は、コントローラプロトコル試験結果314を、試験デバイス322への送信のために、HSIOプロトコル試験結果320へとフォーマット化できる。例えば、高速入力/出力(HSIO)インターフェース316は、コントローラプロトコル試験結果314からコントローラプロトコルのフォーマットを除去し、HSIOプロトコル情報を追加することができ、かつ/または、HSIOプロトコル(例えば、USBプロトコル、MDDIプロトコルなど)に従ってコントローラプロトコル試験結果314を構築できる。
図4は、高速入力/出力インターフェース(HSIO)を使用して試験するための方法400のより具体的な構成を示す流れ図である。集積回路302は、高速入力/出力(HSIO)インターフェース316において、高速入力/出力(HSIO)プロトコル試験情報318を受信できる(402)。例えば、高速入力/出力(HSIO)インターフェース316は、高速入力/出力(HSIO)プロトコル(例えば、USBプロトコル、MDDIプロトコルなど)に従ってフォーマット化された、HSIOプロトコル試験情報318を受信できる。HSIOプロトコル試験情報318は、試験デバイス322(例えば、ATE)から受信され得る。
集積回路302(例えば、高速入力/出力(HSIO)インターフェース316)は、HSIOプロトコル試験情報318に基づいて、コントローラプロトコル試験情報312を生成できる(404)。例えば、高速入力/出力(HSIO)インターフェース316は、HSIOプロトコル試験情報318からHSIOプロトコルのフォーマットを除去することができ、ペイロード情報が得られる。高速入力/出力(HSIO)インターフェース316は、コントローラプロトコルのフォーマットをペイロード情報に追加することができ、かつ/または、ペイロード情報を、コントローラプロトコル試験情報312へとフォーマット化(例えば、変換、転換など)できる。集積回路302(例えば、高速入力/出力(HSIO)インターフェース316)は、コントローラプロトコル試験情報312を試験コントローラ310に提供できる(406)。
集積回路302(例えば、試験コントローラ310)は、コントローラプロトコル試験情報312をjoint test action group(JTAG)プロトコル試験情報328へとフォーマット化できる(408)。例えば、試験コントローラ310は、コントローラプロトコル試験情報312からコントローラプロトコルのフォーマットを除去して、JTAGプロトコルのフォーマットを追加することによって、コントローラプロトコル試験情報312をJTAGプロトコル試験情報328へと転換できる。集積回路102(例えば、試験コントローラ310)は、JTAGプロトコル試験情報328を試験アクセスポート(TAP)324に提供できる(410)。
集積回路302は、JTAGプロトコル試験情報328基づいて、試験回路304を制御できる(412)。例えば、試験アクセスポート(TAP)324は、JTAGプロトコル試験情報328に基づいて、試験情報306を試験回路304に送信できる。
集積回路302は、試験回路304から試験結果308を取得できる(414)。例えば、試験回路304は、試験情報306を与えられると、試験結果308を生成できる。いくつかの構成では、集積回路302(例えば、試験コントローラ310および/または試験アクセスポート(TAP)324)は、試験結果308を出力するための命令(例えば、試験データアウト(TDO)命令)を提供できる。いくつかの構成では、試験結果308は、試験アクセスポート(TAP)324を介して取得され得る(414)。この場合、試験結果308は、JTAGプロトコル試験結果330としてフォーマット化され得る。しかしながら、他の構成では、試験結果308は、試験アクセスポート(TAP)324とは独立に取得され得る(414)。
集積回路302は、試験結果308(および/または、例えばJTAGプロトコル試験結果330)をコントローラプロトコル試験結果314へとフォーマット化できる(416)。例えば、試験コントローラ310は、試験結果308(または、例えばJTAGプロトコル試験結果330)をコントローラプロトコル試験結果314へとフォーマット化(例えば、変換、転換など)できる(416)。一構成では、集積回路302(例えば、試験コントローラ310)は、試験結果308にコントローラプロトコルのフォーマットを追加できる。別の構成では、集積回路302(例えば、試験コントローラ310)は、JTAGプロトコル試験結果330からJTAGプロトコルのフォーマットを除去し、コントローラプロトコルのフォーマットを追加できる。
集積回路302は、コントローラプロトコル試験結果314をHSIOプロトコル試験結果320へとフォーマット化できる(418)。例えば、試験コントローラ310は、コントローラプロトコル試験結果314を高速入力/出力(HSIO)インターフェース316に提供できる。高速入力/出力(HSIO)インターフェース316は次いで、コントローラプロトコル試験結果314からコントローラプロトコルのフォーマットを除去して、HSIOプロトコルのフォーマットを追加することによって、コントローラプロトコル試験結果314をHSIOプロトコル試験情報320へとフォーマット化できる(418)。集積回路302は、HSIOプロトコル試験結果320を送信できる(420)。例えば、高速入力/出力(HSIO)インターフェース316は、HSIOプロトコル試験結果320を外部の試験デバイス322に出力または提供できる。
図5は、高速入力/出力インターフェース(HSIO)516を使用した試験が実施され得る、集積回路502の一例を示すブロック図である。具体的には、試験コントローラ510(ハードウェアおよび/またはソフトウェアで実装され得る)は、高速入力/出力(HSIO)インターフェース516を通じて、外部デバイス(例えば、試験デバイス)と通信する(例えば、情報を外部デバイスに送信する、かつ/または情報を外部デバイスから受信する)。この例では、試験コントローラ510は、試験アクセスポート(TAP)524によって(例えば、試験アクセスポート524の後に)提供される1つまたは複数の信号540a−b(例えば、試験制御信号およびデータ信号)を捕え、試験コントローラ510が高速入力/出力(HSIO)インターフェース516から取得するコントローラプロトコル試験情報512(例えば、命令)に基づいて、試験情報506a−c(例えば、制御値およびデータ値)を提供する。従って、1つまたは複数の信号540a−b(例えば、試験制御信号および/または試験データ信号)は、TAP524の後で捕えられ得る。試験コントローラ510はまた、コントローラプロトコル試験結果514(例えば、応答)を、高速入力/出力(HSIO)インターフェース516を通じて外部デバイスに送達できる。
図5に示される例では、TAP524インターフェース(HSIOインターフェース516と比べると相対的に遅いことがある)を通じては可能ではないことのある他の試験が、追加でサポートされ得る。例えば、試験情報506e(例えば、高速試験データストリーム)は、高速入力/出力(HSIO)インターフェース516から、集積回路502上のメモリ536にルーティングされ得る。
図5に示される例に関するさらなる詳細が、以下で与えられる。集積回路502は、試験回路504と、試験アクセスポート(TAP)524と、試験コントローラ510と、高速入力/出力(HSIO)インターフェース516と、マルチプレクサA 538aと、マルチプレクサB 538bと、1つまたは複数の境界スキャンレジスタ534と、メモリ536とを含む。試験回路504は、試験のための1つまたは複数の回路要素を備え得る。いくつかの構成では、境界スキャンレジスタ534は、試験回路504の一部であると考えられ得る。加えて、または代替的に、メモリ536は、いくつかの構成では試験回路504の一部であると考えられ得る(しかし、メモリ536は、例えば、試験アクセスポート(TAP)524によって、または試験アクセスポート524を通じてアクセスされなくてもよい)。試験回路504は、1つまたは複数の個別のコンポーネント(例えば、抵抗、キャパシタ、インダクタ)、ダイオード、トランジスタ、ラッチ、レジスタ(例えば、境界スキャンレジスタ)、スキャンチェーン、フリップフロップ、メモリセル、バス、デジタル論理、プロセッサ、特定用途向け集積回路(ASIC)などを含み得る。いくつかの構成では、集積回路502は、device under test(DUT)であると考えられ得る。
試験アクセスポート(TAP)524(例えば、TAP524インターフェース)は、試験回路504および/または境界スキャンレジスタ534を制御するために通常は使用される、専用の試験インターフェースであってよい。例えば、試験アクセスポート(TAP)524は、1つまたは複数の試験を実行するために、情報540a−bを試験回路504および/または境界スキャンレジスタ534に提供できる。例えば、試験アクセスポート(TAP)524は、境界スキャンレジスタ534および/または試験回路504に提供される試験情報506g−hとして選択され得る情報540a−bを、マルチプレクサA 538aに提供できる。試験アクセスポート(TAP)524はまた、試験回路504および/または境界スキャンレジスタ534から試験結果508aを受信できる。
試験アクセスポート(TAP)524は、ハードウェア、ソフトウェア、または両方の組合せとして実装され得る。例えば、試験アクセスポート(TAP)524は、特定用途向け集積回路(ASIC)、マイクロコントローラ、命令を伴うプロセッサなどとして実装され得る。試験アクセスポート(TAP)524は、試験回路504(または試験回路504の何らかの部分)に結合され得る。いくつかの構成では、試験アクセスポート(TAP)524は、製造のある段階においてのみ外部からアクセスされ得る。しかしながら、試験アクセスポート(TAP)524への外部アクセスが最終的には阻まれることがある(526)。
高速入力/出力(HSIO)インターフェース516は、HSIOプロトコル試験情報518を外部デバイス(例えば、試験デバイス)から受信できる。HSIOプロトコル試験情報518は、試験のための命令および/またはデータを含み得る。さらに、HSIOプロトコル試験情報518は、HSIOプロトコルに従ってフォーマット化され得る。
高速入力/出力(HSIO)インターフェース516は、試験コントローラ510に提供されるHSIOプロトコル試験情報518に基づいて、コントローラプロトコル試験情報512を生成できる。試験コントローラ510は、コントローラプロトコル試験情報512に基づいて、試験回路504を制御できる。例えば、試験コントローラ510は、コントローラプロトコル試験情報512に基づいて、試験情報506a−eを生成できる。
試験コントローラ510は、試験回路504(例えば、境界スキャンレジスタ534および/またはメモリ536を含む)を制御するために使用され得る。図5に示される例では、試験コントローラ510は、マルチプレクサA 538aおよびマルチプレクサB 538bに結合される。試験コントローラ510は、1つまたは複数の試験を実行するために、試験情報506a−eを提供する。例えば、試験コントローラ510は、試験情報506a−bをマルチプレクサA 538aに提供できる。加えて、試験コントローラ510は、試験情報506cを使用してマルチプレクサA 538aを制御できる。例えば、試験コントローラ510は、何らかの試験情報506c(例えば、命令、制御信号など)を使用して、(TAP524からの情報540a−bの代わりに)試験情報506g−hとして試験情報506a−bを選択できる。例えば、試験コントローラ510は、TAP524インターフェースからの情報540a−b(もしあれば)を「捕え」、TAP524インターフェースからの情報540a−bの代わりに、試験情報506g−hとして、試験情報506a−b(高速入力/出力(HSIO)インターフェース516によって受信されるHSIOプロトコル試験情報518に基づく)を提供できる。
境界スキャンレジスタ534および/または試験回路504は、試験情報506g−hに基づいて、1つまたは複数の動作を実行できる。例えば、境界スキャンレジスタ534は、集積回路502の特定のピンに何らかのビットを与えることができ、かつ/または、試験回路504は、試験情報506hを適用できる。境界スキャンレジスタ534および/または試験回路504は、試験情報506g−hに基づいて、試験結果508aを生成できる。試験結果508aは、試験コントローラ510(および/または試験アクセスポート(TAP)524)に与えられ得る。
加えて、または代替的に、試験コントローラ510は、TAP524インターフェースを通じては可能ではないことがある、他の試験を実行できる。例えば、試験コントローラ510は、高速入力/出力(HSIO)インターフェース516から集積回路502上のメモリ536へと試験情報506e(例えば、高速試験データストリーム)をルーティングするために、何らかの試験情報506d(例えば、命令、制御信号など)を使用して、マルチプレクサB 538bを制御できる。試験コントローラ510からのこの試験情報506eは、他のデータ544に加えて、または他のデータ544の代わりに、マルチプレクサB 538bからメモリ536に提供される試験情報506fとして選択され得る。
試験コントローラ510は、制御プロトコル試験情報512を試験情報506a−eへとフォーマット化できることに留意されたい。いくつかの構成では、何らかの試験情報506a−cは、他の試験情報506d−eとは異なるフォーマットで提供されてよい。
いくつかの構成では、高速入力/出力(HSIO)インターフェース516は、データ506fとして試験情報506eをメモリ536に提供したことの結果を取得するために、メモリ536にアクセスできる。例えば、高速入力/出力(HSIO)インターフェース516は、直接メモリ536にアクセスすることができ、または、試験コントローラ510を介して、メモリ536から、(例えば、コントローラプロトコル試験結果514としてフォーマット化された)試験結果508bを取得できる。
試験コントローラ510は、試験結果508aに基づいて、コントローラプロトコル試験結果514を生成できる。例えば、試験コントローラ510は、試験結果508aをコントローラプロトコル試験結果514へとフォーマット化できる。例えば、試験コントローラ510は、コントローラプロトコルに従って、コントローラプロトコル情報を追加できる。試験コントローラ510は、コントローラプロトコル試験結果514を高速入力/出力(HSIO)インターフェース516に提供できる。
高速入力/出力(HSIO)インターフェース516は、コントローラプロトコル試験結果514に基づいて、HSIOプロトコル試験結果520を生成できる。例えば、高速入力/出力(HSIO)インターフェース516は、コントローラプロトコル試験結果514を、試験デバイスへの送信のために、HSIOプロトコル試験結果520へとフォーマット化できる。例えば、高速入力/出力(HSIO)インターフェース516は、コントローラプロトコル試験結果514からコントローラプロトコルのフォーマットを除去し、HSIOプロトコル情報を追加することができ、かつ/または、HSIOプロトコル(例えば、USBプロトコル、MDDIプロトコルなど)に従ってコントローラプロトコル試験結果514を構築できる。
図6は、高速入力/出力インターフェース(HSIO)616を使用した試験が実施され得る、集積回路602の別の例を示すブロック図である。この例では、試験アクセスポート(TAP)624インターフェースは、TAP624の前で捕えられ得る。他の例では、試験制御信号および/または試験データ信号は、下流の論理の中の任意の時点において捕えられ得る。
図6に示される例に関するさらなる詳細が、以下で与えられる。集積回路602は、試験回路604と、試験アクセスポート(TAP)624と、試験コントローラ610と、高速入力/出力(HSIO)インターフェース616と、マルチプレクサA 638aと、マルチプレクサB 638bと、1つまたは複数の境界スキャンレジスタ634と、メモリ636とを含む。試験回路604は、試験のための1つまたは複数の回路要素を備え得る。いくつかの構成では、境界スキャンレジスタ634は、試験回路604の一部であると考えられ得る。加えて、または代替的に、メモリ636は、いくつかの構成では試験回路604の一部であると考えられ得る(しかし、メモリ636は、例えば、試験アクセスポート(TAP)624によって、または試験アクセスポート624を通じてアクセスされなくてもよい)。
試験アクセスポート(TAP)624(例えば、TAP624インターフェース)は通常、試験回路604および/または境界スキャンレジスタ634を制御するために使用され得る。例えば、試験アクセスポート(TAP)624は、1つまたは複数の試験を実行するために、試験情報606a−bを試験回路604および/または境界スキャンレジスタ634に提供できる。例えば、試験アクセスポート(TAP)624は、マルチプレクサA 638aを通じて、外部信号に基づいて試験情報606a−bを提供できる。しかしながら、外部信号に対するアクセスが阻まれるようになることがある(626)。試験アクセスポート(TAP)624は、試験回路604および/または境界スキャンレジスタ634から試験結果608aを受信できる。試験アクセスポート(TAP)624は、試験回路604に結合され得る。
高速入力/出力(HSIO)インターフェース616は、HSIOプロトコル試験情報618を外部デバイス(例えば、試験デバイス)から受信できる。HSIOプロトコル試験情報618は、試験のための命令および/またはデータを含み得る。さらに、HSIOプロトコル試験情報618は、HSIOプロトコルに従ってフォーマット化され得る。
高速入力/出力(HSIO)インターフェース616は、試験コントローラ610に提供されるHSIOプロトコル試験情報618に基づいて、コントローラプロトコル試験情報612を生成できる。試験コントローラ610は、コントローラプロトコル試験情報612に基づいて、試験回路604を制御できる。例えば、試験コントローラ610は、コントローラプロトコル試験情報612に基づいて、JTAGプロトコル試験情報628a−bを生成できる。
試験コントローラ610は、試験回路604(例えば、境界スキャンレジスタ634および/またはメモリ636を含む)を制御するために使用され得る。図6に示される例では、試験コントローラ610は、マルチプレクサA 638aに結合される。試験コントローラ610は、1つまたは複数の試験を実行するために、JTAGプロトコル試験情報628a−b(および/または試験情報606d−e)を提供する。例えば、試験コントローラ610は、JTAGプロトコル試験情報628aをマルチプレクサA 638aに提供できる。加えて、試験コントローラ610は、JTAGプロトコル試験情報628bを使用してマルチプレクサA 638aを制御できる。例えば、試験コントローラ610は、何らかのJTAGプロトコル試験情報628b(例えば、命令、制御信号など)を使用して、JTAGプロトコル試験情報628aを(もしあれば、アクセスが阻まれた可能性のある外部のルートからの情報626の代わりに)、試験アクセスポート(TAP)624に提供される選択されたJTAGプロトコル試験情報628cとして選択できる。選択されたJTAGプロトコル試験情報628cは次いで、試験情報606a−bを生成するために使用され得る。例えば、試験コントローラ610は、TAP624インターフェースへの途上の外部の情報を(もしあれば)「捕え」て、試験アクセスポート(TAP)624への途上の外部の情報(もしあれば)の代わりに試験情報606a−bを生成するために、JTAGプロトコル試験情報628a(高速入力/出力(HSIO)インターフェース616によって受信されるHSIOプロトコル試験情報618に基づく)を提供できる。
境界スキャンレジスタ634および/または試験回路604は、試験情報606a−bに基づいて、1つまたは複数の動作を実行できる。例えば、境界スキャンレジスタ634は、集積回路602の特定のピンに何らかのビットを与えることができ、かつ/または、試験回路604は、試験情報606bを適用できる。境界スキャンレジスタ634および/または試験回路604は、試験情報606a−bに基づいて、試験結果608aを生成できる。試験結果608aは、試験アクセスポート(TAP)624に与えられ得る。
加えて、または代替的に、試験コントローラ610は、TAP624インターフェースを通じては可能ではないことがある、他の試験を実行できる。例えば、試験コントローラ610は、高速入力/出力(HSIO)インターフェース616から集積回路602上のメモリ636へと試験情報606e(例えば、高速試験データストリーム)をルーティングするために、何らかの試験情報606d(例えば、命令、制御信号など)を使用して、マルチプレクサB 638bを制御できる。試験コントローラ610からのこの試験情報606eは、他のデータ644に加えて、または他のデータ644の代わりに、マルチプレクサB 638bからメモリ636に提供される試験情報606fとして選択され得る。
いくつかの構成では、高速入力/出力(HSIO)インターフェース616は、データ606fとして試験情報606eをメモリ636に提供したことの結果を取得するために、メモリ636にアクセスできる。例えば、高速入力/出力(HSIO)インターフェース616は、直接メモリ636にアクセスすることができ、または、試験コントローラ610を介して、メモリ636から、(例えば、コントローラプロトコル試験結果614としてフォーマット化された)試験結果608bを取得できる。
試験コントローラ610は、試験アクセスポート(TAP)624からJTAGプロトコル試験結果630を受信できる。例えば、試験アクセスポート(TAP)624は、境界スキャンレジスタ634および/または試験回路604から受信された試験結果608aに基づいて、JTAGプロトコル試験結果630を試験コントローラ610に提供できる。
試験コントローラ610は、JTAGプロトコル試験結果630に基づいて、コントローラプロトコル試験結果614を生成できる。例えば、試験コントローラ610は、JTAGプロトコル試験結果630をコントローラプロトコル試験結果614へとフォーマット化できる。例えば、試験コントローラ610は、JTAGプロトコル試験結果630からJTAGプロトコルのフォーマットを除去し、コントローラプロトコルに従ってコントローラプロトコル情報(例えば、構造)を追加できる。試験コントローラ610は、コントローラプロトコル試験結果614を高速入力/出力(HSIO)インターフェース616に提供できる。
高速入力/出力(HSIO)インターフェース616は、コントローラプロトコル試験結果614に基づいて、HSIOプロトコル試験結果620を生成できる。例えば、高速入力/出力(HSIO)インターフェース616は、コントローラプロトコル試験結果614を、試験デバイスへの送信のために、HSIOプロトコル試験結果620へとフォーマット化できる。例えば、高速入力/出力(HSIO)インターフェース616は、コントローラプロトコル試験結果614からコントローラプロトコルのフォーマットを除去し、HSIOプロトコル情報を追加することができ、かつ/または、HSIOプロトコル(例えば、USBプロトコル、MDDIプロトコルなど)に従ってコントローラプロトコル試験結果614を構築できる。
図7は、高速入力/出力インターフェース(HSIO)716を使用した試験が実施され得る、集積回路702の別の例を示すブロック図である。この例では、本明細書で開示されるシステムおよび方法は、複数のスキャンチャネルを駆動するために使用され得る。例えば、高速入力/出力(HSIO)インターフェース716の物理(PHY)層は、コントローラプロトコル試験情報712をパラレルフォーマットで試験コントローラ710に送信することができ、試験コントローラ710は複数のスキャンチェーン746c−fを駆動するために使用され得る。さらに、高速入力/出力(HSIO)インターフェース716は、試験コントローラ710からパラレルフォーマットでコントローラプロトコル試験結果714を受信できる。
図7に示される例に関するさらなる詳細が、以下で与えられる。集積回路702は、試験回路704と、試験アクセスポート(TAP)724と、試験コントローラ710と、高速入力/出力(HSIO)インターフェース716と、マルチプレクサ738と、1つまたは複数の境界スキャンレジスタ734と、1つまたは複数のスキャンチェーン746とを含む。試験回路704は、試験のための1つまたは複数の回路要素を備え得る。いくつかの構成では、境界スキャンレジスタ734は、試験回路704の一部であると考えられ得る。加えて、または代替的に、1つまたは複数のスキャンチェーン746は、試験回路704の一部であると考えられ得る(しかし、スキャンチェーン746は、試験アクセスポート(TAP)724によって、または試験アクセスポート724を通じてアクセスされなくてもよい)。
試験アクセスポート(TAP)724(例えば、TAP724インターフェース)は通常、試験回路704および/または境界スキャンレジスタ734を制御するために使用され得る。例えば、試験アクセスポート(TAP)724は、1つまたは複数の試験を実行するために、試験情報706a−bを試験回路704および/または境界スキャンレジスタ734に提供できる。例えば、試験アクセスポート(TAP)724は、マルチプレクサ738からの外部信号に基づいて試験情報706a−bを提供できる。しかしながら、外部信号に対するアクセスが阻まれるようになることがある(726)。試験アクセスポート(TAP)724は、試験回路704および/または境界スキャンレジスタ734から試験結果708aを受信できる。試験アクセスポート(TAP)724は、試験回路704に結合され得る。
高速入力/出力(HSIO)インターフェース716は、HSIOプロトコル試験情報718を外部デバイス(例えば、試験デバイス)から受信できる。HSIOプロトコル試験情報718は、試験のための命令および/またはデータを含み得る。さらに、HSIOプロトコル試験情報718は、HSIOプロトコルに従ってフォーマット化され得る。いくつかの構成では、高速入力/出力(HSIO)インターフェース716は、HSIOプロトコル試験情報718をパラレルフォーマットで受信できる。他の構成では、高速入力/出力(HSIO)インターフェース716は、HSIOプロトコル試験情報718をシリアルフォーマットで受信できる。
高速入力/出力(HSIO)インターフェース716は、HSIOプロトコル試験情報718に基づいて、コントローラプロトコル試験情報712を生成できる。コントローラプロトコル試験情報712は、いくつかの構成では、パラレルフォーマットで試験コントローラ710に提供され得る。他の構成では、コントローラプロトコル試験情報712は、シリアルフォーマットで試験コントローラ710に提供され得る。試験コントローラ710は、コントローラプロトコル試験情報712に基づいて、試験回路704を制御できる。例えば、試験コントローラ710は、コントローラプロトコル試験情報712に基づいて、JTAGプロトコル試験情報728a−bを生成できる。
試験コントローラ710は、試験回路704(例えば、境界スキャンレジスタ734および/またはスキャンチェーン746を含む)を制御するために使用され得る。図7に示される例では、試験コントローラ710は、マルチプレクサ738に結合される。試験コントローラ710は、1つまたは複数の試験を実行するために、試験情報728a−b(および/または試験情報706c−f)を提供する。例えば、試験コントローラ710は、JTAGプロトコル試験情報728aをマルチプレクサ738に提供できる。加えて、試験コントローラ710は、JTAGプロトコル試験情報728bを使用してマルチプレクサ738を制御できる。例えば、試験コントローラ710は、何らかのJTAGプロトコル試験情報728b(例えば、命令、制御信号など)を使用して、JTAGプロトコル試験情報728aを(もしあれば、アクセスが阻まれた可能性のある外部のルートからの情報726の代わりに)、試験アクセスポート(TAP)724に提供される選択されたJTAGプロトコル試験情報728cとして選択できる。選択されたJTAGプロトコル試験情報728cは次いで、試験情報706a−bを生成するために使用され得る。例えば、試験コントローラ710は、TAP724インターフェースへの途上の外部の情報を(もしあれば)「捕え」て、試験アクセスポート(TAP)724への途上の外部の情報(もしあれば)の代わりに試験情報706a−bを生成するために、JTAGプロトコル試験情報728a(高速入力/出力(HSIO)インターフェース716によって受信されるHSIOプロトコル試験情報718に基づく)を提供できる。
境界スキャンレジスタ734および/または試験回路704は、試験情報706a−bに基づいて、1つまたは複数の動作を実行できる。例えば、境界スキャンレジスタ734は、集積回路702の特定のピンに何らかのビットを与えることができ、かつ/または、試験回路704は、試験情報706bを適用できる。境界スキャンレジスタ734および/または試験回路704は、試験情報706a−bに基づいて、試験結果708aを生成できる。試験結果708aは、試験アクセスポート(TAP)724に与えられ得る。
加えて、または代替的に、試験コントローラ710は他の試験を実行できる。例えば、試験コントローラ710は、何らかのパラレルな試験情報706c−fを使用して、(高速入力/出力(HSIO)インターフェース716によって受信されるHSIOプロトコル試験情報718に基づいて)スキャンチェーン746c−fを試験できる。一構成では、スキャンチェーン746c−fの各々は、試験情報706c−fを提供することによって試験され得る1つまたは複数のフリップフロップを含み得る。スキャンチェーン746c−fは、試験コントローラ710に提供され得る試験結果708c−fを生成できる。
試験コントローラ710は、試験アクセスポート(TAP)724からJTAGプロトコル試験結果730を受信できる。例えば、試験アクセスポート(TAP)724は、境界スキャンレジスタ734および/または試験回路704から受信された試験結果708aに基づいて、JTAGプロトコル試験結果730を試験コントローラ710に提供できる。
試験コントローラ710は、JTAGプロトコル試験結果730および/または試験結果708c−fに基づいて、コントローラプロトコル試験結果714を生成できる。例えば、試験コントローラ710は、JTAGプロトコル試験結果730および/または試験結果708c−fを、コントローラプロトコル試験結果714へとフォーマット化できる。例えば、試験コントローラ710は、JTAGプロトコル試験結果からJTAGプロトコルのフォーマットを除去し、コントローラプロトコルに従ってコントローラプロトコル情報(例えば、構造)を追加できる。加えて、または代替的に、試験コントローラ710は、コントローラプロトコルに従って、コントローラプロトコル情報(例えば、構造)を試験結果708c−fに追加できる。試験コントローラ710は、コントローラプロトコル試験結果714を高速入力/出力(HSIO)インターフェース716に提供できる。
高速入力/出力(HSIO)インターフェース716は、コントローラプロトコル試験結果714に基づいて、HSIOプロトコル試験結果720を生成できる。例えば、高速入力/出力(HSIO)インターフェース716は、コントローラプロトコル試験結果714を、試験デバイスへの送信のために、HSIOプロトコル試験結果720へとフォーマット化できる。例えば、高速入力/出力(HSIO)インターフェース716は、コントローラプロトコル試験結果714からコントローラプロトコルのフォーマットを除去し、HSIOプロトコル情報を追加することができ、かつ/または、HSIOプロトコル(例えば、USBプロトコル、MDDIプロトコルなど)に従ってコントローラプロトコル試験結果714を構築できる。
図8は、高速入力/出力インターフェース(HSIO)816を使用した試験が実施され得る、集積回路802の別の例を示すブロック図である。この例では、コントローラプロトコル試験情報812は、試験コントローラ810によって高速シリアルストリームとして受信され得る。シリアル試験情報806hは、複数のスキャンチャネルへと復号され得る(例えば、逆多重化され得る)。例えば、毎秒80メガビット(Mbps)のデータストリーム(例えば、試験情報806h)が、各々20Mbpsで4個のスキャンチェーン846c−fを駆動するために使用され得る。
図8に示される例に関するさらなる詳細が、以下で与えられる。集積回路802は、試験回路804と、試験アクセスポート(TAP)824と、試験コントローラ810と、高速入力/出力(HSIO)インターフェース816と、マルチプレクサA 838aと、マルチプレクサB 838bと、1つまたは複数の境界スキャンレジスタ834と、1つまたは複数のスキャンチェーン846とを含む。試験回路804は、試験のための1つまたは複数の回路要素を備え得る。いくつかの構成では、境界スキャンレジスタ834は、試験回路804の一部であると考えられ得る。加えて、または代替的に、1つまたは複数のスキャンチェーン846は、試験回路804の一部であると考えられ得る(しかし、スキャンチェーン846は、試験アクセスポート(TAP)824によって、または試験アクセスポート824を通じてアクセスされなくてもよい)。
試験アクセスポート(TAP)824(例えば、TAP824インターフェース)は通常、試験回路804および/または境界スキャンレジスタ834を制御するために使用され得る。例えば、試験アクセスポート(TAP)824は、1つまたは複数の試験を実行するために、試験情報806a−bを試験回路804および/または境界スキャンレジスタ834に提供できる。例えば、試験アクセスポート(TAP)824は、マルチプレクサA 838aからの外部信号に基づいて試験情報806a−bを提供できる。しかしながら、外部信号に対するアクセスが阻まれるようになることがある(826)。試験アクセスポート(TAP)824は、試験回路804および/または境界スキャンレジスタ834から試験結果808aを受信できる。試験アクセスポート(TAP)824は、試験回路804に結合され得る。
高速入力/出力(HSIO)インターフェース816は、HSIOプロトコル試験情報818を外部デバイス(例えば、試験デバイス)から受信できる。HSIOプロトコル試験情報818は、試験のための命令および/またはデータを含み得る。さらに、HSIOプロトコル試験情報818は、HSIOプロトコルに従ってフォーマット化され得る。いくつかの構成では、高速入力/出力(HSIO)インターフェース816は、HSIOプロトコル試験情報818をシリアルフォーマットで受信できる。
高速入力/出力(HSIO)インターフェース816は、HSIOプロトコル試験情報818に基づいて、コントローラプロトコル試験情報812を生成できる。コントローラプロトコル試験情報812は、いくつかの構成では、シリアルフォーマットで試験コントローラ810に提供され得る。試験コントローラ810は、コントローラプロトコル試験情報812に基づいて、試験回路804を制御できる。例えば、試験コントローラ810は、コントローラプロトコル試験情報812に基づいて、JTAGプロトコル試験情報828a−bを生成できる。
試験コントローラ810は、試験回路804(例えば、境界スキャンレジスタ834および/またはスキャンチェーン846を含む)を制御するために使用され得る。図8に示される例では、試験コントローラ810は、マルチプレクサA 838aに結合される。試験コントローラ810は、1つまたは複数の試験を実行するために、JTAGプロトコル試験情報828a−b(および/または試験情報806g−h)を提供する。例えば、試験コントローラ810は、JTAGプロトコル試験情報828aをマルチプレクサA 838aに提供できる。加えて、試験コントローラ810は、JTAGプロトコル試験情報828bを使用してマルチプレクサA 838aを制御できる。例えば、試験コントローラ810は、何らかのJTAGプロトコル試験情報828b(例えば、命令、制御信号など)を使用して、JTAGプロトコル試験情報828aを(もしあれば、アクセスが阻まれた可能性のある外部のルートからの情報826の代わりに)、試験アクセスポート(TAP)824に提供される選択されたJTAGプロトコル試験情報828cとして選択できる。選択されたJTAGプロトコル試験情報828cは次いで、試験情報806a−bを生成するために使用され得る。例えば、試験コントローラ810は、TAP824インターフェースへの途上の外部の情報を(もしあれば)「捕え」て、試験アクセスポート(TAP)824への途上の外部の情報(もしあれば)の代わりに試験情報806a−bを生成するために、JTAGプロトコル試験情報828a(高速入力/出力(HSIO)インターフェース816によって受信されるHSIOプロトコル試験情報818に基づく)を提供できる。
境界スキャンレジスタ834および/または試験回路804は、試験情報806a−bに基づいて、1つまたは複数の動作を実行できる。例えば、境界スキャンレジスタ834は、集積回路802の特定のピンに何らかのビットを与えることができ、かつ/または、試験回路804は、試験情報806bを適用できる。境界スキャンレジスタ834および/または試験回路804は、試験情報806a−bに基づいて、試験結果808aを生成できる。試験結果808aは、試験アクセスポート(TAP)824に与えられ得る。
加えて、または代替的に、試験コントローラ810は他の試験を実行できる。例えば、試験コントローラ810は、(例えば、シリアル試験情報806hからの)何らかのパラレルな試験情報806c−fを使用して、(高速入力/出力(HSIO)インターフェース816によって受信されるHSIOプロトコル試験情報818に基づいて)スキャンチェーン846c−fを試験できる。一構成では、スキャンチェーン846c−fの各々は、試験情報806c−fを提供することによって試験され得る1つまたは複数のフリップフロップを含み得る。例えば、試験コントローラ810は、試験情報806hを、高速シリアルデータストリームとしてマルチプレクサB 838bを提供できる。試験コントローラ810はまた、試験情報806gを使用して、高速シリアルデータストリームとして提供される試験情報806hを復号する(例えば、逆多重化する)ために、マルチプレクサB 838bを制御できる。例えば、試験情報806hは、4個の20Mbpsのデータストリームとして試験情報806c−fの4個のセットへと逆多重化される、80Mbpsのデータストリームを備え得る。
スキャンチェーン846c−fは、試験コントローラ810に提供され得る試験結果808c−fを生成できる。一構成では、試験結果808c−fは、試験コントローラ810へパラレルに提供され得る。別の構成では、試験結果808c−fは、試験コントローラ810に提供されるシリアルデータストリーム808gとして結合され得る。例えば、試験結果808c−fは、試験コントローラ810に提供される単一のシリアルデータストリーム808gへと多重化され得る。
試験コントローラ810は、試験アクセスポート(TAP)824からJTAGプロトコル試験結果830を受信できる。例えば、試験アクセスポート(TAP)824は、境界スキャンレジスタ834および/または試験回路804から受信された試験結果808aに基づいて、JTAGプロトコル試験結果830を試験コントローラ810に提供できる。
試験コントローラ810は、JTAGプロトコル試験結果830および/または試験結果808c−fに基づいて、コントローラプロトコル試験結果814を生成できる。例えば、試験コントローラ810は、JTAGプロトコル試験結果830および/または試験結果808c−fを、コントローラプロトコル試験結果814へとフォーマット化できる。例えば、試験コントローラ810は、JTAGプロトコル試験結果からJTAGプロトコルのフォーマットを除去し、コントローラプロトコルに従ってコントローラプロトコル情報(例えば、構造)を追加できる。加えて、または代替的に、試験コントローラ810は、コントローラプロトコルに従って、コントローラプロトコル情報(例えば、構造)を試験結果808c−f(例えば、データストリーム808g)に追加できる。試験コントローラ810は、コントローラプロトコル試験結果814を高速入力/出力(HSIO)インターフェース816に提供できる。いくつかの構成では、コントローラプロトコル試験結果814は、シリアルデータストリームとして、または複数のパラレルデータストリームとして送信され得る。
高速入力/出力(HSIO)インターフェース816は、コントローラプロトコル試験結果814に基づいて、HSIOプロトコル試験結果820を生成できる。例えば、高速入力/出力(HSIO)インターフェース816は、コントローラプロトコル試験結果814を、試験デバイスへの送信のために、HSIOプロトコル試験結果820へとフォーマット化できる。例えば、高速入力/出力(HSIO)インターフェース816は、コントローラプロトコル試験結果814からコントローラプロトコルのフォーマットを除去し、HSIOプロトコル情報を追加することができ、かつ/または、HSIOプロトコル(例えば、USBプロトコル、MDDIプロトコルなど)に従ってコントローラプロトコル試験結果814を構築できる。
図9は、高速入力/出力インターフェース(HSIO)916を使用した試験が実施され得る、集積回路902の別の例を示すブロック図である。具体的には、図9は、本明細書で開示されるシステムおよび方法に従ってレジスタ948がパラレルにロードおよび/またはアンロードされ得る、一構成を示す。レジスタにデータをシリアルにロードし、レジスタからデータをシリアルにアンロードすることに加えて、パラレルなデータのロードも、いくつかの構成でサポートされ得る。例えば、特定のレジスタ948が選択されてよく、試験情報906は高速入力/出力(HSIO)インターフェース916を通じてパラレルにロードされ得る。加えて、選択されたレジスタ948はパラレルに読み取られ得る(例えば、アンロードされ得る)。
図9に示される例に関するさらなる詳細が、以下で与えられる。集積回路902は、レジスタ948a−d(例えば、試験回路)と、試験コントローラ910と、高速入力/出力(HSIO)インターフェース916と、デマルチプレクサ942と、マルチプレクサ938とを含む。
高速入力/出力(HSIO)インターフェース916は、HSIOプロトコル試験情報918を外部デバイス(例えば、試験デバイス)から受信できる。HSIOプロトコル試験情報918は、試験のための命令および/またはデータを含み得る。さらに、HSIOプロトコル試験情報918は、HSIOプロトコルに従ってフォーマット化され得る。いくつかの構成では、高速入力/出力(HSIO)インターフェース916は、HSIOプロトコル試験情報918をパラレルフォーマットで受信できる。例えば、HSIOプロトコル試験情報918は、データ、チャネル、またはストリームのパラレルなセットで受信され得る。
高速入力/出力(HSIO)インターフェース916は、HSIOプロトコル試験情報918に基づいて、コントローラプロトコル試験情報912を生成できる。コントローラプロトコル試験情報912は、いくつかの構成では、パラレルフォーマットで試験コントローラ910に提供され得る。試験コントローラ910は、コントローラプロトコル試験情報912に基づいて、パラレルな試験情報906a−dを提供できる。例えば、試験コントローラ910は、コントローラプロトコル試験情報912に基づいて、試験情報のパラレルセット906a−dをレジスタ948a−dに提供できる。
試験コントローラ910は、デマルチプレクサ942、マルチプレクサ938、および/またはレジスタ948a−dを制御するために使用され得る。図9に示される例では、試験コントローラ910は、デマルチプレクサ942およびマルチプレクサ938に結合される。試験コントローラ910は、試験情報906eを、デマルチプレクサ942およびマルチプレクサ938に提供する。試験情報906eは、試験情報906f−iをレジスタ948a−dに提供するために、デマルチプレクサ942によって逆多重化され得る。この試験情報906f−i(例えば、制御情報)は、特定のレジスタ948a−dが試験コントローラ910からの試験情報906a−dをロードできる時を制御できる。
レジスタ948a−dは、試験結果908e−tをマルチプレクサ938に提供できる。マルチプレクサ938は、レジスタからの試験結果908e−tを多重化(例えば、選択)して、試験コントローラ910に提供される(選択された)試験結果908a−dを提供できる。例えば、マルチプレクサ938は、試験コントローラ910によって提供される試験情報906eに基づいて、第1のレジスタ948aからの試験結果908e−hのセット、第2のレジスタ948bからの試験結果908i−lのセット、第3のレジスタ948cからの試験結果908m−pのセット、または、第4のレジスタ948dからの試験結果908q−tのセットを選択できる。図9に示される例は、例えば、いくつかの4ビットレジスタ948を使用する、グラフィクスチップまたは画像チップを試験するために使用され得る。
試験コントローラ910は、試験結果908a−dに基づいて、コントローラプロトコル試験結果914を生成できる。例えば、試験コントローラ910は、試験結果908a−dを、コントローラプロトコル試験結果914へとフォーマット化できる。例えば、試験コントローラ910は、コントローラプロトコルに従って、コントローラプロトコル情報(例えば、構造)を試験結果908a−dに追加できる。試験コントローラ910は、コントローラプロトコル試験結果914を高速入力/出力(HSIO)インターフェース916に提供できる。いくつかの構成では、コントローラプロトコル試験結果914は、シリアルデータストリームとして、または複数のパラレルデータストリームとして送信され得る。
高速入力/出力(HSIO)インターフェース916は、コントローラプロトコル試験結果914に基づいて、HSIOプロトコル試験結果920を生成できる。例えば、高速入力/出力(HSIO)インターフェース916は、コントローラプロトコル試験結果914を、試験デバイスへの送信のために、HSIOプロトコル試験結果920へとフォーマット化できる。例えば、高速入力/出力(HSIO)インターフェース916は、コントローラプロトコル試験結果914からコントローラプロトコルのフォーマットを除去し、HSIOプロトコル情報を追加することができ、かつ/または、HSIOプロトコル(例えば、USBプロトコル、MDDIプロトコルなど)に従ってコントローラプロトコル試験結果914を構築できる。
図10は、高速入力/出力インターフェース(HSIO)1016を使用した試験が実施され得る、集積回路1002の別の例を示すブロック図である。この例では、全てのレジスタ1048へのデータのパラレルなロードが可能にされ得る。任意選択で、全てのレジスタ1048に同一のデータをロードしてよく、または、特定のレジスタ1048に試験データをロードしつつ、レジスタ1048の残りにユーザがプログラム可能なデータ(例えば、すべて0のような)をロードしてよい。いくつかの構成では、レジスタ1048はパラレルに読み取られてよい。
図10に示される例に関するさらなる詳細が、以下で与えられる。集積回路1002は、レジスタ1048a−d(例えば、試験回路)と、試験コントローラ1010と、高速入力/出力(HSIO)インターフェース1016と、マルチプレクサ1038と、デマルチプレクサ1042とを含む。
高速入力/出力(HSIO)インターフェース1016は、HSIOプロトコル試験情報1018を外部デバイス(例えば、試験デバイス)から受信できる。HSIOプロトコル試験情報1018は、試験のための命令および/またはデータを含み得る。さらに、HSIOプロトコル試験情報1018は、HSIOプロトコルに従ってフォーマット化され得る。いくつかの構成では、高速入力/出力(HSIO)インターフェース1016は、HSIOプロトコル試験情報1018をパラレルフォーマットで受信できる。例えば、HSIOプロトコル試験情報1018は、データ、チャネル、またはストリームのパラレルなセットで受信され得る。
高速入力/出力(HSIO)インターフェース1016は、HSIOプロトコル試験情報1018に基づいて、コントローラプロトコル試験情報1012を生成できる。コントローラプロトコル試験情報1012は、いくつかの構成では、パラレルフォーマットで試験コントローラ1010に提供され得る。試験コントローラ1010は、コントローラプロトコル試験情報1012に基づいて、パラレルな試験情報1006a−dを提供できる。例えば、試験コントローラ1010は、コントローラプロトコル試験情報1012に基づいて、試験情報のパラレルなセット1006a−dをデマルチプレクサ1042に提供できる。
試験コントローラ1010は、デマルチプレクサ1042とマルチプレクサ1038と制御するために使用され得る。図10に示される例では、試験コントローラ1010は、デマルチプレクサ1042およびマルチプレクサ1038に結合される。試験コントローラ1010は、試験情報1006uを、デマルチプレクサ1042およびマルチプレクサ1038に提供する。試験情報1006uは、試験情報1006a−dをレジスタ1048a−dへと逆多重化(例えば、ルーティング)するために使用され得る。例えば、デマルチプレクサ1042は、試験情報1006a−dを、第1のレジスタ1048aへの試験情報の第1のセット1006e−h、第2のレジスタ1048bへの試験情報の第2のセット1006i−l、第3のレジスタ1048cへの試験情報の第3のセット1006m−p、および/または第4のレジスタ1048dへの試験情報の第4のセット1006q−tへと逆多重化(例えば、ルーティング)できる。
レジスタ1048a−dは、試験結果1008e−tをマルチプレクサ1038に提供できる。マルチプレクサ1038は、レジスタからの試験結果1008e−tを多重化(例えば、選択)して、試験コントローラ1010に提供される(選択された)試験結果1008a−dを提供できる。例えば、マルチプレクサ1038は、試験コントローラ1010によって提供される試験情報1006uに基づいて、第1のレジスタ1048aからの試験結果1008e−hのセット、第2のレジスタ1048bからの試験結果1008i−lのセット、第3のレジスタ1048cからの試験結果1008m−pのセット、または、第4のレジスタ1048dからの試験結果1008q−tのセットを選択できる。図10に示される例は、例えば、いくつかの4ビットレジスタ1048を使用する、グラフィクスチップまたは画像チップを試験するために使用され得る。
試験コントローラ1010は、試験結果1008a−dに基づいて、コントローラプロトコル試験結果1014を生成できる。例えば、試験コントローラ1010は、試験結果1008a−dを、コントローラプロトコル試験結果1014へとフォーマット化できる。例えば、試験コントローラ1010は、コントローラプロトコルに従って、コントローラプロトコル情報(例えば、構造)を試験結果1008a−dに追加できる。試験コントローラ1010は、コントローラプロトコル試験結果1014を高速入力/出力(HSIO)インターフェース1016に提供できる。いくつかの構成では、コントローラプロトコル試験結果1014は、シリアルデータストリームとして、または複数のパラレルデータストリームとして送信され得る。
高速入力/出力(HSIO)インターフェース1016は、コントローラプロトコル試験結果1014に基づいて、HSIOプロトコル試験結果1020を生成できる。例えば、高速入力/出力(HSIO)インターフェース1016は、コントローラプロトコル試験結果1014を、試験デバイスへの送信のために、HSIOプロトコル試験結果1020へとフォーマット化できる。例えば、高速入力/出力(HSIO)インターフェース1016は、コントローラプロトコル試験結果1014からコントローラプロトコルのフォーマットを除去し、HSIOプロトコル情報を追加することができ、かつ/または、HSIOプロトコル(例えば、USBプロトコル、MDDIプロトコルなど)に従ってコントローラプロトコル試験結果1014を構築できる。
図11は、本明細書で開示されるシステムおよび方法に従って使用され得るコントローラプロトコル1150の一例を示す図である。例えば、試験コントローラ110および高速入力/出力(HSIO)インターフェース116は、コントローラプロトコルに基づいて通信できる。例えば、試験コントローラ110は、高速入力/出力(HSIO)インターフェース116の物理(PHY)層から、または内部の発生源からクロック入力を得ることができる。通信チャネルは次いで、試験コントローラ110と高速入力/出力(HSIO)インターフェース116との間で開放され得る。試験コントローラ110および高速入力/出力(HSIO)インターフェース116は、コントローラプロトコル1150に基づいて、互いに通信できる。例えば、コントローラプロトコル試験情報112および/またはコントローラプロトコル試験結果114は、コントローラプロトコル1150に従ってフォーマット化され得る。
図11に示される例では、コントローラプロトコル1150は、試験コントローラ110と高速入力/出力(HSIO)インターフェース116との間で送信され得る3つのタイプのメッセージ、すなわち、リセットメッセージと、命令メッセージと、データメッセージとを提供するのみであり得る。リセットメッセージは、リセットインジケータ1152を含み得る。試験コントローラ110は、リセットインジケータ1152を受信した後、試験アクセスポート(TAP)の有限状態機械(FSM)をアイドル状態に設定できる。
命令メッセージは、命令インジケータ1154と命令コード1156とを含み得る。命令インジケータ1154は、命令コード1156が来る予定であることを試験コントローラ110に示すことができる。命令コード1156は、特定の方式で動作するように試験コントローラ110に命令できる。例えば、命令コード1156は、試験コントローラ110がTAP FSMを特定の状態へと進めるべきであることを、示すことができる。別の例では、命令コード1156は、試験すべき試験回路の特定のブロック/モジュール(例えば、部分)を示すことができる。
データメッセージは、データインジケータ1158と、入力/出力フィールド1160と、データ値1162とを含み得る。データインジケータ1158は、入力および/または出力のために使用される期間(例えば、入力/出力フィールド1160)がメッセージ中に発生し得ることを示すことができる。入力/出力フィールド1160は、データ値1162が試験コントローラ110に入力されるか、または、(例えば、コントローラプロトコル試験結果114のように)試験コントローラ110から出力されるかを規定できる。データ値1162は、コントローラプロトコル試験情報112またはコントローラプロトコル試験結果114を含み得る。
いくつかの構成では、通信が命令メッセージであるかデータメッセージであるかに基づいて、試験コントローラ110は、必要に応じて、(例えば、試験アクセスポート(TAP)中の)FSMシーケンスを詳しく検討できる。命令メッセージが試験コントローラ110によって受信される場合、例えば、試験コントローラ110は、(TAPのFSMにおける)アイドル状態から開始し、命令コード1156によって与えられる命令を完了できる。試験コントローラ110は次いで、(TAPのFSMを)アイドル状態に戻すことができる(従って、任意の追加の命令を待機する)。加えて、試験コントローラ110は、高速入力/出力(HSIO)インターフェース116を通じて(例えば、要求された場合にデータメッセージを使用することによって)、データ値1162を出力できる。
図12は、本明細書で開示されるシステムおよび方法に従って使用され得るコントローラプロトコル1250の別の例を示す図である。例えば、試験コントローラ110および高速入力/出力(HSIO)インターフェース116は、コントローラプロトコルに基づいて通信できる。例えば、試験コントローラ110は、高速入力/出力(HSIO)インターフェース116の物理(PHY)層から、または内部の発生源からクロック入力を得ることができる。通信チャネルは次いで、試験コントローラ110と高速入力/出力(HSIO)インターフェース116との間で開放され得る。試験コントローラ110および高速入力/出力(HSIO)インターフェース116は、コントローラプロトコル1250に基づいて、互いに通信できる。例えば、コントローラプロトコル試験情報112および/またはコントローラプロトコル試験結果114は、コントローラプロトコル1250に従ってフォーマット化され得る。
図12に示される例では、(例えば、試験アクセスポート(TAP)の)サイクルごとの有限状態機械(FSM)の制御が、符号化を使用して、高速入力/出力(HSIO)インターフェース116を通じて完全なTAPインターフェース信号を試験コントローラ110に送達することによって、実現され得る。例えば、コントローラプロトコル1250は、3つのタイプのメッセージ、すなわち、試験データ入力(TDI)メッセージと、試験モード選択(TMS)メッセージと、試験データ出力(TDO)メッセージとを含み得る。言い換えると、コントローラプロトコル試験情報112および/またはコントローラプロトコル試験結果114は、TDIメッセージと、TMSメッセージと、TDOメッセージとの1つまたは複数を含み得る。このコントローラプロトコル1250では、目標のTAP状態に到達するための試験モード選択(TMS)シーケンスが、最初に送達される。例えば、試験モード選択(TMS)メッセージは、試験モード選択(TMS)インジケータ1268と、入力制御1270(情報)とを含み得る。TMSインジケータ1268は、入力制御1270が来ていることを試験コントローラ110(およびTAP)に示すことができる。入力制御1270は次いで、TAPのFSMの状態を変化させることができる。
特定の状態では、1つまたは複数の試験データ入力(TDI)メッセージおよび/または試験データ出力(TDO)メッセージが、データ(例えば、試験情報106)を入力するために、かつ/またはデータ(例えば、試験結果108)を要求するために使用され得る。TDIメッセージは、TDIインジケータ1264と入力データ1266とを含み得る。TDOメッセージは、TDOインジケータ1272と出力データ1274とを含み得る。例えば、データ書込みおよび/または読取りは、試験データイン(TDI)メッセージおよび/または試験データアウト(TDO)メッセージを利用することによって、特定の状態において実行され得る。次いで、次の試験モード選択(TMS)メッセージを送信することによって、新たな状態遷移が後に続き得る。図12に示されるプロトコル1250は、高速入力/出力(HSIO)インターフェース116および/または試験コントローラ110を通じて、通常のJTAGメッセージを埋め込むための1つの手法であり得ることに留意されたい。
図13は、本明細書で開示されるシステムおよび方法に従って使用され得るコントローラプロトコル1350の別の例を示す図である。例えば、試験コントローラ110および高速入力/出力(HSIO)インターフェース116は、コントローラプロトコルに基づいて通信できる。例えば、試験コントローラ110は、高速入力/出力(HSIO)インターフェース116の物理(PHY)層から、または内部の発生源からクロック入力を得ることができる。通信チャネルは次いで、試験コントローラ110と高速入力/出力(HSIO)インターフェース116との間で開放され得る。試験コントローラ110および高速入力/出力(HSIO)インターフェース116は、コントローラプロトコル1350に基づいて、互いに通信できる。例えば、コントローラプロトコル試験情報112および/またはコントローラプロトコル試験結果114は、コントローラプロトコル1350に従ってフォーマット化され得る。
図13に示される例では、1つのメッセージが使用され得る。このメッセージは、目標の試験アクセスポート(TAP)状態1376と、入力/出力フィールド1378と、データ1380とを含み得る。TAP状態1376によって規定される特定の状態における動作(例えば、書込みおよび/または読取り)は、データ1380に含まれる命令に埋め込まれ得る。試験コントローラ110は、入来するメッセージ中のTAP状態1376(例えば、符号化された状態情報)に基づいて目標の状態に直接飛び、データのシフトインまたはシフトアウトを実行できる。入力/出力フィールド1378は、データ1380がシフトインされる(例えば、コントローラプロトコル試験情報112のように)かどうか、または、データ1380がシフトアウトされる(例えば、コントローラプロトコル試験結果114のように)かどうかを示すことができる。
図14は、電子デバイス1402において利用され得る様々なコンポーネントを示す。示されるコンポーネントは、同じ物理的構造物内に配置されてよく、または別個のハウジングもしくは構造物中に配置されてよい。電子デバイス1402は、以前に説明された1つまたは複数の集積回路102、302、502、602、702、802、902、1002と同様に構成され得る。電子デバイス1402はプロセッサ1488を含む。プロセッサ1488は、汎用シングルマイクロプロセッサまたはマルチチップマイクロプロセッサ(例えば、ARM)、専用マイクロプロセッサ(例えば、デジタル信号プロセッサ(DSP))、マイクロコントローラ、プログラマブルゲートアレイなどであり得る。プロセッサ1488は、中央演算処理装置(CPU)と呼ばれることがある。図14の電子デバイス1402中に単一のプロセッサ1488のみが示されるが、代替的な構成では、プロセッサの組合せ(例えば、ARMとDSP)が使用され得る。
電子デバイス1402はまた、プロセッサ1488と電子通信しているメモリ1482を含む。すなわち、プロセッサ1488は、メモリ1482から情報を読み取ること、および/またはメモリ1482に情報を書き込むことができる。メモリ1482は、電子情報を記憶することが可能な任意の電子コンポーネントであり得る。メモリ1482は、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、磁気ディスク記憶媒体、光記憶媒体、RAM中のフラッシュメモリデバイス、プロセッサとともに含まれるオンボードメモリ、プログラマブル読取り専用メモリ(PROM)、消去可能プログラマブル読取り専用メモリ(EPROM)、電気的消去可能PROM(EEPROM(登録商標))、レジスタなど、およびそれらの組合せであり得る。
データ1486aおよび命令1484aは、メモリ1482内に記憶され得る。命令1484aは、1つまたは複数のプログラム、ルーチン、サブルーチン、関数、プロシージャなどを含み得る。命令1484aは、単一のコンピュータ可読ステートメントまたは多くのコンピュータ可読ステートメントを含み得る。命令1484aは、上で説明された方法200、400の1つまたは複数を実施するために、プロセッサ1488によって実行可能であり得る。命令1484aを実行することは、メモリ1482内に記憶されるデータ1486aの使用を伴い得る。図14は、プロセッサ1488にロードされている(命令1484aおよびデータ1486aから来ることがある)いくつかの命令1484bとデータ1486bとを示す。
電子デバイス1402はまた、他の電子デバイスと通信するための1つまたは複数の通信インターフェース1490を含み得る。通信インターフェース1490は、有線通信技術、ワイヤレス通信技術、またはその両方に基づき得る。様々なタイプの通信インターフェース1490の例には、シリアルポート、パラレルポート、ユニバーサルシリアルバス(USB)、イーサネット(登録商標)アダプタ、IEEE1394バスインターフェース、小型コンピュータシステムインターフェース(SCSI)バスインターフェース、赤外線(IR)通信ポート、Bluetooth(登録商標)ワイヤレス通信アダプタ、IEEE802.11ワイヤレス通信アダプタなどがある。
電子デバイス1402はまた、1つまたは複数の入力デバイス1492と、1つまたは複数の出力デバイス1494とを含み得る。様々な種類の入力デバイス1492の例には、キーボード、マウス、マイクロフォン、遠隔制御デバイス、ボタン、ジョイスティック、トラックボール、タッチパッド、ライトペンなどがある。様々な種類の出力デバイス1494の例には、スピーカ、プリンタなどがある。電子デバイス1402中に通常含まれ得る1つの特定のタイプの出力デバイスは、ディスプレイデバイス1496である。本明細書で開示される構成とともに使用されるディスプレイデバイス1496は、陰極線管(CRT)、液晶ディスプレイ(LCD)、発光ダイオード(LED)、ガスプラズマ、エレクトロルミネセンスなどのような、任意の適切な画像投影技術を利用し得る。ディスプレイコントローラ1498はまた、メモリ1482に記憶されたデータを、ディスプレイデバイス1496上に示されるテキスト、グラフィクス、および/または動画に(適宜)変換するために設けられ得る。
電子デバイス1402の様々なコンポーネントは、電力バス、制御信号バス、ステータス信号バス、データバスなどを含み得る、1つまたは複数のバスによって互いに結合され得る。簡単のために、図14では様々なバスはバスシステム1401として示される。図14は、電子デバイス1402の1つの可能な構成しか示していないことに留意されたい。様々な他のアーキテクチャおよびコンポーネントも利用され得る。
「判定すること」という用語は、多種多様なアクションを包含し、従って、「判定すること」は、計算すること、算出すること、処理すること、導出すること、調査すること、探索すること(例えば、テーブル、データベースまたは別のデータ構造において探索すること)、確認することなどを含み得る。また、「判定すること」は、受信すること(例えば、情報を受信すること)、アクセスすること(例えば、メモリ中のデータにアクセスすること)などを含み得る。また、「判定すること」は、解決すること、選択すること、選定すること、確立することなどを含み得る。
「に基づいて」という句は、別段に明示されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という句は、「のみに基づいて」と「に少なくとも基づいて」の両方を表す。
「プロセッサ」という用語は、汎用プロセッサ、中央演算処理装置(CPU)、マイクロプロセッサ、デジタルシグナルプロセッサ(DSP)、コントローラ、マイクロコントローラ、状態機械などを包含するものと広く解釈されるべきである。いくつかの状況下では、「プロセッサ」は、特定用途向け集積回路(ASIC)、プログラマブル論理デバイス(PLD)、フィールドプログラマブルゲートアレイ(FPGA)などを指し得る。「プロセッサ」という用語は、処理デバイスの組合せ、例えば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成を指し得る。
「メモリ」という用語は、電子情報を記憶することが可能な任意の電子部品を包含するものと広く解釈されるべきである。メモリという用語は、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、不揮発性ランダムアクセスメモリ(NVRAM)、プログラマブル読取り専用メモリ(PROM)、消去可能プログラマブル読取り専用メモリ(EPROM)、電気的消去可能PROM(EEPROM)、フラッシュメモリ、磁気式または光学式のデータ記憶装置、レジスタなど、様々なタイプのプロセッサ可読媒体を指し得る。プロセッサがメモリから情報を読み込み、かつ/またはメモリに情報を書き込むことができる場合、メモリはプロセッサと電子通信していると言われる。プロセッサに一体化されたメモリは、プロセッサと電子通信している。
「命令」および「コード」という用語は、任意のタイプの(1つまたは複数の)コンピュータ可読ステートメントを含むものと広く解釈されたい。例えば、「命令」および「コード」という用語は、1つまたは複数のプログラム、ルーチン、サブルーチン、関数、プロシージャなどを指し得る。「命令」および「コード」は、単一のコンピュータ可読ステートメントまたは多くのコンピュータ可読ステートメントを備え得る。
本明細書で説明される機能は、ハードウェアによって実行されるソフトウェアまたはファームウェアで実装され得る。機能は、1つまたは複数の命令としてコンピュータ可読媒体上に記憶され得る。「コンピュータ可読媒体」または「コンピュータプログラム製品」という用語は、コンピュータまたはプロセッサによってアクセスされ得る、任意の非一時的な有形記憶媒体を指す。限定ではなく例として、コンピュータ可読媒体は、RAM、ROM、EEPROM、CD−ROMもしくは他の光ディスク記憶デバイス、磁気ディスク記憶デバイスもしくは他の磁気記憶デバイス、または命令もしくはデータ構造の形態で所望のプログラムコードを搬送または記憶するために使用されコンピュータによってアクセスされ得る、任意の他の媒体を備え得る。本明細書で使用されるディスク(disk)およびディスク(disc)には、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)およびブルーレイ(登録商標)ディスク(disc)が含まれ、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザーで光学的に再生する。
本明細書に開示された方法は、記載された方法を実現するための1つまたは複数のステップまたは動作を備える。本方法のステップおよび/または動作は、特許請求の範囲から逸脱することなく互いに交換され得る。言い換えれば、説明されている方法の適切な動作のためにステップまたは動作の特定の順序が必要とされない限り、特定のステップおよび/または動作の順序および/または使用は、特許請求の範囲から逸脱することなく修正され得る。
さらに、図2および図4によって示されたものなど、本明細書で説明される方法および技法を実行するためのモジュールおよび/または他の適切な手段は、デバイスによってダウンロードされ、かつ/または他の方法で取得され得ることを理解されたい。例えば、デバイスは、本明細書で説明される方法を実行するための手段の転送を可能にするために、サーバに結合され得る。代替的に、本明細書に記載された様々な方法は、記憶手段をデバイスに結合するかまたは提供するときにデバイスが様々な方法を取得できるように、記憶手段(例えば、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、コンパクトディスク(disc)(CD)またはフロッピーディスク(disk)のような物理的記憶媒体など)を介して提供され得る。
特許請求の範囲は、上で示された厳密な構成およびコンポーネントに限定されないことを理解されたい。特許請求の範囲から逸脱することなく、本明細書に記載されたシステム、方法、および装置の構成、動作および詳細において、様々な修正、変更および変形が行われ得る。
特許請求の範囲は、上で示された厳密な構成およびコンポーネントに限定されないことを理解されたい。特許請求の範囲から逸脱することなく、本明細書に記載されたシステム、方法、および装置の構成、動作および詳細において、様々な修正、変更および変形が行われ得る。
以下に、本願の出願当初の特許請求の範囲に記載された発明を付記する。
[C1] 試験のために構成された集積回路であって、
高速入力/出力インターフェースと、
前記高速入力/出力インターフェースに結合される試験コントローラと、
前記試験コントローラに結合される試験回路とを備え、前記試験コントローラが、前記高速入力/出力インターフェースからのコントローラプロトコル試験情報に基づいて、前記試験回路を制御する、集積回路。
[C2] 前記試験コントローラおよび前記試験回路に結合された、試験アクセスポートをさらに備える、C1に記載の集積回路。
[C3] 前記高速入力/出力インターフェースが、高速入力/出力プロトコル試験情報を前記コントローラプロトコル試験情報へとフォーマット化し、前記試験コントローラが、前記コントローラプロトコル試験情報を、前記試験回路を制御するために前記試験アクセスポートに提供されるjoint test action groupプロトコル試験情報へとフォーマット化する、C2に記載の集積回路。
[C4] 前記試験コントローラが、joint test action groupプロトコル試験結果をコントローラプロトコル試験結果へとフォーマット化し、前記高速入力/出力インターフェースが、前記コントローラプロトコル試験結果を高速入力/出力プロトコル試験結果へとフォーマット化する、C2に記載の集積回路。
[C5] 試験アクセスポートインターフェース信号が、前記試験アクセスポートの前で捕えられる、C2に記載の集積回路。
[C6] 前記試験アクセスポートによって提供される試験制御信号およびデータ信号が、前記試験アクセスポートの後で捕えられ、C2に記載の集積回路。
[C7] 前記試験コントローラが、前記試験アクセスポートを通じてアクセスされない試験回路の一部で試験を実行する、C2に記載の集積回路。
[C8] 前記コントローラプロトコル試験情報が、リセットメッセージと、命令メッセージと、データメッセージとからなる群の少なくとも1つを含む、C1に記載の集積回路。
[C9] 前記コントローラプロトコル試験情報が、試験データ入力メッセージと、試験モード選択メッセージと、試験データ出力メッセージとからなる群の少なくとも1つを含む、C1に記載の集積回路。
[C10] 前記コントローラプロトコル試験情報が、目標の試験アクセスポート状態と、入力/出力フィールドと、データとを含む、メッセージを含む、C1に記載の集積回路。
[C11] 前記高速入力/出力インターフェースが、universal serial bus(USB)インターフェースである、C1に記載の集積回路。
[C12] 前記高速入力/出力インターフェースが、モバイルディスプレイデジタルインターフェース(MDDI)である、C1に記載の集積回路。
[C13] 前記試験回路が、境界スキャンレジスタと、スキャンチェーンと、レジスタとメモリとからなる群の少なくとも1つである、C1に記載の集積回路。
[C14] 前記コントローラプロトコル試験情報がパラレルフォーマットである、C1に記載の集積回路。
[C15] 前記コントローラプロトコル試験情報がシリアルフォーマットである、C1に記載の集積回路。
[C16] 前記試験コントローラが、前記高速入力/出力インターフェースとは別個である、C1に記載の集積回路。
[C17] 集積回路を試験するための方法であって、
高速入力/出力インターフェースにおいて、高速入力/出力プロトコル試験情報を受信することと、
前記高速入力/出力プロトコル試験情報に基づいて、コントローラプロトコル試験情報を生成することと、
前記コントローラプロトコル試験情報を試験コントローラに提供することと、
前記高速入力/出力インターフェースからの前記コントローラプロトコル試験情報に基づいて、試験回路を制御することとを備える、方法。
[C18] 前記集積回路が、前記試験コントローラおよび前記試験回路に結合された試験アクセスポートを備える、C17に記載の方法。
[C19] 前記コントローラプロトコル試験情報を生成することが、前記高速入力/出力プロトコル試験情報を前記コントローラプロトコル試験情報へとフォーマット化することを備え、前記方法が、前記コントローラプロトコル試験情報を、前記試験回路を制御するために前記試験アクセスポートに提供されるjoint test action groupプロトコル試験情報へとフォーマット化することをさらに備える、C18に記載の方法。
[C20] joint test action groupプロトコル試験結果をコントローラプロトコル試験結果へとフォーマット化することと、前記コントローラプロトコル試験結果を高速入力/出力プロトコル試験結果へとフォーマット化することとをさらに備える、C18に記載の方法。
[C21] 試験アクセスポートインターフェース信号を前記試験アクセスポートより前で捕えることをさらに備える、C18に記載の方法。
[C22] 前記試験アクセスポートによって提供される試験制御信号とデータ信号とを、前記試験アクセスポートの後で捕えることをさらに備える、C18に記載の方法。
[C23] 前記試験アクセスポートを通じてアクセスされない試験回路の一部で試験を実行することをさらに備える、C18に記載の方法。
[C24] 前記コントローラプロトコル試験情報が、リセットメッセージと、命令メッセージと、データメッセージとからなる群の少なくとも1つを含む、C17に記載の方法。
[C25] 前記コントローラプロトコル試験情報が、試験データ入力メッセージと、試験モード選択メッセージと、試験データ出力メッセージとからなる群の少なくとも1つを含む、C17に記載の方法。
[C26] 前記コントローラプロトコル試験情報が、目標の試験アクセスポート状態と、入力/出力フィールドと、データとを含む、メッセージを含む、C17に記載の方法。
[C27] 前記高速入力/出力インターフェースが、universal serial bus(USB)インターフェースである、C17に記載の方法。
[C28] 前記高速入力/出力インターフェースが、モバイルディスプレイデジタルインターフェース(MDDI)である、C17に記載の方法。
[C29] 前記試験回路が、境界スキャンレジスタと、スキャンチェーンと、レジスタとメモリとからなる群の少なくとも1つである、C17に記載の方法。
[C30] 前記コントローラプロトコル試験情報がパラレルフォーマットである、C17に記載の方法。
[C31] 前記コントローラプロトコル試験情報がシリアルフォーマットである、C17に記載の方法。
[C32] 前記試験コントローラが、前記高速入力/出力インターフェースとは別個である、C17に記載の方法。
[C33] 命令を有する非一時的有形コンピュータ可読媒体を備える、集積回路を試験するためのコンピュータプログラム製品であって、前記命令が、
電子デバイスに、高速入力/出力インターフェースにおいて、高速入力/出力プロトコル試験情報を受信させるためのコードと、
前記電子デバイスに、前記高速入力/出力プロトコル試験情報に基づいて、コントローラプロトコル試験情報を生成させるためのコードと、
前記電子デバイスに、前記コントローラプロトコル試験情報を試験コントローラへ提供させるためのコードと、
前記電子デバイスに、前記高速入力/出力インターフェースからの前記コントローラプロトコル試験情報に基づいて、試験回路を制御させるためのコードとを備える、コンピュータプログラム製品。
[C34] 前記集積回路が、前記試験コントローラおよび前記試験回路に結合された試験アクセスポートを備える、C33に記載のコンピュータプログラム製品。
[C35] 前記電子デバイスに、前記コントローラプロトコル試験情報を生成させるための前記コードが、前記電子デバイスに、前記高速入力/出力プロトコル試験情報を前記コントローラプロトコル試験情報へとフォーマット化させるためのコードを備え、前記命令がさらに、前記電子デバイスに、前記コントローラプロトコル試験情報を、前記試験回路を制御するために前記試験アクセスポートに提供されるjoint test action groupプロトコル試験情報へとフォーマット化させるためのコードを備える、C34に記載のコンピュータプログラム製品。
[C36] 前記命令がさらに、前記電子デバイスに、joint test action groupプロトコル試験結果をコントローラプロトコル試験結果へとフォーマット化させるためのコードと、前記電子デバイスに、前記コントローラプロトコル試験結果を高速入力/出力プロトコル試験結果へとフォーマット化させるためのコードとを備える、C34に記載のコンピュータプログラム製品。
[C37] 集積回路を試験するための装置であって、
高速入力/出力プロトコル試験情報を受信するための手段と、
前記高速入力/出力プロトコル試験情報に基づいて、コントローラプロトコル試験情報を生成するための手段と、
前記コントローラプロトコル試験情報を提供するための手段と、
前記コントローラプロトコル試験情報に基づいて、試験回路を制御するための手段とを備える、装置。
[C38] 前記集積回路が、前記試験回路を試験するための追加の手段を備える、C37に記載の装置。
[C39] 前記コントローラプロトコル試験情報を生成するための前記手段が、前記高速入力/出力プロトコル試験情報を前記コントローラプロトコル試験情報へとフォーマット化するための手段を備え、前記装置が、前記コントローラプロトコル試験情報を、前記試験回路を制御するために提供されるjoint test action groupプロトコル試験情報へとフォーマット化するための手段をさらに備える、C37に記載の装置。
[C40] joint test action groupプロトコル試験結果をコントローラプロトコル試験結果へとフォーマット化するための手段と、前記コントローラプロトコル試験結果を高速入力/出力プロトコル試験結果へとフォーマット化するための手段とをさらに備える、C37に記載の装置。

Claims (40)

  1. 試験のために構成された集積回路であって、
    高速入力/出力インターフェースと、
    前記高速入力/出力インターフェースに結合される試験コントローラと、
    前記試験コントローラに結合される試験回路とを備え、前記試験コントローラが、前記高速入力/出力インターフェースからのコントローラプロトコル試験情報に基づいて、前記試験回路を制御する、集積回路。
  2. 前記試験コントローラおよび前記試験回路に結合された、試験アクセスポートをさらに備える、請求項1に記載の集積回路。
  3. 前記高速入力/出力インターフェースが、高速入力/出力プロトコル試験情報を前記コントローラプロトコル試験情報へとフォーマット化し、前記試験コントローラが、前記コントローラプロトコル試験情報を、前記試験回路を制御するために前記試験アクセスポートに提供されるjoint test action groupプロトコル試験情報へとフォーマット化する、請求項2に記載の集積回路。
  4. 前記試験コントローラが、joint test action groupプロトコル試験結果をコントローラプロトコル試験結果へとフォーマット化し、前記高速入力/出力インターフェースが、前記コントローラプロトコル試験結果を高速入力/出力プロトコル試験結果へとフォーマット化する、請求項2に記載の集積回路。
  5. 試験アクセスポートインターフェース信号が、前記試験アクセスポートの前で捕えられる、請求項2に記載の集積回路。
  6. 前記試験アクセスポートによって提供される試験制御信号およびデータ信号が、前記試験アクセスポートの後で捕えられ、請求項2に記載の集積回路。
  7. 前記試験コントローラが、前記試験アクセスポートを通じてアクセスされない試験回路の一部で試験を実行する、請求項2に記載の集積回路。
  8. 前記コントローラプロトコル試験情報が、リセットメッセージと、命令メッセージと、データメッセージとからなる群の少なくとも1つを含む、請求項1に記載の集積回路。
  9. 前記コントローラプロトコル試験情報が、試験データ入力メッセージと、試験モード選択メッセージと、試験データ出力メッセージとからなる群の少なくとも1つを含む、請求項1に記載の集積回路。
  10. 前記コントローラプロトコル試験情報が、目標の試験アクセスポート状態と、入力/出力フィールドと、データとを含む、メッセージを含む、請求項1に記載の集積回路。
  11. 前記高速入力/出力インターフェースが、universal serial bus(USB)インターフェースである、請求項1に記載の集積回路。
  12. 前記高速入力/出力インターフェースが、モバイルディスプレイデジタルインターフェース(MDDI)である、請求項1に記載の集積回路。
  13. 前記試験回路が、境界スキャンレジスタと、スキャンチェーンと、レジスタとメモリとからなる群の少なくとも1つである、請求項1に記載の集積回路。
  14. 前記コントローラプロトコル試験情報がパラレルフォーマットである、請求項1に記載の集積回路。
  15. 前記コントローラプロトコル試験情報がシリアルフォーマットである、請求項1に記載の集積回路。
  16. 前記試験コントローラが、前記高速入力/出力インターフェースとは別個である、請求項1に記載の集積回路。
  17. 集積回路を試験するための方法であって、
    高速入力/出力インターフェースにおいて、高速入力/出力プロトコル試験情報を受信することと、
    前記高速入力/出力プロトコル試験情報に基づいて、コントローラプロトコル試験情報を生成することと、
    前記コントローラプロトコル試験情報を試験コントローラに提供することと、
    前記高速入力/出力インターフェースからの前記コントローラプロトコル試験情報に基づいて、試験回路を制御することとを備える、方法。
  18. 前記集積回路が、前記試験コントローラおよび前記試験回路に結合された試験アクセスポートを備える、請求項17に記載の方法。
  19. 前記コントローラプロトコル試験情報を生成することが、前記高速入力/出力プロトコル試験情報を前記コントローラプロトコル試験情報へとフォーマット化することを備え、前記方法が、前記コントローラプロトコル試験情報を、前記試験回路を制御するために前記試験アクセスポートに提供されるjoint test action groupプロトコル試験情報へとフォーマット化することをさらに備える、請求項18に記載の方法。
  20. joint test action groupプロトコル試験結果をコントローラプロトコル試験結果へとフォーマット化することと、前記コントローラプロトコル試験結果を高速入力/出力プロトコル試験結果へとフォーマット化することとをさらに備える、請求項18に記載の方法。
  21. 試験アクセスポートインターフェース信号を前記試験アクセスポートより前で捕えることをさらに備える、請求項18に記載の方法。
  22. 前記試験アクセスポートによって提供される試験制御信号とデータ信号とを、前記試験アクセスポートの後で捕えることをさらに備える、請求項18に記載の方法。
  23. 前記試験アクセスポートを通じてアクセスされない試験回路の一部で試験を実行することをさらに備える、請求項18に記載の方法。
  24. 前記コントローラプロトコル試験情報が、リセットメッセージと、命令メッセージと、データメッセージとからなる群の少なくとも1つを含む、請求項17に記載の方法。
  25. 前記コントローラプロトコル試験情報が、試験データ入力メッセージと、試験モード選択メッセージと、試験データ出力メッセージとからなる群の少なくとも1つを含む、請求項17に記載の方法。
  26. 前記コントローラプロトコル試験情報が、目標の試験アクセスポート状態と、入力/出力フィールドと、データとを含む、メッセージを含む、請求項17に記載の方法。
  27. 前記高速入力/出力インターフェースが、universal serial bus(USB)インターフェースである、請求項17に記載の方法。
  28. 前記高速入力/出力インターフェースが、モバイルディスプレイデジタルインターフェース(MDDI)である、請求項17に記載の方法。
  29. 前記試験回路が、境界スキャンレジスタと、スキャンチェーンと、レジスタとメモリとからなる群の少なくとも1つである、請求項17に記載の方法。
  30. 前記コントローラプロトコル試験情報がパラレルフォーマットである、請求項17に記載の方法。
  31. 前記コントローラプロトコル試験情報がシリアルフォーマットである、請求項17に記載の方法。
  32. 前記試験コントローラが、前記高速入力/出力インターフェースとは別個である、請求項17に記載の方法。
  33. 命令を有する非一時的有形コンピュータ可読媒体を備える、集積回路を試験するためのコンピュータプログラム製品であって、前記命令が、
    電子デバイスに、高速入力/出力インターフェースにおいて、高速入力/出力プロトコル試験情報を受信させるためのコードと、
    前記電子デバイスに、前記高速入力/出力プロトコル試験情報に基づいて、コントローラプロトコル試験情報を生成させるためのコードと、
    前記電子デバイスに、前記コントローラプロトコル試験情報を試験コントローラへ提供させるためのコードと、
    前記電子デバイスに、前記高速入力/出力インターフェースからの前記コントローラプロトコル試験情報に基づいて、試験回路を制御させるためのコードとを備える、コンピュータプログラム製品。
  34. 前記集積回路が、前記試験コントローラおよび前記試験回路に結合された試験アクセスポートを備える、請求項33に記載のコンピュータプログラム製品。
  35. 前記電子デバイスに、前記コントローラプロトコル試験情報を生成させるための前記コードが、前記電子デバイスに、前記高速入力/出力プロトコル試験情報を前記コントローラプロトコル試験情報へとフォーマット化させるためのコードを備え、前記命令がさらに、前記電子デバイスに、前記コントローラプロトコル試験情報を、前記試験回路を制御するために前記試験アクセスポートに提供されるjoint test action groupプロトコル試験情報へとフォーマット化させるためのコードを備える、請求項34に記載のコンピュータプログラム製品。
  36. 前記命令がさらに、前記電子デバイスに、joint test action groupプロトコル試験結果をコントローラプロトコル試験結果へとフォーマット化させるためのコードと、前記電子デバイスに、前記コントローラプロトコル試験結果を高速入力/出力プロトコル試験結果へとフォーマット化させるためのコードとを備える、請求項34に記載のコンピュータプログラム製品。
  37. 集積回路を試験するための装置であって、
    高速入力/出力プロトコル試験情報を受信するための手段と、
    前記高速入力/出力プロトコル試験情報に基づいて、コントローラプロトコル試験情報を生成するための手段と、
    前記コントローラプロトコル試験情報を提供するための手段と、
    前記コントローラプロトコル試験情報に基づいて、試験回路を制御するための手段とを備える、装置。
  38. 前記集積回路が、前記試験回路を試験するための追加の手段を備える、請求項37に記載の装置。
  39. 前記コントローラプロトコル試験情報を生成するための前記手段が、前記高速入力/出力プロトコル試験情報を前記コントローラプロトコル試験情報へとフォーマット化するための手段を備え、前記装置が、前記コントローラプロトコル試験情報を、前記試験回路を制御するために提供されるjoint test action groupプロトコル試験情報へとフォーマット化するための手段をさらに備える、請求項37に記載の装置。
  40. joint test action groupプロトコル試験結果をコントローラプロトコル試験結果へとフォーマット化するための手段と、前記コントローラプロトコル試験結果を高速入力/出力プロトコル試験結果へとフォーマット化するための手段とをさらに備える、請求項37に記載の装置。
JP2016021907A 2011-06-17 2016-02-08 高速入力/出力インターフェースを使用して試験するための集積回路 Pending JP2016153787A (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201161498431P 2011-06-17 2011-06-17
US61/498,431 2011-06-17
US13/426,235 US20120324302A1 (en) 2011-06-17 2012-03-21 Integrated circuit for testing using a high-speed input/output interface
US13/426,235 2012-03-21

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2014516001A Division JP6121407B2 (ja) 2011-06-17 2012-06-14 高速入力/出力インターフェースを使用して試験するための集積回路

Publications (1)

Publication Number Publication Date
JP2016153787A true JP2016153787A (ja) 2016-08-25

Family

ID=47354736

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2014516001A Active JP6121407B2 (ja) 2011-06-17 2012-06-14 高速入力/出力インターフェースを使用して試験するための集積回路
JP2016021907A Pending JP2016153787A (ja) 2011-06-17 2016-02-08 高速入力/出力インターフェースを使用して試験するための集積回路

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2014516001A Active JP6121407B2 (ja) 2011-06-17 2012-06-14 高速入力/出力インターフェースを使用して試験するための集積回路

Country Status (6)

Country Link
US (1) US20120324302A1 (ja)
EP (1) EP2721427A1 (ja)
JP (2) JP6121407B2 (ja)
KR (1) KR101553489B1 (ja)
CN (1) CN103620431B (ja)
WO (1) WO2012174281A1 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130275824A1 (en) * 2012-04-12 2013-10-17 Lsi Corporation Scan-based capture and shift of interface functional signal values in conjunction with built-in self-test
TWI517608B (zh) * 2013-01-28 2016-01-11 聯詠科技股份有限公司 行動產業處理器介面的信號接收方法及信號接收裝置
US9081932B2 (en) * 2013-02-01 2015-07-14 Qualcomm Incorporated System and method to design and test a yield sensitive circuit
US9702935B2 (en) * 2013-08-29 2017-07-11 Texas Instruments Incorporated Packet based integrated circuit testing
US9500700B1 (en) * 2013-11-15 2016-11-22 Xilinx, Inc. Circuits for and methods of testing the operation of an input/output port
CN104090226B (zh) * 2014-07-09 2017-01-18 四川和芯微电子股份有限公司 测试芯片管脚连通性的电路
KR102466160B1 (ko) * 2016-01-08 2022-11-14 삼성전자주식회사 데이터의 루프백을 수행하는 시스템 온 칩과 집적 회로, 및 이들을 포함하는 모바일 장치
KR20170130013A (ko) * 2016-05-17 2017-11-28 삼성전자주식회사 바이너리 벡터 기반의 테스트 장치
US10481206B2 (en) * 2016-09-08 2019-11-19 Texas Instruments Incorporated Automatic test equipment (ATE) platform translation
US10410560B2 (en) * 2017-03-16 2019-09-10 Intel Corporation Display controller testing through high speed communications switch
US10691249B2 (en) * 2017-09-29 2020-06-23 Intel Corporation Touch host controller
CN109884498B (zh) * 2018-12-27 2021-07-13 上海华岭集成电路技术股份有限公司 一种提高测试效率的ate测试方法
CN111989580B (zh) * 2019-01-22 2023-06-30 爱德万测试公司 用于测试一个或多个被测器件的自动化测试设备,用于一个或多个被测器件的自动化测试的方法以及用于应对命令差错的计算机程序
CN110634530B (zh) * 2019-09-10 2021-05-25 珠海博雅科技有限公司 芯片的测试系统和测试方法
JP6972075B2 (ja) * 2019-09-30 2021-11-24 アンリツ株式会社 移動端末試験システム
US11243252B1 (en) * 2020-08-17 2022-02-08 Cisco Technology, Inc. Processor to JTAG test data register interface
CN113515415B (zh) * 2021-04-12 2024-03-08 山东英信计算机技术有限公司 一种测试介质生成方法、系统及介质
CN114019344A (zh) * 2021-09-23 2022-02-08 惠州高盛达智显科技有限公司 Mipi-dsi接口协议信号的自动检测方法及系统
CN116520138B (zh) * 2023-06-27 2023-09-22 苏州联芸科技有限公司 芯片测试方法、系统及装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000242573A (ja) * 1999-02-18 2000-09-08 Internatl Business Mach Corp <Ibm> I2cバスを含むグローバル・シリアル・バスに製造テスト・インタフェースを接続するための方法および装置
US20020133795A1 (en) * 2001-03-16 2002-09-19 Masanori Yamada Interface circuit and method of testing or debugging semiconductor device using it
US6732301B1 (en) * 2000-03-06 2004-05-04 Hewlett-Packard Development Company, L.P. Serial bus diagnostic port of a digital system
US6783078B1 (en) * 2003-05-09 2004-08-31 Stmicroelectronics, Inc. Universal serial bus (USB) smart card having read back testing features and related system, integrated circuit, and methods
JP2005004765A (ja) * 2003-06-10 2005-01-06 Stmicroelectronics Inc Jtagテスト制御器を包含するスマートカード及び関連方法
WO2005022390A1 (ja) * 2003-08-28 2005-03-10 Renesas Technology Corp. マイクロコンピュータ及びシステムプログラムの開発方法
JP2006132994A (ja) * 2004-11-02 2006-05-25 Nec Electronics Corp バウンダリスキャン回路内臓lsi
US20070011528A1 (en) * 2005-06-16 2007-01-11 General Electric Company Method and apparatus for testing an ultrasound system
JP2008502221A (ja) * 2004-06-04 2008-01-24 クゥアルコム・インコーポレイテッド 高速データレートインタフェース装置及び方法

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4918691A (en) * 1989-05-30 1990-04-17 Ford Aerospace Corporation Testing of integrated circuit modules
KR100295050B1 (ko) * 1998-08-13 2001-08-07 윤종용 선형궤환쉬프트레지스터를사용한내장자기진단장치
US6275962B1 (en) * 1998-10-23 2001-08-14 Teradyne, Inc. Remote test module for automatic test equipment
US6427216B1 (en) * 1999-03-11 2002-07-30 Agere Systems Guardian Corp. Integrated circuit testing using a high speed data interface bus
WO2001095117A2 (en) * 2000-06-06 2001-12-13 Igor Anatolievich Abrosimov Data processing system for high speed memory test
US6553524B1 (en) * 2000-07-12 2003-04-22 Hewlett Packard Development Company, L.P. Method for automating validation of integrated circuit test logic
US6466048B1 (en) * 2001-05-23 2002-10-15 Mosaid Technologies, Inc. Method and apparatus for switchably selecting an integrated circuit operating mode
US8001439B2 (en) * 2001-09-28 2011-08-16 Rambus Inc. Integrated circuit testing module including signal shaping interface
US6996758B1 (en) * 2001-11-16 2006-02-07 Xilinx, Inc. Apparatus for testing an interconnecting logic fabric
US6880116B2 (en) * 2001-11-27 2005-04-12 Ati Technologies, Inc. System for testing multiple devices on a single system and method thereof
US20030126533A1 (en) * 2001-12-28 2003-07-03 Mcadams Mark Alan Testing of circuit modules embedded in an integrated circuit
US20040002832A1 (en) * 2002-05-20 2004-01-01 Chan Patrick P. Method and apparatus for boundary scan of serial interfaces
US6918074B2 (en) * 2002-06-28 2005-07-12 Intel Corporation At speed testing asynchronous signals
US6795954B2 (en) 2002-10-21 2004-09-21 Lsi Logic Corporation Method of decreasing instantaneous current without affecting timing
US7444571B1 (en) * 2003-02-27 2008-10-28 Marvell International Ltd. Apparatus and method for testing and debugging an integrated circuit
US6975954B2 (en) * 2003-06-24 2005-12-13 Intel Corporation Functional testing of logic circuits that use high-speed links
US7428678B1 (en) * 2004-09-22 2008-09-23 Cypress Semiconductor Corporation Scan testing of integrated circuits with high-speed serial interface
JP2006146412A (ja) * 2004-11-17 2006-06-08 Nec Corp マルチコアプロセッサ及びデバッグ方法
US7478005B2 (en) * 2005-04-28 2009-01-13 Rambus Inc. Technique for testing interconnections between electronic components
US7844997B2 (en) * 2006-01-12 2010-11-30 Honeywell International Inc. Securing standard test access port with an independent security key interface
US7451367B2 (en) * 2006-02-14 2008-11-11 Atmel Corporation Accessing sequential data in microcontrollers
US20070255990A1 (en) * 2006-04-12 2007-11-01 Burke Kevin C Test access port switch
JP2007304972A (ja) * 2006-05-12 2007-11-22 Matsushita Electric Ind Co Ltd マイクロプロセッサシステム
US7793185B2 (en) * 2006-09-05 2010-09-07 Atmel Automotive Gmbh Integrated circuit for a data transmission system and receiving device of a data transmission system
US7620864B2 (en) * 2006-10-26 2009-11-17 International Business Machines Corporation Method and apparatus for controlling access to and/or exit from a portion of scan chain
WO2008150939A1 (en) * 2007-05-30 2008-12-11 Summit Design Solutions, Inc. Method and device for protecting information contained in an integrated circuit
US8484524B2 (en) * 2007-08-21 2013-07-09 Qualcomm Incorporated Integrated circuit with self-test feature for validating functionality of external interfaces
US7949915B2 (en) * 2007-12-04 2011-05-24 Alcatel-Lucent Usa Inc. Method and apparatus for describing parallel access to a system-on-chip
US7962819B2 (en) * 2008-01-24 2011-06-14 Sandisk Corporation Test mode soft reset circuitry and methods
US8156317B2 (en) * 2008-05-16 2012-04-10 Ati Technologies Ulc Integrated circuit with secure boot from a debug access port and method therefor
JP5067266B2 (ja) * 2008-06-04 2012-11-07 富士通株式会社 Jtag機能付き集積回路ボード
US7679391B2 (en) * 2008-07-11 2010-03-16 Advantest Corporation Test equipment and semiconductor device
US8726112B2 (en) * 2008-07-18 2014-05-13 Mentor Graphics Corporation Scan test application through high-speed serial input/outputs
US8418008B2 (en) * 2008-12-18 2013-04-09 Lsi Corporation Test technique to apply a variable scan clock including a scan clock modifier on an integrated circuit
US8072234B2 (en) * 2009-09-21 2011-12-06 Tabula, Inc. Micro-granular delay testing of configurable ICs
GB2480847B (en) * 2010-06-03 2014-12-10 St Microelectronics Res & Dev Remote testing system

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000242573A (ja) * 1999-02-18 2000-09-08 Internatl Business Mach Corp <Ibm> I2cバスを含むグローバル・シリアル・バスに製造テスト・インタフェースを接続するための方法および装置
US6732301B1 (en) * 2000-03-06 2004-05-04 Hewlett-Packard Development Company, L.P. Serial bus diagnostic port of a digital system
US20020133795A1 (en) * 2001-03-16 2002-09-19 Masanori Yamada Interface circuit and method of testing or debugging semiconductor device using it
JP2002277514A (ja) * 2001-03-16 2002-09-25 Oki Electric Ind Co Ltd インターフェース回路及びそれを用いた半導体装置のテスト方法とデバッグ方法
US6783078B1 (en) * 2003-05-09 2004-08-31 Stmicroelectronics, Inc. Universal serial bus (USB) smart card having read back testing features and related system, integrated circuit, and methods
JP2005004765A (ja) * 2003-06-10 2005-01-06 Stmicroelectronics Inc Jtagテスト制御器を包含するスマートカード及び関連方法
WO2005022390A1 (ja) * 2003-08-28 2005-03-10 Renesas Technology Corp. マイクロコンピュータ及びシステムプログラムの開発方法
JP2008502221A (ja) * 2004-06-04 2008-01-24 クゥアルコム・インコーポレイテッド 高速データレートインタフェース装置及び方法
JP2006132994A (ja) * 2004-11-02 2006-05-25 Nec Electronics Corp バウンダリスキャン回路内臓lsi
US20070011528A1 (en) * 2005-06-16 2007-01-11 General Electric Company Method and apparatus for testing an ultrasound system
JP2007010650A (ja) * 2005-06-16 2007-01-18 General Electric Co <Ge> 超音波システムをテストするための方法及び装置

Also Published As

Publication number Publication date
EP2721427A1 (en) 2014-04-23
JP6121407B2 (ja) 2017-04-26
US20120324302A1 (en) 2012-12-20
KR20140037228A (ko) 2014-03-26
WO2012174281A1 (en) 2012-12-20
CN103620431B (zh) 2016-04-20
CN103620431A (zh) 2014-03-05
KR101553489B1 (ko) 2015-09-15
JP2014522961A (ja) 2014-09-08

Similar Documents

Publication Publication Date Title
JP6121407B2 (ja) 高速入力/出力インターフェースを使用して試験するための集積回路
JP4388903B2 (ja) Jtag試験方式
US9508615B2 (en) Clock tree synthesis for low cost pre-bond testing of 3D integrated circuits
TWI476425B (zh) 自動測試設備
TWI428620B (zh) 用於積體電路測試之低功率及區域有效掃描單元
JP6594972B2 (ja) 電子システムにおけるマルチインターフェースデバッギングのための組込みユニバーサルシリアルバス(usb)デバッグ(eud)
TW202227973A (zh) 用外部輸入/輸出介面以支援測試、除錯或追蹤資訊的通訊之裝置、系統及方法(二)
US9535120B2 (en) Integrated circuit and method for establishing scan test architecture in integrated circuit
US8539293B2 (en) Integrated circuit for compression mode scan test
CN107168644B (zh) 基于sfp光纤接口的高速大容量宽带i/q数据记录仪
CN112394281B (zh) 测试信号并行加载转换电路和系统级芯片
US8301936B2 (en) Apparatus and method for performing a screening test of semiconductor integrated circuits
JP2006250824A (ja) 半導体集積回路およびその半導体集積回路におけるデータ解析方法
CN116324439A (zh) 基于高速功能协议的测试和调试
US9804224B2 (en) Integrated circuit and method of operating an integrated circuit
US9360524B2 (en) Testing system for serial interface
US10474515B2 (en) Debugging translation block and debugging architecture
US8495436B1 (en) System and method for memory testing in electronic circuits
CN113868065B (zh) 一种测试和烧录叠封芯片的方法、叠封芯片
US11321204B2 (en) Complex programmable logic device and operation method thereof
JP5154375B2 (ja) デジタル処理回路
TWI243985B (en) Multiple test instruction set switching system and method
TW201700988A (zh) 多工分析系統及其多工分析儀
JP2009047486A (ja) 半導体パッケージの検査方法
JP2009032072A (ja) 双方向バスの方向制御装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160705

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170123

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170131

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170905