(57)【要約】【課題】  半導体装置の機能ブロックについて、リセット動作時のダイナミック電力（消費電力）を削減するとともに、電圧降下による誤動作のリスクを回避する。【解決手段】  動作モード制御部106は、機能ブロックに対するクロック供給を制御する。電源制御部105は、機能ブロックに対する電源供給を制御する。記憶部102は、機能ブロックの動作状態の組み合わせに対応する機能ブロックの動作パラメータを格納する。接続先判定部103は、動作パラメータに基づき、接続先の候補として、リセット対象ブロックの電源ラインを接続する他の機能ブロックの電源ラインを探索し、接続を行った場合にリセット対象ブロックに供給される電源電圧の電圧降下を見積る。接続先決定部104は、動作パラメータおよび電圧降下に基づき決定した接続先およびリセット対象ブロックのリセット動作パラメータを電源制御部105に通知し、リセット動作パラメータを動作モード制御部106に通知する。【選択図】  図1
2016038749.tif 000002
【特許請求の範囲】
【請求項１】
それぞれが予め割り当てられた機能の情報処理を行う複数の機能ブロックと、
前記複数の機能ブロックそれぞれに対するクロック供給を制御する動作モード制御手段と、
前記複数の機能ブロックそれぞれに対する電源供給を制御する電源制御手段と、
前記複数の機能ブロックの動作状態の組み合わせに対応する各機能ブロックの動作パラメータを格納する記憶手段と、
前記動作パラメータに基づき、接続先の候補として、リセット動作対象の機能ブロックの電源ラインを接続する他の機能ブロックの電源ラインを探索し、前記接続を行った場合に前記リセット動作対象の機能ブロックに供給される電源電圧の電圧降下を見積る判定手段と、
前記動作パラメータおよび前記電圧降下に基づき決定した前記接続先および前記リセット動作対象の機能ブロックのリセット動作パラメータを前記電源制御手段に通知し、前記リセット動作パラメータを前記動作モード制御手段に通知する決定手段とを有する半導体装置。
【請求項２】
前記電源制御手段は、前記複数の機能ブロックそれぞれに供給する電源電圧を生成する生成手段、および、前記生成手段と前記複数の機能ブロックそれぞれを接続する複数の電源ラインの間の接続または切断を切り替える切替手段を有し、
前記電源制御手段は、前記通知された接続先およびリセット動作パラメータに基づき前記切替手段と前記生成手段を制御する請求項1に記載された半導体装置。
【請求項３】
前記動作モード制御手段は、前記通知されたリセット動作パラメータに基づき前記リセット動作対象の機能ブロックに対するクロック供給を制御する請求項1または請求項2に記載された半導体装置。
【請求項４】
前記リセット動作パラメータは、前記リセット動作対象の機能ブロックに供給する電源電圧およびクロックの周波数を含む請求項1から請求項3の何れか一項に記載された半導体装置。
【請求項５】
前記半導体装置にリセット信号が入力されると、前記動作モード制御手段は、リセット動作対象の機能ブロックに対するクロック供給を遮断し、
前記電源制御手段は、前記生成手段を制御して、前記リセット動作対象の機能ブロックに対する電源供給を遮断する請求項2に記載された半導体装置。
【請求項６】
前記判定手段は、前記接続先の候補としてアイドル動作状態にある機能ブロックを探索する請求項1から請求項5の何れか一項に記載された半導体装置。
【請求項７】
前記判定手段は、前記アイドル動作状態にある機能ブロックが複数存在する場合、前記動作パラメータに基づき、電源ラインの抵抗値が小さい機能ブロックを前記接続先の候補に選択する請求項6に記載された半導体装置。
【請求項８】
前記動作パラメータは、前記複数の機能ブロックの動作状態の組み合わせに対応する各機能ブロックの消費電力および前記電源ラインの抵抗値、並びに、各機能ブロックの電源電圧、電圧降下規定およびクロック周波数を示す請求項1から請求項7の何れか一項に記載された半導体装置。
【請求項９】
前記動作パラメータは、前記複数の機能ブロックの動作状態の組み合わせに対応する温度、前記温度に対応する各機能ブロックの消費電力および前記電源ラインの抵抗値、並びに、各機能ブロックの電源電圧、電圧降下規定およびクロック周波数を示す請求項1から請求項7の何れか一項に記載された半導体装置。
【請求項１０】
前記電圧降下が前記リセット動作対象の機能ブロックの電圧降下規定以内の場合、前記決定手段は、前記電圧降下の見積りに対応する他の機能ブロックの電源ラインを前記接続先に決定する請求項8または請求項9に記載された半導体装置。
【請求項１１】
前記決定手段は、前記動作パラメータが示す前記リセット動作対象の機能ブロックの電源電圧およびクロック周波数を前記リセット動作パラメータに決定する請求項10に記載された半導体装置。
【請求項１２】
それぞれが予め割り当てられた機能の情報処理を行う複数の機能ブロックを有する半導体装置の動作を制御する制御装置であって、
前記複数の機能ブロックそれぞれに対するクロック供給を制御する動作モード制御手段と、
前記複数の機能ブロックそれぞれに対する電源供給を制御する電源制御手段と、
前記複数の機能ブロックの動作状態の組み合わせに対応する各機能ブロックの動作パラメータを格納する記憶手段と、
前記動作パラメータに基づき、接続先の候補として、リセット動作対象の機能ブロックの電源ラインを接続する他の機能ブロックの電源ラインを探索し、前記接続を行った場合に前記リセット動作対象の機能ブロックに供給される電源電圧の電圧降下を見積る判定手段と、
前記動作パラメータおよび前記電圧降下に基づき決定した前記接続先および前記リセット動作対象の機能ブロックのリセット動作パラメータを前記電源制御手段に通知し、前記リセット動作パラメータを前記動作モード制御手段に通知する決定手段とを有する制御装置。
【請求項１３】
それぞれが予め割り当てられた機能の情報処理を行う複数の機能ブロックを有する半導体装置の動作を制御する制御方法であって、
動作モード制御手段が、前記複数の機能ブロックそれぞれに対するクロック供給を制御し、
電源制御手段が、前記複数の機能ブロックそれぞれに対する電源供給を制御し、
記憶手段に格納された前記複数の機能ブロックの動作状態の組み合わせに対応する各機能ブロックの動作パラメータに基づき、判定手段が、接続先の候補として、リセット動作対象の機能ブロックの電源ラインを接続する他の機能ブロックの電源ラインを探索し、前記接続を行った場合に前記リセット動作対象の機能ブロックに供給される電源電圧の電圧降下を見積り、
決定手段が、前記動作パラメータおよび前記電圧降下に基づき決定した前記接続先および前記リセット動作対象の機能ブロックのリセット動作パラメータを前記電源制御手段に通知し、前記リセット動作パラメータを前記動作モード制御手段に通知する制御方法。
【請求項１４】
コンピュータを請求項12に記載された制御装置の各手段として機能させるためのプログラム。
【請求項１５】
請求項14に記載されたプログラムが記録されたコンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置の電力削減に関する。
【背景技術】
【０００２】
近年、環境問題に配慮した省エネルギ化の流れから、半導体集積回路に対しも低電力化が求められている。一般に、論理ゲートで構成される半導体集積回路の消費電力は、ダイナミック電力とスタティック電力に大別される。
【０００３】
ダイナミック電力は、論理ゲートに接続される配線容量や後段のゲート容量を充放電する電流により消費される電力であり、信号変化を抑えることによって削減可能である。例えば、クロックゲーティングによって、信号変化がないフリップフロップ(FF)へのクロック供給を止めることでダイナミック電力を削減することができる。
【０００４】
一方、スタティック電力は、オフしているトランジスタの漏れ電流により消費される電力であり、動作周波数には依存しない。一般に、接合リーク電力、ゲートリーク電力、ゲート誘導ドレインリーク電力、サブスレッショルドリーク電力はスタティック電力に分類される。
【０００５】
これらスタティック電力は、半導体集積回路の一部の機能ブロックへの電源供給を遮断（以下、電源遮断）することにより抑制することができる。電源遮断した機能ブロックを復帰させる際は、通常、電力供給の再開後、当該機能ブロックを初期化する必要があり、通常動作に入る前にリセットが行われる。
【０００６】
リセット動作中は、当該機能ブロック内部のFFなどの記憶素子に対して積極的に信号変化を起すことにより状態を初期化するため、リセット動作中は、通常、クロックゲーティングを行わない。そのため、リセット動作中の消費電力が通常動作よりも大きくなることが多い。
【０００７】
機能ブロックは、リセット動作のような高負荷時に合わせて電源設計されるため、通常動作、高負荷動作ともに動作するように、高電圧で駆動するように設計される。そのため、通常動作においては最低限必要な電圧よりも大きな電源電圧で駆動され、ダイナミック電力が大きい。
【０００８】
従来の省電力化技術として、動作状態に合わせて電圧と周波数を適宜変更する技術がある。例えば、高負荷動作時は高速・高電圧、通常動作時は通常周波数・通常電圧、アイドル期間は低速・低電圧による駆動によって、ダイナミック電力としての消費電力を削減する技術である。しかし、この技術は、高負荷動作時は高電圧駆動になるため、高負荷動作時のダイナミック電力としての消費電力を削減することができない。また、電源電圧を下げてダイナミック電力を削減する方法はあるが、高負荷動作時に電圧降下の影響でチップが誤動作を起こすリスクがある。
【０００９】
特許文献1は、第一の電源配線と第二の電源配線を間欠的に接続可能な制御回路を設け、電圧降下が生じた場合に第一の電源配線と第二の電源配線を接続して電圧降下による誤動作を防止する技術を開示する。しかし、当該技術は、電源電圧をとくに制御しないため、消費電力削減には寄与しない。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開2009-16776号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
本発明は、半導体装置の機能ブロックについて、リセット動作時のダイナミック電力（消費電力）を削減するとともに、電圧降下による誤動作のリスクを回避することを目的とする。
【課題を解決するための手段】
【００１２】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【００１３】
本発明にかかる半導体装置は、それぞれが予め割り当てられた機能の情報処理を行う複数の機能ブロックと、前記複数の機能ブロックそれぞれに対するクロック供給を制御する動作モード制御手段と、前記複数の機能ブロックそれぞれに対する電源供給を制御する電源制御手段と、前記複数の機能ブロックの動作状態の組み合わせに対応する各機能ブロックの動作パラメータを格納する記憶手段と、前記動作パラメータに基づき、接続先の候補として、リセット動作対象の機能ブロックの電源ラインを接続する他の機能ブロックの電源ラインを探索し、前記接続を行った場合に前記リセット動作対象の機能ブロックに供給される電源電圧の電圧降下を見積る判定手段と、前記動作パラメータおよび前記電圧降下に基づき決定した前記接続先および前記リセット動作対象の機能ブロックのリセット動作パラメータを前記電源制御手段に通知し、前記リセット動作パラメータを前記動作モード制御手段に通知する決定手段とを有する。
【発明の効果】
【００１４】
本発明によれば、半導体装置の機能ブロックについて、リセット動作時のダイナミック電力（消費電力）を削減するとともに、電圧降下による誤動作のリスクを回避することができる。
【図面の簡単な説明】
【００１５】
【図１】実施例の半導体装置の概略内部構成を示すブロック図。
【図２】機能ブロックのリセットの基本動作を説明するフローチャート。
【図３】リセット動作パラメータの設定を説明するフローチャート。
【図４】記憶部が有するテーブルの一例を示す図。
【図５】電源ライン切替部の構成例を示す図。
【図６】リセット動作における電源電圧を示す図。
【図７】駆動電圧とダイナミック電力の関係および抵抗値と電圧降下の関係を示す図。
【図８】半導体装置の内部に機能ブロックと電源ライン切替部だけがある構成例を示すブロック図。
【発明を実施するための形態】
【００１６】
以下、本発明にかかる実施例の半導体装置、および、制御装置とその方法を図面を参照して詳細に説明する。なお、実施例は特許請求の範囲にかかる本発明を限定するものではなく、また、実施例において説明する構成の組み合わせのすべてが本発明の解決手段に必須とは限らない。
【００１７】
［回路構成］
図1のブロック図により実施例の半導体装置101の概略内部構成を示す。半導体装置101は、n（≧2）個の機能ブロックから構成される機能ブロック部109を有す。機能ブロック部109の各機能ブロックは、供給されるクロックおよび電力に応じて動作し、予め割り当てられた機能の情報処理を実行する。なお、電源制御対象の複数の機能ブロックがあれば、本発明を適用可能であり、機能ブロックの数nに制限はない。
【００１８】
記憶部102は、次の情報が記録されたテーブルを有する。各テーブルに記録された情報の詳細は後述する。
・温度テーブル：各機能ブロックの動作状態の組み合せ（モード）と温度（図4(a)）
・消費電力テーブル：各機能ブロックの、温度ごと動作状態ごとの消費電力（図4(b)）
・抵抗値テーブル：各機能ブロックの電源ラインの温度ごとの抵抗値（図4(c)）
・電圧周波数テーブル：各機能ブロックの電圧およびリセット周波数（図4(d)）
【００１９】
接続先判定部103は、復帰要求を示す復帰信号を受信すると、記憶部102の各テーブルから読み出した情報を基に接続先候補を判定する。接続先候補とは、リセット動作対象の機能ブロック（以下、リセット対象ブロック）の電源ラインを接続する、他の機能ブロックの電源ライン（または他の機能ブロック）のことである。
【００２０】
接続先候補がある場合、接続先判定部103は、当該接続を行った場合にリセット対象ブロックに供給される電源電圧の電圧降下を見積る。そして、接続先候補と見積結果（電圧降下の値）、および、リセット対象ブロックの動作パラメータ（通常動作電圧、リセット対応高電圧、電圧降下規定、リセット周波数）をリセット動作パラメータとして接続先決定部104に通知する。なお、リセット周波数はリセット動作時のクロック周波数である。
【００２１】
接続先決定部104は、接続先判定部103から受信したリセット動作パラメータに基づき、接続パラメータ（電源ライン接続先、電圧、リセット周波数）を決定する。そして、決定したリセット周波数を動作モード制御部106に通知し、電源ライン接続先と電圧を電源制御部105に通知する。接続パラメータの通知後、接続先決定部104は、動作モード制御部106と電源制御部105に復帰動作開始を指示する。
【００２２】
外部のCPUなどからリセットをアクティブ状態にするリセット信号が半導体装置101に入力されると、動作モード制御部106は、リセット対象ブロックへのクロック供給を遮断（以下、クロック遮断）する。そして、接続パラメータが決定され、接続先決定部104からリセット周波数を受信すると、動作モード制御部106は、外部のCPUなどへリセット信号の解除要求を示すリセット完了信号を通知する。そして、リセット信号が解除されると、リセット周波数のクロックにより、リセット対象ブロックへのクロック供給を再開する。
【００２３】
電源制御部105は、リセット信号が入力されると、リセット対象ブロックへの電力供給の遮断（以下、電源遮断）を電圧生成部107に指示する。そして、接続パラメータが決定され、接続先決定部104から電源ライン接続先と電圧を受信すると、電源制御部105は、電圧の設定を電圧生成部107に指示し、電源ライン接続先を電源ライン切替部108に指示する。
【００２４】
電圧生成部107は、電源制御部105の指示に基づき、リセット対象ブロックに対する電源遮断、または、指示された電圧の生成および供給を行う。電圧生成部107は、例えば、電源電圧VDDを変換して、電源電圧とは異なる供給電圧を生成するレギュレータによって構成される。なお、電源電圧VDDを変換して供給電圧を生成することができれば、レギュレータでなくてもよい。
【００２５】
電源ライン切替部108は、電源制御部105の指示基づき、リセット対象ブロックの電源ラインを、電源ライン接続先の機能ブロックの電源ラインに接続するために内部スイッチを切り替える。なお、電源ライン切替部108は、複数の電源ラインの任意の組み合わせについて、電源ラインの接続または切断を行うことができ、電源ラインの数と組み合せに制限はない。
【００２６】
ここでは、説明の簡便のため、機能ブロックと電力制御対象の電源ドメインが一対一で対応する例を説明するが、一対一の対応は必須ではない。例えば、二つ以上の機能ブロックを一つの電源ドメインに対応させたり、一つの機能ブロックを二つ以上の電源ドメインによって管理したりしてもよい。なお、電源ドメインとは、同一の電力制御素子、例えばパワースイッチによって電源の供給・遮断を行える領域を示し、半導体装置101のリーク電力を抑制するための区分である。また、電源ドメインは、上記の定義を満たす機能ブロックや、機能モジュール、ICなどでもよい。
【００２７】
［リセット動作］
次に、半導体装置101における機能ブロックのリセット動作について説明する。なお、以下では、三つの機能ブロック（機能ブロック1、機能ブロック2、機能ブロック3）に注目して、機能ブロック1をリセット対象ブロックとする例を説明する。
【００２８】
図2のフローチャートにより機能ブロックのリセットの基本動作を説明する。外部のCPUなどは、リセット対象ブロック（機能ブロック1）を電力遮断する指示に応じてリセット信号をアサートして、動作モード制御部106と電源制御部105にリセット対象ブロックのリセットをアクティブ状態にするように命令する(S400)。リセット信号がアサートされると、動作モード制御部106と電源制御部105は、リセット対象ブロックについてリセット動作を開始する。
【００２９】
動作モード制御部106は、クロックゲート回路などをアクティブにして、機能ブロック1のクロック遮断を行う(S401)。なお、クロックゲート回路は、アクティブになるとクロック遮断を行い、インアクティブになるとクロック供給を行う回路である。
【００３０】
また、電源制御部105は、電圧生成部107に指示して、パワースイッチ回路などにより機能ブロック1の電源遮断を行わせる(S402)。なお、パワースイッチ回路は、アクティブになると電力供給を行い、インアクティブになると電源遮断を行う回路である。
【００３１】
次に、接続先判定部103は、電源遮断状態の機能ブロック1を復帰させるためのトリガ（復帰信号）が発生したか否かを判定する(S403)。当該トリガとしては、ユーザやアプリケーションプログラムなどからの要求を半導体装置101が受信した、などが挙げられる。接続先判定部103は、復帰トリガ（復帰信号）が発生するまでステップS403の判定を繰り返し、復帰トリガが発生するとリセット動作パラメータを設定する(S404)。
【００３２】
●リセット動作パラメータの設定
図3のフローチャートによりリセット動作パラメータの設定(S404)を説明する。復帰信号を受信した接続先判定部103は、記憶部102から各機能ブロックの動作パラメータ（温度、消費電力、電源ラインの抵抗値、電圧、リセット周波数）を読み込んでレジスタに保持する(S301)。
【００３３】
図4により記憶部102が有するテーブルの一例を示す。図4(a)に示す温度テーブルには、各機能ブロックの動作状態の組み合わせをモードとして、モードごとの温度が記録されている。接続先判定部103は、温度テーブルから、機能ブロック1が要求されているリセット動作と、機能ブロック2と機能ブロック3の現在の動作状態の組み合わせ（モード）に対応する温度を読み込む。
【００３４】
図4(b)に示す消費電力テーブルには、各機能ブロックの、温度ごと、動作状態ごとの消費電力が記録されている。接続先判定部103は、例えばモード3の温度（45度）を基に、消費電力テーブルから機能ブロック1のリセット動作状態の消費電力、機能ブロック2と機能ブロック3のアイドル動作状態の消費電力を読み込む。
【００３５】
図4(c)に示す抵抗値テーブルには、各機能ブロックの電源ラインの温度ごとの抵抗値が記録されている。接続先判定部103は、例えばモード3の温度を基に、抵抗値テーブルから機能ブロック1、機能ブロック2、機能ブロック3の電源ラインの抵抗値を読み込む。
【００３６】
図4(d)に示す電圧周波数テーブルには、各機能ブロックの電圧（通常動作電圧、リセット対応高電圧）、電圧降下規定、クロック周波数（通常リセット周波数、低速リセット周波数）が記録されいる。接続先判定部103は、電圧周波数テーブルから、リセット対象ブロックである機能ブロック1の電圧、電圧降下規定、クロック周波数を読み込む。なお、通常動作電圧＜リセット対応高電圧、通常リセット周波数＞低速リセット周波数である。低速リセット周波数を設定した場合、通常リセット周波数を設定した場合に比べてリセットに必要な期間が長くなるが、その分、消費電力を抑えることができる。
【００３７】
次に、接続先判定部103は、新規の接続先候補があるか否かを判定して(S302)、新規の接続先候補があればレジスタに登録する。言い替えれば、接続先判定部103は、現在のモードにおいてアイドル動作状態の機能ブロックを探索する。なお、一回目の判定(S302)において、レジスタに登録された接続先候補はない。
【００３８】
現在のモードにアイドル動作状態の機能ブロックがあり、当該機能ブロックが接続先候補としてレジスタに未登録の場合、接続先判定部103は、当該機能ブロックを新規の接続先候補としてレジスタに登録する(S303)。この場合、処理はステップS304に進む。
【００３９】
例えば、モード3の場合、接続先判定部103は、アイドル動作状態の機能ブロック3を新規の接続先候補と判定してレジスタに登録する。つまり、機能ブロック3の電源ラインが、機能ブロック1の電源ラインの接続先候補になる。また、アイドル動作状態の機能ブロックが複数存在する場合、電源ラインの抵抗値が小さいものが優先的に選択されて登録される。
【００４０】
新規の接続候補がある場合、接続先判定部103は、電圧降下を見積り、接続先候補、見積った電圧降下、機能ブロック1の動作パラメータを接続先決定部104に通知する(S304)。電圧降下は、機能ブロック1の電源ラインを接続先候補の機能ブロックの電源ラインに接続した場合に発生する電圧降下である。従って、機能ブロック1のリセット動作状態の消費電力と電源ラインの抵抗値、接続先候補の機能ブロックのアイドル動作状態の消費電力と電源ラインの抵抗値から、電圧降下の値を見積ることができる。
【００４１】
次に、接続先決定部104は、接続先判定部103が見積った電圧降下ΔVと、機能ブロック1の動作モードパラメータに含まれる電圧降下規定ΔVmaxを比較する(S305)。そして、電圧降下が電圧降下規定以内（ΔV≦ΔVmax）の場合は処理をステップS307に進める。また、電圧降下が電圧降下規定を超える（ΔV＞ΔVmax）場合は処理をステップS302に戻す。
【００４２】
ΔV＞ΔVmaxの場合、接続先判定部103は、新規の接続先候補があるか否かの判定(S302)を繰り返し、新規の接続先候補が見付かった場合は、前述したように、処理をステップS303に進める。
【００４３】
また、現在のモードにアイドル動作状態の機能ブロックが存在しない場合、存在しても当該機能ブロックが接続先候補としてレジスタに既登録の場合、接続先判定部103は、新規の接続先候補がないと判定する。なお、レジスタに既登録の接続先候補とは、ステップS305でΔV＞ΔVmaxと判定された接続先候補である。そして、接続先候補をクリアし、情報「接続先候補なし、電圧はリセット対応高電圧、周波数は低速リセット周波数」を接続先決定部104に通知して(S306)、処理をステップS307に進める。
【００４４】
リセット期間とリセット対象ブロックの回路規模によっては、接続先候補がない場合の電圧をリセット対応高電圧、周波数を通常リセット周波数にしてもよい。この場合、情報「接続先候補なし、電圧はリセット対応高電圧、周波数は通常リセット周波数」が接続先決定部104に通知される(S306)。
【００４５】
次に、接続先決定部104は、接続パラメータを決定し、接続パラメータを電源制御部105と動作モード制御部106に通知する(S307)。ΔV≦ΔVmaxと判定した場合、接続先決定部104は、接続先判定部103から通知された接続先候補を電源ライン接続先に決定し、接続先判定部103から通知された動作パラメータからリセット動作パラメータ（電圧とリセット周波数）を決定する。そして、リセット周波数を動作モード制御部106に通知し、電源ライン接続先と電圧を電源制御部105に通知する。この場合の接続パラメータは、例えば「電源ライン接続先は機能ブロック3、電圧は通常動作電圧、周波数は高速リセット周波数」になる。
【００４６】
次に、電源制御部105は、接続先決定部104から受信した電圧に基づき、電圧生成部107に電圧値を設定させる(S308)。つまり、電源制御部105は、電圧生成部107に、リセット対象ブロックの機能ブロック1と、電源ライン接続先の例えば機能ブロック3について同じ供給電圧を通知する。この通知を受信した電圧生成部107は、指定の機能ブロックに指定の電圧を供給するための設定を行う。
【００４７】
次に、電源制御部105は、接続先決定部104から受信した電源ライン接続先を電源ライン切替部108に通知して、電源ライン切替部108に電源ライン接続の切り替えを実施させる(S309)。つまり、電源ライン切替部108は、リセット対象ブロックの機能ブロック1の電源ラインを、電源ライン接続先の例えば機能ブロック3の電源ラインに接続する。
【００４８】
一方、接続先候補なしが通知された場合、接続先設定部104は、接続先判定部103から通知された情報に基づき、電圧を電源制御部105に通知し、リセット周波数を動作モード制御部106に通知する(S307)。電源制御部105は、接続先決定部104から受信した電圧に基づき、電圧生成部107に電圧を設定させる(S308)。つまり、電源制御部105は、電圧生成部107に、リセット対象ブロックの機能ブロック1に供給する電圧を通知する。この通知を受信した電圧生成部107は、機能ブロック1に指定の電圧を供給するための設定を行う。
【００４９】
次に、接続先決定部104は、動作モード制御部106と電源制御部105に通知した接続パラメータによるリセット動作を開始するように復帰動作の開始を指示する(S310)。つまり、接続先決定部104は、電源遮断状態の機能ブロック1への電源供給の再開を要求する信号を電源制御部105に送信する。さらに、クロック遮断状態の機能ブロック1へのクロック供給の再開を要求する信号を動作モード制御部106に送信する。
【００５０】
図5により電源ライン切替部108の構成例を示す。図5(a)に示すように、電源ライン切替部108は、電源ライン同士を接続または切断する複数のパワースイッチ回路を有す。なお、電源ライン同士を接続または切断することができれば、パワースイッチ回路に限らず、どのようなものを用いてもよい。電源ライン切替部108は、スイッチ201と203を開にし、スイッチ202だけを閉にすることで、機能ブロック1の電源ラインを機能ブロック3の電源ラインに接続することができる。
【００５１】
図5(b)は電源ライン切替部108のスイッチの状態と電圧降下ΔVの関係を示す。図5(b)に示すように、スイッチをオンにして接続する電源ラインを増やすと、電圧降下ΔVを低減することができる。
【００５２】
図2のフォローチャートに戻り、復帰動作の開始指示を受信した電源制御部105は、電圧生成部107に電源遮断状態の機能ブロック1への電力供給を再開させる(S405)。そして、機能ブロック1の電荷のチャージが完了すると、処理はステップS406に遷移する。
【００５３】
復帰動作の開始指示を受信した動作モード制御部106は、クロックゲート回路のゲーティングを無効化して、リセット対象ブロックの機能ブロック1に対してクロック供給を再開する(S406)。なお、リセット対象ブロックのリセットが解除されるまで、クロックゲート回路の制御ピンをディゼーブル状態のままで維持する。クロックゲート回路のディゼーブル状態はクロック供給を行っている状態である。つまり、動作モード制御部106は、少なくとも復帰動作の開始指示を受信してからリセットが解除されるまでの期間、リセット対象ブロックにクロックを供給し続ける。
【００５４】
復帰動作の開始指示を受信した後、所定のリセット時間、リセット対象ブロックの機能ブロック1へクロックを供給し続けると、動作モード制御部106は、機能ブロック1のリセットの解除を要求する(S407)。なお、外部のCPUなどに対する、リセット完了の通知によるリセット解除（リセット信号のデアサート）の要求(S407)は、動作モード制御部106によって行われる。
【００５５】
リセット開始後の時間経過を測るにはカウンタ回路などを用いればよく、カウンタ値としてリセット対象ブロックの回路規模などに応じた値を予め設定しておくことで、リセット時間を制御することができる。リセット解除後、リセット対象ブロックは定常動作の開始が可能な状態になる。
【００５６】
このように、リセット対象ブロックの電源ラインを、電圧降下が電圧降下規定に収まる機能ブロックの電源ラインに接続して、リセット動作における電源電圧を抑制して、リセット動作の低消費電力化を実現することができる。
【００５７】
図6によりリセット動作における電源電圧を示す。図6(a)は、リセット対象ブロックにリセット対応高電圧を供給してリセット動作を行う場合の電圧を示す（従来）。図6(b)は、リセット対象ブロックに通常動作電圧を供給してリセット動作を行う場合の電圧を示す（実施例）。図7により駆動電圧とダイナミック電力の関係および抵抗値と電圧降下の関係を示す。図7(a)に示すように、機能ブロックの駆動電圧を小さくするとダイナミック電力を小さくすることができる。
【００５８】
従って、図6(b)に示すように通常動作電圧を供給してリセット動作を行う本実施例においては、機能ブロックの駆動電圧が低電圧になり、図6(a)のリセット動作に比べて、ダイナミック電力を抑制することができる。ただし、単に電源電圧を下げると、リセット動作の高負荷時に駆動電圧が最低動作電圧を下回り、誤動作が発生する可能性がある。言い替えれば、誤動作を防ぐために、従来は、リセット対応高電圧を供給してリセット動作を行っている。
【００５９】
本実施例においては、図7(b)に示すように、リセット対象ブロックの電源ラインをアイドル動作状態にある他の機能ブロックの電源ラインに接続することによって、電源ラインの抵抗値を低下させ、高負荷時の電圧降下を抑制する。つまり、図6(b)に上向きの矢印で示す電圧降下の抑制分、低い電源電圧によるリセット動作が可能になり、ダイナミック電力を抑制することができる。つまり、接続先判定部103によるアイドル動作状態の機能ブロックの探索(S302)は、通常動作状態に比べて消費電力が小さい動作状態にある機能ブロックを見付けて、電圧降下の抑制を図ることが狙いである。
【００６０】
このように、リセット動作時（高負荷動作時）の電源電圧を通常動作電圧まで下げてダイナミック電力（消費電力）を削減するとともに、電圧降下による機能ブロックの誤動作のリスクを回避することができる。
【００６１】
［変形例］
上記では、半導体装置101の内部に記憶部102、接続先判定部103、接続先決定部104、電源制御部105、動作モード制御部106、電圧生成部107を設ける例を説明した。しかし、これら構成が同一のシステム（または情報処理装置）内にあれば、半導体装置101の外部にこれら構成を設けていてもよい。
【００６２】
図8のブロック図により半導体装置101の内部に機能ブロック109と電源ライン切替部108だけがある構成例を示す。図8において、半導体装置101の制御装置である省電力システム1201は、例えば、半導体装置101が実装されたプリント基板上に配置され、記憶部102には半導体装置101の起動時に使用されるブートプログラムなども格納されている。なお、省電力システム1201は、その機能を実現するプログラムを記録媒体を介してコンピュータ装置に供給することによっても実現可能である。
【００６３】
図8に示す構成を採ることにより、半導体装置101に、記憶部102、接続先判定部103、接続先決定部104、電源制御部105、動作モード制御部106、電圧生成部107を設ける必要がなくなる。その結果、半導体装置101のチップサイズを小さくし、半導体装置101のコストダウンを図ることができる。
【００６４】
［その他の実施例］
本発明は、上述の実施形態の一以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける一以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、一以上の機能を実現する回路（例えば、ASIC）によっても実現可能である。
【符号の説明】
【００６５】
101 … 半導体装置、102 … 記憶部、103 … 接続先判定部、104 … 接続先決定部、105 … 電源制御部、106 … 動作モード制御部
【図１】
2016038749.tif 000003
【図２】
2016038749.tif 000004
【図３】
2016038749.tif 000005
【図４】
2016038749.tif 000006
【図５】
2016038749.tif 000007
【図６】
2016038749.tif 000008
【図７】
2016038749.tif 000009
【図８】
2016038749.tif 000010