数字子调节器的制作方法

文档序号:18744597发布日期:2019-09-21 02:11阅读:266来源:国知局
数字子调节器的制作方法

本申请要求于2017年2月13日在美国专利商标局提交的非临时申请No.15/431,243的优先权和权益,其全部内容通过引用并入本文。

技术领域

本公开的各方面总体上涉及调节器,并且更具体地涉及数字子调节器。



背景技术:

芯片上的多个电路块(例如,处理器)通常从公共电源轨接收功率,其中每个电路块经由相应的头部开关耦合到电源轨。当电路块有效时,相应的头部开关接通,从而在电源轨与块之间提供低阻抗路径。在这种情况下,块处的电压近似等于电源轨上的电源电压。当电路块无效时,可以关断相应的头部开关以节省功率。



技术实现要素:

以下呈现一个或多个实施例的简要概述以便提供对这些实施例的基本理解。该概述不是所有预期实施例的广泛概述,并且既不旨在标识所有实施例的关键或重要元素,也不旨在界定任何或所有实施例的范围。其唯一目的是以简化的形式呈现一个或多个实施例的一些概念,作为稍后呈现的更详细描述的序言。

第一方面涉及一种调节器。调节器包括被耦合在电源轨与电路块之间的可变阻抗开关,其中可变阻抗开关的阻抗由被输入到可变阻抗开关的阻抗码设置。调节器还包括:被配置为将电路块处的块电源电压转换为电压码的模数转换器(ADC);以及被配置为在减小块电源电压与目标电源电压之间的差值的方向上基于电压码来调节阻抗码的控制器。

第二方面涉及一种用于调节可变阻抗开关的阻抗的方法。可变阻抗开关被耦合在电源轨与电路块之间,并且可变阻抗开关的阻抗由被输入到可变阻抗开关的阻抗码设置。该方法包括将电路块处的块电源电压转换为电压码,并且在减小块电源电压与目标电源电压之间的差值的方向上基于电压码来调节阻抗码。

为了实现前述和相关目的,一个或多个实施例包括在下文中充分描述并且在权利要求中特别指出的特征。以下描述和附图详细阐述了一个或多个实施例的某些说明性方面。然而,这些方面仅指示可以采用各种实施例的原理的各种方式中的一些,并且所描述的实施例旨在包括所有这些方面及其等同物。

附图说明

图1示出了根据本公开的某些方面的经由多个头部开关共享公共电源轨的多个电路块的示例。

图2示出了根据本公开的某些方面的经由多个数字子调节器共享公共电源轨的多个电路块的示例。

图3示出了根据本公开的某些方面的数字子调节器的示例。

图4示出了根据本公开的某些方面的数字子调节器的示例性实现。

图5是示出根据本公开的某些方面的根据块电源电压变化的数字电压码的示例的曲线图。

图6示出了根据本公开的某些方面的将数字电压码的不同值映射到相应调节值的示例性表格。

图7示出了根据本公开的某些方面的数字子调节器的示例,该数字子调节器包括用于对数字子调节器进行定时操作的定时电路。

图8是示出根据本公开的某些方面的用于对数字子调节器的操作进行定时的时钟信号的一个示例的时间线。

图9示出了根据本公开的某些方面的包括多个累加器的数字子调节器的示例。

图10是示出根据本公开的某些方面的用于对数字子调节器的操作进行定时的时钟信号的另一示例的时间线。

图11示出了根据本公开的某些方面的电阻器梯中的电阻器的示例性电阻值。

图12示出了根据本公开的某些方面的被配置为生成参考电压的数模转换器(DAC)的示例。

图13是示出根据本公开的某些方面的用于电压调节的方法的流程图。

具体实施方式

以下结合附图阐述的详细描述旨在作为各种配置的描述,而非旨在表示可以实现本文中描述的概念的仅有配置。详细描述包括具体细节,以便提供对各种概念的透彻理解。然而,对于本领域技术人员很清楚的是,可以在没有这些具体细节的情况下实现这些概念。在一些实例中,以框图形式示出了公知的结构和部件,以避免模糊这些概念。

片上系统(SoC)中的处理器通常按顺序执行多个任务,其中任务的处理要求可以变化。当处理器执行具有低处理要求的任务时,可以降低处理器的时钟速度以节省功率。当处理器执行具有高处理要求的任务时,可能需要增加时钟速度以便执行该任务。因此,处理器的时钟速度可以根据处理器执行的任务的处理要求而变化。

当时钟速度低时,可以降低处理器的电源电压以进一步降低功率。这是因为,低时钟速度允许处理器中的晶体管以较低的开关速度并且因此较低的电源电压操作。当时钟速度高时,需要增加电压供应以增加晶体管的开关速度。在这方面,可以利用被称为动态时钟和电压缩放(DCVS)的技术根据处理器的时钟速度来动态地缩放(调节)处理器的电源电压。该技术也可以称为动态电压和频率缩放(DVFS)。

当多个处理器共享相同的电源轨时,DCVS的益处可能会减弱。这是因为,电源轨上的电源电压需要设置得足够高,以支持具有最高时钟速度的处理器。结果,电源电压高于具有较低时钟速度的处理器所需要的电源电压,从而导致功率浪费。

下面的图1示出了共享公共电源轨105的多个电路块110、120和130(例如,多个处理器)的示例。在该示例中,电路块110、120和130(例如,处理器)分别通过头部开关(HS)115、125和135耦合到电源轨105。当电路块有效时,相应的头部开关接通,从而在电源轨105与块之间提供低阻抗(例如,几毫欧)路径。在这种情况下,块处的电压近似等于电源轨105上的电源电压。当电路块无效时,可以关断相应的头部开关以节省功率。

假定所有电路块110、120和130都有效,如果块110具有比块120和130更高的时钟速度,则电源轨105上的电源电压设置得足够高(例如,通过电源管理集成电路(PMIC))以支持块110的时钟速度。结果,电源轨105上的电源电压高于块120和130所需要的电压,块120和130以比块110以更低的时钟速度操作。这导致功率浪费。

因此,在上述方法中,所有块的电源电压由具有最高时钟速度的块(例如,块110)指定,导致以较低时钟速度操作的块(例如,块120和130)的功率浪费。

