发明内容
基于此,有必要针对上述技术问题,提供一种自适应调压SoC系统及控制方法。
为了实现上述目的,一方面,本申请实施例提供了一种自适应调压SoC系统,包括相互连接的电源电路和节能优化电路;其中,电源电路分别连接电池供电单元、电源供电单元;电源电路连接SoC系统的内部设备,并提供供电电压;
电源电路用于采用电池供电单元或电源供电单元进行供电,以输出供电电压;
节能优化电路用于获取SoC系统的状态数据,并根据状态数据调节电源电路的供电电压和工作频率;状态数据包括频率信息、电压信息和温度信息。
在其中一个实施例中,电源电路包括电源门控单元,以及均与电源门控单元连接的第一线性稳压器、第二线性稳压器、第三线性稳压器和第四线性稳压器;内部设备包括第一内核、第二内核、智能外设IP、输入输出设备和传感设备;
其中,电源门控单元分别连接节能优化电路、电池供电单元、电源供电单元和输入输出设备;第一线性稳压器连接传感设备;第二线性稳压器连接第一内核;第二线性稳压器和第三线性稳压器均连接智能外设IP;第四线性稳压器连接第二内核。
在其中一个实施例中,节能优化电路包括依次连接的随机存储器RAM、数据预处理模块、裕量生成处理模块、模式选择寄存器组、复制关键路径RCP电路,以及与数据预处理模块相连的电源调校模块;
其中,电源调校模块和复制关键路径RCP电路均连接电源电路。
在其中一个实施例中,节能优化电路还包括传感器、第一寄存器、第二寄存器、MUX数据选择器、第一与门、第二与门、与非门、第一异或门、第二异或门和RCP同步电路;
其中,传感器与数据预处理模块相连;RCP同步电路分别连接裕量生成处理模块、复制关键路径RCP电路;第一寄存器的输入端连接与非门的一输入端,一输出端分别连接与非门的另一输入端、第一与门的一输入端、第二与门的一输入端,另一输出端连接第二寄存器的一输入端;与非门的输出端连接复制关键路径RCP电路;第一与门的另一输入端连接模式选择寄存器组,输出端分别连接复制关键路径RCP电路、第一异或门的一输入端;第二与门的另一输入端连接模式选择寄存器组,输出端分别连接复制关键路径RCP电路、第二异或门的一输入端;第一异或门的另一输入端和第二异或门的另一输入端均连接复制关键路径RCP电路;MUX数据选择器的一输入端连接第一异或门的输出端,另一输入端连接第二异或门的输出端,一输出端连接模式选择寄存器组,另一输出端连接第二寄存器的另一输入端;第二寄存器的输出端连接裕量生成处理模块。
在其中一个实施例中,复制关键路径RCP电路包括若干顺次连接的延迟单元;
延迟单元包括第一PMOS管、第二PMOS管、第三PMOS管、第四PMOS管、第五PMOS管、第六PMOS管、第七PMOS管、第八PMOS管、第一NMOS管、第二NMOS管、第三NMOS管、第四NMOS管、第五NMOS管和第六NMOS管;
其中,第一PMOS管的栅极、第二PMOS管的栅极、第一NMOS管的栅极、第二NMOS管的栅极和第七PMOS管的栅极均连接与非门的输出端;第一PMOS管的源极、第三PMOS管的源极、第五PMOS管的源极和第七PMOS管的源极均连接电源VDD;第一PMOS管的漏极连接第二PMOS管的源极;第二PMOS管的漏极分别连接第三PMOS管的栅极、第四PMOS管的栅极、第一NMOS管的漏极、第四NMOS管的栅极;第三PMOS管的漏极连接第四PMOS管的源极;第四PMOS管的漏极分别连接第六PMOS管的漏极、第三NMOS管的漏极、第八PMOS管的栅极、第五NMOS管的栅极和第六NMOS管的栅极;第三NMOS管的源极连接第四NMOS管的漏极;第五PMOS管的漏极连接第六NMOS管的源极;第五PMOS管的栅极连接第六PMOS管的栅极;第七PMOS管的漏极连接第八PMOS管的源极;第八PMOS管的漏极连接第五NMOS管的漏极;第五NMOS管的源极连接第六NMOS管的漏极;第一NMOS管的源极连接第二NMOS管的漏极;第二NMOS管的源极、第四NMOS管的源极和第六NMOS管的源极均用于接地。
一种自适应调压SoC系统的控制方法,方法应用于上述的节能优化电路,方法包括以下步骤:
获取SoC系统的状态数据,并根据状态数据调节电源电路的供电电压和工作频率;状态数据包括频率信息、电压信息和温度信息。
在其中一个实施例中,根据状态数据调节电源电路的供电电压和工作频率的步骤包括:
分别对温度信息和频率信息进行编码,生成查询表的地址信息;
根据地址信息查找查询表,并获取时序裕量预留码信息和预测电压值信息;
根据电压信息配置供电电压,并根据时序裕量预留码信息和预测电压值信息对供电电压进行闭环调节。
在其中一个实施例中,根据时序裕量预留码信息和预测电压值信息对供电电压进行闭环调节的步骤包括:
根据当前SOC系统的频率信息、电压信息和温度信息生成相应的裕量码信息;
判断当前裕量码信息是否为首次生成;若是,则将裕量码信息与时序裕量预留码信息进行比较,并将预测电压值信息配置成当前电压信息,以及返回根据当前SOC系统的频率信息、电压信息和温度信息生成相应的裕量码信息的步骤;
若否,则将裕量码信息与临界裕量码信息进行比较;若裕量码信息与临界裕量码信息不同,则将裕量码信息与临界裕量码信息之间的差值与预设阈值进行比较分析,并根据比较结果对供电电压采取相应的降压方式,以及返回根据当前SOC系统的频率信息、电压信息和温度信息生成相应的裕量码信息的步骤;
若裕量码信息与临界裕量码信息相同,则完成对供电电压的闭环调节。
在其中一个实施例中,还包括步骤:
根据模式选择寄存器组配置的信息使复制关键路径RCP电路选择相应的RCP电路进行时序检测工作,并通过相应的异或门输出电压时序调节信号;
根据电压时序调节信号和复制关键路径RCP电路输出的裕量信息生成时序裕量预留码信息。
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述的方法的步骤。
上述技术方案中的一个技术方案具有如下优点和有益效果:
本申请通过采用电池供电单元或电源供电单元为电源电路进行供电并输出供电电压,从而通过节能优化电路根据状态数据调节电源电路的供电电压和工作频率;本申请通过电源电路对系统电源架构进行设计,并在此基础上通过节能优化电路对电压进行快速调整并进一步减小时序裕量,有效地对因环境因素、老化效应、功能选择不同等情况而产生的电压裕量或时序裕量造成的额外功耗问题进行了优化,实现了对功耗的更深层次优化。
具体实施方式
为了便于理解本申请,下面将参照相关附图对本申请进行更全面的描述。附图中给出了本申请的实施例。但是,本申请可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使本申请的公开内容更加透彻全面。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。
空间关系术语例如“在...下”、“在...下面”、“下面的”、“在...之下”、“在...之上”、“上面的”等,在这里可以用于描述图中所示的一个元件或特征与其它元件或特征的关系。应当明白,除了图中所示的取向以外,空间关系术语还包括使用和操作中的器件的不同取向。例如,如果附图中的器件翻转,描述为“在其它元件下面”或“在其之下”或“在其下”元件或特征将取向为在其它元件或特征“上”。因此,示例性术语“在...下面”和“在...下”可包括上和下两个取向。此外,器件也可以包括另外地取向(譬如,旋转90度或其它取向),并且在此使用的空间描述语相应地被解释。
需要说明的是,当一个元件被认为是“连接”另一个元件时,它可以是直接连接到另一个元件,或者通过居中元件连接另一个元件。此外,以下实施例中的“连接”,如果被连接的对象之间具有电信号或数据的传递,则应理解为“电连接”、“通信连接”等。
在此使用时,单数形式的“一”、“一个”和“所述/该”也可以包括复数形式,除非上下文清楚指出另外的方式。还应当理解的是,术语“包括/包含”或“具有”等指定所陈述的特征、整体、步骤、操作、组件、部分或它们的组合的存在,但是不排除存在或添加一个或更多个其他特征、整体、步骤、操作、组件、部分或它们的组合的可能性。同时,在本说明书中使用的术语“和/或”包括相关所列项目的任何及所有组合。
长久以来,工业界和学术界在采用更先进完善的技术方案来降低芯片功耗方面进行了深入研究。在系统级和行为级层次上动态电源管理DPM(dynamic power management,简称DPM)技术、动态电压频率调整DVFS(dynamic voltage frequency scaling,简称DVFS)技术以及自适应电压调节AVS(adaptive voltage scaling,简称AVS)技术等对功耗的优化具有决定性的影响,因此在优化方案中,重视从早期开始的高层次设计显得十分重要。
目前,在互补金属氧化物半导体CMOS(complementary metal oxidesemiconductor,简称CMOS)集成电路中,除了采用多阈值技术、门控时钟技术等方式来降低功耗以外,还可以采用DPM、DVFS和AVS等技术通过改变数字电路的工作电压频率等方式达到降低功耗的目的。
DPM技术主要是针对一些系统单元或者非实时单元来进行功耗优化,尤其是在片上系统SoC(system on chip,简称SoC)芯片中,可根据内存、功能、性能等不同需求制定不同的功耗工作模式。通过不同模式间的相互切换,使系统在不同工作情景下,都能满足功能、性能以及功耗的要求,从而将系统的功耗尽可能的控制在最低的情况下去运行,其中包括了不同功耗模式间的切换等功能。
而在系统电路中,存在着PVT偏差以及老化效应等因素的影响,需要在电路设计过程中的时序约束时给予更多的时序裕量,从而保证所有的PVT偏差以及在使用年限内的老化效应对系统的影响能够被容忍。时序裕量会带来不必要的能耗产生或性能损失,而这些裕量所产生的功耗损失可以通过AVS技术来进行优化。AVS技术通过将PVT偏差及老化效应产生的影响转移到实际路径或相应的模拟实际路径上实现,这时就需要建立一个监测机制将时序相关问题有效的反映出来,当前对于监测机制的研究包括原地监控方法、间接监控方法等。
在已有的AVS设计方法中,可以通过Razor电路来对系统的功耗进行优化,如图1所示。Razor电路是一种原地监控方式,通过将实际系统中所有的关键路径中的寄存器替换成Razor电路结构来进行时序检测,不仅能够有效的发现时序错误,还具有一定的纠错能力,同时在Razor电路的基础上,又拓展出了RazorII、iRazor等电路。但Razor电路结构也有一定的局限性,例如会造成对一些短脉冲信号的误判等问题以及是需要在每一条关键路径上添加相应的监测单元,同时需要考虑覆盖到所有不同PVT条件下的关键路径。在这种情况下,大量的监测单元会造成面积的开销增加以及监测单元本身的功耗的损失。
此外,还有间接监控方式,其通过生成复制关键路径对实际路径进行检测,从而避免影响系统电路。该方法需要先构造与实际关键路径的时序表现尽可能相同的复制关键路径电路,再通过对这些复制关键路径采用AVS电路的方式寻找到合适的电压频率临界点,从而保证功能正确的前提下进一步缩小系统中的电压裕量。但同样存在着大量的复制关键路径会造成过大的面积开销以及功耗损失等问题。
在实际的应用场景中,不仅存在着在不同情况下对芯片功能、性能、功耗的需求不同,甚至芯片在不同情况下执行不同的功能会使得其对系统频率、工作电压等因素的约束条件也不同,并且不同工作环境如温度不同以及芯片使用时产生的老化效应等因素会对芯片中电路的延时关系产生影响。一般为解决以上这些偏差因素的影响,在芯片实际设计过程中需要留有足量的电压裕量或时序裕量来保证芯片的正常工作使用,但这同时也会造成大量无效功耗的产生。
本申请提供的自适应调压SoC系统,能够对不同工作场景具有更加灵活的配置能力与优化空间,以及减小时序裕量,从而使得系统整体的功耗冗余更小,实现一种适用于低功耗微控制器且更深层次功耗优化的电源架构。
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图2所示,提供了一种自适应调压SoC系统,可以包括相互连接的电源电路210和节能优化电路220;其中,电源电路210分别连接电池供电单元、电源供电单元;电源电路210连接SoC系统的内部设备,并提供供电电压;
电源电路210用于采用电池供电单元或电源供电单元进行供电,以输出供电电压;
节能优化电路220用于获取SoC系统的状态数据,并根据状态数据调节电源电路210的供电电压和工作频率;状态数据可以包括频率信息、电压信息和温度信息。
具体地,电源电路210分别与电池供电单元(BAT)和电源供电单元(POS)单元电连接,且电源电路210控制电池供电单元或电源供电单元为其供电,以实现供电自动切换;电源电路210还和SoC系统的内部设备电连接并为其提供供电电压;
节能优化电路220与电源电路210电连接,用于根据SoC系统的状态数据调节电源电路210的供电电压和工作频率,以降低SoC系统在不同工作模式下的功耗。
以上,本申请通过采用电池供电单元或电源供电单元为电源电路210进行供电并输出供电电压,从而通过节能优化电路220根据状态数据调节电源电路210的供电电压和工作频率;本申请通过电源电路210对系统电源架构进行设计,并在此基础上通过节能优化电路220对电压进行快速调整,能够进一步减小时序裕量,实现对功耗的更深层次优化。
在其中一个实施例中,电源电路210可以包括电源门控单元,以及均与电源门控单元连接的第一线性稳压器、第二线性稳压器、第三线性稳压器和第四线性稳压器;内部设备可以包括第一内核、第二内核、智能外设IP、输入输出设备和传感设备;
其中,电源门控单元分别连接节能优化电路220、电池供电单元、电源供电单元和输入输出设备;第一线性稳压器连接传感设备;第二线性稳压器连接第一内核;第二线性稳压器和第三线性稳压器均连接智能外设IP;第四线性稳压器连接第二内核。
具体地,如图3所示,电源电路210通过动态电源管理DVFS(dynamic powermanagement,简称DVFS)技术实现电源电路210的架构设计,可以包括电源门控单元和多个线性稳压器,其中,电源门控单元控制电池供电单元或电源供电单元为其供电,在整个电源架构上,采用包括电池供电(BAT)和电源供电(POS)两种方式,在芯片不同的使用环境以及场景下能够通过电源门控单元进行供电自动切换;
在一些示例中,电源电路210通过对应的线性稳压器可以划分为四个电源域,第一电源域对应第一线性稳压器(LPLDO33)、第二电源域对应第二线性稳压器(LDO12_1)、第三电源域对应第三线性稳压器(LDO12_2)和第四电源域对应第四线性稳压器(LPLDO12),其中,第一电源域用于为ADC和传感设备(SENSOR)供电,第二电源域用于为第一内核(CORE1)和SRAM供电,第四电源域用于为PS2、PS3、FLASH、第二内核(CORE2)供电;电源电路210还为输入输出设备(IO)、ULPBGP、MAINBGP、XTAL_12M、XTAL_32K、BOP/POR供电,其中,ULPBGP模块也可由第四线性稳压器供电,MAINBGP也可由第二线性稳压器或第三线性稳压器供电;
在一些示例中,电源门控单元至少包括以下功耗模式:NORMAL模式,LP_RUN模式、SLEEP模式、DEEPSLEEP模式以及AON模式;其中,电源门控单元的不同功耗模式对应不同的芯片状态,如下表所示:
功耗模式 |
功耗等级 |
芯片状态 |
NORMAL |
高 |
正常工作 |
LP_RUN |
中 |
低功耗CPU可运行 |
SLEEP |
低 |
CPU休眠,数据不丢失,可迅速唤醒 |
DEEPSLEEP |
低 |
CPU休眠,数据不丢失 |
AON |
极低 |
仅AON模块与RTC模块工作 |
具体分别为:在NORMAL模式中,系统中所有的CPU内核以及其他功能的智能外设IP、IO、SENSOR等都可以正常工作,同时,可以根据用户的需求对不同逻辑域下的频率以及不同电压域下的电压等进行调整。相比于NORMAL模式,LP_RUN模式是通过将第二线性稳压器LDO12_1与第三线性稳压器LDO12_2进行关断能有效的降低大量复杂智能外设IP(Intelligent Peripherals,简称IP)所产生的功耗,同时将系统中原采用的处于第二线性稳压器LDO12_1下的第一内核切换至在第四线性稳压器LPLDO12下的第二内核,以保证系统处于必要的工作状态,而当需要进行高速运行或使用一些特有的IP功能时,系统再次回到NORMAL模式进行处理。在SLEEP模式状态中,将会进一步降低整体的功耗大小,包括将系统的时钟源从高频时钟源切换到低频时钟源(16M到32K),控制由第四线性稳压器LPLDO12供电的低功耗CPU进入STANDBY模式,关闭除电源常开域AON(Always on Domain,简称AON)模块(包含实时时钟RTC模块)以外的所有时钟等。相比于SLEEP模式,DEEPSLEEP模式的功耗更低,主要通过关闭部分带隙基准源的方式来进一步降低功耗大小,但这同时也增加了系统的唤醒时间。在AON模式中,系统将关断除第四线性稳压器LPLDO12和第一线性稳压器LPLDO33以外的所有线性稳压器以及相应的未被使用的带隙基准源等模块,从而有效的增加系统的续航时间。如图4所示为系统的上、下电流程以及NORMAL模式、LP_RUN模式、SLEEP模式、DEEPSLEEP模式和AON模式切换过程的状态转移图。当处于刚上电的状态时,整个系统处于POR_SEL的状态,在该状态下,系统会通过特定的IO输入对芯片的上电状态进行判定,从而判断上电的电源方式。在整个状态转移过程中,不仅支持上电至NORMAL模式、LP_RUN模式以及这些模式间的相互转换,在系统进入或退出LP_RUN模式时,还能够自动切换时钟以对低功耗CPU状态进行切换。
在其中一个实施例中,节能优化电路220可以包括依次连接的随机存储器RAM、数据预处理模块、裕量生成处理模块、模式选择寄存器组、复制关键路径RCP电路,以及与数据预处理模块相连的电源调校模块;
其中,电源调校模块和复制关键路径RCP电路均连接电源电路210。
在其中一个实施例中,节能优化电路220还可以包括传感器、第一寄存器、第二寄存器、MUX数据选择器、第一与门、第二与门、与非门、第一异或门、第二异或门和RCP同步电路;
其中,传感器与数据预处理模块相连;RCP同步电路分别连接裕量生成处理模块、复制关键路径RCP电路;第一寄存器的输入端连接与非门的一输入端,一输出端分别连接与非门的另一输入端、第一与门的一输入端、第二与门的一输入端,另一输出端连接第二寄存器的一输入端;与非门的输出端连接复制关键路径RCP电路;第一与门的另一输入端连接模式选择寄存器组,输出端分别连接复制关键路径RCP电路、第一异或门的一输入端;第二与门的另一输入端连接模式选择寄存器组,输出端分别连接复制关键路径RCP电路、第二异或门的一输入端;第一异或门的另一输入端和第二异或门的另一输入端均连接复制关键路径RCP电路;MUX数据选择器的一输入端连接第一异或门的输出端,另一输入端连接第二异或门的输出端,一输出端连接模式选择寄存器组,另一输出端连接第二寄存器的另一输入端;第二寄存器的输出端连接裕量生成处理模块。
具体而言,节能优化电路220通过AVS技术进行电压调节,以及控制电源门控单元切换不同的功耗模式,并调节电源电路210的供电电压和工作频率。如图5所示,数据预处理模块分别与传感器、随机存储器RAM电连接;数据预处理模块、电源调校模块、线性稳压器、复制关键路径RCP电路、模式选择寄存器组和裕量生成处理模块顺次电连接,其中,数据预处理模块与裕量生成处理模块电连接;RCP同步电路分别与复制关键路径RCP电路、裕量生成处理模块电连接;第一寄存器的CLK端(输入端)接入时钟信号,且CLK端与与非门的一输入端电连接,Q端(一输出端)分别与与非门的另一输入端、第一与门的一输入端和第二与门的一输入端电连接,D端与
端(另一输出端)电连接,
端与第二寄存器的CLK端(一输入端)电连接;与非门的输出端与复制关键路径RCP电路电连接;第一与门的另一输入端与模式选择寄存器组的一输出端电连接,第一与门的输出端分别与复制关键路径RCP电路的一输入端、第一异或门的一输入端电连接;第二与门的另一输入端与模式选择寄存器组的另一输出端电连接,第二与门的输出端分别与复制关键路径RCP电路的另一输入端、第二异或门的一输入端电连接;复制关键路径RCP电路的一输出端与第一异或门的另一输入端电连接,另一输出端与第二异或门的另一输入端电连接;第一异或门的输出端与MUX数据选择器的一输入端电连接;第二异或门的输出端与MUX数据选择器的另一输入端电连接;MUX数据选择器的一输出端与模式选择寄存器组的输入端电连接,另一输出端与第二寄存器的D端电连接;第二寄存器的Q端(输出端)与裕量生成处理模块电连接。
在一些示例中,数据预处理模块用于读取随机存储器RAM中预先存储的查询表,电源调校模块用于根据查询表的地址和数据来调节电源电路210的工作频率、供电电压与温度之间的关系,使其与所述查询表一一对应;
具体而言,以电源调校模块应用于节能优化电路220中为例,如图6所示,电源调校模块根据查询表的地址和数据来调节频率(工作频率)、电压(供电电压)与温度之间的关系的具体实现为:
读取SoC系统信息,并得到SoC系统的温度信息和频率信息;
对温度信息和频率信息进行编码,生成查询表的地址信息,并作为随机存储器RAM的读写地址;
根据随机存储器RAM的读写地址查找查询表,并读取电压信息、时序裕量预留码信息和预测电压值信息;
根据电压信息配置电源电路210中线性稳压器的输出电压,并根据时序裕量预留码信息和预测电压值信息对线性稳压器进行闭环调节控制,以对线性稳压器输出的电压进行粗调。
在一些示例中,电源调校模块根据时序裕量预留码信息和预测电压值信息对线性稳压器进行闭环调节控制具体实现为:
根据当前SoC系统的频率信息、电压信息和温度信息生成相应的裕量码信息;
由数据预处理模块判断当前裕量码信息是否是当前电压频率下首次运行生成的裕量码信息,若是,则将其与从查找表中读取的时序裕量预留码信息进行比较,并根据模式选择寄存器组配置的信息选取相应的比较规则,当满足比较规则时,选择性的将从查找表中读取的预测电压值信息直接配置成当前电压;若否,则将当前裕量码信息与临界裕量码信息进行比较;
若当前裕量码信息与临界裕量码信息相同,则表示SoC系统电压已经调节完成;若当前裕量码信息与临界裕量码信息不同,则对这两个裕量码信息之间的差值进行分析,若差值超过预设阈值,则根据模式选择寄存器组配置的信息选择采用多步降低电压的方式使系统电压快速的降低到系统的临界电压值;若差值不超过预设阈值,则通过单步降低电压的方式来使系统电压在保证时序不出错的前提下逐渐达到系统的临界电压值;其中,临界裕量码信息等效为实际关键路径的长度;
通过对线性稳压器进行闭环调节控制,可以大幅度提升电源电路210的电压调节效率。
在对线性稳压器进行闭环调节控制之后,各个电源域下的供电电压都已经处于完成粗调的状态,实际的电压值已经根据芯片的温度以及频率信息做了相应的调节,但在其中依旧存在着较大的时序裕量,因此需要进行进一步的调整,整个电路在进行粗调之后,将进入细调阶段。
在一些示例中,在线性稳压器的输出电压进行粗调之后的辅助细调具体实现为:
将复制关键路径RCP电路的输入信号设置为时钟的二分频信号,且复位信号在复制关键路径RCP电路的输入信号为低电平状态并且时钟信号也为低电平状态时有效;
复制关键路径RCP电路的输入端根据模式选择寄存器组配置的信息选择相应的RCP电路进行时序检测工作,对于非有效的RCP电路则采用维持低电平状态的方式减小动态功耗的大小;
复制关键路径RCP电路的输出端通过异或门逻辑产生一个电压时序调节信号,裕量生成处理模块根据电压时序调节信号和复制关键路径RCP电路输出的裕量信息生成相应的时序裕量预留码信息。
由于复制关键路径RCP电路过多会造成系统总体的面积以及功耗损失过大,在一些示例中,复制关键路径RCP电路可以采用通用型的复制关键路径电路,同时为了使复制关键路径RCP电路与实际电路延迟时间更加接近,具体可以采用双堆叠型的延迟单元来对复制关键路径RCP电路进行设计。
在其中一个实施例中,复制关键路径RCP电路可以包括若干顺次连接的延迟单元;
延迟单元可以包括第一PMOS管、第二PMOS管、第三PMOS管、第四PMOS管、第五PMOS管、第六PMOS管、第七PMOS管、第八PMOS管、第一NMOS管、第二NMOS管、第三NMOS管、第四NMOS管、第五NMOS管和第六NMOS管;
其中,第一PMOS管的栅极、第二PMOS管的栅极、第一NMOS管的栅极、第二NMOS管的栅极和第七PMOS管的栅极均连接与非门的输出端;第一PMOS管的源极、第三PMOS管的源极、第五PMOS管的源极和第七PMOS管的源极均连接电源VDD;第一PMOS管的漏极连接第二PMOS管的源极;第二PMOS管的漏极分别连接第三PMOS管的栅极、第四PMOS管的栅极、第一NMOS管的漏极、第四NMOS管的栅极;第三PMOS管的漏极连接第四PMOS管的源极;第四PMOS管的漏极分别连接第六PMOS管的漏极、第三NMOS管的漏极、第八PMOS管的栅极、第五NMOS管的栅极和第六NMOS管的栅极;第三NMOS管的源极连接第四NMOS管的漏极;第五PMOS管的漏极连接第六NMOS管的源极;第五PMOS管的栅极连接第六PMOS管的栅极;第七PMOS管的漏极连接第八PMOS管的源极;第八PMOS管的漏极连接第五NMOS管的漏极;第五NMOS管的源极连接第六NMOS管的漏极;第一NMOS管的源极连接第二NMOS管的漏极;第二NMOS管的源极、第四NMOS管的源极和第六NMOS管的源极均用于接地。
具体来说,复制关键路径RCP电路可以包括若干延迟单元,若干延迟单元顺次串联;
在一些示例中,可以根据延迟时间范围的不同将不同数量的延迟单元进行串联得到相应的复制关键路径RCP电路,每一条复制关键路径RCP电路根据不同的裕量信息码等效为多条不同的实际关键路径,即复制关键路径等效路径,通过复制关键路径等效路径与时序裕量电路边界可变的方式实现通用型的复制关键路径电路。
在一个具体地示例中,如图7所示,单个延迟单元中PMOS管M1(第一PMOS管)、PMOS管M2(第二PMOS管)、NMOS管M3(第一NMOS管)和NMOS管M4(第二NMOS管)的栅极公共连接,并作为一个输入端RST;PMOS管M1、PMOS管M5(第三PMOS管)、PMOS管M7(第五PMOS管)和PMOS管M11(第七PMOS管)的源极分别与电源VDD电连接;PMOS管M1的漏极与PMOS管M2的源极电连接;PMOS管M2的漏极分别与NMOS管M3的漏极、PMOS管M5的栅极、PMOS管M6(第四PMOS管)的栅极和NMOS管M10(第四NMOS管)的栅极电连接;NMOS管M3的源极与NMOS管M4的漏极电连接;PMOS管M5的漏极与PMOS管M6的源极电连接;PMOS管M6的漏极分别与PMOS管M8(第六PMOS管)的漏极、NMOS管M9(第三NMOS管)的漏极、PMOS管M12(第八PMOS管)的栅极、NMOS管M13(第五NMOS管)的栅极和NMOS管M14(第六NMOS管)的栅极电连接;NMOS管M9的栅极作为另一个输入端IN,NMOS管M9的源极连接NMOS管M10的漏极;NMOS管M10的源极用于接地;PMOS管M7的漏极与PMOS管M8的源极电连接;PMOS管M11的漏极与PMOS管M12的源极电连接;PMOS管M12的漏极与NMOS管M13的漏极电连接,并作为输出端OUT;NMOS管M13的源极与NMOS管M14的漏极电连接,NMOS管M14的源极用于接地。
在一些示例中,延迟单元在功能实现上可以分为从IN端到OUT端的采样阶段和从RST端到OUT端的复位阶段两部分。
而在电压裕量信息方面,通过裕量码信息的方式能够使复制关键路径等效路径和时序裕量电路的边界具有更为清晰的定义。为了更好地阐述通过复制关键路径等效路径与时序裕量电路边界可变的方式实现通用型的复制关键路径电路,结合图8予以说明:复制关键路径RCP电路在不同情况下被分成复制关键路径等效路径1和时序裕量电路1或复制关键路径等效路径2和时序裕量电路2或复制关键路径等效路径3和时序裕量电路3等;同时根据复制关键路径等效路径和时序裕量电路的划分长度不同,复制关键路径RCP电路中通过采样电路获得的裕量信息中的边界电压信息部分也会随之偏移;通过利用更改复制关键路径等效路径和时序裕量电路之间的占比可以有效的提高复制关键路径RCP电路功能的灵活性和有效性;在一个具体地示例中,可以通过更改实际操作过程中的临界阈值来更改不同需求下的复制关键路径等效路径的追踪长度。
为了更好地说明本申请的技术方案,下面结合一个具体地示例予以说明:
SoC系统架构中包含了多个CPU内核以及多块ROM、RAM和FLASH等内存单元,采用AMBA2.0的系统总线架构进行设计;在接口上,支持多组SPI、UART、IIC、USI、GPIO等外设功能;同时也支持包括安全CPU核、随机数发生器、多种国密加解密算法以及AES、ECC、HASH等多种国际加解密标准算法,此外,还支持多种不同的硬件传感器等功能。
在系统供电电源为5V的情况下,流过芯片的总电流如下表所示:
功耗模式 |
NORMAL |
LP_RUN |
SLEEP |
DEEP_SLEEP |
AON |
总电流 |
30mA |
497uA |
57uA |
11uA |
1.6uA |
其中,在NORMAL状态下工作时,芯片上电最低工作电流可以是预设范围内的值,在一个示例中,最低工作电流为5.7mA,当芯片处于满负载工作时,芯片最高工作电流同样可以是预设范围内的值,在一个示例中,最高工作电流为60mA,流过芯片的总电流为30mA;在LP_RUN工作状态下,当系统时钟频率为4MHz时,流过芯片的总电流为497uA;当进入SLEEP状态或DEEP_SLEEP状态时,芯片流过的总电流分别降至57uA、11uA;当芯片进入AON状态时,系统将只开启AON逻辑模块、及相应的唤醒逻辑模块和RTC模块,此时消耗的功耗降到1.6uA。实验结果表明当系统在LP_RUN状态下运行时,不仅能够支持内核、外设等功能,同时功耗大小仅为NORMAL状态下功耗的1%至10%,而当系统进入AON模式时,在AON模式下的功耗大小仅为LP_RUN状态下功耗的0.4%。但在NORMAL模式下,系统能够支持比在LP_RUN状态下更多的例如加解密算法等功能,实现了针对不同功能与性能要求的同时,对系统功耗做出了较大的优化效果。
同时对芯片在不同温度、电压环境下的功耗大小做了比较,测试结果如图9所示,其中分别测试了温度为-25度、0度、25度、50度、80度、125度的情况下主逻辑电源域的电压大小与功耗大小之间的变化关系。当温度在-25度与50度之间、电压范围为0.7V~1.4V时,总体功耗随温度的变化影响较小;当温度上升到80度时,在1.4V工作电压下,主逻辑电源域的总体功耗要比在室温下工作大3.5mW。随着电压的降低,甚至当电压降到0.7V时,主逻辑电源域的总体功耗仅比在室温情况下的工作的功耗高0.9mW,但相对于在室温下工作的总体功耗额外消耗的百分比则从9.6%上涨至14.7%。而在125度的温度环境下,芯片的功耗有较明显的升高,在1.4V、1.2V和0.7V电压下,主逻辑电源域的总体功耗比室温情况下的总体功耗分别要高出37.0%、33.1%和52.5%;对于都在室温情况下工作时,1.4V工作电压下主逻辑电源域的总体功耗是在1.2V工作电压下工作的1.41倍,以及是在0.7V电压下工作的5.85倍;在125度高温环境下工作时,1.4V工作电压下主逻辑电源域的总体功耗是在1.2V电压下工作的1.45倍,以及是在0.7V电压下工作的5.25倍。
当芯片工作频率为50MHz时,执行主逻辑域内特定的算法,在室温下对电压进行联合调压,主逻辑域内的电压从初始上电的1.2V默认工作电压降低到1.03V,主逻辑电源域的功耗相对于在1.2V工作电压时的功耗降低了28.6%;而对于其他不同的功能IP,在相应的应用场景下能够使工作电压在联合调压策略下分别从1.2V优化至1.13V、0.95V、0.87V、0.83V等多种状态,在一些示例中,在工作电压从1.2V优化至1.13V时,主逻辑电源域的功耗降低12.4%;在工作电压从1.2V优化至0.95V时,主逻辑电源域的功耗降低40.2%;在工作电压从1.2V优化至0.87V时,主逻辑电源域的功耗降低51.4%;在工作电压从1.2V优化至0.83V时,主逻辑电源域的功耗降低58.3%。在一些示例中,本申请涉及的SoC系统芯片能在不同工作模式下对功耗的优化效果达到90%至99.6%,同时在正常工作模式下,通过调压电路能够实现功耗最大降低至58.3%的功耗优化效果。
以上,本申请通过提供一种综合集成DPM技术、DVFS技术和AVS技术实现的芯片电源架构和调压电路的方法来实现对芯片系统功耗的优化,对在不同应用场景以及PVT环境和老化状况下的芯片的系统功耗大小进行了合理的改善。在目前低功耗芯片使用场景和需求越加泛化以及对功耗约束条件越来越严峻的情况下,本申请能够有效对多应用场景下的芯片的功耗大小进行优化改善,使得低功耗芯片能够满足更加复杂和严格的应用环境。
在一个实施例中,如图10所示,提供了一种自适应调压SoC系统的控制方法,以该方法应用于上述的节能优化电路为例,方法可以包括以下步骤:
步骤S101,获取SoC系统的状态数据;
步骤S102,根据状态数据调节电源电路的供电电压和工作频率;状态数据可以包括频率信息、电压信息和温度信息。
具体来说,通过节能优化电路中电源调校模块读取SoC系统信息并得到状态数据,状态数据可以是SoC系统的电压信息、温度信息和频率信息,从而可以根据状态数据调节电源电路的供电电压、工作频率与温度之间的关系。
在其中一个实施例中,如图11所示,根据状态数据调节电源电路的供电电压和工作频率的步骤可以包括:
步骤S110,分别对温度信息和频率信息进行编码,生成查询表的地址信息;
步骤S112,根据地址信息查找查询表,并获取时序裕量预留码信息和预测电压值信息;
步骤S114,根据电压信息配置供电电压,并根据时序裕量预留码信息和预测电压值信息对供电电压进行闭环调节。
具体来说,在一些示例中,通过电源调校模块读取SoC系统信息,并得到SoC系统的温度信息和频率信息,进而对温度信息和频率信息进行编码,生成查询表的地址信息,并作为随机存储器RAM的读写地址,再根据随机存储器RAM的读写地址查找查询表,并读取电压信息、时序裕量预留码信息和预测电压值信息,从而根据电压信息配置电源电路中线性稳压器的输出电压,并根据时序裕量预留码信息和预测电压值信息对线性稳压器进行闭环调节控制,以对线性稳压器输出的电压进行粗调。
在其中一个实施例中,根据时序裕量预留码信息和预测电压值信息对供电电压进行闭环调节的步骤可以包括:
根据当前SOC系统的频率信息、电压信息和温度信息生成相应的裕量码信息;
判断当前裕量码信息是否为首次生成;若是,则将裕量码信息与时序裕量预留码信息进行比较,并将预测电压值信息配置成当前电压信息,以及返回根据当前SOC系统的频率信息、电压信息和温度信息生成相应的裕量码信息的步骤;
若否,则将裕量码信息与临界裕量码信息进行比较;若裕量码信息与临界裕量码信息不同,则将裕量码信息与临界裕量码信息之间的差值与预设阈值进行比较分析,并根据比较结果对供电电压采取相应的降压方式,以及返回根据当前SOC系统的频率信息、电压信息和温度信息生成相应的裕量码信息的步骤;
若裕量码信息与临界裕量码信息相同,则完成对供电电压的闭环调节。
具体地,如图12所示,AVS技术闭环调节是指根据当前系统的频率信息、电压信息和温度信息生成相应的裕量码信息,由数据预处理模块判断当前裕量码信息是否是当前电压频率下首次运行生成的裕量码信息,并在当前裕量码信息是当前电压频率下首次运行生成的情况下根据模式选择寄存器组配置的信息选取相应的比较规则,当满足比较规则时,选择性的将从查找表中读取的预测电压值信息直接配置成当前电压;
在当前裕量码信息不是当前电压频率下首次运行生成的情况下,需将裕量码信息与临界裕量码信息进行比较,并对这两个裕量码信息之间的差值进行分析,若差值超过预设阈值,则根据模式选择寄存器组配置的信息选择采用多步降低电压的方式使系统电压快速的降低到系统的临界电压值;若差值不超过预设阈值,则通过单步降低电压的方式来使系统电压在保证时序不出错的前提下逐渐达到系统的临界电压值。
以上自适应调压SoC系统的控制方法,通过对线性稳压器进行闭环调节控制,可以大幅度提升电源电路的电压调节效率。
在其中一个实施例中,还可以包括步骤:
根据模式选择寄存器组配置的信息使复制关键路径RCP电路选择相应的RCP电路进行时序检测工作,并通过相应的异或门输出电压时序调节信号;
根据电压时序调节信号和复制关键路径RCP电路输出的裕量信息生成时序裕量预留码信息。
具体来说,在对线性稳压器进行闭环调节控制之后,各个电源域下的供电电压都已经处于完成粗调的状态,实际的电压值已经根据芯片的温度以及频率信息做了相应的调节,但在其中依旧存在着较大的时序裕量,因此需要进行进一步的调整,整个电路在进行粗调之后,将进入细调阶段。
在一些示例中,辅助细调可以是:将复制关键路径RCP电路的输入信号设置为时钟的二分频信号,且复位信号在复制关键路径RCP电路的输入信号为低电平状态并且时钟信号也为低电平状态时有效;
复制关键路径RCP电路的输入端根据模式选择寄存器组配置的信息选择相应的RCP电路进行时序检测工作,对于非有效的RCP电路则采用维持低电平状态的方式减小动态功耗的大小;
复制关键路径RCP电路的输出端通过异或门逻辑产生一个电压时序调节信号,裕量生成处理模块根据电压时序调节信号和复制关键路径RCP电路输出的裕量信息生成相应的时序裕量预留码信息。
以上自适应调压SoC系统的控制方法,提出了一种多方案联合节能的优化策略,具体通过根据SoC系统的状态数据来调节电源电路的供电电压和工作频率,完成了对电压的快速调整以及进一步减小时序裕量的目的,实现了对功耗的更深层次优化。
应该理解的是,虽然图10-12的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图10-12中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,提供了一种自适应调压SoC系统的控制装置,以该装置应用于上述的自适应调压SoC系统的控制方法中为例,装置可以包括:
数据获取模块,用于获取SoC系统的状态数据;
闭环调节模块,用于根据状态数据调节电源电路的供电电压和工作频率;状态数据可以包括频率信息、电压信息和温度信息。
在其中一个实施例中,闭环调节模块还用于分别对温度信息和频率信息进行编码,生成查询表的地址信息;
根据地址信息查找查询表,并获取时序裕量预留码信息和预测电压值信息;
根据电压信息配置供电电压,并根据时序裕量预留码信息和预测电压值信息对供电电压进行闭环调节。
在其中一个实施例中,闭环调节模块还用于根据当前SOC系统的频率信息、电压信息和温度信息生成相应的裕量码信息;
判断当前裕量码信息是否为首次生成;若是,则将裕量码信息与时序裕量预留码信息进行比较,并将预测电压值信息配置成当前电压信息,以及返回根据当前SOC系统的频率信息、电压信息和温度信息生成相应的裕量码信息的步骤;
若否,则将裕量码信息与临界裕量码信息进行比较;若裕量码信息与临界裕量码信息不同,则将裕量码信息与临界裕量码信息之间的差值与预设阈值进行比较分析,并根据比较结果对供电电压采取相应的降压方式,以及返回根据当前SOC系统的频率信息、电压信息和温度信息生成相应的裕量码信息的步骤;
若裕量码信息与临界裕量码信息相同,则完成对供电电压的闭环调节。
在其中一个实施例中,装置还可以包括:
辅助细调模块,用于根据模式选择寄存器组配置的信息使复制关键路径RCP电路选择相应的RCP电路进行时序检测工作,并通过相应的异或门输出电压时序调节信号;根据电压时序调节信号和复制关键路径RCP电路输出的裕量信息生成时序裕量预留码信息。
关于自适应调压SoC系统的控制装置的具体限定可以参见上文中对于自适应调压SoC系统的控制方法的限定,在此不再赘述。上述自适应调压SoC系统的控制装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述自适应调压SoC系统的控制方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
在本说明书的描述中,参考术语“有些实施例”、“其他实施例”、“理想实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特征包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性描述不一定指的是相同的实施例或示例。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。