(57)【特許請求の範囲】
【請求項１】
電子システムにおけるシステムデバイスを所定のテストデータに基づいて診断するシステム診断回路であって、
前記システム診断回路は、前記電子システム内に配置されており、
第１のテストデータを受信するように構成されているインタフェースと、
前記第１のテストデータを一時的に格納するデータレジスタ回路と、
命令レジスタ回路と、
前記第１のテストデータを、動作状態に応じて前記命令レジスタ回路または前記データレジスタ回路に送信することを決定するように構成されている、診断コントローラ回路と、
制御命令を実行する制御レジスタ回路と、
前記データレジスタ回路及び前記制御レジスタ回路に接続され、前記データレジスタ回路に送信される前記第１のテストデータが所定のパターンを満たしているとき、前記制御命令の機能を果たす前記第１のテストデータの一部又は全部の内容によって前記制御レジスタ回路に格納された前記制御命令を更新するように構成されている、検出回路と、
を備えている、電子システムのシステム診断回路。
【請求項２】
前記インタフェースが、
前記第１のテストデータを受信するように構成されているテストデータ入力端子と、
第２のテストデータを出力するように構成されているテストデータ出力端子と、
テストモード選択信号を受信するように構成されているテストモード選択端子と、
を備えている、
請求項１に記載の、電子システムのシステム診断回路。
【請求項３】
前記所定のパターンが所定のプリアンブルを備えており、前記データレジスタ回路に送信される前記第１のテストデータがプリアンブル部とデータ部とを備えており、前記プリアンブル部が前記所定のプリアンブルに一致するとき、前記データレジスタ回路に送信される前記第１のテストデータが前記所定のパターンを満たしているものと判定される、
請求項１に記載の、電子システムのシステム診断回路。
【請求項４】
前記所定のパターンが所定のプリアンブルを備えており、前記データレジスタ回路に送信される前記第１のテストデータが、プリアンブル部と、データ部と、誤り検出符号とを備えており、
前記プリアンブル部が前記所定のプリアンブルに一致し、かつ、誤り検出計算による前記第１のテストデータの計算から得られる計算結果が前記誤り検出符号に一致するとき、前記データレジスタ回路に送信される前記第１のテストデータが、前記所定のパターンを満たしているものと判定される、
請求項１に記載の、電子システムのシステム診断回路。
【請求項５】
前記検出回路が、前記システム診断回路の前記動作状態の遷移シーケンスをさらに検査し、前記動作状態の前記遷移シーケンスと、前記データレジスタ回路に送信される前記第１のテストデータとに従って、検査結果を取得し、
前記データレジスタ回路に送信される前記第１のテストデータが所定のパターンを満たしており、かつ、前記動作状態の前記遷移シーケンスが、データレジスタ一時停止状態Ｐａｕｓｅ−ＤＲを含む所定のシーケンスを満たしているとき、前記検出回路が前記制御レジスタ回路を更新する、
請求項１に記載の、電子システムのシステム診断回路。
【請求項６】
前記制御レジスタ回路が、
パスコードの機能を果たす、前記データレジスタ回路に送信される前記第１のテストデータの一部分または全体を受信するために、前記検出回路の出力端子に結合されている入力端子、を有するパスコードレジスタ回路であって、前記パスコードレジスタ回路が、前記電子システムの少なくとも１つのシステムデバイスにアクセスできるように前記システム診断回路の診断論理回路のアクセス機能をイネーブルするかを、前記パスコードに従って決定する、前記パスコードレジスタ回路、
を備えている、
請求項１に記載の、電子システムのシステム診断回路。
【請求項７】
電子システムであって、
診断ホストに結合されるように構成されているルーティング回路と、
コア回路とプロセッサ診断回路とを備えている少なくとも１つのプロセッサ回路であって、前記プロセッサ診断回路が前記ルーティング回路に結合されている、前記少なくとも１つのプロセッサ回路と、
前記電子システムにおけるシステムデバイスを所定のテストデータに基づいて診断するシステム診断回路と、を備え、
前記システム診断回路は、
前記ルーティング回路を制御して、前記システム診断回路と、前記プロセッサ診断回路と、前記診断ホストとの間の結合関係を決定し、
前記システム診断回路は、
インタフェースと、命令レジスタ回路と、データレジスタ回路と、診断コントローラ回路と、制御レジスタ回路と、検出回路と、を備えており、
前記インタフェースが、第１のテストデータを受信するように構成されており、
前記データレジスタ回路が、前記第１のテストデータを一時的に格納し、
前記診断コントローラ回路が、前記第１のテストデータを動作状態に応じて前記命令レジスタ回路または前記データレジスタ回路に送信することを決定するように構成されており、
前記検出回路が、前記データレジスタ回路及び前記制御レジスタ回路に接続され、前記データレジスタ回路に送信される前記第１のテストデータが所定のパターンを満たしているとき、制御命令の機能を果たす前記第１のテストデータの一部又は全部の内容によって前記制御レジスタ回路に格納された前記制御命令を更新し、
前記制御レジスタ回路が、前記制御命令を実行するように構成されている、
電子システム。
【請求項８】
前記インタフェースが、
前記第１のテストデータを受信するように構成されているテストデータ入力端子と、
第２のテストデータを出力するように構成されているテストデータ出力端子と、
テストモード選択信号を受信するように構成されているテストモード選択端子と、
を備えている、
請求項７に記載の電子システム。
【請求項９】
前記所定のパターンが所定のプリアンブルを備えており、前記データレジスタ回路に送信される前記第１のテストデータがプリアンブル部とデータ部とを備えており、前記プリアンブル部が前記所定のプリアンブルに一致するとき、前記データレジスタ回路に送信される前記第１のテストデータが、前記所定のパターンを満たしているものと判定される、
請求項７に記載の電子システム。
【請求項１０】
前記所定のパターンが所定のプリアンブルを備えており、前記データレジスタ回路に送信される前記第１のテストデータが、プリアンブル部と、データ部と、誤り検出符号とを備えており、
前記プリアンブル部が前記所定のプリアンブルに一致し、かつ、誤り検出計算による前記第１のテストデータの計算から得られる計算結果が前記誤り検出符号に一致するとき、前記データレジスタ回路に送信される前記第１のテストデータが、前記所定のパターンを満たしているものと判定される、
請求項７に記載の電子システム。
【請求項１１】
前記検出回路が、前記システム診断回路の前記動作状態の遷移シーケンスをさらに検査し、前記動作状態の前記遷移シーケンスと、前記データレジスタ回路に送信される前記第１のテストデータとに従って、検査結果を取得し、
前記データレジスタ回路に送信される前記第１のテストデータが所定のパターンを満たしており、かつ、前記動作状態の前記遷移シーケンスが、データレジスタ一時停止状態Ｐａｕｓｅ−ＤＲを含む所定のシーケンスを満たしているとき、前記検出回路が前記制御レジスタ回路を更新する、
請求項７に記載の電子システム。
【請求項１２】
前記制御レジスタ回路が、
パスコードの機能を果たす、前記データレジスタ回路に送信される前記第１のテストデータの一部分または全体を受信するために、前記検出回路の出力端子に結合されている入力端子、を有するパスコードレジスタ回路であって、前記パスコードレジスタ回路が、少なくとも１つのシステムデバイスにアクセスできるように前記システム診断回路の診断論理回路のアクセス機能をイネーブルするかを、前記パスコードに従って決定する、前記パスコードレジスタ回路、
を備えている、
請求項７に記載の電子システム。
【請求項１３】
前記制御レジスタ回路が、
選択動作の機能を果たす、前記データレジスタ回路に送信される前記第１のテストデータの一部分または全体を受信するために、前記検出回路の出力端子に結合されている入力端子、を有する選択レジスタ回路であって、前記選択レジスタ回路が、選択動作に従って結合モードを決定し、前記結合モードが、前記電子システムの他の診断回路と前記診断ホストとの間の結合関係を定義する、前記選択レジスタ回路、
を備えている、
請求項７に記載の電子システム。
【請求項１４】
前記ルーティング回路が、
ＡＮＤゲートであって、前記ＡＮＤゲートの第１の入力端子が、テストアクセスポートイネーブル信号を受信するために前記システム診断回路の前記制御レジスタ回路に結合されており、前記ＡＮＤゲートの第２の入力端子が、前記テストモード選択信号を受信するために前記診断ホストに結合されるように構成されており、前記ＡＮＤゲートの出力端子が、前記プロセッサ診断回路のテストモード選択信号入力端子に結合されている、前記ＡＮＤゲート、
を備えている、
請求項８に記載の電子システム。
【請求項１５】
電子システムにおけるシステムデバイスを所定のテストデータに基づいて診断するときのシステム診断回路の動作方法であって、
前記システム診断回路は、前記電子システム内に配置されており、
前記システム診断回路は、インタフェース、データレジスタ回路、命令レジスタ回路、診断コントローラ回路、制御レジスタ回路及び検出回路を有し、
前記動作方法は、
前記インタフェースによって第１のテストデータを受信するステップと、
前記データレジスタ回路によって前記第１のテストデータを一時的に格納するステップと、
前記診断コントローラ回路によって、動作状態に応じて、前記第１のテストデータを前記命令レジスタ回路または前記データレジスタ回路に送信することを決定するステップと、
前記データレジスタ回路に送信される前記第１のテストデータが所定のパターンを満たしているとき、検出回路によって制御命令の機能を果たす前記第１のテストデータの一部又は全部の内容によって前記制御レジスタ回路に格納された前記制御命令を更新するステップと、
前記制御レジスタ回路によって、前記制御命令を実行するステップと、
を含む、システム診断回路の動作方法。
【請求項１６】
前記インタフェースが、
前記第１のテストデータを受信するように構成されているテストデータ入力端子と、
第２のテストデータを出力するように構成されているテストデータ出力端子と、
テストモード選択信号を受信するように構成されているテストモード選択端子と、
を備えている、
請求項１５に記載の、システム診断回路の動作方法。
【請求項１７】
前記所定のパターンが所定のプリアンブルを備えており、前記データレジスタ回路に送信される前記第１のテストデータがプリアンブル部とデータ部とを備えており、前記データレジスタ回路に送信される前記第１のテストデータによって前記制御レジスタ回路を更新するかを決定する前記ステップが、
前記プリアンブル部が前記所定のプリアンブルに一致するとき、前記データレジスタ回路に送信される前記第１のテストデータが前記所定のパターンを満たしているものと判定するステップ、をさらに含む、
請求項１５に記載の、システム診断回路の動作方法。
【請求項１８】
前記所定のパターンが所定のプリアンブルを備えており、前記データレジスタ回路に送信される前記第１のテストデータが、プリアンブル部と、データ部と、誤り検出符号とを備えており、前記データレジスタ回路に送信される前記第１のテストデータによって前記制御レジスタ回路を更新するかを決定する前記ステップが、
前記プリアンブル部が前記所定のプリアンブルに一致し、かつ、誤り検出計算による前記第１のテストデータの計算から得られる計算結果が前記誤り検出符号に一致するとき、前記データレジスタ回路に送信される前記第１のテストデータが前記所定のパターンを満たしているものと判定するステップ、をさらに含む、
請求項１５に記載の、システム診断回路の動作方法。
【請求項１９】
前記システム診断回路の前記動作状態の遷移シーケンスを前記検出回路によって検査するステップと、
前記動作状態の前記遷移シーケンスと、前記データレジスタ回路に送信される前記第１のテストデータとに従って、検査結果を取得するステップと、
をさらに含み、
前記データレジスタ回路に送信される前記第１のテストデータが所定のパターンを満たしており、かつ、前記動作状態の前記遷移シーケンスが、データレジスタ一時停止状態Ｐａｕｓｅ−ＤＲを含む所定のシーケンスを満たしているとき、前記検出回路が前記制御レジスタ回路を更新する、
請求項１５に記載の、システム診断回路の動作方法。
【請求項２０】
前記制御レジスタ回路がパスコードレジスタ回路を備えており、前記動作方法が、
パスコードの機能を果たす、前記データレジスタ回路に送信される前記第１のテストデータの一部分または全体によって、前記パスコードレジスタ回路を更新するステップと、
前記電子システムの少なくとも１つのシステムデバイスにアクセスできるように前記システム診断回路の診断論理回路のアクセス機能をイネーブルするかを、前記パスコードレジスタ回路によって前記パスコードに従って決定するステップと、
をさらに含む、
請求項１５に記載の、システム診断回路の動作方法。
【請求項２１】
前記制御レジスタ回路が選択レジスタ回路を備えており、前記動作方法が、
選択動作の機能を果たす、前記データレジスタ回路に送信される前記第１のテストデータの一部分または全体によって、前記検出回路によって前記選択レジスタ回路を更新するステップと、
前記選択レジスタ回路によって前記選択動作に従って結合モードを決定するステップであって、前記結合モードが、前記電子システムの他の診断回路と診断ホストとの間の結合関係を定義する、ステップと、
をさらに含む、
請求項１５に記載の、システム診断回路の動作方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子システムの診断技術に関し、より詳細には、電子システムと、システム診断回路と、システム診断回路の動作方法とに関する。
【背景技術】
【０００２】
回路設計の複雑度が高まるにつれて、１個のチップに集積されるトランジスタの数がますます増えており、これによりチップのスキャンテストの実行時間が延びている。例えば、図１は、ＪＴＡＧ（Joint Test Action Group）規格（またはＩＥＥＥ１１４９．１規格）に準拠するシステムを図示した回路ブロック図である。電子システム１００は、診断する対象のシステムを表している。診断動作には、（以下に限定されないが）デバッグ、パフォーマンスモニタ、トレース、テスト、およびファームウェアプログラミングが含まれる。
【０００３】
電子システム１００は、メモリ１１０もしくは他のシステムデバイス１２０またはその両方を含むことができる。さらに、電子システム１００は、複数のプロセッサ（図１に示したプロセッサ１３０，１４０，１５０など）を含むことができる。プロセッサ１３０，１４０，１５０のそれぞれは、システムバス１６０を介してメモリ１１０やシステムデバイス１２０にアクセスし、これらを制御することができる。プロセッサ１３０，１４０，１５０のそれぞれは、図１に示したようにコア回路およびテストアクセスポート（ＴＡＰ）を含む。
【０００４】
診断ホスト１０（diagnosis host）のテストデータ出力端子ＴＤＯは、プロセッサ１３０のテストアクセスポートのテストデータ入力端子ＴＤＩに結合されており、プロセッサ１３０のテストアクセスポートのテストデータ出力端子ＴＤＯは、プロセッサ１４０のテストアクセスポートのテストデータ入力端子ＴＤＩに結合されており、プロセッサ１４０のテストアクセスポートのテストデータ出力端子ＴＤＯは、プロセッサ１５０のテストアクセスポートのテストデータ入力端子ＴＤＩに結合されており、プロセッサ１５０のテストアクセスポートのテストデータ出力端子ＴＤＯは、診断ホスト１０のテストデータ入力端子ＴＤＩに結合されている。したがって、プロセッサ１３０、プロセッサ１４０、プロセッサ１５０、および診断ホスト１０の間の結合関係は、デイジーチェーン構造として表される。プロセッサ１３０、プロセッサ１４０、プロセッサ１５０は、スキャンチェーンを形成している。
【０００５】
診断ホスト１０は、テストクロック信号ＴＣＫと、テストモード選択信号ＴＭＳと、リセット信号ＴＲＳＴとを、プロセッサ１３０，１４０，１５０のテストアクセスポートに出力する。プロセッサ１３０，１４０，１５０のテストアクセスポートは、テストモード選択信号ＴＭＳの論理ＨＩＧＨ／論理ＬＯＷに従って、動作状態を切り替えることができる。したがって、プロセッサ１３０，１４０，１５０のテストアクセスポートは、診断ホスト１０から発行されるテスト命令を実行することができ、テスト結果を診断ホスト１０に返すことができる。しかしながら、システムの動作中、電力管理を考慮して、１つまたは複数のプロセッサ１３０，１４０，１５０の電源がオフにされることがある。スキャンチェーン内のテストアクセスポートのいずれかの電源がオフにされると、スキャンチェーンは切断され、したがって診断ホスト１０は、電子システム１００の監視やテストを行うことができない。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、電子システム、ならびにシステム診断回路およびその動作方法を提供する。ＪＴＡＧ（Joint Test Action Group）規格（またはＩＥＥＥ１１４９．１規格、または別の規格）の仕様が満たされているとき、本システム診断回路は、診断ホストの命令に従って、電子システムの診断動作を柔軟に制御することができる。
【課題を解決するための手段】
【０００７】
本発明の一実施の形態は、電子システムにおけるシステムデバイスを所定のテストデータに基づいて診断するシステム診断回路であって、前記システム診断回路は、前記電子システム内に配置されており、第１のテストデータを受信するように構成されているインタフェースと、前記第１のテストデータを一時的に格納するデータレジスタ回路と、命令レジスタ回路と、前記第１のテストデータを、動作状態に応じて前記命令レジスタ回路または前記データレジスタ回路に送信することを決定するように構成されている、診断コントローラ回路と、制御命令を実行する制御レジスタ回路と、前記データレジスタ回路及び前記制御レジスタ回路に接続され、前記データレジスタ回路に送信される前記第１のテストデータが所定のパターンを満たしているとき、前記制御命令の機能を果たす前記第１のテストデータの一部又は全部の内容によって前記制御レジスタ回路に格納された前記制御命令を更新するように構成されている、検出回路と、を備えている。
【０００８】
本発明の一実施の形態は、電子システムであって、診断ホストに結合されるように構成されているルーティング回路と、コア回路とプロセッサ診断回路とを備えている少なくとも１つのプロセッサ回路であって、前記プロセッサ診断回路が前記ルーティング回路に結合されている、前記少なくとも１つのプロセッサ回路と、前記電子システムにおけるシステムデバイスを所定のテストデータに基づいて診断するシステム診断回路と、を備え、前記システム診断回路は、前記ルーティング回路を制御して、前記システム診断回路と、前記プロセッサ診断回路と、前記診断ホストとの間の結合関係を決定し、前記システム診断回路は、インタフェースと、命令レジスタ回路と、データレジスタ回路と、診断コントローラ回路と、制御レジスタ回路と、検出回路と、を備えており、前記インタフェースが、第１のテストデータを受信するように構成されており、前記データレジスタ回路が、前記第１のテストデータを一時的に格納し、前記診断コントローラ回路が、前記第１のテストデータを動作状態に応じて前記命令レジスタ回路または前記データレジスタ回路に送信することを決定するように構成されており、前記検出回路が、前記データレジスタ回路及び前記制御レジスタ回路に接続され、前記データレジスタ回路に送信される前記第１のテストデータが所定のパターンを満たしているとき、制御命令の機能を果たす前記第１のテストデータの一部又は全部の内容によって前記制御レジスタ回路に格納された前記制御命令を更新し、前記制御レジスタ回路が、前記制御命令を実行するように構成されている。
【０００９】
本発明の一実施の形態は、電子システムにおけるシステムデバイスを所定のテストデータに基づいて診断するときのシステム診断回路の動作方法であって、前記システム診断回路は、前記電子システム内に配置されており、前記システム診断回路は、インタフェース、データレジスタ回路、命令レジスタ回路、診断コントローラ回路、制御レジスタ回路及び検出回路を有し、前記動作方法は、前記インタフェースによって第１のテストデータを受信するステップと、前記データレジスタ回路によって前記第１のテストデータを一時的に格納するステップと、前記診断コントローラ回路によって、動作状態に応じて、前記第１のテストデータを前記命令レジスタ回路または前記データレジスタ回路に送信することを決定するステップと、前記データレジスタ回路に送信される前記第１のテストデータが所定のパターンを満たしているとき、検出回路によって制御命令の機能を果たす前記第１のテストデータの一部又は全部の内容によって前記制御レジスタ回路に格納された前記制御命令を更新するステップと、前記制御レジスタ回路によって、前記制御命令を実行するステップと、を含む。
【発明の効果】
【００１０】
上に記載したように、本発明の実施形態は、電子システムと、システム診断回路と、システム診断回路の動作方法、を提供する。ＪＴＡＧ規格（またはＩＥＥＥ１１４９．１規格、または別の規格）の仕様が満たされているとき、システム診断回路（テストアクセスポート（ＴＡＰ）など）は、診断ホストから発行される制御命令に従って、電子システムの診断動作（例えば、診断ホストと電子システムの複数のテストアクセスポートとの接続構造を柔軟に変更する、あるいは、電子システムの中のシステムデバイスへのアクセス機能をイネーブルするかを決定する）を柔軟に制御することができる。
【００１１】
以下では、本発明の上述した特徴および利点と、それ以外の特徴および利点を理解することができるように、実施形態について添付の図面を参照しながら詳しく説明する。
【図面の簡単な説明】
【００１２】
【図１】ＪＴＡＧ（Joint Test Action Group）規格（またはＩＥＥＥ１１４９．１規格）に準拠するシステムを図示した回路ブロック図である。
【図２】本発明の一実施形態による電子システムの回路ブロック図である。
【図３】本発明の一実施形態による、図２に示したシステム診断回路の回路ブロック図である。
【図４】ＪＴＡＧ（Joint Test Action Group）規格（またはＩＥＥＥ１１４９．１規格）の動作状態を図示したブロック図である。
【図５】本発明の一実施形態による、システム診断回路の動作方法の流れ図である。
【図６】本発明の一実施形態による、図２に示したルーティング回路の回路ブロック図である。
【図７】本発明の一実施形態による、図３に示したデータレジスタ回路および制御レジスタ回路の回路ブロック図である。
【図８】本発明の一実施形態による、図７に示した検出回路の回路ブロック図である。
【図９】本発明の別の実施形態による、図３に示したデータレジスタ回路および制御レジスタ回路の回路ブロック図である。
【発明を実施するための形態】
【００１３】
本明細書（特許請求の範囲を含む）において使用されている用語「結合する／結合されている」（または接続する／接続されている）は、直接的または間接的な任意の接続手段を意味する。例えば、「第１のデバイスは第２のデバイスに結合（または接続）されている」は、「第１のデバイスは、第２のデバイスに直接的に接続されている」または「第１のデバイスは、第２のデバイスに、別のデバイスまたは接続手段を介して間接的に接続されている」と解釈するものとする。さらに、異なる図面および実施形態において、参照番号が同じ要素／デバイス／ステップは、同じかまたは類似する要素／デバイス／ステップを表す。異なる実施形態において同じ参照番号または名称を有する要素／デバイス／ステップは、相互に参照することができる。
【００１４】
図２は、本発明の一実施形態による電子システム２００の回路ブロック図である。この電子ステム２００は、ルーティング回路２１０と、システム診断回路２２０と、少なくとも１つのプロセッサ回路（図２に示したプロセッサ回路２３０＿１およびプロセッサ回路２３０＿２など）と、システムバス２４０と、少なくとも１つのシステムデバイス（図２に示したメモリ２５０＿１および別のシステムデバイス２５０＿２など）と、を含む。ルーティング回路２１０は診断ホスト２０に結合される。ルーティング回路２１０と診断ホスト２０との間の通信インタフェースは、ＪＴＡＧ（Joint Test Action Group）規格（またはＩＥＥＥ１１４９．１規格）を満たす通信インタフェースとすることができる。別の実施形態においては、このインタフェースは、（以下に限定されないが）ＩＥＥＥ１１４９．７のインタフェース、ＩＥＥＥ５００１のインタフェース、またはＳＷＤ（シリアルワイヤデバッグ）のインタフェースとすることができる。
【００１５】
プロセッサ回路２３０＿１は、プロセッサ診断回路２３１＿１およびコア回路２３２＿１を含む。プロセッサ診断回路２３１＿１は、ＪＴＡＧ規格（またはＩＥＥＥ１１４９．１規格）のＴＡＰ（テストアクセスポート）仕様を満たすことができ、詳細な実装についての説明はここでは繰り返さない。プロセッサ診断回路２３１＿１は、ルーティング回路２１０およびコア回路２３２＿１に結合されている。ルーティング回路２１０とプロセッサ診断回路２３１＿１との間の通信インタフェースは、ＪＴＡＧ規格（またはＩＥＥＥ１１４９．１規格）を満たす通信インタフェースとすることができる。プロセッサ回路２３０＿２は、プロセッサ診断回路２３１＿２およびコア回路２３２＿２を含む。プロセッサ診断回路２３１＿２は、ＪＴＡＧ規格（またはＩＥＥＥ１１４９．１規格）のＴＡＰ（テストアクセスポート）仕様を満たすことができ、詳細な実装についての説明は繰り返さない。プロセッサ診断回路２３１＿２は、ルーティング回路２１０およびコア回路２３２＿２に結合されている。ルーティング回路２１０とプロセッサ診断回路２３１＿２との間の通信インタフェースは、ＪＴＡＧ規格（またはＩＥＥＥ１１４９．１規格）を満たす通信インタフェースとすることができる。
【００１６】
システム診断回路２２０はルーティング回路２１０に結合されている。ルーティング回路２１０とシステム診断回路２２０との間の通信インタフェースは、ＪＴＡＧ規格（またはＩＥＥＥ１１４９．１規格）を満たす通信インタフェースとすることができる。システム診断回路２２０は、システム診断回路２２０、プロセッサ診断回路２３１＿１、プロセッサ診断回路２３１＿２、および診断ホスト２０の間の結合関係が決定されるように、ルーティング回路２０を制御することができる。例えば、ルーティング回路２１０は、システム診断回路２２０の制御に基づいて、プロセッサ診断回路２３１＿１およびプロセッサ診断回路２３１＿２を診断ホスト２０に柔軟にリンクする、あるいは、プロセッサ診断回路２３１＿１およびプロセッサ診断回路２３１＿２を、デイジーチェーンが形成されるように診断ホスト２０に直列にリンクする、あるいは、システム診断回路２２０、プロセッサ診断回路２３１＿１、プロセッサ診断回路２３１＿２のうちの１つを、診断ホスト２０に選択的に接続することができる。
【００１７】
システムバス２４０は、コア回路２３２＿１およびコア回路２３２＿２に結合されている。メモリ２５０＿１およびシステムデバイス２５０＿２は、システムバス２４０に結合されている。したがって、プロセッサ回路２３０＿１のコア回路２３２＿１およびプロセッサ回路２３０＿２のコア回路２３２＿２それぞれは、システムバス２４０を介して、メモリ２５０＿１および／またはシステムデバイス２５０＿２にアクセスしてこれらを制御することができる。別の実施形態では、システム診断回路２２０が、メモリ２５０＿１および／またはシステムデバイス２５０＿２を制御して、メモリ２５０＿１および／またはシステムデバイス２５０＿２へのアクセス機能をイネーブルするかを決定することができる。
【００１８】
図３は、本発明の一実施形態による、図２に示したシステム診断回路２２０の回路ブロック図である。図３に示した実施形態においては、システム診断回路２２０は、インタフェース（例えば、テストデータ入力端子ＴＤＩおよびテストデータ出力端子ＴＤＯ）と、診断論理回路２２１と、データレジスタ回路２２２と、検出回路２２３と、制御レジスタ回路２２４と、命令レジスタ回路２２５と、診断コントローラ回路２２６と、デマルチプレクサ２２７と、マルチプレクサ２２８と、を含む。テストデータ入力端子ＴＤＩは、診断ホスト２０から第１のテストデータＴＤ１を受信するように構成されている。デマルチプレクサ２２７の入力端子は、テストデータ入力端子ＴＤＩに結合されており、診断ホスト２０からの第１のテストデータＴＤ１を受信する。デマルチプレクサ２２７の第１の出力端子は、命令レジスタ回路２２５のデータ入力端子に結合されている。デマルチプレクサ２２７の第２の出力端子は、データレジスタ回路２２２のデータ入力端子に結合されている。マルチプレクサ２２８の第１の入力端子は、命令レジスタ回路２２５のデータ出力端子に結合されている。マルチプレクサ２２８の第２の入力端子は、データレジスタ回路２２２のデータ出力端子に結合されている。マルチプレクサ２２８の出力端子は、テストデータ出力端子ＴＤＯに結合されている。テストデータ出力端子ＴＤＯは、第２のテストデータＴＤ２を出力するように構成されている。診断コントローラ回路２２６は、デマルチプレクサ２２７およびマルチプレクサ２２８を制御することができる。命令レジスタ回路２２５は、診断命令の機能を果たす、診断ホスト２０から出力された第１のテストデータＴＤ１を、診断コントローラ回路２２６の制御に従って一時的に格納することができ、一時的に格納されている診断命令を実行することができる。データレジスタ回路２２２は、診断コントローラ回路２２６の制御に従って、診断ホスト２０から出力された第１のテストデータＴＤ１を一時的に格納することができる。診断論理回路２２１は、命令レジスタ回路２２５の制御に従って、データレジスタ回路２２２の特定のレジスタにアクセスして（後から説明する）、電子システム２００のシステムデバイス２５０（図２に示したメモリ２５０＿１、システムデバイス２５０＿２、他のシステムデバイスなど）に対する診断動作を実行することができる。
【００１９】
システム診断回路２２０のテストモード選択端子は、テストモード選択信号ＴＭＳを受信するように構成されている。診断コントローラ回路２２６は、診断ホスト２０から出力されるテストモード選択信号ＴＭＳを、診断ホスト２０から出力されるテストクロック信号ＴＣＫに従ってサンプリングし、システム診断回路２２０の動作状態をテストモード選択信号ＴＭＳに応じて切り替えることができる。診断コントローラ回路２２６は、テストデータ入力端子ＴＤＩの第１のテストデータＴＤ１を、動作状態に応じて命令レジスタ回路２２５またはデータレジスタ回路２２２に送信することを決定するように構成されている。診断コントローラ回路２２６は、動作状態に応じて命令レジスタ回路２２５またはデータレジスタ回路２２２から出力される、第２のテストデータＴＤ２の機能を果たすデータを、テストデータ出力端子ＴＤＯに送信することを決定するように構成されている。
【００２０】
いくつかの実施形態においては、テストデータ入力端子ＴＤＩ、テストデータ出力端子ＴＤＯ、テストモード選択信号ＴＭＳ、テストクロック信号ＴＣＫ、診断論理回路２２１、データレジスタ回路２２２、命令レジスタ回路２２５、診断コントローラ回路２２６、デマルチプレクサ２２７、およびマルチプレクサ２２８は、ＪＴＡＧ規格（またはＩＥＥＥ１１４９．１規格）のピン、信号、および回路に関する仕様を満たしていることができ、したがってこれらの要素については説明を繰り返さない。例えば、診断コントローラ回路２２６の動作状態は、ＪＴＡＧ規格（またはＩＥＥＥ１１４９．１規格）を満たす動作状態とすることができる。
【００２１】
図４は、ＪＴＡＧ（Joint Test Action Group）規格（またはＩＥＥＥ１１４９．１規格）の動作状態の仕様を図示したブロック図である。以下では図２〜図４を参照する。診断ホスト２０が、システム診断回路２２０の内側の診断コントローラ回路（診断コントローラ回路２２６など）と、プロセッサ診断回路２３１＿１と、プロセッサ診断回路２３１＿２とに、ルーティング回路２１０を介してリセット信号ＴＲＳＴを出力すると、診断コントローラ回路はテストロジックリセット状態Ｔｅｓｔ−Ｌｏｇｉｃ−Ｒｅｓｅｔに入る。診断コントローラ回路は、テストモード選択信号ＴＭＳに応じて、引き続きテストロジックリセット状態Ｔｅｓｔ−Ｌｏｇｉｃ−Ｒｅｓｅｔのままである（テストモード選択信号ＴＭＳ＝１）、またはテスト実行／アイドル状態Ｒｕｎ−Ｔｅｓｔ／Ｉｄｌｅに入る（テストモード選択信号ＴＭＳ＝０）ことができる。次いで、テストモード選択信号ＴＭＳが論理ＨＩＧＨであるとき（ＴＭＳ＝１）、診断コントローラ回路２２６はテスト実行／アイドル状態Ｒｕｎ−Ｔｅｓｔ／Ｉｄｌｅからデータレジスタスキャン選択状態Ｓｅｌｅｃｔ−ＤＲ−Ｓｃａｎに入る。そうでない場合（ＴＭＳ＝０）、診断コントローラ回路２２６は、引き続きテスト実行／アイドル状態Ｒｕｎ−Ｔｅｓｔ／Ｉｄｌｅのままである。
【００２２】
データレジスタスキャン選択状態Ｓｅｌｅｃｔ−ＤＲ−Ｓｃａｎにおいては、診断コントローラ回路２２６は、デマルチプレクサ２２７を制御してテストデータ入力端子ＴＤＩをデータレジスタ回路２２２に電気的に接続することができ、かつ、マルチプレクサ２２８を制御してデータレジスタ回路２２２をテストデータ出力端子ＴＤＯに電気的に接続することができる。次いで、テストモード選択信号ＴＭＳが論理ＬＯＷであるとき（ＴＭＳ＝０）、診断コントローラ回路２２６は、データレジスタスキャン選択状態Ｓｅｌｅｃｔ−ＤＲ−Ｓｃａｎからデータレジスタキャプチャ状態Ｃａｐｔｕｒｅ−ＤＲに入り、診断コントローラ回路２２６はデータレジスタ回路２２２にイネーブル信号を供給する。次いで、テストモード選択信号ＴＭＳが論理ＬＯＷであるとき、診断コントローラ回路２２６は、データレジスタキャプチャ状態Ｃａｐｔｕｒｅ−ＤＲからデータレジスタシフト状態Ｓｈｉｆｔ−ＤＲに入り、診断コントローラ回路２２６はデータレジスタ回路２２２にシフト信号を供給する。そうでない場合（ＴＭＳ＝１）、診断コントローラ回路２２６は、データレジスタキャプチャ状態Ｃａｐｔｕｒｅ−ＤＲからデータレジスタ終了１状態Ｅｘｉｔ１−ＤＲに入る。
【００２３】
診断コントローラ回路２２６がデータレジスタシフト状態Ｓｈｉｆｔ−ＤＲにあるとき、テストモード選択信号ＴＭＳが論理ＬＯＷである場合、診断コントローラ回路２２６は、引き続きデータレジスタシフト状態Ｓｈｉｆｔ−ＤＲのままである。そうでない場合（ＴＭＳ＝１）、診断コントローラ回路２２６は、データレジスタシフト状態Ｓｈｉｆｔ−ＤＲからデータレジスタ終了１状態Ｅｘｉｔ１−ＤＲに入る。診断コントローラ回路２２６がデータレジスタ終了１状態Ｅｘｉｔ１−ＤＲにあるとき、テストモード選択信号ＴＭＳが論理ＬＯＷである場合、診断コントローラ回路２２６は、データレジスタ終了１状態Ｅｘｉｔ１−ＤＲからデータレジスタ一時停止状態Ｐａｕｓｅ−ＤＲに入る。そうでない場合（ＴＭＳ＝１）、診断コントローラ回路２２６は、データレジスタ終了１状態Ｅｘｉｔ１−ＤＲからデータレジスタ更新状態Ｕｐｄａｔｅ−ＤＲに入る。
【００２４】
診断コントローラ回路２２６がデータレジスタ一時停止状態Ｐａｕｓｅ−ＤＲにあるとき、テストモード選択信号ＴＭＳが論理ＬＯＷである場合、診断コントローラ回路２２６は、引き続きデータレジスタ一時停止状態Ｐａｕｓｅ−ＤＲのままである。そうでない場合（ＴＭＳ＝１）、診断コントローラ回路２２６は、データレジスタ一時停止状態Ｐａｕｓｅ−ＤＲからデータレジスタ終了２状態Ｅｘｉｔ２−ＤＲに入る。次いで、テストモード選択信号ＴＭＳがＬＯＷであるとき、診断コントローラ回路２２６は、データレジスタ終了２状態Ｅｘｉｔ２−ＤＲからデータレジスタシフト状態Ｓｈｉｆｔ−ＤＲに戻る。そうでない場合（ＴＭＳ＝１）、診断コントローラ回路２２６は、データレジスタ終了２状態Ｅｘｉｔ２−ＤＲからデータレジスタ更新状態Ｕｐｄａｔｅ−ＤＲに入る。次いで、テストモード選択信号ＴＭＳが論理ＬＯＷであるとき、診断コントローラ回路２２６は、データレジスタ更新状態Ｕｐｄａｔｅ−ＤＲからテスト実行／アイドル状態Ｒｕｎ−Ｔｅｓｔ／Ｉｄｌｅに戻る。そうでない場合（ＴＭＳ＝１）、診断コントローラ回路２２６は、データレジスタ更新状態Ｕｐｄａｔｅ−ＤＲからデータレジスタスキャン選択状態Ｓｅｌｅｃｔ−ＤＲ−Ｓｃａｎに戻る。
【００２５】
診断コントローラ回路２２６がデータレジスタスキャン選択状態Ｓｅｌｅｃｔ−ＤＲ−Ｓｃａｎにあり、テストモード選択信号ＴＭＳが論理ＨＩＧＨである（ＴＭＳ＝１）とき、診断コントローラ回路２２６は、データレジスタスキャン選択状態Ｓｅｌｅｃｔ−ＤＲ−Ｓｃａｎから命令レジスタスキャン選択状態Ｓｅｌｅｃｔ−ＩＲ−Ｓｃａｎに入る。
【００２６】
命令レジスタスキャン選択状態Ｓｅｌｅｃｔ−ＩＲ−Ｓｃａｎにおいては、診断コントローラ回路２２６は、デマルチプレクサ２２７を制御してテストデータ入力端子ＴＤＩを命令レジスタ回路２２５に電気的に接続することができ、かつ、マルチプレクサ２２８を制御して命令レジスタ回路２２５をテストデータ出力端子ＴＤＯに電気的に接続することができる。次いで、テストモード選択信号ＴＭＳが論理ＨＩＧＨであるとき、診断コントローラ回路２２６は、命令レジスタスキャン選択状態Ｓｅｌｅｃｔ−ＩＲ−Ｓｃａｎからテストロジックリセット状態Ｔｅｓｔ−Ｌｏｇｉｃ−Ｒｅｓｅｔに戻る。逆に、テストモード選択信号ＴＭＳが論理ＬＯＷであるときには、診断コントローラ回路２２６は、命令レジスタスキャン選択状態Ｓｅｌｅｃｔ−ＩＲ−Ｓｃａｎから命令レジスタキャプチャ状態Ｃａｐｔｕｒｅ−ＩＲに入る。次いで、テストモード選択信号ＴＭＳが論理ＬＯＷであるとき、診断コントローラ回路２２６は、命令レジスタキャプチャ状態Ｃａｐｔｕｒｅ−ＩＲから命令レジスタシフト状態Ｓｈｉｆｔ−ＩＲに入る。そうでない場合（ＴＭＳ＝１）、診断コントローラ回路２２６は、命令レジスタキャプチャ状態Ｃａｐｔｕｒｅ−ＩＲから命令レジスタ終了１状態Ｅｘｉｔ１−ＩＲに入る。
【００２７】
診断コントローラ回路２２６が命令レジスタシフト状態Ｓｈｉｆｔ−ＩＲにあるとき、テストモード選択信号ＴＭＳが論理ＬＯＷである場合、診断コントローラ回路２２６は引き続き命令レジスタシフト状態Ｓｈｉｆｔ−ＩＲのままである。そうでない場合（ＴＭＳ＝１）、診断コントローラ回路２２６は、命令レジスタシフト状態Ｓｈｉｆｔ−ＩＲから命令レジスタ終了１状態Ｅｘｉｔ１−ＩＲに入る。診断コントローラ回路２２６が命令レジスタ終了１状態Ｅｘｉｔ１−ＩＲにあるとき、テストモード選択信号ＴＭＳが論理ＬＯＷである場合、診断コントローラ回路２２６は、命令レジスタ終了１状態Ｅｘｉｔ１−ＩＲから命令レジスタ一時停止状態Ｐａｕｓｅ−ＩＲに入る。そうでない場合（ＴＭＳ＝１）、診断コントローラ回路２２６は、命令レジスタ終了１状態Ｅｘｉｔ１−ＩＲから命令レジスタ更新状態Ｕｐｄａｔｅ−ＩＲに入る。
【００２８】
診断コントローラ回路２２６が命令レジスタ一時停止状態Ｐａｕｓｅ−ＩＲにあるとき、テストモード選択信号ＴＭＳが論理ＬＯＷである場合、診断コントローラ回路２２６は、引き続き命令レジスタ一時停止状態Ｐａｕｓｅ−ＩＲのままである。そうでない場合（ＴＭＳ＝１）、診断コントローラ回路２２６は、命令レジスタ一時停止状態Ｐａｕｓｅ−ＩＲから命令レジスタ終了２状態Ｅｘｉｔ２−ＩＲに入る。次いで、テストモード選択信号ＴＭＳが論理ＬＯＷであるとき、診断コントローラ回路２２６は、命令レジスタ終了２状態Ｅｘｉｔ２−ＩＲから命令レジスタシフト状態Ｓｈｉｆｔ−ＩＲに戻る。そうでない場合（ＴＭＳ＝１）、診断コントローラ回路２２６は、命令レジスタ終了２状態Ｅｘｉｔ２−ＩＲから命令レジスタ更新状態Ｕｐｄａｔｅ−ＩＲに入る。次いで、テストモード選択信号ＴＭＳが論理ＬＯＷであるとき、診断コントローラ回路２２６は、命令レジスタ更新状態Ｕｐｄａｔｅ−ＩＲからテスト実行／アイドル状態Ｒｕｎ−Ｔｅｓｔ／Ｉｄｌｅに戻る。そうでない場合（ＴＭＳ＝１）、診断コントローラ回路２２６は、命令レジスタ更新状態Ｕｐｄａｔｅ−ＩＲからデータレジスタスキャン選択状態Ｓｅｌｅｃｔ−ＤＲ−Ｓｃａｎに戻る。
【００２９】
図５は、本発明の一実施形態による、システム診断回路２２０の動作方法の流れ図である。以下では図３および図５を参照する。ステップＳ５１０においては、インタフェース（例えば、テストデータ入力端子ＴＤＩもしくはテストデータ出力端子ＴＤＯまたはその両方）と、データレジスタ回路２２２と、命令レジスタ回路２２５と、を提供する。ステップＳ５３０においては、動作状態を供給する。例えば、診断コントローラ回路２２６は、図４に示したように、テストモード選択信号ＴＭＳに応じてシステム診断回路２２０の動作状態を切り替える。このステップＳ５３０においては、システム診断回路２２６は、テストデータ入力端子ＴＤＩの第１のテストデータＴＤ１を、動作状態に応じて命令レジスタ回路２２５またはデータレジスタ回路２２２に送信することを決定することができる。さらに、システム診断回路２２６は、動作状態に応じて命令レジスタ回路２２５またはデータレジスタ回路２２２から出力される、第２のテストデータＴＤ２の機能を果たすデータを、テストデータ出力端子ＴＤＯに送信することを決定することができる。
【００３０】
検出回路２２３の入力端子は、データレジスタ回路２２２に送信されるテストデータを検査するためデータレジスタ回路２２２に結合されている。検出回路２２３は、データレジスタ回路２２２に送信されるテストデータを検査して検査結果を取得する（ステップＳ５４０）。検出回路２２３の出力端子は制御レジスタ回路２２４に結合されている。検出回路２２３は、データレジスタ回路２２２に送信されるテストデータが所定のパターンを満たしているときに制御レジスタ回路２２４を更新するかを決定することができる（ステップＳ５５０）。制御レジスタ回路２２４は、制御命令を一時的に格納しておき、制御命令を実行し（ステップＳ５６０）、制御命令に従って診断論理回路２２１もしくはルーティング回路２１０またはその両方を制御し、少なくとも１つの制御信号Ｓｃｔｒを発行する。ＪＴＡＧ規格（またはＩＥＥＥ１１４９．１規格）の仕様が満たされているとき、システム診断回路２２０は、診断ホスト２０によって発行される制御命令に従って、電子システム２００の診断動作を柔軟に制御することができる。さまざまなテスト状況において、電子システム２００に対する診断動作として、例えば、診断ホスト２０と、システム診断回路２２０、プロセッサ診断回路２３１＿１、およびプロセッサ診断回路２３１＿２との接続構造を柔軟に変更したり、電子システム２００内のシステムデバイス２５０へのアクセス機能をイネーブルするかを決定する。
【００３１】
図６は、本発明の一実施形態による、図２に示したルーティング回路２１０の回路ブロック図である。図２および図６に示した実施形態には、２つのプロセッサ診断回路２３１＿１，２３１＿２を示してあるが、プロセッサ診断回路の数は、診断される電子システム２００のプロセッサ回路２３０＿１，２３０＿２の数に一致し、プロセッサ回路の数は、設計要件に従って決定される。例えば、別の実施形態においては、プロセッサ回路２３０＿２およびプロセッサ診断回路２３１＿２を省くことができる。別の実施形態においては、電子システム２００の中のプロセッサ回路の数およびプロセッサ診断回路の数を３つ以上とすることができる。図６に示した実施形態においては、診断ホスト２０から出力されるテストクロック信号ＴＣＫを受信するために、システム診断回路２２０のクロック入力端子と、プロセッサ診断回路２３１＿１のクロック入力端子と、プロセッサ診断回路２３１＿２のクロック入力端子とが、まとめて診断ホスト２０のクロック出力端子に結合されている。さらに、診断ホスト２０から出力されるリセット信号ＴＲＳＴを受信するために、システム診断回路２２０のリセット信号入力端子と、プロセッサ診断回路２３１＿１のリセット信号入力端子と、プロセッサ診断回路２３１＿２のリセット信号入力端子とが、診断ホスト２０のリセット信号出力端子にまとめて結合されている。診断ホスト２０のテストデータ出力端子ＴＤＯＨは、システム診断回路２２０のテストデータ入力端子ＴＤＩと、プロセッサ診断回路２３１＿１のテストデータ入力端子ＴＤＩ１とに結合されている。さらに、診断ホスト２０から出力されるテストモード選択信号ＴＭＳを受信するために、診断ホスト２０のテストモード選択信号出力端子がシステム診断回路２２０のテストモード選択信号入力端子に結合されている。
【００３２】
図６に示した実施形態においては、ルーティング回路２１０は、第１のＡＮＤゲート２１１と、マルチプレクサ２１２と、第２のＡＮＤゲート２１３と、第３のＡＮＤゲート２１４と、第４のＡＮＤゲート２１５と、第５のＡＮＤゲート２１６と、ＯＲゲート２１７と、を含む。第１のＡＮＤゲート２１１の第１の入力端子は、制御信号Ｓｃｔｒの第１のテストアクセスポートイネーブル信号ＴＡＰ１＿ＥＮを受信するためにシステム診断回路２２０の制御レジスタ回路２２４に結合されている。第１のＡＮＤゲート２１１の第２の入力端子は、テストモード選択信号ＴＭＳを受信するために診断ホスト２０のテストモード選択信号出力端子に結合されるように構成されている。第１のＡＮＤゲート２１１の出力端子は、第１のプロセッサ診断回路２３１＿１のテストモード選択信号入力端子に結合されている。
【００３３】
マルチプレクサ２１２の制御端子は、制御信号Ｓｃｔｒのデータ入力選択信号ＴＤＩ＿ＳＥＬを受信するためにシステム診断回路２２０の制御レジスタ回路２２４に結合されている。マルチプレクサ２１２の第１の入力端子は、第１のプロセッサ診断回路２３１＿１のテストデータ出力端子ＴＤＯ１に結合されている。マルチプレクサ２１２の第２の入力端子は、テストデータを受信するために診断ホスト２０のテストデータ出力端子ＴＤＯＨに結合されるように構成されている。マルチプレクサ２１２の出力端子は、第２のプロセッサ診断回路２３１＿２のテストデータ入力端子ＴＤＩ２に結合されている。第２のＡＮＤゲート２１３の第１の入力端子は、制御信号Ｓｃｔｒの第２のテストアクセスポートイネーブル信号ＴＡＰ２＿ＥＮを受信するためにシステム診断回路２２０の制御レジスタ回路２２４に結合されている。第２のＡＮＤゲート２１３の第２の入力端子は、テストモード選択信号ＴＭＳを受信するために、診断ホスト２０のテストモード選択信号出力端子に結合されるように構成されている。第２のＡＮＤゲート２１３の出力端子は、第２のプロセッサ診断回路２３１＿２のテストモード選択信号入力端子に結合されている。
【００３４】
第３のＡＮＤゲート２１４の第１の入力端子は、制御信号Ｓｃｔｒのシステム診断モジュールイネーブル信号ＳＤＭ＿ＥＮを受信するためにシステム診断回路２２０の制御レジスタ回路２２４に結合されている。第３のＡＮＤゲート２１４の第２の入力端子は、システム診断回路２２０のテストデータ出力端子ＴＤＯに結合されている。第４のＡＮＤゲート２１５の第１の入力端子は、制御信号Ｓｃｔｒの第１の出力イネーブル信号ＴＤＯ１＿ＥＮを受信するためにシステム診断回路２２０の制御レジスタ回路２２４に結合されている。第４のＡＮＤゲート２１５の第２の入力端子は、第１のプロセッサ診断回路２３１＿１のテストデータ出力端子ＴＤＯ１に結合されている。第５のＡＮＤゲート２１６の第１の入力端子は、制御信号Ｓｃｔｒの第２の出力イネーブル信号ＴＤＯ２＿ＥＮを受信するためにシステム診断回路２２０の制御レジスタ回路２２４に結合されている。第５のＡＮＤゲート２１６の第２の入力端子は、第２のプロセッサ診断回路２３１＿２のテストデータ出力端子ＴＤＯ２に結合されている。ＯＲゲート２１７の第１の入力端子は、第３のＡＮＤゲート２１４の出力端子に結合されている。ＯＲゲート２１７の第２の入力端子は、第４のＡＮＤゲート２１５の出力端子に結合されている。ＯＲゲート２１７の第３の入力端子は、第５のＡＮＤゲート２１６の出力端子に結合されている。ＯＲゲート２１７の出力端子は、診断ホスト２０のテストデータ入力端子ＴＤＩＨに結合されるように構成されている。
【００３５】
【表１】
0006297091.tif 000002
【００３６】
表１は、制御信号Ｓｃｔｒの第１のテストアクセスポートイネーブル信号ＴＡＰ１＿ＥＮ、第２のテストアクセスポートイネーブル信号ＴＡＰ２＿ＥＮ、データ入力選択信号ＴＤＩ＿ＳＥＬ、第１の出力イネーブル信号ＴＤＯ１＿ＥＮ、第２の出力イネーブル信号ＴＤＯ２＿ＥＮ、およびシステム診断モジュールイネーブル信号ＳＤＭ＿ＥＮを説明している真理値表である。ＪＴＡＧ規格（またはＩＥＥＥ１１４９．１規格）の仕様が満たされているとき、診断ホスト２０は、データレジスタ回路２２２に入るテストデータ（制御レジスタ回路２２４への制御コマンド）をシフトさせるために、データレジスタシフト状態Ｓｈｉｆｔ−ＤＲに入るように診断コントローラ回路２２６を制御することができる。検出回路２２３は、データレジスタ回路２２２に送信されるテストデータを検査することができる。検出回路２２３は、データレジスタ回路２２２に送信されるテストデータが制御レジスタ回路２２４への制御コマンドであるものと判定したとき（判定メカニズムの詳細については後から説明する）、制御命令の機能を果たす、データレジスタ回路２２２に送信されるテストデータによって、制御レジスタ回路２２４を更新することができる。制御レジスタ回路２２４は、診断ホスト２０によって発行される制御命令に従って、相応して制御信号Ｓｃｔｒ（表１に示したように、ＴＡＰ１＿ＥＮ、ＴＡＰ２＿ＥＮ、ＴＤＩ＿ＳＥＬ、ＴＤＯ１＿ＥＮ、ＴＤＯ２＿ＥＮ、およびＳＤＭ＿ＥＮを含む）を発行することにより、診断ホスト２０と、システム診断回路２２０、プロセッサ診断回路２３１＿１、およびプロセッサ診断回路２３１＿２との接続構造を、ルーティング回路２１０を制御することによって柔軟に変更することができる。
【００３７】
例えば、ＴＡＰ１＿ＥＮ＝論理１、ＴＡＰ２＿ＥＮ＝論理１、ＴＤＩ＿ＳＥＬ＝論理０、ＴＤＯ１＿ＥＮ＝論理０、ＴＤＯ２＿ＥＮ＝論理１、ＳＤＭ＿ＥＮ＝論理０であるときには、診断ホスト２０と、システム診断回路２２０、プロセッサ診断回路２３１＿１、およびプロセッサ診断回路２３１＿２との接続構造は、デイジーチェーン構造である。ＴＡＰ１＿ＥＮ＝論理１、ＴＡＰ２＿ＥＮ＝論理０、ＴＤＩ＿ＳＥＬ＝論理１、ＴＤＯ１＿ＥＮ＝論理１、ＴＤＯ２＿ＥＮ＝論理０、ＳＤＭ＿ＥＮ＝論理０であるときには、プロセッサ診断回路２３１＿１のテストデータ入力端子ＴＤＩ１およびテストデータ出力端子ＴＤＯ１が診断ホスト２０に接続され、プロセッサ診断回路２３１＿２およびシステム診断回路２２０のテストデータ入力端子およびテストデータ出力端子は診断ホスト２０に接続されない。ＴＡＰ１＿ＥＮ＝論理０、ＴＡＰ２＿ＥＮ＝論理１、ＴＤＩ＿ＳＥＬ＝論理１、ＴＤＯ１＿ＥＮ＝論理０、ＴＤＯ２＿ＥＮ＝論理１、ＳＤＭ＿ＥＮ＝論理０であるときには、プロセッサ診断回路２３１＿２のテストデータ入力端子ＴＤＩ２およびテストデータ出力端子ＴＤＯ２が診断ホスト２０に接続され、プロセッサ診断回路２３１＿１およびシステム診断回路２２０のテストデータ入力端子およびテストデータ出力端子は診断ホスト２０に接続されない。ＴＡＰ１＿ＥＮ＝論理０、ＴＡＰ２＿ＥＮ＝論理０、ＴＤＩ＿ＳＥＬ＝論理１、ＴＤＯ１＿ＥＮ＝論理０、ＴＤＯ２＿ＥＮ＝論理０、ＳＤＭ＿ＥＮ＝論理１であるときには、システム診断回路２２０のテストデータ入力端子ＴＤＩおよびテストデータ出力端子ＴＤＯが診断ホスト２０に接続され、プロセッサ診断回路２３１＿１およびプロセッサ診断回路２３１＿２のテストデータ入力端子およびテストデータ出力端子は診断ホスト２０に接続されない。ＴＡＰ１＿ＥＮ＝論理１、ＴＡＰ２＿ＥＮ＝論理１、ＴＤＩ＿ＳＥＬ＝論理１、ＴＤＯ１＿ＥＮ＝論理１、ＴＤＯ２＿ＥＮ＝論理１、ＳＤＭ＿ＥＮ＝論理０であるときには、プロセッサ診断回路２３１＿１のテストデータ入力端子ＴＤＩ１およびプロセッサ診断回路２３１＿２のテストデータ入力端子ＴＤＩ２が診断ホスト２０のテストデータ出力端子ＴＤＯＨにまとめて接続され、プロセッサ診断回路２３１＿１のテストデータ出力端子ＴＤＯ１およびプロセッサ診断回路２３１＿２のテストデータ出力端子ＴＤＯ２が診断ホスト２０にまとめて接続される。
【００３８】
したがって、システム診断回路２２０は、診断ホスト２０から発行される制御命令に従って、電子システム２００の診断動作を柔軟に制御することができる。さまざまなテスト状況に従って、診断ホスト２０と、システム診断回路２２０、プロセッサ診断回路２３１＿１、およびプロセッサ診断回路２３１＿２との接続構造を柔軟に変更することができる。
【００３９】
図７は、本発明の一実施形態による、図３に示したデータレジスタ回路２２２および制御レジスタ回路２２４の回路ブロック図である。図７に示した実施形態においては、データレジスタ回路２２２は、診断レジスタ７１０と、識別コード（ＩＤＣＯＤＥ）レジスタ７２０と、バイパスレジスタ７３０と、デマルチプレクサ７４０と、マルチプレクサ７５０とを含み、制御レジスタ回路２２４は、選択レジスタ回路７６０を含む。診断コントローラ回路２２６がデータレジスタキャプチャ状態Ｃａｐｔｕｒｅ−ＤＲに入ると、ＩＤＣＯＤＥレジスタ７２０は、３２ビットの所定値のＩＤコードとして更新される。診断コントローラ回路２２６がデータレジスタキャプチャ状態Ｃａｐｔｕｒｅ−ＤＲに入ると、バイパスレジスタ７３０は、１ビット値０として更新される。別の実施形態においては、診断レジスタ７１０、ＩＤＣＯＤＥレジスタ７２０もしくはバイパスレジスタ７３０またはその両方は、ＪＴＡＧ規格または他の規格を満たすレジスタとすることができ（ただしこれに限定されない）、したがってこれらの要素については説明を繰り返さない。
【００４０】
デマルチプレクサ７４０の入力端子は、デマルチプレクサ２２７の第２の出力端子に結合されている。デマルチプレクサ７４０の制御端子は、命令レジスタ回路２２５によって制御される。デマルチプレクサ７４０の第１の出力端子は、診断レジスタ７１０のデータ入力端子に結合されている。デマルチプレクサ７４０の第２の出力端子は、ＩＤＣＯＤＥレジスタ７２０のデータ入力端子に結合されている。デマルチプレクサ７４０の第３の出力端子は、バイパスレジスタ７３０のデータ入力端子に結合されている。マルチプレクサ７５０の第１の入力端子は、診断レジスタ７１０のデータ出力端子に結合されている。マルチプレクサ７５０の第２の入力端子は、ＩＤＣＯＤＥレジスタ７２０のデータ出力端子に結合されている。マルチプレクサ７５０の第３の入力端子は、バイパスレジスタ７３０のデータ出力端子に結合されている。マルチプレクサ７５０の制御端子は、命令レジスタ回路２２５によって制御される。マルチプレクサ７５０の出力端子は、マルチプレクサ２２８の第２の入力端子に結合されている。データレジスタ回路２２２および命令レジスタ回路２２５は、ＪＴＡＧ規格に準拠することができ、したがってこれらの要素については説明を繰り返さない。
【００４１】
検出回路２２３は、データレジスタ回路２２２の中の特定のレジスタに送信されるテストデータを検査することができる。例えば、検出回路２２３は、データレジスタ回路２２２の中の、「電子システムに影響を与えないレジスタ」、に送信されるテストデータを検査することができる。「電子システムに影響を与えないレジスタ」という表現は、診断ホスト２０がデータレジスタ回路２２２の「電子システムに影響を与えないレジスタ」にデータを送信した後、そのデータが電子システムの他のレジスタの内容に影響しないことを意味する。例えば（以下に限定されないが）、ＩＤＣＯＤＥレジスタ７２０およびバイパスレジスタ７３０は、「電子システムに影響を与えないレジスタ」であり得る。別の実施形態においては、検出回路２２３は、ＩＤＣＯＤＥレジスタ７２０に送信されるテストデータを検出することができる。検出回路２２３は、ＩＤＣＯＤＥレジスタ７２０に送信されるテストデータが制御レジスタ回路２２４への制御コマンドであるものと判定したとき、制御命令の機能を果たす、ＩＤＣＯＤＥレジスタ７２０に送信されるテストデータによって、制御レジスタ回路２２４を更新することができる。図７に示した実施形態においては、検出回路２２３は、バイパスレジスタ７３０に送信されるテストデータを検出することができる。検出回路２２３は、バイパスレジスタ７３０に送信されるテストデータが制御レジスタ回路２２４への制御コマンドであるものと判定したとき、制御命令の機能を果たす、バイパスレジスタ７３０に送信されるテストデータによって、制御レジスタ回路２２４を更新することができる。
【００４２】
以下では、検出回路２２３の検査メカニズムのいくつかの例について説明する。
【００４３】
いくつかの実施形態においては、検出回路２２３は所定のパターンを有し、この所定のパターンは、設計要件に従って自由に決定することができる。例えば、所定のパターンを０ｘ８０１または別の値とすることができる。データレジスタ回路２２２（バイパスレジスタ７３０など）に送信されるテストデータが所定のパターンを満たしているとき、検出回路２２３は、制御命令の機能を果たす、バイパスレジスタ７３０に送信されるテストデータの一部分または全体によって、制御レジスタ回路２２４を更新することができる。
【００４４】
別の実施形態においては、検出回路２２３は所定のパターンを有し、この所定のパターンは所定のプリアンブルを含み、この所定のプリアンブルは、設計要件に従って自由に決定することができる。所定のプリアンブルは、例えば０ｘ８０１または別の値とすることができる。データレジスタ回路２２２（バイパスレジスタ７３０など）に送信されるテストデータは、プリアンブル部とデータ部とを備えている。プリアンブル部の位置は、設計要件に従って自由に決定することができる。テストデータのプリアンブル部が所定のプリアンブルに一致するとき、バイパスレジスタ７３０に送信されるテストデータは、所定のパターンを満たしているものと判定される。バイパスレジスタ７３０に送信されるテストデータが所定のパターンを満たしているとき、検出回路２２３は、制御命令の機能を果たす、バイパスレジスタ７３０に送信されるテストデータのデータ部によって、制御レジスタ回路２２４を更新することができる。
【００４５】
別の実施形態においては、検出回路２２３は所定のパターンを有し、この所定のパターンは所定のプリアンブルを含み、この所定のプリアンブルは、設計要件に従って自由に決定することができる。所定のプリアンブルは、例えば０ｘ８０１または別の値とすることができる。データレジスタ回路２２２（バイパスレジスタ７３０など）に送信されるテストデータは、プリアンブル部と、データ部と、誤り検出符号とを備えている。テストデータのプリアンブル部が所定のプリアンブルに一致し、かつ、誤り検出計算によるテストデータの計算から得られる計算結果が誤り検出符号に一致するとき、バイパスレジスタ７３０に送信されるテストデータは、所定のパターンを満たしているものと判定される。誤り検出計算は、任意の誤り検出アルゴリズム（例えば、チェックサムアルゴリズム、巡回冗長検査（ＣＲＣ）アルゴリズム、ＭＤ５アルゴリズム、ＳＨＡアルゴリズム、誤り訂正アルゴリズムなど）とすることができる。バイパスレジスタ７３０に送信されるテストデータが所定のパターンを満たしているとき、検出回路２２３は、制御命令の機能を果たす、バイパスレジスタ７３０に送信されるテストデータのデータ部によって、制御レジスタ回路２２４を更新することができる。
【００４６】
別の実施形態においては、検出回路２２３は所定のパターンを有し、この所定のパターンは、所定のプリアンブルおよび所定のアドレスを含み、これら所定のプリアンブルおよび所定のアドレスは、設計要件に従って自由に決定することができる。データレジスタ回路２２２（バイパスレジスタ７３０など）に送信されるテストデータは、プリアンブル部と、アドレス部と、データ部と、誤り検出符号とを含む。テストデータのプリアンブル部が所定のプリアンブルに一致し、かつ、テストデータのアドレス部が所定のアドレスに一致し、かつ、誤り検出計算によるアドレス部およびデータ部の計算から得られる計算結果が誤り検出符号に一致するとき、バイパスレジスタ７３０に送信されるテストデータは、所定のパターンを満たしているものと判定される。誤り検出計算は、任意の誤り検出アルゴリズム（例えば、チェックサムアルゴリズム、巡回冗長検査（ＣＲＣ）アルゴリズム、ＭＤ５アルゴリズム、ＳＨＡアルゴリズム、誤り訂正アルゴリズムなど）とすることができる。バイパスレジスタ７３０に送信されるテストデータが所定のパターンを満たしているとき、検出回路２２３は、制御命令の機能を果たす、バイパスレジスタ７３０に送信されるテストデータのアドレス部およびデータ部によって、制御レジスタ回路２２４を更新することができる。
【００４７】
別の実施形態においては、検出回路２２３は、システム診断回路２２０の動作状態の遷移シーケンス（transformation sequence）をさらに検査することができる。これに加えて、検出回路２２３は、動作状態の遷移シーケンスと、データレジスタ回路２２２（バイパスレジスタ７３０など）に送信されるテストデータとに従って、検査結果を取得する。例えば、バイパスレジスタ７３０に送信されるテストデータが所定のパターンを満たしており、診断コントローラ回路２２６の動作状態の遷移シーケンスが特定の所定のシーケンスを満たしているとき、検出回路２２３は、制御命令の機能を果たす、バイパスレジスタ７３０に送信されるテストデータの一部分または全体によって、制御レジスタ回路２２４を更新することができる。特定の所定のシーケンスは、設計要件に従って自由に決定することができる。例えば、診断コントローラ回路２２６の動作状態の遷移シーケンスにデータレジスタシフト状態Ｓｈｉｆｔ−ＤＲが含まれるとき、診断コントローラ回路２２６の動作状態の遷移シーケンスは特定の所定のシーケンスを満たすものとみなすことができる。例えば、診断コントローラ回路２２６の動作状態の遷移シーケンスにデータレジスタシフト状態Ｓｈｉｆｔ−ＤＲおよびデータレジスタ一時停止状態Ｐａｕｓｅ−ＤＲが含まれるとき、診断コントローラ回路２２６の動作状態の遷移シーケンスは特定の所定のシーケンスを満たすものとみなすことができる。例えば、診断コントローラ回路２２６の動作状態の遷移シーケンスに、「状態Ｃａｐｔｕｒｅ−ＤＲ、状態Ｓｈｉｆｔ−ＤＲ、状態Ｅｘｉｔ１−ＤＲ、状態Ｕｐｄａｔｅ−ＤＲ」が含まれる、または、「状態Ｃａｐｔｕｒｅ−ＤＲ、状態Ｓｈｉｆｔ−ＤＲ、状態Ｅｘｉｔ１−ＤＲ、状態Ｐａｕｓｅ−ＤＲ、状態Ｅｘｉｔ２−ＤＲ、状態Ｕｐｄａｔｅ−ＤＲ」が含まれる、または、「状態Ｃａｐｔｕｒｅ−ＤＲ、状態Ｅｘｉｔ１−ＤＲ、状態Ｐａｕｓｅ−ＤＲ、状態Ｅｘｉｔ２−ＤＲ、状態Ｓｈｉｆｔ−ＤＲ、状態Ｅｘｉｔ１−ＤＲ、状態Ｕｐｄａｔｅ−ＤＲ」が含まれるとき、診断コントローラ回路２２６の動作状態の遷移シーケンスは特定の所定のシーケンスを満たすものとみなすことができる。
【００４８】
別の実施形態においては、検出回路２２３は、命令レジスタ回路２２５の診断命令がＩＤＣＯＤＥレジスタ７２０を使用するのかバイパスレジスタ７３０を使用するのかを、さらに検出することができる。例えば、データレジスタ回路２２２（バイパスレジスタ７３０など）に送信されるテストデータが所定のパターンを満たしており、診断コントローラ回路２２６の動作状態の遷移シーケンスが所定のシーケンスを満たしており、命令レジスタ回路２２５の診断命令がバイパスレジスタ７３０を使用するときには、検出回路２２３は、制御命令の機能を果たす、バイパスレジスタ７３０に送信されるテストデータの一部分または全体によって、制御レジスタ回路２２４を更新することができる。別の実施形態においては、ＩＤＣＯＤＥレジスタ７２０に送信されるテストデータが所定のパターンを満たしており、診断コントローラ回路２２６の動作状態の遷移シーケンスが所定のシーケンスを満たしており、命令レジスタ回路２２５の診断命令がＩＤＣＯＤＥレジスタ７２０を使用するときには、検出回路２２３は、制御命令の機能を果たす、ＩＤＣＯＤＥレジスタ７２０に送信されるテストデータの一部分または全体によって、制御レジスタ回路２２４を更新することができる。
【００４９】
図７に示した実施形態においては、制御レジスタ回路２２４は、選択レジスタ回路７６０を含む。選択レジスタ回路７６０の入力端子は、選択動作の機能を果たす、データレジスタ回路２２２（バイパスレジスタ７３０など）に送信されるテストデータの一部分または全体を受信するために、検出回路２２３の出力端子に結合されている。選択レジスタ回路７６０は、選択動作に従って結合モードを決定することができ、この場合、結合モードは、電子システム２００の他の診断回路（プロセッサ診断回路２３１＿１、プロセッサ診断回路２３１＿２など）と診断ホスト２０との間の結合関係を定義する。いくつかの例示的な用途においては、結合モードは、表１に関連する説明を参照することによって推測することができる。
【００５０】
いくつかの実施形態においては、結合モードが、他の診断回路と診断ホスト２０との間の結合関係としてデイジーチェーン構造を表すときには、検出回路２２３は、命令レジスタ回路２２５の診断命令が、ＪＴＡＧ規格を満たすＩＤＣＯＤＥレジスタ７２０またはバイパスレジスタ７３０を使用するかを検査することができ、さらに、他の診断回路（プロセッサ診断回路２３１＿１、プロセッサ診断回路２３１＿２など）の命令レジスタ回路の診断命令が、ＪＴＡＧ規格を満たすＩＤＣＯＤＥレジスタまたはバイパスレジスタを使用するかを検査することができる。データレジスタ回路２２２（ＩＤＣＯＤＥレジスタ７２０またはバイパスレジスタ７３０など）に送信されるテストデータが特定の所定のパターンを満たしており、診断コントローラ回路２２６の動作状態の遷移シーケンスが特定の所定のシーケンスを満たしており、システム診断回路２２０の命令レジスタ回路２２５の診断命令がＩＤＣＯＤＥレジスタ７２０またはバイパスレジスタ７３０を使用し、他の診断回路（プロセッサ診断回路２３１＿１、プロセッサ診断回路２３１＿２など）の命令レジスタ回路の診断命令がＩＤＣＯＤＥレジスタまたはバイパスレジスタを使用するときには、検出回路２２３は、制御命令の機能を果たす、データレジスタ回路２２２（ＩＤＣＯＤＥレジスタ７２０またはバイパスレジスタ７３０など）に送信されるテストデータの一部分または全体によって、制御レジスタ回路２２４を更新する。
【００５１】
例えば、図８は、本発明の一実施形態による、図７に示した検出回路２２３の回路ブロック図である（ただしこれに限定されない）。命令レジスタ回路２２５が、デマルチプレクサ２２７にバイパスレジスタ７３０を結合することを選択するときには、テストデータ入力端子ＴＤＩのテストデータを、デマルチプレクサ２２７およびデマルチプレクサ７４０を介してバイパスレジスタ７３０に送信することができる。図８に示したテストデータ８０５は、バイパスレジスタ７３０に送信されるテストデータを表している。図８に示したように、テストデータ８０５は、プリアンブル部と、アドレス部と、データ部と、誤り検出符号とを含む。検査回路８１０は、テストデータ８０５のプリアンブル部が所定のプリアンブル（０ｘ８０１など）に一致するかを検査することができ、検査結果をＡＮＤゲート８１５に送信することができる。検査回路８２０は、テストデータ８０５のアドレス部が所定のアドレス（０ｘ０など）に一致するかを検査することができ、検査結果をＡＮＤゲート８１５に送信することができる。検査回路８２０は、テストデータ８０５のアドレス部が所定のアドレス（０ｘ０など）に一致するかを検査することができ、検査結果をＡＮＤゲート８１５に送信することができる。
【００５２】
排他的ＯＲ（ＸＯＲ）演算回路８２５は、テストデータ８０５のアドレス部およびデータ部に対する排他的ＯＲ演算を実行することができ、演算結果を検査回路８３０に送信することができる。例えば、テストデータ８０５のアドレス部が８ビットを有し、ａｄｄｒ［７：０］によって表すことができ、テストデータ８０５のデータ部が３２ビットを有し、ｄａｔａ［３１：０］によって表すことができると想定する。排他的ＯＲ演算回路８２５は、
【数１】
0006297091.tif 000003
の演算結果を検査回路８３０に送信することができる。検査回路８３０は、排他的ＯＲ演算回路８２５の演算結果がテストデータ８０５の誤り検出符号に一致するかを検査することができ、検査結果をＡＮＤゲート８１５に送信することができる。
【００５３】
状態シーケンス検査回路８３５は、診断コントローラ回路２２６の動作状態が特定の所定のシーケンスに一致するかを検査することができ、検査結果をＡＮＤゲート８１５に送信することができる。検査回路８４０は、命令レジスタ回路２２５によって選択されたデータレジスタが、「電子システムに影響を与えないレジスタ」（バイパスレジスタ７３０など）であるかを検査することができ、検査結果を、マルチプレクサ８４５の第１の入力端子と、ＡＮＤゲート８１５の第１の入力端子とに送信することができる。ＡＮＤゲート８５０の出力端子は、マルチプレクサ８４５の第２の入力端子に結合されている。マルチプレクサ８４５の出力端子は、図８に示したようにＡＮＤゲート８１５に結合されている。図８に示した命令レジスタ回路８５５は、電子システム２００の別の命令レジスタ回路（例えば図２および図６に示したプロセッサ診断回路２３１＿１やプロセッサ診断回路２３１＿２の命令レジスタ回路）を表している。検査回路８６０は、命令レジスタ回路８５５によって選択されたデータレジスタが、「電子システムに影響を与えないレジスタ」（バイパスレジスタなど）であるかを検査することができ、検査結果をＡＮＤゲート８５０の第２の入力端子に送信することができる。ＡＮＤゲート８１５の出力端子は、制御レジスタ回路２２４の選択レジスタ回路７６０の制御端子に結合されている。
【００５４】
いま、システム診断回路２２０のテストデータ入力端子ＴＤＩおよびテストデータ出力端子ＴＤＯが診断ホスト２０に接続されており、プロセッサ診断回路２３１＿２およびプロセッサ診断回路２３１＿１のテストデータ入力端子およびテストデータ出力端子が診断ホスト２０に接続されておらず、したがってマルチプレクサ８４５が、検査回路８４０の出力端子をＡＮＤゲート８１５に電気的に接続することを選択するものと想定する。したがって、テストデータ８０５のプリアンブル部が所定のプリアンブルに一致し、テストデータ８０５のアドレス部が所定のアドレスに一致し、誤り検出計算によるテストデータ８０５のアドレス部およびデータ部の計算から得られる計算結果が、テストデータ８０５の誤り検出符号に一致し、診断コントローラ回路２２６の動作状態の遷移シーケンスが特定の所定のシーケンスを満たしており、命令レジスタ回路２２５によって選択されたデータレジスタがバイパスレジスタ７３０であるとき、ＡＮＤゲート８１５は、制御命令の機能を果たす、バイパスレジスタ７３０に送信されるテストデータ（テストデータ８０５）のデータ部によって選択レジスタ回路７６０を更新するために、選択レジスタ回路７６０をアクティブ化／制御することができる。
【００５５】
あるいは、診断ホスト２０と、システム診断回路２２０、プロセッサ診断回路２３１＿１、およびプロセッサ診断回路２３１＿２との接続構造がデイジーチェーン構造であり、したがってマルチプレクサ８４５が、ＡＮＤゲート８５０の出力端子をＡＮＤゲート８１５に電気的に接続することを選択するものと想定する。したがって、テストデータ８０５のプリアンブル部が所定のプリアンブルに一致し、テストデータ８０５のアドレス部が所定のアドレスに一致し、誤り検出計算によるテストデータ８０５のアドレス部およびデータ部の計算から得られる計算結果が、テストデータ８０５の誤り検出符号に一致し、診断コントローラ回路２２６の動作状態の遷移シーケンスが特定の所定のシーケンスを満たしており、電子システム１００の中の命令レジスタ回路によって選択されたデータレジスタがバイパスレジスタであるとき、ＡＮＤゲート８１５は、制御命令の機能を果たす、バイパスレジスタ７３０に送信されるテストデータ（テストデータ８０５）のデータ部によって選択レジスタ回路７６０を更新するために、選択レジスタ回路７６０をアクティブ化／制御することができる。
【００５６】
図９は、本発明の別の実施形態による、図３に示したデータレジスタ回路２２２および制御レジスタ回路２２４の回路ブロック図である。図９に示した実施形態は、図７に関連する説明を参照することによって理解することができ、類似する要素・部分について説明を繰り返さない。図９に示した実施形態においては、制御レジスタ回路２２４は、パスコードレジスタ回路９６０を含む。パスコードレジスタ回路９６０の入力端子は、パスコードの機能を果たす、データレジスタ回路２２２（バイパスレジスタ７３０など）に送信されるテストデータの一部分または全体を受信するために、検出回路２２３の出力端子に結合されている。検出回路２２３は、検査結果に従って、バイパスレジスタ７３０に送信されるテストデータの一部分または全体によってパスコードレジスタ回路９６０を更新することができる（レジスタ回路の更新については上の実施形態の説明において詳しく記載してあり、ここでは説明を繰り返さない）。パスコードレジスタ回路９６０は、電子システム２００のシステムデバイス２５０にアクセスできるようにシステム診断回路２２０の診断論理回路２２１のアクセス機能をイネーブルするかを、パスコードに従って決定することができる。
【００５７】
ＪＴＡＧ規格（またはＩＥＥＥ１１４９．１規格）の仕様が満たされているとき、図９に示したシステム診断回路２２０は、診断ホスト２０から発行される制御命令に従って、電子システムの診断動作（例えば、電子システムの中のシステムデバイスへのアクセス機能をイネーブルするかを決定する）を柔軟に制御することができる。したがって、権限のないマシンは、システムデバイス２５０（メモリなど）のデータを読み取ることができない（なぜなら権限のないマシンは正しいパスコードを知ることができないため）。
【００５８】
なお、さまざまなテスト状況において、ルーティング回路２１０、診断論理回路２２１、データレジスタ回路２２２、検出回路２２３、制御レジスタ回路２２４、命令レジスタ回路２２５、および／または診断コントローラ回路２２６の関連する機能は、ハードウェア記述言語（Ｖｅｒｉｌｏｇ  ＨＤＬやＶＨＤＬなど）または他の適切なプログラミング言語を使用してファームウェアまたはハードウェアとして具体化できることに留意されたい。これらの関連する機能を実行するファームウェアは、コンピュータによってアクセス可能な任意の公知の媒体（例えば、磁気テープ、半導体メモリ、磁気ディスク、コンパクトディスク（ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなど））として用意することができ、あるいは、インターネット、有線通信媒体、無線通信媒体、または他の通信媒体を介して、ファームウェアを送信することができる。ファームウェアは、コンピュータのコントローラやプロセッサがファームウェアのプログラミングコードにアクセスして実行することができるように、コンピュータによってアクセス可能な媒体に格納することができる。これに加えて、本発明のデバイスおよび方法は、ハードウェアとソフトウェアを組み合わせることによって達成することができる。
【産業上の利用可能性】
【００５９】
要約すると、本発明の実施形態は、電子システム２００と、システム診断回路２２０と、システム診断回路２２０の動作方法とを提供する。ＪＴＡＧ規格（またはＩＥＥＥ１１４９．１規格）に準拠するとき、制御レジスタ回路２２４は加算回路である。ＪＴＡＧ規格（またはＩＥＥＥ１１４９．１規格）が満たされているとき、診断ホスト２０は、システム診断回路２２０の制御レジスタ回路２２４に制御命令を発行することができる。システム診断回路２２０は、診断ホスト２０から出力される制御命令に従って、電子システム２００の診断動作（例えば、診断ホストと電子システム２００の複数のテストアクセスポート（システム診断回路２２０、プロセッサ診断回路２３１＿１、プロセッサ診断回路２３１＿２など）との接続構造を柔軟に変更する、あるいは、電子システム２００の中のシステムデバイス２５０へのアクセス機能をイネーブルするかを決定する）を柔軟に制御することができる。
【００６０】
ここまで、本発明について上の実施形態を参照しながら説明してきたが、この技術分野における通常の技能を有する者には、本発明の概念から逸脱することなく、説明した実施形態に変更を行うことができることが明らかであろう。したがって、本発明の範囲は、上の詳細な説明によってではなく、添付された特許請求の範囲によって定義される。
【符号の説明】
【００６１】
１０，２０  診断ホスト
１００，２００  電子システム
１１０，２５０＿１  メモリ
１２０，２５０，２５０＿２  システムデバイス
１３０，１４０，１５０  プロセッサ
１６０，２４０  システムバス
２１０  ルーティング回路
２１１  第１のＡＮＤゲート
２１２  マルチプレクサ
２１３  第２のＡＮＤゲート
２１４  第３のＡＮＤゲート
２１５  第４のＡＮＤゲート
２１６  第５のＡＮＤゲート
２１７  ＯＲゲート
２２０  システム診断回路
２２１  診断論理回路
２２２  データレジスタ回路
２２３  検出回路
２２４  制御レジスタ回路
２２５  命令レジスタ回路
２２６  診断コントローラ回路
２２７  デマルチプレクサ
２２８  マルチプレクサ
２３０＿１，２３０＿２  プロセッサ回路
２３１＿１，２３１＿２  プロセッサ診断回路
２３２＿１，２３２＿２  コア回路
７１０  診断レジスタ
７２０  識別コード（ＩＤＣＯＤＥ）レジスタ
７３０  バイパスレジスタ
７４０  デマルチプレクサ
７５０  マルチプレクサ
７６０  選択レジスタ回路
８０５  テストデータ
８１０，８２０，８３０，８４０，８６０  検査回路
８１５，８５０  ＡＮＤゲート
８２５  排他的ＯＲ（ＸＯＲ）演算回路
８３５  状態シーケンス検査回路
８４５  マルチプレクサ
８５５  命令レジスタ回路
９６０  パスコードレジスタ回路
Ｃａｐｔｕｒｅ−ＤＲ  データレジスタキャプチャ状態
Ｃａｐｔｕｒｅ−ＩＲ  命令レジスタキャプチャ状態
Ｅｘｉｔ１−ＤＲ  データレジスタ終了１状態
Ｅｘｉｔ１−ＩＲ  命令レジスタ終了１状態
Ｅｘｉｔ２−ＤＲ  データレジスタ終了２状態
Ｅｘｉｔ２−ＩＲ  命令レジスタ終了２状態
Ｐａｕｓｅ−ＤＲ  データレジスタ一時停止状態
Ｐａｕｓｅ−ＩＲ  命令レジスタ一時停止状態
Ｒｕｎ−Ｔｅｓｔ／Ｉｄｌｅ  テスト実行／アイドル状態
Ｓ５１０〜Ｓ５６０  ステップ
Ｓｃｔｒ  制御信号
ＳＤＭ＿ＥＮ  システム診断モジュールイネーブル信号
Ｓｅｌｅｃｔ−ＤＲ−Ｓｃａｎ  データレジスタスキャン選択状態
Ｓｅｌｅｃｔ−ＩＲ−Ｓｃａｎ  命令レジスタスキャン選択状態
Ｓｈｉｆｔ−ＤＲ  データレジスタシフト状態
Ｓｈｉｆｔ−ＩＲ  命令レジスタシフト状態
ＴＡＰ１＿ＥＮ  第１のテストアクセスポートイネーブル信号
ＴＡＰ２＿ＥＮ  第２のテストアクセスポートイネーブル信号
ＴＣＫ  テストクロック信号
ＴＤ１  第１のテストデータ
ＴＤ２  第２のテストデータ
ＴＤＩ，ＴＤＩ１，ＴＤＩ２，ＴＤＩＨ  テストデータ入力端子
ＴＤＩ＿ＳＥＬ  データ入力選択信号
ＴＤＯ，ＴＤＯ１，ＴＤＯ２，ＴＤＯＨ  テストデータ出力端子
ＴＤＯ１＿ＥＮ  第１の出力イネーブル信号
ＴＤＯ２＿ＥＮ  第２の出力イネーブル信号
Ｔｅｓｔ−Ｌｏｇｉｃ−Ｒｅｓｅｔ  テストロジックリセット状態
ＴＭＳ  テストモード選択信号
ＴＲＳＴ  リセット信号
Ｕｐｄａｔｅ−ＤＲ  データレジスタ更新状態
Ｕｐｄａｔｅ−ＩＲ  命令レジスタ更新状態
【図１】
0006297091.tif 000004
【図２】
0006297091.tif 000005
【図３】
0006297091.tif 000006
【図４】
0006297091.tif 000007
【図５】
0006297091.tif 000008
【図６】
0006297091.tif 000009
【図７】
0006297091.tif 000010
【図８】
0006297091.tif 000011
【図９】
0006297091.tif 000012