IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ インテル コーポレイションの特許一覧

特許7146779線形及び非線形制御メカニズムを含む適応デジタルコントローラ
<>
  • 特許-線形及び非線形制御メカニズムを含む適応デジタルコントローラ 図1
  • 特許-線形及び非線形制御メカニズムを含む適応デジタルコントローラ 図2
  • 特許-線形及び非線形制御メカニズムを含む適応デジタルコントローラ 図3
  • 特許-線形及び非線形制御メカニズムを含む適応デジタルコントローラ 図4
  • 特許-線形及び非線形制御メカニズムを含む適応デジタルコントローラ 図5A
  • 特許-線形及び非線形制御メカニズムを含む適応デジタルコントローラ 図5B
  • 特許-線形及び非線形制御メカニズムを含む適応デジタルコントローラ 図6
  • 特許-線形及び非線形制御メカニズムを含む適応デジタルコントローラ 図7
  • 特許-線形及び非線形制御メカニズムを含む適応デジタルコントローラ 図8
  • 特許-線形及び非線形制御メカニズムを含む適応デジタルコントローラ 図9
  • 特許-線形及び非線形制御メカニズムを含む適応デジタルコントローラ 図10
  • 特許-線形及び非線形制御メカニズムを含む適応デジタルコントローラ 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-09-26
(45)【発行日】2022-10-04
(54)【発明の名称】線形及び非線形制御メカニズムを含む適応デジタルコントローラ
(51)【国際特許分類】
   G05F 1/56 20060101AFI20220927BHJP
