(57)【要約】集積回路は、シリアルスキャンチェーンまたはデバッグバスアクセス回路のような診断回路を備え、その診断回路との伝送は、外部の診断装置への双方向シリアルリンクと接続されたインターフェイス回路を用いて確立される。双方向シリアルリンクは、データと制御信号を伝達する。シリアルプロトコルは、ペーシング信号についての供給を含み、これにより、診断回路は、外部診断装置に、更なるデータを受信する準備ができたとき、及び／又は特定の診断動作を完了したときを指示することができる。この自己ペーシングは、とても有益である。外部診断装置によって生成されたトレーニング信号は、初期化でインターフェイス回路によって検出され、そしてサンプリングポイントのタイミングを駆動するために使用されてもよい。従って、別個のクロック信号を供給する必要性が、このような環境において回避される。
2006514296.tif 000002
【特許請求の範囲】
【請求項１】
データを処理するための集積回路であって、前記集積回路は、
データ処理動作を実行する働きをする機能回路と、
前記機能回路に関する診断動作を実行する働きをする診断回路と、
前記診断回路と外部診断装置との間の伝送を提供する働きをするインターフェイス回路とを備え、前記インターフェイス回路は、双方向シリアル信号を使用して、
(i)前記診断回路の前記診断動作を制御するために、前記外部診断装置から前記診断回路に制御信号を転送すると共に、
(ii)前記外部診断装置と前記診断回路との間で診断データを転送する集積回路。
【請求項２】
前記診断回路は、
動作のデバッグ、
テスト動作の作成、
プログラミング動作の作成、
構成動作の作成、
のうちの１または２以上を実行する働きをする請求項１記載の集積回路。
【請求項３】
前記双方向シリアル信号は、前記外部診断装置から前記診断回路にリセット信号を伝送する働きをし、前記リセット信号は、前記診断回路をリセットする働きをする請求項１または２の何れか1項記載の集積回路。
【請求項４】
前記リセット信号は、前記外部診断装置が所定のリセット期間中に前記双方向シリアル信号を所定のリセットレベルに保持したものであることを含む請求項３記載の集積回路。
【請求項５】
前記双方向シリアル信号は、前記診断回路から前記外部診断装置にペーシング信号を伝送する働きをし、前記ペーシング信号は、前記診断回路が伝送の準備ができているかどうかを示す働きをする請求項１ないし４の何れか1項記載の集積回路。
【請求項６】
前記双方向シリアル信号は、前記診断回路から前記外部診断装置にペーシング信号を伝送する働きをし、前記ペーシング信号は、前記診断回路が動作を完了したかどうかを示す働きをする請求項１ないし５の何れか1項記載の集積回路。
【請求項７】
前記双方向シリアル信号は、別の信号を伝送するための別のタイムスロットから成るシリアル信号プロトコルを備え、前記診断回路は、ペーシング信号タイムスロットの期間中、前記双方向シリアル信号を所定のペーシングレベルにする請求項５または６の何れか1項記載の集積回路。
【請求項８】
前記双方向シリアル信号は、別の信号を伝送するための別のタイムスロットから成るシリアル信号プロトコルを備え、前記双方向シリアル信号は、シリアルデータのフレームのスタートを示すスタート信号を伝送する働きをし、前記スタート信号は、スタート信号タイムスロットを規定するための所定のスタートレベルに駆動される前記双方向シリアル信号である請求項１ないし７の何れか1項記載の集積回路。
【請求項９】
前記伝送は、前記外部診断装置が前記所定のスタートレベルと異なるレベルに前記双方向シリアル信号を保持することによって休止状態に保持され、これにより、前記双方向シリアル信号が、伝送されているデータの次のフレームが続く前記所定のスタートレベルに変化するまで、前記スタート信号タイムスロットを遅延させる請求項８記載の集積回路。
【請求項１０】
前記双方向シリアル信号は、別の信号を伝送するための別のタイムスロットから成るシリアル信号プロトコルを備え、前記双方向シリアル信号は、シリアルデータのフレームのエンドを示すストップ信号を伝送する働きをし、前記ストップ信号は、ストップ信号タイムスロット中に所定のストップレベルに駆動される前記双方向シリアル信号である請求項１ないし９の何れか１項記載の集積回路。
【請求項１１】
前記インターフェイス回路は、前記伝送が、前記双方向シリアル信号内で検出される遷移に基づいてクロックされる非クロックモードで動作する請求項１ないし１０の何れか１項記載の集積回路。
【請求項１２】
前記診断回路は、前記ストップ信号の第1部分の受信を使用して診断動作のアボートを示す請求項１０または１１の何れか１項記載の集積回路。
【請求項１３】
前記診断回路は、前記ストップビットの第２部分の受信を使用して、前記診断回路によるシリアルデータの前記フレームの受信を確認する請求項１０，１１，１２の何れか1項記載の集積回路。
【請求項１４】
前記インターフェイス回路は、トレーニングモードで動作して、前記双方向シリアル信号をサンプリングするためのサンプリングポイントタイミングを決定するために前記外部診断装置から送られた所定形式のトレーニング信号に応答する請求項１ないし１３の何れか1項記載の集積回路。
【請求項１５】
前記インターフェイス回路は前記トレーニングモードに初期化する請求項１４記載の集積回路。
【請求項１６】
前記初期化は、前記インターフェイス回路のリセットの後に行われる請求項１５記載の集積回路。
【請求項１７】
前記インターフェイス回路は、トレーニングモードで動作して、トレーニングが正常に完了したことを示す前記ペーシング信号と前記双方向シリアル信号とをサンプリングするためのサンプルポイントタイミングを決定するために前記外部診断装置から送られた所定形式のトレーニング信号に応答する請求項５ないし１６の何れか１項記載の集積回路。
【請求項１８】
前記診断回路は、
(i)前記機能回路から診断データをキャプチャする働きをする１又は２以上のスキャンチェーンと、
(ii)前記機能回路に診断データを供給する働きをする１又は２以上のスキャンチェーンと、
(iii)前記機能回路内のバスを介して伝送を提供する働きをする１又は２以上のデバッグバスアクセス回路と
のうちの１又は２以上を備えた請求項１ないし１７の何れか1項記載の集積回路。
【請求項１９】
前記インターフェイス回路は、
(i)前記伝送が、前記集積回路によって使用される個別クロック信号によってクロックされるクロックモードと
(ii)前記伝送が、前記双方向シリアル信号内で検出された遷移に基づいてクロックされる非クロックモードと
で動作する請求項１ないし１８の何れか1項記載の集積回路。
【請求項２０】
前記クロックモードにおいて、前記伝送は、前記集積回路によって使用される複数のクロック信号であるクロック信号によってクロックされる請求項１９記載の集積回路。
【請求項２１】
前記インターフェイス回路は、前記非クロックモードで初期化する働きをすると共に、前記クロックモードに切り替わることが可能である請求項１９または２０の何れか1項記載の集積回路。
【請求項２２】
集積回路に関して診断動作を実行するための診断装置であって、前記診断装置は、
前記診断装置と前記集積回路内の診断回路との間の伝送を提供する働きをするインターフェイス回路を備え、
前記インターフェイス回路は双方向シリアル信号を使用して、
(i)前記集積回路によって実行される診断動作を制御するために、前記診断装置から前記集積回路に制御信号を転送すると共に、
(ii)前記診断装置と前記集積回路との間で診断データを転送する診断装置。
【請求項２３】
前記診断装置は、
動作のデバッグ、
テスト動作の作成、
プログラミング動作の作成、
構成動作の作成、
のうちの１または２以上を実行する働きをする請求項２２記載の診断装置。
【請求項２４】
前記双方向シリアル信号は、前記診断装置から前記診断回路にリセット信号を伝送する働きをし、前記リセット信号は、前記診断回路をリセットする働きをする請求項２２または２３の何れか1項記載の新装置回路。
【請求項２５】
前記リセット信号は、前記診断装置が所定のリセット期間中に前記双方向シリアル信号を所定のリセットレベルに保持したものであることを含む請求項２４記載の診断装置。
【請求項２６】
前記双方向シリアル信号は、前記診断回路から前記診断装置にペーシング信号を伝送する働きをし、前記ペーシング信号は、前記診断回路が伝送の準備ができているかどうかを示す働きをする請求項２２ないし２５の何れか1項記載の診断装置。
【請求項２７】
前記双方向シリアル信号は、前記診断回路から前記外部診断装置にペーシング信号を伝送する働きをし、前記ペーシング信号は、前記診断回路が動作を完了したかどうかを示す働きをする請求項２２ないし２６の何れか1項記載の診断装置。
【請求項２８】
前記双方向シリアル信号は、別の信号を伝送するための別のタイムスロットから成るシリアル信号プロトコルを備え、前記診断回路は、ペーシング信号タイムスロットの期間中、前記双方向シリアル信号を所定のペーシングレベルにする請求項２６または２７の何れか1項記載の診断装置。
【請求項２９】
前記双方向シリアル信号は、別の信号を伝送するための別のタイムスロットから成るシリアル信号プロトコルを備え、前記双方向シリアル信号は、シリアルデータのフレームのスタートを示すスタート信号を伝送する働きをし、前記スタート信号は、スタート信号タイムスロットを規定するための所定のスタートレベルに駆動される前記双方向シリアル信号である請求項２２ないし２８の何れか1項記載の診断装置。
【請求項３０】
前記伝送は、前記外部診断装置が前記所定のスタートレベルと異なるレベルに前記双方向シリアル信号を保持することによって休止状態に保持され、これにより、前記双方向シリアル信号が、伝送されているデータの次のフレームが続く前記所定のスタートレベルに変化するまで、前記スタート信号タイムスロットを遅延させる請求項２９記載の診断装置。
【請求項３１】
前記双方向シリアル信号は、別の信号を伝送するための別のタイムスロットから成るシリアル信号プロトコルを備え、前記双方向シリアル信号は、シリアルデータのフレームのエンドを示すストップ信号を伝送する働きをし、前記ストップ信号は、ストップ信号タイムスロット中に所定のストップレベルに駆動される前記双方向シリアル信号である請求項２２ないし３０の何れか１項記載の診断装置。
【請求項３２】
前記インターフェイス回路は、前記伝送が、前記双方向シリアル信号内で検出される遷移に基づいてクロックされる非クロックモードで動作する請求項２２ないし３１の何れか１項記載の診断装置。
【請求項３３】
前記診断回路は、前記ストップ信号の第1部分の受信を使用して診断動作のアボートを示す請求項３１または３２の何れか１項記載の診断装置。
【請求項３４】
前記診断回路は、前記ストップビットの第２部分の受信を使用して、前記診断回路によるシリアルデータの前記フレームの受信を確認する請求項３１ないし３３の何れか1項記載の診断装置。
【請求項３５】
前記インターフェイス回路は、トレーニングモードで動作して、前記双方向シリアル信号をサンプリングするためのサンプリングポイントタイミングを決定するために前記外部診断装置から送られた所定形式のトレーニング信号に応答する請求項２２ないし３４の何れか1項記載の診断装置。
【請求項３６】
前記インターフェイス回路は前記トレーニングモードに初期化する請求項３５記載の診断装置。
【請求項３７】
前記初期化は、前記インターフェイス回路のリセットの後に行われる請求項３６記載の診断装置。
【請求項３８】
前記インターフェイス回路は、トレーニングモードで動作して、トレーニングが正常に完了したことを示す前記ペーシング信号と前記双方向シリアル信号とをサンプリングするためのサンプルポイントタイミングを決定するために前記外部診断装置から送られた所定形式のトレーニング信号に応答する請求項２６ないし３７の何れか１項記載の診断装置。
【請求項３９】
前記診断回路は、
(i)前記機能回路から診断データをキャプチャする働きをする１又は２以上のスキャンチェーンと、
(ii)前記機能回路に診断データを供給する働きをする１又は２以上のスキャンチェーンと、
(iii)前記機能回路内のバスを介して伝送を提供する働きをする働く１又は２以上のデバッグバスアクセス回路と
のうちの１又は２以上を備えた請求項２２ないし３８の何れか1項記載の診断装置。
【請求項４０】
前記インターフェイス回路は、
(i)前記伝送が、前記集積回路によって使用される個別クロック信号によってクロックされるクロックモードと
(ii)前記伝送が、前記双方向シリアル信号内で検出された遷移に基づいてクロックされる非クロックモードと
で動作する請求項２２ないし３９の何れか1項記載の診断装置。
【請求項４１】
前記クロックモードにおいて、前記伝送は、前記集積回路によって使用される複数のクロック信号であるクロック信号によってクロックされる請求項４０記載の診断装置。
【請求項４２】
前記インターフェイス回路は、前記非クロックモードで初期化する働きをすると共に、前記クロックモードに切り替わることが可能である請求項４０または４１の何れか1項記載の診断装置。
【請求項４３】
集積回路内の機能回路に関する診断動作を実行する働きをする診断回路と通信する方法であって、前記方法は、
双方向シリアル信号を使用して、
(i)前記診断回路の前記診断動作を制御するために、外部診断装置から前記診断回路に制御信号を転送すると共に、
(ii)前記外部診断装置と前記診断回路との間で診断データを転送する方法。
【請求項４４】
前記診断回路は、
動作のデバッグ、
テスト動作の作成、
プログラミング動作の作成、
構成動作の作成、
のうちの１または２以上を実行する働きをする請求項４３記載の方法。
【請求項４５】
前記双方向シリアル信号は、前記外部診断装置から前記診断回路にリセット信号を伝送する働きをし、前記リセット信号は、前記診断回路をリセットする働きをする請求項４３または４４の何れか1項記載の方法。
【請求項４６】
前記リセット信号は、前記外部診断装置が所定のリセット期間中に前記双方向シリアル信号を所定のリセットレベルに保持したものであることを含む請求項４５記載の方法。
【請求項４７】
前記双方向シリアル信号は、前記診断回路から前記外部診断装置にペーシング信号を伝送する働きをし、前記ペーシング信号は、前記診断回路が伝送の準備ができているかどうかを示す働きをする請求項４３ないし４６の何れか1項記載の方法。
【請求項４８】
前記双方向シリアル信号は、前記診断回路から前記外部診断装置にペーシング信号を伝送する働きをし、前記ペーシング信号は、前記診断回路が動作を完了したかどうかを示す働きをする請求項４３ないし４７の何れか1項記載の方法。
【請求項４９】
前記双方向シリアル信号は、別の信号を伝送するための別のタイムスロットから成るシリアル信号プロトコルを備え、前記診断回路は、ペーシング信号タイムスロットの期間中、前記双方向シリアル信号を所定のペーシングレベルにする請求項４７または４８の何れか1項記載の方法。
【請求項５０】
前記双方向シリアル信号は、別の信号を伝送するための別のタイムスロットから成るシリアル信号プロトコルを備え、前記双方向シリアル信号は、シリアルデータのフレームのスタートを示すスタート信号を伝送する働きをし、前記スタート信号は、スタート信号タイムスロットを規定するための所定のスタートレベルに駆動される前記双方向シリアル信号である請求項４３ないし４９の何れか1項記載の方法。
【請求項５１】
前記伝送は、前記外部診断装置が前記所定のスタートレベルと異なるレベルに前記双方向シリアル信号を保持することによって休止状態に保持され、これにより、前記双方向シリアル信号が、伝送されているデータの次のフレームが続く前記所定のスタートレベルに変化するまで、前記スタート信号タイムスロットを遅延させる請求項５０記載の方法。
【請求項５２】
前記双方向シリアル信号は、別の信号を伝送するための別のタイムスロットから成るシリアル信号プロトコルを備え、前記双方向シリアル信号は、シリアルデータのフレームのエンドを示すストップ信号を伝送する働きをし、前記ストップ信号は、ストップ信号タイムスロット中に所定のストップレベルに駆動される前記双方向シリアル信号である請求項４３ないし５１の何れか１項記載の方法。
【請求項５３】
前記インターフェイス回路は、前記伝送が、前記双方向シリアル信号内で検出される遷移に基づいてクロックされる非クロックモードで動作する請求項４３ないし５２の何れか１項記載の方法。
【請求項５４】
前記診断回路は、前記ストップ信号の第1部分の受信を使用して診断動作のアボートを示す請求項５２または５３の何れか１項記載の方法。
【請求項５５】
前記診断回路は、前記ストップビットの第２部分の受信を使用して、前記診断回路によるシリアルデータの前記フレームの受信を確認する請求項５２ないし５４の何れか1項記載の方法。
【請求項５６】
前記インターフェイス回路は、トレーニングモードで動作して、前記双方向シリアル信号をサンプリングするためのサンプリングポイントタイミングを決定するために前記外部診断装置から送られた所定形式のトレーニング信号に応答する請求項４３ないし５５の何れか1項記載の方法。
【請求項５７】
前記インターフェイス回路は前記トレーニングモードに初期化する請求項５６記載の方法。
【請求項５８】
前記初期化は、前記インターフェイス回路のリセットの後に行われる請求項５７記載の方法。
【請求項５９】
前記インターフェイス回路は、トレーニングモードで動作して、トレーニングが正常に完了したことを示す前記ペーシング信号と前記双方向シリアル信号とをサンプリングするためのサンプルポイントタイミングを決定するために前記外部診断装置から送られた所定形式のトレーニング信号に応答する請求項４７ないし５８の何れか１項記載の方法。
【請求項６０】
前記診断回路は、
(i)前記機能回路から診断データをキャプチャする働きをする１又は２以上のスキャンチェーンと、
(ii)前記機能回路に診断データを供給する働きをする１又は２以上のスキャンチェーンと、
(iii)前記機能回路内のバスを介して伝送を提供する働きをする１又は２以上のデバッグバスアクセス回路と
のうちの１又は２以上を備えた請求項４３ないし５９の何れか1項記載の方法。
【請求項６１】
前記インターフェイス回路は、
(i)前記伝送が、前記集積回路によって使用される個別クロック信号によってクロックされるクロックモードと、
(ii)前記伝送が、前記双方向シリアル信号内で検出された遷移に基づいてクロックされる非クロックモードと、
で動作する請求項４３ないし６０の何れか1項記載の方法。
【請求項６２】
前記クロックモードにおいて、前記伝送は、前記集積回路によって使用される複数のクロック信号であるクロック信号によってクロックされる請求項６１記載の方法。
【請求項６３】
前記インターフェイス回路は、前記非クロックモードで初期化する働きをすると共に、前記クロックモードに切り替わることが可能である請求項６１または６２の何れか1項記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、集積回路の分野に関する。更に詳しくは、本発明は、オンボード診断回路を備えた集積回路に関し、その回路と共に診断インターフェイスを介して伝送することが望ましい。
【背景技術】
【０００２】
従来、オンボード診断システムを備えた集積回路が提供されている。このようなシステムの例としては、オンチップメモリをテストするためのＢＩＳＴコントローラ、バウンダリスキャンセルチェーン、更には一般的なスキャンセルチェーンがある。例えば、ＩＥＥＥ標準１１４９に従うＪＴＡＧ診断システムのＴＡＰコントローラによって利用されるインターフェイスのような、集積回路に対する専用診断回路インターフェイスを提供することが知られている。一般に、ＪＴＡＧインターフェイスは、この用途専用の４ないし６個の外部ピンを集積回路パッケージ上に必要とする。
【０００３】
集積回路の複雑さ、サイズ、性能が増大するにつれ、その機能（非診断）動作を支援するために集積回路に形成された外部ピン接続の数の増加について一般的要件が存在する。集積回路の上記オンボード診断システムは、集積回路の性能と機能的挙動に与える影響が小さいことが望ましい。
【発明の開示】
【課題を解決するための手段】
【０００４】
一つの側面から見ると、本発明は、データを処理するための集積回路を提供し、前記集積回路は、
データ処理動作を実行する働きをする機能回路と、
前記機能回路に関する診断動作を実行する働きをする診断回路と、
前記診断回路と外部診断装置との間の伝送を提供する働きをするインターフェイス回路とを備え、前記インターフェイス回路は、双方向シリアル信号を使用して、
(i)前記診断回路の前記診断動作を制御するために、前記外部診断装置から前記診断回路に制御信号を転送すると共に、
(ii)前記外部診断装置と前記診断回路との間で診断データを転送する。
【０００５】
本発明は、オンボード診断システム専用の複数の外部ピンは、このようなオンボード診断システムの提供において不利なオーバーヘッドを意味することを認識している。本技術は、インターフェイスカードを備えたコンピュータのように、外部診断装置とオンボード診断システムとの間で必要とされるような診断データおよび制御信号の両方を転送するために双方向シリアル信号を利用する。これは、診断機能を支援するために必要とされるピン数の有利な減少を可能にし、いくつかの実施形態では、これは、単一の外部ピンについての要求にまで減少され得る。
【０００６】
本診断回路は、動作のデバッグおよびテスト動作の作成のような種々の診断の役割を果たすことができる。また、本診断回路は、プログラミングの作成またはコンフィグレーションの作成のような機能を提供するために再使用され、それらは、通常は、診断動作とは考えられないが、診断フィールドの外部でその使用を可能にする方法で診断回路によって支援され得る。
【０００７】
上記双方向シリアル信号によって受け渡された制御信号は、種々の異なる形式を取り得る。一つの好ましいタイプの制御信号は、診断回路をリセットする働きをするリセット信号である。このリセット信号は、有利には、所定のリセット期間の間、所定のリセットレベルに上記双方向シリアル信号を保持する形式で提供される。
【０００８】
制御信号の他の非常に有利な形式は、前記診断回路から前記外部診断装置へのペーシング信号(pacing signal)である。上記診断回路は、長期間の複雑な動作のような、診断動作を完了したときと、更なるデータを受信する準備ができているときに、前記外部診断装置に示すことができるという意味において、このようにセルフペーシング(self-pacing)であり得る。
【０００９】
ペーシング信号は、有利には、ペーシング信号専用のシリアル信号プロトコル内にタイムスロットをささげることにより提供され、その時間において、診断回路は、外部診断装置によって検出されると共にペーシング情報を伝送するために使用される方法で、双方向シリアル信号に信号レベルを与えてもよい。
【００１０】
制御信号の更なる形式は、外部診断装置によって生成されたスタート信号であり、それはシリアルデータのフレームのスタートを示す。
また、シリアルデータのフレームのエンドにはストップ信号が提供されてもよく、動作またはフレームのアボート(abort)の信号を送るために使用される。もしストップ信号が所定のレベルに保持されれば、これは強制的に休止状態(idle state)とされる。
【００１１】
本発明の好ましい実施形態において、集積回路により双方向シリアル信号をサンプリングするために使用されるべきサンプリングポイントのタイミングは、トレーニングモードを用いることにより双方向シリアル信号自体から導き出すことができ、上記トレーニングモードでは、トレーニング信号は外部診断装置から送出され、集積回路は受信された信号をサンプリングする。上記集積回路は、クロックレシオ（トレーニングパルスに対するＩＣクロックの数）を見つけ出すことができ、または、外部診断回路は、正しいトレーニング信号が安定的に受信されるまで上記タイミングを調整することができる。このように、集積回路は、外部診断装置と“同期”することができ、この同期は、同期が失われることを防止するために、継続的に、信号エッジ、またはシリアルデータにおける同様のものを検出することにより維持されなければならない。
【００１２】
有利には、集積回路は、インターフェイス回路のリセットの後に続いて、前記トレーニングモードに初期化される。ペーシング信号は、集積回路がトレーニング信号を正常に受信したことを示すために使用されてもよく、それ自身で同期される。
【００１３】
双方向シリアル信号およびインターフェイス回路を介して伝送が行われる診断回路は、広範な種々の異なる形式をとることができる。好ましい例は、機能回路のバスとの伝送を提供する働きをする１又は２以上のデバッグバスアクセス回路と同様に、機能回路にデータを供給し、または機能回路からデータをキャプチャするための１又は２以上のスキャンチェーンである。診断回路の他の形式も可能である。
【００１４】
上述した非クロックモードでの動作と同様に、本インターフェイスは、また、集積回路によっても使用される別個のクロック信号によって伝送がクロックされるクロックモードにおいて有利に動作可能である。このような別個のクロック信号の使用は、その後にチェックされるサンプリングポイントに頼るよりも同期が安全であるので、一層高いデータレートが達成されることを可能にし、上記クロック信号は、集積回路によって生成され、積回路に供給され、または、これら可能性のあることの何れかから導き出される。
【００１５】
好ましくは、集積回路は、クロックモードと非クロックモードとの間で切り替え可能であるが、非クロックモードが一般には遅く且つ支援されるべきモードの要求が少ないので非クロックモードで初期化する。
【００１６】
他の側面から見ると、本発明は、集積回路に関する診断動作を実行するための診断装置を提供し、前記診断装置は、
前記診断装置と前記集積回路内の診断回路との間の伝送を提供する働きをするインターフェイス回路を備え、
前記インターフェイス回路は、双方向シリアル信号を使用して、
(i)前記集積回路によって実行される診断動作を制御するために、前記診断装置から前記集積回路に制御信号を転送すると共に、
(ii)前記診断装置と前記集積回路との間で診断データを転送する。
【００１７】
更なる側面から見ると、本発明は、集積回路内の機能回路に関する診断動作を実行する働きをする診断回路と通信する方法を提供し、前記方法は、
双方向シリアル信号を使用して、
(i)前記診断回路の前記診断動作を制御するために、外部診断装置から前記診断回路に制御信号を転送すると共に、
(ii)前記外部診断装置と前記診断回路との間で診断データを転送する。
【発明を実施するための最良の形態】
【００１８】
以下、添付の図面を参照しながら、単なる一例として本発明の実施形態を説明する。
図１は、外部装置に接続されたオンボード診断システムを備えた集積回路を図式的に示す図である。
図２は、外部診断装置と集積回路の診断回路との間での伝送に使用するためのシリアルデータフレームを図式的に示す図である。
図３は、集積回路インターフェイストレーニング動作を図式的に示すフロー図である。
図４は、集積回路データキャプチャ動作を図式的に示す図である。
図５は、集積回路について診断動作を実行するためのバストランザクションを発行するために非クロックモードでの診断バスマスター回路を備えた集積回路を図式的に示す図である。
図６は、集積回路について診断動作を実行するためのバストランザクションを発行するためにクロックモードでの診断バスマスター回路(diagnostic bus-master circuit)を備えた集積回路を図式的に示す図である。
図７および８は、外部診断装置と集積回路との間で使用される伝送技術(communication technique)の態様を示す図である。
【００１９】
図１は、外部診断装置４に接続された集積回路２を示す。外部診断装置４と集積回路２との間の接続は、ＳＷＪのような双方向シリアルインターフェイス(bi-directional serial interface)を介してなされている。集積回路２の内部では、インターフェイス回路６が双方向シリアル信号を入力する。そのシリアル信号からデコードされたデータと、そのシリアル信号からデコードされた制御信号は診断回路８に受け渡され、この診断回路８は、それら制御信号とデータとに基づいて集積回路２のその他の構成要素に関する診断動作(diagnostic operation)を実行する。また、データおよび制御信号は、双方向シリアル信号を介して集積回路２から外部診断装置４に戻されてもよい。集積回路２は、代表的には、システムオンチップ(System-On-Chip; SoC)集積回路である。
【００２０】
集積回路２の内部にある機能回路は、プロセッサコア１０、コプロセッサ１２、メモリ１４、およびシリアルＵＡＲＴ装置１６を含む。これらの機能回路は、機能バス１８（例えば、ＡＭＢＡ，ＡＨＢまたは機能回路を接続するための他のバス）によって接続されている。診断回路８は、集積回路２の内部のブロックとして図式的に示されている。この診断回路は、種々の異なる形式をとることができ、例えば、集積回路２の周辺付近に延びるシリアルスキャンチェーン、或る機能要素または必要であれば或る機能要素の内部に延びるシリアルスキャンチェーンを含む。また、診断回路８は、ＢＩＳＴ等のような他の形式をとってもよい。
【００２１】
使用中、外部診断装置を使用する技術者は、双方向シリアルインターフェイスに沿ってインターフェイス回路６を介して集積回路２に受け渡される制御信号およびデータに応答して、集積回路２上で実行されるべき或る診断動作を命令する。結果データは、インターフェイス回路６を介して双方向インターフェイスに沿って外部診断装置４に戻される。
【００２２】
図２はシリアルデータのフレームを示す。これは、スタートビットを備え、このスタートビットの後には、８ビットデータ、ストップビット、および継続ビット(continue bit)が続く。ストップビットと継続ビットは、シリアルフレームを終端させるストップ信号部分であると考えることができる。スタートビット、ストップビット、および継続ビットそれら自体によって提供される制御機能のみならず、８ビットのデータ値を診断回路８に受け渡すためのこのシリアルデータフレームプロトコルの使用について次に述べられ、この８ビットデータは純粋なデータであってもよく、または組み込み制御命令(embeded control instruction)を含んでもよい。別の実施形態では、フレームにおけるビット数は異なってもよく、異なる数のデータ、スタートビット及び／又はストップビットを含む。
【００２３】
図３は、集積回路６のトレーニング(training)を示すフロー図である。インターフェイス回路６は、非クロックモード(non-clocked mode)で動作可能であり、シリアルデータ信号自身から、使用されるべきサンプリングポイントに関するタイミング情報を抽出する。これは、インターフェイス回路６をトレーニングすることにより実現される。このトレーニングは、外部診断装置４が既知のシリアルデータストリーム（例えば、０と１の値の交互配列）を送出する形式をとり、インターフェイス回路は、正しいシーケンスが適切に受信されるようにこのトレーニングパターンをサンプリングしようとする。インターフェイス回路６は、上記トレーニングパターンを受信しているように見える間は、上記トレーニングモードへのリセットに続いて、または電源が投入されると初期化する。このトレーニングパターンを受信すると、それは、トレーニングパターンが正常に受信されたことを意味すると外部診断装置４が解釈することができる継続信号を発行し、従って、いまや、インターフェイス回路６は、シリアルデータストリームに適したサンプリングポイントを使用している。外部診断装置は、インターフェイス回路６がそれを正しく受信し且つトレーニングされた適切な指示を発行することができるまで、上記シリアルデータのデータレートを変える（例えば低くする）。
【００２４】
図３において、インターフェイス回路６は、リセットステップ２０から抜け出すまで待機する。ステップ２２でインターフェイス回路６はトレーニングモードに入る。ステップ２４で、インターフェイス回路６は、一連のポイントで双方向シリアル信号をサンプリングして０と１の値の交互配列のトレーニングパターンを識別しようとする。通常、サンプリングポイントは、集積回路２の内部で使用されるクロック信号によって規定され、このサンプリングポイントは、通常、このクロック周波数の固定倍数(fixed multiple)、または他の派生(other derivative)である。
【００２５】
ステップ２６では、インターフェイス回路６は、シリアルデータのフルフレーム(full frame)であると信じたものをサンプリングした後、トレーニングパターンと一致するかどうかを知るために受信データをテストする。もし、一致しなければ、処理はステップ２４に戻り、そしてサンプリングが続けられる。この実施形態では、集積回路２によって適切に受信されるまで双方向シリアル信号のデータレートを変えることは外部診断装置４の責務である。これは、通常、集積回路２の内部に診断動作提供の複雑さを与えなければならないよりはむしろ、外部装置４に診断動作提供の複雑さを押し付ける原理と一致する。
【００２６】
ステップ２６で、トレーニングパターンが正常に受信されたことが識別されると、ステップ２８では、継続ビット期間の間にシリアルデータ値をゼロレベルに引き下げる。通常、継続ビットは、集積回路２自身によって積極的に引き下げられなければ、１に対応するレベルに上がる(float)。トレーニングモード中、即ち初期化後の継続ビットの引き下げは、集積回路２が外部装置４の双方向シリアル信号データレートに正常にトレーニングされ、いまや伝送可能であることを、インターフェイス回路６を介して外部診断装置４に信号で伝える。ステップ３０では、トレーニングモードから抜け出して、そしてステップ３２でデータモードに入る。
【００２７】
図４は、通常のデータキャプチャモード中のインターフェイス回路６の動作を図式的に示すフロー図である。ステップ３４では、インターフェイス回路６は、シリアルデータフレームの先頭にあるスタートビットの受信を待つ。この例では、スタートビットは常にゼロの値である。従って、もし外部診断装置４が双方向シリアル信号レベルを１に保持すれば、インターフェイス回路６はスタートビットを待ち続け、そして有効に休止状態(idle)に維持される。
【００２８】
一旦、スタートビットが検出されると、処理はステップ３６に進み、このステップ３６では、８データビットは、図３に関して述べられたトレーニングモードで確立されるサンプリングタイミングを用いてサンプリングされる。このステップに続いて、ステップ３８では、ストップビットが存在するかどうかを検出する。この例では、ストップビットは常に１の値を有する。ストップビットの存在は、フレームが適切に受信されたかどうかをチェックするために使用することができ、また、ストップビットに先行するシリアルデータを有効に中止(abort)するために外部診断装置によって使用することができる。
【００２９】
もしストップビットが正常に検出されれば、ステップ４０で、８データビットを診断回路８に受け渡す。これら８データビットは、刺激(stimulus)として集積回路２に供給されるべきデータ値であってもよく、または診断回路８がその働き(action)を形成するための制御命令であってもよく、または他の使用を有してもよい。診断回路８の状態が、必要とされる診断動作が集積回路２から外部診断装置４へのデータの受け渡し(pass out)であるようなときに、ステップ３６で８データビット値をサンプリングする代わりに、インターフェイス回路は、適切なデータビット値をアサート(assert)することができ、それは、これらと共に外部診断装置４に受け渡すことを望み、そして検出されると共に外部診断装置４によって記録される。
【００３０】
ステップ４０に続いて、ステップ４２では、インターフェイス回路が継続(continue)の準備ができているか否かを判断する。もしかしたら、診断回路が複合動作(complex operation)であり得る診断動作を忙しく実行しているかもしれず、完了するために比較的長い時間を必要とし、動作が終了するまで更なるデータが外部診断装置から送出されることは不適切である。外部診断装置４からの更なるデータは、次の診断動作のための命令(instruction)であってもよく、先行する動作が終わるまではこれを開始することができない。もしインターフェイス回路６が継続の準備ができていなければ、処理はステップ４４に進み、このステップ４４で、インターフェイス回路６は、連続したビット期間中、シリアル信号レベルをゼロにする。これは、シリアル伝送が継続すべきでないことを外部診断装置４に示す。そして、処理は、インターフェイス回路６が継続の準備ができるまでステップ４２に戻る。
【００３１】
もし、ステップ３８での判断が、ストップビットが適切に検出されなかったということであれば、処理はステップ４６に進む。ステップ４６では、アボート(abort)の直前の７個の連続(consecutive)（ストップビットのアサートがない）がどの場合に発生したかを判断し、これは８番目であり、そしてアサートがステップ５０でトリガーされる。もし、ステップ４６でのテストが満たされなければ、ステップ４８で、アボート(abort)を外部診断回路に受け渡す。
【００３２】
特定の意味を有するトレーニングパターン信号とシリアルデータプロトコルは、本技術を実現する範囲で変えることができる。
上述の双方向シリアル伝送の更なる説明は以下で与えられる。
【００３３】
＜用語および略語＞
以下の説明では、次の用語および略語を使用する。
用語；意味
ＳＷＯ；単一ワイヤ出力。特定用途向けトレースコンポーネント（一般的なトレースと混同すべきではない。それはプロセッサ特有である）。
ＤＢＴ；これは、システムバスへのアクセスのためのＡＭＢＡ（ＡＨＢまたはＡＨＢ−Ｌｉｔｅ）マスターとして作用するＴＡＰブロックである。それは、また、任意的にスキャンチェーンアクセスを提供する。
ＡＭＢＡ；チップ内部のＡＲＭバス標準。
ＪＴＡＧ；スキャンチェーンに対するシリアルインターフェイスを制御するための４−６−ワイヤインターフェイス用のＩＥＥＥ Ｊｏｉｎｔ Ｔｅｓｔ Ａｃｃｅｓｓ Ｇｒｏｕｐ 規格。ＪＴＡＧは、テストと同様にデバッグのために使用される。ＳＷＪは、根本的なデバッグＪＴＡＧモデルに基づいている。スキャンＴＡＰは、ＪＴＡＧのテスト部分に基づいている。
エミュレータ；誤称(misnomer)。デバッグ用のチップに付随するランコントロールボックス（ＨＷの一部）を参照するために使用される。通常のエミュレータは、ＪＴＡＧベースである。ＳＷＪインターフェイスに接続されたボックスもまた歴史的な理由でエミュレータと呼ばれる。
ＯＣＲＣ；ＳＷＪのオンチップランコントロールコンポーネント(On-Chip Run-Control component)。これは、スキャンチェーン及びＤＢＴへのインターフェイスと実際の処理プロトコルを提供する。
【００３４】
＜序文＞
これは、小規模なシングルワイヤＪＴＡＧコンポーネントについての提案である。ＳＷＪコンポーネントは、一般的な４−６ワイヤインターフェイスの代わりに、シングルワイヤインターフェイスを用いたＡＲＭベースのプロセッサ（マルチコアを備える）をデバッグしテストするために使用される。シングルワイヤインターフェイスは、文字どおり、双方向における伝送のために一つのワイヤを使用する。高速ＳＷＪサポートは、追加的な信号／ピンへの認知度(visibility)を必要とし、それはクロックを含む（しかし、それは、ＳＷＪ専用のクロックである必要はない）。クロック（分割可能）は、サンプリングのための鮮明なエッジを提供することにより高速を可能にする。
【００３５】
非クロックモードは、約３ＭＨｚ（データレートはその速度の８／１１）の速度まで可能である。クロックモードは、約４０ＭＨｚレート（データレートはその速度の８／１１）まで可能である。一般的なワイヤプロトコルは、１個のスタートビットと、１個のストップビットと、各８データビットのための継続ビットとシリアルに構成される。保持されたストップビットは無制限の休止時間(idle time)を可能にする。保持された０はバスリセットである。エミュレータは、ターゲット(target)によってリターンデータが供給されるときを示す継続ビットで、インターフェイスを駆動する。これは、ターゲットが動作の完了を示すまで、エミュレータがペンド(pend)することを可能にする。従って、ＪＴＡＧとは違って、エミュレータは適切にペーシングされる。
【００３６】
ＳＷＪの他の部分は、オンチップランコントロール（ＯＣＲＣ）である。ＯＣＲＣは、ＤＢＴアクセス、ＪＴＡＧアクセス、および任意的にダイレクトスキャンチェーンアクセス（ＤＢＴを介する）のために使用されるプロトコルを支援する。ＯＣＲＣは、システム（コア、装置など）における任意のＴＡＰの性能を強化するための特別なＲＯＭコンスタントストリング(ROM constant string)に対する割り当て(allowance)を有している。一般的なＯＣＲＣのプロトコルでは、これは、通常、同一の速度等級では、ＳＷＪがストレートＪＴＡＧ(straight JTAG)よりもはるかに高速であることを意味する。
【００３７】
ＳＷＪ電気的インターフェイスを検討すると、ターゲットに対するコストを最小化すると共に極めて低コストのエミュレータを可能とするために設計が極めて注意深く選択されることに注意することが重要である。一般に、ＳＷＪは、速度に対するコストをバランスさせるためにエミュレータクラスの選択を可能にしている。従って、ロウエンドのピン不足のＭＣＵは、極めて低コストのエミュレータを使用することができ、ハイエンドの高速パーツは、より一層パワフルなエミュレータを使用することができるであろう。しかし、インターフェイスは、何れのエミュレータも両方のパーツで使用できるように、低速および高速形式（非クロックおよびクロック）を支援するように設計される。
【００３８】
＜ＳＷＪの電気的設計＞
図５は、非クロック接続(non-clocked connection)のブロック図を示す。図６は、クロック接続(clocked connection)のブロック図を示す。全てのエミュレータは、非クロックモードを支援するが、クロックモードはオプションである。これは、ＳＷＪは、常に、（リセットから）非クロックモードで立ち上がるためである。回路は、エミュレータとターゲットの両方について二つの間をスイッチングするように設計される。
ターゲット側の２００Ｋのプルダウン抵抗(200K pull-doown resistr)は、チップの中にあってもよいし、ボード上にあってもよいことに注意されたい。
【００３９】
＜非クロックモードの電気的詳細＞
エミュレータにおける非クロックモード信号調整器は、信号を即座にロウからハイにするために使用される。１０Ｋの抵抗は、単に信号をハイに持ち上げる(float)が、信号調整器（バスホールド型フィードバック回路）は、電流の流れの変化を検出し、そしてＲＭＳを過ぎるまで信号をハイに駆動する。そのポイントで、それは消えて、そして１０Ｋの抵抗が信号ハイを維持することを可能にする。エッジの形状は、低速（３ＭＨｚ以下）の非クロックモードでは十分に鮮明であろう。
極めてロウエンドのパーツについては、そのパーツのＳＷＪデバッグエンドにパワーを供給するために非クロックのプルアップモデル(pull-up model)を使用することが可能である。これは、通常のモデルではないが、キャパシタンスドレイン(capacitance drain)を用いて実現可能である。
【００４０】
＜クロックモードの電気的詳細＞
通常、ターゲットはクロックモードのためのクロックを供給する。クロックは、チップ（出力）からでもよいが、ターゲットボードからチップ（入力）に向けたものであってもよい。クリスタルまたはＰＬＬを介してクロックを生成するポッド(pod)（エミュレータコネクション）を構成することも可能であるが、エミュレータは、絶対にクロックを直接的に生成しない。いずれにしても、それはＳＷＪのための専用クロックである必要はない（他の用途に共用され得る）が、鮮明でなければならない。
【００４１】
ほとんどの場合、クロックは分周(divide)されると思われる。１０ＭＨｚから１００ＭＨｚの範囲にクロックを維持することが勧められる。命令プロトコル(command protocol)を用いた非クロックモードにおいてどのような分周でも同意され決定される。分周器(divider)を用いる理由は、同一クロックが高速ＳＷＯ（または他の目的）のために使用でき、それはより高速なクロック源を必要とする。ＳＷＪのプロトコルは、分周されたクロックを使用する方法を明確に規定する。ＳＷＪは、クロックをそのクロック源として使用しなければならないことに注意されたい（これは、クロックモードと非クロックモードとの間を移るときに切り替えられるが）。このモデル（対サンプリング）の理由は、クロックエッジが単一ピン上で双方向インターフェイスを支援するために使用されることである。
【００４２】
＜ＳＷＪのためのワイヤプロトコル＞
ＳＷＪワイヤインターフェイスは、概略的にＲＳ−２３２モデル（クロックか否か）に基づいている。各８ビットデータパケットは、１個のスタートビットと２個のストップビットでフレーム構成される。しかし、２番目のストップビットは、以下に述べられるように、真に特別な応答マーカー(special reply marker)である。フォーマットは次のようである。
【００４３】
【表１】
2006514296.tif 000003
【００４４】
重要な相違点は２番目のストップビットである。この２番目のビットは、パケットが受信されると共にエミュレータが継続すべきであるときにハイにされる。それは、パケットが再送されるべきであるときにはロウにされる。このメカニズムは、ターゲットが取り扱うことができる速度にターゲットがエミュレータをペーシング(pace)することを可能にする。このペーシング(pacing)は、（ＤＢＴメモリトランザクションのような）動作完了のみならず、バイト単位(byte-by-byte)のマネージメント（ＳＷＪクロック速度がコアよりも速い（例えば３２ＫＨｚ）ときのような）についても使用することができる。
非クロックモードでは、もし継続(CONTINUE)であれば、ターゲットは、単にラインをハイ（アクティブプルアップ）にし、その他の場合にはロウに引き下げることに注意されたい。クロックモードでは、ターゲットは、継続についてハイを保持し、その他の場合にはロウに引き下げなければならない。
【００４５】
＜ワイヤプロトコルモードおよび状態＞
一般に、４つのワイヤプロトコルモードと状態(state)が存在する。
１．リセット(Reset)。これは、８個以上のパケットについてワイヤがロウに保持されたときに発生する。ストップビットが欠落しているので、ターゲットはこれを検出する。これは、アラート(alert)と呼ばれる。もし８個よりも多くのアラートが検出されれば、ターゲットは、インターフェイスのリセットがアサートされたと推測することができる（これはＳＷＪを除いてどれにも影響を与えない）。ＳＷＪインターフェイスは、非クロックモードに戻る。エミュレータを接続することは、プルダウン抵抗によるリセットを引き起こすことに注意されたい。
【００４６】
２．トレーニング(Trainning)−非クロックモードのみにおける。リセット後、エミュレータは、０ｘ５５（０ｂ０１０１０１０１）を有するデータパケットを送る。ターゲットは、これを、クロックシステム上の分周器を検証するため、または非クロックシーケンスで伝送速度自動選択(auto-baud)を行うために使用する。トレーニングパケットは、２番目のストップビットが継続（１）に設定されると、送り続けられる。２番目のストップビットが非継続（０）に設定されると、トレーニングモードは終了する。もし８個よりも多くの継続ビットがエミュレータによって検出されると、それは、リセットを再度試みることを選択し、そしてトレーニングモードについて速度を遅くする。これは、極めて遅いチップ（それは３ＭＨｚ非クロックモードで十分にオーバーサンプリングできない）の場合に適合するであろう。
【００４７】
３．データ(Data)。データモードは、通常のパケットモードである。このモードは、トレーニングモードを終了した後に行われる。それぞれのデータパケット間では休止状態(idle state)である（もしストップが１クロックよりも長く続けば）。従って、スタートビットの導入(introduction)は、常に、通常のデータモードおよびデータ状態に回復する。
【００４８】
４．休止(Idle)。休止状態では、ラインがストップ状態に保持される（スタートは送られない）。これは、ピンがハイに保持されることを意味する。休止状態は、必要なだけ保持され得る。それは、スタートビットの導入により終了される。非クロックモードでは、スタートビットは、次の本来の内部クロックポイントで現れる（エミュレータに）。クロックモードでは、スタートはクロックエッジで現れる。
【００４９】
＜リセットモード＞
リセットモード(Reset mode)は、デアサートストップビット(deaserted stop bit)を有する８個以上のパケットとして規定される（ストップは１に代えて０である）。換言すると、アボートに匹敵する８パケットはリセットを起こさせる。
リセットで何の働きをするかの定義はＳＷＪおよびＯＣＲＣに特有である。主な意図は、ラインを明らかにすることのみであり、従って、任意のペンディング中のＯＣＲＣモード／命令をアボートすることは、ＳＷＪブロックの内部状態を明らかにすることと同様に主目的である。
【００５０】
＜トレーニングモード＞
トレーニングモード(Trainning mode)は、リセット後に開始される。トレーニング命令(trainning command)はデータとして０ｘ５５である。トレーニングモードは、ターゲットが２番目のストップビットをロウに駆動するときにのみ終了される。これは、ターゲットがデータに関してトレーニングすることができることを保証することのみならず、伝送速度(baud rate)（非クロックモードにおけるデータクロックの速度）を自動検出するための目標時間を可能にする。もしデータクロックが速すぎると、２番目のストップビットは、ハイ状態に引き上げられたままである。これは、ターゲットがトレーニングできないことをエミュレータが検出することを可能にする（そしてより遅い速度で試みることができる）。
【００５１】
【表２】
2006514296.tif 000004
【００５２】
＜データモード＞
データモード(Data mode)は、非継続ビット（０）を介してトレーニングモードが終了された後に即座に開始される。データモードは、クロックであろうが非クロックであろうが、ＳＷＪのための通常の動作モードである。データモードは、ＳＷＪワイヤプロトコルよりも上のレベルで命令の発行を可能にする。データモード命令は、オンチップランコントロール（ＯＣＲＣ）ブロック部分にルーティングされたもののみならず、ＳＷＪインターフェイスに向けられた命令を含む。主なＳＷＪデータモードコマンドは次のものを含む。
【００５３】
・ゲットＩＤ(Get ID)−ＳＷＪモジュールのＩＤを読み戻す。これは、ＯＣＲＣ命令に変化してもよい。また、この命令はクロックモードが可能かどうかを示す。
・セットクロックモード分周カウンタ。この命令は、カウンタの設定を可能とし、そして、スイッチをクロックモードに切り替える。クロックモードへの切り替え後には、８パケットに匹敵する休止状態が続き、そしてクロックモードでＧｅｔＩＤ命令が行われる。もしＧｅｔＩＤ命令が失敗すれば、エミュレータは、非クロックモードに戻るためにリセットを使用してもよい。
【００５４】
・アボートＯＣＲＣ現在動作(Abort OCRC current action)。データ命令上のＳＷＪインターフェイスからの連続的非継続応答(continuous NOT CONTINUE response)のイベントにおいて、エミュレータは、ＯＣＲＣがその現在動作(current action)をアボートして（可能であれば）、既知の状態に戻ることを要求するためにアボート命令を使用してもよい。アボートは、ＳＷＪにおけるように、全てのサブシステムにおいて同一の命令であることに注意されたい。
【００５５】
主なＯＣＲＣ命令は次のものを含む。
・ゲットＩＤ(Get ID)−ＳＷＪおよびＯＣＲＣ情報を読み戻す。この情報は、システム設計パラメータに関する情報のみならず、ブロックのバージョンを含む（ＤＢＴスキャンＴＡＰが支援されているか、ＪＴＡＧアクセスが支援されているか、ＤＢＴ ＭｅｍＴＡＰが支援されているか、クロックモードが支援されているかどうかを含む）。
【００５６】
・セレクトＤＢＴ ＭｅｍＴＡＰ(Select DBT Scan TAP)。これは、命令供給(command feed)のためのＭｅｍＴＡＰを選択する。終了するまで（ＭｅｍＴＡＰ終了要求またはアボートにより）、命令がＭｅｍＴＡＰコンポーネントに供給される。アボートは、ＳＷＪにおけるのと同様に全てのサブシステムにおいて同一命令であることに注意されたい。その後、３４ビットデータを供給(feed)し、そして命令(command)を最適化する（例えば、同一の２ビットの拡張、繰り返し、などを有する複数の３２ビットデータのように）。
・セレクトＤＢＴスキャンＴＡＰ。これは、命令供給(command feed)のためのスキャンＴＡＰを選択する。これはＭｅｍＴＡＰ命令供給と同じように動作する。
【００５７】
・セレクトＪＴＡＧ命令(Select JTAG command)。これは、ＯＣＲＣ内のＪＴＡＧラッパー(JTAG wrapper)を選択する。これは、ＪＴＡＧチェーンを使用中のシステムのためのＪＴＡＧ動作の供給(feed)を可能にする。このユニットに送られた命令は、ＪＴＡＧトラフィックを最適化するように設計され、システムにおけるＴＡＰに適用可能な共通動作のためのＲＯＭ一定供給、最適化されたシフト(optimised Shift)、および駆動ＴＣＫシーケンス(driving TCK sequence)を含む（従って、システム設計者によって制御される）。
・他の命令選択(Select Other command)。これは他のＯＣＲＣ命令供給を選択する−保留。
データモード命令の例は次のようなものである。
【００５８】
【表３】
2006514296.tif 000005
【００５９】
それは０ｘ２３の値を有している。継続ビットは、もしバイトが受け入れられれば、１のままとされ、そして、もし繰り返す必要があれば、ロウに駆動される。即ち、非継続ビット状態は、バイト（０ｘ２３）がターゲットに受け入れられなかったことと、再び送信されるべきであることを示す（もし依然として受け入れられなければ、再び）。これは、ペーシングメカニズム(pacing mechanism)を形成する。
【００６０】
継続または非継続指示子は次の３つの理由のいずれかで発生する。
・ＯＣＲＣクロックレートが遅すぎて、一般に次のバイトを受け入れることができない（ＯＣＲＣのクロックレートがシステムと同じであるが、ＳＷＪのクロックレートは異なる）。
・ＯＣＲＣまたはサブシステムが依然として以前のバイトを処理している（ランニングＴＣＫ、バス動作、またはスキャンのような）。
・ＯＣＲＣが繰り返しテストを行っている（スキャンチェーンの読み出し、および所望値に対する比較のような）。
【００６１】
これら３つの理由は、原データレート（エミュレータが一般にバイトをどのくらい速く供給(feed)できるか）、命令完了レート(command completion rate)（サブシステムがそれ自体で命令をどのくらい速く実行できるか）、および複雑な動作レートのペーシングを可能にする。このペーシングは、動作のタイプにおける変化のみならず、内部クロックレートにおける変化に基づき動的に変化することができる（例えば、ある形式のメモリは他のものよりも遅い）。これは、ＳＷＪ方策の強力な部分を形成し、そして、多くの場合においてＳＷＪをストレートＪＴＡＧよりも非常に高速にする（ポーリングおよびペーシングの発行は多くの問題の原因となる）。
【００６２】
＜休止状態(idle state)＞
休止状態は、データモード内の状態である。休止状態は、データパケット間のフィラー(filler)またはギャップ(gap)を形成する。エミュレータは、単に、次のパケットを導入する前に必要な限り長い間、ストップ状態（ハイ）を保持する（ロウのスタートビットによって示されるように）。
【００６３】
【表４】
2006514296.tif 000006
【００６４】
＜システムに対するＳＷＪおよびＯＣＲＣの適合(fitting)＞
図７および図８は、ＳＷＪおよびＯＣＲＣがシステムに適合できる方法を示す。図７は、ＪＴＡＧ ＴＡＰを有するシステムのための標準的ＳＷＪモデルを示す（ＡＲＭ ＥＩＣＥを含む）。図８は、新規な複合ＳＷＪモデルを示し、それは、既存のＪＴＡＧシステムが同一チップと動作することを可能にする。ＳＷＪエミュレータは、固定シーケンスを用いてＪＴＡＧからＳＷＪにターゲットを切り替えることができる。
図７の構成は、ＤＢＴ（ＭｅｍＴＡＰあるいはスキャンＴＡＰ）およびＪＴＡＧスキャンチェーン（他の装置と同様にＡＲＭ ＥＩＣＥブロックのためのような）をアクセスするためにＳＷＪを使用する。
【００６５】
図８の構成は、レガシーＪＴＡＧ支援(legacy JTAG support)を備えなければならないベンダーのための複合アプローチを使用する。サードパーティのベンダーは、ＪＴＡＧエミュレータをプラグインして、いつのもようにＴＡＰを支援する。新世代のエミュレータは、特定のＪＴＡＧシーケンス（一つのＴＡＰに対する未使用ＩＲ）をＳＷＪに切り替えるために送る。これは、（問題を防止するため）未使用のＴＣＫおよび未使用のｎＴＲＳＴ（もしワイヤであれば）と共に同一のピン（それらのうちの３つ）を再使用する。このためのモデルは、ＴＭＳがＳＷＪデータ信号であり、もし使用されればＴＤＯがＳＷＯ信号であり、そしてもしクロックモードが支援されればＴＤＩがクロック源であることである。ＳＷＪエミュレータは、ＴＣＫをロウに保持すると共にリセットを通じてＴＭＳを駆動することによりＪＴＡＧまたはＳＷＪモードであるかどうかを検出することができ、そしてトレーニングモードになる。もし２番目のストップビットが８パケットの後にロウに駆動されなければ、エミュレータは、ともかくＪＴＡＧモードに戻っていると推測する（ＴＣＫがロウに保持されているので、ＪＴＡＧはあなたがＴＭＳを変えるかどうかは気にかけない）。それがＪＴＡＧモードにあるというイベントにおいて、エミュレータは、ＩＲ長を検出するために１ベースのパターン(1based pattern)を駆動し、そして未使用のＡＲＭ ＥＩＣＥ ＩＲシーケンスでスキャンチェーンにおける１番目のＴＡＰに固定パターンを送る。そして、これはターゲットをＳＷＪモードに切り替える。それが非クロックＳＷＪになった後、エミュレータは、もし支援されればクロックＳＷＪモードに切り替わることができる。また、それはＴＤＯ上でＳＷＯ出力を支援することもできる。エミュレータは、この最小セットの動作を行うために、完全なＪＴＡＧエミュレータである必要はないことに注意されたい。
【図面の簡単な説明】
【００６６】
【図１】外部装置に接続されたオンボード診断システムを備えた集積回路を図式的に示す図である。
【図２】外部診断装置と集積回路の診断回路との間の伝送において使用するためのシリアルデータフレームを図式的に示す図である。
【図３】集積回路インターフェイストレーニング動作を図式的に示すフロー図である。
【図４】集積回路データキャプチャ動作を図式的に示す図である。
【図５】集積回路について診断動作を実行するためのバストランザクションを発行するために非クロックモードでの診断バスマスター回路を備えた集積回路を図式的に示す図である。
【図６】集積回路について診断動作を実行するためのバストランザクションを発行するためにクロックモードでの診断バスマスター回路を備えた集積回路を図式的に示す図である。
【図７】外部診断装置と集積回路の間で使用される伝送技術の態様を示す図である。
【図８】外部診断装置と集積回路の間で使用される伝送技術の態様を示す図である。
【図１】
2006514296.tif 000007
【図２】
2006514296.tif 000008
【図３】
2006514296.tif 000009
【図４】
2006514296.tif 000010
【図５】
2006514296.tif 000011
【図６】
2006514296.tif 000012
【図７】
2006514296.tif 000013
【図８】
2006514296.tif 000014
【手続補正書】
【提出日】平成17年2月11日(2005.2.11)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データを処理するための集積回路であって、前記集積回路は、
データ処理動作を実行する働きをする機能回路と、
前記機能回路に関する診断動作を実行する働きをする診断回路と、
前記診断回路と外部診断装置との間の伝送を提供する働きをするインターフェイス回路とを備え、前記インターフェイス回路は、双方向シリアル信号を使用して、
(i)前記診断回路の前記診断動作を制御するために、前記外部診断装置から前記診断回路に制御信号を転送すると共に、
(ii)前記外部診断装置と前記診断回路との間で診断データを転送し、且つ、
前記インターフェイス回路は、前記双方向シリアル信号をサンプリングするためのサンプリングポイントタイミングを決定するために前記双方向シリアル信号を用いて前記外部診断装置から送られた所定形式のトレーニング信号に応答する働きをトレーニングモードにおいて行う集積回路。
【請求項２】
前記診断回路は、
動作のデバッグ、
テスト動作の作成、
プログラミング動作の作成、
構成動作の作成、
のうちの１または２以上を実行する働きをする請求項１記載の集積回路。
【請求項３】
前記双方向シリアル信号は、前記外部診断装置から前記診断回路にリセット信号を伝送する働きをし、前記リセット信号は、前記診断回路をリセットする働きをする請求項１または２の何れか1項記載の集積回路。
【請求項４】
前記リセット信号は、前記外部診断装置が所定のリセット期間中に前記双方向シリアル信号を所定のリセットレベルに保持したものであることを含む請求項３記載の集積回路。
【請求項５】
前記双方向シリアル信号は、前記診断回路から前記外部診断装置にペーシング信号を伝送する働きをし、前記ペーシング信号は、前記診断回路が伝送の準備ができているかどうかを示す働きをする請求項１ないし４の何れか1項記載の集積回路。
【請求項６】
前記双方向シリアル信号は、前記診断回路から前記外部診断装置にペーシング信号を伝送する働きをし、前記ペーシング信号は、前記診断回路が動作を完了したかどうかを示す働きをする請求項１ないし５の何れか1項記載の集積回路。
【請求項７】
前記双方向シリアル信号は、別の信号を伝送するための別のタイムスロットから成るシリアル信号プロトコルを備え、前記診断回路は、ペーシング信号タイムスロットの期間中、前記双方向シリアル信号を所定のペーシングレベルにする請求項５または６の何れか1項記載の集積回路。
【請求項８】
前記双方向シリアル信号は、別の信号を伝送するための別のタイムスロットから成るシリアル信号プロトコルを備え、前記双方向シリアル信号は、シリアルデータのフレームのスタートを示すスタート信号を伝送する働きをし、前記スタート信号は、スタート信号タイムスロットを規定するための所定のスタートレベルに駆動される前記双方向シリアル信号である請求項１ないし７の何れか1項記載の集積回路。
【請求項９】
前記伝送は、前記外部診断装置が前記所定のスタートレベルと異なるレベルに前記双方向シリアル信号を保持することによって休止状態に保持され、これにより、前記双方向シリアル信号が、伝送されているデータの次のフレームが続く前記所定のスタートレベルに変化するまで、前記スタート信号タイムスロットを遅延させる請求項８記載の集積回路。
【請求項１０】
前記双方向シリアル信号は、別の信号を伝送するための別のタイムスロットから成るシリアル信号プロトコルを備え、前記双方向シリアル信号は、シリアルデータのフレームのエンドを示すストップ信号を伝送する働きをし、前記ストップ信号は、ストップ信号タイムスロット中に所定のストップレベルに駆動される前記双方向シリアル信号である請求項１ないし９の何れか１項記載の集積回路。
【請求項１１】
前記インターフェイス回路は、前記伝送が、前記双方向シリアル信号内で検出される遷移に基づいてクロックされる非クロックモードで動作する請求項１ないし１０の何れか１項記載の集積回路。
【請求項１２】
前記診断回路は、前記ストップ信号の第1部分の受信を使用して診断動作のアボートを示す請求項１０または１１の何れか１項記載の集積回路。
【請求項１３】
前記診断回路は、前記ストップビットの第２部分の受信を使用して、前記診断回路によるシリアルデータの前記フレームの受信を確認する請求項１０，１１，１２の何れか1項記載の集積回路。
【請求項１４】
前記インターフェイス回路は前記トレーニングモードに初期化する請求項１記載の集積回路。
【請求項１５】
前記初期化は、前記インターフェイス回路のリセットの後に行われる請求項１４記載の集積回路。
【請求項１６】
前記インターフェイス回路は、トレーニングモードで動作して、トレーニングが正常に完了したことを示す前記ペーシング信号と前記双方向シリアル信号とをサンプリングするためのサンプルポイントタイミングを決定するために前記外部診断装置から送られた所定形式のトレーニング信号に応答する請求項５または１５の何れか１項記載の集積回路。
【請求項１７】
前記診断回路は、
(i)前記機能回路から診断データをキャプチャする働きをする１又は２以上のスキャンチェーンと、
(ii)前記機能回路に診断データを供給する働きをする１又は２以上のスキャンチェーンと、
(iii)前記機能回路内のバスを介して伝送を提供する働きをする１又は２以上のデバッグバスアクセス回路と
のうちの１又は２以上を備えた請求項１ないし１６の何れか1項記載の集積回路。
【請求項１８】
前記インターフェイス回路は、
(i)前記伝送が、前記集積回路によって使用される個別クロック信号によってクロックされるクロックモードと
(ii)前記伝送が、前記双方向シリアル信号内で検出された遷移に基づいてクロックされる非クロックモードと
で動作する請求項１ないし１７の何れか1項記載の集積回路。
【請求項１９】
前記クロックモードにおいて、前記伝送は、前記集積回路によって使用される複数のクロック信号であるクロック信号によってクロックされる請求項１８記載の集積回路。
【請求項２０】
前記インターフェイス回路は、前記非クロックモードで初期化する働きをすると共に、前記クロックモードに切り替わることが可能である請求項１８または１９の何れか1項記載の集積回路。
【請求項２１】
集積回路に関して診断動作を実行するための診断装置であって、前記診断装置は、
前記診断装置と前記集積回路内の診断回路との間の伝送を提供する働きをするインターフェイス回路を備え、
前記インターフェイス回路は双方向シリアル信号を使用して、
(i)前記集積回路によって実行される診断動作を制御するために、前記診断装置から前記集積回路に制御信号を転送すると共に、
(ii)前記診断装置と前記集積回路との間で診断データを転送し、且つ、
前記インターフェイス回路は、前記双方向シリアル信号をサンプリングするためのサンプリングポイントタイミングを決定するために前記双方向シリアル信号を用いて前記外部診断装置から送られた所定形式のトレーニング信号に応答する働きをトレーニングモードにおいて行う診断装置。
【請求項２２】
前記診断装置は、
動作のデバッグ、
テスト動作の作成、
プログラミング動作の作成、
構成動作の作成、
のうちの１または２以上を実行する働きをする請求項２１記載の診断装置。
【請求項２３】
前記双方向シリアル信号は、前記診断装置から前記診断回路にリセット信号を伝送する働きをし、前記リセット信号は、前記診断回路をリセットする働きをする請求項２１または２２の何れか1項記載の新装置回路。
【請求項２４】
前記リセット信号は、前記診断装置が所定のリセット期間中に前記双方向シリアル信号を所定のリセットレベルに保持したものであることを含む請求項２３記載の診断装置。
【請求項２５】
前記双方向シリアル信号は、前記診断回路から前記診断装置にペーシング信号を伝送する働きをし、前記ペーシング信号は、前記診断回路が伝送の準備ができているかどうかを示す働きをする請求項２１ないし２４の何れか1項記載の診断装置。
【請求項２６】
前記双方向シリアル信号は、前記診断回路から前記外部診断装置にペーシング信号を伝送する働きをし、前記ペーシング信号は、前記診断回路が動作を完了したかどうかを示す働きをする請求項２１ないし２５の何れか1項記載の診断装置。
【請求項２７】
前記双方向シリアル信号は、別の信号を伝送するための別のタイムスロットから成るシリアル信号プロトコルを備え、前記診断回路は、ペーシング信号タイムスロットの期間中、前記双方向シリアル信号を所定のペーシングレベルにする請求項２５または２６の何れか1項記載の診断装置。
【請求項２８】
前記双方向シリアル信号は、別の信号を伝送するための別のタイムスロットから成るシリアル信号プロトコルを備え、前記双方向シリアル信号は、シリアルデータのフレームのスタートを示すスタート信号を伝送する働きをし、前記スタート信号は、スタート信号タイムスロットを規定するための所定のスタートレベルに駆動される前記双方向シリアル信号である請求項２１ないし２７の何れか1項記載の診断装置。
【請求項２９】
前記伝送は、前記外部診断装置が前記所定のスタートレベルと異なるレベルに前記双方向シリアル信号を保持することによって休止状態に保持され、これにより、前記双方向シリアル信号が、伝送されているデータの次のフレームが続く前記所定のスタートレベルに変化するまで、前記スタート信号タイムスロットを遅延させる請求項２８記載の診断装置。
【請求項３０】
前記双方向シリアル信号は、別の信号を伝送するための別のタイムスロットから成るシリアル信号プロトコルを備え、前記双方向シリアル信号は、シリアルデータのフレームのエンドを示すストップ信号を伝送する働きをし、前記ストップ信号は、ストップ信号タイムスロット中に所定のストップレベルに駆動される前記双方向シリアル信号である請求項２１ないし２９の何れか１項記載の診断装置。
【請求項３１】
前記インターフェイス回路は、前記伝送が、前記双方向シリアル信号内で検出される遷移に基づいてクロックされる非クロックモードで動作する請求項２１ないし３０の何れか１項記載の診断装置。
【請求項３２】
前記診断回路は、前記ストップ信号の第1部分の受信を使用して診断動作のアボートを示す請求項３０または３１の何れか１項記載の診断装置。
【請求項３３】
前記診断回路は、前記ストップビットの第２部分の受信を使用して、前記診断回路によるシリアルデータの前記フレームの受信を確認する請求項３０ないし３２の何れか1項記載の診断装置。
【請求項３４】
前記インターフェイス回路は前記トレーニングモードに初期化する請求項２１記載の診断装置。
【請求項３５】
前記初期化は、前記インターフェイス回路のリセットの後に行われる請求項３４記載の診断装置。
【請求項３６】
前記インターフェイス回路は、トレーニングモードで動作して、トレーニングが正常に完了したことを示す前記ペーシング信号と前記双方向シリアル信号とをサンプリングするためのサンプルポイントタイミングを決定するために前記外部診断装置から送られた所定形式のトレーニング信号に応答する請求項２５または３５の何れか１項記載の診断装置。
【請求項３７】
前記診断回路は、
(i)前記機能回路から診断データをキャプチャする働きをする１又は２以上のスキャンチェーンと、
(ii)前記機能回路に診断データを供給する働きをする１又は２以上のスキャンチェーンと、
(iii)前記機能回路内のバスを介して伝送を提供する働きをする働く１又は２以上のデバッグバスアクセス回路と
のうちの１又は２以上を備えた請求項２１ないし３６の何れか1項記載の診断装置。
【請求項３８】
前記インターフェイス回路は、
(i)前記伝送が、前記集積回路によって使用される個別クロック信号によってクロックされるクロックモードと
(ii)前記伝送が、前記双方向シリアル信号内で検出された遷移に基づいてクロックされる非クロックモードと
で動作する請求項２１ないし３７の何れか1項記載の診断装置。
【請求項３９】
前記クロックモードにおいて、前記伝送は、前記集積回路によって使用される複数のクロック信号であるクロック信号によってクロックされる請求項３８記載の診断装置。
【請求項４０】
前記インターフェイス回路は、前記非クロックモードで初期化する働きをすると共に、前記クロックモードに切り替わることが可能である請求項３８または３９の何れか1項記載の診断装置。
【請求項４１】
集積回路内の機能回路に関する診断動作を実行する働きをする診断回路と通信する方法であって、前記方法は、
双方向シリアル信号を使用して、
(i)前記診断回路の前記診断動作を制御するために、外部診断装置から前記診断回路に制御信号を転送すると共に、
(ii)前記外部診断装置と前記診断回路との間で診断データを転送し、
トレーニングモードにおいて、所定形式のトレーニング信号が、前記双方向シリアル信号をサンプリングするためのサンプリングポイントタイミングを決定するために前記双方向シリアル信号を用いて前記外部診断装置から送られる方法。
【請求項４２】
前記診断回路は、
動作のデバッグ、
テスト動作の作成、
プログラミング動作の作成、
構成動作の作成、
のうちの１または２以上を実行する働きをする請求項４１記載の方法。
【請求項４３】
前記双方向シリアル信号は、前記外部診断装置から前記診断回路にリセット信号を伝送する働きをし、前記リセット信号は、前記診断回路をリセットする働きをする請求項４１または４２の何れか1項記載の方法。
【請求項４４】
前記リセット信号は、前記外部診断装置が所定のリセット期間中に前記双方向シリアル信号を所定のリセットレベルに保持したものであることを含む請求項４３記載の方法。
【請求項４５】
前記双方向シリアル信号は、前記診断回路から前記外部診断装置にペーシング信号を伝送する働きをし、前記ペーシング信号は、前記診断回路が伝送の準備ができているかどうかを示す働きをする請求項４１ないし４４の何れか1項記載の方法。
【請求項４６】
前記双方向シリアル信号は、前記診断回路から前記外部診断装置にペーシング信号を伝送する働きをし、前記ペーシング信号は、前記診断回路が動作を完了したかどうかを示す働きをする請求項４１ないし４５の何れか1項記載の方法。
【請求項４７】
前記双方向シリアル信号は、別の信号を伝送するための別のタイムスロットから成るシリアル信号プロトコルを備え、前記診断回路は、ペーシング信号タイムスロットの期間中、前記双方向シリアル信号を所定のペーシングレベルにする請求項４５または４６の何れか1項記載の方法。
【請求項４８】
前記双方向シリアル信号は、別の信号を伝送するための別のタイムスロットから成るシリアル信号プロトコルを備え、前記双方向シリアル信号は、シリアルデータのフレームのスタートを示すスタート信号を伝送する働きをし、前記スタート信号は、スタート信号タイムスロットを規定するための所定のスタートレベルに駆動される前記双方向シリアル信号である請求項４１ないし４７の何れか1項記載の方法。
【請求項４９】
前記伝送は、前記外部診断装置が前記所定のスタートレベルと異なるレベルに前記双方向シリアル信号を保持することによって休止状態に保持され、これにより、前記双方向シリアル信号が、伝送されているデータの次のフレームが続く前記所定のスタートレベルに変化するまで、前記スタート信号タイムスロットを遅延させる請求項４８記載の方法。
【請求項５０】
前記双方向シリアル信号は、別の信号を伝送するための別のタイムスロットから成るシリアル信号プロトコルを備え、前記双方向シリアル信号は、シリアルデータのフレームのエンドを示すストップ信号を伝送する働きをし、前記ストップ信号は、ストップ信号タイムスロット中に所定のストップレベルに駆動される前記双方向シリアル信号である請求項４１ないし４９の何れか１項記載の方法。
【請求項５１】
非クロックモードにおいて、前記伝送が、前記双方向シリアル信号内で検出される遷移に基づいてクロックされる請求項４１ないし５０の何れか１項記載の方法。
【請求項５２】
前記診断回路は、前記ストップ信号の第1部分の受信を使用して診断動作のアボートを示す請求項５０または５１の何れか１項記載の方法。
【請求項５３】
前記診断回路は、前記ストップビットの第２部分の受信を使用して、前記診断回路によるシリアルデータの前記フレームの受信を確認する請求項５０ないし５２の何れか1項記載の方法。
【請求項５４】
前記インターフェイス回路は前記トレーニングモードに初期化する請求項４１記載の方法。
【請求項５５】
前記初期化は、前記インターフェイス回路のリセットの後に行われる請求項５４記載の方法。
【請求項５６】
トレーニングモードにおいて、所定形式のトレーニング信号が、トレーニングが正常に完了したことを示す前記ペーシング信号と前記双方向シリアル信号とをサンプリングするためのサンプルポイントタイミングを決定するために前記外部診断装置から送られる請求項４５または５５の何れか１項記載の方法。
【請求項５７】
前記診断回路は、
(i)前記機能回路から診断データをキャプチャする働きをする１又は２以上のスキャンチェーンと、
(ii)前記機能回路に診断データを供給する働きをする１又は２以上のスキャンチェーンと、
(iii)前記機能回路内のバスを介して伝送を提供する働きをする１又は２以上のデバッグバスアクセス回路と
のうちの１又は２以上を備えた請求項４１ないし５６の何れか1項記載の方法。
【請求項５８】
(i)クロックモードにおいて、前記伝送が、前記集積回路によって使用される個別クロック信号によってクロックされ、
(ii)非クロックモードにおいて、前記伝送が、前記双方向シリアル信号内で検出された遷移に基づいてクロックされる請求項４１ないし５７の何れか1項記載の方法。
【請求項５９】
前記クロックモードにおいて、前記伝送は、前記集積回路によって使用される複数のクロック信号であるクロック信号によってクロックされる請求項５８記載の方法。
【請求項６０】
前記初期化は、前記非クロックモードで行われると共に、前記クロックモードに切り替わることが可能である請求項５８または５９の何れか1項記載の方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００３
【補正方法】変更
【補正の内容】
【０００３】
集積回路の複雑さ、サイズ、性能が増大するにつれ、その機能（非診断）動作を支援するために集積回路に形成された外部ピン接続の数の増加について一般的要件が存在する。集積回路の上記オンボード診断システムは、集積回路の性能と機能的挙動に与える影響が小さいことが望ましい。
ＵＳ−Ａ−５７３４６６０は、単一ビット双方向スキャンメッセージ信号がスキャンモード設定を実行すると共にスキャンイン及びスキャンアウトの入力／出力を実行する集積回路を開示している。また、個別のスキャンテストクロック信号が供給されると共に使用されている。
【特許文献１】ＵＳ−Ａ−５７３４６６０
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００４
【補正方法】変更
【補正の内容】
【０００４】
一つの側面から見ると、本発明は、データを処理するための集積回路を提供し、前記集積回路は、
データ処理動作を実行する働きをする機能回路と、
前記機能回路に関する診断動作を実行する働きをする診断回路と、
前記診断回路と外部診断装置との間の伝送を提供する働きをするインターフェイス回路とを備え、前記インターフェイス回路は、双方向シリアル信号を使用して、
(i)前記診断回路の前記診断動作を制御するために、前記外部診断装置から前記診断回路に制御信号を転送すると共に、
(ii)前記外部診断装置と前記診断回路との間で診断データを転送し、且つ、
前記インターフェイス回路は、前記双方向シリアル信号をサンプリングするためのサンプリングポイントタイミングを決定するために前記双方向シリアル信号を用いて前記外部診断装置から送られた所定形式のトレーニング信号に応答する働きをトレーニングモードにおいて行う。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００５
【補正方法】変更
【補正の内容】
【０００５】
本発明は、オンボード診断システム専用の複数の外部ピンは、このようなオンボード診断システムの提供において不利なオーバーヘッドを意味することを認識している。本技術は、インターフェイスカードを備えたコンピュータのように、外部診断装置とオンボード診断システムとの間で必要とされるような診断データおよび制御信号の両方を転送するために双方向シリアル信号を利用する。これは、診断機能を支援するために必要とされるピン数の有利な減少を可能にし、いくつかの実施形態では、これは、単一の外部ピンについての要求にまで減少され得る。前記集積回路は、クロックレシオ（トレーニングクロックパルスに対するＩＣクロックの数）を見つけ出すことができ、または、外部診断回路は、正しいトレーニング信号が安定的に受信されるまでタイミングを下げるように調整することができる。このように、集積回路は、外部診断装置と“同期”することができ、この同期は、同期が失われることを防止するために、継続的に、信号エッジ、またはシリアルデータにおける同様のものを検出することにより維持されなければならない。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】削除
【補正の内容】
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００１６
【補正方法】変更
【補正の内容】
【００１６】
他の側面から見ると、本発明は、集積回路に関する診断動作を実行するための診断装置を提供し、前記診断装置は、
前記診断装置と前記集積回路内の診断回路との間の伝送を提供する働きをするインターフェイス回路を備え、
前記インターフェイス回路は、双方向シリアル信号を使用して、
(i)前記集積回路によって実行される診断動作を制御するために、前記診断装置から前記集積回路に制御信号を転送すると共に、
(ii)前記診断装置と前記集積回路との間で診断データを転送し、且つ、
前記インターフェイス回路は、前記双方向シリアル信号をサンプリングするためのサンプリングポイントタイミングを決定するために前記双方向シリアル信号を用いて前記外部診断装置から送られた所定形式のトレーニング信号に応答する働きをトレーニングモードにおいて行う。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００１７
【補正方法】変更
【補正の内容】
【００１７】
更なる側面から見ると、本発明は、集積回路内の機能回路に関する診断動作を実行する働きをする診断回路と通信する方法を提供し、前記方法は、
双方向シリアル信号を使用して、
(i)前記診断回路の前記診断動作を制御するために、外部診断装置から前記診断回路に制御信号を転送すると共に、
(ii)前記外部診断装置と前記診断回路との間で診断データを転送し、
トレーニングモードにおいて、所定形式のトレーニング信号が、前記双方向シリアル信号をサンプリングするためのサンプリングポイントタイミングを決定するために前記双方向シリアル信号を用いて前記外部診断装置から送られる。
【国際調査報告】
2006514296.tif 000015
2006514296.tif 000016