(57)【要約】【課題】信頼性の高いリセット情報を出力することを目的とする。【解決手段】リセット供給装置は、パワーオンリセット要求を基に、第１のリセット情報を出力する第１のシーケンサ（１０１１）と、特定ブロックリセット要求を基に、第２のリセット情報を出力する第２のシーケンサ（１０１２）と、前記パワーオンリセット要求の場合には前記第１のリセット情報を選択し、前記特定ブロックリセット要求の場合には前記第２のリセット情報を選択する第１の選択部（１０１３）とを有する。【選択図】図２
2019109743.tif 000002
【特許請求の範囲】
【請求項１】
パワーオンリセット要求を基に、第１のリセット情報を出力する第１のシーケンサと、
特定ブロックリセット要求を基に、第２のリセット情報を出力する第２のシーケンサと、
前記パワーオンリセット要求の場合には前記第１のリセット情報を選択し、前記特定ブロックリセット要求の場合には前記第２のリセット情報を選択する第１の選択部と
を有することを特徴とするリセット供給装置。
【請求項２】
前記第１のシーケンサは、前記パワーオンリセット要求を基に、第１のリセット制御信号を出力し、
前記第２のシーケンサは、前記特定ブロックリセット要求を基に、第２のリセット制御信号を出力し、
前記第１の選択部は、前記パワーオンリセット要求の場合には前記第１のリセット制御信号を選択し、前記特定ブロックリセット要求の場合には前記第２のリセット制御信号を選択し、
前記リセット供給装置は、前記第１の選択部が選択した前記第１のリセット制御信号または前記第２のリセット制御信号を保持し、第１のリセット信号を出力する第１の保持部をさらに有することを特徴とする請求項１に記載のリセット供給装置。
【請求項３】
前記第２のシーケンサは、第１の特定ブロックリセット要求または第２の特定ブロックリセット要求を基に、前記第２のリセット制御信号を出力し、
前記第１の選択部は、前記パワーオンリセット要求の場合には前記第１のリセット制御信号を選択し、前記第１の特定ブロックリセット要求の場合には前記第２のリセット制御信号を選択し、
前記リセット供給装置は、
前記パワーオンリセット要求の場合には前記第１のリセット制御信号を選択し、前記第２の特定ブロックリセット要求の場合には前記第２のリセット制御信号を選択する第２の選択部と、
前記第２の選択部が選択した前記第１のリセット制御信号または前記第２のリセット制御信号を保持し、第２のリセット信号を出力する第２の保持部とをさらに有することを特徴とする請求項２に記載のリセット供給装置。
【請求項４】
前記第１のシーケンサは、前記パワーオンリセット要求を基に、第１のリセット制御信号および第１のクロックイネーブル信号を出力し、
前記第２のシーケンサは、前記特定ブロックリセット要求を基に、第２のリセット制御信号および第２のクロックイネーブル信号を出力し、
前記第１の選択部は、前記パワーオンリセット要求の場合には前記第１のリセット制御信号を選択し、前記特定ブロックリセット要求の場合には前記第２のリセット制御信号を選択し、
前記リセット供給装置は、
前記第１の選択部が選択した前記第１のリセット制御信号または前記第２のリセット制御信号を保持し、第１のリセット信号を出力する第１の保持部と、
前記パワーオンリセット要求の場合には前記第１のクロックイネーブル信号を選択し、前記特定ブロックリセット要求の場合には前記第２のクロックイネーブル信号を選択する第２の選択部とをさらに有することを特徴とする請求項１に記載のリセット供給装置。
【請求項５】
前記第２のシーケンサは、第１の特定ブロックリセット要求または第２の特定ブロックリセット要求を基に、前記第２のリセット制御信号を出力し、
前記第１の選択部は、前記パワーオンリセット要求の場合には前記第１のリセット制御信号を選択し、前記第１の特定ブロックリセット要求の場合には前記第２のリセット制御信号を選択し、
前記第２の選択部は、前記パワーオンリセット要求の場合には前記第１のクロックイネーブル信号を選択し、前記第１の特定ブロックリセット要求の場合には前記第２のクロックイネーブル信号を選択し、
前記リセット供給装置は、
前記パワーオンリセット要求の場合には前記第１のリセット制御信号を選択し、前記第２の特定ブロックリセット要求の場合には前記第２のリセット制御信号を選択する第３の選択部と、
前記第３の選択部が選択した前記第１のリセット制御信号または前記第２のリセット制御信号を保持し、第２のリセット信号を出力する第２の保持部と、
前記パワーオンリセット要求の場合には前記第１のクロックイネーブル信号を選択し、前記第２の特定ブロックリセット要求の場合には前記第２のクロックイネーブル信号を選択する第４の選択部とをさらに有することを特徴とする請求項４に記載のリセット供給装置。
【請求項６】
前記第１のシーケンサは、前記パワーオンリセット要求を基に、第１のリセット信号を出力し、
前記第２のシーケンサは、前記特定ブロックリセット要求を基に、第２のリセット信号を出力し、
前記第１の選択部は、前記第１のリセット信号または前記第２のリセット信号を選択することを特徴とする請求項１に記載のリセット供給装置。
【請求項７】
前記第２のシーケンサは、第１の特定ブロックリセット要求または第２の特定ブロックリセット要求を基に、前記第２のリセット信号を出力し、
前記第１の選択部は、前記パワーオンリセット要求の場合には前記第１のリセット信号を選択し、前記第１の特定ブロックリセット要求の場合には前記第２のリセット信号を選択し、
前記リセット供給装置は、前記パワーオンリセット要求の場合には前記第１のリセット信号を選択し、前記第２の特定ブロックリセット要求の場合には前記第２のリセット信号を選択する第２の選択部をさらに有することを特徴とする請求項６に記載のリセット供給装置。
【請求項８】
前記第１のシーケンサは、前記パワーオンリセット要求を基に、第１のリセット信号および第１のクロックイネーブル信号を出力し、
前記第２のシーケンサは、前記特定ブロックリセット要求を基に、第２のリセット信号および第２のクロックイネーブル信号を出力し、
前記第１の選択部は、前記パワーオンリセット要求の場合には前記第１のリセット信号を選択し、前記特定ブロックリセット要求の場合には前記第２のリセット信号を選択し、
前記リセット供給装置は、前記パワーオンリセット要求の場合には前記第１のクロックイネーブル信号を選択し、前記特定ブロックリセット要求の場合には前記第２のクロックイネーブル信号を選択する第２の選択部をさらに有することを特徴とする請求項１に記載のリセット供給装置。
【請求項９】
前記第２のシーケンサは、第１の特定ブロックリセット要求または第２の特定ブロックリセット要求を基に、前記第２のリセット信号を出力し、
前記第１の選択部は、前記パワーオンリセット要求の場合には前記第１のリセット信号を選択し、前記第１の特定ブロックリセット要求の場合には前記第２のリセット信号を選択し、
前記第２の選択部は、前記パワーオンリセット要求の場合には前記第１のクロックイネーブル信号を選択し、前記第１の特定ブロックリセット要求の場合には前記第２のクロックイネーブル信号を選択し、
前記リセット供給装置は、
前記パワーオンリセット要求の場合には前記第１のリセット信号を選択し、前記第２の特定ブロックリセット要求の場合には前記第２のリセット信号を選択する第３の選択部と、
前記パワーオンリセット要求の場合には前記第１のクロックイネーブル信号を選択し、前記第２の特定ブロックリセット要求の場合には前記第２のクロックイネーブル信号を選択する第４の選択部とをさらに有することを特徴とする請求項８に記載のリセット供給装置。
【請求項１０】
前記第１のシーケンサは、第１のカウンタを有し、前記第１のカウンタのカウント値に基づき前記第１のリセット情報を生成し、
前記第２のシーケンサは、第２のカウンタを有し、前記第２のカウンタのカウント値に基づき前記第２のリセット情報を生成することを特徴とする請求項１〜９のいずれか１項に記載のリセット供給装置。
【請求項１１】
前記第１のシーケンサと前記第２のシーケンサは、相互に構成が同じであることを特徴とする請求項１〜１０のいずれか１項に記載のリセット供給装置。
【請求項１２】
前記第１のシーケンサは、
前記パワーオンリセット要求を基に、カウントを行い、カウント値を基に前記第１のリセット情報を生成する第３のシーケンサと、
前記第３のシーケンサのカウントの完了後、カウントを行う第４のシーケンサとを有し、
前記第２のシーケンサは、前記特定ブロックリセット要求を基に、カウントを行い、カウント値を基に前記第２のリセット情報を生成する第５のシーケンサを有し、
前記第４のシーケンサと前記第５のシーケンサは、相互に構成が同じであることを特徴とする請求項１〜１０のいずれか１項に記載のリセット供給装置。
【請求項１３】
前記特定ブロックリセット要求は、特定ブロック電源復帰要求であることを特徴とする請求項１〜１２のいずれか１項に記載のリセット供給装置。
【請求項１４】
第１のシーケンサにより、パワーオンリセット要求を基に、第１のリセット情報を出力するステップと、
第２のシーケンサにより、特定ブロックリセット要求を基に、第２のリセット情報を出力するステップと、
第１の選択部により、前記パワーオンリセット要求の場合には前記第１のリセット情報を選択し、前記特定ブロックリセット要求の場合には前記第２のリセット情報を選択するステップと
を有することを特徴とするリセット供給装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リセット供給装置およびリセット供給装置の制御方法に関する。
【背景技術】
【０００２】
近年、デジタルカメラやスマートフォンなどの携帯端末機器の高性能化および高機能化が進み、ＬＳＩの消費電力が増大している。消費電力は、ダイナミック電力とリーク電力に分類される。ダイナミック電力は、回路が動作している期間に消費する電力である。リーク電力は、回路が動作しているかどうかに関わらず電源が入っている状態で定常的に消費する電力である。近年のプロセス微細化に伴い、ＬＳＩ全体の電力に占めるリーク電力の割合が急激に増加し、その対策が急務となっている。
【０００３】
このリーク電力を削減する代表的な手法として、半導体集積回路のシステムの各機能を実現する各機能ブロックを電源遮断ブロックに分割し、各機能ブロックが担当する機能を使用していない期間に当該機能ブロックへの電源を遮断する、「電源遮断」がある。この「電源遮断」の場合、ダイナミック電力の削減対策の代表として知られるクロック遮断（クロックゲーティング）の場合とは異なり、電源遮断への移行、電源遮断状態からの復帰時に、複数の信号の制御が必要となる。この信号の例としては、電源スイッチ制御、クロック制御、リセット制御、アイソレーション制御等である。この電源遮断シーケンスと電源復帰シーケンスは、周辺の電源遮断していないブロックへの影響を抑制し、電源遮断対象の機能ブロックが不安定な状態から処理を再開することを防ぐために必要となる。
【０００４】
この電源遮断シーケンスと電源復帰シーケンスを実現するには、いくつかの手法が考えられる。１つは、ソフトウェア制御による実装である。ハードウェアでは、電源スイッチと、リセット等の制御信号の極性を制御できるように実装しておき、ソフトウェアでその極性とタイミングを全て制御するものである。この手法だと、ソフトウェアの開発段階で試行錯誤しながら、電源遮断・復帰シーケンスを実装できるため、ＬＳＩハード実装としての開発日程を短縮できる。
【０００５】
もう１つは、特許文献１のように、電源遮断・復帰専用のハードウェア固定回路により実装されるものである。ソフトウェアは、この電源遮断・復帰専用のハードウェア固定回路を起動するのみのため、ソフトウェア設計者の負荷は軽くなる。一方で、専用のハードを固定回路で設計するため、想定シーケンスに間違いがあった場合、ハードウェア不良がＬＳＩ実装以降に残ってしまい、ＬＳＩ製造後のマスク修正（リスピン）の可能性を残してしまう。
【０００６】
この課題を解決するために、特許文献２では、電源遮断・復帰シーケンス用のシーケンスをハードウェア固定回路ではなく、書き換え可能な専用メモリに格納して使用することで、シーケンスの柔軟性を確保している。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００２−３４１９７６号公報
【特許文献２】特開２００６−１０７１２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上述したように、ソフトウェア制御による電源遮断・復帰シーケンスの実現では、ハードウェア要件の色合いが強く、ソフトウェア設計者にイメージしづらい信号群の制御の全てをソフトウェア開発工程で実装するため、潜在的な不良が残ってしまう可能性がある。
【０００９】
特許文献２のようなハードウェア制御による電源遮断・復帰シーケンスの実現では、ある程度のシーケンスの汎用性は残しているが、やはり電源遮断用の専用処理となってしまうため、ハードウェア不良の発生を抑え込むのは難しい。
【００１０】
また、近年、リセットシーケンス時に制御する信号数や信号間のタイミング制約等の増加により、複雑なリセットシーケンス制御が要求され、設計難易度が高まっている。一方で、さらなる省電力化の目的で、細粒度での電源遮断制御が必要になり、より短期間でリセットシーケンスを完了することが求められている。かかる課題を解決するために、電源復帰時に実行するリセットシーケンスを信頼性の高いハードウェアで自動化することが求められる。
【００１１】
本発明は上述した問題を解決するためになされたものであり、信頼性の高いリセット情報を出力することを目的とする。
【課題を解決するための手段】
【００１２】
本発明のリセット供給装置は、パワーオンリセット要求を基に、第１のリセット情報を出力する第１のシーケンサと、特定ブロックリセット要求を基に、第２のリセット情報を出力する第２のシーケンサと、前記パワーオンリセット要求の場合には前記第１のリセット情報を選択し、前記特定ブロックリセット要求の場合には前記第２のリセット情報を選択する第１の選択部とを有する。
【発明の効果】
【００１３】
本発明によれば、信頼性の高いリセット情報を出力することができる。
【図面の簡単な説明】
【００１４】
【図１】情報処理装置の構成例を示すブロック図である。
【図２】リセット供給部の構成例を示すブロック図である。
【図３】クロック供給部の構成例を示すブロック図である。
【図４】リセット同期化器の構成例を示す図である。
【図５】電源復帰シーケンスを説明するフローチャートである。
【図６】電源遮断シーケンスを説明するフローチャートである。
【図７】リセットシーケンスを説明するフローチャートである。
【図８】リセット供給部とクロック供給部の動作を説明する図である。
【図９】リセット供給部とクロック供給部の動作を説明する図である。
【図１０】リセット供給部とクロック供給部の動作を説明する図である。
【図１１】リセット供給部の他の例を示すブロック図である。
【図１２】リセットシーケンサを説明するブロック図である。
【図１３】ステートを示す図である。
【発明を実施するための形態】
【００１５】
以下に、図面を参照して、この発明の好適な実施の形態を詳しく説明する。なお、以下の実施形態はあくまで例示であり、本発明の範囲を限定する趣旨のものではない。
（第１の実施形態）
図１は、本発明の第１の実施形態による情報処理装置１０の構成例を示すブロック図である。情報処理装置１０は、例えばデジタルカメラシステム用情報処理装置であり、システムオンチップとよばれる半導体装置である。情報処理装置１０は、リセット供給部１０１と、クロック供給部１０２と、電源制御部１０３を有する。リセット供給部１０１は、外部リセット信号を入力し、情報処理装置１０内部の各ブロックに供給するリセット信号１〜５を生成するリセット供給装置である。クロック供給部１０２は、クロック信号１〜５を生成する。電源制御部１０３は、各サブシステム（電源遮断ブロック）１０６および１０７に出力する電源制御信号１、２を生成する。
【００１６】
リセット供給部１０１は、リセット信号１をサブシステム１０６に出力し、リセット信号２をサブシステム１０７に出力する。また、リセット供給部１０１は、リセット信号３をバスシステム１０４に出力し、リセット信号４をＣＰＵ１０５に出力し、リセット信号５をメモリコントローラ１０８に出力する。
【００１７】
クロック供給部１０２は、クロック信号１をサブシステム１０６に出力し、クロック信号２をサブシステム１０７に出力する。また、クロック供給部１０２は、クロック信号３をバスシステム１０４に出力し、クロック信号４をＣＰＵ１０５に出力し、クロック信号５をメモリコントローラ１０８に出力する。
【００１８】
情報処理装置１０は、データ転送を司るバスシステム１０４を有し、インターコネクト、ファブリック、オンチップネットワークまたはネットワークオンチップと呼ばれる。バスシステム１０４には、情報処理装置１０全体の処理を行うＣＰＵ１０５が接続されている。また、バスシステム１０４には、情報処理装置１０の外部のセンサからデジタルデータを受信し、ＤＲＡＭ２０に映像データを転送する映像入力処理部が接続される。さらに、バスシステム１０４には、ＤＲＡＭ２０に格納された映像データを加工処理する画像加工処理部と、映像データを情報処理装置１０の外部に転送する映像出力処理部等が接続されている。サブシステム１０６とサブシステム１０７が、これらの処理部を担っている。
【００１９】
バスシステム１０４には、ＤＲＡＭ２０にデータを転送するメモリコントローラ１０８が接続されている。ＣＰＵ１０５は、ＤＲＡＭ２０をワークメモリとして図には示さないＲＯＭに格納されたプログラムを実行する。
【００２０】
リセット供給部１０１は、クロック供給部１０２からクロック信号７が供給され、そのクロック信号７に同期して動作する。リセット供給部１０１は、リセット信号１〜５と共にクロックイネーブル信号１０９を生成し、クロックイネーブル信号１０９をクロック供給部１０２に出力する。クロックイネーブル信号１０９は、図３に示すように、５本のクロックイネーブル信号１〜５を有する。クロックイネーブル信号１〜５は、それぞれ、クロック信号１〜５を個別に制御するための信号である。リセット供給部１０１の動作の詳細は、図２と共に後述する。
【００２１】
クロック供給部１０２は、クロックイネーブル信号１〜５が有効になると、それらに対応したクロック信号１〜５を出力する。さらに、クロック信号１〜５は、個別に周波数制御が可能である。クロック供給部１０２の動作の詳細は、図３と共に後述する。
【００２２】
電源制御部１０３は、電源制御信号１をサブシステム１０６に出力し、電源制御信号２をサブシステム１０７に出力し、割り込み信号をＣＰＵ１０５に出力する。電源制御部１０３は、電源制御信号１、２により、情報処理装置１０の内部のサブシステム（電源遮断ブロック）１０６および１０７の電源供給制御とアイソレーション制御を行う。電源供給制御とアイソレーション制御は、別々の信号で制御される。図１では、電源供給制御信号とアイソレーション制御信号を束ねて、電源制御信号１、２として表現している。ここで、アイソレーション制御とは、電源が遮断された回路が他の遮断されていない回路へ影響を及ぼすことを防ぐためのマスク制御を指す。
【００２３】
リセット供給部１０１、クロック供給部１０２、および電源制御部１０３は、シーケンス状態通知インターフェースで相互接続されている。シーケンス状態通知インターフェースは、電源遮断シーケンスおよび電源復帰シーケンス実行時にお互いのシーケンス実行状態を通知し合うために使用される。
【００２４】
サブシステム１０６とサブシステム１０７は、電源遮断ブロックであり、電源制御部１０３により電源制御信号１と電源制御信号２を介して、各々の電源供給とアイソレーションが個別に制御される。その他の機能ブロックは、電源遮断対象外であり、常時電源が供給されている。
【００２５】
バスシステム１０４、ＣＰＵ１０５、サブシステム１０６、サブシステム１０７およびメモリコントローラ１０８は、同期リセット方式の機能ブロックであり、リセット同期化器を有し、リセットを実行するのに少なくとも３サイクルのクロックパルスを必要とする。リセット同期化器は、同期リセットで、リセット実行に複数クロックパルスを必要とする要因の一つである。リセット同期化器の詳細は、図４で後述する。
【００２６】
図２は、リセット供給部１０１の構成例を示すブロック図である。リセット供給部１０１は、パワーオンリセット用リセットシーケンサ１０１１と、電源遮断用リセットシーケンサ１０１２と、リセット制御信号選択部１０１３、１０１４と、クロックイネーブル選択部１０１５、１０１６と、リセット保持部１０１７とを有する。
【００２７】
パワーオンリセット用リセットシーケンサ１０１１は、チップ起動時に動作するリセットシーケンサであり、情報処理装置１０の外部から入力される外部リセット信号（パワーオンリセット要求）をトリガーとして起動する。パワーオンリセット用リセットシーケンサ１０１１は、外部リセット信号を基に、パワーオンリセット用リセット制御信号１、２と、パワーオンリセット用クロックイネーブル信号１、２を含むリセット情報を出力する。パワーオンリセット用リセット制御信号１は、ＣＰＵ１０５に供給するリセット信号４を制御する信号である。パワーオンリセット用リセット制御信号２は、その他の機能ブロックへ供給するリセット信号を制御する信号である。
【００２８】
リセット保持部１０１７は、パワーオンリセット用リセット制御情報１が示すレベルをリセット信号４として保持し、リセット信号４を出力する。リセット保持部１０１８は、パワーオンリセット用リセット制御情報２が示すレベルをリセット信号３として保持し、リセット信号３を出力する。リセット保持部１０１９は、パワーオンリセット用リセット制御情報２が示すレベルをリセット信号５として保持し、リセット信号５を出力する。リセット信号１〜５は、ローレベルでアクティブ（ローアクティブ）である。
【００２９】
パワーオンリセット用リセットシーケンサ１０１１は、外部リセット信号をトリガーとしてパワーオンリセットシーケンスを開始する。パワーオンリセットシーケンスの詳細は、図７と共に後述する。パワーオンリセット用リセットシーケンサ１０１１は、パワーオンリセット用クロックイネーブル信号１と、パワーオンリセット用クロックイネーブル信号２を生成する。パワーオンリセット用リセットシーケンサ１０１１は、パワーオンリセット用クロックイネーブル信号１をクロックイネーブル信号４としてクロック供給部１０２に出力する。クロックイネーブル信号４は、クロックイネーブル信号１０９の一部であり、ＣＰＵ１０５のクロック信号４のクロックイネーブル信号である。パワーオンリセット用リセットシーケンサ１０１１は、パワーオンリセット用クロックイネーブル信号２をクロックイネーブル信号３、５としてクロック供給部１０２に出力する。クロックイネーブル信号３は、クロックイネーブル信号１０９の一部であり、バスシステム１０４のクロック信号３のクロックイネーブル信号である。クロックイネーブル信号５は、クロックイネーブル信号１０９の一部であり、メモリコントローラ１０８のクロック信号５のクロックイネーブル信号である。
【００３０】
電源遮断用リセットシーケンサ１０１２は、電源復帰シーケンス時に動作するリセットシーケンサであり、シーケンス状態通知インターフェースを介して電源制御部１０３から通知されるシーケンス状態をトリガーとして起動する。すなわち、リセット供給部１０１は、このシーケンス状態通知インターフェースを介して入力する特定ブロックリセット要求をトリガーとして起動する。特定ブロックリセット要求は、例えば、特定ブロック電源復帰要求である。電源遮断用リセットシーケンサ１０１２は、リセットシーケンスの状態を、シーケンス状態通知インターフェースを介してクロック供給部１０２と電源制御部１０３へ通知する。
【００３１】
電源遮断用リセットシーケンサ１０１２とパワーオンリセット用リセットシーケンサ１０１１は、相互に構成が同じであり、同様の動作を行う。電源遮断用リセットシーケンサ１０１２は、特定ブロックリセット要求を基に、電源遮断用リセット制御信号１と、電源遮断用リセット制御信号２と、電源遮断用クロックイネーブル信号１と、電源遮断用クロックイネーブル信号２を含むリセット情報を出力する。
【００３２】
電源遮断用リセット制御信号１は、ＣＰＵ１０５のリセット信号４を制御する信号であるが、ＣＰＵ１０５が電源遮断対象ブロックではないため未接続である。電源遮断用リセット制御信号２は、サブシステム１０６のリセット信号１と、サブシステム１０７のリセット信号２を制御する信号である。
【００３３】
電源遮断用クロックイネーブル信号１は、ＣＰＵ１０５のクロック信号４の電源遮断用クロックイネーブル信号であるが、ＣＰＵ１０５が電源遮断対象ブロックではないため未接続である。電源遮断用クロックイネーブル信号２は、サブシステム１０６のクロック信号１とサブシステム１０７のクロック信号２の電源遮断用クロックイネーブル信号である。
【００３４】
リセット制御信号選択部１０１３および１０１４は、シーケンス状態通知インターフェースを介して通知される電源復帰シーケンスの電源遮断対象ブロック情報を入力する。リセット制御信号選択部１０１３は、電源遮断対象ブロック情報を基に、パワーオンリセット用リセット制御信号２または電源遮断用リセット制御信号２を選択し、リセット制御信号１として出力する。具体的には、リセット制御信号選択部１０１３は、サブシステム１０６の電源復帰シーケンス（特定ブロックリセット要求）の期間では電源遮断用リセット制御信号２を選択する。また、リセット制御信号選択部１０１３は、パワーオンリセットシーケンス（パワーオンリセット要求）の期間ではパワーオンリセット用リセット制御信号２を選択する。リセット保持部１０２０は、リセット制御信号１が示すレベルをリセット信号１として保持、リセット信号１を出力する。
【００３５】
リセット制御信号選択部１０１４は、電源遮断対象ブロック情報を基に、パワーオンリセット用リセット制御信号２または電源遮断用リセット制御信号２を選択し、リセット制御信号１として出力する。具体的には、リセット制御信号選択部１０１４は、サブシステム１０７の電源復帰シーケンスの期間では電源遮断用リセット制御信号２を選択し、パワーオンリセットシーケンスの期間ではパワーオンリセット用リセット制御信号２を選択する。リセット保持部１０２１は、リセット制御信号２が示すレベルをリセット信号２として保持し、リセット信号２を出力する。
【００３６】
クロックイネーブル選択部１０１５および１０１６は、シーケンス状態通知インターフェースを介して通知される電源復帰シーケンスの電源遮断対象ブロック情報を入力する。クロックイネーブル選択部１０１５は、電源遮断対象ブロック情報を基に、パワーオンリセット用クロックイネーブル信号２または電源遮断用クロックイネーブル信号２を選択し、クロックイネーブル信号１として出力する。具体的には、クロックイネーブル選択部１０１５は、サブシステム１０６の電源復帰シーケンスの期間では電源遮断用クロックイネーブル信号２を選択し、パワーオンリセットシーケンスの期間ではパワーオンリセット用クロックイネーブル信号２を選択する。
【００３７】
クロックイネーブル選択部１０１６は、電源遮断対象ブロック情報を基に、パワーオンリセット用クロックイネーブル信号２または電源遮断用クロックイネーブル信号２を選択し、クロックイネーブル信号２として出力する。具体的には、クロックイネーブル選択部１０１６は、サブシステム１０７の電源復帰シーケンスの期間では電源遮断用クロックイネーブル信号２を選択し、パワーオンリセットシーケンスの期間ではパワーオンリセット用クロックイネーブル信号２を選択する。
【００３８】
以上のように、選択部１０１３〜１０１６は、パワーオンリセット時には、パワーオンリセット用リセットシーケンサ１０１１が出力する信号を選択する。また、選択部１０１３〜１０１６は、電源復帰シーケンス中には、電源遮断対象ブロックに対してのみ電源遮断用リセットシーケンサ１０１２が出力する信号を選択する。
【００３９】
図３は、クロック供給部１０２の構成例を示すブロック図である。ＯＳＣ（オシレーター）１０２２は、低周波のクロック信号を生成する発振回路である。ＰＬＬ（Phase Lock Loop）１０２３は、ＯＳＣ１０２２が生成するクロック信号よりも高周波のクロック信号を生成する位相同期回路である。なお、クロック信号のソース源は、ＯＳＣ１０２２とＰＬＬ１０２３に限るものではなく、いかなる形態でもよい。
【００４０】
マルチプレクサ１０２６は、クロック制御部１０２４が生成するセレクト信号に応じて、ＯＳＣ１０２２とＰＬＬ１０２３が出力するクロック信号のどちらか一方を選択し、クロック信号６として出力する。
【００４１】
チップ起動時のパワーオンリセット期間の初期状態では、マルチプレクサ１０２６は、ＯＳＣ１０２２が出力する低周波クロック信号を選択し、クロック６として出力する。パワーオンリセット完了後では、マルチプレクサ１０２６は、ＰＬＬ１０２３が出力する高周波クロック信号を選択することで、情報処理装置１０は、全体が高速で処理実行可能になる。以下、低周波クロック信号選択時を低速動作モードと呼び、高周波クロック信号選択時を通常動作モードと呼ぶ。
【００４２】
クロック制御部１０２４は、前述した通り、マルチプレクサ１０２６のセレクト信号を生成する。また、クロック制御部１０２４は、クロックイネーブル信号７〜クロックイネーブル信号１１を生成する。クロック制御部１０２４は、レジスタインターフェースを備え、バスシステム１０４を介してＣＰＵ１０５からレジスタアクセスにより出力信号を制御してもよい。また、クロック制御部１０２４がハードウェアシーケンサを具備し、リセット信号やその他チップの状態を示す信号の状態に応じて、自動で出力信号を制御してもよい。
【００４３】
クロック分周設定部１０２５は、シーケンス状態通知インターフェースを介して電源遮断用リセットシーケンサ１０１２から通知されるシーケンス状態をトリガーとして、クロック分周部１０２７〜１０３１に分周比をそれぞれ出力する。クロック分周設定部１０２５は、クロック信号１〜クロック信号５の各々に対応したクロック分周部１０２７〜１０３１に対する分周比を個別に制御可能である。クロック分周設定部１０２５は、シーケンス状態通知インターフェースから実行中の電源復帰シーケンスの電源遮断対象ブロック情報を通知されることで、その電源遮断対象ブロックに対応したクロック信号に対する分周比のみを制御する。また、クロック分周設定部１０２５は、マルチプレクサ１０２６の選択を監視し、クロック信号６の周波数に応じてリセット実行に適切な分周比を決定する。
【００４４】
クロック分周部１０２７〜１０３１は、それぞれ、クロック分周設定部１０２５から通知される分周比に基づき、クロック信号６を分周し、クロックゲーティング部１０３７〜１０４１に対してクロック信号を出力する。
【００４５】
論理和回路１０３２は、クロックイネーブル信号１とクロックイネーブル信号７との論理和信号を出力する。クロックイネーブル信号１〜１１は、ハイレベルでアクティブ（ハイアクティブ）とする。クロックゲーティング部１０３７は、論理和回路１０３２の出力信号がハイレベルの期間では、クロック分周部１０２７が出力するクロック信号をクロック信号１として出力する。また、クロックゲーティング部１０３７は、論理和回路１０３２の出力信号がローレベルの期間では、クロック信号１を遮断する。
【００４６】
論理和回路１０３３は、クロックイネーブル信号２とクロックイネーブル信号８との論理和信号を出力する。クロックゲーティング部１０３８は、論理和回路１０３３の出力信号がハイレベルの期間では、クロック分周部１０２８が出力するクロック信号をクロック信号２として出力する。また、クロックゲーティング部１０３８は、論理和回路１０３３の出力信号がローレベルの期間では、クロック信号２を遮断する。
【００４７】
論理和回路１０３４は、クロックイネーブル信号３とクロックイネーブル信号９との論理和信号を出力する。クロックゲーティング部１０３９は、論理和回路１０３４の出力信号がハイレベルの期間では、クロック分周部１０２９が出力するクロック信号をクロック信号３として出力する。また、クロックゲーティング部１０３９は、論理和回路１０３４の出力信号がローレベルの期間では、クロック信号３を遮断する。
【００４８】
論理和回路１０３５は、クロックイネーブル信号４とクロックイネーブル信号１０との論理和信号を出力する。クロックゲーティング部１０４０は、論理和回路１０３５の出力信号がハイレベルの期間では、クロック分周部１０３０が出力するクロック信号をクロック信号４として出力する。また、クロックゲーティング部１０４０は、論理和回路１０３５の出力信号がローレベルの期間では、クロック信号４を遮断する。
【００４９】
論理和回路１０３６は、クロックイネーブル信号５とクロックイネーブル信号１１との論理和信号を出力する。クロックゲーティング部１０４１は、論理和回路１０３６の出力信号がハイレベルの期間では、クロック分周部１０３１が出力するクロック信号をクロック信号５として出力する。また、クロックゲーティング部１０４１は、論理和回路１０３６の出力信号がローレベルの期間では、クロック信号５を遮断する。
【００５０】
クロックゲーティング部１０３７〜１０４１は、リセット供給部１０１またはクロック制御部１０２４が出力するクロックイネーブル信号のどちらかがハイレベルの期間に、クロック信号を通過させる。クロックゲーティング部１０３７〜１０４１の代表的な回路は、ＧＣＢ（クロックゲーティングバッファ）である。
【００５１】
図４は、リセット同期化器の構成例を示す図である。リセット同期化器は、バスシステム１０４、ＣＰＵ１０５、サブシステム１０６、サブシステム１０７、およびメモリコントローラ１０８内にそれぞれ設けられ、同期リセット方式におけるリセット信号の同期化を行う。
【００５２】
リセット同期化器３０は、２つのフリップフロップ３０１とフリップフロップ３０２を有する。フリップフロップ３０１とフリップフロップ３０２は、クロック信号に同期してリセット信号を受信する。リセット同期化器３０は、リセット信号が有効（ローレベル）になると、２サイクル後にローレベルを出力する。図４では、終端に存在するフリップフロップ３１の初期値が０である場合を示している。リセット同期化器３０が出力するリセット信号は、論理積回路３２を介して、フリップフロップ３１のＤ端子に到達する。フリップフロップ３１は、リセット信号が同期化された次のサイクルでローレベルをラッチし、リセット状態となる。なお、論理積回路３２のもう一方の入力は図４に示していないが、リセット信号が無効（ハイレベル）のときに、フリップフロップ３１がラッチする入力信号が入力される。
【００５３】
バスシステム１０４、ＣＰＵ１０５、サブシステム１０６、サブシステム１０７、およびメモリコントローラ１０８内に、それぞれ、リセット同期化器が存在すると、終端のフリップフロップ３１がリセット状態になるまでに、合計３サイクル必要となる。リセット解除時も同様で、リセット信号が無効（ハイレベル）になり、終端のフリップフロップ３１に反映されるまでに、３サイクル必要となる。バスシステム１０４、ＣＰＵ１０５、サブシステム１０６、サブシステム１０７、およびメモリコントローラ１０８の内部に、リセット同期化器が多段に配置されれば、その数に応じて同期リセットに必要なクロックパルス数は増加していくこととなる。
【００５４】
図５は、電源遮断ブロックの電源復帰シーケンス動作を説明するためのフローチャートである。電源遮断ブロックは、サブシステム１０６または１０７である。なお、図５に示す電源復帰シーケンスは、各電源遮断ブロックを個々に電源復帰するシーケンスであり、各電源遮断ブロックは順次排他で制御される。説明の容易化のため、サブシステム１０６が電源復帰する場合を以下説明する。
【００５５】
ステップＳ０では、サブシステム１０６は、電源復帰シーケンス開始時にはパワーオフ状態であり、電源が供給されていない。クロック供給部１０２は、クロック信号１を停止しており、サブシステム１０６のアイソレーション機能が有効となっている。
【００５６】
次に、ステップＳ１では、電源制御部１０３は、ＣＰＵ１０５から電源復帰シーケンス開始（特定ブロック電源復帰要求）が通知されると、電源制御信号１により、サブシステム１０６のパワースイッチを有効にし、サブシステム１０６に電源を供給する。ＣＰＵ１０５が電源制御部１０３へ電源復帰シーケンス開始を通知する方法の一例として、電源制御部１０３にレジスタインターフェースを設ける。ＣＰＵ１０５は、バスシステム１０４を介して、電源制御部１０３が所持するシーケンス起動レジスタを書き換えることにより、電源復帰シーケンス開始を通知することができる。
【００５７】
次に、ステップＳ２では、電源制御部１０３は、サブシステム１０６に電源が供給されると、シーケンス状態通知インターフェースを介してリセット供給部１０１に電源供給が完了したことを通知する。リセット供給部１０１は、サブシステム１０６に対するリセットシーケンスを実行する。この電源復帰時のリセットシーケンスの詳細は、後述する図７、図９、図１０で説明する。また、電源制御部１０３は、シーケンス状態通知インターフェースを介して、電源供給完了状態と共に、電源遮断対象ブロックがサブシステム１０６であることを通知する。
【００５８】
次に、ステップＳ３では、リセット供給部１０１は、リセットシーケンスが完了すると、電源制御部１０３にリセットシーケンス完了を通知する。電源制御部１０３は、電源制御信号１により、サブシステム１０６のアイソレーションを無効化する制御を行う。
【００５９】
次に、ステップＳ４では、電源制御部１０３は、アイソレーション無効化が完了すると、ＣＰＵ１０５に電源復帰シーケンス完了を通知する。電源制御部１０３がＣＰＵ１０５へ電源復帰シーケンス完了を通知する方法として、図１に示す割り込み信号を用いてもよい。または、電源制御部１０３にステータスレジスタを設け、ＣＰＵ１０５が電源制御部１０３のステータスレジスタをポーリングする方法で通知してもよい。
【００６０】
ステップＳ５では、サブシステム１０６の電源復帰シーケンスが完了し、サブシステム１０６は、動作可能な状態となる。
【００６１】
図６は、電源遮断ブロックの電源遮断シーケンス動作を説明するためのフローチャートである。図６に示す電源遮断シーケンスは、各電源遮断ブロックを個々に電源遮断するシーケンスであり、各電源遮断ブロックは順次排他で制御される。説明の容易化のため、電源遮断ブロックがサブシステム１０６であり、サブシステム１０６を電源遮断する場合を以下説明する。
【００６２】
ステップＳ５では、サブシステム１０６は、電源遮断シーケンス開始時には、パワーオン状態であり、電源が供給されている。サブシステム１０６のアイソレーション機能は、無効となっている。
【００６３】
次に、ステップＳ６では、電源制御部１０３は、ＣＰＵ１０５から電源遮断シーケンス開始が通知されると、電源制御信号１により、サブシステム１０６に対してアイソレーションを有効化する制御を行う。ＣＰＵ１０５から電源制御部１０３へ電源遮断シーケンス開始を通知する方法の一例として、電源復帰シーケンスと同様に、前述したレジスタインターフェースを用いることができる。
【００６４】
次に、ステップＳ７では、電源制御部１０３は、アイソレーション有効化が完了すると、シーケンス状態通知インターフェースを介してリセット供給部１０１にアイソレーション有効化完了を通知する。すると、リセット供給部１０１は、サブシステム１０６のリセット信号１を有効化する。
【００６５】
次に、ステップＳ８では、リセット供給部１０１は、リセット信号１の有効化が完了すると、電源制御部１０３にリセット信号１の有効化完了を通知する。すると、電源制御部１０３は、電源制御信号１により、サブシステム１０６のパワースイッチを無効にし、サブシステム１０６の電源を遮断する。
【００６６】
次に、ステップＳ９では、電源制御部１０３は、サブシステム１０６の電源が遮断されると、ＣＰＵ１０５に電源遮断シーケンス完了を通知する。電源制御部１０３がＣＰＵ１０５へ電源遮断シーケンス完了を通知する方法として、前述した割り込み信号を用いる方法でもよいし、電源制御部１０３に設けたステータスレジスタをポーリングする方法を用いてもよい。
【００６７】
次に、ステップＳ０では、サブシステム１０６の電源遮断シーケンスが完了し、サブシステム１０６は、電源が遮断された状態となる。
【００６８】
なお、図５と図６で説明したシーケンスは一例であり、回路の動作を不安定にさせずに電源遮断および復帰を実現できる範囲で各ステップの実行順番を入れ替えてもよい。
【００６９】
図７は、図７のステップＳ２のリセットシーケンスの処理の詳細を示すフローチャートである。説明の容易化のため、サブシステム１０６をリセットする場合を以下説明する。
【００７０】
ステップＳ２０では、電源制御部１０３は、リセット供給部１０１に対して、サブシステム１０６への電源供給が完了したことを、シーケンス状態通知インターフェースを介して通知する。
【００７１】
次に、ステップＳ２１では、リセット供給部１０１は、サブシステム１０６に供給しているリセット信号１を有効にする。ただし、ステップＳ２１では、リセット供給部１０１は、リセットシーケンス開始時点でリセット信号１が既に有効状態にある場合、有効状態を維持する動作をする。
【００７２】
次に、ステップＳ２２では、クロック供給部１０２は、リセット供給部１０１からリセットシーケンスが開始されたことが通知される。すると、クロック供給部１０２は、電源復帰対象であるサブシステム１０６のクロック信号１の周波数を、リセット実行に適切となるような分周比に変更する。
【００７３】
次に、ステップＳ２３では、リセット供給部１０１は、クロック信号１に対応するクロックイネーブル信号１を有効にする。すると、クロック供給部１０２は、クロックイネーブル信号１が有効な期間、３サイクルのクロック信号１を出力する。
【００７４】
次に、ステップＳ２４では、クロック供給部１０２は、クロック信号１の供給を完了し、サブシステム１０６は、リセット状態になる。すると、リセット供給部１０１は、リセット信号１を無効にする。
【００７５】
次に、ステップＳ２５では、リセット供給部１０１は、リセット信号１が無効になった後、再度、クロック１に対応するクロックイネーブル信号１を有効にする。すると、クロック供給部１０２は、クロックイネーブル信号１が有効な期間、３サイクルのクロック信号１を出力する。
【００７６】
次に、ステップＳ２６では、クロック供給部１０２は、クロック信号１の供給を完了し、サブシステム１０６の内部の回路全てがリセット解除状態となる。クロック供給部１０２は、リセット供給部１０１からリセット解除が完了したことが通知される。すると、クロック供給部１０２は、クロック信号１の分周比を、リセットシーケンス開始前の状態に復元する。
【００７７】
次に、ステップＳ２７では、リセット供給部１０１は、電源制御部１０３に対して、リセットシーケンスが完了したことを、シーケンス状態通知インターフェースを介して通知する。以上で、ステップＳ２のリセットシーケンスが完了する。
【００７８】
図８は、パワーオンリセットシーケンス時のリセット供給部１０１とクロック供給部１０２の動作を説明するためのタイミングチャートであり、パワーオンリセット用リセットシーケンサ１０１１が制御する。時刻Ｔ０では、外部リセット信号（パワーオンリセット要求）がローレベルからハイレベルへと遷移する。外部リセット信号は、ローレベルでアクティブ（ローアクティブ）の信号とする。なお、初期状態では、マルチプレクサ１０２６は、ＯＳＣ１０２２の低周波クロック信号を選択し、クロック信号６として出力する低速動作モードである。
【００７９】
時刻Ｔ１では、パワーオンリセット用リセットシーケンサ１０１１は、外部リセット信号がハイレベルに遷移したことをトリガーにして、パワーオンリセットシーケンスを開始する。パワーオンリセット用リセットシーケンサ１０１１が有するリセットカウンタは、予め設定されたカウント値のダウンカウントを開始する。パワーオンリセット用リセットシーケンサ１０１１は、リセットカウンタのカウント値に基づき、パワーオンリセット用リセット制御信号１、２と、パワーオンリセット用クロックイネーブル信号１、２を生成する。なお、本実施形態では、リセットシーケンスで、リセット信号１〜５と、クロックイネーブル信号１〜５、クロック信号１〜６を制御するものとして説明するが、それらの信号に限定されない。近年、チップの歩留り向上のために、故障ＳＲＡＭに対してリペア動作を行う必要がある。このリペア動作は、リセットシーケンスの一環で行われるため、リペア動作に関連した信号も対象信号である。
【００８０】
時刻Ｔ１では、パワーオンリセット用リセットシーケンサ１０１１は、パワーオンリセット用リセット制御信号１、２をローレベルにする。リセット制御信号選択部１０１３および１０１４は、それぞれ、パワーオンリセットシーケンス中であるため、パワーオンリセット用リセット制御信号１、２を選択し、リセット制御信号１、２として出力する。ただし、全リセット信号１〜５は、初期状態では、ローレベルである。そのため、時刻Ｔ１では、パワーオンリセット用リセット制御信号１、２は、リセット信号１〜６には影響を及ぼさない。
【００８１】
時刻Ｔ６〜Ｔ１０では、パワーオンリセット用リセットシーケンサ１０１１は、パワーオンリセット用クロックイネーブル信号１、２を固定期間、有効にする。クロックイネーブル信号１からクロックイネーブル信号５までの全てが有効となり、全クロック信号１〜５がクロックゲーティング部１０３７〜１０４１を通過し、クロック信号１からクロック信号５が出力される。この期間に、全クロック信号１〜クロック信号５は、３パルスのクロック信号が出力され、リセット対象の回路がリセット状態となる。
【００８２】
時刻Ｔ１１では、パワーオンリセット用リセットシーケンサ１０１１は、パワーオンリセット用リセット制御信号２をハイレベルにする。この時点では、パワーオンリセット用リセット制御信号１は、ハイレベルでない。
【００８３】
時刻Ｔ１２では、リセット信号４以外の全てのリセット信号１、２、３、５が無効状態になる。しかし、この時点では、リセット対象ブロックの内部ではリセットの解除状態が全回路には行き届いていない。
【００８４】
時刻Ｔ１３〜Ｔ１７では、パワーオンリセット用リセットシーケンサ１０１１は、パワーオンリセット用クロックイネーブル信号２を固定期間、有効にする。クロックイネーブル信号４以外の全てのクロックイネーブル信号１、２、３、５が有効となる。クロック信号４以外の全クロック信号１〜３、５がクロックゲーティング部１０３７〜１０３９、１０４１を通過して出力される。この期間に、クロック信号４以外の全クロック１、２、３、５は、３パルスのクロック信号が出力され、ＣＰＵ１０５以外の全機能ブロックがリセット解除状態となる。
【００８５】
時刻Ｔ１８では、パワーオンリセット用リセットシーケンサ１０１１は、パワーオンリセット用リセット制御信号１をハイレベルにする。時刻Ｔ１９では、リセット信号４が無効状態となる。リセット信号４が無効となると、クロック制御部１０２４は、クロックイネーブル信号１０を有効にする。これにより、クロック供給部１０２は、クロック信号４を出力し、ＣＰＵ１０５が動作可能となる。
【００８６】
図９は、高周波クロック信号で動作している場合のサブシステム１０６に対するリセットシーケンス時のリセット供給部１０１とクロック供給部１０２の動作を説明するためのタイミングチャートであり、電源遮断用リセットシーケンサ１０１２が制御する。マルチプレクサ１０２６は、ＰＬＬ１０２３の出力クロック信号を選択している通常動作モードである。図９は、その時の図７のリセットシーケンスを示す。なお、図９では、サブシステム１０６に対してリセットシーケンスを実行する場合を説明する。
【００８７】
時刻Ｔ０では、サブシステム１０６は、パワーオフ状態から電源が供給された状態になっている。リセットシーケンス開始時点では、サブシステム１０６のリセット信号１は、有効状態であり、クロック信号１は停止状態であり、クロックイネーブル信号１は無効状態である。マルチプレクサ１０２６は、ＰＬＬ１０２３が出力する高周波クロック信号を選択し、クロック６として出力している。時刻Ｔ０では、電源制御部１０３は、リセット供給部１０１に対して、サブシステム１０６への電源供給が完了したことを示すサブシステム１０６の特定ブロックリセット要求を、シーケンス状態通知インターフェースを介して通知する。
【００８８】
時刻Ｔ１では、リセット供給部１０１は、サブシステム１０６に対するリセットシーケンスを開始する。電源遮断用リセットシーケンサ１０１２が有するリセットカウンタは、サブシーケンス１０６の特定ブロックリセット要求を基に、予め設定されたカウント値のダウンカウントを開始する。電源遮断用リセットシーケンサ１０１２は、リセットカウンタのカウント値に基づき、電源遮断用リセット制御信号１、２と、電源遮断用クロックイネーブル信号１、２を生成する。時刻Ｔ１では、電源遮断用リセットシーケンサ１０１２は、電源遮断用リセット制御信号１、２をローレベルにする。リセット制御信号選択部１０１３は、サブシステム１０６が電源復帰シーケンスの電源遮断対象ブロックであるため、電源遮断用リセット制御信号２を選択し、リセット制御信号１として出力する。ただし、リセット信号１は既に有効状態であるため、リセット信号１は有効状態を維持する。一方、リセット制御信号選択部１０１４は、サブシステム１０７が電源遮断対象ブロックではないため、パワーオンリセット用リセット制御信号２を選択し、リセット制御信号２として出力しており、リセット信号２は無効のままとなる。また、電源遮断用リセット制御信号１もローレベルであるが、電源遮断用リセット制御信号１は未接続の信号のため、他のどの信号にも影響を及ぼさない。
【００８９】
時刻Ｔ５では、クロック分周設定部１０２５は、シーケンス状態通知インターフェースを介してリセットシーケンスが開始されたことを電源遮断用リセットシーケンサ１０１２から通知される。すると、クロック分周設定部１０２５は、クロック信号１の分周比を変更する。クロック分周設定部１０２５は、クロックイネーブル信号１が有効な期間に、クロック信号１が同期リセットを実行するのに最適なパルス数となるように分周比を決定する。マルチプレクサ１０２６は、ＰＬＬ１０２３の高周波クロック信号を選択している。そのため、電源遮断用クロックイネーブル信号２の有効期間に、３パルスのクロック信号１を供給するために、クロック分周設定部１０２５は、４分周を選択する。クロック分周部１０２７は、クロック信号１のために、４分周したクロック信号を出力する。
【００９０】
時刻Ｔ６〜Ｔ１０では、電源遮断用リセットシーケンサ１０１２は、電源遮断用クロックイネーブル信号１、２を固定期間、有効にする。電源遮断用クロックイネーブル信号２の有効期間に、クロックイネーブル信号１が有効になり、クロックゲーティング部１０３７は、クロック分周部１０２７のクロック信号を通過させ、クロック信号１が出力される。この期間に、クロック信号１は、３パルス出力され、サブシステム１０６がリセット状態となる。クロック分周部１０２７は、ＰＬＬ１０２３の高周波クロック信号をそのまま出力するのではなく、４分周したクロック信号をクロック信号１として出力することで、省電力の効果も得られる。さらに、クロック供給部１０２は、クロック信号２からクロック信号５には影響を与えないことで、情報処理装置１０全体としての処理性能を損なうことを回避できる。
【００９１】
時刻Ｔ１１では、電源遮断用リセットシーケンサ１０１２は、電源遮断用リセット制御信号２をハイレベルにする。時刻Ｔ１２では、リセット信号１が無効状態となる。しかしこの時点では、サブシステム１０６の内部ではリセットの解除状態が全回路には行き届いていない。本実施形態では、全回路がリセット解除状態になるまでに、リセットが無効になった後に３パルス以上のクロック信号１を必要とするものとする。
【００９２】
時刻Ｔ１３〜Ｔ１７では、電源遮断用リセットシーケンサ１０１２は、再び電源遮断用クロックイネーブル信号２を固定期間、有効にする。電源遮断用クロックイネーブル信号２の有効期間に、クロックイネーブル信号１が有効になり、クロックゲーティング部１０３７は、クロック分周部１０２７のクロック信号を通過させ、クロック信号１が出力される。この期間に、クロック信号１は、３パルス出力され、サブシステム１０６の全回路がリセット解除状態となる。
【００９３】
クロック分周設定部１０２５は、シーケンス状態通知インターフェースを介してリセット解除が終了したことを電源遮断用リセットシーケンサ１０１２から通知される。時刻Ｔ１８では、クロック分周設定部１０２５は、クロック信号１の分周比を復元する。クロック信号１は、高周波クロック信号に戻る。
【００９４】
時刻Ｔ２０では、電源遮断用リセットシーケンサ１０１２は、リセットシーケンス完了を電源制御部１０３にシーケンス状態通知インターフェースを介して通知し、図７のリセットシーケンスが完了する。
【００９５】
図１０は、低周波クロック信号で動作しているサブシステム１０６に対するリセットシーケンス時のリセット供給部１０１とクロック供給部１０２の動作を説明するためのタイミングチャートであり、電源遮断用リセットシーケンサ１０１２が制御する。以下、マルチプレクサ１０２６がＯＳＣ１０２２の出力クロック信号を選択している低速動作モード時の図７のリセットシーケンスにおけるリセット供給部１０１とクロック供給部１０２の詳細な動作を説明する。なお、図１０では、クロック６信号の初期状態と時刻Ｔ５の分周比変更動作以外は、図９と同様の動作をする。
【００９６】
時刻Ｔ０では、マルチプレクサ１０２６は、ＯＳＣ１０２２が出力する低周波クロック信号を選択し、クロック信号６として出力している。時刻Ｔ５では、クロック分周設定部１０２５は、シーケンス状態通知インターフェースを介してリセットシーケンスが開始されたことを電源遮断用リセットシーケンサ１０１２から通知されると、クロック信号の分周比を変更する。マルチプレクサ１０２６は、ＯＳＣ１０２２の低周波クロック信号を選択しているため、クロック分周部１０２７は、クロック信号６を分周せずに（１分周して）出力する。ＯＳＣ１０２２の低周波クロック信号が選択されている場合、クロック分周部１０２７は、クロック信号６を分周せずにクロック信号１を生成する。これにより、リセット信号１が有効な期間に、同期リセットに必要な３パルスのクロック信号を確保することができ、確実なリセット実行が可能となる。
【００９７】
時刻Ｔ１８では、クロック分周設定部１０２５は、シーケンス状態通知インターフェースを介してリセット解除が終了したことを電源遮断用リセットシーケンサ１０１２から通知されると、クロック信号の分周比を復元する。しかし、クロック分周設定部１０２５は、時刻Ｔ５では分周比を変更しなかったため、時刻Ｔ１８でもそのまま分周比を１分周に維持する。
【００９８】
以上のように、本実施形態によれば、電源遮断用リセットシーケンサ１０１２をパワーオンリセット用リセットシーケンサ１０１１と同じ構成にすることによって、図９および図１０の電源遮断時のリセットシーケンスの信頼性を保つことができるようになる。
【００９９】
（第２の実施形態）
図１１は、本発明の第２の実施形態によるリセット供給部１０１の構成例を示すブロック図である。図１１のリセット供給部１０１の入出力は、図２のリセット供給部１０１と同じであるため説明を省略する。リセット供給部１０１は、パワーオンリセット用リセットシーケンサ３０１１と、電源遮断用リセットシーケンサ３０１２と、リセット信号選択部３０１３，３０１４と、クロックイネーブル選択部３０１５，３０１６とを有する。パワーオンリセット用リセットシーケンサ３０１１は、図２のパワーオンリセット用リセットシーケンサ１０１１に対応する。電源遮断用リセットシーケンサ３０１２は、図２の電源遮断用リセットシーケンサ１０１２に対応する。リセット信号選択部３０１３および３０１４は、図２のリセット信号選択部１０１３および１０１４に対応する。クロックイネーブル選択部３０１５および３０１６は、図２のクロックイネーブル選択部１０１５および１０１６に対応する。以下、図１１が図２と異なる点を説明する。
【０１００】
電源遮断用リセットシーケンサ３０１２の出力ポートは、電源遮断対象のサブシステム１０６および１０７毎に分離し、電源遮断用リセット信号１，２＿１，２＿２と、電源遮断用クロックイネーブル信号１，２＿１，２＿２を出力する。例えば、電源遮断用リセット信号２＿１は、電源復帰時に使用されるサブシステム１０６専用のリセット信号１のための信号である。電源遮断用リセット信号２＿２は、電源復帰時に使用されるサブシステム１０７専用のリセット信号２のための信号である。電源遮断用クロックイネーブル信号２＿１は、電源復帰時に使用されるサブシステム１０６専用のクロックイネーブル信号１のための信号である。電源遮断用クロックイネーブル信号２＿２は、電源復帰時に使用されるサブシステム１０７専用のクロックイネーブル信号２のための信号である。
【０１０１】
電源遮断用リセットシーケンサ３０１２と同じものがパワーオンリセット用リセットシーケンサ３０１１としても実装される。パワーオンリセット用リセットシーケンサ３０１１は、パワーオンリセット用リセット信号１，２＿１，２＿２と、パワーオンリセット用イネーブル信号１，２＿１，２＿２を出力する。パワーオンリセット用リセット信号２＿１は、リセット信号３，５である。パワーオンリセット用リセット信号２＿２は、冗長信号であり、未接続である。パワーオンリセット用クロックイネーブル信号２＿１は、クロックイネーブル信号３，５である。パワーオンリセット用クロックイネーブル信号２＿２は、冗長信号であり、未接続である。
【０１０２】
リセット信号選択部３０１３は、パワーオンリセット時には、パワーオンリセット用リセットシーケンサ３０１１が出力するパワーオンリセット用リセット信号２＿１を選択し、リセット信号１として出力する。また、リセット信号選択部３０１３は、サブシステム１０６の電源復帰時には、電源遮断用リセットシーケンサ３０１２が出力する電源遮断用リセット信号２＿１を選択し、リセット信号１として出力する。
【０１０３】
リセット信号選択部３０１４は、パワーオンリセット時には、パワーオンリセット用リセットシーケンサ３０１１が出力するパワーオンリセット用リセット信号２＿１を選択し、リセット信号２として出力する。また、リセット信号選択部３０１４は、サブシステム１０７の電源復帰時には、電源遮断用リセットシーケンサ３０１２が出力する電源遮断用リセット信号２＿２を選択し、リセット信号２として出力する。
【０１０４】
クロックイネーブル選択部３０１５は、パワーオンリセット時には、パワーオンリセット用リセットシーケンサ３０１１が出力するパワーオンリセット用クロックイネーブル信号２＿１を選択し、クロックイネーブル信号１として出力する。また、クロックイネーブル選択部３０１５は、サブシステム１０６の電源復帰時には、電源遮断用リセットシーケンサ３０１２が出力する電源遮断用クロックイネーブル信号２＿１を選択し、クロックイネーブル信号１として出力する。
【０１０５】
クロックイネーブル選択部３０１６は、パワーオンリセット時には、パワーオンリセット用リセットシーケンサ３０１１が出力するパワーオンリセット用クロックイネーブル信号２＿１を選択し、クロックイネーブル信号２として出力する。また、クロックイネーブル選択部３０１６は、サブシステム１０７の電源復帰時には、電源遮断用リセットシーケンサ３０１２が出力する電源遮断用クロックイネーブル信号２＿２を選択し、クロックイネーブル信号２として出力する。
【０１０６】
第１の実施形態では、電源遮断用リセットシーケンサ３０１２は、リセット信号１，２をローレベルにするかハイレベルにするかを示す電源遮断用リセット制御信号１，２を出力する。そして、リセット保持部１０２０および１０２１は、リセット制御信号１，２をそれぞれリセット信号１，２に変換する。
【０１０７】
第２の実施形態では、電源遮断用リセットシーケンサ３０１２は、電源遮断用リセット制御信号ではなく、電源遮断用リセット信号１，２＿１，２＿２を出力する。電源遮断用リセット信号２＿１，２＿２は、それぞれ、リセット信号１，２そのものに相当する。すなわち、電源遮断用リセットシーケンサ３０１２は、内部に、図２のリセット保持部１０２０および１０２１を有する。最終的に、図１１のリセット供給部１０１から外部へ出力される信号は、図２の場合と同じである。
【０１０８】
（第３の実施形態）
図１２は、本発明の第３の実施形態によるパワーオンリセット用リセットシーケンサ１０１１と電源遮断用リセットシーケンサ１０１２を説明するためのブロック図である。パワーオンリセット用リセットシーケンサ１０１１は、リセットシーケンサ（Ａ）２０１８と、リセットシーケンサ（Ｂ）２０１９とを有する。リセットシーケンサ２０１８は、サブシステム１０６および１０７の電源遮断と関係ないパワーオンリセットに必要なシーケンスのみを制御する。リセットシーケンサ２０１９は、サブシステム１０６および１０７のリセットシーケンスのみに必要なシーケンスを制御する。
【０１０９】
電源遮断用リセットシーケンサ１０１２は、リセットシーケンサ（Ｂ）２０１９のみを有する。電源遮断用リセットシーケンサ１０１２内のリセットシーケンサ２０１９は、パワーオンリセット用リセットシーケンサ１０１１内のリセットシーケンサ２０１９と同等なものである。
【０１１０】
この構成で効果をもたらす具体的な使用例を説明する。例えば、パワーオンリセット時に、ＰＬＬ１０２３は発振を開始し、パワーオンリセットシーケンス完了後すぐに、マルチプレクサ１０２６は、オシレーターＯＳＣ１０２２の低周波クロック信号からＰＬＬ１０２３の高周波クロック信号へ切り替える。この切り替えそのものは、ソフトウェアで実施しもよいし、ハードウェアで自動切り替えるようにしてもよい。ここで、一般的には、ＰＬＬ１０２３は、発振がロックするまでに所定の時間を必要とする。ハードウェアが、このロックするまでの時間経過をパワーオンリセット期間中に保証することで、誤ったタイミングでＰＬＬ１０２３への切り替えが行われ誤動作を防止できる。このＰＬＬ１０２３のロック待ち用の時間は、最初のパワーオンリセットの際のみに必要なものであるため、これを電源遮断ブロックの電源復帰時に使用すると冗長な時間を消費することとなる。そのため、電源復帰時には、この時間をスキップさせることで、リセットシーケンスの短縮を実現できることができる。
【０１１１】
図１３は、図１２のパワーオンリセット用リセットシーケンサ１０１１と電源遮断用リセットシーケンサ１０１２の動作を説明するステートダイアグラムである。以下、図１３のステートダイアグラムを用いて、パワーオンリセット時と電源遮断からの電源復帰時の各々のリセットシーケンスについての動作を説明する。
【０１１２】
外部リセット信号によりパワーオンリセット要求されると、パワーオンリセット用リセットシーケンサ１０１１内のリセットシーケンサ２０１８は、リセットカウント１のステートに入る。そして、パワーオンリセット用リセットシーケンサ１０１１内のリセットシーケンサ２０１８は、ＰＬＬ１０２３のロックに必要なサイクル数のダウンカウントを始め、リセット情報を生成する。このサイクル数は、予めＰＬＬ１０２３の仕様から設定されている。リセットシーケンサ２０１８は、リセットカウント１でのダウンカウントが完了すると、パワーオンリセット用リセットシーケンサ１０１１内のリセットシーケンサ２０１９に完了を通知する。この通知により、リセットシーケンサ２０１８のカウント完了後、リセットシーケンサ２０１９は、リセットカウント２のステートにおいて、ダウンカウントを始める。リセットシーケンサ２０１９は、このリセットカウント２でダウンカウント動作完了後、アイドル状態へ遷移し、パワーオンリセット時のリセットシーケンス処理が完了することになる。
【０１１３】
このアイドル状態で電源復帰要求（特定ブロックリセット要求）が入ると、電源遮断用リセットシーケンサ１０１２内のリセットシーケンサ２０１９は、リセットカウント２のステートに遷移し、ダウンカウントを開始し、リセット情報を生成する。電源遮断用リセットシーケンサ１０１２内のリセットシーケンサ２０１９は、ダウンカウントが完了すると、再度アイドル状態へ遷移し、次の電源復帰要求を待つ。
【０１１４】
本実施形態では、このような構成をとることで、電源遮断からの電源復帰時のリセットシーケンス処理の高速化を図ることができる。
【０１１５】
第１〜第３の実施形態は、本発明の原理、実際の適用例を簡単に説明し、他の当業者が本発明を理解できるようにするために説明したものである。様々な変更が施された他の実施例が、特定の用途に適していることがあり得るが、それらは本発明の範囲内に含まれるものである。
【０１１６】
例えば、第１〜第３の実施形態では、シーケンス状態通知インターフェースを電源遮断時に使用する前提で説明したが、電源遮断とは関係なく、異常状態に陥ったサブシステム１０６または１０７のリセットをする目的にも使用できる。また、リセットシーケンサ１０１１，１０１２，３０１１，３０１２が出力するリセット情報（リセット信号、クロックイネーブル信号）は、サブシステム１０６および１０７毎に１つと限定されるものではなく、複数の信号で構成されてもよい。
【０１１７】
第１〜第３の実施形態によれば、パワーオンリセット用リセットシーケンサを電源遮断用リセットシーケンサに応用できるため、信頼性の高いリセット制御を行うことができる。
【０１１８】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【０１１９】
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【０１２０】
１０１１  パワーオンリセット用リセットシーケンサ、１０１２  電源遮断用リセットシーケンサ、１０１３  リセット制御信号選択部、  １０１４  リセット制御信号選択部、１０１５  クロックイネーブル選択部、１０１６  クロックイネーブル選択部
【図１】
2019109743.tif 000003
【図２】
2019109743.tif 000004
【図３】
2019109743.tif 000005
【図４】
2019109743.tif 000006
【図５】
2019109743.tif 000007
【図６】
2019109743.tif 000008
【図７】
2019109743.tif 000009
【図８】
2019109743.tif 000010
【図９】
2019109743.tif 000011
【図１０】
2019109743.tif 000012
【図１１】
2019109743.tif 000013
【図１２】
2019109743.tif 000014
【図１３】
2019109743.tif 000015