(57)【要約】【課題】CPUの動作に支障を来すこと無く、消費電力を削減することが可能な半導体集積回路を提供する。【解決手段】CPU１０と別に設けられた電源制御回路４０は、半導体チップ１上に設けられたCPU１０からの信号（例えばアイドル信号Ｓｉ）を検出する。電源制御回路４０は、この信号に応じて、CPU１０に対してスイッチ素子３０＿１を制御して電源電圧Ｖｐの供給を制御する。この制御により、ＣＰＵ１０の動作に支障をきたすことなく、効率よく電源制御が行える。【選択図】図１
2010057160.tif 000002
【特許請求の範囲】
【請求項１】
接続される対象に対して電源電圧を供給するか否かを制御する第１のスイッチと、
前記第１のスイッチに接続され、前記第１のスイッチを介して供給される前記電源電圧に基づいて所定の命令を実行する機能マクロと、
前記機能マクロとは別に設けられ、所定の命令を実行すると共に第１の信号を出力するCPUと、
前記CPUとは別に設けられ、前記第１の信号に応答して前記第１のスイッチを制御する電源制御回路と、
を有することを特徴とする半導体集積回路。
【請求項２】
前記第１のスイッチとは別に設けられ、接続される対象に対して前記電源電圧を供給するか否かを制御する第２のスイッチをさらに有し、
前記ＣＰＵは前記第２のスイッチに接続され、前記第２のスイッチを介して供給される前記電源電圧に基づいて所定の命令を実行し、
前記機能マクロは第２の信号を出力し、
前記電源制御回路は前記第２の信号に応答して前記第２のスイッチを制御することを特徴とする請求項１に記載の半導体集積回路。
【請求項３】
前記電源制御回路は、前記第１の信号に応答して前記第２のスイッチを制御することを特徴とする請求項２に記載の半導体集積回路。
【請求項４】
前記電源制御回路は、前記第２の信号に応答して前記第１のスイッチを制御することを特徴とする請求項３に記載の半導体集積回路。
【請求項５】
前記第１の信号は、前記ＣＰＵが前記機能マクロに対してリセットをかけることを要求するリセット実行要求信号であり、
前記電源制御回路は、前記リセット実行要求信号に応答して前記第１のスイッチを制御することを特徴とする請求項２に記載の半導体集積回路。
【請求項６】
前記電源制御回路は、前記リセット実行要求信号に応答して、前記機能マクロに前記電源電圧が供給されないよう前記第１のスイッチを制御することを特徴とする請求項５に記載の半導体集積回路。
【請求項７】
前記第１の信号は、前記ＣＰＵが前記機能マクロに対してリセットを解除することを要求するリセット解除要求信号であり、
前記電源制御回路は、前記リセット解除要求信号に応答して、前記第１のスイッチを制御することを特徴とする請求項２に記載の半導体集積回路。
【請求項８】
前記電源制御回路は、前記リセット解除要求信号に応答して、前記機能マクロに前記電源電圧が供給されるよう前記第１のスイッチを制御することを特徴とする請求項７に記載の半導体集積回路。
【請求項９】
前記第１の信号は前記ＣＰＵが実行すべき命令がない場合に出力する第１のアイドル信号であって、
前記電源制御回路は、前記第１のアイドル信号に応答して前記ＣＰＵに前記電源電圧が供給されないよう前記第２のスイッチを制御することを特徴とする請求項２に記載の半導体集積回路。
【請求項１０】
前記ＣＰＵが前記第１のアイドル信号を出力する場合、前記機能マクロは前記電源電圧が供給されておらず、
前記電源制御回路は、前記第１のアイドル信号に応答して、前記機能マクロに前記電源電圧が供給されるよう、前記第１のスイッチを制御することを特徴とする請求項９に記載の半導体集積回路。
【請求項１１】
前記第２の信号は前記機能マクロが実行すべき命令がない場合に出力する第２のアイドル信号であって、
前記電源制御回路は、前記第２のアイドル信号に応答して前記機能マクロに前記電源電圧が供給されないよう前記第１のスイッチを制御することを特徴とする請求項２に記載の半導体集積回路。
【請求項１２】
前記機能マクロが前記第２のアイドル信号を出力する場合、前記ＣＰＵは前記電源電圧が供給されておらず、
前記電源制御回路は、前記第２のアイドル信号に応答して、前記ＣＰＵに前記電源電圧が供給されるよう、前記第２のスイッチを制御することを特徴とする請求項１１に記載の半導体集積回路。
【請求項１３】
前記第１および第２のスイッチとは別に設けられ、接続される対象に対して電源電圧を供給するか否か制御する第３のスイッチをさらに有し、
前記第２のスイッチは前記CPUに含まれ所定の処理を実行する第１の処理部に接続され、前記第３のスイッチは前記CPUに含まれ所定の処理を実行すると共に、前記第１の処理部とは別である第２の処理部に接続され、
前記電源制御回路は、前記第１のアイドル信号に応答して、前記第１の処理部および前記第２の処理部のそれぞれに前記電源電圧が供給されないよう、予め定められた順番で前記第２および第３のスイッチを制御することを特徴とする請求項９に記載の半導体集積回路。
【請求項１４】
前記電源制御回路は、
前記第１のアイドル信号に応答して、前記第１の処理部に前記電源電圧が供給されないよう前記第２のスイッチを制御してから予め定められた時間が経過した後に、前記第２の処理部に電源が供給されないよう前記第３のスイッチを制御することを特徴とする請求項１３に記載の半導体集積回路。
【請求項１５】
前記CPUは前記機能マクロが前記第２のアイドル信号を出力する場合には前記電源電圧が供給されておらず、
前記電源制御回路は、前記第２のアイドル信号に応答して、前記第１の処理部および前記第２の処理部のそれぞれに前記電源電圧が供給されるよう、予め定められた順番で前記第２および第３のスイッチを制御することを特徴とする請求項１３に記載の半導体集積回路。
【請求項１６】
前記電源制御回路は、
前記第２のアイドル信号に応答して、前記第１の処理部に前記電源電圧が供給されるよう前記第２のスイッチを制御してから予め定められた時間が経過した後に、前記第２の処理部に電源が供給されるよう前記第３のスイッチを制御することを特徴とする請求項１５に記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路に関し、特に機能ブロックの消費電力を削減する半導体集積回路に関する。
【背景技術】
【０００２】
電源制御の関連技術が、特許文献１に記載されている。
【０００３】
特許文献１に記載される消費電力制御回路は、大略、機能マクロの内部状態に応じて、当該機能マクロへの電源供給の停止又は供給電圧の変更を制御する。具体的には、消費電力制御回路は、機能マクロからその内部状態を示す信号を受信すると共に、当該信号がアイドル状態を呈する場合に当該機能マクロへの電源供給を停止し、当該信号がメモリアクセス状態等を呈する場合には当該機能マクロへ供給する電圧を所定の電圧値に設定する。
【０００４】
これにより、機能マクロの動作性能を必要十分に確保しつつ消費電力を低減することが可能となる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−１９２２９６号公報
【特許文献２】特開２００６−２３７１８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記の特許文献１では、内部状態監視部が機能マクロの内部状態を常に監視し、機能マクロが係る内部状態になった場合にどのような制御を行うかを記憶したレジスタの内容と、監視している機能マクロの内部状態を比較する必要がある。この特許文献１においては、係る監視および電源の制御が内部状態監視部等の所定の機能ブロックにより実現されることが記載されているものの、実際の半導体集積回路においては具体的にどのように実現されるのかについて全く記載がない。特許文献１の記載を鑑みると、係る制御を実際の半導体集積回路において行う場合にはソフトウェアによって実現されると考えられる。そうすると、具体的には、機能マクロの監視をCPU（Central Processing Unit）が行うことが考えられる。すなわち、CPUは、機能マクロの内部状態と、機能マクロが一の内部状態になったときにどのような制御を行うかと、を知るために、機能マクロの内部状態および制御の内容が格納されているレジスタの値を定期的に読み込んで比較する必要がある。しかしながら、この処理を行うためには、CPUに対して定期的に割り込み信号を入力する必要がある。CPUは他の処理も行っているため、割り込み信号が入力されるたびに本来行うべき処理が中断されることになる。このような状況になると、CPUが本来行うべき処理を完了するためにより多くの時間が必要となり、電力の消費量も増大してしまう。結果として、上記した特許文献１の技術では、具体的に半導体集積回路において電源の制御を行う場合に効率よく電源の制御が行えないという解決すべき技術的な課題があった。
【０００７】
なお、参考例として、特許文献２には、機能マクロが、自身で管理する電源状態に基づいて、電源制御回路から受けた制御要求が電源供給の停止を要求するものである否かを判断する半導体装置が記載されている。
【課題を解決するための手段】
【０００８】
本発明の一態様に係る半導体集積回路は、接続される対象に対して電源電圧を供給するか否かを制御する第１のスイッチと、前記第１のスイッチに接続され、前記第１のスイッチを介して供給される前記電源電圧に基づいて所定の命令を実行する機能マクロと、前記機能マクロとは別に設けられ、所定の命令を実行すると共に第１の信号を出力するCPUと、前記CPUとは別に設けられ、前記第１の信号に応答して前記第１のスイッチを制御する電源制御回路と、を有する。
【０００９】
すなわち、本発明では、CPUとは別に設けられた電源制御回路が、ＣＰＵが出力する第１の信号に応答して機能マクロに対する電源電圧の供給状況を制御する第１のスイッチを制御するため、CPUは、係る機能マクロの状態を従来技術のように監視する必要がない。これにより、CPUは電源制御のための定期的な割り込み信号を受けることがなくなり、本来の処理を実行することができる。したがって、本発明では、CPUの動作を妨げることなく効率よく電源の制御が行える。
【発明の効果】
【００１０】
本発明によれば、半導体集積回路において機能マクロに対する電源の供給の制御を行う場合に、効率よく当該制御を行うことができる。
【図面の簡単な説明】
【００１１】
【図１】本発明に係る電源制御回路を適用する半導体チップの実施の形態１の構成例を示したブロック図である。
【図２】本発明の実施の形態１に用いるアイソレーション回路の構成例を示したブロック図である。
【図３】本発明の実施の形態１における電源ＯＦＦ動作例を示したフローチャート図である。
【図４】本発明の実施の形態１における電源ＯＮ動作例を示したフローチャート図である。
【図５】本発明に係る電源制御回路を適用する半導体チップの実施の形態２の構成例を示したブロック図である。
【図６】本発明の実施の形態２における電源ＯＦＦ動作例を示したフローチャート図である。
【図７】本発明の実施の形態２における電源ＯＮ動作例を示したフローチャート図である。
【発明を実施するための形態】
【００１２】
以下、本発明に係る電源制御回路及びこれを適用する半導体チップの実施の形態１及び２を、図１〜図７を参照して説明する。なお、各図面において同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略される。
【実施例１】
【００１３】
図１に示す本実施の形態に係る半導体チップ１は、機能マクロの一例としてのＣＰＵ(Ｃｅｎｔｒａｌ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔ)１０及び画像処理マクロ２０と、これらのＣＰＵ１０及び画像処理マクロ２０に対する電源電圧Ｖｐの供給と遮断とをそれぞれ切り替える第１および第２のスイッチ、例えばＭＯＳ(Ｍｅｔａｌ Ｏｘｉｓｉｄｅ Ｓｅｍｉｃｏｎｄｕｃｔｏｒ)スイッチ３０＿１及び３０＿２(以下、符号３０で総称することがある)と、ＣＰＵ１０及び画像処理マクロ２０のアイドル状態をそれぞれ示すアイドル信号Ｓｉ１及びＳｉ２(以下、符号Ｓｉで総称することがある)に応じて、ＣＰＵ１０及び画像処理マクロ２０に対するリセット処理の実行を許可(指示)するリセット信号Ｓｒ１及びＳｒ２(以下、符号Ｓｒで総称することがある)をそれぞれ生成すると共に、ＭＯＳスイッチ３０＿１及び３０＿２に対する制御信号Ｓｃｓ１及びＳｃｓ２(以下、符号Ｓｃｓで総称することがある)をそれぞれ生成し、CPU１０とは別に設けられたハードウェアである電源制御回路４０とを有する。なお、アイドル信号Ｓｉ１はＣＰＵ１０が出力する第１の信号の一例である。また、アイドル信号Ｓｉ２は画像処理マクロ２０が出力する第２の信号の一例である。第１の信号の他の例としては、後述する他の実施の形態においてＣＰＵが出力するリセット実行要求信号や、リセット解除要求信号が考えられる。また第２の信号の別の例としては、例えば画像処理マクロ２０が出力する、ＣＰＵ１０に対しての割り込み信号Ｓｉｎｔが考えられる。
【００１４】
ここで、上記の電源電圧Ｖｐは、例えば、半導体チップ１の外部に設けられた電源ＩＣ(図示せず)から入力されるものとする。
【００１５】
なお、従来は、半導体チップ内のレイアウト制限(電圧供給能力を満たすようなＭＯＳスイッチはそのサイズが大きいこと等)に因り、ＭＯＳスイッチが半導体チップ上に搭載されることは殆ど無かった。しかしながら、近年の小型化により、ＭＯＳスイッチを半導体チップ上に搭載することが可能になって来ている。
【００１６】
また、半導体チップ１は、電源制御回路４０から出力されたアイソレーション制御信号Ｓｃｉ１及びＳｃｉ２(以下、符号Ｓｃｉで総称することがある)に基づきＣＰＵ１０及び画像処理マクロ２０の入出力信号レベルをそれぞれ固定するアイソレーション回路５０＿１及び５０＿２(以下、符号５０で総称することがある)と、ＣＰＵ１０及び画像処理マクロ２０の動作クロックＣＬＫを発振する発振器６０と、ＣＰＵ１０及び画像処理マクロ２０同士間の通信に用いるメモリ７０とを有する。
【００１７】
ここで、図２に、上記のアイソレーション回路５０の具体的な構成例を示す。この例では、アイソレーション回路５０は、２つのＡＮＤ回路５１及び５２を有している。ＡＮＤ回路５１の一方の入力端には、電源ＯＮ状態(電源電圧Ｖｐが供給されている状態)に在る機能マクロ（例えば図１におけるCPU）からの出力信号が入力され、他方の入力端には、アイソレーション制御信号Ｓｃｉが入力されている。従って、アイソレーション制御信号Ｓｃｉ＝"０"である場合、電源ＯＦＦ状態(電源電圧Ｖｐの供給が停止されている状態)に在る機能マクロ（例えば図２における画像処理マクロ）への入力信号レベルは常時、非アクティブ論理、例えば"０"に固定される。例として、割り込み信号は通常、非アクティブ論理が０である。一方、アイソレーション制御信号Ｓｃｉ＝"１"である場合、電源ＯＦＦ状態に在る機能マクロへの入力信号レベルは、電源ＯＮ状態に在る機能マクロの出力信号に従うこととなる。また、ＡＮＤ回路５２の一方の入力端には、電源ＯＦＦに在る機能マクロ（例えば図１における画像処理マクロ）からの出力信号が入力され、他方の入力端には、アイソレーション制御信号Ｓｃｉが入力されている。従って、アイソレーション制御信号Ｓｃｉ＝"０"である場合、電源ＯＦＦ状態に在る機能マクロから電源ＯＮ状態に在る機能マクロ（例えば図１におけるCPU）への出力信号レベルは常時、非アクティブ論理、例えば"０"に固定される。一方、アイソレーション制御信号Ｓｃｉ＝"１"である場合、電源ＯＦＦ状態に在る機能マクロの出力信号レベルは不定となる。出力信号の電位が不定になると、係る出力信号はハイレベルあるいはローレベルのどちらかになるが、どちらになるのかは不明である。この状況において、係る出力信号が例えば機能マクロに対する割り込み信号だった場合、割り込み信号が意図しないタイミングで活性化し、動作に不具合が生じるなどの問題が生じる。したがって、アイソレーション制御信号Ｓｃｉを"０"に設定することにより、電源電圧Ｖｐの供給停止対象となる機能マクロ自体の誤動作、及び他の機能マクロへの悪影響を防止することができる。
【００１８】
図１に戻って、電源制御回路４０は、発振器６０から出力されたクロックＣＬＫがＣＰＵ１０及び画像処理マクロ２０の動作にそれぞれ適したクロック周波数となるように分周するクロック分周部４１と、アイドル信号Ｓｉを検出する検出部４２と、各種の制御情報ＣＩが格納された制御情報レジスタ４３と、検出部４２でアイドル信号Ｓｉが検出された際に制御情報ＣＩに基づき、リセット信号Ｓｒ、スイッチ制御信号Ｓｃｓ、及びアイソレーション制御信号Ｓｃｉの生成、並びにクロック分周部４１に対する制御信号Ｓｃｃ１及びＳｃｃ２(以下、符号Ｓｃｃで総称することがある)の生成を行う制御部４４と、を備え
ている。
【００１９】
ここで、上記のクロック制御信号Ｓｃｃ１は、クロック分周部４１に対し、ＣＰＵ１０へのクロック出力の開始又は停止を指示する信号である。同様に、クロック制御信号Ｓｃｃ２は、クロック分周部４１に対し、画像処理マクロ２０へのクロック出力の開始又は停止を指示する信号である。
【００２０】
また、ＣＰＵ１０は、リセット信号Ｓｒ１を入力するリセット端子１１と、分周されたクロックＣＬＫを入力するクロック端子１２と、メモリ７０から各種の命令ＩＮＳを順次読み出してデコードする命令デコーダ１３と、このデコーダ１３によりデコードされた命令ＩＮＳを格納するＦＩＦＯ(Ｆｉｒｓｔ Ｉｎ Ｆｉｒｓｔ Ｏｕｔ)バッファ１４と、このバッファ１４から命令ＩＮＳを順次読み出して実行する実行ユニット１５と、実行ユニット１５が実行すべき命令INSがFIFOバッファ１４にない場合にこのユニット１５が出力するアイドル通知Ｎｉを受けた際に、アイドル信号Ｓｉ１を発生すると共に画像処理マクロ２０に対する画像処理命令ＩＮＳｉｍｇをメモリ７０へ書き込み、画像処理マクロ２０からの画像処理完了を示す割込信号Ｓｉｎｔを待機するコントローラ１６とを備えている。
【００２１】
また、画像処理マクロ２０は、リセット信号Ｓｒ２を入力するリセット端子２１と、分周されたクロックＣＬＫを入力するクロック端子２２と、メモリ７０から画像処理命令ＩＮＳｉｍｇを読み出す命令読出部２３と、この読出部１３にて読み出された画像処理命令ＩＮＳｉｍｇを格納するＦＩＦＯバッファ２４と、このバッファ２４から画像処理命令ＩＮＳｉｍｇを読み出すと共に対応する処理データＤｐをメモリ７０から読み出し、このデータＤｐから画像データＤｉｍｇを生成してメモリ７０へ書き戻す実行ユニット２５と、ＦＩＦＯバッファ２４の書込ポインタＷＰ及び読出ポインタＲＰを常時監視し、両ポインタが一致した場合(すなわち、ＦＩＦＯバッファ２４中に実行すべき画像処理命令ＩＮＳｉｍｇが格納されていない場合)にアイドル信号Ｓｉ２及び割込信号Ｓｉｎｔを発生するコントローラ２６と、を備えている。
【００２２】
上記の例では、ＣＰＵ１０と画像処理マクロ２０は、互いに排他的に動作しているものとする。アイドル信号Ｓｉ１は、ＣＰＵ１０がアイドル状態に在ることを示す。同様に、アイドル信号Ｓｉ２は、画像処理マクロ２０がアイドル状態に在ることを示す。なお、CPU10と画像処理マクロ２０は必ず排他的に動作するわけではなく、双方が同時に動作することもある。これはCPU１０が画像処理マクロ２０に関する処理以外も行うためである。
【００２３】
なお、ＣＰＵ１０と画像処理マクロ２０が排他的に動作する場合においては、割込信号Ｓｉｎｔとアイドル信号Ｓｉ２は実質的に等価であるため、画像処理マクロ２０内のコントローラ２６は、アイドル信号Ｓｉ２に代えて、割込信号Ｓｉｎｔを電源制御回路４０内の検出部４２に対して直接与えるようにしても良い。この場合、制御部４４は、割込信号Ｓｉｎｔに応じて、リセット信号Ｓｒ、スイッチ制御信号Ｓｃｓ、アイソレーション制御信号Ｓｃｉ、及びクロック制御信号Ｓｃｃの生成を行えば良い。また、ＣＰＵ１０内のコントローラ１６は、画像処理命令ＩＮＳｉｍｇをエンコードしてメモリ７０に書き込んでも良い。この場合、画像処理マクロ２０には、命令読出部２３に代えて
、命令デコーダを設ければ良い。
【００２４】
また、ＣＰＵ１０は、リセット端子１１からリセット信号Ｓｒ１が入力された場合、プログラムカウンタ(図示せず)の初期化処理等を実行する。一方、画像処理マクロ２０は、リセット端子２１からリセット信号Ｓｒ２が入力された場合、書込ポインタＷＰ及び読出ポインタＲＰの初期化処理等を実行する。
【００２５】
次に、本実施の形態の動作を説明する。まず、ＣＰＵ１０と画像処理マクロが排他的に動作する場合の例を説明する。ここで、機能マクロに対する電源電圧の供給を停止する場合の動作(以下、電源ＯＦＦ動作)を、図３を参照して説明する。そして、機能マクロに対する電源電圧の供給を開始(再開)する場合の動作(以下、電源ＯＮ動作)を、図４を参照して説明する。
【００２６】
[電源ＯＦＦ動作例]
図１に示したＣＰＵ１０に対する電源電圧Ｖｐの供給を停止する場合を例に取ると、図３に示すように、まず電源制御回路４０内の検出部４２が、割込信号Ｓｉｎｔを待機中のＣＰＵ１０から第１の信号の一例であるアイドル信号Ｓi１を受信し、制御部４４へ転送する(ステップＳ１)。この時、制御部４４は、ＣＰＵ１０のリセット端子１１に対してリセット信号Ｓｒ１を与える(ステップＳ２)。リセット信号Ｓｒ１を受けたＣＰＵ１０は、上述した通り、プログラムカウンタの初期化処理等を実行する。
【００２７】
そして、制御部４４は、分周部４１に対して、ＣＰＵ１０へのクロック出力の停止を指示するクロック制御信号Ｓｃｃ１を与える(ステップＳ３)。これを受けた分周部４１は、ＣＰＵ１０へのクロック出力を停止する。
【００２８】
そして、制御部４４は、ＣＰＵ１０に対応して設けられたアイソレーション回路５０＿１に対して、アイソレーション制御信号Ｓｃｉ１＝"０"を与える(ステップＳ４)。これにより、ＣＰＵ１０の入出力信号レベルが"０"に固定される。これにより、CPU１０に対して不定のレベルの信号が入力されること、あるいはCPU１０から不定のレベルの信号が出力されること、が防止される。
【００２９】
最後に、制御部４４は、ＣＰＵ１０のために設けられたＭＯＳスイッチ３０＿１に対して、電源電圧Ｖｐの遮断を指示するスイッチ制御信号Ｓｃｓ１を与える(ステップＳ５)。この制御信号Ｓｃｓ１を受けたＭＯＳスイッチ３０＿１はＯＦＦ(非導通)状態となり、以てＣＰＵ１０に対する電源電圧Ｖｐの供給が停止されることとなる。以上は、ＣＰＵ１０が出力する第１の信号に応答して電源制御回路４０がＣＰＵ１０に対する電源供給を遮断する場合であるが、画像処理マクロ２０が第２の信号の一例であるアイドル信号Ｓｉ２を出力し、係る第２の信号（例としてアイドル信号Ｓｉ２）に応答して電源制御回路４０が画像処理マクロ２０に対する電源供給を遮断する場合も同様である。
【００３０】
[電源ＯＮ動作例]
図４に示すように、制御部４４は、ＣＰＵ１０から第１の信号の一例であるアイドル信号Ｓi１を受信すると(ステップＳ１１)、画像処理マクロ２０のために設けられたＭＯＳスイッチ３０＿２に対して、電源電圧Ｖｐの供給開始を指示するスイッチ制御信号Ｓｃｓ２を与える(ステップＳ１２)。この制御信号Ｓｃｓ２を受けたＭＯＳスイッチ３０＿２はＯＮ(導通)状態となり、以て画像処理マクロ２０に対する電源電圧Ｖｐの供給が開始されることとなる。
【００３１】
次に、制御部４４は、分周部４１に対して、画像処理マクロ２０へのクロック出力の開始を指示するクロック制御信号Ｓｃｃ２を与える(ステップＳ１３)。これを受けた分周部４１は、画像処理マクロ２０へのクロック出力を開始する。
【００３２】
そして、制御部４４は、画像処理マクロ２０のリセット端子２１に対するリセット信号Ｓｒ２の出力を停止する(ステップＳ１４)。これにより、画像処理マクロ２０のリセット状態が解除され、上述した画像データＤｉｍｇの生成、並びにアイドル信号Ｓｉ２及び割込信号Ｓｉｎｔの出力が行われることとなる。
【００３３】
最後に、制御部４４は、画像処理マクロ２０に対応して設けられたアイソレーション回路５０＿２に対して、アイソレーション制御信号Ｓｃｉ２＝"１"を与える(ステップＳ１５)。これにより、画像処理マクロ２０の入出力信号レベルがその動作に適したものとなる。以上は、ＣＰＵ１０がアイドル信号Ｓｉ１を出力し、これに応答して電源制御回路４０が画像処理マクロ２０の電源供給を再開するよう制御する例であった。一方、画像処理マクロ２０がアイドル信号Ｓｉ２を出力し、これに応答して電源制御回路４０がＣＰＵ１０の電源供給を再開する場合も同様に行われる。
【００３４】
以降、ここで説明している例では、ＣＰＵ１０及び画像処理マクロ２０は、電源ＯＮ／ＯＦＦ状態を排他的に繰り返して遷移する（CPU１０と画像処理マクロ２０がいつも排他的に動作する関係にあるわけではない）。したがって、ＣＰＵが第１の信号の一例であるアイドル信号Ｓｉ１を出力し、これに応答して電源制御回路４０がＣＰＵに対する電源電圧を供給するスイッチを制御してＣＰＵに対する電源を遮断し、加えて第１の信号に応答して画像処理マクロに対するスイッチを制御して画像処理マクロ２０への電源の供給を再開させる。また、画像処理マクロが出力する第２の信号の一例であるアイドル信号Ｓｉ２を出力し、これに応答して電源制御回路４０は、画像処理マクロ２０に対するスイッチを制御して画像処理マクロ２０に対する電源の供給を停止し、加えて第２の信号に応答してＣＰＵに対するスイッチを制御してＣＰＵへの電源電圧の供給を再開する。これを繰り返すことになる。本実施の形態では、CPU１０とは別に設けられたハードウェアの電源制御回路４０が、CPU１０および画像処理マクロ２０に対する電源の制御を行っている。これにより、CPU１０に対して割り込み信号を入力することによってCPU１０の処理を中断させることなく迅速に電源の制御を行うことができる。
【００３５】
以上はＣＰＵ１０と画像処理マクロ２０が排他的に動作している場合の制御であったが、本発明はこれに限られない。以下、ＣＰＵ１０と画像処理マクロ２０とが排他的に動作していない場合の例を説明する。
【００３６】
この場合、上述した実施の形態の説明のようにアイドル信号Ｓｉ１やＳｉ２に応答して電源制御回路４０がＣＰＵ１０や画像処理マクロ２０に対して電源制御を行うことはできない。例えば画像処理マクロ２０に対する電源の供給を再開させるため電源をＯＮしなければならない状況だからとって、ＣＰＵ１０が必ずしもアイドル信号Ｓｉ１を出力するとは限らないからである。ＣＰＵ１０は別の処理を行っていることがあるからである。
【００３７】
そこで、このようにＣＰＵ１０と画像処理マクロ２０が排他的に動作しない場合では、図１にあるＣＰＵ１０に含まれるコントローラ１６が、画像処理マクロ２０に対してリセットをかけることを要求するリセット実行要求信号および画像処理マクロ２０にかけられているリセットを解除することを要求するリセット解除要求信号をアイソレーション回路５０＿１を介して電源制御回路４０の検出部４２に出力するようにする。このリセット実行要求信号は、通常、画像マクロ２０に電源を供給している状態において、ＣＰＵ１０が画像マクロ２０に対してリセットをかけたい場合にCPU１０から電源制御回路４０の検出部４２に出力される信号である。また、リセット解除要求信号は、画像マクロ２０に電源を供給している状態において、画像マクロ２０に対するリセットを解除したい場合にＣＰＵ１０から電源制御回路４０の検出部４２に出力される信号である。
【００３８】
そこで、例えばリセット実行要求信号およびリセット解除要求信号に対して係る画像処理マクロ２０に対する電源制御まで行うか否かの情報を示すビットを追加しておく。電源制御回路４０は、リセット実行要求信号およびリセット解除要求信号に含まれる当該ビットが書き込まれるレジスタを有しており、検出部４２は係るビットとこのレジスタに書き込む。電源制御回路４０の制御部４４が、係るレジスタの内容を参照して、リセットの実行あるいは解除のみ行うのか、あるいはリセットの実行あるいは解除に加えて電源の制御も合わせて行うのか、を決定する。通常のリセットの実行あるいはリセットの解除においては、制御部４４は、係る追加されたビットが示す情報を参照し、リセット実行要求信号またはリセット解除要求信号が画像マクロ２０に対するリセットの実行や解除を要求するものの、電源制御まで要求するものではないことを認識する。そしてＣＰＵ１０からのリセット実行要求信号またはリセット解除要求信号を検出部４２で受けた電源制御回路４０は、制御部４４から画像処理マクロ２０のリセット端子２１に向かってアクティブ論理あるいは非アクティブ論理のリセット信号を出力し、画像処理マクロ２０の電源制御は行わない。すなわちＭＯＳスイッチ３０＿２の制御は行わない
【００３９】
一方、ＣＰＵ１０および画像処理マクロ２０が共に電源の供給を受けている状況において、ＣＰＵ１０が画像処理マクロ２０の電源の供給を停止したい場合に、ＣＰＵ１０はリセット実行要求信号を電源制御回路４０の検出部４２に出力する。制御部４４がレジスタを参照することで、画像処理マクロ２０の電源の供給の遮断もリセットと合わせて要求されていると判断すると、上述したように電源制御回路４０は、図３にある画像処理マクロ２０の電源ＯＦＦのフローを行う。ただし、この場合、図３のＳ１に関しては「リセット実行要求信号を受信したか？」という判定に変更される。
【００４０】
ＣＰＵ１０に電源が供給されている状態において、ＣＰＵ１０の電源を遮断する場合としては、例えば上述したとおり、ＣＰＵ１０がアイドル状態となってアイドル信号Ｓｉ１を出力し、係るアイドル信号Ｓｉ１に応答して電源制御回路４０がＣＰＵ１０に対する電源ＯＦＦのフローを開始するという動作が考えられる。また、ＣＰＵ１０には電源電圧が供給されておらず、画像処理マクロ２０には電源電圧が供給されている状態において、画像処理マクロ２０の電源を遮断する場合としては、上述したとおり、画像処理マクロ２０が出力するアイドル信号Ｓｉ２に応答して電源制御回路４０が画像処理マクロ２０に対して上述のフローを実行することが考えられる。
【００４１】
次に電源ＯＮの動作フローについて説明する。まず、ＣＰＵ１０が電源の供給を受けており、画像マクロ２０は電源の供給を受けていない状況で、画像処理マクロ２０の電源の供給を再開する場合を考える。この場合、ＣＰＵ１０は、電源制御回路４０の検出部４２にリセット解除要求信号を出力する。係るリセット解除要求信号が画像処理マクロ２０の電源の供給を再開することも合わせて要求するものである場合に、検出部４２が係るリセット解除要求信号を受信すると、これに応答して、電源制御回路４０は、図４に示したフローに従って画像処理マクロ２０の電源の供給を再開する。この場合、図４のＳ１１は「リセット解除要求信号を受信したか？」に変更される。なお、制御部４４がレジスタを参照することも、上記と同様である。
【００４２】
また、ＣＰＵ１０は電源の供給が停止されており、画像処理マクロ２０も電源の供給が停止されている場合において、ＣＰＵ１０に対する電源の供給を開始する場合には、半導体集積回路の外部から入力されるＣＰＵ１０に対する割り込み信号を用いる。この場合、例えばキーボードのキーが叩かれることに応答してＣＰＵ１０に対して割り込み信号が入力される。この割り込み信号が、あわせて電源制御回路４０における検出部４２にも入力される。検出部４２が係る外部からの割り込み信号を検出したことに応答して、電源制御回路４０は、図４に記載がある通り、ＣＰＵ１０に対する電源ＯＮのフローを行う。この場合、図４のＳ１１は「外部からの割り込み信号を受信したか？」に変更される。
【００４３】
次に、ＣＰＵは電源の供給が停止されており、画像処理マクロ２０は電源が供給されている場合を考える。この場合においてＣＰＵ１０の電源の供給を再開するには、画像マクロ２０が出力する第２の信号の一例である割り込み信号を使用する。画像処理マクロ２０が出力する割り込み信号Ｓｉｎｔが電源制御回路４０の検出部４２にも入力され、検出部４２が係るＳｉｎｔを受信したことに応答して電源制御回路４０は図４に記載された電源ＯＮのためのフローを実行する。この場合、図４のＳ１１は「割り込み信号Ｓｉｎｔを受信したか？」に変更される。なお、画像マクロ２０がＣＰＵ１０に対するリセット実行要求信号あるいはリセット解除要求信号を出力することはない。
【００４４】
以上の例においても明らかな通り、CPU１０とは別に設けられた電源制御回路４０は、ＣＰＵ１０から出力された第１の信号に応答して、機能マクロの電源の制御を行っている。したがって、CPU１０が他の機能マクロを監視するために定期的に割り込み信号を受け付ける必要がないため、電源制御が効率よく行われる。また、電源制御回路４０は、画像処理マクロ２０が出力する第２の信号に応答して、ＣＰＵ１０に対する電源の制御も行っている。
【００４５】
次に、実施の形態２を、図５〜図７を参照して説明する。なお、以下の例では、CPU１０と画像処理マクロ２０が排他的に動作する場合を例にとって説明するが、CPU１０と画像処理マクロ２０とが排他的に動作しない場合においても、実施の形態１を参照して、同様である。
【実施例２】
【００４６】
図５に示す本実施の形態に係る半導体チップ１ａは、ＣＰＵ１０内の構成要素１３〜１６に対してＭＯＳスイッチ３０＿１３〜３０＿１６及びアイソレーション回路５０＿１３〜５０＿１６がそれぞれ設けられている点と、図１に示した電源制御回路４０の制御に加えて、ＭＯＳスイッチ３０＿１３〜３０＿１６及びアイソレーション回路５０＿１〜５０＿２に対する制御を行う電源制御回路４０ａが設けられている点とが、上記の実施の形態１と異なる。ここで、上記の特許文献１には、機能マクロに対する電源供給の急停止に伴って電源電圧の負荷変動が生じてしまうという問題、及び電源供給開始時に発生する機能マクロへの突入電流に起因して電源電圧が低下してしまうという問題もあったが、本実施の形態ではこれらの問題を解決することができる。
【００４７】
また、半導体チップ１ａには、ＣＰＵ１０及び画像処理マクロ２０が実施例１と同様に設けられている。
【００４８】
また、電源制御回路４０ａは、図１に示した制御情報レジスタ４３及び制御部４４に代えて、制御レジスタ４３ａ及び制御部４４ａを有している。制御レジスタ４３ａに格納される制御情報ＣＩａ中には、上記の実施の形態１で示した情報に加えて、ＭＯＳスイッチ３０＿１３〜３０＿１６に対する制御時間間隔及び制御順序に関する情報が含まれる。また、制御部４４ａは、上記の実施の形態１で示した信号に加えて、ＭＯＳスイッチ３０＿１３〜３０＿１６に対する制御信号Ｓｃｓ１３〜Ｓｃｓ１６、アイソレーション回路５０＿１〜５０＿２に対する制御信号Ｓｃｉ１３〜Ｓｃｉ１６、並びにクロック分周部４１に対するクロック制御信号Ｓｃｃ１、Scc2を送信し、CPU１０、画像処理マクロ２０からのアイドル信号を受信する。
【００４９】
なお、図５においては、一例として、ＣＰＵ１０に対してのみ複数のＭＯＳスイッチ及びアイソレーション回路が設けられているが、画像処理マクロ２０に対しても複数のＭＯＳスイッチ及びアイソレーション回路を設けるようにしても良い。この場合も、以降の説明は同様に適用される。
【００５０】
次に、本実施の形態の動作を説明するが、まずＣＰＵ１０についての電源ＯＦＦ動作を、図６を参照して説明する。そして、ＣＰＵ１０についての電源ＯＮ動作を、図７を参照して説明する。なお、図５では、画像処理マクロ２０に対して複数のMOSスイッチが設けられていない。したがって画像処理マクロ２０についての電源ＯＮ／ＯＦＦ動作は図３及び図４と同様であるため、その説明を省略する。
【００５１】
[電源ＯＦＦ動作例]
図６に示すように、まず電源制御回路４０ａ内の検出部４２が、ＣＰＵ１０からアイドル信号Ｓi１を受信し、制御部４４ａへ転送する(ステップＳ２１)。この時、制御部４４ａは、ＣＰＵ１０のリセット端子１１に対してリセット信号Ｓｒ１を与える(ステップＳ２２)。リセット信号Ｓｒ１を受けたＣＰＵ１０は、上記の実施の形態１と同様、プログラムカウンタの初期化処理等を実行する。
【００５２】
そして、制御部４４ａは、分周部４１に対して、ＣＰＵ１０へのクロック出力の停止を指示するクロック制御信号Ｓｃｃ１を与える(ステップＳ２３)。これを受けた分周部４１は、上記の実施の形態１と同様、ＣＰＵ１０へのクロック出力を停止する。
【００５３】
そして、制御部４４ａは、ＣＰＵ１０に対応して設けられたアイソレーション回路５０＿１３〜５０＿１６に対して、"０(信号レベル固定)"を設定したアイソレーション制御信号Ｓｃｉ１３〜Ｓｃｉ１６をそれぞれ与える(ステップＳ２４)。これにより、ＣＰＵ１０内の命令デコーダ１３、ＦＩＦＯバッファ１４、実行ユニット１５、及びコントローラ１６全ての入出力信号レベルが"０"に固定される。
【００５４】
そして、制御部４４ａは、制御情報ＣＩａから、ＭＯＳスイッチ３０＿１３〜３０＿１６に対して電源電圧Ｖｐの供給を停止する順序(以下、電源供給停止順序)ｎ[ｊ]及びその時間間隔値(以下、単に時間と呼称することがある)Ｔｅを取得する(ステップＳ２５)。この例では、電源供給停止順序ｍ[ｊ]のインデックｊは"４(ＭＯＳスイッチ３０＿１３〜３０＿１６の合計数)"に設定し、各配列要素ｍ[１]〜ｍ[４]には、例えば、命令デコーダ１３、ＦＩＦＯバッファ１４、実行ユニット１５、及びコントローラ１６の負荷容量に応じて"１３"〜"１６"のいずれかを設定して置くものとする。但し、電源供給停止順序を配列形式で設定するのは一例であり、種々の形式で設定することができる。また、時間Ｔｅは例えば"１μｓｅｃ"に設定する。
【００５５】
配列要素ｍ[１]に例えば"１６(コントローラ)"が格納されている場合、制御部４４ａは、まず始めにＭＯＳスイッチ３０＿１６に対して、電源電圧Ｖｐの遮断を指示するスイッチ制御信号Ｓｃｓ１６を与える(ステップＳ２６)。この制御信号Ｓｃｓ１６を受けたＭＯＳスイッチ３０＿１６はＯＦＦ状態となり、以てコントローラ１６に対する電源電圧Ｖｐの供給が停止されることとなる。
【００５６】
この後、制御部４４ａは、時間Ｔｅが経過するのを待機する(ステップＳ２７)。時間Ｔｅが経過した時、制御部４４ａは、インデックスｊが最後の配列要素(すなわち、"４")を示しているか否かを判定する(ステップＳ２８)。今、ｊ＝"１"が成立するため、制御部４４ａは、インデックスｊを"１"だけインクリメントして(ステップＳ２９)、上記のステップＳ２６へ戻る。
【００５７】
以降、制御部４４ａは、電源供給停止順序ｍ[２]〜[４]の設定値に従い時間間隔Ｔｅで、ＭＯＳスイッチ３０＿１３〜３０＿１５を順次ＯＦＦ状態とし、以て命令デコーダ１３、ＦＩＦＯバッファ１４、及び実行ユニット１５に対する電源電圧Ｖｐの供給を順次停止する。
【００５８】
これにより、電源電圧Ｖｐの負荷変動(すなわち、ＣＰＵ１０の負荷容量の急激な低下に伴う電源電圧Ｖｐの上昇)を防止することができる。
【００５９】
[電源ＯＮ動作例]
図７に示すように、制御部４４ａは、画像処理マクロ２０からアイドル信号Ｓi２を受信すると(ステップＳ３１)、上記の実施の形態１と同様、ＣＰＵ１０に対して電源電圧Ｖｐの供給を開始すべきと判断する。この時、制御部４４ａは、制御情報ＣＩａから、ＭＯＳスイッチ３０＿１３〜３０＿１６に対して電源電圧Ｖｐの供給を開始する順序(以下、電源供給開始順序)ｎ[ｋ]及びその時間間隔値Ｔｓを取得する(ステップＳ３２)。ここで、電源供給開始順序ｎ[ｋ]及び時間Ｔｓには、それぞれ、上記の電源供給停止順序ｍ[ｊ]及び時間Ｔｅと同様の値を設定しても良いし、異なる値を設定しても良い。
【００６０】
そして、制御部４４ａは、図示のステップＳ３３〜Ｓ３６を繰り返し実行し、時間間隔Ｔｓで、ＭＯＳスイッチ３０＿１３〜３０＿１６を順次ＯＮ状態とし、以て命令デコーダ１３、ＦＩＦＯバッファ１４、実行ユニット１５、及びコントローラ１６に対する電源電圧Ｖｐの供給を順次開始する。
【００６１】
これにより、ＣＰＵ１０への突入電流の発生による内部回路の破壊を回避すると共に、突入電流の発生に伴う電源電圧Ｖｐの低下による他の機能マクロへの悪影響を防止することができる。
【００６２】
そして、制御部４４ａは、分周部４１に対して、ＣＰＵ１０へのクロック出力の開始を指示するクロック制御信号Ｓｃｃ１を与える(ステップＳ３７)。これを受けた分周部４１は、ＣＰＵ１０へのクロック出力を開始する。
【００６３】
そして、制御部４４ａは、ＣＰＵ１０のリセット端子１１に対するリセット信号Ｓｒ１の出力を停止する(ステップＳ３９)。これにより、ＣＰＵ１０のリセット状態が解除され、上述した命令ＩＮＳの実行が行われることとなる。
【００６４】
最後に、制御部４４ａは、アイソレーション回路５０＿１３〜５０＿１６に対して、"１(信号レベル非固定)"を設定したアイソレーション制御信号Ｓｃｉ１３〜Ｓｃｉ１６をそれぞれ与える(ステップＳ３７)。これにより、命令デコーダ１３、ＦＩＦＯバッファ１４、実行ユニット１５、及びコントローラ１６の入出力信号レベルがその動作に適したものとなる。
【００６５】
なお、上記の実施の形態によって本発明は限定されるものではなく、特許請求の範囲の記載に基づき、当業者によって種々の変更が可能なことは明らかである。
【符号の説明】
【００６６】
１, １ａ  半導体チップ
１０  ＣＰＵ(機能マクロ)
２０  画像処理マクロ(機能マクロ)
３０  ＭＯＳスイッチ
４０, ４０ａ  電源制御回路
４１  クロック分周部
４２  検出部
４３, ４３ａ  制御情報レジスタ
４４, ４４ａ  制御部
５０  アイソレーション回路
６０  発振器
７０  メモリ
８０  機能マクロ
Ｓｉ  アイドル信号
Ｓｒ  リセット信号
Ｓｃｓ  スイッチ制御信号
Ｓｃｉ  アイソレーション制御信号
Ｓｃｃ  クロック制御信号
ＣＩ, ＣＩａ  制御情報
Ｖｐ  電源電圧
ｍ, ｎ  順序
Ｔｅ, Ｔｓ  時間
【図１】
2010057160.tif 000003
【図２】
2010057160.tif 000004
【図３】
2010057160.tif 000005
【図４】
2010057160.tif 000006
【図５】
2010057160.tif 000007
【図６】
2010057160.tif 000008
【図７】
2010057160.tif 000009