(57)【要約】【課題】複数の回路のうち、最大の遅延を生じた回路に合わせレギュレータからの出力電源電圧が決定される。【解決手段】本発明は、レギュレータの出力する電圧を電源として動作する第１、第２の回路ユニットを有する半導体集積装置であって、前記第１の回路ユニット内で最大動作遅延を生じる回路に許容可能なタイミングマージンを確保して動作させる電圧値を判断する第１のレギュレータ制御回路と、前記第２の回路ユニット内で最大動作遅延を生じる回路に許容可能なタイミングマージンを確保して動作させる電圧値を判断する第２のレギュレータ制御回路とを有し、前記第1、第２の回路ユニットは、それぞれの動作クロックが互いに独立して制御される回路であり、前記レギュレータは、前記第１、第２の回路ユニットのそれぞれに対して前記電圧値の電圧を出力する半導体集積回路装置である。【選択図】図１
2009271816.tif 000002
【特許請求の範囲】
【請求項１】
レギュレータの出力する電圧を電源として動作する第１の回路ユニット及び第２の回路ユニットを有する半導体集積装置であって、
前記第１の回路ユニット内で最大動作遅延を生じる回路に許容可能なタイミングマージンを確保して動作させる電圧値を判断する第１のレギュレータ制御回路と、
前記第２の回路ユニット内で最大動作遅延を生じる回路に許容可能なタイミングマージンを確保して動作させる電圧値を判断する第２のレギュレータ制御回路とを有し、
前記第1と第２の回路ユニットは、それぞれの動作クロックが互いに独立して制御される回路であり、
前記レギュレータは、前記第１のレギュレータ制御回路及び第２のレギュレータ制御回路の判断結果に基づいて、前記第１の回路ユニット及び第２の回路ユニットのそれぞれに対して前記電圧値の電圧を出力する半導体集積回路装置。
【請求項２】
前記第１のレギュレータ制御回路が、前記第１の回路ユニット内で最大動作遅延を生じる回路に許容可能なタイミングマージンを確保して動作させる電圧値を前記レギュレータに出力させる第１の制御信号を生成し、
前記第２のレギュレータ制御回路が、前記第２の回路ユニット内で最大動作遅延を生じる回路に許容可能なタイミングマージンを確保して動作させる電圧値を前記レギュレータに出力させる第２の制御信号を生成し、
前記第１の制御信号及び第２の制御信号のどちらか一方を、前記第１の回路ユニット及び第２の回路ユニットの動作状況に応じて選択するセレクタを更に有する請求項１に記載の半導体集積回路装置。
【請求項３】
前記セレクタは、
前記第１の回路ユニット及び第２の回路ユニットの動作状況に応じて、前記第１の回路ユニット及び第２の回路ユニット内で最大動作遅延を生じる回路に許容可能なタイミングマージンを確保して動作させる電圧値のうち高い方を、前記レギュレータに出力させる前記第１の制御信号もしくは第２の制御信号を選択する請求項２に記載の半導体集積回路装置。
【請求項４】
前記第1と第２の回路ユニットの動作状態を監視し、動作状態に応じて前記セレクタを制御するフラグ生成回路を更に備える請求項２に記載の半導体集積回路。
【請求項５】
前記第1の回路ユニットはＣＰＵであり、当該ＣＰＵが前記第２の回路ユニットの動作状態及びＣＰＵの動作状態を監視してステータス情報を生成し、前記セレクタは前記ステータス情報に基づいて制御される請求項２に記載の半導体集積装置。
【請求項６】
前記レギュレータは、
前記第１のレギュレータ制御回路にて判断された前記電圧値に応じて出力電圧を変化させる第１のレギュレータと、
前記第２のレギュレータ制御回路にて判断された前記電圧値に応じて出力電圧を変化させる第２のレギュレータを備える請求項１に記載の半導体集積回路装置。
【請求項７】
前記第１のレギュレータは、前記第１のレギュレータ制御回路が出力する第１の制御信号に応じて、前記第１の回路ユニット内で最大動作遅延を生じる回路に許容可能なタイミングマージンを確保して動作させる電圧値の電圧を出力し、
前記第２のレギュレータは、前記第２のレギュレータ制御回路が出力する第２の制御信号に応じて、前記第２の回路ユニット内で最大動作遅延を生じる回路に許容可能なタイミングマージンを確保して動作させる電圧値の電圧を出力する請求項６に記載の半導体集積回路装置。
【請求項８】
前記第１と第２の回路ユニットは、動作モードを有し、それぞれの動作モードは互いに独立して制御され、当該動作モードに応じて前記それぞれの動作クロックは制御される請求項１に記載の半導体集積回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路装置に関するものであり、特にレギュレータ制御回路の半導体集積回路装置に関する。
【背景技術】
【０００２】
現在、家電製品や産業機器など、あらゆる機器で省電力化が求められている。よって、これらの機器に搭載されるマイクロコントローラ等のチップにおいても低消費電力化が要求されている。
【０００３】
特許文献１に論理回路内の遅延量に基づいて、電源電圧を制御することで、論理回路の動作マージンを最小に抑え、回路の消費電力を削減する技術が開示されている。
【０００４】
図１０に、特許文献１の半導体集積回路装置１の構成を示す。図１０に示すように、半導体集積回路装置１は、集積回路２と、レギュレータ出力電圧制御回路３と、レギュレータ４とを有する。集積回路２は、内部にＣＰＵ５ａ、メモリ５ｂ、周辺回路５ｃ等からなる論理回路５と、遅延判定回路６とを有している。この遅延判定回路６は、論理回路５のクロックによるスイッチング等の遅延に応じた判定信号をレギュレータ出力電圧制御回路３に出力する。そして、判定信号を受けたレギュレータ出力電圧制御回路３がレギュレータ４の出力電源電圧を変更させるよう制御している。
【特許文献１】特開２００２−７３１８１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献１の技術では、論理回路５内のＣＰＵ５ａ、メモリ５ｂ、周辺回路５ｃ等に生じる最大の遅延を判定し、その最大の遅延を生じた回路の最小動作マージンを確保するようレギュレータ４から集積回路２に電源電圧が出力される。
【０００６】
このように、最大の遅延を生じた回路に合わせレギュレータ４からの出力電源電圧が決定される。このため、レギュレータ４からの出力電源電圧に対して、動作電圧に余裕のある回路に対しても同じ電源電圧が供給されてしまう。このことは、論理回路５内の各回路に応じた最適な電源電圧がレギュレータから供給できず、装置の低消費電力化に制限がかかる問題が生じる。
【課題を解決するための手段】
【０００７】
本発明は、レギュレータの出力する電圧を電源として動作する第１の回路ユニット及び第２の回路ユニットを有する半導体集積装置であって、前記第１の回路ユニット内で最大動作遅延を生じる回路に許容可能なタイミングマージンを確保して動作させる電圧値を判断する第１のレギュレータ制御回路と、前記第２の回路ユニット内で最大動作遅延を生じる回路に許容可能なタイミングマージンを確保して動作させる電圧値を判断する第２のレギュレータ制御回路とを有し、前記第1と第２の回路ユニットは、それぞれの動作クロックが互いに独立して制御される回路であり、前記レギュレータは、前記第１のレギュレータ制御回路及び第２のレギュレータ制御回路の判断結果に基づいて、前記第１の回路ユニット及び第２の回路ユニットのそれぞれに対して前記電圧値の電圧を出力する半導体集積回路装置である。
【０００８】
本発明によれば、それぞれの動作クロックに応じて動作する第１及び第２の回路ユニットごとに、そのそれぞれのユニット内で最大動作遅延を生じる回路が許容可能なタイミングマージンで動作可能な電圧をレギュレータが供給できる。
【発明の効果】
【０００９】
本発明によれば、半導体集積回路装置の低消費電力化が可能になる。
【発明を実施するための最良の形態】
【００１０】
発明の実施の形態１
以下、本発明を適用した具体的な実施の形態１について、図面を参照しながら詳細に説明する。図１に本実施の形態１にかかる半導体集積回路装置１００の構成の一例を示す。図１に示すように、半導体集積回路装置１００は、回路ユニット１０１〜１０３と、基準電圧生成回路１０４とを有する。
【００１１】
回路ユニット１０１は、レギュレータ１０と、レギュレータ出力電圧制御回路１１、ＣＰＵ１２と、デコーダ１３とを有する。
【００１２】
レギュレータ１０は、アンプ１０ａと、スイッチ回路１０ｂと、抵抗素子Ｒ１〜Ｒ５とを有する。アンプ１０ａの非反転入力端子が基準電圧生成回路１０４と接続され、基準電圧が入力される。また、アンプ１０ａの反転入力端子がノードＢと接続される。アンプ１０ａの出力端子は、レギュレータ出力電圧制御回路１１とＣＰＵ１２の電源供給ノードであるノードＡと接続される。ノードＡと接地端子間には、抵抗素子Ｒ１〜Ｒ５が直列接続されている。
【００１３】
抵抗素子Ｒ１、Ｒ２の接続ノードＣ０と、ノードＢ間にスイッチＳＷ０が接続されている。抵抗素子Ｒ２、Ｒ３の接続ノードＣ１と、ノードＢ間にスイッチＳＷ１が接続されている。抵抗素子Ｒ３、Ｒ４の接続ノードＣ２と、ノードＢ間にスイッチＳＷ２が接続されている。抵抗素子Ｒ４、Ｒ５の接続ノードＣ３と、ノードＢ間にスイッチＳＷ３が接続されている。
【００１４】
スイッチ回路１０ｂは、スイッチＳＷ０〜ＳＷ３を有する。スイッチ回路１０ｂは、デコーダ１３から送られてくる４ｂｉｔのデジタル信号に応じてスイッチＳＷ０〜ＳＷ３をオンし、ノードＢとノードＣ０〜Ｃ３のいずれかを接続させる。ここで、ノードＣ０〜Ｃ３には、ノードＡの電位、つまりアンプ１０ａの出力電圧ＶＲを抵抗素子Ｒ１〜Ｒ５で分圧した電位が供給されている。このため、スイッチＳＷ０〜ＳＷ３のいずれか１つがオンとなることで、ノードＣ０〜Ｃ３のいずれかの電位がアンプ１０ａの反転入力端子に供給される。その電位と基準電圧との差分を増幅した電圧がアンプ１０ａの出力端子から出力電圧ＶＲとして出力される。
【００１５】
よって、スイッチＳＷ３がオンとなったとき、レギュレータ１０の出力電圧ＶＲは、最も高い電位となる。反対に、スイッチＳＷ０がオンとなったとき、レギュレータ１０の出力電圧ＶＲは、最も低い電位となる。
【００１６】
ＣＰＵ１２は、半導体集積回路装置１００の中央演算処理装置であり、後述する回路ユニット１０２、１０３のタイマー２２やフラッシュメモリ３２等に内部データバス（不図示）で接続され演算やデータ処理等の動作を行っている。ＣＰＵ１２は、電源電圧としてレギュレータ１０の出力電圧ＶＲを入力する。ＣＰＵ１２はクロックＣＬＫ１が入力され、そのクロックＣＬＫ１に同期して上記処理動作を行う。このクロックＣＬＫ１は、可変であってよい。例えば、ＣＰＵ１２の処理動作を上げたいときは、２０Ｍｈｚで駆動し、処理動作を下げるときは、３２ｋＨｚで駆動してもよい。３２ｋＨｚ駆動の場合、ＣＰＵ１２を構成する組み合わせ回路の遅延は２０ＭＨｚ駆動時に比べ大きくても良いため、入力する電源電圧を低下させても良い。
【００１７】
レギュレータ出力電圧制御回路１１は、ＣＰＵ１２の回路内の最大の遅延を生じる回路構成部分を、ラッチ間に有している。ここでいう最大の遅延を生じる回路構成部分とは、ＣＰＵ１２の回路において、フリップフロップ間に存在する組み合わせ回路の論理段数が最も多い構成部分等である。つまり、ゲート遅延が最も大きいパスの部分であり、入力信号に対して出力信号の遅延が最も大きい箇所である。ここで、レギュレータ出力電圧制御回路１１は、ＣＰＵ１２と同じクロックＣＬＫ１が入力される。よって、レギュレータ出力電圧制御回路１１は、内部にこのクロックＣＬＫ１に対して、タイミングマージンが最も少ないパスの回路構成を有している。
【００１８】
図２にレギュレータ出力電圧制御回路１１の回路構成を示す。図２に示すように、レギュレータ出力電圧制御回路１１は、ラッチ回路ＬＴ１、ＬＴ２と、最大遅延回路１１ａと、インバータＩＶ１と、判定回路１１ｂとを有する。
【００１９】
ラッチ回路ＬＴ１は、クロックＣＬＫ１を入力クロックとし、クロックＣＬＫ１がハイレベルのときに入力されたデータＤ０を、出力データＤ１として出力する。ラッチ回路ＬＴ２は、クロックＣＬＫ１を入力クロックとし、クロックＣＬＫ１がハイレベルのときに入力されたデータＤｄｅｌａｙを、出力データＤ２として出力する。
【００２０】
最大遅延回路１１ａは、上述したＣＰＵ１２の回路内の最大の遅延を生じる回路と同様の組み合わせ回路を有する。最大遅延回路１１ａは、ラッチ回路ＬＴ１とＬＴ２間に接続されている。よって、ラッチ回路ＬＴ１からの出力信号Ｄ１を入力し、それに対して所定の遅延を持った出力信号Ｄｄｅｌａｙをラッチ回路ＬＴ２へ出力する。
【００２１】
ここで、この最大遅延回路１１ａは、レギュレータ１０からの出力電圧ＶＲを電源電圧として動作する。一般的に組み合わせ回路は、負荷容量性を有するため、電源電圧が低下すると、その電位に応じて出力信号の遅延が大きくなる。最大遅延回路１１ａも同様に、レギュレータ１０から出力電圧ＶＲが低下すると出力信号の遅延が大きくなる。
【００２２】
インバータＩＶ１は、ラッチ回路ＬＴ２の出力信号Ｄ２を反転し、ラッチ回路ＬＴ１へ出力信号Ｄ０として出力する。ここで、ラッチ回路ＬＴ１、ＬＴ２は、リセット信号ＲＥＳＢがロウレベルの期間は、動作を停止する。ラッチ回路ＬＴ１、ＬＴ２は、リセット信号ＲＥＳＢがハイレベルになると初期値として「０」、つまりロウレベルの信号を出力し、動作を開始する。
【００２３】
図３に判定回路１１ｂの回路構成を示す。判定回路１１ｂは、ラッチ回路ＬＴ３〜ＬＴ５と、ＥＸＯＲ回路ＸＯＲ１と、ＡＮＤ回路ＡＮＤ１とを有する。ラッチ回路ＬＴ３〜ＬＴ５は、ラッチ回路ＬＴ１、ＬＴ２と同様の動作を行うため説明は省略する。また、ＥＸＯＲ回路ＸＯＲ１、ＡＮＤ回路ＡＮＤ１の論理回路も演算結果等は公知であるため説明は省略する。
【００２４】
まず、ラッチ回路ＬＴ３が、ラッチ回路ＬＴ２から出力された信号Ｄ２を入力する。また、ＥＸＯＲ回路ＸＯＲ１も一方の入力に、信号Ｄ２を入力する。ラッチ回路ＬＴ３の出力信号は、ラッチ回路ＬＴ４へ入力される。ラッチ回路ＬＴ４の出力信号Ｄ３は、ＥＸＯＲ回路ＸＯＲ１の他方の入力へ出力される。よって、ＥＸＯＲ回路ＸＯＲ１は、信号Ｄ２とＤ３を入力し、演算結果を信号Ｄｏｕｔ１として出力する。
【００２５】
ラッチ回路ＬＴ５は、信号Ｄｏｕｔ１を入力し、信号Ｄｏｕｔ２を出力する。ＡＮＤ回路ＡＮＤ１は、信号Ｄｏｕｔ１とＤｏｕｔ２を入力し、演算結果を信号ｃｎｔｌ１として出力する。この信号ｃｎｔｌ１は、レギュレータ出力電圧制御回路１１の出力として、デコーダ１３に入力される。
【００２６】
デコーダ１３は、レギュレータ出力電圧制御回路１１から送られてきた、制御信号ｃｎｔｌ１をデコードし、レギュレータ１０のスイッチ回路１０ｂへ出力する。図４にデコーダ１３の回路構成を示す。デコーダ１３は、スイッチレジスタ回路１３ａを有する。
【００２７】
スイッチレジスタ回路１３ａは、４ｂｉｔのシフトレジスタを有している。そのシフトレジスタはフリップフロップＦＦ０〜ＦＦ３からなり、それぞれＳＷ＿ＲＥＧ［３］〜ＳＷ＿ＲＥＧ［０］の値を記憶している。つまり、スイッチレジスタ回路１３ａはＳＷ＿ＲＥＧ［３：０］の値を記憶する。スイッチレジスタ回路１３ａは、入力される制御信号ｃｎｔｌ１のレベルに応じて、記憶しているデータの桁を入力クロックごとに左右の桁ビットにシフトさせる。
【００２８】
スイッチレジスタ回路１３ａのフリップフロップＦＦ０〜ＦＦ３の出力と、レギュレータ１０のスイッチ回路１０ｂのスイッチＳＷ０〜ＳＷ３がそれぞれ接続されている。例えば、ＳＷ＿ＲＥＧ［３］の値が「１」のときはハイレベル、「０」のときはロウレベルがスイッチＳＷ３に入力される。そして、ＳＷ＿ＲＥＧ［３］がハイレベルのとき、スイッチＳＷ３はオンとなり、ロウレベルのときオフとなる。これは、他のスイッチでも同様である。
【００２９】
また、スイッチレジスタ回路１３ａは、ＳＷ＿ＲＥＧ［３：０］の初期値として「１０００」を記憶している。そして、制御信号ｃｎｔｌ１がハイレベルで入力された場合、入力クロックに同期し、右シフトしてフリップフロップ０に「０」を入れる。つまり、制御信号ｃｎｔｌ１がハイレベルで入力される期間、クロックＣＬＫ１に同期して、ＳＷ＿ＲＥＧ［３：０］が順に「０１００」、「００１０」、「０００１」と変化する。反対に、制御信号ｃｎｔｌ１がロウレベルで入力された場合、左シフトしてフリップフロップ１に「０」を入れる。つまり、ＳＷ＿ＲＥＧ［３：０］の値を「０００１」とすると、制御信号ｃｎｔｌ１がロウレベルで入力される期間、クロックＣＬＫ１に同期して、ＳＷ＿ＲＥＧ［３：０］が順に「００１０」、「０１００」、「１０００」と変化する。但し、ＳＷ＿ＲＥＧ［３：０］の値が「０００１」の場合はそれ以上右シフトを行わない。また、ＳＷ＿ＲＥＧ［３：０］の値が「１０００」の場合はそれ以上左シフトを行わない。
【００３０】
以下、上述したレギュレータ出力電圧制御回路１１、デコーダ１３、レギュレータ１０の動作を図面を参照しながら詳細に説明する。図５にクロックＣＬＫ１と、リセット信号ＲＥＳＢと、レギュレータ出力電圧制御回路１１の各出力信号Ｄ０〜Ｄ３、Ｄｄｅｌａｙ、Ｄｏｕｔ１〜Ｄｏｕｔ３と、デコーダ１３のＳＷ＿ＲＥＧ［３：０］と、レギュレータ１０の出力電圧ＶＲとの関係を示す。
【００３１】
まず時刻ｔ０でリセット信号ＲＥＳＢがハイレベルに立ち上がり、レギュレータ出力電圧制御回路１１が動作を開始する。また、このときＳＷ＿ＲＥＧ［３：０］が「１０００」を記憶している。よって、スイッチＳＷ３がオンとなっており、レギュレータ１０は、最も高い電圧ＶＲ１を出力している。
【００３２】
時刻ｔ１でクロックＣＬＫ１が立ち上がると、信号Ｄ０がハイレベルであるため、ラッチ回路ＬＴ１がハイレベルの信号Ｄ１を最大遅延回路１１ａに出力する。最大遅延回路１１ａは、比較的小さい、期間ΔＴ１の遅延をもって、ラッチ回路ＬＴ２にハイレベルの信号Ｄｄｅｌａｙを出力する。
【００３３】
時刻ｔ２にラッチ回路ＬＴ２は、ハイレベルの信号Ｄ２をラッチ回路ＬＴ３及びＥＸＯＲ回路ＸＯＲ１の一方の入力へ出力する。信号Ｄ２は、ラッチ回路ＬＴ３、ＬＴ４を経由し、２クロック分遅れた信号Ｄ３として、ＥＸＯＲ回路ＸＯＲ１の他方の入力に入力される。よって、時刻ｔ２ではＥＸＯＲ回路ＸＯＲ１の出力信号Ｄｏｕｔ１は、ハイレベルとなる。さらに、出力信号Ｄｏｕｔ１は、ＡＮＤ回路ＡＮＤ１の一方の入力に入力される。しかし、ＡＮＤ回路ＡＮＤ１の他方の入力にはラッチ回路ＬＴ５を経由した信号Ｄｏｕｔ２が入力されるため、結果としてＡＮＤ回路ＡＮＤ１からはロウレベルの制御信号ｃｎｔｌ１が出力される。この制御信号ｃｎｔｌ１はデコーダ１３に入力されるがＳＷ＿ＲＥＧ［３：０］が「１０００」のため、左シフトが行われない。このため、スイッチＳＷ３がオン状態を保持するため、レギュレータ１０は電圧ＶＲ１の出力を維持する。
【００３４】
時刻ｔ３では、ラッチ回路ＬＴ５を経由した信号Ｄｏｕｔ２がハイレベルとなるため、ＡＮＤ回路ＡＮＤ１からハイレベルの制御信号ｃｎｔｌ１が出力される。このハイレベルの制御信号ｃｎｔｌ１はデコーダ１３に入力され、時刻ｔ３にＳＷ＿ＲＥＧ［３：０］が「１０００」から「０１００」となる。よって、スイッチＳＷ３がオフになり、代わりにスイッチＳＷ２がオンとなり、レギュレータ１０は出力電圧を低下させる。このハイレベルの制御信号ｃｎｔｌ１は、時刻ｔ３から期間ΔＴ３の間デコーダ１３に入力される。このため、レギュレータ１０の出力電圧も、期間ΔＴ３の間低下を続ける。
【００３５】
ここで、時刻ｔ５では、レギュレータ１０の出力は、時刻ｔ１〜ｔ３のときより低下しており、最大遅延回路１１ａが出力する信号Ｄｄｅｌａｙの遅延期間も期間ΔＴ２のように大きくなる。よって、時刻ｔ５で入力される信号Ｄ１の立ち上がりもΔＴ２遅延する。このとき、ΔＴ２がクロックＣＬＫ１の周期よりも大きい場合、時刻ｔ６でもハイレベルとならず、ラッチ回路ＬＴ２の出力信号Ｄ２もロウレベルのままとなる。この信号Ｄ２とロウレベルの信号Ｄ３が、時刻ｔ６にＥＸＯＲ回路ＸＯＲ１に入力される。よって、ＥＸＯＲ回路ＸＯＲ１の出力信号Ｄｏｕｔ１がロウレベルとなり、ＡＮＤ回路ＡＮＤ１の一方の入力に入力される。ここで、時刻ｔ３〜ｔ６までＡＮＤ回路ＡＮＤ１の出力である制御信号ｃｎｔｌ１はハイレベルであったが、上記のように時刻ｔ６にＡＮＤ回路ＡＮＤ１にロウレベルが入力され、制御信号ｃｎｔｌ１はロウレベルに立ち下がる。このロウレベル信号がデコーダ１３に入力され、時刻ｔ６にＳＷ＿ＲＥＧ［３：０］が「０００１」から「００１０」となる。よって、スイッチＳＷ１がオフになり、代わりにスイッチＳＷ２がオンとなり、レギュレータ１０は出力電圧を上昇させる。このロウレベルの制御信号ｃｎｔｌ１は、時刻ｔ６から期間ΔＴ４の間デコーダ１３に入力される。このため、レギュレータ１０の出力電圧も、期間ΔＴ４の間上昇を続ける。
【００３６】
以後同様に、レギュレータ１０の出力電圧に応じて最大遅延回路１１ａの出力信号Ｄｄｅｌａｙが変化する。この信号Ｄｄｅｌａｙに応じてレギュレータ出力電圧制御回路１１の出力する制御信号ｃｎｔｌ１も変化する。このような動作により、レギュレータ出力電圧制御回路１１は、レギュレータ１０の出力電圧ＶＲが低下し、最大遅延回路１１ａの遅延が大きくなるとレギュレータ１０の出力電圧ＶＲを上昇させる。また、反対に、レギュレータ出力電圧制御回路１１は、レギュレータ１０の出力電圧ＶＲが上昇し、最大遅延回路１１ａの遅延が小さくなり、入力クロックＣＬＫ１に対するタイミングマージンがある場合、つまり、遅延時間がクロックＣＬＫ１の周期より短い場合、レギュレータ１０の出力電圧ＶＲを降下させる。
【００３７】
このことから、レギュレータ出力電圧制御回路１１から出力される制御信号ｃｎｔｌ１により、クロックＣＬＫ１に対する最小のタイミングマージンで、ＣＰＵ１２が正常動作する出力電圧ＶＲがレギュレータ１０から出力される。
【００３８】
なおここで、回路ユニット１０１が図６に示すようにＣＰＵ１２とメモリ１４等、複数の回路を有している場合を考える。このような回路ユニット１０１では、ＣＰＵ１２、メモリ１３の最大の遅延を生じる回路のうち、正常動作をする最低動作電圧が高いほうをレギュレータ出力電圧制御回路１１が有することになる。但し、ＣＰＵ１２とメモリ１４が、ともクロックＣＬＫ１を使用しているものとする。
【００３９】
また、図７に示すように、回路ユニット１０１が、入力クロックが異なるが、動作電圧が同じ回路で回路ユニット１０１を構成してもよい。本例ではＣＰＵ１２と、Ｉ／Ｏ回路１５とを有しており、Ｉ／Ｏ回路１５がクロックＣＬＫ１とは周期の異なるＣＬＫ４を入力クロックとしている。但し、クロックＣＬＫ１の周期＞ＣＬＫ４の周期とする。通常、周波数の高いクロックを利用する回路の方が、ゲート遅延のタイミングは厳しい。このため、この場合、高クロック周波数を利用する回路側、つまりＣＰＵ１２の最大の遅延を生じる回路をレギュレータ出力電圧制御回路１１が有すると考えられる。
【００４０】
回路ユニット１０２は、レギュレータ２０と、レギュレータ出力電圧制御回路２１、タイマー２２と、デコーダ２３とを有する。タイマー２２は、半導体集積回路装置１００内の時刻データを生成し、ＣＰＵ１２やその他の回路が内部データバス（不図示）等を通じて利用する。レギュレータ出力電圧制御回路２１は、タイマー２２の回路内の最大の遅延を生じる回路構成部分をラッチ間に有している。タイマー２２及びレギュレータ出力電圧制御回路２１はクロックＣＬＫ２が入力される。レギュレータ２０は、タイマー２２が利用する電源電圧を供給する。なお、タイマー２２は、ＣＰＵ１２よりも低電位の電源電圧でも動作可能である。よって、レギュレータ２０が出力する電圧は、レギュレータ１０が出力する電圧よりも低い電圧でよい。
【００４１】
回路ユニット１０２は、基本的に回路ユニット１０１と同様の構成であり、回路ユニット１０１のＣＰＵ１２に対して、タイマー２２が入れ替わった構成となっている。よって、レギュレータ２０、レギュレータ出力電圧制御回路２１、デコーダ２３の構成や動作、各回路間の接続等は、回路ユニット１０１のものと同様であるため説明は省略する。
【００４２】
回路ユニット１０３は、レギュレータ３０と、レギュレータ出力電圧制御回路３１、フラッシュメモリ３２と、デコーダ３３とを有する。フラッシュメモリ３２は、不揮発性のメモリであり、保持データをＣＰＵ１２等が利用する。フラッシュメモリ３２もＣＰＵ１２やその他の回路と内部データバス（不図示）で接続されている。レギュレータ出力電圧制御回路３１は、フラッシュメモリ３２の回路内の最大の遅延を生じる回路構成部分をラッチ間に有している。フラッシュメモリ３２及びレギュレータ出力電圧制御回路３１はクロックＣＬＫ３が入力される。レギュレータ３０は、フラッシュメモリ３２が利用する電源電圧を供給する。なお、フラッシュメモリ３２は、ＣＰＵ１２やタイマー２２と比較し、高電位の電源電圧で動作する。このため、レギュレータ３０は、レギュレータ１０や２０が出力する電圧よりも高い電圧を出力するよう構成されている。
【００４３】
回路ユニット１０３も、基本的に回路ユニット１０１と同様の構成であり、回路ユニット１０１のＣＰＵ１２に対して、フラッシュメモリ３２が入れ替わった構成となっている。よって、レギュレータ３０、レギュレータ出力電圧制御回路３１、デコーダ３３の構成や動作、各回路間の接続等は、回路ユニット１０１のものと同様であるため説明は省略する。なお、レギュレータ１０〜３０を１つのレギュレータユニットとみなすこともできる。
【００４４】
基準電圧生成回路１０４は、レギュレータユニットにおけるレギュレータ１０〜３０の、それぞれのアンプ１０ａの非反転入力端子に基準電圧を供給する。
【００４５】
以上、本実施の形態１の半導体集積回路装置１００は、上記のようなクロック系統別の回路ユニット、もしくは電源電圧系統別の回路ユニットごとにレギュレータを有している。従来では、例えばＣＰＵ、タイマー、フラッシュメモリ等、回路構成が大きく異なり、各回路の最大遅延を生じる回路構成部分が正常動作する限界電圧も異なっているにも関わらず、同じレギュレータの出力電圧を電源として動作していた。従って、更に低電圧でも正常動作可能な回路に対しても必要以上に高い電源電圧を供給しており、電力消費の点から無駄があった。
【００４６】
本実施の形態１の半導体集積回路装置１００は、クロック系統別の回路ユニット、もしくは電源電圧系統別の回路ユニットに対して、それぞれ別々にレギュレータの出力電圧を設定可能となる。この各レギュレータの出力電圧は、各回路ユニットを構成する回路が正常動作するタイミングマージンを確保する最低動作電圧まで下げることが可能である。よって、各回路ユニットで、最適な最小の電源電圧を供給できるため、半導体集積回路装置１００全体の消費電力を低減することが可能となる。
【００４７】
発明の実施の形態２
以下、本発明を適用した具体的な実施の形態２について、図面を参照しながら詳細に説明する。図８に本実施の形態２にかかる半導体集積回路装置２００の構成の一例を示す。図８に示すように、半導体集積回路装置２００は、回路ユニット２０１〜２０３と、基準電圧生成回路２０４と、デコーダ２０５と、セレクタ２０６と、ステータスレジスタ２０７と、レギュレータ２０８と、フラグ生成回路２０９とを有する。なお、デコーダ２０５、レギュレータ２０８の構成は実施の形態１のデコーダ１３、レギュレータ１０と実質的に同様なため、構成や動作等の説明は省略する。
【００４８】
回路ユニット２０１は、レギュレータ出力電圧制御回路１１と、ＣＰＵ１２を有する。回路ユニット２０１は、実質的に実施の形態１の回路ユニット１０１からレギュレータ１０とデコーダ１３を削減した回路構成であり、詳細な説明は省略する。回路ユニット２０２は、レギュレータ出力電圧制御回路２１と、タイマー２２を有する。回路ユニット２０２は、実質的に実施の形態１の回路ユニット１０２からレギュレータ２０とデコーダ２３を削減した回路構成であり、詳細な説明は省略する。回路ユニット２０３は、レギュレータ出力電圧制御回路３１と、フラッシュメモリ３２を有する。回路ユニット２０３は、実質的に実施の形態１の回路ユニット１０３からレギュレータ３０とデコーダ３３を削減した回路構成であり、詳細な説明は省略する。
【００４９】
レギュレータ２０８は、出力電圧をノードＡに供給する。レギュレータ出力電圧制御回路１１〜１３と、ＣＰＵ１２、タイマー２２、フラッシュメモリ３２のそれぞれは、電源入力端子がノードＡと接続される。つまり、回路ユニット２０１〜２０３を構成する回路の電源電圧はレギュレータ２０８から供給されている。よって、レギュレータ２０８の出力電圧は、回路ユニット２０１〜２０３が有する回路が動作可能な電圧範囲をカバーするものとする。
【００５０】
フラグ生成回路２０９は、ＣＰＵ１２、タイマー２２、フラッシュメモリ３２の動作状態に応じたステータスフラグの値を生成する。例えば、ＣＰＵ１２、タイマー２２、フラッシュメモリ３２が全て動作している場合、ステータスフラグの値を「１」を生成する。フラッシュメモリ３２が動作をストップし、ＣＰＵ１２、タイマー２２が動作している場合にステータスフラグの値を「２」を生成する。タイマー２２のみ動作している場合にステータスフラグの値を「３」を生成する。
【００５１】
フラグ生成回路２０９は、ＣＰＵ１２等の各回路から現在の動作状態に応じた、例えば、動作状態ではハイレベル、動作停止状態ではロウレベルである信号を入力し、それらの信号を処理してステータスフラグの値を生成する。
【００５２】
なお、ステータスフラグの値を、タイマー２２やフラッシュメモリ２３の動作状況に応じて、ＣＰＵ１２が生成し、レジスタ２０７に直接送ってもよい。この場合、フラグ生成回路２０９の機能をＣＰＵ１２が担うため、フラグ生成回路２０９は削減できる。但し、ＣＰＵ１２がＨＡＬＴの状態になる場合は、ＣＰＵ１２が動作しないため、その直前にステータスフラグの値を書き換える必要がある。
【００５３】
ステータスレジスタ２０７は、上述したフラグ生成回路２０９が生成したステータスフラグの値を保持する。なお、フラグ生成回路２０９の生成したステータスフラグの値を直接セレクタ２０６が利用する場合は、このステータスレジスタ２０７は削減可能である。
【００５４】
セレクタ２０６は、レギュレータ出力電圧制御回路１１〜３１が出力する制御信号ｃｎｔｌ１〜ｃｎｔｌ３を入力し、ステータスレジスタ２０７の保持するステータスフラグの値に応じて、制御信号ｃｎｔｌ１〜ｃｎｔｌ３の１つを選択してデコーダ２０５へ送る。例えば、ステータスフラグの値が「１」の場合、レギュレータ出力電圧制御回路３１からの制御信号ｃｎｔｌ３を選択してデコーダ２０５へ送る。また、ステータスフラグの値が「２」の場合、レギュレータ出力電圧制御回路１１からの制御信号ｃｎｔｌ１を選択してデコーダ２０５へ送る。ステータスフラグの値が「３」の場合、レギュレータ出力電圧制御回路２１からの制御信号ｃｎｔｌ２を選択してデコーダ２０５へ送る。以下では、このステータスフラグの値を例に半導体集積回路装置２００の動作状態等の説明を行う。
【００５５】
ここで、半導体集積回路装置２００の動作状態を３つのステータスに区分し、各ステータス時の回路ユニット２０１〜２０３の動作状態、ステータスフラグの値、セレクタ２０６の選択制御信号、レギュレータ２０８の出力電圧等をまとめた表を図９に示す。
【００５６】
図９に示すように、ステータス１では、半導体集積回路装置２００はフラッシュメモリ３２から命令フェッチ等を行う通常動作である。よって、ＣＰＵ１２、タイマー２２、フラッシュメモリ３２のそれぞれがクロック周波数２０Ｍｈｚで動作している。よって、ステータスフラグの値が「１」となり、セレクタ２０６は、レギュレータ出力電圧制御回路３１からの制御信号ｃｎｔｌ３を選択してデコーダ２０５へ送る。この制御信号ｃｎｔｌ３により、クロックＣＬＫ３（２０ＭＨｚ）に対する最小のタイミングマージンで、フラッシュメモリ３２が正常動作する出力電圧ＶＲ（２．５Ｖ）がレギュレータ２０８から出力される。
【００５７】
ステータス２では、半導体集積回路装置２００は、内部ＲＡＭのフェッチ等を行う状態である。このため、フラッシュメモリ３２は動作を停止し、ＣＰＵ１２の動作クロック周波数も３２ｋＨｚ程度まで低下してもかまわない。この状態では、最も高い動作電圧が必要なフラッシュメモリ３２への電力供給は必要なく、ＣＰＵ１２も低動作周波数動作モードで低電圧でも動作する。このため、レギュレータ２０８の出力電圧も下げることができる。このとき、ＣＰＵ１２、タイマー２２しか動作していないため、ステータスフラグの値は「２」となる。セレクタ２０６は、レギュレータ出力電圧制御回路１１からの制御信号ｃｎｔｌ１を選択してデコーダ２０５へ送る。この制御信号ｃｎｔｌ１により、クロックＣＬＫ１（３２ｋＨｚ）に対する最小のタイミングマージンで、ＣＰＵ１２が正常動作する出力電圧ＶＲ（２．０Ｖ）がレギュレータ２０８から出力される。
【００５８】
ステータス３では、半導体集積回路装置２００は、ＣＰＵ１２が命令処理する動作がなくＨＡＬＴ状態となっている。よって、タイマー２２のみが動作している。このため、フラッシュメモリ３２、ＣＰＵ１２が動作を停止し、タイマー２２のみが２０ＭＨｚで動作している。タイマー２２は、低電圧下でも動作可能である。このとき、タイマー２２しか動作していないため、ステータスフラグの値は「３」となる。セレクタ２０６は、レギュレータ出力電圧制御回路２１からの制御信号ｃｎｔｌ２を選択してデコーダ２０５へ送る。この制御信号ｃｎｔｌ２により、クロックＣＬＫ２（２０ＭＨｚ）に対する最小のタイミングマージンで、タイマー２２が正常動作する出力電圧ＶＲ（１．８Ｖ）がレギュレータ２０８から出力される。
【００５９】
これらのステータスの遷移図も図９に示す。なお、ステータス間を結ぶ矢印上部に示す数字はステータスフラグの値の変化を示すものである。まず、装置の停止状態からハイレベルのリセット信号ＲＥＳＢが半導体集積回路装置２００の各回路ユニットに入力され、半導体集積回路装置２００がステータス１に遷移し、動作を開始する。よって、ステータスフラグの値は「１」となる。このステータスフラグは、半導体集積回路装置２００がステータス１の状態で動作している間、「１」の値を保持する。
【００６０】
次に、ステータス１の状態からＣＰＵ１２が内部ＲＡＭのフェッチ等の実行動作を行い、フラッシュメモリ３２が停止した場合、半導体集積回路装置２００は、ステータス２に遷移する。よって、ステータスフラグの値が「１」から「２」に変化する。このステータスフラグは、半導体集積回路装置２００がステータス２の状態で動作している間、「２」の値を保持する。
【００６１】
また、ステータス１の状態からＣＰＵ１２がＨＡＬＴ状態に移行した場合、半導体集積回路装置２００は、ステータス３に遷移する。よって、ステータスフラグの値が「１」から「３」に変化する。このステータスフラグは、半導体集積回路装置２００がステータス３の状態で動作している間、「３」の値を保持する。
【００６２】
以後、半導体集積回路装置２００は、ＣＰＵ１２、タイマー２２等の各回路動作に合わせ、ステータス１〜３の状態を順次遷移する。そして、その遷移に合わせてステータスフラグの値も変化し、ステータス１〜３に応じた制御信号ｃｎｔｌ１〜ｃｎｔｌ３のいずれか１つがセレクタ２０６を経てデコーダ２０５に入力される。その結果、ステータス１〜３に応じて電圧１．８Ｖ〜２．５Ｖが、レギュレータ２０８から出力される。
【００６３】
以上、本実施の形態２の半導体集積回路装置２００は、実施の形態１の半導体集積回路装置１００がレギュレータを３つ有するのに対してレギュレータが１つのみとなっている。また、各回路ユニットの動作状態を確認可能なステータスレジスタを有している。そのレジスタの保持するステータスフラグの値に応じて、どの制御信号を有効にするか選択可能な構成となっている。
【００６４】
よって、本実施の形態２の半導体集積回路装置２００は、自身の動作状態に応じて、その動作状態ごとに誤動作を起こさない最小のタイミングマージンを確保しつつ、最低限度の出力電圧をレギュレータが出力できる。これは、半導体集積回路装置２００が、レギュレータが１つしか有していないにも関わらず、各回路ユニットの動作状態に応じ、その動作が正常に行われる最低限度の動作電圧まで、レギュレータ出力電圧を下げることが可能となる。よって、実施の形態１と同様、装置全体の消費電力を低減することが可能となる。
【００６５】
なお、本発明は上記実施の形態に限られたものでなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、ＣＰＵ、タイマー、フラッシュメモリ以外に更に複数の回路を有していてよい。その場合、実施の形態２において、ステータス数が更に複数になるよう設定してもよい。
【図面の簡単な説明】
【００６６】
【図１】実施の形態１にかかる半導体集積回路装置の構成の一例である。
【図２】実施の形態１にかかるレギュレータ出力電圧制御回路の構成の一例である。
【図３】実施の形態１にかかる判定回路の構成の一例である。
【図４】実施の形態１にかかるデコーダの構成の一例である。
【図５】実施の形態１にかかる半導体集積回路装置の動作タイミングチャートの一例である。
【図６】その他の実施の形態にかかる回路ユニットの一例である。
【図７】その他の実施の形態にかかる回路ユニットの一例である。
【図８】実施の形態２にかかる半導体集積回路装置の構成の一例である。
【図９】実施の形態２にかかる半導体集積回路装置の各回路ユニットの動作のステータスの関係を説明するための表及び遷移図である。
【図１０】従来技術の半導体集積回路装置の構成の一例である。
【符号の説明】
【００６７】
１００  半導体集積回路装置
１０１〜１０３  回路ユニット
１０４  基準電圧生成回路
１０、２０、３０  レギュレータ
１１、２１、３１  レギュレータ出力電圧制御回路
１２  ＣＰＵ
２２  タイマー
３２  フラッシュメモリ
１３、２３、３３  デコーダ
【図１】
2009271816.tif 000003
【図２】
2009271816.tif 000004
【図３】
2009271816.tif 000005
【図４】
2009271816.tif 000006
【図５】
2009271816.tif 000007
【図６】
2009271816.tif 000008
【図７】
2009271816.tif 000009
【図８】
2009271816.tif 000010
【図９】
2009271816.tif 000011
【図１０】
2009271816.tif 000012