本公开的各方面通过将图1中的头部开关115、125和135替换为数字子调节器(DSR)来解决上述问题。DSR允许每个块的电源电压独立设置为低于电源轨上的电源电压的电压。因此,如果根据具有最高时钟速度的块设置电源轨上的电源电压,则可以通过相应DSR将以较低时钟速度操作的每个块的电源电压设置为低于电源轨上的电源电压的电压。这降低了功耗,如下面进一步讨论的。

下面的图2示出了共享公共电源轨205的多个电路块210、220和230(例如,处理器)的示例。在该示例中,电路块210、220和230(例如,处理器)分别通过数字子调节器(DSR)215、225和235耦合到电源轨205。每个DSR允许相应块的电源电压独立地被设置为低于电源轨205上的电源电压(表示为“vrail”)的电源电压。

例如,如果块210具有最高时钟速度,则可以将电源轨205上的电源电压vrail设置得足够高(例如,通过PMIC),以支持块210的时钟速度。如果块220和230中的每个块以比块210更低的时钟速度操作,则可以通过相应的DSR 225和235将块220和230的电源电压(表示为“vblk_1”和“vblk_2”)设置为低于电源电压vrail。因此,块220和230的电源电压不再由具有最高时钟速度的块(即,在该示例中为块210)指定。

块220和230的降低的电源电压减少了这些块消耗的能量的量。在块220和230中的每个块处的每个时钟周期节省的能量的量可以与电源轨205上的电源电压vrail与块处的电源电压之间的差值成比例。

图3示出了根据本公开的一些实施例的DSR 310的示例性实现。DSR 310可以用于实现图2所示的DSR 215、225和235中的每个。换言之,图2中的DSR 215、225和235中的每个可以是图3所示的DSR 310的单独实例(副本)。

DSR 310耦合在电源轨305与相应的电路块315(例如,处理器)之间。例如,如果DSR 310用于实现图2中的DSR 225,则电源轨305对应于图2中的电源轨205,并且电路块315对应于图2中的电路块220。

DSR 310包括模数转换器(ADC)320、控制器325和可变阻抗开关330。可变阻抗开关330耦合在电源轨305与相应的电路块315之间。可变阻抗开关330具有由数字阻抗码(在图3中表示为“imp_code”)设置的可调节(可调谐)阻抗。由于可变阻抗开关330耦合在电源轨305与相应的电路块315之间,因此可变阻抗开关330允许通过调节阻抗码imp_code来调节电源轨305与相应电路块315之间的阻抗。

在一个示例中,可变阻抗开关330包括并联耦合在电源轨305与相应电路块315之间的多个传输场效应晶体管(FET)。在该示例中,可变阻抗开关330的阻抗通过调节导通的传输FET的数目来调节。导通的传输FET的数目越大,电源轨305与相应的块315之间的阻抗越低,因此对于给定的负载电流,相应块处的电源电压vblk越高。在下面的讨论中,相应电路块315处的电源电压vblk被称为块电源电压vblk。

ADC 320被配置为将块电源电压vblk转换为数字电压码(表示为“vblk_code”),并且将数字电压码vblk_code输入到控制器325。数字电压码vblk_code向控制器325提供块电源电压vblk的数字表示。如下面进一步讨论的,ADC 320可以用闪速ADC或其他类型的ADC实现。

控制器325被配置为基于数字电压vblk_code和目标电源电压来调节可变阻抗开关330的阻抗。目标电源电压可以对应于相应电路块315的期望电源电压。更具体地,控制器325在减小块电源电压vblk与目标电源电压之间的差值的方向上基于电压码blk_code和目标电源电压来调节可变阻抗开关330的阻抗。例如,如果电压码vblk_code指示块电源电压vblk低于目标电源电压,则控制器325降低可变阻抗开关330的阻抗,以升高(上拉)块电源电压vblk。如果电压码vblk_code指示块电源电压vblk高于目标电源电压,则控制器325增加可变阻抗开关330的阻抗,以减小块电源电压vblk。在该示例中,控制器325通过相应地调节(更新)去往可变阻抗开关330的阻抗码imp_code来调节可变阻抗开关330的阻抗。

因此,控制器325基于块电源电压vblk的反馈来调节可变阻抗开关330的阻抗,以减小块电源电压vblk与目标电源电压之间的差值。以这种方式,控制器325在电路块315处在一系列负载条件下保持与目标电源电压接近的块电源电压vblk。

图4示出了根据本公开的某些方面的DSR 310的示例性实现。为便于说明,在图4中未示出相应的电路块315。

在该示例中,可变阻抗开关330包括传输场效应晶体管(FET)的多个集群470-1至470-n。每个集群可以包括耦合在电源轨305与相应电路块315之间的一个或多个传输FET以及用于每个传输FET的驱动器(标记为“Drvr”)。在图4所示的示例中,每个传输FET用P沟道FET(PFET)实现,其中相应的驱动器将传输FET的栅极驱动为低,以导通传输FET,以及将传输FET的栅极驱动为高,以关断传输FET。在图4所示的示例中,可变阻抗开关330包括512个集群(标记为“集群0”至“集群511”),但是应当理解,可变阻抗开关330可以包括不同数目的集群。

可变阻抗开关330还包括编码器460,编码器460被配置为从控制器325接收阻抗码imp_code并且基于阻抗码imp_code控制被接通的集群的数目。例如,阻抗码imp_code可以是指定要接通的集群的数目的多位值。在该示例中,编码器460接通由阻抗码imp_code指定的集群的数目。例如,如果阻抗码imp_code是200,则编码器460可以接通集群0至200,其余集群211至511关断。阻抗码imp_code的值越大,接通的集群的数目越大,因此可变阻抗开关330的阻抗越低。阻抗码imp_code的值越小,接通的集群的数目越小,因此可变阻抗开关330的阻抗越高。因此,在该示例中,控制器325通过增加阻抗码imp_code来减小可变阻抗开关330的阻抗,并且通过减小阻抗码imp_code来增加可变阻抗开关330的阻抗。

在图4所示的示例中,编码器460具有从控制器325接收阻抗码imp_code的输入(标记为“in”)。编码器460还具有多个输出462,其中输出462的数目等于集群的数目,并且每个输出462耦合到相应集群。在该示例中,编码器460可以通过在相应输出上输出逻辑1来接通特定集群,并且通过在相应输出上输出逻辑0来关断集群。因此,在该示例中,编码器460将输入阻抗码imp_code转换为在输出462上输出的温度计码。温度计码的每个位对应于相应集群,并且位的值控制相应集群是接通还是关断。例如,如果阻抗码imp_code是200,则编码器460可以向集群0至200中的每个输出逻辑1以接通集群0至200,并且向其余集群211至511中的每个输出逻辑0。

