一种基于电压轨快速切换的DVFS 控制器设计
2020-05-20李航
李航
(上海交通大学微纳电子学系,上海 200240)
0 引言
动态调频调压(Dynamic Voltage and Frequency Scaling,DVFS)技术能够根据电路的工作负载变化,动态地调节电路的工作电压和频率,从而在满足电路性能要求的前提下,有效降低电路的功耗和能耗[1-2]。为了保证电路在电压频率调节期间的时序正确,DVFS 调高电压频率时先升压后升频,DVFS 调低电压频率时先降频后降压。如图1 所示,在电压转换时间内,电路不得不工作在一个较低的时钟频率,带来不必要的能耗和性能损失。目前,多数数字集成电路使用基于电感调制的片外DC-DC 降压转换器来提供可编程的电源电压[3-4]。片外DC-DC 降压转换器的电压转换时间很长,一般在微秒甚至毫秒数量级。较长的电压转换时间带来了显著的能耗和性能损失。
图1 电压转换时间带来的能耗和性能损失[5]
在这种情况下,许多旨在加快调压速度的设计方法被提出。文献[6]在片上集成了基于开关电容的调压模块,降低了电压转换时间,但是它的开关电容只能调制3 个电压值,而且输出电压纹波较大,不得不设计自适应的时钟频率保证电路时序正确。文献[7]在众核处理器中实现了一种双电压轨切换的调压电路,两个电压之间的转换时间缩短到纳秒级别,但是,其可调的电压值只有2 个,可调电压数目受限于电压轨的数目。
为了提高DVFS 的电压调节速度,减小因电压转换时间带来的能耗或性能损失,本文提出了一种基于切换电压轨的DVFS 技术。当需要调压时,DVFS 把负载电路切换到一个电压恒定的电压轨上工作,同时控制片外DC-DC 模块改变另一个电压轨的电压值。等待DC-DC 模块调压完成后,DVFS 再把负载电路切换到目标电压的电压轨上。本文提出的DVFS 技术,结合片内切换电压轨调压和片外DC-DC 模块调压两种方式,在保证可调电压变化的灵活性的同时,缩短了电压转换时间,降低了负载电路的能耗和性能损失。
1 DVFS控制电路设计
快速切换电压轨会带来噪声问题,这种噪声包括电压轨的电压下冲和负载电路的电压波动。对于电压轨而言,接通一个新的负载电路时的过冲电流会导致电压轨出现过大的压降,可能影响该电压轨上的其他上电模块的功能。过冲电流主要来源于电压轨对去耦电容的充放电过程。这种压降噪声和电压轨导通速度相关,延长切换电压轨的时间,可以减小噪声。
对于负载电路来说,切换电压轨时,如果还没有完全关掉负载电路与当前电压轨的连接,就开始导通负载电路与目标电压轨的连接,则可能在一段时间内负载电路同时连接两个不同电压的电压轨,导致这两个不同电压的电压轨之间的短路电流,进而带来额外能耗和电流噪声。因此,切换电压轨时,必须要留有把负载电路和两个电压轨同时断开的间隙时间。但如果间隙时间过长,负载电路的漏电流导致其虚电压轨的电压降,可能丢失负载电路中的数据。因此,间隙时间应该较短。
本文设计了一种基于双电压轨切换的DVFS 控制电路,切换时间可以由软件动态配置,以满足负载电路对切换速度和电压噪声的不同要求。该设计采用一个自定时的切换衔接电路实现较短的切换间隙时间。本设计提出的两组电压轨由恒压轨和变压轨组成,恒压轨的电压恒定为电路性能需求的最高电压,变压轨的电压来自片外DC-DC 降压转换器的调制。面向低功耗应用的电路普遍采用了多电压域设计[8],其中至少有一个电压域的电压恒定,为一些模拟电路和存储器模块供电。因此,本设计中的恒压轨可以复用多电压域电路设计中的恒压域的电压轨,避免了增加电压轨带来的布局布线的复杂度。
图2 双电压轨切换控制电路
图2 是本设计的双电压轨切换控制电路,包括切换衔接电路(Link)、电源门控电路(Power Gate)、检测电路(Check)。两个电源门控电路分别耦合恒压轨(VDDH)和虚电压轨(VDD)、变压轨(VDDX)和虚电压轨(VDD),切换衔接电路控制两个电源门控电路的开关顺序,检测电路检测电压轨切换是否完成。输入信号switch 用于选择恒压轨或变压轨,输入信号rate 用于配置电源门控电路的开关速度,输出信号switch_done 用于指示电压轨切换是否完成。
1.1 电源门控电路
两个电源门控电路分别耦合恒压轨和虚电压轨、变压轨和虚电压轨,由多组PMOS 门控管和缓冲器组成。每个电源门控电路包括16 个门控单元(Group),前后级联。其中,前8 个门控单元的每个单元包括24个PMOS 管,相邻PMOS 管之间都设置三级缓冲器连接。这些PMOS 管在耦合电压轨时会被先打开,因此管子尺寸较小、缓冲器延迟较大以减小电压噪声。后8个门控单元的每个单元包括8 个PMOS 管,管子尺寸较大,相邻PMOS 管之间都设置一级缓冲器连接。门控单元之间插入的多路选择器接收rate 的信号,用于控制门控单元的开关速度。如图3 所示,当rate=0 时,门控单元只能被逐个开或关,当rate=1 时,相邻两组PMOS 单元可以被同时开或关,当rate=2 时,相邻三组PMOS 单元可以被同时开或关,以此类推。
图3 门控单元开关速度的控制结构
1.2 切换衔接电路
图4 是本设计采用的切换衔接电路。输入信号switch 发生翻转时,切换衔接电路首先向当前处于导通状态的电源门控电路发出关断信号(将s1 或者s2 置1)。当接收到电源门控电路被完全关断的信号(t1 或t2)后,切换衔接电路向另一个电源门控电路发出导通信号(将 s2 或者 s1 置 0)。电路复位后,控制信号switch 为0。切换衔接电路的左侧输出是0,右侧输出是1。当switch 跳变为1 时,只有左侧的异或门可以输出高电平脉冲,引发对应的D触发器输出信号s1 状态翻转为1。当这个高电平信号经过s1 连接的整个电源门控电路后,反馈到输入信号t1,引起右侧D 触发器的输出s2 翻转为0。因此,该切换电路的设计保证了总是先关断一个电压轨后导通另一个电压轨的顺序,避免了短路电流的问题。
图4 切换衔接电路
本设计的切换衔接电路提供了较短的间隙时间。这个间隙时间是从输入信号t1(或t2)到输出信号s2(s1)的组合路径延时,如图4 中的虚线所示,即两个与门、一个或门、一个D 触发器和一个反相器的延时。这个时间即为两个电压轨和负载电路同时断开的时间。该组合路径的延迟时间足够短,不会引发负载电路的数据丢失问题。
2 DVFS调节策略设计
本文提出的调节策略,充分利用双电压轨的冗余性,在片外DC-DC 调压时间内,通过切换电压轨,使电路工作在一个恒定的电压下。根据负载电路当前耦合的电压轨类型和目标电压值,本文设计了具体的调节方法。当目标电压正好是当前两电压轨的电压值时,直接切换电压轨调压。否则,需要判断负载电路当前耦合的电压轨类型。如果当前耦合恒压轨,则保持当前的耦合状态,同时控制片外DC-DC 调节变压轨的电压值为目标电压值,等待片外调压完成后,切换电压轨。如果当前耦合变压轨,则先把负载电路切换到恒压轨,同时控制片外DC-DC 调节变压轨的电压值为目标电压值,等待片外调压完成后,切换电压轨。
3 仿真结果与分析
本文基于TSMC 28nm 工艺库完成了电压轨切换控制电路设计,使用Verilog 和Verilog-a 语言完成了DVFS 控制模块(DVFS Controller)、负载电路(32bit Adder)和DC-DC 模块的建模,使用Ultrasim 软件仿真了本文提出的DVFS 控制器和传统DVFS 控制器对负载电路的性能和能耗的影响。为了综合评估负载电路的性能和能耗,本文能耗-延时积(Energy-Delay Product,EDP)作为衡量指标。图5 分别是本文的DVFS 控制器仿真电路和传统DVFS 控制器仿真电路。
图5 仿真电路
本文设计了4 种电压频率档位(1 档到4 档,电压频率值依次降低)作为DVFS 控制器的测试激励。片外调压的时间和调压幅度与DC-DC 模块有关。本文采用德州仪器公司的DC-DC 调压芯片——TPS62363的数据作为仿真所用的DC-DC 模型参数,其电压调节速率为32mV/us。
图6 切换电压轨得到的EDP降幅
当目标电压正好是当前两电压轨的电压值时,本文的DVFS 控制器直接切换电压轨调压,传统DVFS 控制器通过片外DC-DC 模块调压。本文仿真了两种DVFS 控制器将负载电路在4 种电压频率档位之间切换时执行相同的计算任务的能耗-延时积。图6 是在各种档位之间调节时,本文的DVFS 控制器调节相比传统DVFS 控制器调节的负载电路能耗-延时积的降幅。结果表明,电压调节幅度越大,能耗-延时积降幅越高。在1 档位和4 档位之间调压时,电压调幅最大,升压和降压调节能耗-延时积分别可以降低73.9%和33.4%。
当目标电压不是当前两电压轨的电压值时,根据不同的当前档位和目标档位,共有9 种具体调节情形。本文仿真了全部调节情形在两种DVFS 控制器调节下的负载电路的能耗-延时积,结果如表1 所示。仿真表明,在全部9 种调节情形中,负载电路在本文提出的DVFS 控制器调节下的能耗-延时积更低,能耗-延时积的平均降幅达到29.74%。
表1 两种调节方法下的负载电路的能耗-延时积
4 结语
本文分析了利用切换电压轨调压的调节速度优势和需要解决的电压噪声问题,设计了可以把负载电路在两个电压轨之间稳定快速切换的控制电路。基于设计的电压轨切换控制电路,本文提出了结合电压轨切换和DC-DC 调节两种手段的DVFS 混合调节策略。仿真结果表明,本文的DVFS 控制器显著降低了负载电路在调节期间的能耗-延时积,平均降幅达到了29.74%。