面向超宽电压的在线监测单元及监测窗口自适应调节系统
技术领域
本发明涉及集成电路设计低功耗技术领域,尤其是基于在线时序监测的自适应电压频率调节技术领域。
背景技术
随着集成电路(IC)工艺尺寸逐渐缩小,芯片单位面积上的功耗也逐步上升,功耗成为IC设计中除了性能、面积外必须考虑的重要因素。近些年,宽电压电路(工作范围涵盖近阈值到常规电压区)设计被提出,可以根据实际性能需求宽范围地动态调节电压,以最大化节省功耗。
另一方面,随着工艺越来越先进,工艺、电压、温度(Process-Voltage-Temperature,
PVT)等偏差对IC设计的影响越来越大。芯片工作时必须考虑PVT偏差对电路时序的不利影响,以保证其能在最坏情况(worst-case)下正常工作,“最坏情况”是指对电路时序造成负面影响的各种不利因素同时出现的情况。在数字IC设计中,PVT偏差等因素对电路的影响都可归结为路径延时的变化。
为了应对不确定的PVT偏差对电路性能的影响,传统电路设计中会留出一定的电压余量。然而,造成最坏情况的种种不利因素在实际情况中却很少甚至不会同时发生,这就使所设定的工作电压过于保守。在线时序监测技术通过在电路中加入片上时序监测单元,实时监测PVT偏差对关键路径时序的影响,并根据监测的信息自适应地调节工作电压,可以降低甚至消除电压余量,从而最大限度地降低功耗。在线时序监测技术主要可以分为出错改错型和时序预测型两类。其中,时序错误预测型监测单元由于不需要额外增加系统级的恢复机制而具有优势,它通过在关键的数据路径上人为的添加额外的延迟,来预测电路可能的时序紧张,从而可以提前进行电压、频率调节,防止真正出错。
在面向超宽电压范围调节时,由于低电压下电路延时变化受到各种偏差的影响更大,普通的监测单元通常具有固定的结构,其监测窗口在低电压下存在无法覆盖住偏差的问题,从而使监测单元无法完成既定的监测任务。
发明内容
发明目的:针对上述宽电压集成电路的基于在线时序监测的自适应电压调节系统所存在的问题和不足,本发明的目的是设计一种超宽电压下能够有效监测电路时序的监测单元,其监测窗口的大小可以根据工作电压范围及PVT情况自适应的调节,为此本发明还提供了一种具备自适应调整功能的监测窗口调节系统。
技术方案
为实现上述发明目的,本发明设计了一种面向超宽电压的在线监测单元及其监测窗口自适应调节系统,该在线监测单元在传统监测单元的基础上增加了延时大小可调的延时单元,其调节由监测窗口自适应调节系统实现。
所述在线监测单元由一个主触发器、一个影子锁存器、一个异或门以及一个延时单元组成。在线监测单元的输入信号连接到主触发器的输入端以及延时单元的输入端,主触发器的输出端连接到异或门的第一输入端口,延时单元的输出端连接到影子锁存器的数据输入端,影子锁存器的输出端连接到异或门的第二输入端口,异或门的输出端为该在线监测单元输出的错误预测信号。
当输入信号到达时间较晚,接近下一个时钟周期的上升沿时,影子锁存器由于被延时单元延迟一段时间Tw而输出不同于主触发器的信号,此时在线监测单元输出的错误预测信号为高电平。
延时单元由可配延时链组成,其延时时间即为监测窗口时间Tw,可根据超宽电压下不同工作环境的需求配置监测窗口的大小。监测窗口大小的调节通过配置可配延时链的控制位完成,可配延时链由若干缓冲器单元和多路选择器单元组成,通过配置多路选择器Mux的控制位的值来使输入数据经过不同数量的缓冲器,产生不同大小的延时时间。
监测窗口自适应调节系统则主要包括三部分:片上PVT检测单元(PVTM)、可配延时链和调节译码器。片上PVT检测单元实时检测当前PVT情况,检测信息经过计数器采样后得到PVTM计数器值Count信号,输出到调节译码器中;调节译码器生成控制可配延时链延时的控制信号,连接到可配延时链中的多路选择器(Mux)的控制端口,完成延时大小的自动配置。调节译码器的作用是将PVT检测单元输出的计数器值转变为可配延时链中Mux的控制信号,其构成是一个查找表,输入的检索变量是PVTM的Count值,输出的结果是Mux配置值。
监测窗口自适应调节系统中的片上PVT检测单元包括三部分:控制电路、由反相器组成的环形振荡器和计数采样单元。控制电路的作用是产生其他模块所需要的控制信号,包括环形振荡器的起振信号,计数器的使能信号,计数器的复位信号和计数结果的采样时钟。
监测窗口调节系统中的环形振荡器的周期直接反映片上PVT的影响,由N(N>=2,偶数)个反相器和1个与非门首尾相连组成,与非门的作用是为了起振,与非门的第一输入端连接第N个反相器的输出端,第二输入端连接到控制电路输出的起振信号端。
计数采样单元由计数器和采样单元组成,计数器的目的是采样环形振荡器的振荡周期,计数器的时钟端连接到环形振荡器的输出端,计数器的输出端送入采样单元的输入端。采样单元在采样时钟的触发沿对计数器的结果进行采样,输出Count信号,此时环形振荡器停止振荡,当系统完成计数器采样时对计数器进行复位,重新开始下一轮的计数和采样。
调节译码器的查找表是通过对可配延时链和片上PVT检测单元计数器的标定来建立,标定过程有如下步骤:
第一步:仿真测量在各种PVT环境下PVTM计数器的输出值,得到PVT环境与PVTM计数器值的对应表;
第二步:仿真测量各种PVT环境下所需要的最优化监测窗口大小,推算出可配延时链所需最接近的缓冲器级数,并相应的算出此时Mux的控制位,从而得到PVT环境与Mux的控制位的对应表;
第三步:将上述两张表融合在一起,得到各个PVTM计数器值所对应的监测窗口可配延时链的Mux控制位值,即为调节译码器中的查找表。
有益效果:本发明的自适应电压调节系统能根据在线时序监测单元监测PVT偏差对时序的影响来调节电路工作电压,当时序宽松时可以降低电压,因此能够有效降低传统集成电路设计中预留的时序余量,从而降低电路功耗。在面向超宽电压工作范围时,由于低电压下延时变化受到各种偏差的影响更大,本发明克服了普通的监测单元面临的无法覆盖住偏差的问题,可根据不同工作电压及PVT下的变化的需求对监测窗口大小进行调节,以便准确捕捉电路时序违规情况,尽可能实现时序余量的最小化,从而保证有较高的功耗收益。
附图说明
图1为监测单元结构图
图2为监测窗口Tw自动调节电路
图3为片上PVT检测单元结构图
图4常规电压下芯片自适应电压调节效果
图5低电压下芯片自适应电压调节效果
具体实施方式
下面结合附图说明对本发明技术方案进行详细说明,但是本发明的保护范围不局限于所述实施例。
如图1所示,超宽电压下工作的监测窗口大小可配的在线监测单元主要包括:一个主触发器,一个影子锁存器,一个异或门以及可配延时链四个部分。当输入信号到达时间较晚,接近下一个时钟周期的上升沿时,电路的时序比较紧张,与此同时,影子锁存器由于经过可配延时链而延迟一段时间Tw,因而输出不同于主触发器的信号,异或门通过对比触发器和影子锁存器的输出结果,会输出高电平,此时在线监测单元输出的错误预测信号为高电平。
由于低电压下延时变化受到PVT偏差影响更大,因此不同环境下所需要的监测窗口大小也不同。为了实现最优化的设计,监测窗口需要根据当前的PVT环境自动配置。如图2所示,监测窗口自动调节电路主要包括三部分:片上PVT检测单元、调节译码器、可配延时链。片上PVT检测单元主要是检测当前PVT情况,并将检测信息输出到调节译码器中,译码成可以直接控制配置延时的控制信号,而可配延时链可以完成延时大小的自动配置,从而实现监测窗口大小的最优化设计。
图2中所示的可配延时链是由缓冲器(buffer)单元和选择器单元(Mux)组成,其中buffer单元的作用是产生延时,而Mux单元是完成延时值的可配功能。当选择器的配置值不同时,数据经过的buffer数目不同,因此产生的延时也不同。Mux本身也具有延时值,因此在设计过程中需要考虑Mux的延时值,而且buffer选型需要根据调节精度和调节范围来选。此外,可配延时链的配置值也可以通过外围模块强行赋值(例如CPU配置,或PAD口配置),这样可以保证自适应窗口计算仿真分析存在误差时,用户也可以手动修改配置值来调整监测窗口大小。
调节译码器本质上是一个查找表(Look-Up Table,LUT),输入的检索(index)变量是片上PVT检测单元输出的计数器的值,输出结果是MUX的配置值。调节译码器的查找表是通过对可配延时链和PVT检测计数器的标定来建立,标定过程有如下步骤:
第一步:仿真测量在各种PVT环境下PVTM计数器的输出值,得到PVT环境与PVTM计数器值的对应表;
第二步:仿真测量各种PVT环境下所需要的最优化监测窗口大小,推算出可配延时链所需最接近的缓冲器级数,并相应的算出此时Mux的控制位,从而得到PVT环境与Mux的控制位的对应表;
第三步:将上述两张表融合在一起,得到各个PVTM计数器值所对应的监测窗口可配延时链的Mux控制位值,即为调节译码器中的查找表。
第四步:在芯片流片后可根据实际测试情况对该查找表进行硅后校准。
片上PVT检测单元(PVTM)主要包括三部分:控制电路、反相器链构成的环形振荡器以及由计数器和采样单元构成的计数采样单元。控制电路主要作用是产生其他模块所需要的控制信号:环振的起振信号,计数器的使能信号,计数器的复位信号和计数结果的采样时钟。本设计中采用的控制电路如图3所示,系统时钟经过八分频电路分频后变为CLK8,然后经过两个触发器(FF1、FF2)延时后的时钟分别为CLK8_1和CLK8_2。CLK8_1经过两级同步后(FF3、FF4),周期与系统时钟周期相同,作为计数器计数使能信号,高电平有效。与此同时,CLK8_1作为环振的起振信号,也是高电平有效,因此在计数器计数使能信号有效的同时,环振也在振荡。当CLK8_1的下降沿来时,采样单元采样计数器的结果,此时环振停止振荡。当系统采完计数器的值后,计数器可以完成复位操作,复位操作的使能信号是CLK8_1和CLK8_2经过或门后的信号,而且是低电平有效。
图3中所示的由反相器链所构成的环形振荡器是检测当前所处PVT状态的核心,对于不同的PVT状态,反相器输出时钟的振荡周期不同,因此,对于给时钟周期下反相器的振荡次数可以反映所处的PVT状态,反相器环振N(N为>=2的偶数)个反相器和一个与非门构成,与非门的作用是为了起振,由FF3和FF4构成两级同步触发器,是为了解决跨时钟域的问题,由于环振的输出时钟和系统时钟是异步时钟,如果不经过两级同步触发器,可能会出现亚稳态问题。图中计数器是为了采样环振的振荡周期,计数时钟是环振的输出时钟,而计数器的使能信号是经过两级同步后的系统时钟,复位信号是控制电路产生的。通过PVTM三部分单元的分工合作,最终输出对应的PVT状态的计数值。
一个具体案例
面向超宽电压的在线监测单元及其监测窗口自适应调节系统的一个具体实施案例中,将这套系统应用于比特币(Bitcoin)芯片验证电路,该电路属于高负载计算密集型芯片,片上集成了多个SHA256(Secure Hash Algorithm 256)计算单元。电路采用40nm CMOS工艺,常规电压区(1.1V)的最高工作频率为600MHz,版图面积为1 x 2.22 mm2,其中AVS模块面积开销为6.3%。首先设计监测单元并完成其建库过程;然后设计被监测主电路的前端和后端版图;接着用监测点筛选方法得到需要监测的路径总数量为708条,占全部关键路径的40.7%;最后通过工程改变命令( Engineering Change Order,ECO)将监测单元添加到版图中,完成整体设计。
图4为常规电压、TT工艺角、25℃条件下,比特币挖矿芯片在AVS系统使能后的自适应调节效果图。图中,Vout表示电源模块DC-DC的输出电压,Clk_slow信号表示快速调频后的时钟频率,Pre_error为芯片中所有预警信号取或之后的总预警信号,Slow信号为频率降低使能信号,表示芯片需要立即降频工作;Volt_Done信号表示电压调节完成信号,是DC-DC模块的反馈信号;Volt_up和Volt_down分别是输出到DC-DC模块的上调和下调电压的控制信号;Func_test信号为芯片功能验证信号,每64周期检测一次运算结果是否正确。芯片初始工作电压为1.1V,输入时钟频率是600MHz,此时电路时序比较宽松,无预警信号,电压被逐渐降低。直到电压降至0.86V时开始出现预警信号,同时slow信号短暂跳高,频率降低以避免时序出错。连续出现3个时钟周期的总预警信号时,电压控制信号Volt_up拉高,DC-DC上调电压。最后由于电源随机噪声的存在,电压在0.84V和0.86V之间波动。此外,芯片功能验证信号Func_test显示芯片在降电压的过程中芯片功能一直保持正常。
图5为低电压下自适应电压调节效果图,与图4类似,刚开始时电路时序比较宽松,监测单元并未发出预警信号,控制模块连续输出电压降低的控制信号,输入电压降低。随着电压的降低,电路的时序逐渐开始紧张,直到电压降至0.36V时,开始出现预警信号,同时slow信号短暂跳高。出现连续3个时钟周期的预警信号时,电压控制信号Volt_Up拉高,DC-DC上调电压。
从图4图5可以看出,本发明应用于实际预测性片上监测技术中,能够根据电路的实际工作情况自适应地调节监测窗口,从而保证在电路功能正确的情况下尽可能地降低电压值,从而降低功耗。