(57)【要約】【課題】マルチＩＣデバイスをテストするための方法および装置を提供する。【解決手段】集積回路は、入力信号を受け取るように構成される第１の入力相互接続と、テスト・イネーブル信号を受け取るように構成される第１のテスト・イネーブル相互接続と、前記入力信号に対応する値に基づいて該集積回路のテストを実行するためのコントローラと、入力ポートと、前記第１の入力相互接続、前記コントローラ、および前記入力ポートに結合され、前記テスト・イネーブル信号がアサートされていないことに応答して前記入力信号を前記入力ポートに渡し、前記テスト・イネーブル信号がアサートされていることに応答して前記入力信号を前記コントローラに渡すように制御可能である第１のマルチプレクサとを備える。【選択図】図３
2013079941.tif 000002
【特許請求の範囲】
【請求項１】
集積回路であって、
入力信号を受け取るように構成される第１の入力相互接続と、
テスト・イネーブル信号を受け取るように構成される第１のテスト・イネーブル相互接続と、
前記入力信号に対応する値に基づいて該集積回路のテストを実行するためのコントローラと、
入力ポートと、
前記第１の入力相互接続、前記コントローラ、および前記入力ポートに結合され、前記テスト・イネーブル信号がアサートされていないことに応答して前記入力信号を前記入力ポートに渡し、前記テスト・イネーブル信号がアサートされていることに応答して前記入力信号を前記コントローラに渡すように制御可能である第１のマルチプレクサとを備える、集積回路。
【請求項２】
前記コントローラはジョイント・テスト・アクション・グループ（ＪＴＡＧ）準拠コントローラであり、
前記入力ポートは集積回路間（Ｉ２Ｃ）ポートおよびシリアル周辺機器インタフェース（ＳＰＩ）ポートから成る群から選択される、請求項１に記載の集積回路。
【請求項３】
出力信号を生成するように構成される第１の出力相互接続と、
前記第１の出力相互接続および前記第１の入力相互接続に結合され、前記テスト・イネーブル信号がアサートされることに応答して、前記出力信号として生成されるために前記入力信号を前記第１の出力相互接続に渡すように制御可能である第２のマルチプレクサとをさらに備える、請求項１に記載の集積回路。
【請求項４】
前記第２のマルチプレクサに結合され、出力ポート信号を生成するように構成される出力ポートをさらに備え、前記第２のマルチプレクサは、前記テスト・イネーブル信号がアサートされていないことに応答して、前記出力信号として生成されるために前記出力ポート信号を前記第１の出力相互接続に渡すように制御可能である、請求項３に記載の集積回路。
【請求項５】
前記出力ポートは集積回路間（Ｉ２Ｃ）ポート、シリアル周辺機器インタフェース（ＳＰＩ）ポート、および二重モードＩ２Ｃ／ＳＰＩポートから成る群から選択される、請求項４に記載の集積回路。
【請求項６】
前記集積回路がＪＴＡＧ通過モードにあるか否かの第２の指示を記憶するように構成される制御ビットと、
テスト出力データを生成するように構成される第１のテスト・データ・アウト相互接続と、
下流の集積回路から遠隔生成されるテスト出力データを受け取るように構成される第２のテスト・データ・アウト相互接続と、
前記第１のテスト・データ・アウト相互接続に結合され、第１の指示が前記集積回路が前記ＪＴＡＧ通過モードにないことである場合に前記テスト出力データとして生成されるために、前記集積回路によって生成される第１のテスト出力データを前記第１のテスト・データ・アウト相互接続に渡すように制御可能である、第２のマルチプレクサと、
前記第２のテスト・データ・アウト相互接続および前記第２のマルチプレクサに結合され、前記第２の指示が前記集積回路が前記ＪＴＡＧ通過モードにあることである場合に前記第１のテスト・データ・アウト相互接続上の前記テスト出力データとして生成されるために、前記遠隔生成されるテスト出力データを前記第２のマルチプレクサに渡すように制御可能である、第３のマルチプレクサとをさらに備える、請求項１に記載の集積回路。
【請求項７】
出力信号として前記テスト・イネーブル信号を生成するように構成される第２のテスト・イネーブル相互接続をさらに備える、請求項１に記載の集積回路。
【請求項８】
外部リセット信号を受け取るように構成されるリセット相互接続と、
前記リセット相互接続に結合され、前記テスト・イネーブル信号がアサートされることに応答して、前記外部リセット信号に対応する出力リセット信号を生成するように構成される、リセット回路とをさらに備える、請求項１に記載の集積回路。
【請求項９】
外部クロック信号を受け取るように構成される外部クロック相互接続と、
前記外部クロック相互接続に結合され、前記テスト・イネーブル信号がアサートされることに応答して、前記外部クロック信号に対応する出力クロック信号を生成するように構成される、クロック回路とをさらに備える、請求項１に記載の集積回路。
【請求項１０】
マルチ集積回路システムであって、
複数の外部ピンと、
第１のテスト・アクセス・ポート（ＴＡＰ）コントローラ、第１の命令レジスタ、少なくとも１つの第１のテスト・データ・レジスタ（ＴＤＲ）、前記複数の外部ピンに結合される複数の第１の相互接続、および、複数の第２の相互接続を有する、第１の集積回路と、
第２のＴＡＰコントローラ、第２の命令レジスタ、少なくとも１つの第２のＴＤＲ、および、前記複数の第２の相互接続に結合される複数の第３の相互接続を有する第２の集積回路とを備え、
前記第１のＴＡＰコントローラは、前記第１の命令レジスタにクロッキングされるとオペコードを、前記第１のＴＡＰコントローラに第１の動作を実行させる第１の命令にマッピングするように構成され、前記第２のＴＡＰコントローラは、前記第２の命令レジスタにクロッキングされると前記オペコードを、前記第１の命令と異なる第２の命令にマッピングするように構成され、前記第２の命令は前記第２のＴＡＰコントローラに、前記第１の動作と異なる第２の動作を実行させる、マルチ集積回路システム。
【請求項１１】
前記複数の外部ピンはＴＥ信号を受け取るように構成されるテスト・イネーブル（ＴＥ）ピンを含み、
前記複数の第１の相互接続は前記ＴＥピンに結合されるＴＥ相互接続を含み、
前記第１の集積回路はスレーブポートをさらに含み、前記ＴＥ信号がディアサートされると前記第１の相互接続のセットが前記スレーブポートに結合され、前記ＴＥ信号がアサートされると前記第１の相互接続の前記セットが前記第１のＴＡＰコントローラに結合される、請求項１０に記載のマルチ集積回路システム。
【請求項１２】
前記第１の集積回路は、
前記第１の相互接続の前記セットに、前記スレーブポートに、および前記第１のＴＡＰコントローラに結合される第１のマルチプレクサをさらに備え、前記第１のマルチプレクサは前記ＴＥ信号に基づいて、前記ＴＥ信号がディアサートされると前記第１の相互接続の前記セットを前記スレーブポートに結合するように、および、前記ＴＥ信号がアサートされると前記第１の相互接続の前記セットを前記ＴＡＰコントローラに結合するように制御可能である、請求項１１に記載のマルチ集積回路システム。
【請求項１３】
前記第１の集積回路は、
マスタポートと、
前記第１の相互接続の前記セットに、前記マスタポートに、および、前記第２の相互接続のセットに結合される第２のマルチプレクサとをさらに備え、前記第２のマルチプレクサは前記ＴＥ信号に基づいて、該ＴＥ信号がディアサートされると前記マスタポートを前記第２の相互接続の前記セットに結合するように、および、該ＴＥ信号がアサートされると前記第１の相互接続の前記セットを前記第２の相互接続の前記セットに結合するように制御可能である、請求項１２に記載のマルチ集積回路システム。
【請求項１４】
前記複数の外部ピンはＴＥ信号を受け取るように構成されるテスト・イネーブル（ＴＥ）ピンを含み、
前記複数の第１の相互接続は前記ＴＥピンに結合される第１のＴＥ相互接続を含み、
前記複数の第２の相互接続はＴＥ転送相互接続を含み、
前記複数の第３の相互接続は前記ＴＥ転送相互接続に結合される第２のＴＥ相互接続を含み、
前記第１の集積回路は、前記ＴＥ信号を該第１の集積回路から前記ＴＥ転送相互接続と、前記第３の相互接続のうちの１つと、前記第２のＴＥ相互接続とを通じて前記第２の集積回路に伝達するために、前記ＴＥ相互接続と前記ＴＥ転送相互接続との間に結合される回路をさらに含む、請求項１０に記載のマルチ集積回路システム。
【請求項１５】
前記第２の集積回路は複数の第４の相互接続も含み、前記システムは、
第３のＴＡＰコントローラと、第３の命令レジスタと、少なくとも１つの第３のＴＤＲと、前記複数の第４の相互接続に結合される複数の第５の相互接続とを有する少なくとも第３の集積回路をさらに備え、前記第３のＴＡＰコントローラは前記第３の命令レジスタにクロッキングされると前記オペコードを、前記第１の命令または前記第２の命令のいずれかにマッピングするように構成される、請求項１０に記載のマルチ集積回路システム。
【請求項１６】
少なくとも、第１のテストコントローラを有する第１の集積回路と、第２のテストコントローラを有する第２の集積回路とを含むマルチ集積回路システムをテストするための方法であって、該方法は、
前記第１のテストコントローラおよび前記第２のテストコントローラをテストモードにおいて構成するステップと、
第１のオペコードを、前記第１のテストコントローラに関連付けられる第１の命令レジスタに、および、前記第２のテストコントローラに関連付けられる第２の命令レジスタにクロッキングするステップと、
前記第１のテストコントローラが前記第１のオペコードに基づいて第１の命令を実行するステップであって、前記第１の命令は前記第１のテストコントローラに第１の動作を実行させる、実行するステップと、
前記第２のテストコントローラが前記第１のオペコードに基づいて第２の命令を実行するステップであって、該第２の命令は前記第１の命令と異なり、該第２の命令は前記第２のテストコントローラに、前記第１の動作と異なる第２の動作を実行させる、実行するステップとを含む、方法。
【請求項１７】
前記構成するステップは、
前記第１の集積回路を前記テストモードにするために該第１の集積回路に提供されるテスト・イネーブル信号をアサートすることと、
前記第２の集積回路を前記テストモードにするために、前記第１の集積回路を、前記テスト・イネーブル信号を前記第２の集積回路に伝達するように構成することとを含む、請求項１６に記載の方法。
【請求項１８】
前記構成するステップは、
前記第１の集積回路の二重目的相互接続の第１のセットを前記第１の集積回路の第１のスレーブポートから結合解除するとともに、該第１の集積回路の二重目的相互接続の該第１のセットを前記第１のテストコントローラに結合するために、前記第１の集積回路に提供されるテスト・イネーブル信号をアサートすることを含む、請求項１６に記載の方法。
【請求項１９】
二重目的相互接続の前記第１のセットを前記第１のテストコントローラから結合解除するとともに、二重目的相互接続の該第１のセットを前記第１のスレーブポートに結合するために、前記第１の集積回路に提供される前記テスト・イネーブル信号をディアサートすることをさらに含む、請求項１８に記載の方法。
【請求項２０】
前記第１の命令または前記第２の命令のうちの一方はＢＹＰＡＳＳ命令であり、該第１の命令および該第２の命令のうちの他方は非ＢＹＰＡＳＳ命令である、請求項１６に記載の方法。
【請求項２１】
第２のオペコードを、前記第２のテストコントローラに関連付けられる前記第２の命令レジスタにクロッキングするステップであって、前記第２のオペコードは前記第１のオペコードと異なる、クロッキングするステップと、
前記第２のテストコントローラが前記第２のオペコードに基づいて前記第１の命令を実行するステップとをさらに含む、請求項１６に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、集積回路のためのテスト方法および装置に関する。
【背景技術】
【０００２】
デバッグ作業を促進するために、多くの現行の集積回路（ＩＣ）は、ジョイント・テスト・アクション・グループ（ＪＴＡＧ）準拠回路（ＩＥＥＥ  １１４９．１標準テスト・アクセス・ポートおよびバウンダリスキャン・アーキテクチャとして標準化されている）を含む。特許文献１には、集積回路内に搭載されるマルチコアデバイスをテストする方法及びシステムが開示されている。ＪＴＡＧ準拠回路およびＩＣのテストにおいて当該回路を使用する方法（まとめて単純に「ＪＴＡＧ」と称される）はＩＣの内部ブロックに対するアクセスを提供し、これによって、ＪＴＡＧは組込みシステムのデバッグによく適するようになる。より具体的には、ＪＴＡＧ準拠バウンダリスキャン技術をサポートするデバイスにおいて、デバイスのコアロジックとデバイスのピンとの間の信号がバウンダリ・スキャン・セルによってインターセプトされ、当該セルは、共に結合されてバウンダリ・スキャン・レジスタ（ＢＳＲ）として既知のシリアルスキャンパスを形成する。通常、バウンダリ・スキャン・セルはＩＣ動作に影響を与えない。しかしながら、テストモードにおいて、バウンダリ・スキャン・セルは値をセットしかつ／または読み出すために使用されることができる。例えば、ＪＴＡＧは、特定の種類の障害（例えば、短絡、開放、および論理的な障害）に関してテストするために、ＩＣのＢＳＲに対する外部インタフェースを操作するのに使用されることができる。
【０００３】
ＩＣ上で実装される場合、ＪＴＡＧ準拠回路は少なくとも、命令レジスタおよび複数のデータレジスタに対するアクセスを有するＪＴＡＧインタフェースおよびコントローラを含む。ＪＴＡＧインタフェース（まとめてテスト・アクセス・ポート、すなわちＴＡＰとして既知である）は、４相互接続インタフェースまたは５相互接続インタフェースのいずれかである。４つの主要な相互接続は、ＴＭＳ（テストモード状態）、ＴＣＫ（クロック）、ＴＤＩ（テスト・データ・イン）、およびＴＤＯ（テスト・データ・アウト）を含む。ＪＴＡＧインタフェースは、ＴＲＳＴ（テスト・リセット）相互接続が実装される場合、追加の相互接続を含むことができる。一実施形態において、ＴＲＳＴ相互接続を介して提供されるテスト・リセット信号は、対応するテスト・リセット回路に、システム・レベル・リセットを生成させることができる。
【０００４】
ＪＴＡＧインタフェースと通信するために、ホストコンピュータは、目標ＩＣのＪＴＡＧインタフェースに（例えば、ＪＴＡＧアダプタを通じて）接続されることができ、ホストコンピュータは、信号がＪＴＡＧインタフェースに提供されるか、または信号がＪＴＡＧインタフェースから読み出されるようにすることができる。より具体的には、ホストコンピュータは、ＴＣＫ上のクロッキング信号とともにＴＭＳおよびＴＤＩ上の信号を操作することによって、ならびに、ＴＤＯ上でＩＣによって提示される信号を読み出すことによって、ＩＣのＴＡＰコントローラと通信する。ＴＡＰコントローラの状態は、ＴＣＫ遷移において変化する場合がある。
【０００５】
システム・イン・パッケージ（ＳｉＰ）のようないくつかのマルチＩＣシステムにおいては、システムの各ＩＣに対して専用の外部ＪＴＡＧインタフェースピンをサポートするのに利用可能なパッケージピンの数が十分でない場合がある。これらのシステムのいくつかは、直接的にまたは間接的にさまざまなＩＣのＪＴＡＧインタフェースに接続する、１セットの外部ＪＴＡＧインタフェースピンを含む場合がある。ＩＣのうちの１つをテストするために、被試験ＩＣを除くすべてのＩＣが「ＴＤＩ−ＴＤＯバイパス」モード（すなわち、ＩＣのＴＤＩおよびＴＤＯ相互接続がＩＣのＴＤＩ−ＴＤＯバイパスレジスタを通じて事実上直接接続されるモード）にセットされる。このような構成においては、外部ＴＤＩピンにおいて提示されるＴＤＩ信号は被試験ＩＣに渡され、被試験ＩＣによって生成されるＴＤＯ信号は外部ＴＤＯピンにある。
【０００６】
例えば、図１は、従来技術による、それらのＪＴＡＧ  ＴＤＯおよびＴＤＩ相互接続が共にデイジーチェーン接続されている複数のＩＣ１０２、１０３、１０４の簡略化された回路図１００を示す。図示されている構成において、ＩＣ１０２〜１０４のすべてに対するアクセスは、単一の外部ＪＴＡＧインタフェース１１０を通じて提供されることができる。ＴＭＳピン１１２およびＴＣＫピン１１４は各ＩＣ１０２〜１０４のＴＭＳおよびＴＣＫ相互接続に直接接続され、ＴＤＩおよびＴＤＯ相互接続は共にデイジーチェーン接続される。換言すれば、第１のＩＣ１０２のＴＤＩ相互接続は外部ＴＤＩピン１１６に直接接続され、第１のＩＣ１０２のＴＤＯ相互接続は第２のＩＣ１０３のＴＤＩ相互接続に接続され、第２のＩＣ１０３のＴＤＯ相互接続は第３のＩＣ１０４のＴＤＩ相互接続に接続され、第３のＩＣ１０４のＴＤＯ相互接続は外部ＴＤＯピン１１８に直接接続される。
【０００７】
ＩＣのいずれか１つ（例えば、ＩＣ１０４）をテストするために、他のＩＣ（例えば、ＩＣ１０２、１０３）は（例えば、ＢＹＰＡＳＳ命令においてクロッキングすることによって）ＴＤＩ−ＴＤＯバイパスモードにセットされる。クロック入力はＴＣＫピン１１４において提供され、クロッキングは、ＩＣのＴＡＰコントローラ（図示せず）の各々において実装される標準化ＪＴＡＧステートマシンによってＴＭＳピン１１２の段階で変化する。Ｓｈｉｆｔ＿ＩＲおよびＳｈｉｆｔ＿ＤＲ状態において、１ビットのデータが各ＴＣＫクロックパルスとともに、それぞれ、ＴＤＩピン１１６から各タップコントローラ命令またはデータレジスタ（これも図示せず）を出入りして転送されることができる。例えば、一般的な命令は、データレジスタ（例えば、ＢＳＲ、ＴＤＩ−ＴＤＯバイパスレジスタ、またはＩＤＣＯＤＥレジスタ）に対するデータの読み出しまたは書き込み、入力ピンのサンプリング、出力ピンの駆動（または浮動）などを含み得る。ＩＣ１０２〜１０４のすべてはロックステップにおいて動作するが、被試験ＩＣ（すなわち、ＴＤＩ−ＴＤＯバイパスモードにないＩＣ）のみは、そのＴＤＯポートにおいて有効なテストデータを生成するために外部ＴＤＩピン１１６上の入力信号によって影響される。次いで、その有効なテストデータは外部ＴＤＯピン１１８において生成される。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】米国特許第７，５９０，９１０号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ＪＴＡＧ準拠である従来のマルチＩＣ  ＳｉＰ（例えば、図１の回路１００）が提供する、ＳｉＰ内の複数のＩＣの各々をテストする能力はいくらか限られているが、パッケージピンの必要な数およびパッケージ内のＩＣ間ルーティングを低減することができるテスト構成が望ましい。
【課題を解決するための手段】
【００１０】
上記問題点を解決するために、請求項１に記載の発明は、集積回路であって、入力信号を受け取るように構成される第１の入力相互接続と、テスト・イネーブル信号を受け取るように構成される第１のテスト・イネーブル相互接続と、前記入力信号に対応する値に基づいて該集積回路のテストを実行するためのコントローラと、入力ポートと、前記第１の入力相互接続、前記コントローラ、および前記入力ポートに結合され、前記テスト・イネーブル信号がアサートされていないことに応答して前記入力信号を前記入力ポートに渡し、前記テスト・イネーブル信号がアサートされていることに応答して前記入力信号を前記コントローラに渡すように制御可能である第１のマルチプレクサとを備えることを要旨とする。
【００１１】
請求項２に記載の発明は、請求項１に記載の集積回路において、前記コントローラはジョイント・テスト・アクション・グループ準拠コントローラであり、前記入力ポートは集積回路間ポートおよびシリアル周辺機器インタフェースポートから成る群から選択される、ことを要旨とする。
【００１２】
請求項３に記載の発明は、請求項１に記載の集積回路において、出力信号を生成するように構成される第１の出力相互接続と、前記第１の出力相互接続および前記第１の入力相互接続に結合され、前記テスト・イネーブル信号がアサートされることに応答して、前記出力信号として生成されるために前記入力信号を前記第１の出力相互接続に渡すように制御可能である第２のマルチプレクサとをさらに備える、ことを要旨とする。
【００１３】
請求項４に記載の発明は、請求項３に記載の集積回路において、前記第２のマルチプレクサに結合され、出力ポート信号を生成するように構成される出力ポートをさらに備え、前記第２のマルチプレクサは、前記テスト・イネーブル信号がアサートされていないことに応答して、前記出力信号として生成されるために前記出力ポート信号を前記第１の出力相互接続に渡すように制御可能である、ことを要旨とする。
【００１４】
請求項５に記載の発明は、請求項４に記載の集積回路において、前記出力ポートは集積回路間ポート、シリアル周辺機器インタフェースポート、および二重モードＩ２Ｃ／ＳＰＩポートから成る群から選択される、ことを要旨とする。
【００１５】
請求項６に記載の発明は、請求項１に記載の集積回路において、前記集積回路がＪＴＡＧ通過モードにあるか否かの第２の指示を記憶するように構成される制御ビットと、テスト出力データを生成するように構成される第１のテスト・データ・アウト相互接続と、下流の集積回路から遠隔生成されるテスト出力データを受け取るように構成される第２のテスト・データ・アウト相互接続と、前記第１のテスト・データ・アウト相互接続に結合され、第１の指示が前記集積回路が前記ＪＴＡＧ通過モードにないことである場合に前記テスト出力データとして生成されるために、前記集積回路によって生成される第１のテスト出力データを前記第１のテスト・データ・アウト相互接続に渡すように制御可能である、第２のマルチプレクサと、前記第２のテスト・データ・アウト相互接続および前記第２のマルチプレクサに結合され、前記第２の指示が前記集積回路が前記ＪＴＡＧ通過モードにあることである場合に前記第１のテスト・データ・アウト相互接続上の前記テスト出力データとして生成されるために、前記遠隔生成されるテスト出力データを前記第２のマルチプレクサに渡すように制御可能である、第３のマルチプレクサとをさらに備える、ことを要旨とする。
【００１６】
請求項７に記載の発明は、請求項１に記載の集積回路において、出力信号として前記テスト・イネーブル信号を生成するように構成される第２のテスト・イネーブル相互接続をさらに備える、ことを要旨とする。
【００１７】
請求項８に記載の発明は、請求項１に記載の集積回路において、外部リセット信号を受け取るように構成されるリセット相互接続と、前記リセット相互接続に結合され、前記テスト・イネーブル信号がアサートされることに応答して、前記外部リセット信号に対応する出力リセット信号を生成するように構成される、リセット回路とをさらに備える、ことを要旨とする。
【００１８】
請求項９に記載の発明は、請求項１に記載の集積回路において、外部クロック信号を受け取るように構成される外部クロック相互接続と、前記外部クロック相互接続に結合され、前記テスト・イネーブル信号がアサートされることに応答して、前記外部クロック信号に対応する出力クロック信号を生成するように構成される、クロック回路とをさらに備える、ことを要旨とする。
【００１９】
請求項１０に記載の発明は、マルチ集積回路システムであって、複数の外部ピンと、第１のテスト・アクセス・ポートコントローラ、第１の命令レジスタ、少なくとも１つの第１のテスト・データ・レジスタ、前記複数の外部ピンに結合される複数の第１の相互接続、および、複数の第２の相互接続を有する、第１の集積回路と、第２のＴＡＰコントローラ、第２の命令レジスタ、少なくとも１つの第２のＴＤＲ、および、前記複数の第２の相互接続に結合される複数の第３の相互接続を有する第２の集積回路とを備え、前記第１のＴＡＰコントローラは、前記第１の命令レジスタにクロッキングされるとオペコードを、前記第１のＴＡＰコントローラに第１の動作を実行させる第１の命令にマッピングするように構成され、前記第２のＴＡＰコントローラは、前記第２の命令レジスタにクロッキングされると前記オペコードを、前記第１の命令と異なる第２の命令にマッピングするように構成され、前記第２の命令は前記第２のＴＡＰコントローラに、前記第１の動作と異なる第２の動作を実行させることを要旨とする。
【００２０】
請求項１１に記載の発明は、請求項１０に記載のマルチ集積回路システムにおいて、前記複数の外部ピンはＴＥ信号を受け取るように構成されるテスト・イネーブルピンを含み、前記複数の第１の相互接続は前記ＴＥピンに結合されるＴＥ相互接続を含み、前記第１の集積回路はスレーブポートをさらに含み、前記ＴＥ信号がディアサートされると前記第１の相互接続のセットが前記スレーブポートに結合され、前記ＴＥ信号がアサートされると前記第１の相互接続の前記セットが前記第１のＴＡＰコントローラに結合される、ことを要旨とする。
【００２１】
請求項１２に記載の発明は、請求項１１に記載のマルチ集積回路システムにおいて、前記第１の集積回路は、前記第１の相互接続の前記セットに、前記スレーブポートに、および前記第１のＴＡＰコントローラに結合される第１のマルチプレクサをさらに備え、前記第１のマルチプレクサは前記ＴＥ信号に基づいて、前記ＴＥ信号がディアサートされると前記第１の相互接続の前記セットを前記スレーブポートに結合するように、および、前記ＴＥ信号がアサートされると前記第１の相互接続の前記セットを前記ＴＡＰコントローラに結合するように制御可能である、ことを要旨とする。
【００２２】
請求項１３に記載の発明は、請求項１２に記載のマルチ集積回路システムにおいて、前記第１の集積回路は、マスタポートと、前記第１の相互接続の前記セットに、前記マスタポートに、および、前記第２の相互接続のセットに結合される第２のマルチプレクサとをさらに備え、前記第２のマルチプレクサは前記ＴＥ信号に基づいて、該ＴＥ信号がディアサートされると前記マスタポートを前記第２の相互接続の前記セットに結合するように、および、該ＴＥ信号がアサートされると前記第１の相互接続の前記セットを前記第２の相互接続の前記セットに結合するように制御可能である、ことを要旨とする。
【００２３】
請求項１４に記載の発明は、請求項１０に記載のマルチ集積回路システムにおいて、前記複数の外部ピンはＴＥ信号を受け取るように構成されるテスト・イネーブルピンを含み、前記複数の第１の相互接続は前記ＴＥピンに結合される第１のＴＥ相互接続を含み、前記複数の第２の相互接続はＴＥ転送相互接続を含み、前記複数の第３の相互接続は前記ＴＥ転送相互接続に結合される第２のＴＥ相互接続を含み、前記第１の集積回路は、前記ＴＥ信号を該第１の集積回路から前記ＴＥ転送相互接続と、前記第３の相互接続のうちの１つと、前記第２のＴＥ相互接続とを通じて前記第２の集積回路に伝達するために、前記ＴＥ相互接続と前記ＴＥ転送相互接続との間に結合される回路をさらに含む、ことを要旨とする。
【００２４】
請求項１５に記載の発明は、請求項１０に記載のマルチ集積回路システムにおいて、前記第２の集積回路は複数の第４の相互接続も含み、前記システムは、第３のＴＡＰコントローラと、第３の命令レジスタと、少なくとも１つの第３のＴＤＲと、前記複数の第４の相互接続に結合される複数の第５の相互接続とを有する少なくとも第３の集積回路をさらに備え、前記第３のＴＡＰコントローラは前記第３の命令レジスタにクロッキングされると前記オペコードを、前記第１の命令または前記第２の命令のいずれかにマッピングするように構成される、ことを要旨とする。
【００２５】
請求項１６に記載の発明は、少なくとも、第１のテストコントローラを有する第１の集積回路と、第２のテストコントローラを有する第２の集積回路とを含むマルチ集積回路システムをテストするための方法であって、該方法は、前記第１のテストコントローラおよび前記第２のテストコントローラをテストモードにおいて構成するステップと、第１のオペコードを、前記第１のテストコントローラに関連付けられる第１の命令レジスタに、および、前記第２のテストコントローラに関連付けられる第２の命令レジスタにクロッキングするステップと、前記第１のテストコントローラが前記第１のオペコードに基づいて第１の命令を実行するステップであって、前記第１の命令は前記第１のテストコントローラに第１の動作を実行させる、実行するステップと、前記第２のテストコントローラが前記第１のオペコードに基づいて第２の命令を実行するステップであって、該第２の命令は前記第１の命令と異なり、該第２の命令は前記第２のテストコントローラに、前記第１の動作と異なる第２の動作を実行させる、実行するステップとを含むことを要旨とする。
【００２６】
請求項１７に記載の発明は、請求項１６に記載の方法において、前記構成するステップは、前記第１の集積回路を前記テストモードにするために該第１の集積回路に提供されるテスト・イネーブル信号をアサートすることと、前記第２の集積回路を前記テストモードにするために、前記第１の集積回路を、前記テスト・イネーブル信号を前記第２の集積回路に伝達するように構成することとを含む、ことを要旨とする。
【００２７】
請求項１８に記載の発明は、請求項１６に記載の方法において、前記構成するステップは、前記第１の集積回路の二重目的相互接続の第１のセットを前記第１の集積回路の第１のスレーブポートから結合解除するとともに、該第１の集積回路の二重目的相互接続の該第１のセットを前記第１のテストコントローラに結合するために、前記第１の集積回路に提供されるテスト・イネーブル信号をアサートすることを含む、ことを要旨とする。
【００２８】
請求項１９に記載の発明は、請求項１８に記載の方法において、二重目的相互接続の前記第１のセットを前記第１のテストコントローラから結合解除するとともに、二重目的相互接続の該第１のセットを前記第１のスレーブポートに結合するために、前記第１の集積回路に提供される前記テスト・イネーブル信号をディアサートすることをさらに含む、ことを要旨とする。
【００２９】
請求項２０に記載の発明は、請求項１６に記載の方法において、前記第１の命令または前記第２の命令のうちの一方はＢＹＰＡＳＳ命令であり、該第１の命令および該第２の命令のうちの他方は非ＢＹＰＡＳＳ命令である、ことを要旨とする。
【００３０】
請求項２１に記載の発明は、請求項１６に記載の方法において、第２のオペコードを、前記第２のテストコントローラに関連付けられる前記第２の命令レジスタにクロッキングするステップであって、前記第２のオペコードは前記第１のオペコードと異なる、クロッキングするステップと、前記第２のテストコントローラが前記第２のオペコードに基づいて前記第１の命令を実行するステップとをさらに含む、ことを要旨とする。
【図面の簡単な説明】
【００３１】
【図１】従来技術による、ＪＴＡＧテスト能力を有する複数の相互接続されたＩＣの簡略化された回路図。
【図２】本発明の主題の一実施形態が実装されることができる例示のシステムの簡略化されたブロック図。
【図３】例示の実施形態による、統合テスト回路を有するＩＣの簡略化されたブロック図。
【図４】例示の実施形態による、統合テスト回路を有するマルチＩＣシステムの簡略化されたブロック図。
【図５】例示の実施形態による、マルチＩＣシステムをテストするための方法のフローチャート。
【発明を実施するための形態】
【００３２】
実施形態は、複数のＩＣ（例えば、複数のコントローラ）上の補助的テスト回路が、外部回路への直接ＪＴＡＧ接続を有しない（例えば、外部ＪＴＡＧピンがない）内部ＩＣを完全にテスト可能にすることができるシステム（例えば、ＳｉＰ）を含む。加えて、実施形態は、外部パッケージピンおよびＩＣ間ルーティングを低減するために、ＪＴＡＧ相互接続が、入力スレーブポートおよび出力マスタポートによって多重化される構成を含む。本発明の主題の実施形態は、ＳｉＰ、システム・オン・チップ（ＳｏＣ）、および、回路基板を通じて相互接続される別個にパッケージされるＩＣを含むシステムのような、さまざまなマルチＩＣシステムのいずれかとともに使用されることができる。本明細書においてＳｉＰの特定の例が説明されるが、当該例は限定であるようには意図されていないこと、および、当該例はさまざまな実施形態の理解を高めるために提供されることを理解されたい。
【００３３】
本明細書において使用される場合、「ピン」という用語は、パッケージの外部の回路とパッケージの内部の回路との間の導電性接続を意味する。「ピン」は、ピン、パッド、バンプ、ボール、および任意の他の導電性接続を含むように解釈されるべきである。「相互接続」という用語は、特定のＩＣに対する入力（Ｉ）導体、特定のＩＣに対する出力（Ｏ）導体、または特定のＩＣに対して二重Ｉ／Ｏ目的を果たす導体を意味する。本明細書においてより詳細に説明されるように、いくつかの事例において、相互接続はパッケージピンと直接結合されてもよく、他の事例においては、相互接続は別のＩＣの相互接続と結合されてもよい。
【００３４】
図２は、本発明の主題の一実施形態が実装されることができる例示のシステム２００の簡略化されたブロック図を示す。より詳細には、システム２００は、（６自由度の測定値を提供する）三次元空間内にあるデバイスの動き（例えば、変位および回転）を検知するための、およびさらにデバイスの地球上のロケーションを追跡するためのデバイス内に組み込まれることができるＳｉＰである。
【００３５】
システム２００は、複数のコントローラＩＣ２１０，２１２（本明細書においては「コントローラ」と称される）と、複数のトランスデューサ２２０，２２１，２２２とを含む。より具体的には、マスタコントローラ２１０は、磁気トランスデューサ２２０および加速度計トランスデューサ２２１とインタフェースするために使用され、スレーブコントローラ２１２はレート・ジャイロ・トランスデューサ２２２とインタフェースするために使用される。磁気トランスデューサ２２０は、地球の磁場の強度を示す信号を生成するように構成され、その情報はナビゲーション関連およびロケーション関連の用途に使用されることができる。加速度計トランスデューサ２２１およびレート・ジャイロ・トランスデューサ２２２は、信号（例えば、加速度および角度変化率を示す）を生成し、これは、デバイスの直線運動および向きが求められることを可能にする。この情報は、とりわけ、表示デバイス上で情報を表示するのに使用する向き（例えば、縦方向または横方向）の決定を含む、さまざまな目的に対して有用であり得る。
【００３６】
マスタコントローラ２１０およびスレーブコントローラ２１２の両方は、機能モード、ＪＴＡＧテストモード、または別の種類のテストモードにおいて構成されることができる。上記で示されているように、機能モードにおいて構成される場合、マスタコントローラ２１０は、磁気トランスデューサ２２０および加速度計トランスデューサ２２１とインタフェースするために使用され、スレーブコントローラ２１２はレート・ジャイロ・トランスデューサ２２２とインタフェースするために使用される。ＪＴＡＧテストモードにおいて構成される場合、マスタコントローラ２１０およびスレーブコントローラ２１２は、ＪＴＡＧ準拠テストをサポートするように設計される。
【００３７】
図示されるように、スレーブコントローラ２１２の上流にあるマスタコントローラ２１０は、システムのＩ／Ｏピンのさまざまなものに直接接続され、一方でスレーブコントローラ２１２はシステムＩ／Ｏピンには直接接続されない。図示されている実施形態において、マスタコントローラ２１０はピン２３０，２３２，２３４，および２３６に接続されているものとして示されている。ピン２３０は、マスタコントローラ２１０に対する１つまたは複数のアナログ入力を表し、これは、例えば、１つまたは複数の遠隔アナログセンサから発する場合がある。ピン２３２はシリアルポートを表し、これは、１つまたは複数の他の外部デバイス（例えば、図示されていない他のセンサ）に接続されることができる。このシリアルポートは、例えば、他の外部デバイスをマスタリングするマスタコントローラ２１０をサポートするマスタ／スレーブ・シリアル・ポートに対応することができる。シリアルポートがＩ２Ｃ（集積回路間）ポートである一実施形態において、例えば、ピン２３２は実際には２つ以上のピンを含むことができる。代替的には、シリアルポートがＳＰＩ（シリアル周辺機器インタフェース）である一実施形態において、ピン２３２は実際には４つ以上のピンを含むことができる。いくつかのデバイスは、ＳＰＩまたはＩ２Ｃポートを実装するためのオプションを有してもよい（例えば、ポートは二重モードＩ２Ｃ／ＳＰＩポートであってもよい）。他の実施形態においては、他のシリアルまたはパラレル・ポート・プロトコルも実装されてもよい。
【００３８】
一実施形態において、マスタコントローラ２１０は、機能モードおよびＪＴＡＧテストモードの両方において使用されることができる複数の「二重目的」ピン２３４にも接続される。より詳細には、マスタコントローラ２１０が機能モードにおいて構成される場合、ピン２３４は外部スレーブポート（例えば、ＳＰＩ、Ｉ２Ｃ、または他のインタフェース）に対応し、これは外部プロセッサ（例えば、外部アプリケーションプロセッサ）との相互接続性を提供することができる。マスタコントローラ２１０がＪＴＡＧテストモードにおいて構成される場合、ピン２３４は外部ＪＴＡＧポートに対応する。後により詳細に説明されるように、マスタコントローラのスレーブポートおよびタップコントローラ（いずれも図示されていない）は、ピン２３４の二重目的機能をイネーブルするために多重化される。同様に、マスタコントローラ２１０およびスレーブコントローラ２１２の両方が「二重目的」相互接続を含む。後により詳細に説明されるように、マスタコントローラ２１０の二重目的相互接続は二重目的ピン２３４に結合され、スレーブコントローラ２１０の二重目的接続はマスタコントローラ２１０の対応するバイパス相互接続に結合される。基本的に、マスタコントローラ２１０およびスレーブコントローラ２１２の二重目的接続は、コントローラが機能モードにあるかまたはＪＴＡＧテストモードにあるかに応じて、スレーブポートまたはＪＴＡＧポートに対応する。
【００３９】
一実施形態によれば、マスタコントローラ２１０は外部テスト・イネーブル（ＴＥ）ピン２３６にも結合され、これは、マスタコントローラ２１０およびスレーブコントローラ２１２を機能モードまたはＪＴＡＧテストモードのいずれかにおいて構成するために使用される。一実施形態において、ＴＥピン２３６上で信号がアサートされない場合、マスタコントローラ２１０およびスレーブコントローラ２１２は機能モードにあり、二重目的ピン２３４は外部スレーブポート（例えば、ＳＰＩまたはＩ２Ｃインタフェース）に対応する。逆に、ＴＥピン２３６上で信号がアサートされ、その信号がマスタコントローラ２１０からスレーブコントローラ２１２へ伝達される場合、マスタコントローラ２１０およびスレーブコントローラ２１２の両方はＪＴＡＧテストモードにあり、二重目的ピン２３４は外部ＪＴＡＧポートに対応する。より具体的には、ＪＴＡＧテストモードにおいて、ピン２３４はＴＤＩ（テスト・データ・イン）、ＴＭＳ（テストモード状態）、ＴＣＫ（クロック）、およびＴＤＯ（テスト・データ・アウト）ピンに対応する。ＪＴＡＧピンはＴＲＳＴ（テスト・リセット）ピン（図示せず）も含むことができる。
【００４０】
一度ＪＴＡＧテストモードになると、マスタコントローラ２１０またはスレーブコントローラ２１２のいずれかは、ＢＹＰＡＳＳ命令をマスタコントローラ２１０またはスレーブコントローラ２１２のいずれかのＴＡＰコントローラ命令レジスタ（図示せず）にクロッキングすることによって、「ＴＤＩ−ＴＤＯバイパスモード」において構成されることができる。ＴＤＩ−ＴＤＯバイパスモードにおいて、ＴＤＩ相互接続上でクロッキングされるデータは、ＴＤＩ−ＴＤＯバイパスレジスタを通じてＴＤＯ相互接続へ通過する。マスタコントローラ２１０上でＪＴＡＧテストを実行するために、スレーブコントローラ２１２はさまざまな時点においてＴＤＩ−ＴＤＯバイパスモードにおいて構成されることができ、ただし、ＴＤＩ−ＴＤＯバイパスモードにおける構成はすべてのＪＴＡＧテストに対して必要とされるものではない。同様に、スレーブコントローラ２１２上でＪＴＡＧテストを実行するために、マスタコントローラ２１０はさまざまな時点においてＴＤＩ−ＴＤＯバイパスモードにおいて構成されることができる。マスタコントローラ２１０がＴＤＩ−ＴＤＯバイパスモードにある場合、マスタコントローラ２１０は外部ＴＤＩ、ＴＭＳ、ＴＣＫ、およびＴＥピン２３４，２３６上に存在する信号を、スレーブコントローラ２１２の対応するＪＴＡＧ相互接続まで通過させ、スレーブコントローラのＴＤＯ相互接続上に存在する信号を外部ＴＤＯピン２３４まで通過させる。
【００４１】
図示されていないが、システム２００は、追加の周辺機器、メモリなども含むことができる。加えて、システム２００は、本発明の主題の実施形態が組み込まれることができるシステムの単なる一例を表すことは理解されたい。他の実施形態においては、システムは３つ以上のコントローラ、コントローラ以外のＩＣを含んでもよく、かつ／またはコントローラもしくはＩＣの各々は異なる種類のトランスデューサ、ポートもしくは他の回路とインタフェースしてもよい。一実施形態による、ＪＴＡＧテスト能力を有するＩＣのより一般的な説明がここで与えられる。
【００４２】
より具体的には、図３は、例示の実施形態による、統合テスト回路３００を含むＩＣ（例えば、コントローラまたは他のＩＣ）の簡略化されたブロック図を示す。テスト回路３００に加えて、ＩＣは、マスタポート３１０（例えば、ＳＰＩまたはＩ２Ｃポート）、スレーブポート３１２（例えば、ＳＰＩまたはＩ２Ｃポート）、および中央処理装置（ＣＰＵ）３１４も含む。他の実施形態においては、本明細書に記載されるもののようなテスト回路は、ＦＰＧＡ（フィールド・プログラマブル・ゲート・アレイ）、ＡＳＩＣ（特定用途向け集積回路）、および他の種類のＩＣをテストするのに使用されてもよい。図示されていないが、ＩＣは、ＣＰＵ３１４とインタフェースする複数の信号（Ｉ／Ｏ）相互接続、１つまたは複数の電源相互接続、および１つまたは複数の接地相互接続も含む。加えて、ＩＣは、テスト回路３００を使用して実行される動作によって影響を受け得る状態を有する他のハードウェア、および、テストパターンをＣＰＵ３１４または他のハードウェアに供給するのに使用されることができる１つまたは複数のスキャンチェーン（図示せず）を含んでもよい。
【００４３】
テスト回路３００はＪＴＡＧポートを通じてアクセスされ、これは、複数のＪＴＡＧ相互接続を含む。ＪＴＡＧ相互接続は、ＴＤＩ相互接続３４０と、ＴＭＳ相互接続３４１と、ＴＣＫ相互接続３４２と、ＴＤＯ相互接続３４３とを含む。ＪＴＡＧ相互接続はＴＲＳＴ（テスト・リセット）相互接続（図示せず）も含むことができる。下記により詳細に説明されるように、ＪＴＡＧ相互接続３４０〜３４３は二重目的であり、すなわち、それらはＩＣが機能モードにおいて構成される場合スレーブポート３１２に対する相互接続としても機能することができる。しかしながら、簡便にするために、図３は相互接続３４０〜３４３（および対応する相互接続３５０〜３５３、後述）を、それらのＪＴＡＧ指定によって指定する。
【００４４】
ＩＣのテスト回路３００は、複数のシフトレジスタ、ＴＡＰコントローラ３２０、テストサブシステム（ＳＳ）３２２、マルチプレクサ３２４，３２５，３２６，３２７，３２８、およびさまざまな他のロジックを含み、それらの機能は下記により詳細に説明される。シフトレジスタは例えば、命令レジスタ（ＩＲ）３３０および複数のテスト・データ・レジスタ（ＴＤＲ）３３２を含むことができる。
【００４５】
ＩＲ３３０は、ＴＤＩ相互接続３４０からマルチプレクサ３２４およびＴＡＰコントローラ３２０を介して信号を受け取る。ＩＲ３３０はシフトレジスタであり、これは、ＴＡＰコントローラ３２０による実行のために現在の命令を保持することができる。基本的に、ＩＲ３３０の内容は、ＴＡＰコントローラ３２０が、ＴＤＩ相互接続３４０を介して受け取る信号をどのように処理するかを決定するために使用される。多くの事例において、ＩＲ３３０は、ＴＤＩ相互接続３４０からの入力信号をいずれのＴＤＲ３３２に渡すべきかを定義する命令を含む。ＩＲ３３０は例えば、４〜７ビット幅の間であることができる。ただし、ＩＲ３３０はさまざまな実施形態においてより狭いかまたはより広くてもよい。
【００４６】
ＴＤＲ３３２は、（介在するマルチプレクサ３２４およびＴＡＰコントローラ３２０によって）ＴＤＩ相互接続３４０と、（介在するマルチプレクサ３２６を用いて）ＴＤＯ相互接続３４３との間に並列接続され、それによって、ＴＡＰコントローラ３２０が適切な状態にある（例えば、Ｓｈｉｆｔ＿ＤＲ状態にある）ときに、ＴＣＫ相互接続３４２上のクロック信号の各立ち上がりエッジの後に選択されたＴＤＲ３３２がデータをＴＤＯ相互接続３４３に向かって１段階シフトさせることになる。ＴＤＲ３３２のサイズは固定であってもよいし、可変であってもよい。例えば、ＴＤＲ３３２のサイズは、とりわけ、現在ＩＲ３３０内にある命令（または値）の関数であってもよい。
【００４７】
ＴＤＲ３３２は、後述されるような、バウンダリ・スキャン・シフト・レジスタ（ＢＳＲ）（バウンダリ・スキャン・チェーンまたはＥＸＴＥＳＴレジスタとも称される）、ＴＤＩ−ＴＤＯバイパスレジスタ、オプションの識別レジスタ、および、ＩＣの機能に影響を与えるさまざまな他のレジスタを含むことができる。さまざまな実施形態において、実装される場合もあり、されない場合もあるＢＳＲは、ＩＣの周辺を取り巻く専用パス内に接続される複数のバウンダリ・スキャン・セルから成り、ＢＳＲは、データをＩＣのＩ／Ｏピンに、またＩ／Ｏピンから移動させるのに使用される。より詳細には、バウンダリ・スキャン・セルは、各信号相互接続（またはピン）と内部ロジックとの間に接続されることができる。ＢＳＲの内容は、ＢＳＤＬ（バウンダリスキャン記述言語）ファイルを使用して記述されることができる。ＩＣがＴＤＩ−ＴＤＯバイパスモードにある場合、ＴＤＩ−ＴＤＯバイパスレジスタ（例えば、シングル・ビット・レジスタ）は、データをＴＤＩ相互接続３４０からＴＤＯ相互接続３４３へ渡すのに使用される。識別レジスタ（例えば、３２ビットのＩＤＣＯＤＥレジスタ）は、ＩＣのための識別コードを記憶するのに使用されることができる。識別コードは例えば、製造者コード、製造者によって割り当てられる部品番号、および部品バージョンコード（または改訂番号）を含むフォーマットを有することができる。ＩＤＣＯＤＥレジスタ内の情報は、ＩＣが対応するＢＳＤＬファイルにリンクされることを可能にすることができる。同様に、ＪＴＡＧテストに関連付けられるさまざまな制御ビットがＴＤＲ３３２内で指定されることができる。例えば、一実施形態において実装される或るＴＤＲ制御ビットが、本明細書において「ＪＴＡＧ通過」制御ビットと称され、これは、ＩＣがＪＴＡＧ通過モードにあるか否かを制御する。ＩＣがＪＴＡＧ通過モードにない（例えば、ＪＴＡＧ通過制御ビットがセットされている）場合、ＩＣは、ＩＣのＴＤＯ相互接続において提供されるべきＴＤＯ信号を生成する。逆に、ＩＣがＪＴＡＧ通過モードにある（例えば、ＪＴＡＧ通過制御ビットがクリアされている）場合、ＩＣは下流のＩＣからＴＤＯ信号を受け取り、当該ＴＤＯ信号を下流のＩＣからＩＣのＴＤＯ相互接続に渡す。換言すれば、ＪＴＡＧ通過ビットの状態が、最上流のＩＣが外部ＴＤＯ相互接続３４３を駆動するか、または下流のＩＣが駆動するかを決定することができる。
【００４８】
タップコントローラ３２０はＩＲ３３０およびＴＤＲ３３２にアクセスすることができ、（例えば、ＩＥＥＥ標準１１４９．１において定義されるような）ＪＴＡＧステートマシーンを実装し、ここで、ＴＭＳ相互接続３４１上のクロッキング変更に基づいて状態遷移が起こる。例えば、ＪＴＡＧステートマシンは、（例えば、Ｓｈｉｆｔ＿ＩＲ状態における）ＩＲ３３０への命令のシフトに関連付けられる１つの状態、および、（例えば、Ｓｈｉｆｔ＿ＤＲ状態における）ＴＤＲ３３２を通じてのデータのシフトに関連付けられる別の状態を有することになる。命令がＩＲ３３０にシフトされると、ＴＡＰコントローラ３２０は、その命令を実行することができる。より詳細に後述されるように、さまざまな命令オペコードがＴＡＰコントローラ３２０のために定義され、オペコードの命令への事前定義のマッピングに従って、ＩＲ３３０にシフトされるオペコードを復合する命令復号ロジック（図示せず）を含む。より詳細に後述されるように、ＴＡＰコントローラ３２０の復号ロジックは、システムの他のＴＡＰコントローラの復号ロジックとは異なる様式で、オペコードを命令にマッピングする。ＴＡＰコントローラ３２０は、テストサブシステム３２２ともインタフェースすることができ、当該サブシステムは、さまざまなテストモード（例えば、ＲＡＭ  ＢＩＳＴ（ビルトイン・セルフテスト）、スキャン（例えば、バッテリスキャン、内部スキャン）、専門アナログ・テスト・モードなど）に対する追加の制御を提供する。
【００４９】
すでに述べたように、ＩＣは機能モードまたはＪＴＡＧテストモードにおかれることができる。一実施形態によれば、テスト・イネーブル（ＴＥ）相互接続３４４上で提供される信号は、ＩＣが機能モードにあるかまたはＪＴＡＧテストモードにあるかを制御し、マルチプレクサ３２４〜３２６の動作にも影響を与える。より詳細には、信号がＴＥ相互接続３４４上でアサートされる場合、ＩＣはＪＴＡＧテストモードにあり、より詳細に後述されるように、マルチプレクサ３２４〜３２６の各々はＪＴＡＧテストに関連する信号を渡す。逆に、信号がＴＥ相互接続３４４上でアサートされない場合、ＩＣは機能モードにあり、マルチプレクサ３２４〜３２６の各々は機能モードに関連する信号を渡す。当業者であれば、代替の実施形態において、ＴＥ相互接続３４４上で信号がアサートされた場合にＩＣが機能モードにあってもよく、ＴＥ相互接続３４４上で信号がアサートされなかった場合にＪＴＡＧテストモードにあってもよいことを理解しよう。しかしながら、簡便にするために、下記説明は、信号がＴＥ相互接続３４４上でアサートされる場合にＩＣがＪＴＡＧテストモードにある実施形態に対応する。下記により詳細に説明されるように、マルチプレクサ３２６，３２７は、さまざまな時点においてＩＣをＪＴＡＧ通過モードにおくように制御可能である。ＪＴＡＧ通過モードにおいて、マルチプレクサ３２６，３２７は、下流のＩＣから（ＴＤＯ−Ｒ（ＴＤＯ逆）相互接続３５３を介して）受け取るＴＤＯ信号をＩＣのＴＤＯ相互接続３４３に向けて通過させるように構成される。従って、マルチプレクサ３２６，３２７は本明細書において「ＴＤＯマルチプレクサ」と称される場合がある。ＴＤＯマルチプレクサ３２６の動作は、上記のように主にＴＥ相互接続３４４上で提供される信号によって制御され、ＴＤＯマルチプレクサ３２７の動作は、ＴＥ−Ｆ相互接続３５４上で提供されるテスト・イネーブル転送（ＴＥ−Ｆ）信号の状態によって制御される。すでに述べたように、かつより詳細に後述されるように、一実施形態において、ＴＥ−Ｆ信号の状態は、ＴＤＲ３３２内のＪＴＡＧ通過制御ビットによって影響を受ける。
【００５０】
基本的に、マルチプレクサ３２４〜３２７は、相互接続３４０〜３４３，３５０〜３５３の二重目的機能を提供し、ＩＣを通じてのＪＴＡＧおよび他の信号の転送を促進する回路を備える。上記で述べたように、マルチプレクサ３２４〜３２７の動作は、ＴＥ相互接続３４４上に存在する信号、およびＴＤＲ３３２内のＪＴＡＧ通過制御ビットの状態によって影響を受ける。より具体的には、ＴＥ相互接続３４４上の信号が機能動作モードに対応し（例えば、信号がアサートされない）、ＪＴＡＧ通過制御ビットがセットまたはクリアされる場合、マルチプレクサ３２４〜３２６は、二重目的相互接続３４０〜３４３，３５０〜３５３を、ＣＰＵ３１４と接続されるシリアルポート（例えば、Ｉ２ＣまたはＳＰＩポート）に対する相互接続に対応させる。より具体的には、機能モードにおいて、マルチプレクサ３２４は、ＴＤＩ、ＴＭＳ、およびＴＣＫ相互接続３４０〜３４２からの信号をスレーブポート３１２に渡し、マルチプレクサ３２５は、マスタポート３１０からの信号をＴＤＩ−Ｆ（ＴＤＩ転送）、ＴＭＳ−Ｆ（ＴＭＳ転送）、およびＴＣＫ−Ｆ（ＴＣＫ転送）相互接続３５０，３５１，３５２に渡す。すでに述べたように、マスタポート３１０はＳＰＩポートであり得る。このような実施形態では、機能モードにおいて、マルチプレクサ３２７はマスタポート３１０からの（例えば、ＳＰＩ  ＭＩＳＯ（マスタ入力／スレーブ出力）信号に対応する）信号をＴＤＯ−Ｒ相互接続３５３に渡すことができる。同様に、スレーブポート３１２がＳＰＩポートである場合、マルチプレクサ３２６はスレーブポート３１２からの（例えば、ＳＰＩ  ＭＩＳＯ信号に対応する）信号をＴＤＯ相互接続３４３に渡すことができる。
【００５１】
逆に、ＪＴＡＧテストモードにおいて（例えば、ＴＥ相互接続３４４上で信号がアサートされる場合）、マルチプレクサ３２４〜３２６は、二重目的相互接続３４０〜３４３，３５０〜３５２を、ＪＴＡＧ相互接続と対応させる。より具体的には、マルチプレクサ３２４はＴＤＩ相互接続３４０からの信号を、ＴＡＰコントローラ３２０に渡し、当該ＴＡＰコントローラは、信号を（ＴＡＰコントローラ３２０の状態に応じて）ＩＲ３３０またはＴＤＲ３３２のいずれかにシフトさせ、マルチプレクサ３２４はさらにＴＭＳおよびＴＣＫ相互接続３４１，３４２からの信号を、タップコントローラ３２０に渡す。加えて、マルチプレクサ３２５は、ＴＤＩ、ＴＭＳ、およびＴＣＫ相互接続３４０〜３４２からの信号を、ＴＤＩ−Ｆ、ＴＭＳ−Ｆ、およびＴＣＫ−Ｆ相互接続３５０〜３５２に渡す。ＪＴＡＧ通過制御ビットがリセット／クリアされ、ＴＥ−Ｆ信号がアサートされる（すなわち、ＩＣがＪＴＡＧ通過モードにある）場合、ＴＤＯ−Ｒ相互接続３５３上に存在する信号は、マルチプレクサ３２７を介してマルチプレクサ３２６まで通過させられ、マルチプレクサ３２６は、マルチプレクサ３２７からの信号をＴＤＯ相互接続３４３まで通過させる。そうではない場合、ＩＣはＪＴＡＧ通過モードになく（例えば、ＪＴＡＧ通過制御ビットがセットされる）、マルチプレクサ３２６は、ＴＤＲ３３２のうちの１つからのデータをＴＤＯ相互接続３４３に渡す。ＪＴＡＧ通過モードにおいて、ＴＤＩ／ＴＭＳ／ＴＣＫインタフェース３４０〜３４２とＴＤＩ−Ｆ／ＴＭＳ−Ｆ／ＴＣＫ−Ｆインタフェース３５０〜３５２との間で転送されている信号はクロッキングされていない。同様に、ＴＤＯ−Ｒインタフェース３５３とＴＤＯインタフェース３４３との間で転送されている信号もクロッキングされていない。
【００５２】
一実施形態において、ＴＥ信号は、ＡＮＤロジック３６０およびＴＥ−Ｆ（テスト・イネーブル転送）相互接続３５４を介して下流のデバイス（例えば、下流のＩＣ）に渡されることができる。より詳細には、ＡＮＤロジック３６０はＴＥ相互接続３４４上に存在する信号およびＴＥ通過イネーブル信号の両方を受け取る。ＴＥ信号およびＴＤＲ３３２内のＪＴＡＧ通過制御ビットの状態に基づいて生成されることができるＴＥ通過イネーブル信号は、ＩＣが、ＴＥ信号が下流のデバイスまで通過することを許可またはブロックしているか否かを示す。ＴＥ相互接続３４４上で信号がアサートされ、かつＴＥ通過イネーブル信号がアサートされる（例えば、ＴＤＲ３３２内の指定されるビットがリセット／クリアされ、ＩＣがＪＴＡＧ通過モードにある）場合、ＡＮＤロジック３６０はＴＥ−Ｆ相互接続３５４上でＴＥ−Ｆ信号をアサートする。ＴＥ−Ｆ相互接続３５４は、次いで、下流のＩＣ（図示せず）のＴＥ相互接続と結合されることができる。
【００５３】
ＴＥ−Ｆ相互接続３５４と同様に、かつ図４とともにより詳細に説明されるように、ＴＤＩ−Ｆ、ＴＭＳ−Ｆ、およびＴＣＫ−Ｆ相互接続３５０〜３５２は、下流のＩＣの対応するＴＤＩ、ＴＭＳ、およびＴＣＫ相互接続に結合されることができる。加えて、ＴＤＯ−Ｒ相互接続３５３は、下流のＩＣの対応するＴＤＯ相互接続に結合されることができる。上記で述べたように、ＴＤＯマルチプレクサ３２７の動作はＴＥ−Ｆ信号の状態によって制御される。従って、一実施形態において、ＴＤＯマルチプレクサ３２７の動作は、ＪＴＡＧ通過制御ビットの状態および対応するＴＥ通過イネーブル信号によって影響を受ける。ＴＥ−Ｆ信号がアサートされる場合、ＴＤＯマルチプレクサ３２７は、ＴＤＯ−Ｒ相互接続３５３上に存在する信号を、ＴＤＯマルチプレクサ３２６まで通過させる（当該ＴＤＯマルチプレクサは、次いで、信号をＴＤＯ相互接続３４３まで通過させることができる）。
【００５４】
一実施形態によれば、テスト回路３００は、ＩＣおよび任意の下流のＩＣの協調リセットをサポートする回路も含む。下記の記載は、システムがアクティブ・ロー・リセットをサポートしていることを想定しており、ただし、システムは代替的にアクティブ・ハイ・リセットをサポートしてもよいことを当業者であれば理解しよう。一実施形態によれば、リセット回路は、ＴＥ相互接続３４４上で信号がアサートされる場合、リセットは外部リセット信号（例えば、外部テスト機器または上流のＩＣからの、ＲＥＳＥＴＢ相互接続３６４上に存在するリセット信号）によって制御され、他のシステムリセット（例えば、パワー・オン・リセットまたはＣＰＵ３１４からのリセット）は無関係であるように構成される。
【００５５】
一実施形態において、リセット回路はＡＮＤロジック３５９、ＯＲロジック３６１、およびＡＮＤロジック３６２を含む。ＡＮＤロジック３５９、ＯＲロジック３６１、およびＡＮＤロジック３６２は、リセット条件に関連するさまざまな信号を受け取る。ＡＮＤロジック３５９に入力される信号は例えば、ＰＯＲ＿Ｂ（ローでアサートされるパワー・オン・リセット）信号、ＣＰＵ３１４からの（ローでアサートされる）リセット信号を含むことができる。ＡＮＤロジック３５９に入力される両方の信号がハイである場合、ＡＮＤロジック３５９の出力はハイであり、信号のいずれかがローである場合、ＡＮＤロジック３５９の出力はローである。ＰＯＲ＿Ｂ信号はデバイスが電源投入されている間はローであり、それ以外ではハイであり得、ＣＰＵリセット信号はＣＰＵ３１４が下流のＩＣをリセットしようとしている場合はローであり得る。ＯＲロジック３６１に入力される信号は、ＡＮＤロジック３５９からの出力信号および（例えば、ＴＥ相互接続３４４からの）ＴＥ信号を含む。ＯＲロジック３６１に入力されるいずれかの信号がハイである場合、ＯＲロジック３６１の出力はハイであり、すべての信号がローである場合、ＯＲロジック３６１の出力はローである。ＴＥ信号は機能モードにおいてはローであり、それゆえ、機能モードにおけるリセットは、ＲＥＳＥＴＢ相互接続３６４上に存在する外部リセット信号に加えてＰＯＲ＿ＢおよびＣＰＵリセット信号によって左右される。逆に、ＪＴＡＧテストモードにおいてはＴＥ信号はハイであり、それゆえ、ＩＣがＪＴＡＧテストモードにあるときはＯＲロジック３６１の出力は常にハイである。換言すれば、ＴＥ信号がハイである場合、外部リセット３６４のみがＩＮＴ＿ＲＥＳＥＴＢおよびＲＥＳＥＴＢ＿Ｆをアサートすることができる。
【００５６】
ＯＲロジック３６１からの出力はＡＮＤロジック３６２に提供され、当該ＡＮＤロジックは外部リセット相互接続３６４からの信号も受け取る。ＯＲロジック３６１からの信号がローであるか、または外部リセット相互接続３６４からの信号がローである場合、ＡＮＤロジック３６２は内部リセット（ＩＮＴ＿ＲＥＳＥＴＢ）およびＲＥＳＥＴＢ−Ｆ（リセット転送）相互接続３６６上の信号をアサートする。代替的に、ＯＲロジック３６１からの信号および外部リセット相互接続３６４からの信号の両方がハイである場合、ＡＮＤロジック３６２はＲＥＳＥＴＢ−Ｆ相互接続３６６上の信号をアサートしない。上記の記載が示すように、ＪＴＡＧテストモードにおいて（すなわち、ＯＲロジック３６１からの出力がハイである場合）、ＲＥＳＥＴＢ−Ｆ相互接続３６６上の信号状態は、外部リセット相互接続３６４上の信号によって左右される。ＲＥＳＥＴＢ−Ｆ相互接続３６６は、下流のＩＣの対応するリセット相互接続に結合されることができる。このようにして、リセット信号はＩＣによって下流のＩＣに提供されることができる。
【００５７】
さまざまな実施形態において、ＩＣが機能モードにある場合、システムクロック（ＣＬＫ）は、オンチップ発振器（ＯＳＣ）３７０、オンチップ位相ロックループ、オンチップデジタル位相ロックループ、他のオンチップクロック源、または外部（オフチップ）クロック源によって提供されることができる。逆に、ＩＣがＪＴＡＧテストモードにある場合、システムクロックはＥＸＴＣＬＫ（外部クロック）相互接続３７４を介して外部クロック源（例えば、外部テスト機器によって生成されるクロック）によって提供される。一実施形態によれば、ＩＣはマルチプレクサ３２８も含み、当該マルチプレクサはＴＥ相互接続３４４上でアサートされる信号に基づいてシステムクロックを選択的に供給し、クロック信号をＣＬＫ−Ｆ（クロック転送）相互接続３７６に渡す。ＴＥ相互接続３４４上で信号がアサートされない（例えば、ＩＣが機能モードにある）場合、マルチプレクサ３２８はシステムクロックとしてＯＳＣ３７０（または別のクロック源）からのクロック信号を使用し、そのクロック信号をＣＬＫ−Ｆ相互接続３７６に渡す。逆に、ＴＥ相互接続３４４上で信号がアサートされる（例えば、ＩＣがＪＴＡＧテストモードにある）場合、マルチプレクサ３２８はシステムクロックとしてＥＸＴＣＬＫ相互接続３７４上で提供されるクロック信号を使用し、そのクロック信号をＣＬＫ−Ｆ相互接続３７６に渡す。ＣＬＫ−Ｆ相互接続３７６は、下流のＩＣの対応するＥＸＴＣＬＫ相互接続に結合されることができる。このようにして、クロック信号はＩＣによって下流のＩＣに提供されることができる。
【００５８】
上記で述べたように、機能モードおよびＪＴＡＧテストモードに関連付けられるさまざまな信号が複数のＩＣ間で渡されることを可能にするように、複数のＩＣがともに結合されることができる。図４は、例示の実施形態による、統合テスト回路を有するマルチＩＣシステム４００（例えば、システム・イン・パッケージ（ＳｉＰ））の簡略化されたブロック図を示す。より詳細には、マルチＩＣシステム４００は３つのＩＣ４０２，４０３，４０４を含むように示されている。システム４００は３つのＩＣ４０２〜４０４および関連テスト回路４１２〜４１４を含むように示されているが、実施形態は、２つのみのＩＣおよびテスト回路を含むシステム、または４つ以上のＩＣおよびテスト回路を含むシステムにおいて実装されてもよい。加えて、ＩＣ４０２〜４０４の各々は図３のＩＣとともに示されたもののような構成を有することができるが、ＩＣ４０２〜４０４は簡略化された形式で示されている（例えば、簡潔かつ明瞭にするために、図３のＣＰＵ、リセット回路、クロック回路、およびさまざまな他の回路は図４においては図示されていない）。
【００５９】
システム４００は二重目的ピン４４０，４４１，４４２，４４３を通じて外部回路（例えば、他のシステム回路または外部テスト機器）と通信することができ、ＩＣ４０２〜４０４の各々は、対応する相互接続を介して二重目的ピン４４０〜４４３と、または互いにインタフェースすることができる。ピン４４０〜４４３および相互接続はすでに記載されたように、それらが、ＩＣ４０２〜４０４がＪＴＡＧテストモードにある場合はＪＴＡＧピン／相互接続として、および、代替的にＩＣ４０２〜４０４が機能モードにおいて構成される場合はＩＣ４０２〜４０４のスレーブポート４１２〜４１４との接続を提供するピン／相互接続としての両方で機能することができるという点で、二重目的である。加えて、システム４００はＴＥピン４４４を含み、これは、ＩＣ４０２上のＴＥ相互接続（図示せず）と接続する。図３とともにすでに説明されたように、ＴＥピン４４４上でアサートされるＴＥ信号は、ＩＣ４０２によって、ＡＮＤロジック４６０を使用して下流のＩＣ４０３のＴＥ相互接続（図示せず）に渡されることができ、ＴＥ信号は、ＩＣ４０３によって、ＡＮＤロジック４６１を使用して下流のＩＣ４０４のＴＥ相互接続４４５にも渡されることができる。
【００６０】
ＩＣ４０２〜４０４は直列に接続され（例えば、ともにデイジーチェーン接続され）、それによって、各ＩＣは他のＩＣから下流または上流となる。本明細書において使用される場合、直列構成にある２つのＩＣ間の関係に関連する「上流のＩＣ」という用語は、それが接続されている他のＩＣよりも外部ピン（例えば、ピン４４０〜４４３）により近く結合されている直列対のＩＣを意味する。同様に、「下流のＩＣ」という用語は、それが接続されている他のＩＣよりも外部ＪＴＡＧピンにより近くに結合されていない直列対のＩＣを意味する。従って、図４において、ＩＣ４０２はＩＣ４０３および４０４の上流にあり、ＩＣ４０３はＩＣ４０２の下流にあるとともにＩＣ４０４の上流にあり、ＩＣ４０４はＩＣ４０２および４０３の下流にある。
【００６１】
ＩＣ４０２〜４０４の各々はテスト回路４０５，４０６，４０７およびスレーブポート４１２，４１３，４１４（例えば、ＳＰＩまたはＩ２Ｃポート）を含む。ＩＣ４０２および４０３の各々は、マスタポート４１５、４１６（例えば、ＳＰＩまたはＩ２Ｃポート）も含む。ＩＣ４０４は最下流のＩＣであるため、ＩＣ４０４は任意選択的にマスタポート４１７（およびマルチプレクサ４２９，４３２）を含んでもよいが、これは必須ではない。簡潔にするために図示されていないが、ＩＣ４０２〜４０４の各々は、マスタおよびスレーブポート４１２〜４１７間に結合されるＣＰＵ（または他の回路）、ＣＰＵ（または他の回路）とインタフェースする信号（Ｉ／Ｏ）相互接続、１つまたは複数のスキャンチェーン、１つまたは複数の電力相互接続、１つまたは複数の接地相互接続なども含んでもよい。
【００６２】
ＩＣ４０２が機能モードにある（例えば、ＴＥ信号がアサートされない）場合、二重目的ピン４４０〜４４２上に存在する信号はＩＣ４０２の二重目的相互接続（図示せず）およびマルチプレクサ４２４を介してスレーブポート４１２に提供され、これらの信号はＩＣ４０２のＣＰＵ（または他の回路）によって作用されることができる。加えて、ＩＣ４０２のＣＰＵ（または他の回路）は、マスタポート４１５、マルチプレクサ４２７、およびＩＣ４０２，４０３間のさまざまな相互接続を介して下流のＩＣ４０３のマルチプレクサ４２５およびスレーブポート４１３に信号を提供することができる。同様に、ＩＣ４０３のＣＰＵ（または他の回路）は、マスタポート４１６、マルチプレクサ４２８、およびＩＣ４０３，４０４間のさまざまな相互接続を介してさらに下流のＩＣ４０４のマルチプレクサ４２６およびスレーブポート４１４に信号を提供することができる。従って、システム４００のさまざまなＩＣ４０２〜４０４はマスタ−スレーブ構成において動作することができ、ここで、ＩＣ４０２はＩＣＦ４０３のマスタであることができ、ＩＣ４０３はＩＣ４０４のマスタであることができる。
【００６３】
図３のＩＣと同様に、テスト回路４０５〜４０７はＪＴＡＧポートを通じてアクセスされ、その各々がすでに説明されたような、複数のＪＴＡＧ相互接続（例えば、ＴＤＩ、ＴＭＳ、ＴＣＫ、およびＴＤＯ相互接続）を含む。最上流のＩＣ（例えば、ＩＣ４０２）のＪＴＡＧ相互接続は二重目的ピン４４０〜４４３に結合される。より詳細には、二重目的ピン４４０〜４４３は、ＴＤＩピン４４０、ＴＭＳピン４４１、ＴＣＫピン４４２、およびＴＤＯピン４４３を含み、これらは上述のように、ＩＣ４０２〜４０４が機能モードにある場合はシリアル・ポート・ピンの役割も担う。二重目的ピン４４０〜４４３および対応する相互接続は、ＴＲＳＴピンおよび相互接続（図示せず）も含む。
【００６４】
各テスト回路４０５〜４０７は、図３とともにすでに説明されたように、複数のシフトレジスタ、ＴＡＰコントローラ４２０，４２１，４２２、テストサブシステム（図示せず）、マルチプレクサ４２４，４２５，４２６，４２７，４２８，４２９（任意選択）、４３０，４３１，４３２（任意選択）、４３３，４３４，４３５、およびさまざまな他のロジックを含む。加えて、システム４００は、ＩＣ４０２のＴＥ相互接続（図示せず）と接続されるＴＥピン４４４も含むことができ、各テスト回路４０５〜４０７は、ＴＥピン上に存在する信号が、下流のＩＣに渡されてマルチプレクサ４２４〜４３５の機能を制御することを可能にする回路を含むことができる。すでに説明されたように、ＴＥ信号がＴＥピン上でアサートされ、かつＴＡＰコントローラ４２０、４２１が他の様態でＴＥ信号の下流のＩＣへの伝搬を妨げていない場合、ＩＣ４０２〜４０４の各々はＴＥ信号を受け取る。
【００６５】
ＴＥ信号がアサートされる（例えば、ＩＣ４０２〜４０４がＪＴＡＧテストモードにある）場合、マルチプレクサ４２４〜４２６は、それらのＪＴＡＧインタフェースに存在する入力ＪＴＡＧ信号（すなわち、ＴＤＩ、ＴＭＳ、ＴＣＫ）を、ＴＡＰコントローラ４２０〜４２２およびそれらの関連データおよび命令レジスタに渡し、マルチプレクサ４２７，４２８は入力ＪＴＡＧ信号を対応する下流のＩＣに渡す。例えば、ＩＣ４０２のマルチプレクサ４２７は、入力ＪＴＡＧ信号（すなわち、二重目的ピン４４０〜４４２およびＩＣ４０２の二重目的相互接続を介して受け取られる信号）をＩＣ４０３に渡し、ＩＣ４０３のマルチプレクサ４２８は、入力ＪＴＡＧ信号（すなわち、ＩＣ４０２，４０３の二重目的相互接続を介して受け取られる信号）をＩＣ４０４に渡す。従って、ＪＴＡＧテストモードにおいて、各ＩＣ４０２〜４０４は同じＪＴＡＧ信号を受け取る。
【００６６】
一度にただ１つのＩＣ４０２〜４０４のＴＡＰコントローラ４２０〜４２２が、ＴＤＯピン４４３上で出力されるべき信号を生成し、テスト回路４０５〜４０７は、ＴＤＯピン４４３上に存在する信号が、単一のＴＡＰコントローラ４２０〜４２２によって生成される信号に対応するように構成される。特定のＴＡＰコントローラ４２０〜４２２から出力信号（すなわち、ＴＤＯ信号）を受け取るために、すべての上流のＩＣがリセット／クリアされてＪＴＡＧ通過モードになる。すでに述べたように、ＩＣをリセット／クリアしてＪＴＡＧ通過モードにするために、ＩＣのＴＥ相互接続上で信号がアサートされ、上流のＩＣのＴＤＲ内のＪＴＡＧ通過制御ビットがリセット／クリアされる。この構成において、すでに説明されたように、ＩＣは、そのＴＤＯ−Ｒ相互接続（例えば、図３のＴＤＯ−Ｒ相互接続３５３）上で受け取られる信号をそのＴＤＯ相互接続（例えば、図３のＴＤＯ相互接続３４３）に渡すことになる。例えば、ＩＣ４０４のＴＡＰコントローラ４２２から出力信号を受け取るために、ＩＣ４０２，４０３はＪＴＡＧ通過モードにおいて構成される。従って、マルチプレクサ４３５は、ＴＡＰコントローラ４２２から受け取られるテスト出力信号をＩＣ４０４のＴＤＯ相互接続（図示せず）に渡し、当該信号は、ＩＣ４０３のＴＤＯ−Ｒ相互接続（図示せず）およびマルチプレクサ４３１において受け取られる。そして、ＩＣ４０３のマルチプレクサ４３１および４３４は、（ＴＡＰコントローラ４２２からの）テスト出力信号をＩＣ４０３のＴＤＯ相互接続（図示せず）に渡し、当該信号は、ＩＣ４０２のＴＤＯ−Ｒ相互接続（図示せず）およびマルチプレクサ４３０において受け取られる。そして、ＩＣ４０２のマルチプレクサ４３０および４３３は、（ＴＡＰコントローラ４２２からの）テスト出力信号をＩＣ４０２のＴＤＯ相互接続（図示せず）に渡し、当該相互接続は、ＴＤＯピン４４３に接続されている。このようにして、ＩＣ４０２、４０３がＪＴＡＧ通過モードにある場合、ＩＣ４０４のＴＡＰコントローラ４２２からのテスト出力信号は、ＩＣ４０２，４０３を通じてシステム４００のＴＤＯピン４４３に渡されることができる。
【００６７】
同様に、ＩＣ４０３のＴＡＰコントローラ４２１から出力信号を受け取るために、ＩＣ４０２はＪＴＡＧ通過モードにおいて構成される。従って、マルチプレクサ４３４は、ＴＡＰコントローラ４２１から受け取られるテスト出力信号をＩＣ４０３のＴＤＯ相互接続（図示せず）に渡し、当該信号は、ＩＣ４０２のＴＤＯ−Ｒ相互接続（図示せず）およびマルチプレクサ４３０において受け取られる。次いで、ＩＣ４０２のマルチプレクサ４３０および４３３は、（ＴＡＰコントローラ４２１からの）テスト出力信号をＩＣ４０２のＴＤＯ相互接続（図示せず）に渡し、当該相互接続は、ＴＤＯピン４４３に接続されている。このようにして、ＩＣ４０２が適切に構成される場合、ＩＣ４０３のＴＡＰコントローラ４２１からのテスト出力信号は、ＩＣ４０２を通じてシステム４００のＴＤＯピン４４３に渡されることができる。
【００６８】
すでに述べたように、ＴＡＰコントローラに関連付けられる命令レジスタ（例えば、図３のＩＲ３３０）は現在の命令を保持する。ＩＲの内容およびテスト・データ・レジスタ（例えば、図３のＴＤＲ３３２）内のさまざまなビットの状態が、ＴＡＰコントローラが受信信号をどのように処理または転送するかに影響を与える。より具体的には、各ＴＡＰコントローラ４２０〜４２２は、オペコードの命令への事前定義のマッピングに従って、ＴＡＰコントローラのＩＲにシフトされるオペコードを復号する命令復号ロジック（図示せず）を含む。上記の記載が示すように、ＪＴＡＧ通過モードにおいて、各ＩＣ４０２〜４０４は同じＪＴＡＧ入力信号（すなわち、ＴＤＩ、ＴＭＳ、ＴＣＫ）を受け取る。従って、各ＩＣ４０２〜４０４は同一のオペコードにおいてその対応するＩＲにクロッキングする。複数のＩＣがＴＤＯピン４４３上で出力テストデータを生成しようとするシナリオを回避するために、一実施形態において、複数のＩＣおよびＴＡＰコントローラを含むシステム（例えば、システム４００）内の各ＴＡＰコントローラは、他のＴＡＰコントローラとは異なる事前定義のオペコード−命令マッピング（例えば、各ＴＡＰ内にハードコード化されるマッピング）に基づいて操作される。より具体的には、各ＴＡＰコントローラの復号ロジックは、オペコードのセットを、他のＴＡＰコントローラが同じオペコードのセットを復合するのとは異なる様式で復号する。換言すれば、第１のＴＡＰコントローラがオペコードを、第１のＴＡＰコントローラに第１の動作を実行させる第１の命令にマッピングするのに対して、第２のＴＡＰコントローラは同じオペコードを、第２のＴＡＰコントローラに第１の動作と異なる第２の動作を実行させる、第２の異なる命令にマッピングする。
【００６９】
マルチＩＣシステムの各ＩＣのための異なるオペコード−命令マッピングの実施態様をさらに説明するために図４のシステム４００を使用することになる。説明を容易にするために、図４のシステム４００はＩＣ４０２，４０３のみを含むものと想定し、ここでＩＣ４０２がマスタコントローラであり、ＩＣ４０３がスレーブコントローラである。一実施形態によれば、ＩＣ４０２のＴＡＰコントローラ復号ロジックは、第１の事前定義のオペコード−命令マッピングに基づいて動作することになり、ＩＣ４０３のＴＡＰコントローラ復号ロジックが第１のものと異なる第２の事前定義のオペコード−命令マッピングに基づいて動作することになる。一実施形態において、オペコード−命令マッピングは、ＴＡＰコントローラが異なる命令を同時に実行することができるように定義される。しかしながら、一度にただ１つのＩＣのＴＡＰコントローラが信号をＴＤＯ相互接続４４３上に駆動する命令を実行することができるという点で、オペコード−命令マッピングは両立できる。一実施形態において、オペコード−命令マッピングは、他の各ＴＡＰコントローラがＢＹＰＡＳＳ命令または何らかの他の命令（すなわち、ＢＹＰＡＳＳ命令以外の命令を含む「非ＢＹＰＡＳＳ」命令）のいずれかを実行するようなものである。
【００７０】
例えば、一実施形態において、オペコード−命令マッピングは、任意の所与のオペコードがシステムのただ１つのＩＣに対する非ＢＹＰＡＳＳ命令のみにマッピングし、同じオペコードがシステムのすべての他のＩＣに対するＢＹＰＡＳＳ命令にマッピングするように、事前定義されることができる。従って、マスタコントローラＩＣ４０２は事前定義のマッピングに基づいて動作し、当該マッピングにおいて第１のグループのオペコードは非ＢＹＰＡＳＳ命令に対応し、第２の相互排他的なグループのオペコードはＢＹＰＡＳＳ命令に対応する。加えて、スレーブコントローラＩＣ４０３は異なる事前定義のマッピングに基づいて動作し、当該マッピングにおいて、同じ第１のグループのオペコードがＢＹＰＡＳＳ命令に対応し、同じ第２のグループのオペコードのうちの少なくともいくらかは非ＢＹＰＡＳＳ命令に対応し得る（ただし、それらは非ＢＹＰＡＳＳ命令に対応する必要はなく、同様にＢＹＰＡＳＳ命令に対応し得る）。
【００７１】
下記の表１は、３つのＩＣおよび対応するＴＡＰコントローラ（例えば、図４のＴＡＰ４２０〜４２２）を含むシステムに対するＪＴＡＧ命令セットの一例である。オペコードから命令への具体的なマッピングが表１に列挙されているが、表１の命令セットとは異なる命令セットが定義されてもよく、かつ／またはさまざまな命令が異なるオペコードにマッピングされてもよいことは理解されたい。
【００７２】
【表１】
2013079941.tif 000003
表１が示すように、一実施形態において、１つのコントローラに対して非ＢＹＰＡＳＳ命令にマッピングするオペコードは、他のコントローラに対してはＢＹＰＡＳＳ命令にマッピングする。例えば、オペコード１，４，７，１０，１３，１６、および１９がコントローラ１に対して非ＢＹＰＡＳＳ命令にマッピングしている場合、これらのオペコードはコントローラ２および３に対してはＢＹＰＡＳＳ命令にマッピングする。同様に、オペコード２，５，８，１１，１４，１７、および２０がコントローラ２に対して非ＢＹＰＡＳＳ命令にマッピングしている場合、これらのオペコードはコントローラ１および３に対してはＢＹＰＡＳＳ命令にマッピングする、などである。従って、同じオペコードが各コントローラ（例えば、すべてのＩＣ４０２〜４０４）に同時にクロッキングされる場合があるけれども、ただ１つのＩＣ（例えば、そのテストデータ出力がＴＤＯピン４４３上で望まれるＩＣ）がオペコードを非ＢＹＰＡＳＳ命令にマッピングすることができる。例えば、表１を参照すると、オペコード１３がコントローラ１〜３にクロッキングされた後、オペコード１３がマッピングする命令（すなわち、ＩＤＣＯＤＥ命令）のコントローラ１による実行は、コントローラ１に、ＴＤＯ相互接続４４３上でＩＤＣＯＤＥレジスタからＴＡＰ識別子を送出させることになる。しかしながら、オペコード１３がマッピングする命令（すなわち、ＢＹＰＡＳＳ命令）のコントローラ２および３による実行は、コントローラ２および３にＢＹＰＡＳＳに入らせるかまたは留まらせ、コントローラ２および３はＴＤＯ相互接続４４３上でデータを送出しない。表１および上記の説明も示すように、異なる複数のオペコードが異なる複数のコントローラに同じ命令を実行させる。例えば、オペコード１，２、および３（すなわち、「異なる複数のオペコード」）が、コントローラ１，２、および３（すなわち、「異なる複数のコントローラ」）に、ＳＡＭＰＬＥ／ＰＲＥＬＯＡＤ命令（すなわち、「同じ命令」）を実行させる。ＴＤＲ制御ビットが（ＴＥ信号とともに）最上流のＩＣが外部ＴＤＯピン（例えば、図４のＴＤＯピン４４３）を駆動するか、または下流のＩＣが外部ＴＤＯピンを駆動するかを決定することを想起されたい。換言すれば、ＩＣ（例えば、図４のＩＣ４０２，４０３，４０４）内に存在するＴＡＰコントローラオペコード（例えば、上記表１のオペコード）はどのＩＣが外部ＴＤＯピンを駆動するかを決定しない。
【００７３】
一実施形態によれば、ＢＹＰＡＳＳ命令は実行されると、ＴＤＩ−ＴＤＯバイパスレジスタ（例えば、図３のＴＤＲ３３２のうちの１つ）を選択し、当該レジスタは、ＩＣをＴＤＩ−ＴＤＯバイパスモードにおくか、または当該モードに留める。ＳＡＭＰＬＥ命令は、実行されると、バウンダリ・スキャン・レジスタ（例えば、図３のＴＤＲ３３２のうちの１つ）を選択し、それによって、相互接続値がバウンダリ・スキャン・レジスタ内に読み出されることができ、ＰＲＥＬＯＡＤ命令は、実行されると、ＥＸＴＥＳＴの前に相互接続出力値を読み出す。表１とともに表されている実施形態において、ＳＡＭＰＬＥおよびＰＲＥＬＯＡＤ命令は組み合わされている（すなわち、ＳＡＭＰＬＥ／ＰＲＥＬＯＡＤ命令として）。ＥＸＴＥＳＴ命令は、実行されると、基板レベルの挙動を精査するための相互接続の使用のように、外部テストのために使用されることができる。ＥＸＴＥＳＴ命令は代替的に、コア上で動作してもよい（例えば、コアへのデータの書き込み）。ＩＮＴＥＳＴ命令は、実行されると、オンチップ挙動を精査するための相互接続の使用のように、内部テストのために使用されることができる。ＩＮＴＥＳＴ命令は代替的に、コア上で動作してもよい（例えば、コアからのデータの読み出し）。ＣＬＡＭＰ命令は、実行されると、事前ロードされている値を使用して出力相互接続を駆動する。ＩＤＣＯＤＥ命令は、実行されると、ＩＤＣＯＤＥレジスタ（例えば、図３のＴＤＲ３３２のうちの１つ）を選択し、それによって、ＴＡＰ識別子がＩＤＣＯＤＥレジスタから読み出されることができる。ＳＥＬＥＣＴ  ＴＤＲ（テスト・データ・レジスタ）命令は、実行されると、結果として、値が実質的にクロックインまたはクロックアウトされ得る、設計特有のテスト・データ・レジスタ（例えば、図３のＴＤＲ３３２のうちの１つ）が選択されることになる。ＴＤＲは、設計特有のテストサポート機構（例えば、セルフテスト、スキャンパスなど）に対するアクセスの提供のような、さまざまな目的に使用されることができる。
【００７４】
表１に列挙されている命令の他に、例えば、ＨＩＧＨＺ（すべての相互接続の出力を無効にする）、ＲＵＮＢＩＳＴ（ＩＣをセルフテストモードにおく）、ＳＣＡＮ＿Ｎ（他のバウンダリスキャン動作を適用する信号に影響を与えるスキャンパス選択レジスタを構成する）、ＵＳＥＲＣＯＤＥ（ユーザ定義のコードを返す）、他のＳＥＬＥＣＴ＿ＴＤＲ命令（例えば、追加のＴＤＲを選択する）、および他の製造者またはユーザ定義の命令を含む、他の命令も同じく、または代替的に定義されることができる。
【００７５】
図５は、例示の実施形態による、マルチＩＣシステム（例えば、図４のシステム４００）をテストするための方法のフローチャートを示す。本方法は、上記のように直列に相互接続される任意の数のＩＣを有するマルチＩＣシステムをテストするのに使用されることができる。本方法の説明を容易にするために、図４のさまざまな要素が参照される場合がある。しかしながら、本方法は、３つよりも少ないかまたは多いＩＣを含むシステムにおいて使用されてもよいことは理解されたい。任意の数のＩＣを有するシステムに適用するために図５のフローチャートを一般化する利益のために、列内のＩＣの数を示すためにフローチャートにおいて固定数Ｎが使用され、さまざまなステップを適用する列内の特定のＩＣを示すためにパラメータｎが使用される。ＩＣの数が分かっているシステムにおいては、パラメータｎのセッティングおよび更新に関連付けられるステップは本方法から除外されてもよく、代わりにフローチャートはより直線的に流れるように改変されることができることは理解されたい。図５に示される一連のステップに対するこれらのおよび他の改変は、本発明の主題の範囲内に含まれることが意図されている。
【００７６】
本方法は、列内のすべてのＩＣのＴＡＰコントローラ（例えば、図４のＴＡＰコントローラ４２０〜４２２）をリセットすることによって開始することができる。ＴＡＰがＴＲＳＴピンおよび対応する相互接続を含む場合、ＴＡＰコントローラは、ロジック０がＴＲＳＴピンに印加されると、リセット状態（例えば、ＩＥＥＥ標準１１４９．１において定義されているテスト−ロジック−リセット（Ｔｅｓｔ−Ｌｏｇｉｃ−Ｒｅｓｅｔ）コントローラ状態）に非同期的にリセットされることができる。そうではなく、ＴＲＳＴピン上の信号を使用してリセットが実行されない場合、リセットプロセスは基本的に、この時点において任意の状態にあり得る各ＴＡＰコントローラがリセット状態に遷移されることが確実になる回数だけ各ＴＡＰコントローラをクロッキングすることを含む。このような実施形態において、リセットは下記に記載されるブロック５０２〜５０８を含むことができる。より詳細には、リセットプロセスは例えば、ブロック５０２において、少なくとも列内の最上流のＩＣ（例えば、図４のＩＣ４０２）に提供される外部ＩＣリセット信号をアサートすることによって開始することができる。例えば、これは、外部テスト機器が、列内の最上流のＩＣのリセット相互接続（例えば、図３のＲＥＳＥＴＢ相互接続３６４）に信号を提供することを含むことができる。
【００７７】
ＴＲＳＴピンが利用可能でありリセットの実行に使用されるか否かにかかわらず実行されるブロック５０４において、テスト・イネーブル（ＴＥ）信号がアサートされる。一実施形態によれば、これは、外部テスト機器が列内の最上流のＩＣ（例えば、図４のＩＣ４０２）のＴＥ相互接続と結合される外部ＴＥピン（例えば、図４のＴＥピン４４４）に提供される信号（すなわち、ＴＥ信号）をアサートすることを含むことができる。すでに説明されたように、ＩＣのリセット回路は、ＴＥ相互接続（例えば、図３のＴＥ相互接続３４４）上で信号がアサートされる場合、リセットが外部リセット信号（例えば、図３のＲＥＳＥＴＢ相互接続３６４上のリセット信号）によって制御されるように構成される。従って、ＴＥ信号および外部リセット信号が正しい状態にある場合、ＩＣのリセット回路（例えば、図３のＯＲロジック３６１およびＡＮＤロジック３６２）は内部リセット（ＩＮＴ＿ＲＥＳＥＴＢ）信号を生成し、さらに、リセット信号を（例えば、ＲＥＳＥＴＢ−Ｆ相互接続３６６、およびＲＥＳＥＴＢ−Ｆ相互接続３６６と次の下流のＩＣのＲＥＳＥＴＢ相互接続３６４との間のＩＣ間導体を介して）次の下流のＩＣのＲＥＳＥＴＢ相互接続に伝達する。加えて、すでに説明されたように、ＴＥ信号のアサートは、（例えば、図３のマルチプレクサ３２４〜３２６を介して）ＴＥ信号を受け取る任意のＩＣの二重目的相互接続を、ＪＴＡＧ相互接続として構成する。従って、ＴＥ信号がＩＣのためにアサートされると、ＪＴＡＧ相互接続を介してＩＣのＴＡＰコントローラ（例えば、図３のＴＡＰコントローラ３２０）およびレジスタ（例えば、図３のＩＲ３３０およびＴＤＲ３３２）との通信が可能となる。ＴＥ信号のアサートおよびＩＣ内のＪＴＡＧ通過制御ビット（例えば、図３のＴＤＲ３３２内のビット）の状態は、さまざまな入力ＪＴＡＧ相互接続（例えば、図３のＴＤＩ相互接続３４０、ＴＭＳ相互接続３４１、ＴＣＫ相互接続３４２、およびＴＤＯ−Ｒ３５３）上に存在する信号の、対応する出力ＪＴＡＧ相互接続（例えば、図３のＴＤＩ−Ｆ相互接続３５０、ＴＭＳ−Ｆ相互接続３５１、ＴＣＫ−Ｆ相互接続３５２、およびＴＤＯ３４３）への転送も提供する。
【００７８】
最初、最上流のＩＣ（例えば、図４のＩＣ４０２）は、ＴＥ信号を次の下流のＩＣ（例えば、図４のＩＣ４０３）に伝達するように構成されなくてもよい。すでに述べたように、各上流のＩＣ（例えば、図４のＩＣ４０２、４０３）は、ＴＥ信号が下流のＩＣに対してブロックまたは伝達されることを可能にする回路（例えば、図３、４のＡＮＤロジック３６０、４６０、４６１）を含むことができる。すでに述べたように、ＴＥ信号を下流のＩＣに伝達するために、上流のＩＣはＴＥ通過イネーブル信号をアサートすることができる。ＴＥ通過イネーブル信号は、ＴＤＲ（例えば、図３のＴＤＲ３３２のうちの１つ）内の指定されるビットの状態に基づいて生成されることができ、それゆえ、ＴＥ通過信号をアサートするために、およびＴＥ信号を下流のＩＣに伝達するために、適切な値が上流のＩＣの指定されるビット（例えば、図３のＴＤＲ３３２のうちの１つの指定されるビット）にクロッキングされるべきである。
【００７９】
各ＩＣのＴＡＰコントローラをリセットするために、およびＴＥ信号を各下流のＩＣに伝達するために、ブロック５０６において、適切な信号が（例えば、外部テスト機器によって）外部ＴＡＰインタフェースに提供される。換言すれば、ＴＡＰインタフェースは、列内のすべてのＩＣのＴＡＰコントローラをリセットするために使用される。一実施形態によれば、これは、すべてのＩＣのＴＡＰコントローラにリセット状態（例えば、ＩＥＥＥ標準１１４９．１において定義されているテスト−ロジック−リセットコントローラ状態）に入らせるための、および、値を上流のＩＣの適切なＴＤＲビットにリセットしてＩＣにアサートされたＴＥ信号を下流のＩＣに伝達させるための回数だけＴＭＳピン（例えば、図４のピン４４１）をクロッキングすることを含むことができる。このプロセスは連続して、最上流のＩＣ（例えば、図４のＩＣ４０２）における開始に進む。換言すれば、最上流のＩＣのＴＡＰコントローラ（例えば、図４のＴＡＰコントローラ４２０）は、ＴＡＰコントローラをリセット状態においてセットするように、および、ＴＤＲビットを、ＴＥ通過イネーブル信号がアサートされる状態にリセットするようにクロッキングされる。この時点において、ＴＥ信号が次の下流のＩＣ（例えば、図４のＩＣ４０３）に提供され、そのＩＣのＴＡＰコントローラ（例えば、図４のＴＡＰコントローラ４２１）がリセットされることができ、そのＩＣ内のＴＥ通過イネーブル信号がリセットされてＴＥ信号が次の下流のＩＣ（例えば、図４のＩＣ４０４）に伝達されることができる。このプロセスは、列内のすべてのＩＣのＴＡＰコントローラがリセットされるまで繰り返される。
【００８０】
ブロック５０６においてＴＡＰコントローラリセットが完了すると、ブロック５０８において外部ＩＣリセットがディアサートされる。この時点において、すべての上流のＩＣ（例えば、図４のＩＣ４０２，４０３）は、テスト・イネーブル信号を次の下流のデバイスに（例えば、次の下流のデバイスのＴＥ相互接続３４４に接続される、図３のＴＥ−Ｆ相互接続３５４を介して）提供する構成にある。列内のすべてのＩＣはリセットされてアサートされたＴＥ信号を受け取っており、従って列内のすべてのＩＣはテスト動作モードにあり、それらの二重目的相互接続はそれらのそれぞれのＴＡＰコントローラとの通信を提供する。次に説明されることになるブロック５１０〜５２６は、（例えば、図４のＴＤＯピン４４３上の）出力テストデータを提供する特定のＩＣを選択するための、および、システム上でＪＴＡＧテストを実行するための方法の実施形態を示す。
【００８１】
ブロック５１０において、パラメータｎはＮの値に初期化され、これは列内のＩＣの数に等しい。上記で述べたように、値Ｎおよびｎは図５のフローチャートを、任意の数のＩＣを有するシステムに適用可能であるように一般化するために使用され、実際には値Ｎおよびｎは、実際のシステムにおいて方法を実施する際には使用されない場合がある。それにも関わらず、値Ｎおよびｎは本方法の実施形態の一般性および説明を促進するために使用される。下記で明確にされるように、パラメータｎの現在の値は、未だにテストモードにある（すなわち、そのＴＥ相互接続上でアサートされたテスト・イネーブル信号を受け取っている）最下流のデバイスに対応する。
【００８２】
リセット後、ブロック５１２によって示されるように、ＴＡＰインタフェースは列内のｎ個のＩＣにとって利用可能である。ブロック５１２を含むループの１回目の反復の間、ｎの値はＮに等しいため、ＴＡＰインタフェースは列内のすべてのＩＣにとって（例えば、図４のＩＣ４０１〜４０３にとって）利用可能である。
【００８３】
ブロック５１４において、列内のｎ個のＩＣ上で所望のＴＡＰトランザクションが実行される。ブロック５１４を含むループの最初の反復の間、列内のすべてのＩＣ上で所望のＴＡＰトランザクションが実行される。基本的に、各タップトランザクションは、命令オペコード（例えば、上記表１に列挙されているオペコード）の、各ＴＡＰコントローラに関連付けられる命令レジスタ（例えば、図３のＩＲ３３０）へのクロッキング、および、場合によっては（例えば、オペコードがＳＥＬＥＣＴ＿ＴＤＲ命令に対応する場合）、データのＴＤＲ（例えば、図３のＴＤＲ３３２のうちの１つ）へのクロッキングを含む。すでに詳細に述べたように、各ＴＡＰコントローラは、特定のオペコードがただ１つのＩＣに対する非ＢＹＰＡＳＳ命令にマッピングし、同じオペコードがすべての他のＩＣに対するＢＹＰＡＳＳ命令にマッピングする、異なるオペコード−命令マッピングによって左右され得る。従って、任意の所与の時点において、ただ１つのＩＣが外部ＴＤＯ相互接続を駆動しており、他のＩＣはブロックされて外部ＴＤＯ相互接続を駆動することができない。
【００８４】
本方法の前または後に実行されてもよいブロック５１６において、（例えば、図４のＴＥピン４４４において提供される）ＴＥ信号がディアサートされているか否かの判定を行うことができる。そうである場合、ＪＴＡＧテストは完了しており（または終了しており）、ブロック５２８において、所望の場合にはシリアルポート（例えば、Ｉ２ＣポートもしくはＳＰＩポート）または任意の他のインタフェースとともに使用されるために二重目的相互接続が再び利用可能となる。
【００８５】
一実施形態によれば、ＪＴＡＧテストが継続している（例えば、すべてのＩＣに対してＴＥ信号がアサートされたままである）間、所望の場合、列のＩＣは、最下流のＩＣ（例えば、図４のＩＣ４０４）から開始して上流へと動作して、順次ＪＴＡＧテストモードを中止されることができる。基本的に、下流のＩＣのＪＴＡＧテストモードを中止することは、そのＩＣに対するＴＥ信号の提供を中断することによって達成されることができる。ブロック５１８〜５２６は、ＩＣがこのようにしてＪＴＡＧテストモードを中止されることができる実施形態に対応し、またはブロック５１８および５２０の場合は、１つまたは複数の下流のＩＣがＪＴＡＧテストモードを中止された場合にはＴＡＰコントローラは、ＪＴＡＧインタフェースをすべてのＴＡＰコントローラに対して再び利用可能とするためにリセットされることができる。
【００８６】
再びブロック５１６を参照して、ＴＥ信号がディアサートされていない場合、ブロック５１８においてＴＡＰリセットが起こったか否かがさらに判定されることができ、これは他の実施形態においては本方法の前または後に実行されてもよい。ＴＡＰリセットは、例えば、各ＴＡＰコントローラがリセット状態（例えば、ＩＥＥＥ標準１１４９．１において定義されているテスト−ロジック−リセットコントローラ状態）に遷移し戻るだけの回数分（例えば、最大５×Ｎ回）ＴＭＳピン（例えば、図４のＴＭＳピン４４１）上の信号をローでクロッキングすることによって、外部テスト機器によって実施されることができる。ＴＡＰリセットが起こると、パラメータｎは列内のＩＣの数Ｎにリセットされ、図示されるように方法は反復する。ＴＲＳＴピンが提供される代替の実施形態において、ロジック０がＴＲＳＴピンに印加されると、ＴＡＰコントローラはリセット状態に非同期的にリセットされることができる。いずれにせよ、ＴＡＰリセットが起こると、ブロック５１２においてすべてのＩＣに対してＴＡＰインタフェースが利用可能となり、図示されるように方法は反復する。
【００８７】
ＴＡＰリセットが起こらなかった場合、ブロック５２２において、列内の最上流のＩＣ（例えば、図４のＩＣ４０２）が、未だにＪＴＡＧテストモード（すなわち、ｎ  ＝  １である場合）にある唯一のＩＣであるか否かが判定されることができる。そうである場合、本方法は図示されるように反復する。そうでない場合、上流のＩＣがＴＥ信号の列内の次の下流のＩＣへの伝達を中断する可能性が存在し、従って下流のＩＣをＪＴＡＧテストモードから実効的に遷移させる（すなわち、ＪＴＡＧインタフェースを下流のＩＣにとって利用不可能にする）。一実施形態において、かつすでに述べたように、上流のＩＣは内部において、ＴＥ通過イネーブル信号を生成することができ、これは、ＴＤＲ（例えば、図３のＴＤＲ３３２のうちの１つ）内の指定されるビットの状態に基づいて生成されることができる。ＴＥ通過イネーブル信号がアサートされると、アサートされたＴＥ信号は、（例えば、図３のＴＥ−Ｆ相互接続３５４を介して）次の下流のＩＣのＴＥ相互接続に提供される。逆に、ＴＥ通過イネーブル信号がディアサートされると、ＴＥ信号は次の下流のＩＣのＴＥ相互接続に提供されず、この次の下流のＩＣはもはやＪＴＡＧテストモードにはない。
【００８８】
ブロック５２４において、ＩＣｎ−１（すなわち、依然としてＪＴＡＧテストモードにある最下流から２番目のＩＣ）内のＴＥ通過イネーブル信号がディアサートされているか否かが判定されることができる。例えば、ｎ  ＝  Ｎのときのブロック５２４の１回目の反復の間、ＩＣｎ−１（例えば、図４のＩＣ４０３）内のＴＥ通過イネーブル信号がディアサートされているか否かが判定されることができる。特定の実施形態において、この判定は、ＩＣｎ−１（例えば、図４のＩＣ４０３）内のＴＥ通過イネーブル信号に関連付けられるＴＤＲビットがＩＣｎ（例えば、依然としてＪＴＡＧテストモードにある最下流のＩＣであろう、ＩＣ４０４）へのＴＥ入力を選択解除するように設定されているか否かを判定することを含む。そうである場合、最下流のＩＣ（例えば、図４のＩＣ４０４）はもはやＪＴＡＧモードになく、ブロック５２６においてパラメータｎが１デクリメントされ、これはＴＡＰインタフェースがそのＩＣにとってはもはや利用可能でないことを示す。本方法は、その後図示されるように反復することができ、ここで、ＴＡＰインタフェースは列内の１つ少ないＩＣにとって（例えば、ＩＣ４０２および４０３のみにとって）利用可能である。本方法は、（例えば、上記ブロック５１６において判定されるように）ＴＥ信号がディアサートされるか、またはＪＴＡＧテストを終了させる他の何らかの事象が発生するまで反復し続ける。
【００８９】
このように、集積回路テスト方法および装置のさまざまな実施形態が上記で説明されてきた。一実施形態は、入力信号を受け取るように構成される入力相互接続と、テスト・イネーブル信号を受け取るように構成されるテスト・イネーブル相互接続と、入力信号に対応する値に基づいてＩＣのテストを実行するためのコントローラとを有するＩＣを含む。ＩＣはさらに、入力ポートと、入力相互接続、コントローラ、および入力ポートに結合されるマルチプレクサとを含む。マルチプレクサは、テスト・イネーブル信号がアサートされていないことに応答して入力信号を入力ポートに渡し、テスト・イネーブル信号がアサートされていることに応答して入力信号をコントローラに渡すように制御可能である。
【００９０】
別の実施形態は、複数の外部ピンと、第１のＩＣと、第２のＩＣとを含むマルチＩＣシステムを含む。第１のＩＣは、第１のＴＡＰコントローラと、第１の命令レジスタと、少なくとも１つの第１のＴＤＲと、複数の外部ピンに結合される複数の第１の相互接続と、複数の第２の相互接続とを有する。第２のＩＣは、第２のＴＡＰコントローラと、第２の命令レジスタと、少なくとも１つの第２のＴＤＲと、複数の第２の相互接続に結合される複数の第３の相互接続とを有する。第１のＴＡＰコントローラは、第１の命令レジスタにクロッキングされるとオペコードを第１の命令にマッピングするように構成され、第２のＴＡＰコントローラは、第２の命令レジスタにクロッキングされるとオペコードを、第１の命令と異なる第２の命令にマッピングするように構成される。
【００９１】
別の実施形態は、第１のテストコントローラを有する第１のＩＣと、第２のテストコントローラを有する第２のＩＣとを少なくとも含むマルチＩＣシステムをテストするための方法を含む。本方法は、第１のテストコントローラおよび第２のテストコントローラをテストモードにおいて構成すること、オペコードを、第１のテストコントローラに関連付けられる第１の命令レジスタに、および、第２のテストコントローラに関連付けられる第２の命令レジスタにクロッキングすることを含む。本方法は、第１のテストコントローラがオペコードに基づいて第１の命令を実行することと、第２のテストコントローラがオペコードに基づいて第２の命令を実行することとをさらに含み、第２の命令は第１の命令とは異なる。
【００９２】
本記載および特許請求の範囲における「第１」、「第２」、「第３」、「第４」などの用語がある場合、これらは、同様の要素またはステップ間で区別するために使用されることができ、必ずしも特定の連続する、または経時的な順序を説明するためのものではない。このように使用される用語は、本明細書に記載されている実施形態が例えば、本明細書において例示または他の様態で記載されている以外の順序または構成で動作または製造することが可能であるように、適切な状況下で置き換え可能であることが理解されるべきである。加えて、任意のフローチャートとともに図示および記載されているプロセス、ブロックもしくはステップの順序は例示のみを目的としており、他の実施形態においてさまざまなプロセス、ブロックもしくはステップが他の順序で、かつ／もしくは並行して実行されてもよいこと、および／または、それらのプロセス、ブロック、ステップのうちの特定のものは組み合わされるか、削除されるか、もしくは複数のプロセス、ブロックもしくはステップに分解されてもよいこと、および／または、本実施形態とともに追加のもしくは異なるプロセス、ブロックもしくはステップが実行されてもよいことは理解されたい。さらに、「備える（ｃｏｍｐｒｉｓｅ）」、「含む（ｉｎｃｌｕｄｅ）」、「有する（ｈａｖｅ）」といった用語およびそれらの任意の変化形は非排他的な包含をカバーするように意図され、それによって、要素またはステップのリストを含むプロセス、方法、製品、または装置が必ずしもそれらの要素またはステップに限定されず、このようなプロセス、方法、製品、または装置に明示的に列挙されまたは内在していない他の要素またはステップを含むことができる。
【００９３】
本発明の主題の範囲から逸脱することなく、上記の実施形態にさまざまな改変を行うことができることは理解されたい。本発明の主題の原理が特定のシステム、装置、および方法に関連して上記で説明されてきたが、この説明は例示のみを目的としており、本発明の主題に対する限定としてではないことは明瞭に理解されたい。本明細書において述べられ図面内に示されたさまざまな機能または処理ブロックは、ハードウェア、ファームウェア、ソフトウェアまたはそれらの任意の組み合わせにおいて実装されることができる。さらに、本明細書において採用されている表現または専門用語は説明を目的としており、限定ではない。
【００９４】
特定の実施形態の上記の記載は、他者が、現在の知識を適用することによって、一般的な概念から逸脱することなくさまざまな用途のためにそれを容易に改変および／または適合することができるだけ十分に本発明の主題の一般的な性質を公開している。従って、このような適合および改変は開示されている実施形態の均等物の意図および範囲内にある。本発明の主題は、すべてのこのような代替形態、改変形態、均等物、および変形形態を、添付の特許請求の範囲の精神および広い範囲内に入るものとして包含する。
【図１】
2013079941.tif 000004
【図２】
2013079941.tif 000005
【図３】
2013079941.tif 000006
【図４】
2013079941.tif 000007
【図５】
2013079941.tif 000008