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

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

▶ クアルコム,インコーポレイテッドの特許一覧

<>
  • 特許-適応電圧コントローラ 図1
  • 特許-適応電圧コントローラ 図2
  • 特許-適応電圧コントローラ 図3
  • 特許-適応電圧コントローラ 図4
  • 特許-適応電圧コントローラ 図5
  • 特許-適応電圧コントローラ 図6
  • 特許-適応電圧コントローラ 図7
  • 特許-適応電圧コントローラ 図8
  • 特許-適応電圧コントローラ 図9
  • 特許-適応電圧コントローラ 図10
  • 特許-適応電圧コントローラ 図11A
  • 特許-適応電圧コントローラ 図11B
  • 特許-適応電圧コントローラ 図12
  • 特許-適応電圧コントローラ 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-11
(45)【発行日】2024-03-19
(54)【発明の名称】適応電圧コントローラ
(51)【国際特許分類】
   G05F 1/56 20060101AFI20240312BHJP
【FI】
G05F1/56 310C
【請求項の数】 24
(21)【出願番号】P 2023525589
(86)(22)【出願日】2021-10-26
(65)【公表番号】
(43)【公表日】2023-11-08
(86)【国際出願番号】 US2021056623
(87)【国際公開番号】W WO2022115192
(87)【国際公開日】2022-06-02
【審査請求日】2023-04-26
(31)【優先権主張番号】17/105,253
(32)【優先日】2020-11-25
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】507364838
【氏名又は名称】クアルコム,インコーポレイテッド
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100163522
【弁理士】
【氏名又は名称】黒田 晋平
(72)【発明者】
【氏名】ディプティ・ランジャン・パル
(72)【発明者】
【氏名】ハーシャット・パント
(72)【発明者】
【氏名】アビナッシュ・ロイ
(72)【発明者】
【氏名】シー-シン・ジェイソン・フ
(72)【発明者】
【氏名】キース・アラン・ボウマン
【審査官】征矢 崇
(56)【参考文献】
【文献】米国特許第09030176(US,B1)
【文献】米国特許第06944780(US,B1)
【文献】米国特許出願公開第2015/0241890(US,A1)
【文献】米国特許出願公開第2018/0032124(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F1/26-1/3296
G05F1/56
H03K19/00
(57)【特許請求の範囲】
【請求項1】
システムであって、
電圧検出回路を有する電圧ドループ緩和回路と、
電圧コントローラであって、
電圧供給レールと前記電圧コントローラの出力との間に結合されるスイッチであって、前記スイッチの各々が制御入力を有する、スイッチと、
前記スイッチの前記制御入力に結合された制御回路と、
前記制御回路に結合されるタイミング回路であって、
前記電圧検出回路に結合される遅延線と、
フロップであって、前記フロップの各々が、入力および出力を有し、前記フロップの各々の前記入力が、前記遅延線上のそれぞれのノードに結合され、前記フロップの前記出力が、前記制御回路に結合される、フロップと
を含む、タイミング回路と
を含む、電圧コントローラと
を含む、システム。
【請求項2】
前記スイッチの各々がそれぞれのトランジスタを備え、前記スイッチの各々の前記制御入力が前記それぞれのトランジスタのゲートに位置する、請求項1に記載のシステム。
【請求項3】
前記遅延線が、直列に結合される複数の遅延バッファを備える、請求項1に記載のシステム。
【請求項4】
前記フロップの各々の前記入力が、前記遅延バッファのそれぞれ1つの出力に結合される、請求項3に記載のシステム。
【請求項5】
前記電圧ドループ緩和回路が、
クロック分周器と、
クロックソースと前記クロック分周器との間に結合される第1の遅延回路と、
前記電圧検出回路と前記クロック分周器の制御入力との間に結合されるクロックコントローラと
をさらに備える、請求項1に記載のシステム。
【請求項6】
前記電圧検出回路が、
信号生成器と、
入力および出力を有する第2の遅延回路であって、前記第2の遅延回路の前記入力が前記信号生成器に結合され、前記第2の遅延回路の前記出力が前記遅延線に結合される、第2の遅延回路と、
入力および出力を有する検出フロップであり、前記検出フロップの前記入力が前記第2の遅延回路の前記出力に結合され、前記検出フロップの前記出力が前記クロックコントローラに結合される、検出フロップと
を備える、請求項5に記載のシステム。
【請求項7】
前記信号生成器が、タイミング信号を生成し、かつ前記タイミング信号を前記第2の遅延回路の前記入力に出力するように構成される、請求項6に記載のシステム。
【請求項8】
前記信号生成器が、前記クロックソースに結合され、前記クロックソースからのクロック信号の第1のエッジで前記タイミング信号のエッジを生成し、前記タイミング信号の前記エッジを前記第2の遅延回路の前記入力に出力するように構成される、請求項7に記載のシステム。
【請求項9】
前記タイミング回路内の前記フロップの各々が、前記クロック信号の第2のエッジで前記フロップの前記入力においてビット値をラッチし、前記ラッチされたビット値を前記フロップの前記出力において出力するように構成される、請求項8に記載のシステム。
【請求項10】
前記クロック信号の前記第1のエッジと前記クロック信号の前記第2のエッジとが、前記クロック信号の1サイクルだけ離間している、請求項9に記載のシステム。
【請求項11】
前記制御回路が、
前記スイッチの前記制御入力に結合されるスイッチコントローラと、
第1の入力、第2の入力、および出力を有する比較器であって、前記比較器の前記出力が前記スイッチコントローラに結合され、前記第1の入力が基準信号を受信するように構成され、前記第2の入力が前記フロップの前記出力に結合される、比較器と
を備える、請求項1に記載のシステム。
【請求項12】
前記基準信号がデジタルコードを備える、請求項11に記載のシステム。
【請求項13】
前記比較器の前記第1の入力に結合されるレジスタであり、前記デジタルコードを記憶するように構成される、レジスタをさらに備える、請求項12に記載のシステム。
【請求項14】
前記クロックソースが位相ロックループ(PLL)を備える、請求項5に記載のシステム。
【請求項15】
前記電圧検出回路が電圧ドループを検出するように構成される、請求項5に記載のシステム。
【請求項16】
前記クロックソースが、クロック信号を前記第1の遅延回路に出力するように構成され、
前記クロックコントローラが、前記電圧検出回路による前記電圧ドループの検出に応じて、前記クロック信号の周波数を分周するように前記クロック分周器に指示するように構成される、
請求項15に記載のシステム。
【請求項17】
前記電圧コントローラの前記出力に結合されるプロセッサと、
前記クロック分周器と前記プロセッサとの間に結合されるクロックパスと
をさらに備える、請求項5に記載のシステム。
【請求項18】
回路の電圧を制御するための方法であって、
電圧検出回路からタイミング信号を受信するステップであって、前記電圧検出回路が、電圧ドループを検出するように構成される、ステップと、
タイミング回路において、タイミングマージン信号を生成するために、前記タイミング信号に対して時間-デジタル変換を実行するステップと、
前記タイミングマージン信号および基準信号を受信するステップと、
前記タイミングマージン信号と前記基準信号とを比較するステップと、
前記比較に基づいて、供給レールと前記回路との間でオンにされるスイッチの数を調整するステップと、
前記電圧検出回路による前記電圧ドループの検出に応じて、クロック信号の周波数を減少させるステップと
を含む、方法。
【請求項19】
オンにされるスイッチの前記数を調整するステップが、前記タイミングマージン信号が前記基準信号よりも小さい場合、前記供給レールと前記回路との間でオンされるスイッチの前記数を増加させるステップを含む、請求項18に記載の方法。
【請求項20】
オンにされるスイッチの前記数を調整するステップが、前記タイミングマージン信号が前記基準信号よりも大きい場合、前記供給レールと前記回路との間でオンされるスイッチの前記数を減少させるステップを含む、請求項19に記載の方法。
【請求項21】
前記クロックソースが、クロック信号を前記第1の遅延回路に出力するように構成され、
前記クロックコントローラが、前記検出フロップの前記出力に基づいて、前記クロック信号の周波数を分周するように前記クロック分周器に指示するように構成される、
請求項6に記載のシステム。
【請求項22】
前記検出フロップが、前記クロック信号のエッジで前記検出フロップの前記入力においてビット値をラッチし、前記ラッチされたビット値を前記検出フロップの前記出力において出力するように構成される、請求項21に記載のシステム。
【請求項23】
前記電圧検出回路が遅延回路を含み、前記方法が、
前記タイミング信号を生成するステップと、
前記タイミング信号を前記遅延回路を通して伝搬させるステップと
をさらに含み、
前記電圧検出回路から前記タイミング信号を受信するステップが、前記遅延回路の出力から前記タイミング信号を受信するステップを含む、
請求項18に記載の方法。
【請求項24】
前記電圧検出回路が、前記遅延回路の前記出力に結合されるフロップを含み、前記方法が、
前記フロップを使用して前記クロック信号のエッジで前記タイミング信号をラッチするステップと、
前記フロップの出力に基づいて、前記電圧ドループを検出するステップと
をさらに含む、請求項23に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2020年11月25日に米国特許庁に出願された係属中の非仮出願第17/105,253号の優先権および利益を主張し、それらの内容の全体が、以下に完全にすべて記載されるかのように、またすべての適用可能な目的のために、本明細書に組み込まれる。
【0002】
本開示の態様は、一般に電力管理に関し、より詳細には、適応電圧コントローラに関する。
【背景技術】
【0003】
回路(たとえば、プロセッサ)は、入力供給レールから電力を受信することができる。いくつかの場合には、(たとえば、回路の電力消費を低減するために)入力供給レール上の供給電圧よりも低い電圧で回路を動作させることが望ましい。これらの場合、入力供給レールと回路への電圧との間に結合される電圧コントローラを使用して、回路の電圧を入力供給電圧よりも低い電圧に設定することができる。
【発明の概要】
【課題を解決するための手段】
【0004】
以下は、そのような実装形態の基本的理解を与えるために、1つまたは複数の実装形態の簡略化された概要を提示する。本概要は、企図されるすべての実装形態の包括的な概説ではなく、すべての実装形態の主要または重要な要素を特定することも、いずれかまたはすべての実装形態の範囲を定めることも意図しない。その唯一の目的は、後で提示されるより詳細な説明の前置きとして、1つまたは複数の実装形態のいくつかの概念を簡略化された形で提示することである。
【0005】
第1の態様は、システムに関する。システムは、電圧コントローラを含み、電圧コントローラは、電圧供給レールと電圧コントローラの出力との間に結合されるスイッチであり、スイッチの各々が制御入力を有する、スイッチと、スイッチの制御入力に結合される制御回路とを含む。システムは、制御回路に結合されるタイミング回路も含み、タイミング回路が、遅延線と、フロップであり、フロップの各々が、入力および出力を有し、フロップの各々の入力が、遅延線上のそれぞれのノードに結合され、フロップの出力が、制御回路に結合されている、フロップとを含む。
【0006】
第2の態様は、回路の電圧を制御するための方法に関する。方法は、タイミングマージン信号および基準信号を受信するステップと、タイミングマージン信号と基準信号とを比較するステップと、比較に基づいて、供給レールと回路との間でオンにされるスイッチの数を調整するステップとを含む。
【図面の簡単な説明】
【0007】
図1】本開示のいくつかの態様によるマルチコアシステムの一例を示す図である。
図2】本開示のいくつかの態様によるアナログ低ドロップアウト(LDO)レギュレータを含む電圧コントローラの一例を示す図である。
図3】本開示のいくつかの態様によるデジタルLDOレギュレータを含む電圧コントローラの一例を示す図である。
図4】本開示のいくつかの態様による電圧コントローラの一例を示す図である。
図5】本開示のいくつかの態様による制御回路の例示的な実装形態を示す図である。
図6】本開示のいくつかの態様によるタイミング回路の例示的な実装形態を示す図である。
図7】本開示のいくつかの態様による電圧検出回路の例示的な実装形態を示す図である。
図8】本開示のいくつかの態様によるタイミングマージンの一例を示すタイミング図である。
図9】本開示のいくつかの態様による回路におけるクリティカルパスの一例を示す図である。
図10】本開示のいくつかの態様による信号生成器および遅延回路の例示的な実装形態を示す図である。
図11A】本開示のいくつかの態様による遅延回路の動作を示す例示的なタイミング図である。
図11B】本開示のいくつかの態様による遅延回路の動作を示す別の例示的なタイミング図である。
図12】本開示のいくつかの態様による電圧検出回路を含むドループ緩和回路の一例を示す図である。
図13】本開示のいくつかの態様による電圧を制御するための方法の一例を示す図である。
【発明を実施するための形態】
【0008】
添付の図面に関して以下に記載する詳細な説明は、様々な構成の説明として意図され、本明細書で説明する概念が実践され得る唯一の構成を表すものではない。詳細な説明は、様々な概念の完全な理解をもたらすための具体的な詳細を含む。しかしながら、これらの具体的な詳細なしにこれらの概念が実践され得ることが、当業者には明らかであろう。いくつかの事例では、そのような概念を不明瞭にすることを避けるために、よく知られている構造および構成要素がブロック図の形態で示される。
【0009】
図1は、いくつかの態様による、マルチコアシステム100(マルチコアプロセッサとも呼ばれる)の一例を示す。マルチコアシステム100は、複数の中央処理装置(CPU)コア130-1~130-4を含み、各コア130-1~130-4は、複数の選択可能な性能モードのうちの1つで動作することができる。システム100は、各コアの周波数および電圧が、コアの現在の性能モードに基づいて動的にスケーリングされる、動的電圧-周波数スケーリング(DVFS)を採用し得る。たとえば、電圧および周波数は、低性能モードよりも高性能モードの方が高い場合がある。
【0010】
図1の例では、コア130-1~130-4は、共通の(すなわち、共有の)供給レール110上で動作する。この例では、システム100は、ヘッドスイッチ115-1~115-4を含み、ヘッドスイッチ115-1~115-4の各々は、共通供給レール110とコア130-1~130-4のそれぞれ1つとの間に結合される。図1の例では、各ヘッドスイッチ115-1~115-4は、1つまたは複数のトランジスタ(たとえば、1つまたは複数のp型電界効果トランジスタ(PFET))で実装される。
【0011】
システム100はまた、電圧コントローラ120-1~120-4を含み、電圧コントローラ120-1~120-4の各々は、共通供給レール110とコア130-1~130-4のそれぞれ1つとの間に結合される。以下でさらに説明するように、各電圧コントローラ120-1~120-4は、(たとえば、コアの性能モードに基づいて)それぞれのコア130-1~130-4の電圧を設定するように構成される。したがって、電圧コントローラ120-1~120-4は、供給レール110を共有しているにもかかわらず、コア130-1~130-4の電圧を独立して設定(すなわち、スケーリング)することを可能にする。たとえば、コアの電圧は、電力を節約するために、より低い性能モードではより低い電圧に設定され、コアがより高い性能モードで動作することを可能にするために、より高い性能モードではより高い電圧に設定されてもよい。
【0012】
図1は、それぞれのコア130-1~130-4のヘッドスイッチ115-1~115-4と並列に結合される各電圧コントローラ120-1~120-4を示すが、これは必ずしもそうである必要はないことを諒解されたい。たとえば、いくつかの実装形態では、以下でさらに説明するように、各ヘッドスイッチ115-1~115-4は、それぞれのコア130-1~130-4の電圧コントローラ120-1~120-4に組み込まれ得る。
【0013】
共通供給レール110上の供給電圧VINは、供給レール110に結合される電力管理集積回路(PMIC)によって提供され得る。この例では、PMIC(図示せず)は、最高性能モードで動作するコアに基づいて供給電圧VINを設定し得る。これは、最高性能モードで動作するコアが最高電圧を必要とするからである。たとえば、コア130-1("CPU-0"とラベル付けされる)は、最高性能モード(たとえば、「ターボ」モード)で動作し得、他のコア130-2~130-4("CPU-1"~"CPU-3"とラベル付けされる)は、より低い性能モードで動作し得る。この例では、共通供給レール110上の供給電圧VINは、最高性能モードで動作するためにコア130-1によって必要とされる電圧に基づいて設定される。この場合、コア130-1用のヘッドスイッチ115-1がオンにされて、コア130-1に供給電圧VINが供給される。
【0014】
他のコア130-2~130-4は、コア130-1よりも低い性能モードで動作するので、他のコア130-2~130-4は、供給電圧VINよりも低い電圧で動作して、これらのコアの電力消費を低減することができる。この点に関して、電圧コントローラ120-2~120-4の各々は、それぞれのコア130-2~130-4の現在の性能モードに基づいて、それぞれのコア130-2~130-4の電圧を、VINを下回るそれぞれの電圧に設定する。この場合、コア130-2~130-4の電圧は、それぞれの電圧コントローラ120-2~120-4によって制御されるので、ヘッドスイッチ115-2~115-4はオフにされ得る。
【0015】
現時点の最新技術では、電圧コントローラは、低ドロップアウト(LDO)電圧レギュレータで実装される。LDOレギュレータは、アナログまたはデジタルとすることができる。
【0016】
図2は、アナログLDOレギュレータ210で実装される電圧コントローラの一例を示す。LDOレギュレータ210は、共通供給レール110と回路240(たとえば、コア130-1~130-4のそれぞれ1つ)との間に結合されるパストランジスタ220(たとえば、PFET)を含む。LDOレギュレータ210はまた、パストランジスタ220のゲートに結合される出力と、基準電圧VREFに結合されるマイナス入力と、電圧VDDを回路240に供給するLDOレギュレータ210の出力232に結合されるプラス入力とを有する誤差増幅器230を含む。動作中、増幅器230は、基準電圧VREFと電圧VDDとの間の差(すなわち、誤差)を低減する方向にパストランジスタ220のゲート電圧VGを調整し、電圧VDDを基準電圧VREFにほぼ等しくなるようにする。したがって、この例では、電圧VDDは、基準電圧VREFを相応に設定することによって、回路240の所望の電圧に設定される。図2には回路240のヘッドスイッチは図示されていないことに留意されたい。
【0017】
アナログLDOレギュレータを有する電圧コントローラを実装することに関する課題は、アナログLDOレギュレータが複雑であり、技術的にスケーリングすることが困難であることである。また、アナログLDOレギュレータは、大きいドロップアウト電圧を必要とし、電圧VDDの動作範囲が減少する。
【0018】
図3は、デジタルLDOレギュレータ310で実装される電圧コントローラの一例を示す。LDOレギュレータ310は、共通供給レール110と回路340(たとえば、コア130-1~130-4のそれぞれ1つ)との間に結合されるスイッチ320-1~320-N(たとえば、PFET)のアレイを含む。LDOレギュレータ310はまた、電圧比較器330と、クロック信号CLKLDOによってクロックされ得るスイッチコントローラ335とを含む。電圧比較器330は、基準電圧VREFとLDOレギュレータ310における出力332の電圧とを比較し、その比較に基づいて、比較信号をスイッチコントローラ335に出力する。比較信号は、電圧VDDが基準電圧VREFよりも小さいか大きいかを示す。スイッチコントローラ335は、比較信号に基づいて、オン(有効)にされるスイッチ320-1~320-Nの数を制御する。より具体的には、スイッチコントローラ335は、電圧VDDと基準電圧VREFとの差(すなわち、誤差)を低減する方向に、オン(有効)にされるスイッチ320-1~320-Nの数を調整する。
【0019】
デジタルLDOレギュレータは、アナログLDOレギュレータに比べて1つまたは複数の利点を有する。たとえば、デジタルLDOレギュレータは、アナログLDOレギュレータよりも技術的に容易にスケーリングし、アナログLDOレギュレータよりも低い電圧動作のために低いVDDを可能にし、および/またはアナログLDOよりも小さいドロップアウト電圧を有することができる。しかしながら、デジタルLDOレギュレータを有する電圧コントローラを実装することに関する課題は、典型的には、デジタルLDOレギュレータがアナログLDOと比較して応答時間が遅く、結果として、出力電圧の電圧ドループが大きくなり、プロセッサ性能が低下することである。
【0020】
図4は、本開示の態様による例示的な電圧コントローラ410を示す。電圧コントローラ410は、供給レール110と回路460との間に結合される。回路460は、CPUコア(たとえば、CPUコア130-1~130-4のうちの1つ)、デジタル信号プロセッサ、ビデオプロセッサ、または別のタイプのプロセッサを含み得る。電圧コントローラ410は、回路460に供給される電圧VDDを制御するように構成される。
【0021】
電圧コントローラ410は、供給レール110と、回路460(たとえば、CPUコア)に結合される電圧コントローラ410の出力425との間に結合されるスイッチ420-1~420-Nのアレイを含む。いくつかの態様では、スイッチ420-1~420-Nは、ヘッドスイッチ(たとえば、ヘッドスイッチ115-1~115-4のうちの1つ)におけるスイッチで実装され得る。たとえば、ヘッドスイッチは、供給レール110と回路460との間に並列に結合される複数のスイッチを含むグローバル分散ヘッドスイッチ(GDHS)であってもよい。この例では、スイッチ420-1~420-Nは、GDHSのスイッチで実装され得る。この例の利点は、電圧コントローラ410が、別個のスイッチを使用する代わりに、GDHSにおける既存のスイッチのオン/オフ状態を制御して電圧VDDを制御し、それによって面積およびコストを低減することができることである。したがって、この例では、ヘッドスイッチは、電圧コントローラ410に組み込まれる。
【0022】
回路460が供給電圧VINを受信する場合、電圧コントローラ410は、スイッチ420-1~420-Nのすべてをオンにして、供給レール110と回路460との間の抵抗を最小限に抑えることができる。これは、たとえば、回路460が、マルチコアシステム(たとえば、マルチコアシステム100)におけるCPUコアであり、CPUコアが、マルチコアシステムにおける最高性能モードで動作するときに行われ得る。回路460の電圧VDDが供給電圧VINを下回る場合については、以下でさらに説明する。
【0023】
電圧コントローラ410は、制御回路435も含む。制御回路435は、スイッチ420-1~420-Nの制御入力に結合され、それぞれの制御信号("en[0]"~"en[N-1]"とラベル付けされる)を介して各スイッチ420-1~420-Nのオン/オフ状態を制御する。スイッチ420-1~420-Nの各々がそれぞれのトランジスタ(たとえば、PFET)で実装される例では、各スイッチの制御入力は、それぞれのトランジスタのゲートに位置する。図4の例では、各スイッチ420-1~420-Nは、それぞれのPFETで実装される。この例では、制御回路435は、それぞれの制御信号の電圧を低く(たとえば、ほぼグランド)設定することによってスイッチをオンにし、それぞれの制御信号の電圧を高く(たとえば、ほぼVIN)設定することによってスイッチをオフにし得る。スイッチは、複数のトランジスタ(たとえば、並列の複数のトランジスタ)で実装されてよいことを諒解されたい。
【0024】
制御回路435は、オン(すなわち、有効)にされるスイッチ420-1~420-N(たとえば、GDHSにおけるスイッチ)の数を制御することによって、電圧コントローラ410の出力425における電圧VDDを調整するように構成される。より具体的には、電圧コントローラ410は、オン(すなわち、有効)にされるスイッチ420-1~420-Nの数を増加させることによって、電圧VDDを増加させる。より多くのスイッチ420-1~420-Nをオンにすることは、供給レール110と回路460との間の抵抗を減少させることによって、所与の負荷電流に対する電圧VDDを増加させる。電圧コントローラ410は、オンにされるスイッチ420-1~420-Nの数を減少させる(すなわち、オフにするスイッチ420-1~420-Nの数を増加させる)ことによって、電圧VDDを低下させる。より多くのスイッチ420-1~420-Nをオフにすることは、供給レール110と回路460との間の抵抗を増加させることによって、所与の負荷電流に対する電圧VDDを低下させる。
【0025】
図4の例では、制御回路435は、タイミング回路450に結合される。タイミング回路450は、回路460のタイミングマージンを示すタイミングマージン信号を生成し、制御回路435に接続されたタイミング回路450の出力452でタイミングマージン信号を出力するように構成されている。タイミング回路450の例示的な実装形態について、図6を参照しながら以下で説明する。
【0026】
動作中、制御回路435は、タイミングマージン信号によって示されるタイミングマージンを目標タイミングマージンと比較する。次いで、制御回路435は、タイミングマージン信号によって示されるタイミングマージンと目標タイミングマージンとの差(すなわち、誤差)を低減する方向の比較に基づいて、電圧VDDを調整する。たとえば、タイミングマージン信号によって示されるタイミングマージンが目標タイミングマージンよりも大きい場合、制御回路435は、オンにされるスイッチ420-1~420-Nの数を減少させる(すなわち、オフにされるスイッチ420-1~420-Nの数を増加させる)ことによって、回路460への電圧VDDを低下させる。電圧VDDの低下によって、回路460のタイミングマージンが減少し、この場合、タイミングマージン信号によって示されるタイミングマージンと目標タイミングマージンとの間の差が減少する。タイミングマージン信号によって示されるタイミングマージンがタイミングマージンよりも小さい場合、制御回路435は、オンにされるスイッチ420-1~420-Nの数を増加させることによって、回路460への電圧VDDを増加させる。電圧VDDの増加によって、回路460のタイミングマージンが増加し、この場合、タイミングマージン信号によって示されるタイミングマージンと目標タイミングマージンとの間の差が減少する。
【0027】
したがって、この例では、電圧コントローラ410は、回路460(すなわち、CPUコア)への電圧VDDを、回路460のタイミングマージンと目標タイミングマージンとの間の差(すなわち、誤差)を低減する方向に調整する。言い換えれば、電圧コントローラ410は、回路460のタイミングマージンを目標タイミングマージンに、またはその近くに維持するように電圧VDDを調整する。したがって、従来のLDOレギュレータ(たとえば、LDOレギュレータ210または310)とは異なり、電圧コントローラ410は、電圧VDDを基準電圧VREFと比較して電圧VDDを調整することはない。
【0028】
図5は、いくつかの態様による制御回路435の例示的な実装形態を示す。この例では、制御回路435は、比較器510とスイッチコントローラ520とを含む。スイッチコントローラ520は、スイッチ420-1~420-Nの制御入力に結合される。スイッチコントローラ520は、以下でさらに説明するように、比較器510からの比較信号に基づいて、それぞれの制御信号("en[0]"~"en[N-1]"とラベル付けされる)を介して各スイッチ420-1~420-Nのオン/オフ状態を制御するように構成される。スイッチ420-1~420-Nの各々がそれぞれのトランジスタ(たとえば、PFET)で実装される例では、各スイッチの制御入力は、それぞれのトランジスタのゲートに位置する。したがって、この例では、スイッチコントローラ520は、スイッチ420-1~420-Nを実装するトランジスタ(たとえば、PFET)のゲートに結合される。
【0029】
比較器510は、第1の入力512と、第2の入力514と、出力516とを有する。比較器510の第1の入力512は、目標タイミングマージンを示す基準信号を受信するように構成される。比較器510の第2の入力514は、タイミング回路450の出力452に結合されるイミング回路450からタイミングマージン信号を受信するように構成される。比較器510の出力516は、スイッチコントローラ520に結合される。
【0030】
動作中、比較器510は、タイミングマージン信号と基準信号とを比較し、その比較に基づいて比較信号を生成する。比較信号は、タイミングマージン信号が基準信号よりも小さいか大きいかを示し得る。いくつかの実装形態では、比較信号はまた、タイミングマージン信号と基準信号との間の差の大きさを示し得る。この例では、タイミングマージン信号によって示されるタイミングマージンが基準信号によって示される目標タイミングマージンよりも大きいとき、タイミングマージン信号は基準信号よりも大きいと見なされ得、タイミングマージン信号によって示されるタイミングマージンが基準信号によって示される目標タイミングマージンよりも小さいとき、タイミングマージン信号は基準信号よりも小さいと見なされ得る。
【0031】
スイッチコントローラ520は、比較器510から比較信号を受信し、タイミング回路450からのタイミングマージン信号と基準信号との差(すなわち、誤差)を低減する方向に、比較信号に基づいて、電圧VDDを調整する。たとえば、タイミングマージン信号が基準信号よりも大きい場合、スイッチコントローラ520は、オンにされるスイッチ420-1~420-Nの数を減少させることによって、回路460への電圧VDDを低下させる。電圧VDDの低下によって、回路460のタイミングマージンが減少し、この場合、タイミングマージン信号と基準信号との間の差が減少する。タイミングマージン信号が基準信号よりも小さい場合、スイッチコントローラ520は、オンにされるスイッチ420-1~420-Nの数を増加させることによって、回路460への電圧VDDを増加させる。電圧VDDの増加によって、回路460のタイミングマージンが増加し、この場合、タイミングマージン信号と基準信号との間の差が減少する。したがって、この例では、スイッチコントローラ520は、回路460(すなわち、CPUコア)への電圧VDDを、回路460のタイミングマージンと目標タイミングマージンとの間の差(すなわち、誤差)を低減する方向に調整する。
【0032】
図5の例では、比較器510およびスイッチコントローラ520は、比較器510およびスイッチコントローラ520のタイミング動作のためのクロック信号CLKctrlを受信する。一例では、クロック信号CLKctrlのmサイクルごとに、比較器510は、タイミングマージン信号と基準信号とを比較し、その比較に基づいてスイッチコントローラ520に比較信号を出力する。また、クロック信号CLKctrlのmサイクルごとに、スイッチコントローラ520は、比較器510から比較信号を受信し、比較信号に基づいてオン(たとえば、有効)にされるスイッチ420-1~420-Nの数を調整する。この例では、mは1以上であってよい。
【0033】
上述のように、スイッチコントローラ520は、比較器510から比較信号を受信し、比較信号に基づいてオン(たとえば、有効)にされるスイッチ420-1~420-Nの数を調整する。一例では、スイッチコントローラ520は、一度に1つずつオンにされるスイッチ420-1~420-Nの数を調整することができる。この例では、比較信号が、タイミングマージン信号が基準信号よりも大きいことを示す場合、スイッチコントローラ520は、オンにされるスイッチ420-1~420-Nの数を1つだけ減少させるためにオンにされるスイッチ420-1~420-Nのうちの1つをオフにする。比較信号が、タイミングマージン信号が基準信号よりも小さいことを示す場合、スイッチコントローラ520は、オンにされるスイッチ420-1~420-Nの数を1つだけ増加させるためにオフにされるスイッチ420-1~420-Nのうちの1つをオンにする。この例では、スイッチコントローラ520は、比較器510が比較信号を更新するたびにオンにされるスイッチ420-1~420-Nの数を調整することができ、これは、クロック信号CLKctrlのmサイクルごとに発生し得、mは1以上であり得る。
【0034】
ただし、本開示は、上記の例に限定されないことを諒解されたい。一例では、比較器510からの比較信号はまた、タイミングマージン信号と基準信号との間の差の大きさを示し得る。この例では、スイッチコントローラ520は、タイミングマージン信号と基準信号との間の差の大きさに応じて、一度に複数のスイッチをオンまたはオフにすることができる。たとえば、比較信号が、タイミングマージン信号が基準信号よりも大きいことを示す場合、スイッチコントローラ520は、オンにされるスイッチ420-1~420-Nの数をk個だけ減少させるためにスイッチ420-1~420-Nのうちのk個をオフにし得る。比較信号が、タイミングマージン信号が基準信号よりも小さいことを示す場合、スイッチコントローラ520は、オンにされるスイッチ420-1~420-Nの数をk個だけ増加させるためにスイッチ420-1~420-Nのうちのk個をオンにし得る。この例では、kは、タイミングマージン信号と基準信号との間の差の大きさに依存し、kは大きさが大きいほど大きく、大きさが小さいほど小さくなり得る。
【0035】
図6は、いくつかの態様によるタイミング回路450の例示的な実装形態を示す。この例では、タイミング回路450は、入力610でタイミング信号を受信し、タイミング信号に対して時間-デジタル変換を実行してタイミングマージン信号を生成するように構成される。この例では、タイミングマージン信号は、ビット("tdc[0]"~"tdc[n-1]"とラベル付けされる)を含むデジタル信号である。言い換えれば、この例では、タイミングマージン信号は、タイミングマージンのデジタル読取りを提供するデジタルコードtdc[0:n-1]である。以下でさらに説明するように、タイミング信号は、タイミング回路450に結合される電圧検出回路650から来てもよい。
【0036】
この例では、基準信号は、目標タイミングマージンを示すデジタルコードであってもよい。一例では、基準信号のデジタルコードは、図5に示されるように、比較器510の第1の入力512に結合される出力555を有するレジスタ550に記憶され得る。この例では、レジスタ550は、レジスタ550に記憶されたデジタルコードを比較器510の第1の入力512に出力することによって、基準信号を比較器510に出力するように構成される。この例では、目標タイミングマージンは、目標タイミングマージンに対応するレジスタ550にデジタルコードを書き込むことによってプログラムされ得る。
【0037】
この例では、レジスタ550は、LDO210および310と比較して、より少ない電力、面積、および複雑さを使用して、電圧コントローラ410における比較のための基準信号を提供する。電圧(たとえば、VDD)を電圧基準(たとえば、VREF)と比較するLDOでは、典型的には、電圧基準を生成するためにアナログバンドギャップ基準回路が使用され、レジスタ550よりも多くの電力および面積を消費し、実装がより複雑である。
【0038】
図6の例では、タイミング回路450は、遅延線615と、遅延線615に結合される複数のフロップ630-1~630-nとを含む。フロップ630-1~630-nは、クロック信号CLKによってクロックされる。クロック信号CLKは、比較器510およびスイッチコントローラ520をクロックするために使用されるクロック信号と同じであってもよいし、異なっていてもよい。遅延線615は、タイミング回路450の入力610に結合される入力618と、複数のノード622-1~622-nとを有し、各ノードは、遅延線615に沿った異なる遅延に対応する。図6の例では、遅延線615は、遅延バッファ620-1~620-nの各々の出力がノード622-1~622-nのそれぞれ1つに対応する、直列に結合される複数の遅延バッファ620-1~620-nを含む。動作中、タイミング回路450によって受信されたタイミング信号は、遅延線615を通って伝搬する。各遅延バッファ620-1~620-nの出力は、それぞれのノード622-1~622-nにおけるタイミング信号の異なる遅延バージョンを提供する。
【0039】
フロップ630-1~630-nの各々は、入力632-1~632-nと、出力634-1~634-nと、クロック入力636-1~636-nとを有する。各フロップ630-1~630-nのクロック入力636-1~636-nは、クロック信号CLKを受信するように構成される。各フロップ630-1~630-nは、クロック信号CLKのエッジでそれぞれの入力632-1~632-nにおいてビット値をラッチし、ラッチされたビット値をそれぞれの出力634-1~634-nにおいて出力するように構成される。クロック信号CLKのエッジは、フロップ630-1~630-nが立上りエッジトリガフロップで実装されるか、立下りエッジトリガフロップで実装されるかに応じて、立上りエッジであってもよいし、立下りエッジであってもよい。
【0040】
各フロップ630-1~630-nの入力632-1~632-nは、遅延線615上のノード622-1~622-nのそれぞれ1つに結合される。したがって、各フロップ630-1~630-nの入力632-1~632-nは、タイミング信号の異なる遅延バージョンを受信する。図6の例では、各フロップ630-1~630-nの入力632-1~632-nは、遅延バッファ620-1~620-nのそれぞれ1つの出力に結合される。各フロップ630-1~630-nの出力634-1~634-nは、タイミングマージン信号のビットのそれぞれ1つ("tdc[0]"~"tdc[n-1]"とラベル付けされる)を提供する。この例では、各フロップ630-1~630-nは、クロック信号CLKのエッジでそれぞれのノード622-1~622-nのビット値をラッチし、ラッチされたビット値をタイミングマージン信号のそれぞれのビットのビット値として出力する。
【0041】
この例では、フロップ630-1~630-nの出力634-1~634-nは、比較器510の第2の入力514に結合されて、タイミングマージン信号のビット("tdc[0]"~"tdc[n-1]"とラベル付けされる)を比較器510に提供する。一例では、フロップ630-1~630-nの出力634-1~634-nは、比較器510の第2の入力514に並列に結合されて、ビット("tdc[0]"~"tdc[n-1]"とラベル付けされる)を比較器510に並列に提供することができる。別の例では、フロップ630-1~630-nの出力634-1~634-nは、並列-直列変換器(図示せず)を介して比較器510の第2の入力514に結合され得る。この例では、並列-直列変換器は、フロップ630-1~630-nの出力634-1~634-nからビット("tdc[0]"~"tdc[n-1]"とラベル付けされる)を並列に受信し、比較器510の第2の入力514にそのビットを直列に出力する。
【0042】
この例では、タイミング回路450内のフロップ630-1~630-nは、タイミングマージンを測定するための複数のしきい値を効果的に提供する。たとえば、各バッファ620-1~620-nの遅延が約Δtであるとすると、フロップ630-1の出力634-1は、タイミングマージンがΔtよりも高いか低いかを示し、フロップ630-2の出力634-2は、タイミングマージンが2Δtよりも高いか低いかを示し、フロップ630-3の出力634-3は、タイミングマージンが3Δtよりも高いか低いかを示す、などである。複数のしきい値は、スイッチ420-1~420-Nを制御するために使用できる追加の情報を制御回路435に提供する。たとえば、追加の情報は、測定されたタイミングマージンと目標タイミングマージンとの差の大きさ、制御回路435がオンにされるスイッチ420-1~420-Nの数を変更した際のタイミングマージンの傾きなどを決定するために使用されてもよい。これに対して、図3のLDO 310によって使用される電圧比較器330は、電圧VDDが基準電圧よりも高いか低いかに関する情報を提供するだけである(これは実質的に単一の電圧しきい値として機能する)。
【0043】
この例では、タイミングマージン信号および基準信号は両方ともデジタルコードである。これにより、比較器510は、電圧比較器330と比較して、プロセス技術をより容易に実装し、より良くスケーリングするデジタル回路で実装することができる。これに対して、電圧比較器330は、プロセス変動に敏感であり、プロセス技術では容易にスケーリングしないアナログ回路で実装される。
【0044】
図7は、いくつかの態様による電圧検出回路650の例示的な実装形態を示す。電圧検出回路650は、入力712、第1の出力714、および第2の出力716を有する。この例では、電圧検出回路650は、信号生成器720と、遅延回路730と、フロップ740とを含む。遅延回路730は、遅延回路730の遅延が回路460内のクリティカルパスの遅延に近似するように構成されてもよい。たとえば、遅延回路730は、回路460内のクリティカルパスの遅延と密接に一致するようにプログラムされ得るプログラム可能な遅延を有し得る。図7の例では、遅延回路730は、電圧コントローラ410の出力425からの電圧DDによって給電され(すなわち、遅延回路730は、電圧コントローラ410の出力425に結合され)、したがって、回路460と同じ電圧を受信する。その結果、電圧VDDの変化による遅延回路730の遅延の変化は、電圧VDDの変化による回路460内のクリティカルパスの遅延の変化を追跡する。したがって、遅延回路730は、以下でさらに説明するように、回路460におけるクリティカルパスのタイミングマージンを間接的に測定するために使用され得る。
【0045】
この例では、信号生成器720は、出力722とクロック入力724とを有する。出力722は、遅延回路730の入力732に結合され、クロック入力724は、クロック信号CLKを受信するように構成された電圧検出回路650の入力712に結合される。信号生成器720は、遅延回路730の入力732に入力されるタイミング信号を生成するように構成される。以下でさらに説明するように、信号生成器720は、クロック信号CLKのエッジでタイミング信号のエッジを生成するように構成される。たとえば、信号生成器720は、クロック信号CLKのpサイクルごとにタイミング信号のエッジを生成することができ、pは1以上であり得る。
【0046】
フロップ740は、入力742、出力744、およびクロック入力746を有する。フロップ740の入力742は、遅延回路730の出力734に結合され、フロップ740のクロック入力746は、クロック信号CLKを受信するように構成された電圧検出回路650の入力712に結合される。フロップ740の出力744は、電圧検出回路650の第1の出力714に結合される。以下でさらに説明するように、フロップ740は、タイミングエラーがあるかどうかを示す出力信号を出力するように構成される。
【0047】
動作中、信号生成器720は、クロック信号CLKのエッジでタイミング信号のエッジを生成する。タイミング信号のエッジは、立上りエッジまたは立下りエッジであってもよく、クロック信号CLKのエッジは、立上りエッジまたは立下りエッジであってもよい。信号生成器720は、タイミング信号のエッジを遅延回路730の入力732に出力する。遅延回路730は、上述のように、回路460内のクリティカルパスの遅延と一致する、またはそれに密接に一致する遅延だけ、タイミング信号のエッジを遅延させる。遅延回路730は、遅延回路730の出力734において、遅延後のタイミング信号のエッジを出力する。遅延回路730の出力734におけるエッジは、遅延回路730がタイミング信号のエッジの極性を反転させるかどうかに応じて、遅延回路730の入力732におけるエッジと同じエッジ極性または逆エッジ極性を有し得る。
【0048】
次いで、フロップ740は、クロック信号CLKのエッジでタイミング信号のエッジをラッチしようと試みることができる。フロップ740をトリガするために使用されるクロック信号CLKのエッジは、クロック信号CLKの1サイクルだけタイミング信号のエッジを生成するために信号生成器720によって使用されるエッジから離間され得る。この点に関して、図8は、フロップ740の入力742におけるタイミング信号のエッジ810と、フロップ740のクロック入力746におけるクロック信号CLKのエッジ820との一例を示す。この例では、フロップ740はセットアップ時間を有し、これは、フロップ740がエッジ810を正しくラッチするために、タイミング信号のエッジ810がクロック信号CLKのエッジ820の前にフロップ740の入力742に到達する必要がある最小時間として定義され得る。この例では、タイミングマージンは、タイミング信号のエッジ810が、クロック信号CLKのエッジ820の前のフロップ740の入力742に到達する時間量("T"とラベル付けされる)からフロップ740のセットアップ時間を引いたものにほぼ等しい。
【0049】
この例では、タイミング信号のエッジ810が、セットアップ時間の開始前にフロップ740の入力742に到着した場合、フロップ740は、エッジ810を正常にラッチする。これは、タイミングが遅延回路730によって満たされる(すなわち、タイミングエラーがない)ことを示す。遅延回路730の遅延は、回路460におけるクリティカルパスの遅延と密接に一致するので、これは、回路460におけるクリティカルパスにおいてタイミングが満たされていることも示す。タイミング信号のエッジ810がセットアップ時間の開始後にフロップ740の入力742に到達した場合、フロップ740は、タイミング信号のエッジ810のラッチに失敗する。これは、タイミングが満たされていないことを示し(すなわち、タイミングエラーを示し)得る。したがって、フロップ740の出力744は、タイミングエラーがあるかどうかを示す。
【0050】
いくつかの態様では、フロップ740の出力は、電圧VDDの電圧ドループを検出するために使用され得る。これは、電圧ドループが遅延回路730の遅延を増加させ、十分に大きい電圧ドループでは、セットアップ時間の開始後に、タイミング信号のエッジ810がフロップ740の入力742に到達するからである。言い換えれば、十分に大きい電圧ドループは、フロップ740がエッジ810のラッチに失敗し、したがって、出力744においてエッジ810を出力することに失敗し、タイミングエラーを示す。したがって、この例では、電圧VDDの電圧ドループは、フロップ740の出力744が電圧ドループによって引き起こされるタイミングエラーを示すときに検出され得る。言い換えれば、検出回路650は、遅延回路730の遅延に対する電圧ドループの影響に基づいて、電圧ドループを検出する。
【0051】
この例では、遅延回路730の出力734は、タイミング回路450の入力610に結合されている、電圧検出回路650の第2の出力716にも結合されている。したがって、この例では、遅延回路730の出力734におけるタイミング信号は、タイミング回路450に入力されるタイミング信号を提供する。上述のように、タイミング回路450は、タイミング信号をタイミングマージン信号に変換するように構成される。この例では、タイミング信号のエッジ810は、遅延回路730の遅延後に、タイミング回路450の遅延線615に入力される。タイミング信号のエッジ810は、遅延線615によってさらに遅延され、エッジ810が遅延線615を伝搬するにつれて、遅延を増加させることによって、エッジが遅延される。遅延線615の遅延バッファ620-1~620-nの出力は、エッジ810の異なる遅延バージョンをそれぞれのフロップ630-1~630-nに出力する。この例では、各フロップ630-1~630-nは、クロック信号CLKのエッジで、それぞれの遅延バッファ620-1~620-nの出力からタイミング信号のエッジ810をラッチしようとする。フロップ630-1~630-nをトリガするために使用されるクロック信号CLKのエッジは、電圧検出回路650内のフロップ740をトリガするために使用されるクロック信号CLKの同じエッジであり得る。
【0052】
この例では、タイミングマージンは、タイミング信号のエッジ810を正常にラッチしたタイミング回路450のフロップ630-1~630-nの数によって示される。タイミング信号のエッジ810を正常にラッチしたフロップ630-1~630-nの数が多いほど、タイミングマージンが大きくなる。エッジを正常にラッチしたフロップは、ラッチされたエッジ810をそれぞれの出力において出力する。エッジ810が立下りエッジである例(図8の例に示す)では、エッジを正常にラッチした各フロップ630-1~630-nは、0のビット値を出力する。エッジ810が立上りエッジである例では、エッジを正常にラッチした各フロップ630-1~630-nは、1のビット値を出力する。したがって、この例では、フロップ630-1~630-nの出力634-1~634-nにおけるビット値は、タイミングマージンを示すタイミング信号のエッジ810を正常にラッチしたフロップ630-1~630-nの数を示す。上述のように、フロップ630-1~630-nの出力634-1~634-nは、タイミングマージン信号のビット("tdc[0]"~"tdc[n-1]"とラベル付けされる)を提供し、それらは並列または直列に比較器510の第2の入力514に入力される。
【0053】
図9は、いくつかの態様による回路460におけるクリティカルパス905の一例を示す。図9に示される例示的なクリティカルパス905は、説明のためのものであり、本開示を特定のクリティカルパスに限定することを意図するものではないことを理解されたい。回路460のクリティカルパスは、たとえば、回路460の実装に応じて変化し得る。一例では、回路460は、データパスのうちの1つがクリティカルパスである複数のデータパスを含むことができる。この例では、クリティカルパスは、最小のタイミングマージンを有する複数のデータパスの中からのデータパスであり得る。回路におけるクリティカルパス905は、たとえば、回路460に対してタイミング解析を実行することによって、または当技術分野で知られている別の技法によって識別され得る。
【0054】
図9の例では、クリティカルパス905は、第1のフロップ910と、遅延パス930と、第2のフロップ920とを含む。第1のフロップ910は、入力912、出力914、およびクロック入力916を有する。第1のフロップ910の入力912は、データ信号を受信するように構成され、クロック入力916は、クロック信号CLKを受信するように構成される。データ信号は、回路460の別の部分(図示せず)から来てもよく、または回路460に入力されるデータ信号であってもよい。
【0055】
第2のフロップ920は、入力922、出力924、およびクロック入力926を有する。遅延パス930は、第1のフロップ910の出力914と第2のフロップ920の入力922との間に結合される。第2のフロップ920のクロック入力926は、クロック信号CLKを受信するように構成される。動作中、遅延パス930は、第1のフロップ910からのデータ信号を遅延させる。第2のフロップ920の出力924は、回路460の別の部分または回路460の出力に結合され得る。
【0056】
遅延パス930は、データ信号に対して演算(たとえば、論理演算)を実行する論理ゲートおよび/または他のデバイスを含み得る。図9は、遅延パス930に含まれ得る様々なタイプの論理ゲートの例を示す。遅延パス930は、図9の例に限定されず、遅延パス930は、回路460の実装に応じて、論理ゲートの様々な組合せを含み得ることを諒解されたい。遅延パス930は、たとえば、遅延パス930内の論理ゲートの遅延および論理ゲート間の接続に基づく遅延によってデータ信号を遅延させる。図9に示されるように、電圧コントローラ410の電圧VDDは、遅延パス930内の論理ゲートに供給され、したがって、遅延パス930の遅延は、電圧VDDに敏感である。
【0057】
動作中、第1のフロップ910は、クロック信号CLKの第1のエッジ(たとえば、立上りエッジ)でデータ信号のビットをラッチし、出力914においてデータ信号のラッチされたビットを出力するように構成される。ラッチされたビットは、遅延パス930に入力される。遅延パス930は、遅延パス930の遅延の後、フロップ920の入力922において対応するビットを生成する。第2のフロップ920は、クロック信号CLKの第2のエッジ(たとえば、立上りエッジ)で遅延パス930からのビットをラッチし、出力924においてラッチされたビットを出力するように構成される。クロック信号CLKの第1のエッジおよび第2のエッジは、クロック信号CLKの1サイクルだけ離隔されてもよい。この例では、クリティカルパス905のタイミングマージンは、クロック信号CLKの第2のエッジと、第2のフロップ920の入力922におけるビットのエッジの到着との間の時間量からフロップ920のセットアップ時間を引いたものとして定義され得る。
【0058】
遅延回路730の遅延は、電圧検出回路650のタイミングマージンがクリティカルパス905のタイミングマージンと密接に一致するように、遅延パス930の遅延と密接に一致するようにプログラム(すなわち、同調)され得る。遅延回路730および遅延パス930は、電圧コントローラ410から電圧VDDを受信するので、電圧検出回路650のタイミングマージンは、電圧VDDの変化によるクリティカルパス905のタイミングマージンの変化を追跡する。これにより、遅延回路730は、回路460のタイミングマージン、したがって、回路460のタイミングマージンを示すタイミングマージン信号を間接的に測定することができる。クリティカルパスのタイミングマージンを監視するために、クリティカルパスの遅延と密接に一致する遅延を有する遅延回路の使用は、クリティカルパスモニタリングと呼ばれることがある。
【0059】
回路460が正しく機能するためには、クロック周波数Fclk(すなわち、クロック信号の周波数)および電圧VDDにかかわらず、クリティカルパス905のタイミングマージンは、ゼロ以上である必要がある。この理由のため、タイミング回路450によって出力されるタイミングマージン信号は、電圧VDDよりも回路460の現在の動作状態のより正確な表現を制御回路435に提供する。制御回路435がタイミングマージン信号に基づいてオンにされるスイッチ420-1~420-Nの数を調整すると、タイミングマージン信号は、オンにされるスイッチ420-1~420-Nの数の変化に伴う回路機能の感度の正確な表示を制御回路435に提供する。
【0060】
これに対して、図3のLDO310では、電圧VDD測定は、シリコン特性評価に基づくタイミングマージンの間接表現を提供する。目標タイミングマージンに対応する電圧VDDを決定することは、典型的には、広範な特性評価を必要とする。
【0061】
VDDに対するパス遅延の感度は、動的電圧-周波数スケーリング(DVFS)条件にわたって著しく変化するので、これらのタイプの測定における差は特に重要である。たとえば、VDDに対するパス遅延の感度は、DVFSが高い状態(すなわち、VDD値およびFclk値が高い)からDVFSが低い状態(すなわち、VDD値およびFclk値が低い)まで著しく増加する。加えて、VDDに対するパス遅延の感度は、プロセス変動に大きく依存する。これらの理由から、VDD測定値に基づくLDO(たとえば、LDO310)の許容可能なVDD変動は、DVFS条件およびプロセス変動にわたって大きく変動し、所与の製品およびプロセス技術についてシリコンにおいて広範に特性評価する必要がある。本開示の態様による電圧コントローラ410は、VDD測定の代わりにタイミングマージン測定を使用してスイッチ420-1~420-Nを制御することによって、この特性評価の複雑さを回避する。
【0062】
図10は、本開示のいくつかの態様による信号生成器720および遅延回路730の例示的な実装形態を示す。この例では、信号生成器720は、フロップ1015と、インバータ1018と、ANDゲート1012とを含む。ANDゲート1012は、インバータ1018を介してフロップ1015の出力に結合される1つの入力と、イネーブル信号ENを受信するように構成された別の入力と、フロップ1015の入力に結合される出力とを有する。フロップ1015のクロック入力は、クロック信号CLKによって駆動される。フロップ1015の出力は、信号生成器720の出力722に結合される。
【0063】
動作中、信号生成器720は、イネーブル信号ENが1であるときに有効にされる。この場合、フロップ1015は、クロック信号CLKの立上りエッジごとに論理状態を切り替える(トグルする)タイミング信号を出力する。したがって、この例では、信号生成器720は、立上りエッジと立下りエッジとの出力を交互に行う。信号生成器720は、イネーブル信号ENがゼロであるときに無効にされる。
【0064】
この例では、遅延回路730は、高速パス1027と、チューナブル遅延デバイス1020と、ANDゲート1030と、第1のORゲート1040と、第1のファインチューナブル遅延デバイス1035と、第2のファインチューナブル遅延デバイス1045と、第1のXORゲート1070と、第2のXORゲート1080と、第2のORゲート1090とを含む。チューナブル遅延デバイス1020の入力は、遅延回路730の入力732に結合される。高速パス1027は、チューナブル遅延デバイス1020をバイパスし、チューナブル遅延デバイス1020よりもはるかに短い遅延を有する。高速パス1027は、図10に示されるように、遅延回路730の入力732に結合される。
【0065】
ANDゲート1030の第1の入力1032は、高速パス1027に結合され、ANDゲート1030の第2の入力1034は、チューナブル遅延デバイス1020の出力に結合される。第1のORゲート1040の第1の入力1042は、高速パス1027に結合され、第1のORゲート1040の第2の入力1044は、チューナブル遅延デバイス1020の出力に結合される。第1のXORゲート1070の第1の入力1072は、高速パス1027に結合され、第1のXORゲート1070の第2の入力1074は、第1のファインチューナブル遅延デバイス1035を介してANDゲート1030の出力に結合される。第2のXORゲート1080の第1の入力1082は、高速パス1027に結合され、第2のXORゲート1080の第2の入力1084は、第2のファインチューナブル遅延デバイス1045を介して第1のORゲート1040の出力に結合される。第2のORゲート1090の第1の入力1092は、第1のXORゲート1070の出力に結合され、第2のORゲート1090の第2の入力1094は、第2のXORゲート1080の出力に結合され、第2のORゲート1090の出力は、遅延回路730の出力734に結合される。
【0066】
図10の例では、チューナブル遅延デバイス1020は、マルチプレクサ1022と、複数の選択的遅延パスとを含む。この例では、チューナブル遅延デバイス1020の遅延は、選択信号("td1"とラベル付けされる)を介してマルチプレクサ1022によって選択される遅延パスをプログラムすることによってプログラムされる。マルチプレクサ1022の出力は、チューナブル遅延デバイス1020の出力に結合される。選択信号td1は、マルチプレクサ822によって選択可能な遅延パスのうちのどの1つが選択されるべきかを示すデジタルコードであり得る。したがって、この例では、遅延回路730の遅延は、選択信号td1を使用してプログラムされ得る。
【0067】
次に、図10に示す例示的な電圧検出回路650の動作を、本開示のいくつかの態様に従って説明する。まず、図11Aを参照して、いくつかの態様に従って、信号生成器720がタイミング信号の立上りエッジを出力する例の動作について説明する。図11Aは、遅延回路730の出力における信号の一例を示すタイミング図である。
【0068】
この例では、信号生成器720は、クロック信号CLKの第1のエッジ1105でタイミング信号の立上りエッジを出力する。タイミング信号の立上りエッジは、高速パス1027(遅延デバイス1020をバイパスする)を介して、信号生成器720の出力722からANDゲート1030の第1の入力1032および第1のXORゲート1070の第1の入力1072に迅速に伝搬する。高速パス1027からの立上りエッジによって、第1のXORゲート1070は、1のビット値を第2のORゲート1090に出力する。これは、タイミング信号の立上りエッジが依然として遅延デバイス1020を伝搬しているので、第1のXORゲート1070の第2の入力1074におけるビット値がゼロであるためである。第1のXORゲート1070によって出力された1のビット値によって、第2のORゲート1090は、遅延回路730の出力734で1のビット値を出力する。これは、遅延回路730の出力734を1にリセットするために行われる。この例が図11Aに示されており、遅延回路730の734の出力は、フロップ1015のクロック対出力("CLK-Q")遅延、高速パス1027の遅延、ならびに第1のXORゲート1070および第2のORゲート1090の遅延にほぼ等しい遅延("Df"とラベル付けされる)の後に1にリセットされる。
【0069】
タイミング信号の立上りエッジは、遅延デバイス1020を伝搬し、遅延デバイス1020の遅延後に遅延デバイス1020によって出力される。したがって、遅延デバイス1020の遅延後に、ANDゲート1030の第2の入力1034に立上りエッジが入力され、ANDゲート1030が立上りエッジを出力する。立上りエッジは、第1のファインチューナブル遅延デバイス1035の遅延後に、第1のXORゲート1070の第2の入力1074に伝搬する。これにより、第1のXORゲート1070は立下りエッジを出力し、これにより、第2のORゲート1090は、遅延回路730の出力734において立下りエッジを出力する。この一例が、遅延回路730の出力734における立下りエッジ1110の一例を示す図11Aに示されている。立下りエッジ1110は、クロック信号CLKの第1のエッジ1105から、チューナブル遅延デバイス1020および第1のファインチューナブル遅延デバイス1035のほぼ遅延分だけ遅延される。
【0070】
この例では、フロップ740が、クロック信号CLKの第2のエッジ1120で立下りエッジ1110を正常にラッチしたとき、タイミングが満たされる。この例では、タイミング信号のエッジの極性は、遅延回路730によって反転される(すなわち、遅延回路730の出力におけるエッジ1110は立下りエッジであり、信号生成器720の出力におけるエッジは立上りエッジである)ことに留意されたい。この例では、フロップ740が立下りエッジ1110を正常にラッチした場合、タイミングが満たされる。この場合、フロップ740は、タイミングが満たされたことを示す0のビット値を出力744において出力する。フロップ740が立下りエッジ1110のラッチに失敗した場合、タイミングは満たされない。これは、たとえば、フロップ740のセットアップ時間の開始後に、立下りエッジ1110がフロップ740の入力742に到達するときに起こり得る。
【0071】
次に、図11Bを参照して、いくつかの態様に従って、信号生成器720がタイミング信号の立下りエッジを出力する例の動作について説明する。図11Bは、遅延回路730の出力における信号の一例を示すタイミング図である。
【0072】
この例では、信号生成器720は、クロック信号CLKの第1のエッジ1155でタイミング信号の立下りエッジを出力する。タイミング信号の立下りエッジは、高速パス1027(遅延デバイス1020をバイパスする)を介して、信号生成器720の出力722から第1のORゲート1040の第1の入力1042および第2のXORゲート1080の第1の入力1082に迅速に伝搬する。高速パス1027からの立下りエッジによって、第2のXORゲート1080は、1のビット値を第2のORゲート1090に出力する。これは、タイミング信号の立下りエッジが依然として遅延デバイス1020を伝搬しているので、第2のXORゲート1080の第2の入力1084におけるビット値が、依然として1であるためである。第2のXORゲート1080によって出力される1のビット値によって、第2のORゲート1090は、遅延回路730の出力734で1のビット値を出力する。これは、遅延回路730の出力734を1にリセットするために行われる。この例が図11Bに示されており、遅延回路730の734の出力は、フロップ1015のCLK-Q遅延、高速パス1027の遅延、ならびに第2のXORゲート1080および第2のORゲート1090の遅延にほぼ等しい遅延("Df"とラベル付けされる)の後に1にリセットされる。
【0073】
タイミング信号の立下りエッジは、遅延デバイス1020を伝搬し、遅延デバイス1020の遅延後に遅延デバイス1020によって出力される。したがって、遅延デバイス1020の遅延後に、第1のORゲート1040の第2の入力1044に立下りエッジが入力され、第1のORゲート1040が立下りエッジを出力する。立下りエッジは、第2のファインチューナブル遅延デバイス1045の遅延後に、第2のXORゲート1080の第2の入力1084に伝搬する。これにより、第2のXORゲート1080は立下りエッジを出力し、これにより、第2のORゲート1090は、遅延回路730の出力734において立下りエッジを出力する。この一例が、遅延回路730の出力734における立下りエッジ1160の一例を示す図11Bに示されている。立下りエッジ1160は、クロック信号CLKの第1のエッジ1155から、チューナブル遅延デバイス1020および第2のファインチューナブル遅延デバイス1045のほぼ遅延分だけ遅延される。
【0074】
この例では、フロップ740が、クロック信号CLKの第2のエッジ1170で立下りエッジ1160を正常にラッチしたとき、タイミングが満たされる。この例では、タイミング信号のエッジは、遅延回路730の出力と信号生成器720の出力とで同じ極性(すなわち、立下り)を有することに留意されたい。この例では、フロップ740が立下りエッジ1160を正常にラッチした場合、タイミングが満たされる。この場合、フロップ740は、タイミングが満たされたことを示す0のビット値を出力744において出力する。フロップ740が立下りエッジ1160のラッチに失敗した場合、タイミングは満たされない。
【0075】
したがって、この例では、信号生成器720が立上りエッジを出力するか、立下りエッジを出力するかにかかわらず、タイミングが満たされるかどうかを決定するために使用される遅延回路730の出力734におけるタイミング信号のエッジは、立下りエッジである。信号生成器720が立上りエッジを出力する場合、エッジは、チューナブル遅延デバイス1020および第1のファインチューナブル遅延デバイス1035を伝搬する。信号生成器720が立下りエッジを出力する場合、エッジは、チューナブル遅延デバイス1020および第2のファインチューナブル遅延デバイス1045を伝搬する。したがって、この例では、第1のファインチューナブル遅延デバイス1035および第2のファインチューナブル遅延デバイス1045によって、立上りエッジの遅延と立下りエッジの遅延とを別々に微調整することができる。図10の例では、第1のファインチューナブル遅延デバイス1035の遅延は制御信号td2によって設定され、第2のファインチューナブル遅延デバイス1045の遅延は制御信号td3によって設定される。
【0076】
図10の例では、電圧検出回路650はまた、高速パス1027を介して信号生成器720の出力に結合される入力1052と、クロック信号CLKを受信するように構成されたクロック入力1056と、出力1054とを有するチェックフロップ1050を含む。動作中、チェックフロップ1050は、クロック信号CLKの立上りエッジで高速パス1027を伝搬するタイミング信号をラッチし、出力1054においてラッチされたタイミング信号を出力するように構成される。チェックフロップ1050の出力1054は、信号生成器720が正しく動作しているかどうかを示すチェック信号を提供する。信号生成器720がクロック信号CLKの立上りエッジで立上りエッジと立下りエッジを交互に出力する例では、信号生成器720が正しく動作しているとき、チェックフロップ1050の出力1054は、1と0との間でトグルする。
【0077】
図10に示される例示的な実装形態では、タイミングが満たされるかどうかを決定するために使用されるタイミング信号のエッジは、立下りエッジである。しかしながら、他の実装形態では、タイミングが満たされるかどうかを決定するために使用されるタイミング信号のエッジは、立上りエッジであり得ることを諒解されたい。たとえば、第2のORゲート1090の出力と遅延回路730の出力734との間にインバータが結合されてもよく、その場合、タイミングが満たされるかどうかを決定するために使用されるタイミング信号のエッジは、立上りエッジである。
【0078】
図12は、いくつかの態様による、電圧コントローラ410とともに使用され得る電圧ドループ緩和回路1210(略して「ドループ緩和回路」)の一例を示す。以下でさらに説明するように、ドループ緩和回路1210は、電圧コントローラ410の過渡応答時間を緩和する。その結果、(たとえば、アナログLDOレギュレータと比較して)電圧コントローラ410の比較的遅い過渡応答時間は、従来のデジタルLDOレギュレータ(たとえば、デジタルLDOレギュレータ310)の場合のように問題ではない。図12では、説明の便宜上、タイミング回路450、比較器510、スイッチコントローラ520、およびスイッチ420-1~420-Nは図示していないことに留意されたい。
【0079】
図12の例では、ドループ緩和回路1210は、電圧検出回路650と、遅延回路1220と、クロックコントローラ1230と、クロック分周器1240とを含む。遅延回路1220は、入力1222および出力1224を有する。遅延回路1220は、直列に結合される複数の遅延バッファ(図示せず)を含むことができ、遅延バッファは、電圧VDDによって給電される。その結果、遅延回路1220の遅延は、電圧VDDの影響を受ける(すなわち、敏感である)。遅延回路1220の入力1222は、クロック信号CLKを受信するように構成される。
【0080】
図12の例では、クロック信号CLKは、遅延回路1220の入力1222に結合されるクロックソース1215によって生成される。クロックソース1215は、フェーズロックループ(PLL)、遅延ロックループ(DLL)、発振器、またはそれらの任意の組合せで実装され得る。クロックソース1215は、電圧VDDの電圧ドループがクロックソース1215に影響を与えないように、別個の電圧VClockによって給電される。図12の例では、電圧検出回路650の入力712は、クロックソース1215に結合され、クロックソース1215からクロック信号CLKを受信する。
【0081】
クロック分周器1240は、クロック入力1242、クロック出力1244、および制御入力1246を有する。クロック入力1242は、遅延回路1220の出力1224に結合され、遅延回路1220によって遅延されたクロック信号CLKを受信するように構成される。クロック分周器1240は、コントローラ1230の制御下で、クロック信号CLKの周波数を選択的に分周するように構成される。クロック分周器1240の出力1244は、クロックパス1270を介して回路460に結合される。クロックパス1270は、回路460にクロック信号を供給するパスであり、クロック分配などと呼ばれることもある。図12の例では、クロックパス1270は、直列に結合され、電圧VDDによって給電される1つまたは複数の遅延バッファ1275-1~1275-kを含む。したがって、この例では、クロック信号CLKは、遅延回路1220およびクロックパス1270を介して回路460に供給される。回路460は、クロック信号CLKを使用して、回路460(たとえば、CPUコア)の動作を計時する。たとえば、クロック信号CLKは、クロックパス1270を介して、図9の例に示される例示的なクリティカルパス905内のフロップ910および920に提供され得る。
【0082】
コントローラ1230は、入力1232および出力1234を有する。コントローラ1230の入力1232は、電圧検出回路650の第1の出力714に結合される。上述のように、電圧検出回路650は、電圧ドループによって引き起こされるタイミングエラーに基づいて、電圧VDDの電圧ドループを検出するために使用され得る。この例では、コントローラ1230は、電圧検出回路650による電圧ドループの検出のために、電圧検出回路650の第1の出力714における出力信号を監視し得る。コントローラ1230の出力1234は、クロック分周器1240の制御入力1246に結合される。コントローラ1230は、以下でさらに説明するように、制御入力1246を介してクロック分周器1240を制御する。
【0083】
電圧検出回路650が電圧VDDの電圧ドループを検出する(たとえば、電圧ドループによるタイミングエラー信号を出力する)と、コントローラ1230は、クロック信号CLKの周波数を分周することによって、回路460へのクロック信号の周波数を一時的に低減するようにクロック分周器1240に指示する。クロック信号の周波数の低減は、電圧ドループが回路460においてタイミングエラーを引き起こすことを防止する。たとえば、周波数分割されたクロック信号は、クロックパス1270を介して図9に示す例示的なクリティカルパス905内のフロップ910および920に提供され、電圧ドループによるクリティカルパス905におけるタイミングエラーを防止することができる。電圧ドループは、回路460の電流消費の急激な増加または他の原因によって引き起こされ得る。
【0084】
したがって、この例では、コントローラ1230は、クロック分周器1240にクロック信号の周波数を分周するように指示することによって、電圧検出回路650による電圧ドループの検出に応答して、ドループ緩和を実行する。たとえば、クロック分周器1240は、コントローラ1230によってクロック周波数を低減するように指示されたとき、クロック周波数を半分または別の量だけ低減し得る。電圧ドループがもはや検出されないとき、コントローラ1230は、クロック分周器1240に、分周せずにクロック信号を回路460に渡すように指示することができる。この場合、回路460におけるクロック周波数は、クロックソース1215の出力におけるクロック周波数と同じであってもよい。
【0085】
ドループ緩和が効果的であるために、ドループ緩和回路1210は、電圧ドループが回路460に悪影響を与える前に電圧ドループに応答する必要がある。この点に関して、遅延回路1220およびクロックパス1270は、電圧ドループに応答するのに十分な時間をドループ緩和回路1210に提供するために、回路460に対する電圧ドループの影響を遅延させる(すなわち、延期する)。これは、電圧VDDの低下により、電圧ドループ時の遅延回路1220およびクロックパス1270のクロックパルスが伸びるためである。これは、回路460に入力されるクロック信号の周波数を複数のクロックサイクルにわたって効果的に低減し、電圧ドループを検出し、ドループを軽減するためにクロック分周器1240を使用してクロック信号の周波数を低減するのに十分な時間がドループ緩和回路1210に提供される。したがって、遅延回路1220およびクロックパス1270は、ドループ緩和回路1210の過渡応答時間を緩和する。
【0086】
ドループ緩和回路1210は、回路460に対する電圧ドループの影響を緩和するので、電圧コントローラ410は、電圧ドループに迅速に応答する必要がない。その結果、(たとえば、アナログLDOと比較して)電圧コントローラ410の比較的遅い過渡応答時間は、従来のデジタルLDO(たとえば、デジタルLDO310)の場合のように問題ではない。この理由のために、ドループ緩和回路1210は、電圧コントローラ410が、過渡応答時間が遅いという問題に特に対処しながら、デジタルLDOの利点を保持することを可能にする。
【0087】
本開示は、図12に示される例示的なドループ緩和回路1210に限定されないことを諒解されたい。電圧コントローラ410の比較的遅い過渡応答時間に対処するために、電圧ドループを緩和するために、他のドループ緩和回路も使用され得る。
【0088】
電圧検出回路650のタイミングマージンは、回路460におけるクリティカルパス905のタイミングマージンよりもわずかに小さく(たとえば、1~20パーセント小さく)設定され得ることも諒解されたい。これは、たとえば、クリティカルパス905の前に電圧検出回路650にタイミングエラーが発生し、ドループがクリティカルパス905にタイミングエラーを引き起こす前に、ドループ緩和回路1210に検出された電圧ドループに応答する時間を与えるように行われてもよい。電圧検出回路650のタイミングマージンは、遅延回路730の遅延を、クリティカルパス905における遅延パス930の遅延よりもわずかに長く(たとえば、1~20パーセント長く)プログラムすることによって、回路460におけるクリティカルパス930のタイミングマージンよりもわずかに小さく設定され得る。この例では、タイミングマージン信号は、回路460におけるクリティカルパスのタイミングマージンよりもわずかに小さいタイミングマージンを示す。
【0089】
一般に、タイミングマージン信号は、図4図12を参照して上述した例示的な実装形態のいずれか1つにおいて、回路460の実際のタイミングマージンよりもわずかに小さいタイミングマージンを示し得ることを諒解されたい。これは、たとえば、回路460のクリティカルパスにおいてタイミングエラーが発生しないことを確実にするのを助けるために行われ得る。上述のように、電圧検出回路650のタイミングマージンは、遅延回路730の遅延を、クリティカルパス905における遅延パス930の遅延よりもわずかに長く(たとえば、1~20パーセント長く)プログラムすることによって、回路460におけるクリティカルパス930のタイミングマージンよりもわずかに小さく設定され得る。
【0090】
図13は、いくつかの態様による、回路の電圧を制御するための方法1300の一例を示す。回路(たとえば回路460)は、CPUコア(たとえば、CPUコア130-1~130-4のうちの1つ)、デジタル信号プロセッサ、ビデオプロセッサ、または別のタイプのプロセッサを含み得る。
【0091】
ブロック1310において、タイミングマージン信号および基準信号が受信される。たとえば、タイミングマージン信号および基準信号は、比較器510において受信され得る。基準信号は、目標タイミングマージンを示し得、タイミングマージン信号は、回路のタイミングマージンを示し得る。
【0092】
ブロック1320において、タイミングマージン信号が基準信号と比較される。たとえば、比較器510は、タイミングマージン信号を基準信号と比較し得る。
【0093】
ブロック1330において、比較に基づいて、供給レールと回路との間でオンにされるスイッチの数が調整される。たとえば、スイッチコントローラ520は、比較に基づいて、オンにされるスイッチの数を調整してもよい。スイッチは、スイッチ420-1~420-Nに対応し得、各スイッチは供給レールと回路との間に結合される。
【0094】
いくつかの態様では、オンにされるスイッチの数を調整することは、タイミングマージン信号が基準信号よりも小さい場合、供給レールと回路との間でオンにされるスイッチの数を増加させることを含み得る。いくつかの態様では、オンにされるスイッチの数を調整することは、タイミングマージン信号が基準信号よりも大きい場合、供給レールと回路との間でオンにされるスイッチの数を減少させることを含み得る。
【0095】
いくつかの態様では、方法1300は、タイミングマージン信号を生成するステップも含み得、タイミングマージン信号を生成するステップが、タイミング信号に対して時間-デジタル変換を実行するステップを含む。一例では、方法1300は、電圧検出回路(たとえば、電圧検出回路650)からタイミング信号を受信するステップをさらに含み得る。この例では、電圧検出回路は、電圧ドループ(たとえば、電圧VDDのドループ)を検出するように構成され得る。
【0096】
制御回路435、比較器510、スイッチコントローラ520、およびコントローラ1230は各々、プロセッサ、ステートマシン、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)または他のプログラマブル論理デバイス、個別のハードウェア構成要素(たとえば、論理ゲート)、あるいは本明細書で説明する機能を実行するように設計されたそれらの任意の組合せで実装され得る。プロセッサは、機能を実行するためのコードを備えるソフトウェアを実行することによって、本明細書に記載の機能を実行し得る。ソフトウェアは、RAM、ROM、EEPROM、光ディスク、および/または磁気ディスクなどのコンピュータ可読記憶媒体に記憶され得る。
【0097】
本開示は、本開示の態様を記載するために上で使われた例示的な用語に限定されないことを諒解されたい。たとえば、コントローラ1230は、適応制御ユニット(ACU)などと呼ばれることもある。立上りエッジは、立上り遷移、ポジティブエッジなどと呼ばれることもある。立下りエッジは、立下り遷移、ネガティブエッジなどと呼ばれることもある。タイミングエラーは、タイミング障害、タイミング違反などと呼ばれることもある。
【0098】
以下の番号付き条項において実装例が説明される。
【0099】
1. システムであって、
電圧コントローラを備え、電圧コントローラが、
電圧供給レールと電圧コントローラの出力との間に結合されるスイッチであり、スイッチの各々が制御入力を有する、スイッチと、
スイッチの制御入力に結合される制御回路と、
制御回路に結合されるタイミング回路とを含み、タイミング回路が、
遅延線と、
フロップであり、フロップの各々が、入力および出力を有し、フロップの各々の入力が、遅延線上のそれぞれのノードに結合され、フロップの出力が、制御回路に結合されている、フロップと
を含む、
システム。
【0100】
2. スイッチの各々が、それぞれのトランジスタを備え、スイッチの各々の制御入力が、それぞれのトランジスタのゲートに位置する、条項1に記載のシステム。
【0101】
3. 遅延線が、直列に結合される複数の遅延バッファを備える、条項1または2に記載のシステム。
【0102】
4. フロップの各々の入力が、遅延バッファのそれぞれ1つの出力に結合されている、条項3に記載のシステム。
【0103】
5. 遅延線に結合される電圧検出回路をさらに備える、条項1から4のいずれか一項に記載のシステム。
【0104】
6. 電圧検出回路が、
信号生成器と、
入力および出力を有する遅延回路であり、遅延回路の入力が信号生成器に結合され、遅延回路の出力が遅延線に結合されている、遅延回路と
を備える、条項5に記載のシステム。
【0105】
7. 信号生成器が、タイミング信号を生成し、タイミング信号を遅延回路の入力に出力するように構成されている、条項6に記載のシステム。
【0106】
8. 信号生成器が、クロック信号の第1のエッジでタイミング信号のエッジを生成し、タイミング信号のエッジを遅延回路の入力に出力するように構成されている、条項7に記載のシステム。
【0107】
9. フロップの各々が、クロック信号の第2のエッジでフロップの入力においてビット値をラッチし、ラッチされたビット値をフロップの出力において出力するように構成されている、条項8に記載のシステム。
【0108】
10. クロック信号の第1のエッジとクロック信号の第2のエッジとが、クロック信号の1サイクルだけ離間している、条項9に記載のシステム。
【0109】
11. 制御回路が、
スイッチの制御入力に結合されるスイッチコントローラと、
第1の入力、第2の入力、および出力を有する比較器であり、比較器の出力がスイッチコントローラに結合され、第1の入力が基準信号を受信するように構成され、第2の入力がフロップの出力に結合される、比較器と
を備える、条項1から9のいずれか一項に記載のシステム。
【0110】
12. 基準信号がデジタルコードを備える、条項11に記載のシステム。
【0111】
13. 比較器の第1の入力に結合されるレジスタであり、デジタルコードを記憶するように構成されている、レジスタをさらに備える、条項12に記載のシステム。
【0112】
14.
クロックソースと、
クロック分周器と、
クロックソースとクロック分周器との間に結合される遅延回路と、
遅延線に結合される電圧検出回路と、
電圧検出回路とクロック分周器の制御入力との間に結合されるクロックコントローラと
をさらに備える、条項1から13のいずれか一項に記載のシステム。
【0113】
15. クロックソースが、位相ロックループ(PLL)を備える、条項14に記載のシステム。
【0114】
16. 電圧検出回路が、電圧ドループを検出するように構成されている、条項14または15に記載のシステム。
【0115】
17.
クロックソースが、クロック信号を遅延回路に出力するように構成され、
クロックコントローラが、電圧検出回路による電圧ドループの検出に応じて、クロック信号の周波数を分周するようにクロック分周器に指示するように構成されている、
条項16に記載のシステム。
【0116】
18.
電圧コントローラの出力に結合されるプロセッサと、
クロック分周器とプロセッサとの間に結合されるクロックパスと
をさらに備える、条項14から17のいずれか一項に記載のシステム。
【0117】
19. 回路の電圧を制御するための方法であって、
タイミングマージン信号および基準信号を受信するステップと、
タイミングマージン信号と基準信号とを比較するステップと、
比較に基づいて、供給レールと回路との間でオンにされるスイッチの数を調整するステップと
を含む方法。
【0118】
20. オンにされるスイッチの数を調整するステップが、タイミングマージン信号が基準信号よりも小さい場合、供給レールと回路との間でオンされるスイッチの数を増加させるステップを含む、条項19に記載の方法。
【0119】
21. オンにされるスイッチの数を調整するステップが、タイミングマージン信号が基準信号よりも大きい場合、供給レールと回路との間でオンされるスイッチの数を減少させるステップを含む、条項20に記載の方法。
【0120】
22. タイミングマージン信号を生成するステップをさらに含み、タイミングマージン信号を生成するステップが、タイミング信号に対して時間-デジタル変換を実行するステップを含む、条項19から21のいずれか一項に記載の方法。
【0121】
23. 電圧検出回路からタイミング信号を受信するステップをさらに含む、条項22に記載の方法。
【0122】
24. 電圧検出回路が、電圧ドループを検出するように構成されている、条項23に記載の方法。
【0123】
25. 電圧検出回路による電圧ドループの検出に応じて、プロセッサへのクロック信号の周波数を減少させるステップをさらに含む、条項24に記載の方法。
【0124】
本明細書において「第1の」、「第2の」などの指定を使用する、要素へのいかなる言及も、一般に、それらの要素の数量または順序を限定しない。むしろ、これらの指定は、2つ以上の要素、または要素の例を区別する便利なやり方として本明細書で使われている。したがって、第1および第2の要素への言及は、2つの要素のみが用いられ得ること、または第1の要素が第2の要素に先行しなければならないことを意味しない。
【0125】
本開示内で、「例示的」という言葉は、「例、事例、または例示としての役割を果たすこと」を意味するために使用される。「例示的」として本明細書で説明した任意の実装形態または態様は、必ずしも本開示の他の態様よりも好ましいまたは有利であると解釈されるべきではない。同様に、「態様」という用語は、本開示のすべての態様が、論じられる特徴、利点、または動作モードを含むことを必要としない。記述した値またはプロパティに関して本明細書で使用する「ほぼ」という用語は、記述した値またはプロパティの10%以内であることを示すことを意図している。
【0126】
本開示の以上の説明は、いかなる当業者も本開示を作成または使用することが可能となるように提供される。本開示の様々な変更が当業者に容易に明らかになり、本明細書で定義される一般原理は、本開示の趣旨または範囲から逸脱することなく他の変形形態に適用され得る。したがって、本開示は本明細書で説明する例に限定されるものではなく、本明細書で開示する原理および新規の特徴と一致する最も広い範囲を与えられるべきである。
【符号の説明】
【0127】
100 マルチコアシステム
110 供給レール
115-1~115-4 ヘッドスイッチ
120-1~120-4 電圧コントローラ
130-1~130-4 コア
210 アナログLDOレギュレータ
220 パストランジスタ
230 誤差増幅器
232 出力
240 回路
310 デジタルLDOレギュレータ
320-1~320-N スイッチ
330 電圧比較器
335 スイッチコントローラ
340 回路
410 電圧コントローラ
420-1~420-N スイッチ
425 出力
435 制御回路
450 タイミング回路
452 出力
460 回路
510 比較器
512 第1の入力
514 第2の入力
516 出力
520 スイッチコントローラ
550 レジスタ
555 出力
610 入力
615 遅延線
618 入力
620-1~620-n 遅延バッファ
622-1~622-n ノード
630-1~630-n フロップ
632-1~632-n 入力
634-1~634-n 出力
636-1~636-n クロック入力
650 電圧検出回路
712 入力
714 第1の出力
716 第2の出力
720 信号生成器
722 出力
724 クロック入力
730 遅延回路
732 入力
734 出力
740 フロップ
742 入力
744 出力
746 クロック入力
810 エッジ
820 エッジ
905 クリティカルパス
910 第1のフロップ
912 入力
914 出力
916 クロック入力
920 第2のフロップ
922 入力
924 出力
926 クロック入力
930 遅延パス
1012 ANDゲート
1015 フロップ
1018 インバータ
1020 チューナブル遅延デバイス
1022 マルチプレクサ
1027 高速パス
1030 ANDゲート
1032 第1の入力
1034 第2の入力
1035 第1のファインチューナブル遅延デバイス
1040 第1のORゲート
1042 第1の入力
1044 第2の入力
1045 第2のファインチューナブル遅延デバイス
1050 チェックフロップ
1052 入力
1054 出力
1056 クロック入力
1070 第1のXORゲート
1072 第1の入力
1074 第2の入力
1080 第2のXORゲート
1082 第1の入力
1084 第2の入力
1090 第2のORゲート
1092 第1の入力
1094 第2の入力
1105 第1のエッジ
1110 立下りエッジ
1120 第2のエッジ
1155 第1のエッジ
1160 立下りエッジ
1170 第2のエッジ
1210 電圧ドループ緩和回路
1215 クロックソース
1220 遅延回路
1222 入力
1224 出力
1230 クロックコントローラ
1232 入力
1234 出力
1240 クロック分周器
1242 クロック入力
1244 クロック出力
1246 制御入力
1270 クロックパス
1275-1~1275-k 遅延バッファ
1300 方法
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11A
図11B
図12
図13