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