(57)【要約】試験アクセス・ポート（ＴＡＰ）スイッチは、電子システムと、電子システムに対する外部リソースとの間の集中型シリアル試験インタフェースを提供する。電子システムは、ＴＡＰスイッチと、複数の電子回路部品とを含んでいる。電子回路部品はそれぞれ、ＴＡＰスイッチに接続されたＴＡＰを有している。１または複数の実施形態では、ＴＡＰスイッチは、例えば、命令に追加または事前追加されたコードのように、シリアル命令に含まれる選択コードに応答して、ＴＡＰのうちの選択された１つへクロック信号を提供するように構成された第１の回路を備える。このＴＡＰスイッチは更に、ＴＡＰスイッチによって受け取られたシリアル命令を、選択されたＴＡＰへ渡すように構成された命令レジスタ（ＩＲ）を備える第２の回路と、選択コードに応答して、選択されたＴＡＰから受け取ったシリアル命令を、ＴＡＰスイッチの出力へと転送するように構成された第３の回路とを備える。
2009533691.tif 000002
【特許請求の範囲】
【請求項１】
２またはそれ以上の試験アクセス・ポート（ＴＡＰ）へのアクセスを提供するＴＡＰスイッチであって、
前記ＴＡＰスイッチによって受け取られたシリアル命令に含まれる選択コードに応答して、前記ＴＡＰのうちの選択された１つへクロック信号を提供するように構成された第１の回路と、
前記ＴＡＰスイッチによって受け取られたシリアル命令を前記選択されたＴＡＰに渡すように構成された命令レジスタ（ＩＲ）を備える第２の回路と、
前記選択コードに応答して、前記選択されたＴＡＰから受け取られたシリアル・データを、前記ＴＡＰスイッチの出力へ転送するように構成された第３の回路と
を備えるＴＡＰスイッチ。
【請求項２】
前記ＩＲは、選択ＴＡＰ命令に応答して、前記選択コードをキャプチャするように構成された請求項１に記載のＴＡＰスイッチ。
【請求項３】
前記第２の回路は更に、前記ＩＲによってキャプチャされた前記選択コードを格納し、かつ、前記選択コードを前記第１の回路および前記第３の回路へ提供するように構成されたラッチ回路を備える請求項２に記載のＴＡＰスイッチ。
【請求項４】
前記第２の回路は更に、データ・スキャン命令に応答して、前記ＴＡＰスイッチによって受け取られたシリアル・データを、前記選択されたＴＡＰへ渡すように構成されたゼロ・ビットのデータ・レジスタ（ＤＲ）を備える請求項１に記載のＴＡＰスイッチ。
【請求項５】
前記第２の回路は更に、バイパス命令に応答して、前記ＴＡＰスイッチによって受け取られたシリアル・データを、前記ＴＡＰスイッチの出力へ方向転換するように構成されたバイパスＤＲを備える請求項４に記載のＴＡＰスイッチ。
【請求項６】
前記バイパス命令は、ＴＡＰスイッチ・バイパス状態を示す選択コードに相当する請求項５に記載のＴＡＰスイッチ。
【請求項７】
前記第３の回路は、前記ＴＡＰスイッチ・バイパス状態を示す選択コードに応答して、前記方向転換されたシリアル・データを、前記バイパスＤＲから前記ＴＡＰスイッチの出力へ転送するように構成された請求項６に記載のＴＡＰスイッチ。
【請求項８】
前記第２の回路は更に、ＩＲ命令に応答して前記ＩＲを選択し、前記データ・スキャン命令に応答して前記ゼロ・ビットのＤＲを選択し、前記バイパス命令に応答して前記バイパスＤＲを選択するように構成された請求項５に記載のＴＡＰスイッチ。
【請求項９】
前記第１の回路は、前記選択コードにおける変化に応答して、前記クロック信号を、前記ＴＡＰのうちの新たに選択された１つへ提供するように構成され、
前記ＩＲは、前記ＴＡＰスイッチによって引き続き受けられたシリアル命令を、前記新たに選択されたＴＡＰへ渡すように構成され、
前記第３の回路は、前記変化した選択コードに応答して、前記新たに選択されたＴＡＰから引き続き受け取られたシリアル・データを、前記ＴＡＰスイッチの出力へ転送するように構成された請求項１に記載のＴＡＰスイッチ。
【請求項１０】
前記第１の回路は、デマルチプレクサ回路を備え、前記第３の回路は、マルチプレクサ回路を備える請求項１に記載のＴＡＰスイッチ。
【請求項１１】
それぞれが試験アクセス・ポート（ＴＡＰ）を有する複数の電子回路部品と、
それぞれのＴＡＰへのアクセスを提供するＴＡＰスイッチとを備え、
前記ＴＡＰスイッチは、
前記ＴＡＰスイッチによって受け取られたシリアル命令に含まれる選択コードに応答して、前記ＴＡＰのうちの選択された１つへクロック信号を提供するように構成された第１の回路と、
前記ＴＡＰスイッチによって受け取られたシリアル命令を前記選択されたＴＡＰに渡すように構成された命令レジスタ（ＩＲ）を備える第２の回路と、
前記選択コードに応答して、前記選択されたＴＡＰから受け取られたシリアル・データを、前記ＴＡＰスイッチの出力へ転送するように構成された第３の回路と
を備える電子システム。
【請求項１２】
電子回路部品はそれぞれ、システム・オン・チップ集積回路に関連付けられたコアを備える請求項１１に記載の電子システム。
【請求項１３】
電子回路部品はそれぞれ、キャリア上にマウントされた集積回路を備える請求項１１に記載の電子システム。
【請求項１４】
前記第２の回路は更に、データ・スキャン命令に応答して、前記ＴＡＰスイッチによって受け取られたシリアル・データを、前記選択されたＴＡＰへ渡すように構成されたゼロ・ビットのデータ・レジスタ（ＤＲ）を備える請求項１１に記載の電子システム。
【請求項１５】
前記第２の回路は更に、バイパス命令に応答して、前記ＴＡＰスイッチによって受け取られたシリアル・データを、前記ＴＡＰスイッチの出力へ方向転換することによって、前記選択されたＴＡＰを回避するように構成されたバイパスＤＲを備える請求項１４に記載の電子システム。
【請求項１６】
前記第３の回路は、前記バイパス命令に応答して、前記バイパスＤＲから方向転換されたシリアル・データを、前記ＴＡＰスイッチの出力へ転送するように構成された請求項１５に記載の電子システム。
【請求項１７】
前記第２の回路は更に、ＩＲ命令に応答して前記ＴＡＰスイッチＩＲを選択し、前記データ・スキャン命令に応答して前記ゼロ・ビットＤＲを選択し、前記バイパス命令に応答して前記バイパスＤＲを選択するように構成された状態機械ロジックを備える請求項１５に記載の電子システム。
【請求項１８】
前記第１の回路は、前記選択コードにおける変化に応答して、前記クロック信号を、前記ＴＡＰのうちの新たに選択された１つへ提供するように構成され、
前記ＴＡＰスイッチＩＲは、前記ＴＡＰスイッチによって引き続き受け取られたシリアル命令を、前記新たに選択されたＴＡＰへ渡すように構成され、
前記第３の回路は、前記変化した選択コードに応答して、前記新たに選択されたＴＡＰから引き続き受け取られたシリアル・データを、前記ＴＡＰスイッチの出力へ転送するように構成された請求項１１に記載の電子システム。
【請求項１９】
前記ＴＡＰスイッチのＩＲは、選択ＴＡＰ命令に応答して、前記選択コードをキャプチャするように構成された請求項１１に記載の電子システム。
【請求項２０】
前記選択ＴＡＰ命令は、ｎからなるバイナリ長さを有するバイパス命令に含まれる選択コードを備え、ｎは、前記ＴＡＰに含まれる最長のＩＲビット長さに等しい請求項１９に記載の電子システム。
【請求項２１】
前記第２の回路は更に、前記ＴＡＰスイッチＩＲによってキャプチャされた選択コードを格納し、かつ、前記選択コードを、前記第１の回路および前記第３の回路へ提供するように構成されたラッチ回路を備える請求項１９に記載の電子システム。
【請求項２２】
２またはそれ以上の試験アクセス・ポート（ＴＡＰ）へのアクセスを、ＴＡＰスイッチによって制御する方法であって、
前記ＴＡＰスイッチによって受け取られたシリアル命令に含まれる選択コードに応答して、前記ＴＡＰのうちの選択された１つへクロック信号を提供することと、
前記ＴＡＰスイッチによって受け取られたシリアル命令を、前記選択されたＴＡＰに渡すことと、
前記選択コードに応答して、前記選択されたＴＡＰから受け取られたシリアル・データを、前記ＴＡＰスイッチの出力へ転送することと
を備える方法。
【請求項２３】
選択ＴＡＰ命令に応答して、前記選択コードを、前記ＴＡＰスイッチ内に格納することを更に備える請求項２２に記載の方法。
【請求項２４】
データ・スキャン命令に応答して、前記ＴＡＰスイッチによって受け取られたシリアル・データを、前記選択されたＴＡＰへ渡すことを更に備える請求項２２に記載の方法。
【請求項２５】
バイパス命令に応答して、前記ＴＡＰスイッチによって受け取られたシリアル・データを、前記ＴＡＰスイッチの出力へ方向転換することを更に備える請求項２４に記載の方法。
【請求項２６】
前記選択コードにおける変化に応答して、前記ＴＡＰのうちの新たに選択された１つへ前記クロック信号を提供することと、
前記ＴＡＰスイッチによって受け取られた引き続くシリアル命令を、前記新たに選択されたＴＡＰに渡すことと、
前記変化した選択コードに応答して、前記新たに選択されたＴＡＰから受け取られた引き続くシリアル・データを、前記ＴＡＰスイッチの出力へ転送することと
を更に備える請求項２２に記載の方法。
【請求項２７】
電子システムにおいて、２またはそれより多いアクセス・ポート（ＴＡＰ）のうちの１つにアクセスする方法であって、
ＴＡＰスイッチによって受け取られたシリアル命令に含まれる選択コードに応答して、前記ＴＡＰのうちの１つを選択することと、
前記ＴＡＰスイッチによって受け取られたシリアル情報を、前記選択されたＴＡＰへ渡すことと、
前記選択されたＴＡＰから受け取られたシリアル・データを、前記ＴＡＰスイッチの出力へ転送することと
を備える方法。
【請求項２８】
前記ＴＡＰのうちの１つを選択することは、前記選択コードに応答して、前記ＴＡＰのうちの選択された１つへ、アクティブなクロック信号を提供することを備える請求項２７に記載の方法。
【請求項２９】
前記ＴＡＰのうちの選択された１つへアクティブなクロック信号を提供することは、
前記ＴＡＰスイッチ内の選択コードをキャプチャすることと、
前記キャプチャされた選択コードに関連付けられたＴＡＰに対応するＴＡＰスイッチのクロック信号出力を起動することと
を備える請求項２８に記載の方法。
【請求項３０】
前記ＴＡＰスイッチ内の選択コードをキャプチャすることは、
前記選択コードが、前記ＴＡＰスイッチの命令レジスタ（ＩＲ）内にロードされるまで、前記選択ＴＡＰ命令の各ビットを、前記ＴＡＰでスキャンすることと、
前記ＴＡＰスイッチＩＲにロードされた選択コードを格納することと
を備える請求項２９に記載の方法。
【請求項３１】
前記選択コードが、前記ＴＡＰスイッチの命令レジスタ（ＩＲ）内にロードされるまで、前記選択ＴＡＰ命令の各ビットを、前記ＴＡＰでスキャンすることは、前記選択ＴＡＰ命令のｎビットを、前記タップでスキャンすることを備え、
ｎは、前記ＴＡＰに含まれる最長のＩＲビット長さに等しい請求項３０に記載の方法。
【請求項３２】
前記選択コードにおける変化に応答して、別のＴＡＰを新たに選択することと、
前記ＴＡＰスイッチによって引き続き受け取られたシリアル情報を、前記新たに選択されたＴＡＰへ渡すことと、
前記新たに選択されたＴＡＰから引き続き受け取られたシリアル・データを、前記ＴＡＰスイッチの出力へ転送することと
を更に備える請求項２７に記載の方法。
【請求項３３】
前記ＴＡＰスイッチによって受け取られたバイパス命令に応答して、前記選択されたＴＡＰをバイパスすることを更に備える請求項２７に記載の方法。
【請求項３４】
前記選択されたＴＡＰをバイパスすることは、前記バイパス命令に応答して、前記ＴＡＰスイッチによって受け取られたシリアル・データを、前記ＴＡＰスイッチの出力へ方向転換することを備える請求項３３に記載の方法。
【請求項３５】
前記ＴＡＰスイッチによって受け取られたシリアル情報を前記選択されたＴＡＰへ渡すことは、
データ・スキャン命令に応答して、前記ＴＡＰスイッチによって受け取られたシリアル・データを、前記ＴＡＰスイッチに含まれるゼロ・ビットのデータ・レジスタを経由して、前記選択されたＴＡＰへ渡すことと、
命令レジスタ（ＩＲ）命令に応答して、前記ＴＡＰスイッチによって受け取られたシリアル命令を、前記ＴＡＰスイッチに含まれるＩＲを経由して、前記選択されたＴＡＰへ渡すことと
を備える請求項２７に記載の方法。
【請求項３６】
電子システムにおける２またはそれ以上の試験アクセス・ポート（ＴＡＰ）へのアクセスを制御するコンピュータ・プログラム製品であって、
ＴＡＰ命令レジスタ・ビット長情報を処理するプログラム・コードと、
前記ＴＡＰ命令レジスタ・ビット長情報に応答して、選択コードを含むシリアル命令を生成するプログラム・コードとを備え、
前記選択コードは、ＴＡＰスイッチに対して、前記ＴＡＰのうちの１つを選択させるように構成されたコンピュータ・プログラム製品。
【請求項３７】
引き続き生成された命令レジスタ関連命令に前記選択コードを含めるプログラム・コードを更に備える請求項３６に記載のコンピュータ・プログラム製品。
【請求項３８】
前記選択コードが前記ＴＡＰスイッチでスキャンされた後、少なくとも２つの試験クロック・サイクルの間、前記ＴＡＰスイッチを、アイドル状態に維持するプログラム・コードを更に備える請求項３６に記載のコンピュータ・プログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、電子回路部品の試験に関し、特に、システム内の多くの電子部品へアクセスし、試験することに関する。
【背景技術】
【０００２】
一般的な現代の電子システムは、複数の電子部品を備えている。各部品は、システム内で、特定の機能、または、機能のセットを可能にする。例えば、従来のコンピュータ・システムは、例えば、マイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、メモリ・デバイス、グラフィック・デバイス、入力／出力デバイス、物理アクセス・デバイス（ＰＨＹ）、コントローラ等のような１または複数の電子部品を備えうる。他のシステムは、追加のあるいは別の部品を必要としうる。例えば、無線通信システムは、ベースバンド部品およびその他の信号処理部品のみならず、アナログ−デジタル部品およびデジタル−アナログ部品を備えることができる。
【０００３】
現代の電子システムに含まれる各電子部品は、試験可能であることが望ましい。従って、各電子部品は、システム内でアクセス可能で起動可能で観察可能であるべきである。現代の回路設計が常に複雑さを増してきており、かつ、集積化のレベルが増加していることを考えると、システム内で部品を隔離し試験することは、ユニークかつ困難なチャレンジを呈する。半導体加工技術における進歩は、例えば、より多くのトランジスタが、より増大した性能と新たな機能とを備えて、より小さな領域内に製造されるようになることによって、これらのチャレンジを更に増大させる。半導体加工技術における進歩はまた、単一のダイまたはチップ上に、様々な半導体を集積する技術を可能とした。例えば、ＣＭＯＳデバイス、バイＣＭＯＳデバイス、および／またはバイポーラ・デバイスは、混合信号機能を有する集積回路（ＩＣ）を生成するために、同じダイ上に製造されうる。
【０００４】
様々な電子部品がシステムに組み込まれる場合、現代のＩＣを試験することに関連する複雑さが更に増加される。システム内の単一の部品にアクセスして試験する機能は複雑である。システムに含まれる個々の部品を分離して試験することに関連付けられた複雑さのうちの幾つかを緩和する１つの解決法は、ＩＥＥＥの境界スキャン法（ＩＥＥＥ１１４９．１）である。ＩＥＥＥ  １１４９．１は、システム内に統合された様々な電子部品が、シリアル境界スキャン・パスによって相互接続されうる方法を提供する。情報は、境界スキャン・パスに接続された部品を、およびその部品からスキャンすることができる。ＩＥＥＥ  １１４９．１規格は、システム内の特定の部品へのアクセス、起動、および観察のために必要な信号Ｉ／Ｏの数を低減する。
【０００５】
一例において、ＩＥＥＥ  １１４９．１境界スキャン法は、例えばＤＳＰのような無線システムに含まれる電子部品を試験するための無線通信デバイスへ統合されうる。ＤＳＰは、他のシステム部品から分離され、ＩＥＥＥ  １１４９．１境界スキャン法を用いて試験されうる。ＤＳＰに正しくアクセスするために、各境界スキャン命令レジスタおよびデータ・レジスタの長さに加えて、境界スキャン・パス内の各部品の位置が必要とされる。それゆえ、典型的なＤＳＰは、情報がＤＳＰに達するまで、他の部品によって情報をシフトすることによって分離され試験される。結果は、同様の方法で引き続きスキャンされうる。その結果、システムに含まれる電子部品は、ピンが低減された境界スキャン試験インタフェースによってアクセスされ試験される。
【０００６】
しかしながら、従来の境界スキャン法に関連付けられたシリアル・スキャン・パス・アーキテクチャは、例えばポータブルな計算アプリケーションおよび無線通信アプリケーションのような低電力アプリケーションにおいてユニークな問題を呈する。低電力システムでは、使用されていない場合、境界スキャン・パスの一部を形成する１または複数の部品に対する電力がサイクル・オフされることによって、システムのバッテリ寿命を拡張する。しかしながら、境界スキャン・パスの一部を形成する部品が電源オフされた場合、このパスのその他の部品は、高い信頼性でアクセスされない。なぜなら、このパスにおける部品が電源オンされていな場合、シリアル・スキャン・パスが途絶または断絶されるからである。部品の電源オンと電源オフとをルーチン的にサイクルする従来の低電力システムは、良くても突発的に特定の部品を分離してアクセスするシリアル境界スキャン・アーキテクチャの使用を与えることができる。
【０００７】
更に、従来の境界スキャン・アーキテクチャに関連付けられたシリアル・スキャン・パスは、スキャン・パスを形成する各部品を介してシリアルに境界スキャン・パスへ／からロードされるという点において試験性能を低下させる。アクセスされていないスキャン・パス内の部品は、バイパスされうる。それは従来、シリアル情報が、所望の部品に達するまで、１ビットのバイパス・レジスタを経由して、境界スキャン・パスによってスキャンされるように、非アクティブな各部品において１ビットのバイパス・レジスタを選択することを含む。しかしながら、現代の電子システムに含まれる電子部品の数が増えると、試験中ではない各部品をバイパスすることに関連付けられた効率は、逆に性能にインパクトを与えうる。更に、指示レジスタ・スキャン動作に必要なビット数は、システムに含まれる全ての指示レジスタの合計ビット数に相当するので、システムに含まれる部品数が増えると、試験時間を増加させる。
【発明の開示】
【発明の概要】
【０００８】
本明細書で教示された方法および装置に従って、試験アクセス・ポート（ＴＡＰ）スイッチは、電子システムと、電子システムの外部のリソースとの間の集中型シリアル試験インタフェースを提供する。ＴＡＰスイッチが含まれている電子システムは、複数の電子回路部品を含む。各電子回路部品は、ＴＡＰスイッチに接続されたＴＡＰを有する。ＴＡＰスイッチの集中型アーテクチャによって、ＴＡＰスイッチは、例えば試験システムのような外部ソースからシリアル情報を受信し、かつ、選択されていないＴＡＰの電源がオンまたはオフされているかに関わらず、電子システムに含まれるＴＡＰのうちの選択された１つへとこの情報を転送することが可能となる。１または複数の実施形態では、ＴＡＰスイッチは、シリアル命令に含まれる選択コードに応答して、ＴＡＰのうちの選択された１つへクロック信号を提供するように構成される第１の回路を備える。ＴＡＰスイッチは更に、ＴＡＰスイッチによって受け取られたシリアル命令を、選択されたＴＡＰへ渡すように構成された命令レジスタ（ＩＲ）を備える第２の回路と、選択コードに応答して、選択されたＴＡＰから受け取ったシリアル・データを、ＴＡＰスイッチの出力へ転送するように構成された第３の回路とを備える。
【０００９】
したがって、少なくとも１つの実施形態では、ＴＡＰスイッチは、選択コードに応答して、複数のＴＡＰのうちの選択された１つへクロック信号を提供することによってＴＡＰへのアクセスを制御し、ＴＡＰスイッチによって受け取られたシリアル命令を、選択されたＴＡＰへ渡し、選択コードに応答して、選択されたＴＡＰから受け取った連続化されたデータを、ＴＡＰスイッチの出力へ転送する。ＴＡＰスイッチは更に、選択コードにおける変化に応答して、複数のＴＡＰのうちの新たに選択された１つへクロック信号を提供することによって、異なるＴＡＰを選択することができ、もって、複数のＴＡＰが、単一のデバッグ・セッション中に選択されることを可能とする。
【００１０】
従来の境界スキャン・デバッガ・プログラムに対する最小の変更のみが、ＴＡＰに、従来のプログラムとの下位互換性をもたせるために一般に使用される。１つの実施形態では、電子システム内の２またはそれ以上のＴＡＰへのアクセスを制御するコンピュータ・プログラム製品は、シリアル命令に含まれる選択コードに応答して、ＴＡＰスイッチに対して、複数のＴＡＰのうちの１つを選択させるプログラム・コードと、引き続く命令レジスタ関連命令内に選択コードを含めるプログラム・コードとを備える。このコンピュータ・プログラム製品は更に、選択コードがＴＡＰスイッチでスキャンされた後に、少なくとも２つのクロック・サイクルの間、ＴＡＰスイッチをアイドル状態に保つプログラム・コードを備える。
【００１１】
もちろん、本開示は上記特徴に限定されない。当業者であれば、以下の詳細記載を読み、添付図面を見ると、更なる特徴を認識するだろう。
【詳細な説明】
【００１２】
図１は、試験アクセス・ポート（ＴＡＰ）スイッチ１２と、例えば集積回路（ＩＣ）１４−１８のような複数の試験可能な電子回路部品とを含む電子システム１０の実施形態を例示する。システムＩＣ１４−１８はそれぞれ、ＴＡＰスイッチ１２との通信を容易にするためのＴＡＰ２０−２４を有する。特に、ＴＡＰ２０−２４はそれぞれ、シリアル命令をキャプチャするための命令レジスタ（ＩＲ）２６−３０と、シリアル化された試験データをキャプチャするためのデータ・レジスタ（ＤＲ）３２−３６とを含む。一方、ＴＡＰスイッチ１２は、電子システム１０と、例えば、電子システム１０に直接的に接続されているかまたは遠隔に接続されている試験システムまたはデバッグ・システムのような電子システム外部のリソース（図示せず）との間に、集中型シリアル試験インタフェースを提供する。ＴＡＰスイッチ１２は、電子システム１０に含まれているか、あるいは関連付けられた境界スキャン・パスに位置する最初のデバイスである。ＴＡＰスイッチ１２の集中アーキテクチャによって、ＴＡＰスイッチ１２は、外部ソースから試験命令、データ、および制御情報を受け取り、かつ、選択されていないＩＣの電源がオンされたかオフされたかに関わらず、ＩＣ  ＴＡＰ２０−２４のうちの選択された１つへ情報を転送することが可能となる。それゆえ、ＴＡＰスイッチ１２は、例えばポータブル計算システムおよび無線通信システムのような低電力アプリケーションへ適合したシステムに含まれるのに適している。
【００１３】
システムＩＣ１４−１８はそれぞれ、システム１０に関連付けられた特定の機能または機能のセットを可能にする。例えば、ＩＣ１４−１８は、１または複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、メモリ・デバイス、グラフィック・デバイス、入力／出力デバイス、物理的アクセス・デバイス（ＰＨＹ）、コントローラ、アナログ−デジタル・コンポーネントおよびデジタル−・アナログ・コンポーネント等を備えうる。電子システム１０は特に、例えばモバイル計算アプリケーションおよび無線通信アプリケーションのような低電力アプリケーションに適応され、幾つかの構成のうちの１つの形式をとることができる。例えば、電子システム１０は、ボードまたはマルチ・チップ・モジュール（ＭＣＭ）のようにキャリアについてＩＣ１４−１８を相互接続することによって、あるいは、システム・オン・チップ（ＳｏＣ）設計内で、あるいはこれらの組み合わせで形成されうる。ＩＣ１４−１８は、ボード上にマウントされる個別のチップ、ＭＣＭ上にマウントされる個別のダイ、またはＳｏＣ内の個別のコア、あるいはこれらの幾つかの組み合わせを備えうる。電子システム１０が利用されるアプリケーションおよびＩＣ１４−１８によってサポートされる特定の機能に関わらず、境界スキャン・パスは、ＩＣ１４−１８がシステム１０内で相互接続された後、ＩＣ１４−１８との通信を容易にするために使用される。システムＩＣ１４−１８のおのおのと、ＴＡＰスイッチ１２との間の境界スキャン・インタフェースは、並行であるので、システム１０に含まれるその他のＩＣの電源オン状態に関わらず、特定のＩＣがアクセスされ、起動され、観察される。すなわち、ＴＡＰスイッチ１２は、他のＩＣ  ＴＡＰの電源が投入された状態に関わらず、ＩＣ  ＴＡＰ２０−２４のうちの選択された１つと通信することができる。したがって、コンポーネント電力サイクルによる従来の「デージーチェーン」境界スキャン構成の使用における途絶は、システム１０に含まれる選択された部品にアクセスし通信するための集中型ハブとしてＴＡＰスイッチ１２を用いることによって除去される。
【００１４】
ＩＣ  ＴＡＰ２０−２４との選択的な通信を容易にするために、ＴＡＰスイッチ１２の１つの実施形態は、選択回路３８、デマルチプレクサ回路４０、およびマルチプレクサ回路４２を含む。ＴＡＰスイッチ１２は、シリアル試験情報（ＤＩ）、モード選択信号（ＭＯＤＥ）、および試験クロック信号（ＣＬＫ）を外部リソースから受け取ることによって、電子システム１０のための試験インタフェースとして機能する。オプションとして、ＴＡＰスイッチ１２は、スイッチ１２の非同期リセットのために試験リセット信号（ＲＥＳＥＴ）を受信することができる。更に、ＴＡＰスイッチ１２は、ＩＣ  ＴＡＰ２０−２４の選択された１つから受け取ったシリアル試験データ（ＤＯ）と、試験中、ＩＣ１４−１８のうちの１または複数をシステム・クロックと同期させるために使用されるオプションのリターン・クロック信号（ＲＣＬＫ）とを出力する。
【００１５】
どのＩＣ  ＴＡＰが選択されるべきかを示す、ＴＡＰスイッチ１２によって受け取られる命令である選択ＴＡＰ命令に応答して、選択回路３８は、例えば、選択ＴＡＰ命令に追加または事前追加されたコードであり、選択ＴＡＰ命令に含まれた選択コードをキャプチャする。その後、選択回路３８は、選択コードを格納し、それをデマルチプレクサ回路４０（ＳＥＬ）およびマルチプレクサ回路４２（ＳＥＬ）に与える。選択コードは、デマルチプレクサ回路４０に、ＩＣ  ＴＡＰ２０−２４のうちの特定の１つにクロック信号を供給させ、それにより、ＴＡＰを選択する。すなわち、選択コードは、システム１０に含まれる試験可能なＩＣ  １４−１８それぞれをユニークに識別する。このユニークなコードに応答して、デマルチプレクサ回路４０は、テスト・クロック信号を受け取るために唯一のＩＣ  ＴＡＰを選択する。例えば、デマルチプレクサ回路４０は、そこに含まれているＩＣＡ１４に関連付けられた選択コードを有するＴＡＰ選択命令に応答して、試験クロック信号（ＣＬＫＡ）をＩＣＡ１４へ提供する。ＴＡＰスイッチ１２からアクティブな試験クロック信号を受け取らないＴＡＰはアイドル状態を維持する一方、選択されたＴＡＰがアクセスされる（この例では、ＩＣＢ１６およびＩＣＣ１８のＴＡＰ２２およびＴＡＰ２４は、クロックされない）。選択コードはまた、マルチプレクサ回路４２に、選択されたＴＡＰから受け取られたシリアル・データの変更のないバージョンを、ＴＡＰスイッチ１２のＤＯ出力へ転送させる。試験可能な各ＩＣ１４−１７は、ＴＡＰスイッチ１２へ並列に接続されているので、ＴＡＰスイッチ１２によって、外部の試験システムが、システム１０に含まれる他のＩＣの電源オン状態に関わらず、個々のＴＡＰを動的に選択し、独立して通信することを可能とする。
【００１６】
図２は、ＴＡＰスイッチ１２によってＩＣ  ＴＡＰにアクセスするためのプログラム・ロジックの１つの実施形態を示す。このプログラム・ロジックは、ＴＡＰスイッチ１２が、選択コードに対応するＩＣ  ＴＡＰを選択することで「始まる」（ステップ１００）。この選択コードは、例えば選択ＴＡＰ命令のように、ＴＡＰスイッチ１２によって受け取られたシリアル命令に含まれる。ＴＡＰスイッチ１２は、この選択コードをデマルチプレクサ回路４０へ提供する。デマルチプレクサ回路４０は、アクティブな試験クロックを、対応するＩＣ  ＴＡＰへ提供し、ＴＡＰを選択する。適切なＩＣ  ＴＡＰが選択された後、ＴＡＰスイッチ１２は、スイッチ１２によって外部ソースから受け取られたシリアル情報を、選択されたＴＡＰへ渡す（ステップ１０２）。このシリアル情報は、命令、データ、あるいは制御情報を含むことができる。ＴＡＰスイッチ１２によって、選択されたＩＣ  ＴＡＰから受け取られた連続データ（ＤＩＣＡ，ＤＩＣＢ、またはＤＩＣＣ）は、変えられることなくマルチプレクサ回路４２によって、スイッチ１２のＤＯ出力へ転送される（ステップ１０４）。オプションとして、選択されたＴＡＰによって出力された試験クロック信号（ＲＣＬＫＡ、ＲＣＬＫＢ、またはＣＬＫＣ）もまた、ＴＡＰスイッチによって受け取られる。それゆえ、選択されたＩＣ  ＴＡＰから受け取られた情報は、分析のために、ＴＡＰスイッチ１２によって外部システムへ提供される。図２に例示されるプログラム・ロジックは、選択コードに変化が生じた場合毎に実行され、これによって、別のＩＣ  ＴＡＰがアクセスされるべきであることを示す。
【００１７】
図３は、ＴＡＰスイッチ１２の実施形態を示す。ＴＡＰスイッチ１２の試験インタフェースは、ＩＥＥＥ  １１４９．１境界スキャン規格に完全に準拠している。ＴＡＰスイッチ１２はＩＥＥＥ  １１４９．１に完全に準拠しているので、外部ソースからスイッチ１２によって受け取られたシリアル試験情報は、スイッチ１２によるいかなる復号も操作も必要とされることなく、単純に、ＩＣ  ＴＡＰ２０−２４のうちの選択された１つへ渡される。このように、ＩＥＥＥ  １１４９．１準拠の動作は、ＴＡＰスイッチ１２によって完全にサポートされている。ＴＡＰスイッチ１２の選択回路３８は、状態機械４４、ゼロ・ビット・データ・レジスタ（ＤＲ）４６、１ビット・バイパスＤＲ４８、２ビットＩＲ５０、およびラッチ回路５２を備えている。状態機械４４は、ＴＡＰスイッチ１２のＤＩ入力からシリアル情報を受け取るために、どのレジスタが選択されているかを制御する（ＣＴＲＬ）。例えばＩＥＥＥ  １１４９．１準拠の選択−ＤＲ、キャプチャ−ＤＲ、シフト−ＤＲ、Ｅｘｉｔ−ＤＲ、ポーズ−ＤＲ、またはアップデート−ＤＲ動作のようなデータ・スキャン命令を状態機械４４が検出することに応じて、ゼロ・ビットＤＲ４６が選択される。データ・スキャン動作のために、ゼロ・ビット・パス・スルー・パスを利用することによって、従来のＴＡＰコントローラに関連付けられた１または複数のバイパス・ビットを考慮することなく、シリアル情報が、ＴＡＰスイッチ１２のＤＩ入力から、ゼロ・ビットＤＲ４６を経由して、選択されたＴＡＰ（図示せず）へ渡される。これによって、性能向上が図られる。
【００１８】
状態機械４４が、バイパス命令を検知することに応答して、１ビット・バイパスＤＲ４８が選択される。バイパス命令に応答して、ＴＡＰスイッチ１２によって受け取られたシリアル命令が、マルチプレクサ回路４２を経由して、スイッチ１２のＤＩ入力からＤＯ出力へ方向転換される。それゆえ、選択されたＴＡＰは、ＴＡＰスイッチ１２がバイパス・モードにある場合、何れのシリアル情報をも受け取らない。一つの例では、現在のシステム例示では、バイパス動作を示すために、例えば‘１１’のように、選択コードが全て論理１に設定される。‘１１’選択コードが、マルチプレクサ回路４２へ提供されている場合、回路４２は、１ビット・バイパスＤＲ４８の出力をＴＡＰスイッチ１２のＤＯ出力へ接続し、もって、選択されたＴＡＰを回避する。
【００１９】
例えばＩＥＥＥ  １１４９．１準拠の選択−ＩＲ、キャプチャ−ＩＲ、シフト−ＩＲ、Ｅｘｉｔ−ＩＲ、ポーズ−ＤＲ、またはアップデート−ＩＲ動作のような命令レジスタ命令を状態機械４４が検出することに応じて、２ビットＩＲ５０が選択される。このシステム例では、ＴＡＰスイッチＩＲ  ５０は、２５ビットの幅を持っている。２ビットＩＲ  ５０は、ＩＲ命令に含まれている選択コードを保持する。一般に、ＴＡＰスイッチＩＲ５０のビット幅は、ＴＡＰスイッチ１２によってアクセスされる試験可能なＩＣの数の関数である。例えば、ＴＡＰスイッチＩＲ５０が３ビットの幅を持っている場合、バイパス・モードを示す１つの選択コード状態を残しながら、最大７つのＩＣ  ＴＡＰがユニークに識別され、ＴＡＰスイッチ１２によってアクセスされる。ラッチ回路５２は、２ビットＩＳＲ  ５０にロードされた選択コード値を格納し、デマルチプレクサ回路４０およびマルチプレクサ回路４２に選択コード（ＳＥＬ）を与える。１つの実施形態では、ラッチ回路５２は、ラッチ・デバイス（図示せず）に接続されたレジスタを備える。
【００２０】
状態機械４４は、スイッチ１２の現在の状態、モード選択信号（ＭＯＤＥ）、および試験クロック信号（ＣＬＫ）における遷移に応答して、ＴＡＰスイッチ１２を、state-to-stateから遷移させる。図４は、ＴＡＰスイッチ状態機械４４に関連付けられた状態推移ロジックの実施形態を示す。ＴＡＰスイッチ１２が電源オンまたはリセットされると、状態機械４４は、例えば、ＩＥＥＥ  １１４９．１試験ロジック・リセット状態のようなリセット状態２００へ入る。モード信号が非アクティブである限り、ＴＡＰスイッチ１２はリセット状態２００を維持する。モード信号の変化に応答して、ＴＡＰスイッチ１２がリセット状態２００から出た場合、状態機械４４は、選択ＴＡＰ状態２２０へ移行する。選択ＴＡＰ状態２０２にある間、選択コードが、既に説明したようにして、ＴＡＰスイッチＩＲ５０でスキャンしたことに応答して、ＴＡＰスイッチ１２は、アクセスするための特定のＴＡＰを選択する。そして、状態機械４４は、例えばＩＥＥＥ  １１４９．１  Ｒｕｎ  Ｔｅｓｔ／Ｉｄｌｅ状態のようなアイドル状態２０４へ移行する。状態機械４４は、ＴＡＰスイッチ１２がアイドルであり続けるべきであることをモード信号が示す限り、アイドル状態２０４を維持する。最小限、スイッチ１２が選択コードを格納することができ、かつ、電力サイクルの結果としてＴｅｓｔ−Ｌｏｇｉｃ−Ｒｅｓｅｔ状態に入った場合、新たに選択されたＴＡＰ（ＴＡＰ２２または２４）が、Ｒｕｎ  Ｔｅｓｔ／Ｉｄｌｅ状態になることを保証するために、十分な数の試験クロック・サイクルの間、状態機械４４は、ＴＡＰスイッチ１２をアイドル状態２０４に保つ。
【００２１】
ＩＲ命令を示すモード信号に応答して、状態機械はＩＲ状態２０６に入る。例えば、ＩＥＥＥ  １１４９．１選択−ＩＲ動作は、状態機械４４をＩＲ状態２０６に移行させる。例えば、ＩＥＥＥ  １１４９．１キャプチャ−ＩＲ動作、シフト−ＩＲ動作、Ｅｘｉｔ−ＩＲ動作、ポーズ−ＩＲ動作、またはアップデート−ＩＲ動作のようなＩＲ命令が実行されているとモード信号が示す限り、状態機械４４は、ＴＡＰスイッチ１２を、ＩＲ状態２０６に維持させる。その後の選択ＴＡＰ命令は、状態機械４４を、選択ＴＡＰ状態２０２へ戻させる一方、リセットは、リセット状態２００へ戻させる。
【００２２】
ＤＲ命令を示すモード信号に応答して、状態機械４４は、ＤＲ状態２０８に移行する。例えば、ＩＥＥＥ  １１４９．１選択−ＤＲスキャン動作は、状態機械４４を、ＤＲ状態２０８に移行させる。例えばＩＥＥＥ  １１４９．１キャプチャ−ＤＲ動作、シフト−ＤＲ動作、Ｅｘｉｔ−ＤＲ動作、ポーズ−ＤＲ動作、またはアップデート−ＤＲ動作のようなＤＲ命令が実行されていることをモード信号が示す限り、状態機械４４は、ＴＡＰスイッチ１２を、ＤＲ状態２０８に維持させる。その後の選択ＴＡＰ命令は、状態機械４４を、選択ＴＡＰ状態２０２へ戻させる。一方、リセットは、リセット状態２００へ戻させる。アイドル命令は、状態機械４４を、ＩＲ状態２０６またはＤＲ状態２０８のうちの何れかからアイドル状態２０４へ遷移させる。
【００２３】
選択ＴＡＰ命令がＴＡＰスイッチ１２によって認識された場合、ＴＡＰスイッチ１２の現在の状態に関わらず、状態機械４４は、スイッチ１２を、選択ＴＡＰ状態２０２に入らせる。それゆえ、ＴＡＰスイッチ１２は、選択モードの変化に応じて、別のＴＡＰを選択することができ、もって、スイッチ１２が、単一のデバッグ・セッション中に、多くのＴＡＰへアクセスできるようにする。その結果、デバッグ性能が改善され、複雑さが低減される。
【００２４】
図５は、ＴＡＰスイッチ１２によるＩＣ  ＴＡＰ２０−２４へのアクセスを制御するプログラム・ロジックの１つの実施形態を示す。プログラム・ロジックは、選択コードに応答して、ＴＡＰスイッチ１２が、ＴＡＰ２０−２４のうちの選択された１つへクロック信号を提供することで「始まる」（ステップ３００）。この例において、その中に含まれる‘０１’からなる選択コードを有する選択ＴＡＰ命令は、試験クロック信号（ＣＬＫＢ）をＴＡＰ２２にのみ提供することによって、ＴＡＰスイッチ１２に対して、ＩＣＢ１６のＴＡＰ２２を選択させる。ＴＡＰスイッチ１２のＩＲ５０は、ＴＡＰスイッチ１２によって受け取られた連続命令を、選択されたＴＡＰへ渡す（ステップ３０２）。マルチプレクサ回路４２は、格納された選択コードに応答して、選択されたＴＡＰからデータを受け取るように既にＴＡＰスイッチ１２を構成しているので、選択されたＴＡＰから、ＴＡＰスイッチ１２によって受け取られた連続データは、スイッチ１２のＤＯ出力へ、変えられることなく転送される（ステップ３０４）。それゆえ、選択されたＩＣ  ＴＡＰから受け取られた連続データは、ＴＡＰスイッチ１２によって、試験の一部として外部システムへ提供されうる。ＴＡＰスイッチ１２が、選択ＴＡＰ命令を認識する毎に、新たなＩＣ  ＴＡＰが選択され、もって、スイッチ１２が、単一のデバッグ・セッション中に、複数のＩＣ  ＴＡＰを選択できるようにする。
【００２５】
ＴＡＰスイッチ１２を、既存のプログラムと下位互換性を持つようにするために、一般に、既存のデバッガ・ソフトウェア・プログラムに対する最小の修正のみが使用される。従来の境界スキャン・デバッガ・プログラムは、１または複数のＴＡＰインタフェースによって、システムの遠隔制御を可能にする。例えば、従来のデバッガ・プログラムは、プログラムのメモリへのダウンロード、デバッグ・プログラム実行の開始および停止、デバッグ・ブレークポイントおよびウォッチポイントの設定、レジスタおよびメモリの内容の分析、および、リアル・タイム実行データの収集を可能にする。
【００２６】
従来のデバッガ・プログラムへの第１の修正は、選択ＴＡＰ命令のためのサポートを加えることを含む。ＴＡＰスイッチ１２が、リセット状態２００から出るたび毎に、あるいは、別のＩＣ  ＴＡＰがデバッグ・セッション中のアクセスのために選択された場合、選択ＴＡＰ命令が発行される。選択ＴＡＰ命令をサポートするために、デバッガ・プログラムは、３つの変数、すなわちシステムに含まれる最も長いＴＡＰ  ＩＲのビット長さ、ＴＡＰスイッチＩＲ５０のビット長さ、および、システム１０に含まれるＩＣ  ＴＡＰ２０−２４の各々に関連付けられたユニークな選択コード、を知っている。
【００２７】
デバッガ・プログラムは、ＴＡＰスイッチ１２を初期化するための選択ＴＡＰ命令を生成するためにプログラムに提供されたＩＲビット長さ情報を処理し、もって、スイッチ１２に対して、ＴＡＰ２０−２４のうちの１つを選択させる。最も長いＴＡＰ  ＩＲの長さは、システム１０に含まれるＴＡＰ  ＩＲ２０−２４の全てが、選択ＴＡＰ命令シーケンス中にバイパス・コードを用いてロードされることを保証するためにデバッガ・プログラムによって使用され、もって、ＴＡＰスイッチ１２が、ＴＡＰ２０−２４のうちの１つを選択している場合、何れのＩＣ  ＴＡＰも、望まれない動作を実行しないことを保証する。例示目的のみのために、ＩＣＡ１４に関連付けられたＴＡＰ  ＩＲ２６は、４ビット幅であり、ＩＣＢ１６に関連付けられたＴＡＰ  ＩＲ２８は５ビット幅であり、ＩＣＣ１８に関連付けられたＴＡＰ  ＩＲ３０は４ビット幅である。それゆえ、ＩＣＢ１６に含まれるＴＡＰ  ＩＲ２８である最長のＴＡＰ  ＩＲは、常に、バイパス命令を用いて、選択ＴＡＰ命令シーケンス中にロードされる。
【００２８】
ＴＡＰスイッチＩＲ５０のビット長さは、デバッガ・プログラムへと提供され、正しい長さを有する選択コードが、選択ＴＡＰ動作中に、ＴＡＰスイッチＩＲ５０へロードされるようになる。最後に、ＩＣ  ＴＡＰ２０−２４の各々に関連付けられたユニークな選択コードがデバッガ・プログラムへ提供され、ＴＡＰ２０−２４は、ＴＡＰスイッチ１２によってユニークに識別されるようになる。それゆえ、選択ＴＡＰ命令は、たとえば、＜ｘｘｙｙｙｙｙ＞のようなバイパス命令に含まれる。ここで、ｘｘは、選択されるＴＡＰに関連付けられた選択コードであり、ｙｙｙｙは、バイパス命令に関連付けられたビット・シーケンスである。一例では、ｘｘ＝‘１０’、ｙｙｙｙｙ＝‘１１１１１’である。ここで‘１０’は、ＩＣＣ１８に関連付けられたＴＡＰ２４を示し、‘１１１１１’は、バイパス命令を示す。当業者であれば、例えば、本システム１０のＩＣＡ１４およびＩＣＣ１８に関連付けられたＴＡＰ  ＩＲ２６、３０のように、システムに含まれる最も長いＴＡＰ  ＩＲよりも短いビット長さを有するＴＡＰ  ＩＲから、１または複数の前の論理１値が落とされることを理解するだろう。しかしながら、バイパス命令が、最も長いＴＡＰ  ＩＲの長さに等しいビット幅を有することを保証することによって、全てのＴＡＰ  ＩＲ２０−２４が、バイパス命令によってロードされるだろう。したがって、選択ＴＡＰシーケンスが、ＴＡＰスイッチ１２によって実行されている場合、ＩＣ  ＴＡＰ２０−２４のうちの全てにおいて、望まれないＴＡＰ動作は回避される。
【００２９】
従来のデバッガ・プログラムに対する他の変更は、選択ＴＡＰ命令シーケンス中、選択コードがＴＡＰスイッチＩＲ５０へロードされた後、十分な数の試験クロック・サイクルの間、ＴＡＰスイッチ１２をアイドル状態２０４に保つことを含む。これは、選択コードをラッチ回路５２へ適切に格納するための十分な時間をＴＡＰスイッチ１２に対して与える。例えば、ＴＡＰスイッチ１２は、スイッチ１２が選択ＴＡＰ命令を認識した後、少なくとも２クロック・サイクルの間、ＩＥＥＥ  １１４９．１準拠のＲｕｎ  Ｔｅｓｔ／Ｉｄｌｅ状態に維持される。ＴＡＰスイッチ１２を、Ｒｕｎ  Ｔｅｓｔ／Ｉｄｌｅ状態に維持することはまた、電力サイクルの結果として、以前に試験ロジック・リセット状態に入った場合にＲｕｎ  Ｔｅｓｔ／Ｉｄｌｅ状態にされるであろうことを保証する。
【００３０】
従来のデバッガ・プログラムに対する第３の修正は、選択ＴＡＰ命令に続いて発行されるＩＲ命令へ選択コードを含め、これによって、ＩＲ動作中、ＴＡＰスイッチＩＲ５０のために備えることを含む。例えば、デバッガは、選択コードをＩＲ命令に追加または事前追加するように修正される。更に、システム１０に含まれる最も長いＴＡＰ  ＩＲのための選択ＴＡＰ命令とは異なり、その後の全てのＩＲ命令は、現在選択されているＴＡＰに関連付けられたＴＡＰ  ＩＲの長さのみのために必要である。それゆえ、ＴＡＰスイッチ１２のアーキテクチャは、その後の全ての命令が、  現在選択されているＴＡＰ  ＩＲのビット長さと、ＴＡＰスイッチＩＲ５０のビット長さとを加えたものに等しい長さを持っているという点で性能を改善する。従来のデージーチェーン境界スキャン構成とは異なり、システム１０に含まれるＴＡＰ  ＩＲ２６−３０全ての合計長さは、その後のＩＲ命令のために備える必要はない。
【００３１】
応用および変形の上記範囲を念頭におき、本開示は、前述した説明によっても、あるいは、添付図面によっても限定されないと理解されるべきである。その代わり、本開示は、特許請求の範囲およびそれらの法的な均等物によってのみ限定される。
【図面の簡単な説明】
【００３２】
【図１】図１は、複数の集積回路に接続された試験アクセス・ポート（ＴＡＰ）スイッチを含む電子システムの実施形態を例示するブロック図である。
【図２】図２は、図１の電子システムに含まれる２またはそれ以上のＴＡＰのうちの１つへアクセスするためのプログラム・ロジックの実施形態を例示するロジック・フロー図である。
【図３】図３は、図１の電子システムに含まれたＴＡＰスイッチの実施形態を例示するブロック図である。
【図４】図４は、図３のＴＡＰスイッチに関連付けられた状態機械ロジックの１つの実施形態を例示する状態遷移図である。
【図５】図５は、図３のＴＡＰスイッチによって２またはそれ以上のＴＡＰへのアクセスを制御するプログラム・ロジックの実施形態を例示するロジック・フロー図である。
【図１】
2009533691.tif 000003
【図２】
2009533691.tif 000004
【図３】
2009533691.tif 000005
【図４】
2009533691.tif 000006
【図５】
2009533691.tif 000007
【国際調査報告】
2009533691.tif 000008
2009533691.tif 000009