(57)【要約】【課題】短時間に電源電圧を最適値に制御することが可能な半導体集積回路装置を提供することである。【解決手段】本発明にかかる半導体集積回路装置１００は、ターゲット回路２と、ターゲット回路２に電源電圧を供給する電圧供給回路４と、電圧供給回路４の出力電圧を制御する制御回路３と、ターゲット回路２に供給される電源電圧の電圧値を予測する目標電圧予測回路１とを備える。制御回路は、ターゲット回路２の要求動作周波数が第１の動作周波数から第２の動作周波数に変化した際に、電圧供給回路４の出力電圧を所定の電圧値だけ変化させる。目標電圧予測回路１は、所定の電圧値の変化にともなうターゲット回路２の動作周波数の変化量を検出すると共に、動作周波数の変化量と所定の電圧値との関係に基づいて目標電圧値を算出する。電圧供給回路４は、ターゲット回路２に目標電圧値の電源電圧を供給する。【選択図】図１
2011066791.tif 000002
【特許請求の範囲】
【請求項１】
電源電圧が可変であるターゲット回路と、
前記ターゲット回路に電源電圧を供給する電圧供給回路と、
前記電圧供給回路の出力電圧を制御する制御回路と、
前記ターゲット回路に供給される電源電圧の電圧値を予測する目標電圧予測回路と、を備え、
前記制御回路は、前記ターゲット回路の要求動作周波数が第１の動作周波数から第２の動作周波数に変化した際に、前記電圧供給回路の出力電圧を所定の電圧値だけ変化させ、
前記目標電圧予測回路は、前記所定の電圧値の変化にともなう前記ターゲット回路の動作周波数の変化量を検出すると共に、当該動作周波数の変化量と前記所定の電圧値との関係に基づいて目標電圧値を算出し、
前記電圧供給回路は、前記ターゲット回路に前記目標電圧値の電源電圧を供給する、半導体集積回路装置。
【請求項２】
前記目標電圧予測回路は、前記第２の動作周波数と前記第１の動作周波数との差と、前記目標電圧値と変化前の電源電圧値との差と、の比が、前記動作周波数の変化量と前記所定の電圧との比に等しくなるように前記目標電圧値を算出する、請求項１に記載の半導体集積回路装置。
【請求項３】
前記制御回路が変化させる前記所定の電圧値は、前記制御回路が前記電圧供給回路の出力を制御し得る最小単位の電圧値である、請求項１または２に記載の半導体集積回路装置。
【請求項４】
前記目標電圧予測回路は、前記ターゲット回路の動作周波数が前記第２の動作周波数を満たすのに必要な最小限の電源電圧に一致するように前記目標電圧値を算出する、請求項１乃至３のいずれか一項に記載の半導体集積回路装置。
【請求項５】
前記ターゲット回路の要求動作周波数が前記第１の動作周波数から前記第２の動作周波数に変化した際に、
前記制御回路は、前記制御回路が前記電圧供給回路の出力電圧を所定の電圧値だけ変化させる前に、前記電圧供給回路の出力を、前記ターゲット回路の動作周波数が前記第１の動作周波数を満たすような電源電圧に制御する、請求項１乃至４のいずれか一項に記載の半導体集積回路装置。
【請求項６】
前記第１の動作周波数を満たす電源電圧は、前記第１の動作周波数を満たす必要最小限の電圧である、請求項５に記載の半導体集積回路装置。
【請求項７】
前記目標電圧予測回路は、リングオシレータとカウンタとを備え、
前記リングオシレータは、前記ターゲット回路の電源電圧に応じて発振周期が変化し、
前記カウンタは、所定の期間内における前記リングオシレータの出力パルス数を計測し、
前記目標電圧予測回路は、前記出力パルス数の変化により前記動作周波数の変化量を検出する、請求項１乃至６のいずれか一項に記載の半導体集積回路装置。
【請求項８】
前記目標電圧予測回路は、直列に接続された複数の遅延素子を備え、
前記遅延素子は前記ターゲット回路の電源電圧に応じて遅延時間が変化し、
前記目標電圧予測回路は、所定の期間内において信号が伝搬可能な遅延素子数の変化量により前記動作周波数の変化量を検出する、請求項１乃至６のいずれか一項に記載の半導体集積回路装置。
【請求項９】
前記ターゲット回路の動作周波数と前記要求動作周波数とを比較する遅延モニタ回路をさらに備え、
前記電圧供給回路の出力は、前記目標電圧予測回路が算出した前記目標電圧値に制御された後、さらに前記遅延モニタ回路からの出力値に基づいて制御される、請求項１乃至８のいずれか一項に記載の半導体集積回路装置。
【請求項１０】
前記ターゲット回路の動作周波数と前記要求動作周波数とが実質的に等しくなるように、前記電圧供給回路の出力が制御される、請求項９に記載の半導体集積回路装置。
【請求項１１】
前記目標電圧予測回路の一部に前記ターゲット回路の動作周波数に対応する値と前記第２の動作周波数に対応する値とを比較する速度判定回路を設け、当該速度判定回路を前記遅延モニタ回路として用いる、請求項９または１０に記載の半導体集積回路装置。
【請求項１２】
ターゲット回路に供給される電源電圧を制御する方法であって、
前記ターゲット回路の要求動作周波数が第１の動作周波数から第２の動作周波数に変化した際に、前記電圧供給回路の出力電圧を所定の電圧値だけ変化させ、
前記所定の電圧値の変化にともなう前記ターゲット回路の動作周波数の変化量を検出し、
前記ターゲット回路に供給される電源電圧を、前記動作周波数の変化量と前記所定の電圧値との関係に基づいて算出する、電源電圧制御方法。
【請求項１３】
前記第２の動作周波数と前記第１の動作周波数との差と、前記目標電圧値と変化前の電源電圧値との差と、の比が、前記動作周波数の変化量と前記所定の電圧との比に等しくなるように前記目標電圧値を算出する、請求項１２に記載の電源電圧制御方法。
【請求項１４】
前記ターゲット回路の動作周波数が前記第２の動作周波数を満たすのに必要な最小限の電源電圧に一致するように前記ターゲット回路の電源電圧を制御する、請求項１２または１３に記載の電源電圧制御方法。
【請求項１５】
前記ターゲット回路の要求動作周波数が前記第１の動作周波数から前記第２の動作周波数に変化した際に、前記電圧供給回路の出力電圧を所定の電圧値だけ変化させる前に、前記ターゲット回路の動作周波数が前記第１の動作周波数を満たすように前記ターゲット回路の電源電圧を制御する、請求項１２乃至１４のいずれか一項に記載の電源電圧制御方法。
【請求項１６】
前記第１の動作周波数を満たす電源電圧は、前記第１の動作周波数を満たす必要最小限の電圧である、請求項１５に記載の電源電圧制御方法。
【請求項１７】
前記ターゲット回路の動作周波数と前記要求動作周波数とが実質的に等しくなるように、前記ターゲット回路に電源電圧を供給する、請求項１２乃至１６のいずれか一項に記載の電源電圧制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体集積回路装置、及び電源電圧制御方法に関し、特に半導体集積回路装置の電源電圧を短時間に最適な電源電圧に制御することが可能な半導体集積回路装置、及び電源電圧制御方法に関する。
【背景技術】
【０００２】
ＣＭＯＳ（Complementary Metal Oxide Semiconductor）論理ゲートを用いた半導体集積回路装置の消費電力を低減するための方式の一つに、ＤＶＦＳ（Dynamic Voltage and frequency Scaling）がある。ＤＶＦＳは、要求される動作速度（クロック周波数）に応じて電源電圧を制御する方式である。ＤＶＦＳにおいて効率的に消費電力を低減させるには、要求される動作速度が変更された時に、最適な電源電圧にできるだけ短時間かつ高精度に制御する必要がある。
【０００３】
ＤＶＦＳにおける電源電圧制御方式としては、遅延モニタを用いて、対象となる半導体集積回路装置の動作速度が要求速度を満たしているかどうかを判定し、その結果に応じて電源電圧を制御する方式がある。図３１は、特許文献１に開示されている電源電圧制御装置を示す図である。図３１に示す電源電圧制御装置では、遅延モニタによって回路の動作速度と要求される動作速度を比較し、その結果にしたがって電圧の制御量を調節することで電源制御時間の短縮を図っている。
【０００４】
図３１に示す電源電圧制御装置５００は、制御された電源電圧ＶＤＤが供給されるターゲット回路としての半導体回路（ＬＳＩ）５０９、入力信号生成回路５１０、ＬＳＩ５０９のクリティカルパスの遅延特性をモニタするモニタ回路５０４、遅延検出回路５０５、および電源電圧制御回路５０８を有する。電源電圧制御回路５０８は、制御回路５０６、および電圧発生回路５０７を有する。入力信号生成回路５１０は、クロック生成回路５１１と分周回路５０３を有し、クロック生成回路５１１はＰＬＬ回路５０１とセレクタ５０２により構成されている。
【０００５】
ＰＬＬ回路５０１は、電圧で制御される発振器（ＶＣＯ）を内蔵し、その発振周波数を、外部から入力される、たとえばＬＳＩ駆動クロックＣＬＫを基にロックする。ＰＬＬ回路５０１の複数のＶＣＯ出力がセレクタ５０２の各入力に接続され、セレクタ５０２の第１出力および第２出力が分周回路５０３の入力に接続されている。セレクタ５０２は、その第１出力に送る信号ｉｎφ０に対し位相がｉだけ遅れた信号ｉｎφｉを、第２出力から出力する。この位相ｉは、０〜２π内の任意の位相角で表現できる。
【０００６】
分周回路５０３は、第１入力からの信号ｉｎφ０を所定の分周比で分周し、モニタ回路５０４の入力信号ｏｕｔφ０を生成する。また、たとえば同じ分周比で第２入力からの信号ｉｎφｉを分周し、遅延検出回路５０５に入力する基準信号ｏｕｔφｉを生成する。この基準信号ｏｕｔφｉは、モニタ回路５０４の入力信号ｏｕｔφ０より可変の遅延値Ｄだけ遅れた信号として生成される。モニタ回路５０４は、半導体回路５０９でクリティカルパスとして選定された信号伝送パスと等価な電源電圧−遅延特性をもつ回路として構成されており、電圧発生回路５０７による電源電圧ＶＤＤの供給を受けて動作し、分周回路５０３からの信号ｏｕｔφ０を入力して伝播させ、遅延後の信号ｏｕｔφ０'を遅延検出回路５０５に出力する。
【０００７】
遅延検出回路５０５は、基準信号ｏｕｔφｉとモニタ回路５０４の出力信号ｏｕｔφ０'との位相差を検出し、検出結果に応じたｘビット（ｘ：任意の自然数）の遅延検知信号を生成して制御回路５０６に出力する。制御回路５０６は、遅延検出回路５０５からの遅延検知信号に基づいて、電圧発生回路５０７を制御し、ＬＳＩ５０９およびモニタ回路５０４への供給電圧ＶＤＤの値を変更する。
【０００８】
すなわち、制御回路５０６は、モニタ回路５０４の出力ｏｕｔφ０'が基準信号ｏｕｔφｉで規定される所定の遅延値より遅いときは、電圧発生回路５０７に供給電圧ＶＤＤを上げるように要求信号を出力し、逆に、モニタ回路５０４の出力ｏｕｔφ０'が所定の遅延値より早いときは、あるいは、その所定の遅延値から更にあるマージンを引いた遅延値より早いときは、電圧発生回路５０７に供給電圧ＶＤＤを下げるように要求信号を出力する。これにより、電圧発生回路５０７が新たな電源電圧ＶＤＤ'を生成し、今までの供給電圧を新たな電源電圧ＶＤＤ'に変更する。
【０００９】
また、特許文献２には、主機能回路の誤動作を抑え、低消費電力化を実現することができる半導体集積回路装置に関する技術が開示されている。特許文献２に開示されている半導体集積回路装置は、予め定められた主機能を有すると共に、駆動時に予め決定された駆動電圧が供給される主機能回路と、主機能回路の特性の変化を検知する検知手段と、検知手段による主機能回路の特性の変化の検知結果に基づいて主機能回路に供給される駆動電圧を決定する決定手段を備える。更に、検知手段に対して、主機能回路の駆動時に決定手段により決定された駆動電圧が供給され、主機能回路の特性の変化の検知時に予め定められた電圧が供給されるように供給電圧を切り替える切替手段を備える。
【００１０】
特許文献２に開示されている半導体集積回路装置では、使用環境の変化等による主機能回路の特性の変化を検知する検知手段に対して、主機能回路の駆動時に、決定された駆動電圧が供給され、主機能回路の特性の変化の検知時に予め定められた電圧が供給されるように供給電圧を切り替えている。これにより、検知手段と主機能回路の配線の劣化の程度がほぼ同程度となり、補正電圧に一定のマージンを付加する必要が無くなるため、主機能回路の誤動作を抑え、低消費電力化を実現することができる。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００２−１００９６７号公報
【特許文献２】特開２００９−３８１２８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
半導体集積回路装置の電源電圧を短時間に最適値に変化させるためには、電源電圧を変化させる速度すなわち電源電圧の制御速度を大きくする必要がある。電源電圧の制御速度は、内部のレジスタなどで出力電圧の設定値を制御するタイプの電源回路においては、１ステップで変化させる電圧量にあたる。電源電圧の制御速度が大きい場合、速度モニタからレギュレータなどの電源電圧を制御する回路へのフィードバックが遅れることによって、制御された電源電圧が最適値付近で発振し、最適値への収束がかえって遅くなったり収束しなくなったりする可能性がある。
【００１３】
図３１で説明した特許文献１に開示されている電源電圧制御装置５００では、遅延検出回路５０５を用いて基準信号ｏｕｔφｉとモニタ回路５０４の出力信号ｏｕｔφ０'との位相差を検出し、この検出結果に基づいて電源電圧の制御速度を制御することでこの問題を解決している。
【００１４】
しかしながら、特許文献１に開示されている電源電圧制御装置５００では、要求動作周波数毎に遅延検出回路５０５の出力と電源電圧制御回路５０８から出力される電圧の制御量との関係を予め設定する必要がある。また、電圧の最適値付近での発振を防ぐためには、やはり電圧の制御量を一定値以下に抑えつつ電圧制御を繰り返す必要があるため、半導体集積回路装置の電源電圧を最適値にするまでに時間がかかる。
【課題を解決するための手段】
【００１５】
本発明にかかる半導体集積回路装置は、電源電圧が可変であるターゲット回路と、前記ターゲット回路に電源電圧を供給する電圧供給回路と、前記電圧供給回路の出力電圧を制御する制御回路と、前記ターゲット回路に供給される電源電圧の電圧値を予測する目標電圧予測回路と、を備え、前記制御回路は、前記ターゲット回路の要求動作周波数が第１の動作周波数から第２の動作周波数に変化した際に、前記電圧供給回路の出力電圧を所定の電圧値だけ変化させ、前記目標電圧予測回路は、前記所定の電圧値の変化にともなう前記ターゲット回路の動作周波数の変化量を検出すると共に、当該動作周波数の変化量と前記所定の電圧値との関係に基づいて目標電圧値を算出し、前記電圧供給回路は、前記ターゲット回路に前記目標電圧値の電源電圧を供給する。
【００１６】
本発明にかかる半導体集積回路装置では、ターゲット回路への要求動作周波数が変化した際に、電源電圧を所定の電圧値だけ変化させ、このときのターゲット回路の動作周波数の変化から、要求動作周波数の変化量に対応する電源電圧の変化量を予測してターゲット回路の電源電圧を変化させることができるので、制御回路が電源電圧を変化させる回数を低減することができる。よって、ターゲット回路へ供給される電源電圧を短時間に制御することができる。
【００１７】
本発明にかかるターゲット回路に供給される電源電圧を制御する方法は、前記ターゲット回路の要求動作周波数が第１の動作周波数から第２の動作周波数に変化した際に、前記電圧供給回路の出力電圧を所定の電圧値だけ変化させ、前記所定の電圧値の変化にともなう前記ターゲット回路の動作周波数の変化量を検出し、前記ターゲット回路に供給される電源電圧を、前記動作周波数の変化量と前記所定の電圧値との関係に基づいて算出する。
【００１８】
本発明にかかる電源電圧制御方法では、ターゲット回路への要求動作周波数が変化した際に、電源電圧を所定の電圧値だけ変化させ、このときのターゲット回路の動作周波数の変化から、要求動作周波数の変化量に対応する電源電圧の変化量を予測してターゲット回路の電源電圧を変化させることができるので、電源電圧を変化させる回数を低減することができる。よって、ターゲット回路へ供給される電源電圧を短時間に制御することができる。
【発明の効果】
【００１９】
本発明により、短時間に電源電圧を最適値に制御することが可能な半導体集積回路装置、及び電源電圧制御方法を提供することが可能となる。
【図面の簡単な説明】
【００２０】
【図１】実施の形態１にかかる半導体集積回路装置の構成を示すブロック図である。
【図２】実施の形態１にかかる半導体集積回路装置が備える目標電圧予測回路の構成を示すブロック図である。
【図３】実施の形態１にかかる半導体集積回路装置が備えるリングオシレータの構成を示す図である。
【図４】実施の形態１にかかる半導体集積回路装置が備えるカウンタ値補正回路の構成を示す図である。
【図５】実施の形態１にかかる半導体集積回路装置が備える電圧供給回路の構成を示す図である。
【図６】実施の形態１にかかる半導体集積回路装置が備えるリファレンス電圧生成回路の構成を示す図である。
【図７】実施の形態１にかかる半導体集積回路装置の動作を示すタイミングチャートである。
【図８】実施の形態１にかかる半導体集積回路装置の動作を示すフローチャートである。
【図９】実施の形態１にかかる半導体集積回路装置が備えるリファレンス電圧生成回路の別の構成を示す図である。
【図１０】実施の形態１にかかる半導体集積回路装置が備えるリングオシレータの別の構成を示す図である。
【図１１】実施の形態１にかかる半導体集積回路装置が備える目標電圧予測回路の別の構成を示すブロック図である。
【図１２】実施の形態２にかかる半導体集積回路装置が備える目標電圧予測回路の構成を示すブロック図である。
【図１３】実施の形態２にかかる半導体集積回路装置の動作を示すタイミングチャートである。
【図１４】実施の形態２にかかる半導体集積回路装置の動作を示すフローチャートである。
【図１５】実施の形態２にかかる半導体集積回路装置の初期補正動作を示すフローチャートである。
【図１６】実施の形態３にかかる半導体集積回路装置の構成を示すブロック図である。
【図１７】実施の形態３にかかる半導体集積回路装置が備える遅延モニタ回路の構成を示す図である。
【図１８】実施の形態３にかかる半導体集積回路装置の動作を示すフローチャートである。
【図１９】実施の形態３にかかる半導体集積回路装置の電圧補正動作を示すフローチャートである。
【図２０】実施の形態３にかかる半導体集積回路装置が備える倍率演算回路の構成を示す図である。
【図２１】実施の形態３にかかる半導体集積回路装置が備える最上位ビット検出回路の構成を示す図である。
【図２２】実施の形態３にかかる半導体集積回路装置が備えるシフトレジスタの構成を示す図である。
【図２３】実施の形態４にかかる半導体集積回路装置の構成を示すブロック図である。
【図２４】実施の形態４にかかる半導体集積回路装置が備える目標電圧予測回路の構成を示すブロック図である。
【図２５】実施の形態４にかかる半導体集積回路装置の動作を示すフローチャートである。
【図２６】実施の形態４にかかる半導体集積回路装置の電圧補正動作を示すフローチャートである。
【図２７】実施の形態５にかかる半導体集積回路装置が備える目標電圧予測回路の構成を示すブロック図である。
【図２８】実施の形態５にかかる半導体集積回路装置が備える遅延時間計測回路の構成を示す図である。
【図２９】実施の形態５にかかる半導体集積回路装置の動作を示すタイミングチャートである。
【図３０】本発明にかかる半導体集積回路装置を用いて電源電圧を制御した場合を説明するための図である。
【図３１】特許文献１にかかる電源電圧制御装置を説明するための図である。
【発明を実施するための形態】
【００２１】
実施の形態１
以下、図面を参照して本発明の実施の形態１について説明する。図１は、本実施の形態にかかる半導体集積回路装置１００の構成を示す図である。図１に示すように、本実施の形態にかかる半導体集積回路装置１００は、電源電圧ＶＤＤが可変であるターゲット回路２と、ターゲット回路２に電源電圧ＶＤＤを供給する電圧供給回路４と、電圧供給回路４の出力電圧を制御する制御回路３と、ターゲット回路２に供給される電源電圧ＶＤＤの電圧値を予測する目標電圧予測回路１と、を備える。
【００２２】
制御回路３は、ターゲット回路２の要求動作周波数が第１の動作周波数ｆ１から第２の動作周波数ｆ２に変化した際に、電圧供給回路４の出力電圧を所定の電圧値ΔＶだけ変化させる。目標電圧予測回路１は、所定の電圧値ΔＶの変化にともなうターゲット回路２の動作周波数の変化量を検出すると共に、当該動作周波数の変化量と所定の電圧値ΔＶとの関係に基づいて目標電圧値Ｖ２を算出する。そして、電圧供給回路４は、ターゲット回路２に算出された目標電圧値の電源電圧を供給する。
【００２３】
このようにして、本実施の形態にかかる半導体集積回路装置では、ターゲット回路２の電源電圧ＶＤＤが最適値Ｖ２になるように制御している。以下、本実施の形態にかかる半導体集積回路装置について詳細に説明する。
【００２４】
図２は、本実施の形態にかかる半導体集積回路装置１００が備える目標電圧予測回路１の詳細な構成を示す図である。目標電圧予測回路１は、リングオシレータ１０、カウンタ１１、カウンタ値補正回路１２、レジスタ１３Ａ、１３Ｂ、１３Ｃ、カウンタ値比較回路１４Ａ、１４Ｂ、倍率演算回路１５を有する。リングオシレータ１０にはターゲット回路２と同じ電源電圧ＶＤＤが供給される。
【００２５】
リングオシレータ１０はＥＮＡＢＬＥ＝１の期間Ｔだけ発振する。カウンタ１１はＥＮＡＢＬＥ＝１になる前に一度リセットされ、ＥＮＡＢＬＥ＝１の期間Ｔにおけるリングオシレータの出力パルス数Ｃ０を計測し、その値がカウンタ値補正回路１２によってＣＴＥＭＰ＝ｋＣ０に補正された後、レジスタ１３Ｂに格納される。ここで、ｋは０＜ｋ≦１である。また、ＣＴＥＭＰはターゲット回路２に供給されている電源電圧の動作周波数を反映した値である。
【００２６】
また、レジスタ１３Ａおよび１３Ｃにはそれぞれターゲット回路２への要求性能、すなわち要求動作周波数ｆ１およびｆ２に対応するカウンタ値Ｃ１＝Ｔ・ｆ１およびＣ２＝Ｔ・ｆ２が格納される。ここで、Ｃ１、Ｃ２はそれぞれ要求動作周波数ｆ１、ｆ２を満たすために必要なカウンタ値であり、既知の値である。カウンタ値比較回路１４Ａおよび１４Ｂには、それぞれＣＴＥＭＰ−Ｃ１、Ｃ２−ＣＴＥＭＰが格納される。また、カウンタ値比較回路１４Ａは倍率演算回路１５にＣＴＥＭＰ−Ｃ１を出力し、カウンタ値比較回路１４Ｂは倍率演算回路１５にＣ２−ＣＴＥＭＰを出力する。倍率演算回路１５は、（Ｃ２−ＣＴＥＭＰ）／（ＣＴＥＭＰ−Ｃ１）を演算し出力する回路であり、ステップ幅予測回路として機能する。
【００２７】
リングオシレータ１０の構成例を図３に示す。リングオシレータ１０は、ＮＡＮＤ２０、遅延素子２１、バッファ２２を有する。遅延素子２１の遅延時間はターゲット回路２のクリティカルパス遅延の１／２倍であり、リングオシレータ１０の発振周期はクリティカルパス遅延に等しい。
【００２８】
図４にカウンタ値補正回路１２の構成例を示す。カウンタ値補正回路１２は、減算回路２３を有し、被減数Ｃ０としてカウンタ１１の出力がそのまま入力され、減数Ｃ０'としてＣ０をｉビットだけ下位へビットシフトした数値が入力される。Ｃ０をＮビットの数値とし、上位ビットから順にＣＮＴＮ、ＣＮＴＮ−１、・・・、ＣＮＴ１とすると、Ｃ０'は上位ビットから順に０、・・・、０、ＣＮＴＮ、・・・、ＣＮＴｉ＋１となる。ここで、上位には０がｉビットだけ入る。このような回路構成を用いることにより、ＣＴＥＭＰ＝Ｃ０−Ｃ０'＝ｋＣ０の補正を簡単に実現できる。ここで、ｋ＝１−２＾（−ｉ）である。
【００２９】
図５に電圧供給回路４の構成例を示す。電圧供給回路４はリファレンス電圧生成回路４１、オペアンプ４２、およびＮＭＯＳＦＥＴ４３を有する。オペアンプの非反転入力端子にはリファレンス電圧生成回路４１の出力ＶＲＥＦが入力され、電圧供給回路４の出力ＶＤＤはＶＤＤ＝ＶＲＥＦに制御される。リファレンス電圧生成回路４１は制御回路３によって制御され、リファレンス電位ＶＲＥＦが変わることで電源電圧供給回路４の出力ＶＤＤが変化する。
【００３０】
図６にリファレンス電圧生成回路４１の構成例を示す。リファレンス電圧生成回路４１は、直列に接続されたｎ個の抵抗４４＿１、４４＿２、・・・、４４＿ｎ、および抵抗間の各ノードと出力の間に挿入されたｎ−１個のスイッチから構成される。スイッチのうちいずれか１つだけがオン状態となっており、出力ＶＲＥＦは接続されたノードの電位と一致する。スイッチのオンオフは制御回路３から出力される制御信号により制御される。
【００３１】
次に、要求動作周波数がｆ１からｆ２に変化した場合の半導体集積回路装置の動作について、図７に示すタイミングチャートおよび図８に示すフローチャートを用いて説明する。
まず、初期状態として要求動作周波数ｆ１に対してのターゲット回路２の電源電圧、すなわち電圧供給回路４の出力ＶＤＤをＶ１とする（ｔ１）。ここで、電源電圧Ｖ１はターゲット回路２が要求動作周波数ｆ１で動作するために必要最小限の電源電圧である。この状態に対してｆ１がｆ２に変わったとき（ｔ２）、制御回路３はまず電圧供給回路４の出力電圧がＶ１＋ΔＶになるように制御する（ｔ３、ステップＳ１）。
【００３２】
続いて、目標電圧予測回路１のレジスタ１３Ａおよび１３Ｃに、それぞれＣ１およびＣ２の値が格納される（ｔ４）。ここで、Ｃ１＝Ｔ・ｆ１、Ｃ２＝Ｔ・ｆ２である。さらに、ＲＥＳＥＴ＝１（ハイレベル）となって、カウンタ１１がリセットされた後（ｔ５）、リングオシレータ１０に入るＥＮＡＢＬＥが期間Ｔだけ１（ハイレベル）となり（ｔ６）、期間Ｔにおけるリングオシレータ１０の発振回数に基づくカウント値ＣＴＥＭＰがレジスタ１３Ｂに格納される（ｔ７、ステップＳ２）。
【００３３】
各レジスタ１３Ａ、１３Ｂ、１３Ｃに値が格納された後、カウンタ値比較回路１４Ａおよび１４Ｂには、それぞれＣＴＥＭＰ−Ｃ１、Ｃ２−ＣＴＥＭＰが格納される。そして、カウンタ値比較回路１４Ａは倍率演算回路１５にＣＴＥＭＰ−Ｃ１を出力し、カウンタ値比較回路１４Ｂは倍率演算回路１５にＣ２−ＣＴＥＭＰを出力する。さらに、倍率演算回路１５は、（Ｃ２−ＣＴＥＭＰ）／（ＣＴＥＭＰ−Ｃ１）を演算し出力する（ステップＳ３）。続いて、制御回路３は電圧供給回路４の出力電圧ＶＤＤをＶ２＝Ｖ１＋ΔＶ＋（Ｃ２−ＣＴＥＭＰ）／（ＣＴＥＭＰ−Ｃ１）×ΔＶに制御する（ｔ８、ステップＳ４）。
【００３４】
ここで、一般に電源電圧ＶＤＤにおいて回路が動作可能な最大周波数ｆは次の近似式で表される。
2011066791.tif 000003
ここで、ＡおよびＶＴＨは回路構成や温度に依存する定数である。電源電圧をＶ１からＶ２に変化させたときに動作周波数がｆ１からｆ２に変わるとすると、次のように表すことができる。
2011066791.tif 000004
よって、電源電圧の変化量と動作周波数の変化量は比例する。このことから、電源電圧をＶ１からＶ１＋ΔＶに変化させたときの動作周波数の変化量をΔｆとすると、最終的に次式が成り立つ。
2011066791.tif 000005
すなわち、要求動作周波数がｆ１からｆ２に変化する場合、ΔＶおよびΔｆが既知であれば、ＡやＶＴＨに無関係に、必要な電源電圧Ｖ２を決定することができる。さらに、本実施の形態において、各レジスタ１３Ａ、１３Ｂ、１３Ｃに格納される値は、それぞれＣ１＝Ｔ・ｆ１、ＣＴＥＭＰ＝Ｔ・（ｆ１＋Δｆ）、Ｃ２＝Ｔ・ｆ２であるため、式３は、次のように表すことができる。
2011066791.tif 000006
【００３５】
ここで、目標電圧予測回路１は、動作周波数ｆ２と動作周波数ｆ１との差と、目標電圧値Ｖ２と変化前の電源電圧値Ｖ１との差との比が、動作周波数の変化量Δｆと所定の電圧ΔＶとの比に等しくなるように目標電圧値を決定することができる。
【００３６】
したがって、本実施の形態にかかる半導体集積回路装置を用いることで、最終的に制御される電源電圧Ｖ２は、ターゲット回路２への要求動作周波数ｆ２を満たすのに必要最小限の電源電圧とすることができる。
以上のように、本実施の形態にかかる半導体集積回路装置を用いることにより、ターゲット回路２の要求動作周波数が変化した場合、必要最小限の電源電圧に収束させるための電源電圧の制御回数を２回に抑えることができ、電源電圧の制御時間を短くすることができる。
【００３７】
図３０は本実施の形態にかかる半導体集積回路装置を用いて電源電圧を制御した場合を説明するための図である。図３０に示すように、本発明を用いると、本発明を用いない場合よりも迅速にターゲット回路に供給される電源電圧をＶ１からＶ２に変更することができる。また、本実施の形態にかかる半導体集積回路装置を用いることにより、電源電圧を発振状態に陥らせることなく、短時間に電源電圧を最適値に制御することができる。
【００３８】
なお、本実施の形態にかかる半導体集積回路装置では、リファレンス電圧生成回路４１として図６に示す回路を用いているが、例えば図９に示すような、電流源４８および可変抵抗４９を有する回路をリファレンス電圧生成回路４１として用いてもよい。ここで、電流源４８は一定の電流値ＩＲＥＦを流す電流源であり、可変抵抗４９は抵抗値Ｒを有する。この回路の出力ＶＲＥＦは、ＶＲＥＦ＝ＩＲＥＦ×Ｒとなり、制御回路３により可変抵抗４９の抵抗値Ｒが制御されることで出力ＶＲＥＦを変化させることができる。なお、図９の回路において、可変抵抗４９の抵抗値Ｒを固定して、電流源４８の電流値を変化させることでリファレンス電圧を変化させてもよい。この場合は、制御回路３により電流源４８の電流値を制御する。
【００３９】
さらに、本実施の形態にかかる半導体集積回路装置では、レギュレータとしてシリーズレギュレータを用いているが、出力電圧の変化速度を制御できるレギュレータであれば何を用いてもよく、例えばスイッチングレギュレータなどを用いてもよい。
【００４０】
また、本実施の形態にかかる半導体集積回路装置では、リングオシレータ１０の発振周期はターゲット回路２のクリティカルパス遅延に等しくしているが、例えば図１０に示すリングオシレータ１０を用いてもよい。図１０に示すリングオシレータ１０は、ＮＡＮＤ２４、２つの遅延素子２５、２６、バッファ２７を有する。ここで、遅延素子２５、２６の遅延時間は、それぞれターゲット回路２のクリティカルパス遅延の１／２倍、（Ａ−１）／２倍となっており、発振周期はクリティカルパス遅延のＡ倍となる。ここで、Ａは１＜Ａである。
【００４１】
このようなリングオシレータを用いることで、要求動作周波数に対して、ターゲット回路２の動作性能にマージンを持たせることができるため、温度変動などによりターゲット回路２の動作周波数が低下した場合、あるいは遅延素子２５の遅延時間と実際のターゲット回路のクリティカルパス遅延の１／２倍の遅延との間に誤差が生じた場合でも、常に要求動作周波数を満たしながら動作させることができる。さらに、Ａ＝１／Ｋとすることで、一定時間におけるリングオシレータの出力パルス数はｋ倍になるため、図１１に示すように目標電圧予測回路１においてカウンタ値補正回路１２を省略することができる。
【００４２】
また、本実施の形態にかかる半導体集積回路装置では、レジスタ１３Ｂに格納する値をＣＴＥＭＰ＝ｋＣ０としているが、これをＣＴＥＭＰ＝Ｃ０−Ｂとしてもよい。ここで、０＜Ｂ＜ＣＴＥＭＰである。このような回路動作は、図４に示したカウンタ値補正回路１２において減数Ｃ０'としてＢを入力することで実現できる。このような値をレジスタ１３Ｂに格納することで、要求動作周波数に対して、ターゲット回路２の動作性能にマージンを持たせることができるため、温度変動などによりターゲット回路２の動作周波数が低下した場合でも常に要求動作周波数を満たしながら動作させることができる。
【００４３】
また、本実施の形態にかかる半導体集積回路装置では、カウンタ値補正回路１２を減算器で構成しているが、入力数値をｋ倍して出力する演算回路であれば何を用いてもよい。  また、本実施の形態にかかる半導体集積回路装置ではカウンタ値補正回路１２によってカウンタ１１の出力を補正する際の補正係数ｋを固定値としているが、電圧供給回路４の出力に応じて変えてもよい。
【００４４】
また、本実施の形態にかかる半導体集積回路装置では、リングオシレータ１０の発振周期はターゲット回路２のクリティカルパス遅延に等しいとしているが、発振周期がクリティカルパス遅延のｎ倍のリングオシレータを用いてもよい。ここで、１＜ｎである。このようなリングオシレータを用いることで、カウンタに要求される動作性能を軽減することが出来る。
【００４５】
また、本実施の形態にかかる半導体集積回路装置では、リングオシレータの出力をカウンタに入力しているが、リングオシレータの出力をＮ分周したものをカウンタに入力してもよい。ここで１＜Ｎである。この場合、レジスタ１３Ａ、１３Ｃには、それぞれＴｆ１／Ｎ、Ｔｆ２／Ｎの値を格納する。このような半導体集積回路装置を用いることで、リングオシレータの回路面積を大きくすることなくカウンタに要求される動作性能を軽減することが出来る。
【００４６】
実施の形態２
次に、本発明の実施の形態２について説明する。本発明の実施の形態２にかかる半導体集積回路装置の構成は、図１に示した実施の形態１にかかる半導体集積回路装置の構成要素のうち目標電圧予測回路１の構成が異なる。これ以外の構成は、図１に示した実施の形態１にかかる半導体集積回路装置の構成と同様であるので重複した説明は省略する。
【００４７】
図１２に、本実施の形態にかかる半導体集積回路装置が備える目標電圧予測回路１の構成例を示す。図１２に示す目標電圧予測回路１は、リングオシレータ１０、カウンタ１１、カウンタ値補正回路１２、レジスタ１３Ａ、１３Ｂ、１３Ｃ、カウンタ値比較回路１４Ａ、１４Ｂ、倍率演算回路１５、速度判定回路１６を有する。
【００４８】
リングオシレータ１０にはターゲット回路２と同じ電源電圧ＶＤＤが供給され、発振周期はターゲット回路２のクリティカルパス遅延に等しい。リングオシレータ１０はＥＮＡＢＬＥ＝１の期間Ｔだけ発振する。カウンタ１１はＥＮＡＢＬＥ＝１になる前に一度リセットされ、ＥＮＡＢＬＥ＝１の期間Ｔにおけるリングオシレータの出力パルス数Ｃ０を計測し、その値がカウンタ値補正回路１２によってＣＴＥＭＰ＝ｋＣ０に補正された後、レジスタ１３Ｂに格納される。ここで、ｋは０＜ｋ≦１である。また、ＣＴＥＭＰはターゲット回路２に供給されている電源電圧の動作周波数を反映した値である。
【００４９】
また、レジスタ１３Ａおよび１３Ｃにはそれぞれターゲット回路２への要求性能、すなわち要求動作周波数ｆ１およびｆ２に対応するカウンタ値Ｃ１＝Ｔ・ｆ１およびＣ２＝Ｔ・ｆ２が格納される。カウンタ値比較回路１４Ａおよび１４Ｂには、それぞれＣＴＥＭＰ−Ｃ１、Ｃ２−ＣＴＥＭＰが格納される。また、カウンタ値比較回路１４Ａは倍率演算回路１５にＣＴＥＭＰ−Ｃ１を出力し、カウンタ値比較回路１４Ｂは倍率演算回路１５にＣ２−ＣＴＥＭＰを出力する。倍率演算回路１５は、（Ｃ２−ＣＴＥＭＰ）／（ＣＴＥＭＰ−Ｃ１）を演算し出力する回路であり、ステップ幅予測回路として機能する。また、速度判定回路１６はＣＴＥＭＰ−Ｃ１が正ならＵＰ＝０、ＤＯＷＮ＝１を出力し、負ならＵＰ＝１、ＤＯＷＮ＝０を出力し、０に等しければＵＰ＝０、ＤＯＷＮ＝０を出力する。
【００５０】
次に、要求動作周波数がｆ１からｆ２に変化した場合の半導体集積回路装置の動作について、図１３に示すタイミングチャートを用いて説明する。
まず、初期状態として要求動作周波数ｆ１に対してのターゲット回路２の電源電圧、すなわち電圧供給回路４の出力ＶＤＤをＶ１'とする（ｔ１）。この状態に対してｆ１がｆ２に変わったとき（ｔ２）、まず、目標電圧予測回路１のレジスタ１３Ａおよび１３Ｃに、それぞれＣ１およびＣ２の値が格納される（ｔ３）。ここで、Ｃ１＝Ｔ・ｆ１、Ｃ２＝Ｔ・ｆ２である。続いて、ＲＥＳＥＴ＝１（ハイレベル）となって、カウンタ１１がリセットされた後（ｔ４）、リングオシレータ１０に入るＥＮＡＢＬＥが期間Ｔだけ１（ハイレベル）となり（ｔ５）、期間Ｔにおけるリングオシレータ１０の発振回数に基づくカウント値ＣＴＥＭＰがレジスタ１３Ｂに格納される（ｔ６）。
【００５１】
各レジスタ１３Ａ、１３Ｂ、１３Ｃに値が格納された後、カウンタ値比較回路１４Ａおよび１４Ｂには、それぞれＣＴＥＭＰ−Ｃ１、Ｃ２−ＣＴＥＭＰが格納される。そして、カウンタ値比較回路１４Ａは倍率演算回路１５および速度判定回路１６にＣＴＥＭＰ−Ｃ１を出力し、カウンタ値比較回路１４Ｂは倍率演算回路１５にＣ２−ＣＴＥＭＰを出力する。ここで、速度判定回路１６の出力にしたがい、ＣＴＥＭＰ−Ｃ１＞０であれば電源電圧を下げ、ＣＴＥＭＰ−Ｃ１＜０であれば電源電圧を上げるように、電源電圧ＶＤＤが制御される（ｔ７）。ここで、ｔ３からｔ６の動作はＣＴＥＭＰ−Ｃ１＝０になるまで繰り返される。最終的にＣＴＥＭＰ−Ｃ１＝０となったときの電源電圧ＶＤＤをＶ１とする。その後は、制御回路３が電圧供給回路４の出力電圧をＶ１＋ΔＶになるように制御する（ｔ８）。以降の動作は実施の形態１の場合と同様である。
【００５２】
図１４は、本実施の形態にかかる半導体集積回路装置の動作を示すフローチャートである。本実施の形態では、実施の形態１にかかる半導体集積回路装置の動作を示すフローチャート（図８）のステップＳ１の前に、上記初期補正工程（ステップＳ１'）が追加されている。初期補正工程では、図１３のｔ４からｔ７までの動作を繰り返している。なお、図１４のフローチャートのステップＳ１からＳ４までの動作については実施の形態１の場合と同様であるので、説明を省略する。
【００５３】
図１５は、本実施の形態にかかる半導体集積回路装置の電圧補正動作を示すフローチャートである。図１５に示すように、まず、ＣＴＥＭＰ＞Ｃ１の条件を満たすか否か判断される（ステップＳ１１）。ＣＴＥＭＰ＞Ｃ１の条件を満たす場合は、電源電圧ＶＤＤを下げるように制御回路３が電圧供給回路４の出力を制御する（ステップＳ１２）。一方、ＣＴＥＭＰ＞Ｃ１の条件を満たさない場合は、ＣＴＥＭＰ＜Ｃ１の条件を満たすか否か判断される（ステップＳ１３）。ＣＴＥＭＰ＜Ｃ１の条件を満たす場合は、電源電圧ＶＤＤを上げるように制御回路３が電圧供給回路４の出力を制御する（ステップＳ１４）。一方、ＣＴＥＭＰ＜Ｃ１の条件を満たさない場合は、電圧補正動作を終了する。
【００５４】
本実施の形態にかかる半導体集積回路装置を用いることにより、ターゲット回路２の動作周波数が温度変動などの要因により変化した場合でも、制御前の電源電圧値Ｖ１を、要求動作周波数ｆ１を満たすのに必要最小限の電圧値に一致させることができるため、最終的な目標電圧Ｖ２の精度を高めることができる。
【００５５】
なお、本実施の形態にかかる半導体集積回路装置において、速度判定回路１６はＣＴＥＭＰ−Ｃ１が正ならＵＰ＝０、ＤＯＷＮ＝１を出力し、負ならＵＰ＝１、ＤＯＷＮ＝０を出力し、０に等しければＵＰ＝０、ＤＯＷＮ＝０を出力している。しかし、｜ＣＴＥＭＰ−Ｃ１｜が一定値以下であればＵＰ＝０、ＤＯＷＮ＝０を出力するようにしてもよい。このような制御を行うことにより、電圧供給回路４における電源電圧の制御の最小単位を大きくすることができ、ＣＴＥＭＰ−Ｃ１が０になるように制御できない場合であっても回路動作をさせることができる。
【００５６】
実施の形態３
次に、本発明の実施の形態３について説明する。図１６は、本実施の形態にかかる半導体集積回路装置２００の構成を示す図である。図１６に示すように、本実施の形態にかかる半導体集積回路装置２００は、電源電圧ＶＤＤが可変であるターゲット回路２と、ターゲット回路２に電源電圧ＶＤＤを供給する電圧供給回路４と、電圧供給回路の出力電圧を制御する制御回路３と、ターゲット回路２に供給される電源電圧ＶＤＤの電圧値を予測する目標電圧予測回路１と、遅延モニタ回路５と、を備える。本実施の形態では、実施の形態１にかかる半導体集積回路装置に遅延モニタ回路５が追加されている。なお、遅延モニタ回路５以外の回路構成および動作は実施の形態１で説明した場合と同様であるので重複した説明は省略する。
【００５７】
遅延モニタ回路５の構成例を図１７に示す。遅延モニタ回路５は、遅延素子５２の前後にフリップフロップ５１および５３が接続された構成となっている。遅延素子５２はターゲット回路２のクリティカルパス遅延に等しい遅延時間Ｄを持ち、ターゲット回路２と等しい電源電圧がかかっている。また、フリップフロップ５１および５３はターゲット回路２への要求動作周波数に等しい周波数ｆｒｅｑを持つクロックで駆動される。したがって、遅延モニタ回路５では、Ｄ＜１／ｆｒｅｑであれば、あるクロックでフリップフロップ５１から出力された信号が次のクロックでフリップフロップ５３に取り込まれ、Ｄ＞１／ｆｒｅｑであれば取り込まれない。
【００５８】
次に、ターゲット回路２への要求動作周波数がｆ１からｆ２に変化した場合の半導体集積回路装置の動作について説明する。図１８は、本実施の形態にかかる半導体集積回路装置の動作を示すフローチャートである。本実施の形態にかかる半導体集積回路装置の動作では、実施の形態１の場合の動作（図８参照）と比べて、電圧補正工程（ステップＳ５）が追加されている。
【００５９】
電圧供給回路４の出力電圧ＶＤＤが、要求動作周波数ｆ１を満たすのに必要最小限の電源電圧であるＶ１から制御回路３および目標電圧予測回路１にしたがってＶ２に制御されるまでの動作は、実施の形態１の場合と同様である（ステップＳ１〜Ｓ４）。本実施の形態にかかる半導体集積回路装置では、その後、遅延モニタ回路５による判定結果（ＵＰ／ＤＯＷＮ）が制御回路３に送られる。そして、制御回路３は、ＵＰ／ＤＯＷＮ信号に基づいて、ＵＰ＝１であれば電源電圧ＶＤＤを上げ、ＤＯＷＮ＝１であれば電源電圧ＶＤＤを下げるように電圧供給回路４の出力を制御する。（ステップＳ５）。
【００６０】
図１９は、本実施の形態にかかる半導体集積回路装置の電圧補正動作を示すフローチャートである。図１９に示すように、まず、Ｄ＜１／ｆ２の条件を満たすか否か判断される（ステップＳ２１）。Ｄ＜１／ｆ２の条件を満たす場合は、電源電圧ＶＤＤを下げるように制御回路３が電圧供給回路４の出力を制御する（ステップＳ２２）。一方、Ｄ＜１／ｆ２の条件を満たさない場合は、Ｄ＞１／ｆ２の条件を満たすか否か判断される（ステップＳ２３）。Ｄ＞１／ｆ２の条件を満たす場合は、電源電圧ＶＤＤを上げるように制御回路３が電圧供給回路４の出力を制御する（ステップＳ２４）。一方、Ｄ＜１／ｆ２の条件を満たさない場合は、電圧補正動作を終了する。
【００６１】
以上で説明したように、遅延モニタ回路５は、ターゲット回路２の電源電圧が目標電圧予測回路１により算出された目標電圧値Ｖ２に制御された後、ターゲット回路２の動作周波数と要求動作周波数ｆ２とを比較している。そして、制御回路３は、ターゲット回路２の動作周波数と要求動作周波数ｆ２とが実質的に等しくなるように、電圧供給回路４の出力を制御している。
【００６２】
本実施の形態にかかる半導体集積回路装置を用いることにより、目標電圧予測回路１にしたがって制御された電源電圧ＶＤＤが、ターゲット回路２が要求動作周波数ｆ２を満たすのに必要な最小限の電源電圧Ｖｍｉｎからずれていた場合でも、電源電圧ＶＤＤをＶｍｉｎに収束させることが可能となる。これにより、ターゲット回路２の動作可能周波数が要求動作周波数に満たない状態になることを防ぐことができるとともに、必要以上の電源電圧をかけることによる消費電力の増加を防ぐことができる。
【００６３】
なお、本実施の形態にかかる半導体集積回路装置では、倍率演算回路１５で（Ｃ２−ＣＴＥＭＰ）／（ＣＴＥＭＰ−Ｃ１）を演算して出力しているが、例えば、次式を満たす２＾（ａ−ｂ）の値を出力するような回路を用いてもよい。
（Ｃ２−ＣＴＥＭＰ）＞２＾ａ≧（Ｃ２−ＣＴＥＭＰ）／２  ・・・式５
（ＣＴＥＭＰ−Ｃ１）＞２＾ｂ≧（ＣＴＥＭＰ−Ｃ１）／２  ・・・式６
【００６４】
式５、式６を満たす２＾（ａ−ｂ）の値を出力する倍率演算回路１５の構成例を図２０に示す。図２０に示す倍率演算回路１５は、最上位ビット検出回路５５Ａ、５５Ｂおよびシフトレジスタ５６Ａ、５６Ｂを有する。最上位ビット検出回路およびシフトレジスタの構成例を図２１および図２２にそれぞれ示す。図２１に示すように、最上位ビット検出回路５５は、複数の論理回路が互いに接続されて構成されている。また、図２２に示すように、シフトレジスタ５６は、複数のレジスタ７１＿１、７１＿２、・・・、７１＿Ｎが接続されて構成されている。
【００６５】
最上位ビット検出回路を用いることにより、Ｎビットの入力数値に対して、１となるビットの内、最上位のビット以外をすべて０にすることができる。したがって、最上位ビット検出回路５５Ａは（Ｃ２−ＣＴＥＭＰ）を入力し、２＾ａを出力する。また、最上位ビット検出回路５５Ｂは（ＣＴＥＭＰ−Ｃ１）を入力し、２＾ｂを出力する。シフトレジスタ５６Ａ、５６Ｂにはそれぞれ２＾ａ、２＾ｂが入力される。
【００６６】
その後、クロック信号ＣＬＫＳＨＩＦＴに同期してシフトレジスタ５６Ａ、５６Ｂに格納されたデータが下位ビットへとシフトしていく。最終的にシフトレジスタ５６Ｂの出力が１となった時点でのシフトレジスタ５６Ａの出力が２＾（ａ−ｂ）の値になる。
【００６７】
このような回路を用いることにより、演算を簡単な回路で実現できるため、回路面積を小さくすることができる。なお、目標電圧の精度には最大で５０％の誤差が生じるが、遅延モニタ回路のみに基づく従来の電源制御と比較すると電源制御回数を少なくとも約半分以下にすることができるため、従来と比べて電源電圧の制御時間を短縮することができる。
【００６８】
実施の形態４
次に、本発明の実施の形態４について説明する。図２３は、本実施の形態にかかる半導体集積回路装置３００の構成を示す図である。図２３に示すように、本実施の形態にかかる半導体集積回路装置３００は、電源電圧ＶＤＤが可変であるターゲット回路２と、ターゲット回路２に電源電圧ＶＤＤを供給する電圧供給回路４と、電圧供給回路の出力電圧を制御する制御回路３と、ターゲット回路２に供給される電源電圧ＶＤＤの電圧値を予測する目標電圧予測回路１と、を備える。なお、目標電圧予測回路１以外の回路構成および動作は実施の形態１で説明した場合と同様であるので重複した説明は省略する。
【００６９】
図２４に、本実施の形態にかかる半導体集積回路装置が備える目標電圧予測回路１の構成例を示す。図２４に示す目標電圧予測回路１は、リングオシレータ１０、カウンタ１１、カウンタ値補正回路１２、レジスタ１３Ａ、１３Ｂ、１３Ｃ、カウンタ値比較回路１４Ａ、１４Ｂ、倍率演算回路１５、速度判定回路１７を有する。
【００７０】
リングオシレータ１０にはターゲット回路２と同じ電源電圧ＶＤＤが供給され、発振周期はターゲット回路２のクリティカルパス遅延に等しい。リングオシレータ１０はＥＮＡＢＬＥ＝１の期間Ｔだけ発振する。カウンタ１１はＥＮＡＢＬＥ＝１になる前に一度リセットされ、ＥＮＡＢＬＥ＝１の期間Ｔにおけるリングオシレータの出力パルス数Ｃ０を計測し、その値がカウンタ値補正回路１２によってＣＴＥＭＰ＝ｋＣ０に補正された後、レジスタ１３Ｂに格納される。ここで、ｋは０＜ｋ≦１である。また、ＣＴＥＭＰはターゲット回路２に供給されている電源電圧の動作周波数を反映した値である。
【００７１】
また、レジスタ１３Ａおよび１３Ｃにはそれぞれターゲット回路２への要求性能、すなわち要求動作周波数ｆ１およびｆ２に対応するカウンタ値Ｃ１＝Ｔ・ｆ１およびＣ２＝Ｔ・ｆ２が格納される。カウンタ値比較回路１４Ａおよび１４Ｂには、それぞれＣＴＥＭＰ−Ｃ１、Ｃ２−ＣＴＥＭＰが格納される。また、カウンタ値比較回路１４Ａは倍率演算回路１５にＣＴＥＭＰ−Ｃ１を出力し、カウンタ値比較回路１４Ｂは倍率演算回路１５にＣ２−ＣＴＥＭＰを出力する。倍率演算回路１５は、（Ｃ２−ＣＴＥＭＰ）／（ＣＴＥＭＰ−Ｃ１）を演算し出力する回路であり、ステップ幅予測回路として機能する。また、速度判定回路１７はＣ２−ＣＴＥＭＰが正ならＵＰ＝１、ＤＯＷＮ＝０を出力し、負ならＵＰ＝０、ＤＯＷＮ＝１を出力し、０に等しければＵＰ＝０、ＤＯＷＮ＝０を出力する。
【００７２】
次に、ターゲット回路２への要求動作周波数がｆ１からｆ２に変化した場合の半導体集積回路装置の動作について説明する。図２５は、本実施の形態にかかる半導体集積回路装置の動作を示すフローチャートである。本実施の形態にかかる半導体集積回路装置の動作では、実施の形態１の場合の動作（図８参照）と比べて、電圧補正工程（ステップＳ５'）が追加されている。
【００７３】
電圧供給回路４の出力電圧ＶＤＤが、要求動作周波数ｆ１を満たすのに必要最小限の電源電圧であるＶ１から制御回路３および目標電圧予測回路１にしたがってＶ２に制御されるまでの動作は、実施の形態１の場合と同様である（ステップＳ１〜Ｓ４）。本実施の形態にかかる半導体集積回路装置では、その後、目標電圧予測回路１が図７に示すタイミングチャートのｔ５からｔ８の期間の動作を繰り返し、ＵＰ／ＤＯＷＮ信号を制御回路３に送信する。そして、制御回路３は、ＵＰ／ＤＯＷＮ信号に基づいて、ＵＰ＝１であれば電源電圧ＶＤＤを上げ、ＤＯＷＮ＝１であれば電源電圧ＶＤＤを下げるように電圧供給回路４の出力を制御する。（ステップＳ５'）。
【００７４】
図２６は、本実施の形態にかかる半導体集積回路装置の電圧補正動作を示すフローチャートである。図２６に示すように、まず、ＣＴＥＭＰ＜Ｃ２の条件を満たすか否か判断される（ステップＳ３１）。ＣＴＥＭＰ＜Ｃ２の条件を満たす場合は、電源電圧ＶＤＤを下げるように制御回路３が電圧供給回路４の出力を制御する（ステップＳ３２）。一方、ＣＴＥＭＰ＜Ｃ２の条件を満たさない場合は、ＣＴＥＭＰ＞Ｃ２の条件を満たすか否か判断される（ステップＳ３３）。ＣＴＥＭＰ＞Ｃ２の条件を満たす場合は、電源電圧ＶＤＤを上げるように制御回路３が電圧供給回路４の出力を制御する（ステップＳ３４）。一方、ＣＴＥＭＰ＞Ｃ２の条件を満たさない場合は、電圧補正動作を終了する。
【００７５】
以上のように、本実施の形態にかかる半導体集積回路装置を用いることにより、電源電圧ＶＤＤをターゲット回路２が要求動作周波数ｆ２を満たすのに必要な最小限の電源電圧Ｖｍｉｎに収束させることが可能となる。これにより、ターゲット回路２の動作可能周波数が要求動作周波数に満たない状態になることを防ぐことができるとともに、必要以上の電源電圧をかけることによる消費電力の増加を防ぐことができる。また、遅延モニタ回路を必要としないため、回路面積を抑えることができる。
【００７６】
なお、本実施の形態にかかる半導体集積回路装置において、速度判定回路１７は、Ｃ２−ＣＴＥＭＰが正ならＵＰ＝１、ＤＯＷＮ＝０を出力し、負ならＵＰ＝０、ＤＯＷＮ＝１を出力し、０に等しければＵＰ＝０、ＤＯＷＮ＝０を出力しているが、｜Ｃ２−ＣＴＥＭＰ｜が一定値以下であればＵＰ＝０、ＤＯＷＮ＝０を出力するようにしてもよい。このような制御を行うことにより、電源電圧について必要以上の制御を抑制することができ、電力消費量を抑えるとともに電源電圧の安定性を向上させることができる。
【００７７】
実施の形態５
次に、本発明の実施の形態５について説明する。本発明の実施の形態５にかかる半導体集積回路装置の構成は、図１に示した実施の形態１にかかる半導体集積回路装置の構成要素のうち目標電圧予測回路１の構成が異なる。これ以外の構成は、図１に示した実施の形態１にかかる半導体集積回路装置の構成と同様であるので重複した説明は省略する。
【００７８】
図２７に、本実施の形態にかかる半導体集積回路装置が備える目標電圧予測回路１の構成例を示す。図２７に示す目標電圧予測回路１は、遅延時間計測回路１８、計測値補正回路１９、レジスタ１３Ａ、１３Ｂ、１３Ｃ、比較回路３０Ａ、３０Ｂ、倍率演算回路１５を有する。
【００７９】
図２８に遅延時間計測回路１８の構成例を示す。遅延時間計測回路１８は、直列接続されたＮ個の遅延素子８１＿１、８１＿２、・・・、８１＿Ｎの各接続ノードにフリップフロップ８２＿１、８２＿２、・・・、８２＿Ｎが接続された構成となっている。各遅延素子にはターゲット回路２と等しい電源電圧がかかっている。また、それぞれの遅延素子による遅延時間は等しく、ターゲット回路２のクリティカルパス遅延Ｄのα倍である。
【００８０】
各フリップフロップは周期Ｔ０のクロック信号ＣＬＫで同期して駆動され、あるクロックでフリップフロップ８３からパルス信号が出力され、次のクロックでフリップフロップ８２＿１、８２＿２、・・・、８２＿Ｎによってデータが取り込まれる。取り込まれたデータは到達位置判定回路８４に入力され、最終的にフリップフロップ８３から出力された信号が１クロック周期で到達したノードの数Ｋの値が到達位置判定回路８４から出力される。
【００８１】
次に、要求動作周波数がｆ１からｆ２に変化した場合の半導体集積回路装置の動作について、図２９に示すタイミングチャートを用いて説明する。
まず、初期状態として要求動作周波数ｆ１に対してのターゲット回路２の電源電圧、すなわち電圧供給回路４の出力ＶＤＤをＶ１とする（ｔ１）。ここで、電源電圧Ｖ１はターゲット回路２が要求動作周波数ｆ１で動作するために必要最小限の電源電圧である。この状態に対してｆ１がｆ２に変わったとき（ｔ２）、制御回路３はまず電圧供給回路４の出力電圧がＶ１＋ΔＶになるように制御する（ｔ３）。続いて、目標電圧予測回路１のレジスタ１３Ａおよび１３Ｃに、それぞれＫ１＝Ｔ０・ｆ１／αおよびＫ２＝Ｔ０・ｆ２／αの値が格納される（ｔ４）。ここで、Ｋ１、Ｋ２はそれぞれ要求動作周波数ｆ１、ｆ２を満たすために必要な既知の値である。さらに、遅延時間計測回路１８にクロックが２回入力されると（ｔ５）、計測値補正回路１９は遅延時間計測回路１８からの出力値Ｋ０に基づいてＫＴＥＭＰ＝ｍＫ０の値を生成し、レジスタ１３ＢにＫＴＥＭＰを格納する（ｔ６）。ここで、ｍは、０＜ｍ≦１である。
【００８２】
各レジスタ１３Ａ、１３Ｂ、１３Ｃに値が格納された後、比較回路３０Ａおよび３０Ｂには、それぞれＫＴＥＭＰ−Ｋ１、Ｋ２−ＫＴＥＭＰが格納される。そして、比較回路３０Ａは倍率演算回路１５にＫＴＥＭＰ−Ｋ１を出力し、比較回路３０Ｂは倍率演算回路１５にＫ２−ＫＴＥＭＰを出力する。倍率演算回路１５は、ＫＴＥＭＰ−Ｋ１、Ｋ２−ＫＴＥＭＰの値に基づき（Ｋ２−ＫＴＥＭＰ）／（ＫＴＥＭＰ−Ｋ１）の値を演算し、制御回路３にこの値を出力する。制御回路３は電圧供給回路４の出力電圧ＶＤＤをＶ２＝Ｖ１＋ΔＶ＋（Ｋ２−ＫＴＥＭＰ）／（ＫＴＥＭＰ−Ｋ１）×ΔＶになるように制御する（ｔ７）。
【００８３】
以上のように、本実施の形態にかかる半導体集積回路装置を用いることにより、ターゲット回路２の要求動作周波数が変化した場合、必要最小限の電源電圧に収束させるための電源電圧の制御回数を２回に抑えることができ、電源電圧の制御時間を短くすることができる。さらに、本実施の形態にかかる半導体集積回路装置ではカウント動作が不要になるため、カウンタの動作性能による時間的制約のない回路設計を行うことができる。また、ターゲット回路の動作周波数は要求性能に対して（１−ｍ）倍のマージンを持つため、温度変動などによりターゲット回路２の動作周波数が低下した場合でも常に要求動作周波数を満たしながら動作させることができる。
【００８４】
以上、本発明を上記実施形態に即して説明したが、上記実施形態の構成にのみ限定されるものではなく、本願特許請求の範囲の請求項の発明の範囲内で当業者であればなし得る各種変形、修正、組み合わせを含むことは勿論である。
【符号の説明】
【００８５】
１  目標電圧予測回路
２  ターゲット回路
３  制御回路
４  電圧供給回路
５  遅延モニタ回路
１０  リングオシレータ
１１  カウンタ
１２  カウンタ値補正回路
１３Ａ、１３Ｂ、１３Ｃ  レジスタ
１４Ａ、１４Ｂ  カウンタ値比較回路
１５  倍率演算回路
１６、１７  速度判定回路
１８  遅延時間計測回路
１９  計測値補正回路
２０、２４  ＮＯＲ論理
２１、２５、２６  遅延素子
２２、２７  バッファ
２３  減算回路
３０Ａ、３０Ｂ  比較回路
４１  リファレンス電圧生成回路
４２  オペアンプ
４３  ＮＭＯＳＦＥＴ
４４＿１、４４＿２、４４＿Ｎ  抵抗
４８  電流源
４９  抵抗
５１、５３  フリップフロップ  
５２  遅延素子
５５、５５Ａ、５５Ｂ  最上位ビット検出回路
５６、５６Ａ、５６Ｂ  シフトレジスタ
７１＿１、７１＿２、・・・、７１＿Ｎ  レジスタ
８１＿１、８１＿２、・・・、８１＿Ｎ  遅延素子
８２＿１、８２＿２、・・・、８２＿Ｎ  フリップフロップ
８３  フリップフロップ
８４  到達位置判定回路
【図１】
2011066791.tif 000007
【図２】
2011066791.tif 000008
【図３】
2011066791.tif 000009
【図４】
2011066791.tif 000010
【図５】
2011066791.tif 000011
【図６】
2011066791.tif 000012
【図７】
2011066791.tif 000013
【図８】
2011066791.tif 000014
【図９】
2011066791.tif 000015
【図１０】
2011066791.tif 000016
【図１１】
2011066791.tif 000017
【図１２】
2011066791.tif 000018
【図１３】
2011066791.tif 000019
【図１４】
2011066791.tif 000020
【図１５】
2011066791.tif 000021
【図１６】
2011066791.tif 000022
【図１７】
2011066791.tif 000023
【図１８】
2011066791.tif 000024
【図１９】
2011066791.tif 000025
【図２０】
2011066791.tif 000026
【図２１】
2011066791.tif 000027
【図２２】
2011066791.tif 000028
【図２３】
2011066791.tif 000029
【図２４】
2011066791.tif 000030
【図２５】
2011066791.tif 000031
【図２６】
2011066791.tif 000032
【図２７】
2011066791.tif 000033
【図２８】
2011066791.tif 000034
【図２９】
2011066791.tif 000035
【図３０】
2011066791.tif 000036
【図３１】
2011066791.tif 000037