【FI】
G05F1/56 310C
【請求項の数】 23
(21)【出願番号】P 2019541437
(86)(22)【出願日】2018-04-03
(65)【公表番号】
(43)【公表日】2020-06-11
(86)【国際出願番号】 US2018025897
(87)【国際公開番号】W WO2018191067
(87)【国際公開日】2018-10-18
【審査請求日】2021-03-30
(31)【優先権主張番号】15/484,404
(32)【優先日】2017-04-11
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】593096712
【氏名又は名称】インテル コーポレイション
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100091214
【弁理士】
【氏名又は名称】大貫 進介
(72)【発明者】
【氏名】マハジャン,タルン
(72)【発明者】
【氏名】ムトゥカルッパン,ラムナラヤナン
(72)【発明者】
【氏名】シダナ,ラジェシュ
(72)【発明者】
【氏名】パイ,シュリナト ビー.
【審査官】佐藤 匡
(56)【参考文献】
【文献】特表2016-541077(JP,A)
【文献】米国特許出願公開第2016/0282889(US,A1)
【文献】米国特許出願公開第2014/0002042(US,A1)
【文献】米国特許出願公開第2016/0276931(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G05F 1/56
(57)【特許請求の範囲】
【請求項1】
電力切替ユニットのトランジスタを制御するよう出力情報を供給する出力部と、
前記電力切替ユニットによって生成される出力電圧に基づくフィードバック電圧を受けるノードと、
制御回路と
を有し、
前記制御回路は、
前記出力電圧から生成される前記フィードバック電圧に基づき誤差情報を生成し、
前記出力部へ結合されるフォワード経路へ供給される前記誤差情報に基づき前記出力情報を生成し、
前記出力電圧が目標値範囲内にある線形モードの間に、前記出力情報の第1値を調整して前記出力情報に第2値を持たせるように前記フォワード経路のゲインを計算し、
前記線形モードの間に補正情報を生成し、前記出力電圧が前記目標値範囲外にある非線形モードの間に、前記補正情報に基づき前記出力情報の前記第2値を調整して前記電力切替ユニットの制御を行う
電子装置。
【請求項2】
前記制御回路は、線形コントローラを含み、該線形コントローラは、乗算器を含み、該乗算器は、
前記出力情報の前記第1値に基づく入力情報を受ける第1入力部と、
前記制御回路内のメモリ回路から情報を受ける第2入力部と、
前記フォワード経路のゲインを調整するゲイン係数を供給する出力部と
を含む、
請求項1に記載の電子装置。
【請求項3】
前記制御回路は、クロック信号を受信し、該クロック信号のタイミングに基づき前記誤差情報を生成し、
前記制御回路は、前記クロック信号の各サイクルにおいて前記フォワード経路の前記ゲインを調整する、
請求項1に記載の電子装置。
【請求項4】
前記制御回路は、
前記出力部へ結合される更なるフォワード経路へ供給される前記誤差情報に基づき前記出力情報を生成し、
前記線形モードの間に前記出力情報の前記第1値を調整して前記出力情報に前記第2値を持たせるように前記更なるフォワード経路のゲインを計算する、
請求項1に記載の電子装置。
【請求項5】
前記フィードバック電圧及び一連の基準電圧に基づき前記誤差情報を生成するアナログ-デジタル変換器を更に有する、
請求項1乃至のうちいずれか一項に記載の電子装置。
【請求項6】
前記制御回路は、
前記誤差情報を受ける第1フォワード経路であり、該第1フォワード経路のゲインを調整するゲイン係数を生成する第1適応ゲイン回路を含む前記第1フォワード経路と、
前記誤差情報を受ける第2フォワード経路であり、更なるゲイン係数に基づき前記第2フォワード経路のゲインを調整するよう前記更なるゲイン係数を生成する第2適応ゲイン回路を含む前記第2フォワード経路と、
前記出力部と前記第1フォワード経路及び前記第2フォワード経路とへ結合されるフィードバック経路と
を含む、
請求項1乃至のうちいずれか一項に記載の電子装置。
【請求項7】
電力切替ユニットのトランジスタを制御するよう制御情報を供給する出力ポートと、
制御回路と
を有し、
前記制御回路は、
前記電力切替ユニットによって生成される出力電圧の値が前記電力切替ユニットへ供給される入力電圧の値よりも小さいように前記制御情報を生成し、
前記出力電圧が目標値範囲内の第1値を有する線形モード中に補正情報の値を計算し、
前記補正情報に基づき、前記出力電圧が前記目標値範囲外の第2値を有する非線形モード中に、前記制御情報の値を調整する、
電子装置。
【請求項8】
前記制御回路は、前記出力電圧が供給されるノードでの電流の変化率に基づき前記補正情報の値を計算する、
請求項に記載の電子装置。
【請求項9】
前記補正情報は、前記非線形モード中に前記ノードで調整されるべき電流の量を示す、
請求項に記載の電子装置。
【請求項10】
前記制御回路は、クロック信号を受信し、
前記制御回路は、前記出力電圧の前記第2値が前記目標値範囲外であると検出される時点から前記クロック信号の1サイクルに満たない時点で前記制御情報の値を調整する、
請求項乃至のうちいずれか一項に記載の電子装置。
【請求項11】
前記制御回路は、クロック信号を受信し、
前記出力電圧の前記第2値は、前記クロック信号の第1エッジで前記目標値範囲外であると検出され、
前記制御回路は、前記クロック信号の第2エッジで前記制御情報の値を調整し始め、前記第2エッジは、前記第1エッジの発生から前記クロック信号の1サイクル未満で現れる、
請求項乃至のうちいずれか一項に記載の電子装置。
【請求項12】
前記制御回路は、クロック信号を受信し、
前記制御回路は、前記クロック信号の2つの連続したエッジ間の時間インターバル中に前記補正情報を計算する、
請求項乃至のうちいずれか一項に記載の電子装置。
【請求項13】
前記制御回路は、クロック信号を受信し、
前記制御回路は、カウント値に基づき前記補正情報を計算し、
前記カウント値は、前記クロック信号の立ち上がり及び立ち下がりの数に対応する、
請求項乃至のうちいずれか一項に記載の電子装置。
【請求項14】
前記制御回路は、前記出力電圧の前記第2値が前記目標値範囲外であると検出される時点から、前記出力電圧の前記第2値が前記目標値範囲外であると検出されてから半サイクル後の時点までの電流の変化率に基づき、前記補正情報の値を計算する、
請求項乃至のうちいずれか一項に記載の電子装置。
【請求項15】
前記制御回路は、前記非線形モードの第1期間の間、前記補正情報に基づき前記制御情報の値を調整し、
前記制御回路は、前記非線形モードの第2期間の間、前記出力電圧から生成されるフィードバック電圧と一連の基準電圧との比較から生成される誤差情報に基づき前記制御情報の値を調整する、
請求項乃至のうちいずれか一項に記載の電子装置。
【請求項16】
入力電圧を受けて、該入力電圧の値よりも小さい値を有する出力電圧を供給する電力切替ユニットと、
前記出力電圧の誤差に基づき第1誤差補正情報及び第2誤差補正情報を生成するエラーコード生成部と、
前記出力電圧が目標値範囲内の第1値を有する線形モードの間に前記電力切替ユニットを制御するよう第1出力情報を生成する第1コントローラであり、前記第1出力情報に前記線形モードの間第2値を持たせるために、前記線形モードの間にフォワード経路のゲインを計算する前記第1コントローラと、
前記線形モードの間に補正情報の値を計算し、該補正情報に基づき、前記出力電圧が前記目標値範囲外の第2値を有する非線形モードの間に前記電力切替ユニットを制御する第2コントローラと
を有する電子装置。
【請求項17】
前記第1コントローラは、係数の単一のセットに基づき実装されるフォワード経路を含む、
請求項16に記載の電子装置。
【請求項18】
前記第1コントローラは、前記ゲインを計算するための情報を記憶するメモリ回路を含む、
請求項16に記載の電子装置。
【請求項19】
前記第2コントローラは、前記非線形モードの初期段階で前記電力切替ユニットを制御し、
前記第2コントローラは、前記補正情報とは異なる誤差情報に基づき前記非線形モードの第2段階で前記電力切替ユニットを制御する、
請求項16乃至18のうちいずれか一項に記載の電子装置。
【請求項20】
半導体ダイと、
前記半導体ダイ上に位置する処理ユニットと、
前記半導体ダイ上に位置し、前記処理ユニットへ結合される電圧レギュレータと
を有し、
前記電圧レギュレータは、
入力電圧を受け、該入力電圧の値よりも小さい値を有する出力電圧を供給する電力切替ユニットと、
前記出力電圧の誤差に基づき第1誤差補正情報及び第2誤差補正情報を生成するエラーコード生成部と、
前記出力電圧が目標値範囲内の第1値を有する線形モードの間に前記電力切替ユニットを制御するよう第1出力情報を生成する第1コントローラであり、前記第1出力情報に前記線形モードの間第2値を持たせるために、前記線形モードの間にフォワード経路のゲインを計算する前記第1コントローラと、
前記線形モードの間に補正情報の値を計算し、該補正情報に基づき、前記出力電圧が前記目標値範囲外の第2値を有する非線形モードの間に前記電力切替ユニットを制御する第2コントローラと
を含む、
電子装置。
【請求項21】
前記半導体ダイ、前記処理ユニット、及び前記電圧レギュレータは、システム・オン・チップ(SoC)の部分である、
請求項20に記載の電子装置。
【請求項22】
電子装置の作動方法であって、
ノードでの電圧を制御するよう電圧レギュレータの第1コントローラで制御情報を生成することと、
前記電圧が目標値範囲内の第1値を有する前記電圧レギュレータの線形モードの間に前記制御情報の第1値を調整するよう前記第1コントローラ内のフォワード経路のゲインを計算することと、
前記線形モードの間に前記電圧レギュレータの第2コントローラで補正情報を生成することと、
前記電圧が前記目標値範囲外の第2値を有する前記電圧レギュレータの非線形モードの間に、前記補正情報に基づき、前記制御情報の第2値を調整することと
を有する方法。
【請求項23】
前記フォワード経路は、前記第1コントローラの複数のフォワード経路の一部であり、
前記複数のフォワード経路は、係数の単一のセットを用いて実装される、
請求項22に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書中で記載される実施形態は、電子システムにおける電力管理に関係がある。いくつかの実施形態は、電圧レギュレータに関する。
【背景技術】
【0002】
多くの電子機器又はシステム(例えば、コンピュータ、タブレット、及び携帯電話機)は、機器又はシステム内の電圧(例えば、供給電圧)を制御するための電力管理コンポーネント(例えば、電圧レギュレータ)を備える。電力管理コンポーネントは、電圧を目標値範囲内に保つために機器又はシステム内の電圧の値を定期的にモニタし得る。機器の動作中のいくつかの事象(例えば、電流消費の急増)の間に、電圧の値は、目標値範囲から突然に外れることがある。いくつかの従来技術は、そのような事象に対処するための制御メカニズムを提供する。しかしながら、異なる機器は異なる動作スキームを有している。よって、ある機器とともに作動するよう設計されたいくつかの従来の制御メカニズムは、その他の機器にとっては不適切である可能性がある。
【図面の簡単な説明】
【0003】
図1】本明細書で記載されるいくつかの実施形態に従って、電圧レギュレータ及び負荷を含む装置のブロック図を示す。
図2】本明細書で記載されるいくつかの実施形態に従って、図1の電圧レギュレータのエラーコード生成部の概略図を示す。
図3】本明細書で記載されるいくつかの実施形態に従って、図1の電圧レギュレータにおいて実装されるパワーFET(電界効果トランジスタ)構造のためのプラントモデルを示す。
図4】本明細書で記載されるいくつかの実施形態に従って、図1の電圧レギュレータのデジタル線形コントローラの簡略化された実施を表す。
図5A】本明細書で記載されるいくつかの実施形態に従って、図4のデジタル線形コントローラの適応ゲイン回路の図を示す。
図5B】本明細書で記載されるいくつかの実施形態に従って、図5Aの適応ゲイン回路の乗算器を示す。
図6】本明細書で記載されるいくつかの実施形態に従って、図4のデジタル線形コントローラの他の適応ゲイン回路の図を示す。
図7】本明細書で記載されるいくつかの実施形態に従って、例となるドループ事象中の出力電圧及び負荷電流の波形を例示する。
図8】本明細書で記載されるいくつかの実施形態に従って、図1の電圧レギュレータの非線形コントローラの略アーキテクチャ図を示す。
図9】本明細書で記載されるいくつかの実施形態に従って、図8の非線形コントローラのカウント測定論理回路のブロック図を示す。
図10】本明細書で記載されるいくつかの実施形態に従って、電子システムの形で装置を示す。
図11】本明細書で記載されるいくつかの実施形態に従って、装置の作動方法を示すフローチャートである。
【発明を実施するための形態】
【0004】
多くの機器(例えば、プロセッサ)において、電力管理(動的な電圧及び周波数スケーリング(Dynamic Voltage and Frequency Scaling;DVFS)によるファインゲイン(fine-gain)電力管理)は、機器の異なる電力状態で電力比に対する性能を改善することにおいて重要になっている。これらの機器において、特定の動作モードからの入退場(例えば、アイドルモードからバーストモード)は、とても迅速に(例えば、GHz範囲内のコア周波数による数コアクロックサイクルで)起こり得る。これらの機器内の機能ユニット(例えば、マルチコア中央演算処理装置(Central Processing Unit;CPU))は、広い負荷電流(ILOAD)範囲により動作し得る。これは、翻って、負荷電流が負荷ステップ中に(負荷電流が増大するときに)変化する比率(dt/dt)の広いばらつきをもたらし得る。これらの高速な負荷トランジェント(load transient)(例えば、負荷電流の高速な変化)は、オンダイの負荷キャパシタンスが(例えば、ダイ面積の小ささにより)制限され得る機器の供給電圧において大きいドループ(droop)(電圧値の突然の低下)を引き起こし得る。供給電圧のそのようなドループは、機器の速さ(例えば、コア周波数)を制限する可能性がある。
【0005】
従来の低ドロップアウト(low-dropout;LDO)レギュレータ回路は、ダイ/パッケージへの切替電圧コントローラの組み込みが実用的ではない実行可能な低費用の解決法を提供する。LDO回路はまた、同じ供給レールからの電圧供給が同じ機器内の複数の機能ユニットへ電力を供給する場合に、二次的な電力管理(第2レベルの細粒度電力管理)も可能にすることができる。LDO回路は、各機能ユニットのための最適な電圧供給を可能にすることができる。デジタルLDO回路は、そのスケーラビリティと、アナログ回路が不適切であり得る超低電圧動作(閾値に近い動作)とにより、ますます一般的になりつつある。LDO回路及び関連するパワートランジスタのデジタル制御は、機器の再構成可能性に対する柔軟性を可能にし得る。いくつかの従来の線形デジタルコントローラは、異なる範囲の負荷電流及び出力電圧条件に対して、低い定常状態誤差で、安定した滑らかな誤差応答を提供することができる。しかし、そのような線形デジタルコントローラは、固定サンプリング周波数で動作してもよく、制御ループの帯域幅によって制限されることがある。これは、そのような従来の線形コントローラを、ドループ事象中の高速な過渡応答などのいくつかの動作条件の間に十分な応答を提供するのに不適切にする可能性がある。
【0006】
更に、いくつかの従来の線形制御技術は、比較的に狭い範囲の負荷電流のために及び最悪の場合の動作条件のために設計されている。そのような技術は、比較的に広い負荷電流範囲に対して適切な応答を提供することができない可能性がある。更に、狭い負荷電流範囲の場合でさえ、そのような従来の線形制御技術におけるループ性能は、従来の技術が、負荷変動にかかわらず、ドループによって引き起こされる誤差を補正するために固定補償を通常適用するということで、低下する可能性がある。更には、ロバストな非線形制御の欠如は、比較的に広い範囲の負荷電流と、出力電圧範囲にわたる負荷電流の変化率の開始点及び終了点の大きな変動とに対する過剰補正及び過小補正の傾向がある。
【0007】
図1乃至図11を参照して本明細書で記載される技術は、広い負荷電流及び電圧ロップアウト範囲をサポートすることができるデジタル線形制御及び非線形制御を含む電圧レギュレータを含む。詳細な回路素子、動作、及び改善は、以下で、図1乃至図11を参照して記載される。
【0008】
図1は、本明細書で記載されるいくつかの実施形態に従って、電圧レギュレータ110及び負荷115を含む装置100のブロック図を示す。装置100は、コンピュータ(例えば、デスクトップ、ラップトップ、ノートブック)、タブレット、携帯電話機、ウェアラブル電子機器(例えば、スマートウォッチ)、又は他の電子機器若しくはシステムなどの電子機器又はシステムを含むか、あるいは、それに含まれ得る。
【0009】
図1に示されるように、電圧レギュレータ110は、電力切替ユニット112を制御するよう制御情報(例えば、デジタルコード)control_codeを生成する制御ユニット111を含むことができる。制御ユニット111は、ノード102での電圧VOUTの値を目標値に保つために、電圧VOUTの値の誤差をモニタ及び検出して制御情報control_codeの値を制御(例えば、調整)することができる。電圧VOUTの値の誤差は、電圧VOUTの値が目標値から外れるときに起こり得る。目標値は、目標値範囲(例えば、所定の値範囲)内にある電圧値であることができる。
【0010】
電力切替ユニット112は、電圧VIN(例えば、供給電圧VCC)とVOUT(例えば、出力電圧)との間の値の差が比較的小さい(例えば、低ドロップアウト(LDO))ように制御ユニット111によって制御され得る。よって、VOUTの値は、比較的小さい量だけ電圧VINの値よりも小さくなり得る。従って、電圧レギュレータ110は、低ドロップアウト(LDO)電圧レギュレータとして動作することができる。
【0011】
負荷115は、その供給電圧(例えば、レギュレートされた供給電圧)として電圧VOUTを使用してよい。負荷115は、中央演算処理装置(CPU)、メモリデバイス、又は他の機能ユニットのうちの少なくとも1つを含むことができるプロセッサ(例えば、シングルコア・プロセッサ、マルチコア・プロセッサ)などの機能ユニットを含むか、あるいは、それに含まれ得る。電圧レギュレータ110及び負荷115は、同じ集積回路(Integrated Circuit;IC)ダイ(例えば、ICチップ)上に位置する(例えば、その中に形成されるか、その上に形成されるか、あるいは、それに組み込まれる)ことができる。ICダイは、半導体ダイ(例えば、シリコンダイ)を含むことができる。代替的に、電圧レギュレータ110及び負荷115は、異なるICダイ上に位置することができる。例えば、電圧レギュレータ110は、回路基板(例えば、マザーボード)上のデバイスの1つのICダイに位置することができ、負荷115は、回路基板上の他のデバイスの別のICダイに位置することができる。電力切替ユニット112は、電圧レギュレータ110及び負荷115の外に形成され得る(例えば、電圧レギュレータ110及び負荷115が位置するICダイ(又はICダイス)から外され得る)。代替的に、電力切替ユニット112の一部又は電力切替ユニット112の全体は、電圧レギュレータ110とともに同じICダイ上に位置する(例えば、その中に形成されるか、その上に形成されるか、あるいは、それに組み込まれる)ことができる。装置100は、電圧レギュレータ110及び負荷115がシステム・オン・チップ(System on Chip;SoC)に含まれ得る(例えば、組み込まれ得る)ように、SoCを含むか、あるいは、それに含まれ得る。
【0012】
電圧レギュレータ110は、線形モード(例えば、定常状態モード)及び非線形モードで動作することができる。電圧レギュレータ110は、電圧VOUTの誤差が特定の(例えば、所定の)値よりも小さい値を有する場合に(例えば、VOUTの値が目標値範囲内にあるときに)線形モードで動作することができる。電圧レギュレータ110は、電圧VOUTの誤差がその特定の値よりも大きい値を有する場合に(例えば、VOUTの値が目標値範囲外にあるときに)線形モードから非線形モードへ変化することができる。電圧レギュレータ110を線形モードから非線形モードへ変化させる誤差は、電圧VOUTのドループ(例えば、VOUTの値の低下)を含んでよい。そのようなドループ(又はドループ事象)は、負荷115での負荷トランジェント事象中に起こり得る。負荷トランジェント事象は、負荷115が1つの動作状態(例えば、アイドル状態)から他の動作状態(例えば、アクティブ状態)へ変化するときに起こり得る。図2乃至図9を参照して更に詳細に記載されるように、電圧レギュレータ110は、電圧VOUTの値が目標値に戻るまで、適応的且つ動的に電圧VOUTの誤差を補正する(例えば、ドループを補正する)ことができる。
【0013】
図1に示されるように、制御ユニット111は、エラーコード生成部120と、デジタル線形コントローラ130及び非線形コントローラ140を含む制御回路125と、セレクタ150(例えば、マルチプレクサ)とを含むことができる。制御ユニット111は、キャパシタCと、キャパシタCload(例えば、負荷キャパシタ)と、抵抗Rersと、抵抗R1及びR2(例えば、分圧器)とを更に含むことができる。制御ユニット111の構成要素は、電圧レギュレータ110の線形モード及び非線形モードの両方で電圧VOUTの値を制御するよう閉ループ内でデジタル制御LDO回路を形成することができる。
【0014】
エラーコード生成部120は、電圧VOUTの誤差に基づき誤差情報(例えば、デジタルエラーコード)error_code_p及び誤差情報(例えば、デジタルエラーコード)error_code_nを生成するよう動作することができる。電圧VOUTの誤差は、電圧VOUTの値が目標値から外れるときに現れる。
【0015】
デジタル線形コントローラ130は、誤差情報error_code_pに基づき出力情報(例えば、デジタル線形出力コード)dlc_outを生成することができる。出力情報は、定常状態で電圧VOUTの値を零誤差又は略零誤差に保つために、線形モード中に使用され得る。
【0016】
非線形コントローラ140は、誤差情報error_code_p及び誤差情報error_code_nに基づき出力情報(例えば、デジタル非線形出力コード)nl_outを生成することができる。非線形コントローラ140はまた、信号nl_mode_en(非線形モードイネーブル信号)を生成することもできる。この信号は、(線形モードから)非線形モードに入ることを示すためにアクティブにされ得る(例えば、低信号レベル(例えば、論理0レベル)から高信号レベル(例えば、論理1レベル)に変化し得る)。出力情報nl_outは、負荷ステップ中に(例えば、ノード102での電流が増大するときに)電圧レギュレータ110の過渡応答を改善するために、非線形モード中に使用され得る。
【0017】
セレクタ150は、特定の時点で電圧レギュレータ110がどちらのモード(例えば、線形又は非線形モード)で動作しているかに応じて、出力情報dlc_out又は出力情報nl_outのいずれか一方を、制御回路125の出力ポート126での制御情報control_codeであるよう(信号nl_mode_enの信号レベルに基づき)選択することができる。よって、線形モードでは、制御情報control_codeは、出力情報dlc_outに基づき(例えば、線形モードでは、control_code=dlc_out)、非線形モードでは、制御情報control_codeは、出力情報nl_outに基づく(例えば、非線形モードでは、control_code=nl_out)。一例として、出力情報dlc_out及び出力情報nl_outの夫々がNビットコードである場合に(なお、Nはビットの数である。)、制御情報control_codeも、線形モード又は非線形モードのどちらかのモードでNビットコードである。よって、この例では、線形モードにおいて、control_code=dlc_out=N、且つ、非線形モードにおいて、control_code=nl_out=Nである。
【0018】
簡単のために、この記載は、制御情報control_code又は制御情報control_codeの値(例えば、Nビットの値)に言及するために用語‘control_code’(引用符付き)又は用語control_code(引用符なし且つ関連するラベル「制御情報」なし)のどちらか一方を時々使用する。同様に、用語‘dlc_out’(引用符付き)又は用語dlc_out(引用符なし)は、出力情報dlc_out及び出力情報dlc_outの値(例えば、Nビットの値)を指す。そして。用語‘nl_out’(引用符付き)又は用語nl_out(引用符なし)は、出力情報nl_out又は出力情報nl_outの値(例えば、Nビットの値)を指す。同じパターンが本明細書で記載される他の項目(例えば、変数又はパラメータ)に当てはまり、それにより、ある項目に関連する特定の用語(引用符付き又は引用符なし)は、そのような項目の名称又は値を指す。
【0019】
図1に示されるように、エラーコード生成部120は、電圧VFB及びVREF_INを受けることができる。電圧VFBは、電圧VOUTに基づき生成され得るフィードバック電圧である。例えば、電圧VFBの値は、抵抗R1及びR2の値に基づき電圧VOUTの分割された値であることができる。電圧VREF_INは、バンドギャップに基づき基準電圧(図示せず。)から生成され得る。以下で更に詳細に記載されるように、エラーコード生成部120は、電圧VREF_INから一連の基準電圧を生成することができる。エラーコード生成部120は、電圧VFBを一連の基準電圧と比較し、比較の結果に基づき誤差情報error_code_p及びerror_code_nを生成することができる。エラーコード生成部120は、比較のためのタイミングとして使用され得るクロック信号Fclk(例えば、サンプリングクロック信号)を受信することができる。誤差情報error_code_p及び誤差情報error_code_nの夫々は、複数のビットを含むデジタルコード(例えば、デジタルエラーコード)である。エラーコード生成部120は、クロック信号Fclkのポジティブエッジ(例えば、立ち上がり)での電圧VFBと一連の基準電圧との比較に基づき誤差情報error_code_pを生成することができる。エラーコード生成部120は、クロック信号Fclkのネガティブエッジ(例えば、立ち下がり)での電圧VFBと一連の基準電圧との比較に基づき誤差情報error_code_nを生成することができる。
【0020】
制御回路125は、電圧VOUTの値を目標値範囲内に保つために、制御情報control_codeを使用して電力切替ユニット112内の複数の電流経路(例えば、「レッグ」)を制御(例えば、ターンオン又はターンオフ)することができる。制御回路125は、制御情報control_codeの値を定期的に調整(例えば、更新する)ことができる(制御情報control_codeは、電圧レギュレータ110のモードに応じて、出力情報dlc_out又はnl_outのどちらか一方であることができる。)。上述されたように、制御情報control_codeは、複数のビット(例えば、Nビット)を含むことができる。
【0021】
制御情報control_codeを供給する出力ポート126は、異なる信号を運ぶ(例えば、出力ポート126上で並列に信号を運ぶ)ことができる導電ノード(例えば、並列な導電線の部分)を含むことができる。出力ポート126上の信号の夫々は、バイナリ0(論理0)及びバイナリ1(論理1)に対応する信号レベルを含むことができる。出力ポート126によって運ばれる信号の信号レベルは、制御情報control_codeの値を表すことができる。例えば、制御情報control_codeが12ビットを有する(例えば、N=12ビット)場合に、出力ポート126は、N=12ビットのビット値を含む12個の各々の信号を同時に運ぶよう12個のノード(すなわち、12本の導電線)を含むことができる。上述されたように、線形モードでは、control_code=dlc_out=N、且つ、非線形モードでは、control_code=nl_out=Nである。よって、ここでの例では、dlc_outはN=ビットを含み、nl_outはN=ビットを含む。
【0022】
図1に示されるように、電力切替ユニット112は、ノード101から102の間に結合されたトランジスタ(例えば、パワートランジスタ)114a、114b、116a、及び116bを含むトランジスタバンク113を含むことができる。トランジスタ114a、114b、116a、及び116bは、pチャネルFETなどの電界効果トランジスタ(FET)を含むことができる。トランジスタバンク(例えば、パワーFETバンク)113は、バイナリ加重トランジスタバンクであることができる。トランジスタ114a及び114bの夫々は、制御情報control_codeに含まれるビット(例えば、Nビット)の中の異なるビットによって制御され得る。
【0023】
トランジスタ114a、114b、116a、及び116bは、ノード101から102の間の異なる電流経路(例えば、並列な電流経路)の部分であることができる。例えば、トランジスタ114a及び114bは、電流経路164の部分であることができ、トランジスタ116a及び116bは、電流経路165の部分であることができる。本明細書中で、電流経路164及び165は、「電流レッグ」又は単に「レッグ」と時々呼ばれる。よって、電流経路164及び165の夫々を流れる電流は、「カレント・パー・レッグ」又は代替的に「I_per_leg」と呼ばれ得る。トランジスタバンク113は、電流ILOAD(例えば、負荷電流)を供給することができる。
【0024】
図1は、4つのトランジスタ114a、114b、116a、及び116bしか含まないトランジスタバンク113を一例として示す。トランジスタバンク113は、異なる数のトランジスタを含むことができる。トランジスタの数は、制御情報control_codeのビットの数(例えば、Nビット)に基づくことができる。例えば、control_codeが12ビットを含む場合には、トランジスタバンク113は24個のトランジスタ(例えば、トランジスタ114b及び116bと同様の他の12個のトランジスタへ結合される、トランジスタ114a及び116aと同様の12個のトランジスタ)を含むことができる。この例では、24個のトランジスタは、電流経路(例えば、レッグ)164及び165と同様の24の異なる電流経路(例えば、24本のレッグ)の部分であることができる。上述されたように、電圧VOUTは、定常状態の間に目標値範囲内に保たれる。制御情報control_codeは、電圧VOUTの値を制御するために、適切な数のトランジスタ(例えば、114a及び116a)を制御(例えば、ターンオン又はターンオフ)するよう使用され得る。
【0025】
図1に示されるように、電力切替ユニット112は、トランジスタ117a及び117bを含むレプリカ部分117と、増幅器118と、電流Irefを生成する基準電流源119とを更に含むことができる。電流Irefの値は、所定の(例えば、既知の)値であることができる。動作中、トランジスタバンク113のトランジスタ(例えば、トランジスタ114a、114b、116a、及び116b)は、レプリカ部分117を用いて、より高いドロップアウト(100mVよりも大きいドロップアウト)に対して信頼性限界内に保たれた一定のカレント・パー・レッグ(I_per_leg)で、制御可能な電流源として動作する電流リミッタを形成することができる。ドロップアウト(又は電圧ドロップアウト)は、VINとVOUTとの間の差である(例えば、ドロップアウト=VIN-VOUT)。
【0026】
レプリカ部分117は、カレント・パー・レッグを電流‘Iref’の倍数であるようセットする電圧VBIASを生成するために、電圧(例えば、基準電圧)Vref_midを受けるよう増幅器118を使用することができる。しかし、トランジスタバンク113のトランジスタ(例えば、114b及び116b)によって提供される電流源は、ドロップアウトとともに変化し得る有限な出力抵抗(Ro)を有する。より低いドロップアウト(例えば、100mVに満たないドロップアウト)の場合に、トランジスタ114b及び116bは、電圧VBIASがゼロ(例えば、接地電位)又はゼロに近くなり、カレント・パー・レッグが安全限界内にあるがもはや一定ではないので、抵抗(例えば、完全にオンされたトランジスタ)のように振る舞うことができる。カレント・パー・レッグは、より低いドロップアウトでトランジスタ114a、114b、116a、及び116bでのドロップアウトに依存する。トランジスタ114a及び116aは、対応する数のレッグをオンするために、control_codeのビット(例えば、Nビット)に基づきデジタル制御(ターンオン又はターンオフ)される。これは、電力切替ユニット112が、より高いドロップアウトで負荷115によって必要とされる十分な電流を供給(調達)すること、又はより低いドロップアウトでの電圧VOUTの値のためにトランジスタ114a、114b、116a、及び116bでの電圧降下を保つことを可能にする。
【0027】
上述されたように、電圧レギュレータ110は、線形モード及び非線形モードで動作することができる。線形モードでは(例えば、定常状態中)、制御回路125は、error_code_pに基づき各ポジティブクロックエッジで更新するdlc_outにより固定周波数で動作することができる。制御回路125は、VOUTのドループ又はオーバーシュート事象が検出されるときに線形モードから非線形モードに入るよう、信号nl_mode_enをアクティブにすることができる。出力情報nl_outは、出力情報dlc_outのそれよりもずっと速い応答で電圧VOUTのドループを補正するために使用され得る。非線形コントローラ140は、デジタル線形コントローラ130の2倍の周波数で動作することができる。これは、クロック信号Fclkの両方のエッジを使用して‘error_code_p’及び‘error_code_n’を生成することによって達成され得る。control_codeは、error_code_p及びerror_code_nの最新の値に基づき自立的にdlc_outとnl_outとの間で切り替わることができる。
【0028】
このようにして、電圧レギュレータ110は、図2乃至図6を参照して以下で記載されるように、線形モード中にcontrol_codeのためにdlc_outを使用することができる(例えば、control_code=dlc_out=Nビット)。電圧レギュレータ110は、図7乃至図9を参照して以下で記載されるように、非線形モード中にcontrol_codeのためにnl_outを使用することができる(control_code=nl_out=Nビット)。
【0029】
図2は、本明細書で記載されるいくつかの実施形態に従って、図1のエラーコード生成部120の概略図を示す。エラーコード生成部120は、基準生成回路210及びアナログ-デジタル変換器(ADC)220を含むことができる。ADC220は、窓化フラッシュADCを含むことができる。基準生成回路210及びADC220は、電圧VFB(電圧VOUTに基づく。)との比較のために且つエラーコードerror_code_p及びerror_code_nの生成のために一連の基準電圧を生成するよう動作することができる。
【0030】
基準生成回路210は、VREF_IN(例えば、バンドギャップに基づく電圧)並びに抵抗R3及びR4(例えば、分圧器)に基づき分割電圧VDIVを生成することができる。VDIVは、電圧Dac_refを生成するようユニティゲインバッファ212によってバッファリングされ得る。電圧Dac_refは、デジタル-アナログ変換器(DAC)214(例えば、7ビットプライマリR-DAC)へ供給される。DAC214は、抵抗回路214a及びマルチプレクサ回路(MUX)214b(例えば、126個のタップを備えた2×MUX)を含むことができる。DAC214は、コードDAC_code1(例えば、7ビットコード)及びDAC_code2(例えば、7ビットコード)を受け、DAC214の各々の出力で電圧Vref_top及びVref_botを生成することができる。電圧Vref_top及びVref_botは、夫々ADC220の最大閾値及び最低閾値であることができる。
【0031】
電圧Vref_top及びVref_botは、8つの基準電圧Vref_tap_p1、Vref_tap_p2、Vref_tap_p4、Vref_tap_p6、Vref_tap_m1、Vref_tap_m2、Vref_tap_m4、Vref_tap_m6(簡単のために集合的に「ADC入力基準電圧」と呼ばれる。)を生成するよう第2DAC217(例えば、R-DAC)へ供給するために、ユニティゲインバッファ216a及び216bによってバッファリングされ得る。ADC入力基準電圧は、誤差範囲内で電圧VOUTの誤差の大きさ(例えば、±60mV誤差範囲内の電圧VOUT)を決定するために、入力基準電圧としてADC220へ供給される。
【0032】
8つのADC入力基準電圧の夫々の値は、Vref_tap_p6の値からVref_tap_m6の間の中間値であることができる電圧Vref_midと相対的であることができる。Vref_tap_p1、Vref_tap_p2、Vref_tap_p4、Vref_tap_p6の夫々の値は、Vref_midに夫々1Vx、2Vx、4Vx、及び6Vxを足した値であることができる。電圧Vxは、電圧の量(例えば、所定の量)である。例えば、Vx=6mVの場合に、
Vref_tap_p1=Vref_mid+1Vx=Vref_mid+6mV、
Vref_tap_p2=Vref_mid+2Vx=Vref_mid+12mV、
Vref_tap_p4=Vref_mid+4Vx=Vref_mid+24mV、
Vref_tap_p6=Vref_mid+6Vx=Vref_mid+36mV。
【0033】
Vref_tap_m1、Vref_tap_m2、Vref_tap_m4、Vref_tap_m6の夫々の値は、Vref_midから夫々1Vx、2Vx、4Vx、及び6Vxを引いた値であることができる。
【0034】
よって、例えば、Vx=6mVの場合に(先の例に基づく。)、
Vref_tap_m1=Vref_mid-1Vx=Vref_mid-6mV、
Vref_tap_m2=Vref_mid-2Vx=Vref_mid-12mV、
Vref_tap_m4=Vref_mid-4Vx=Vref_mid-24mV、
Vref_tap_m6=Vref_mid-6Vx=Vref_mid-36mV。
【0035】
図2に示されるように、ADC220は、VFBを8つのADC入力基準電圧と比較するよう8つのコンパレータ225(例えば、クロック信号Fclkを使用するポジティブエッジクロックドコンパレータ)を有するコンパレータ回路224を含むことができる。コンパレータ225の出力は、クロック信号Fclkのポジティブエッジに基づき取得され得る。比較の結果に基づき、コンパレータ回路224は、8ビット(8ビットサーモメータコード)[7:0]を含むことができるerror_code_pを生成することができる。error_code_pの8ビット[7:0]の夫々は、クロック信号Fclkのポジティブエッジでコンパレータ225の1つにおいて生成され得る。error_code_pのビット[7:0]の値は、VOUTのポジティブエッジに基づき取得される電圧VOUTの電圧誤差を表す。error_code_pのビット[7:0]は、制御回路125のデジタル線形コントローラ130及び非線形コントローラ140(図1)への入力として供給される。制御回路125は、制御回路125は、error_code_pのビット[7:0]を(例えば)正のADCエラーレベルpos_error_code±1、±2、±4、±6に変換するようサーモメトリック・ツー・バイナリ変換を実行することができる。ここで、負の値(例えば、-1、-2、-4及び-6)は、VOUTのオーバーシュートを示すことができる。VOUTの誤差の値は、電圧値(例えば、所定の値)を乗じられたpos_error_code(ADCエラーレベル)に基づくことができる。例えば、VOUTの誤差の値は、pos_error_code×10mVに基づくことができる。
【0036】
図2に示されるように、ADC220は、VFBを(8つのADC入力基準電圧のうちの)5つの入力基準電圧Vref_tap_p1、Vref_tap_p4、Vref_tap_m1、Vref_tap_m4、及びVref_tap_m6と比較するよう5つのコンパレータ(例えば、クロック信号Fclkを使用するネガティブエッジクロックドコンパレータ)227を有するコンパレータ回路226を更に含むことができる。コンパレータ227の出力は、クロック信号Fclkのネガティブエッジに基づき取得され得る。比較の結果に基づき、コンパレータ回路226は、5ビット(5ビットサーモメータコード)[4:0]を含むことができるerror_code_nを生成することができる。error_code_nの5ビット[4:0]の夫々は、クロック信号Fclkのネガティブエッジでコンパレータ227の1つにおいて生成され得る。error_code_nの5ビット[4:0]の値は、クロック信号Fclkのネガティブエッジに基づき取得される電圧VOUTの電圧誤差を表す。error_code_nのビット[4:0]は、制御回路125の非線形コントローラ140(図1)への入力として供給される。制御回路125は、制御回路125は、error_code_nのビット[4:0]を(例えば)負のADCエラーレベルneg_error_code±1、±4、±6に変換するようサーモメトリック・ツー・バイナリ変換を実行することができる。負荷ステップ中に、VOUTが正又は負いずれかのクロックエッジで非線形閾値(例えば、±40mV出力誤差に対応する±4)と交差する場合には、制御回路125は非線形モードに入ることができ、非線形コントローラ140は誤差を補正するよう動作することができる。
【0037】
図2で、コンパレータ回路224及び226のコンパレータ225及び227は夫々、コンパレータオフセットが低く(例えば、±1/2LSB(最下位ビット)内に)保たれ且つADCが単調であることを確かにするためにオートゼロオフセット補正(auto-zero offset cancellation)を使用することができる。
【0038】
制御回路125は、ADCエラーコードの適切なサーモメータ・ツー・バイナリコード変換を確かにするよう、error_code_pの8ビット[7:0]サーモメータコード及びerror_code_nの5ビット[4:0]サーモメータコードに対してバブル補正(bubble correction)を実行することができる。コンパレータ225の入力部へ供給されるADC入力基準電圧を改善するよう、基準生成において較正が実行され得る。例えば、オンライン較正が、ユニティゲインバッファ216a及び216bのランダムオフセットを削るために使用され得る。ユニティゲインバッファ216a及び216bにおける何らかの残留オフセットの影響はADC範囲にあり、第2DAC217の使用により生成される異なる基準の間の差分にはない。
【0039】
図2は、8つのコンパレータ225及び5つのコンパレータ227を夫々含むコンパレータ回路224及び226を一例として示す。しかし、コンパレータ回路224及び226の一方又は両方におけるコンパレータの数は様々であることができる。例えば、コンパレータ回路224及び226の一方又は両方におけるコンパレータの数は、より高い分解能又は範囲を提供するよう増やされ得る。
【0040】
上記の説明は、図1及び図2を参照して、エラーコード生成部120を使用した誤差情報error_code_p及びerror_code_nの生成について論じた。非線形コントローラ140及びデジタル線形コントローラ130(図1)は、電圧VOUTの値を目標値範囲内に保つために、誤差情報error_code_p及びerror_code_nを使用して制御情報control_codeの値を調整することができる。以下の説明は、デジタル線形コントローラ130(図3乃至図6)及び非線形コントローラ140(図7乃至図9)の構造及び動作について論じる。
【0041】
[デジタル線形制御技術]
電圧レギュレータ110(図1)の動作条件は、VIN(入力電圧)と、VOUT(出力電圧)と、電力切替ユニット112のカレント・パー・レッグ(I_per_leg)と、電圧レギュレータ110を含むICチップのプロセスコーナーに対応するオン抵抗とを含む静的パラメータによって定義され得る。上記のパラメータは、時間にわたって変化し得るが、それらの変化は、負荷トランジェント中の抵抗負荷(例えば、負荷115)に対する負荷電流(例えば、ILOAD)の変化ほど動的ではない。オンダイ負荷キャパシタンスも、所与の状態でオンされる機能ユニット(例えば、負荷115におけるマルチコア・プロセッサ内のプロセッサコア)の数に基づき変化し得る。本明細書で記載されるデジタル線形制御技術は、図3乃至図6を参照して以下で論じられるように、負荷の急な変化及び電圧レギュレータ110の動作条件の緩やかな変化に有効に対抗するために適応直流(DC)ゲインの動的な調整及び動的な負荷極相殺を用いる。
【0042】
[プラント伝達関数]
図3は、本明細書で記載されるいくつかの実施形態に従って、デジタル線形コントローラ130において実装され得るデジタル線形制御技術のためのプラントモデル305を示す。図3のプラントモデル305は、プラント(トランジスタバンク113+負荷抵抗R+負荷キャパシタCload)伝達関数を記述するために使用され得る。電流ICSは、並列な出力抵抗Rを有する理想的な電流源電流値を表す。電流ICSと出力抵抗Rとの組み合わせは、パワーFETをモデル化するために使用される。用語‘N’は、オンすべきトランジスタバンク113内のレッグ(電流経路)の数を決定するcontrol_code(例えば、線形モード中にデジタル線形コントローラ130によって生成されるN個のビット)を表す。広い負荷電流範囲(例えば、0.1Aから15A)にわたって変化する負荷抵抗Rに加えて、トランジスタバンク113の出力抵抗Rは変化することができ、カレント・パー・レッグIunitは低ドロップアウト範囲(100mVに満たない。)において低下し得る。固有キャパシタンスCは、オンされる負荷115内の機能ユニット(例えば、プロセッサコア)により変化し得る。しかし、キャパシタンスCの変化が全体の負荷キャパシタンスに対して小さい場合には、キャパシタンスCは無視され得る。本明細書で記載されるデジタル線形制御技術は、係数の単一のセットを用いてプラント変動にわたって閉ループ応答を狭めるよう動的補償を提供することができる。
【0043】
図3に示されるプラントモデル305は、d(VOUT)/d(N)に対する二次伝達関数を有することが分かる。これは、以下で示されるように適切な方法により書き換えられ得る。
【数1】
ここで、Gは、単位コード変化あたりのDC電圧ゲインであり、wは零であり、wp1、wp2は伝達関数の極である。ここで、
【数2】
【0044】
esrは、大部分がCloadの単位あたりの値である。よって、Resr×Cload及びwは一定のままであることができる。Cはまた、一般に、Cloadよりもずっと小さい。従って、wp2は、関心のある帯域において伝達関数の振幅及び位相応答に対してそれほど変化しない。しかし、負荷抵抗R、N、及びGは、負荷電流とともに著しく変化し得る。用語‘N’は、線形モードではdlc_outに等しいcontrol_codeを表す(例えば、線形モードでは、control_code=dlc_out=N)。例えば、250mAから15Aへの負荷電流の変化は、Rにおいて6000の比率変化を引き起こし得る(ここで、R=公称出力電圧(例えば、VOUT)/負荷電流)。同様のスケール変化は、Nにおいて(ここで、N=負荷電流/Iunit)、ひいてはGにおいて起こり得る。よって、支配極wp1及びDCゲインGは、負荷電流の変化とともに広範囲にわたって変化し得る。出力抵抗Rも、電圧ドロップアウトとともに変化することができ、Rは、ある出力電圧範囲内(例えば、0.5から1.13V)で更に変化することができる。(上述されたように)著しく変化し得るそのようなプラントのための固定係数によりデジタル補償器を設計することは、課題をもたらし得る。しかし、後述されるように、本明細書で記載される技術は、過渡性能又は安定性に影響を与えずに(例えば、劣化なしで)広い負荷範囲にわたってデジタル補償器を使用して固定係数(例えば、係数の単一のセット)を提供する。ここで及び以下で論じられるデジタル補償器は、図1のデジタル線形コントローラ130(例えば、その部分)に含まれ得る。
【0045】
[適応極相殺及び適応DCゲイン式]
デジタル補償器(デジタル線形コントローラ130に含まれ得る。)は、本明細書で記載される技術に基づき、プラントの動的支配極を相殺するための動的零と、プラントのDCゲインの変化を相殺するための適応DCゲインとを実装する。よって、ループ内のデジタル補償器の伝達関数は、プラント内の変化に対して逆である動的(又は適応的)DCゲインと、変化する動作条件にわたってプラント内の動的極を相殺するための動的(又は適応的)零とを有することになる。
【0046】
よって、この理解によれば、(R||R/N)を‘Req’と簡単に書くことで、デジタル補償器の初期伝達関数は、次のように記述され得る。
【数3】
ここで、Gsetpointは、係数計算のために使用される設定点でのプラントDCゲインであり、W=1/((Resr+Req)Cload)は、プラントのwp1と同じである。
【数4】
【0047】
この形で、Req(=R||R/N)の項は、最初の項のゲイン係数としてのみ現れ、第2の項では全く存在しない。すなわち、デジタル補償器は適応ゲインを有して実装され得、適応係数は無視され得る(例えば、適応係数なしで適応ゲインのみで実装される)。動的零に加えて、デジタル補償器はまた、目標帯域幅をセットするための静的極と、システムを安定させ且つ定常状態誤差を減らすための比例積分器(PI)とを有する。次の式は、静的極及びPI補償器を含むデジタル補償器の完全伝達関数を示す。
【数5】
ここで、Wは極であり、H+K/sはPI補償器である。Resrは、大部分が、Cloadの単位あたりで計算された値であり、よって、‘Resrload’は一定であり、‘Ruesr’と書き換えられ得る。上記に基づき、適応DCゲイン項は、次のように表現され得る。
【数6】
ここで、H(s)は厳格(strict)関数であり、よって実装可能である。
【0048】
[Z領域実装]
z領域での実装のために、s伝達関数は、s=(z-1)/(z+1)×2/Tのバイリニア又はタスティン(Tustin)変換を用いてz伝達関数に変換され得る。
【数7】
ここで、A、A、B、及びBは定数である。単純化すると、
【数8】
ここで、a、a、a、a’、a’、a’、b、及びbは、プログラムされ得るデジタル補償器の係数であり、AG及びAGは、図1のデジタル線形コントローラ130に含まれ得るデジタル補償器の2つのフォワード分子経路内の適応ゲイン乗数である。
【0049】
[説明されているデジタル補償器の実装]
図4は、本明細書で記載されるいくつかの実施形態に従って、上記のz伝達関数H(z)に基づくデジタル補償器を含むことができる図1のデジタル線形コントローラ130の簡略化された実装を表す。図4に示されるように、デジタル線形コントローラ130は、各々の適応ゲイン回路411(適応ゲイン乗数AGを供給することができる。)及び適応ゲイン回路422(適応ゲイン乗数AGを提供することができる。)を含むフォワード経路(例えば、有限インパルス応答(FIR)フィルタ)410及び420を含むことができる。デジタル線形コントローラ130は、フィードバック経路430を含むことができる。フォワード経路410及び420のFIRフィルタは、情報(FIRフィルタ出力)FIR1_out及びFIR2_outを夫々供給することができる。フォワード経路420は、情報(フォワード経路420の出力)FWD2_outを供給することができ、これは、フィードバック経路430の出力を減じる前にフォワード経路410の出力に加えられる。
【0050】
図4に示されるように、係数a0、a1、及びa2は、フォワード経路410内の固定係数であり、係数a0’a1’、及びa2’は、フォワード経路420内の固定係数であり、係数b1及びb2は、フィードバック経路430内の固定係数である。簡単のために、フィードバック経路430は、係数b1及びb2の符号を逆にすることによって(図4に示されるように)加算器を用いて実装され得る。
【0051】
図4で、適応ゲイン回路411は、情報VID_code(Vnomに対応する既知の情報であり、Vnomは目標VOUTであることができる。)、及びVdropout(例えば、VIN-VOUT)情報を使用して、フォワード経路410のゲインを調整し、一方、適応ゲイン回路422は、カレント・パー・レッグ(Iunit)情報(Iunitは、図1のトランジスタバンク113内のカレント・パー・レッグである。)を使用して、フォワード経路420のゲインを調整する。Iunitに対するAG(適応ゲイン乗数)の依存性は、Iunitが低下するところのより低いドロップアウトでのみ見られる。
【0052】
図4に示されるように、デジタル線形コントローラ130は、error_code_pを受け、dlc_out(例えば、Nビットコード)を生成することができる。dlc_outの値は、図4に示されるように、信号nl_mode_enを用いてマルチプレクサ433及び435によって選択され得るnl_out(図1の非線形コントローラ140の出力)からのフィードバックにも基づくことができる。動作中、dlc_outの値は、トランジスタバンク113(図1)内のレッグ(例えば、電流経路164及び165)を制御(例えば、ターンオン又はターンオフ)するよう、error_code_pに基づき、各クロックサイクルで更新され得る。出力情報dlc_outも、現在の動作条件に基づきゲインを調整するよう適応ゲイン回路411へフィードバックされ得る。エラーコードは2、3の既知の値(例えば、0、±1、±2、±4、±6)しかとらないので、error_code_pを乗じられた係数は記憶(事前にプログラム)され、そして、マルチプレクサの選択ラインとしてバイナリコード情報を使用して、マルチプレクサの入力として準備又は使用され得る。これは、本明細書で記載されるようにDCを調整するために適応ゲイン回路411内で使用される乗算器に加えてフォワード経路410内で更なる乗算器(複数を含む。)を使用することを回避する。これは、電圧レギュレータ110が、比較的問題のないタイミングの問題又は無視できるほどのタイミングの問題で、比較的高い周波数(例えば、数百メガヘルツの範囲)で動作するのを助ける。
【0053】
[適応ゲイン1(AG1)の導出及び実装]
上記のAG及びAGの式において、Iunit(カレント・パー・レッグ)及びReq(R||R/N)は両方とも変化し得る。Iunitは、カレント・パー・レッグがより低いドロップアウトで低下するので、ドロップアウトに依存する。よって、Iunitは、低ドロップ範囲でのみ調整され得る。しかし、Reqは、トランジスタバンク113の出力抵抗R及び負荷抵抗Rとともに著しく変化し得る。出力抵抗Rは、トランジスタバンク113が主に線形領域で動作し飽和では動作しない中間範囲(例えば、100mVから400mV)でのドロップアウトに対して特に、ドロップアウトともに変化し得る。よって、AGは、クロックサイクルごとに再計算及びリフレッシュされる必要があり得る。
【数9】
100mVよりも低いドロップアウトの場合に、トランジスタバンク113のトランジスタは、抵抗として振る舞うことができ、Iunitは、ドロップアウトとともに変化し得る。よって、上記の式は、以下で示されるように書き換えられ得る。
【数10】
ここで、Vnomは、目標情報VID_code(Vnomに対応するデジタル情報)から知られる目標出力電圧(例えば、目標VOUT)であることができる。Iunit×Rは、主に、所与のドロップアウト電圧のための定数であり、ドロップアウトに関するルックアップテーブルから供給され得る。Vdopoutの値は、Vdropout=VIN_code-VID_codeのデジタル値であるように、既知の情報VID_code(VINに対応するデジタル情報)及びVID_codeからデジタル値で計算され得る。変化する負荷電流は、前のサイクルのcontrol_code(例えば、N)によって間接的に表され(線形モードでcontrol_code=dlc_outであるから、前のサイクルのcontrol_codeは前のサイクルのdlc_outに等しい。)、Vnom、‘Iunit’、及びVdropoutは、デジタルコード利用可能である。
【0054】
図5Aは、本明細書で記載されるいくつかの実施形態に従って、図4の適応ゲイン回路411の図を示す。図5Aに示されるように、AG(適応ゲイン乗数)は、前のサイクルからのdlc_outの関数として計算可能であり、それを負荷電流に適応させる。例えば、dlc_outがNビットコードである場合に(ここで、Nはビットの数である。)、前のサイクルからのdlc_outは、前のサイクルからのNビットの値によって供給され得る。
【0055】
図5Aに示されるように、dlc_outは、係数M1(ここで、M1=1/Gsetpoint)及びM2(ここで、M2=I/Nsetpoint)によって割られ得る。除算器502及び503(例えば、除算器として右シフトレジスタを使用する。)は、前のサイクルからのdlc_outを割るために使用され得る。マルチプレクサ504は、除算器502及び503の出力を情報N/Mとして(信号Low_dropout_thres_selに基づき)選択するために使用され得る。除数M1及びM2は、シフタを使用して除算器を実現するよう2の累乗であるよう選択され得る。乗算器550(図5B)を使用して、情報N/Mは次いで、以下で記載されるようにVID_code(Vnom)及びVdropout情報に基づき計算される最終インデックスFinal_indexを用いて選択されるゲイン係数を乗じられるよう入力情報として供給される。上述されたように、Vnomは、目標VID_codeから知られる目標出力電圧であり、‘Iunit’は、主に、所与のドロップ電圧のための定数であり、ドロップアウトに関するルックアップテーブルから供給され得、Vdropoutは、既知のVIN_code(VIN)及びVID_code(目標VOUTであるVnom)からデジタル値で計算され得る。
【0056】
図5Bは、本明細書で記載されるいくつかの実施形態に従って、図5Aの適応ゲイン回路411の乗算器550を示す。図5Bに示されるように、Final_index(8ビット[7:0]最終インデックス)を使用したゲイン係数乗算は、完全な乗算器/除算器の使用を回避するよう(図5Aからの)出力コードN/Mに加えてシフト・アンド・アド(shift-and-add)ロジックを使用して行われ得る。図5Bのシフト・アンド・アドロジックは、2×x(7)+2×x(6)+2×x(5)+2×x(4)+2-1×x(3)+2-2×x(2)+2-3×x(1)+2-4×x(0)の形をとる。ここで、xは、最終インデックスからのビットに基づく。
【0057】
[最終インデックスの計算]
再び図5Aを参照すると、ルックアップテーブルに基づく実装が、実際の算術計算の代わりに、AG(適応ゲイン乗数)のためのインデックスを計算するために使用され得る。
【0058】
1/Vnomの値は、目標Vnom範囲(例えば、0.5Vから1.13V)に対する固定ルックアップテーブル‘vid_lut’として記憶され得、多数の等しいサブレンジに分けられ得る。例えば、図5Aに示されるように、‘vid_lut’は、16個の値vid_lut0乃至vid_lut15に分けられ得る。これらは、マルチプレクサ510の入力として供給され得る。
【0059】
1/Iunitの値は、プログラム可能なルックアップテーブル‘reg_IuRo_lut’で記憶され得、多数のサブレンジに分けられ得る。例えば、図5Aに示されるように、‘reg_IuRo_lut’は、16個の値reg_IuRo_lut0乃至reg_IuRo_lut15に分けられ得る。これらは、マルチプレクサ511の入力として供給され得る。値reg_IuRo_lut0乃至reg_IuRo_lut15は、例えば、20mVから40mVの分解能で最も変化する中間ドロップアウト領域(例えば、100mVから400mVのドロップアウト範囲)においてより高い分解能で、現在の電圧ドロップアウトに基づき選択され得る。1/Iunitのためのルックアップテーブルは、スキューとともに変化し得る既知の出力抵抗Rと、既知の測定されたIunit情報とに基づき、プログラムされ得る。
【0060】
1/Vdropoutの値も、Vdropout情報から入手可能なドロップ情報に関する固定ルックアップテーブル‘vdrop_lut’として記憶され得る。例えば、図5Aに示されるように、1/Vdropoutは、16個の値vdrop_lut0乃至vdrop_lut15に分けられ得る。これらは、マルチプレクサ512の入力として供給され得る。上述されるように、Vdropout=VIN-VOUT(Vnomに基づき、VnomはVID_codeに基づく。)。よって、図5Aで、Vdropoutのデジタル値は、VIN_code(例えば、VIN)からのVID_code(例えば、Vnom)コードの減算に基づき求められ得る。よって、Vdropoutのデジタル値は、VIN_code-VID_codeである。
【0061】
この値は、低ドロップアウトの領域で(例えば、10mV分解能で)のみ保持され得る。
【0062】
動作中、1/Vnomの値が通常は使用され(例えば、常に使用され)、信号VID_index(VID_codeに基づく。)を用いてロジック回路520によって選択される。しかし、ロジック回路521及び522(夫々Vdrop_index1及びVdrop_index2を使用する。)は、Vdropout(例えば、低ドロップアウト及び高ドロップアウト)に基づきいずれか一方のインデックス値1/Iunit又は1/Vdropoutを選択する。図5Aに示されるように、マルチプレクサ530は、上記AGについての式で説明され且つ図5Aで示されるようにドロップアウトに基づき1/Iunitと1/Vdropoutとの間で選択を行うために信号Low_dropout_thres_selを使用することができる。信号Low_dropout_thres_selは、Vdropout<V_threshold(例えば、おおよそ100mV)の場合に、又はカレント・パー・レッグIunitが閾値を下回る(例えば、電圧レギュレータ110が低ドロップアウト領域に入る)場合に、(論理0レベルから論理1レベルへ)アクティブにされ得る。1/Iunit又は1/Vdropoutのどちらか一方の選択されたルックアップテーブル値(Low_dropout_thres_selによって選択される。)は、選択されたルックアップテーブル値1/Vnom(ロジック回路520の信号VID_indexによって選択される。)に(加算器540により)加えられ、Final_indexが生成される。Final_indexは、動作点に基づき(図5Bを参照して上述されたように)適切なゲインを選択するために使用される。
【0063】
デジタル線形コントローラ130若しくは制御回路125、又はその両方は、1/Vnom、1/Iunit、及び1/Vdropoutの値を(例えば、ルックアップテーブル入力の形で)記憶(例えば、プログラム)するようメモリ回路(例えば、レジスタ又は他のタイプのメモリ、図示せず。)を含むことができる。上述されたように、Final_indexの値は、1/Vnom、1/Iunit、及び1/Vdropoutの値に基づき生成される。よって、Final_indexの値は、デジタル線形コントローラ130若しくは制御回路125、又はその両方のメモリ回路に記憶されている値に基づく。
【0064】
1/Vnomの値は、時々無視され得る。例えば、1/Vnomは、1/Vdropoutと比べて1/Vnomからのゲインに対する寄与がずっと小さいということで、より低いドロップアウト領域で無視され得る。しかし、特定のドロップアウト(比較的高いドロップアウト)では、1/Vnomは優位に立ち始めることができる。1/Iunitからの寄与は、出力抵抗Rが一般的に(例えば、いくつかのテクノロジノードにおいて)より高いドロップアウトでは増大するので、小さいか又は無視できるほどである。
【0065】
上記の説明は、図4のAG(適応ゲイン乗数)を計算するための適応ゲイン回路411の計算及び実装のための技術について論じている。同様の技術は、フォワード経路420に適応ゲイン回路422(すなわち、AG、適応ゲイン乗数)を実装するために使用され得る。
【0066】
図6は、本明細書で記載されるいくつかの実施形態に従って、図4のデジタル線形コントローラ130の適応ゲイン回路422の図を示す。図6で、フォワード経路420の適応ゲイン回路422の乗算器650の構造は、図5Bの乗算器550の構造と同様(又は同じ)であることができる。図6に示されるように、Iunit_set/Iunitの値は、異なった選択可能な値を含むことができるルックアップテーブル‘Iunit_lut’で保持され得る。例えば、‘Iunit_lut’は、16個の値Iunit_lut0乃至Iunit_lut15を含むことができる。これらは、マルチプレクサ622の入力として供給され得る。値Iunit_lut0乃至Iunit_lut15は、情報sensed_Iunit_code(例えば、4ビット[3:0]コード)を用いて適切に選択され得る。sensed_Iunit_codeの値は、テレメトリを目的として使用される電力ゲートのための電流感知ロジック(図示せず。)からの動的なIunit情報に基づくことができる。設定点でのR_eq(R||R/Nである。)は、項AG2(適応ゲイン2)を、より低いドロップアウトで主に変化し得る動作点でのカレント・パー・レッグに対する設定点でのカレント・パー・レッグの比にのみ依存させるよう、フォワード経路420に関連する係数項で消費される。図6に示されるように、乗算器650は、Iunit_lut0乃至Iunit_lut15のうちの1つ(マルチプレクサ622の出力に選択される。)と(図4のフォワード経路420のFIRフィルタからの)情報FIR2_outとの積(乗算)に基づき、情報FWD_outを生成することができる。情報FWD_outは、図4を参照して上述されるように、フォワード経路410からの情報に加えられ得る。
【0067】
このように、図1乃至図6を参照して上述されたように、電圧レギュレータ110における線形制御技術は、プラントの負荷に依存した変化する支配極及び変化するDCゲインを、対応する零及び新しい適応DCゲイン調整技術により相殺することができる。記載されている技術は、種々の負荷条件に適用可能であり、特定の負荷条件に制限されるべきではない。これは、電圧レギュレータ110が、時間にわたって異なる負荷条件でプラントに起こる変化に対抗するよう自身を動的に調整することを意味する。よって、記載されている線形制御技術は、広範囲の電流負荷及び広い出力電圧範囲にわたって、高速且つ安定した応答、及びピークドループの低減、又はその両方に関して、閉ループ性能を改善するのを助ける。記載されている線形制御技術はまた、係数の単一のセットが、異なる負荷条件に対して電圧レギュレータ110の広い動作範囲にわたってデジタルフィルタのために使用されることを可能にする。これらの因子の全ては、記載されている線形制御技術が、いくつかの従来技術に対する改善を有することを可能にする。
【0068】
例えば、上述されたように、いくつかの従来の線形制御技術は、特定の出力電圧及び負荷条件での最悪の場合の条件のために設計されている。斯様な特定の負荷条件が変更される場合に、低い帯域幅に起因して、性能の劣化、遅い応答時間、より高いドループ/オーバーシュートが結果として起こり得る。そのような従来技術は、係数の単一のセットで比較的狭い範囲の負荷電流を扱う。
【0069】
本明細書で記載されている技術では、電圧レギュレータ110は、よりずっと広範囲の負荷電流、入力電圧範囲、及び負荷キャパシタンスに対して係数の単一のセットを使用する。更に、記載されている技術におけるループの性能は、安定性及びループ帯域幅に関して、その範囲にわたって比較的不変なままであることができ、これは、最悪の場合のドループ及び整定時間に関して、より良い過渡応答をもたらす。
【0070】
[非線形制御技術]
図1を参照して上述されたように、制御回路125(図1)は、誤差(例えば、ドループ又はオーバーシュート事象)がVOUTで検出されると、非線形モードに入る。本明細書で記載される非線形制御技術において、非線形コントローラ140は、非線形補正を実行してVOUTの誤差を二段階(初期段階及びそれに続く段階)で補正するために、出力情報nl_out(デジタル非線形出力コード)を使用する。nl_outの計算は、初期段階及びそれに続く段階と異なる。本明細書で記載される非線形制御技術では、非線形コントローラ140は、VOUTが依然として目標値範囲内にあるとき(VOUTが非線形目標閾値と交差する前)に、補正情報nl_dlc_stepを計算(例えば、再計算)する。これは、VOUTが目標値範囲外であると検出されると直ぐに(例えば、クロック信号Fclkの半サイクルで)、非線形コントローラ140が即座にVOUTを補正することを可能にする。非線形コントローラ140はまた、その時点での動作条件に基づき補正情報nl_dlc_stepの値を計算(例えば、再計算)する。それにより、非線形コントローラ140は、過剰補正又は過小補正を回避するよう滑らか且つ正確にVOUTの誤差を補正することができる。
【0071】
nl_dlc_stepを計算する動作の部分として、非線形コントローラ140は、エラーコード(例えば、error_code_p及びerror_code_nに基づき生成される。)が零誤差区間の外にあり、VOUTの値が非線形エントリ閾値(例えば、ドループ事象については+4及びオーバーシュート事象については-4)と交差する前のクロックエッジ(ポジティブ及びネガティブエッジ)の数を数える。カウント値の値は、非線形エントリ時間計算において使用される。補正情報nl_dlc_stepは、計算された非線形エントリ時間計算に基づき計算される。次いで、非線形コントローラ140は、nl_outを計算し、nl_outを、VOUTの誤差が検出された後の初期段階での使用のために準備するよう、計算されたnl_dlc_stepを使用する。初期段階後に、非線形コントローラ140は、その次の段階でのnl_outの別の計算を使用し、VOUTが目標値範囲に戻るまでVOUTの誤差を補正し続ける。VOUTが目標値範囲に戻った時点で、非線形コントローラ140は、非線形モードから出て、動作をデジタル線形コントローラ130へ譲る。
【0072】
以下の記載は、非線形モードに入るときにVOUTの誤差を補正する初期段階のnl_out(デジタル非線形出力コード)の計算に使用される補正情報nl_dlc_stepの計算について論じる。
【0073】
OUTの誤差(例えば、ドループ又はオーバーシュート)を補正する初期段階で使用されるnl_outの値(初期値)は、次の式に基づき計算される。
【0074】
(ドループの場合)
nl_out=dlc_out(前のサイクル)+nl_dlc_step
【0075】
(オーバーシュートの場合)
nl_out=dlc_out(前のサイクル)-nl_dlc_step。
【0076】
図7は、本明細書で記載されるいくつかの実施形態に従って、例となるドループ事象中の電圧VOUT及び電流ILOADの波形を例示する。図7はまた、ドループに対する伝播遅延の影響の例と、ドループ補正が開始する時間とを示す。電流ILOADは、初期値(図7で“INITIAL LOAD”として示される。)及び最終値(図7で“FINAL LOAD”として示される。)を有することができる。上述されたように、非線形コントローラ140は、補正情報nl_dlc_stepを計算する動作の部分として、クロックエッジ(ポジティブ及びネガティブエッジ)の数のカウントを使用する。図7で、‘COUNT’(カウント)は、時間TRS1でセット(又はリセット)され得る。次いで、‘COUNT’は、時間TでCOUNT=1から開始し、(例えば、時間TRS2で)COUNT=0にリセットされるまで続く(例えば、順次に増大する)ことができる。簡単のために、‘COUNT’のうちのほんの数個の値(例えば、COUNT=0,1,2)しか、図7には示されていない。
【0077】
図7の例において、目標値範囲714は、電圧VOUTの目標値範囲の例である。この例では、目標値範囲714は、上限目標値714Uと下限目標値714Lとの間にあると考えられている。上限目標値714Uは、ADC ERROR=-4(例えば、+40mV)に対応することができる。下限目標値714Lは、ADC ERROR=+4(例えば、-40mV)に対応することができる。nl_entry_thresholdは、ADC ERROR=+4(例えば、下限目標値714L)にあると考えられている。よって、この例では、電圧VOUTの値がその目標値よりも40mVだけ小さい(例えば、ドループが起きている。)と、又はその目標値よりも40mVだけ大きい(例えば、オーバーシュートが起きている。)と検出される場合に、非線形モードに入り、非線形コントローラ140は、VOUTの誤差(例えば、ドループ又はオーバーシュート)を補正し始めることができる。図7で、零誤差区間710は、VOUTに誤差がない(零誤差又は零誤差に近い)と見なされる区間(範囲)を示す。よって、この例では、電圧VOUTの値が目標値よりも10mV未満内で低い(又は高い)場合に、線形モードが維持され(例えば、非線形モードに入らない。)、デジタル線形コントローラ130(図1)は、VOUTの値を制御するよう引き続き動作する。
【0078】
[負荷ステップの開始から非線形補正の適用までの時間計算]
以下の議論で、Tは、電圧VOUTの誤差をサンプリングするためにADC120によって使用されるクロック信号Fclk(図1及び図2)の周期(例えば、2.5ns)である。非線形コントローラ140内の非線形ロジックのためのサンプルは、クロック信号Fclkのポジティブ及びネガティブエッジに基づき夫々の半サイクル(半周期又はT/2)で取得され得る。
【0079】
T_nlentry=T/2+(COUNT+1)×(T/2)。ここで、T_nlentryは、負荷ステップが(例えば、時間T0で)開始してから(例えば、図7のT2で)非線形エントリまでの時間であり、COUNTは、非線形エントリ閾値交差が検出される時点(例えば、時間T2)よりクロック信号Fclkの半サイクル前である時間(例えば、時間T1)で取得されるカウントの値である。よって、図7の例において、タイミング計算のための式(例えば、T_nlentry及びTstart_recovery(以下))で使用されるカウントは、COUNT=2(時間T1で図7中に示される。)である。しかし、カウントの値は、負荷ステップのdi/dtに基づき変化し得る。例えば、非線形エントリ閾値交差が検出される時点よりクロック信号Fclkの半サイクル前である時点で、カウントの値は2よりも小さく(例えば、負荷ステップが速い場合)、又は2よりも大きく(例えば、負荷ステップが遅い場合)なり得る。ここでの記載では、サイクルは、クロック信号Fclk(サンプリングクロック信号)のサイクルを指す。
【0080】
図7の例では、T_nlentry=T/2+(count+1)×(T/2)=T/2+(2+1)×(T/2)=T/2+3×(T/2)=4×(T/2)。これは、T_nlentryが、時間T0(負荷ステップ開始時間)から4半サイクル後であることを意味し、それは、図7に示されるように、時間T2になる。
【0081】
Tstart_recovery=T_nlentry+T/2(ここで、非線形エントリ時のADC出力からの伝播遅延のために、T/2が加えられる。)。ここで、Tstart_recoveryは、負荷ステップが(例えば、図7の時間T0で)適用された後に補正が開始する時点である。
【0082】
上記に基づき、
Tstart_recovery=(COUNT+3)×(T/2) (式1)
【0083】
よって、図7の例では、Tstart_recovery=(2+3)×(T/2)=5×(T/2)。これは、Tstart_recoveryが、時間T0(負荷ステップ開始時点)から5半サイクル後であることを意味し、それは、図7に示されるように、時間T3になる。
【0084】
本明細書で記載される非線形補正は、回復が開始して直ぐ半サイクル(T/2)後に十分な電流を供給(例えば、調達)するために、補正情報nl_dlc_step(nl_outに含まれる。)を適用する。印加される電流は、非線形補正が適用されずに、負荷電流がそのサイクルの間に同じdi/dtで増大し続けた場合に起こることになる差分電圧ドループよりも大きい差分電圧(例えば、ΔV)上昇を与える。これは、電圧VOUTを直ちに回復させるであろうと期待して電圧(例えば、ΔV)が計算されるので、ドループが更に下がることを防ぐ。この理由により、非線形モードに入るときの電圧誤差及び負荷のdi/dtは、補正情報nl_dlc_stepが上記の基準を満足するように決定され得る。
【0085】
例えば、非線形補正が適用されなかった場合に‘ΔV’が半サイクルで起こり得る更なるドループであるとすると、電圧VOUTが直ぐ次の半サイクルで更に下がることを防ぐために、(ΔVに基づく)同量の変化が直ぐ次の半サイクルで補われ得る。これは、VOUTの誤差が検出された後(例えば、非線形エントリが検出された後)、直ぐ次の半サイクルで電圧VOUTが回復し始める(例えば、目標値範囲に戻り始める)ことを可能にする。‘ΔV’及び‘nl_dlc_step’の計算は、次の通りである。
【0086】
I=C×dv/dtに基づき、
nl_dlc_step×I_per_leg=Cload×ΔV/(T/2)
nl_dlc_step=(Cload/I_per_leg)×(2/T)×ΔV
(式2)
【0087】
ここで、Cloadは、出力で見られる総負荷キャパシタンスであり、I_per_legは、トランジスタバンク113(図1)の固定カレント・パー・レッグであり、‘ΔV’の計算は、以下で示される。
【0088】
ΔV=Tstart_recovery(例えば、図7の時間T3)からTstart_recovery+T/2(例えば、図7の時間T4)の間の(ILOAD×dt)/Cloadの積分。
【0089】
近似を用いて上の2つの時点の間(例えば、時間T3からT4の間)のILOAD曲線の下の面積を計算し、Tstart_recoveryを式1から代入することによって、‘ΔV’は、次のように求められ得る。
【0090】
ΔV=delta_Ih×(COUNT+3)×(T/2)/Cload (式3)
【0091】
ここで、delta_Ihは、線形負荷ステップの場合の半サイクルでの負荷電流の変化である。delta_Ihの値は、以下で示されるように計算され得る。
【0092】
以下の記載で、droop_at_entryは、VOUTの誤差が検出される非線形エントリ点での(例えば、図7の時間T2での)電圧ドループである。droop_at_entryの値は、nl_error_at_entry(エントリ時のサンプリングされたADC誤差である。)と、やはり知られている既知のADC分解能(例えば、固定電圧値(例えば、0.01V))とから近似的に知られる。
【0093】
より速い負荷トランジェントの場合(例えば、‘COUNT’がより小さい値を有する場合)にサンプリングされる‘nl_error_at_entry’と比較される更なるドループが存在し得る。‘nl_error_at_entry’の正確さ(例えば、nl_error_at_entryが実際の電圧ドループにどれくらい近いか)は、負荷ステップが遅い場合に(例えば、‘COUNT’がより大きい値を有する場合に)、負荷ステップが高速である場合に電圧VOUTが非線形エントリ閾値(el_entry_threshold)と交差するのにかかる時間よりも電圧VOUTは非線形エントリ閾値と交差するのに時間がかかるので、改善され得る。これらの関係に基づき、エントリ時の電圧ドループは、‘COUNT’及び‘nl_error_at_entry’の関数として正確に計算され得る。正確さは、比較的により多くの数(例えば、4以上)のサンプルが1ADCクロック周期(クロック信号Fclkの周期)でとられる場合に、又はADC220(図2)内のコンパレータの数が増やされる場合に、更に改善され得る。
【0094】
次の式は、‘COUNT’及び‘nl_error_at_entry’の関数に基づくエントリ時の電圧ドループ(droop_at_entry)を計算するために使用され得る。
【0095】
(COUNT≦3の場合)
nl_err_entry_adj=nl_error_at_entry+1
【0096】
(COUNT>3且つ≦5の場合)
nl_err_entry_adj=nl_error_at_entry
【0097】
(COUNT>5の場合)
nl_err_entry_adj=nl_error_at_entry-1
【0098】
ここで、‘nl_error_at_entry’は、非線形エントリ時のエラーコードの大きさである。一例として、nl_error_at_entryは4又は6であることができ、非線形エントリ閾値は(例えば)40mV誤差であることができる。
【0099】
droop_at_entry=nl_err_entry_adj×0.01=t=0(例えば、時間T0)からT_nlentry(例えば、時間T2)までの(ILOAD×dt)/Cloadの積分
【0100】
負荷電流の非線形変化を前提として、ILOADの下の面積を計算することは、次を与える。
【0101】
droop_at_entry=(1/Cload)×(1/2)×T_nlentry×delta_Ih×T_nlentry/(T/2)
【0102】
‘T_nlentry’を代入した後、それは、fs=1/T(サンプリングクロック周波数である。)として、次を与える。
【0103】
delta_Ih=4×Cload×fs×0.01×nl_err_entry_adj/[(COUNT+2)] (式4)
【0104】
式2、3及び4を組み合わせると、非線形モードで適用され得る補正情報nl_dlc_step(非線形エントリが検出されるより半サイクル前の最終コントローラステップ)の値は、次の通りである。
【0105】
nl_dlc_step=(0.04×Cload×fs/I_per_leg)×nl_err_entry_adj×(COUNT+3)/[(COUNT+2)
(式5)
【0106】
上述されたように、nl_dlc_stepは、電圧VOUTが目標値範囲外であると検出された後に非線形補正の初期段階で使用されるべきnl_outの値を計算(例えば、再計算)するために非線形コントローラ140が使用する補正情報である。
【0107】
[非線形コントローラの実装]
図8は、本明細書で記載されるいくつかの実施形態に従って、図1の非線形コントローラ140の簡略化されたアーキテクチャ図を示す。実施のために、補正情報nl_dlc_stepのための上記の式5は、以下で示されるように書き直され得る。
【0108】
nl_dlc_step=K_fixed×K_count (式6)
【0109】
ここで、K_fixed=(0.04×Cload×fs/I_per_leg)は、負荷キャパシタンスCloadの実際の測定(既知の)値に基づくプログラム可能な値であることができ(図8では一例として10ビットのreg_K_fixed[0:9]と示されている。)、I_per_legは、トランジスタバンク113(図1)のカレント・パー・レッグであり、‘fs’は、サンプリング周波数(例えば、クロック信号Fclkの周波数)である。非線形コントローラ140若しくは制御回路125、又はその両方は、K_fixedの値(図8で10ビットのreg_K_fixedによって表される値)を記憶(例えば、プログラム)するためのメモリ回路(例えば、レジスタ又は他のタイプのメモリ、図示せず。)を含むことができる。
【0110】
K_count=nl_err_entry_adj×(COUNT+3)/[(COUNT+2)]は、nl_error_at_entry=4の場合の‘COUNT’に基づきルックアップテーブルとして実装され得る。広範囲な負荷シナリオにおいて、‘COUNT’(図7)の値は様々であってよい。例えば、‘COUNT’は0から9の間で変化してよい。よって、この例では、ルックアップテーブルは、カウント値(例えば、図8に示されるように、8ビット[7:0]の例を夫々有するreg_Kcount_val0乃至reg_Kcount_val9)などの、‘K_count’に対する10個の異なる入力(値)を含むことができる。これらの値は、入力としてマルチプレクサ810へ供給され得る。非線形コントローラ140若しくは制御回路125、又はその両方は、異なる選択可能な値であることができるK_countの値(例えば、reg_Kcount_val0乃至reg_Kcount_val9)を記憶(例えば、プログラム)するためのメモリ回路(例えば、レジスタ又は他のタイプのメモリ、図示せず。)を含むことができる。
【0111】
非線形コントローラ140の動作中、カウント測定論理回路805(図8)は、ルックアップテーブルから記憶されているカウント値の中の適切な‘K_count’を選択するようカウント情報‘Kcount_meas_sel’を生成することができる。‘Kcount_meas_sel’の値に応じて、マルチプレクサ810は、選択された‘K_count’(‘K_count_selected’と呼ばれる。)であるようreg_Kcount_val0乃至reg_Kcount_val9の中から1つを選択することができる。‘K_count_selected’は、補正情報nl_dlc_stepを生成するよう乗算器812によってreg_K_fixed(式6中の‘K_fixed’に対応する。)を乗じられる。
【0112】
図8に示されるように、‘K_count’(reg_Kcount_val0乃至reg_Kcount_val9のうちの1つである。)は、非線形コントローラ140の出力へ補正情報nl_dlc_stepを適用する前に、nl_error_at_entry=6の場合に、1.5倍によって調整され得る(例えば、回路814によって1.5を乗じられ得る)。
【0113】
非線形コントローラ140は、マルチプレクサ816にnl_dlc_step=reg_K_fixed×K_count_selected(例えば、nl_error_at_entry=4の場合)又はnl_dlc_step=reg_K_fixed×K_count_selected×1.5(例えば、nl_error_at_entry=6の場合)のいずれか一方を選択させるために信号nl_error_at_entry_selを使用することができる。上述されたように、‘K_count_selected’は、‘Kcount_meas_sel’の値に基づき選択されるreg_Kcount_val0乃至reg_Kcount_val9の中の1つである。
【0114】
図9は、本明細書で記載されるいくつかの実施形態に従って、‘Kcount_meas_sel’の値を生成するために使用される図8のカウント測定論理回路805のブロック図を示す。図9に示されるように、カウント測定論理回路805は、誤差情報pos_error_code及びneg_error_code並びに信号nl_mode_en及びnl_exitに基づき‘Kcount_meas_sel’を生成するようモジュール911及び912並びに加算器923を含むことができる。‘Kcount_meas_sel’の値は、VOUTが零誤差区間710にある時間(例えば、図7の時間T)から、値が非線形エントリ閾値に達する時間(例えば、時間T2)(例えば、VOUT図7において目標値範囲714の外にある時間)までに何回クロックエッジ(ポジティブ及びネガティブ)が起きるかを決定する。図9において、モジュール911は、クロック信号Fclkのポジティブエッジの数を数えるようポジティブエッジ計数ロジック911aを含むことができる。モジュール912は、クロック信号Fclkのネガティブエッジの数を数えるようネガティブエッジ計数ロジック912aを含むことができる。加算器923は、モジュール911及び912からのカウント値を足して‘Kcount_meas_sel’を生成するよう動作することができる。
【0115】
動作中、エラーコードpos_error_code及びneg_error_code並びにADC誤差レベル(例えば、図7)に基づき、図9のカウント測定論理回路805は、VOUTが零誤差区間(例えば、図7の零誤差区間710)の外にある場合にカウントを開始し、そして、VOUTが零誤差内にある場合にカウントを中止し、次いでカウントをリセットすることができる。例えば、図7の例を用いると、カウント測定論理回路805は、VOUTの値が零誤差区間710内にある場合にCOUNT=0であるように(例えば、時間TRS1で)‘COUNT’をセット(又はリセット)することができる。カウント測定論理回路805は、VOUTが零誤差区間710の外にある時点の直後に(例えば、時間Tで)、カウントCOUNT=1を開始することができる。カウント測定論理回路805は、VOUTの誤差の値が零誤差区間710内に再びある場合にカウントを中止しリセットすることができる(例えば、図7では、時間TRS2でのCOUNT=0)。図9で、信号nl_mode_en及びnl_exitの一方又は両方も、‘Kcount_meas_sel’を生成するためにエラーコードpos_error_code及びneg_error_codeに加えて使用され得る。例えば、信号nl_mode_enは、カウントを開始及び中止するために使用されてよく、信号nl_exitは、カウントをリセットするために使用されてよい。
【0116】
再び図8を参照すると、K_cout(‘Kcount_meas_sel’に基づき選択されるreg_Kcount_val0乃至reg_Kcount_val9のうちの1つ)とK_fixed(固定値)との乗算に基づく補正情報nl_dlc_stepの計算の後、nl_dlc_stepは、nl_outを出力するようdlc_outと結合され得る(それに加算されるか、又はそれから減じられる)。この再計算されたnl_outは、VOUTの誤差(例えば、ドループ又はオーバーシュート)が検出されるより半サイクル前に準備され得る。
【0117】
図8で、ラベル「for Droop」は、VOUTのドループを補正するよう動作するためにnl_outを計算する動作を示す。加算器822は、前のサイクルからのdlc_outにnl_dlc_stepを加えることができる。結果(nl_out=dlc_out+nl_dlc_step)は、非線形モードに入る前に利用可能であることができる(例えば、ポジティブ及びネガティブエッジでトリガされるフリップフロップ(+ve FF及び-ve FF)823及び824に記憶され得る)。
【0118】
図8中のラベル「for Over-shoot」は、VOUTのオーバーシュートを補正する準備をするようnl_outを計算する動作を示す。減算器832は、前のサイクルからのdlc_outからnl_dlc_stepを減じることができる。結果(nl_out=dlc_out-nl_dlc_step)は、非線形モードに入る前に利用可能であることができる(例えば、ポジティブ及びネガティブエッジでトリガされるフリップフロップ(+ve FF及び-ve FF)823及び824に記憶され得る)。
【0119】
クロック信号Fclkは、フリップフロップ823、824、833、及び834をトリガするために使用され得る。飽和モニタ(SAT)825及び835は、事前計算されたnl_outの値(夫々nl_out=‘dlc_out’+‘nl_dlc_step’、及びnl_out=‘dlc_out’-‘nl_dlc_step’)を飽和限界内に保つために使用され得る。事前計算されたnl_outは、VOUTを補正する初期段階中(例えば、図7では、時間T3からT4の間)にcontrol_codeを調整するために使用され得る。
【0120】
上記の説明では、カウント値reg_Kcount_val0乃至reg_Kcount_val9を選択するために使用されるカウント情報Kcount_meas_sel(‘COUNT’である。)は、非線形エントリより半サイクル前に利用可能であり、K_countとK_fixedとの乗算後に‘nl_dlc_step’を有効にする。よって、‘nl_out’が(非線形エントリが検出された後)VOUTの補正において適用される時点(例えば、時間T3)で、‘nl_out’は、nl_out=dlc_out_prev+/-nl_dlc_step(ここで、dlc_out_prevは、(例えば、時間T2での)dlc_outの前の値である。)であるところの事前計算された値である。この事前計算された値は、非線形エントリ閾値交差が検出され、‘nl_mode_en’がアクティブにされる(例えば、論理1レベルに変化する)と直ぐに(例えば、図7の時間T2で)伝えられ得る。閾交差とともに、非線形コントローラ140は、信号‘entry_error_sign_bit’(制御マルチプレクサ842に対する。)、非線形エントリクロックエッジ信号‘entry_pos_or_neg_edge’(制御マルチプレクサ826及び836に対する。)、及びエントリ時の非線形誤差(例えば、nl_error_at_entry=4又は6)によって表されるエントリ時の誤差の符号に基づき、適切な事前計算されたnl_out(nl_out=dlc_out+nl_dlc_step又はnl_out=dlc_out-nl_dlc_stepのどちらか一方)を選択することができる。非線形コントローラ140の構造は、非線形コントローラ140からトランジスタバンク113(図1)への伝播遅延に加えて経路内で加えられるロジック遅延が取るに足らないものであるように構成される。
【0121】
図8に示されるように、非線形コントローラ140は、error_code_pの正確さを改善するバブル補正851と、情報error_code_pのビット[7:0]を正のADC誤差レベルpos_error_code(例えば、5ビット[4:0])に変換するサーモメトリック・ツー・バイナリ変換を実行するサーモ・ツー・バイナリ変換器852とを含むことができる。非線形コントローラ140は、error_code_nの正確さを改善するバブル補正861と、情報error_code_nのビット[7:0]を正のADC誤差レベルpos_error_code(例えば、5ビット[4:0])に変換するサーモメトリック・ツー・バイナリ変換を実行するサーモ・ツー・バイナリ変換器862とを含むことができる。カウント測定論理回路805(図9にも図示される。)は、カウント値reg_Kcount_val0乃至reg_Kcount_val9を選択するために使用されるカウント情報‘Kcount_meas_sel’(例えば、4ビット[3:0])を生成する。
【0122】
図8に示されるように、非線形コントローラ140は、ADC誤差レベルpos_error_code及びneg_error_code並びにnl_entry_thresholdに基づき信号nl_mode_en(非線形モードイネーブル信号)及びnl_exit(非線形イグジット信号)を生成するよう誤差閾検出器872を含むことができる。誤差閾検出器872は、VOUTの値がnl_entry_thresholdと交差する場合(これは、VOUTが目標値範囲714(図7)の外にある場合である。)に(例えば、図7の時間T2で)、信号nl_mode_enをアクティブにする(例えば、論理1レベルを供給する)ことができる。誤差閾検出器872は、VOUTの値が目標値範囲714に戻る場合に(例えば、図7の時間T3で)、信号nl_exitをアクティブにする(論理1レベルを供給する)ことができる。
【0123】
図8に示されるように、情報pos_error_codeの値は、スケーリング係数K2を乗じられ得、前のサイクルからのnl_outの値に(加算器874によって)加えられ得る。非線形コントローラ140は、pos_error_codeの値(スケーリング係数K2を乗じられた後である。)を飽和限界内に保つよう飽和モニタ(SAT)875を含むことができる。スケーリング係数K2は、細かいステップを提供し且つVOUTの回復中にオーバーシュートを回避するために、‘nl_dlc_step’よりも小さい係数であることができる。線形コードnl_outは、デジタル線形コントローラ130が零誤差を定常状態に保つよう新しい‘dlc_out’コードに落ち着く前のnl_exitでのモード間の滑らかな切り替えを確かにするよう、デジタル線形コントローラ130へ返される。
【0124】
図8に示されるように、非線形コントローラ140は、上記の非線形補正の初期段階(例えば、最初の部分)及びそれに続く段階(例えば、後続の部分)の間にnl_outの値を選択するよう、信号Stateによって制御され得るマルチプレクサ876を含むことができる。信号Stateは、電圧レギュレータ110の状態機械(図示せず。)によって生成され得る。信号Stateは、それが線形モードの間は論理0に対応する信号レベル(例えば、State=0)を、及び非線形モードに入った後ある時点で(例えば、図7の時間T4で)論理1に対応する信号レベル(例えば、State=1)を有することができるように、制御され得る。非線形モードに入った後(例えば、図7の時間T2のの後)の信号Stateの値に対するnl_outの値は、次の通りである。
【0125】
State=0(例えば、図7の時間T2より前)
nl_out=dlc_out+nl_dlc_step(VOUTの誤差がドループである場合)又は
nl_out=dlc_ou-+nl_dlc_step(VOUTの誤差がオーバーシュートである場合)
【0126】
State=1(例えば、図7の時間T3の後)
nl_out=nl_out_prev+K2×pos_error_code
【0127】
ここで、pos_error_codeは、error_code_pに基づく。
【0128】
よって、非線形モードに入った後、信号StateがState=1にアクティブにされる前に、nl_out=dlc_out+nl_dlc_step(VOUTの誤差がドループである場合)、又はnl_out=dlc_out-nl_dlc_step(VOUTの誤差がオーバーシュートである場合)。State=1の後(例えば、時間T4の後)、‘nl_out’は、ポジティブエッジに関する動的なエラーコード(pos_error_code)を用いてクロック信号Fclkの各サイクルで計算され得る。状態=1の後、‘nl_out’コードは、VOUTの値が(例えば、図7の時間T5で)目標値範囲714に戻るまで、各サイクルで、K2×pos_error_codeによってインクリメント/デクリメントされ得る。誤差閾検出器872(図8)は、VOUTが目標値範囲714に戻った後に非線形モードから出るよう信号nl_exitをアクティブにする(例えば、論理1レベルを供給する)ことができる。デジタル線形コントローラ130(図1)は、VOUTを制御する動作を引き継ぐことができる。記載されている線形及び非線形動作のプロセスは、VOUTを零誤差区間710に且つ目標値範囲714内に保つために繰り返す。
【0129】
図7乃至図9を参照した上記の説明は、時間に対する負荷電流の変化率(di/dt)をデジタルで取り出すことによって補正情報nl_dlc_stepが正確に動的に事前計算され得ることを示す。よって、(非線形エントリの検出後に(半サイクル内に)nl_outが適用される時点での)出力情報nl_out=dlc_out_prev+/-nl_dlc_stepは、事前計算された補正情報nl_dlc_stepに基づく。この補正情報は、VOUTが目標値範囲内にあるときに、誤差(例えば、ドループ)が検出される前に計算される。サンプリングクロック信号(クロック信号Fclk)エッジのポジティブエッジ又はネガティブエッジのどちらか一方で(デュアルエッジ(ポジティブ-ネガティブ)動作による。)誤差出力がプログラム可能な閾値(例えば、図7のnl_entry_threshold)と交差すると直ぐに、事前計算された非線形コードnl_outは、出力ポート126(図1)でのcontro_codeとして選択される。contro_codeは、経路内の比較的小さい伝播遅延(例えば、最悪場合で数百ピコ秒の遅延)で、トランジスタバンク113内のオンされるレッグ(例えば、オンされる更なるレッグ)の数を調整することができる。従って、閾値を交差する出力ドループ(例えば、VOUT-40mV)から更なるレッグのターンオンまでの最悪の場合の応答時間は、比較的小さくなり得る。
【0130】
よって、図7乃至図9を参照して上述されたように、高速な負荷トランジェント中に、電圧レギュレータ110は、自立的に非線形モードに入り、出力電圧(VOUT)が回復した後に線形モードに戻る。本明細書で記載される非線形制御技術は、非線形補正が適用されず、負荷電流が同じ平均レートで上昇し続けた場合に起こることになる電荷の損失及び電圧ドループをデジタルで計算(事前計算)する。次いで、記載されている技術は、トランジスタバンク113のトランジスタを制御するデジタル非線形ステップを決定するために、事前計算された情報を使用する。これは、電圧レギュレータ110が、直ぐ次のサイクルで電荷を加えるほど十分な電流量を調達するよう十分なレッグをターンオンすることを可能にする。このようにして電流量を適用することは、たとえ負荷電流が同じレートで次のサイクルに増大し続けるとしても、ドループが即時に回復することを可能にする。これはまた、過剰補正も防ぎ、それによって、オーバーシュート及び発振が回避される。これらの因子の全ては、記載されている非線形制御技術がいくつかの従来技術に対する改善を有することを可能にする。
【0131】
例えば、上述されたように、いくつかの従来技術は、負荷変動にかかわらず、ドループによって引き起こされる誤差を補正するよう固定補償を適用する。これは、出力電圧範囲にわたる広範囲の負荷電流及び大きい電流変動レートに対する過剰補正及び過小補正をもたらす可能性がある。
【0132】
本明細書で記載される非線形技術では、電圧レギュレータ110は、比較的広範囲の負荷電流及び広範囲にわたって変化するdi/dtを有する応用を対象とするよう、単一のモジュール式の再構成可能な解決法を提供する。これは、複数の機能ユニット(例えば、マルチコア・プロセッサ内のプロセッサコア)を有する負荷に対して特に有用であることができる。非線形ステップゲインは、出力電圧を供給するパワートランジスタ(例えば、パワーFET)及び出力負荷に基づきプログラム可能であることができる。更に、ステップは、負荷di/dtが非線形コントローラ140において内部でデジタルで計算されるので、負荷di/dtに適応でき、それによって、非線形応答におけるオーバーシュート又は発振は回避される。記載されている技術はまた、有意な遅延を加えることなしに非線形ステップの内部適応制御とは別にヒューズオプションによってプラントの仕様を変更するためにも使用され得る。
【0133】
図10は、本明細書で記載されるいくつかの実施形態に従って、システム(電子システム)1000の形で装置を示す。システム1000は、コンピュータ、タブレット、又は他の電子システムを含むか、又はそれに含まれ得る。図10に示されるように、システム1000は、プロセッサ1005、メモリデバイス1020、メモリコントローラ1030、グラフィクスコントローラ1040、入出力(I/O)コントローラ1050、ディスプレイ1052、キーボード1054、指示デバイス1056、少なくとも1つのアンテナ1058、コネクタ1015、及びバス1060(例えば、システム1000の回路基板(図示せず。)上に形成された導線)を含むことができる。
【0134】
プロセッサ1005、メモリデバイス1020、メモリコントローラ1030、グラフィクスコントローラ1040、I/Oコントローラ1050の夫々は、ICチップを含むことができる。
【0135】
いくつかの配置で、システム1000は、ディスプレイを含む必要がない。よって、ディスプレイ1052は、システム1000から省略され得る。いくつかの配置で、システム1000は、如何なるアンテナも含む必要がない。よって、アンテナ1058は、システム1000から省略され得る。
【0136】
プロセッサ1005は、汎用プロセッサ又はASICを含むことができる。プロセッサ1005は、中央演算処理装置(CPU)を含むことができる。
【0137】
メモリデバイス1020は、動的ランダムアクセスメモリ(DRAM)デバイス、静的ランダムアクセスメモリ(SRAM)デバイス、フラッシュメモリデバイス、相変化メモリ、これらのメモリデバイスの組み合わせ、又は他のタイプのメモリを含むことができる。図10は、メモリデバイス1020がプロセッサ1005とは別個のスタンドアロン型メモリデバイスである例を示す。代替の配置で、メモリデバイス1020及びプロセッサ1005は、同じダイ上に位置することができる。そのような代替の配置では、メモリデバイス1020は、埋め込みDRAM(eDRAM)、埋め込みSRAM(eSRAM)、埋め込みフラッシュメモリ、又は他のタイプの埋込メモリなどの、プロセッサ1005内の埋込メモリである。
【0138】
ディスプレイ1052は、液晶ディスプレイ(LCD)、タッチスクリーン(例えば、容量式若しくは抵抗式タッチスクリーン)、又は他のタイプのディスプレイを含むことができる。指示デバイス1056は、マウス、スタイラス、又は他のタイプの指示デバイスを含むことができる。
【0139】
I/Oコントローラ1050は、有線又は無線通信(例えば、1つ以上のアンテナ1058を通じた通信)のための通信モジュールを含むことができる。そのような無線通信は、WiFi通信技術、ロング・ターム・エボリューション・アドバンスド(LTE-A)通信技術、又は他の通信技術に従う通信を含むことができる。
【0140】
I/Oコントローラ1050は、次の、ユニバーサル・シリアル・バス(USB)、ディスプレイポート(DP)、高精細マルチメディアインターフェイス(HDMI(登録商標))、サンダーボルト(Thunderbolt)、ペリフェラル・コンポーネント・インターコネクト・エクスプレス(PCIe)、イーサネット(登録商標)、及び他の仕様を含む標準又は仕様(例えば、I/O標準又は仕様)のうちの1つ以上に従ってシステム1000が他のデバイス又はシステムと通信することを可能にするモジュールを更に含むことができる。
【0141】
コネクタ1015は、システム1000が外部のデバイス(又はシステム)へ結合されることを可能にするよう配置され得る(例えば、ピンなどの端子を含むことができる)。これは、システム1000がコネクタ1015を通じてそのようなデバイス(又はシステム)と通信する(例えば、情報を交換する)ことを可能にし得る。コネクタ1015は、接続1016(例えば、バス)を通じてI/Oコントローラ1050へ結合され得る。
【0142】
コネクタ1015、接続1016、及びバス1060の少なくとも一部は、USB、DP、HDMI、サンダーボルト、PCIe、イーサネット、及び他の仕様のうちの少なくとも1つに従う要素(例えば、導電端子、導線、又は他の導電素子)を含むことができる。
【0143】
図10は、一例として、互いに別れて配置されたシステム1000の要素(例えば、デバイス及びコントローラ)を示す。例えば、プロセッサ1005、メモリデバイス1020、メモリコントローラ1030、グラフィクスコントローラ1040、及びI/Oコントローラ1050の夫々は、別個のICチップ(例えば、別個の半導体ダイ)に配置され得る。いくつかの配置で、システム1000の2つ以上の要素(例えば、プロセッサ1005、メモリデバイス1020、グラフィクスコントローラ1040、及びI/Oコントローラ1050)は、システム・オン・チップ(SoC)を形成することができる同じダイ(例えば、同じICチップ)に配置され得る。
【0144】
図10に示されるように、プロセッサ1005、メモリデバイス1020、メモリコントローラ1030、グラフィクスコントローラ1040、及びI/Oコントローラ1050の夫々は、電圧レギュレータ1010を含むことができる。電圧レギュレータ1010は、電圧レギュレータ110を含むことができる。よって、電圧レギュレータ1010は、図1乃至図9を参照して上述された線形及び非線形制御技術を用いることができる。
【0145】
図11は、本明細書で記載されるいくつかの実施形態に従って、装置の作動方法1100を示すフローチャートである。方法1100で使用される装置は、図1乃至図10を参照して上述された装置(例えば、電圧レギュレータ110及び1010を含む装置100及びシステム1000)のいずれかを含むことができる。方法1100のアクティビティのいくつかは、ハードウェア、ソフトウェア、ファームウェア、又はハードウェア、ソフトウェア及びファームウェアのあらゆる組み合わせによって実行されてよい。例えば、方法1100のアクティビティのいくつかは、図1乃至図10を参照して上述された装置(例えば、電圧レギュレータ110及び1010を含む装置100及びシステム1000)のいずれかにおいて実装されたハードウェア、ソフトウェア、ファームウェア、又はハードウェア、ソフトウェア及びファームウェアのいずれかの組み合わせによって実行されてよい。
【0146】
図11に示されるように、方法1100のアクティビティ1110は、ノードでの電圧を制御するよう電圧レギュレータの第1コントローラで制御情報を生成することを含むことができる。アクティビティ1120は、電圧が目標値範囲内の第1値を有する電圧レギュレータの第1モードの間、制御情報の第1値を調整するよう第1コントローラ内のフォワード経路のゲインを計算することを含むことができる。アクティビティ1130は、第1モードの間に電圧レギュレータの第2コントローラで補正情報を生成することを含むことができる。アクティビティ1140は、電圧が目標値範囲外の第2値を有する電圧レギュレータの第2モードの間、補正情報に基づき制御情報の第2値を調整することを含むことができる。
【0147】
方法1100は、図11に示されるアクティビティ1110。1120、1130及び1140と比べて少ない又は多いアクティビティを含むことができる。例えば、方法1100は、図1乃至図10を参照して上述された電圧レギュレータ110及び1010の動作を含め、装置100及びシステム1000のアクティビティ及び動作を含むことができる。
【0148】
上述された装置及び方法の説明は、種々の実施形態の構造の一般的な理解を提供するよう意図され、本明細書で記載される構造を使用する可能性がある装置の全ての要素及び特徴の完全な記載を提供することは意図されない。
【0149】
上記の装置及び方法は、高速コンピュータ、通信及び信号処理回路、シングルプロセッサモジュール又はマルチプロセッサモジュール、単一の埋込プロセッサ又は複数の埋込プロセッサ、マルチコア・プロセッサ、メッセージ情報スイッチ、並びにマルチレイヤ又はマルチチップモジュールを含む特定用途向けモジュールを含むか、又はそれらに含まれ得る。そのような装置は、テレビ受像機、携帯電話機、パーソナルコンピュータ(例えば、ラップトップコンピュータ、デスクトップコンピュータ、携帯型コンピュータ、など)、タブレット(例えば、タブレットコンピュータ)、ワークステーション、ラジオ、ビデオプレイヤー、オーディオプレイヤー(例えば、MP3(Motion Picture Experts Group, Audio Layer 3)プレイヤー)、車両、医療装置(例えば、心臓モニタ、血圧モニタ、など)、セットトップボックス、及び他などの様々な他の装置(例えば、電子システム)内のサブコンポーネントとして更に含まれ得る。
【0150】
[付記及び例]
例1は、電力切替ユニットのトランジスタを制御するよう出力情報を供給する出力部と、前記電力切替ユニットによって生成される出力電圧に基づくフィードバック電圧を受けるノードと、制御回路とを含み、前記制御回路は、前記出力電圧から生成される前記フィードバック電圧に基づき誤差情報を生成し、前記出力部へ結合されるフォワード経路へ供給される前記誤差情報に基づき前記出力情報を生成し、前記出力情報に第2時間インターバル中に第2値を持たせるために、第1時間インターバル中に前記出力情報の第1値に少なくとも部分的に基づき計算されたゲイン係数に基づき、前記フォワード経路のゲインを調整する、対象(例えば、デバイス、電子装置(例えば、回路、電子システム、若しくは両方)、又は機械)を含む。
【0151】
例2で、例1の対象において、任意に、前記制御回路は、前記出力電圧が目標値範囲内にあるときに、前記出力情報に前記第1値及び前記第2値を持たせる。
【0152】
例3で、例1の対象において、任意に、前記制御回路は、線形コントローラを含み、該線形コントローラは、乗算器を含み、該乗算器は、前記出力情報の前記第1値に基づく入力情報を受ける第1入力部と、前記制御回路内のメモリ回路から情報を受ける第2入力部と、前記ゲイン係数を供給する出力部とを含む。
【0153】
例4で、例1の対象において、任意に、前記制御回路は、クロック信号を受信し、該クロック信号のタイミングに基づき前記誤差情報を生成し、前記制御回路は、前記クロック信号の各サイクルにおいて前記フォワード経路の前記ゲインを調整する。
【0154】
例5で、例1の対象において、任意に、前記制御回路は、前記出力部へ結合される更なるフォワード経路へ供給される前記誤差情報に基づき前記出力情報を生成し、前記出力情報に前記第2時間インターバル中に前記第2値を持たせるために、前記第1時間インターバル中に前記出力情報の前記第1値に少なくとも部分的に基づき計算される更なるゲイン係数に基づき、前記更なるフォワード経路のゲインを調整する。
【0155】
例6で、例1乃至5のうちいずれかの対象は、前記フィードバック電圧及び一連の基準電圧に基づき前記誤差情報を生成するアナログ-デジタル変換器を更に有することを任意に含んでよい。
【0156】
例7で、例1乃至5のうちいずれかの対象において、任意に、前記制御回路は、前記誤差情報を受ける第1フォワード経路であり、該第1フォワード経路のゲインを調整するよう前記ゲイン係数を生成する第1適応ゲイン回路を含む前記第1フォワード経路と、前記誤差情報を受ける第2フォワード経路であり、更なるゲイン係数に基づき前記第2フォワード経路のゲインを調整するよう前記更なるゲイン係数を生成する第2適応ゲイン回路を含む前記第2フォワード経路と、前記出力部と前記第1フォワード経路及び前記第2フォワード経路とへ結合されるフィードバック経路とを含む。
【0157】
例8は、電力切替ユニットのトランジスタを制御するよう制御情報を供給する出力ポートと、制御回路とを含み、前記制御回路は、前記電力切替ユニットによって生成される出力電圧の値が前記電力切替ユニットへ供給される入力電圧の値よりも小さいように前記制御情報を生成し、前記出力電圧が目標値範囲内の第1値を有する第1時間インターバル中に補正情報の値を計算し、前記補正情報に基づき、前記出力電圧が前記目標値範囲外の第2値を有する第2時間インターバル中に、前記制御情報の値を調整する、対象(例えば、デバイス、電子装置(例えば、回路、電子システム、若しくはその両方)、又は機械)を含む。
【0158】
例9で、例8の対象において、任意に、前記制御回路は、前記出力電圧が供給されるノードでの電流の変化率に基づき前記補正情報の値を計算する。
【0159】
例10で、例8の対象において、任意に、前記補正情報は、前記第2時間インターバル中に前記ノードで調整されるべき電流の量を示す。
【0160】
例11で、例8乃至10のうちいずれかの対象において、任意に、前記制御回路は、クロック信号を受信し、前記制御回路は、前記出力電圧の前記第2値が前記目標値範囲外であると検出される時点から前記クロック信号の1サイクルに満たない時点で前記制御情報の値を調整する。
【0161】
例12で、例8乃至10のうちいずれかの対象において、任意に、前記制御回路は、クロック信号を受信し、前記出力電圧の前記第2値は、前記クロック信号の第1エッジで前記目標値範囲外であると検出され、前記制御回路は、前記クロック信号の第2エッジで前記制御情報の値を調整し始め、前記第2エッジは、前記第1エッジの発生から前記クロック信号の1サイクル未満で現れる。
【0162】
例13で、例8乃至10のうちいずれかの対象において、任意に、前記制御回路は、クロック信号を受信し、前記制御回路は、前記クロック信号の2つの連続したエッジ間の時間インターバル中に前記補正情報を計算する。
【0163】
例14で、例8乃至10のうちいずれかの対象において、任意に、前記制御回路は、クロック信号を受信し、前記制御回路は、カウント値に基づき前記補正情報を計算し、前記カウント値は、前記クロック信号の立ち上がり及び立ち下がりの数に対応する。
【0164】
例15で、例8乃至10のうちいずれかの対象において、任意に、前記制御回路は、前記出力電圧の前記第2値が前記目標値範囲外であると検出される時点から、前記出力電圧の前記第2値が前記目標値範囲外であると検出されてから半サイクル後の時点までの電流の変化率に基づき、前記補正情報の値を計算する。
【0165】
例16で、例8乃至10のうちいずれかの対象において、任意に、前記制御回路は、前記第2時間インターバルの第1部分の間、前記補正情報に基づき前記制御情報の値を調整し、前記制御回路は、前記第2時間インターバルの第2部分の間、前記出力電圧から生成されるフィードバック電圧と一連の基準電圧との比較から生成される誤差情報に基づき前記制御情報の値を調整する。
【0166】
例17で、例16の対象は、前記比較を実行するアナログ-デジタル変換器を更に有することを任意に含んでよい。
【0167】
例18は、入力電圧を受けて、該入力電圧の値よりも小さい値を有する出力電圧を供給する電力切替ユニットと、前記出力電圧の誤差に基づき第1誤差補正情報及び第2誤差補正情報を生成するエラーコード生成部と、前記出力電圧が目標値範囲内の第1値を有する第1モードの間に前記電力切替ユニットを制御するよう第1出力情報を生成する第1コントローラであり、前記第1出力情報に前記第1モードの間第2値を持たせるために、前記第1モードの間にフォワード経路のゲインを計算する前記第1コントローラと、前記第1モードの間に補正情報の値を計算し、該補正情報に基づき、前記出力電圧が前記目標値範囲外の第2値を有する第2モードの間に前記電力切替ユニットを制御する第2コントローラとを含む対象(例えば、デバイス、電子装置(例えば、回路、電子システム、若しくはその両方)、又は機械)を含む。
【0168】
例19で、例18の対象において、任意に、前記第1コントローラは、係数の単一のセットに基づき実装されるフォワード経路を含む。
【0169】
例20で、例18の対象において、任意に、前記第1コントローラは、前記ゲインを計算するための情報を記憶するメモリ回路を含む。
【0170】
例21で、例18乃至20のうちいずれかの対象において、任意に、前記第2コントローラは、前記出力電圧が供給されるノードでの電流の変化率に基づき前記補正情報の値を計算する。
【0171】
例22で、例18乃至21のうちいずれかの対象において、任意に、前記第2コントローラは、前記第2モードの初期段階で前記電力切替ユニットを制御し、前記第2コントローラは、前記補正情報とは異なる誤差情報に基づき前記第2モードの第2段階で前記電力切替ユニットを制御する。
【0172】
例23は、半導体ダイと、該半導体ダイ上に位置する処理ユニットと、前記半導体ダイ上に位置し、前記処理ユニットへ結合される電圧レギュレータとを含み、前記電圧レギュレータは、入力電圧を受け、該入力電圧の値よりも小さい値を有する出力電圧を供給する電力切替ユニットと、前記出力電圧の誤差に基づき第1誤差補正情報及び第2誤差補正情報を生成するエラーコード生成部と、前記出力電圧が目標値範囲内の第1値を有する第1モードの間に前記電力切替ユニットを制御するよう第1出力情報を生成する第1コントローラであり、前記第1出力情報に前記第1モードの間第2値を持たせるために、前記第1モードの間にフォワード経路のゲインを計算する前記第1コントローラと、前記第1モードの間に補正情報の値を計算し、該補正情報に基づき、前記出力電圧が前記目標値範囲外の第2値を有する第2モードの間に前記電力切替ユニットを制御する第2コントローラとを含む、対象(例えば、デバイス、電子装置(例えば、回路、電子システム、若しくはその両方)、又は機械)を含む。
【0173】
例24で、例23の対象において、任意に、前記第1モードは線形モードを含み、前記第2モードは非線形モードを含む。
【0174】
例25で、例23又は24の対象において、任意に、前記半導体ダイ、前記処理ユニット、及び前記電圧レギュレータは、システム・オン・チップ(SoC)の部分である。
【0175】
例26は、ノードでの電圧を制御するよう電圧レギュレータの第1コントローラで制御情報を生成することと、前記電圧が目標値範囲内の第1値を有する前記電圧レギュレータの第1モードの間に前記制御情報の第1値を調整するよう前記第1コントローラ内のフォワード経路のゲインを計算することと、前記第1モードの間に前記電圧レギュレータの第2コントローラで補正情報を生成することと、前記電圧が前記目標値範囲外の第2値を有する前記電圧レギュレータの第2モードの間に、前記補正情報に基づき、前記制御情報の第2値を調整することとを含む対象(例えば、デバイス、電子装置(例えば、回路、電子システム、若しくはその両方)、又は機械の作動方法)を含む。
【0176】
例27で、例26の対象において、任意に、前記フォワード経路は、前記第1コントローラの複数のフォワード経路の一部であり、前記複数のフォワード経路は、係数の単一のセットを用いて実装される。
【0177】
例28で、例26又は27の対象において、任意に、前記補正情報を生成することは、前記ノードでの電流の変化率に基づき前記補正情報の値を計算することを含む。
【0178】
例29で、例26又は27の対象において、任意に、前記制御情報の値を調整することは、前記電圧の第2値が前記目標値範囲外であると検出された後に前記電圧レギュレータにおいてクロック信号の1サイクル未満で補正情報を前記電圧に適用することを含む。
【0179】
例30は、例26乃至例29のいずれかの対象を実行する手段を含む対象(例えば、デバイス、電子装置(例えば、回路、電子システム、若しくはその両方)、又は機械)を含む。
【0180】
例1乃至例30の対象は、如何なる組み合わせでも組み合わされてよい。
【0181】
上記の説明及び図面は、本発明の実施形態を実施することを当業者に可能にするいくつかの実施形態を表す。他の実施形態は、構造上の、論理的な、電気的な、プロセス上の、及び他の変更を組み込んでよい。例は、可能な変形例を代表するに過ぎない。いくつかの実施形態の部分及び特徴は、他の実施形態のそれらに含まれても、又はそれらと置換されてもよい。多数の他の実施形態は、上記の説明を読んで理解することで当業者に明らかになるだろう。従って、様々な実施形態の適用範囲は、添付の特許請求の範囲によって、そのような特許請求の範囲が権利を与えられる均等の全範囲とともに、決定される。
【0182】
詳細な説明及び特許請求の範囲において、語「~の少なくとも1つ」によって結び付けられているアイテムの一覧は、挙げられているアイテムの如何なる組み合わせも意味することができる。例えば、アイテムA及びBが挙げられている場合に、「A及びBの少なくとも1つ」の表現は、Aのみ、Bのみ、又はA及びBを意味することができる。他の例では、アイテムA、B及びCが挙げられている場合に、「A、B及びCの少なくとも1つ」との表現は、Aのみ、Bのみ、Cのみ、A及びB(Cを除く。)、A及びC(Bを除く。)、B及びC(Aを除く。)、又はA、B及びCの全てを意味することができる。アイテムAは、単一の要素又は複数の要素を含むことができる。アイテムBは、単一の要素又は複数の要素を含むことができる。アイテムCは、単一の要素又は複数の要素を含むことができる。
【0183】
詳細な説明及び特許請求の範囲において、語「~の1つ」によって結び付けられているアイテムの一覧は、挙げられているアイテムのうちのただ1つを意味することができる。例えば、アイテムA及びBが挙げられている場合に、「A及びBの1つ」の表現は、Aのみ(Bを除く。)又はBのみ(Aを除く。)を意味することができる。他の例では、アイテムA、B及びCが挙げられている場合に、「A、B及びCの1つ」との表現は、Aのみ、Bのみ、又はCのみを意味することができる。アイテムAは、単一の要素又は複数の要素を含むことができる。アイテムBは、単一の要素又は複数の要素を含むことができる。アイテムCは、単一の要素又は複数の要素を含むことができる。
【0184】
要約は、技術的開示の性質及び要点を確かめることを読者に可能にするために設けられている。それは、特許請求の範囲の適用範囲又は意義を制限又は解釈するために使用され得ないという理解の下で提出される。続く特許請求の範囲は、これをもって詳細な説明に組み込まれ、各請求項は、別個の実施形態として自立する。
【0185】
[優先権の主張]
本特許出願は、2017年4月11日付けで出願された米国特許出願第15/484404号の優先権の利益を主張する。なお、優先権の基礎となるこの特許出願は、その全文が参照により本願に援用される。
図1
図2
図3
図4
図5A
図5B
図6
図7
図8
図9
図10
図11