(57)【要約】単一のチップ上の複数の試験アクセス・ポート（ＴＡＰ）コントローラがアクセスされる一方、外部観測者に対して単一の試験アクセス・ポート・コントローラだけを有する外観を維持する。簡単な組合せ論理とともに、複数のＴＡＰコントローラ（１０２、１０６）のそれぞれのデータ・レジスタ（２１２）に単一のビットを追加することによって、複数のＴＡＰコントローラには、追加のチップ・ピンの必要なしに、かつ追加のＴＡＰコントローラの必要なしにアクセスすることができる。複数のＴＡＰコントローラの、それぞれのデータ・レジスタにおける追加されたビットの状態をトグルすると、ＴＡＰコントローラの１つを選択する、または複数のＴＡＰコントローラのデイジー・チェーンにすることに関する制御情報が提供される。
2006510980.tif 000002
【特許請求の範囲】
【請求項１】
複数の試験アクセス・ポート（ＴＡＰ）コントローラを単一の外部インターフェースに結合する方法であって、
複数のＴＡＰコントローラのそれぞれにおける第１のビットを既知の状態にリセットすること、
少なくとも一部には、前記複数のＴＡＰコントローラのそれぞれにおける前記第１のビットの状態に基づいて第１の信号を生成すること、
少なくとも一部には、前記第１の信号に基づいて前記複数のＴＡＰコントローラの１つを選択すること、
外部入力端子を前記複数のＴＡＰコントローラの選択された１つのＴＡＰコントローラの入力端子に結合すること、
前記複数のＴＡＰコントローラの選択された１つのＴＡＰコントローラの出力端子を外部出力端子に結合すること、を含む方法。
【請求項２】
前記ＴＡＰコントローラは、有限状態マシンおよび複数のレジスタを備える請求項１に記載の方法。
【請求項３】
前記複数のＴＡＰコントローラの選択された１つのＴＡＰコントローラにおける前記第１のビットをトグルすること、およびステップ（ｂ）からステップ（ｅ）を繰り返すことをさらに含む請求項２に記載の方法。
【請求項４】
前記複数のＴＡＰコントローラのそれぞれに、クロック信号、試験モード選択信号、および試験リセット信号を提供することをさらに含む請求項３に記載の方法。
【請求項５】
前記複数のＴＡＰコントローラは、単一の集積回路上に配置される請求項３に記載の方法。
【請求項６】
前記第１の信号は、前記単一の集積回路内で生成される請求項５に記載の方法。
【請求項７】
前記単一の集積回路に対して外部源からクロック信号を受けることをさらに含む請求項６に記載の方法。
【請求項８】
集積回路であって、
それぞれに結合された試験アクセス・ポート（ＴＡＰ）コントローラを有する複数の機能ブロックであって、各ＴＡＰコントローラは、第１のレジスタ・ビットを含み、各第１のレジスタ・ビットは、リセット信号に応答して既知の出力状態を生成するように構成され、各第１のレジスタ・ビットは、さらにレジスタ書き込み動作に応答してトグルするように構成された、複数の機能ブロックと、
少なくとも一部には、前記複数の第１のレジスタ・ビットの状態に基づいて、外部入力信号源と選択された１つのＴＡＰコントローラの入力端子との間の通信経路を選択的に提供するように構成された経路指定論理と、
を備えた集積回路。
【請求項９】
前記経路指定論理が、少なくとも一部には、前記複数の第１のレジスタ・ビットの状態に基づいて、外部出力端子と前記選択されたＴＡＰコントローラの出力端子との間の通信経路を選択的に提供するようにさらに構成される請求項８に記載の集積回路。
【請求項１０】
少なくとも１つのＴＡＰコントローラは、第２のレジスタ・ビットをさらに含み、前記経路指定論理は、少なくとも一部には、前記第１および第２のレジスタ・ビットの状態に基づいて、第２のＴＡＰコントローラに対する入力として第１のＴＡＰコントローラの出力をさらに提供する請求項８に記載の集積回路。
【請求項１１】
前記選択的に提供された通信経路間の遷移は、外部観測者に透過的である請求項９に記載の集積回路。
【請求項１２】
集積回路（ＩＣ）であって、
前記ＩＣ上に配置された複数のＴＡＰコントローラであって、前記複数のＴＡＰコントローラのそれぞれは、データ入力信号を受けるように構成された第１の入力端子と、データ出力信号を提供するように構成された出力端子とを有し、前記複数のＴＡＰコントローラのそれぞれは、少なくとの１つのスイッチ・ビットをさらに有する、複数のＴＡＰコントローラと、
外部から供給される入力信号を受けるための第１のインターフェースと、
内部で生成された出力信号を送信するための第２のインターフェースと、
少なくとも一部には、前記複数のＴＡＰコントローラの前記スイッチ・ビットの状態に基づいて、前記複数のＴＡＰコントローラの所定の１つのＴＡＰコントローラの前記入力端子と前記第１のインターフェースとの間の第１の通信経路、および前記出力端子と前記第２のインターフェースとの間の第２の通信経路を選択的に提供するように構成された、経路指定論理と、
を備えた集積回路。
【請求項１３】
前記複数のＴＡＰコントローラのそれぞれにそれぞれ結合された複数の機能ブロックをさらに備える請求項１２に記載の集積回路。
【請求項１４】
前記複数のＴＡＰコントローラのそれぞれは、クロック信号を受けるように構成された第２の入力端子と、モード選択信号を受けるように構成された第３の入力端子と、リセット信号を受けるように構成された第４の入力端子とを有し、前記複数の第２の入力端子は共通に結合され、前記複数の第３の入力端子は共通に結合され、前記複数の第４の入力端子は共通に結合される請求項１３に記載の集積回路。
【請求項１５】
前記複数のＴＡＰコントローラの第１のＴＡＰコントローラに配置されたチェーン・ビットをさらに備える請求項１４に記載の集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に電子システムに関し、より詳細には単一の試験アクセス・ポートを介する単一の集積回路上の複数の試験アクセス・ポート・コントローラを接続するための方法および装置に関する。
【背景技術】
【０００２】
半導体製造技術ならびにデジタル・システム・アーキテクチャにおける進歩により、過去において可能であったものよりはるかに多くの機能を組み込む、より大規模な集積回路を設計および製造することが可能になった。高いレベルの機能を生み出すために少なくともいくつかの大規模な機能ブロックを組み込む特定のクラスの集積回路は、システム・オン・チップ（Ｓｙｓｔｅｍ  ｏｎ  Ｃｈｉｐ、ＳｏＣ）と呼ばれる。そのようなＳｏＣ集積回路は、しばしば、プロセッサによって実行されるべきプログラム・コードを格納するためのメモリとともに１個以上のプロセッサと、様々な高いレベルの周辺機能を実施するための１個以上の回路ブロックとを含む。そのような大規模、複雑、かつ高機能の集積回路は、設計労力および試験の点で多くの課題を提示している。
【０００３】
ＳｏＣなどの複雑な集積回路を設計するために必要な時間および労力の量を低減するために、技術者は、しばしば機能ブロック（ときにはＩＰコアと呼ばれる）を再使用することを試みる。実際、多くの設計グループは、そのような事前設計されかつ事前検証されたＩＰコアのライブラリを維持する。そのような事前設計されかつ事前検証されたＩＰコアを使用する利点を維持するために、そのようなコアの内部設計を修正する必要がないことが好ましい。
【０００４】
試験性能に関する要件に対処するために、多くの努力により、ＩＥＥＥ標準１１４９．１のＴｅｓｔ  Ａｃｃｅｓｓ  ＰｏｒｔおよびＢｏｕｎｄａｒｙ  Ｓｃａｎ  Ａｒｃｈｉｔｅｃｔｕｒｅとして、電気電子技術者協会（Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃ  Ｅｎｇｉｎｅｅｒｓ）によって成文化されたＪＴＡＧ仕様などの試験アーキテクチャが開発された。試験アクセスは、様々なレジスタとともに試験アクセス・ポート（ＴＡＰ）コントローラを介して、集積回路全体または集積回路の一部に提供される。ＴＡＰコントローラは、例えばＩＰコアなどの複数の大規模な機能ブロックのそれぞれに関連付けることができる。
【０００５】
いくつかの事前設計されたＩＰコアは、ＴＡＰコントローラを含むことができ、他の場合には、ＴＡＰコントローラは、１個以上のＩＰコアが製品設計に含まれるように技術者によって集積回路設計に追加されなければならない。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
単一の集積回路上の複数の試験アクセス・ポート・コントローラにアクセスする方法および装置が必要とされる。
【課題を解決するための手段】
【０００７】
簡単に言えば、本発明の実施形態は、ＩＥＥＥ  １１４９．１標準に準拠することが重要である単一のチップ上の複数の試験アクセス・ポート（ＴＡＰ）コントローラにアクセスするための回路および方法を提供する。本発明の実施形態は、外部観測者に対して単一の試験アクセス・ポートだけを有するという外観を維持することによって準拠することを達成する。簡単な結合的なグルー論理（ｃｏｍｂｉｎａｔｉｏｎａｌ  ｇｌｕｅ  ｌｏｇｉｃ）とともに、複数のＴＡＰコントローラのそれぞれのデータ・レジスタに単一のビットを追加することによって、複数のＴＡＰコントローラには、追加のチップ・ピンの必要なしに、かつ階層またはマスタ・スレーブの組合せで配置された追加のＴＡＰコントローラの必要なしにアクセスすることができる。
【発明を実施するための最良の形態】
【０００８】
設計が、複数のＩＰコアおよび関連付けられるＴＡＰコントローラを含むとき、どのＴＡＰコントローラが、外部観測者との通信を可能とされるかを制御できることが望ましい。ＩＥＥＥ  １１４９仕様に準拠し、一方、集積回路に追加のピンを加えることなく、複数のＴＡＰコントローラにアクセスすることが望ましい。本発明の様々な実施形態は、簡単な結合的な論理とともに、各ＴＡＰコントローラのデータ・レジスタ内にビットを含むことによって、単一の集積回路上の複数のＴＡＰコントローラに単一のＴＡＰコントローラを介して制御された方法でアクセスすることを可能にする。そのようなユーザ・データ・レジスタの追加は、ＩＥＥＥ  １１４９仕様に従って可能にされる。
【０００９】
「１つの実施形態」、「ある実施形態」、または類似の記述に対する本明細書の言及は、実施形態に関連して記載される特定の特色、構造、動作、または特徴が、本発明の少なくとも１つの実施形態に含まれることを意味する。したがって、本明細書におけるそのような表現または記述の出現は、必ずしも同一の実施形態をすべて指すものではない。さらに、様々な特定の特色、構造、動作、または特徴は、１つ以上の実施形態において任意の適切な方法で組み合わせることができる。
【００１０】
用語
頭文字ＡＳＩＣは、Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ（特定用途向け集積回路）を指す。
【００１１】
表現「ＩＰコア」は、文脈に依存し、高いレベルの機能ブロック（例えば、概略、ハードウエア記述言語、ネットリスト）に関する設計、または高いレベルの機能ブロックの実際の物理的な実装を指すことができる。ＩＰコアは、所望の機能を実装するための回路に加えて、試験およびデバッグ機能を実装するための回路を含むことができる。
【００１２】
頭文字ＪＴＡＧは、Ｊｏｉｎｔ  Ｔｅｓｔ  Ａｃｔｉｏｎ  Ｇｒｏｕｐを指す。ＩＥＥＥ（Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎ  Ｅｎｇｉｎｅｅｒｓ）は、ＩＥＥＥ標準１１４９．１、Ｔｅｓｔ  Ａｃｃｅｓｓ  ＰｏｒｔおよびＢｏｕｎｄａｒｙ  Ｓｃａｎ  Ａｒｃｈｉｔｅｃｔｕｒｅを是認している。
【００１３】
頭文字ＳｏＣは、チップ上のシステムを指し、ＳｏＣｓは、複数のＳｏＣである。
【００１４】
チップ、半導体デバイス、集積回路、ＬＳＩデバイス、モノリシック集積回路、ＡＳＩＣ、ＳｏＣ、マイクロ電子デバイスという用語、および類似の表現は、この分野において交換可能に使用されることがある。マイクロ電子デバイスは、他を包含する最も広い用語であると考えられることができる。これらのマイクロ電子デバイスに関して、信号は、物理的に電子的な導電接続を介して、それらデバイスと他の回路要素との間で結合される。接続点は、時々、入力、出力、端子、ライン、ピン、パッド、ポート、インターフェース、または類似変形または組合せとして言及される。
【００１５】
ＪＴＡＧに準拠するデバイスは、それぞれ、ＴＣＫ、ＴＤＩ、ＴＤＯ、およびＴＭＳと呼ばれる、クロック、入力データ、出力データ、およびモード選択のためのピンを含む。ＴＣＫは、システム・クロックとは別個のクロック信号を受けるＪＴＡＧ準拠デバイスの端子であるＴｅｓｔ  Ｃｌｏｃｋ  Ｉｎｐｕｔと呼ばれる。ＴＤＩは、それを介してデータが、ＪＴＡＧ準拠デバイス内に移される端子であるＴｅｓｔ  Ｄａｔａ  Ｉｎと呼ばれる。ＴＤＯは、データがそれを介してＪＴＡＧ準拠デバイスからシフトされる端子であるＴｅｓｔ  Ｄａｔａ  Ｏｕｔと呼ばれる。ＴＭＳは、どの１個以上の試験モードでＪＴＡＧ準拠デバイスが動作するかを決定するためのデータを受信する端子であるＴｅｓｔ  Ｍｏｄｅ  Ｓｅｌｅｃｔと呼ばれる。ＪＴＡＧ準拠デバイスは、例えばマイクロプロセッサ、ＡＳＩＣ、またはＳｏＣなどの任意のタイプの集積回路とすることができる。ＪＴＡＧ準拠デバイスは、ＴＲＳＴ＃と呼ばれるロー・アクティブ・リセット信号を受けるピンも含むことができる。ＪＴＡＧ準拠デバイスは、バウンダリ・スキャン・レジスタ（ｂｏｕｎｄａｒｙ  ｓｃａｎ  ｒｅｇｉｓｔｅｒ）およびＴＡＰコントローラを含む。ＴＡＰコントローラは、ＪＴＡＧ機能を制御する状態マシン（ｓｔａｔｅ  ｍａｃｈｉｎｅ）である。バウンダリ・スキャン・レジスタは、いくつかのシリアル接続されたビットからなり、これらビットのそれぞれもまたＪＴＡＧ準拠デバイスのデジタル・ピンに結合される。ＪＴＡＧ準拠デバイスは、データ・レジスタ、命令レジスタ、およびバイパス・レジスタなどの他のレジスタも含むことができる。
【００１６】
ＩＥＥＥ  １１４９．１仕様によって定義される論理機能は、バウンダリ・スキャン試験およびシステム・デバッグのために一般に使用される。
【００１７】
本発明の様々な実施形態は、ＩＥＥＥ  １１４９．１仕様への準拠を維持しつつ、一方、ＳｏＣ内の１個以上の複数のＴＡＰコントローラにアクセスするための機構を提供する。本発明の簡単な実施形態は、デフォルトＴＡＰコントローラから第２のＴＡＰコントローラへのプログラム可能なスイッチを可能にする。このように、外部からＳｏＣを観測したときのＳｏＣの状態は、開始時（すなわち、システムにリセットが適用された後）のＩＥＥＥ  １１４９．１仕様に準拠する。より複雑な実施形態は、個別のＴＡＰコントローラ間で前後の切り換え、およびすべてのＴＡＰコントローラをともにデイジー・チェーンにするなどの構成を可能にする。
【００１８】
本発明のアプリケーションは、ＩＥＥＥ  １１４９．１仕様に示される標準に準拠しながら、単一のチップ上の複数のＴＡＰコントローラへのアクセスを提供する。次に、各ＴＡＰコントローラは、試験論理（例えば、バウンダリ・スキャン試験）または関連付けされるＩＰコアのデバッグ特徴を制御する。本発明によれば、チップ上の特定の動作モードを強制するために、追加のコントローラ（例えば、トップ・レベルＴＡＰ、階層ＴＡＰ、Ｍａｓｔｅｒ  ＴＡＰ、またはＴＡＰ  Ｌｉｎｋｉｎｇ  Ｍｏｄｕｌｅ）、または追加のピンは必要としない。本発明の実施形態は、例えば標準のＪＴＡＧポートを介してプログラム可能である。本発明の実施形態は、ＴＡＰコントローラおよびＩＰコアの設計が、別個にまたは時間における異なる時点で行われる状況において特に有用である。本発明のいくつかの実施形態は、有利には、ＳｏＣに複数のＴＡＰコントローラを集積するモジュール化され規模が変更可能なアプローチを提供する。
【００１９】
本発明の状況を理解するために、図１を参照し、ＩＰインテグレータ（ｉｎｔｅｇｒａｔｏｒ）が１個のＳｏＣ上に２個以上のＩＰコアを設けることを望むことを考えてみる。ＩＰコアは、プロセッサ、ＤＳＰ、高度に集積された機能ブロック、または前述の任意の組合せであり得る。これらのＩＰコアのそれぞれは、ＴＡＰコントローラと関連のＪＴＡＧモジュールを有し、それ自体チップ上にあるなら、このＴＡＰ−ＪＴＡＧ組合せがＩＥＥＥ  １１４９．１準拠デバイスを形成するように構成されると仮定する。ＪＴＡＧインターフェースを介して２個のＩＰコアを観測する簡単な実装は、論理的なゲーティング、多重化、および図１に示されるような、「モード」ピンを使用することになる。
【００２０】
図１を参照すると、ＴＡＰ１  １０２は、デフォルトＴＡＰコントローラであり、モード・ピン１０４から受け取られるモード信号は、開始時にゼロに設定されると仮定する。ＴＡＰ１  １０２およびＴＡＰ２  １０６へのＴＤＩおよびＴＭＳ入力の両方は、論理的にゲーティングされ、モード信号が論理的にゼロであるとき、ＴＡＰ１  １０２は、実際のＴＤＩおよびＴＭＳ信号を受け、一方ＴＡＰ２  １０６は、これらの入力についてゼロを受け、モード信号が論理的に１であるとき、ＴＡＰ２  １０６は、実際のＴＤＩおよびＴＭＳ信号を受け、一方ＴＡＰ１  １０２は、これらの入力についてゼロを受ける。そのような論理回路の物理的実装は、当業者によって十分に理解される事項である。ＴＡＰ１  １０２またはＴＡＰ２  １０６のいずれかからの出力だけが、ＴＤＯであることに留意されたい。ＴＡＰコントローラ１０２、１０６の他のピンは入力である。ＴＡＰコントローラ１０２、１０６の有限状態マシン（Ｆｉｎｉｔｅ  Ｓｔａｔｅ  Ｍａｃｈｉｎｅ、ＦＳＭ）は、ＴＭＳピンから受けられた信号がゼロであるなら、ＴＣＫピンで受けられたクロック信号の５個のサイクル内のＲｕｎ−Ｔｅｓｔ−Ｉｄｌｅ状態にデフォルトされることも留意されたい。ＴＤＩ、ＴＣＫ、ＴＲＳＴＮ信号は、ＴＡＰコントローラ１０２、１０６の間で自由に共有されることができる（しかしＴＭＳに追加のＴＤＩは、図１に示されるように論理的にゲーティングされる）。ＴＤＯ出力は、ＴＤＯ出力に関連付けられる３状態バッファに関して２個のイネーブル信号（図示せず）であるように、２−１マルチプレクサ１０８によって多重化される。ＴＡＰコントローラ、ＪＴＡＧモジュール、およびＩＰコアは、別個におよび時間における異なる時点で設計されることは珍しくない実施である。ＩＰインテグレータは、標準化されたインターフェースを適切に接続するためのタスクを有する。
【００２１】
図２を参照すると、各ＪＴＡＧモジュール２０２、２０４は、例えば、命令レジスタ２０６、バイパス・レジスタ２０８、およびＩＤＣＯＤＥレジスタ２１０などのいくつかのＪＴＡＧレジスタを含むと仮定する。ＩＥＥＥ  １１４９．１標準は、ユーザによって定義されたデータ・レジスタによって、ＪＴＡＧモジュール２０２、２０４を拡張することを可能にする。本発明の様々な実施形態において、１ビット・データ・レジスタ２１２が、少なくともデフォルトＴＡＰコントローラに追加される。そのような１ビット・データ・レジスタは、本明細書においてスイッチ・レジスタ２１２と呼ばれる。図２は、本発明の例示的な実施形態の２個のＪＴＡＧモジュール２０２、２０４それぞれに組み込まれるスイッチ・レジスタ２１２を示す。各１ビット・スイッチ・レジスタ２１２の出力は、図１に示される論理的ゲーティングおよび多重化を制御するモード信号を生成するために、ＸＯＲゲート２１４に結合される。すなわち、集積回路内で生成されたモード信号は、本発明にしたがって、図１に示される、外部的に供給されるモード信号、および対応するモード・ピンを置き換える。
【００２２】
本発明によれば、２個のＴＡＰコントローラは、ＪＴＡＧプローブなどのオフ・チップ観測者に対して１個のＴＡＰコントローラであるように見える。これは、データ・レジスタを更新する状態が、ＴＣＫクロック・エッジの間にＴＭＳでの１つ高いレベルの値を有するＲｕｎ−Ｔｅｓｔ−Ｉｄｌｅ状態に遷移するからである。プローブは、ＪＴＡＧプロトコルをネゴシエートするが、ハードウエアはそれ自体を再構成し、異なるＴＡＰコントローラがＳｏＣの外部インターフェース・ピンに接続される。ＴＡＰコントローラ自体の接続を変更する目的でこの特定の状態遷移の間にプロトコルを使用されることができることが、本発明の実施形態によって使用される。
【００２３】
ＪＴＡＧ動作の性質は、新たな値がレジスタ内にシフトされ、一方、一般に古い値は外にシフトされ、チップ外で捉えられることである。場合によっては、例えば新たな命令がシフトされるときに、ある異なる値が外にシフトされる。複数のＪＴＡＧモジュールにわたって均一な予測可能な切り換え機構を有するために、ＪＴＡＧプローブは、異なるスイッチ・レジスタ２１２について現在の値を追跡し続けることを必要とすべきではないことが望ましい。したがって本発明のある実施形態において、スイッチ・レジスタ２１２の内容は、論理的１をシフトするときに反転される。そのように正確に１入力が反転されるなら、両方のスイッチ・レジスタ２１２の現在値にかかわらず、モード信号は切り換わることになる。そのような構成は、２個のＴＡＰコントローラが単一のチップに集積される本発明の実施形態に適している。
【００２４】
本発明により２個のＴＡＰコントローラ間で前後の切り換えが可能であるなら、ＴＡＰコントローラのデイジー・チェーンを提供することがさらに好ましい。図３および図４に示されるように、デイジー・チェーンの１つの例示的な実施形態において、図２に示される技術は、デイジー・チェーンに関連付けられるデータ・フローを提供するように拡張される。より詳細には、デイジー・チェーンに関連付けられる一般的なデータ・フローは、ＴＤＩからＴＤＯへのフローだけを示すことによって図３に示される。本発明によるデイジー・チェーンを達成するために、ＴＡＰコントローラ（例えばＴＡＰ１  １０２）は、さらに以降でチェーン・レジスタと呼ばれる１ビット・データ・レジスタによって拡張される。図５は、従来の命令レジスタ２０６、バイパス・レジスタ２０８、およびＩＤＣＯＤＥ  ＪＴＡＧレジスタ２１０、ならびに本発明のスイッチ・レジスタ２１２およびチェーン・レジスタ５０２を示す。
【００２５】
本発明により単一の集積回路上の１個より多い複数のＴＡＰコントローラにチェーン・ビットを追加することが可能であるが、これは、制御される必要がある組合せ論理の複雑性を増大することに留意されたい。当業者ならびに本開示に恩恵を有する者は、そのような制御論理を容易に合成することができ、したがってそれらの詳細をさらに記載しないことを理解されたい。
【００２６】
図４に示されるように、チェーン信号は、今やＴＤＩ１、ＴＤＩ２、ＴＤＯ１、およびＴＤＯ２に適切な論理的なゲーティングおよび多重化を実施するために、モード信号に追加して使用されることができる。チェーン＝１のときにモード＝０であることを仮定すると、図４は、論理的に図３と等価である。これは、本発明の例示的な実施形態であり、例えばモード信号の値が異なるように選択されるなら、例示的な論理は異なることができることは理解されるであろう。これは、当業者によって十分に理解される。
【００２７】
図６は、本発明によるプロセス・フローを示す。２個以上のＴＡＰコントローラにおけるスイッチ・レジスタ・ビットは、既知の状態にリセットされる（６０２）。それらリセット状態のスイッチ・レジスタ・ビットの出力の論理的な組合せは、どのＴＡＰコントローラが外部観測者によってアクセスされることができるかを制御する。その後、選択されたＴＡＰコントローラのスイッチ・レジスタ・ビットへの書き込みは、結果としてそのビットのトグル（ｔｏｇｇｌｉｎｇ）を生じる（すなわち、その反転された現在の状態を有する）。スイッチ・レジスタ・ビットの新たな状態は、少なくとも１個のモード信号を生成する、または導き出すために使用される（６０４）。少なくとも一部にはモード信号の状態に基づき、次のＴＡＰコントローラは、外部観測者との通信のために選択される（６０６）。２個のＴＡＰコントローラの場合に、モード信号は２個のＴＡＰコントローラの一方を常に選択する。
【００２８】
２個のＴＡＰコントローラを越えて規模を変更するために、任意のスイッチ・レジスタにおいて値が変化すると、次に予定されたＴＡＰコントローラが選択されるように、モード・バスを導出することができる。そのような例が、以下により詳細に記載される。
【００２９】
以下の節で、３個のＴＡＰコントローラ（ＴＡＰ１、ＴＡＰ２、およびＴＡＰ３と呼ばれる）を有する例示的な実施形態が記載される。各ＴＡＰコントローラは、ゼロにリセットする１ビット・スイッチ・レジスタを有する。モード・ビット（２個のＴＡＰコントローラを有する例に関連して上述されたような）を作るために単一のＸＯＲを使用する代わりに、モード・バスが使用される。
【００３０】
ＴＡＰ１、ＴＡＰ２、およびＴＡＰ３間の切り換えに関して、すべてのＴＡＰコントローラ間にアクセスを提供するために、ラウンド・ロビン（ｒｏｕｎｄ−ｒｏｂｉｎ）スケジューリング・アルゴリズムが実装されると仮定する。（多くのＴＡＰから１個のＴＡＰを選択することは、チェーンにすることとは異なる機能であり、これら各機能は、異なる目的に関して望ましいことに留意されたい。本発明の様々な実施形態は、選択およびチェーンにすることの両方をサポートする。）この例示的な実施形態において、ＴＡＰ１がデフォルトによって選択され、選択されたＴＡＰコントローラのスイッチ・レジスタが書き込まれたとき、次のコントローラが選択される。例えば、ＴＡＰ１→ＴＡＰ２→ＴＡＰ３→ＴＡＰ１などである。モード・バスは、この例示的な実施形態では２個のビットに達する上限（ｌｏｇ２（＃ＴＡＰｓ））に対応する幅を有し、これら２個のビットは、表１に示されるように定義することができる。
【表１】
2006510980.tif 000003
【００３１】
モード・バスのための論理は、表２に示されるように３個のスイッチ・レジスタ・ビットＳ１、Ｓ２、およびＳ３の値だけに応じる。
【表２】
2006510980.tif 000004
【００３２】
この例示的な実施形態において、ＴＤＩおよびＴＭＳ入力は、３入力ＡＮＤゲートによってゲーティングされる（表１参照）。２個の入力は、選択されたＴＡＰコントローラだけが、最上位ピンからＴＤＩまたはＴＭＳ信号を受けるように、いくつかが反転されるモード［１］およびモード［０］ビットである。同様に３個のＴＤＯ信号は、選択されたＴＡＰコントローラだけが、最上位ピンにＴＤＯ信号を提供するように、モード［１：０］ビットを使用して多重化される。周知の様々な回路を、前述の論理および多重化を実施するために使用することができる。モード・バスのための入力・出力表（表２を参照）は、容易に合成されることができ、かつ比較的わずかな数の論理ゲートを生じる。
【００３３】
以下の節において、４個のＴＡＰコントローラ（この例においてＴＡＰ１からＴＡＰ４と呼ばれる）を有する例示的な実施形態が記載される。
【００３４】
様々なＴＡＰコントローラ間の切り換えに関して、すべてのＴＡＰコントローラ間にラウンド・ロビンスケジューリングが実装されると仮定する。この例示的な実施形態において、ＴＡＰ１がデフォルトによって選択される。選択されたＴＡＰコントローラのスイッチ・レジスタが書き込まれたとき、次のコントローラが選択される。例えば、ＴＡＰ１→ＴＡＰ２→ＴＡＰ３→ＴＡＰ４→ＴＡＰ１などである。
【００３５】
この例示的な実施形態において、モード・バスは、（２つのビットにまで達する）上限である（ｌｏｇ２（＃ＴＡＰｓ））に対応する幅を有し、モード・ビットは、表３に示されるように定義することができる。
【表３】
2006510980.tif 000005
【００３６】
モード・バスのための論理は、表４に示されるように４個のスイッチ・レジスタ・ビットＳ１、Ｓ２、Ｓ３、およびＳ４の値だけに依存する。
【表４】
2006510980.tif 000006
【００３７】
多数の使用されていない入力組合せ（入力状態と呼ばれる）が存在することに留意されたい。
【００３８】
この例示的な実施形態において、ＴＤＩおよびＴＭＳ入力は、３入力ＡＮＤゲートによってゲーティングされる（表３参照）。２個の入力は、選択されたＴＡＰコントローラだけが、最上位ピンからＴＤＩまたはＴＭＳ信号を受けるように、いくつかが反転されるモード［１］およびモード［０］である。同様に、４個のＴＤＯ信号は、選択されたＴＡＰコントローラだけが、最上位ピンにＴＤＯ信号を提供するように、モード［１：０］ビットを使用して多重化される。周知の様々な回路を、前述の論理および多重化を実施するために使用することができる。
【００３９】
より多くのＴＡＰコントローラが使用される場合、モード・ビットの数がｌｏｇ２の割合で増大する。すなわち、３個のモード・ビットは、８個のＴＡＰコントローラまでに関して十分であり、４個のビットは、１６個のＴＡＰコントローラまでに関して十分であるなどである。定義されかつ使用される入力状態の数もまた、追加されたＴＡＰコントローラ毎に２つの状態ずつだけゆっくりと増大する。
【００４０】
上述のされたような切り換えの代わりに、様々なＴＡＰコントローラ間のチェーンにすることに関して、以下の変更が必要である。１つのチェーンにおけるすべてのＴＤＩは、２つの源からのその信号を受けるように構成され、すなわち（１）選択されたＴＡＰコントローラのＴＤＩである場合の最上位ＴＤＩピン、またはチェーンにする場合の先行するＴＡＰコントローラからのＴＤＯ信号である。チェーンの始まりと終わりにわずかな準備があるが、複雑性は、より多くのＴＡＰコントローラの追加とともに増大しない。例えば、１０個のＴＡＰコントローラを含むチェーンを有しても、チェーンにおける任意のＴＡＰコントローラに関するＴＤＩは、２つの可能性がある源からまだ来るだけであり得る。２つの可能性のある源は、上述のように、（１）選択されたコントローラのＴＤＩである場合に関する最上位ＴＤＩ、または（２）デイジー・チェーンにされたＴＡＰコントローラのＴＤＩである場合に関する、先行するＴＡＰコントローラのＴＤＯ信号からである。同様に、この示した例において、ＴＤＯピンは、個別に選択されたＴＡＰコントローラによって駆動される（ｎ〜１マルチプレクサを使用して）か、またはすべてのＴＡＰコントローラがデイジー・チェーンにされるなら、ＴＤＯは、チェーンにおける最後のＴＡＰからのＴＤＯ信号によって駆動される。
【００４１】
本発明の実施形態は、目標のスイッチをプログラム可能にするいくつかの複雑性の問題はあるが、ラウンド・ロビンとは別のスケジューリング・アルゴリズムを使用することができる。そのような場面において、システムの状態は、ＴＡＰコントローラごとに、または中央の場所に格納されることができる。これは、状態が、ＴＡＰコントローラにおけるデータ・レジスタの組み合わせられたスイッチ／チェーン・ビットで符号化された上述の実施形態とは異なる。
【００４２】
結論
単一のチップ上の複数の試験アクセス・ポート（ＴＡＰ）コントローラが、外部観測者に対して単一の試験アクセス・ポートだけを有する外観を維持することによって、ＩＥＥＥ  １１４９仕様にしたがってアクセスされる。簡単な組合せグルー論理とともに、複数のＴＡＰコントローラのそれぞれのデータ・レジスタに単一のビットを追加することによって、複数のＴＡＰコントローラには、追加のチップ・ピンの必要なしに、かつ追加のＴＡＰコントローラの必要なしにアクセスすることができる。少なくとも１つのＴＡＰコントローラに第２のビットを追加することによって、複数のＴＡＰコントローラの所望の機能を制御するのに適した信号の内部生成が達成されることができる。複数のＴＡＰコントローラの各データ・レジスタにおける追加されたビットの状態のトグルは、複数のＴＡＰコントローラの切り換えまたはデイジー・チェーンにすることに関する制御情報を提供する。
【００４３】
本発明は、上述の実施形態に限定されず、添付された特許請求の範囲内の任意およびすべての実施形態を包含することを理解されたい。
【図面の簡単な説明】
【００４４】
【図１】一対のＩＰコアを含むＳｏＣの高いレベルの概略ブロック図であり、各ＩＰコアは、関連付けられたＴＡＰコントローラ／ＪＴＡＧ回路、および試験アクセスのためのＩＰコアの各対間の切り換えのための論理ならびに外部接続を有する。
【図２】一対のＩＰコアを含むＳｏＣの高いレベルのブロック図であり、各ＩＰコアは、関連付けられ本発明による関連のスイッチ・レジスタ、および試験アクセスのためのＩＰコアの各対間の切り換えのために使用される信号を内部で生成する論理を有する。
【図３】本発明による一対のＴＡＰコントローラ間のデイジー・チェーンにされたデータ・フローを示す、一対のＩＰコントローラを有するＳｏＣの高いレベルの概略ブロック図である。
【図４】図３に示されるデイジー・チェーンにされたデータ・フロー、およびモード信号に基づく切り換え機構を実装するための論理の概略図である。
【図５】スイッチ・レジスタとともに従来のＪＴＡＧレジスタ、および本発明のチェーン・レジスタを示す高いレベルの概略ブロック図である。
【図６】本発明による例示的なプロセスのフローチャートである。
【図１】
2006510980.tif 000007
【図２】
2006510980.tif 000008
【図３】
2006510980.tif 000009
【図４】
2006510980.tif 000010
【図５】
2006510980.tif 000011
【図６】
2006510980.tif 000012
【国際調査報告】
2006510980.tif 000013
2006510980.tif 000014
2006510980.tif 000015