KR102030706B1 - 동적 적응형 전압-주파수 가드대역 제어 회로 - Google Patents

동적 적응형 전압-주파수 가드대역 제어 회로 Download PDF

Info

Publication number
KR102030706B1
KR102030706B1 KR1020197018122A KR20197018122A KR102030706B1 KR 102030706 B1 KR102030706 B1 KR 102030706B1 KR 1020197018122 A KR1020197018122 A KR 1020197018122A KR 20197018122 A KR20197018122 A KR 20197018122A KR 102030706 B1 KR102030706 B1 KR 102030706B1
Authority
KR
South Korea
Prior art keywords
voltage
droop
circuit
threshold
mitigation
Prior art date
Application number
KR1020197018122A
Other languages
English (en)
Other versions
KR20190077121A (ko
Inventor
람 호
키스 앨런 보우먼
나비드 토시자데
시-신 제이슨 후
무함마드 레자 카코이
사라바나 크리슈난 카난
Original Assignee
퀄컴 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20190077121A publication Critical patent/KR20190077121A/ko
Application granted granted Critical
Publication of KR102030706B1 publication Critical patent/KR102030706B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/01Shaping pulses
    • H03K5/04Shaping pulses by increasing duration; by decreasing duration
    • H03K5/05Shaping pulses by increasing duration; by decreasing duration by the use of clock signals or other time reference signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/30Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
    • G06F1/305Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations in the event of power-supply fluctuations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/19Monitoring patterns of pulse trains
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K2005/00013Delay, i.e. output pulse is delayed after input pulse and pulse length of output pulse is dependent on pulse length of input pulse
    • H03K2005/00019Variable delay
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Nonlinear Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)
  • Electric Clocks (AREA)
  • Pulse Circuits (AREA)
  • Manipulation Of Pulses (AREA)

Abstract

특정 양상들에서, 시스템은, 회로에 공급되는 공급 전압에서의 전압 드룹을 모니터링하고, 모니터링된 전압 드룹이 드룹 임계치 이상이면 회로에 대한 전압-드룹 완화를 수행하도록 구성된 전압-드룹 완화 회로를 포함한다. 일 양상에서, 시스템은 또한, 전압-드룹 완화 회로가 시간 지속기간 내에 전압-드룹 완화를 수행하는 클럭 사이클들의 수를 추적하고, 클럭 사이클들의 수에 기초하여 드룹 임계치를 조절하도록 구성된 성능 모니터를 포함한다. 다른 양상에서, 시스템은 또한, 전압-드룹 완화 회로가 시간 지속기간 내에 전압-드룹 완화를 수행하는 횟수를 추적하고, 전압-드룹 완화 회로가 시간 지속기간 내에 전압-드룹 완화를 수행하는 횟수에 기초하여 드룹 임계치를 조절하도록 구성된 성능 모니터를 포함한다.

Description

