(57)【特許請求の範囲】
【請求項１】
少なくとも２つの電源ドメインと、
（ａ）前記２つの電源ドメインの両方が電源オンである場合において前記２つの電源ドメインの一方のバス上の信号を他方のバスへ透過させるブリッジ機能、および（ｂ）前記２つの電源ドメインのうちの第１電源ドメインが電源オフであり前記２つの電源ドメインのうちの第２電源ドメインが電源オンである場合において、前記第２電源ドメイン内の回路の動作をトレースするトレース機能を有するアイソレーターと、
を備えることを特徴とするＩＣチップ。
【請求項２】
前記第１電源ドメインにおけるメインプロセッサーをさらに備え、
前記第１電源ドメインおよび前記第２電源ドメインの両方が電源オンである場合、前記メインプロセッサーが、外部のデバッグ装置と通信し、
前記第１電源ドメインが電源オフであり前記第２電源ドメインが電源オンである場合、前記アイソレーターが、外部のデバッグ装置２と通信すること、
を特徴とする請求項１記載のＩＣチップ。
【請求項３】
前記第１電源ドメインにおけるマスターモジュールと、
前記第２電源ドメインにおけるスレーブモジュールとをさらに備え、
前記アイソレーターは、（ａ）前記第１電源ドメインおよび前記第２電源ドメインの両方が電源オンである場合、前記マスターモジュールと前記スレーブモジュールとの間の通信を中継し、（ｂ）前記第１電源ドメインが電源オフであり前記第２電源ドメインが電源オンである場合、前記スレーブモジュールのトレースのために前記スレーブモジュールと通信を行うこと、
を特徴とする請求項１記載のＩＣチップ。
【請求項４】
前記第１電源ドメインにおけるスレーブモジュールと、
前記第２電源ドメインにおけるマスターモジュールとをさらに備え、
前記アイソレーターは、（ａ）前記第１電源ドメインおよび前記第２電源ドメインの両方が電源オンである場合、前記マスターモジュールと前記スレーブモジュールとの間の通信を中継し、（ｂ）前記第１電源ドメインが電源オフであり前記第２電源ドメインが電源オンである場合、前記マスターモジュールから前記スレーブモジュールへの通信に対して擬似的な応答を前記マスターモジュールへ送信すること、
を特徴とする請求項１記載のＩＣチップ。
【請求項５】
前記アイソレーターは、前記第１電源ドメインが電源オフであり前記第２電源ドメインが電源オンである場合、前記第１電源ドメインのバスと前記第２電源ドメインのバスとを互いに電気的に絶縁することを特徴とする請求項１から請求項４のうちのいずれか１項記載のＩＣチップ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＣチップに関するものである。
【背景技術】
【０００２】
プロセッサーを内蔵したシステムＬＳＩ（Large Scale Integrated circuit）などのＩＣ（Integrated Circuit）チップをデバックする際に、インサーキットエミュレーター（ＩＣＥ：In-Circuit Emulator）を使用してトレースおよびデバッグを行うことがある。
【０００３】
インサーキットエミュレーターを使用する場合、一般的に、インサーキットエミュレーターとＩＣチップとの接続およびデータ転送には、ＪＴＡＧ（Joint Test Action Group）インターフェイスや専用インターフェイスなどが使用される（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平５−３３４１１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
あるＩＣチップは、複数の電源ドメインを有し、ある電源ドメインの電源（つまり、電源電力の供給）を他の電源ドメインとは独立してオン／オフすることができる。
【０００６】
例えば、電子機器において、スリープモードの場合、一部の電源ドメインの電源がオンされ、残りの電源ドメインの電源がオフされ、消費電力が少なくなる。
【０００７】
このような、複数の電源ドメインを有するＩＣチップにおいて、トレース可能なプロセッサーの電源がスリープモード時にオフされる場合、スリープモード時に電源オンされる電源ドメイン内の回路動作をトレースすることが困難である。
【０００８】
本発明は、上記の問題に鑑みてなされたものであり、トレース可能なプロセッサーの電源がスリープモード時にオフされる場合であっても、スリープモード時に電源オンされる電源ドメイン内の回路動作をトレースすることが可能なＩＣチップを得ることを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係るＩＣチップは、少なくとも２つの電源ドメインと、（ａ）前記２つの電源ドメインの両方が電源オンである場合において前記２つの電源ドメインの一方のバス上の信号を他方のバスへ透過させるブリッジ機能、および（ｂ）前記２つの電源ドメインのうちの第１電源ドメインが電源オフであり前記２つの電源ドメインのうちの第２電源ドメインが電源オンである場合において、前記第２電源ドメイン内の回路の動作をトレースするトレース機能を有するアイソレーターとを備える。
【発明の効果】
【００１０】
本発明によれば、トレース可能なプロセッサーの電源がスリープモード時にオフされる場合であっても、スリープモード時に電源オンされる電源ドメイン内の回路動作をトレースすることが可能なＩＣチップが得られる。
【００１１】
本発明の上記又は他の目的、特徴および優位性は、添付の図面とともに以下の詳細な説明から更に明らかになる。
【図面の簡単な説明】
【００１２】
【図１】図１は、本発明の実施の形態に係るＩＣチップの構成を示すブロック図である。
【発明を実施するための形態】
【００１３】
以下、図に基づいて本発明の実施の形態を説明する。
【００１４】
図１は、本発明の実施の形態に係るＩＣチップの構成を示すブロック図である。図１に示すように、ＩＣチップ１のデバッグ時に、ＩＣチップ１には、インサーキットエミュレーターなどのデバッグ装置２が接続される。
【００１５】
また、ＩＣチップ１は、複数の電源ドメイン１１，１２を有するＬＳＩ（Large Scale Integration）、ＡＳＩＣ（Application Specific Integrated Circuit）などのチップである。
【００１６】
ＩＣチップ１は、電源ドメイン１１において、ＣＰＵ（Central Processing Unit）２１、ＲＡＭ（Random Access Memory）などのメモリー２２、スレーブモジュール２４，４４と通信を行い所定の処理を行うマスターモジュール２３、マスターモジュール２３，４３により要求された処理を行うスレーブモジュール２４、ＲＡＭなどの外部メモリーを接続されるメモリーコントローラー２５、およびバス３１を備える。バス３１は、電源ドメイン１１内のバスであって、ＣＰＵ２１、メモリー２２、マスターモジュール２３、スレーブモジュール２４、メモリーコントローラー２５などの電源ドメイン１１内の回路間の通信に使用される伝送路である。
【００１７】
また、ＩＣチップ１は、電源ドメイン１２において、サブＣＰＵ４１、ＲＡＭなどのメモリー４２、スレーブモジュール２４，４４と通信を行い所定の処理を行うマスターモジュール４３、マスターモジュール２３，４３により要求された処理を行うスレーブモジュール４４、周辺装置を接続されるインターフェイス４５、およびバス５１を備える。バス５１は、電源ドメイン１２内のバスであって、ＣＰＵ４１、メモリー４２、マスターモジュール４３、スレーブモジュール４４、インターフェイス４５などの電源ドメイン１２内の回路間の通信に使用される伝送路である。
【００１８】
電源ドメイン１１におけるＣＰＵ２１は、電源ドメイン１１，１２内の各回路を使用して、プログラムに記述された処理を実行するメインプロセッサーである。電源ドメイン１２におけるサブＣＰＵ４１は、電源ドメイン１２内の各回路を使用して、プログラムに記述された処理を実行するサブプロセッサーである。ＣＰＵ２１は、電源ドメイン１１，１２内の各回路を制御して、プログラムに記述された処理を実行する。サブＣＰＵ４１は、電源ドメイン１２内の各回路を制御して、プログラムに記述された処理を実行する。ＣＰＵ２１は、回路規模が大きく、トレース機能を有するが、サブＣＰＵ４１は、回路規模が小さく、トレース機能を有さない。つまり、電源ドメイン１２には、トレース機能を有するプロセッサーが存在しない。
【００１９】
スリープモードでは、電源ドメイン１１は電源オフされ、電源ドメイン１２は電源オンされる。通常モード（非スリープモード）では、電源ドメイン１１，１２は両方とも電源オンされる。
【００２０】
さらに、ＩＣチップ１は、アイソレーター６１を備える。アイソレーター６１は、（ａ）電源ドメイン１１，１２の両方が電源オンである場合において電源ドメイン１１，１２の一方のバス（バス３１またはバス５１）上の信号を他方のバス（バス５１またはバス３１）へ透過させるブリッジ機能、および（ｂ）電源ドメイン１１が電源オフであり電源ドメイン１２が電源オンである場合（つまり、スリープモードの場合）において、電源ドメイン１２内の回路の動作をトレースするトレース機能を有する。なお、バス３１，５１には汎用的なバスを使用することができる。
【００２１】
つまり、アイソレーター６１は、（ａ）電源ドメイン１１および電源ドメイン１２の両方が電源オンである場合、マスターモジュール２３とスレーブモジュール４４との間の通信を中継し、（ｂ）電源ドメイン１１が電源オフであり電源ドメイン１２が電源オンである場合、スレーブモジュール４４のトレースのためにスレーブモジュール４４と通信を行う。
【００２２】
ここでは、アイソレーター６１は、トレース機能として、マスターモジュール２３，４３のリード・ライト機能と同一の機能を有する。これにより、スリープモードにおいて、アイソレーター６１は、電源ドメイン１２内の回路のレジスター値をリード・ライトすることができる。つまり、スリープモードのデバッグ時において、デバッグ装置２は、ＪＴＡＧインターフェイスなどに従ってライトコマンドで電源ドメイン１２内の回路のレジスターに値を設定したり、リードコマンドで電源ドメイン１２内の回路のレジスターの値を取得することができる。
【００２３】
また、アイソレーター６１は、電源ドメイン１１が電源オフであり電源ドメイン１２が電源オンである場合、電源ドメイン１１のバス３１と電源ドメイン１２のバス５１とを互いに電気的に絶縁する。
【００２４】
また、アイソレーター６１は、（ａ）電源ドメイン１１および電源ドメイン１２の両方が電源オンである場合、マスターモジュール４３とスレーブモジュール２４との間の通信を中継し、（ｂ）電源ドメイン１１が電源オフであり電源ドメイン１２が電源オンである場合、マスターモジュール４３からスレーブモジュール２４への通信に対して擬似的な応答をマスターモジュール４３へ送信する。
【００２５】
例えば、マスターモジュール４３からスレーブモジュール２４への通信がリードコマンドである場合には、擬似的な応答として、所定の値（固定値）が送信され、例えば、マスターモジュール４３からスレーブモジュール２４への通信がライトコマンドである場合には、擬似的な応答として、ライト完了のアクノレッジが送信される。
【００２６】
これにより、スリープモードのデバッグ時において、プログラムミスなどに起因して、誤って、マスターモジュール４３からスレーブモジュール２４へ信号が送信されても、その信号がアイソレーター６１により受信され、アイソレーター６１から擬似的な応答がマスターモジュール４３へ送信される。そのため、スリープモードのデバッグ時において、電源オフの電源ドメイン１１におけるスレーブモジュール２４に対するアクセスが発生しても、応答待ちのデッドロックにならずに済む。
【００２７】
また、ＩＣチップ１は、電源ドメイン１２において、デバッグインターフェイス６２を備える。デバッグインターフェイス６２は、例えばＪＴＡＧインターフェイスや専用インターフェイスであり、ＣＰＵ２１またはアイソレーター６１から出力されるトレースデータを外部のデバッグ装置２へ出力する内部回路である。
【００２８】
通常モードのデバッグ時、ＣＰＵ２１は、プログラムの実行中に、トレースデータをデバッグインターフェイス６２に出力する。トレースデータは、ＣＰＵ２１、マスターモジュール２３，４３、スレーブモジュール２４，４４などにおけるレジスターの値などを含む。スリープモードのデバッグ時、アイソレーター６１は、サブＣＰＵ４１におけるプログラムの実行中に、トレースデータを取得し、デバッグインターフェイス６２に出力する。トレースデータは、マスターモジュール４３、スレーブモジュール４４などにおけるレジスターの値などを含む。
【００２９】
つまり、電源ドメイン１１および電源ドメイン１２の両方が電源オンである場合、ＣＰＵ２１が、デバッグインターフェイス６２を介して、外部のデバッグ装置２と通信し、電源ドメイン１１が電源オフであり電源ドメイン１２が電源オンである場合、アイソレーター６１が、デバッグインターフェイス６２を介して、外部のデバッグ装置２と通信する。
【００３０】
次に、デバッグ時の上記ＩＣチップ１の動作について説明する。
【００３１】
（ａ）通常モード（非スリープモード）のデバッグ
【００３２】
通常モード（非スリープモード）では、すべての電源ドメイン１１，１２が電源オンとなっているため、デバッグ装置２は、デバッグインターフェイス６２を介して、ＣＰＵ２１へトレースデータ（コマンドなど）を供給し、トレースデータ（動作結果であるログなど）をＣＰＵ２１から取得する。その際、ＣＰＵ２１は、デバッグ装置２からのコマンドに従って動作し、電源ドメイン１１，１２内の回路を使用して、デバッグ装置２からのコマンドにより指定された処理を実行する。
【００３３】
（ｂ）スリープモードのデバッグ
【００３４】
スリープモードでは、電源ドメイン１１が電源オフとなっており電源ドメイン１２が電源オンとなっているため、デバッグ装置２は、デバッグインターフェイス６２を介して、アイソレーター６１へトレースデータ（コマンドなど）を供給し、トレースデータ（対応する動作結果としてのレジスター値のログなど）をアイソレーター６１から取得する。その際、サブＣＰＵ４１は自律的に動作しており、アイソレーター６１は、デバッグ装置２からのコマンドに従って、電源ドメイン１２内の回路に対するリード／ライトを実行し、トレースデータを取得する。
【００３５】
以上のように、上記実施の形態によれば、アイソレーター６１は、（ａ）２つの電源ドメイン１１，１２の両方が電源オンである場合において２つの電源ドメイン１１，１２の一方のバス上の信号を他方のバスへ透過させるブリッジ機能、および（ｂ）２つの電源ドメイン１１，１２のうちの電源ドメイン１１が電源オフであり電源ドメイン１２が電源オンである場合において、電源ドメイン１２内の回路の動作をトレースするトレース機能を有する。
【００３６】
これにより、トレース可能なプロセッサーの電源がスリープモード時にオフされる場合であっても、スリープモード時に電源オンされる電源ドメイン内の回路動作をトレースすることが可能なＩＣチップが得られる。
【００３７】
なお、上述の実施の形態に対する様々な変更および修正については、当業者には明らかである。そのような変更および修正は、その主題の趣旨および範囲から離れることなく、かつ、意図された利点を弱めることなく行われてもよい。つまり、そのような変更および修正が請求の範囲に含まれることを意図している。
【産業上の利用可能性】
【００３８】
本発明は、例えば、システムＬＳＩなどのデバッグに適用可能である。
【符号の説明】
【００３９】
１  ＩＣチップ
２  デバッグ装置
１１  電源ドメイン（第１電源ドメインの一例）
１２  電源ドメイン（第２電源ドメインの一例）
２１  ＣＰＵ（メインプロセッサーの一例）
２３，４３  マスターモジュール
２４，４４  スレーブモジュール
６１  アイソレーター
【図１】
0006338114.tif 000002