(57)【特許請求の範囲】
【請求項１】
回路へ電源を供給するか否かを切り替える電源スイッチと、
第１の回路動作スケジュールを入力し、前記第１の回路動作スケジュールに含まれる複数の回路動作期間が連続するように、前記回路動作期間の開始時刻または終了時刻を補正した第２の回路動作スケジュールを生成する回路動作スケジュール補正部と、
前記第２の回路動作スケジュールにしたがって、前記電源スイッチをオンまたはオフする電源スイッチ制御部と、
を有することを特徴とする半導体装置。
【請求項２】
前記電源スイッチをオフすることによる電源遮断期間のエネルギー利得と、電源復帰期間のエネルギー損失が等しくなる基準回路停止期間を、前記電源スイッチをオフするか否かの判定基準時間として出力する判定基準時間生成部を有し、
前記回路動作スケジュール補正部は、前記判定基準時間と、前記第２の回路動作スケジュールの回路停止期間との比較結果に応じて、前記回路停止期間に前記電源スイッチをオフするか否かを決定することを特徴とする請求項１記載の半導体装置。
【請求項３】
前記判定基準時間生成部は、前記回路におけるリーク電流の発生を模擬する模擬回路を用いて、前記リーク電流に応じた前記判定基準時間を生成することを特徴とする請求項２記載の半導体装置。
【請求項４】
前記回路動作スケジュール補正部は、前記開始時刻より前記回路の電源復帰期間分早く前記電源スイッチのオン動作を開始させるように前記第１の回路動作スケジュールを補正することを特徴とする請求項１に記載の半導体装置。
【請求項５】
前記回路動作スケジュール補正部は、前記開始時刻より前記電源復帰期間分早く前記電源スイッチのオン動作を開始させるように前記第１の回路動作スケジュールを補正することを特徴とする請求項２または３に記載の半導体装置。
【請求項６】
回路動作スケジュール補正部が、第１の回路動作スケジュールを入力し、前記第１の回路動作スケジュールに含まれる複数の回路動作期間が連続するように、前記回路動作期間の開始時刻または終了時刻を補正した第２の回路動作スケジュールを生成し、
電源スイッチ制御部が、前記第２の回路動作スケジュールにしたがって、回路へ電源を供給するか否かを切り替える電源スイッチをオンまたはオフすることを特徴とする半導体装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置及び半導体装置の制御方法に関する。
【背景技術】
【０００２】
近年、低消費電力化の要求から、内部に電源遮断機能（Ｐｏｗｅｒ  Ｇａｔｉｎｇとも呼ばれている）を搭載したＬＳＩ（Large Scale Integrated circuit）が採用されるケースが増加してきている。
【０００３】
このような半導体装置は、電源スイッチを搭載しており、内部回路を使用していない時間帯（回路停止期間）は電源スイッチをオフすることでリーク電流を遮断する。電源遮断機能は、待機時の電力削減要求の厳しい通信用の携帯機器などに広く用いられている。
【０００４】
なお、電源スイッチを頻繁にオンまたはオフすると、スイッチ制御の際に流れる電流で電流消費量が増えるので、オフできる回路停止期間が短い場合は電源スイッチをオフしないようにすることで、トータルの消費電力を低減する技術が知られている。
【０００５】
また、電源スイッチをオフ状態からオンする際、内部回路の電源容量の再充電を始めるために突入電流が流れる。この突入電流が半導体装置内部の電源配線を通ることによって、電源配線のインピーダンスが呼応して電源ノイズが発生する。電源ノイズは半導体装置内の回路に悪影響を及ぼす可能性がある。そのため、スイッチオン動作をゆっくり行って突入電流を抑制することで、電源ノイズの発生を抑制する技術が知られている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−２３１３６０号公報
【特許文献２】特開２００８−２１８７２２号公報
【特許文献３】特開２００８−６５７３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来の電源遮断機能では十分に消費電力を低減することができないという問題があった。たとえば、回路停止期間が短い場合に電源スイッチをオフしない電源遮断機能を適用すると、短い回路停止期間が多いシステムでは電源スイッチをオフできる機会が少なくなってしまい、消費電力を十分に低減できないという問題があった。
【課題を解決するための手段】
【０００８】
発明の一観点によれば、回路へ電源を供給するか否かを切り替える電源スイッチと、回路動作スケジュールを入力し、複数の回路動作期間を連続するように、前記回路動作期間の開始時刻または終了時刻を補正する回路動作スケジュール補正部と、補正された前記回路動作スケジュールにしたがって、前記電源スイッチをオンまたはオフする電源スイッチ制御部と、を備えた半導体装置が提供される。
【発明の効果】
【０００９】
開示の半導体装置及び半導体装置の制御方法によれば、消費電力を削減することができる。
【図面の簡単な説明】
【００１０】
【図１】第１の実施の形態の半導体装置の一例を示す図である。
【図２】第１の実施の形態の半導体装置の動作の一例を示すフローチャートである。
【図３】回路動作スケジュールの一例を示す図である。
【図４】回路動作スケジュールの補正の一例を示す図である。
【図５】回路の動作状態に応じた消費電力の一例を示す図である。
【図６】第２の実施の形態の半導体装置の一例を示す図である。
【図７】第２の実施の形態の半導体装置の動作の一例を示すフローチャートである。
【図８】判定基準時間Ｔｍｉｎの一例を示す図である。
【図９】第３の実施の形態の半導体装置の一例を示す図である。
【図１０】使用環境が高温時の回路動作に応じた消費電力の一例を示す図である。
【図１１】使用環境が低温時の回路動作に応じた消費電力の一例を示す図である。
【図１２】リーク電流検出器の一例を示す図である。
【図１３】リーク電流検出器の一例の動作を示すタイミングチャートである。
【図１４】電源スイッチの一例と、その周辺部の詳細を示す図である。
【図１５】電源復帰期間の測定例を示すタイミングチャートである。
【図１６】Ｔｍｉｎ生成器の一例を示す図である。
【図１７】回路動作スケジュール保持部の一例を示す図である。
【図１８】回路動作スケジュール保持部の動作の一例を示すタイミングチャートである。
【図１９】電源スイッチ制御予定レジスタの一例を示す図である。
【図２０】電源スイッチ制御予定レジスタの一例の動作の様子を示すタイミングチャートである。
【図２１】回路動作スケジュールの一例を示す図である。
【図２２】回路スケジュール補正の例と、予定時刻データの一例を示す図である。
【図２３】４つの回路における回路動作スケジュールの補正例と予定時刻データの一例を示す図である。
【図２４】回路６０に関して回路動作スケジュールを補正する場合の回路動作スケジュール補正部の入出力データの一例を示す図である。
【図２５】ＰＭＵの動作の一例を示す図である。
【図２６】ＰＭＵの動作の一例をまとめたフローチャートである。
【図２７】第４の実施の形態の半導体装置の一例を示す図である。
【図２８】タスク生成処理の流れを示すフローチャートである。
【図２９】生成したタスク列の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明の半導体装置及び半導体装置の制御方法の実施の形態を、図面を参照しつつ説明する。
（第１の実施の形態）
図１は、第１の実施の形態の半導体装置の一例を示す図である。
【００１２】
第１の実施の形態の半導体装置１０は、回路１１へ電源ＶＤＤを供給するか否かを切り替える電源スイッチ１２と、回路動作スケジュール保持部１３と、回路動作スケジュール補正部１４と、電源スイッチ制御部１５を有している。
【００１３】
電源スイッチ１２は、電源スイッチ制御部１５の制御のもと、オン・オフ制御され、オン状態のときには、回路１１に対して電源ＶＤＤから電源電圧を供給する。
回路動作スケジュール保持部１３は、回路１１の動作期間や停止期間などの回路動作スケジュールを保持している。
【００１４】
回路動作スケジュール補正部１４は、回路動作スケジュールを入力し、その回路動作スケジュールに含まれる複数の回路動作期間を連続するように、回路動作期間の開始時刻または終了時刻を補正する。
【００１５】
電源スイッチ制御部１５は、補正された回路動作スケジュールにしたがって電源スイッチ１２をオンまたはオフする。
以下、半導体装置１０の動作を説明する。
【００１６】
図２は、第１の実施の形態の半導体装置の動作の一例を示すフローチャートである。
ステップＳ１：回路動作スケジュール保持部１３は、たとえば、半導体装置１０の外部の図示しないマイクロコントローラ（以下マイコンと略す）、または内部の回路１１（または図示しない他の回路）から、回路動作スケジュールを受信して保持する。
【００１７】
図３は、回路動作スケジュールの一例を示す図である。横軸は時間を示している。
図３では、複数の回路動作期間を、タスクＴｓｋ１，Ｔｓｋ２，Ｔｓｋ３，Ｔｓｋ４，Ｔｓｋ５で示している。また、スケジューリングされた各タスクＴｓｋ１〜Ｔｓｋ５の開始可能時刻ＴＳ１，ＴＳ２，ＴＳ３，ＴＳ４，ＴＳ５と、終了期限時刻ＴＣ１，ＴＣ２，ＴＣ３，ＴＣ４，ＴＣ５と、処理時間ＴＤ１，ＴＤ２，ＴＤ３，ＴＤ４，ＴＤ５の一例が示されている。各タスク間の時間は、回路停止期間Ｔｓｐ１，Ｔｓｐ２，Ｔｓｐ３，Ｔｓｐ４である。
【００１８】
回路動作スケジュール保持部１３は、上記のような各タスクＴｓｋ１〜Ｔｓｋ５の開始可能時刻ＴＳ１〜ＴＳ５、終了期限時刻ＴＣ１〜ＴＣ５、処理時間ＴＤ１〜ＴＤ５を回路動作スケジュールとして保持する。
【００１９】
ステップＳ２：回路動作スケジュール補正部１４は、回路動作スケジュールの補正を行う。
図４は、回路動作スケジュールの補正の一例を示す図である。横軸は時間を示している。ここでは、図３で示した回路動作スケジュールを補正した場合について示している。
【００２０】
回路動作スケジュールの補正は、各タスクＴｓｋ１〜Ｔｓｋ５の回路動作期間が、それぞれのタスクＴｓｋ１〜Ｔｓｋ５において定められた開始可能時刻ＴＳ１〜ＴＳ５から終了期限時刻ＴＣ１〜ＴＣ５までに含まれるように行われる。
【００２１】
図４に示す例では、回路動作スケジュール補正部１４は、タスクＴｓｋ２で示される回路動作期間の開始時刻と終了時刻を補正して、タスクＴｓｋ３で示される回路動作期間と連続するようにしている。タスクＴｓｋ２の補正は、タスクＴｓｋ２の開始可能時刻ＴＳ２と、終了期限時刻ＴＣ２との間で行われるので制約を満たす。
【００２２】
同様に、回路動作スケジュール補正部１４は、タスクＴｓｋ４で示される回路動作期間の開始時刻と終了時刻を補正して、タスクＴｓｋ５で示される回路動作期間と連続するようにしている。タスクＴｓｋ４の補正は、タスクＴｓｋ４の開始可能時刻ＴＳ４と、終了期限時刻ＴＣ４との間で行われるので制約を満たす。
【００２３】
このような補正により、タスクＴｓｋ１とタスクＴｓｋ２間の回路停止期間は、Ｔｓｐ１＋Ｔｓｐ２に延びる。また、タスクＴｓｋ３とタスクＴｓｋ４間の回路停止期間は、Ｔｓｐ３＋Ｔｓｐ４に延びる。
【００２４】
ステップＳ３：次に、電源スイッチ制御部１５は、補正された回路動作スケジュールにしたがって電源スイッチ１２をオンまたはオフする。
ステップＳ２の処理で補正した回路動作スケジュールによれば、複数の回路動作期間が連続するので、電源スイッチ１２の動作回数を減らすことができる。たとえば、図４で示した例の場合、タスクＴｓｋ２，Ｔｓｋ３の回路動作期間を連続することで、タスクＴｓｋ２，Ｔｓｋ３間に電源スイッチ１２をオフし、その後オンすると動作が不要になる。
【００２５】
これにより、電源スイッチ１２をオフからオンする際の、電源復帰時のエネルギー損失（後述の図５参照）を減らすことができ、消費電力を低減できる。
（第２の実施の形態）
図３、図４で示したようなタスク間の回路停止期間は、電源遮断期間と、次の回路動作期間を実行するために電源をオンするために要する電源復帰期間とを有する。
【００２６】
図５は、回路の動作状態に応じた消費電力の一例を示す図である。横軸は時間、縦軸は消費電力を示している。
図５では、２つの回路動作期間と、その間の回路停止期間における電源遮断期間Ｔｏｆｆと、電源復帰期間Ｔｏｎの消費電力の様子を示している。斜線で示した領域２０，２１のうち、領域２０は、回路への電源供給を遮断することによって得するエネルギーＥｒを示している。領域２１は、電源復帰の際に発生する電力によって損するエネルギーＥｍを示している。
【００２７】
回路停止期間中に電源スイッチをオフすることによって、電源遮断期間Ｔｏｆｆ中に得するエネルギーＥｒが、電源復帰時に消費するエネルギーＥｍよりも小さい場合には、電源スイッチをオフしないほうが消費電力を抑制できる。
【００２８】
以下に示す第２の実施の形態の半導体装置では、図５に示したような回路停止期間における電源復帰期間Ｔｏｎを考慮して電源スイッチの制御を行う。
図６は、第２の実施の形態の半導体装置の一例を示す図である。
【００２９】
図１で示した第１の実施の形態の半導体装置１０と同一の要素については同一符号を付し、説明を省略する。
第２の実施の形態の半導体装置３０は、回路停止期間中に電源スイッチ１２をオンするか否かの判定基準時間Ｔｍｉｎを生成する判定基準時間生成部３１を有する。
【００３０】
判定基準時間生成部３１は、図５に示したような回路停止期間における電源遮断期間のエネルギー利得（エネルギーＥｒ）と、電源復帰期間のエネルギー損失（エネルギーＥｍ）が等しくなる基準回路停止期間を、判定基準時間Ｔｍｉｎとして生成する。
【００３１】
回路動作スケジュール補正部１４ａは、判定基準時間生成部３１で生成された判定基準時間Ｔｍｉｎを入力して、たとえば、図４で示したように補正した回路動作スケジュールの、回路停止期間と判定基準時間Ｔｍｉｎとを比較する。そして、回路動作スケジュール補正部１４ａは、回路停止期間に電源スイッチ１２をオフするか否かを決定する。
【００３２】
電源スイッチ制御部１５ａは、回路動作スケジュール補正部１４ａでの回路動作スケジュールの補正結果と、回路停止期間に電源スイッチ１２をオンするか否かの決定に応じて電源スイッチ１２をオンまたはオフさせる。
【００３３】
以下、半導体装置３０の動作を説明する。
図７は、第２の実施の形態の半導体装置の動作の一例を示すフローチャートである。
ステップＳ５：ステップＳ５の処理は、図２に示したステップＳ１の処理と同じであり、回路動作スケジュール保持部１３は、回路動作スケジュールを受信して保持する。
【００３４】
ステップＳ６：判定基準時間生成部３１は、判定基準時間Ｔｍｉｎを生成して出力する。
図８は、判定基準時間Ｔｍｉｎの一例を示す図である。横軸は回路停止期間Ｔｓｐ、縦軸はエネルギーを示している。
【００３５】
図５で示した電源復帰期間Ｔｏｎに消費するエネルギーＥｍは、回路１１の電源容量の値をＣｐ、電源電圧をＶｄｄとすると、Ｅｍ＝Ｃｐ×Ｖｄｄ2と表せる。また、電源遮断期間Ｔｏｆｆに電源遮断によって得するエネルギーＥｒは、電源遮断しない場合の回路１１のリーク電流をＩｏｆｆとすると、Ｅｒ＝Ｖｄｄ×Ｉｏｆｆ×Ｔｏｆｆと表せる。
【００３６】
ここで、Ｅｒ＝Ｅｍ（図８で示すエネルギーＥｍ，Ｅｒの直線の交点）となる電源遮断期間ＴｏｆｆをＴｏｆｆ＿ｍｉｎとすると、Ｔｏｆｆ＿ｍｉｎは、Ｔｏｆｆ＿ｍｉｎ＝Ｃｐ×Ｖｄｄ／Ｉｏｆｆと表せる。したがって、判定基準時間Ｔｍｉｎは、Ｔｍｉｎ＝Ｔｏｎ＋Ｔｏｆｆ＿ｍｉｎより、Ｔｍｉｎ＝Ｔｏｎ＋ＶＤＤ×Ｃｐ／Ｉｏｆｆと表せる。
【００３７】
ステップＳ７：回路動作スケジュール補正部１４ａは、たとえば、図４で示したように回路動作スケジュールを、複数の回路動作期間を連続するように補正するとともに、回路停止期間の電源スイッチ１２のオン・オフを決定する。
【００３８】
具体的には、回路動作スケジュール補正部１４ａは、判定基準時間生成部３１で生成された判定基準時間Ｔｍｉｎを入力して、たとえば、図４で示したように補正した回路動作スケジュールの回路停止期間と、判定基準時間Ｔｍｉｎとを比較する。回路動作スケジュール補正部１４ａは、回路停止期間が判定基準時間Ｔｍｉｎよりも長い場合には、回路１１の電源を遮断した方が消費電力の削減効果が高いと判定し、電源スイッチ１２をオフさせる旨の情報を出力する。逆に、回路停止期間が判定基準時間Ｔｍｉｎ以下の場合、回路動作スケジュール補正部１４ａは、回路１１の電源を遮断するとかえって消費電力が増加すると判定して、電源スイッチ１２をオフさせない旨の情報を出力する。
【００３９】
ステップＳ８：その後、電源スイッチ制御部１５ａは、回路動作スケジュール補正部１４ａでの回路動作スケジュールの補正結果とともに、回路停止期間の電源スイッチ１２をオフするか否かの決定に応じて電源スイッチ１２を制御する。
【００４０】
なお、ステップＳ６の判定基準時間の生成処理は、ステップＳ５の処理の前に行ってもよい。後述するように、判定基準時間の生成処理は、たとえば、独自のタイマによって制御される。
【００４１】
以上のような半導体装置３０によれば、第１の実施の形態の半導体装置１０と同様の効果を有する。さらに半導体装置３０では、回路停止期間における電源復帰期間で損するエネルギーを考慮して判定基準時間を生成し、それをもとに電源スイッチ１２をオフすべきか否か判定するので、電源スイッチ１２をスイッチオフする判断を誤る確率を下げることができる。
【００４２】
なお、半導体装置３０では、回路動作スケジュールの補正によって、１回の回路停止期間を延伸することができるので、回路停止期間に電源スイッチ１２をオフできる機会が増え、さらなる消費電力の削減が可能になる。
【００４３】
（第３の実施形態）
以下、第３の実施の形態として、消費電力を削減可能な半導体装置をより詳細に説明する。
【００４４】
図９は、第３の実施の形態の半導体装置の一例を示す図である。
第３の実施の形態の半導体装置５０は、回路６０，６１，６２，６３と、電源スイッチ７０，７１，７２，７３と、ＰＭＵ（Power Management Unit）８０を有しており、４つの回路６０〜６３に対して独立にオン・オフ制御を可能としている。なお、電源スイッチと回路の数は、４つに限定されるものではない。
【００４５】
ＰＭＵ８０は、回路動作スケジュール保持部８１と、回路動作スケジュール補正部８２と、電源スイッチ制御予定レジスタ８３と、判定基準時間生成部８４と、電源スイッチ制御部８５を有している。
【００４６】
電源スイッチ７０〜７３は、それぞれ電源スイッチ制御部８５から出力される制御信号ｇａ，ｇｂ，ｇｃ，ｇｄによってオン・オフ制御される。また、電源スイッチ７０〜７３は、オン動作が終了したことを通知信号ｅａ，ｅｂ，ｅｃ，ｅｄによってＰＭＵ８０に通知する機能を有している。
【００４７】
回路動作スケジュール保持部８１は、たとえば、外部の図示しないマイコンから回路動作スケジュールの情報を、タスク情報Ｔｓｋとして入力して保持する。
回路動作スケジュール補正部８２は、回路動作スケジュール保持部８１に保持された回路動作スケジュールに対して、たとえば、図４で示したように、複数の回路動作期間を連続するように補正を行う。また、回路動作スケジュール補正部８２は、判定基準時間生成部８４で生成される判定基準時間Ｔｍｉｎを入力して、回路動作スケジュールにおける回路停止期間と判定基準時間Ｔｍｉｎとを比較する。そして、回路動作スケジュール補正部８２は、回路停止期間に電源スイッチ７０〜７３をオフするか否かを決定する。回路動作スケジュール補正部８２は、補正した回路動作スケジュールと、回路停止期間に電源スイッチ７０〜７３をオフするか否か決定した内容をもとに、電源スイッチ７０〜７３をオン・オフ制御する予定時刻データを生成する。そして、回路動作スケジュール補正部８２は、予定時刻データを電源スイッチ制御予定レジスタ８３に保存する。
【００４８】
電源スイッチ制御予定レジスタ８３は、電源スイッチ７０〜７３をオン・オフ制御する予定時刻データを保存し、更に、保持された予定時刻データにしたがって、電源スイッチ制御部８５へ、電源スイッチ７０〜７３のオン・オフ指示信号を供給する。また、電源スイッチ制御予定レジスタ８３は、判定基準時間生成部８４に対しても、上記のオン・オフ指示信号を供給する。
【００４９】
判定基準時間生成部８４は、リーク電流検出器８４ａと、Ｔｏｎ測定部８４ｂと、Ｔｍｉｎ生成器８４ｃを有する。
リーク電流検出器８４ａは、回路６０〜６３におけるリーク電流の発生を模擬した模擬回路を用いて、現在の回路６０〜６３にて回路停止期間に発生するようなリーク電流Ｉｏｆｆを検出する。更に、リーク電流検出器８４ａは、リーク電流Ｉｏｆｆから、前述したエネルギーＥｒとエネルギーＥｍが等しくなる電源遮断期間Ｔｏｆｆ＿ｍｉｎを算出する。
【００５０】
Ｔｏｎ測定部８４ｂは、電源スイッチ制御予定レジスタ８３からオン・オフ指示信号を入力し、電源スイッチ７０〜７３から通知信号ｅａ，ｅｂ，ｅｃ，ｅｄを入力する。そして、オン・オフ指示信号が入力されてから、通知信号ｅａ，ｅｂ，ｅｃ，ｅｄが入力されるまでの時間を、電源復帰期間Ｔｏｎとして出力する。
【００５１】
Ｔｍｉｎ生成器８４ｃは、図８で示したような、エネルギーＥｒとエネルギーＥｍが等しくなる電源遮断期間Ｔｏｆｆ＿ｍｉｎと、電源復帰期間Ｔｏｎを加算したものを、判定基準時間Ｔｍｉｎとして出力する。
【００５２】
電源スイッチ制御部８５は、電源スイッチ制御予定レジスタ８３からのオン・オフ指示信号に応じて、制御信号ｇａ，ｇｂ，ｇｃ，ｇｄを生成し、電源スイッチ７０〜７３をオン・オフ制御する。
【００５３】
なお、電源ＶＤＤは、各電源スイッチ７０〜７３とＰＭＵ８０に接続され、電源電圧Ｖｄｄが供給される。また、基準電源ＶＳＳは、回路６０〜６３とＰＭＵ８０に接続されている。
【００５４】
また、ＰＭＵ８０にはクロック信号ｃｌｋが入力される。ＰＭＵ８０の各部はクロック信号ｃｌｋに同期して動作する。また、ＰＭＵ８０に入力される実動作開始信号ｇｏは、ＰＭＵ８０に、回路動作スケジュールの保持や補正などの実際の回路動作の前段階（準備段階）の処理を行わせるか、実際の回路動作を行わせるか指定するための信号である（詳細は後述する）。実動作開始信号ｇｏは、たとえば、外部の図示しないマイコンから入力される。
【００５５】
以下、半導体装置５０の要部の詳細を説明する。
（リーク電流検出器８４ａの詳細）
まず、判定基準時間Ｔｍｉｎを生成する上で、リーク電流Ｉｏｆｆを考慮する理由を説明する。
【００５６】
図１０は、使用環境が高温時の回路動作に応じた消費電力の一例を示す図である。また、図１１は、使用環境が低温時の回路動作に応じた消費電力の一例を示す図である。図１０、図１１において、上側のグラフが回路停止期間も電源スイッチ７０〜７３をオンした場合の消費電力、下側のグラフが回路停止期間に電源スイッチ７０〜７３をオフした場合の消費電力の様子を示している。横軸は時間、縦軸は消費電力を示している。
【００５７】
リーク電流Ｉｏｆｆは、回路６０〜６３の使用環境（特に温度）によって大きく変動する。たとえば、使用環境が高温の場合にはリーク電流Ｉｏｆｆが多く、図１０の下側に示したように、エネルギーＥｒが大きくなる。そのため、回路停止期間に電源スイッチ７０〜７３をオンしたままにするよりも、オフにしてエネルギーＥｒを消費しないようにした方がよい。一方、使用環境が低温の場合には、リーク電流Ｉｏｆｆは少なく、図１１の下側に示したように、エネルギーＥｒが小さく、損するエネルギーＥｍの方が大きくなる。そのため、回路停止期間に電源スイッチ７０〜７３をオフするよりも、図１１の上側のように、電源スイッチ７０〜７３をオンにしたままにした方がよい。
【００５８】
つまり、判定基準時間Ｔｍｉｎを生成する上では、動作環境によって変化するリーク電流Ｉｏｆｆを考慮することが望ましい。
図１２は、リーク電流検出器の一例を示す図である。
【００５９】
リーク電流検出器８４ａは、タイマ９０と、差動アンプ９１と、カウンタ９２と、容量Ｃｐｄを有する。更に、リーク電流検出器８４ａは、ｐチャネル型ＭＯＳＦＥＴ（Metal-Oxide Semiconductor Field Effect Transistor）（以下ＰＭＯＳトランジスタという）Ｐｃｔ，Ｐｍｄと、ｎチャネル型ＭＯＳＦＥＴ（以下ＮＭＯＳトランジスタという）Ｎｍｄを有する。
【００６０】
容量Ｃｐｄは、回路６０〜６３の電源容量を模擬したものであり、たとえば、実際の電源容量の１／１００程度の容量値が設定される。容量Ｃｐｄは、差動アンプ９１の負入力端子（以下モニタ端子ｐｒｅｍという）と、基準電源ＶＳＳの間に接続されている。
【００６１】
ＮＭＯＳトランジスタＮｍｄとＰＭＯＳトランジスタＰｍｄは、リーク電流Ｉｏｆｆが流れる回路６０〜６３を模擬する模擬回路として機能する。ＮＭＯＳトランジスタＮｍｄとＰＭＯＳトランジスタＰｍｄは、たとえば、実際のリーク電流Ｉｏｆｆの１／１００程度のリーク電流を発生するように設計される。
【００６２】
ＮＭＯＳトランジスタＮｍｄのドレインはモニタ端子ｐｒｅｍに接続され、ソース及びゲートは基準電源ＶＳＳに接続されている。ＰＭＯＳトランジスタＰｍｄのソース及びゲートはモニタ端子ｐｒｅｍに接続され、ドレインは基準電源ＶＳＳに接続されている。
【００６３】
ＰＭＯＳトランジスタＰｃｔは、エネルギーＥｒとエネルギーＥｍが等しくなる電源遮断期間Ｔｏｆｆ＿ｍｉｎを測定するための準備段階として、容量Ｃｐｄを充電（プリチャージ）するためのものである。ＰＭＯＳトランジスタＰｃｔのソースは電源ＶＤＤと接続され、ゲートにはタイマ９０からの信号ｃｎｔが入力される。ドレインはモニタ端子ｐｒｅｍに接続されている。
【００６４】
タイマ９０は、リーク電流値の温度変化などに追従するため、定期的（たとえば、約１秒間に１回の割合）に、１ショットのＬレベルのパルスの信号ｃｎｔを発生し、ＰＭＯＳトランジスタＰｃｔ及びカウンタ９２に対して出力する。
【００６５】
差動アンプ９１は、電源遮断期間Ｔｏｆｆ＿ｍｉｎを測定する際に、ＮＭＯＳトランジスタＮｍｄとＰＭＯＳトランジスタＰｍｄが流すリーク電流によって容量Ｃｐｄが十分に放電（ディスチャージ）されたか否かを検知する。そして、差動アンプ９１は、その結果を信号ｍｏｕｔとしてカウンタ９２に出力する。差動アンプ９１の正入力端子は、基準電源ＶＳＳに接続されている。
【００６６】
カウンタ９２は、タイマ９０からの信号ｃｎｔがＬレベルからＨレベルに遷移してから、信号ｍｏｕｔが反転するまでの時間を測定する。具体的には、カウンタ９２は、クロック信号ｃｌｋを入力し、信号ｃｎｔがＨレベルに遷移してから、信号ｍｏｕｔが反転するまでのクロック数を、エネルギーＥｒ，Ｅｍが等しくなる電源遮断期間Ｔｏｆｆ＿ｍｉｎとして出力する。
【００６７】
図１３は、リーク電流検出器の一例の動作を示すタイミングチャートである。上から、信号ｃｎｔ、モニタ端子ｐｒｅｍの電位、信号ｍｏｕｔの状態を示している。
まず、タイマ９０が、１ショットのＬレベルのパルスの信号ｃｎｔを出力すると、そのパルス期間中にＰＭＯＳトランジスタＰｃｔがオンし、モニタ端子ｐｒｅｍに接続される容量Ｃｐｄが、電源電圧Ｖｄｄまで充電される。これによって、モニタ端子ｐｒｅｍの電位が引き上げられる。その後、信号ｃｎｔがＨレベルに戻ると、ＰＭＯＳトランジスタＰｃｔがオフし、ＰＭＯＳトランジスタＰｍｄ及びＮＭＯＳトランジスタＮｍｄのリーク電流によって容量Ｃｐｄの電荷が放電され始め、モニタ端子ｐｒｅｍの電位が下がり始める。
【００６８】
モニタ端子ｐｒｅｍの電位が所定のレベル（たとえば基準電位）まで下がると、差動アンプ９１がそれを検出して、信号ｍｏｕｔを反転させる。図１３に示すように、高温時ではリーク電流が多く、モニタ端子ｐｒｅｍの電位は速く引き下がり、低温時よりも早く信号ｍｏｕｔが反転する。したがって、高温時の電源遮断期間Ｔｏｆｆ＿ｍｉｎは低温時のものよりも短くなる。
【００６９】
タイマ９０が、再び１ショットのＬレベルのパルスの信号ｃｎｔを出力すると、同様の処理が行われる。
（電源スイッチ７０、Ｔｏｎ測定部８４ｂ及び電源スイッチ制御部８５の詳細）
図１４は、電源スイッチの一例と、その周辺部の詳細を示す図である。
【００７０】
ここでは、回路６０と電源ＶＤＤの間に設けられた電源スイッチ７０の一例を示している。他の電源スイッチ７１〜７３についても同様の回路が用いられる。容量ＣｐＡは、図９では図示を省略していたが、回路６０の電源容量を示している。
【００７１】
電源スイッチ７０は、それぞれスイッチとして機能する複数のＰＭＯＳトランジスタｓｗ１，ｓｗ２，ｓｗ３，ｓｗ４，…，ｓｗｎに分割されている。各ＰＭＯＳトランジスタｓｗ１〜ｓｗｎのゲートへは電源スイッチ制御部８５からの制御信号ｇａが、１または複数の遅延回路９３により遅延されて入力され、ＰＭＯＳトランジスタｓｗ１〜ｓｗｎがオンするタイミングがずれるようになっている。これにより、電源オン時の突入電流（容量ＣｐＡへの充電電流）が一気に流れ込まないように制御される。
【００７２】
図１５は、電源復帰期間の測定例を示すタイミングチャートである。
図１５では、図９で示した電源スイッチ制御予定レジスタ８３からの回路６０のオン・オフ指示信号ｏｒｄｅｒ＿ａと、ＰＭＯＳトランジスタｓｗ１〜ｓｗｎのゲート信号が示されている。
【００７３】
Ｔｏｎ測定部８４ｂにはクロック信号ｃｌｋ（図１５では図示を省略）と、オン・オフ指示信号ｏｒｄｅｒ＿ａが入力される。また電源スイッチ制御部８５にも、オン・オフ指示信号ｏｒｄｅｒ＿ａが入力される。
【００７４】
Ｔｏｎ測定部８４ｂは、図１２で示したようなリーク電流検出器８４ａと同様のカウンタを有し、図１５に示すように回路６０をオンさせる旨のオン・オフ指示信号ｏｒｄｅｒ＿ａが入力されるとカウントを開始する。一方、このとき電源スイッチ制御部８５は、Ｌレベルの制御信号ｇａを出力する。制御信号ｇａは、ＰＭＯＳトランジスタｓｗ１のゲートに入力されるとともに、遅延回路９３により遅延されて各ＰＭＯＳトランジスタｓｗ２〜ｓｗｎのゲートに入力される。これにより、図１４中左側のＰＭＯＳトランジスタｓｗ１〜ｓｗｎから順番にオンされていき、電源ノイズが発生しないように、ゆっくりと容量ＣｐＡが充電されていく。
【００７５】
ＰＭＯＳトランジスタｓｗｎのゲートに入力される信号がＬレベルになると、全てのＰＭＯＳトランジスタｓｗ１〜ｓｗｎがオンすることになり、回路６０の動作が開始される。
【００７６】
また、ＰＭＯＳトランジスタｓｗｎに入力される信号が、通知信号ｅａとしてＴｏｎ測定部８４ｂに入力される。Ｔｏｎ測定部８４ｂは、通知信号ｅａがＬレベルになるとカウントを停止し、カウント結果を、回路６０の電源復帰期間Ｔｏｎ＿ａとして出力する。すなわち、Ｔｏｎ測定部８４ｂは、電源復帰期間Ｔｏｎ＿ａとして、クロック信号ｃｌｋの周期で正規化した値を出力する。
【００７７】
（Ｔｍｉｎ生成器８４ｃの詳細）
図１６は、Ｔｍｉｎ生成器の一例を示す図である。
Ｔｍｉｎ生成器８４ｃは、加算器９４ａ，９４ｂ，９４ｃ，９４ｄを有する。
【００７８】
Ｔｍｉｎ生成器８４ｃは、リーク電流検出器８４ａから電源遮断期間Ｔｏｆｆ＿ｍｉｎを入力し、Ｔｏｎ測定部８４ｂから各回路６０〜６３の電源復帰期間Ｔｏｎ＿ａ，Ｔｏｎ＿ｂ，Ｔｏｎ＿ｃ，Ｔｏｎ＿ｄを入力する。
【００７９】
加算器９４ａは、電源遮断期間Ｔｏｆｆ＿ｍｉｎと、回路６０の電源復帰期間Ｔｏｎ＿ａを加算して、判定基準時間Ｔｍｉｎ＿ａを出力する。加算器９４ｂは、電源遮断期間Ｔｏｆｆ＿ｍｉｎと、回路６１の電源復帰期間Ｔｏｎ＿ｂを加算して、判定基準時間Ｔｍｉｎ＿ｂを出力する。加算器９４ｃは、電源遮断期間Ｔｏｆｆ＿ｍｉｎと、回路６２の電源復帰期間Ｔｏｎ＿ｃを加算して、判定基準時間Ｔｍｉｎ＿ｃを出力する。加算器９４ｄは、電源遮断期間Ｔｏｆｆ＿ｍｉｎと、回路６３の電源復帰期間Ｔｏｎ＿ｄを加算して、判定基準時間Ｔｍｉｎ＿ｄを出力する。
【００８０】
以上のようにして、Ｔｍｉｎ生成器８４ｃは、図８で示したような判定基準時間Ｔｍｉｎを、各回路６０〜６３ごとに生成する。
（回路動作スケジュール保持部８１の詳細）
図１７は、回路動作スケジュール保持部の一例を示す図である。
【００８１】
回路動作スケジュール保持部８１は、回路６０〜６３の回路動作スケジュールを保持するタスクレジスタ群ｒｇ１，ｒｇ２，ｒｇ３，ｒｇ４を有している。たとえば、タスクレジスタ群ｒｇ１は回路６０用として用いられ、タスクレジスタ群ｒｇ２は回路６１用として用いられ、タスクレジスタ群ｒｇ３は回路６２用として用いられ、タスクレジスタ群ｒｇ４は回路６３用として用いられる。
【００８２】
各タスクレジスタ群ｒｇ１〜ｒｇ４は、タスクＮ１，Ｎ２，Ｎ３，…，Ｎｎの開始可能時刻ＴＳ１〜ＴＳｎ、処理時間ＴＤ１〜ＴＤｎ、終了期限時刻ＴＣ１〜ＴＣｎを保持する。
【００８３】
図１８は、回路動作スケジュール保持部の動作の一例を示すタイミングチャートである。
回路動作スケジュール保持部８１は、実動作開始信号ｇｏがＬレベルである期間に、タスク情報Ｔｓｋを、たとえば、外部の図示しないマイコンより受信する。このとき、１クロックごとに１番目のタスクＮ１から順にタスク情報Ｔｓｋとして、開始可能時刻ＴＳ１〜ＴＳｎ、処理時間ＴＤ１〜ＴＤｎ、終了期限時刻ＴＣ１〜ＴＣｎが受信される。回路６０用のタスク情報Ｔｓｋの受信が終わると、続いて、回路６１，６２，６３用のタスク情報Ｔｓｋが同様に受信される。受信された各タスク情報Ｔｓｋは、順々に対応するタスクレジスタ群ｒｇ１〜ｒｇ４のレジスタに保持される。実動作開始信号ｇｏがＨレベルになると、回路動作スケジュール保持部８１は、タスク情報Ｔｓｋの受信を停止し、タスクレジスタ群ｒｇ１〜ｒｇ４の情報を保持する。
【００８４】
（電源スイッチ制御予定レジスタ８３の詳細）
図１９は、電源スイッチ制御予定レジスタの一例を示す図である。
電源スイッチ制御予定レジスタ８３は、レジスタ群ｓｒｇ１，ｓｒｇ２，ｓｒｇ３，ｓｒｇ４と、リアルタイムカウンタ９５と、データ比較器９６ａ，９６ｂ，９６ｃ，９６ｄを有している。
【００８５】
レジスタ群ｓｒｇ１は、回路動作スケジュール補正部８２から出力される電源スイッチ７０のスイッチオン・オフの予定時刻データｐｌｎ＿ａに含まれる時刻値を保持する。レジスタ群ｓｒｇ２は、電源スイッチ７１のスイッチオン・オフの予定時刻データｐｌｎ＿ｂに含まれる時刻値を保持する。レジスタ群ｓｒｇ３は、電源スイッチ７２のスイッチオン・オフの予定時刻データｐｌｎ＿ｃに含まれる時刻値を保持する。レジスタ群ｓｒｇ４は、電源スイッチ７３のスイッチオン・オフの予定時刻データｐｌｎ＿ｄに含まれる時刻値を保持する。
【００８６】
レジスタ群ｓｒｇ１〜ｓｒｇ４への、予定時刻データｐｌｎ＿ａ，ｐｌｎ＿ｂ，ｐｌｎ＿ｃ，ｐｌｎ＿ｄの格納は、実際の回路動作の前段階である実動作開始信号ｇｏがＬレベルの際に行われる。
【００８７】
リアルタイムカウンタ９５は、実動作開始信号ｇｏがＨレベルになると、クロック信号ｃｌｋのカウントを介して、カウント値ｃｏｕｎｔをデータ比較器９６ａ，９６ｂ，９６ｃ，９６ｄに入力する。
【００８８】
データ比較器９６ａ，９６ｂ，９６ｃ，９６ｄは、各レジスタ群ｓｒｇ１〜ｓｒｇ４のレジスタＲＡ１，ＲＡ２，ＲＡ３，…，ＲＡｎに保持されているスイッチオン・オフの時刻値と、カウント値ｃｏｕｎｔとを比較する。両者が一致した場合に、データ比較器９６ａ，９６ｂ，９６ｃ，９６ｄは、オン・オフ指示信号ｏｒｄｅｒ＿ａ，ｏｒｄｅｒ＿ｂ，ｏｒｄｅｒ＿ｃ，ｏｒｄｅｒ＿ｄを反転させる。つまり、データ比較器９６ａ，９６ｂ，９６ｃ，９６ｄは、電源スイッチ７０〜７３の前の状態がオフ状態であればオンさせるように指示し、前の状態がオン状態であればオフさせるように指示する。
【００８９】
図２０は、電源スイッチ制御予定レジスタの一例の動作の様子を示すタイミングチャートである。
図２０では、クロック信号ｃｌｋ、実動作開始信号ｇｏ、カウント値ｃｏｕｎｔ、データ比較器９６ａから出力されるオン・オフ指示信号ｏｒｄｅｒ＿ａの様子が示されている。実動作開始信号ｇｏがＬレベルのときには、リアルタイムカウンタ９５は停止しており、カウント値ｃｏｕｎｔは０のままである。このとき、レジスタ群ｓｒｇ１〜ｓｒｇ４への、予定時刻データｐｌｎ＿ａ，ｐｌｎ＿ｂ，ｐｌｎ＿ｃ，ｐｌｎ＿ｄの格納が行われる。
【００９０】
実動作開始信号ｇｏがＨレベルになると、リアルタイムカウンタ９５は動作を開始し、カウント値ｃｏｕｎｔは、クロック信号ｃｌｋに同期してインクリメントされる。カウント値ｃｏｕｎｔが、たとえば、レジスタ群ｓｒｇ１のレジスタＲＡ１〜ＲＡｎの何れかの値に達した場合には、データ比較器９６ａは、オン・オフ指示信号ｏｒｄｅｒ＿ａを反転する。図２０の例は、カウント値ｃｏｕｎｔがレジスタＲＡ１，ＲＡ２，ＲＡ３の値に達した場合、オン・オフ指示信号ｏｒｄｅｒ＿ａは、オフを指示する状態からオンを指示する状態、またはオフを指示する状態からオンを指示する状態へ反転している。また、実動作開始信号ｇｏがＬレベルになると、リアルタイムカウンタ９５はリセットされ、また、オン・オフ指示信号ｏｒｄｅｒ＿ａはオフを指示する状態となる。
【００９１】
このようにして、電源スイッチ制御予定レジスタ８３に格納された時刻値にしたがって、電源スイッチ制御部８５では、実際の電源スイッチ７０〜７３のオン・オフ動作が行われる。
【００９２】
（回路動作スケジュール補正部８２の詳細）
以下に、回路動作スケジュール保持部８１に保持されたタスク情報Ｔｓｋによる回路動作スケジュールの一例を示す。
【００９３】
図２１は、回路動作スケジュールの一例を示す図である。
横軸は時間である。図２１では、各回路６０〜６３においてタスクＮ１〜Ｎ４を実行する場合の回路動作スケジュールが示されている。図２１中で斜線部は、予定された回路停止期間を示している。
【００９４】
短い回路停止期間が多い場合、電源スイッチ７０〜７３をオフするための基準である判定基準時間Ｔｍｉｎを上回らず、電源スイッチ７０〜７３をオフできる機会が少なくなる可能性がある。
【００９５】
そのため、回路動作スケジュール補正部８２は、図４で示したように複数のタスクを連続するように回路動作期間の開始時刻と終了時刻を補正する。これにより、回路停止期間が延伸する。前述したように開始時刻と終了時刻を補正する際には、制約がある。すなわち、タスク情報Ｔｓｋで受信されるタスクの開始可能時刻ＴＳ１〜ＴＳｎと終了期限時刻ＴＣ１〜ＴＣｎの間に処理を開始し、データ処理を行い、処理を終了するという制約である。この制約の範囲内で、回路動作スケジュールの補正が行われる。
【００９６】
図２２は、回路スケジュール補正の例と、予定時刻データの一例を示す図である。
横軸は時間である。図２２の上側には、回路動作スケジュール補正の例が示されている。回路動作スケジュール補正部８２は、奇数番目のタスクＮ３，Ｎ５の開始時刻と終了時刻を遅くして、偶数番目のタスクＮ４，Ｎ６と連続してデータ処理が行われるように補正している。
【００９７】
このように補正された回路動作スケジュールをもとに、回路動作スケジュール補正部８２は、各回路停止期間と、判定基準時間Ｔｍｉｎとを比較する。そして、回路動作スケジュール補正部８２は、判定基準時間Ｔｍｉｎよりも長い回路停止期間の際には、電源スイッチ７０〜７３をオフさせる旨の予定時刻データｐｌｎ＿ａ，ｐｌｎ＿ｂ，ｐｌｎ＿ｃ，ｐｌｎ＿ｄを生成する。回路動作スケジュール補正部８２は、判定基準時間Ｔｍｉｎよりも短い回路停止期間の際には、電源スイッチ７０〜７３をオンさせたままにする予定時刻データｐｌｎ＿ａ，ｐｌｎ＿ｂ，ｐｌｎ＿ｃ，ｐｌｎ＿ｄを生成する。
【００９８】
図２２の下側に示す例では、回路６０に対する予定時刻データｐｌｎ＿ａが示されている。図２２に示す例では、回路停止期間Ｔｓｐ２＋Ｔｓｐ３は、判定基準時間Ｔｍｉｎよりも長いと判断され、電源スイッチ７０をオフさせる旨の予定時刻データｐｌｎ＿ａが生成されている。一方、回路停止期間Ｔｓｐ４＋Ｔｓｐ５は、判定基準時間Ｔｍｉｎよりも短いと判断され、電源スイッチ７０をオンさせたままにする予定時刻データｐｌｎ＿ａが生成されている。
【００９９】
なお、回路動作スケジュール補正部８２は、電源スイッチ７０のオフ状態からオン状態に復帰する際には、各タスクの開始時刻より電源復帰期間Ｔｏｎ＿ａ分早く、電源スイッチ７０をオンするようにスケジューリングする。こうすることによって、たとえば、図２２中の２番目のタスクＮ２の意図した開始時間から遅延することなく、タスクＮ２のデータ処理をスムーズに開始することができる。
【０１００】
図２３は、４つの回路における回路動作スケジュールの補正例と予定時刻データの一例を示す図である。
横軸は時間である。図２３の上側では、回路６０〜６３における回路動作スケジュールの補正例が示されている。タスクＮ１，Ｎ２と、タスクＮ３，Ｎ４がそれぞれ連続して行われるように補正された例が示されている。図２３の下側では、予定時刻データｐｌｎ＿ａ，ｐｌｎ＿ｂ，ｐｌｎ＿ｃ，ｐｌｎ＿ｄの一例が示されている。前述したように、オフ状態からオン状態に復帰する際には、電源復帰期間Ｔｏｎ＿ａ，Ｔｏｎ＿ｂ，Ｔｏｎ＿ｃ，Ｔｏｎ＿ｄ分だけ早く、電源スイッチ７０〜７３がオンするようにスケジューリングされている。
【０１０１】
タスクＮ２とタスクＮ３の間を回路停止期間Ｔｓｐａ，Ｔｓｐｂ，Ｔｓｐｃ，Ｔｓｐｄとした場合、回路動作スケジュール補正部８２は、これらと、回路６０〜６３における判定基準時間Ｔｍｉｎ＿ａ，Ｔｍｉｎ＿ｂ，Ｔｍｉｎ＿ｃ，Ｔｍｉｎ＿ｄとを比較する。
【０１０２】
図２３の例では、Ｔｓｐａ＞Ｔｍｉｎ＿ａ、Ｔｓｐｂ＞Ｔｍｉｎ＿ｂ、Ｔｓｐｃ＞Ｔｍｉｎ＿ｃ、Ｔｓｐｄ＞Ｔｍｉｎ＿ｄであった場合について示されている。この場合、回路動作スケジュール補正部８２は、回路６０の回路停止期間Ｔｓｐａで、回路６０の電源供給をオフさせる旨の予定時刻データｐｌｎ＿ａを出力する。また、回路動作スケジュール補正部８２は、回路６１，６３の回路停止期間Ｔｓｐｂ，Ｔｓｐｄで、回路６１，６３の電源供給をオフさせる旨の予定時刻データｐｌｎ＿ｂ，ｐｌｎ＿ｄを出力する。一方、回路動作スケジュール補正部８２は、回路６２の回路停止期間Ｔｓｐｃでは、回路６２の電源供給をオンさせたままにする予定時刻データｐｌｎ＿ｃを出力する。
【０１０３】
図２４は、回路６０に関して回路動作スケジュールを補正する場合の回路動作スケジュール補正部の入出力データの一例を示す図である。
回路動作スケジュール補正部８２は、図１７で示したようなタスクレジスタ群ｒｇ１に格納された各タスクＮ１〜Ｎｎの、開始可能時刻ＴＳ１〜ＴＳｎ、処理時間ＴＤ１〜ＴＤｎ、終了期限時刻ＴＣ１〜ＴＣｎを入力する。そして、回路動作スケジュール補正部８２は、たとえば、奇数番目のタスクＮ１，Ｎ３の終了時刻が、次のタスクＮ２，Ｎ４の開始時刻と連続するように、タスクＮ１，Ｎ３の開始時刻を遅らせる。
【０１０４】
タスクにおけるデータ処理の開始時刻は、ｍ番目（ｍは奇数）のタスクであれば、ＴＣｍ−ＴＤｍとなる。また、補正の結果、１回当たりの回路停止期間は延伸し、たとえば、図２４に示すように、タスクＮ２の終了時刻から、タスクＮ３の開始時刻までに発生する回路停止期間Ｔｓｐａは、Ｔｓｐａ＝ＴＣ３−ＴＤ３−ＴＳ２−ＴＤ２となる。
【０１０５】
この回路停止期間Ｔｓｐａに対して、電源スイッチ７０をオフするかどうかは判定基準時間Ｔｍｉｎ＿ａとの比較結果に応じて決められる。図２４に示すようにＴｓｐａ＞Ｔｍｉｎ＿ａの場合には、回路動作スケジュール補正部８２によって、電源スイッチ７０をオフするようにスケジューリングされる。
【０１０６】
更に、回路動作スケジュール補正部８２は、回路６０の電源復帰期間Ｔｏｎ＿ａを考慮した予定時刻データｐｌｎ＿ａを電源スイッチ制御予定レジスタ８３に保存する。
図２４に示す例の場合、回路動作スケジュール補正部８２は、タスクＮ１を実行するために回路６０をオンする時刻として、ＴＣ１−ＴＤ１−Ｔｏｎ＿ａを、図１９に示したような電源スイッチ制御予定レジスタ８３のレジスタＲＡ１に保存する。また、回路動作スケジュール補正部８２は、タスクＮ２を終了して回路６０をオフする時刻として、ＴＳ２＋ＴＤ２を、電源スイッチ制御予定レジスタ８３のレジスタＲＡ２に保存する。また、回路動作スケジュール補正部８２は、タスクＮ３を実行するために回路６０をオンする時刻として、ＴＣ３−ＴＤ３−Ｔｏｎ＿ａを、電源スイッチ制御予定レジスタ８３のレジスタＲＡ３に保存する。また、回路動作スケジュール補正部８２は、タスクＮ４を終了して回路６０をオフする時刻として、ＴＳ４＋ＴＤ４を、電源スイッチ制御予定レジスタ８３のレジスタＲＡ４に保存する。
【０１０７】
なお、上記の説明では、奇数番目のタスクの開始時刻を遅らせるとしたが、偶数番目のタスクを奇数番目のタスクと連続して実行するように開始時刻や終了時刻の補正を行ってもよい。
【０１０８】
以下、本実施の形態の半導体装置５０におけるＰＭＵ８０全体の動作を簡単に説明する。
図２５は、ＰＭＵの動作の一例を示す図である。
【０１０９】
横軸は時間である。図２５中で、斜線の期間１００は、準備段階の動作を行う期間であり、前述の実動作開始信号ｇｏがＬレベルの期間である。この期間１００では、タスク情報Ｔｓｋの受信や、回路動作スケジュール補正部８２でのスケジューリングなどが行われる。斜線の期間１００の間の期間１０１は、実際の回路動作を行う期間であり、実動作開始信号ｇｏがＨレベルの期間である。この期間１０１では、スケジューリングされた回路動作スケジュールにしたがって、電源スイッチ７０〜７３がオン・オフ動作し、回路６０〜６３により各タスクの処理が行われる。なお、期間１００，１０１とも、ＰＭＵ８０は、クロック信号ｃｌｋに同期して動作している。
【０１１０】
図２６は、ＰＭＵの動作の一例をまとめたフローチャートである。
ステップＳ１０：回路動作スケジュール保持部８１は、タスク情報Ｔｓｋを受信してレジスタに格納する。
【０１１１】
ステップＳ１１：判定基準時間生成部８４は、エネルギーＥｒ，Ｅｍが等しくなる電源遮断期間Ｔｏｆｆ＿ｍｉｎの算出結果と電源復帰期間Ｔｏｎとを加算して判定基準時間Ｔｍｉｎを生成する。ステップＳ１１の処理は、リーク電流検出器８４ａのタイマ９０により独立に制御され、判定基準時間Ｔｍｉｎが更新されていく。
【０１１２】
ステップＳ１２：回路動作スケジュール補正部８２は、タスク情報Ｔｓｋによる回路動作スケジュールを補正する。そして、回路動作スケジュール補正部８２は、判定基準時間Ｔｍｉｎと補正した回路動作スケジュールの電源遮断期間との比較結果に応じて、電源スイッチ７０〜７３をオン・オフする予定時刻データを生成する。生成された予定時刻データは、図１９に示したような電源スイッチ制御予定レジスタ８３に保存される。
【０１１３】
ステップＳ１３：電源スイッチ制御予定レジスタ８３は、実動作開始信号ｇｏがＨレベルであるか否か判定する。ここで、実動作開始信号ｇｏがＬレベルの場合には、ステップＳ１０からの処理が繰り返される。
【０１１４】
ステップＳ１４：実動作開始信号ｇｏがＨレベルになると、電源スイッチ制御予定レジスタ８３は、リアルタイムカウンタ９５を動作させ、レジスタに保持された予定時刻データにしたがって、オン・オフ指示信号を電源スイッチ制御部８５に送信する。電源スイッチ制御部８５は、オン・オフ指示信号にしたがって、制御信号ｇａ，ｇｂ，ｇｃ，ｇｄにより、電源スイッチ７０〜７３をオンまたはオフする。
【０１１５】
ステップＳ１５：電源スイッチ制御予定レジスタ８３は、実動作開始信号ｇｏがＨレベルであるか否か判定する。ここで、実動作開始信号ｇｏがＨレベルのままである場合には、ステップＳ１４の処理が引き続き実行される。実動作開始信号ｇｏがＬレベルとなると、リアルタイムカウンタ９５の動作が停止し、再びステップＳ１０からの処理が繰り返される。
【０１１６】
以上説明したように、本実施の形態の半導体装置５０によれば、複数のタスク間で回路動作期間を連続させることによって、電源スイッチ７０〜７３の動作回数を減らしエネルギー損失を減らすことができ、消費電力を削減できる。また、１回当たりの回路停止期間を延伸するように制御できるため、各々の回路停止期間において電源スイッチ７０〜７３をスイッチオフできる機会が増し、さらなる低消費電力化が可能となる。
【０１１７】
また、回路停止期間において電源スイッチ７０〜７３をスイッチオフするか否かの判定基準時間Ｔｍｉｎを生成する際に、電源復帰期間Ｔｏｎを考慮することによって、電源スイッチ７０〜７３をスイッチオフする判断を誤る確率を下げることができる。
【０１１８】
以上説明してきた半導体装置５０では、回路動作スケジュール（タスク情報）を、半導体装置５０の外部から受信するとしたが、内部の回路によって生成したものを用いるようにしてもよい。
【０１１９】
以下そのような半導体装置を、第４の実施の形態として説明する。
（第４の実施の形態）
図２７は、第４の実施の形態の半導体装置の一例を示す図である。
【０１２０】
第４の実施の形態の半導体装置５０ａは、図９で示した半導体装置５０と異なり、半導体装置５０ａの内部の回路６０ａが、タスク情報Ｔｓｋや実動作開始信号ｇｏを生成する。本実施の形態では、たとえば、回路６０ａがマスタ、回路６１〜６３がスレーブとして機能する。
【０１２１】
以下、回路６０ａによるタスク生成処理を説明する。
図２８は、タスク生成処理の流れを示すフローチャートである。
ステップＳ２０：回路６０ａは、ユーザインタフェース（ユーザＩ／Ｆ）を介して、データ処理要求情報を受信する。
【０１２２】
ステップＳ２１：回路６０ａは、受信したデータ処理要求情報をもとに、タスク分割処理を行う。ここでは、回路６０ａは、各タスクに前述した開始可能時刻と、終了期限時刻を設け、スレーブの回路６１〜６３におけるデータ処理能力を考慮して各タスクの処理時間を算出する。
【０１２３】
ステップＳ２２：回路６０ａは、タスク分割処理の結果に応じて、タスク列を生成する。
図２９は、生成したタスク列の一例を示す図である。
【０１２４】
回路６０ａは、各回路６０ａ，６１〜６３ごとのタスク列１１０，１１１，１１２，１１３を生成する。各タスク列１１０〜１１３には、タスクＮ１〜Ｎ３の開始可能時刻ＴＳ１〜ＴＳ３、処理時間ＴＤ１〜ＴＤ３、終了期限時刻ＴＣ１〜ＴＣ３が含まれる。
【０１２５】
ステップＳ２３：回路６０ａは、Ｌレベルの実動作開始信号ｇｏを発行するとともに、図２９に示したようなタスク列１１０〜１１３を、タスク情報Ｔｓｋとし回路動作スケジュール保持部８１に転送する。
【０１２６】
このような第４の実施の形態の半導体装置５０ａによれば、前述の第１乃至第３の半導体装置１０，３０，５０と同様の効果を得られるとともに、半導体装置５０ａの外部にタスク情報Ｔｓｋの生成のためのマイコンなどを設けなくてもよくなる。
【０１２７】
以上、実施の形態に基づき、本発明の半導体装置及び半導体装置の制御方法の一観点について説明してきたが、これらは一例にすぎず、上記の記載に限定されるものではない。
以上説明した複数の実施の形態に関し、更に以下の付記を開示する。
【０１２８】
（付記１）  回路へ電源を供給するか否かを切り替える電源スイッチと、
回路動作スケジュールを入力し、複数の回路動作期間を連続するように、前記回路動作期間の開始時刻または終了時刻を補正する回路動作スケジュール補正部と、
補正された前記回路動作スケジュールにしたがって、前記電源スイッチをオンまたはオフする電源スイッチ制御部と、
を有することを特徴とする半導体装置。
【０１２９】
（付記２）  前記回路動作スケジュール補正部は、前記回路動作期間が、定められた開始可能時刻から終了期限時刻までに含まれるように前記開始時刻または前記終了時刻を補正することを特徴とする付記１記載の半導体装置。
【０１３０】
（付記３）  前記電源スイッチをオフすることによる電源遮断期間のエネルギー利得と、電源復帰期間のエネルギー損失が等しくなる基準回路停止期間を、前記電源スイッチをオフするか否かの判定基準時間として出力する判定基準時間生成部を有し、
前記回路動作スケジュール補正部は、前記判定基準時間と、補正された前記回路動作スケジュールの回路停止期間との比較結果に応じて、前記回路停止期間に前記電源スイッチをオフするか否かを決定することを特徴とする付記１または２記載の半導体装置。
【０１３１】
（付記４）  前記判定基準時間生成部は、前記回路におけるリーク電流の発生を模擬する模擬回路を用いて、前記リーク電流に応じた前記判定基準時間を生成することを特徴とする付記３記載の半導体装置。
【０１３２】
（付記５）  前記回路動作スケジュール補正部は、前記開始時刻より前記回路の電源復帰期間分早く前記電源スイッチのオン動作を開始させるように前記回路動作スケジュールを補正することを特徴とする付記１乃至４の何れか一項に記載の半導体装置。
【０１３３】
（付記６）  前記判定基準時間生成部は、タイマを有し、前記判定基準時間を定期的に更新することを特徴とする付記３乃至５の何れか一項に記載の半導体装置。
（付記７）  前記回路動作スケジュールを生成する回路を更に有することを特徴とする付記１乃至６の何れか一項に記載の半導体装置。
【０１３４】
（付記８）  回路動作スケジュール補正部が、回路動作スケジュールを入力し、複数の回路動作期間を連続するように、前記回路動作期間の開始時刻または終了時刻を補正し、
電源スイッチ制御部が、補正された前記回路動作スケジュールにしたがって、回路へ電源を供給するか否かを切り替える電源スイッチをオンまたはオフすることを特徴とする半導体装置の制御方法。
【０１３５】
（付記９）  判定基準時間生成部が、前記電源スイッチをオフすることによる電源遮断期間のエネルギー利得と、電源復帰期間のエネルギー損失が等しくなる基準回路停止期間を、前記電源スイッチをオフするか否かの判定基準時間として出力し、
前記回路動作スケジュール補正部は、前記判定基準時間と、補正された前記回路動作スケジュールの回路停止期間との比較結果に応じて、前記回路停止期間に前記電源スイッチをオフするか否かを決定することを特徴とする付記８記載の半導体装置の制御方法。
【符号の説明】
【０１３６】
１０  半導体装置
１１  回路
１２  電源スイッチ
１３  回路動作スケジュール保持部
１４  回路動作スケジュール補正部
１５  電源スイッチ制御部
【図１】
0005672793.tif 000002
【図２】
0005672793.tif 000003
【図３】
0005672793.tif 000004
【図４】
0005672793.tif 000005
【図５】
0005672793.tif 000006
【図６】
0005672793.tif 000007
【図７】
0005672793.tif 000008
【図８】
0005672793.tif 000009
【図９】
0005672793.tif 000010
【図１０】
0005672793.tif 000011
【図１１】
0005672793.tif 000012
【図１２】
0005672793.tif 000013
【図１３】
0005672793.tif 000014
【図１４】
0005672793.tif 000015
【図１５】
0005672793.tif 000016
【図１６】
0005672793.tif 000017
【図１７】
0005672793.tif 000018
【図１８】
0005672793.tif 000019
【図１９】
0005672793.tif 000020
【図２０】
0005672793.tif 000021
【図２１】
0005672793.tif 000022
【図２２】
0005672793.tif 000023
【図２３】
0005672793.tif 000024
【図２４】
0005672793.tif 000025
【図２５】
0005672793.tif 000026
【図２６】
0005672793.tif 000027
【図２７】
0005672793.tif 000028
【図２８】
0005672793.tif 000029
【図２９】
0005672793.tif 000030