동적 적응형 전압-주파수 가드대역 제어 회로
[0001] 본 출원은 2016년 12월 28일에 미국 특허 상표청에 출원된 정식 출원 제15/393,107호에 대한 우선권 및 이익을 주장하며, 상기 출원의 전체 내용은 인용에 의해 본원에 통합된다.
[0002] 본 개시의 양상들은 일반적으로 전압 드룹(droop)에 관한 것이고, 더 상세하게는 전압 드룹 완화에 관한 것이다.
[0003] 칩 상의 회로(예를 들어, 프로세서)는 PDN(power distribution network)을 통해 전압 소스로부터 전력을 수신한다. 회로의 활동에서의 갑작스런 변화들은 PDN에서 큰 전류 과도값들을 유도할 수 있다. 큰 전류 과도값들은 공급 전압에서 드룹들을 초래한다. 전압 드룹의 크기가 공급 전압을 회로의 적절한 동작에 요구되는 최소 공급 전압 미만으로 드롭시키기에 충분히 크면, 회로는 고장날 수 있다(예를 들어, 회로의 중요한 경로들에서 타이밍 위반들이 발생할 수 있다).
[0004] 다음은, 이러한 실시예들의 기본적인 이해를 제공하기 위해 하나 이상의 실시예들의 간략화된 요약을 제시한다. 이러한 요약은 모든 고려된 실시예들의 포괄적인 개관이 아니며, 모든 실시예들의 핵심적인 또는 중요한 엘리먼트들을 식별하거나 임의의 또는 모든 실시예들의 범위를 서술하도록 의도되지 않는다. 이러한 요약의 유일한 목적은, 이후에 제시되는 더 상세한 설명에 대한 서론으로서 간략화된 형태로 하나 이상의 실시예들의 일부 개념들을 제시하는 것이다.
[0005] 제1 양상은 시스템과 관련된다. 시스템은, 회로에 공급되는 공급 전압에서의 전압 드룹을 모니터링하고, 모니터링된 전압 드룹이 드룹 임계치 이상이면 회로에 대한 전압-드룹 완화를 수행하도록 구성된 전압-드룹 완화 회로를 포함한다. 시스템은 또한, 전압-드룹 완화 회로가 시간 지속기간 내에 전압-드룹 완화를 수행하는 클럭 사이클들의 수를 추적하고, 클럭 사이클들의 수에 기초하여 드룹 임계치를 조절하도록 구성된 성능 모니터를 포함한다.
[0006] 제2 양상은 드룹 임계치를 조절하기 위한 방법과 관련된다. 방법은, 회로에 공급되는 공급 전압에서의 전압 드룹을 모니터링하는 단계, 및 모니터링된 전압 드룹이 드룹 임계치 이상이면 회로에 대한 전압-드룹 완화를 수행하는 단계를 포함한다. 방법은 또한, 시간 지속기간 내에 전압-드룹 완화가 수행되는 클럭 사이클들의 수를 추적하는 단계, 및 클럭 사이클들의 수에 기초하여 드룹 임계치를 조절하는 단계를 포함한다.
[0007] 제3 양상은 시스템과 관련된다. 시스템은, 회로에 공급되는 공급 전압에서의 전압 드룹을 모니터링하고, 모니터링된 전압 드룹이 드룹 임계치 이상이면 회로에 대한 전압-드룹 완화를 수행하도록 구성된 전압-드룹 완화 회로를 포함한다. 시스템은 또한, 전압-드룹 완화 회로가 시간 지속기간 내에 전압-드룹 완화를 수행하는 횟수를 추적하고, 전압-드룹 완화 회로가 시간 지속기간 내에 전압-드룹 완화를 수행하는 횟수에 기초하여 드룹 임계치를 조절하도록 구성된 성능 모니터를 포함한다.
[0008] 제4 양상은 방법과 관련된다. 방법은, 회로에 공급되는 공급 전압에서의 전압 드룹을 모니터링하는 단계, 및 모니터링된 전압 드룹이 드룹 임계치 이상이면 회로에 대한 전압-드룹 완화를 수행하는 단계를 포함한다. 방법은 또한, 시간 지속기간 내에 전압-드룹 완화가 수행되는 횟수를 추적하는 단계, 및 시간 지속기간 내에 전압-드룹 완화가 수행되는 횟수에 기초하여 드룹 임계치를 조절하는 단계를 포함한다.
[0009] 상술한 목적 및 관련되는 목적의 달성을 위해서, 하나 이상의 실시예들은, 아래에서 완전히 설명되고 특히 청구항들에서 언급되는 특징들을 포함한다. 하기 설명 및 부가된 도면들은 하나 이상의 실시예들의 특정한 예시적인 양상들을 상세히 기술한다. 그러나, 이러한 양상들은, 다양한 실시예들의 원리들이 사용될 수 있는 다양한 방식들 중 일부만을 나타내고, 설명된 실시예들은 모든 이러한 양상들 및 이들의 균등물들을 포함하는 것으로 의도된다.
[0010] 도 1은 PDN(power distribution network)을 통해 전압 소스로부터 공급 전압을 수신하는 회로의 예를 도시한다.
[0011] 도 2는 공급 전압에서의 전압 드룹의 예를 도시한다.
[0012] 도 3은 최악의 경우의 전압 드룹을 처리하기 위해 공급 전압에 구축된 가드대역의 예를 도시한다.
[0013] 도 4는 본 개시의 특정 양상들에 따른 전압-드룹 완화 회로의 예를 도시한다.
[0014] 도 5는 본 개시의 특정 양상들에 따른 전압-드룹 완화 회로를 사용함으로써 제공되는 가드대역에서 감소의 예를 도시한다.
[0015] 도 6은 본 개시의 특정 양상들에 따른 성능 모니터의 다른 예를 도시한다.
[0016] 도 7a는 본 개시의 특정 양상들에 따라 드룹 임계치를 조절하기 위한 예시적인 방법을 도시하는 흐름도이다.
[0017] 도 7b는 본 개시의 특정 양상들에 따라 드룹 임계치를 조절하기 위한 다른 예시적인 방법을 도시하는 흐름도이다.
[0018] 도 8은 본 개시의 특정 양상들에 따른 드룹 임계치에서의 조절들로 공급 전압 및 가드대역이 조절되는 예를 도시한다.
[0019] 도 9a는 본 개시의 특정 양상들에 따라 드룹 임계치를 조절하기 위한 또 다른 예시적인 방법을 도시하는 흐름도이다.
[0020] 도 9b는 본 개시의 특정 양상들에 따라 드룹 임계치를 조절하기 위한 또 다른 예시적인 방법을 도시하는 흐름도이다.
[0021] 도 10은 본 개시의 특정 양상들에 따른 클럭 감소기의 예시적인 구현을 도시한다.
[0022] 도 11은 본 개시의 특정 양상들에 따른 클럭 분할기의 예시적인 구현을 도시한다.
[0023] 도 12는 본 개시의 특정 양상들에 따른 전압-기반 드룹 모니터의 예시적인 구현을 도시한다.
[0024] 도 13은 본 개시의 특정 양상들에 따른 클럭 분배 경로 상의 지연 디바이스의 예를 도시한다.
[0025] 도 14는 본 개시의 특정 양상들에 따른 타이밍-기반 드룹 모니터의 예시적인 구현을 도시한다.
[0026] 도 15는 본 개시의 특정 양상들에 따른 튜닝가능한 지연 디바이스의 예를 도시한다.
[0027] 도 16은 본 개시의 양상들에 따라 드룹 임계치를 조절하기 위한 예시적인 방법을 도시하는 흐름도이다.
[0028] 도 17은 본 개시의 양상들에 따라 드룹 임계치를 조절하기 위한 다른 예시적인 방법을 도시하는 흐름도이다.
[0029] 첨부 도면들과 관련하여 아래에 기술되는 상세한 설명은 다양한 구성들의 설명으로 의도되며, 본 명세서에서 설명된 개념들이 실시될 수 있는 유일한 구성들을 표현하도록 의도되는 것은 아니다. 상세한 설명은 다양한 개념들의 철저한 이해를 제공할 목적으로 특정 세부사항들을 포함한다. 그러나, 이러한 특정 세부사항들 없이도 이러한 개념들이 실시될 수 있음은 당업자들에게 자명할 것이다. 일부 예들에서, 이러한 개념들을 불명료하게 하는 것을 피하기 위해, 잘 알려진 구조들 및 컴포넌트들은 블록도 형태로 도시된다.
[0030] 도 1은 PDN(power distribution network)(115)을 통해 전압 소스(120)로부터 전력을 수신하는 회로(110)(예를 들어, 프로세서)의 예를 도시한다. 전압 소스(120)는 PDN(115)을 통해 회로(110)에 공급되는 공급 전압 VDD를 생성하도록 구성된 PMIC(power management integrated circuit)를 포함할 수 있다. 이와 관련하여, PMIC는 (예를 들어, 배터리 또는 다른 소스로부터의) 입력 전압을 공급 전압 VDD로 변환하도록 구성된 전압 조절기(스위칭 조절기)를 포함할 수 있다. 회로(110)는 회로(110)의 타이밍 동작들을 위한 클럭 신호("CLK"로 표기됨)를 수신한다. 통상적으로, 회로(110)는 특정 클럭 주파수에서 적절히 동작하기 위해 최소 공급 전압을 요구한다. 예를 들어, 회로(110)는, 회로(110) 내의 중요한 경로들이 적절한 동작을 위한 특정 타이밍 요건들(예를 들어, 셋업 시간들)을 충족하기 위해 최소 공급 전압을 요구할 수 있다.
[0031] 회로(110)(예를 들어, 프로세서)의 활동에서의 갑작스런 변화들은 PDN(115)에서 큰 전류 과도값들을 유도할 수 있다. 큰 전류 과도값들은 공급 전압 VDD에서 드룹들을 초래한다. 이는, 전압 소스(120)(예를 들어, PMIC)가 PDN(115)에서의 인덕턴스들로 인해 큰 전류 과도값에 즉시 반응할 수 없기 때문이다. 그 결과, 전류 과도값은 PDN(115) 내의 커패시터들(예를 들어, 디커플링 커패시터들) 및/또는 PDN(115)에 커플링된 다른 회로들 내의 커패시터들을 방전시켜, 공급 전압 VDD에서 드룹을 초래한다.
[0032] 이와 관련하여, 도 2는 큰 전류 과도값에 의해 초래되는 공급 전압 VDD에서 드룹(210)의 예를 도시한다. 전압 드룹(210)의 크기가 공급 전압 VDD를 회로(110)의 적절한 동작에 요구되는 최소 공급 전압 미만으로 드롭시키기에 충분히 크면, 회로(110)는 고장날 수 있다(예를 들어, 회로(110)의 중요한 경로들에서 타이밍 위반들이 발생할 수 있다).
[0033] 이를 처리하기 위해, 가드대역(전압 마진)은 통상적으로 공급 전압 VDD로 구축된다. 가드대역은, 전압 드룹을 수용하기 위해 공급 전압 VDD가 최소 전압 초과로 상승되는 양이다. 도 3은 약 100mV의 가드대역을 갖는 공급 전압 VDD의 예를 도시한다. 도 3에서, 전압 파형(310)은 원하는 공급 전압 레벨(또한 타겟 공급 전압으로 지칭됨) 주위에서 공급 전압의 변동들을 도시하고, 라인(320)은 타겟 클럭 주파수에서 회로(110)의 적절한 동작에 대해 요구되는 최소 전압("VMIN"으로 표기됨)을 도시한다. 이러한 예에서, 가드대역은, 공급 전압 VDD가 최악의 경우의 전압 드룹에 대해 최소 전압 VMIN 미만으로 드롭되지 않도록 최악의 경우의 전압 드룹에 기초한다. 이러한 접근법은 단점은, 회로(110)의 전력 소비를 증가시키는 가드대역을 추가하기 위해 공급 전압 VDD가 증가될 필요가 있다는 점이다.
[0034] 가드대역은 전압-드룹 완화를 사용하여 감소될 수 있다. 이와 관련하여, 도 4는 전압-드룹 완화 회로(410)의 예를 도시한다. 전압-드룹 완화 회로(410)는 전압-드룹 모니터(420) 및 클럭 감소기(430)를 포함한다. 전압-드룹 모니터(410)는 아래에서 추가로 논의되는 바와 같이 전압 드룹에 대해 공급 전압 VDD를 모니터링하도록 구성될 수 있다. 클럭 감소기(430)는 클럭 소스(450)로부터 입력 클럭 신호("CLK_IN"로 표기됨)를 수신하고, 회로(110)의 타이밍 동작들을 위해 회로(110)에 출력 클럭 신호("CLK_OUT"로 표기됨)를 출력한다. 클럭 감소기(430)는 전압 드룹 모니터(420)의 제어 하에서 2개의 모드들 중 하나에서 동작하도록 구성된다. 제1 모드에서, 클럭 감소기(430)는 입력 클럭 신호 CLK_IN을 출력 클럭 신호 CLK_OUT으로서 회로(110)에 전달하도록 구성된다. 제2 모드에서, 클럭 감소기(430)는 감소된 주파수 클럭 신호를 생성하고 감소된 주파수 클럭 신호를 출력 클럭 신호 CLK_OUT으로서 회로(110)에 출력하기 위해, 입력 클럭 신호 CLK_IN의 주파수를 감소시키도록 구성된다.
[0035] 이러한 예에서, 전압-드룹 모니터(420)는 공급 전압에서의 전압 드룹을 모니터링하고 모니터링되는 전압 드룹을 드룹 임계치와 비교한다. 전압 드룹은, 공급 전압이 타겟 공급 전압(즉, 드룹 없는 공급 전압) 미만으로 드롭하는 양일 수 있다. 예를 들어, 타겟 공급 전압이 900mV이고, 공급 전압이 870mV로 드롭되면, 전압 드룹은 약 30mV이다.
[0036] 전압 드룹이 드룹 임계치(예를 들어, 50mV) 미만이면, 전압-드룹 모니터(420)는 드룹에 대응하지 않는다. 이러한 경우, 클럭 감소기(430)는 제1 모드에서 동작하고, 입력 클럭 신호 CLK_IN을 출력 클럭 신호 CLK_OUT으로서 회로(110)에 전달한다. 회로(110)(예를 들어, 프로세서)는, 입력 클럭 신호 CLK_IN의 주파수에 대응하는 타겟 클럭 주파수(예를 들어, 2 GHz)에서 실행된다.
[0037] 모니터링된 전압 드룹이 드룹 임계치 이상이면, 전압-드룹 모니터(420)는 제2 모드로 동작하도록 클럭 감소기(430)에 명령하고, 여기서 클럭 감소기(430)는 입력 클럭 신호 CLK_IN의 주파수를 감소시키고 결과적으로 감소된 주파수 클럭 신호를 회로(110)에 출력한다. 예를 들어, 클럭 감소기(430)는 클럭 주파수를 50%만큼 감소시킬 수 있다(예를 들어, 클럭 주파수를 2 GHz로부터 1 GHz로 감소시킬 수 있다). 클럭 주파수에서의 감소는, 전압 드룹이, 회로(110)가 고장나게 하는 것을 방지한다(예를 들어, 회로(110)의 중요한 경로들에서의 타이밍 위반들을 방지한다). 이는, 감소된 클럭 주파수에서 회로(110)의 중요한 경로들에 대한 타이밍 요건들이 완화되어, 회로(110)가 감소된 클럭 주파수에서 더 큰 전압 드룹을 용인하도록 허용하기 때문이다.
[0038] 공급 전압이 드룹으로부터 복원되는 경우(모니터링된 전압 드룹이 드룹 임계치 미만로 드롭되는 경우), 전압-드룹 모니터(420)는 제1 모드에서의 동작으로 다시 스위칭하도록 클럭 감소기(430)에 명령할 수 있고, 여기서 클럭 감소기(430)는 입력 클럭 신호 CLK_IN을 회로(110)에 전달한다. 이는 회로(110)의 클럭 주파수를 타겟 클럭 주파수(즉, 입력 클럭 신호 CLK_IN의 주파수)로 다시 복원한다.
[0039] 전압-드룹 완화 회로(410)는 가드대역이 감소되도록 허용하고, 따라서 감소될 공급 전압 VDD가 전력 소비를 감소시키도록 허용한다. 이는, 공급 전압이 타겟 클럭 주파수(예를 들어, 2 GHz)에서 적절한 동작을 위해 요구되는 최소 전압 미만으로 드롭되기 전에, 전압-드룹 완화 회로(410)가 드룹 완화를 개시(트리거링)하기(즉, 회로(110)에서 클럭 주파수를 감소시키기) 때문이다. 그 결과, 가드대역은, 공급 전압이 항상 최소 전압을 넘지(crossing) 않도록 유지하기에 충분할만큼 크도록 더 이상 요구되지 않는다.
[0040] 이와 관련하여, 도 5는 가드대역이 50mV로 감소되는 예를 도시한다. 이러한 예에서, 2개의 최소 전압들 VMIN_1 및 VMIN_2가 존재한다. 제1 최소 전압 VMIN_1은 회로(110)가 타겟 클럭 주파수(예를 들어, 2 GHz)에서 적절히 동작하기 위해 요구되는 최소 전압이다. 제1 최소 전압 VMIN_1은 도 3에 도시된 최소 전압 VMIN과 동일하다. 제2 최소 전압 VMIN_2는 회로(110)가 감소된 클럭 주파수(예를 들어, 1 GHz)에서 적절히 동작하기 위해 요구되는 최소 전압이다. 도 5에 도시된 바와 같이, 제2 최소 전압 VMIN_2는 제1 최소 전압 VMIN_1보다 낮다. 이러한 예에서, 드룹 임계치는, 공급 전압이 제1 최소 전압 VMIN_1로 드롭되는 경우 전압-드룹 완화 회로(410)가 드룹 완화를 개시(트리거링)하도록 설정될 수 있다. 이러한 경우, 전압-드룹 완화 회로(410)는 공급 전압이 제1 최소 전압 VMIN_1을 넘을 때마다 드룹 완화를 개시한다. 도 5에 도시된 예에서, 공급 전압(510)은 도 5에 도시된 시간 기간 동안 제1 최소 전압 VMIN_1을 여러번 넘고, 따라서, 도 5에 도시된 시간 기간 동안 전압-드룹 완화를 여러번 수행한다.
[0041] 전력과 성능 사이에 절충점이 존재한다. 드룹 임계치를 감소시키는 것은 공급 전압이 타겟 클럭 주파수에 대한 최소 전압에 더 가깝게 이동되도록 허용하며, 따라서 공급 전압이 감소되게 허용한다. 공급 전압에서의 감소는 전력 소비를 감소시킨다.
[0042] 그러나, 드룹 임계치를 감소시키는 것은 전압-드룹 완화 회로(410)가 더 작은 전압 드룹들에 대해 드룹 완화를 개시하게 하고, 따라서 드룹 완화를 더 빈번하게(더 자주) 개시하게 한다. 이에 의한 문제점은, 드룹 완화가 수행될 때마다 회로(110)에서 클럭 주파수에서의 감소로 인해 회로(110)의 성능이 감소된다는 점이다.
[0043] 따라서, 전력과 성능 사이에서 최적의 절충점을 제공하는 값으로 드룹 임계치를 설정하는 것이 바람직할 수 있다. 예를 들어, 최적의 드룹 임계치는, 전압-드룹 완화가 시간의 특정 퍼센트(예를 들어, 시간의 0.1 퍼센트) 동안 수행되게 하는 드룹 임계치로서 정의될 수 있다.
[0044] 현재 시스템들에서, 드룹 임계치는 회로(110)의 동작 동안 정적(고정)이다. 이에 의한 문제점은, 공급 전압에서의 전압 드룹들의 크기 및/또는 빈도가 회로(110)(예를 들어, 프로세서)의 상이한 작업량들에 대해 달라질 수 있다는 점이다. 그 결과, 하나의 작업량에 대한 최적의 드룹 임계치는 다른 작업량에 대해 일반적으로 최적이 아니다. 통상적으로, 드룹 임계치는 회로(110)의 최악의 경우의 작업량에 기초하여 설정된다. 따라서, 드룹 임계치는 통상적으로 회로(110)의 대부분의 작업량들에 대해 최적이 아니다.
[0045] 본 개시의 실시예들은 아래에서 추가로 논의되는 바와 같이, 드룹 임계치를 회로(110)(예를 들어, 프로세서)의 작업량에서의 변화들에 대해 동적으로 조절(적응)하는 성능 모니터를 제공함으로써 상기 문제점을 처리한다.
[0046] 도 6은 아래에서 추가로 논의되는 바와 같이, 전압-드룹 모니터(420)에 의해 사용되는 드룹 임계치를 동적으로 조절하도록 구성된 성능 모니터(620)의 예를 도시한다.
[0047] 전압-드룹 모니터(420)는 공급 전압에서의 전압 드룹을 모니터링하고 모니터링되는 전압 드룹을 드룹 임계치와 비교한다. 모니터링된 전압 드룹이 드룹 임계치 미만이면, 전압-드룹 모니터(420)는 드룹에 대응하지 않는다. 이러한 경우, 클럭 감소기(430)는 제1 모드에서 동작하고, 여기서 클럭 감소기(430)는 입력 클럭 신호 CLK_IN을 회로(110)에 전달한다. 모니터링된 전압 드룹이 드룹 임계치 이상이면, 앞서 논의된 바와 같이 전압-드룹 모니터(420)는 회로(110)에서의 클럭 주파수를 감소시키는 제2 모드로 동작하도록 클럭 감소기(430)에 명령한다. 아래에서 추가로 논의되는 바와 같이, 전압-드룹 모니터(420)는 전압-기반 드룹 검출 또는 타이밍-기반 드룹 검출을 사용하여 전압 드룹을 검출할 수 있다.
[0048] 성능 모니터(620)는, 드룹 완화가 수행되는(즉, 클럭 주파수가 감소되는) 입력 클럭 신호 CLK_IN의 클럭 사이클들(기간들)의 수를 추적한다. 예를 들어, 전압 드룹 모니터(420)는, 제1 모드에서 동작하도록 클럭 감소기(430)에 명령하기 위해 제1 로직 값(예를 들어, 제로)을 클럭 감소기(430)에 출력하고, 제2 모드에서 동작하도록 클럭 감소기(430)에 명령하기 위해 제2 로직 값(예를 들어, 1)을 클럭 감소기(430)에 출력할 수 있다. 이러한 예에서, 성능 모니터(620)는, 전압-드룹 모니터(420)가 제2 로직 값(예를 들어, 1)을 클럭 감소기(430)에 출력하는 클럭 사이클들의 수를 추적함으로써 드룹 완화가 수행되는 클럭 사이클들의 수를 추적할 수 있다.
[0049] 일례에서, 성능 모니터(620)는, 시간 지속기간(시간 윈도우) 내에서 드룹 완화가 수행되는 클럭 사이클들의 수를 추적할 수 있다. 통상적으로 시간 지속기간 내에 드룹 완화가 1번 초과로 수행된다고 가정하여, 드룹 완화가 수행되는 클럭 사이클들은 불연속적인 클럭 사이클들을 포함하는 것을 인식해야 한다. 성능 모니터(620)는, 드룹 완화가 수행되는 각각의 클럭 사이클(예를 들어, 전압-드룹 모니터(420)가 클럭 감소기(430)에 제2 로직 값을 출력하는 각각의 클럭 사이클)에 대한 카운터의 카운트 값을 증분시킴으로써 드룹 완화가 수행되는 클럭 사이클들의 수를 추적할 수 있다. 이러한 예에서, 성능 모니터(620)는 카운터를 주기적으로(예를 들어, 시간 지속기간의 종료 시에) 리셋할 수 있다. 성능 모니터는 또한 드룹 임계치가 변경되는 경우 카운터를 리셋할 수 있다.
[0050] 그 다음, 성능 모니터(620)는, 드룹 완화가 수행되는 클럭 사이클들의 수에 기초하여 드룹 임계치가 조절될 필요가 있는지 여부를 결정할 수 있다. 예를 들어, 드룹 완화가 수행되는 클럭 사이클들의 수가 낮으면(예를 들어, 제1 임계 수 이하이면), 성능 모니터(620)는 드룹 임계치가 감소될 수 있다고 결정할 수 있다. 이러한 경우, 성능 모니터(620)는 드룹 임계치를 (예를 들어, 미리 결정된 단계만큼) 감소시킨다. 성능 모니터(620)는 또한 공급 전압 VDD를 감소시키도록 전압 소스(120)(예를 들어, PMIC)에 명령할 수 있고, 이는 가드대역 및 전력 소비를 감소시킨다.
[0051] 드룹 완화가 수행되는 클럭 사이클들의 수가 높으면(예를 들어, 제2 임계 수 이상이면), 성능 모니터(620)는, 드룹 임계치가 너무 낮다고(예를 들어, 드룹 완화가 너무 빈번하게(너무 자주) 수행되고, 회로(110)의 성능에 부정적으로 영향을 미침) 결정할 수 있다. 이러한 경우, 성능 모니터(620)는 드룹 임계치를 (예를 들어, 미리 결정된 단계만큼) 증가시킨다. 성능 모니터(620)는 또한 공급 전압 VDD를 증가시키도록 전압 소스(120)에 명령할 수 있고, 이는 가드대역을 증가시킨다.
[0052] 드룹 완화가 수행되는 클럭 사이클들의 수가 특정 범위 이내(예를 들어, 제1 임계 수 내지 제2 임계 수)이면, 성능 모니터(620)는 오직 현재 드룹 임계치만을 남겨 둘 수 있다.
[0053] 성능 모니터(620)는 회로(110)(예를 들어, 프로세서)의 작업량에서의 변화들에 대한 응답으로 드룹 임계치를 동적으로 조절한다. 이는, 드룹 완화가 수행되는 클럭 사이클들의 수가 높게(예를 들어, 제2 임계 수 이상) 되도록 작업량에서의 변화가 전압 드룹들의 크기 및/또는 빈도를 증가시키는 경우, 성능 모니터(620)가 드룹 임계치를 증가시키기 때문이다. 드룹 완화가 수행되는 클럭 사이클들의 수가 낮게(예를 들어, 제1 임계 수 이하) 되도록 작업량에서의 변화가 전압 드룹들의 크기 및/또는 빈도를 감소시키는 경우, 성능 모니터(620)는 드룹 임계치를 감소시킨다.
[0054] 상기 예에서, 성능 모니터(620)는, 드룹 완화가 수행되는 입력 클럭 신호 CLK_IN의 사이클들의 수를 추적한다. 그러나, 본 개시는 이러한 예로 제한되지 않음을 인식해야 한다. 예를 들어, 성능 모니터(620)는, 드룹 완화가 수행되는 감소된 주파수 클럭 신호의 클럭 사이클들의 수를 추적하거나, 또는 드룹 완화가 수행되는 다른 클럭 신호의 클럭 사이클들의 수를 추적할 수 있다.
[0055] 다른 예에서, 성능 모니터(620)는, 시간 지속기간 내에 드룹 완화가 수행되는(트리거링 또는 개시되는) 횟수를 추적할 수 있다. 이러한 예에서, 성능 모니터(620)는, 드룹 완화가 수행될 때마다(예를 들어, 드룹 모니터(420)의 출력이 제1 로직 값으로부터 제2 로직 값으로 스위칭할 때마다) 카운터의 카운트 값을 증분시킴으로써 드룹 완화가 수행되는 횟수를 추적할 수 있다. 이러한 예에서, 성능 모니터(620)는, 드룹 완화가 수행되는 횟수가 낮으면(예를 들어, 제1 임계 수 이하이면) 드룹 임계치를 감소시키고, 드룹 완화가 수행되는 횟수가 높으면(예를 들어, 제2 임계 수 이상) 드룹 임계치를 증가시킬 수 있다. 이러한 예에서 제1 및 제2 임계 수들은 이전 예의 제1 및 제2 임계 수들과 상이할 수 있고, 여기서 드룹 완화가 수행되는 클럭 사이클들의 수가 추적된다. 성능 모니터(620)는, 드룹 완화가 수행되는 횟수가 특정 범위 이내(예를 들어, 제1 임계 수 내지 제2 임계 수)이면, 오직 드룹 임계치만을 남겨 둘 수 있다.
[0056] 전압 소스(120)는 공급 전압 VDD를 복수의 상이한 공급 전압 레벨들 중 임의의 공급 전압 레벨로 설정하도록 구성된 PMIC(power management integrated circuit)를 포함할 수 있다. 이러한 예에서, 성능 모니터(620)는 공급 전압 VDD의 공급 전압 레벨을 복수의 공급 전압 레벨들 중 현재 공급 전압 레벨보다 높은 공급 전압 레벨로 설정하기 위한 명령(예를 들어, 요청)을 전압 소스(120)에 전송함으로써 공급 전압 VDD를 증가시킬 수 있다. 성능 모니터(620)는 공급 전압 VDD의 공급 전압 레벨을 복수의 공급 전압 레벨들 중 현재 공급 전압 레벨보다 낮은 공급 전압 레벨로 설정하기 위한 명령(예를 들어, 요청)을 전압 소스(120)에 전송함으로써 공급 전압 VDD를 감소시킬 수 있다.
[0057] 도 7a는 특정 양상들에 따라 드룹 임계치를 조절하기 위한 방법(700)을 예시하는 흐름도이다. 방법(700)은 성능 모니터(620)에 의해 수행될 수 있다.
[0058] 단계(710)에서, 성능 모니터(620)는, 시간 지속기간 내에서 드룹 완화가 수행되는 클럭 사이클들의 수를 추적한다. 클럭 사이클들은 입력 클럭 신호 CLK_IN의 클럭 사이클들, 감소된 주파수 클럭 신호의 클럭 사이클들 또는 다른 클럭 신호의 클럭 사이클들일 수 있다.
[0059] 단계(720)에서, 성능 모니터(620)는 클럭 사이클들의 수가 제1 임계 수 이하인지 여부를 결정한다. 클럭 사이클들의 수가 제1 임계 수 이하이면, 단계(725)에서 성능 모니터(620)는 드룹 임계치를 감소시키고 공급 전압 VDD를 감소시킨다.
[0060] 단계(730)에서, 성능 모니터(620)는 클럭 사이클들의 수가 제2 임계 수 이상인지 여부를 결정한다. 제2 임계 수는 제1 임계 수보다 클 수 있다. 클럭 사이클들의 수가 제2 임계 수 이상이면, 단계(735)에서 성능 모니터(620)는 드룹 임계치를 증가시키고 공급 전압 VDD를 증가시킨다.
[0061] 단계(740)에서, 성능 모니터(620)는, 단계들(720 및 730)에서의 조건들 중 어느 것도 충족되지 않으면(즉, 클럭 사이클들의 수가 제1 임계 수 내지 제2 임계 수에 있으면), 오직 드룹 임계치 및 공급 전압을 남겨 둔다. 성능 모니터(620)는 도 7a에 도시된 예시적인 순서로 단계들을 수행하는 것으로 제한되지 않고 상이한 순서로 단계들을 수행할 수 있음을 인식해야 한다.
[0062] 도 7b는 특정 양상들에 따라 드룹 임계치를 조절하기 위한 방법(750)을 예시하는 흐름도이다. 방법(750)은 성능 모니터(620)에 의해 수행될 수 있다.
[0063] 단계(760)에서, 성능 모니터(620)는, 시간 지속기간 내에서 드룹 완화가 수행되는 횟수를 추적한다. 예를 들어, 성능 모니터(620)는, 드룹 완화가 트리거링될 때마다 카운터를 증분함으로써 드룹 완화가 수행되는 횟수를 추적할 수 있다.
[0064] 단계(770)에서, 성능 모니터(620)는 드룹 완화가 수행되는 횟수가 제1 임계 수 이하인지 여부를 결정한다. 드룹 완화가 수행되는 횟수가 제1 임계 수 이하이면, 단계(775)에서 성능 모니터(620)는 드룹 임계치를 감소시키고 공급 전압 VDD를 감소시킨다.
[0065] 단계(780)에서, 성능 모니터(620)는 드룹 완화가 수행되는 횟수가 제2 임계 수 이상인지 여부를 결정한다. 제2 임계 수는 제1 임계 수보다 클 수 있다. 드룹 완화가 수행되는 횟수가 제2 임계 수 이상이면, 단계(785)에서 성능 모니터(620)는 드룹 임계치를 증가시키고 공급 전압 VDD를 증가시킨다.
[0066] 단계(790)에서, 성능 모니터(620)는, 단계들(770 및 780)에서의 조건들 중 어느 것도 충족되지 않으면(즉, 드룹 완화가 수행되는 횟수가 제1 임계 수 내지 제2 임계 수에 있으면), 오직 드룹 임계치 및 공급 전압을 남겨 둔다. 성능 모니터(620)는 도 7b에 도시된 예시적인 순서로 단계들을 수행하는 것으로 제한되지 않고 상이한 순서로 단계들을 수행할 수 있음을 인식해야 한다.
[0067] 도 8은 본 개시의 양상들에 따라 드룹 임계치가 조절되는 예를 도시한다. 이러한 예에서 드룹 임계치가 조절될 때마다, 성능 모니터(620)는 또한 공급 전압 VDD를 조절한다. 예를 들어, 시간 t1에, 성능 모니터(620)는 드룹 임계치를 감소시키고 공급 전압 VDD를 감소시킨다. 가드대역은 50mV로부터 35mV로 감소된다. 시간 t2에, 성능 모니터(620)는 드룹 임계치를 증가시키고 공급 전압 VDD를 증가시킨다. 가드대역은 15mV로부터 25mV로 증가된다.
[0068] 상기 예에서, 드룹 임계치가 감소되는 경우, 성능 모니터(620)는 또한 공급 전압 VDD를 감소시키고, 드룹 임계치가 증가되는 경우, 성능 모니터(620)는 또한 공급 전압 VDD를 증가시킨다.
[0069] 다른 예에서, 드룹 임계치가 감소되는 경우, 성능 모니터(620)는 오직 공급 전압 VDD를 남겨 두고, 그 대신 입력 클럭 신호 CLK_IN의 주파수(즉, 타겟 클럭 주파수)를 증가시킬 수 있다. 입력 클럭 신호 CLK_IN의 주파수를 증가시키는 것은 정규의 동작 동안 회로(110)(예를 들어, 프로세서)의 성능을 증가시킨다. 입력 클럭 신호 CLK_IN의 주파수를 증가시키는 것은 또한 회로(110)의 동작을 위해 필요한 최소 전압(예를 들어, 회로(110)의 중요한 경로들이 타이밍 요건들을 충족하기 위해 필요한 최소 전압)을 증가시킴으로써 가드대역을 감소시킨다.
[0070] 이러한 예에서, 드룹 임계치가 증가되는 경우, 성능 모니터(620)는 오직 공급 전압 VDD를 남겨 두고, 그 대신 입력 클럭 신호 CLK_IN의 주파수(즉, 타겟 클럭 주파수)를 감소시킬 수 있다. 입력 클럭 신호 CLK_IN의 주파수를 감소시키는 것은 회로(110)의 동작을 위해 필요한 최소 전압(예를 들어, 회로(110)의 중요한 경로들이 타이밍 요건들을 충족하기 위해 필요한 최소 전압)을 감소시킴으로써 가드대역을 증가시킨다. 이는, 입력 클럭 신호 CLK_IN의 주파수에서의 감소가 회로(110)의 중요한 경로들의 타이밍 요건들을 완화시키기 때문이다.
[0071] 클럭 소스(450)는 (예를 들어, 하나 이상의 PLL(phase locked loop)들을 사용하여) 기준 클럭 주파수로부터 복수의 상이한 클럭 주파수들 중 임의의 클럭 주파수를 생성하도록 구성될 수 있다. 이러한 예에서, 성능 모니터(620)는 입력 클럽 신호 CLK_IN의 클럭 주파수를 복수의 클럭 주파수들 중 현재 클럭 주파수보다 높은 클럭 주파수로 설정하기 위한 명령(예를 들어, 요청)을 클럭 소스(450)에 전송함으로써 입력 클럭 신호 CLK_IN의 주파수를 증가시킬 수 있다. 성능 모니터(620)는 입력 클럽 신호 CLK_IN의 클럭 주파수를 복수의 클럭 주파수들 중 현재 클럭 주파수보다 낮은 클럭 주파수로 설정하기 위한 명령(예를 들어, 요청)을 클럭 소스(450)에 전송함으로써 입력 클럭 신호 CLK_IN의 클럭 주파수를 감소시킬 수 있다.
[0072] 도 9a는 특정 양상들에 따라 드룹 임계치를 조절하기 위한 방법(900)을 예시하는 흐름도이다. 방법(900)은 성능 모니터(620)에 의해 수행될 수 있다.
[0073] 단계(910)에서, 성능 모니터(620)는, 시간 지속기간 내에서 드룹 완화가 수행되는 클럭 사이클들의 수를 추적한다. 단계(910)는 도 7a를 참조하여 앞서 논의된 단계(710)와 동일할 수 있다.
[0074] 단계(920)에서, 성능 모니터(620)는 클럭 사이클들의 수가 제1 임계 수 이하인지 여부를 결정한다. 클럭 사이클들의 수가 제1 임계 수 이하이면, 단계(925)에서 성능 모니터(620)는 드룹 임계치를 감소시키고 입력 클럭 신호 CLK_IN의 주파수를 증가시킨다(타겟 클럭 주파수를 증가시킨다).
[0075] 단계(930)에서, 성능 모니터(620)는 클럭 사이클들의 수가 제2 임계 수 이상인지 여부를 결정한다. 제2 임계 수는 제1 임계 수보다 클 수 있다. 클럭 사이클들의 수가 제2 임계 수 이상이면, 단계(935)에서 성능 모니터(620)는 드룹 임계치를 증가시키고 입력 클럭 신호 CLK_IN의 주파수를 감소시킨다(타겟 클럭 주파수를 감소시킨다).
[0076] 단계(940)에서, 성능 모니터(620)는, 단계들(920 및 930)에서의 조건들 중 어느 것도 충족되지 않으면(즉, 클럭 사이클들의 수가 제1 임계 수 내지 제2 임계 수에 있으면), 오직 드룹 임계치 및 클럭 주파수를 남겨 둔다. 성능 모니터(620)는 도 9a에 도시된 예시적인 순서로 단계들을 수행하는 것으로 제한되지 않고 상이한 순서로 단계들을 수행할 수 있음을 인식해야 한다.
[0077] 도 9b는 특정 양상들에 따라 드룹 임계치를 조절하기 위한 방법(950)을 예시하는 흐름도이다. 방법(950)은 성능 모니터(620)에 의해 수행될 수 있다.
[0078] 단계(960)에서, 성능 모니터(620)는, 시간 지속기간 내에서 드룹 완화가 수행되는 횟수를 추적한다. 단계(960)는 도 7b를 참조하여 앞서 논의된 단계(760)와 동일할 수 있다.
[0079] 단계(970)에서, 성능 모니터(620)는 드룹 완화가 수행되는 횟수가 제1 임계 수 이하인지 여부를 결정한다. 드룹 완화가 수행되는 횟수가 제1 임계 수 이하이면, 단계(975)에서 성능 모니터(620)는 드룹 임계치를 감소시키고 입력 클럭 신호 CLK_IN의 주파수를 증가시킨다(타겟 클럭 주파수를 증가시킨다).
[0080] 단계(980)에서, 성능 모니터(620)는 드룹 완화가 수행되는 횟수가 제2 임계 수 이상인지 여부를 결정한다. 제2 임계 수는 제1 임계 수보다 클 수 있다. 드룹 완화가 수행되는 횟수가 제2 임계 수 이상이면, 단계(985)에서 성능 모니터(620)는 드룹 임계치를 증가시키고 입력 클럭 신호 CLK_IN의 주파수를 감소시킨다(타겟 클럭 주파수를 감소시킨다).
[0081] 단계(990)에서, 성능 모니터(620)는, 단계들(970 및 980)에서의 조건들 중 어느 것도 충족되지 않으면(즉, 드룹 완화가 수행되는 횟수가 제1 임계 수 내지 제2 임계 수에 있으면), 오직 드룹 임계치 및 클럭 주파수를 남겨 둔다. 성능 모니터(620)는 도 9b에 도시된 예시적인 순서로 단계들을 수행하는 것으로 제한되지 않고 상이한 순서로 단계들을 수행할 수 있음을 인식해야 한다.
[0082] 본 개시는 앞서 논의된 예들로 제한되지 않음을 인식해야 한다. 예를 들어, 드룹 임계치가 감소되는 경우, 성능 모니터(620)는 공급 전압 VDD를 감소시키는 것, 및 입력 클럭 신호 CLK_IN의 클럭 주파수를 증가시키는 것 둘 모두를 수행할 수 있다. 드룹 임계치가 증가되는 경우, 성능 모니터(620)는 공급 전압 VDD를 증가시키는 것, 및 입력 클럭 신호 CLK_IN의 클럭 주파수를 감소시키는 것 둘 모두를 수행할 수 있다.
[0083] 일례에서, 회로(110)에 대한 최대 공급 전압 레벨이 존재할 수 있다. 최대 공급 전압 레벨은, 전압 소스 및/또는 성능 모니터가 공급 전압 VDD를 설정하도록 구성되는 최대 공급 전압 레벨일 수 있다. 이러한 예에서, 드룹 임계치가 증가되는 경우, 성능 모니터(620)는, 현재 공급 전압 레벨이 최대 공급 전압 레벨인지 여부에 따라, 공급 전압 VDD를 증가시키는 것 또는 입력 클럭 신호 CLK_IN의 주파수를 감소시키는 것 중 어느 하나를 수행할 수 있다. 현재 공급 전압 레벨이 최대 공급 전압 레벨 미만이면, 성능 모니터(620)는 공급 전압 VDD를 증가시킨다. 현재 공급 전압 레벨이 이미 최대 공급 전압 레벨이면, 성능 모니터(620)는 입력 클럭 신호 CLK_IN의 주파수를 감소시킨다.
[0084] 다른 예에서, 회로(110)에 대한 최소 공급 전압 레벨이 존재할 수 있다. 최소 공급 전압 레벨은, 전압 소스 및/또는 성능 모니터가 공급 전압 VDD를 설정하도록 구성되는 최소 공급 전압 레벨일 수 있다. 이러한 예에서, 드룹 임계치가 감소되는 경우, 성능 모니터(620)는, 현재 공급 전압 레벨이 최소 공급 전압 레벨인지 여부에 따라, 공급 전압 VDD를 감소시키는 것 또는 입력 클럭 신호 CLK_IN의 클럭 주파수를 증가시키는 것 중 어느 하나를 수행할 수 있다. 현재 공급 전압 레벨이 최소 공급 전압 레벨 초과이면, 성능 모니터(620)는 공급 전압 VDD를 감소시킨다. 현재 공급 전압 레벨이 이미 최소 공급 전압 레벨이면, 성능 모니터(620)는 입력 클럭 신호 CLK_IN의 주파수를 증가시킨다.
[0085] 다른 예에서, 회로(110)에 대한 최소 클럭 주파수가 존재할 수 있다. 최소 클럭 주파수는, 클럭 소스 및/또는 성능 모니터가 입력 클럭 신호에 대해 설정되도록 구성되는 최소 클럭 주파수일 수 있다. 이러한 예에서, 드룹 임계치가 증가되는 경우, 성능 모니터(620)는, 입력 클럭 신호 CLK_IN의 주파수가 최소 클럭 주파수인지 여부에 따라, 공급 전압 VDD를 증가시키는 것 또는 입력 클럭 신호 CLK_IN의 주파수를 감소시키는 것 중 어느 하나를 수행할 수 있다. 입력 클럭 신호 CLK_IN의 클럭 주파수가 최소 클럭 주파수 초과이면, 성능 모니터(620)는 입력 클럭 신호 CLK_IN의 주파수를 감소시킨다. 입력 클럭 신호 CLK_IN의 클럭 주파수가 이미 최소 클럭 주파수이면, 성능 모니터는 공급 전압을 증가시킨다.
[0086] 다른 예에서, 회로(110)에 대한 최대 클럭 주파수가 존재할 수 있다. 최대 클럭 주파수는, 클럭 소스 및/또는 성능 모니터가 입력 클럭 신호에 대해 설정되도록 구성되는 최대 클럭 주파수일 수 있다. 이러한 예에서, 드룹 임계치가 감소되는 경우, 성능 모니터(620)는, 입력 클럭 신호 CLK_IN의 주파수가 최대 클럭 주파수인지 여부에 따라, 공급 전압 VDD를 감소시키는 것 또는 입력 클럭 신호 CLK_IN의 주파수를 증가시키는 것 중 어느 하나를 수행할 수 있다. 입력 클럭 신호 CLK_IN의 클럭 주파수가 최대 클럭 주파수 미만이면, 성능 모니터(620)는 입력 클럭 신호 CLK_IN의 주파수를 증가시킨다. 입력 클럭 신호 CLK_IN의 클럭 주파수가 이미 최대 클럭 주파수이면, 성능 모니터는 공급 전압을 감소시킨다.
[0087] 도 10은 본 개시의 특정 양상들에 따른 클럭 감소기(430)의 예시적인 구현을 도시한다. 이러한 예에서, 클럭 감소기(430)는 제어 유닛(1010), 멀티플렉서(1020) 및 클럭 분할기(1030)를 포함한다. 클럭 분할기(1030)는 입력 클럭 신호 CLK_IN을 수신하고, 감소된 주파수 클럭 신호를 생성하기 위해 입력 클럭 신호 CLK_IN의 주파수를 감소시키도록 구성된다. 멀티플렉서(1020)는 입력 클럭 신호 CLK_IN을 수신하도록 구성된 제1 입력(1022), 클럭 분할기(1030)로부터 감소된 주파수 클럭 신호를 수신하도록 구성된 제2 입력(1024) 및 클럭 신호 CLK_OUT을 회로(110)에 출력하도록 구성된 출력(1026)을 갖는다. 멀티플렉서(1020)는 입력 클럭 신호 CLK_IN 및 감소된 주파수 클럭 신호 중 하나를 선택하고, 입력 클럭 신호 CLK_IN 및 감소된 주파수 클럭 신호 중 선택된 것을 제어 유닛(1010)의 제어 하에 회로(110)에 출력하도록 구성된다. 제어 유닛(1010)은 아래에서 추가로 논의되는 바와 같이, 전압 드룹 모니터(420)로부터 신호를 수신하고, 신호에 기초하여 클럭 분할기(1030) 및 멀티플렉서(1020)의 동작들을 제어하도록 구성된다.
[0088] 동작 시에, 전압 드룹 모니터(420)는, 클럭 감소기(430)를 제1 모드에서 동작시키도록 제어 유닛(1010)에 명령하기 위해 제1 로직 값(예를 들어, 제로)을 제어 유닛(1010)에 출력하고, 클럭 감소기(430)를 제2 모드에서 동작시키도록 제어 유닛(1010)에 명령하기 위해 제2 로직 값(예를 들어, 1)을 제어 유닛(1010)에 출력할 수 있다.
[0089] 제어 유닛(1010)이 제1 로직 값을 수신하는 경우, 제어 유닛(1010)은 입력 클럭 신호 CLK_IN을 선택하도록 멀티플렉서(1020)에 명령하는 선택 신호("Sel"로 표기됨)를 멀티플렉서(1026)에 전송한다. 이러한 경우, 멀티플렉서(1020)는 입력 클럭 신호 CLK_IN을 회로(110)에 전달한다. 이러한 시간 동안, 클럭 분할기(1030)는 전력을 보존하기 위해 디스에이블될 수 있다.
[0090] 드룹 완화를 트리거링하기 위해 전압-드룹 모니터(420)로부터의 신호가 제1 로직 값으로부터 제2 로직 값으로 변하는 경우, 제어 유닛(1010)은 클럭 분할기(1030)를 인에이블하고 멀티플렉서(1020)를 제1 입력(1022)으로부터 제2 입력(1024)으로 스위칭한다. 제어 유닛(1010)은, 멀티플렉서(1020)의 출력에서 글리치(glitch)를 방지하기 위해, 입력 클럭 신호 CLK_IN 및 감소된 주파수 클럭 신호가 논리적으로 낮은 경우 스위칭이 발생하도록, 입력 클럭 신호 CLK_IN으로부터 감소된 주파수 클럭 신호로의 스위칭의 타이밍을 맞출 수 있다.
[0091] 전압-드룹 모니터(420)로부터의 신호가 제2 로직 값으로부터 다시 제1 로직 값으로 변하는 경우, 제어 유닛은 입력 클럭 신호 CLK_IN으로 다시 스위칭한다. 제어 유닛(1010)은, 멀티플렉서(1020)의 출력에서 글리치를 방지하기 위해, 감소된 주파수 클럭 신호 및 입력 클럭 신호 CLK_IN이 논리적으로 낮은 경우 스위칭이 발생하도록, 감소된 주파수 클럭 신호로부터 다시 입력 클럭 신호 CLK_IN으로의 스위칭의 타이밍을 맞출 수 있다. 스위칭 이후, 제어 유닛(1010)은 클럭 분할기(1030)를 디스에이블할 수 있다.
[0092] 도 11은 본 개시의 특정 양상들에 따른 클럭 분할기(1030)의 예시적인 구현을 도시한다. 이러한 예에서, 클럭 분할기(1030)는 클럭 신호 CLK_IN의 주파수를 2로 분할하도록(즉, 클럭 신호 CLK_IN의 주파수를 50%만큼 감소시키도록) 구성된다. 클럭 분할기(1030)는 플립-플롭(1110), 인버터(1130), 및 AND 게이트(1120)를 포함한다. AND 게이트(1120)는 제1 입력(1122), 제어 유닛(1010)으로부터 인에이블 신호("En_c"로 표기됨)를 수신하는 제2 입력(1124) 및 출력(1126)을 갖는다. 플립-플롭(1110)은 AND 게이트의 출력(1126)에 커플링된 데이터 입력(1112), 입력 클럭 신호 CLK_IN을 수신하는 클럭 입력(1114), 및 감소된 주파수 클럭 신호("CLK_div"로 표기됨)를 출력하는 출력(1116)을 갖는다. 플립-플롭(1110)은 입력 클럭 신호 CLK_IN의 각각의 상승 에지에서 입력(1112)의 로직 값을 래칭하고, 입력 클럭 신호 CLK_IN의 일 주기(사이클)에 대해 래칭된 로직 값을 출력하도록 구성된다. AND 게이트(1120)의 제1 입력(1122)은 인버터(1130)를 통해 플립-플롭(1110)의 출력(1116)에 커플링된다.
[0093] 동작 시에, 제어 유닛(1010)은 인에이블 신호의 로직 값 En_c를 zero가 되게 함으로써 클럭 분할기(1030)를 디스에이블한다. 이는 AND 게이트(1120)가 제로의 로직 값을 플립-플롭(1110)에 출력하게 하고, 따라서 플립-플롭(1110)이 제로의 로직 값을 출력하게 한다. 따라서, 제어 유닛(1010)이 클럭 분할기(1030)를 디스에이블하는 경우, 클럭 분할기(1030)의 출력은 논리적으로 낮게 유지된다.
[0094] 제어 유닛(1010)은 인에이블 신호의 로직 값 En_c를 1이 되게 함으로써 클럭 분할기(1030)를 인에이블한다. 이는 플립-플롭(1110)의 출력이 입력 클럭 신호 CLK_IN의 각각의 상승 에지에서 로직 상태들을 스위칭하게 한다. 그 결과, 플립-플롭(1110)의 출력(감소된 주파수 클럭 신호 CLK_div를 출력함)은 입력 클럭 신호 CLK_IN의 주파수의 절반에서 로직 상태들을 스위칭한다. 따라서, 감소된 주파수 클럭 신호 CLK_div는 입력 클럭 신호 CLK_IN의 클럭 주파수의 절반인 클럭 주파수를 갖는다.
[0095] 도 12는 전압-드룹 모니터(420)가 본 개시의 특정 양상들에 따른 전압-기반 드룹 검출을 사용하는 예를 도시한다. 이러한 예에서, 전압-드룹 모니터(420)는 전압 검출기(1210) 및 모니터 유닛(1220)을 포함한다. 전압 검출기(1210)는 공급 전압 VDD의 전압 레벨을 측정하고 측정된 전압 레벨을 모니터 유닛(1220)에 출력하도록 구성된다.
[0096] 모니터 유닛(1220)은 측정된 전압 레벨을 임계 전압 레벨과 비교하고, 여기서 드룹 임계치는 공급 전압 VDD의 타겟 전압 레벨(즉, 그룹이 없는 전압 레벨)과 임계치 전압 레벨 사이의 차이의 크기에 대응한다. 예를 들어, 타겟 전압 레벨이 900mV이고, 임계치 전압 레벨이 850mV이면, 드룹 임계치는 약 50mV이다.
[0097] 측정된 전압 레벨이 임계치 전압 레벨 초과이면, 모니터 유닛(1220)은 응답하지 않는다. 이는 공급 전압에서의 전압 드룹의 크기가 드룹 임계치 미만인 경우 발생한다. 측정된 전압 레벨이 임계치 전압 레벨 이하인 경우, 모니터 유닛(1220)은 드룹 완화를 트리거링한다(예를 들어, 클럭 감소기(430)를 제2 모드에서 동작시키기 위한 제2 로직 값을 클럭 감소기(420)에 출력한다). 이는 전압 드룹의 크기가 드룹 임계치 이상인 경우 발생한다.
[0098] 이러한 예에서, 성능 모니터(620)는 임계치 전압 레벨을 증가시키는 것, 공급 전압 VDD를 감소시키는 것 또는 둘 모두에 의해 드룹 임계치를 감소시킬 수 있다. 성능 모니터(620)는 공급 전압 VDD의 공급 전압 레벨을 현재 전압 레벨보다 낮은 전압 레벨로 설정하기 위한 명령을 전압 소스(120)에 전송함으로써 공급 전압 VDD를 감소시킬 수 있다. 이러한 예에서, 성능 모니터(620)가 드룹 임계치를 감소시키는 경우, 성능 모니터(620)는 드룹 임계치와 동일한 양 또는 상이한 양만큼 공급 전압을 감소시킬 수 있다.
[0099] 이러한 예에서, 성능 모니터(620)는 임계치 전압 레벨을 감소시키는 것, 공급 전압 VDD를 증가시키는 것 또는 둘 모두에 의해 드룹 임계치를 증가시킬 수 있다. 성능 모니터(620)는 공급 전압 VDD의 공급 전압 레벨을 현재 전압 레벨보다 높은 전압 레벨로 설정하기 위한 명령을 전압 소스(120)에 전송함으로써 공급 전압 VDD를 증가시킬 수 있다. 이러한 예에서, 성능 모니터(620)가 드룹 임계치를 증가시키는 경우, 성능 모니터(620)는 드룹 임계치와 동일한 양 또는 상이한 양만큼 공급 전압을 증가시킬 수 있다.
[0100] 도 13은 입력 클럭 신호 CLK_IN이 클럭 지연 디바이스(1310)를 통해 클럭 감소기(430)에 전송되는 예를 도시한다. 아래에서 추가로 논의되는 바와 같이, 클럭 지연 디바이스(1310)는 전압 드룹 이벤트에 응답할 더 많은 시간을 전압-드룹 모니터(420)에 제공하기 위해 클럭-데이터 보상 효과를 이용한다. 클럭 지연 디바이스(1310)는 클럭 소스(450)와 클럭 감소기(430) 사이의 클럭 경로를 따라 다수의 버퍼들(1320-1 내지 1320-n)(즉, 인버터들)을 포함한다. 각각의 버퍼는 입력 클럭 신호 CLK_IN에 시간 지연을 추가한다. 따라서, 클럭 지연 디바이스(1310)는 버퍼들(1320-1 내지 1320-n)의 지연들의 합산과 대략 동일한 지연만큼 입력 클럭 신호 CLK_IN을 지연시킨다. 버퍼들(1320-1 내지 1320-n) 각각은 공급 전압 VDD에 의해 전력 공급된다. 그 결과, 버퍼들(1320-1 내지 1320-n)의 지연들은 공급 전압 VDD에서의 전압 드룹들에 의해 영향받는다.
[0101] 공급 전압 VDD에서 전압 드룹이 발생하는 경우, 클럭 지연 디바이스(1310) 내의 버퍼들(1320-1 내지 1320)의 지연들은 증가된다. 이는 전압 드룹에 의해 초래되는 회로(110) 내의 중요한 경로들의 지연들에서의 증가들을 보상하기 위해 클럭 지연 디바이스(1310)의 출력에서의 클럭 기간이 연장되게 한다. 이러한 현상은 클럭-데이터 보상 효과로 공지되어 있다. 이러한 효과는 일시적이다(예를 들어, 몇 클럭 사이클들 동안 지속된다). 일시적이지만, 클럭-데이터 보상 효과는, 회로(110)의 중요한 경로 지연 악화를 연기함으로써 전압 드룹이 회로(110) 내에 타이밍 에러들을 초래하기 전에 전압 드룹에 응답할 더 많은 시간을 전압-드룹 모니터(420)에 제공한다. 특정 양상들에서, 클럭 지연 디바이스(1310)는 입력 클럭 신호 CLK_IN의 지연을 조절하기 위해 튜닝가능한 지연을 갖는 지연 디바이스로 구현될 수 있다.
[0102] 도 14는 전압-드룹 모니터(420)가 본 개시의 특정 양상들에 따른 타이밍-기반 드룹 검출을 사용하는 예를 도시한다. 이러한 예에서, 전압-드룹 모니터(420)는 구동 회로(1410), 튜닝가능한 지연 디바이스(1422), 수신 플립-플롭들(1450, 1455 및 1460) 및 에러 검출 회로(1420)를 포함한다. 전압-드룹 모니터(420)는 또한 아래에서 추가로 논의되는 바와 같이 AND 게이트(1430), 제1 미세 튜닝가능한 지연 디바이스(1435), OR 게이트(1440) 및 제2 미세 튜닝가능한 지연 디바이스(1445)를 포함한다.
[0103] 구동 회로(1410)는 인에이블 신호("En_m"로 표기됨) 및 입력 클럭 신호 CLK_IN을 수신한다. 지연 디바이스(1310)가 클럭 감소기(430)에 대한 입력 클럭 신호 CLK_IN을 지연시키는 예의 경우, 도 14에 도시된 입력 클럭 신호 CLK_IN은 지연 디바이스(1310)를 우회할 수 있다. 구동 회로(1410)는 클럭 신호 CLK_IN의 각각의 상승 에지에서 로직 상태들(토글들)을 스위칭하는 데이터 신호("din"으로 표기됨)를 출력하도록 구성된다.
[0104] 도 14의 예에서, 구동 회로(1410)는 구동 플립-플롭(1415), 인버터(1418), 및 AND 게이트(1412)를 포함한다. AND 게이트(1412)는 인버터(1418)를 통해 구동 플립-플롭(1415)의 출력에 커플링된 하나의 입력, 인에이블 신호 En_m에 커플링된 다른 입력, 및 구동 플립-플롭(1415)의 데이터 입력에 커플링된 출력을 갖는다. 구동 플립-플롭(1415)의 클럭 입력은 입력 클럭 신호 CLK_IN에 의해 구동된다.
[0105] 동작 시에, 구동 회로(1410)는, 인에이블 신호 En_m이 1인 경우 인에이블된다. 이러한 경우 구동 회로(1410)는 입력 클럭 신호 CLK_IN의 각각의 상승 에지에서 로직 상태들(토글들)을 스위칭하는 데이터 신호 din을 출력한다. 구동 회로(1410)는, 인에이블 신호 En_m이 제로인 경우 디스에이블된다. 이러한 경우, 구동 회로(1410)의 출력은 논리적으로 낮게 유지된다.
[0106] 구동 회로(1410)의 출력은 고속 경로(1427)를 통해 수신 플립-플롭(1450)(또한 체크 플립-플롭으로 지칭됨)의 데이터 입력에 커플링되고, 이는 튜닝가능한 지연 디바이스(1422)보다 훨씬 짧은 지연을 갖는다. 고속 경로(1427)의 짧은 지연은, 큰 전압 드룹의 존재 시에도 데이터 신호 din이 체크 플립-플롭(1450)에서의 셋업 시간을 충족하기에 충분할 만큼 빨리 체크 플립-플롭(1450)에 도달하는 것을 보장한다. 아래에서 추가로 논의되는 바와 같이, 전압 드룹으로 인한 타이밍 에러를 검출하기 위해 체크 플립-플롭(1450)의 출력은 에러 검출 회로(1420)에 의해 사용된다.
[0107] 구동 회로(1410)의 출력은 또한 튜닝가능한 지연 디바이스(1422), AND 게이트(1430) 및 제1 튜닝가능한 지연 디바이스(1435)를 포함하는 제1 지연 경로를 통해 수신 플립-플롭(1455)(또한 상승 플립-플롭으로 지칭됨)의 데이터 입력에 커플링된다. AND 게이트(1430)는 도 14에 도시된 바와 같이, 고속 경로(1427)에 커플링된 제1 입력 및 튜닝가능한 지연 디바이스(1422)의 출력에 커플링된 제2 입력을 갖는다. 제1 튜닝가능한 지연 디바이스(1435)는 AND 게이트(1430)의 출력과 상승 플립-플롭(1455)의 데이터 입력 사이에 커플링된다.
[0108] 구동 회로(1410)의 출력은 또한 튜닝가능한 지연 디바이스(1422), OR 게이트(1440) 및 제2 튜닝가능한 지연 디바이스(1445)를 포함하는 제2 지연 경로를 통해 수신 플립-플롭(1460)(또한 하강 플립-플롭으로 지칭됨)의 데이터 입력에 커플링된다. OR 게이트(1440)는 도 14에 도시된 바와 같이, 고속 경로(1427)에 커플링된 제1 입력 및 튜닝가능한 지연 디바이스(1422)의 출력에 커플링된 제2 입력을 갖는다. 제2 미세 튜닝가능한 지연 디바이스(1445)는 OR 게이트(1440)의 출력과 하강 플립-플롭(1460)의 데이터 입력 사이에 커플링된다.
[0109] 수신 플립-플롭(1450), 1455 및 1460) 각각의 클럭 입력은 클럭 신호 CLK_IN에 의해 구동된다. 일례에서, 수신 플립-플롭들 각각은 클럭 신호 CLK_IN의 각각의 활성 에지 상의 각각의 데이터 입력에서 로직 값을 래칭(캡처)하도록 구성된다. 각각의 활성 에지는, 수신 플립-플롭들이 포지티브-에지 트리거링되면, 클럭 신호 CLK_IN의 상승 에지일 수 있다. 다른 예에서 각각의 활성 에지는, 수신 플립-플롭들이 네거티브-에지 트리거링되면, 클럭 신호 CLK_IN의 하강 에지일 수 있다. 이러한 예에서, 구동 회로(1410)는 클럭 신호 CLK_IN의 상승 에지들 대신에 클럭 신호 CLK_IN의 하강 에지들 상에서 데이터 신호를 스위칭(토글)하도록 구성될 수 있다.
[0110] 에러 검출 회로(1420)는 수신 플립-플롭들(1450, 1455 및 1460)의 출력들에 커플링된다. 추가로 아래에서 논의되는 바와 같이, 에러 검출 회로(1420)는 전압 드룹으로 인한 제1 지연 경로에서의 타이밍 에러 및/또는 제2 지연 경로에서의 타이밍 에러를 검출하기 위해 수신 플립-플롭들(1450, 1455 및 1460)의 출력들에서 로직 값들을 검사한다.
[0111] 아래에서 추가로 논의되는 바와 같이, 튜닝가능한 지연 디바이스(1422)의 시간 지연은 제1 및 제2 지연 경로들에 대한 타이밍 마진(margin)을 결정한다. 타이밍 마진은 상승 플립-플롭(1455) 및 하강 플립-플롭(460)에서 데이터 신호 din이 타이밍 요건들(예를 들어, 셋업 시간들)을 충족하는 시간양에 대응할 수 있다. 튜닝가능한 디바이스(1422)의 시간 지연이 짧을수록, 타이밍 마진은 더 크고, 튜닝가능한 디바이스(1422)의 시간 지연이 더 길수록, 타이밍 마진은 더 짧다. 따라서, 타이밍 마진은, 아래에서 추가로 논의되는 바와 같이, 튜닝가능한 지연 디바이스(1422)의 시간 지연을 조절(튜닝)함으로써 조절될 수 있다.
[0112] 이제, 타이밍-기반 드룹 모니터의 동작이 본 개시의 특정 양상들에 따라 설명될 것이다.
[0113] 데이터 신호 din의 상승 에지의 경우, 데이터 신호 din은 구동 회로(1410)로부터 고속 경로(1427)를 통해 체크 플립-플롭(1450)의 데이터 입력으로 신속하게 전파된다. 데이터 신호 din은 또한 고속 경로(1427), OR 게이트(1440) 및 제2 미세 튜닝가능한 지연 디바이스(1445)를 통해 하강 플립-플롭(1460)의 데이터 입력으로 신속하게 전파된다. 이는, OR 게이트(1440)가 고속 경로(1427) 상의 데이터 신호 din의 상승 에지를 제2 미세 튜닝가능한 지연 디바이스(1445)를 통해 하강 플립-플롭(1460)의 데이터 입력에 전달한다. 따라서, 데이터 신호 din의 상승 에지는 하강 플립-플롭(1460)에 대한 튜닝가능한 지연 디바이스(1422)를 우회한다. 그 결과, 체크 플립-플롭(1450) 및 하강 플립-플롭 둘 모두는 클럭 신호 CLK_IN의 다음 상승 에지 상에서 1의 로직 값을 정확하게 래칭한다. 하강 플립-플롭(1460)에 의해 래칭된 1의 로직 값은 아래에서 추가로 논의되는 바와 같이 후속 클럭 사이클에 대한 하강 플립-플롭(1460)을 셋업한다.
[0114] 데이터 신호 din의 상승 에지의 경우, 데이터 신호 din은 튜닝가능한 지연 디바이스(1422), AND 게이트(1430) 및 제2 튜닝가능한 지연 디바이스(1435)를 포함하는 제1 지연 경로를 통해 상승 플립-플롭(1455)의 데이터 입력으로 전파된다. 이는, AND 게이트(1430)가 상승 플립-플롭(1455)로부터 고속 경로(1427) 상의 상승 에지를 차단하기 때문이다. 상승 플립-플롭(1455)은, 데이터 신호 din의 상승 에지가 상승 플립-플롭(1455)의 셋업 시간을 충족하기 위한 시간에 상승 플립-플롭(1455)의 데이터 입력에 도달하면, 클럭 신호 CLK_IN의 다음 상승 에지 상에서 1의 로직 값을 정확하게 래칭한다.
[0115] 그 다음, 에러 검출 회로(1420)는 데이터 신호 din의 상승 에지에 대해 타이밍이 충족되고 있는지 여부를 결정하기 위해 체크 플립-플롭(1450)의 출력을 상승 플립-플롭(1455)의 출력과 비교한다. 출력들 둘 모두가 동일하면(로직 1), 에러 검출 회로(1420)는 타이밍이 충족되고 있다고 결정한다. 출력들이 상이하면, 에러 검출 회로(1420)는 아래에서 추가로 논의되는 바와 같이, (예를 들어, 전압 드룹으로 인해) 타이밍이 충족되고 있지 않다고 결정한다.
[0116] 데이터 신호 din의 하강 에지의 경우, 데이터 신호 din은 구동 회로(1410)로부터 고속 경로(1427)를 통해 체크 플립-플롭(1450)의 데이터 입력으로 신속하게 전파된다. 데이터 신호 din은 또한 고속 경로(1427), AND 게이트(1430) 및 제1 미세 튜닝가능한 지연 디바이스(1435)를 통해 상승 플립-플롭(1455)의 데이터 입력으로 신속하게 전파된다. 이는, AND 게이트(1430)의 출력이 고속 경로(1427) 상의 데이터 신호 din의 하강 에지에서 하강하기 때문이다. 따라서, 데이터 신호 din의 하강 에지는 상승 플립-플롭(1455)에 대한 튜닝가능한 지연 디바이스(1422)를 우회한다. 그 결과, 체크 플립-플롭(1450) 및 상승 플립-플롭(1455) 둘 모두는 클럭 신호 CLK_IN의 다음 상승 에지 상에서 제로의 로직 값을 정확하게 래칭한다. 상승 플립-플롭(1455)에 의해 래칭된 제로의 로직 값은 후속 클럭 사이클에 대한 상승 플립-플롭을 셋업한다.
[0117] 데이터 신호 din의 하강 에지의 경우, 데이터 신호 din은 튜닝가능한 지연 디바이스(1422), OR 게이트(1440) 및 제2 튜닝가능한 지연 디바이스(1445)를 포함하는 제2 지연 경로를 통해 하강 플립-플롭(1460)의 데이터 입력으로 전파된다. 이는, OR 게이트(1440)가 튜닝가능한 지연 디바이스(1422)의 출력으로부터 데이터 신호 din의 하강 에지를 수신할 때까지 OR 게이트(1440)의 출력이 하강하지 않기 때문이다. 하강 플립-플롭(1460)은, 데이터 신호 din의 하강 에지가 하강 플립-플롭(1460)의 셋업 시간을 충족하기 위한 시간에 하강 플립-플롭(1460)의 데이터 입력에 도달하면, 클럭 신호 CLK_IN의 다음 상승 에지 상에서 제로의 로직 값을 정확하게 래칭한다.
[0118] 그 다음, 에러 검출 회로(1420)는 데이터 신호 din의 하강 에지에 대해 타이밍이 충족되고 있는지 여부를 결정하기 위해 체크 플립-플롭(1450)의 출력을 하강 플립-플롭(1460)의 출력과 비교한다. 출력들 둘 모두가 동일하면(로직 제로), 에러 검출 회로(1420)는 타이밍이 충족되고 있다고 결정한다. 출력들이 상이하면, 에러 검출 회로(1420)는 (예를 들어, 전압 드룹으로 인해) 타이밍이 충족되고 있지 않다고 결정한다.
[0119] 특정 양상들에서, 튜닝가능한 지연 디바이스(1422)의 지연 시간은 타겟 공급 전압 레벨에서 제1 및 제2 지연 경로들에 대한 특정 타이밍 마진을 제공하도록 설정될 수 있다. 튜닝가능한 지연 디바이스(1422)가 지연 경로들 둘 모두에 공통이기 때문에 타이밍 마진은 지연 경로들 둘 모두에 공통이다. 튜닝가능한 지연 디바이스(1422)는, 공급 전압 레벨이 전압 드룹으로 인해 감소됨에 따라 버퍼들의 지연들이 증가되도록 공급 전압 VDD에 의해 전력 공급되는 다수의 버퍼들을 포함한다. 그 결과, 튜닝가능한 지연 디바이스(1422)의 지연은 (회로(110)의 지연 경로들과 유사하게) 공급 전압에서의 전압 드룹들에 의해 영향받는다. 일반적으로, 공급 전압 레벨이 전압 드룹으로 인해 감소됨에 따라 튜닝가능한 지연 디바이스(1422)의 지연은 증가된다. 전압 드룹의 크기가 충분히 크면, 제1 지연 경로 및/또는 제2 지연 경로가 더 이상 타이밍을 충족하지 않는 포인트에 도달된다. 에러 검출 회로(1420)는 체크 플립-플롭(1450) 및 상승 플립-플롭(1455)의 출력들 사이의 차이 및/또는 체크 플립-플롭(1450) 및 하강 플립-플롭(1460)의 출력들 사이의 차이를 검출함으로써 이를 검출한다. 이것이 발생하는 경우, 에러 검출 회로(1420)는 아래에서 추가로 논의되는 바와 같이, 드룹 완화를 트리거링하기 위해 에러 신호를 출력한다.
[0120] 타이밍 마진은 타이밍 에러를 초래하는데 필요한 전압 드룹의 크기를 결정한다. 타이밍 마진이 클수록, 타이밍 에러를 초래하는데 필요한 전압 드룹의 크기가 더 크고, 타이밍 마진이 작을수록, 타이밍 에러를 초래하는데 필요한 전압 드룹의 크기가 더 작다. 앞서 논의된 바와 같이, 타이밍 마진은 튜닝가능한 지연 디바이스(1422)의 지연을 조절(튜닝)함으로써 조절되고, 여기서 지연을 증가시키는 것은 타이밍 마진을 감소시키고 지연을 감소시키는 것은 타이밍 마진을 증가시킨다. 따라서, 타이밍 에러를 초래하는데 필요한 전압 드룹의 크기는 튜닝가능한 지연 디바이스(1422)의 지연을 조절함으로써 조절될 수 있다. 지연이 짧을수록, 타이밍 에러를 초래하는데 필요한 전압 드룹의 크기가 더 크고, 지연이 길수록, 타이밍 에러를 초래하는데 필요한 전압 드룹의 크기가 더 작다.
[0121] 이러한 예에서, 전압-드룹 모니터의 드룹 임계치는 타이밍 에러를 초래하는데 필요한 전압 드룹의 크기로서 정의될 수 있다. 따라서, 에러 검출 회로(1420)는, 공급 전압에서의 전압 드룹이 드룹 임계치 이상인 경우 에러 신호를 출력한다.
[0122] 이러한 예에서, 드룹 임계치는 튜닝가능한 지연 디바이스(1422)의 지연을 조절(튜닝)함으로써 조절될 수 있다. 지연이 짧을수록, 타이밍 에러를 초래하는데 필요한 전압 드룹의 크기가 더 크고(그리고 그에 따라 드룹 임계치가 더 크고), 지연이 길수록, 타이밍 에러를 초래하는데 필요한 전압 드룹의 크기가 더 작다(그리고 그에 따라 드룹 임계치가 더 작다). 따라서, 이러한 예에서, 성능 모니터(620)는 튜닝가능한 지연 디바이스(1422)의 지연 세팅을 감소시킴으로써 드룹 임계치를 증가시키고, 튜닝가능한 지연 디바이스(1422)의 지연 세팅을 증가시킴으로써 드룹 임계치를 감소시킬 수 있다.
[0123] 앞서 논의된 바와 같이, 에러 검출 회로(1420)는 드룹 완화를 트리거링하기 위해 에러 신호를 출력한다. 이와 관련하여, 클럭 감소기(430)는 에러 신호를 수신하기 위해 에러 검출 회로(1420)의 출력에 커플링될 수 있다. 클럭 감소기(430)는 클럭 감소기(430)가 에러 검출 회로(1420)로부터 에러 신호를 수신하는 경우 제2 모드에서 동작하도록(즉, 회로(110)에서 클럭 주파수를 감소시키도록) 구성될 수 있다. 클럭 감소기(430)는 에러 신호가 수신되지 않는 경우 제1 모드에서 동작하도록(즉, 입력 클럭 신호 CLK_IN 회로(110)를 통과하도록) 구성될 수 있다. 예를 들어, 에러 신호는 1의 로직 값을 가질 수 있다. 이러한 예에서, 클럭 감소기(430)는, 에러 검출 회로(1420)의 출력이 제로로부터 타이밍 에러를 표시하는 1로 스위칭하는 경우 제1 모드로부터 제2 모드로 스위칭할 수 있다. 앞서 논의된 바와 같이, 클럭 감소기(430)에 대한 클럭 신호 CLK_IN은, 클럭-데이터 보상 효과를 이용함으로써 드룹에 응답할 더 많은 시간을 전압-드룹 모니터(420)에 부여하기 위해 지연 디바이스(1310)에 의해 지연될 수 있다.
[0124] 도 14의 예에서, 에러 검출 회로(1420)는 제1 XOR 게이트(1470), 제2 XOR 게이트(1472) 및 OR 게이트(1475)를 포함한다. 제1 XOR 게이트(1470)는 체크 플립-플롭(1450)의 출력에 커플링된 제1 입력 및 상승 플립-플롭(1455)의 출력에 커플링된 제2 입력을 갖는다. 제2 XOR 게이트(1472)는 체크 플립-플롭(1450)의 출력에 커플링된 제1 입력 및 하강 플립-플롭(1460)의 출력에 커플링된 제2 입력을 갖는다. OR 게이트(1475)는 제1 XOR 게이트(1470)의 출력에 커플링된 제1 입력 및 제2 XOR 게이트(1472)의 출력에 커플링된 제2 입력을 갖는다. OR 게이트(1475)는, 체크 플립-플롭(1450) 및 상승 플립-플롭(1455)의 출력들이 상이한 경우, 체크 플립-플롭(1450) 및 하강 플립-플롭(1460)의 출력들이 상이한 경우, 또는 둘 모두의 경우 로직 1을 출력한다. 그 결과, OR 게이트(1475)는 타이밍 에러가 존재하는 경우 로직 1을 출력한다. 따라서, 이러한 예에서, 에러 신호는 1의 로직 값을 갖는다.
[0125] 에러 검출 회로(1420)는 또한 에러 플립-플롭(1480), OR 게이트(1482) 및 멀티플렉서(1485)를 포함한다. 멀티플렉서(1485)는 OR 게이트(1475)의 출력에 커플링된 제1 입력 및 OR 게이트(1482)에 커플링된 제2 입력을 갖는다. 멀티플렉서(1485)의 출력은 앞서 논의된 에러 신호를 출력한다.
[0126] 에러 플립-플롭(1480)은 OR 게이트(1475)의 출력에 커플링된 데이터 입력 및 클럭 신호 CLK_IN에 의해 구동되는 클럭 입력을 갖는다. OR 게이트(1482)는 OR 게이트(1475)의 출력에 커플링된 제1 입력 및 에러 플립-플롭(1480)의 출력에 커플링된 제2 입력을 갖는다. 따라서, OR 게이트(1482)는, OR 게이트(1475)의 현재 출력 값이 1이면, 이전 클럭 사이클의 OR 게이트(1475)의 출력 값(에러 플립-플롭(1480)에 의해 래칭됨)이 1이면, 또는 둘 모두이면, 에러를 표시하는 로직 1을 출력한다.
[0127] 멀티플렉서(1485)는 에러 모드 선택 신호("error_sel"로 표기됨)에 따라 OR 게이트(1475)의 출력 또는 OR 게이트(1482)의 출력을 선택하도록 구성된다. 따라서, 에러 검출 회로(1420)는 멀티플렉서(1485)에 의해 선택된 출력에 기초하여 2개의 모드들 중 하나에서 동작할 수 있다. 제1 모드에서, 멀티플렉서(1485)는 OR 게이트(1475)의 출력을 선택한다. 이러한 모드에서, 에러 검출 회로(1420)는 OR 게이트(1475)에 의해 출력된 현재 에러 신호를 출력한다. 제2 모드에서, 멀티플렉서(1485)는 OR 게이트(1482)의 출력을 선택한다. 이러한 모드에서, 에러 검출 회로(1420)는 에러 신호의 현재 로직 값과 에러 플립-플롭(1480)에 의해 래칭된 에러 신호의 이전 로직 값의 OR를 출력한다.
[0128] 도 15는 본 개시의 특정 양상에 따른 튜닝가능한 지연 회로(1422)의 예시적인 구현을 도시한다. 이러한 예에서, 튜닝가능한 지연 회로(1422)는 2개의 지연 경로들(1520 및 1530), 및 경로 선택 신호("path_sel"로 표기됨)에 따라 지연 경로들 중 하나를 선택하도록 구성된 제1 멀티플렉서(1540)를 포함한다. 경로(1520)는 다수의 버퍼들을 포함하고, 경로(1530)는 버퍼들의 조합 및 상호연결 지연 컴포넌트들을 포함한다. 버퍼들은 도 15에 도시된 바와 같이, 공급 전압 VDD에 의해 전력 공급된다.
[0129] 튜닝가능한 지연 회로(1422)는 또한 직렬로 커플링된 다수의 버퍼들(1550-1 내지 1550-n)로 구성된 지연 체인 및 제2 멀티플렉서(1560)를 포함한다. 각각의 버퍼는 한 쌍의 인버터들에 의해 구현될 수 있다. 제2 멀티플렉서(1560)는 다수의 입력들을 갖고, 여기서 각각의 입력은 도 15에 도시된 바와 같이 지연 체인 상의 상이한 포인트(탭)에 커플링된다. 그 결과, 제2 멀티플렉서(1560)의 입력들 각각은 지연 체인에서 상이한 수의 버퍼들(1550-1 내지 1550-n), 및 그에 따라 상이한 지연 경로에 커플링된다. 이러한 예에서, 멀티플렉서(1560)는 시간 지연 선택 신호("td1"로 표기됨)에 따라 지연 경로들 중 하나(및 그에 따라 대응하는 시간 지연)를 선택하고, 선택된 지연 경로들 내의 신호를 튜닝가능한 지연 디바이스(1422)의 출력으로서 출력한다. 따라서, 튜닝가능한 지연 디바이스(1422)의 지연은 시간 지연 선택 신호 td1을 사용하여 제2 멀티플렉서(1560)에 의해 선택된 지연 경로를 제어함으로써 조절된다. 이와 관련하여, 시간 지연 선택 신호 td1은 멀티 비트 지연 세팅일 수 있고, 여기서 비트들의 값들은 제2 멀티플렉서(1560)에 의해 선택된 지연 경로, 및 그에 따른 튜닝가능한 지연 디바이스(1422)의 지연을 특정한다.
[0130] 도 15에 도시된 바와 같이, 지연 체인 내의 다수의 버퍼들(1550-1 내지 1550-n)은 공급 전압 VDD에 의해 전력 공급된다. 따라서, 버퍼들(1550-1 내지 1550-n)의 지연들은 공급 전압에서의 드룹들에 의해 영향받는다. 일반적으로, 전압 드룹의 크기가 증가됨에 따라 버퍼들의 지연들은 증가된다.
[0131] 도 14로 되돌아가서, 튜닝가능한 지연 디바이스(1422)의 지연 세팅은 앞서 논의된 시간 지연 선택 신호 td1을 사용하여 조절된다. 따라서, 이러한 예에서, 성능 모니터(620)는 시간 지연 선택 신호 td1을 사용하여 튜닝가능한 지연 디바이스(1422)의 지연 세팅을 조절함으로써 드룹 임계치를 조절할 수 있다. 예를 들어, 성능 모니터(620)는 튜닝가능한 지연 디바이스(1422)의 지연 세팅을 증가시킴으로써 드룹 임계치를 감소시킬 수 있고, 이는 제1 및 제2 지연 경로들의 타이밍 마진을 감소시킨다. 이러한 예에서, 성능 모니터(620)는, 제2 멀티플렉서(1560)가 더 많은 수의 버퍼들을 갖는 지연 경로를 선택하게 하기 위해 시간 지연 선택 신호를 조절함으로써(예를 들어, 선택 신호의 하나 이상의 비트들을 변경함으로써) 지연 세팅을 증가시킬 수 있다. 다른 예에서, 성능 모니터(620)는 튜닝가능한 지연 디바이스(1422)의 지연 세팅을 감소시킴으로써 드룹 임계치를 증가시킬 수 있고, 이는 제1 및 제2 지연 경로들의 타이밍 마진을 증가시킨다. 이러한 예에서, 성능 모니터(620)는, 제2 멀티플렉서(1560)가 더 적은 버퍼들을 갖는 지연 경로를 선택하게 하기 위해 시간 선택 신호를 조절함으로써(예를 들어, 선택 신호의 하나 이상의 비트들을 변경함으로써) 지연 세팅을 감소시킬 수 있다.
[0132] 제1 미세 튜닝가능한 지연 디바이스(1435)는 시간 지연 선택 신호 td2에 따라 제1 지연 경로의 지연을 미세 튜닝하도록 구성된다. 이와 관련하여, 제1 미세 튜닝가능한 지연 디바이스(1435)는 더 작은 지연 증분들에서 그리고 튜닝가능한 지연 디바이스(1422)보다 작은 범위에 걸쳐 제1 지연 경로의 지연의 미세 튜닝을 허용한다. 예를 들어, 제1 미세 튜닝가능한 지연 디바이스(1435)의 전체 튜닝가능한 범위는 대략 튜닝가능한 지연 디바이스(1422) 내의 버퍼들 중 하나의 지연에 걸쳐 있을 수 있다.
[0133] 제2 미세 튜닝가능한 지연 디바이스(1445)는 시간 지연 선택 신호 td3에 따라 제2 지연 경로의 지연을 미세 튜닝하도록 구성된다. 이와 관련하여, 제2 미세 튜닝가능한 지연 디바이스(1445)는 더 작은 지연 증분들에서 그리고 튜닝가능한 지연 디바이스(1422)보다 작은 범위에 걸쳐 제2 지연 경로의 지연의 미세 튜닝을 허용한다. 제1 및 제2 미세 튜닝가능한 지연 디바이스들은 상승 및 하강 셋업 시간들에서의 작은 차이들을 처리하기 위해 제1 지연 경로 및 제2 지연 경로들의 지연들이 작은 범위에 걸쳐 독립적으로 튜닝되도록 허용한다.
[0134] 특정 양상들에서, 초기 공급 전압에서 전압-드룹 모니터(420)에 대한 초기 타이밍 마진(및 그에 따른 드룹 임계치) 및/또는 입력 클럭 신호 CLK_IN의 초기 주파수를 설정하기 위해 전압-드룹 모니터(420) 상에서 자동-교정 절차가 수행될 수 있다. 자동-교정 절차는, 전압-드룹 완화 회로(410)가 교정 동안 드룹 완화를 수행하지 못할 수 있기 때문에, 교정 동안 회로(110)를 안전 모드에서 동작시키는 것(예를 들어, 회로(110)를 감소된 클럭 주파수에서 동작시키는 것)을 포함할 수 있다. 자동-교정 절차는 또한 대략 제로의 타이밍 마진을 도출하는 지연 디바이스들(1422, 1435 및 1445)의 지연 세팅들을 발견하는 것을 포함할 수 있다. 이는, 에러 검출 회로(1420)의 출력에서 어떠한 에러 신호도 도출하지 않는 가장 큰 지연 세팅들을 발견하기 위해 에러 검출 회로(1420)의 출력을 관측하는 동안 지연 디바이스들(1422, 1435 및 1445)의 지연 세팅들을 조절(튜닝)함으로써 달성될 수 있다. 제로의 타이밍 마진에 대응하는 지연 세팅들이 결정된 후, 튜닝가능한 지연 디바이스(1422)의 지연 세팅을 원하는 초기 타이밍 마진에 대응하는 시간 지연만큼 감소시킴으로써, 원하는 초기 타이밍 마진이 전압-드룹 모니터에 추가된다. 초기 타이밍 마진(및 그에 따른 초기 드룹 임계치)이 설정된 후, 성능 모니터(620)는 앞서 논의된 바와 같이, 동작 동안 타이밍 마진(및 그에 따른 드룹 임계치)을 조절할 수 있다. 자동-교정 절차에 대한 추가적인 세부사항들은, 2016년 8월 9일에 발행되고 발명의 명칭이 "Automatic Calibration Circuits for Operational Calibration of Critical-Path Time Delays in Adaptive Clock Distribution Systems, and Related Methods and Systems"인 미국 특허 제9,413,344호에서 발견될 수 있고, 상기 미국 특허의 전체 명세서는 인용에 의해 본원에 통합된다.
[0135] 도 16은 특정 양상들에 따라 드룹 임계치를 조절하기 위한 방법(1600)을 예시하는 흐름도이다. 방법(1600)은 전압-드룹 완화 회로(410) 및 성능 모니터(620)에 의해 수행될 수 있다.
[0136] 단계(1610)에서, 회로에 공급되는 공급 전압에서의 전압 드룹이 모니터링된다. 전압 드룹은 전압-기반 드룹 모니터링 또는 타이밍-기반 드룹 모니터링을 사용하여 모니터링될 수 있다.
[0137] 단계(1620)에서, 모니터링된 전압 드룹이 드룹 임계치 이상이면, 회로에 대해 전압-드룹 완화가 수행된다. 전압-드룹 완화는 회로의 클럭 주파수를 감소시키는 것을 포함할 수 있다. 드룹 임계치는 전압-기반 드룹 모니터링을 위한 전압 임계치 레벨을 설정하거나 타이밍-기반 드룹 모니터링을 위해 지연 경로 내의 튜닝가능한 지연 디바이스의 지연을 설정함으로써 설정될 수 있다.
[0138] 단계(1630)에서, 시간 지속기간 내에서 전압-드룹 완화가 수행되는 클럭 사이클들의 수가 추적된다. 클럭 사이클들의 수는, 예를 들어, 드룹 완화가 수행되는 각각의 클럭 사이클에 대한 카운터의 카운트 값을 증분시킴으로써 추적될 수 있다.
[0139] 단계(1640)에서, 드룹 임계치는 클럭 사이클들의 수에 기초하여 조절된다. 예를 들어, 드룹 임계치는, 클럭 사이클들의 수가 제1 임계치 미만이면 감소될 수 있고, 클럭 사이클들의 수가 제2 임계치 초과이면 증가될 수 있다.
[0140] 도 17은 특정 양상들에 따라 드룹 임계치를 조절하기 위한 방법(1700)을 예시하는 흐름도이다. 방법(1700)은 전압-드룹 완화 회로(410) 및 성능 모니터(620)에 의해 수행될 수 있다.
[0141] 단계(1710)에서, 회로에 공급되는 공급 전압에서의 전압 드룹이 모니터링된다. 전압 드룹은 전압-기반 드룹 모니터링 또는 타이밍-기반 드룹 모니터링을 사용하여 모니터링될 수 있다.
[0142] 단계(1720)에서, 모니터링된 전압 드룹이 드룹 임계치 이상이면, 회로에 대해 전압-드룹 완화가 수행된다. 전압-드룹 완화는 회로의 클럭 주파수를 감소시키는 것을 포함할 수 있다. 드룹 임계치는 전압-기반 드룹 모니터링을 위한 전압 임계치 레벨을 설정하거나 타이밍-기반 드룹 모니터링을 위해 지연 경로 내의 튜닝가능한 지연 디바이스의 지연을 설정함으로써 설정될 수 있다.
[0143] 단계(1730)에서, 시간 지속기간 내에서 전압-드룹 완화가 수행되는 횟수가 추적된다. 전압-드룹이 수행되는 횟수는, 예를 들어, 전압-드룹 완화가 트리거링될 때마다 카운터의 카운트 값을 증분시킴으로써 추적될 수 있다.
[0144] 단계(1740)에서, 드룹 임계치는 시간 지속기간 내에서 전압-드룹 완화가 수행되는 횟수에 기초하여 조절된다. 예를 들어, 드룹 임계치는, 시간 지속기간 내에서 전압-드룹 완화가 수행되는 횟수가 제1 임계치 미만이면 감소될 수 있고, 시간 지속기간 내에서 전압-드룹 완화가 수행되는 횟수가 제2 임계치 초과이면 증가될 수 있다.
[0145] 앞서 논의된 성능 모니터(620) 및 전압-드룹 모니터(420)는 범용 프로세서, DSP(digital signal processor), ASIC(application specific integrated circuit), FPGA(field programmable gate array) 또는 다른 프로그래밍가능 로직 디바이스, 이산 하드웨어 컴포넌트들(예를 들어, 로직 게이트들) 또는 본원에 설명된 기능들을 수행하도록 설계된 이들의 임의의 조합으로 구현될 수 있다. 프로세서는 기능들을 수행하기 위한 코드를 포함하는 소프트웨어를 실행함으로써 본원에 설명된 기능들을 수행할 수 있다. 소프트웨어는 RAM, ROM, EEPROM, 광학 디스크 및/또는 자기 디스크와 같은 컴퓨터 판독가능 저장 매체 상에 저장될 수 있다.
[0146] 본 개시의 이전 설명은 임의의 당업자가 본 개시를 사용하거나 실시할 수 있게 하도록 제공된다. 본 개시에 대한 다양한 변형들이 해당 기술분야에서 통상의 지식을 가진 자들에게 쉽게 명백할 것이며, 본 명세서에 정의된 일반 원리들은 본 개시의 사상 또는 범위를 벗어나지 않으면서 다른 변형들에 적용될 수 있다. 따라서, 본 개시는 본 명세서에서 설명된 예시들로 한정되는 것으로 의도되는 것이 아니라, 본 명세서에 개시된 원리들 및 신규한 특징들에 부합하는 가장 넓은 범위에 따르는 것이다.

