(57)【特許請求の範囲】
【請求項１】
所定の動作モードで電源電力の供給を停止される第１回路ブロックと、
前記所定の動作モードで電源電力の供給を停止されずに動作する第２回路ブロックと、
前記第１回路ブロックから前記第２回路ブロックへ出力される信号を伝送する第１信号線と、
前記第２回路ブロックから前記第１回路ブロックへ出力される信号を伝送する第２信号線と、
前記第１信号線上に設けられ、デバッグ時に、出力値を、（ａ）前記所定の動作モードでの前記第１回路ブロックから前記第２回路ブロックへ入力される信号を模擬した値、および（ｂ）前記第１回路ブロックから出力される信号の値のうちの一方から他方へ切り換えるクランプ回路とを備え、
前記第１回路ブロックは、デバッグ時に外部のデバッガーとの通信を行うデバッグ処理部を備え、
前記デバッグ処理部は、前記第２信号線で前記第２回路ブロックから伝送されてくる前記信号に基づいて前記第２回路ブロックの状態を示すデバッグ信号を前記デバッガーに送信すること、
を特徴とする集積回路。
【請求項２】
前記第１回路ブロックは、プロセッサーを備え、
前記プロセッサーが、所定のプログラムに従って前記デバッグ処理部として動作すること、
を特徴とする請求項１記載の集積回路。
【請求項３】
前記クランプ回路を制御する制御回路をさらに備え、
前記制御回路は、デバッグ時に、所定のタイミングで前記クランプ回路の出力値を、（ａ）前記所定の動作モードでの前記第１回路ブロックから前記第２回路ブロックへ入力される信号を模擬した値、および（ｂ）前記第１回路ブロックから出力される信号の値のうちの一方から他方へ切り換え、
前記デバッグ処理部は、前記クランプ回路の出力値の切換後に前記第２信号線で前記第２回路ブロックから伝送されてくる前記信号に基づいて前記第２回路ブロックの状態を示すデバッグ信号を前記デバッガーに送信すること、
を特徴とする請求項１または請求項２記載の集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、集積回路に関するものである。
【背景技術】
【０００２】
実際の集積回路をデバッグする際には、その集積回路にデバッガーを接続し、集積回路から出力されるデバッグ信号に基づいてデバッガーが、トレースなどを行うことがある。
【０００３】
他方、半導体集積回路の設計の際に、半導体集積回路を模擬するエミュレーターまたはＦＰＧＡ（Field-Programmable Gate Array）では、セレクターで、模擬すべき論理回路の出力をマスク論理回路の出力に切り替えることで、マスク論理回路の出力で論理回路の電源オフ時の出力状態（ハイインピーダンス状態）を表現するものがある（つまり、論理回路の電源オフ時の状態を模擬している）（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２００８／１２６２０７号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
省電力機能を有するある１つの集積回路は、所定の条件で電源オフされる第１回路ブロックと、その際に電源オフされない第２回路ブロックとを内蔵している。例えば通常モードでは、第１回路ブロックと第２回路ブロックの両方に電源電力が供給され、スリープモードでは、第１回路ブロックへの電源電力の供給が停止され、第２回路ブロックへの電源電力は継続される。
【０００６】
通常、電子機器におけるスリープモードでは、必要最低限の機能のみが動作するため、システム全体を制御するＣＰＵ（Central Processing Unit）などのプロセッサーは、第１回路ブロック内に含まれており、デバッグ時に外部のデバッガーとの通信は、第１回路ブロック内のプロセッサーがソフトウェアに従って行う。
【０００７】
このように、デバッグ時のデバッガーとの通信は第１回路ブロックによって行われるため、第１回路ブロックを電源オフ状態とした際の動作を外部のデバッガーでデバッグすることは困難である。
【０００８】
また、上述の半導体集積回路の設計では、エミュレーターまたはＦＰＧＡという設計環境下での回路構成を示しており、エミュレーターまたはＦＰＧＡによって、回路内の所望の位置の信号もトレースすることができるが、実際の集積回路のデバッグでは、そのようなトレースを行うことは困難である。
【０００９】
本発明は、上記の問題に鑑みてなされたものであり、デバッガーとの通信を行う第１回路ブロックに対する電源電力の供給が所定の動作モードで停止される集積回路の、その動作モードでの動作を、外部のデバッガーでデバックすることを可能にする集積回路を得ることを目的とする。
【課題を解決するための手段】
【００１０】
本発明に係る集積回路は、所定の動作モードで電源電力の供給を停止される第１回路ブロックと、前記所定の動作モードで電源電力の供給を停止されずに動作する第２回路ブロックと、前記第１回路ブロックから前記第２回路ブロックへ出力される信号を伝送する第１信号線と、前記第２回路ブロックから前記第１回路ブロックへ出力される信号を伝送する第２信号線と、前記第１信号線上に設けられ、デバッグ時に、出力値を、（ａ）前記所定の動作モードでの前記第１回路ブロックから前記第２回路ブロックへ入力される信号を模擬した値、および（ｂ）前記第１回路ブロックから出力される信号の値のうちの一方から他方へ切り換えるクランプ回路とを備える。前記第１回路ブロックは、デバッグ時に外部のデバッガーとの通信を行うデバッグ処理部を備える。そして、前記デバッグ処理部は、前記第２信号線で前記第２回路ブロックから伝送されてくる前記信号に基づいて前記第２回路ブロックの状態を示すデバッグ信号を前記デバッガーに送信する。
【発明の効果】
【００１１】
本発明によれば、デバッガーとの通信を行う第１回路ブロックに対する電源電力の供給が所定の動作モードで停止される集積回路の、その動作モードでの動作を、外部のデバッガーでデバックすることを可能にする集積回路を得ることができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、本発明の実施の形態に係る集積回路の構成を示すブロック図である。
【図２】図２は、図１に示すＡＳＩＣ１のデバッグ時の動作について説明するフローチャートである。
【発明を実施するための形態】
【００１３】
以下、図に基づいて本発明の実施の形態を説明する。
【００１４】
図１は、本発明の実施の形態に係る集積回路の構成を示すブロック図である。図１に示す集積回路は、ＡＳＩＣ（Application Specific Integrated Circuit）１である。例えば、ＡＳＩＣ１は、画像形成装置（例えば複合機）などの電子機器に内蔵される。
【００１５】
ＡＳＩＣ１は、ＡＳＩＣ１のデバッグを行う際に、ＩＣＥ（In-Circuit Emulator）などのデバッガー２を接続される。
【００１６】
ＡＳＩＣ１は、第１回路ブロック１１および第２回路ブロック１２を備えるＩＣチップである。第１回路ブロック１１および第２回路ブロック１２は、それぞれ、電子機器の各種機能を実現する回路を含んでいる。
【００１７】
第１回路ブロック１１は、所定の動作モード（例えばスリープモード）で電源電力の供給を停止される。第２回路ブロック１２は、その所定の動作モード（例えばスリープモード）で電源電力の供給を停止されずに動作する。
【００１８】
例えば、第１回路ブロック１１は、ＡＳＩＣ１およびＡＳＩＣ１を内蔵する電子機器の内部デバイスを制御するコントローラー機能、データ処理機能などの回路を含んでいる。
【００１９】
また、例えば、第２回路ブロック１２は、ユーザー操作、データ通信などの待ち受けが必要な機能の回路（ネットワークインターフェイス、操作パネルの制御回路など）を含んでおり、第１回路ブロック１１は、そのような機能の回路を含んでいない。
【００２０】
第１回路ブロック１１と第２回路ブロック１との間の通信は、信号線１３，１４で行われる。信号線１３は、第１回路ブロック１１から第２回路ブロック１２へ出力される信号を伝送する。信号線１４は、第２回路ブロック１２から第１回路ブロック１１へ出力される信号を伝送する。
【００２１】
各信号線１３上にはクランプ回路１５が設けられている。クランプ回路１５は、デバッグ時に、そのクランプ回路１５の出力値を、（ａ）上述の所定の動作モードでの第１回路ブロック１１から第２回路ブロック１２へ入力される信号を模擬した値、および（ｂ）第１回路ブロック１１から出力される信号の値のうちの一方から他方へ切り換える。つまり、クランプ回路１５は、第１回路ブロック１１の電源オフを模擬する期間において、上述の所定の動作モードでの第１回路ブロック１１から第２回路ブロック１２へ入力される信号を模擬した値を、第１回路ブロック１１の出力信号の値の代わりにする。
【００２２】
なお、非デバッグ時（つまり、ＡＳＩＣ１の通常動作時）においては、クランプ回路１５は、常に、第１回路ブロック１１から出力される信号の値をそのまま出力する。
【００２３】
そして、第１回路ブロック１１は、デバッグ時に外部のデバッガー２との通信を行うデバッグ処理部３１を備える。この実施の形態では、第１回路ブロック１１は、ＣＰＵ２１およびインターフェイス２２を備え、ＣＰＵ２１は、所定のプログラムに従ってデバッグ処理部３１として動作し、デバッグ処理部３１は、インターフェイス２２を使用して端子１６に接続されているデバッガー２と通信する。なお、クランプ回路１７は、非デバッグ時に、第１回路ブロック１１から端子１６への出力を遮断する。
【００２４】
デバッグ処理部３１は、信号線１４で第２回路ブロック１２から伝送されてくる信号を検出し、検出した信号に基づいて第２回路ブロック１２の状態を示すデバッグ信号をデバッガー２に送信する。
【００２５】
制御回路１８は、クランプ回路１５，１７を制御する。制御回路１８は、デバッグ時に、所定のタイミングでクランプ回路１５の出力値を、（ａ）所定の動作モードでの第１回路ブロック１１から第２回路ブロック１２へ入力される信号を模擬した値、および（ｂ）第１回路ブロック１１から出力される信号の値のうちの一方から他方へ切り換える。そして、デバッグ処理部３１は、そのクランプ回路１５の出力値の切換後に信号線１４で第２回路ブロック１２から伝送されてくる信号に基づいて第２回路ブロック１２の状態を示すデバッグ信号をデバッガー２に送信する。
【００２６】
なお、第２回路ブロック１２にはデバッグ信号を出力する機能はない。
【００２７】
次に、デバッグ時のＡＳＩＣ１の動作について説明する。図２は、図１に示すＡＳＩＣ１のデバッグ時の動作について説明するフローチャートである。
【００２８】
ＡＳＩＣ１のデバッグ時には、デバッガー２が、ＡＳＩＣ１の端子１６に接続され、制御回路１８は、クランプ回路１７を制御して、第１回路ブロック１１がデバッグ信号を端子１６から出力可能にする。
【００２９】
そして、制御回路１８は、例えばデバッグ処理部３１またはデバッガー２により指示されたタイミングで、クランプ回路１５の出力値を、第１回路ブロック１１から出力される信号の値から、電源オフ時の信号を模擬した値へ切り換える。これにより、第１回路ブロック１１の電源オン状態から電源オフ状態への状態遷移がシミュレートされる（ステップＳ１）。つまり、第１回路ブロック１１は、電源電力の供給を停止されていないにも拘わらず、第２回路ブロック１２から見て、第１回路ブロック１１は電源オフの状態となる。
【００３０】
そして、デバッグ処理部３１は、そのクランプ回路１５の出力値の切換後に信号線１４で第２回路ブロック１２から伝送されてくる信号を受信し（ステップＳ２）、受信した信号に基づくデバッグ信号をデバッガー２に送信する（ステップＳ３）。このデバッグ信号は、その信号の値、またはその信号の値から得られる第２回路ブロック１２の状態を示す。
【００３１】
このとき、第１回路ブロック１１の電源オン状態から電源オフ状態への状態遷移に起因して第２回路ブロック１２において誤動作が発生すると、信号線１４で第２回路ブロック１２から出力される信号の値が、正しい値ではなくなる。そのため、デバッグ信号に基づいてその誤動作がデバッガー２によって検出される。
【００３２】
その後、制御回路１８は、例えばデバッグ処理部３１またはデバッガー２により指示されたタイミングで、クランプ回路１５の出力値を、電源オフ時の信号を模擬した値から、第１回路ブロック１１から出力される信号の値へ切り換える。これにより、第１回路ブロック１１の電源オフ状態から電源オン状態への状態遷移がシミュレートされる（ステップＳ４）。つまり、第２回路ブロック１２から見て、第１回路ブロック１１は電源オンの状態となる。
【００３３】
そして、デバッグ処理部３１は、クランプ回路１５の出力値の切換後に信号線１４で第２回路ブロック１２から伝送されてくる信号を受信し（ステップＳ５）、受信した信号に基づくデバッグ信号をデバッガー２に送信する（ステップＳ６）。このデバッグ信号は、その信号の値、またはその信号の値から得られる第２回路ブロック１２の状態を示す。
【００３４】
このとき、第１回路ブロック１１の電源オフ状態から電源オン状態への状態遷移に起因して第２回路ブロック１２において誤動作が発生すると、信号線１４で第２回路ブロック１２から出力される信号の値が、正しい値ではなくなる。そのため、デバッグ信号に基づいてその誤動作がデバッガー２によって検出される。
【００３５】
以上のように、上記実施の形態によれば、ＡＳＩＣ１は、所定の動作モードで電源電力の供給を停止される第１回路ブロック１１と、所定の動作モードで電源電力の供給を停止されずに動作する第２回路ブロック１２とを備える。さらに、クランプ回路１５が、信号線１３上に設けられ、デバッグ時に、その出力値を、（ａ）所定の動作モードでの第１回路ブロック１１から第２回路ブロック１２へ入力される信号を模擬した値、および（ｂ）第１回路ブロック１１から出力される信号の値のうちの一方から他方へ切り換える。そして、第１回路ブロック１１が備えるデバッグ処理部３１は、信号線１４で第２回路ブロック１２から伝送されてくる信号に基づいて第２回路ブロック１２の状態を示すデバッグ信号をデバッガー２に送信する。
【００３６】
これにより、デバッガー２との通信を行う第１回路ブロック１１に対する電源電力の供給が所定の動作モードで停止されるＡＳＩＣ１において、クランプ回路１５によって第２回路ブロック１２から見た第１回路ブロック１１の状態を電源オフ状態にシミュレートすることで、そのような動作モードでの第２回路ブロック１２の動作を、外部のデバッガー２でデバックすることが可能になる。
【００３７】
なお、上述の実施の形態は、本発明の好適な例であるが、本発明は、これらに限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能である。
【産業上の利用可能性】
【００３８】
本発明は、例えば、省電力機能を有する電子機器内の集積回路に適用可能である。
【符号の説明】
【００３９】
１  ＡＳＩＣ（集積回路の一例）
２  デバッガー
１１  第１回路ブロック
１２  第２回路ブロック
１３  信号線（第１信号線の一例）
１４  信号線（第２信号線の一例）
１５  クランプ回路
１８  制御回路
２１  ＣＰＵ（プロセッサーの一例）
【図１】
0006264662.tif 000002
【図２】
0006264662.tif 000003