在图4中的示例中,ADC 320包括分压器和多个比较器410-1至410-7。在该示例中,分压器利用耦合在电源轨305与地之间的电阻器梯来实现,其中电阻器梯包括串联耦合的多个电阻器r1至r8。电阻器梯在多个节点中的每个节点处生成不同的参考电压,其中每个节点位于电阻器梯中的两个相邻电阻器之间。在图4中,由电阻器梯生成的参考电压标记为v1至v7,其中每个参考电压是电源电压vrail的不同部分。

比较器410-1至410-7中的每个比较器具有耦合到参考电压v1至v7中的相应参考电压的第一输入(-)和耦合到块电源电压vblk的第二输入(+)。每个比较器被配置为将相应的参考电压与块电源电压vblk进行比较,并且基于该比较输出逻辑1或0。例如,每个比较器可以被配置为如果块电源电压vblk等于或大于相应参考电压则输出1,并且如果块电源电压vblk低于相应参考电压则输出0。比较器410-1至410-7的输出提供上面讨论的电压码vblk_code,电压码vblk_code是块电源电压vblk的数字表示。

在这方面,图5是示出根据块电源电压vblk的电压电平变化的电压码vblk_code的示例的曲线图。当块电源电压vblk低于第一参考电压v1时,所有比较器410-1至410-7输出零,从而产生“0000000”的电压码vblk_code。当块电源电压vblk在第一参考电压v1与第二参考电压v2之间时,第一比较器410-1输出1,而其余比较器输出0,从而产生“0000001”的电压码vblk_code。当块电源电压vblk在第二参考电压v2与第三参考电压v3之间时,第一比较器410-1和第二比较器410-2输出1,而其余比较器输出0,从而产生“0000011”的电压码vblk_code,以此类推。当块电源电压vblk高于第七参考电压v7时,所有比较器410-1至410-7输出1,从而产生“1111111”的电压码vblk_code。因此,ADC 320将块电源电压vblk转换为电压码vblk_code,其中块电源电压vblk被量化为图5所示的示例中的八个数字值之一。

在图5中的示例中,参考电压v1至v7不均匀地间隔开。如下面进一步讨论的,这样做是为了提供接近目标电源电压的更高分辨率(即,更小的量化步长)。

应当理解,ADC 320不限于图5所示的实例。例如,ADC 320可以包括电阻器梯中的不同数目的电阻器和不同数目的比较器。

在图4中的示例中,控制器325包括解码器420、多路复用器430和累加器440。多路复用器430具有多个输入(标记为“a”至“h”),其中每个输入接收多个调节值中的不同调节值。每个调节值表示对在可变阻抗开关330中接通的集群的数目的不同调节。例如,多路复用器340的输入c处的值+2对应于接通的集群的数目增加2,多路复用器340的输入d处的值+8对应于接通的集群的数目的增加8,以此类推。多路复用器340的输入b处的值-2对应于接通的集群的数目的减少2,并且多路复用器340的输入a处的值-4对应于接通的集群的数目的减少4。通常,负调节值对应于接通的集群的数目的减少(这增加了可变阻抗开关330的阻抗),并且正调节值对应于接通的集群的数目的增加(这降低了可变阻抗开关330的阻抗)。多路复用器430被配置为在解码器420的控制下选择调节值之一,并且将所选择的调节值输出到累加器440,如下面进一步讨论的。

在操作中,解码器420从ADC 320接收电压码vblk_code,并且基于电压码vblk_code和目标电源电压选择调节值之一。目标电源电压可以对应于ADC 320的参考电压v1至v7之一。例如,目标电源电压可以对应于第六参考电压v6。在该示例中,解码器420可以通过基于电压码vblk_code确定块电源电压是高于还是低于第六参考电压v6来确定块电源电压vblk是高于还是低于目标电源电压,并且相应地选择调节值之一。

例如,如果块电源电压vblk的样本的电压码vblk_code指示块电源电压vblk高于第六参考电压v6(即,在该示例中为目标电源电压),则解码器420基于电压码vblk_code选择负调节值之一以增加可变阻抗开关330的阻抗。例如,如果电压码vblk_code是“0111111”(指示块电源电压vblk在第六参考电压v6与第七参考电压v7之间),则解码器420选择调节值-2,并且如果电压码vblk_code是“1111111”(指示块电源电压vblk高于第七参考电压v7),则解码器420选择调节值-4。

如果块电源电压vblk的样本的电压码vblk_code指示块电源电压vblk低于第六参考电压v6(即,在该示例中为目标电源电压),则解码器420基于电压码vblk_code选择正调节值之一,以降低可变阻抗开关的阻抗。在这方面,如果电压码vblk_code指示块电源电压vblk低于第六参考电压v6较大量,则解码器420选择较大的调节值。例如,如果电压码vblk_code是“0011111”(指示块电源电压vblk在第五参考电压v5与第六参考电压v6之间),则解码器420选择调节值+2,如果电压码vblk_code是“0001111”(指示块电源电压vblk在第四参考电压v4与第五参考电压v5之间),则解码器420选择调节值+8,以此类推。图6示出了针对该示例的将电压码vblk_code的不同值中的每个映射到对应的调节值的表。

解码器420指示多路复用器430选择所选择的调节值。作为响应,多路复用器430将所选择的调节值输出到累加器440。累加器440将所选择的调节值与阻抗码imp_code相加,阻抗码imp_code控制被接通的集群的数目。因此,通过所选择的调节值来调节阻抗码imp_code。例如,如果所选择的调节值是+8,则累加器将8与阻抗码imp_code相加,这将阻抗码imp_code增加8,因此将接通的集群的数目增加8。在另一示例中,如果所选择的调节值是-2,则累加器440从阻抗码imp_code中减去2,这将阻抗码imp_code减少2,因此将接通的集群的数目减少2。

在图4中的示例中,累加器440包括加法器442、限制器444和寄存器446。加法器442被配置为将来自多路复用器430的所选择的调节值与阻抗码imp_code相加,以生成已更新阻抗码imp_code。

限制器444被配置为将来自加法器442的已更新阻抗码imp_code限制为限制值。如果已更新阻抗码imp_code低于限制值,则限制器444将已更新阻抗码imp_code从加法器442传递到寄存器446。如果已更新阻抗码imp_code等于或高于限制值,则限制器444将限制值输出到寄存器446作为已更新阻抗码imp_code。在一个示例中,限制值可以对应于可变阻抗开关330中的集群的数目,以将已更新阻抗码imp_code限制为可变阻抗开关330中的集群的数目。在另一示例中,限制值可以是等于或低于寄存器446的最大值,以防止寄存器446溢出。

寄存器446被配置为在时钟信号(标记为“clk”)的上升沿锁存来自限制器444的已更新阻抗码imp_code,并且输出锁存的已更新阻抗码imp_code。

在图4中的示例中,时钟信号clk还用于对ADC 320和编码器460的操作进行定时。关于ADC 320,ADC 320中的比较器410-1至410-7中的每个比较器被配置为在时钟信号clk的上升沿将相应的参考电压与块电源电压vblk进行比较,并且基于该比较输出逻辑1或0。因此,在该示例中,ADC 320在时钟信号clk的上升沿采样块电源电压vblk,并且将基于采样的块电源电压vblk的电压码vblk_code输出到控制器325。关于编码器460,编码器460被配置为在时钟信号clk的上升沿将阻抗码imp_code转换为温度计码,并且将温度计码输出到可变阻抗开关330中的集群470-1至470-n。

在某些方面,在对块电源电压vblk进行采样之后,ADC 320等待直到在取得块电源电压vblk的下一样本之前基于采样的块电源电压vblk调节可变阻抗开关330的阻抗。以这种方式,下一样本反映阻抗调节对块电源电压vblk的影响。这有助于保持DSR 310的循环传递函数的第一顺序。

在一些实施例中,DSR 310包括定时电路,定时电路被配置为对ADC 320的操作进行定时,使得ADC 320等待直到在取得块电源电压vblk的下一样本之前基于块电源电压vblk的当前样本调节可变阻抗开关330的阻抗。在这方面,图7示出了根据本公开的某些方面的其中DSR 310包括定时电路710的示例。定时电路710被配置为接收时钟信号clk,并且基于时钟信号clk生成时钟信号clk_1、clk_2和clk_3。

时钟信号clk_1被输入到ADC 320,以对通过ADC 320中的比较器410-1至410-7对块电源电压vblk的采样进行定时。例如,比较器410-1至410-7可以在时钟信号clk_1的上升沿对块电源电压vblk采样。

时钟信号clk_2被输入到累加器440的寄存器446,以对通过寄存器446对已更新阻抗码imp_code的锁存进行定时。例如,寄存器446可以在时钟信号clk_2的上升沿锁存已更新阻抗码imp_code,并且输出锁存的已更新阻抗码imp_code。

时钟信号clk_3被输入到编码器460,以基于来自累加器440的已更新阻抗码imp_code来对温度计码的生成进行定时。例如,编码器460可以在时钟信号clk_3的上升沿基于已更新阻抗码imp_code生成温度计码。

图8是示出时钟信号clk、clk_1、clk_2和clk_3的示例的时间线。在该示例中,对于输入到定时电路710的时钟信号clk的三个周期(时段),定时电路710针对时钟信号clk_1、clk_2和clk_3中的每个时钟信号传递时钟信号clk的三个脉冲中的不同脉冲。在图8中的示例中,定时电路710在周期c1期间传递时钟信号clk的三个脉冲中的第一脉冲以生成时钟信号clk_1,在周期c2期间传递时钟信号clk的三个脉冲中的第二脉冲以生成时钟信号clk_2,并且在周期c3期间传递时钟信号clk的三个脉冲中的第三脉冲以生成时钟信号clk_3。

因此,在该示例中,ADC 320在周期c1期间在第一脉冲的上升沿810上对块电源电压vblk进行采样,并且将基于采样的块电源电压vblk的电压码vblk_code输出到控制器325。解码器420基于电压码vblk_code选择调节值之一,多路复用器430将所选择的调节值输出到累加器440,并且累加器440的加法器442基于所选择的调节值更新阻抗码imp_code,以生成已更新阻抗码imp_code。

在周期c2期间在第二脉冲的上升沿820上,累加器440的寄存器446锁存已更新阻抗码imp_code,并且输出已更新阻抗码imp_code。这假定解码器420、多路复用器430、加法器442和限制器444足够快地操作,以使已更新阻抗码imp_code在周期c2期间在第二脉冲的上升沿820之前到达寄存器446的输入。

在周期c3期间在第三脉冲的上升沿830上,编码器460将已更新阻抗码imp_code转换为温度计码,并且将温度计码输出到集群470-1至470-n。集群中的驱动器驱动集群中的传输FET,以根据温度计码更新可变阻抗开关330的阻抗。

针对时钟信号clk的接下来的三个周期c4-c6重复上述过程,其中ADC 320在时钟信号clk的周期c4中在脉冲的上升沿840上取得块电源电压vblk的下一样本。在一个示例中,集群470-1至740-n中的传输FET在周期c4之前完成可变阻抗开关330的阻抗的更新。以这种方式,在周期c4中取得的块电源电压vblk的下一样本反映已更新阻抗对块电源电压的影响,其中已更新阻抗基于在周期c1中取得的样本。

在以上示例中,可变阻抗开关330的阻抗在时钟信号clk的三个周期中更新。换言之,可变阻抗开关330的阻抗的更新(调节)之间的时段近似等于时钟信号clk的三个周期。可变阻抗开关330的阻抗的更新之间的时段在图8中被称为“调节周期”。

在该示例中,可以通过增加时钟信号clk的频率来减少DSR 310的响应时间。这是因为,增加时钟信号clk的频率减少了时钟信号clk的周期时间(即,时钟信号clk的一个周期的时间),这减少了每个调节周期的时间(在上面的示例中的时钟信号clk的三个周期)。减小DSR 310的响应时间允许DSR 30更快地对块电源电压vblk的变化做出反应。

然而,时钟信号clk的周期时间(以及因此调节周期)可以减少多少是受限的。这是因为,周期时间需要为DSR 310的各种部件提供足够的时间,来完成基于采样的块电源电压更新可变阻抗开关330的阻抗的操作。

在某些方面,一个调节周期的时间可以被减少到时钟信号clk的两个时钟周期,以提高DSR 310的反应速度。这可以通过并行地对不同的调节值执行累加操作来实现,如下面进一步讨论的。

图9示出了控制器325包括多个累加器440-1至440-8的示例,其中累加器440-1至440-8中的每个累加器接收不同的调节值。在该示例中,多路复用器430的输入耦合到累加器440-1至440-8的相应输出,并且多路复用器430的输出耦合到编码器460。

在操作中,累加器440-1至440-8中的每个累加器用相应的调节值更新阻抗码imp_code,并且将对应的已更新阻抗码imp_code输出到多路复用器430。然后多路复用器430选择与由解码器420选择的调节值相对应的累加器的已更新阻抗码imp_code。例如,如果解码器420选择调节值-2,则多路复用器430选择累加器440-7的已更新阻抗码imp_code。这是因为,累加器440-7用调节值-2更新阻抗码imp_code。多路复用器430然后将所选择的已更新阻抗码imp_code输出到编码器460。因此,在该示例中,累加器并行地针对所有可能的调节值生成已更新阻抗码,并且多路复用器430选择与由解码器420选择的调节值相对应的已更新阻抗码。

累加器440-1至440-8中的每个累加器包括相应的加法器442-1至442-8、相应的限制器444-1至444-8、以及相应的寄存器446-1至446-1。每个累加器440-1至440-8的加法器442-1至442-8被配置为将相应调节值与来自多路复用器430的输出的阻抗码相加,以生成相应的已更新阻抗码。每个累加器440-1至440-8中的限制器444-1至444-8被配置为将相应的已更新阻抗码限制为限制值。每个累加器440-1至440-8中的寄存器446被配置为在时钟信号的上升沿上锁存来自相应限制器444的相应的已更新阻抗码,并且将相应的锁存的已更新阻抗码输出到多路复用器430。

在该示例中,定时电路910被配置为接收时钟信号clk,并且基于时钟信号clk生成时钟信号clk_1和clk_2。

时钟信号clk_1被输入到ADC 320,以对通过ADC 320中的比较器410-1至410-7对块电源电压vblk的采样进行定时。例如,比较器410-1至410-7可以在时钟信号clk_1的上升沿上对块电源电压vblk采样。

时钟信号clk_1也被输入到每个累加器440-1至440-8的寄存器446-1至446-8,以对通过寄存器对相应的已更新阻抗码的锁存进行定时。例如,每个寄存器446-1至446-8可以在时钟信号clk_1的上升沿锁存相应的已更新阻抗码,并且将相应的锁存的已更新阻抗码输出到多路复用器430。

时钟信号clk_2被输入到编码器460以基于来自多路复用器430的已更新阻抗码imp_code来对温度计码的生成进行定时。例如,编码器460可以在时钟信号clk_2的上升沿上基于已更新阻抗码imp_code生成温度计码。

图10是示出时钟信号clk、clk_1和clk_2的示例的时间线。在该示例中,对于输入到定时电路910的时钟信号clk的两个周期(时段),定时电路910针对时钟信号clk_1和clk_2中的每个时钟信号传输时钟信号clk的两个脉冲中的不同脉冲。在图10中的示例中,定时电路910在周期c1期间传递时钟信号clk的两个脉冲中的第一脉冲以生成时钟信号clk_1,并且在周期c2期间传递时钟信号clk的两个脉冲中的第二脉冲以生成时钟信号clk_2。

因此,在该示例中,ADC 320在周期c1期间在第一脉冲的上升沿1010上对块电源电压vblk进行采样,并且将基于采样的块电源电压vblk的电压码vblk_code输出到控制器325。另外,每个累加器440-1至440-7的寄存器446-1至446-7在周期c1期间在第一脉冲的上升沿1010上锁存相应的已更新阻抗码imp_code,并且将相应的已更新阻抗码imp_code输出到多路复用器430。这是可能的,因为累加器提前针对所有可能的调节值生成已更新阻抗码,因此不需要等待解码器420基于电压码vblk_code选择调节值之一。

在周期c1期间,解码器420基于采样的电压码vblk_code选择调节值之一,并且多路复用器430输出来自与所选择的调节值相对应的累加器的已更新阻抗码。多路复用器430将已更新阻抗码输出到编码器460。多路复用器430还将已更新阻抗码输出到累加器440-1至440-8的加法器442-1至442-8,使得加法器可以为下一调节周期生成已更新阻抗码。累加器可以在取得针对下一调节周期的块电源电压vblk的样本之前针对下一调节周期生成已更新阻抗码。

在周期c2期间在第二脉冲的上升沿1020上,编码器460将已更新阻抗码imp_code转换为温度计码,并且将温度计码输出到集群470-1至470-n。集群中的驱动器驱动集群中的传输FET,以根据温度计码更新可变阻抗开关330的阻抗。

针对时钟信号clk的接下来的两个周期c3和c4重复上述过程,其中ADC 320在周期c3中在脉冲的上升沿1030上取得块电源电压vblk的下一样本。

在以上示例中,可变阻抗开关330的阻抗在时钟信号clk的两个周期中更新。因此,在该示例中,DSR 310的调节周期近似等于时钟信号clk的两个周期,而不是前一示例中的时钟信号clk的三个周期。换言之,DSR 310的调节周期从时钟信号clk的三个周期减小到时钟信号clk的两个周期。调节周期的减少提高了DSR 310响应于负载电流瞬变的能力。

如上所述,ADC 320的参考电压v1至v7可以由电阻器梯生成,电阻器梯包括串联耦合在电源轨305与地之间的多个电阻器(例如,电阻器r1至r8)。在该示例中,参考电压v1至v7取决于电源轨305上的电源电压vrail。更具体地,参考电压v1至v7是电源电压vrail的不同部分,其中这些部分取决于电阻器r1至r8的电阻值。

在这方面,图11示出了电阻器r1至r8的电阻值的示例。在该示例中,电阻器梯的总电阻(即,电阻器r1至r8的电阻值之和)近似等于1000Ω。对于图11所示的示例性电阻值,第一参考电压v1等于0.80*vrail,第二参考电压v2等于0.835*vrail,第三参考电压v3等于0.86*vrail,第四参考电压v4等于0.88*vrail,第五参考电压v5等于0.895*vrail,第六参考电压v6等于0.90*vrail,第七参考电压v7等于0.905*vrail。对于其中目标电源电压对应于第六参考电压v6的情况,目标电源电压在该示例中近似等于0.90*vrail。因此,在该示例中,DSR 310调节可变阻抗开关330的阻抗,以在变化的负载条件下保持块电源电压vblk接近0.90*vrail。

在该示例中,相邻参考电压之间的间隔在目标电源电压(在该示例中为第六参考电压v6)附近较小。这样做是为了在目标电源电压附近提供更高的分辨率(更小的量化步长)。

由于目标电源电压对应于参考电压之一(例如,第六参考电压),因此目标电源电压是电源电压vrail的一部分(例如,0.90*vrail)。换言之,目标电源电压与电源电压vrail成比例。更具体地,目标电源电压近似等于p*vrail,其中p是比例因子,并且在图11所示的示例中等于0.90。

当DSR 310试图通过降低可变阻抗开关330的阻抗来上拉块电源电压vblk时,电源电压vrail可能由于提供电源电压vrail的配电网络(PDN)中的串联电感而暂时降低。如果目标电源电压是与电源电压vrail无关的固定电压,则电源电压vrail可能降至目标电源电压以下。在这种情况下,DSR 310将不能将块电源电压blk拉至目标电源电压,即使DSR 310接通可变阻抗开关330中的所有集群470-1至470-n,这可能导致块电源电压blk不稳定。如上所述,这种情况通过使目标电源电压与电源电压vrail成比例(例如,0.90*vrail)来避免。

当块电源电压vblk由于相应电路块315的电流负载的突然增加而大量下降时,可能发生块电源电压vblk的大电压降。如果DSR 310未能快速响应于电压降,择电压降可以导致块电源电压vblk降低到相应块315中的关键路径满足某些定时要求(例如,建立时间要求)所需要的最小电压以下,从而导致相应的块315发生故障。为了解决这个问题,控制器325可以被配置为积极地响应于块电源电压vblk的大电压降,如下面进一步讨论的。

在下面的讨论中,块电源电压vblk的电压降的幅度近似等于目标电源电压(例如,第六参考电压v6)减去块电源电压vblk。块电源电压vblk下降(降低)到目标电源电压以下的量越大,电压降的幅度越大。

在某些方面,参考电压v1至v6限定电压降的幅度范围。例如,使用图11所示的示例,第六参考电压v6和第五参考电压v5限定第一幅度范围为0到0.005*vrail(即,0.90*vrail减去0.895*vrail)。幅度小于0.005*vrail的电压降位于第一幅度范围内,并且产生的电压码vblk_code为0011111。第五参考电压v5和第四参考电压v4限定第二幅度范围为0.005*vrail到0.02*vrail(即,0.90*vrail减去0.88*vrail)。幅度在0.005*vrail到0.02*vrail之间的电压降位于第二幅度范围内,并且产生的电压码vblk_code为0001111。第四参考电压v4和第三参考电压v3限定第三幅度范围为0.02*vrail到0.04*vrail(即,0.90*vrail减去0.86*vrail)。幅度在0.02*vrail到0.04*vrail之间的电压降位于第三幅度范围内,并且产生的电压码vblk_code为0000111。第三参考电压v3和第二参考电压v2限定第四幅度范围为0.04*vrail到0.065*vrail(即,0.90*vrail减去0.835*vrail)。幅度在0.04*vrail到0.065*vrail之间的电压降位于第四幅度范围内,并且产生的电压码vblk_code为0000011。第二参考电压v2和第一参考电压v1限定第五幅度范围为0.065*vrail到0.10*vrail(即,0.90*vrail减去0.80*vrail)。幅度在0.065*vrail到0.10*vrail之间的电压降位于第五幅度范围内,并且产生的电压码vblk_code为0000001。最后,第一参考电压v1限定高于0.10*vrail的第六幅度范围。幅度大于0.10*vrail的电压降位于该范围内并且产生的电压码vblk_code为0000000。

在该示例中,第二幅度范围高于第一幅度范围(即,第二幅度范围中的电压高于第一幅度范围中的电压)。类似地,第三幅度范围高于第二幅度范围,第四幅度范围高于第三幅度范围,以此类推。

在该示例中,当电压降的幅度在第一幅度范围内时,控制器325选择调节值+2(将接通的集群的数目增加2)。在这种情况下,电压码vblk_code是0011111。当电压降的幅度在第二幅度范围内时,解码器420选择调节值+8。在这种情况下,电压码vblk_code是0001111。当电压降的幅度在第三幅度范围内时,解码器420选择调节值+16。在这种情况下,电压码vblk_code是0000111。当电压降的幅度在第四幅度范围内时,解码器420选择调节值+32。在这种情况下,电压码vblk_code是0000011。当电压降的幅度在第五幅度范围内时,解码器420选择调节值+64。在这种情况下,电压码vblk_code是0000001。最后,当电压降的幅度在第六幅度范围内时(即,在上例中高于0.10*vrail),解码器420选择调节值+128。在这种情况下,电压码vblk_code是0000000。

因此,当ADC 320在电压降期间对块电源电压vblk进行采样时,控制器325降低可变阻抗开关330的阻抗,以基于由对应的电压码vblk_code指示的下降的幅度来减小下降。例如,如果电压码vblk_code指示适度下降(例如,电压降的幅度在第二幅度范围内),则控制器325可以将接通的集群的数目增加8。如果电压码vblk_code指示大的下降(例如,电压降的幅度在第六幅度范围内),则控制器325通过将接通的集群的数目增加128来积极地响应于下降。

在某些方面,如果电压降的幅度在多个幅度范围中的第一幅度范围中,则控制器325将阻抗码调节第一量,并且如果电压降的幅度在多个幅度范围中的第二幅度范围中,则将阻抗码调节第二量,其中多个幅度范围中的第二幅度范围高于多个幅度范围中的第一幅度范围,并且第二量的幅度大于第一量的幅度。第二量的幅度可以是第一量的幅度的至少两倍。例如,使用上述示例,如果电压降的幅度在第二幅度范围内,则控制器325将阻抗码调节8。如果电压降的幅度在第三幅度范围内,则控制器325将阻抗码调节16。在另一示例中,如果电压降的幅度在第四幅度范围内,则控制器325将阻抗码调节32。如果电压降的幅度在第五幅度范围内,则控制器325将阻抗码调节64。

电源轨305经由配电网络(PDN)从电源(例如,功率管理集成电路(PMIC))接收功率。PDN通常包括电感(例如,封装电感)。PDN的电感和电路块315的电容形成具有特定谐振周期的谐振网络。为了稳定,期望避免激励谐振网络的谐振,这可能导致电源电压vrail的大振荡。如下面进一步讨论的,DSR 310通过与谐振周期相比对大电压过冲具有慢响应来减少网络谐振的激励。

当块电源电压vblk上升到目标电源电压(例如,第六参考电压v6)以上时,发生电压过冲。在过冲期间,解码器420基于块电源电压vblk的样本的电压码vblk_code来选择负调节值之一(例如,-2或-4)以增加可变阻抗开关330的阻抗。

为了有效地减轻电压降,DSR 310以小于谐振网络的谐振周期的响应时间对下降进行响应。这可以通过使DSR 310的调节周期(时段)小于谐振网络的谐振周期来实现。以这种方式,DSR 310能够在比谐振网络的谐振周期更短的时间内响应于下降而将可变阻抗开关330的阻抗减小相对大的量(例如,与调节值+32、+64或+128相对应的量)。因此,在该示例中,DSR 310快速响应于大电压降。

如果DSR 310还在比谐振周期更短的时间内响应于块电源电压vblk的大的过冲,则DSR 310有效地将能量添加到谐振网络,从而导致谐振网络振荡。为了减少谐振网络的振荡,根据某些方面,DSR 310可以被有意地配置为响应于比谐振周期慢的大过冲。这种方法导致块电源电压vblk在较长的持续时间内以较大的量保持在目标电源电压之上,与对大过冲具有快速响应的方法相比,这可能导致功耗的小幅增加。因此,消耗一点额外的功率以换取更多的稳定性。在下面的讨论中,电压过冲的幅度近似等于块电源电压vblk减去目标电源电压(例如,第六参考电压v6)。

在图4和7中的示例中,控制器325减少响应于大的过冲而以小步长接通的集群470-1至470-n的数目。更具体地,使用上述示例,控制器325响应于大的过冲(例如,幅度超过0.02*vrail的电压过冲)在每个调节周期中将接通的集群470-1至470-n的数目减少4。

相反,响应于大电压降(例如,幅度超过0.02*vrail的电压降),控制器325在每个调节周期中将接通的集群的数目增加16或更多。结果,与大的过冲相比,控制器325能够针对大电压降在每个调节周期将可变阻抗开关330的阻抗调节大得多的量,因此与大的过冲相比,对大电压降的响应要快得多。

例如,如果电压降的幅度为0.07*vrail,则控制器325在一个调节周期中将接通的集群的数目增加64。相反,如果电压过冲具有相同幅度0.07*vrail,则控制器325在一个调节周期中将接通的集群的数目减少4。因此,在该示例中,控制器325花费16个调节周期来将接通的集群的数目减少64,而响应于相同幅度的电压降,控制器325仅需要一个调节周期来将接通的集群的数目增加64。

在某些方面,控制器325响应于块电源电压vblk上的电压降在一时间段(例如,调节周期)内将阻抗码调节第一量,并且响应于块电源电压上的电压过冲在该时间段(例如,调节周期)内将阻抗码调节第二量,其中第一量的幅度大于第二量的幅度,并且电压降和电压过冲具有大致相同的幅度。在一个示例中,第一量的幅度是第二量的幅度的至少四倍。在另一示例中,第一量的幅度是第二量的幅度的至少十倍。例如,使用上述示例,对于幅度为0.7*vrail电压降,控制器325在该时间段(调节周期)中将阻抗码增加64。对于具有相同幅度0.07*vrail的电压过冲,控制器325在该时间段(调节周期)中将阻抗码减小4。在该示例中,电压降的调节量的幅度是64,并且电压过冲的调节量的幅度是4。

如图4和7所示,可变阻抗开关330中的传输FET被分成集群470-1至470-n。在某些方面,对每个集群进行加权,使得无论启用(接通)多少集群,接通或关断一个集群都将可变阻抗开关330的阻抗改变大致固定的百分比(例如,2%)。例如,参考图4中的示例,如果集群0至200被接通,则接通集群201将阻抗减小大致固定的百分比。如果集群0至300被接通,则接通集群301会使阻抗减小大致固定的百分比。通常,接通一个集群会将阻抗降低大致固定的百分比,关断一个集群会使阻抗增加大致固定的百分比。

例如,可以通过在集群之间分配传输FET以实现期望权重来对集群进行加权。在该示例中,传输FET的数目超过了集群的数目。

该加权允许DSR 310的响应大致独立于负载电流。例如,假定vdelta的电压等于电源电压vrail与目标电源电压之间的差值。在该示例中,如果块电源电压vblk电压比目标电源电压低vdelta的10%,则控制器325可以通过将接通的集群的数目增加10%除以固定百分比来将可变阻抗开关330的阻抗减小10%,以校正块电源电压vblk。如果PDN是严格电阻性的,则这一次校正将是校正块电源电压vblk所需要的全部校正。

当DSR 310试图通过降低可变阻抗开关300的阻抗来升高块电源电压vblk时,电源轨305上的电源电压vrail可能因为PDN中作用类似于高阻抗的串联电感而被下拉。然而,由于电感通常很小,所以电源电压vrail很快被拉高。这种效应被称为电感瞬变。

为了增加DSR 310的采样频率,期望ADC 320在可变阻抗开关330的阻抗已经基于块电源电压vblk的先前样本改变之后立即采样块电源电压vblk。然而,当电源电压由于电感瞬变而暂时过低时,这可能导致对块电源电压vblk进行采样。由于参考电压与图4和7中的示例中的电源电压vrail成比例,由于电感瞬变而引起的电源电压vrail的临时减小可能导致参考电压的暂时降低。反过来,这可能导致对应的电压码vblk_code高于没有电感瞬变时的电压码。

为了避免在电源电压vrail暂时过低时采样,可以在电源电压vrail从电感瞬变恢复之后对块电源电压vblk进行采样。然而,这降低了DSR 310的采样频率。

为了在减小电感瞬变的影响的同时增加采样频率,控制器325可以根据某些方面执行以下操作。如果在给定调节周期中可变阻抗开关的阻抗减小了相当大的量,则解码器420可以在下一调节周期中将来自ADC 320的电压码vblk_code数字地移位,以补偿电感瞬变。该移位可能产生大致与在电感瞬变之后已经对块电源电压vblk进行采样时将生成的电压码相匹配的电压码。

例如,当电压码vblk_code等于或低于指示等于或高于阈值的大调节值被选择的特定值(例如,0001111或更低)时,解码器420可以确定可变阻抗开关的阻抗减少了相当大的量。在这种情况下,解码器420可以设置标志,该标志指示应当补偿块电源电压vblk的下一样本的电感瞬变。

当ADC 320在下一调节周期对块电源电压vblk进行采样时,该标志引起解码器420数字地移位对应的电压码vblk_code以补偿电感瞬变。例如,解码器420可以将电压码vblk_code向下移位1。例如,如果电压码vblk_code是0011111,则解码器420可以在该示例中将电压码移位至0001111。然后,解码器420可以使用移位(补偿)后的电压码来选择阻抗码的调节值。向下移位电压码vblk_code补偿了电感瞬变,因为电感瞬变导致电压码高于在没有电感瞬变的情况下的电压码,如上所述。

在某些方面,DSR 310可以以所有集群470-1至470-n都被接通的完全接通模式进行操作。在该模式下,块电源电压vblk近似等于电源电压vrail。例如,当相应的电路块315以需要在轨305上的电源电压vrail上操作的高时钟频率操作时,DSR 310可以被置于该模式。在该模式下,编码器460可以接通所有集群,而不管阻抗码如何。当DSR 310未处于完全接通模式时,DSR 310可以基于目标电源电压来调节块电源电压vblk,如上所述。例如,这可以在相应的电路块310以较低的时钟频率操作时进行,该较低的时钟频率允许相应的电路块310以低于轨305上的电源电压vrail的电源电压操作,以降低功耗。在这些方面,DSR 310可以接收控制信号,该控制信号控制DSR 310是否将在完全接通模式下操作。

图12示出了ADC 320包括用于生成参考电压v1至v7的数模转换器(DAC)1210的示例。在该示例中,DAC 1210由电源轨上的电源电压vrail供电。DAC 1210被配置为接收数字参考控制信号,并且基于参考控制信号设置参考电压v1至v7。每个参考电压是电源电压vrail的不同部分。换言之,每个参考电压通过不同的比例因子(比率)与电源电压vrail成比例。在该示例中,参考控制信号设置参考电压v1至v7的比例因子。

DAC 1210允许功率管理器(未示出)通过相应地改变参考控制信号来改变参考电压v1至v7的比例因子。例如,功率管理器可以基于电路块310的时钟频率改变目标电源电压,如上所述。在该示例中,功率管理器可以改变参考电压v1和v7的设置,使得第六参考电压v6被设置为新的目标电源电压(例如,0.75*vrail或其他比率)。参考电压v1至v5可以根据用于响应于电压降的期望幅度范围来设置。

图13是示出根据本公开的某些方面的用于调节可变阻抗开关(例如,可变阻抗开关330)的阻抗的方法1300的流程图。可变阻抗开关耦合在电源轨(例如,电源轨305)与电路块(电路块315)之间,并且可变阻抗开关的阻抗由输入到可变阻抗开关的阻抗码设置。

在步骤1310,将电路块处的块电源电压转换为电压码。例如,可以通过ADC(例如,ADC 320)将块电源电压(例如,vblk)转换为电压码(例如,vblk_code)。

在步骤1320,在减小块电源电压与目标电源电压之间的差值的方向上基于电压码来调节阻抗码。例如,如果电压码指示块电源电压低于目标电源电压,则可以调节阻抗码以降低可变阻抗开关的阻抗。如果电压码指示块电源电压高于目标电源电压,则可以调节阻抗码以增加可变阻抗开关的阻抗。

应当理解,本公开的实施例不限于以上给出的示例。例如,尽管在上面给出的示例中ADC 320在时钟信号的上升沿上对块电源电压vblk进行采样,但是应当理解,ADC 320可以在时钟信号的下降沿上对块电源电压vblk采样。通常,ADC 320在时钟信号的有效边沿对块电源电压vblk采样,该有效边沿可以是上升沿和/或下降沿。而且,应当理解,本公开的实施例不限于上面给出的示例性参考电压和电阻值,并且可以具有不同的参考电压和/或电阻值(例如,取决于期望的目标电源电压、ADC的期望的量化步长大小等)。而且,应当理解,解码器420不限于将电压码移位1以补偿电感瞬变,并且可以根据电感瞬变对电压码的影响将电压移位不同的量(例如,2)。

上面讨论的控制器325可以用被设计为执行本文所述功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑器件、分立硬件部件(例如,逻辑门)或其任何组合来实现。处理器可以通过执行包括用于执行功能的代码的软件来执行本文所述的功能。软件可以存储在计算机可读存储介质上,诸如RAM、ROM、EEPROM、光盘和/或磁盘。

在本公开内容内,词语“示例性”用于表示“用作示例、实例或说明”。本文中描述为“示例性”的任何实现或方面不一定被解释为比本公开的其他方面优选或有利。同样,术语“方面”不要求本公开的所有方面包括所讨论的特征、优点或操作模式。术语“耦合”在本文中用于指代两个部件之间的直接或间接耦合。术语“电路”被广泛使用,并且旨在覆盖当连接和配置时能够执行本公开中描述的功能的电气设备和导体的硬件实现。术语“电路”还旨在涵盖软件实现,其中处理器通过执行包括用于执行功能的代码的软件来执行本文所描的功能。软件可以存储在计算机可读存储介质上,诸如RAM、ROM、EEPROM、光盘和/或磁盘。

应当理解,本公开不限于本文中公开的方法中的步骤的特定顺序或层次。应当理解,可以基于设计偏好重新排列方法中的步骤的特定顺序或层次。所附方法权利要求以样本顺序呈现各个步骤的要素,而非表示限于所呈现的特定顺序或层次,除非具体叙述。

提供对本光刻的先前描述是为了使得所属领域的技术人员能够制作或使用本公开。对于本领域技术人员来说,对本公开的各种修改是很清楚的,并且在不脱离本公开的精神或范围的情况下,本文中限定的一般原理可以应用于其他变型。因此,本公开不旨在限于本文中描述的示例,而是与符合本文中公开的原理和新颖特征的最宽范围相一致。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1