Claims (22)

  1. 회로에 공급되는 공급 전압에서의 전압 드룹(droop)을 모니터링하고, 상기 모니터링된 전압 드룹이 드룹 임계치 이상이면, 상기 회로에 대한 전압-드룹 완화를 수행하도록 구성되는 전압-드룹 완화 회로; 및
    시간 지속기간 내에서 상기 전압-드룹 완화 회로가 상기 전압-드룹 완화를 수행하는 클럭 사이클들의 수를 추적하고, 상기 클럭 사이클들의 수를 제1 임계 수와 비교하고, 상기 클럭 사이클들의 수가 상기 제1 임계 수 미만이면, 상기 드룹 임계치 및 상기 공급 전압 둘 모두를 감소시키도록 구성되는 성능 모니터를 포함하는, 시스템.
  2. 제1 항에 있어서,
    상기 전압-드룹 완화 회로는,
    감소된 주파수 클럭 신호를 생성하기 위해 입력 클럭 신호의 주파수를 감소시키고 그리고 상기 감소된 주파수 클럭 신호를 상기 회로에 출력함으로써, 전압-드룹 완화를 수행하고;
    상기 전압-드룹 완화가 수행되지 않는 경우 상기 입력 클럭 신호를 상기 회로에 전달하도록 구성되는, 시스템.
  3. 제2 항에 있어서,
    상기 클럭 사이클들의 수는 상기 입력 클럭 신호의 클럭 사이클들의 수 또는 상기 감소된 주파수 클럭 신호의 사이클들의 수인, 시스템.
  4. 제1 항에 있어서,
    상기 전압-드룹 완화 회로는,
    감소된 주파수 클럭 신호를 생성하기 위해 입력 클럭 신호의 주파수를 감소시키고 그리고 상기 감소된 주파수 클럭 신호를 상기 회로에 출력함으로써, 전압-드룹 완화를 수행하고;
    상기 전압-드룹 완화가 수행되지 않는 경우 상기 입력 클럭 신호를 상기 회로에 전달하고;
    상기 드룹 임계치가 감소되면 상기 입력 클럭 신호의 주파수를 증가시키도록 구성되는, 시스템.
  5. 제1 항에 있어서,
    상기 성능 모니터는, 상기 클럭 사이클들의 수를 제2 임계 수와 비교하고, 상기 클럭 사이클들의 수가 상기 제2 임계 수 초과이면 상기 드룹 임계치를 증가시키도록 구성되는, 시스템.
  6. 제1 항에 있어서,
    상기 전압-드룹 완화 회로는,
    데이터 신호를 출력하도록 구성되는 구동 회로;
    수신 플립-플롭;
    상기 구동 회로와 상기 수신 플립-플롭 사이의 지연 경로 ― 상기 지연 경로는 튜닝가능한 지연 디바이스를 포함하고, 상기 데이터 신호는 상기 구동 회로로부터 상기 지연 경로를 통해 상기 수신 플립-플롭으로 전파되고, 상기 수신 플립-플롭은 입력 클럭 신호의 활성 에지들 상에서 상기 데이터 신호의 로직 값들을 래칭하도록 구성됨 ―; 및
    상기 래칭된 로직 값들에 기초하여 상기 수신 플립-플롭에서 타이밍 에러를 검출하고 그리고 상기 타이밍 에러가 검출되면, 전압-드룹 완화를 트리거링하도록 구성되는 에러 검출 회로를 포함하고,
    상기 성능 모니터는 상기 튜닝가능한 지연 디바이스의 지연 세팅을 조절함으로써 상기 드룹 임계치를 감소시키도록 구성되는, 시스템.
  7. 제6 항에 있어서,
    상기 튜닝가능한 지연 디바이스는,
    복수의 지연 경로들 ― 상기 복수의 지연 경로들 각각은 상기 공급 전압에 의해 전력 공급되는 상이한 수의 버퍼들을 포함함 ―; 및
    지연 선택 신호에 따라 상기 복수의 지연 경로들 중 하나를 선택하도록 구성되는 멀티플렉서를 포함하고,
    상기 성능 모니터는 상기 지연 선택 신호를 조절함으로써 상기 튜닝가능한 지연 디바이스의 지연 세팅을 조절하도록 구성되는, 시스템.
  8. 드룹 임계치를 조절하기 위한 방법으로서,
    회로에 공급되는 공급 전압에서의 전압 드룹을 모니터링하는 단계;
    상기 모니터링된 전압 드룹이 상기 드룹 임계치 이상이면, 상기 회로에 대해 전압-드룹 완화를 수행하는 단계;
    시간 지속기간 내에서 상기 전압-드룹 완화가 수행되는 클럭 사이클들의 수를 추적하는 단계;
    상기 클럭 사이클들의 수를 제1 임계 수와 비교하는 단계; 및
    상기 클럭 사이클들의 수가 상기 제1 임계 수 미만이면, 상기 드룹 임계치 및 상기 공급 전압 둘 모두를 감소시키는 단계를 포함하는, 드룹 임계치를 조절하기 위한 방법.
  9. 제8 항에 있어서,
    상기 전압-드룹 완화를 수행하는 단계는, 감소된 주파수 클럭 신호를 생성하기 위해 입력 클럭 신호의 주파수를 감소시키는 단계, 및 상기 감소된 주파수 클럭 신호를 상기 회로에 출력하는 단계를 포함하고,
    상기 방법은 상기 전압-드룹 완화가 수행되지 않는 경우 상기 입력 클럭 신호를 상기 회로에 전달하는 단계를 더 포함하는, 드룹 임계치를 조절하기 위한 방법.
  10. 제9 항에 있어서,
    상기 클럭 사이클들의 수는 상기 입력 클럭 신호의 클럭 사이클들의 수 또는 상기 감소된 주파수 클럭 신호의 사이클들의 수인, 드룹 임계치를 조절하기 위한 방법.
  11. 제8 항에 있어서,
    상기 전압-드룹 완화를 수행하는 단계는, 감소된 주파수 클럭 신호를 생성하기 위해 입력 클럭 신호의 주파수를 감소시키는 단계, 및 상기 감소된 주파수 클럭 신호를 상기 회로에 출력하는 단계를 포함하고,
    상기 방법은 상기 전압-드룹 완화가 수행되지 않는 경우 상기 입력 클럭 신호를 상기 회로에 전달하는 단계, 및 상기 드룹 임계치가 감소되면 상기 입력 클럭 신호의 주파수를 증가시키는 단계를 더 포함하는, 드룹 임계치를 조절하기 위한 방법.
  12. 제8 항에 있어서,
    상기 클럭 사이클들의 수를 제2 임계 수와 비교하는 단계, 및 상기 클럭 사이클들의 수가 상기 제2 임계 수 초과이면, 상기 드룹 임계치를 증가시키는 단계를 더 포함하는, 드룹 임계치를 조절하기 위한 방법.
  13. 제8 항에 있어서,
    상기 전압 드룹을 모니터링하는 단계는 상기 전압 드룹에 의해 초래되는 지연 경로에서의 타이밍 에러를 검출하는 단계를 포함하고, 상기 지연 경로는 튜닝가능한 지연 디바이스를 포함하고,
    상기 모니터링된 전압 드룹이 상기 드룹 임계치 이상이면 상기 회로에 대해 전압-드룹 완화를 수행하는 단계는, 상기 타이밍 에러가 검출되면 상기 회로에 대해 전압-드룹 완화를 수행하는 단계를 포함하고,
    상기 드룹 임계치를 감소시키는 단계는 상기 튜닝가능한 지연 디바이스의 지연 세팅을 조절하는 단계를 포함하는, 드룹 임계치를 조절하기 위한 방법.
  14. 회로에 공급되는 공급 전압에서의 전압 드룹을 모니터링하고, 상기 모니터링된 전압 드룹이 드룹 임계치 이상이면, 상기 회로에 대한 전압-드룹 완화를 수행하도록 구성되는 전압-드룹 완화 회로; 및
    시간 지속기간 내에서 상기 전압-드룹 완화 회로가 상기 전압-드룹 완화를 수행하는 횟수를 추적하고, 상기 시간 지속기간 내에서 상기 전압-드룹 완화 회로가 상기 전압-드룹 완화를 수행하는 횟수를 제1 임계 수와 비교하고, 상기 시간 지속기간 내에서 상기 전압-드룹 완화 회로가 상기 전압-드룹 완화를 수행하는 횟수가 상기 제1 임계 수 미만이면, 상기 드룹 임계치 및 상기 공급 전압 둘 모두를 감소시키도록 구성되는 성능 모니터를 포함하는, 시스템.
  15. 제14 항에 있어서,
    상기 전압-드룹 완화 회로는,
    감소된 주파수 클럭 신호를 생성하기 위해 입력 클럭 신호의 주파수를 감소시키고 그리고 상기 감소된 주파수 클럭 신호를 상기 회로에 출력함으로써, 전압-드룹 완화를 수행하고;
    상기 전압-드룹 완화가 수행되지 않는 경우 상기 입력 클럭 신호를 상기 회로에 전달하고;
    상기 드룹 임계치가 감소되면 상기 입력 클럭 신호의 주파수를 증가시키도록 구성되는, 시스템.
  16. 제14 항에 있어서,
    상기 성능 모니터는, 상기 시간 지속기간 내에서 상기 전압-드룹 완화 회로가 상기 전압-드룹 완화를 수행하는 횟수를 제2 임계 수와 비교하고, 상기 시간 지속기간 내에서 상기 전압-드룹 완화 회로가 상기 전압-드룹 완화를 수행하는 횟수가 상기 제2 임계 수 초과이면, 상기 드룹 임계치를 증가시키도록 구성되는, 시스템.
  17. 제14 항에 있어서,
    상기 전압-드룹 완화 회로는,
    데이터 신호를 출력하도록 구성되는 구동 회로;
    수신 플립-플롭;
    상기 구동 회로와 상기 수신 플립-플롭 사이의 지연 경로 ― 상기 지연 경로는 튜닝가능한 지연 디바이스를 포함하고, 상기 데이터 신호는 상기 구동 회로로부터 상기 지연 경로를 통해 상기 수신 플립-플롭으로 전파되고, 상기 수신 플립-플롭은 입력 클럭 신호의 활성 에지들 상에서 상기 데이터 신호의 로직 값들을 래칭하도록 구성됨 ―; 및
    상기 래칭된 로직 값들에 기초하여 상기 수신 플립-플롭에서 타이밍 에러를 검출하고 그리고 상기 타이밍 에러가 검출되면, 전압-드룹 완화를 트리거링하도록 구성되는 에러 검출 회로를 포함하고,
    상기 성능 모니터는 상기 튜닝가능한 지연 디바이스의 지연 세팅을 조절함으로써 상기 드룹 임계치를 감소시키도록 구성되는, 시스템.
  18. 제17 항에 있어서,
    상기 튜닝가능한 지연 디바이스는,
    복수의 지연 경로들 ― 상기 복수의 지연 경로들 각각은 상기 공급 전압에 의해 전력 공급되는 상이한 수의 버퍼들을 포함함 ―; 및
    지연 선택 신호에 따라 상기 복수의 지연 경로들 중 하나를 선택하도록 구성되는 멀티플렉서를 포함하고,
    상기 성능 모니터는 상기 지연 선택 신호를 조절함으로써 상기 튜닝가능한 지연 디바이스의 지연 세팅을 조절하도록 구성되는, 시스템.
  19. 드룹 임계치를 조절하기 위한 방법으로서,
    회로에 공급되는 공급 전압에서의 전압 드룹을 모니터링하는 단계;
    상기 모니터링된 전압 드룹이 상기 드룹 임계치 이상이면, 상기 회로에 대해 전압-드룹 완화를 수행하는 단계;
    시간 지속기간 내에서 상기 전압-드룹 완화가 수행되는 횟수를 추적하는 단계;
    상기 시간 지속기간 내에서 상기 전압-드룹 완화가 수행되는 횟수를 제1 임계 수와 비교하는 단계; 및
    상기 시간 지속기간 내에서 상기 전압-드룹 완화가 수행되는 횟수가 상기 제1 임계 수 미만이면, 상기 드룹 임계치 및 상기 공급 전압 둘 모두를 감소시키는 단계를 포함하는, 드룹 임계치를 조절하기 위한 방법.
  20. 제19 항에 있어서,
    상기 전압-드룹 완화를 수행하는 단계는, 감소된 주파수 클럭 신호를 생성하기 위해 입력 클럭 신호의 주파수를 감소시키는 단계, 및 상기 감소된 주파수 클럭 신호를 상기 회로에 출력하는 단계를 포함하고,
    상기 방법은 상기 전압-드룹 완화가 수행되지 않는 경우 상기 입력 클럭 신호를 상기 회로에 전달하는 단계, 및 상기 드룹 임계치가 감소되면 상기 입력 클럭 신호의 주파수를 증가시키는 단계를 더 포함하는, 드룹 임계치를 조절하기 위한 방법.
  21. 제19 항에 있어서,
    상기 시간 지속기간 내에서 상기 전압-드룹 완화가 수행되는 횟수를 제2 임계 수와 비교하는 단계, 및 상기 시간 지속기간 내에서 상기 전압-드룹 완화가 수행되는 횟수가 상기 제2 임계 수 초과이면, 상기 드룹 임계치를 증가시키는 단계를 더 포함하는, 드룹 임계치를 조절하기 위한 방법.
  22. 제19 항에 있어서,
    상기 전압 드룹을 모니터링하는 단계는 상기 전압 드룹에 의해 초래되는 지연 경로에서의 타이밍 에러를 검출하는 단계를 포함하고, 상기 지연 경로는 튜닝가능한 지연 디바이스를 포함하고,
    상기 모니터링된 전압 드룹이 상기 드룹 임계치 이상이면 상기 회로에 대해 전압-드룹 완화를 수행하는 단계는, 상기 타이밍 에러가 검출되면 상기 회로에 대해 전압-드룹 완화를 수행하는 단계를 포함하고,
    상기 드룹 임계치를 감소시키는 단계는 상기 튜닝가능한 지연 디바이스의 지연 세팅을 조절하는 단계를 포함하는, 드룹 임계치를 조절하기 위한 방법.
