(57)【特許請求の範囲】
【請求項１】
データ処理装置であって、
第１データ通信技術に従って外部診断装置と診断データを通信する第１診断モードで動作可能である第１診断ユニットと、
第２データ通信技術に従って前記外部診断装置と診断データを通信する第２診断モードで動作可能である第２診断ユニットと、
前記第１診断ユニットと前記第２診断ユニットとの両方に接続されるとともに、前記データ処理装置と前記外部診断装置との間で診断データの通信を行うように動作可能である１本または複数の診断データ接続と、
前記１本または複数の診断データ接続の少なくとも１本に接続されるとともに、前記１本または複数の診断データ接続の少なくとも１本における所定の信号パターンの検知に反応して、前記第１診断モードと前記第２診断モードとの切り替えを行うように動作可能である監視ユニットと、
を具備し、前記第１診断ユニットと前記第２診断ユニットのうち現在動作している一方による、前記第１診断ユニットと前記第２診断ユニットのうち現在動作している前記一方の外部における前記データ処理装置のいずれの状態変化も、前記所定の信号パターンが引き起こさないことを特徴とするデータ処理装置。
【請求項２】
前記１本または複数の診断データ接続は、複数の診断データ接続であり、前記第１診断ユニットは前記複数の診断データ接続の全てを使用して前記第１診断モードで診断データを通信することを特徴とする請求項１に記載の装置。
【請求項３】
前記第２診断ユニットは、前記複数の診断データ接続の少なくとも１本を使い、前記第２診断モードで診断データを通信することを特徴とする請求項２に記載の装置。
【請求項４】
前記監視ユニットは、第１所定パターンに応答して、前記第１診断モードから前記第２診断モードに切り替えを行い、かつ前記第１所定パターンとは異なる第２所定パターンに応答して、前記第２診断モードから前記第１診断モードに切り替えを行うことを特徴とする請求項１に記載の装置。
【請求項５】
前記第１診断モードで処理している時に、前記第２診断ユニットは、第１所定状態に維持されることを特徴とする請求項１に記載の装置。
【請求項６】
前記第１所定状態はリセット状態であることを特徴とする請求項５に記載の装置。
【請求項７】
前記第２診断モードで処理している時に、前記第１処理ユニットは、第２所定状態に維持されることを特徴とする請求項１に記載の装置。
【請求項８】
前記第２所定状態はリセット状態であることを特徴とする請求項７に記載の装置。
【請求項９】
前記第１診断モードで処理している時に前記第１診断ユニットがリセット状態に置かれた場合に、前記監視ユニットが前記所定の信号パターンの検知を開始可能であることを特徴とする請求項１に記載の装置。
【請求項１０】
前記第２診断モードで処理している時に前記第２診断ユニットがリセット状態に置かれた場合に、前記監視ユニットが前記所定の信号パターンの検知を開始可能であることを特徴とする請求項１に記載の装置。
【請求項１１】
前記診断データの少なくともいくつかは、デバッグデータ、トレースデータもしくは製造テストデータの１つまたは複数を具備することを特徴とする請求項１に記載の装置。
【請求項１２】
前記第１診断ユニットはＪＴＡＧ診断ユニットであることを特徴とする請求項１に記載の装置。
【請求項１３】
前記ＪＴＡＧ診断ユニットは、命令データ内でシフトを行うためのＩＲ脚に対応する状態を有するＪＴＡＧ  ＴＡＰ制御ステートマシンを具備し、前記第１所定信号は、前記ＪＴＡＧ  ＴＡＰ制御ステートマシン内部において、いかなる命令データ内のシフトも行わずに前記ＩＲ脚を２回通って、前記ＪＴＡＧ診断ユニットのリセット状態に戻る状態変化を引き起こすことを特徴とする請求項１に記載の装置。
【請求項１４】
前記ＪＴＡＧ診断ユニットは、Ｔｅｓｔ−Ｌｏｇｉｃ−Ｒｅｓｅｔ状態、Ｒｕｎ−Ｔｅｓｔ／Ｉｄｌｅ状態、Ｓｅｌｅｃｔ  ＤＲ状態、Ｓｅｌｅｃｔ  ＩＲ状態、シフト状態、更新状態及びキャプチャ状態に対応する状態を有するＪＴＡＧ  ＴＡＰ制御ステートマシンを具備し、前記第１所定信号パターンは、前記シフト状態、前記更新状態及び前記キャプチャ状態のいずれにも遷移することなく、前記ＪＴＡＧ  ＴＡＰ制御ステートマシンの内部で前記Ｔｅｓｔ−Ｌｏｇｉｃ−Ｒｅｓｅｔ状態、前記Ｒｕｎ−Ｔｅｓｔ／Ｉｄｌｅ状態、前記Ｓｅｌｅｃｔ  ＤＲ状態及び前記Ｓｅｌｅｃｔ  ＩＲ状態間を遷移する状態変化を引き起こすことを特徴とする請求項４に記載の装置。
【請求項１５】
前記第２診断ユニットは、シリアルワイヤプロトコル診断ユニットであることを特徴とする請求項１に記載の装置。
【請求項１６】
前記シリアルワイヤプロトコル診断ユニットは、各々がデータヘッダを具備するデータパケットを使って通信し、前記第２所定信号パターンは、無効データヘッダに対応することを特徴とする請求項４に記載の装置。
【請求項１７】
前記監視ユニットは、前記所定のパターンを検知するように動作していないときはクロック同期されていないことを特徴とする請求項１に記載の装置。
【請求項１８】
前記データ処理装置は、集積回路であり、前記１本または複数の診断データ接続は前記集積回路のピン接続であることを特徴とする請求項１に記載の装置。
【請求項１９】
データ処理装置であって、
第１データ通信技術に従って、第１診断モード時に外部診断装置手段を用いて診断データを通信する第１診断ユニット手段と、
第２データ通信技術に従って、第２診断モード時に前記外部診断装置手段を用いて診断データを通信する第２診断ユニット手段と、
前記第１診断ユニット手段と前記第２診断ユニット手段との両方に接続されるとともに、前記装置と前記外部診断装置手段の間の診断データ通信を提供する１本または複数の診断データ接続手段と、
前記１本または複数の診断データ接続の少なくとも１本に接続されるとともに、前記１本または複数の診断データ接続の少なくとも１本において所定の信号パターンの検知に反応して、前記第１診断モードと前記第２診断モードとを切り替える監視ユニット手段と、
を具備し、前記第１診断ユニットと前記第２診断ユニットのうち現在動作している一方による、前記第１診断ユニットと前記第２診断ユニットのうち現在動作している前記一方の外部における前記装置のいずれの状態変化も、前記所定の信号パターンが引き起こさないことを特徴とする装置。
【請求項２０】
装置において診断データを通信するための方法であって、
第１データ通信方法に従い第１通信モードで第１診断ユニットと外部診断装置との間で診断データを通信する段階と、
第２データ通信方法に従い第２通信モードで第２診断ユニットと前記外部診断装置との間で診断データを通信する段階と、
前記装置と前記外部診断装置との間で診断データ通信を提供するために、前記第１診断ユニットと前記第２診断ユニットとの両方に１本または複数の診断データ接続を行う段階と、
前記１本または複数の診断データ接続の少なくとも１本に接続されるとともに、前記１本または複数の診断データ接続の少なくとも１本において所定の信号パターンの検知に応答して、前記第１診断モードと前記第２診断モードとの間で切り替えを行う監視ユニットを使用する段階と、
を具備し、前記第１診断ユニットと前記第２診断ユニットのうち現在動作している一方による、前記第１診断ユニットと前記第２診断ユニットのうち現在動作している前記一方の外部における前記装置のいずれの状態変化も、前記所定の信号パターンが引き起こさないことを特徴とする方法。
【請求項２１】
データ処理装置に接続するための診断装置で、
前記データ処理装置と前記診断装置との間で診断データの通信を行うように動作可能であり、前記データ処理装置の内部で第１診断ユニットと第２診断ユニットとの両方に接続される１本または複数の診断データ接続と、
第１データ通信技術に従い前記第１診断ユニットが前記診断装置と診断データを通信する第１診断モードと、第２データ通信技術に従い前記第２診断ユニットが前記診断装置と診断データを通信する第２診断モードとの間で、前記データ処理装置を切り替えるために、前記１本または複数の診断データ接続の少なくとも１本において、所定の信号パターンを生成するように動作可能である信号生成器と、
を具備し、前記第１診断ユニットと前記第２診断ユニットのうち現在動作している一方による、前記第１診断ユニットと前記第２診断ユニットのうち現在動作している前記一方の外部における前記データ処理装置のいずれの状態変化も、前記所定の信号パターンが引き起こさないことを特徴とする診断装置。
【請求項２２】
前記１本または複数の診断データ接続は、複数の診断データ接続であり、前記第１診断ユニットは、前記複数の診断データ接続の全てを使用して前記第１診断モードで診断データを通信することを特徴とする請求項２１に記載の診断装置。
【請求項２３】
前記第２診断ユニットは、前記複数の診断データ接続の少なくとも１本を使って、前記第２診断モードで診断データを通信することを特徴とする請求項２２に記載の診断装置。
【請求項２４】
前記信号生成器は、前記データ処理装置を前記第１診断モードから前記第２診断モードに切り替えるための第１所定信号を生成し、かつ前記データ処理装置を前記第２診断モードから前記第１診断モードに切り替えるための、前記第１所定信号と異なる第２所定信号を生成することを特徴とする請求項２１に記載の診断装置。
【請求項２５】
前記データ処理装置が、前記第１診断モードで操作され、前記信号生成器は、前記所定の信号パターンを生成する前に、前記第１診断ユニットをリセット状態に置くための信号を生成するように動作可能であることを特徴とする請求項２１に記載の診断装置。
【請求項２６】
前記データ処理装置が、前記第２診断モードで操作され、前記信号生成器は、前記所定の信号パターンを生成する前に、前記第２診断ユニットをリセット状態に置くための信号を生成するように動作可能であることを特徴とする請求項２１に記載の診断装置。
【請求項２７】
前記診断データの少なくともいくつかは、デバッグデータ、トレースデータもしくは製造テストデータの１つまたは複数を具備する請求項２１に記載の診断装置。
【請求項２８】
前記第１診断ユニットは、ＪＴＡＧ診断ユニットであることを特徴とする請求項２１に記載の診断装置。
【請求項２９】
前記ＪＴＡＧ診断ユニットは、命令データ内でシフトするためのＩＲ脚に対応する状態を具備するＪＴＡＧ  ＴＡＰ制御ステートマシンを具備し、前記第１所定信号パターンは、前記ＪＴＡＧ  ＴＡＰ制御ステートマシンの内部で、いかなる命令データ内のシフトも伴わずに前記ＩＲ脚を２回通って、前記ＪＴＡＧ診断ユニットのリセット状態に戻る状態変化を引き起こすことを特徴とする請求項２４に記載の診断装置。
【請求項３０】
前記ＪＴＡＧ診断ユニットは、Ｔｅｓｔ−Ｌｏｇｉｃ−Ｒｅｓｅｔ状態、Ｒｕｎ−Ｔｅｓｔ／Ｉｄｌｅ状態、Ｓｅｌｅｃｔ  ＤＲ状態、Ｓｅｌｅｃｔ  ＩＲ状態、シフト状態、更新状態及びキャプチャ状態に対応する状態を具備するＪＴＡＧ  ＴＡＰ制御ステートマシンを具備し、前記第１信号パターンは、前記ＪＴＡＧ  ＴＡＰ制御ステートマシンの内部において、前記シフト状態、前記更新状態及び前記キャプチャ状態のいずれにも遷移することなく前記Ｔｅｓｔ−Ｌｏｇｉｃ−Ｒｅｓｅｔ状態、前記Ｒｕｎ−Ｔｅｓｔ／Ｉｄｌｅ状態、前記Ｓｅｌｅｃｔ  ＤＲ状態、前記Ｓｅｌｅｃｔ  ＩＲ状態間を遷移する状態変化を引き起こすことを特徴とする請求項２４に記載された診断装置。
【請求項３１】
前記第２診断ユニットは、シリアルワイヤプロトコル診断ユニットであることを特徴とする請求項２１に記載の診断装置。
【請求項３２】
前記シリアルワイヤプロトコル診断ユニットは、各々がデータヘッダを具備するデータパケットを使って通信し、前記第２所定信号パターンは、無効データヘッダに対応することを特徴とする請求項２４に記載の診断装置。
【請求項３３】
前記データ処理装置は、集積回路であり、前記１本または複数の診断データ接続は、前記集積回路のピン接続であることを特徴とする請求項２１に記載の診断装置。
【請求項３４】
データ処理装置への接続のための診断装置であって、
前記データ処理装置の内部で、第１診断ユニットと第２診断ユニットとの両方に接続されるとともに、前記データ処理装置と前記診断装置との間で診断データ通信を行うように動作可能である１本または複数の診断データ接続手段と、
前記１本または複数の診断データ接続の少なくとも１本において所定の信号パターンを生成し、第１データ通信技術に従い前記第１診断ユニットが前記診断装置と診断データを通信する第１診断モードと、第２ データ通信技術に従い前記第２診断ユニットが前記診断装置と診断データを通信する第２診断モードとの間で前記データ処理装置の切り替えを行うための信号生成手段と、
を具備し、前記第１診断ユニットと前記第２診断ユニットのうち現在動作している一方による、前記第１診断ユニットと前記第２診断ユニットのうち現在動作している前記一方の外部における前記データ処理装置のいずれの状態変化も、前記所定の信号パターンが引き起こさない診断装置。
【請求項３５】
診断装置とデータ処理装置との間で診断データ通信する方法であって、
前記データ処理装置と前記診断装置との間で診断データ通信を提供するために、１本または複数の診断データ接続を、第１診断ユニットと第２診断ユニットとの両方に前記データ処理装置の内部で接続する段階と、
第１データ通信技術に従い前記第１診断ユニットが前記診断ユニットと診断データを通信する第１診断モードと、第２データ通信技術に従い前記第２診断ユニットが前記診断ユニットと診断データを通信する第２診断モードとの間で、前記データ処理装置を切り替えるために、前記１本または複数の診断データ接続の少なくとも１本において所定の信号パターンを生成する段階と、
を具備し、前記第１診断ユニットと前記第２診断ユニットのうち現在動作している一方による、前記第１診断ユニットと前記第２診断ユニットのうち現在動作している前記一方の外部における前記データ処理装置のいずれの状態変化も、前記所定の信号パターンが引き起こさないことを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビルトイン診断（ｄｉａｇｎｏｓｔｉｃ）機能を有するシステムの分野に関する。より詳細には、本発明は、複数のビルトイン診断モードを有し、それらの間で切り替え可能であることが望ましいシステムに関する。
【背景技術】
【０００２】
例えば、集積回路などのような装置に、ビルトインされた診断機構を形成することは知られている。これらの診断機構は、例えば、デバッグ、トレース、製造テストやそれに類するものなどの種々の異なる目的のために使用される。そのようなビルトインされた診断機構の一例は、集積回路の内部状態を読み書きするために使用されるＪＴＡＧシリアルスキャンチェインである。システム設計が発展すると、ビルトインされた診断機構の機能もまた、歩調を合わせて発展する必要がある。新しい診断機構は、既存の診断機構を超える高機能または好ましい機能を有し得る。この場面において、１つのシステム上に複数の診断機構を形成する必要がある状況、またはそれが好ましい状況が生じる。そのような状況の一例は、レガシーＪＴＡＧ診断機構を、最新で高性能な診断機構と組み合わせて提供することが望まれるシステムである。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
複数の診断機構が形成された場合は、それらの診断機構と通信する必要性が増加する。一例として、集積回路の場合、外部ピンが診断用入出力信号を入力するように指定されることがある。そして、もし複数の診断機構が形成されると、そのような診断用入出力ピンの組が複数必要となってしまう。ところが、現代の多くの集積回路では、ピン数が窮屈であり、多くの入出力ピンを診断専用にしなければならないのでは不都合である。なぜならピンはそのようにしてしまうと実用途に使えなくなるからである。一つの可能性として、何本かの診断用ピンを共有するとともに、集積回路内部の異なる診断機構を切り替えるために外部信号を入力するためのスイッチピンを形成する方法がある。しかし、ピンを上記切り替え機能専用にする必要性は、それ自体が不都合である。なぜなら、それにより他の目的で使用することができるはずのピンが使われてしまうからである。
【課題を解決するための手段】
【０００４】
本発明の１つの構成においては、データ処理装置であって、第１のデータ通信技術に従って、外部診断装置と診断データを通信する第１診断モードで動作可能である第１診断ユニットと、第２のデータ通信技術に従って、前記外部診断装置と診断データを通信する第２診断モードで動作可能である第２診断ユニットと、前記第１診断ユニットと前記第２診断ユニットとの両方に接続されるとともに、前記装置と前記外部診断装置間での診断データ通信を行うように動作可能である、１本または複数の診断データ接続と、少なくとも１本の前記１本または複数の診断データ接続に接続されるとともに、前記少なくとも１本の前記１本または複数の診断データ接続における所定の信号パターンの検出に応答して、前記第１診断モードと前記第２診断モードとを切り替えることができる監視ユニットとを具備する装置が提供される。
【０００５】
本願技術では、異なる診断機構により共有される診断データ接続の１本において所定の信号パターンを検出し、これを前記異なる診断機構の使用切り替えのトリガーとして使う役割を持つ監視ユニットが提供される。このように、前記診断機構は、少なくとも前記診断機構が持つ接続のいくつかを共有でき、切り替えを制御するための専用接続は形成される必要がない。前記監視ユニットは、前記診断ユニットのうちの１つそれ自体の内部に形成されても良く、構造的に分離された構成要素として形成される必要はない。個々の診断ユニットに専用の内部監視ユニットが別々に形成され、各々の内部監視ユニットが所定のパターンに対し反応しても良い。監視ユニットによって提供される切り替えは、双方向的であっても良く、そうでなくても良い。３つ以上の診断ユニットが形成されても良い。
【０００６】
診断データ接続は、診断機構の間で種々の異なる方法で重ね合わせられても良い。好ましい実施形態においては、前記診断機構の１つは、前記診断データ接続の全てを使い、その他の診断機構の１つは、前記診断データ接続の一部を使う。
【０００７】
前記所定の信号パターンは、幅広い種類の異なる形態をとりうる。単一の所定の信号パターンは、診断モード間でいかなる方向に切り替えるために使われることも可能である。しかしながら、好ましい実施形態においては、（複数の切り替え方向が提供される場合の）各々の切り替え方向もしくは各々の切り替えは、それぞれ専用の所定のパターンを有している。
【０００８】
前記診断機構の間で切り替えが許可されている場合、特に切り替えが動的になされる場合に、前記診断機構の振る舞いに対する信頼性及び予測可能性を改善するために、好ましい実施形態においては、動作していない診断機構は、その他の診断機構が動作している時に、所定の状態に保たれ、好ましくはリセットされる。
【０００９】
同様に、もしも、前記監視ユニットが前記所定の信号パターンを検出することが開始可能になる前に、現在動作している診断機構がリセットされている場合に限って前記切り替えの発生が許可されるのならば、前記切り替えの信頼性はさらに高められる。
【００１０】
前記所定の信号パターンが幅広い種類の異なる形態をとりうることが好ましい一方で、現在動作している診断機構が前記所定の信号パターンにより前記診断機構の外部にある機器の状態を変化させるトリガーを与えられないように選択された形態を有する前記所定の信号パターンであることが特に好ましい。前記所定の信号パターンはこのようにシステム（もしくは少なくともほとんどの実施形態／ユーザー）に対して問題を生じさせない（ｂｅｎｉｇｎ）ように形成できる。異なる切り替え方向に対して異なる信号パターンが要求され、各々の信号パターンは切り替えが行われる元の診断機構に関して問題を生じさせないように仕上げられる。この問題を生じさせないという性質は、切り替えが行われようとする先の診断ユニットが実際に設計の中に存在しない場合に、前記所定のパターンが不都合な効果を引き起こさないことをも意味する。
【００１１】
前記診断データは、幅広い種類の異なる形態をとりうることが好ましく、幅広い種類の異なる用途を目的とすることが望ましい一方で、本願技術はとりわけデバッグデータ、トレースデータ及び製造テストデータに関して有用であるが、これらに限定されるものではない。 
【００１２】
同様に、本願技術は、幅広い種類の異なる診断機構とともに使われることが好ましく、とりわけ、上記診断機構のひとつがＪＴＡＧ診断機構であり、もうひとつが（ＡＲＭシリアルワイヤのような）シリアルワイヤプロトコル診断機構であるシステムに良く適合される。通常のＪＴＡＧシステムに問題を生じさせない所定のパターンにおいては、シフトされた状態、更新された状態またはキャプチャ状態のいずれにも遷移することなく、Ｔｅｓｔ−Ｌｏｇｉｃ−Ｒｅｓｅｔ（ＴＬＲ）状態、Ｒｕｎ−Ｔｅｓｔ／Ｉｄｌｅ（ＲＴＩ）状態、Ｓｅｌｅｃｔ−ＤＲ（Ｓｅｌ−ＤＲ）状態及びＳｅｌｅｃｔ−ＩＲ（Ｓｅｌ−ＩＲ）状態間の所定の順序に従ってＪＴＡＧステートマシンが遷移する。ほとんどのＪＴＡＧシステムに問題を生じさせない他の所定のパターンにおいては、ＪＴＡＧステートマシンは、ＩＲ脚（ＩＲ  ｌｅｇ）を２回通ってリセット状態に戻る。シリアルワイヤプロトコルの問題を生じさせない所定のパターンは、無効なデータヘッダに対応するもの（即ち、所定のフォーマットに一致しないもの）でも良い。
【００１３】
電力を抑えるために、監視ユニットは前記所定のパターンを検知するために動作していない間は、クロック同期を必要としない。
【００１４】
本願技術は、集積回路の分野の利用に限定されないのが好ましいが、とりわけ当該分野において有用である。
【００１５】
本発明の別の構成では、データを処理する装置で、前記装置は、第１データ通信技術に従って、第１診断モードで外部診断装置手段と診断データの通信を行う第１診断ユニット手段と、第２データ通信技術に従って、第２診断モードで前記外部診断装置手段と診断データの通信を行う第２診断ユニット手段と、前記第１診断ユニット手段と前記第２診断ユニット手段との両方に接続されるとともに、前記装置と前記外部診断装置手段間の診断データ通信を行う、１本もしくは複数の診断データ接続手段と、前記１本もしくは複数の診断データ接続手段の少なくとも１本と接続され前記１本もしくは複数のデータ接続の少なくとも１本における所定の信号パターンの検知に反応して前記第１診断モードと前記第２診断モード間の切り替えを行う監視ユニット手段とが提供される。
【００１６】
本発明のさらに別の構成では、装置における診断データの通信方法が提供され、前記方法は、第１診断モードにおいて、第１データ通信技術に従い第１診断ユニットと外部診断装置間で診断データの通信を行う段階と、第２診断モードにおいて、第２データ通信技術に従い第２診断ユニットと前記外部診断装置間で診断データの通信を行う段階と、前記装置と前記診断装置間の診断データ通信を形成するために、前記第１診断ユニットと前記第２診断ユニットとの両方とに、１本または複数の診断データ通信接続を行う段階と、前記１本または複数の診断データ接続の少なくとも１本と接続されるとともに、前記少なくとも１本の前記１本または複数の診断データ接続における所定の信号パターンの検知に応答して前記第１診断モードと前記第２診断モード間との切り替えを行う監視ユニットを使う段階とを具備している。
【００１７】
本発明の補足的な構成では、データ処理装置に接続するための診断装置が提供され、前記診断装置は、前記データ処理装置の内部で第１診断ユニットと第２診断ユニットとの両方に接続されるとともに、前記データ処理装置と前記診断装置間の診断データ通信を提供するために使われる１本または複数の診断データ接続と、前記１本または複数の診断データ接続の前記少なくとも１本において所定の信号パターンを生成し、第１データ通信技術に従って前記第１診断装置が前記診断装置と診断データの通信を行う第１診断モードと、第２データ通信技術に従い前記第２診断装置が前記診断装置と診断データの通信を行う前記第２診断モードとの間で前記装置の切り替えを行うために使われる信号生成器とを具備している。
【００１８】
本発明の補足的な構成は、ビルトインされた複数の診断機構がデータ処理装置と相互作用し、適切に制御するように作られた外部診断装置であるのが望ましい。上述されたデータ処理装置それ自体に関連する本発明の様々な構成は、外部診断装置及びそれにより生成される信号に反映される。
【００１９】
上記及び本発明における他の対象物、特徴、長所は、添付図面と関連付けて読まれるべきである以下の実例となる実施態様の詳細な説明により明らかとなる。
【発明を実施するための最良の形態】
【００２０】
図１は、従来からあるＪＴＡＧ接続と、最新のシリアルワイヤプロトコル接続との両方をサポートするデバッグポートを図示している。特に、ＪＴＡＧ診断ユニット２は、シリアルワイヤ診断ユニット４と接続して形成されている。監視ユニット６は、前記ＪＴＡＧ診断ユニット２が動作している第１診断モードと、前記シリアルワイヤ診断ユニット４が動作している第２診断モードとの間で切り替えを制御する役割を担う。前記監視ユニット６は、別の構成要素として図示されているが、その役割は、前記診断ユニット２，４の１つまたは両方の内部にある適切な回路により果たしても良い。
【００２１】
図１に図示された回路の一部分は、実際にはより大きい集積回路の一部分を形成する。前記より大きい集積回路は、図１に図示された構成要素によってサポートされる診断操作が実行されるより多くの機能ブロックを具備する。簡潔を旨とするために、集積回路の残りの部分を形成するさらなる機能ブロックは図１には図示されていない。前記ＪＴＡＧ診断ユニット２と前記シリアルワイヤ診断ユニット４は、前記集積回路の残りの部分で診断操作の実行を制御し、かつ指揮することはもちろん、前記集積回路上にある、もしくは前記集積回路外にある診断データ通信をサポートする。
【００２２】
データ接続ピン８，１０，１２，１４，１６は、前記診断データ用のチップ上、もしくは前記チップ外の通信を提供する。前記診断データ接続の５本全てが、公知のＪＴＡＧ通信機構に従ってＪＴＡＧ診断ユニット２によって使用される。データ接続１４，１６は、シリアルワイヤ診断ユニット４によって使用される。接続１４は、データをやり取りするための双方向シリアル接続であり、接続１６は、シリアルデータと連携させてシリアルワイヤ診断ユニット４によって使われる診断クロックを提供するクロック信号である。  
【００２３】
システムがリセット状態から起動する時に、ｎＰＯＴＲＳＴ信号は、ＪＴＡＧ診断ユニット２を動作させ、シリアルワイヤ診断ユニット４を非動作にする役割を担っている。監視ユニット６は、その際に、ＯＲゲート１８の出力を「高」に維持し、シリアルワイヤ診断ユニット４をリセット状態に維持する役割を担う、ＯＲゲート１８に供給される出力信号を生成する。前記診断接続８，１０，１２，１４，１６は、起動時リセットに続いて、ＪＴＡＧ診断ユニット２により普通の方法で使用される。従って、レガシー外部診断装置は、いかなるシリアルワイヤ診断機能をも有する必要はない。なぜなら、前記集積回路はデフォルトでＪＴＡＧモードになり、前記５本のデータ接続は、前記レガシー外部診断装置が期待する方法で処理を行うからである。
【００２４】
外部診断装置２０は、典型的には、前記データ接続８，１０，１２，１４，１６経由でテスト対象の装置に対し物理レベルの接続を提供するインターフェースユニットを備え、適切なソフトウェアを実行する一般用途向けコンピュータの形態をなしている。外部診断装置２０がシリアルワイヤ機能を有するのであれば、前記外部診断装置２０はＪＴＡＧ診断ユニット２をリセット状態に遷移させるために最初に適切なＪＴＡＧ  ＴＭＳ信号を印加することにより、シリアルワイヤ診断モードに切り替えることができる。前記ＪＴＡＧ  ＴＭＳ信号は、その後前記ＪＴＡＧ診断ユニット２によって前記監視ユニット６にＪＴＡＧ＿ＩＮ＿ＴＬＲ信号とともに送信される。当該時点においては、前記監視ユニット６は動作状態になり、クロック同期を開始する。前記監視ユニット６は、ＴＭＳデータ接続１４で受信されたさらなる信号に応答し、もし、ＩＲ脚を２回通ってリセット状態に戻る前記ＪＴＡＧステートマシンに対応する所定のパターンを有する信号が受信されると、前記シリアルワイヤ診断モードへの切り替えを開始する。ＪＴＡＧ診断ユニット２は、前記所定のパターンの終了時にリセット状態に戻され、前記シリアルワイヤ診断ユニット４が動作している間、当該状態に保たれる。前記監視ユニット６からのモード選択信号ＭＳは、シリアルワイヤ診断ユニット４を動作させるために使われる。前記監視ユニット６により駆動される前記ＯＲゲート１８の入力の１つに送信される信号は、もはや「高」ではなく、従って、前記ＯＲゲートは、前記データ接続１４で受信された信号を前記シリアルワイヤ診断ユニット４に送信する。これにより、シリアルワイヤ診断ユニット４は、クロック同期、初期化、もしくは他のセットアップ活動を確立させるのに必要な適切な開始シーケンスによりリセット状態を脱することが可能となる。
【００２５】
前記シリアルワイヤ診断ユニット４が動作しているときは、ＪＴＡＧ診断ユニット２はリセット状態に保たれる。ＯＲゲート２２は、前記データ接続１４から前記シリアルワイヤプロトコル信号が前記ＪＴＡＧ診断ユニット２に到達しないようにゲートをオフにするために使われる。なぜなら前記ＯＲゲート２２の一方の入力は、シリアルワイヤ診断モード時に前記監視ユニット６により「高」にされているからである。切り替え後、前記監視ユニット６は、クロック同期しない状態に戻り、所定のパターンを監視しなくなる。なぜなら、前記シリアルワイヤ診断ユニット４は今やリセット状態に留まらないからである。
【００２６】
シリアルワイヤ診断モードからＪＴＡＧ診断モードへの復帰は、同様にして行われる。まず、前記シリアルワイヤ診断ユニット４がリセット状態に遷移する。これにより、前記監視ユニット６に供給されるＳＷＤ＿ＩＮ＿ＲＥＳＥＴシグナルがアサートされ、前記監視ユニットを覚醒させ、前記診断データ接続４で所定のパターンの検知を開始させる。ここで検知される前記所定のパターンは、シリアルプロトコルデータパケットの無効（即ち所定のフォーマットに一致しない）ヘッダデータに対応するシーケンスでもある。このように、前記無効ヘッダデータは、前記シリアルワイヤ診断ユニット４に問題を生じさせないものであり、前記シリアルワイヤ診断ユニット４に前記シリアルワイヤ診断ユニット４自体の外部のいかなる状態も変化させない。同様に、ＪＴＡＧ診断ユニット２の動作時に前記監視ユニット６によって監視される前記所定のパターンは、前記ＪＴＡＧ診断ユニット２に関して問題を生じさせないものであり、前記ＪＴＡＧ診断ユニット２に前記ＪＴＡＧ診断ユニット自体の外部のいかなる状態も変化させない。前記所定のパターンが前記監視ユニット６により検出されると、モード選択ＭＳ信号が変更され、前記ＪＴＡＧ診断ユニット２が動作し、前記ＯＲゲート１８がブロックされ、前記ＯＲゲート２２がブロック解除され、前記ＪＴＡＧ診断モードに戻る。前記監視ユニット６は、その後クロック同期をやめ、前記診断データ接続１４上のパターンを検出しない状態に戻る。
【００２７】
図２は、上記図１のシステムにより推移させられる状態を図示した状態図である。図２に描かれた状態を表す楕円の内部において、上の行はどの診断モードが現在選択されているかを指し、下の行は現在の状態もしくは活動を指す。状態２４，２６は、それぞれ、動作してＪＴＡＧ診断操作を実行するＪＴＡＧ診断ユニット２と、動作してシリアルワイヤ診断活動を行うシリアルワイヤ診断ユニット４とに対応する。ＪＴＡＧ診断モードから遷移するとき、前記システムはまずＪＴＡＧ診断ユニット２のリセット状態である状態２８に遷移する。その後、「低」にされるＴＭＳ信号に続き、状態３０において前記診断ユニット６が検知した第１所定パターンに対応する１５のさらなる特徴的な信号レベルを介して遷移がなされる。もし一致するシーケンスが発見されれば、状態３２への遷移がなされ、シリアルワイヤ診断ユニット４が選択され、動作し、かつラインリセット状態に置かれる。もし、状態３０においてシーケンス不一致が発生したら、前記ＪＴＡＧ診断ユニット２は選択されたままとなり、段階２４への復帰がなされる。
【００２８】
ステップ３２において、シリアルワイヤ診断モードへの変更に成功したら、状態３４を経由して状態２６に到達する。もし、前記ＪＴＡＧ診断モードへ戻る切り替えが必要なら、前記シリアルワイヤ診断ユニットは、まず段階３２でリセット状態に置かれ、特徴的なデータのパターンが適用され、前記パターンは段階３４で検知される。もし不一致が発生したならば、段階２６へ戻され、そうではなくシーケンスが完了し正しく検知されたならば、システムは段階２８に遷移し、ＪＴＡＧ診断モードが選択される。  
【００２９】
前記診断モード間の切り替えに使われる所定のパターンは、様々な種類の異なる形態をとりうるのが好ましい。１つの例では、所定のパターンは、前記ＪＴＡＧステートマシンのＴＭＳ遷移における変化が、前記ＪＴＡＧステートマシンの上位４つの状態、Ｔｅｓｔ−Ｌｏｇｉｃ−Ｒｅｓｅｔ（ＴＬＲ）、Ｒｕｎ−Ｔｅｓｔ／Ｉｄｌｅ（ＲＴＩ）、Ｓｅｌｅｃｔ−ＤＲ（Ｓｅｌ−ＤＲ）及びＳｅｌｅｃｔ−ＩＲ（Ｓｅｌ−ＩＲ）に限られるようなものである。これにより、ＴＡＰコントローラの、シフト状態、更新状態、キャプチャ状態における予期しない振る舞いに関連する潜在的な複雑さを避けることができる。
【００３０】
ＪＴＡＧからＳＷＤへの、及びＳＷＤからＪＴＡＧへの切り替えシーケンスは、どちらも１６ビットであり、Ｔｅｓｔ−Ｌｏｇｉｃ−Ｒｅｓｅｔ（ＴＬＲ）状態から始まる上位４状態間での５ビット、及び６ビットからなるループシーケンスの組み合わせにより構成される。ループシーケンスは、次の通りである。
【００３１】
【数１】
0005259080.tif 000002
【００３２】
ＪＴＡＧからＳＷＤへの切り替えシーケンスについて説明する。
【００３３】
ＪＴＡＧからＳＷＤへのデータシーケンスは、対象が以前にＪＴＡＧまたはＳＷＤのどちらを期待していても、前記対象がＳＷＤを使用するように切り替わることを確実にする。前記シーケンスは、ＪＴＡＧ  ＴＡＰステートマシンに与えられた時には、充分無害で、またいかなるデバッグもしくはテスト操作の一部にもならない状態遷移を発生するようなものであり、ＳＷ−ＤＰに与えられた時には、問題のある副作用を伴うＤＡＰ操作は行わないようなものでもある。
【００３４】
ＪＴＡＧからＳＷＤへの切り替えシーケンスは次の並び０１１１１００１１１１００１１１の１６ビットシーケンスであり、ＭＳＢを先頭にして転送される１６’ｈ７９Ｅ７として表現されても良いし、ＬＳＢを先頭にして転送される１６’ｈＥ７９Ｅとして表現されても良い。即ち、パターン５ｂの次に６がきて、その次に５ａがくる。
【００３５】
ＳＷＤからＪＴＡＧへの切り替えシーケンスについて説明する。
【００３６】
同様に、ＳＷＤからＪＴＡＧへのデータシーケンスは、対象が以前にＪＴＡＧまたはＳＷＤのどちらを期待していても、前記対象がＪＴＡＧを使うように切り替わることを確実にする。前記シーケンスは、ＳＷ−ＤＰに与えられた時には、充分無害で、またいかなる通常のデバッグ操作の一部にもならないＤＡＰ操作を行うようなものであり、ＪＴＡＧ  ＴＡＰステートマシンに与えられた時には、充分無害な状態遷移を発生するようなものでもある。
【００３７】
ＳＷＤからＪＴＡＧへの切り替えシーケンスは、次の並び００１１１１００１１１００１１１の１６ビットシーケンスであり、ＭＳＢを先頭にして送信される１６’ｈ３ＣＥ７として表現されてもよいし、ＬＳＢを先頭にして送信される１６’ｈＥ７３Ｃとして表現されても良い。即ち、パターン６の次に５ａがきて、その次に５ａがくる。
【００３８】
もう１つの実施形態においては、ＪＴＡＧ診断モードからシリアルワイヤ診断モードに切り替えを行うためのシーケンスは、０１１０１１０１１０１１０１１１、もしくは０ｘ６ＤＢ７である。このシーケンスによって前記ＪＴＡＧ制御ステートマシンは、シフトを伴わずにＩＲ脚を２回通って、前記リセット状態に復帰する。ゼロが２つ以上続く事はないので、もしシーケンスが任意の点から開始されたとしてもシフト状態への遷移がある程度防止される。推奨される切り替えシーケンスは、１６ビットのシーケンスを送信する前に前記ＪＴＡＧステートマシンが前記リセット状態にすることを強制するものであり、任意の点から開始しないことを強制するものである。この１６ビットのパターンはまた、前記シリアルワイヤ診断モードの通信機構の範囲では（パリティ及びストップビットが誤りであり）無効ヘッダを表現する。この所定のシーケンスは、ほとんどのＪＴＡＧコントローラの実施態様及び利用に対して問題を生じさせないものである。
【００３９】
前記シリアルワイヤ診断モードから前記ＪＴＡＧ診断モードに戻る時に、特定の１６ビット「シリアルワイヤデバッグ放棄」パターンワイヤが、データ接続１４に送信される。このパターンは０１１１０１０１０１１１０１０１、もしくは０ｘ７５７５である。前記パターンは、シリアルワイヤプロトコルの範囲内では無効ヘッダである。このシーケンスは、ゼロが２回以上続く事はない（シフト状態に到達することもない）。前記パターンは、有効な単一のワイヤヘッダとして標本抽出されることもない。なぜなら、前記パターンは、誤ったパリティストップおよびマークビットを有するからである。
【００４０】
次のシーケンスは、不定状態（ｕｎｋｎｏｗｎ  ｓｔａｔｅ）からシリアルワイヤ診断モードを選択するために推奨される。
【００４１】
【数２】
0005259080.tif 000003
【００４２】
次のシーケンスは、不定状態からＪＴＡＧ診断モードを選択するために推奨される。
【００４３】
【数３】
0005259080.tif 000004
【００４４】
以上は、ＪＴＡＧおよびシリアルワイヤデバッグデータに関連した説明であるが、本発明の技術は、トレースデータ及び製造テストデータに適用可能である。実際、シリアルワイヤトレースデータは、シリアルワイヤ診断モード時に、図１において示唆されるようにデータ接続８を経由して出力されても良い。
【００４５】
本発明を説明する実施形態が、添付図面を参照して本明細書において詳細に説明されてきたが、本発明はこれらの明確な実施形態に限定されるものではなく、付加された特許請求の範囲で定義されるような本発明の範囲及び趣旨を逸脱せずに当業者によって様々な変形例及び修正例が達成されうることが理解されなければならない。
【図面の簡単な説明】
【００４６】
【図１】図１は、複数の診断ユニットと監視ユニットを具備する集積回路の一部を構造的に図示して説明している。
【図２】図２は、図１の実施例を使って診断モード間の切り替えを制御するときの状態の遷移を図示して説明している。
【符号の説明】
【００４７】
２  ＪＴＡＧ診断ユニット
４  シリアルワイヤ診断ユニット
６  監視ユニット
８  データ接続ピン（ＤＢＧＴＤＯ）
１０  データ接続ピン（ＤＢＧＴＤＩ）
１２  データ接続ピン（ｎＤＢＧＲＳＴ）
１４  データ接続ピン（ＤＢＧＴＭＳ）
１６  データ接続ピン（ＤＢＧＣＬＫ）
１８  ＯＲゲート
２０  外部診断装置
２２  ＯＲゲート
【図１】
0005259080.tif 000005
【図２】
0005259080.tif 000006