(57)【要約】【課題】復帰設定が終了後にマスクを解除したところで必ずイベントを実行できる半導体集積回路を提供する。【解決手段】復帰信号保持回路110は、回路ブロック101がスタンバイモードであるときに外部から指令された復帰信号のアサートを保持する。復帰信号マスク回路120は、回路ブロック101と復帰信号保持回路110との間に配置され、回路ブロック101がスタンバイモードであるときに回路ブロック101に信号が入らないようにマスクする。省電力制御回路102は、回路ブロック101のスタンバイモード中および回路ブロック101に復帰設定を行っている間は、復帰信号保持回路110に復帰イベント信号のアサートを保持させるとともに復帰信号マスク回路120のマスクをONにさせる。そして、回路ブロック101の復帰設定が終了したときに復帰信号マスク回路120のマスクを解除した後、復帰信号保持回路110による復帰信号のアサート保持を解除させる。【選択図】図１
2011008346.tif 000002
【特許請求の範囲】
【請求項１】
動作を停止する時に電源の供給を停止することが可能であり、動作の開始を指示する復帰イベント信号を受けて動作を開始して所定の処理を行う回路ブロックと、
前記復帰イベント信号が入力された場合には、動作を停止している前記回路ブロックが動作を開始するために必要なデータを前記回路ブロックに設定する省電力制御回路と、
前記回路ブロックが動作を停止している期間および前記省電力制御回路が前記回路ブロックに前記データを設定している期間、前記回路ブロックへの復帰イベント信号の入力を禁止する復帰信号マスク回路と、
前記回路ブロックが動作を停止している期間および前記省電力制御回路が前記回路ブロックに前記データを設定している期間に前記復帰イベント信号が入力された場合には、少なくとも前記データの設定が完了した後まで前記復帰イベント信号の状態を保持し、前記復帰信号マスク回路を介して前記復帰イベント信号を前記回路ブロックへ出力する復帰信号保持回路と、を備える
ことを特徴とする半導体集積回路。
【請求項２】
請求項1に記載の半導体集積回路において、
前記復帰信号マスク回路と前記復帰信号保持回路とは、前記省電力制御回路からの制御信号に従って動作する
ことを特徴とする半導体集積回路。
【請求項３】
通常動作モードとスタンバイモードとを切り替え可能である回路ブロックと、
前記回路ブロックへの復帰イベント指示信号を検出した場合にはイベントのアサートを保持する復帰信号保持回路と、
前記回路ブロックと前記復帰信号保持回路との間に配置され、指示された期間前記回路ブロックへの前記復帰イベント信号の入力を禁止するマスク回路と、
前記回路ブロックがスタンバイモードから通常動作モードに復帰する際に復帰に必要な情報を前記プロセッサに復帰設定させる復帰コントローラと、を備え、
前記復帰コントローラは、
前記回路ブロックのスタンバイモード中および前記回路ブロックに復帰設定を行っている間は、前記復帰信号保持回路にイベントのアサートを保持させるとともに前記マスク回路に前記回路ブロックへの復帰イベント信号の入力を禁止させ、
前記回路ブロックの復帰設定が終了したときに前記マスク回路のマスクを解除させた後、前記復帰信号回路によるイベントのアサート保持を解除させる
ことを特徴とする半導体集積回路。
【請求項４】
請求項1から請求項3のいずれかに記載の半導体集積回路において、
前記復帰イベント指示信号は、エッジ検出型の指示信号である
ことを特徴とする半導体集積回路。
【請求項５】
請求項1から請求項4のいずれかに記載の半導体集積回路において、
前記復帰イベント信号が、回路の初期化を要求するリセット信号であり、前記リセット信号は前記復帰信号保持回路および前記復帰信号マスク回路を介して前記回路ブロックに入力されると共に前記回路ブロックとは別に設けられた他の回路にも出力可能である
ことを特徴とする半導体集積回路。
【請求項６】
請求項1から請求項5のいずれかに記載の半導体集積回路において、
前記復帰信号保持回路は、割り込みイベント指令のアサートを保持するイベント保持回路により構成されている
ことを特徴とする半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路に関する。具体的には、スタンバイ状態から復帰する際に、必要な内部データを設定処理することが必要な半導体集積回路に関する。
【背景技術】
【０００２】
スタンバイやレジューム機能等の低消費電力モードを備えた半導体集積回路が知られている。このような半導体集積回路では、電源供給が停止されると不揮発性メモリを除いてその内部状態は消去されてしまう。したがって、スタンバイ前後でシステムの状態を保持するため、スタンバイ状態に移行する前に内部状態データを一時退避により保持させなくてはならない。
【０００３】
例えば特許文献1（特開2007−157027号公報）には、対象回路の電源を切断する機能を備えるともに、電源切断前に対象回路の内部状態を不揮発性メモリに退避させる半導体集積回路が開示されている。そして、外部から入力される割り込み信号に応答して電源再投入が実行され、電源投入実行後に、メモリに退避させてある内部状態データを対象回路に回復させる。
【０００４】
具体的には、対象回路（例えばCPU）の動作を再開するトリガとなる割り込み信号がバックアップ制御回路に入力されると、バックアップ制御回路はスイッチを制御して対象回路への電源供給を再開する。さらに、バックアップ制御回路は、対象回路をスキャンチェーンが設定される回復状態にする。続いて、バックアップ制御回路は、バックアップメモリに記憶されている内部ノードデータをサブスキャンチェーンに供給し、内部状態をリストアする。
対象回路の内部状態が元の状態に回復すると、バックアップ制御回路は対象回路の回復状態を解除して対象回路を起動する。すると、対象回路は動作を再開する。
【０００５】
これにより、電源切断前と電源再投入後とで対象回路の内部状態が一致する。したがって、電源切断があっても、電源再投入後に電源切断の直前の状態から連続したデータ処理が可能となる。
【０００６】
ここで、スタインバイ状態から復帰する動作の最中においては、対象回路の内部状態は通常動作時とは異なっており、また、内部状態のリストアも完了していない。
したがって、復帰動作の途中で動作指令が対象回路に入力されると、システムがハングアップしたり、誤作動したりする問題が生じる。そこで、対象回路の内部状態が回復して対象回路の動作が再開されるまでは対象回路への信号をマスクし、対象回路の誤作動を防ぐようにしている。
【０００７】
図7のタイミングチャートを参照して説明する。
時刻T00に対象回路がスタンバイモードになり、時刻T02に復帰するとする。
この場合、時刻T00から時刻T02までは対象回路への信号がマスクされる。すなわち、図6のタイミングチャートに示すように、時刻T00から時刻T02までは時刻Mask_EnableがHレベルになり、時刻T02でマスクが解除される。
ここで、動作を再開するトリガとなる割り込み動作指令が時刻T01に指令されると、バックアップ制御回路は、対象回路の内部状態を回復させる復帰前処理に入る。
一方、復帰処理が完了する時刻T02までは対象回路に対する割り込み動作指令はマスクされる。そして、時刻T02に対象回路の復帰処理が完了して、信号マスクが解除されると、対象回路に動作指令が入力され、対象回路が動作を開始する。
これにより、復帰処理中には対象回路に外部信号が入力されないようになるので対象回路の誤動作が防止される。そして、復帰処理の終了に合わせてマスクを解除することにより、復帰処理後に対象回路が指令された動作を開始することができる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開2007-157027号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上記のように、スタンバイ状態のときに外部から入力される割り込み動作指令がレベル検出型の信号であれば、マスク解除後に割り込み動作指令を検出することができる。
しかしながら、マスクがenableになっているときに外部から入力される動作指令がエッジ検出型（エッジトリガ型）である場合、対象回路の動作再開時には既に動作指令が解除されてしまっている場合が起こり得る。
このようなエッジ検出型の割り込み動作指令としては例えばシステムリセットなどが例として挙げられる。
【００１０】
図8のタイミングチャートを参照して説明する。
時刻T10に対象回路がスタンバイモードになり、時刻T12に復帰するとする。
この場合、時刻T10から時刻T12までは対象回路への信号がマスクされる。
ここで、動作を再開するトリガとなる割り込み動作指令（例えばリセット）が時刻T11に指令されると、対象回路は内部状態を回復させる復帰前処理に入るが、復帰処理が完了する時刻T12まではマスクがenableである。そして、時刻T12においてマスクが解除されたときには、エッジ検出型の動作指令はデアサートになっている。したがって、対象回路はこの動作指令を認識しないことになり、外部から指令された動作が実行されないという問題が生じる。
【００１１】
また、前記動作指令は、対象回路に対してはマスクされているが、その他の周辺回路にはそのまま入力されるため、周辺回路は指令された処理動作を実行する。
すると、対象回路と周辺回路とで同期がとれなくなるという問題が生じる。
【課題を解決するための手段】
【００１２】
本発明の半導体集積回路は、
動作を停止する時に電源の供給を停止することが可能であり、動作の開始を指示する復帰イベント信号を受けて動作を開始して所定の処理を行う回路ブロックと、
前記復帰イベント信号が入力された場合には、動作を停止している前記回路ブロックが動作を開始するために必要なデータを前記回路ブロックに設定する省電力制御回路と、
前記回路ブロックが動作を停止している期間および前記省電力制御回路が前記回路ブロックに前記データを設定している期間、前記回路ブロックへの復帰イベント信号の入力を禁止する復帰信号マスク回路と、
前記回路ブロックが動作を停止している期間および前記省電力制御回路が前記回路ブロックに前記データを設定している期間に前記復帰イベント信号が入力された場合には、少なくとも前記データの設定が完了した後まで前記復帰イベント信号の状態を保持し、前記復帰信号マスク回路を介して前記復帰イベント信号を前記回路ブロックへ出力する復帰信号保持回路と、を備える
ことを特徴とする。
【発明の効果】
【００１３】
復帰信号保持回路を備えているので、復帰設定が終了するまで復帰イベント信号のアサートを保持することができ、復帰設定が終了後にマスクを解除したところで必ずイベントを実行できる。
【図面の簡単な説明】
【００１４】
【図１】本発明の半導体集積回路に係る第1実施形態の構成を示す図。
【図２】復帰信号保持回路の回路構成を示す図。
【図３】復帰信号保持回路の動作を説明するタイミングチャート。
【図４】復帰信号マスク回路の回路構成を示す図。
【図５】第1実施形態の動作を説明するタイミングチャート。
【図６】第2実施形態を示す図。
【図７】背景技術を説明するためのタイミングチャート。
【図８】課題を説明するためのタイミングチャート。
【発明を実施するための形態】
【００１５】
以下、本発明の実施の形態を図示するとともに図中の各要素に付した符号を参照して説明する。
（第1実施形態）
図1は、本発明の半導体集積回路に係る第1実施形態の構成を示す図である。
半導体集積回路100は、回路ブロック101と、省電力制御回路（復帰コントローラ）102と、復帰信号保持回路110と、復帰信号マスク回路120と、制御・データインターフェース103と、を備える。
【００１６】
ここで、図1において、システムバス136、システムバス136に接続された周辺回路133、134、システムバス136に接続されていない周辺回路135、復帰イベント発生回路131、および、電源監視回路132は、半導体集積回路100に関わる外部回路の例であり、これらは図1のように半導体集積回路100の外部に設けられていてもよく、あるいは、半導体集積回路100の内部に備えられていてもよい。
また、前記外部回路の構成はシステムの要求仕様に応じて変更されるべきものである。
【００１７】
回路ブロック101は、中央処理装置（CPU）、DSP等、任意の機能を有する回路であり、電源のON／OFFが可能な領域である。
回路ブロック101は、回路ブロック101自身の動作を停止する場合には、省電力制御回路102に対してスタンバイ移行指示（STBY）を出力する。
具体的な例として、回路ブロック101がCPUである場合、回路ブロック101は実行する命令が無いときにスタンバイ移行指示を出力して、電力の消費を抑える。
また、回路ブロック101は、他の回路が回路ブロック101に対して動作を開始するように要求する復帰イベント信号を受けて動作を再開する。
【００１８】
省電力制御回路102は、回路ブロック101の電源ON／OFFを制御するとともに、回路ブロック101の内部データの管理を行う。
省電力制御回路102は、回路ブロック101からスタンバイ移行指示（STBY）を受けると、回路ブロック101が動作を停止するための準備をした後、回路ブロック101に制御信号P＿SWのLレベルを出力して、回路ブロック101の電源をOFFに制御する。
回路ブロック101が動作を停止するための準備としては、例えば、制御・データインターフェース103を介して回路ブロック101の内部データを取得すること、また、必要に応じて回路ブロック101の内部レジスタの設定を行うこと等が挙げられる。
【００１９】
また、省電力制御回路102は、回路ブロック101が動作を停止している間に、復帰イベント発生回路 131 から回路ブロック 101 の動作開始を要求する復帰イベント信号（event）を受けると、制御信号 P_SW の H レベルを出力し、回路ブロック 101 の電源をONに制御する。同時に、制御・データインターフェース103を介して、回路ブロック101に回路ブロック101が動作を開始するのに必要なデータの設定を行う。具体的な例として、省電力制御回路102は、制御・データインターフェース103を介して、回路ブロック101が動作を停止する前に取得した内部データの書き戻し、また必要に応じて回路ブロック101の内部レジスタの設定等を行う。
【００２０】
ここで、省電力制御回路102は、回路ブロック101がスタンバイ移行指示（STBY）信号を出力してから、回路ブロック101の復帰が完了するまでの間、回路ブロック101に外部からの復帰イベント信号が入力されないように制御する。
すなわち、省電力制御回路102は、回路ブロック101がスタンバイ移行指示（STBY）を出力してから回路ブロック101の復帰が完了するまでの間、マスクイネーブル信号（Mask_Enable）のHレベルを出力する。マスクイネーブル信号は復帰信号保持回路110および復帰信号マスク回路120に入力される。
【００２１】
復帰信号保持回路110は、マスクイネーブル信号（Mask_enable）がHレベルのときに入力された復帰イベント信号（event）のHレベルを保持（ホールド）する。
図2は、復帰信号保持回路110の回路構成を示す図である。
復帰信号保持回路110は、第1OR回路111と、フリップフロップ回路112と、第2OR回路113と、を備える。
第1OR回路111の一方の入力端子には復帰イベント信号（event）が入力され、他方の入力端子にはマスクイネーブル信号（Mask_enable）の反転が入力される。
第1OR回路111の出力は、フリップフロップ回路112のイネーブル端子（EN）に入力される。
【００２２】
フリップフロップ回路112は、イネーブル端子にHレベルが入力されているときは、クロックのタイミングでD端子のデータを取り込んでQ端子から出力する。
一方、イネーブル端子にLレベルが入力されているときには、D端子からのデータ取り込みを禁止して、内部状態を保持し、内部状態をQ端子から出力する。そして、フリップフロップ回路112のD端子には復帰イベント信号（event）が入力されている。
【００２３】
第2OR回路113の一方の入力端子には復帰イベント信号（event）が入力され、他方の入力端子にはフリップフロップ回路112のQ端子出力が入力されている。
第2OR回路113の出力は、復帰信号保持回路110の出力（hold_event）となる。
【００２４】
図3は、復帰信号保持回路110の動作を説明するタイミングチャートである。
図3では、時刻T23から時刻T27の期間はマスクイネーブル信号（Mask_enable）がHレベルであり、また、時刻T20と時刻T24のタイミングで復帰イベント信号（event）がHレベルになる場合を例にして説明する。
時刻T23まではマスクイネーブル信号がLレベルであるので、もう一方の入力であるevent信号に関係なく第1OR回路111の出力はHレベルになる。すなわち、時刻T23までは、フリップフロップ回路112のイネーブル端子へはHレベルが入力される。
したがって、時刻T23までは、フリップフロップ回路112はD端子のデータを取り込んでQ端子から出力する。
たとえば、時刻T21のとき、D端子には復帰イベント信号のHレベルが入っているので、これを取り込んでQ端子からHレベルを出力する。そして、次のクロック立ち上がりである時刻T22のときは復帰イベント信号のアサートが解除されてLレベルになっているので、フリップフロップ回路112はQ端子からLレベルを出力する。
【００２５】
第2OR回路113の入力には復帰イベント信号（event）とQ端子出力とが入力されるところ、第2OR回路113の出力である復帰信号保持回路110の出力（hold_event）としては、時刻T20から時刻T22にかけてHレベルとなる。
【００２６】
一方、時刻T23でマスクイネーブル信号（Mask_enable）がHレベルになると、第1OR回路111の一方の入力はLレベルになる。
このとき、第1OR回路111の出力は、他方の入力であるevent信号の変化と同じになる。
【００２７】
この状態において時刻T24でevent信号がHレベルになる。すると、第1OR回路111の出力もHレベルになるので、フリップフロップ回路112のイネーブル端子にHレベルが入力される。
フリップフロップ回路112は、イネーブル端子がHレベルであるので、クロックの立ち上がり（時刻T25）でD端子を取り込む。
D端子には復帰イベント信号（event）が入力されているので、フリップフロップ回路112はevent信号のHレベルを取り込むとともにQ端子から出力する。
【００２８】
ここで、復帰イベント信号（event）のHレベルが解除されると、フリップフロップ回路112のイネーブル端子への入力もLレベルになる。すると、フリップフロップ回路112は、D端子からの取り込みを禁止して、内部状態をQ端子から出力する。
このとき、フリップフロップ回路112の内部状態はHレベルで保持され、Q端子からはHレベルが出力される。
イネーブル端子が次にHレベルになるのは、時刻T27でマスクイネーブル信号（Mask_enable）のHレベルが解除されるときである。
したがって、時刻T27でD端子の取り込み禁止が解除された次のクロック立ち上がりのタイミング（時刻T28）で復帰イベント信号（event）のLレベルを取り込むまで、フリップフロップ回路112はQ端子からHレベルを出力する。
【００２９】
以上に説明したように、上記復帰信号保持回路110の構成により、マスクイネーブル信号（Mask_enable）がHレベルのときに入力された復帰イベント信号（event）のアサート（Hレベル）は、マスクエネーブル信号がLレベルとなった後にまで維持され、その後解除される。
【００３０】
復帰信号マスク回路120は、回路ブロック101の前段に設けられている。
図4は、復帰信号マスク回路120の回路構成を示す図である。
復帰信号マスク回路120は、セレクタ121で構成される。
セレクタ121の入力端子0には、復帰信号保持回路110からの出力信号（hold_event）が入力されており、セレクタ121の入力端子1はGNDレベルに固定されている。
また、セレクタ121には選択信号として、マスクイネーブル信号（Mask_enable）が接続されている。Mask_enableがHレベルの時には入力端子1が選択され、入力端子1に接続されたGNDレベルがセレクタ121の出力端子に出力される。
また、Mask_enableがLレベルの時には入力端子0が選択され、入力端子0に接続されたhold_event信号がセレクタ121の出力端子に出力される。
これにより、マスクイネーブル信号がHレベルのときは、外部からの復帰イベント信号（event）が回路ブロック101に入力されないようになる。
ここで、復帰信号マスク回路120を介した復帰イベント信号をMasked_eventとする。
【００３１】
制御・データインターフェース103は、回路ブロック101と省電力制御回路102との間でデータの受け渡しをするための制御、データ信号群であり、その構成は任意でよい。
【００３２】
復帰イベント発生回路131は、回路ブロック101の動作開始を指示する復帰イベントを発生する回路であって、例えば、他のマスター、タイマ回路等で構成される。
復帰イベント信号（event）の具体的な例として、動作停止中のCPUに対して他のマスターが処理の開始を要求する時に出力する割込み信号や、ウォッチドッグタイマ等から回路ブロックの初期化を要求するリセット信号等がある。
【００３３】
電源監視回路132は、システムの電源状態を監視してパワーオンリセット信号（PORESET）を発生する回路で、例えばリセットＩＣ等で構成される。
PORESET信号がアサートされると、システム全体が初期化され、復帰信号保持回路110の復帰イベント信号の保持もクリアされる。（具体的には図2のフリップフロップ回路112が初期化される。）
【００３４】
システムバス136は、アドレス、データバス及び関連する制御信号群で構成される。
システムバス136に接続された周辺回路133、134は、例えば外部メモリ、DMAコントローラ、DSP等であり、必要に応じて接続される。
システムバス136に接続されていない周辺回路135は、例えば単純な表示装置等のシステムバス136に接続される必要の無い回路であって、必要に応じてシステムに追加される。
上記周辺回路群の構成は、一例として示したものであって、システムの要求に応じて適切な構成とすべきものである。
【００３５】
また、復帰信号マスク回路120を介した復帰信号保持回路110の出力（Masked_event）は分岐されて出力され、周辺回路133,134,135に接続されている。
【００３６】
このような構成を備える第1実施形態の動作を説明する。
図5は、第1実施形態の動作を説明するタイミングチャートである。
時刻T30に回路ブロック101がスタンバイ移行の指示（STBY）を省電力制御回路102に出力したとする。すると、省電力制御回路102は、マスクイネーブル信号（Mask_enable）のHレベルを出力するとともに、回路ブロック101の内部状態を制御・データインターフェース103を介して取得する。
マスクイネーブル信号のHレベルは、復帰信号保持回路110および復帰信号マスク回路120に入力される。すると、復帰信号保持回路110は、外部から復帰イベント信号（event）のHレベルが入力された場合にはこれを保持するようになる。
また、復帰信号マスク回路120は、入力される信号をマスクするようになる。
【００３７】
時刻T31に外部から復帰イベント信号（event）が入力されたとする。すると、復帰信号保持回路110は、このevent信号のHレベル（アサート）を保持する（hold_event）。
また、復帰イベント信号（event）は分岐され、省電力制御回路102にも入力される。
【００３８】
省電力制御回路102は、復帰イベント信号（event）を受けると、回路ブロック101に電源を投入し、制御・データインターフェース103を介して、回路ブロック101が動作開始をするために必要とするデータの設定を行う。すなわち、省電力制御回路102は、回路ブロック101の動作停止前に取得した内部データを書き戻し、また、必要に応じて内部レジスタの設定等を実行する。そして、省電力制御回路102は、回路ブロック101の動作開始に必要なデータの設定が完了したところでマスクイネーブル信号（Mask_enable）のアサートを解除してLレベルとする（時刻T32）。
【００３９】
マスクイネーブル信号（Mask_enable）がLレベルになると、復帰信号マスク回路120のマスク処理が解除される。
したがって、復帰信号保持回路110によって保持されていた復帰イベント信号が回路ブロック101に入力される。
また、復帰信号マスク回路120を介した復帰イベント信号は回路ブロック101に入力されるとともに、分岐して周辺回路133,134,135の初期化信号であるリセット信号として出力される。
これにより、回路ブロック101の復帰後に、関連する周辺回路（133、134、135）にリセットをかけ、システム内の不整合を回避することができる。
【００４０】
このような構成を備える第1実施形態によれば、次の効果を奏することができる。
動作停止時にエッジ検出型の復帰イベント信号が入力された場合であっても、復帰信号保持回路110により復帰イベント信号の状態が保持されるため、動作再開後に確実に復帰イベントをアサートできる。
【００４１】
また、復帰イベント信号が回路ブロック101の初期化を要求するリセット信号の場合には、復帰信号マスク回路120の出力信号（Masked_event）を周辺回路（133、134、135）に出力できるので、回路ブロック101のリセットに合わせて、関連する周辺回路にもリセットをかけることができる。これにより、リセットタイミングの相違による状態の不一致を防止できる。
【００４２】
（第2実施形態）
次に、本発明の第2実施形態を説明する。
第2実施形態の基本的構成は第1実施形態に同様であるが、割り込みイベント信号を保持するイベント保持回路210と、リセット信号を保持するリセット保持回路と、を備えていることに特徴を有する。
上記第1実施形態では、エッジ検出型の復帰イベント信号を保持する場合を説明した。
エッジ検出型の復帰イベント信号としては例えばリセット信号がある。
一方、レベル検出型のイベント信号であれば、マスク解除後でもイベント指令を検出できるため、これまでは特別な対応は必要なかった。
しかし、近年では、エッジ検出型のイベント指令が多用される傾向にある。このようにエッジ検出型のイベント指令がスタンバイ時に指令されると、マスク処理によって回路ブロック101にはイベント指令が入力されない。そのため、この指令が実行されないという問題が生じる。
【００４３】
この点、第2実施形態では、図6に示すように、割り込みイベント指令（INT）のアサートを保持するイベント保持回路210と、リセット信号を保持するリセット保持回路220と、を備えている。
ここで、リセット信号（RESET）が例えば前記第1実施形態の復帰イベント信号に該当する。
また、割り込みイベント指令（INT）は、従来はレベル検出型であったが、本実施形態ではレベル検出型でもエッジ検出型でもよい。
【００４４】
イベント保持回路210およびリセット保持回路220の内部構成としては、前記復帰信号保持回路110と同様である。
また、イベント保持回路210およびリセット保持回路220には、省電力制御回路102からのマスクイネーブル信号が分岐して入力されている。
これにより、マスクイネーブル信号がHレベルのときは、外部からの割り込みイベント信号のHレベルを保持する。
【００４５】
ここに、イベント保持回路210およびリセット保持回路220により、復帰信号保持回路が構成される。
【００４６】
マスク回路150には、イベント保持回路210からの出力信号（hold_INT）とリセット保持回路220からの出力信号（hold_RESET）とが入力されているところ、マスクイネーブル信号がHレベルのときは、これら入力信号をマスクし、入力信号のレベルに関係なくLレベルを出力する。
これにより、マスクイネーブル信号がHレベルのときは、外部からの信号が回路ブロック101に入らないようになる。
なお、マスク回路150は、マスクイネーブル信号がLレベルのときは、イベント保持回路210およびリセット保持回路220からの入力をそのまま回路ブロック101に出力する。
ここで、マスク回路150を介したイベント保持回路210の出力をMasked_INTとし、また、マスク回路150を介したリセット保持回路220の出力をMasked_RESETとする。
【００４７】
また、第2実施形態ではOR回路160を備えている。
OR回路160の一方の入力は割り込みイベント信号（INT）であり、他方の入力はリセット信号（RESET）である。
OR回路160の出力は、省電力制御回路102に入力される。
OR回路160からのHレベルは、スタンバイマスクとして省電力制御回路102に入力される。すなわち、OR回路160からHレベルが入力されると、省電力制御回路102は、回路ブロック101からのスタンバイ移行指令に関わらず、回路ブロック101をスタンバイモードから復帰させる処理を実行する。
【００４８】
また、マスク回路150を介したリセット保持回路220の出力（Masked_RESET）は分岐されて周辺回路133,134,135に入力されている。
【００４９】
このような第2実施形態によれば、エッジ検出型の割り込みイベント指令（INT）がスタンバイ時に指令された場合であっても、これをスタンバイ解除まで保持し、回路ブロック101が復帰したあとで、前記指令されたイベントを確実に実行することができる。
近年では、エッジ検出型のイベント指令が多用される傾向にあるが、本実施形態ではリセット指令だけでなく、イベント指令についてもイベント保持回路210によって保持するので、スタンバイ解除後にイベントを実行することができる。
【００５０】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
上記実施形態では、省電力制御回路に回路ブロックの内部データを退避させる場合を例示したが、この他、内部データを不揮発性のバックアップメモリに退避させるようにしてもよい。または、電源／電圧が低くなってもロジック回路の内容を再書き込みする必要がないリテンションフリップフロップ回路に内部データを退避させるようにしてもよい。
【００５１】
電源ON／OFF可能な回路ブロックとしては、中央処理装置の他、各種の演算、画像処理、通信処理などを行う回路部分を対象回路としてもよいことはもちろんである。
【００５２】
上記説明では、主として、Hレベルをアサートとして説明したが、Lアクティブの信号をアサートするとしてもよいことはもちろんである。
【００５３】
回路ブロックがスタンバイ状態のときに外部から入力されるRESET指令や割り込みイベント指令を復帰イベント指示信号として説明したが、復帰イベント指示信号としてはRESET等に限らず各種の動作指令が含まれることはもちろんである。
【符号の説明】
【００５４】
100…半導体集積回路、101…回路ブロック、102…省電力制御回路、103…制御・データインターフェース、110…復帰信号保持回路、111…第1OR回路、112…フリップフロップ回路、113…第2OR回路、120…復帰信号マスク回路、121…セレクタ、131…復帰イベント発生回路、132…電源監視回路、133、134、135…周辺回路、136…システムバス、150…マスク回路、160…OR回路、210…イベント保持回路、220…リセット保持回路。
【図１】
2011008346.tif 000003
【図２】
2011008346.tif 000004
【図３】
2011008346.tif 000005
【図４】
2011008346.tif 000006
【図５】
2011008346.tif 000007
【図６】
2011008346.tif 000008
【図７】
2011008346.tif 000009
【図８】
2011008346.tif 000010