KR1020197018122A 2016-12-28 2017-12-11 동적 적응형 전압-주파수 가드대역 제어 회로 KR102030706B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/393,107 2016-12-28
US15/393,107 US10009016B1 (en) 2016-12-28 2016-12-28 Dynamically adaptive voltage-frequency guardband control circuit
PCT/US2017/065558 WO2018125547A1 (en) 2016-12-28 2017-12-11 Dynamically adaptive voltage-frequency guardband control circuit

Publications (2)

Publication Number Publication Date
KR20190077121A KR20190077121A (ko) 2019-07-02
KR102030706B1 true KR102030706B1 (ko) 2019-10-10

Family

ID=60937884

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197018122A KR102030706B1 (ko) 2016-12-28 2017-12-11 동적 적응형 전압-주파수 가드대역 제어 회로

Country Status (7)

Country Link
US (1) US10009016B1 (ko)
EP (1) EP3563212B1 (ko)
JP (1) JP6648344B1 (ko)
KR (1) KR102030706B1 (ko)
CN (1) CN110100221B (ko)
BR (1) BR112019013032A2 (ko)
WO (1) WO2018125547A1 (ko)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10642336B2 (en) * 2016-07-12 2020-05-05 Advanced Micro Devices, Inc. Clock adjustment for voltage droop
US10983852B2 (en) 2019-01-30 2021-04-20 Micron Technology, Inc. Power management component for memory sub-system voltage regulation
US20190377405A1 (en) * 2019-03-29 2019-12-12 Intel Corporation Input Voltage Protection
US11054891B2 (en) * 2019-05-09 2021-07-06 Google Llc Resonance aware performance management
US10707877B1 (en) 2019-06-27 2020-07-07 Intel Corporation Method and apparatus for switched adaptive clocking
TWI743620B (zh) * 2019-12-11 2021-10-21 瑞昱半導體股份有限公司 效能管理方法及電子裝置
US11442082B2 (en) * 2019-12-23 2022-09-13 Graphcore Limited Droop detection
US11353914B2 (en) 2020-03-18 2022-06-07 Intel Corporation Workload based adaptive voltage and frequency control apparatus and method
US11360541B2 (en) 2020-06-26 2022-06-14 Advanced Micro Devices, Inc. Programmable voltage regulation for data processor
KR20220063579A (ko) 2020-11-10 2022-05-17 삼성전자주식회사 전력의 절약을 위한 클록 생성기 및 이를 포함하는 시스템 온 칩
US11249530B1 (en) * 2020-11-25 2022-02-15 Qualcomm Incorporated Adaptive voltage controller
US11323124B1 (en) * 2021-06-01 2022-05-03 SambaNova Systems, Inc. Variable-length clock stretcher with correction for glitches due to finite DLL bandwidth
CN113504826B (zh) * 2021-08-04 2023-04-14 上海壁仞智能科技有限公司 动态电压频率调整电路以及动态电压频率调整方法
US11640193B2 (en) * 2021-09-24 2023-05-02 Qualcomm Incorporated Detecting power delivery network marginality in a computing device
US20220019258A1 (en) * 2021-10-01 2022-01-20 Terry Remple Adaptive clock modulation
WO2023164941A1 (zh) * 2022-03-04 2023-09-07 华为技术有限公司 一种供电电路和频率调整方法
US20230324947A1 (en) * 2022-03-25 2023-10-12 Advanced Micro Devices, Inc. User Configurable Hardware Settings for Overclocking
CN114706449B (zh) * 2022-03-28 2024-04-26 杭州中天微系统有限公司 基于自适应时钟的频率控制方法、电路及芯片
CN114815948B (zh) * 2022-05-23 2024-02-20 杭州中天微系统有限公司 自适应时钟电路、芯片及电压调整方法、装置
US11886275B2 (en) 2022-06-21 2024-01-30 Microsoft Technology Licensing, Llc Efficient system on chip power delivery with adaptive voltage headroom control
US11953982B2 (en) 2022-07-19 2024-04-09 International Business Machines Corporation Dynamic guard band with timing protection and with performance protection
WO2024018353A1 (en) * 2022-07-19 2024-01-25 International Business Machines Corporation Dynamic guard band with timing protection and with performance protection
US11989071B2 (en) 2022-07-19 2024-05-21 International Business Machines Corporation Dynamic guard band with timing protection and with performance protection

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020140494A1 (en) 2001-03-27 2002-10-03 Thomas Thomas P. On-chip power supply boost for voltage droop reduction
US20060253719A1 (en) 2003-07-25 2006-11-09 Tam Simon M Power supply voltage droop compensated clock modulation for microprocessors
US20070288182A1 (en) 2006-05-30 2007-12-13 Daniel Douriet Method for Detecting Noise Events in Systems with Time Variable Operating Points
US20080007272A1 (en) 2005-02-10 2008-01-10 International Business Machines Corporation On-chip detection of power supply vulnerabilities
US20090063884A1 (en) 2007-08-30 2009-03-05 Weekly Roger D Application of Multiple Voltage Droop Detection and Instruction Throttling Instances with Customized Thresholds Across a Semiconductor Chip
US20110241423A1 (en) 2010-04-01 2011-10-06 Qualcomm Incorporated Circuits, Systems and Methods to Detect and Accommodate Power Supply Voltage Droop
US20110291630A1 (en) 2010-05-25 2011-12-01 Oracle International Corporation Microprocessor performance and power optimization through self calibrated inductive voltage droop monitoring and correction
US20120187991A1 (en) 2011-01-25 2012-07-26 Advanced Micro Devices, Inc. Clock stretcher for voltage droop mitigation
US20160072491A1 (en) 2014-09-08 2016-03-10 QUALCOMM Incorporared Automatic calibration circuits for operational calibration of critical-path time delays in adaptive clock distribution systems, and related methods and systems

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6922111B2 (en) 2002-12-20 2005-07-26 Intel Corporation Adaptive frequency clock signal
US9092210B2 (en) 2011-11-30 2015-07-28 Intel Corporation Controlling current transients in a processor
US9606602B2 (en) 2014-06-30 2017-03-28 Intel Corporation Method and apparatus to prevent voltage droop in a computer

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020140494A1 (en) 2001-03-27 2002-10-03 Thomas Thomas P. On-chip power supply boost for voltage droop reduction
US20060253719A1 (en) 2003-07-25 2006-11-09 Tam Simon M Power supply voltage droop compensated clock modulation for microprocessors
US20080007272A1 (en) 2005-02-10 2008-01-10 International Business Machines Corporation On-chip detection of power supply vulnerabilities
US20070288182A1 (en) 2006-05-30 2007-12-13 Daniel Douriet Method for Detecting Noise Events in Systems with Time Variable Operating Points
US20090063884A1 (en) 2007-08-30 2009-03-05 Weekly Roger D Application of Multiple Voltage Droop Detection and Instruction Throttling Instances with Customized Thresholds Across a Semiconductor Chip
US20110241423A1 (en) 2010-04-01 2011-10-06 Qualcomm Incorporated Circuits, Systems and Methods to Detect and Accommodate Power Supply Voltage Droop
US20110291630A1 (en) 2010-05-25 2011-12-01 Oracle International Corporation Microprocessor performance and power optimization through self calibrated inductive voltage droop monitoring and correction
US20120187991A1 (en) 2011-01-25 2012-07-26 Advanced Micro Devices, Inc. Clock stretcher for voltage droop mitigation
US20160072491A1 (en) 2014-09-08 2016-03-10 QUALCOMM Incorporared Automatic calibration circuits for operational calibration of critical-path time delays in adaptive clock distribution systems, and related methods and systems

