(57)【要約】【課題】複数の回路ブロック全体のピーク消費電流を軽減しつつ、複数の回路ブロック全体のリセットを適切に行える仕組を提供すること。【解決手段】複数の回路ブロックＡ２〜Ｄ５に対してクロックを供給するクロック供給装置１は、複数の回路ブロックＡ２〜Ｄ５の通常動作時には、複数の回路ブロックＡ２〜Ｄ５に、所定のアクティブエッジ位相を持つクロック信号を供給し、複数の回路ブロックＡ２〜Ｄ５のリセット動作時には、複数の回路ブロックＡ２〜Ｄ５のそれぞれに、異なるアクティブエッジ位相を持つクロック信号を供給する。【選択図】図１
2011248579.tif 000002
【特許請求の範囲】
【請求項１】
複数の回路ブロックに対してクロック信号を供給するクロック供給装置であって、
前記複数の回路ブロックをリセットするために、前記複数のブロックごとに異なるタイミングで立ち上がるクロック信号を前記複数の回路ブロックのそれぞれに供給する供給手段を、
有することを特徴とするクロック供給装置。
【請求項２】
複数の回路ブロックに対してクロック信号を供給するクロック供給装置であって、
前記複数の回路ブロックに所定のアクティブエッジ位相を持つクロック信号を供給する第１のクロック供給と、前記複数の回路ブロックのそれぞれに異なるアクティブエッジ位相を持つクロック信号を供給する第２のクロック供給が可能なもので、前記複数の回路ブロックのリセット動作時には前記第２のクロック供給を行う供給手段を、
有することを特徴とするクロック供給装置。
【請求項３】
前記供給手段は、前記リセット動作時に、所定のクロック信号から、異なる期間のクロックパルスをそれぞれ間引いて、異なるアクティブエッジ位相を持つ複数のクロック信号を生成するクロック制御部を有することを特徴とする請求項２に記載のクロック供給装置。
【請求項４】
前記供給手段は、前記リセット動作時に、異なる期間にアクティブとなる複数の制御信号を生成する制御信号生成部をさらに有し、
前記クロック制御部は、前記リセット動作時に、前記所定のクロック信号から、前記複数の制御信号が非アクティブの期間のクロックパルスをそれぞれ間引いて、異なるアクティブエッジ位相を持つ複数のクロック信号を生成することを特徴とする請求項３に記載のクロック供給装置。
【請求項５】
前記制御信号生成部は、前記リセット動作時に前記所定のクロック信号のクロックパルスをカウントするカウンタと、前記リセット動作時に前記カウンタが示す異なるカウント値に対応する期間にアクティブとなる複数の制御信号を生成する回路とを有することを特徴とする請求項４に記載のクロック供給装置。
【請求項６】
前記制御信号生成部は、前記所定のクロック信号に同期して動作する、前記複数の回路ブロックをリセットするためのリセット信号の反転信号に応じてアクティブレベルに初期化されるフリップフロップと、前記リセット信号の反転信号に応じて非アクティブレベルに初期化されるフリップフロップとを含む複数のフリップフロップを直列かつ環状に接続した回路を有し、前記リセット信号がアクティブレベルの時に、前記複数のフリップフロップの出力信号を前記複数の制御信号として出力することを特徴とする請求項４に記載のクロック供給装置。
【請求項７】
前記供給手段は、前記リセット動作時に所定のクロック信号のクロックパルスをカウントするカウンタと、前記リセット動作時に前記カウンタが示す異なるカウント値に対応する期間にアクティブとなる複数の制御信号を生成する回路とを有し、前記リセット動作時に、前記複数の制御信号を、前記異なるアクティブエッジ位相を持つクロック信号として、前記第２のクロック供給を行うことを特徴とする請求項２に記載のクロック供給装置。
【請求項８】
前記供給手段は、前記所定のクロック信号に同期して動作する、前記複数の回路ブロックをリセットするためのリセット信号の反転信号に応じてアクティブレベルに初期化されるフリップフロップと、前記リセット信号の反転信号に応じて非アクティブレベルに初期化されるフリップフロップとを含む複数のフリップフロップを直列かつ環状に接続した回路を有し、前記リセット信号がアクティブレベルの時に、前記複数のフリップフロップの出力信号を、前記異なるアクティブエッジ位相を持つクロック信号として、前記第２のクロック供給を行うことを特徴とする請求項２に記載のクロック供給装置。
【請求項９】
前記供給手段は、前記リセット動作時に、所定のクロック信号を分周した分周信号を異なる時間それぞれ遅延させて、異なるアクティブエッジ位相を持つ複数のクロック信号を生成して、前記第２のクロック供給を行うことを特徴とする請求項２に記載のクロック供給装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回路ブロックにクロック信号を供給するクロック供給装置に関するものである。
【背景技術】
【０００２】
半導体集積回路装置（以下、ＬＳＩ）及びＬＳＩを実装するシステムの電源と熱の設計・製造は、ＬＳＩ及びシステムの最大の消費電力に合わせる必要がある。また、ＬＳＩの電源設計・製造は、ＬＳＩの最大の消費電流にも合わせる必要がある。消費電力や消費電流が大きいと、設計・製造の難易度と価格のコストが高くなるため、ＬＳＩの消費電力及び消費電流を削減する技術が提案されている。
【０００３】
ここで、クロック信号に同期して動作する論理回路からなるＬＳＩの消費電力は、リーク電流等による静的なものを除くと、クロック同期動作による動的な動作に起因するものである。動的な消費電力は、クロック信号に同期して状態を変化させるフリップフロップの動作を基準にして考えることができる。
【０００４】
フリップフロップの動作において動的に電力を消費するのは、フリップフロップを動作させる入力クロック信号のアクティブエッジが入力される時の次の２つの動作である。１つは、入力データを内部に保持するラッチ動作であり、もう１つは、ラッチ動作時に出力するデータを変化させるトグル動作である。なお、ラッチ動作で消費する電力というのは、フリップフロップそのもので消費する電力の他に、入力クロック信号を伝達するためのバッファ等の電力も含まれるものとする。また、トグル動作で消費する電力というのは、フリップフロップそのもので消費する電力の他に、出力データ信号を伝達するためのバッファ等の電力も含まれるものとする。
【０００５】
以上のような背景の下、論理回路の消費電力及び消費電流を削減する技術として、回路中のフリップフロップのイネーブル制御が非アクティブの期間はそのフリップフロップを駆動するクロックを止めるという、イネーブルによるクロックゲーティング技術がある。この技術は、論理的に不要なラッチ動作を行わないように制御して消費電力を削減する技術である。各フリップフロップが必要な時だけラッチ動作を行い、入力クロック信号のアクティブエッジ入力に応じて常に全てのフリップフロップがラッチ動作しないため、消費電流も削減することが可能である。
【０００６】
また、論理回路のリセット動作時の消費電力を削減する技術として、リセット動作時に通常動作時よりもクロック周波数を低くする技術がある（特許文献１）。この技術は、充分長いリセット期間の間のラッチ動作の回数を必要最小限にまで削減することで総消費電力及び単位時間あたりの消費電力を削減する技術である。
【０００７】
また、論理回路のリセット動作時の消費電流を削減する技術として、リセット動作時に複数の回路ブロックに対し独立なクロックを供給制御して各回路ブロックのリセット期間を重複させない技術がある（特許文献２）。この技術は、リセット期間中に全ての回路ブロックに同時にクロックを供給しないように制御することで１クロックサイクルあたりの瞬間的な消費電流を削減する技術である。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０００−６６７６０号公報
【特許文献２】特開２００４−１１０７１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、リセット動作時にはフリップフロップのイネーブル制御は論理的に常にアクティブとなるため、前述のイネーブルによるクロックゲーティング技術ではクロックを止めることができずに消費電力及び消費電流を削減することができない。そのため、論理回路の内容によっては通常動作時よりもリセット動作時の方が消費電力や消費電流が高くなるものもある。その場合は、通常動作時の消費電力や消費電流が低くできても、電源と熱の設計・製造は、通常動作時の消費電力と消費電流ではなくてリセット動作時の最大消費電力と最大消費電流に合わせる必要がある。
【００１０】
また、リセット動作時に通常動作時よりもクロック周波数を低くする技術では、リセット期間中のラッチ動作の総回数が減るので結果として消費電力を削減することが可能であるが、１クロックあたりにラッチ動作するフリップフロップ数は減らせない。つまり、アクティブなクロックエッジの入力に対して全てのフリップフロップが動作するのは変わらないので、１クロックあたりの瞬間的な消費電流を削減することはできない。そのため、論理回路の内容によっては通常動作時よりもリセット動作時の方が消費電流が高くなるものもある。その場合は、前述のイネーブルによるクロックゲーティング技術で通常動作時の消費電流が低くできても、電源の設計・製造はその通常動作時の消費電流ではなくてリセット動作時の最大消費電流に合わせる必要がある。
【００１１】
またさらに、リセット動作時に複数の回路ブロックに独立なクロックを供給制御して各回路ブロックのリセット期間を重複させない技術は、各回路ブロックそれぞれのリセット期間が全て重ならないように制御することで消費電流を削減することができる。しかし、各回路ブロックに論理的な接続がある場合、リセット期間が全て重ならないことにより完全なリセットができない可能性がある。それは以下の仕組みによる。
【００１２】
リセット端子のないフリップフロップは、リセット信号がアクティブな間は入力データがＬ又はＨどちらか一方に固定されるように論理回路を組むことでクロック同期のリセットを行うことができる。ただ、論理回路の設計上、リセット信号がアクティブな間にも入力データがＬ又はＨどちらか一方に固定されないフリップフロップが含まれることがある。そのようなフリップフロップは入力データピンに論理的に接続された全てのフリップフロップをリセットした後、アクティブなクロックエッジを入力して初めてリセットすることが可能である。したがって、フリップフロップの入力データピンに論理的に接続されたフリップフロップの中に、まだリセットされていない別の回路ブロックのフリップフロップが含まれる場合は、このフリップフロップをリセットすることができない。つまり、複数の回路ブロックに含まれるフリップフロップが相互に接続されている場合に、全ての回路ブロックのリセット期間を独立にすると完全なリセットができなくなるおそれがある。
【００１３】
本発明は、上記の問題点を解決するためになされたものである。本発明の目的は、複数の回路ブロック全体のピーク消費電流を軽減しつつ、複数の回路ブロック全体のリセットを適切に行える仕組を提供することである。
【課題を解決するための手段】
【００１４】
本発明は、複数の回路ブロックに対してクロック信号を供給するクロック供給装置であって、前記複数の回路ブロックをリセットするために、前記複数のブロックごとに異なるタイミングで立ち上がるクロック信号を前記複数の回路ブロックのそれぞれに供給する供給手段を有することを特徴とする。また、本発明は、複数の回路ブロックに対してクロックを供給するクロック供給装置であって、前記複数の回路ブロックに所定のアクティブエッジ位相を持つクロック信号を供給する第１のクロック供給と、前記複数の回路ブロックのそれぞれに異なるアクティブエッジ位相を持つクロック信号を供給する第２のクロック供給が可能なもので、前記複数の回路ブロックのリセット動作時には前記第２のクロック供給を行う供給手段を有することを特徴とする。
【発明の効果】
【００１５】
本発明によれば、複数の回路ブロック全体のピーク消費電流を軽減しつつ、複数の回路ブロック全体のリセットを適切に行えるようにできる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施例１に係るクロック供給装置の外部接続構成、及び、内部構成を示すブロック図である。
【図２】実施例１に係る制御信号生成部１０１、クロックゲーティングセル１０２１、及び、クロック供給装置１の動作を示すタイミングチャートである。
【図３】図１に示した回路ブロックＡ２、回路ブロックＢ３、回路ブロックＣ４、及び、回路ブロックＤ５の内部に含まれるフリップフロップだけを示したブロック図である。
【図４】図３に示したフリップフロップ２０１、２０２、及び、２０３の接続構成を示すブロック図である。
【図５】実施例１のクロック供給装置１により生成されるクロックによる、図４に示した回路、及び、フリップフロップ２０１、２０２、及び、２０３の動作を示すタイミングチャートである。
【図６】図５に示したタイミングチャートにおけるフリップフロップ２０１、２０２、及び、２０３の動作と消費電流の大きさを示した図である。
【図７】フリップフロップ３０１、４０１、及び、５０１の周辺回路の動作を示すタイミングチャートである。
【図８】図７に示したタイミングチャートにおけるフリップフロップ３０１、４０１、及び、５０１の動作と消費電流の大きさを示した図である。
【図９】図３で示した各フリップフロップ及び周辺回路が通常動作期間中のあるクロックサイクルにおいて消費する電流値の大きさを示したブロック図である。
【図１０】図３で示した各フリップフロップ及び周辺回路がリセット期間中の初期化動作時のあるクロックサイクルにおいて消費する電流値の大きさを示したブロック図である。
【図１１】図３で示した各フリップフロップ及び周辺回路がリセット期間中の初期化後の定常状態におけるあるクロックサイクルにおいて消費する電流値の大きさを示したブロック図である。
【図１２】図６、図８、図９、図１０、及び、図１１で示した消費電流値「Ｈ」、「Ｍ」、及び、「Ｌ」について、実際の電流値との関係を表した図である。
【図１３】図９、図１０、及び図１１で示した通常動作期間中の状態、リセット期間中の初期化動作時の状態、及び、初期化後の定常状態における消費電流値を表した図である。
【図１４】実施例２の制御信号生成部１０１の内部構成を示すブロック図である。
【図１５】実施例２に係る制御信号生成部１０１の動作を示すタイミングチャートである。
【図１６】実施例３のクロック供給装置１の内部構成を示すブロック図である。
【図１７】実施例４のクロック供給装置１の内部構成を示すブロック図である。
【図１８】実施例４に係る制御信号生成部１０１、セレクタ１０３１、及び、クロック供給装置１の動作を示すタイミングチャートである。
【図１９】実施例４のクロック供給装置により入力されるクロックによる、図４（Ａ）に示したフリップフロップ２０１の周辺回路、及び、フリップフロップ２０１の動作を示すタイミングチャートである。
【図２０】図１９（Ｂ）に示したタイミングチャートにおけるフリップフロップ２０１の動作と消費電流の大きさを示した図である。
【図２１】実施例５に係る制御信号生成部１０１の内部構成を示すブロック図である。
【図２２】実施例５に係る制御信号生成部１０１、セレクタ１０３１、及び、クロック供給装置１の動作を示すタイミングチャートである。
【図２３】実施例５のクロック供給装置により入力されるクロックによる、図４（Ａ）に示したフリップフロップ２０１の周辺回路、及び、フリップフロップ２０１の動作を示すタイミングチャートである。
【図２４】図２３（Ｂ）に示したタイミングチャートにおけるフリップフロップ２０１の動作と消費電流の大きさを示した図である。
【図２５】従来の第一のクロック供給装置の外部接続構成を示すブロック図である。
【図２６】従来の第一のクロック供給装置の動作を示すタイミングチャートである。
【図２７】従来の第一のクロック供給装置により入力されるクロックによる、図４に示した各回路、及び、フリップフロップ２０１、２０２、及び２０３の動作を示すタイミングチャートである。
【図２８】図２７に示したタイミングチャートにおけるフリップフロップ２０１、２０２、及び、２０３の動作と消費電流の大きさを示した図である。
【図２９】従来の第一のクロック供給装置により入力されるクロックによる、図３で示した各フリップフロップ及び周辺回路がリセット期間中の初期化動作時のあるクロックサイクルにおいて消費する電流値の大きさを示したブロック図である。
【図３０】従来の第一のクロック供給装置により入力されるクロックによる、図３で示した各フリップフロップ及び周辺回路がリセット期間中の初期化後の定常状態におけるあるクロックサイクルにおいて消費する電流値の大きさを示したブロック図である。
【図３１】従来の第一のクロック供給装置により入力されるクロックによる、図２９、及び、図３０で示したリセット期間中の初期化動作時の状態、及び、初期化後の定常状態における消費電流値を表した図である。
【図３２】従来の第二のクロック供給装置の動作を示すタイミングチャートである。
【図３３】従来の第二のクロック供給装置により入力されるクロックによる、フリップフロップ２０３の周辺回路、フリップフロップ２０３、フリップフロップ５０１の周辺回路、及びフリップフロップ５０１の動作を示すタイミングチャートである。
【発明を実施するための形態】
【００１７】
以下、本発明のクロック供給装置の一実施形態について図面を用いて説明する。
【実施例１】
【００１８】
図１は、本発明の実施例１に係るクロック供給装置の外部接続構成、及び、内部構成を示すブロック図である。
図１において、１はクロック供給装置である。２は回路ブロックＡ、３は回路ブロックＢ、４は回路ブロックＣ、５は回路ブロックＤである。クロック供給装置１は、回路ブロックＡ２、回路ブロックＢ３、回路ブロックＣ４、及び、回路ブロックＤ５に対してクロック供給を行う。
【００１９】
クロック供給装置１において、１０１は制御信号生成部、１０２はクロック制御部である。１０１１は２ビットカウンタである。１０２１、１０２２、１０２３、及び、１０２４はクロックゲーティングセルである。
【００２０】
クロック供給装置１は、図示しないクロック発振装置、図示しないリセット生成装置、回路ブロックＡ２、回路ブロックＢ３、回路ブロックＣ４、及び、回路ブロックＤ５と接続されている。クロック供給装置１は、図示しないクロック発振装置が出力するクロック信号ＣＬＯＣＫに同期して動作する。クロック供給装置１は、図示しないリセット生成装置が出力するリセット信号ＲＥＳＥＴをクロック信号に同期して受信し、リセット信号がＬレベルの間は通常動作期間、また、リセット信号がＨレベルの間はリセット期間であると認識して動作する。クロック供給装置１は、回路ブロックＡ２に対してクロック信号ＣＬＯＣＫ＿Ａ、回路ブロックＢ３に対してクロック信号ＣＬＯＣＫ＿Ｂ、回路ブロックＣ４に対してクロック信号ＣＬＯＣＫ＿Ｃ、回路ブロックＤ５に対してクロック信号ＣＬＯＣＫ＿Ｄを出力する。
【００２１】
回路ブロックＡ２、Ｂ３、Ｃ４、及び、Ｄ５は、クロック供給装置１、及び、図示しないリセット生成装置と接続されている。回路ブロックＡ２は、クロック供給装置１が出力するクロック信号ＣＬＯＣＫ＿Ａに同期して動作する。回路ブロックＢ３は、クロック供給装置１が出力するクロック信号ＣＬＯＣＫ＿Ｂに同期して動作する。回路ブロックＣ４は、クロック供給装置１が出力するクロック信号ＣＬＯＣＫ＿Ｃに同期して動作する。回路ブロックはＤ５は、クロック供給装置１が出力するクロック信号ＣＬＯＣＫ＿Ｄに同期して動作する。
【００２２】
回路ブロックＡ２、Ｂ３、Ｃ４、及び、Ｄ５は、図示しないリセット生成装置が出力するリセット信号ＲＥＳＥＴを受信し、リセット信号がＬレベルの間は通常動作を行い、また、Ｈレベルの間はリセット動作、すなわち内部のフリップフロップの初期化を行う。
【００２３】
制御信号生成部１０１は、クロック信号ＣＬＯＣＫの信号線、リセット信号ＲＥＳＥＴの信号線、及び、クロック制御部１０２と接続されており、クロック信号に同期して動作する。制御信号生成部１０１は、リセット信号を受信し、リセット信号がＬレベルの間は通常動作期間、また、リセット信号がＨレベルの間はリセット期間であると認識して動作する。制御信号生成部１０１は、クロック制御部１０２に対して複数の制御信号ＥＮＡＢＬＥ＿Ａ、ＥＮＡＢＬＥ＿Ｂ、ＥＮＡＢＬＥ＿Ｃ、及び、ＥＮＡＢＬＥ＿Ｄを送信する。
【００２４】
クロック制御部１０２は、クロック信号ＣＬＯＣＫの信号線、制御信号生成部１０１、出力クロック信号ＣＬＯＣＫ＿Ａ、ＣＬＯＣＫ＿Ｂ、ＣＬＯＣＫ＿Ｃ、及び、ＣＬＯＣＫ＿Ｄの各信号線と接続されている。クロック制御部１０２は、クロック信号を使用して動作する。クロック制御部１０２は、制御信号生成部１０１から出力される複数の制御信号ＥＮＡＢＬＥ＿Ａ、ＥＮＡＢＬＥ＿Ｂ、ＥＮＡＢＬＥ＿Ｃ、及び、ＥＮＡＢＬＥ＿Ｄを受信する。クロック制御部１０２は、複数の制御信号ＥＮＡＢＬＥ＿Ａ、ＥＮＡＢＬＥ＿Ｂ、ＥＮＡＢＬＥ＿Ｃ、及び、ＥＮＡＢＬＥ＿Ｄに応じて、出力クロック信号ＣＬＯＣＫ＿Ａ、ＣＬＯＣＫ＿Ｂ、ＣＬＯＣＫ＿Ｃ、及び、ＣＬＯＣＫ＿Ｄを出力する。
【００２５】
２ビットカウンタ１０１１は、クロック信号ＣＬＯＣＫ、リセット信号ＲＥＳＥＴ、及び、組み合わせ回路を介して出力信号ＥＮＡＢＬＥ＿Ａ、ＥＮＡＢＬＥ＿Ｂ、ＥＮＡＢＬＥ＿Ｃ、及び、ＥＮＡＢＬＥ＿Ｄの各信号線と接続されている。２ビットカウンタ１０１１は、カウント動作についてはクロック信号に同期して、また、初期化動作についてはクロック信号に非同期で動作する。
【００２６】
２ビットカウンタ１０１１は、リセット信号を受信し、リセット信号ＲＥＳＥＴがＬレベルの間はカウンタ出力値Ｑ［１：０］を「０」に初期化する。また、２ビットカウンタ１０１１は、リセット信号ＲＥＳＥＴがＨレベルの間（リセット動作時）はクロック信号に同期してカウント動作を行い、カウンタ出力Ｑ［１：０］を毎クロック１ずつ増加させる。２ビットカウンタ１０１１は、２ビットのカウンタ出力値Ｑ［１：０］を持ち、通常動作時のカウンタ出力値Ｑ［１：０］は、「０」、「１」、「２」、「３」の繰り返しとなる。なおここでは、カウンタ出力値は、Ｈ／Ｌレベルではなく、Ｈを「１」として、Ｌを「０」として解釈した２進数を１０進数表記に変えて表現している。
【００２７】
出力信号ＥＮＡＢＬＥ＿Ａは、リセット信号がＬレベルのときか、又は、カウンタ出力値Ｑ［１：０］の値が「０」のときにＨレベル、それ以外のときにＬレベルとなる。出力信号ＥＮＡＢＬＥ＿Ｂは、リセット信号がＬレベルのときか、又は、カウンタ出力値Ｑ［１：０］の値が「１」のときにＨレベル、それ以外のときにＬレベルとなる。出力信号ＥＮＡＢＬＥ＿Ｃは、リセット信号がＬレベルのときか、又は、カウンタ出力値Ｑ［１：０］の値が「２」のときにＨレベル、それ以外のときにＬレベルとなる。出力信号ＥＮＡＢＬＥ＿Ｄは、リセット信号がＬレベルのときか、又は、カウンタ出力値Ｑ［１：０］の値が「３」のときにＨレベル、それ以外のときにＬレベルとなる。即ち、制御信号生成部１０１は、リセット動作時、カウンタ１０１１が示す異なるカウント値（０、１、２、３）に対応する期間（異なる期間）にアクティブとなる複数の制御信号（ＥＮＡＢＬＥ＿Ａ〜Ｄ）を生成する。
【００２８】
クロックゲーティングセル１０２１は、クロック信号ＣＬＯＣＫ、入力信号ＥＮＡＢＬＥ＿Ａ、及び出力クロック信号ＣＬＯＣＫ＿Ａの各信号線とそれぞれＣＩ、ＥＮＢ、及びＣＯ端子と接続されており、クロック信号に含まれるクロックパルスを間引く動作を行う。クロックゲーティングセル１０２２は、クロック信号ＣＬＯＣＫ、入力信号ＥＮＡＢＬＥ＿Ｂ、及び出力クロック信号ＣＬＯＣＫ＿Ｂの各信号線とそれぞれＣＩ、ＥＮＢ、及びＣＯ端子と接続されており、クロック信号に含まれるクロックパルスを間引く動作を行う。クロックゲーティングセル１０２３は、クロック信号ＣＬＯＣＫ、入力信号ＥＮＡＢＬＥ＿Ｃ、及び出力クロック信号ＣＬＯＣＫ＿Ｃの各信号線とそれぞれＣＩ、ＥＮＢ、及びＣＯ端子と接続されており、クロック信号に含まれるクロックパルスを間引く動作を行う。クロックゲーティングセル１０２４は、クロック信号ＣＬＯＣＫ、入力信号ＥＮＡＢＬＥ＿Ｄ、及び出力クロック信号ＣＬＯＣＫ＿Ｄの各信号線とそれぞれＣＩ、ＥＮＢ、及びＣＯ端子と接続されており、クロック信号に含まれるクロックパルスを間引く動作を行う。
【００２９】
クロックゲーティングセル１０２１は、入力クロックＣＩを図中のＡＮＤゲートでゲーティングすることで入力クロックのクロックパルスを間引いた出力クロックＣＯを生成して出力する。なお、ゲーティングするかどうかを決定する図中のラッチの出力信号Ｑは、入力信号ＥＮＢから生成される。ラッチの出力信号Ｑは、入力クロックＣＩがＬレベルの間だけ変化するので、前記ＡＮＤゲートでのゲーティング動作の有無が入力クロックのクロックパルスの途中で変化することがない。なお、クロックゲーティングセル１０２２、１０２３、及び、１０２４は、クロックゲーティングセル１０２１と同じものである。
すなわち、クロック制御部１０２は、リセット動作時に、クロック信号ＣＬＯＣＫから、ＥＮＡＢＬＥ＿Ａ〜Ｄが非アクティブの期間のクロックパルスをそれぞれ間引いて、異なるアクティブエッジ位相を持つ複数のクロック信号ＣＬＯＣＫ＿Ａ〜Ｄを生成する。
【００３０】
図２は、実施例１に係る制御信号生成部１０１、クロックゲーティングセル１０２１、及び、クロック供給装置１の動作を示すタイミングチャートである。
図２（Ａ）は実施例１に係る制御信号生成部１０１の動作を示すタイミングチャートである。リセット期間、すなわちリセット信号ＲＥＳＥＴがＨレベルの間は、カウンタ出力Ｑ［１：０］はカウント動作によって毎クロックサイクル変化している。また、出力信号ＥＮＡＢＬＥ＿Ａ、ＥＮＡＢＬＥ＿Ｂ、ＥＮＡＢＬＥ＿Ｃ、及び、ＥＮＡＢＬＥ＿Ｄは前述の通り、リセット期間はカウンタ出力値に応じてＨレベルとＬレベルを切り替えながら動作する。なお、出力信号ＥＮＡＢＬＥ＿Ａ、ＥＮＡＢＬＥ＿Ｂ、ＥＮＡＢＬＥ＿Ｃ、及び、ＥＮＡＢＬＥ＿Ｄは前述の通り、通常動作期間、すなわちリセット信号ＲＥＳＥＴがＬレベルの間は、Ｈレベルに固定される。また、リセット期間、すなわちリセット信号ＲＥＳＥＴがＨレベルの間は、出力信号ＥＮＡＢＬＥ＿Ａ、ＥＮＡＢＬＥ＿Ｂ、ＥＮＡＢＬＥ＿Ｃ、及び、ＥＮＡＢＬＥ＿ＤはそれぞれがＨレベルとなるクロックサイクルが重ならないように動作するのが特徴である。
【００３１】
図２（Ｂ）は実施例１に係るクロックゲーティングセル１０２１の動作を示すタイミングチャートである。入力信号ＥＮＢは、入力クロックＣＩがＬレベルの間（即ち、入力クロックの反転信号ＥがＨレベルの間）にラッチされてラッチの出力信号Ｑに反映される。出力クロックＣＯは、入力クロックＣＩと前記ラッチの出力信号Ｑとの論理積となり、結果としてクロックパルスが間引かれたものとなる。
【００３２】
図２（Ｃ）は実施例１に係るクロック供給装置１の動作を示すタイミングチャートである。リセット信号がＨレベルの間には、前述の通り複数の制御信号ＥＮＡＢＬＥ＿Ａ、ＥＮＡＢＬＥ＿Ｂ、ＥＮＡＢＬＥ＿Ｃ、及び、ＥＮＡＢＬＥ＿Ｄが同時にＨレベルにならないよう生成されている。また、出力クロック信号ＣＬＯＣＫ＿Ａ、ＣＬＯＣＫ＿Ｂ、ＣＬＯＣＫ＿Ｃ、及び、ＣＬＯＣＫ＿Ｄは、複数の制御信号それぞれに応じてクロック信号ＣＬＯＣＫを間引いたものとなっている。出力クロック信号ＣＬＯＣＫ＿Ａ、ＣＬＯＣＫ＿Ｂ、ＣＬＯＣＫ＿Ｃ、及び、ＣＬＯＣＫ＿Ｄは、リセット動作時にはそれぞれに、Ｈレベルがとなるクロックサイクルが重ならないような異なるアクティブエッジ位相を持つクロックとなっている。つまり、出力クロック信号ＣＬＯＣＫ＿Ａ、ＣＬＯＣＫ＿Ｂ、ＣＬＯＣＫ＿Ｃ、及び、ＣＬＯＣＫ＿Ｄはそれぞれ、異なるタイミングで立ち上がっている。
【００３３】
また、リセット信号がＬレベルの間には、前述の通り複数の制御信号ＥＮＡＢＬＥ＿Ａ〜Ｄが同時にＨレベルになり、出力クロック信号ＣＬＯＣＫ＿Ａ〜Ｄは、クロック信号ＣＬＯＣＫそのものとなる。よって、出力クロック信号ＣＬＯＣＫ＿Ａ〜Ｄは、通常動作時には、所定のアクティブエッジ位相を持つクロックとなっている。
【００３４】
なお、回路ブロックＡ２、回路ブロックＢ３、回路ブロックＣ４、及び、回路ブロックＤ５は、リセット信号ＲＥＳＥＴをクロック信号に同期して参照する設計になっているため、これらの回路ブロックのリセット期間は図中のサイクル３〜サイクル２８となる。
すなわち、クロック供給装置１は、回路ブロックＡ２〜Ｄ５の通常動作時には、回路ブロックＡ２〜Ｄ５に、所定のアクティブエッジ位相を持つクロック信号を供給する（第１のクロック供給）。また、クロック供給装置１は、回路ブロックＡ２〜Ｄ５のリセット動作時には、回路ブロックＡ２〜Ｄ５のそれぞれに、異なるアクティブエッジ位相を持つクロック信号を供給する（第２のクロック供給）。
【００３５】
図３は、図１に示した回路ブロックＡ２、回路ブロックＢ３、回路ブロックＣ４、及び、回路ブロックＤ５の内部に含まれるフリップフロップだけを示したブロック図である。
２０１、２０２、２０３、３０１、４０１、及び、５０１はフリップフロップである。前記フリップフロップと同図形で示したものは、符号を付けていないものも含めて全てフリップフロップである。説明のために、一部のフリップフロップだけに符号を付している。また、各フリップフロップの端子接続についてはフリップフロップ２０３とフリップフロップ５０１との接続だけを図示し、その他は省略している。
【００３６】
回路ブロックＡ２は前述の通り、リセット信号ＲＥＳＥＴがＨレベルの間はフリップフロップの初期化を行うが、フリップフロップ２０１、フリップフロップ２０２、及び、フリップフロップ２０３はそれぞれ初期化される手順が異なる。その詳細は後述する。フリップフロップ２０３のデータ入力端子には、回路ブロックＤ５のフリップフロップ５０１のデータ出力端子から出力されるデータ信号が接続されている。回路ブロックＡ２は前述の通り、リセット信号ＲＥＳＥＴがＬレベルの間はクロック信号に同期して通常動作を行う。
【００３７】
回路ブロックＢ３も前述の通り、リセット信号ＲＥＳＥＴがＨレベルの間はフリップフロップの初期化を行い、リセット信号ＲＥＳＥＴがＬレベルの間はクロック信号に同期して通常動作を行う。回路ブロックＣ４も前述の通り、リセット信号ＲＥＳＥＴがＨレベルの間はフリップフロップの初期化を行い、リセット信号ＲＥＳＥＴがＬレベルの間はクロック信号に同期して通常動作を行う。
【００３８】
回路ブロックＤ５も前述の通り、リセット信号ＲＥＳＥＴがＨレベルの間はフリップフロップの初期化を行い、リセット信号ＲＥＳＥＴがＬレベルの間はクロック信号に同期して通常動作を行う。なお、回路ブロックＤ５のフリップフロップ５０１のデータ出力端子から出力されるデータ信号は回路ブロックＡ２のフリップフロップ２０３のデータ入力端子に接続されている。
【００３９】
図４は、図３に示したフリップフロップ２０１、２０２、及び、２０３の接続構成を示すブロック図である。
図４（Ａ）はフリップフロップ２０１の接続構成を示すブロック図である。図４（Ａ）において、２０１１はクロックゲーティングセルで、クロックゲーティングセル１０２１と同じものである。
【００４０】
フリップフロップ２０１は、前述の「イネーブルによるクロックゲーティング技術」が適用されており、フリップフロップ２０１のクロック端子Ｃには、クロック信号ＣＬＫを制御信号ＥＮＢでクロックゲーティングしたクロックが入力される。フリップフロップ２０１のデータ入力端子Ｄには、データ信号ＤＩＮとリセット信号ＲＳＴの反転信号との論理積信号が入力される。フリップフロップ２０１は、クロック端子Ｃに入力されるクロックの立ち上がりエッジのタイミングでデータ入力端子Ｄに入力されている値を保持し、保持している値をデータ出力端子Ｑからデータ信号ＤＯＵＴとして出力する。リセット期間中、すなわちリセット信号ＲＳＴがＨレベルの間は、データ入力端子ＤにはＬレベルの値が入力されるので、クロック端子Ｃに入力されるクロック信号の立ち上がりエッジに同期して、フリップフロップ２０１の保持する値はＬレベルに初期化される。
このフリップフロップ２０１のようにクロック信号の立ち上がりエッジに同期して、リセット信号の値で直接Ｌレベルに初期化されるフリップフロップを、同期リセット付きフリップフロップと呼ぶ。
【００４１】
図４（Ｂ）はフリップフロップ２０２の接続構成を示すブロック図である。図４（Ｂ）において、２０２１はクロックゲーティングセルで、クロックゲーティングセル１０２１と同じものである。
【００４２】
フリップフロップ２０２は、前述の「イネーブルによるクロックゲーティング技術」が適用されており、フリップフロップ２０２のクロック端子Ｃには、クロック信号ＣＬＫを制御信号ＥＮＢでクロックゲーティングしたクロックが入力される。フリップフロップ２０２のデータ入力端子Ｄには、データ信号ＤＩＮとリセット信号ＲＳＴとの論理和信号が入力される。フリップフロップ２０２は、クロック端子Ｃに入力されるクロックの立ち上がりエッジのタイミングでデータ入力端子Ｄに入力されている値を保持し、保持している値をデータ出力端子Ｑからデータ信号ＤＯＵＴとして出力する。リセット期間中、すなわちリセット信号ＲＳＴがＨレベルの間は、データ入力端子ＤにはＨレベルの値が入力されるので、クロック端子Ｃに入力されるクロック信号の立ち上がりエッジに同期して、フリップフロップ２０２の保持する値はＨレベルに初期化される。
このフリップフロップ２０２のようにクロック信号の立ち上がりエッジに同期して、リセット信号の値で直接Ｈレベルに初期化されるフリップフロップを、同期セット付きフリップフロップと呼ぶ。
【００４３】
図４（Ｃ）はフリップフロップ２０３の接続構成を示すブロック図である。図４（Ｃ）において、２０３１はクロックゲーティングセルで、クロックゲーティングセル１０２１と同じものである。
【００４４】
フリップフロップ２０３は、前述の「イネーブルによるクロックゲーティング技術」が適用されており、フリップフロップ２０３のクロック端子Ｃには、クロック信号ＣＬＫを制御信号ＥＮＢでクロックゲーティングしたクロックが入力される。フリップフロップ２０３のデータ入力端子Ｄには、データ信号ＤＩＮが入力される。フリップフロップ２０３は、クロック端子Ｃに入力されるクロックの立ち上がりエッジのタイミングでデータ入力端子Ｄに入力されている値を保持し、保持している値をデータ出力端子Ｑからデータ信号ＤＯＵＴとして出力する。リセット期間中、すなわちリセット信号ＲＳＴがＨレベルの間にも、データ入力端子Ｄに入力される値は直接は固定されず、入力データＤＩＮの値の生成に関係する他のフリップフロップが全て初期化された後に初期化値として固定されることになる。そして、その後のタイミングで、クロック端子Ｃに入力されるクロック信号の立ち上がりエッジに同期して、フリップフロップ２０３の保持する値は初期化される。
このフリップフロップ２０３のようにリセット信号の値で直接初期化されないフリップフロップを、リセットなしフリップフロップと呼ぶ。リセットなしフリップフロップを初期化できるタイミングは、前段のフリップフロップの初期化が全て完了した後で入力クロックの立ち上がりエッジが入力されるタイミングとなる。ここで、前段のフリップフロップとは、入力データＤＩＮの値を決定するのに関係する他のフリップフロップのことである（本実施例では回路ブロックＤ５のフリップフロップ５０１に対応する）。
【００４５】
図５は、実施例１のクロック供給装置１により生成されるクロックによる、図４に示した回路、及び、フリップフロップ２０１、２０２、及び、２０３の動作を示すタイミングチャートである。
【００４６】
図５（Ａ）は図４（Ａ）に示した回路の動作を示すタイミングチャートである。制御信号ＥＮＢは、前述の「イネーブルによるクロックゲーティング技術」のイネーブル制御を行う制御信号で、フリップフロップ２０１がラッチ動作すべき状態となるタイミングでＨレベルとなっている。ここで、ラッチ動作すべき状態とは論理設計内容によって決まるものであるが、リセット信号がＨレベルの間もラッチ動作すべき状態に含まれる。ラッチ動作すべき状態では、制御信号ＥＮＢはＨレベルの値となっている。
【００４７】
クロック信号ＣＬＫは、リセット期間では前述の通りクロック信号ＣＬＯＣＫからクロックパルスを間引いたクロックになる。ここで、リセット信号ＲＳＴによるフリップフロップ２０１の初期化は前述の通りクロック同期で行われるため、リセット期間ではリセット信号がＨレベルの期間を１クロックサイクルだけ後ろにずらした、サイクル２〜サイクル１５の期間である。
【００４８】
図５（Ｂ）は図５（Ａ）に示したタイミングチャートにおけるフリップフロップ２０１の動作を示すタイミングチャートである。フリップフロップ２０１のクロック端子Ｃに入力されるクロックは前述の通り、クロックゲーティングセル２０１１に入力されるクロック信号ＣＬＫを元にして、制御信号ＥＮＢに応じてクロックゲーティングセル２０１１がクロックゲーティングしたものとなる。そのため、制御信号ＥＮＢが常にＨレベルとなるリセット期間にクロック端子Ｃに入力されるクロックは、クロック信号ＣＬＫそのままとなる。また、制御信号ＥＮＢが変化する通常動作期間にクロック端子Ｃに入力されるクロックは、図に示したようにクロック信号ＣＬＫからクロックパルスが間引かれたものになる。
リセット期間は図中の太線枠で囲んであるサイクル２〜サイクル１５の期間であり、フリップフロップの初期化はサイクル２で行われているが、保持している値に変化はない。
【００４９】
図５（Ｃ）は図４（Ｂ）に示した回路の動作を示すタイミングチャートである。図５（Ｃ）に示すように、制御信号ＥＮＢは、フリップフロップ２０２がラッチ動作すべき状態となるタイミングでＨレベルとなっている。クロック信号ＣＬＫは、リセット期間では前述の通りクロック信号ＣＬＯＣＫからクロックパルスを間引いたクロックになる。
【００５０】
図５（Ｄ）は図５（Ｃ）に示したタイミングチャートにおけるフリップフロップ２０２の動作を示すタイミングチャートである。フリップフロップ２０２のクロックゲーティングセル接続構成は、フリップフロップ２０１と同様なので、クロック端子Ｃに入力されるクロックは図５（Ｂ）と同様にクロックゲーティングされたものとなる。リセット期間は、図中の太線枠で囲んであるサイクル２〜サイクル１５の期間であり、フリップフロップの初期化はサイクル２に行われている。
【００５１】
図５（Ｅ）は図４（Ｃ）に示した回路の動作を示すタイミングチャートである。入力データ信号ＤＩＮは、回路ブロックＤ５のフリップフロップ５０１の出力データ信号である。制御信号ＥＮＢは、フリップフロップ２０３がラッチ動作すべき状態となるタイミングでＨレベルとなっている。クロック信号ＣＬＫは、リセット期間では前述の通りクロック信号ＣＬＯＣＫからクロックパルスを間引いたクロックになる。
【００５２】
図５（Ｆ）は図５（Ｅ）に示したタイミングチャートにおけるフリップフロップ２０３の動作を示すタイミングチャートである。フリップフロップ２０３のクロックゲーティングセル接続構成はフリップフロップ２０１と同様なので、クロック端子Ｃに入力されるクロックは図５（Ｂ）と同様にクロックゲーティングされたものとなる。
【００５３】
リセット期間は図中の太線枠で囲んであるサイクル２〜サイクル１５の期間であり、フリップフロップの初期化はサイクル６に行われている。フリップフロップ２０３は前述の通り、リセットなしフリップフロップであるため、入力データ端子Ｄに入力される値がそのまま初期化値となる。そのため、フリップフロップ２０３を問題なく初期化するためには、前段のフリップフロップが全てリセット期間中に初期化されてその初期化値が確定する必要がある。ここで、フリップフロップ２０３の入力データ端子Ｄに入力されるデータ信号は、前述の通り回路ブロックＤ５のフリップフロップ５０１の出力データ信号である。そして、フリップフロップ５０１は図７（Ｆ）で後述するがリセット期間中のサイクル５に初期化が完了して確定するため、リセットなしフリップフロップであるフリップフロップ２０３を問題なく初期化することができる。
【００５４】
図６は、図５に示したタイミングチャートにおけるフリップフロップ２０１、２０２、及び、２０３の動作と消費電流の大きさを示した図である。
図６（Ａ）は図５（Ｂ）に示したタイミングチャートにおけるフリップフロップ２０１の動作と消費電流の大きさを示した図である。消費電流値を上げる要素としては前述のように、ラッチ動作の有無とトグル動作の有無があるので、それぞれに対応するクロック端子Ｃへのクロックパルスの入力の有無とデータ出力端子Ｑから出力される値の変化の有無とをクロックサイクル毎の表にしてある。
【００５５】
Ｃ入力の行は、クロック端子Ｃへのクロックパルスの入力の有無を表し、「×」マークは「有り」（入力有り）、空欄は「無し」（入力無し）を意味する。また、Ｑ変化の行は、データ出力端子Ｑから出力される値の変化の有無を表し、「×」マークは「有り」（変化有り）、空欄は「無し」（変化無し）を意味する。
【００５６】
消費電流の行は、フリップフロップ２０１及び図示しない周辺回路がクロック同期動作で消費する電流値の大きさを表している。消費電流の大きさは、前述したようにクロック端子Ｃへのクロックパルスの入力とデータ出力端子Ｑから出力される値の変化により決定され、次のように分類される。すなわち、Ｃ入力とＱ出力の両方ともが「有り」のクロックサイクル、Ｃ入力のみ「有り」のクロックサイクル、どちらも「無し」のクロックサイクルに分類される。
【００５７】
両方ともが有りのクロックサイクル、Ｃ入力のみ有りのクロックサイクル、どちらも無しのクロックサイクルの順序は、消費電流が大きい順であり、「Ｈ」、「Ｍ」、「Ｌ」で表記されている。なお、太線の枠で囲んだサイクル２〜サイクル１５の間は、リセット期間を表している。
【００５８】
図６（Ｂ）は図５（Ｄ）に示したタイミングチャートにおけるフリップフロップ２０２の動作と消費電流の大きさを示した表であり、図６（Ａ）と同様に表記してある。
Ｃ入力の行とＱ変化の行は図６（Ａ）と同様に表記してある。消費電流の行は、フリップフロップ２０２及び図示しない周辺回路がクロック同期動作で消費する電流値の大きさを表している。消費電流の大きさは、図６（Ａ）と同様に表記してある。
【００５９】
図６（Ｃ）は図５（Ｆ）に示したタイミングチャートにおけるフリップフロップ２０３の動作と消費電流の大きさを示した表であり、図６（Ａ）と同様に表記してある。
Ｃ入力の行とＱ変化の行は図６（Ａ）と同様に表記してある。消費電流の行はフリップフロップ２０３及び図示しない周辺回路がクロック同期動作で消費する電流値の大きさを表している。消費電流の大きさは、図６（Ａ）と同様に表記してある。
【００６０】
図７は、フリップフロップ３０１、４０１、及び、５０１の周辺回路の動作を示すタイミングチャートである。
図７（Ａ）はフリップフロップ３０１の周辺回路の動作を示すタイミングチャートである。フリップフロップ３０１は、図４（Ａ）で示したフリップフロップ２０１と同様の接続構成になっている。フリップフロップ３０１は、回路ブロックＢ３に含まれているため、フリップフロップ３０１の周辺回路にはクロック信号ＣＬＯＣＫ＿Ｂが入力される。そのため、本図は図５（Ａ）に示したフリップフロップ２０１の周辺回路のタイミングチャートとはクロック信号ＣＬＫの波形が異なるものとなっている。
【００６１】
制御信号ＥＮＢは、フリップフロップ３０１がラッチ動作すべき状態となるタイミングでＨレベルとなっている。クロック信号ＣＬＫは、リセット期間では前述の通りクロック信号ＣＬＯＣＫからクロックパルスを間引いたクロックになる。
【００６２】
図７（Ｂ）は図７（Ａ）に示したタイミングチャートにおけるフリップフロップ３０１の動作を示すタイミングチャートである。フリップフロップ３０１のクロックゲーティングセル接続構成はフリップフロップ２０１と同様なので、クロック端子Ｃに入力されるクロックは図５（Ｂ）と同様にクロックゲーティングされたものとなる。リセット期間は、図中の太線枠で囲んであるサイクル２からサイクル１５の期間であり、フリップフロップ３０１の初期化はサイクル３に行われている。
【００６３】
図７（Ｃ）はフリップフロップ４０１の周辺回路の動作を示すタイミングチャートである。フリップフロップ４０１は、図４（Ａ）で示したフリップフロップ２０１と同様の接続構成になっている。フリップフロップ４０１は回路ブロックＣ４に含まれているため、クロック信号ＣＬＯＣＫ＿Ｃが入力される。そのため、本図は図５（Ａ）に示したフリップフロップ２０１の周辺回路のタイミングチャートとはクロック信号ＣＬＫの波形が異なるものとなっている。制御信号ＥＮＢは、フリップフロップ４０１がラッチ動作すべき状態となるタイミングでＨレベルとなっている。クロック信号ＣＬＫは、リセット期間では前述の通りクロック信号ＣＬＯＣＫからクロックパルスを間引いたクロックになる。
【００６４】
図７（Ｄ）は図７（Ｃ）に示したタイミングチャートにおけるフリップフロップ４０１の動作を示すタイミングチャートである。フリップフロップ４０１のクロックゲーティングセル接続構成はフリップフロップ２０１と同様なので、クロック端子Ｃに入力されるクロックは図５（Ｂ）と同様にクロックゲーティングされたものとなる。リセット期間は図中の太線枠で囲んであるサイクル２〜サイクル１５の期間であり、フリップフロップ４０１の初期化はサイクル４に行われているが、保持している値に変化はない。
【００６５】
図７（Ｅ）はフリップフロップ５０１の周辺回路の動作を示すタイミングチャートである。フリップフロップ５０１は、図４（Ａ）で示したフリップフロップ２０１と同様の接続構成になっている。フリップフロップ５０１は回路ブロックＤ５に含まれているため、クロック信号ＣＬＯＣＫ＿Ｄが入力される。そのため、本図は図５（Ａ）に示したフリップフロップ２０１の周辺回路のタイミングチャートとはクロック信号ＣＬＫの波形が異なるものとなっている。制御信号ＥＮＢは、フリップフロップ５０１がラッチ動作すべき状態となるタイミングでＨレベルとなっている。クロック信号ＣＬＫは、リセット期間では前述の通りクロック信号ＣＬＯＣＫからクロックパルスを間引いたクロックになる。
【００６６】
図７（Ｆ）は図７（Ｅ）に示したタイミングチャートにおけるフリップフロップ５０１の動作を示すタイミングチャートである。フリップフロップ５０１のクロックゲーティングセル接続構成はフリップフロップ２０１と同様なので、クロック端子Ｃに入力されるクロックは図５（Ｂ）と同様にクロックゲーティングされたものとなる。リセット期間は図中の太線枠で囲んであるサイクル２からサイクル１５の期間であり、フリップフロップ５０１の初期化はサイクル５に行われている。出力データ端子Ｑから出力されたデータ信号ＤＯＵＴは、フリップフロップ２０３の入力データ端子Ｄに接続されている。
【００６７】
図８は、図７に示したタイミングチャートにおけるフリップフロップ３０１、４０１、及び、５０１の動作と消費電流の大きさを示した図であり、図６と同様に表記してある。
図８（Ａ）は図７（Ｂ）に示したタイミングチャートにおけるフリップフロップ３０１の動作と消費電流の大きさを示した表であり、図６（Ａ）と同様に表記してある。
Ｃ入力の行とＱ変化の行は図６（Ａ）と同様に表記してある。消費電流の行は、フリップフロップ３０１及び図示しない周辺回路がクロック同期動作で消費する電流値の大きさを表している。消費電流の大きさは、図６（Ａ）と同様に表記してある。
【００６８】
図８（Ｂ）は図７（Ｄ）に示したタイミングチャートにおけるフリップフロップ４０１の動作と消費電流の大きさを示した表であり、図６（Ａ）と同様に表記してある。
Ｃ入力の行とＱ変化の行は図６（Ａ）と同様に表記してある。消費電流の行は、フリップフロップ４０１及び図示しない周辺回路がクロック同期動作で消費する電流値の大きさを表している。消費電流の大きさは、図６（Ａ）と同様に表記してある。
【００６９】
図８（Ｃ）は図７（Ｆ）に示したタイミングチャートにおけるフリップフロップ５０１の動作と消費電流の大きさを示した表であり、図６（Ａ）と同様に表記してある。
Ｃ入力の行とＱ変化の行は図６（Ａ）と同様に表記してある。消費電流の行はフリップフロップ５０１及び図示しない周辺回路がクロック同期動作で消費する電流値の大きさを表している。消費電流の大きさは、図６（Ａ）と同様に表記してある。
【００７０】
図９は、図３で示した各フリップフロップ及び周辺回路が通常動作期間中のあるクロックサイクルにおいて消費する電流値の大きさを示したブロック図である。ここで、あるクロックサイクルとは、図６及び図８におけるサイクル２４である。また、図中の消費する電流値の大きさは、図６及び図８と同様に表記してある。
【００７１】
回路ブロック内の全てのフリップフロップの消費電流値の合計値が、その回路ブロック全体での消費電流値となる。回路ブロック全体での消費電流値は回路ブロックの論理設計内容に応じて毎サイクル変化するものであるが、通常動作期間中で最も大きくなる値を、通常動作時の最大消費電流値と呼ぶ。この図の状態で、通常動作時の最大消費電流値となっているものとする。
【００７２】
図１０は、図３で示した各フリップフロップ及び周辺回路がリセット期間中の初期化動作時のあるクロックサイクルにおいて消費する電流値の大きさを示したブロック図である。ここで、あるクロックサイクルとは、図６及び図８におけるサイクル２である。また、図中の消費する電流値の大きさは、図６及び図８と同様に表記してある。
【００７３】
このクロックサイクルでは、回路ブロックＡ２のフリップフロップ全てにクロックが供給されているため、回路ブロックＡ２のフリップフロップ全てにおいてクロック端子Ｃへのクロックパルスの入力による電流が消費されている。また、初期化動作を行うフリップフロップは、さらにデータ出力端子Ｑから出力される値の変化による電流が消費されている。そのため、回路ブロックＡ２のフリップフロップは「Ｈ」又は「Ｍ」の消費電流値となっている。
【００７４】
また、このクロックサイクルでは、回路ブロックＢ３、回路ブロックＣ４、及び、回路ブロックＤ５のフリップフロップは、クロックが供給されないため消費電流値は「Ｌ」となっている。
【００７５】
リセット期間中で回路ブロック全体での消費電流値が最も大きくなる値を、リセット動作時の最大消費電流値と呼ぶ。この図の状態で、リセット動作時の最大消費電流値となっている。
【００７６】
なお、リセット期間中の初期化動作時には、この図に示した状態の他に、回路ブロックＢ３、回路ブロックＣ４、又は、回路ブロックＤ５のいずれかだけにクロックが供給されるクロックサイクルも存在する。そのクロックサイクルとはそれぞれ、図６及び図８における、サイクル３、サイクル４、及び、サイクル５である。それらのクロックサイクルにおける状態は論理回路設計の内容によって決まるが、本実施例においては、図１０に示した状態よりも「Ｈ」の消費電流値となるフリップフロップの数が少ないものとする。
【００７７】
図１１は、図３で示した各フリップフロップ及び周辺回路がリセット期間中の初期化後の定常状態におけるあるクロックサイクルにおいて消費する電流値の大きさを示したブロック図である。ここで、あるクロックサイクルとは、図６及び図８におけるサイクル１０である。また、図中の消費する電流値の大きさは、図６及び図８と同様に表記してある。
【００７８】
このサイクルでは、回路ブロックＡ２のフリップフロップ全てにクロックが供給されているため、回路ブロックＡ２のフリップフロップ全てにおいてクロック端子Ｃへのクロックパルスの入力による電流が消費されている。また、全てのフリップフロップが初期化された後であるため、データ出力端子Ｑから出力される値の変化による消費電流値の増加はない。そのため、回路ブロックＡ２のフリップフロップ全てが「Ｍ」の消費電流値となっている。
【００７９】
また、このサイクルでは、回路ブロックＢ３、回路ブロックＣ４、及び、回路ブロックＤ５のフリップフロップは、クロックが供給されないため消費電流値は「Ｌ」となっている。
リセット期間中で全てのフリップフロップが初期化された後の最大消費電流値を、リセット動作時の定常最大消費電流値と呼ぶ。この図の状態で、リセット動作時の定常最大消費電流値となっているものとする。
【００８０】
なお、リセット期間中は、この図に示した状態の他に、回路ブロックＢ３、回路ブロックＣ４、又は、回路ブロックＤ５のいずれかだけにクロックが供給されるクロックサイクルも存在する。そのクロックサイクルとはそれぞれ、図６及び図８におけるサイクル１１、サイクル１２、及び、サイクル１３である。それらのクロックサイクルにおける状態は論理回路設計によって決まるが、図１１に示した状態と「Ｍ」や「Ｌ」の消費電流値となるフリップフロップの数が変わらないものとすると、消費電流値は図１１に示したものと同じである。
【００８１】
図１２は、図６、図８、図９、図１０、及び、図１１で示した消費電流値「Ｈ」、「Ｍ」、及び、「Ｌ」について、実際の電流値との関係を表した図である。実際の消費電流値は回路ブロックを実装するデバイスに依存し、また、フリップフロップの周辺回路の内容によって変化するが、ここでは消費電流値の計算のため、モデル化した値を一意に割り当ててある。
【００８２】
図１３は、図９、図１０、及び図１１で示した通常動作期間中の状態、リセット期間中の初期化動作時の状態、及び、初期化後の定常状態における消費電流値を表した図である。
【００８３】
図１３（Ａ）は図９で示した通常動作期間中の状態における消費電流値を表した図である。「Ｈ」が１３個、「Ｍ」が１８個、及び、「Ｌ」が２５個ある状態なので、合計で２４４［ｐＡ］の消費電流値となる。前述の通り、この値が通常動作時の最大消費電流値である。
【００８４】
図１３（Ｂ）は図１０で示したリセット期間中の初期化動作時の状態における消費電流値を表した図である。「Ｈ」が６個、「Ｍ」が８個、及び、「Ｌ」が４２個ある状態なので、合計で１７２［ｐＡ］の消費電流値となる。前述の通り、この値がリセット動作時の最大消費電流値である。
【００８５】
図１３（Ｃ）は図１１で示したリセット期間中の初期化後の定常状態における消費電流値を表した図である。「Ｈ」が０個、「Ｍ」が１４個、及び、「Ｌ」が４２個ある状態なので、合計で１５４［ｐＡ］の消費電流値となる。前述の通り、この値がリセット動作時の定常最大消費電流値である。
【００８６】
以上に示したように、リセット期間中にカウンタ値で生成したイネーブル信号によるクロックゲーティングを用いた回路で、クロック供給装置１を構成することができる。そして、クロック供給装置１によれば、リセットなしフリップフロップを含む複数の回路ブロック全体を確実にリセットすることができる（図５（Ｆ）のサイクル６）。また、リセット動作時の最大消費電流値を、通常動作時の最大消費電流値よりも小さくすることができる（図１３）。
【００８７】
以下、本発明によるクロック供給装置との比較のために、従来のクロック供給装置を二例、図面を用いて説明する。
〔従来の第一のクロック供給装置〕
まず、従来の第一のクロック供給装置では、リセット動作時の最大消費電流値が、通常動作時の最大消費電流値よりも大きくなってしまうことを示す。なお、上述した実施例１のクロック供給装置と異なる構成の部分のみを以下に説明する。
【００８８】
図２５は、従来の第一のクロック供給装置の外部接続構成を示すブロック図である。
図２５に示すように、従来のクロック供給装置は、この図に示すように配線のみで構成されており、実施例１のクロック供給装置１のように、制御信号生成部１０１やクロック制御部１０２は存在しない。
【００８９】
図２６は、従来の第一のクロック供給装置の動作を示すタイミングチャートである。
図２６に示すように、従来の第一のクロック供給装置では、リセット期間中も各回路ブロックに入力するクロック信号ＣＬＯＣＫは変わらない。
【００９０】
図２７は、従来の第一のクロック供給装置により入力されるクロックによる、図４に示した各回路、及び、フリップフロップ２０１、２０２、及び２０３の動作を示すタイミングチャートである。この図は上述した実施例１の図５に対応する図であり、リセット期間中のクロック信号ＣＬＫの動作が図５とは異なっている。
図２７（Ａ）は従来の第一のクロック供給装置により入力されるクロックによる、フリップフロップ２０１の周辺回路の動作を示すタイミングチャートである。この図は上述した実施例１の図５（Ａ）に対応する図であり、リセット期間中のクロック信号ＣＬＫの動作が図５（Ａ）とは異なっている。
【００９１】
図２７（Ｂ）は図２７（Ａ）に示したタイミングチャートにおけるフリップフロップ２０１の動作を示すタイミングチャートである。この図は上述した実施例１の図５（Ｂ）に対応する図であり、リセット期間中のクロック信号ＣＬＫの動作が図５（Ｂ）とは異なっている。
【００９２】
図２７（Ｃ）は従来の第一のクロック供給装置により入力されるクロックによる、図４（Ｂ）に示したフリップフロップ２０２の周辺回路の動作を示すタイミングチャートである。この図は上述した実施例１の図５（Ｃ）に対応する図であり、リセット期間中のクロック信号ＣＬＫの動作が図５（Ｃ）とは異なっている。
【００９３】
図２７（Ｄ）は図２７（Ｃ）に示したタイミングチャートにおけるフリップフロップ２０２の動作を示すタイミングチャートである。この図は上述した実施例１の図５（Ｄ）に対応する図であり、リセット期間中のクロック信号ＣＬＫの動作が図５（Ｄ）とは異なっている。
【００９４】
図２７（Ｅ）は従来の第一のクロック供給装置により入力されるクロックによる、図４（Ｃ）に示したフリップフロップ２０３の周辺回路の動作を示すタイミングチャートである。この図は上述した実施例１の図５（Ｅ）に対応する図であり、リセット期間中のクロック信号ＣＬＫの動作が図５（Ｅ）とは異なっている。
【００９５】
図２７（Ｆ）は図２７（Ｅ）に示したタイミングチャートにおけるフリップフロップ２０３の動作を示すタイミングチャートである。この図は上述した実施例１の図５（Ｆ）に対応する図であり、リセット期間中のクロック信号ＣＬＫの動作が図５（Ｆ）とは異なっている。
【００９６】
図２８は、図２７に示したタイミングチャートにおけるフリップフロップ２０１、２０２、及び、２０３の動作と消費電流の大きさを示した図である。この図は上述した実施例１の図６に対応する図であり、リセット期間中のＣ入力の有無と消費電流の大きさが図６とは異なっている。
【００９７】
図２８（Ａ）は図２７（Ｂ）に示したタイミングチャートにおけるフリップフロップ２０１の動作と消費電流の大きさを示した図である。この図は上述した実施例１の図６（Ａ）に対応する図であり、リセット期間中のＣ入力の有無と消費電流の大きさが図６（Ａ）とは異なっている。
【００９８】
図２８（Ｂ）は図２７（Ｄ）に示したタイミングチャートにおけるフリップフロップ２０２の動作と消費電流の大きさを示した図である。この図は上述した実施例１の図６（Ｂ）に対応する図であり、リセット期間中のＣ入力の有無と消費電流の大きさが図６（Ｂ）とは異なっている。
【００９９】
図２８（Ｃ）は図２７（Ｆ）に示したタイミングチャートにおけるフリップフロップ２０３の動作と消費電流の大きさを示した図である。この図は上述した実施例１の図６（Ｃ）に対応する図であり、リセット期間中のＣ入力の有無と消費電流の大きさが図６（Ｃ）とは異なっている。
【０１００】
従来の第一のクロック供給装置により入力されるクロックによる、フリップフロップ３０１、４０１、及び、５０１のタイミングチャート、動作、及び、消費電流の大きさについては図示しない。しかし、フリップフロップ３０１、４０１、及び、５０１のタイミングチャート、動作、及び、消費電流の大きさは、いずれも前述のフリップフロップ２０１、２０２、２０３と同様のものである。すなわち、従来の第一のクロック供給装置により入力されるクロックは、実施例１のクロック供給装置により入力されるクロックとは、リセット期間中のクロック信号ＣＬＫの動作が異なる。このため、リセット期間中の各フリップフロップのＣ入力の有無と消費電流の大きさも異なっている。
【０１０１】
図２９は、従来の第一のクロック供給装置により入力されるクロックによる、図３で示した各フリップフロップ及び周辺回路がリセット期間中の初期化動作時のあるクロックサイクルにおいて消費する電流値の大きさを示したブロック図である。ここで、あるクロックサイクルとは、図２８におけるサイクル２である。この図は上述した実施例１の図１０に対応する図であり、「Ｌ」の消費電流値のフリップフロップが存在しないところが図１０とは異なっている。
【０１０２】
図３０は、従来の第一のクロック供給装置により入力されるクロックによる、図３で示した各フリップフロップ及び周辺回路がリセット期間中の初期化後の定常状態におけるあるクロックサイクルにおいて消費する電流値の大きさを示したブロック図である。ここで、あるクロックサイクルとは、図２８におけるサイクル１０である。この図は上述した実施例１の図１１に対応する図であり、「Ｌ」の消費電流値のフリップフロップが存在しないところが図１１とは異なっている。
【０１０３】
図３１は、従来の第一のクロック供給装置により入力されるクロックによる、図２９、及び、図３０で示したリセット期間中の初期化動作時の状態、及び、初期化後の定常状態における消費電流値を表した図である。
【０１０４】
図３１（Ａ）は、図２９で示したリセット期間中の初期化動作時の状態における消費電流値を表した図である。「Ｈ」が６個、「Ｍ」が５０個、及び、「Ｌ」が０個ある状態なので、合計で２９８［ｐＡ］の消費電流値となる。なお、通常動作時の最大消費電流値は、実施例１の場合と同じ値（図１３（Ａ）に示した２４４［ｐＡ］）となる。
【０１０５】
前述の通り、この値が従来の第一のクロック供給装置におけるリセット動作時の最大消費電流値であり、通常動作期間中の状態における消費電流値（２４４［ｐＡ］）よりも大きくなってしまう。
【０１０６】
図３１（Ｂ）は図３０で示したリセット期間中の初期化後の定常状態における消費電流値を表した図である。「H」が０個、「M」が５６個、及び、「Ｌ」が０個ある状態なので、合計で２８０［ｐＡ］の消費電流値となる。前述の通り、この値が従来の第一のクロック供給装置におけるリセット動作時の定常最大消費電流値であり、通常動作期間中の状態における消費電流値（２４４［ｐＡ］）よりも大きくなってしまう。
【０１０７】
以上に示したように、従来の第一のクロック供給装置により各回路ブロックに入力されるクロックでは、リセット動作時の最大消費電流値が、通常動作時の最大消費電流値よりも大きくなってしまうことが明らかとなった。
【０１０８】
〔従来の第二のクロック供給装置〕
次に、従来の第二のクロック供給装置について説明する。なお、上述した実施例１のクロック供給装置と異なる構成の部分のみを以下に説明する。
従来の第二のクロック供給装置は、リセット動作時に複数の回路ブロックのリセット期間を重複させないように、各回路ブロックに対し独立なクロックを入力するものである。従来の第二のクロック供給装置では、リセット期間中に全ての回路ブロックに同時にクロックを供給しないように制御することで、１クロックサイクルあたりの瞬間的な消費電流を削減可能である。
【０１０９】
図３２は、従来の第二のクロック供給装置の動作を示すタイミングチャートである。
従来の第二のクロック供給装置では、リセット信号がＨレベルの間には、複数の制御信号ＥＮＡＢＬＥ＿Ａ、ＥＮＡＢＬＥ＿Ｂ、ＥＮＡＢＬＥ＿Ｃ、及び、ＥＮＡＢＬＥ＿Ｄが同時にＨレベルにならないよう生成されている。また、出力クロック信号ＣＬＯＣＫ＿Ａ、ＣＬＯＣＫ＿Ｂ、ＣＬＯＣＫ＿Ｃ、及び、ＣＬＯＣＫ＿Ｄは、複数の制御信号それぞれに応じてクロック信号を間引いたものとなっている。この図は、上述した実施例１の図２（Ｃ）に対応する図であり、各回路ブロックに対して個別にリセット期間を設けるようにクロック信号を生成しているところが図２（Ｃ）とは異なっている。
【０１１０】
図３３は、従来の第二のクロック供給装置により入力されるクロックによる、フリップフロップ２０３の周辺回路、フリップフロップ２０３、フリップフロップ５０１の周辺回路、及びフリップフロップ５０１の動作を示すタイミングチャートである。
図３３（Ａ）は従来の第二のクロック供給装置により入力されるクロックによる、フリップフロップ２０３の周辺回路の動作を示すタイミングチャートである。この図は上述した実施例１の図５（Ｅ）に対応する図であり、リセット期間中のクロック信号ＣＬＫの動作が図５（Ｅ）とは異なっている。入力データ信号ＤＩＮは、フリップフロップ５０１の出力データ信号である。
【０１１１】
図３３（Ｂ）は図３３（Ａ）に示したタイミングチャートにおけるフリップフロップ２０３の動作を示すタイミングチャートである。
リセット期間は図中の太線枠で囲んであるサイクル２〜サイクル１５の期間であり、フリップフロップ２０３の初期化はサイクル２、３、及び、４に行われている。フリップフロップ２０３は前述の通りリセットなしフリップフロップであるため、入力データ端子に入力される値がそのまま初期化値となる。そのため、フリップフロップ２０３を問題なく初期化するためには、前段のフリップフロップが全てリセット期間中に初期化されてその初期化値が確定する必要がある。ここで、フリップフロップ２０３の入力データ端子Ｃに入力されるデータ信号は前述の通りフリップフロップ５０１の出力データ信号である。そして、フリップフロップ５０１は後述するがリセット期間中のサイクル１１に初期化が完了して確定する。よって、従来の第二のクロック供給装置により入力されるクロックでは、前段のフリップフロップ５０１の初期化値が確定するサイクル１１より前に初期化を行う、リセットなしフリップフロップであるフリップフロップ２０３を初期化できていない。
【０１１２】
図３３（Ｃ）は従来の第二のクロック供給装置により入力されるクロックによる、フリップフロップ５０１の周辺回路の動作を示すタイミングチャートである。この図は上述した実施例１の図７（Ｅ）に対応する図であり、リセット期間中のクロック信号ＣＬＫの動作が図７（Ｅ）とは異なっている。
【０１１３】
図３３（Ｄ）は図３３（Ｃ）に示したタイミングチャートにおけるフリップフロップ５０１の動作を示すタイミングチャートである。
リセット期間は図中の太線枠で囲んであるサイクル２〜サイクル１５の期間であり、フリップフロップ５０１の初期化はサイクル１１に行われている。フリップフロップ５０１の出力データ端子Ｑから出力されたデータ信号ＤＯＵＴは、フリップフロップ２０３の入力データ端子Ｄに接続されている。このように、リセットなしフリップフロップであるフリップフロップ２０３の初期化を行うサイクル２、３及び４より後に前段のフリップフロップ５０１の初期化値が確定している。
以上に示したように、従来の第二のクロック供給装置により入力されるクロックにより、複数の回路ブロックのリセット期間を独立にすると、完全なリセットができなくなることが明らかになった（図３３）。
【０１１４】
以上のように、実施例１のクロック供給装置では、複数の回路ブロック全体のピーク消費電流を軽減しつつ、複数の回路ブロック全体のリセットを適切に行えるクロックを複数の回路ブロックに入力することができる。その結果、ＬＳＩ電源の設計と製造のコストを抑えることができる。
【実施例２】
【０１１５】
以下、本発明の実施例２を示すクロック供給装置の構成について図面を用いて説明する。なお、ここでは、実施例１と異なる箇所のみを説明する。
実施例２のクロック供給装置は、実施例１のクロック供給装置の制御信号生成部１０１を、図１４で示す別の構成の制御信号生成部に置き換えたものとなる。
図１４は、実施例２の制御信号生成部１０１の内部構成を示すブロック図である。
図１４において、１０１２は非同期セット付きフリップフロップである。また、１０１３、１０１４、及び、１０１５は非同期リセット付きフリップフロップである。
非同期セット付きフリップフロップ１０１２は、クロック信号ＣＬＯＣＫ、リセット信号ＲＥＳＥＴ、入力信号Ｅ＿Ｄ、及び、出力信号Ｅ＿Ａの各信号線と接続されている。非同期セット付きフリップフロップ１０１２は、データラッチ動作をクロック信号に同期して、また、初期化動作をクロック信号に非同期で行う。非同期セット付きフリップフロップ１０１２は、リセット信号を受信し、リセット信号がＬレベルの間（通常動作時）は保持する値をＨレベル（非アクティブレベル）に初期化する。非同期セット付きフリップフロップ１０１２は、リセット信号がＨレベルの間はクロック信号に同期してデータ入力端子Ｄに入力されている入力信号Ｅ＿Ｄの値を内部に保持してデータ出力端子Ｑから出力信号Ｅ＿Ａとして出力する。
【０１１６】
非同期リセット付きフリップフロップ１０１３は、クロック信号ＣＬＯＣＫ、リセット信号ＲＥＳＥＴ、入力信号Ｅ＿Ａ、及び出力信号Ｅ＿Ｂの各信号線と接続されている。非同期リセット付きフリップフロップ１０１３は、データラッチ動作をクロック信号に同期して、また、初期化動作をクロック信号に非同期で行う。非同期リセット付きフリップフロップ１０１３は、リセット信号を受信し、リセット信号がＬレベルの間（通常動作時）は保持する値をＬレベル（非アクティブレベル）に初期化する。非同期リセット付きフリップフロップ１０１３は、リセット信号がＨレベルの間はクロック信号に同期してデータ入力端子Ｄに入力されている入力信号Ｅ＿Ａの値を内部に保持してデータ出力端子Ｑから出力信号Ｅ＿Ｂとして出力する。
【０１１７】
非同期リセット付きフリップフロップ１０１４は、クロック信号ＣＬＯＣＫ、リセット信号ＲＥＳＥＴ、入力信号Ｅ＿Ｂ、及び出力信号Ｅ＿Ｃの各信号線と接続されている。非同期リセット付きフリップフロップ１０１４は、データラッチ動作をクロック信号に同期して、また、初期化動作をクロック信号に非同期で行う。非同期リセット付きフリップフロップ１０１４は、リセット信号を受信し、リセット信号がＬレベルの間は保持する値をＬレベルに初期化する。非同期リセット付きフリップフロップ１０１４は、リセット信号がＨレベルの間はクロック信号に同期してデータ入力端子Ｄに入力されている入力信号Ｅ＿Ｂの値を内部に保持してデータ出力端子Ｑから出力信号Ｅ＿Ｃとして出力する。
【０１１８】
非同期リセット付きフリップフロップ１０１５は、クロック信号ＣＬＯＣＫ、リセット信号ＲＥＳＥＴ、入力信号Ｅ＿Ｃ、及び出力信号Ｅ＿Ｄの各信号線と接続されている。非同期リセット付きフリップフロップ１０１５は、データラッチ動作をクロック信号に同期して、また、初期化動作をクロック信号に非同期で行う。非同期リセット付きフリップフロップ１０１５はリセット信号を受信し、リセット信号がＬレベルの間は保持する値をＬレベルに初期化する。非同期リセット付きフリップフロップ１０１５は、リセット信号がＨレベルの間はクロック信号に同期してデータ入力端子Ｄに入力されている入力信号Ｅ＿Ｃの値を内部に保持してデータ出力端子Ｑから出力信号Ｅ＿Ｄとして出力する。
【０１１９】
出力信号ＥＮＡＢＬＥ＿Ａは、リセット信号がＬレベルのとき、又は、出力信号Ｅ＿ＡがＨレベルのときにＨレベル、それ以外のときにＬレベルとなる。出力信号ＥＮＡＢＬＥ＿Ｂは、リセット信号がＬレベルのとき、又は、出力信号Ｅ＿ＢがＨレベルのときにＨレベル、それ以外のときにＬレベルとなる。出力信号ＥＮＡＢＬＥ＿Ｃは、リセット信号がＬレベルのときか、又は、出力信号Ｅ＿ＣがＨレベルのときにＨレベル、それ以外のときにＬレベルとなる。出力信号ＥＮＡＢＬＥ＿Ｄは、リセット信号がＬレベルのときか、又は、出力信号Ｅ＿ＤがＨレベルのときにＨレベル、それ以外のときにＬレベルとなる。
すなわち、実施例２の制御信号生成部１０１は、フリップフロップ１０１２〜１０１５が直列かつ環状に接続された回路有し、リセット動作時に、フリップフロップ１０１２〜１０１５の出力信号をＥＮＡＢＬＥ＿Ａ〜Ｄとして出力する。
【０１２０】
実施例２の制御信号生成部１０１、クロックゲーティングセル１０２１、及びクロック供給装置１の動作を示すタイミングチャートは、実施例１の図２（Ａ）のタイミングチャートを図１５に示すタイミングチャートに置き換えたものとなる。すなわち、図２（Ｂ），図２（Ｃ）に示したタイミングチャートは実施例１と同一である。
【０１２１】
図１５は、実施例２に係る制御信号生成部１０１の動作を示すタイミングチャートである。
リセット期間、すなわちリセット信号ＲＥＳＥＴがＨレベルの間は、出力信号Ｅ＿Ａ、Ｅ＿Ｂ、Ｅ＿Ｃ、及び、Ｅ＿Ｄは、４つのフリップフロップ１０１２、１０１３、１０１４、及び１０１５の動作によって伝播動作している。
【０１２２】
また、出力信号ＥＮＡＢＬＥ＿Ａ、ＥＮＡＢＬＥ＿Ｂ、ＥＮＡＢＬＥ＿Ｃ、及び、ＥＮＡＢＬＥ＿Ｄは前述の通り、リセット期間ではＥ＿Ａ、Ｅ＿Ｂ、Ｅ＿Ｃ、及び、Ｅ＿Ｄのレベルに応じてＨレベルとＬレベルを切り替えながら動作する。
【０１２３】
また、出力信号ＥＮＡＢＬＥ＿Ａ、ＥＮＡＢＬＥ＿Ｂ、ＥＮＡＢＬＥ＿Ｃ、及び、ＥＮＡＢＬＥ＿Ｄは前述の通り、通常動作期間、すなわちリセット信号ＲＥＳＥＴがＬレベルの間は、Ｈレベルに固定される。
【０１２４】
なお、リセット期間すなわちリセット信号ＲＥＳＥＴがＨレベルの間では、出力信号ＥＮＡＢＬＥ＿Ａ、ＥＮＡＢＬＥ＿Ｂ、ＥＮＡＢＬＥ＿Ｃ、及び、ＥＮＡＢＬＥ＿ＤそれぞれがＨレベルとなるクロックサイクルが重ならないように動作するのが特徴である。出力信号ＥＮＡＢＬＥ＿Ａ、ＥＮＡＢＬＥ＿Ｂ、ＥＮＡＢＬＥ＿Ｃ、及び、ＥＮＡＢＬＥ＿Ｄは、実施例１の図２（Ａ）と同じ波形となっている。
【０１２５】
以上、実施例２に示すように、リセット期間中に、直列接続したフリップフロップで生成したイネーブル信号によるクロックゲーティングを用いた回路で、本発明のクロック供給装置１を構成することができる。実施例２のクロック供給装置１によれば、リセットなしフリップフロップを含む複数の回路ブロック全体を確実にリセットすることができる（図５（Ｆ）のサイクル６）。また、リセット動作時の最大消費電流値を、通常動作時の最大消費電流値よりも小さくすることができる（図１３）。
【０１２６】
すなわち、実施例２のクロック供給装置によれば、複数の回路ブロック全体のピーク消費電流を軽減しつつ、複数の回路ブロック全体のリセットを適切に行えるクロックを複数の回路ブロックに入力することができる。その結果、ＬＳＩ電源の設計と製造のコストを抑えることができる。
【実施例３】
【０１２７】
以下、本発明の実施例３を示すクロック供給装置の構成について図面を用いて説明する。なお、ここでは、実施例１と異なる箇所のみを説明する。
実施例３のクロック供給装置は、実施例１のクロック供給装置の内部構成を図１６で示す別の構成に置き換えたものとなる。
図１６は、実施例３のクロック供給装置１の内部構成を示すブロック図である。
図１６において、６はクロック生成部Ａ、７はクロック生成部Ｂ、８はクロック生成部Ｃ、９はクロック生成部Ｄである。
６０１は制御信号生成部Ａ、６０２はクロック制御部である。７０１は制御信号生成部Ｂ、７０２はクロック制御部である。８０１は制御信号生成部Ｃ、８０２はクロック制御部である。９０１は制御信号生成部Ｄ、９０２はクロック制御部である。
【０１２８】
６０１１、７０１１、８０１１、及び９０１１は、制御信号生成部で、実施例１の制御信号生成部１０１と同じものである。６０２１はクロックゲーティングセルで、実施例１のクロックゲーティングセル１０２１と同じものである。
【０１２９】
実施例３のクロック供給装置１は、４つのクロック生成部（クロック生成部Ａ６、クロック生成部Ｂ７、クロック生成部Ｃ８、及び、クロック生成部Ｄ９）から構成される。これら４つのクロック生成部は、それぞれ独立にクロック信号を生成するが、共通のリセット信号ＲＥＳＥＴによって同期して内部の動作を制御するのが特徴である。
【０１３０】
クロック生成部Ａ６は、クロック信号ＣＬＯＣＫ、リセット信号ＲＥＳＥＴ、及び、出力信号ＣＬＯＣＫ＿Ａの各信号線と接続されており、クロック信号に同期して動作する。クロック生成部Ａ６は、リセット信号を受信し、リセット信号がＬレベルの間は通常動作期間、また、Ｈレベルの間はリセット期間であると認識して動作する。クロック生成部Ａ６は、出力信号ＣＬＯＣＫ＿Ａを出力する。
【０１３１】
クロック生成部Ｂ７は、クロック信号ＣＬＯＣＫ、リセット信号ＲＥＳＥＴ、及び、出力信号ＣＬＯＣＫ＿Ｂの各信号線と接続されており、クロック信号に同期して動作する。クロック生成部Ｂ７は、リセット信号を受信し、リセット信号がＬレベルの間は通常動作期間、また、Ｈレベルの間はリセット期間であると認識して動作する。クロック生成部Ｂ７は出力信号ＣＬＯＣＫ＿Ｂを出力する。
【０１３２】
クロック生成部Ｃ８は、クロック信号ＣＬＯＣＫ、リセット信号ＲＥＳＥＴ、及び、出力信号ＣＬＯＣＫ＿Ｃの各信号線と接続されており、クロック信号に同期して動作する。クロック生成部Ｃ８は、リセット信号を受信し、リセット信号がＬレベルの間は通常動作期間、また、Ｈレベルの間はリセット期間であると認識して動作する。クロック生成部Ｃ８は出力信号ＣＬＯＣＫ＿Ｃを出力する。
【０１３３】
クロック生成部Ｄ９は、クロック信号ＣＬＯＣＫ、リセット信号ＲＥＳＥＴ、及び、出力信号ＣＬＯＣＫ＿Ｄの各信号線と接続されており、クロック信号に同期して動作する。クロック生成部Ｄ９は、リセット信号を受信し、リセット信号がＬレベルの間は通常動作期間、また、Ｈレベルの間はリセット期間であると認識して動作する。クロック生成部Ｄ９は出力信号ＣＬＯＣＫ＿Ｄを出力する。
【０１３４】
制御信号生成部Ａ６０１は、クロック信号ＣＬＯＣＫの信号線、リセット信号ＲＥＳＥＴの信号線、及び、クロック制御部６０２と接続されており、クロック信号に同期して動作する。制御信号生成部Ａ６０１は、リセット信号を受信し、リセット信号がＬレベルの間は通常動作期間、また、Ｈレベルの間はリセット期間であると認識して動作する。制御信号生成部Ａ６０１は、クロック制御部６０２に対して制御信号ＥＮＡＢＬＥ＿Ａを送信する。
【０１３５】
クロック制御部６０２は、クロック信号ＣＬＯＣＫの信号線、制御信号生成部Ａ６０１、及び、出力クロック信号ＣＬＯＣＫ＿Ａの信号線と接続されている。クロック制御部６０２はクロック信号を使用して動作する。クロック制御部６０２は、制御信号生成部Ａ６０１から出力される制御信号ＥＮＡＢＬＥ＿Ａに応じて、出力クロック信号ＣＬＯＣＫ＿Ａを出力する。
【０１３６】
制御信号生成部Ｂ７０１は、クロック信号ＣＬＯＣＫの信号線、リセット信号ＲＥＳＥＴの信号線、及び、クロック制御部７０２と接続されており、クロック信号に同期して動作する。制御信号生成部Ｂ７０１はリセット信号を受信し、リセット信号がＬレベルの間は通常動作期間、また、Ｈレベルの間はリセット期間であると認識して動作する。制御信号生成部Ｂ７０１は、クロック制御部７０２に対して制御信号ＥＮＡＢＬＥ＿Ｂを送信する。
【０１３７】
クロック制御部７０２は、クロック信号ＣＬＯＣＫの信号線、制御信号生成部Ｂ７０１、及び、出力クロック信号ＣＬＯＣＫ＿Ｂの信号線と接続されている。クロック制御部７０２はクロック信号を使用して動作する。クロック制御部７０２は、制御信号生成部Ｂ７０１から出力される制御信号ＥＮＡＢＬＥ＿Ｂに応じて、出力クロック信号ＣＬＯＣＫ＿Ｂを出力する。
【０１３８】
制御信号生成部Ｃ８０１は、クロック信号ＣＬＯＣＫの信号線、リセット信号ＲＥＳＥＴの信号線、及び、クロック制御部８０２と接続されており、クロック信号に同期して動作する。制御信号生成部Ｃ８０１はリセット信号を受信し、リセット信号がＬレベルの間は通常動作期間、また、Ｈレベルの間はリセット期間であると認識して動作する。制御信号生成部Ｃ８０１はクロック制御部８０２に対して制御信号ＥＮＡＢＬＥ＿Ｃを送信する。
【０１３９】
クロック制御部８０２は、クロック信号ＣＬＯＣＫの信号線、制御信号生成部Ｃ８０１、及び、出力クロック信号ＣＬＯＣＫ＿Ｃの信号線と接続されている。クロック制御部８０２はクロック信号を使用して動作する。クロック制御部８０２は、制御信号生成部Ｃ８０１から出力される制御信号ＥＮＡＢＬＥ＿Ｃに応じて、出力クロック信号ＣＬＯＣＫ＿Ｃを出力する。
【０１４０】
制御信号生成部Ｄ９０１は、クロック信号ＣＬＯＣＫの信号線、リセット信号ＲＥＳＥＴの信号線、及び、クロック制御部９０２と接続されており、クロック信号に同期して動作する。制御信号生成部Ｄ９０１はリセット信号を受信し、リセット信号がＬレベルの間は通常動作期間、また、Ｈレベルの間はリセット期間であると認識して動作する。制御信号生成部Ｄ９０１はクロック制御部９０２に対して制御信号ＥＮＡＢＬＥ＿Ｄを送信する。
【０１４１】
クロック制御部９０２は、クロック信号ＣＬＯＣＫの信号線、制御信号生成部Ｄ９０１、及び、出力クロック信号ＣＬＯＣＫ＿Ｄの信号線と接続されている。クロック制御部９０２はクロック信号を使用して動作する。クロック制御部９０２は、制御信号生成部Ｄ９０１から出力される制御信号ＥＮＡＢＬＥ＿Ｄに応じて、出力クロック信号ＣＬＯＣＫ＿Ｄを出力する。
【０１４２】
制御信号生成部６０１１は、クロック信号ＣＬＯＣＫ、リセット信号ＲＥＳＥＴ、及び、出力信号ＥＮＡＢＬＥ＿Ａの各信号線と接続されており、クロック信号に同期して動作する。制御信号生成部６０１１はリセット信号を受信し、リセット信号がＬレベルの間は通常動作期間、また、Ｈレベルの間はリセット期間であると認識して動作する。制御信号生成部６０１１は、出力信号線ＥＮＡＢＬＥ＿Ａに対して制御信号ＥＮＡＢＬＥ＿Ａを送信する。
【０１４３】
制御信号生成部７０１１は、クロック信号ＣＬＯＣＫ、リセット信号ＲＥＳＥＴ、及び、出力信号ＥＮＡＢＬＥ＿Ｂの各信号線と接続されており、クロック信号に同期して動作する。制御信号生成部７０１１はリセット信号を受信し、リセット信号がＬレベルの間は通常動作期間、また、Ｈレベルの間はリセット期間であると認識して動作する。制御信号生成部７０１１は、出力信号線ＥＮＡＢＬＥ＿Ｂに対して制御信号ＥＮＡＢＬＥ＿Ｂを送信する。
【０１４４】
制御信号生成部８０１１は、クロック信号ＣＬＯＣＫ、リセット信号ＲＥＳＥＴ、及び、出力信号ＥＮＡＢＬＥ＿Ｃと接続されており、クロック信号に同期して動作する。制御信号生成部８０１１はリセット信号を受信し、リセット信号がＬレベルの間は通常動作期間、また、Ｈレベルの間はリセット期間であると認識して動作する。制御信号生成部８０１１は、出力信号線ＥＮＡＢＬＥ＿Ｃに対して制御信号ＥＮＡＢＬＥ＿Ｃを送信する。
【０１４５】
制御信号生成部９０１１は、クロック信号ＣＬＯＣＫ、リセット信号ＲＥＳＥＴ、及び、出力信号ＥＮＡＢＬＥ＿Ｄと接続されており、クロック信号に同期して動作する。制御信号生成部９０１１はリセット信号を受信し、リセット信号がＬレベルの間は通常動作期間、また、Ｈレベルの間はリセット期間であると認識して動作する。制御信号生成部９０１１は、出力信号線ＥＮＡＢＬＥ＿Ｄに対して制御信号ＥＮＡＢＬＥ＿Ｄを送信する。
【０１４６】
クロックゲーティングセル６０２１は、クロック信号ＣＬＯＣＫ、入力信号ＥＮＡＢＬＥ＿Ａ、及び、出力クロック信号ＣＬＯＣＫ＿Ａの各信号線とそれぞれＣＩ、ＥＮＢ、及び、ＣＯ端子で接続されている。クロックゲーティングセル７０２１は、クロック信号ＣＬＯＣＫ、入力信号ＥＮＡＢＬＥ＿Ｂ、及び、出力クロック信号ＣＬＯＣＫ＿Ｂの各信号線とそれぞれＣＩ、ＥＮＢ、及び、ＣＯ端子で接続されている。クロックゲーティングセル８０２１は、クロック信号ＣＬＯＣＫ、入力信号ＥＮＡＢＬＥ＿Ｃ、及び、出力クロック信号ＣＬＯＣＫ＿Ｃの各信号線とそれぞれＣＩ、ＥＮＢ、及び、ＣＯ端子で接続されている。クロックゲーティングセル９０２１は、クロック信号ＣＬＯＣＫ、入力信号ＥＮＡＢＬＥ＿Ｄ、及び、出力クロック信号ＣＬＯＣＫ＿Ｄの各信号線とそれぞれＣＩ、ＥＮＢ、及び、ＣＯ端子で接続されている。
【０１４７】
クロックゲーティングセル６０２１は、クロック信号ＣＬＯＣＫに含まれるクロックパルスを入力信号ＥＮＢに応じて間引いて出力信号ＣＯとして出力する動作を行う。クロック制御部７０２、クロック制御部８０２、及び、クロック制御部９０２は、クロック制御部６０２と同じものである。
【０１４８】
他の構成は実施例１と同じである。すなわち、実施例３のクロック供給装置１から複数の回路ブロックＡ２、Ｂ３、Ｃ４、及び、Ｄ５に入力される、クロック信号ＣＬＯＣＫ＿Ａ、ＣＬＯＣＫ＿Ｂ、ＣＬＯＣＫ＿Ｃ、及び、ＣＬＯＣＫ＿Ｄは、実施例１の図２（Ｃ）と同じ波形となる。
【０１４９】
以上、実施例３に示すように、リセット期間中に、カウンタ値で生成したイネーブル信号によるクロックゲーティングを複数回路で、本発明のクロック供給装置１を構成することができる。実施例３のクロック供給装置１によれば、リセットなしフリップフロップを含む複数の回路ブロック全体を確実にリセットすることができる（図５（Ｆ）のサイクル６）。また、リセット動作時の最大消費電流値を、通常動作時の最大消費電流値よりも小さくすることができる（図１３）。
【０１５０】
すなわち、実施例３のクロック供給装置によれば、複数の回路ブロック全体のピーク消費電流を軽減しつつ、複数の回路ブロック全体のリセットを適切に行えるクロックを複数の回路ブロックに入力することができる。その結果、ＬＳＩ電源の設計と製造のコストを抑えることができる。
【実施例４】
【０１５１】
以下、本発明の実施例４のクロック供給装置の構成について図面を用いて説明する。なお、ここでは、実施例１と異なる箇所のみを説明する。
実施例４のクロック供給装置は、実施例１のクロック供給装置のクロック制御部１０２を、図１７で示す別の構成のクロック制御部１０３に置き換えたものとなる。
図１７は、実施例４のクロック供給装置１の内部構成を示すブロック図である。
制御信号生成部１０１は、実施例１の制御信号生成部１０１（図１）と同じもの、又は、実施例２の制御信号生成部１０１（図１４）と同じものである。１０３は実施例４のクロック制御部である。１０３１、１０３２、１０３３、及び、１０３４はセレクタである。
【０１５２】
制御信号生成部１０１は、クロック信号ＣＬＯＣＫの信号線、リセット信号ＲＥＳＥＴの信号線、及び、クロック制御部１０３と接続されており、クロック信号に同期して動作する。制御信号生成部１０１は、リセット信号を受信し、リセット信号がＬレベルの間は通常動作期間、また、Ｈレベルの間はリセット期間であると認識して動作する。制御信号生成部１０１は、クロック制御部１０３に対して複数の制御信号ＥＮＡＢＬＥ＿Ａ、ＥＮＡＢＬＥ＿Ｂ、ＥＮＡＢＬＥ＿Ｃ、及び、ＥＮＡＢＬＥ＿Ｄを送信する。
【０１５３】
クロック制御部１０３は、クロック信号ＣＬＯＣＫの信号線、リセット信号ＲＥＳＥＴの信号線、制御信号生成部１０１、及び、出力クロック信号ＣＬＯＣＫ＿Ａ、ＣＬＯＣＫ＿Ｂ、ＣＬＯＣＫ＿Ｃ及びＣＬＯＣＫ＿Ｄの各信号線と接続されている。クロック制御部１０３は、クロック信号を使用して動作する。クロック制御部１０３は、制御信号生成部１０１から出力される複数の制御信号ＥＮＡＢＬＥ＿Ａ、ＥＮＡＢＬＥ＿Ｂ、ＥＮＡＢＬＥ＿Ｃ、及び、ＥＮＡＢＬＥ＿Ｄを受信する。クロック制御部１０３は、リセット信号ＲＥＳＥＴ及び複数の制御信号ＥＮＡＢＬＥ＿Ａ、ＥＮＡＢＬＥ＿Ｂ、ＥＮＡＢＬＥ＿Ｃ及びＥＮＡＢＬＥ＿Ｄに応じて、出力クロック信号ＣＬＯＣＫ＿Ａ、ＣＬＯＣＫ＿Ｂ、ＣＬＯＣＫ＿Ｃ及びＣＬＯＣＫ＿Ｄを出力する。
【０１５４】
セレクタ１０３１は、クロック信号ＣＬＯＣＫ、入力信号ＥＮＡＢＬＥ＿Ａ、リセット信号ＲＥＳＥＴ、及び、出力クロック信号ＣＬＯＣＫ＿Ａの各信号線とそれぞれＡ、Ｂ、Ｓ、及び、Ｙ端子で接続されている。セレクタ１０３１は、リセット信号ＲＥＳＥＴがＬレベルの間はクロック信号ＣＬＯＣＫを、リセット信号ＲＥＳＥＴがＨレベルの間は入力信号ＥＮＡＢＬＥ＿Ａを、出力クロック信号ＣＬＯＣＫ＿Ａの信号線に出力する動作を行う。
【０１５５】
セレクタ１０３２は、クロック信号ＣＬＯＣＫ、入力信号ＥＮＡＢＬＥ＿Ｂ、リセット信号ＲＥＳＥＴ、及び、出力クロック信号ＣＬＯＣＫ＿Ｂの各信号線とそれぞれＡ、Ｂ、Ｓ、及び、Ｙ端子と接続されている。セレクタ１０３２は、リセット信号ＲＥＳＥＴがＬレベルの間はクロック信号ＣＬＯＣＫを、リセット信号ＲＥＳＥＴがＨレベルの間は入力信号ＥＮＡＢＬＥ＿Ｂを、出力クロック信号ＣＬＯＣＫ＿Ｂの信号線に出力する動作を行う。
【０１５６】
セレクタ１０３３は、クロック信号ＣＬＯＣＫ、入力信号ＥＮＡＢＬＥ＿Ｃ、リセット信号ＲＥＳＥＴ、及び、出力クロック信号ＣＬＯＣＫ＿Ｃの各信号線とそれぞれＡ、Ｂ、Ｓ、及び、Ｙ端子で接続されている。セレクタ１０３３は、リセット信号ＲＥＳＥＴがＬレベルの間はクロック信号ＣＬＯＣＫを、リセット信号ＲＥＳＥＴがＨレベルの間は入力信号ＥＮＡＢＬＥ＿Ｃを、出力クロック信号ＣＬＯＣＫ＿Ｃに出力する動作を行う。
【０１５７】
セレクタ１０３４は、クロック信号ＣＬＯＣＫ、入力信号ＥＮＡＢＬＥ＿Ｄ、リセット信号ＲＥＳＥＴ、及び、出力クロック信号ＣＬＯＣＫ＿Ｄの各信号線とそれぞれＡ、Ｂ、Ｓ、及び、Ｙ端子で接続されている。セレクタ１０３４は、リセット信号ＲＥＳＥＴがＬレベルの間はクロック信号ＣＬＯＣＫを、リセット信号ＲＥＳＥＴがＨレベルの間は入力信号ＥＮＡＢＬＥ＿Ｄを、出力クロック信号ＣＬＯＣＫ＿Ｄに出力する動作を行う。
【０１５８】
セレクタ１０３１は、入力信号Ａをクロック信号として動作する。セレクタ１０３１は、セレクト信号ＳがＨレベルからＬレベルに変化した次のサイクルではＬレベルを出力する。また、セレクタ１０３１は、その他のタイミングではセレクト信号Ｓを１サイクル遅延させた信号のレベルに応じて、入力信号Ａ、又は、入力信号Ｂを１サイクル遅延させた信号を出力する。なお、セレクタ１０３２、１０３３、及び、１０３４は、セレクタ１０３１と同じものである。
【０１５９】
図１８は、実施例４に係る制御信号生成部１０１、セレクタ１０３１、及び、クロック供給装置１の動作を示すタイミングチャートである。
図１８（Ａ）は実施例４に係る制御信号生成部１０１の動作を示すタイミングチャートである。この図は、実施例１の図２（Ａ）と同じである。
図１８（Ｂ）は実施例４に係るセレクタ１０３１の動作を示すタイミングチャートである。前述の通りセレクタ１０３１は、セレクト信号ＳがＨレベルからＬレベルに変化した次のサイクルでは信号ＳＥＬをＬレベルとし、それ以外のタイミングではセレクト信号Ｓを１サイクル遅延させた信号を信号ＳＥＬとし、出力信号Ｙを切り換えることを特徴とする。
【０１６０】
図１８（Ｃ）は実施例４に係るクロック供給装置１の動作を示すタイミングチャートである。リセット信号がＨレベルの間には、前述の通り複数の制御信号ＥＮＡＢＬＥ＿Ａ、ＥＮＡＢＬＥ＿Ｂ、ＥＮＡＢＬＥ＿Ｃ、及び、ＥＮＡＢＬＥ＿Ｄが同時にＨレベルにならないよう生成されている。また、出力クロック信号ＣＬＯＣＫ＿Ａ、ＣＬＯＣＫ＿Ｂ、ＣＬＯＣＫ＿Ｃ、及び、ＣＬＯＣＫ＿Ｄは、リセット期間中は複数の制御信号に切り換えられたものとなっている。
【０１６１】
図１９は、実施例４のクロック供給装置により入力されるクロックによる、図４（Ａ）に示したフリップフロップ２０１の周辺回路、及び、フリップフロップ２０１の動作を示すタイミングチャートである。
【０１６２】
図１９（Ａ）は実施例４のクロック供給装置により入力されるクロックによる、図４（Ａ）に示したフリップフロップ２０１の周辺回路の動作を示すタイミングチャートである。
制御信号ＥＮＢは、前述の「イネーブルによるクロックゲーティング技術」のイネーブル制御を行う制御信号で、フリップフロップ２０１がラッチ動作すべき状態となるタイミングでＨレベルとなっている。ここで、ラッチ動作すべき状態とは論理設計内容によって決まるものだが、リセット信号がＨレベルの間もラッチ動作すべき状態に含まれる。ラッチ動作すべき状態では、制御信号ＥＮＢはＨレベルの値となっている。
【０１６３】
クロック信号ＣＬＫは、リセット期間では前述の通り別の制御信号に置き換えたクロックになる。ここで、リセット信号ＲＳＴによるフリップフロップ２０１の初期化は、前述の通りクロック同期で行われるため、リセット期間はリセット信号がＨレベルの期間を１クロックサイクルだけ後ろにずらした、サイクル２〜サイクル１５の期間となる。
【０１６４】
図１９（Ｂ）は図１９（Ａ）に示したタイミングチャートにおけるフリップフロップ２０１の動作を示すタイミングチャートである。
クロック端子Ｃに入力されるクロックは前述の通り、クロックゲーティングセル２０１１に入力されるクロック信号ＣＬＫを元にして、制御信号ＥＮＢに応じてクロックゲーティングセル２０１１がクロックゲーティングしたものとなる。そのため、制御信号ＥＮＢが常にＨレベルとなるリセット期間にクロック端子Ｃに入力されるクロックは、クロック信号ＣＬＫそのままとなる。また、制御信号ＥＮＢが変化する通常動作期間にクロック端子Ｃに入力されるクロックは、図に示したようにクロックパルスが間引かれたものになる。
【０１６５】
リセット期間は図中の太線枠で囲んであるサイクル２〜サイクル１５の期間であり、フリップフロップ２０１の初期化はサイクル２に行われているが、保持している値に変化はない。
【０１６６】
図２０は、図１９（Ｂ）に示したタイミングチャートにおけるフリップフロップ２０１の動作と消費電流の大きさを示した図である。この図は、実施例１で示した図６（Ａ）と同様に表記してあり、この図で示す消費電流の大きさも図６（Ａ）と同じになっている。
【０１６７】
フリップフロップ２０２、２０３、３０１、４０１、及び、５０１のタイミングチャート、動作、及び、消費電流の大きさについては図示しないが、実施例１で示したものと同様のものとなる。
他の構成は実施例１と同じである。
【０１６８】
以上、実施例４に示すように、リセット期間中にカウンタ値で生成した信号をクロック信号として切り換えて出力する回路で、本発明のクロック供給装置１を構成することができる。実施例４のクロック供給装置１によれば、リセットなしフリップフロップを含む複数の回路ブロック全体を確実にリセットすることができる。また、リセット動作時の最大消費電流値を、通常動作時の最大消費電流値よりも小さくすることができる（図１３）。
【０１６９】
すなわち、実施例４のクロック供給装置によれば、複数の回路ブロック全体のピーク消費電流を軽減しつつ、複数の回路ブロック全体のリセットを適切に行えるクロックを複数の回路ブロックに入力することができる。その結果、ＬＳＩ電源の設計と製造のコストを抑えることができる。
【実施例５】
【０１７０】
以下、本発明の実施例５のクロック供給装置の構成について図面を用いて説明する。なお、ここでは、実施例４と異なる箇所のみを説明する。
実施例５のクロック供給装置は、図１７に示した実施例４のクロック供給装置の制御信号生成部１０１を、図２１で示す別の構成のクロック制御部１０３に置き換えたものとなる。
【０１７１】
図２１は、実施例５に係る制御信号生成部１０１の内部構成を示すブロック図である。
図２１において、１０１６及び１０１７は、非同期セット付きフリップフロップである。
非同期リセット付きフリップフロップ１０１６は、クロック信号ＣＬＯＣＫ、リセット信号ＲＥＳＥＴ、入力信号ＱＡ、及び、出力信号ＱＢの各信号線と接続されている。非同期リセット付きフリップフロップ１０１６は、データラッチ動作ではクロック信号に同期して、また、初期化動作ではクロック信号に非同期で動作する。非同期セット付きフリップフロップ１０１６は、リセット信号を受信し、リセット信号がＬレベルの間は保持する値をＨレベルに初期化する。非同期セット付きフリップフロップ１０１６は、リセット信号がＨレベルの間はクロック信号に同期してデータ入力端子Ｄに入力されている入力信号ＱＡの値を内部に保持してデータ出力端子Ｑから出力信号ＱＢとして出力する。
【０１７２】
非同期セット付きフリップフロップ１０１７は、クロック信号ＣＬＯＣＫ、リセット信号ＲＥＳＥＴ、入力信号ＱＢ、及び、出力信号ＱＣの各信号線と接続されている。非同期セット付きフリップフロップ１０１７は、データラッチ動作はクロック信号に同期して、また、初期化動作はクロック信号に非同期で動作する。非同期セット付きフリップフロップ１０１７は、リセット信号を受信し、リセット信号がＬレベルの間は保持する値をＨレベルに初期化する。非同期セット付きフリップフロップ１０１７は、リセット信号がＨレベルの間はクロック信号に同期してデータ入力端子Ｄに入力されている入力信号ＱＢの値を内部に保持してデータ出力端子Ｑから出力信号ＱＣとして出力する。
【０１７３】
信号ＱＡの値は、信号ＱＣの値を図中のインバータで論理反転したものとなるが、インバータの遅延分だけ遅れた信号となる。信号ＱＤの値は、信号ＱＣの値とリセット信号ＲＥＳＥＴの値との論理積となる。すなわち、リセット動作時には、信号ＱＤは、クロック信号ＣＬＯＣＫを４分周した４分周信号となる。
【０１７４】
出力信号ＥＮＡＢＬＥ＿Ａは、信号ＱＤの値を持つ信号となる。出力信号ＥＮＡＢＬＥ＿Ｂは、信号ＱＤの値を図中のインバータで２回論理反転したものとなるが、２個のインバータの遅延分だけ遅れた信号となる。出力信号ＥＮＡＢＬＥ＿Ｃは、信号ＱＤの値を図中のインバータで４回論理反転したものとなるが、４個のインバータの遅延分だけ遅れた信号となる。出力信号ＥＮＡＢＬＥ＿Ｄは、信号ＱＤの値を図中のインバータで６回論理反転したものとなるが、６個のインバータの遅延分だけ遅れた信号となる。
【０１７５】
図２２は、実施例５に係る制御信号生成部１０１、セレクタ１０３１、及び、クロック供給装置１の動作を示すタイミングチャートである。
図２２（Ａ）は実施例５に係る制御信号生成部１０１の動作を示すタイミングチャートである。出力信号ＥＮＡＢＬＥ＿Ａ、ＥＮＡＢＬＥ＿Ｂ、ＥＮＡＢＬＥ＿Ｃ、及び、ＥＮＡＢＬＥ＿Ｄは前述の通り、信号ＱＤから生成した信号である。通常動作期間、つまりリセット信号ＲＥＳＥＴがＬレベルの間には、出力信号ＥＮＡＢＬＥ＿ＡはＬレベルとなる。なお、出力信号ＥＮＡＢＬＥ＿Ｂ、ＥＮＡＢＬＥ＿Ｃ、及び、ＥＮＡＢＬＥ＿Ｄはそれぞれ、出力信号ＥＮＡＢＬＥ＿Ａが１、２、及び、３サイクルだけ遅延した信号となる。
【０１７６】
リセット期間、つまりリセット信号ＲＥＳＥＴがＨレベルの間には、出力信号ＥＮＡＢＬＥ＿Ａ、ＥＮＡＢＬＥ＿Ｂ、ＥＮＡＢＬＥ＿Ｃ、及び、ＥＮＡＢＬＥ＿Ｄそれぞれの立ち上がりエッジが重ならないように動作するのが特徴である。すなわち、リセット期間は、出力信号ＥＮＡＢＬＥ＿Ａ、ＥＮＡＢＬＥ＿Ｂ、ＥＮＡＢＬＥ＿Ｃ、及び、ＥＮＡＢＬＥ＿Ｄはそれぞれ異なるアクティブエッジ位相を持つ信号となっている。
【０１７７】
図２２（Ｂ）は実施例５に係るセレクタ１０３１の動作を示すタイミングチャートである。前述の通りセレクタ１０３１は、セレクト信号ＳがＨレベルからＬレベルに変化した次のサイクルでは信号ＳＥＬをＬレベルとし、それ以外のタイミングではセレクト信号Ｓを１サイクル遅延させた信号を信号ＳＥＬとし、出力信号Ｙを切り換えることを特徴とする。
【０１７８】
図２２（Ｃ）は実施例５に係るクロック供給装置１の動作を示すタイミングチャートである。リセット信号がＨレベルの間には、前述の通り複数の制御信号ＥＮＡＢＬＥ＿Ａ、ＥＮＡＢＬＥ＿Ｂ、ＥＮＡＢＬＥ＿Ｃ、及び、ＥＮＡＢＬＥ＿Ｄそれぞれの立ち上がりエッジが重ならないように生成されている。また、出力クロック信号ＣＬＯＣＫ＿Ａ、ＣＬＯＣＫ＿Ｂ、ＣＬＯＣＫ＿Ｃ、及び、ＣＬＯＣＫ＿Ｄは、リセット期間中は複数の制御信号ＥＮＡＢＬＥ＿Ａ、ＥＮＡＢＬＥ＿Ｂ、ＥＮＡＢＬＥ＿Ｃ、及び、ＥＮＡＢＬＥ＿Ｄに
切り換えられたものとなっている。すなわち、実施例５のクロック供給装置１は、リセット動作時に、ＣＬＯＣＫを分周した分周信号ＱＤを異なる時間それぞれ遅延させて出力信号ＥＮＡＢＬＥ＿Ａ〜Ｄを生成し、複数のクロック信号ＣＬＯＣＫ＿Ａ〜Ｄとして出力する。
【０１７９】
図２３は、実施例５のクロック供給装置により入力されるクロックによる、図４（Ａ）に示したフリップフロップ２０１の周辺回路、及び、フリップフロップ２０１の動作を示すタイミングチャートである。
【０１８０】
図２３（Ａ）は実施例５のクロック供給装置により入力されるクロックによる、図４（Ａ）に示した回路の動作を示すタイミングチャートである。
制御信号ＥＮＢは、前述の「イネーブルによるクロックゲーティング技術」のイネーブル制御を行う制御信号で、フリップフロップ２０１がラッチ動作すべき状態となるタイミングでＨレベルとなっている。ここで、ラッチ動作すべき状態とは論理設計内容によって決まるものだが、リセット信号がＨレベルの間もラッチ動作すべき状態に含まれる。ラッチ動作すべき状態では、制御信号ＥＮＢはＨレベルの値となっている。
【０１８１】
クロック信号ＣＬＫは、リセット期間では前述の通り別の制御信号に置き換えたクロックになる。ここで、リセット信号ＲＳＴによるフリップフロップ２０１の初期化は、前述の通りクロック同期で行われるため、リセット期間はリセット信号がＨレベルの期間を１クロックサイクルだけ後ろにずらした、サイクル２〜サイクル１５の期間となる。
【０１８２】
図２３（Ｂ）は図２３（Ａ）に示したタイミングチャートにおけるフリップフロップ２０１の動作を示すタイミングチャートである。
クロック端子Ｃに入力されるクロックは前述の通り、クロックゲーティングセル２０１１に入力されるクロック信号ＣＬＫを元にして、制御信号ＥＮＢに応じてクロックゲーティングセル２０１１がクロックゲーティングしたものとなる。そのため、制御信号ＥＮＢが常にＨレベルとなるリセット期間にクロック端子Ｃに入力されるクロックは、クロック信号ＣＬＫそのままとなる。また、制御信号ＥＮＢが変化する通常動作期間にクロック端子Ｃに入力されるクロックは、図に示したようにクロックパルスが間引かれたものになる。
【０１８３】
リセット期間は図中の太線枠で囲んであるサイクル２〜サイクル１５の期間であり、フリップフロップ２０１の初期化はサイクル２に行われているが、保持している値に変化はない。
【０１８４】
図２４は、図２３（Ｂ）に示したタイミングチャートにおけるフリップフロップ２０１の動作と消費電流の大きさを示した図である。この図は、実施例１で示した図６（Ａ）と同様に表記してあり、この図で示す消費電流の大きさも図６（Ａ）と同じになっている。
【０１８５】
フリップフロップ２０２、２０３、３０１、４０１、及び、５０１のタイミングチャート、動作、及び、消費電流の大きさについては図示しないが、実施例１で示したものと同様のものとなる。
他の構成は実施例４と同じである。
【０１８６】
以上、実施例５に示すように、リセット期間中に遅延回路と反転回路で生成した信号をクロック信号として切り換えて出力する回路で、本発明のクロック供給装置１を構成することができる。そして、クロック供給装置１によれば、リセットなしフリップフロップを含む複数の回路ブロック全体を確実にリセットすることができる。また、リセット動作時の最大消費電流値を、通常動作時の最大消費電流値よりも小さくすることができる（図１３）。
【０１８７】
すなわち、実施例５のクロック供給装置によれば、複数の回路ブロック全体のピーク消費電流を軽減しつつ、複数の回路ブロック全体のリセットを適切に行えるクロックを複数の回路ブロックに入力することができる。その結果、ＬＳＩ電源の設計と製造のコストを抑えることができる。
【０１８８】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施例の有機的な組合せを含む）が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
【０１８９】
以上のように、本発明のクロック供給装置は、複数の回路ブロック全体に対して確実にリセットでき、さらに、リセット動作中の最大消費電流値を低減して通常動作時の最大消費電流値より低くするクロックを複数の回路ブロックに入力することができる。このように、通常動作時の最大消費電流値を下げることによって、ＬＳＩ電源の設計と製造のコストを抑えることができる。
【符号の説明】
【０１９０】
１    クロック供給装置
２    回路ブロックＡ
３    回路ブロックＢ
４    回路ブロックＣ
５    回路ブロックＤ
１０１    制御信号生成部
１０２    クロック制御部
【図１】
2011248579.tif 000003
【図２】
2011248579.tif 000004
【図３】
2011248579.tif 000005
【図４】
2011248579.tif 000006
【図５】
2011248579.tif 000007
【図６】
2011248579.tif 000008
【図７】
2011248579.tif 000009
【図８】
2011248579.tif 000010
【図９】
2011248579.tif 000011
【図１０】
2011248579.tif 000012
【図１１】
2011248579.tif 000013
【図１２】
2011248579.tif 000014
【図１３】
2011248579.tif 000015
【図１４】
2011248579.tif 000016
【図１５】
2011248579.tif 000017
【図１６】
2011248579.tif 000018
【図１７】
2011248579.tif 000019
【図１８】
2011248579.tif 000020
【図１９】
2011248579.tif 000021
【図２０】
2011248579.tif 000022
【図２１】
2011248579.tif 000023
【図２２】
2011248579.tif 000024
【図２３】
2011248579.tif 000025
【図２４】
2011248579.tif 000026
【図２５】
2011248579.tif 000027
【図２６】
2011248579.tif 000028
【図２７】
2011248579.tif 000029
【図２８】
2011248579.tif 000030
【図２９】
2011248579.tif 000031
【図３０】
2011248579.tif 000032
【図３１】
2011248579.tif 000033
【図３２】
2011248579.tif 000034
【図３３】
2011248579.tif 000035