(57)【要約】【課題】  電圧調整（例えば、集積回路のための電圧調整）を実施するのに利用することができるシステム及び方法を提供する。【解決手段】  動作電圧に基づいて変化する周波数を有するクロック信号を供給する周波数発生器（１８，５２，１０４，１１２，１５６）と、前記クロック信号の周波数に対する調整に基づいて前記動作電圧を調整するための制御信号を供給するコントローラ（１４，６２，１０２，１５２）とを備える。【選択図】        図１
2005073494.tif 000002
【特許請求の範囲】
【請求項１】
動作電圧に基づいて変化する周波数を有するクロック信号を供給する周波数発生器と、
前記クロック信号の周波数に対する調整に基づいて前記動作電圧を調整するための制御信号を供給するコントローラと、
を備えることを特徴とするシステム。
【請求項２】
前記コントローラは、第１及び第２の信号に関連する複数のサイクルを含むサイクル時間にわたり、前記第２の信号のサイクル数に対する前記第１の信号のサイクル数に基づいて前記制御信号を供給し、前記第２の信号は、実質的に固定された周波数を有することを特徴とする請求項１に記載のシステム。
【請求項３】
前記クロック信号は、可変クロック信号を規定し、前記第２の信号は、前記クロック信号の実質的に固定された最大周波数を有する信号を規定することを特徴とする請求項２に記載のシステム。
【請求項４】
前記周波数発生器に関連するスロットル事象の示度を確認するように動作して、前記クロック信号の周波数に対して変更を実施する比較器を更に備え、前記コントローラは、前記スロットル事象の示度に基づいて前記制御信号を供給することを特徴とする請求項１に記載のシステム。
【請求項５】
前記比較器は、少なくとも１つの閾値に対して前記スロットル事象の示度を比較し、前記基準電圧に対する調整を制御する比較器信号を供給するようにし、前記コントローラは、前記比較器信号に基づいて前記制御信号を供給することを特徴とする請求項４に記載のシステム。
【請求項６】
前記少なくとも１つの閾値は、少なくとも第１及び第２の動作カテゴリーを規定し、前記第１の動作カテゴリーは、前記動作電圧が低すぎる条件に対応し、前記第２の動作カテゴリーは、前記動作電圧が高すぎる条件に対応し、前記コントローラは、前記第１及び第２の動作カテゴリーの選択された１つに基づいて前記動作電圧を調整するための前記制御信号を供給することを特徴とする請求項５に記載のシステム。
【請求項７】
前記少なくとも１つの閾値は、前記動作電圧が十分に低く、前記クロック信号が予想される動作パラメータ内で動作している、前記第１の動作カテゴリーと前記第２の動作カテゴリーとの間の第３の動作カテゴリーを更に規定し、前記コントローラは、前記第３の動作カテゴリーで動作しているときに前記動作電圧を保持することを特徴とする請求項６に記載のシステム。
【請求項８】
第１及び第２のカウンタを更に備え、前記第１のカウンタは、前記クロック信号に関連するサイクル数をカウントするように動作し、前記第２のカウンタは、実質的に固定された周波数を有する第２の信号に関連するサイクル数をカウントするように動作し、前記コントローラは、前記第１及び第２のカウンタによってカウントされる相対的なサイクル数に基づいて前記制御信号を供給することを特徴とする請求項１に記載のシステム。
【請求項９】
前記クロック信号を遅延させるように調整され、前記動作電圧に応じた遅延信号を供給する少なくとも第１の経路遅延ネットワークであって、第１の経路遅延により関連の集積回路の臨界経路の動作特性をエミュレートするように構成された少なくとも第１の経路遅延ネットワークと、
前記第１の経路遅延ネットワークに関連する比較器であって、前記クロック信号と、前記第１の経路遅延ネットワークによって供給されるそれぞれの前記遅延信号との比較に基づいて前記クロック信号の周波数に対する所望の調整を示す第１の比較器信号を供給する比較器と、
を更に備え、
前記周波数発生器は、前記第１の比較器信号に基づいて、前記クロック信号の周波数を調整することを特徴とする請求項１に記載のシステム。
【請求項１０】
電圧を調整するためのシステムであって、
集積回路に対する電圧によって生じるスロットル事象の示度を供給するための手段と、
前記スロットル事象の示度に基づいて、前記集積回路の電源電圧を制御するための手段と、
を備えることを特徴とするシステム。
【請求項１１】
前記制御するための手段は、電力制御ループに関連するサイクル時間に対して前記電源電圧の制御を実施し、電力制御ループに関連する前記サイクル時間は、前記クロック信号に関連するサイクル時間よりも実質的に長いことを特徴とする請求項１０に記載のシステム。
【請求項１２】
前記電圧によって生じるスロットル事象は、前記集積回路の動作周波数の調整及び前記集積回路に対するストール事象の実施の少なくとも１つを含むことを特徴とする請求項１０に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電圧を調整するためのシステム及び方法に関する。
【背景技術】
【０００２】
電力消費及び動作周波数は、超大規模集積回路（ＶＬＳＩ）デバイスの設計及び動作における２つの重要な考慮事項である。電力消費が電源電圧及び動作周波数の両方によって決まることは知られている。電力消費と集積回路（ＩＣ）チップとの基本的な関係は、以下のように表すことができる。
Ｐ＝Ｃ×Ｖ2×Ｆ    ………  （式１）
ここで、Ｐは電力、Ｃはスイッチング静電容量、Ｖは電源電圧、Ｆは動作周波数である。
上記の式１より、電力消費は、電源電圧に応じて、少なくとも二乗で変わることが分かる。例えば、電源電圧が約１０％増加すると、電力は約２１％増加することになる。しかし、電圧制御発振器のように、周波数が電源電圧によって更に決まる場合には、電力消費と電圧との関係は、ほぼ三乗の関係である。
【０００３】
ＩＣチップの製造に関連するプロセス変動によって、１つ又は複数の電力に関係するパラメータに関連した著しい性能低下が引き起こされる場合がある。一般に、プロセス変動は、ロット毎のばらつき，ウェーハ毎のばらつき，ダイ毎のばらつき，及びダイ内のばらつきを含む場合がある。重要なことに、ＣＭＯＳ及びバイポーラＣＭＯＳ技術を用いるものを含む、ＶＬＳＩチップの絶え間ないスケーリングにともなって、プロセス変動は、チップの電源電圧、並びに、動作周波数に大きな影響を与える可能性がある。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明の目的は、電圧調整（例えば、集積回路のための電圧調整）を実施するのに利用することができるシステム及び方法を提供することにある。
【課題を解決するための手段】
【０００５】
本発明の１つの実施形態は、基準電圧に基づいて変化する周波数を有するクロック信号を供給する周波数発生器を有するシステムを含むことができる。コントローラは、制御信号を供給し、クロック信号の周波数に対する調整に基づいて、基準電圧を適応的に調整する。
【０００６】
本発明の他の実施形態は、集積回路の動作周波数に対する調整が、複数のクロックサイクルにわたって、予想される動作パラメータ内にあるのかどうかを判断（判定）することを含む方法を含むことができる。電圧は、この判断に基づいて調整される。
【発明を実施するための最良の形態】
【０００７】
本開示は、概して、適応的な電圧制御（例えば、ＩＣチップ用）を提供するために利用することが可能な手法に関する。電圧は、例えば、「スロットル事象（throttle event）」と呼ぶことができるような電力の無駄を示す１つ又は複数の兆候の検出に基づくようになっていてもよい。例えば、スロットル事象は、ＩＣ部品を、電圧の対応する変化に応答させるように実施されるような、動作周波数の変化（例えば、減少又は増加）に対応する。本明細書に記載される手法によって、設計者及びユーザは、スロットル事象の数を動作周波数と動作電圧の間に所望のバランスを提供するレベルに制御することができ、それによって電力の無駄が緩和される。
【０００８】
図１は、電源電圧を調整するシステム１０を示す。このシステム１０は、ＶＬＳＩチップ（例えば、マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）等）のようなＩＣ１２で実施されることができる。１つの実施形態におけるシステム１０によって、ＩＣ１２は、起こる可能性のある考えられるプロセス変動に関係なく、ＩＣチップの全体的な電力効率を向上させるために用いられ得る動作電圧と動作周波数との間の所望の関係を達成することができる。プロセス変動は、ロット毎のばらつき，ウェーハ毎のばらつき，ダイ毎のばらつき，及びダイ内のばらつきを含む場合がある。
【０００９】
コントローラ（例えば、マイクロコントローラ）１４は、関連の電源１６を制御するためのＣＯＮＴＲＯＬ信号（制御信号）を供給する。電源１６は、ＣＯＮＴＲＯＬ信号に基づいて、ＩＣチップ１２に電源（又は他の動作）電圧ＶSUPPLYを供給する。ＣＯＮＴＲＯＬ信号によって、コントローラ１４が集積回路１２における無駄な電力の１つ又は複数の兆候（すなわち、スロットル事象）を検出するのに応答して、電源１６がＶSUPPLYを調整するようにする。例えば、コントローラ１４は、電圧依存周波数発生器１８によって供給される周波数ＦVARを有する電圧依存信号への変更すなわち調整に基づいて、電力の無駄の示度（indication）（例えば、スロットル事象が発生していること、或いは、発生していないこと）を決定することができる。例えば、周波数ＦVARを有する信号に対する調整の示度は、そのような信号と、実質的に固定された所定の周波数ＦFIXEDを有する信号との比較に基づいて決定することができる。このように、コントローラ１４は、電力制御ループを提供し、ＩＣチップ１２のＶSUPPLYと動作周波数ＦVARとの所望の関係を維持するのに役立つことができる。電源１６は、ＩＣチップ１２の外部に示されているが、電源は、チップ１２と一体化することができることを理解しかつ認識されたい。
【００１０】
図１の例では、システム１０は、可変周波数信号ＦVARをコントローラ１４に供給する１つ又は複数の電圧依存周波数発生器１８を含んでいる。特に、電圧依存周波数発生器１８は、電源電圧ＶSUPPLYに応じて、動作周波数ＦVARで発振出力信号を供給する。周波数発生器２０は、ＩＣチップ１２に対して所望の最大周波数ＦFIXEDを有する出力信号を供給するようにプログラム及び／又は構成され得る。このように、ＦVARとＦFIXEDとを比較することによって、コントローラ１４は、電力の無駄の兆候、或いは、ＶSUPPLYとＶVARとの間の不適切なバランスが存在するかどうかを確かめることができる。コントローラ１４は、例えば、周波数発生器１８及び２０によって供給される信号の相対的なタイミング特性（例えば、予め設定された期間におけるサイクルの数）を比較することによって、電力の無駄の兆候を判断することができる。電力の無駄は、ＦFIXEDによって規定される所望の最大周波数（又はその付近の周波数）における効率的な動作に対して電源電圧が高すぎるか又は低すぎるかに基づいて判断され得る。
【００１１】
例えば、電圧依存周波数発生器１８は、電源電圧ＶSUPPLYに従って、その出力信号の周波数ＦVARを適応させる高帯域幅ループ（例えば、クロック信号制御ループの一部）を実施するようにプログラム及び／又は構成される。周波数ＦVARの適応は、信号のサイクル時間を調整して、ＩＣチップ１２の部品及びデバイスが電源電圧ＶSUPPLYの変動に応答して動作できる点で、実質的に瞬間的であると考えることができる。電源電圧ＶSUPPLYは、通常、周波数発生器１８によって供給される信号に関連する短いサイクル時間で考慮されるときの変動又は高い周波数成分（例えば、電圧オーバーシュート又は電圧低下）を含むことを理解されたい。電源電圧ＶSUPPLYの変動は、上記の式１に従って、チップの全体的な電力消費に影響を与える場合がある。従って、周波数発生器１８は、瞬間的な周波数ＦVARを（上又は下に）それ相応に調整することによってこのような電圧の変動の影響を緩和するように動作する。
【００１２】
例えば、電源電圧ＶSUPPLYが低下している間、周波数発生器１８は、出力信号のサイクル時間を延ばす（又はＦVARを減少させる）ことができる。或いは、スイッチング活動を低減させるためにＩＣ（例えば、プロセッサ）にストール（stall）を注入し、それによって、電圧低下を低減させることができる。サイクル時間の延長及び／又はストーリング（stalling）の使用は、電圧適応のためのインジケータとして見なされて採用され得る。通常の動作を可能にするためにＶSUPPLYにおける低下が補正された後において、周波数発生器１８は、周波数ＦVARをＶSUPPLYに従って適切なレベルまで戻して増加させることができる。本明細書に記載されるように、出力信号の周波数ＦVARへの電圧により生ずる調整は、スロットル事象に対応する。これに代えて或いはこれに加えて、ＩＣ動作の電圧により生ずるストーリングは、また、スロットル事象に対応する場合がある。当業者であれば、コントローラ１４による電圧適応が所望されているインジケータとして用いることが可能な他のタイプのスロットル事象を認識するであろう。各スロットル事象は、通常、クロック信号制御ループの１又は数サイクル時間にわたって発生し、動作周波数ＦVARに実質的に瞬間的な調整を実施する。
【００１３】
コントローラ１４は、クロック信号制御ループに対して複数のサイクル数にわたって発生する可能性のあるスロットル事象に基づいて、電源１６に制御信号を供給する。このように、コントローラ１４は、周波数発生器１８によって実施される調整よりも遥かに短い帯域幅で、電力制御又は調整を（電力制御ループの一部として）を実施する。例えば、周波数発生器１８は、ナノ秒範囲のサイクル時間で、周波数調整を（例えば、クロック信号制御ループの一部として）実施することができるのに対して、コントローラ１４は、マイクロ秒範囲のサイクル時間で、電源電圧を（例えば、電力制御ループの一部として）変化させることができる。周波数発生器１８及び２０に関連するタイミング信号よりも遥かに遅いサイクル時間で電力制御ループを動作させることによって、コントローラ１４は、ＦVAR信号に対して時間平均化を実施し、スロットル事象の時間平均化された示度を確認することができる。コントローラ１４が電源電圧ＶSUPPLYを動的に調整するサイクル時間は、クロック信号制御ループに対して所定数のサイクル、又は他のタイミング回路（図示せず）によって特定される期間であってもよい。更に、ＶSUPPLY信号の調整は、電力制御サイクル毎に起こるスロットル事象の数，タイプ，及び／又は期間に応じて各電力制御サイクルに対して増加的であってよい。このように、ＦVARに対する電源電圧ＶSUPPLYの変化の影響は、ＩＣ１２の回路についての所望の挙動を容易にする。
【００１４】
コントローラ１４は、更に、図１において２２で示される、１つ又は複数の他の入力を受けることができ、それに基づいて、制御信号は、電源１６によって供給される電源電圧ＶSUPPLYを動的に調整するように供給され得る。例えば、他の入力２２は、ＩＣ１２の熱特性（例えば、温度）、及び他の電力に関連する特性の示度を含んでもよい。従って、コントローラ１４は、相対的な周波数ＦVAR及びＦFIXED、並びに他の入力２２を含む、要素の組み合わせに基づいて、電源電圧ＶSUPPLYを調整することが可能である。これにより、所望の最大周波数又はその付近の周波数において、ＩＣチップ１２を動作させるために電力消費がより効率的になる。
【００１５】
図２は、適応的な電圧制御を実施するために用いることができるシステム５０を示している。このシステム５０は、基準電圧ＶREFに応じて変動する周波数ＦVARの信号、及び、Ｆ1によって示される実質的に固定された周波数の入力信号を供給するように動作する電圧依存周波数発生器５２を有する。例えば、基準電圧ＶREFは、システム５０を実施する集積回路チップの動作電圧に対応することができる。
【００１６】
固定周波数発生器５４は、所望の周波数Ｆ1において通常高いレベルと通常低いレベルとの間で交番する周波数Ｆ1の信号を供給するように動作することができる。固定周波数発生器５４は、例えば、所望の最大チップクロックと実質的に同じ速度で動作するように構成されたリング発振構造として実施され得る。或いは、固定周波数発生器５４は、このような信号に周波数制御を行う前に、システムクロックから直接得ることができる。
【００１７】
図２の例の目的では、可変周波数信号ＦVARは、基準電圧ＶREFの所望の通常値に対して、固定周波数Ｆ1と一致するように調整されると想定される。ＶREFが増減するに連れて、ＦVARもそれに応じて増減する。このように、周波数ＦVARは、基準電圧ＶREFに従う。
【００１８】
システム５０は、また、周波数ＦVAR及びＦ1をそれぞれ有する信号を受けるカウンタ５６及び５８を有する。カウンタ５６及び５８は、それらの周波数ＦVAR及びＦ1に従って、それぞれの信号に対するサイクルカウントを維持する。カウンタ５６及び５８は、それぞれのカウント値を関連の比較器６０に供給する。比較器６０は、カウンタ５６及び５８によって供給されるカウント値の間の差を計算し、その差をＴＨＲＥＳＨで示される１つ又は複数の閾値と比較するように動作する。比較器６０は、周波数Ｆ1及びＦVARに関連する複数のサイクル（例えば、数千であり得る）を含む期間（又はサイクル）にわたってこの比較を行うことができる。すなわち、比較器６０は、周波数発生器５２及び５４によって供給される信号に関連するサイクル時間よりも実質的に長い電力制御サイクル時間において所定の調整を行う。例えば、各電力制御サイクル時間に対して、カウンタ５６，５８のそれぞれは、複数回増加し、カウンタ値の間の差は、周波数ＦVAR（例えば、スロットル事象）に対する電圧に基づいた調整の示度を供給する。
【００１９】
例えば、カウンタ５６がカウンタ５８よりも小さいカウント値を供給する場合には、これは、基準電圧ＶREFが、関連のサイクル時間を延ばすなど、周波数発生器にＦVARを減少させたことを示している。差が、スロットル事象の発生を示すが、対応する閾値ＴＨＲＥＳＨを超えるレベルにない場合には、比較器６０は、電圧ＶREFを変更する必要がないことを示す制御信号を供給することができる。これは、所望の動作周波数を維持するために十分な数のスロットル事象があるが、電力を使い過ぎない所望の動作条件に対応する。
【００２０】
カウンタ値の差が対応する閾値ＴＨＲＥＳＨを越える場合には、比較器６０は、電圧ＶREFをますます増加させることが所望されることを示す制御信号を電圧制御ブロック６２に供給する。電圧制御ブロック６２は、電源６４への電圧を特定する制御信号を供給し、それに従って、電圧ＶREFが供給される。対照的に、カウンタ５６によって供給されるカウント値が、カウンタ５８によって供給されるカウント値よりも大きいか又は等しい場合には、これは、基準電圧ＶREFが高すぎる条件を示す。この場合、比較器６０は、制御信号を電圧制御ブロック６２に供給し、電圧ＶREFをそれに対応して減少させることができる。電圧制御ブロック６２自体は、ますます低下する電圧を特定する信号を電源６４に供給し、これに対応して、電圧ＶREFは減少する。或いは又は更に、システム５０は、ストール事象を用いて、スイッチング活動を低減させ、電圧低下を低減することができる。
【００２１】
このように、比較器６０及び電圧制御ブロック６２は、電力制御ループの一部として協働し、ＦVARがＦ1よりも僅かに小さくなるレベルに電圧ＶREFを維持する。これにより、システム５０及びこのようなシステムを実施する集積回路において、電力がより効率的に使用される（例えば、実質的に最適な電力消費となる）。閾値ＴＨＲＥＳＨは、ＦVARを所望の最大周波数Ｆ1の所望のパーセント（例えば、約９７％以上）内に維持するように設定されることができる。例えば、閾値は、動作周波数ＦVAR（例えば、０．９９*Ｆ1≦ＦVAR≦Ｆ1）に対して２つ又はそれ以上の動作カテゴリーを規定することができる。
【００２２】
図３は、電源コントローラ１０２を実施する電圧制御システム１００の例を示している。このシステム１００は、電源１０６によって供給される電源（又は動作）電圧ＶSUPPLYに基づいて変動する周波数を有するＣＬＯＣＫ信号（クロック信号）を供給するクロック発生器１０４を有する。電源コントローラ１０２は、電源１０６を制御するように接続される。電源コントローラ１０２は、制御信号を電源１０６に供給し、電源電圧SUPPLYを動的に調整（例えば、ＶSUPPLYを増減）して電源電圧ＶSUPPLYとＣＬＯＣＫ信号の周波数との所望のバランスを達成することができる。コントローラ１０２は、ＣＬＯＣＫ信号に実施される周波数変化（例えば、スロットル事象）によって示すことができるような、電力の無駄を示す１つ又は複数の兆候の検出に基づいてこのバランスを実施することができる。
【００２３】
電源コントローラ１０２は、ＣＬＯＣＫ周波数に対する多くの調整が、通常、電源電圧の調整を判断する度に発生するように、ＣＬＯＣＫ信号に関連するサイクル時間よりも長いサイクル時間にわたって電源電圧ＶSUPPLYを適応させるように動作する。換言すると、電源コントローラ１０２は、ＣＬＯＣＫ信号に対する調整に関連する時間平均されたスロットル事象の示度に基づいて、電源電圧ＶSUPPLYを動的に調整することができる。
【００２４】
言うまでもなく、電源コントローラ１０２は、現存するクロック発生器１０４及び関連の回路を利用して所望の適応的な電圧制御を実施することができる。当業者であれば、電源コントローラに関連して用いられ得る、ＶＬＳＩチップ（例えば、マイクロプロセッサ、ＡＳＩＣ）において実施されるような、クロック発生器の様々なタイプ及び構成を理解するであろう。
【００２５】
クロック発生器１０４は、システム１００のチップから生成されることができるような、システムクロック（ＳＹＳＣＬＫ）信号を受信する周波数合成経路１０８を有する。周波数合成経路１０８は、ＳＹＳＣＬＫ信号（システムクロック信号）を処理し、システム１００を含むＩＣチップに対してＣＬＯＣＫ信号（例えば、チップクロック信号）を生成する。クロック発生器１０４は、また、どの適応的な電圧制御が実施されるかに基づいて、１つ又は複数の信号１０９を電源コントローラ１０２に供給する。
【００２６】
図３の例では、周波数合成経路１０８は、ＳＹＳＣＬＫ信号を受信し、ＳＹＳＣＬＫ信号をシステム１００に対して所望の最大周波数まで倍増させる位相同期ループ回路（ＰＬＬ）１１０を有する。ＰＬＬ１１０は、ＣＬＯＣＫ信号を生成する周波数合成器（例えば、ディジタル周波数分割器）１１２に最大周波数信号を供給する。周波数合成器１１２は、ＣＬＯＣＫ信号のサイクル時間を、周波数コントローラ１１４によって供給される制御信号に基づいて、上又は下に調整するように動作する。
【００２７】
クロック発生器１０４は、また、周波数合成器１１２からＣＬＯＣＫ信号を受信する１つ又は複数の臨界経路（クリティカル・パス）遅延ネットワーク１１６，１１８を含んでいる。経路遅延ネットワーク１１６及び１１８は、また、関連の電源１０６から電源電圧ＶSUPPLYを受取る。経路遅延ネットワーク１１６及び１１８は、ＣＬＯＣＫ信号のそれぞれの遅延バージョンを関連の位相比較器１２０及び１２２に供給する。経路遅延ネットワーク１１６及び１１８のそれぞれは、関連のシステム１００において実施されるＩＣの関連の臨界経路の動作特性（例えば、サイクル時間）をエミュレートするように構成又は調整され得る。
【００２８】
例えば、各臨界経路遅延ネットワーク１１６，１１８は、所定の名目上の電源電圧においてＣＬＯＣＫ信号に同期した（又は一致した）信号を供給すると共に、それによって表される臨界経路と一致する電源電圧ＶSUPPLYに応じて遅延量を変化させるように調整される。或いは、臨界経路遅延ネットワーク１１６，１１８は、名目上の電源電圧におけるクロックサイクルの一部と一致し、それに応じて電源電圧に応じて遅延を変化させるように調整され得る。更に、臨界経路遅延ネットワーク１１６は、電源電圧ＶSUPPLYの変化に対して他の臨界経路遅延ネットワーク１１８とは異なった応答をするように構成されることができる。このような２つの臨界経路遅延ネットワーク及び関連の回路は、図３に示されるが、１つ又は複数の任意の数のこのようなネットワークがシステム１００にわたって存在してもよいことを理解されたい。更に、このような遅延ネットワークを、システム１００を実施するＩＣチップにわたって分布させることによって、ダイ内のプロセス変動は緩和されることができる。
【００２９】
位相比較器１２０は、臨界経路遅延ネットワーク１１６からの遅延クロック信号を、周波数合成器１１２からのＣＬＯＣＫ信号と比較する。位相比較器１２０は、それぞれの出力信号をＯＲゲート１２４及び１２６に供給する。他の位相比較器１２２は、臨界経路遅延ネットワーク１１８からの遅延クロック信号を、周波数合成器１１２からのＣＬＯＣＫ信号と比較する。位相比較器１２０は、それぞれの出力信号をＯＲゲート１２４及び１２６に供給する。このように、位相比較器１２０及び１２２は、ＣＬＯＣＫ信号の周波数に対する調整が所望されるかどうかを判断する瞬間的な電源電圧の示度を供給する。例えば、ＯＲゲート１２４の１つは、ＣＬＯＣＫ信号と、臨界経路遅延ネットワーク１１６及び１１８からの遅延ＣＬＯＣＫ信号の１つ又は両方との位相の進みを示す出力信号を受ける。他方のＯＲゲート１２６は、ＣＬＯＣＫ信号と、臨界経路遅延ネットワーク１１６及び１１８からの遅延ＣＬＯＣＫ信号の１つ又は両方との間の位相遅延を示す信号を受ける。
【００３０】
このように、ＯＲゲート１２４は、ＣＬＯＣＫ信号の周波数を下げ（例えば、サイクル時間を増やし）、検出された位相の進みを補償するべきかどうかを示す出力信号をバッファ１２８に供給する。同様に、ＯＲゲート１２６は、ＣＬＯＣＫ信号の周波数を上げ（例えば、サイクル時間を減らし）、検出された位相遅延を低減させるべきかどうかを示すために出力信号を他のバッファ１３０に供給する。それぞれのバッファ１２８及び１３０は、対応するＵＰ及びＤＮ信号を周波数コントローラ１１４に供給し、ＣＬＯＣＫ信号に対する実質的に瞬間的な調整を実施する。上記のように、周波数コントローラ１１４自体は、ＣＬＯＣＫサイクルを適宜調整する（例えば、サイクルを延ばすか又は短くする）ための制御信号を周波数合成器１１２に供給する。
【００３１】
周波数コントローラ１１４が、周波数合成器１１２に、ＣＬＯＣＫ信号を変化させる度に、この変化はスロットル事象に対応する。電源コントローラ１０２は、電圧が低すぎるときに、ＣＬＯＣＫ信号のサイクル時間を減少させるために用いられるように、周波数の短い減少に対応するスロットル事象に応答して、適応的な電圧制御を実施することができる。周波数合成器１１２は、ＩＣの臨界経路に関連する電圧依存遅延に対するＣＬＯＣＫ信号間のサイクル時間に基づいて、必要に応じて、ＣＬＯＣＫサイクル時間を増減させるために、スロットル事象を動的に実施する。例えば、ＣＬＯＣＫ信号のサイクル時間を延ばすことによって、臨界経路は、対応する低減された電圧において動作することができる。周波数合成器１１２によって実施される（ＵＰ信号によって示される）周波数の減少に応答してサイクル時間が長くなるにつれて、電圧低下は、より簡単に解決される。他方、ＣＬＯＣＫ信号が、所望の最小サイクル時間（又は最大周波数）よりも速く臨界経路遅延を巡回する場合には、周波数コントローラへのＤＮ信号によって示されるように、サイクル時間を減少（又は周波数を増加）させることが所望され得る。但し、通常は、最大周波数を超えない。
【００３２】
上記のように、電源コントローラ１０２は、信号１０９によって示されるような、スロットル事象に応じてＶSUPPLYを動的に適応させるための制御信号を電源１０６に供給する。電源コントローラ１０２は、ＴＨＲＥＳＨで示される１つ又は複数の閾値に対するスロットル事象の示度の比較に基づいて、電圧制御信号を供給する。１つ又は複数の閾値ＴＨＲＥＳＨは、特定の応用及び／又は顧客の受容性基準に応じてプログラムされることができる。例えば、閾値は、所定の電力制御サイクルに関連する時間において達成することができるパーセント値（例えば、パーセント数スロットル事象又は最大周波数のパーセント）に設定され得る。本明細書に記載されるように、電源制御サイクルは、通常、クロック発生器１０４によって供給されるＣＬＯＣＫ信号に関連するクロックサイクルよりも遥かに持続時間が長い。
【００３３】
更なる例では、電源コントローラ１０２は、（例えば、点線１３２で示されるように）緩衝されたＵＰ信号及び／又はＤＮ信号に応じて周波数コントローラ１１４から直接にスロットル事象の示度を受けることができる。例えば、周波数コントローラ１１４又は電源コントローラ１１２は、各電力制御サイクルにわたって、ＵＰ信号及びＤＮ信号を比較することによって、スロットル事象特性（例えば、事象の数，タイプ，及び持続時間）を判断することができる。ＣＬＯＣＫ信号のサイクル数と、電力制御サイクル中の最大の所望のクロック信号との比較により、スロットル事象の数の示度が供給され得る。周波数コントローラ１１４によって示されるように、ＣＬＯＣＫ信号に関連するサイクル時間は増減する可能性があるため、ＣＬＯＣＫサイクルの数は、スロットル事象の時間平均された示度を供給する。このように、システム１００は、電源コントローラ１０２を用いて、適応的な電源電圧を実施して、ＣＬＯＣＫ信号の動作周波数と、電源電圧ＶSUPPLYとの所望のバランスを達成する。これにより、システム１００及びシステムを実施するＩＣの電力効率が向上する。
【００３４】
図４は、集積回路チップに対して適応的な電圧制御を実施できるシステム１５０の他の例を示している。このシステム１５０は、電源によって供給される電源電圧ＶSUPPLYに対して適応的な電圧制御を実施するための制御信号を関連の電源１５４に供給するコントローラ１５２を有する。コントローラ１５２は、入力クロック信号ＣＬＫIN及び出力クロックＣＬＫOUT（例えば、チップクロック信号）に基づいて制御信号を供給する。
【００３５】
例えば、周波数合成器１５６は、所望の最大周波数（ＦMAX）を有する入力クロック信号ＣＬＫIN及びＵＰ／ＤＮ制御信号に基づいてＣＬＫOUT信号（出力クロック信号）を供給する。最大周波数ＦMAXは、システム１５０及びシステムを実施する関連のＩＣに対する応用要件に従った固定周波数である。ＣＬＫIN信号は、例えば、顧客の仕様に従ったシステムクロック信号に基づいて（例えば、位相同期ループによって）供給される。或いは、ＣＬＫIN信号は、ＦMAXに調整されたリング発振器によって供給されることができる。周波数合成器１５６は、周波数制御回路（図示せず）によって供給されるように、ＵＰ／ＤＮ制御信号に基づいて、ＣＬＫIN信号の調整を実施する。すなわち、周波数合成器１５６はこのように、ＵＰ／ＤＮ制御信号に基づいて増加するように調整され得る可変周波数を有するＣＬＫOUT信号を供給する。
【００３６】
カウンタ（ＣＮＴ１）１５８は、また、ＣＬＫIN信号を受信し、この信号に関連するサイクル数をカウントする。同様に、別のカウンタ（ＣＮＴ２）１６０は、周波数合成器１５６からＣＬＫOUT信号を受信し、ＣＬＫOUT信号に関連したサイクル数をカウントする。カウンタ１５６及び１５８は、例えば、コントローラ１５２によって、電源制御サイクル毎にリセットされることができる。理想的な状況下では、ＣＬＫOUT信号の周波数は、ＣＬＫIN信号の最大周波数ＦMAXと等しい。しかし、実際には、ＣＬＫOUT信号は、通常、動作中変化し、例えば、電源電圧における高周波数変動に従って周波数を調整する。図４の例では、ＣＬＫOUT信号の周波数は、ＵＰ／ＤＮ信号に基づいて変化し、ＣＬＫOUT信号のサイクル時間に対応して増減させる。例えば、ＵＰ信号は、サイクル時間の増加（周波数の減少）を参照し、ＤＮ信号は、サイクル時間の減少（又は周波数の増加）となり得る。ＣＬＫOUT信号の周波数の変化は、スロットル事象を規定する。
【００３７】
スロットル事象は、例えば、ＵＰ／ＤＮ制御信号に基づいて、ＣＬＫOUT信号に関連するサイクル時間の増加（又は周波数の減少）に対応することができる。例えば、電源電圧ＶSUPPLYが低すぎるときには、短い周波数の低下が起こり、ＩＣ内の関連の回路の適切な動作を可能にするためには、サイクル時間の増加が必要になる。周波数の減少に応答して（又は関連のＩＣにおけるストール事象を実施することによって）サイクル時間は延びるため、電圧低下は、通常、１又は数クロックサイクルにおいて、より効率的に解決されることができる。動作中（例えば、所定の電力制御サイクル中）にスロットル事象が存在しない場合には、電圧が高すぎて、電力が無駄になると判断される。従って、各電力制御サイクルに関連するスロットル事象を低いパーセント（例えば、０．１％〜０．２％）にすることが所望される。これにより、最適な電圧を検出する能力と、低減された周波数の性能効果とが平衡化される。電力制御サイクルは、通常、ＣＬＫOUT信号又はＣＬＫIN信号に関連する概ね数千以上のサイクルに広がる。更に、周波数合成器１５６によって実施されるＣＨＰ＿ＣＬＫ信号における調整は、所定のクロックサイクルの一部に対応するため、カウンタ１６０及び１６２の値の間の単一なカウントの差は、通常、複数（例えば、数百又は数千）のスロットル事象に対応する。
【００３８】
コントローラ１５２は、検出されたスロットル事象の数に基づいて電源電圧ＶSUPPLYを動的に調整するようにプログラム及び／又は構成される。コントローラ１５２は、カウンタ１５８及び１６０によって供給されるカウント値の間の差を計算するように動作する加算ブロック１６２を有する。この差は、比較器１６４に供給される。比較器１６４は、１６６で示される、１つ又は複数の閾値に対するカウント値の差を比較する。１つ又は複数の閾値１６６は、プログラム信号ＰＲＯＧに基づいて（例えば、ユーザによって又は設計時間に）プログラムされることができる。閾値は、顧客受容性及び／又はシステム１５０が実施されている応用に基づいて設定され得る。従って、ＰＲＯＧ信号は、コントローラ１５２が電源電圧ＶSUPPLYを動的に（上又は下に）調整する状況を制御する１つ又は複数の閾値（例えば、スロットル事象の数）を規定する。
【００３９】
図４の例では、１つ又は複数の閾値１６６は、所望の調整が、電源電圧になされる範囲を確立する所定のカウント差値（正又は負であり得る）を表す場合がある。所定数の１つ又は複数の閾値が存在する場合がある。或いは、１つ又は複数の閾値１６６は、カウント差に応じて変化し、カウント差値に従って電源電圧ＶSUPPLYに対する所望量の調整を実施する、実質的に連続したセットのデータ（例えば、関数特性又は曲線、ルックアップテーブル等）として保存することができる。比較器１６４は、例えば、比較器信号を供給し、電力制御サイクル時間に応じて対応する適応的な電圧制御を実施する。電力制御サイクル時間は、ＣＬＫOUT信号及びＣＬＫIN信号に関連するサイクル時間よりも実質的に長い（例えば、約１００倍より長い）。更なる例として、ＣＬＫOUT信号は、約２．５ギガヘルツの周波数（例えば、約４００ピコ秒のサイクル時間）で動作するように設計され、コントローラ１５２は、約４マイクロ秒毎のサイクル時間で電源電圧を調整する。
【００４０】
比較器１６４は、１つ又は複数の閾値１６６に対するカウント差値を示す比較器出力信号を電力アロケータ１６８に供給する。電力アロケータ１６８は、対応する制御信号を電源１５４に供給する。電力アロケータ１６８は、電源１５４に関連する対応する電圧範囲内の、電源によって供給される所望の電圧の示度を供給する。電力アロケータ１６８は、例えば、Ｎビット制御ワードを供給し、ここで、Ｎは、１以上の整数であり、電源電圧ＶSUPPLYに対する電圧分解能を規定する。例として、電源電圧ＶSUPPLYは、０．８Ｖと１．２Ｖとの間で変化し、電力アロケータ１６８によって供給されるＮビット制御ワードは、この範囲で１２．５ｍＶずつ増加するように変化し、それによって、約３２個の異なる可能な電圧レベルが供給される。当業者は、所望の電圧分解能は、電力アロケータ１６８によって実施されることができることを理解しかつ認識するであろう。
【００４１】
上記の構造及び機能的な特徴を考慮すると、実施され得る特定の方法は、図５及び図６を参照することによってより良好に認識されるであろう。説明を簡単にするため、図５及び図６の方法は、連続して実施されるものとして示され記載されているが、他の実施形態では、例示されるアクションは、他のアクションと異なる順序で、及び／又は同時に起こる場合があることを理解し認識されたい。更に、方法を実施するために例示される全ての特徴が必要なわけではない。以下の方法は、１つ又は複数の集積回路などのハードウェア、ソフトウェア、又はその任意の組み合わせにおいて実施される場合があることを更に理解されたい。
【００４２】
図５は、電圧を動的に調整するための方法の例を示すフローチャートである。この方法は、電力制御ループの一部などの、ＩＣチップにおいて実施される場合がある。この方法は、タイマーが初期化されるステップ２００において開始する。タイマーは、例えば、通常いくつかのクロックサイクルを含む電圧調整方法に関連する持続時間（例えば、サイクル時間）を提供する。例えば、電力制御サイクル時間は、方法を実施する関連のＩＣにおける論理及びデータ経路によって用いられるチップクロックサイクル時間よりも長い概ね数千回以上であってよい。
【００４３】
タイマーが初期化された後に、スロットル事象がステップ２１０において検出される。本明細書に記載されるように、スロットル事象は、チップクロック周波数における増加する実質的に瞬間的な調整に対応することができる。このような増加調整は、電圧依存周波数発生システム（例えば、電圧制御発振器）によって実施されるような、１つ又は複数のクロックサイクル中の電源の対応する増減に応答して発生せしめることができる。スロットル事象は、チップクロック周波数における低減を示す場合がある。チップクロック周波数における低減は、回路の適切な動作を低減された電源電圧において行わせるなど、関連の回路に「キャッチ・アップ（catch up）」させようとしてサイクル時間を延ばすために実施される場合がある。或いは、ストールはＩＣ（例えば、プロセッサ）に注入され、スイッチング活動を低減させ、それによって電圧低下は低減される。これにより、電圧低下に関連する動作問題の解決が容易になる。電圧低下問題それ自体が解決した後に、周波数は、再度増加する場合がある。
【００４４】
ステップ２２０においては、タイマーが最大持続時間ＴMAXに到達したかどうか判定される。ＴMAXは、電力制御ループのサイクル時間に対応するなど、スロットル事象が検出される所望のサイクル時間に対応するように選択されることができる。タイマーが時間切れになっていない場合には、本方法は、ステップ２１０に戻り、クロック信号に関連するスロットル事象を検出するように続行する。タイマーがＴMAX（ＹＥＳ）に到達すると、本方法はステップ２３０に進む。
【００４５】
ステップ２３０においては、検出されたスロットル事象が予想動作パラメータ内にあるかどうかが判定される。予想動作パラメータは、例えば、期間ＴMAXに関連した期間（例えば、電力制御サイクル時間）に起こる場合があるスロットル事象の受容可能な数，タイプ，及び／又は持続時間を規定する１つ又は複数の閾値レベルを設定することによって規定される。期間ＴMAX中に検出されたスロットル事象が予想動作パラメータ内である場合（ＹＥＳの場合）には、本方法はステップ２４０に進み、次のタイマーサイクルに対するスロット事象を検出する。このように、タイマーは、次のタイマーサイクル中のスロットル事象の連続した検出のために再初期化又はリセットされる。この動作モード中、電圧についての調整は不必要である。
【００４６】
スロットル事象が予想動作パラメータ内にない場合（ＮＯの場合）には、本方法はステップ２５０に進み、電圧はそれ相応に調整される。例えば、スロットル事象の数が所定の閾値数未満である（無駄な電力を示す）場合には、電圧は低下する場合がある。電圧の低下は、一定の増加レベルであるか、又は検出されたスロットル事象に応じて変化してもよい。更に、検出されたスロットル事象は、検出されたスロットル事象が、スロットル事象の数が所定の閾値数を越えることを示すような、ステップ２５０において増加される電圧に帰する。電圧がステップ２５０において（上又は下に）調整された後に、本方法はステップ２４０に進み、次のサイクルに対する方法を実施する。本方法は、電力制御ループの次のサイクルに対して、繰り返されることができる。
【００４７】
図６は、適応的な電圧制御を実施するための方法を例示する。この方法は、１つ又は複数の閾値が規定されるステップ３００で開始される。１つ又は複数の閾値は、電圧に対する調整が実施されることができる電圧及び周波数の１つ又は複数の関係を規定する。閾値は、設計者によって設定されることができるか、又は１つ又は複数の閾値は、顧客もしくは他のユーザによってプログラム可能であってよい。
【００４８】
ステップ３１０においては、基準信号が受信される。基準信号は、例えば、方法を実施するＩＣに対する最大のクロック周波数に固定された所望の周波数において、通常高いレベルと低いレベルとの間で交番する。ステップ３２０においては、基準信号の周波数は、基準電圧（例えば、電源電圧）に基づいて変更される。例えば、基準信号の周波数は、ＩＣにおける関連の臨界経路論理が、基準電圧における高周波数変動に応答して基準信号をどのように処理するかに従って、上又は下に調整される。従って、瞬間的な基準電圧に応じて、周波数は、上又は下に調整され、それに関連するサイクル時間を増減し得る。ステップ３２０における周波数調整は、基準電圧の変動中に臨界経路論理の適切な動作を容易にする。
【００４９】
ステップ３３０においては、第１のカウンタは、基準信号に基づいて増加される。例えば、カウンタは、基準信号に関連するサイクル数を示す値を供給する。ステップ３４０においては、第２のカウンタは、３２０に供給される変更された基準信号に基づいて増加され、それによって、変更された基準信号によって供給されるサイクル数の示度が供給される。
【００５０】
ステップ３５０においては、ステップ３３０及び３４０において供給されるカウンタ値が比較される。この比較は、所定の期間後に行われ得る。例えば、所定の期間は、基準信号に関連する所定数のクロックサイクルに対応してもよい。或いは、この比較は、タイマー又は電圧制御回路に関連した他のクロック信号に基づいて所定期間後になされてもよい。例えば、カウンタは、電力制御ループのサイクル時間に関連する期間にわたって、ステップ３３０及び３４０で増加される。
【００５１】
ステップ３６０においては、ステップ３５０における比較が回路の所望の（例えば、実質的に最適な）動作を示すかどうかが判定される。ステップ３６０における判定は、ステップ３００において規定される１つ又は複数の閾値に対するステップ３５０における比較を相互関連させることによってなされることができる。カウンタ値の比較が回路の所望の動作を示す場合（ＹＥＳの場合）には、本方法はステップ３１０に戻り、本方法は繰り返されることができる。例えば、変更された基準信号に関連するカウンタ値が基準信号に関連するカウンタ値未満であるが、対応する閾値より大きい場合には、電圧は、ＩＣチップが十分に低い電圧で最大周波数付近で動作するように、十分に高くなることが推定され得る。このような状況下では、本方法は、電圧を調整せずに、ステップ３６０からステップ３１０に戻り得る。
【００５２】
ステップ３５０におけるカウント値比較が最適な動作を示さない場合（ＮＯの場合）には、本方法はステップ３６０からステップ３７０に進む。ステップ３７０においては、ステップ３６０における判定に基づいて電圧を動的に調整するための電圧制御信号が供給される。本方法は、ステップ３７０からステップ３８０に進み、そのステップ３８０において電圧が制御信号に基づいて調整される。ステップ３７０において供給される制御信号は、電圧がステップ３６０における判定に基づいて増減されることを示し得る。
【００５３】
例えば、変更された基準信号に関連するカウンタ値が、基準信号に関連するカウンタ値よりも、ステップ３００で規定された少なくとも１つの閾値だけ低い場合には、ステップ３７０において供給される電圧制御信号は、電圧が減少されることを示す場合がある。ステップ３７０において供給される電圧制御信号は、所定の最小及び最大電圧間の電圧を増加調整することによって、所望の電圧分解能を提供することができる。
【００５４】
更に、ステップ３７０における電圧制御信号は、ステップ３６０における判定に基づいて電圧の増加を実施することができる。例えば、ステップ３５０における比較が、変更された基準信号に関連するカウンタ値が、基準信号に関連するカウンタ値以上であることを示す（例えば、正味のスロットル事象がない）場合には、電圧は高すぎると推定され得る。この状況では、ステップ３７０において供給される制御信号は、対応する電圧の減少を引き起こし得る。この条件は、一般に、無駄な電力の状況に対応する。ステップ３８０における電圧調整は、それ相応に電圧を減少させる。
【００５５】
集積回路の電源電圧を調整するための方法の他の実施形態が、図７に示されている。この方法は、ステップ４００に示されるように、集積回路の動作周波数に対する調整が、予想動作パラメータ内であるかどうかを、動作周波数における複数のサイクルを含むサイクル時間にわたって行われる動作周波数になされた調整に基づいて判定するステップを含む。本方法は、更に、ステップ４１０に示されるように、電源電圧を上記の判定に基づいて調整するステップを含む。
【００５６】
以上を要約すると、次の通りである。すなわち、本発明のシステム及び方法は、電圧調整（例えば、集積回路のための電圧調整）を実施するのに利用することができる。１つの実施形態においては、システム（１０，５０，１００，１５０）は、動作電圧に基づいて変化する周波数を有するクロック信号を供給する周波数発生器（１８，５２，１０４，１１２，１５６）を備えている。本システム（１０，５０，１００，１５０）は、また、クロック信号の周波数に対する調整に基づいて動作電圧を調整するための制御信号を供給するコントローラ（１４，６２，１０２，１５２）を備えている。
【００５７】
上記で記載されたことは、本発明の例である。言う迄もなく、本発明を記載する目的で部品又は方法の考えられる全ての組み合わせを記載することは不可能であるが、当業者であれば、本発明の更に多くの組み合わせ及び置換が可能であることを認識するであろう。従って、本発明は、添付の特許請求項の精神及び範囲に入る全ての修正，変更，及び変形を網羅することを意図している。
【図面の簡単な説明】
【００５８】
【図１】適応的な電圧制御を提供するためのシステムの１つの実施形態のブロック図である。
【図２】適応的な電圧制御を提供するために用いることができる別のシステムの例を示す図である。
【図３】適応的な電圧制御を提供するための更に別のシステムの例を示す図である。
【図４】実施され得る電源供給制御システムの例を示す図である。
【図５】電圧を適応させる方法を示すフローチャートである。
【図６】適応電源電圧を実施するための方法を示すフローチャートである。
【図７】電源電圧を調整するための別の方法を示すフローチャートである。
【符号の説明】
【００５９】
１０，５０，１００，１５０  システム
１４，６２，１０４，１５２  コントローラ
１６，６４，１０６，１５４  電源
１８，５２  電圧依存周波数発生器
２０，５４  固定周波数発生器
５６，５８  カウンタ
６０，１６４  比較器
１１２，１５６  周波数合成器
１１４  周波数コントローラ
１１６，１１８  臨界経路遅延ネットワーク
１２０，１２２  位相比較器
【図１】
2005073494.tif 000003
【図２】
2005073494.tif 000004
【図３】
2005073494.tif 000005
【図４】
2005073494.tif 000006
【図５】
2005073494.tif 000007
【図６】
2005073494.tif 000008
【図７】
2005073494.tif 000009