Also Published As

Publication number Publication date
US10009016B1 (en) 2018-06-26
WO2018125547A1 (en) 2018-07-05
BR112019013032A2 (pt) 2019-12-17
EP3563212B1 (en) 2023-01-18
CN110100221A (zh) 2019-08-06
CN110100221B (zh) 2020-07-14
EP3563212A1 (en) 2019-11-06
US20180183417A1 (en) 2018-06-28
KR20190077121A (ko) 2019-07-02
JP2020514864A (ja) 2020-05-21
JP6648344B1 (ja) 2020-02-14

Similar Documents

Publication Publication Date Title
KR102030706B1 (ko) 동적 적응형 전압-주파수 가드대역 제어 회로
US9628089B1 (en) Supply voltage tracking clock generator in adaptive clock distribution systems
US8860502B2 (en) Method and apparatus for monitoring timing of critical paths
US10423182B2 (en) Self-referenced droop detector circuitry
US8125246B2 (en) Method and apparatus for late timing transition detection
US7683684B2 (en) Power-down mode control apparatus and DLL circuit having the same
US7898309B1 (en) Analog duty cycle correction loop for clocks
EP0570158B1 (en) Frequency multiplication circuit and method for generating a stable clock signal
CN116529685A (zh) 自适应电压控制器
US11868193B2 (en) System and method for compensating for a droop event
US11545988B2 (en) Method and apparatus for controlling clock cycle time
US11855645B2 (en) Adaptive clock duty-cycle controller
US20210399722A1 (en) Symmetrically-interconnected tunable time delay circuit
US20030226054A1 (en) Clock generation circuit and clock generation method
WO2022245445A1 (en) Power controller communication latency mitigation
US10158364B1 (en) Realignment strength controller for solving loop conflict of realignment phase lock loop
KR101297413B1 (ko) 적응형 클럭 생성 장치 및 방법
CN110196678B (zh) 资料储存决定装置
CN102751982A (zh) 一种适用于通信设备背板开销处理的时钟选择电路

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant