数字电源闸控的集成电路及方法

文档序号:7384015阅读:199来源:国知局
数字电源闸控的集成电路及方法
【专利摘要】一种数字电源闸控的集成电路及方法。该数字电源闸系统执行电源闸控,用以将一闸控供给总线的电压减少至一状态保留电压电平,状态保留电压电平维持一功能电路的一数字状态,并减少漏电流。数字电源闸系统包括多个闸控装置及一电源闸控系统。每一闸控装置具有多个电流端以及一控制端。电流端耦接于整合供给总线与闸控供给总线之间。控制端由一数字控制数值的位所控制。电源闸控系统连续地调整数位控制数值,用以将闸控供给总线的电压减少至状态保留电压电平。调整增益和/或调整周期可能被改变,如在数字控制数值达特定数值或是在闸控供给总线的电压达特定电压电平。在特定结构中,藉由编程许多参数,用以达到调整的功能。
【专利说明】数字电源闹控的集成电路及方法
【技术领域】
[0001]本发明涉及一种电源闸控,特别涉及一种数字化地控制一电路的一闸控供给电压,该电路包括快速且平缓地调降供给电压,调降的供给电压足以使该电路维持本身的状态并减少漏电流,并在恢复操作下,快速且平缓地增加供给电压。
【背景技术】
[0002]互补式MOS(COMS)电路消耗较少的功率,并且相较于其它型式的集成电路更为密集,故CMOS技术变成数字电路中主要的类型。CMOS电路具有N型通道的装置(NMOS)与P型通道的装置(PMOS)的组合或是多个晶体管,根据设计、尺寸、材料及制程的不同,每一晶体管的栅极与源极间具有一相对应的临界电压。集成电路的设计及制造技术减少了操作电压及装置尺寸。当装置尺寸及电压电平减少时,每一装置的通道长度及氧化层厚度都会被减少。制造过程中,若改变栅极材料时,可降低临界电压,但却会增加漏电流。漏电流是指当栅极与源极间的电压小于CMOS装置的临界电压时,漏极与源极间的流动电流。在已知的动态环境架构中,漏电流造成总功率损耗的15%?30%。
[0003]在特定的时间周期中和/或在特定的情况下,CMOS电路或CMOS电路的局部电路可能不需正常工作,因而被闲置。由于流动的漏电流消耗宝贵的功率,因此,若维持全电源予闲置的电路实在是浪费且没有效率。对于CMOS技术而言,藉由减少CMOS装置的基极(bulk)电压或是基体(body)连接的电压,可减少漏电流。然而对于目前的40nm及28nm的CMOS技术而言,已知的方法无法有效地减少漏电流。

【发明内容】

[0004]本发明提供一种集成电路,其包括一整合供给总线、一闸控供给总线、一功能电路、至少一可编程装置以及一数字电源控制系统。功能电路具有一电压供给输入端,用以耦接闸控供给总线。可编程装置存储至少一编程控制参数。数字电源控制系统包括闸控装置以及一电源闸控系统。每一闸控装置具有一电流端对以及一控制端。每一电流端对耦接于整合供给总线与闸控供给总线之间。电源闸控系统控制一数字控制数值,用以控制闸控装置。电源闸控系统藉由调整数位控制数值,以执行一电源闸控操作,用以使闸控供给总线的电压与整合供给总线的电压有关。藉由编程控制参数调整电源闸控操作。
[0005]电源闸控系统可能包括一电源闸控制器。该电源闸控制器根据编程控制参数,在许多差异增益数值中进行选择,用以在电源闸控下,降低闸控供给总线的电压。电源闸控系统可能包括一电源闸控制器。电源闸控制器根据编程控制参数,在许多加总增益数值中进行选择,用以在电源闸控下,增加闸控供给总线的电压。电源闸控系统可能包括一电源闸控制器。电源闸控制器根据编程控制参数,在许多加总恢复增益数值中进行选择,用以在恢复操作下,增加闸控供给总线的电压。
[0006]电源闸控系统可能包括一电源闸控制器。电源闸控制器根据编程控制参数,在许多停止数值中进行选择,当数字控制数值达一选择停止数值时,中止一恢复操作。[0007]电源闸控系统可能包括一时钟控制器。时钟控制器提供一时钟信号,用以控制数字控制数值的一调整比例。时钟控制器可能根据编程控制参数,改变调整比较,用以在闸控供给总线的电压达每一电压电平时,改变时钟信号的周期。时钟控制器可能根据编程控制参数,选择时钟信号的一固定周期,用以在一恢复操作下,增加闸控供给总线的电压。
[0008]电源闸控系统可能包括一数字调整器。在许多连续调整周期的每一个后,数字调整器整合一数字调整数值以及数字控制数值,用以改变闸控供给总线的电压。电源闸控系统可能还包括一增益选择逻辑。增益选择逻辑根据编程控制参数,从数字控制数值的许多位移结果中选择一个作为数字调整数值。增益选择逻辑可能包括一差异选择逻辑以及一加总选择逻辑。在电源闸控下,差异选择逻辑根据一可编程差异增益数值,从数字控制数值的许多位移结果中选择一个作为一选择异差调整数值。在电源闸控下,加总选择逻辑根据一可编程加总增益数值,从数字控制数值的许多位移结果中选择一个作为一选择加总调整数值。增益选择逻辑可能包括一恢复增益选择逻辑。在一恢复操作下,恢复增益选择逻辑根据一可编程恢复增益数值,从数字控制数值的许多位移结果中选择一个作为一选择加总调整数值。
[0009]电源闸控系统可能包括一时钟产生器。时钟产生器产生一时钟信号,用以控制连续调整周期,时钟信号的周期取决于一时间控制数值。电源闸控系统可能包括一时间解码器。时间解码器根据编程控制参数,提供并调整时间控制数值。时间解码器可能包括一转换器以及一时钟周期选择器。转换器将数字控制数值转成时间控制数值,并在数字控制数值被调整时,调整时间控制数值。每当闸控供给总线的电压达一电压电平时,时钟周期选择器根据编程控制参数,从时间控制数值的许多位移结果中选择一个。当数字控制数值达许多编程数值的每一个时,时间解码器可能调整时间控制数值,编程数值取决于编程控制参数。时间解码器可能包括一转换器、一时钟位移器以及一时钟周期选择器。转换器将数字控制数值转换成时间控制数值,并且在数字控制数值被调整时,调整时间控制数值。时钟位移器根据数字控制数值及编程控制参数,提供至少位移数值。当数字控制数值达位移数值时,时钟周期选择器位移时间控制数值。
[0010]当时间解码器根据编程控制参数而动作时,可能将时间控制数值维持在一固定数值,使得时钟信号具有一固定周期。时间解码器根据编程控制数值,从多个固定周期数值中选择一个。
[0011]可编程装置可能由一保险丝阵列或是一存储器所构成。控制参数对保险丝阵列或是存储器进行编程。在一上电或边界扫描时,编程存储器。
【专利附图】

【附图说明】
[0012]图1为本发明的多内核微处理器的一可能实施例。
[0013]图2为本发明图1的内核与相对应电源闸系统的一可能实施例。
[0014]图3为本发明的闸控电路的一可能实施例。
[0015]图4为本发明图3的侧方块的一可能实施例。
[0016]图5为本发明图4的处理控制字的高位部分的闸方块的一可能实施例。
[0017]图6为本发明图4的处理控制字的低位部分的闸方块的一可能实施例。
[0018]图7A及图7B为本发明图2的电源闸控系统的一可能实施例。[0019]图8为本发明图7A及图7B的电源闸控制器的一可能实施例。
[0020]图9A及图9B为本发明图8的增量控制字调整器的一可能实施例。
[0021]图1OA及图1OB为本发明图8的整合控制字调整器的一可能实施例。
[0022]图11为本发明图8的控制字逻辑的一可能实施例。
[0023]图12为本发明图7B的时间解码器的一可能实施例。
[0024]图13为本发明图12的时钟位移器的一可能实施例。
[0025]图14为本发明图12的预设时钟选择电路的一可能实施例。
[0026]图15为本发明图12的固定恢复时钟选择电路的一可能实施例。
[0027]图16A及图16B为本发明图12的时钟周期选择器的一可能实施例。
[0028]图17为本发明的根据临界电压额外调整增益的一可能实施例,其中临界电压由一比较信号表不。
[0029]【符号说明】 [0030]100:微处理器;101~104:内核;
[0031]105~108:电源闸系统; 109:整合供给总线;
[0032]110:电源控制器;112:模式调整方块;
[0033]114:保险丝阵列;116:存储器;
[0034]201:电源闸控系统;206:闸控供给总线;
[0035]301:侧方块;401、403:闸方块;
[0036]EESDCLK:时钟信号;PGATEl:电源闸控信号;
[0037]FSB<3:0>:前端总线数值;PG_KILL_C0RE1:信号;
[0038]PG00D1:电源就绪信号; PGATE〈1: 4>:控制信号组;
[0039]701:恢复逻辑;703:0R逻辑;
[0040]705:电压比较组;707:时钟产生器;
[0041]709:分频器;711:时钟选择方块;
[0042]712:时间解码器;713:电源闸控制器;
[0043]PG16 --位;CMPl ~CMPN:比较结果;
[0044]PG_HME〈19:0>:时间数值;CB〈15:0>:反相清除数值;
[0045]S〈15:0>:设定数值;D〈15:0>:数据数值;
[0046]CB:反相清除输入端;S:设定输入端;
[0047]D:数据输入端;CK:时钟输入端;
[0048]801:增量控制字调整器; 803:整合控制字调整器;
[0049]805:寄存器组;807:控制字逻辑;
[0050]901:限流;913、1005:加法器;
[0051]905:减法器;911:加值解码器;
[0052]1001、1109:锁存器组;1017:V_D0WN 解码器;
[0053]1201:单热点解码器;1203:时钟位移器;
[0054]1205:预设时钟选择电路;1209:时钟周期选择器;
[0055]1207:固定恢复时钟选择电路;
[0056]PGATEl~PGATE4:电源闸控制信号;[0057]VDD、VSS、VDDO、VSSO、VDD1:电压;
[0058]PG_VREF< 1: N〉:参考电压组;
[0059]V_D0WN〈4:0>、PG_KILL_C0RE<1: 4>:信号组;
[0060]PWR_G00D、PG00D〈1: 4>、PG_FU_X、HIER、HIERB, HIGH、RESUME、KILLB、GATE、GATEB、HIGHB:信号;
[0061]PG_GATE_T0P20、PG_GATE_LEFT203、PG_GATE_RIGHT204、PG_GATE_B0TT0M205:闸控电路
[0062]PG_CNTRL〈16:0>、PG〈15:0>:控制字;
[0063]VDD1_FB、1〈16:0>、IN、1〈12:0>、I〈16:13>、1、S、0:输入端;
[0064]PG_FU_ADD_GN、 PG_FU_SUB_GN、 PG_FU_CONST_RES_CLK、 PG_FU_RESUME_STOP、0PB〈15:0>、PGTffO, PGTHREE、PGFOUR、PGFIVE 及 PGSIX、<*6>VSS0、PG〈15:7>、PGSIX、 <*5>VSS0、 PG〈15:5>、 SUB〈15:0>、 FSUB〈15:0>、 <*2>VSS0:PG〈15:3>:PGTWO、<*3>VSS0:PG〈 15: 4>:PGTHREE、<*4>VSS0:PG〈15: 5>:PGFOUR、<*5>VSS0:PG〈 15: 6>:PGFIVE,D0P〈15:0>、V0P〈14:0>:VDDO、D0P〈14:0>:VDD0、VOP〈I 3:0>:〈* 2>VDDO、D0P〈13:0>:〈*2>VDD0、<*4>VSS0:<*12>GATEB、V0P〈15:0>、00PB〈15:0>、VSS0:V0P〈15:1〉、<*3>VSS0:PGT〈15:0>:VSSO, <*2>VSS0:PGT〈15:0>:<*2>VSS0、DTIME<19:0〉、PG2T〈19:0> ?PG8T〈19:0>、〈*13>VDD0:PGHMEB〈6:3>:〈*3>VDD0、SHIFTVAL1 ?SHIFTVAL4:数值;
[0065]PG_FU_ENT〈10: 5>、PG_FU_RESUME_GN〈1: 0>、PG_FU_RES_PER<1: 0>:数值组;
[0066]PG_CNTRLA〈16:0>、PG_CNTRLB〈16:0>:缓冲结果;
[0067]0〈16:0>、0UT、0〈12:0>、0〈16:13>:输出端;
[0068]K16>?Ι〈0>:控制缓冲结果;
[0069]501:缓冲器组;
[0070]0<16>?0〈0>:缓冲输出控制电平;
[0071]502、504、506、508、602:PM0S 晶体管组;
[0072]501:缓冲器;
[0073]503、505、507、601、909、1015、1003、1101、812、1111、1113、1121、1211、1301、1303、1501、1503:反相器组;
[0074]CLK20、C20NS、C40NC、C2.6MS:时钟信号;
[0075]903、907、915、1007、1009、1011、1107、1413、1601、1603、1605、1607、1609、1611、1613、1615、1617、1701、1703:多工器;
[0076]917、1119、1602、1604、1606、1608、1610、1612、1614、1616:AND 门;
[0077]1115、1313、1315、1317、1505、1507、1509、1511、1409、1411、 =NAND 门;
[0078]919、1013、1103、1105、1117、1123、1305、1307、1309、1311、1319、1321、1323、1325、1327、1329、1401、1403、1405、1407:N0R 门。
【具体实施方式】
[0079]已知的是利用模拟技术进行电源闸控。在进行全电源闸控时,已知的电源闸控是完全地移除源极电压,因而遗失电路所存储的数据及逻辑状态,例如电路的存储器或寄存器所存储的数据。在许多的电路架构中,必需保留电路的状态或数据,好能进行稍后的恢复操作。
[0080]为了在全电源闸控下,维持电路的状态,可将电路所存储的数据或信息复制到另一存储装置或存储器中,其可在电路进入电源闸控时,维持数据。此处所提到的“状态”是指电路所存储的任何信息或数据,电路具有静态或动态装置,如寄存器、触发器、锁存器、动态存储装置…等等。在上电时,在进行恢复操作前,先将事先存储的数据存回电路中。上述的存储动作用以存储数据,如芯片上的快取…等等,但必须在移除电源时,移除存储装置的电源或其所存储的数据。为了在进入电源闸控前存储信息,以及在恢复操作下恢复信息,因此,必须花费许多时间,故从执行的角度来看,存储及恢复信息的代价是相当高的。在大尺寸的电路下,如一微处理器内核、一系统芯片的处理器…等等,已知的电源闸控的价格是特别昂贵的。
[0081]本发明了解已知的电源闸控技术并不合适。因此提出了一种数字电源控制技术,其具有状态恢复功能,并且将一电路的供给电压减少至一最终电平,其仍足以保留状态并减少漏电流。一种新的控制系统及方法,用以在电源闸控下,利用一数字方法,令分散式供给电压的电平等于一最终电压电平。在电源闸控下,数字控制系统合并整合电压位移,用以根据闸控供给总线的电压的变化量,暂时性地增加闸控供给总线的电压,以避免闸控供给总线的电压低于一状态保留电压电平。在恢复操作下,如根据一恢复指示,数字控制系统及方法还逐渐地将供给电压电平恢复成它本身的正常操作电压电平。另外,数字控制系统及方法可能包括至少一可编程参数,用以在电源闸控及恢复操作下,控制操作的进行。在本实施例中,由于信息被存 储在动态的装置中,如寄存器、触发器、锁存器、动态存储装置…等等,因此,电源会被存储,并且可回复到进入电源闸控前的状态。也可实现全电源闸控。全电源闸控操作可能具有至少一编程参数。
[0082]图1为本发明的一多内核微处理器一可能实施例。微处理器100包括四内核101-104。内核101-104各自耦接一相对应的电源闸系统,如105~108。虽然图1仅呈现内核101~104,但在其它实施例中,内核的数量可能大于或小于4。在本实施中,每一内核可能为一微处理器内核,但并非用以限制本发明。此处虽以微处理器内核为例,但可了解的是,其它需要电源闸控的任何电路型式或功能均可使用电源闸系统。微处理器100整合在一集成电路(IC)、半导体芯片…等等,并可能具有其它电路(未显)。
[0083]电源闸系统105~108分别接收一电源闸控制信号,如PGATE1、PGATE2、PGAT E3及PGATE4,其中电源闸控制信号PGATE1、PGATE2、PGATE3及PGATE4统称为电源闸控制信号组PGATE〈1:4>。每一电源闸控制信号独立地对内核104~104中的一个进行电源闸控。在一可能实施例中,可同时对内核101~104进行电源闸控。举例而言,电源闸控制信号PGATE1、PGATE2、PGATE3及PGATE4可能被一单一整体控制信号所取代或控制。微处理器100接收一外部电源供应电压,其位于来源电压VDD与VSS之间,其中来源电压VSS为一适当的参考电压电平,例如接地。来源电压VDD与VSS作为相对应的整合供应电压VDDO及VSSO。电源闸系统105~108接收电压VDDO及VSS0。内核101~104接收电压VSS0。电压VDDO提供给一导电板或是导体群,导体群构成一整合供给总线109。
[0084]如图所示,电源闸系统105将供应电压VDDO转换成一第一闸控供给电压VDD1。内核101接收第一闸控供给电压VDD1。电源闸系统106将供应电压VDDO转换成一第二闸控供给电压VDD2。内核102接收第二闸控供给电压VDD3。电源闸系统107将供应电压VDDO转换成一第三闸控供给电压VDD3。内核103接收第三闸控供给电压VDD3。电源闸系统108将供应电压VDDO转换成一第四闸控供给电压VDD4。内核104接收第四闸控供给电压VDD4。
[0085]当内核101~104操作在一全电源模式时,相对应的电源闸控制信号PGATEl~PGATE4将被无效化,并且相对应的电源闸系统105~108导通或是致能一预设全电源数量的P型或P通道元件,此处称为电源闸装置。预设全电源数量足以有效地将相对应的闸控供给电压VDDl~VDD4箝制在VDD0,用以最小化电压VDDO与相对应的闸控供给电压之间的阻抗路径,有助于提供电压予所选择的内核。
[0086]在一可能实施例中,P型电源闸装置包括PMOS晶体管…等等。进一步来说,数字电源闸控操作在一期间内,关闭所选择的PMOS晶体管,用以降低提供给内核的电压。在另一实施例中,NMOS晶体管…等等元件可能作为电源闸控装置,并设置在电源闸系统105~108中,并耦接在内核101~104的参考电压VSSO与相对应的本地电压之间,如VSSl~VSS4(未显示),本地电压VSSl~VSS4提供给内核101~104。
[0087]本领域技术人员均深知,在全电源模式下,每一微处理器内核将会出现大漏电流。虽然有技术可减少漏电流,但将造成功率损耗,如占总功耗的15%或更多。可知道的是,内核101~104并非同时启动。因此,当内核101~104中的至少一个进行电源闸控操作时,便可操作在一低功率模式,用以减少功率损耗。事实上,微处理器100里的多处理器结构的所有内核并不会同时被启动。因此,在正常操作下,对内核101~104中的至少一个进行电源闸控操作,用以降低微处理器100的整体功耗。
[0088]如果不需存储状态信息,则可利用一数字电源闸系统及方法对内核101~104中的至少一个进行全电源闸控 操作,用以关闭内核101~104中的至少一个。当内核101~104中的至少一个不需运作并且不需存储信息时,则可使用全电源闸控操作。但是在电源闸控操作下,即使内核进入闲置模式,仍需保留内核的状态,以供稍晚的恢复操作所使用。在已知的电源闸控结构中,一内核的所有状态会被存储在一芯片内建的存储器中或其它具有电源的相似元件(未显示)。然后,藉由不提供电压VDD或VSS予内核,便可有效地停止提供电源给内核。当需要使用该内核时,再重新提供电源给内核,并且撷取存储在存储器的状态,然后再重新开始运作。
[0089]已知电源闸控所使用的电平直接地影响整体效能。特别来说,由于需要较多时钟周期数量,才能完成所有转换,并且在一独立的存储器中,存储并撷取状态信息,因而造成大幅度的延迟。因此,在下电(power-down)与上电(power-up)时,将造成大延迟。若欲改善内核101~104的整体效应,则必须要降低延迟。
[0090]在图1的微处理器100中,每一电源闸系统105~108根据相对应的电源闸控制信号PGATEl~PGATE4(即电源闸控制信号组PGATE〈1: 4>),执行数字式的电源闸控。当需要对内核101~104的一特定内核进行电源闸控时,该内核将进入一闲置模式,并且内核内部的时钟也会被关闭。即使在闲置状态,仍然会有漏电流,因而造成严重的功率损耗。全电源闸控将会遗失内核所存储的数据或信息。然而,根据电源闸控制信号PGATEl~PGATE4的触发情况,关闭相对应的PMOS装置,用以在一既定时间下,减少提供给内核的闸控供给电压。最终的闸控供给电压小于全电源供给电压,但可维持内核的状态信息,并可降低功耗及漏电流。
[0091]若欲使一特定内核从电源闸控操作回到全电源操作下,则需进行一恢复程序或操作。特别来说,电源闸系统根据电源闸控制信号PGATEl~PGATE4的无效情况,在一特定期间,导通PMOS装置,用以增加供给电压,并将增加的供给电压提供给内核,其中可藉由编程调整特定期间的长短。当内核重新接收到全供给电压时,便离开闲置模式,并可能重新开始动作。
[0092]不论是降低电源及恢复电源的电源闸控的时间均小于已知的存储及恢复内核状态的时间。因此,进入及离开电源闸控模式的时间便可被最小化,大大地改善整体效率。
[0093]在一可能实施例中,在全电源模式下,供给电压VDDO大约为IV或1.05V。可了解的是,在特定的电源模式下,供给电压VDDO可能在0.95V~1.15V之间变化。在电源闸控模式下,闸控供给电压(如电压VDDl~VDD4中的至少一个)会被降低至450mV,用以在保留内核的状态下,减少或是最小化漏电流。可了解的是,针对不同的半导体技术,可能具有不同的特定电压电平,并且这些特定电压电平只是作为示范例。本发明可应用在不同电压电平的技术中,用以在维持电路(如微处理器内核…等等)的逻辑状态下,减少或最小化漏电流。
[0094]在一可能实施例中,微处理器100包括一电源控制器110,用以提供许多控制信号,以控制电源状态,并控制内核101~104的电源闸控功能。若欲对内核101~104中的至少一个进行电源闸控时,电源控制器110令内核101~104中的至少一个进入一闲置模式,并关闭相对应内核的内部时钟信号。接着,电源控制器100触发相对应的电源闸控制信号PGATEl~PGATE4(如PGATE〈1:4>所示),用以对相对应的内核进行电源闸控。
[0095]若欲恢复电源闸 控的内核时,电源控制器110无效化电源闸控制信号组PGATE〈1:4>里的相对应的电源闸控制信号,并等待一段时间,直到闸控供给电压恢复到正常操作电平以及完成恢复程序。当电源闸系统105~108的任一个触发电源就绪信号组PG00D〈1:4>里的相对应的电源就绪信号时,电源控制器110根据电源就绪信号组PG00D<1:4>的触发状态,得知恢复程序已完成,并且闸控供给电压已稳定在电压VDDO的电平。接着,电源控制器110重新致能内核内部的时钟信号,因此,内核可能重新运作。
[0096]电源控制器110可能还提供一参考电压组PG_VREF〈1:N>,用以控制电源闸系统105~108所执行的电源闸控处理,参考电压组PG_VREF〈1:N>可能具有至少一参考电压。对于特定的结构或装置,N可为任意数。当N为I时,表示只提供单一参考电压。举例而言,只要能够保留内核的数字状态,当N为I时,该单一参考电压为闸控供给电压VDDl~VDD4的最终电压电平,用以降低漏电流。在另一可能实施例中,当N为2时,表示提供两参考电压,如PG_VREF_L及PG_VREF_H。参考电压PG_VREF_L表示在电源闸控时,闸控供给电压VDDl~VDD4的最终电压电平。参考电压PG_VREF_H表示一微小电压电平,稍高于参考电压PG_VREF_L所代表的最终电压电平。
[0097]在其它实施例中,可定义或提供多个额外的参考电压,作为中间控制电压电平及多个最终电压。另外,可利用至少一可编程电压电平取代参考电压组PG_VREF〈1:N>的参考电压。在一些实施例中,参考电压组PG_VREF〈1:N>的参考电压由一外部来源所提供。
[0098]电源控制器110可能也提供信号组V_D0WN〈4: 0>予电源闸系统105~108,用以在电源闸控期间,进行调整,接下来将详细说明。在一些或下列的特定操作条件下,供给电压VDDO会被调降。在供给电压VDDO的电平改变前,电源控制器110触发信号组V_D0WN〈4:0>的一信号,其中被触发的信号表不供给电压VDDO的减少幅度。在电源闸控时,当闸控供给电压VDDl~VDD4中的至少一个下降至一状态保留电平时,电压VDDO的额外减少可能造成闸控供给电压中的至少一个(如VDD1)下降,并低于一最终电压电平。举例而言,若最终电压电平可维持内核的状态信息时,在没有其它校正的情况下,电压VDDO的减少可能造成闸控供给电压小于最终电压电平,因而无法保留内核的状态信息。信号组V_D0WN〈4:0>里的信号作为一次性的调整,用以致能电源闸系统105~108,并调整电源闸控操作。因此,可避免闸控供给电压小于最终电压电平。
[0099]例如在需要关闭内核或不需要存储内核的状态信息时,电源控制器110致能信号组PG_KILL_C0RE〈1:4>的一相对应信号,用以对一相对应的内核进行全电源闸控的初始化,闸控供给电压约会减少至零(或接近零)。
[0100]信号PWR_G00D用以表示整合供给电压VDDO已稳定在本身的正常操作电压电平。在图1中,信号PWR_G00D由电源控制器110所产生,但信号PWR_G00D也可能由外部所提供(如一主机板…等等),用以表示供给电压VDDO已稳定且有效。在上电或重置并且在开始致能前,信号PWR_G00D可能用以初始化电源控制器110及电源闸控信号。
[0101]许多其它的可编程控制信号PG_FU_X被用以控制电源闸控操作以及操作的模式。符号FU所表示的值由保险丝或扫描值…等等所定义,用以调整微处理器100的相对应操作参数及数值。扫描值可能是数据或是寄存器数值,在IC的测试阶段就已写入,如JTAG边界扫描…等等。所述的结构提供许多可编程操作的静态及动态电平。在制造或特定的装置下,可能凭经验进行测试操作,并且定义相对应所需的操作参数。接着可能使用保险丝,用以静态地编程操作参数,用以得到最佳的结果。扫描输入及保险丝可能是线或门(wired-OR),用以增强测试及静态编程。电源控制器110可能提供信号PG_FU_X或致能其它控制信号,用以控制电源闸控处理。
[0102]在本实施例中,模式调整方块112可能提供信号PG_FU_X,用以在电源闸控功能下,控制或调整操作的模式。模式调整方块112具有一保险丝阵列114以及一存储器116。不论是保险丝阵列114或是存储器116或是保险丝阵列114及存储器116的整合可能用以编程信号PG_FU_X的至少一个。保险丝阵列114包括许多保险丝,该等保险丝可能被编程,用以静态设定信号PG_FU_X的至少一个。举例而言,保险丝的编程可藉由地址选择或直接将一特定保险丝耦接一外部引脚(未显示),在施加足够的高压以熔断保险丝。当保险丝被熔断时,可提供一电性短路,用以执行一第一模式或一预设模式的操作。当保险丝未被熔断时,提供一开路特性,用以一第二模式或一编程模式的操作。存储器可静态或动态地设定信号PG_FU_X的至少一个。举例而言,编程静态存储器,如只读存储器(ROM)…等等,用以设定信号PG_FU_X的至少一个。编程动态存储器,如随机存取存储器(RAM)、寄存器…等等,用以在操作时(如上电和/或边界扫描…等等),设定信号PG_FU_X的至少一个。
[0103] 图2为本发明的内核101与电源闸系统105的示意图。由于图1里的每一内核与相对应的电源闸系统之间的关系均相同,故图2所显示的内核101与电源闸系统105之间的关系也可代表图1里的其它内核与相对应电源闸系统之间的关系。在本实施例中,电源闸系统105包括一电源闸控系统201以及许多闸控电路,分别显示为PG_GATE_T0P202、PG_GATE_LEFT203、PG_GATE_RIGHT204 以及 PG_GATE_B0TT0M205。闸控电路 PG_GATE_T0P202、PG_GATE_LEFT203、PG_GATE_RIGHT204 以及 PG_GATE_B0TT0M205 分别位于内核 101 的上方、左方、右方及下方。每一闸控电路包括许多电源闸控装置。电源闸控装置设置在内核101的周围。在另一实施例中,电源闸控装置可能作为一电源闸控阵列,并整合在内核101之中。针对内核101?104中的至少一个,可设置内部及外部的闸控装置。
[0104]内核101以电压VSSO为参考,并包括一闸控供给总线206。闸控供给总线206提供闸控供给电压VDDl予内核101。本领域技术人员均深知,内核101具有许多PMOS晶体管、NMOS晶体管及其它电路元件(均未显示),用以执行处理功能。在全电源条件下,内核101的CMOS装置具有较大的漏电流。在本实施例中,电源闸控系统201提供17位的控制字PG_CNTRL〈16:0>。在电源闸控期间,控制字PG_CNTRL〈16: 0>控制电压VDDl的电平,电压VDDl的电平与电压VDDO有关。电压VDDl藉由输入端VDD1_FB,反馈至电源闸控系统201。
[0105]电源闸控系统201接收电压VDD0,因此,在内核101进行电源闸控时,电源闸控系统201仍为上电状态,用以维持电源闸控及操作。电源闸控系统201接收一时钟信号EESDCLK以及一 4位的前端总线数值FSB〈3:0>。前端总线数值FSB〈3:0>表示一总线时钟的频率。时钟信号EESDCLK与前端总线数值FSB〈3:0>用以设定及调整至少一内部时钟信号(如PG_CLK)的周期。内部时钟信号PG_CLK的周期时间为执行电源闸控的时间。电源闸控系统201接收信号PWR_G00D。信号PWR_G00D由电源控制器110所触发,用以表示供给电压VDDO已回到正常操作电压电平。当信号PWR_G00D未被触发时,重置或初始化电源闸控系统201。在上电或重置时,电压VDDl的电平跟随电压VDDO电平。
[0106]电源闸控系统201接收信号PG_KILL_C0RE1。信号PG_KILL_C0RE1为信号组PG_KILL_C0RE<1:4>的一信号。电源控制器110提供信号PG_KILL_C0RE1予内核101。若欲关闭内核101或是在一低功率模式下不需存储内核101的状态信息时,电源控制器110触发信号PG_KILL_C0RE1,用以对内核101进行全电源闸控的初始化,此时,电压VDDl下降至(或接近)0V。在上电时,若当信号PWR_G00D尚未被触发,则忽略信号PG_KILL_C0RE1。
[0107]电源闸控系统201接收一电源闸控信号PGATE1。电源闸控信号PGATEl为信号组PGATE〈1:4>的一信号。信号组PGATE〈1:4>由电源控制器110所提供,用以表示是否欲唤醒或解除内核101的电源闸控操作。当信号PGATEl被触发时,用以对内核101进行电源闸控初始化。当信号PGATEl被无效化时,内核101离开电源闸控操作,并重新回到正常模式。
[0108]电源闸控系统201接收参考电压组PG_VREF〈1:N>。藉由比较参考电压组PG_VREF<1:N>的至少一参考电压与电压VDDl (通过输入端VDD1_FB),便可以监控电源闸控操作的进展,和/或重新回到正常模式。举例而言,在一可能实施例中,电源闸控系统201比较电压VDDl的电平与至少一参考电压,用以根据电压VDDl是否到达特定临界值,以进入和/或离开电源闸控操作。本发明并不限定用以控制电源闸控的参考电压的数量。
[0109]电源闸控系统201接收信号组V_D0WN〈4:0>,用以在特定条件下,对控制字PG_CNTRL〈16:0> (或简称为PG_CNTRL)做一次性调整。电源控制器110可能触发信号组乂_D0WN<4:0>的一特定信号,用以在一低电源状态下,减少电压VDDO的电平。在一些实施例中,夕卜部或内部的去I禹电容(decoupling capacitor)可能存在于内核101之中,并接收闸控供给电压VDDl。若不具有去耦电容,则不需要信号组V_D0WN〈4:0>,或是忽略信号组V_D0WN〈4:0>。然而,若具有去耦电容,或是内核具有很大的容值时,由于大容值将会影响电阻-电容(RC)时间系数,特别是如果电压VDDO也被调降了,在此情况下,可利用控制字PG_CNTRL调整电压VDDI。RC时间系数里的C指的是内核101内的总容值,而R指的是耦接在电压VDDO与VDDl之间的电源闸控装置的总阻抗。当电源闸控装置被开启或关闭时,将影响总阻抗,进而影响RC时间系数。
[0110]电源闸控系统201检测信号组V_D0WN〈4:0>的触发状况,并根据RC时间系数调整控制字以及电压VDD1,用以补偿RC时间系数,以确保即时可作出反应,并避免电压VDDl的电平处于一未知电平。如此可预防电压VDDl的电平低于一预设最小电平(如能够存储状态的最终电压电平),并可避免遗失存储在内核101的状态信息。
[0111]当电压VDDl为正常操作电平时,电源闸控系统201触发一电源就绪信号PG00D1,并提供电源就绪信号PG00D1予电源控制器110。电源就绪信号PG00D1为上述信号组PG00D<1:4>中的一信号。在一实施例中,在进行电源闸控操作时,控制字PG_CNTRL〈16:0>的最高有效位(MSB),即控制位PG_CNTRL〈16>会被关闭或不被触发,用以关闭相对应的多个PMOS装置。当最高有效位或是控制位PG_CNTRL〈16>被触发时,则进行恢复处理。藉由控制位PG_CNTRL〈16:0>,可衍生出信号PG00D1,或是直接触发信号PG00D1。
[0112]电源闸控系统201接收信号PG_FU_X,用以调整相对应的操作参数及数值…等。这些参数可被编程,并可藉由保险丝、扫描…等等方式设定这些参数。具有符号GN的信号用以调整相对应操作参数或数值的增益。举例而言,数值PG_FU_ADD_GN调整一加总数值,用以增加控制字PG_CNTRL (如在电源闸控模式下,静态保留电压电平),而数值PG_FU_SUB_GN调整一差异数值,用以减少控制字PG_CNTRL(如在电源闸控模式下)。在电压调制下,加总数值及差异数值为动态的增益。[0113]在电源闸控操作下,若电压VDDl到达一特定临界电压时,利用数值PG_FU_HIERB调整时间基数或调整周期。在一实施例中,当电压VDDl下降至一临界电平时,触发二进制信号HIER(稍后将说明),临界电平高于一最终电压电平,最终电压电平可保留内核的数据或状态,并由低临界电平(HIGH)表示。当信号HIER被触发时,增加时钟信号PG_CLK的周期,用以减少调整速度,时钟信号PG_CLK的周期与上述调整时间的长短有关。在未提供或未触发数值PG_FU_HIERB的情况下,调整时间为一预设值。进一步而言,数值PG_FU_HIERB用以改变时钟信号PG_CLK的周期大小。
[0114]在电源闸控操作下,可利用保险丝或扫描值调整时钟信号PG_CLK。举例而言,藉由保险丝设定数值组PG_FU_ENT〈10: 5>的每一数值,用以改变时钟信号PG_CLK的周期。在一可能实施例中,可藉由特定架构的不同参数调整时钟信号PG_CLK的周期。在一实施例中,一特定内核的容值可能会因外部电容…等等而增加,因而在电源闸控操作下,将会增加RC时间系数。额外的容值可能会增加RC时间系数,因而减慢调整动作的反应速度。数值组PG_FU_ENT<10:5>具有一可编程功能,用以在电源闸控操作下,补偿额外的容值。
[0115]当一信号RESUME被触发,藉由许多保险丝或扫描参数,便可进入恢复操作,并离开电源闸控操作。信号RESUME —般是根据信号PGATEl或_PG_KILL_C0RE1而被触发。在电源闸控操作的部分或所有时间中,信号RESUME会被无效化。在恢复处理中,一调整数值会被加到控制字PG_CNTRL中。数值组PG_FU_RESUME_GN〈1: 0>用以选择不同的加总数值,用以调整恢复增益,数值组PG_FU_RE SUME_GN< 1:0>具有两数值,藉由保险丝或扫描方式,调整时钟信号PG_CLK的周期。举例而言,数值PG_FU_CONST_RES_CLK用以在恢复处理中,选择时钟信号PG_CLK的一预设固定周期。数值组PG_FU_RES_PER〈1:0>为一可编程的2位数值,可能用以将时钟信号PG_CLK的周期调整成一固定数值。预设周期的长度必须足以在回复到正常操作下,不会中断周围内核或其它电路的操作。数值PG_FU_RESUME_STOP为一二进制数值,其用以表示在正常操作下,停止调整控制字以及将控制字恢复到起始电平。
[0116]闸控电路202~205的动作原理相同,并且具有至少一输入端以及至少一输出端,输入端用以接收整合供给电压VDD0,输出端用以耦接闸控供给总线206。闸控供给总线206传送闸控供给电压VDD1。在本实施例中,电源闸控系统201产生控制字PG_CNTRL〈16:0>,用以在上述的电源闸控操作中,控制电压VDDl的电平,电压VDDl的电平相对于电压VDD0。闸控电路202及203的输入端1<16:0>接收控制字PG_CNTRL〈16:0>。闸控电路202缓冲控制字PG_CNTRL〈16: 0>后,再将缓冲结果PG_CNTRLA〈16: 0>通过输出端0〈16: 0>输出至闸控电路204的相对应输入端1〈16:0>。同样地,闸控电路203缓冲控制字PG_CNTRL〈16:0>后,再将缓冲结果PG_CNTRLB〈16:0>通过输出端0〈16:0>输出至闸控电路205的相对应输入端 1〈16:0>。
[0117]符号I及O分别表示输入及输出控制字CNTRL,闸控电路202及203缓冲控制字CNTRL后,分别产生缓冲结果CNTRLA及CNTRLB。闸控电路204及205的动作原理与闸控电路202及203相同,即使未显示闸控电路204及205所产生的缓冲结果。在此处,控制字PG_CNTRL<16:0>也可称为PG_CNTRL,除非需使用控制字PG_CNTRL〈16: 0>的16位。
[0118]图2所显示的闸控电路(如202~205)以分散的方式,设置在一大电路(如内核101)的周围,但并非用以限制本发明。举例而言,相同或不同的闸控电路可能完全地整合在电路或内核中,或是一部分的闸控电路整合在电路中,而另一部分设置在电路的周围。不论闸控电路的结构为何,每一闸控电路具有部分的分配电路,用以传送控制字PG_CNTRL<16:0>的每一位至电源闸控装置的相对应控制端。分配电路一般具有许多缓冲器或传送器…等等,用以维持控制字的每一位的信号正确性。
[0119]图3为本发明 的闸控电路PG_GATE_T0P202的简单示意图,闸控电路PG_GATE_T0P202~205的动作原理相同。闸控电路PG_GATE_T0P202具有四独立并大致相同的侧方块 301。侧方块 301 藉由控制字 PG_CNTRL(如在 PG_CNTRL〈16:0> 及 PG_CNTRLA〈16:0> 之间),以菊花链(daisy chained)方式串接在一起。每一侧方块301通过相对应的输入端1<16:0>接收控制字PG_CNTRL或一缓冲结果,并通过输出端0〈16:0>输出缓冲结果。
[0120]每一侧方块301还包括输入端IN及输出端OUT。输入端IN耦接整合供给总线109,用以接收电压VDD0。输出端OUT耦接闸控供给总线206,用以产生电压VDDl。一般而言,控制字PG_CNTRL〈16:0>的每一位导通耦接在VDDO与VDDl之间的装置,并可得知供给电压之间的容值或是阻抗值。当许多装置(或是所有装置)被导通时,电容为最大值,并且阻抗最小,因此,电压VDDl有效地被箝制到电压VDD0,假设,电压VDDl约等于电压VDD0。在电源闸控操作的局部或全部时间下,关闭所有装置,因此,相对于电压VDD0,电压VDDl的电平下降。
[0121]图4为本发明的侧方块301的一可能实施例。侧方块301具有两独立且相同的闸方块401。闸方块401通过控制字的高位部分PG_CNTRL〈16:13>或是高位部分PG_CNTRL<16:13>的缓冲结果,以菊花链的方式连接在一起。每一闸方块401包括控制字输入端1〈16:13>以及控制字输出端0〈16:13>。侧方块301还具有其它闸方块403。闸方块403通过输入端1〈12:0>接收控制字的低位部分?6_0见1^〈12:0>,并通过输出端0〈12:0>输出低位部分PG_CNTRL〈12:0>的缓冲结果。闸方块401及403均具有输入端IN及输出端OUT。输入端IN耦接整合供给总线109,用以接收电压VDD0。输出端OUT耦接闸控供给总线206,用以提供电压VDDl。
[0122]图5为用以处理控制字的高位部分的闸方块401的一可能实施例。控制字的最高控制位PG_CNTRL〈16>控制缓冲结果1〈16>。藉由缓冲器组501 (如8个串联的缓冲器)处理最高控制位PG_CNTRL〈16>,并提供一缓冲输出控制电平0〈16>。多个PMOS晶体管组502并联在一起,并且每一 PMOS晶体管组502的栅极耦接一相对应的缓冲器501的输出端,用以接收一相对应的缓冲结果(最高控制位PG_CNTRL〈16>的缓冲结果)。PMOS晶体管组502的源极接收电压VDD0,其漏极提供电压VDD1。在本实施例中,当最高控制位PG_CNTRL〈16>被触发至低电平时,PMOS晶体管组502被导通,用以在电压VDDO与VDDl之间,提供一相对应的电流路径。当最高控制位PG_CNTRL〈16>被触发至高电平(或是无效电平)时,PMOS晶体管组502不被导通。
[0123]在一实施例中,每一 PMOS晶体管组502具有768个并联的PMOS晶体管。每一闸方块401具有8个PMOS晶体管组502,每一侧方块301具有2个闸方块401,并且每一闸控电路202?205均具有4个侧方块,故总共具有196,608个PMOS晶体管(大均200K个晶体管)并联在一起,并且受控于最高控制位PG_CNTRL〈16>。由于闸控电路、侧方块及闸方块分散在内核101的周围,并且每一内核周围均具有相同的架构,因此,微处理器100的每一内核被相当大数量的PMOS装置所围绕,该等PMOS装置受控于最高控制位PG_CNTRL〈16>。在一实施例中,每一 PMOS晶体管的尺寸大约2微米(micron),因此,晶体管材料大约需393216微米(大约400K微米),并由最高控制位PG_CNTRL〈16>所控制。
[0124]控制字的最高控制位PG_CNTRL〈16>的下一最高有效控制位PG_CNTRL〈15>控制缓冲结果1〈15>,藉由反相器组503缓冲控制位PG_CNTRL〈15>。反相器组503的输出端耦接PMOS晶体管组504。PMOS晶体管组504里的晶体管并联在一起,并且其栅极耦接相对应反相器组的输出端,其源极接收电压VDDO,其漏极产生电压VDDl。在本实施例中,当控制位PG_CNTRL<15>为低电平时,导通PMOS晶体管组504里的每一晶体管,用以在VDDl与VDDO之间提供电流路径。当控制位PG_CNTRL〈15>为高电平时,关闭PMOS晶体管组504里的每一晶体管。
[0125]在一可能实施例中,每一 PMOS晶体管组504具有64个并联的PMOS晶体管。每一闸方块401具有4个PMOS晶体管组504,每一侧方块301具有2个闸方块401,并且每一闸控电路202?205均具有4个侧方块,故总共具有8,192个PMOS晶体管并联在一起,并且受控于控制位PG_CNTRL〈15>。在一实施例中,每一 PMOS晶体管的尺寸大约2微米(micron),因此,晶体管材料大约需16384微米,并由控制位PG_CNTRL〈15>所控制。因此,虽然受控于控制位PG_CNTRL〈15>的PMOS装置的数量极小于受控于控制位PG_CNTRL〈16>的PMOS装置的数量,但微处理器100的每一内核的周围仍具有许多PMOS装置,该等PMOS装置受控于控制位 PG_CNTRL〈15>。
[0126]控制字的控制位PG_CNTRL〈15>的下一最高有效控制位PG_CNTRL〈14>控制缓冲结果1〈14>,藉由反相器组505缓冲控制位PG_CNTRL〈14>。反相器组505的输出端耦接PMOS晶体管组506。PMOS晶体管组506里的晶体管并联在一起,并且其栅极耦接相对应反相器组的输出端,其源极接收电压VDD0,其漏极提供电压VDDl。在本实施例中,当控制位PG_CNTRL〈14>为低电平时,PMOS晶体管组506里的每一晶体管被导通,用以在VDDl与VDDO之间提供电流路径。当控制位PG_CNTRL〈14>为高电平时,PMOS晶体管组506里的每一晶体管不导通。
[0127]在一可能实施例中,PMOS晶体管组506具有64个并联的PMOS晶体管。每一闸方块401具有2个PMOS晶体管组504,每一侧方块301具有2个闸方块401,并且每一闸控电路202?205均具有4个侧方块,故总共具有4,096个PMOS晶体管并联在一起,并且受控于控制位PG_CNTRL〈14>。在一实施例中,每一 PMOS晶体管的尺寸大约2微米(micron),因此,晶体管材料大约需8192微米,并由控制位PG_CNTRL〈14>所控制。因此,虽然受控于控制位PG_CNTRL〈14>的PMOS装置的数量为受控于控制位PG_CNTRL〈15>的PMOS装置的数量的一半,但微处理器100的每一内核的周围仍具有许多PMOS装置,该等PMOS装置受控于控制位 PG_CNTRL〈14>。
[0128]控制字的控制位PG_CNTRL〈14>的下一最高有效控制位PG_CNTRL〈13>控制缓冲结果1〈13>,反相器组507缓冲控制位PG_CNTRL〈13>。反相器组507的输出端耦接PMOS晶体管组508。不同之处在于PMOS晶体管组508只具有64个PMOS晶体管。在本实施例中,总共具有2,048个PMOS晶体管并联在一起,并且受控于控制位PG_CNTRL〈13>。在一实施例中,晶体管组508的每一 PMOS晶体管的尺寸大约2微米(micron),因此,晶体管材料大约需4096微米,并由控制位PG_CNTRL〈13>所控制。因此,虽然受控于控制位PG_CNTRL〈13>的PMOS装置的数量为受控于控制位PG_CNTRL〈14>的PMOS装置的数量的一半,但微处理器100的每一内核的周围仍具有许多PMOS装置,该等PMOS装置受控于控制位PG_CNTRL〈13>。
[0129]控制字的最高有效位,即控制位PG_CNTRL〈16>大约控制分散在内核101周围的闸控电路202?205里的200K个PMOS晶体管502,大约需要400K微米的晶体管材料。控制位PG_CNTRL〈15:13>为二进制格式,其中控制位PG_CNTRL〈15>控制大约16,384微米的晶体管材料,控制位PG_CNTRL〈14>控制大约8,192微米的晶体管材料,控制位PG_CNTRL〈13>控制大约4,096微米的晶体管材料。在本实施例中,当相对应的控制位被触发至低电平时,便可导通相对应的PMOS晶体管;当控制位被触发至高电平时,便不导通相对应的PMOS晶体管。
[0130]图6为接收控制字的低位部分的闸方块403的一可能实施例。闸方块403继续处理剩下的位PG_CNTRL〈12: 0> (除了控制位PG_CNTRL〈16>以外,控制位PG_CNTRL〈15:00>均为二进制格式)。针对控制位PG_CNTRL〈12:0>而言,每一位所控制的PMOS晶体管数量和/或晶体管材料为上一个位所控制的PMOS晶体管数量和/或晶体管材料的一半。此外,每一 PMOS晶体管的栅极由相对应的控制位所控制,其源极接收电压VDD0,其漏极提供电压VDD I。
[0131]控制字的其它位PG_CNTRL〈12: 0>在闸方块403里的结构相似于控制位PG_CNTRL〈13>,并包括反相器组601以及PMOS晶体管组602,除了 PMOS晶体管的数量和/或尺寸会被调整,用以延续二进制格式。反相器组601的尺寸取决于每一设计里的晶体管材料的数量。
[0132]控制字的控制位PG_CNTRL〈12>控制缓冲结果1〈12>,其连接反相器组601以及PMOS晶体管组602。PMOS晶体管组602具有64个PMOS晶体管。控制位PG_CNTRL〈12>的结构相似于控制位PG_CNTRL〈13>的结构。在每一侧方块301中,具有2个闸方块401以及I个闸方块403,因此,控制位PG_CNTRL〈12>所控制的晶体管数量为控制位PG_CNTRL〈13>所控制的晶体管数量的一半,用以继续二进制格式。接下来的控制位PG_CNTRL〈11:6>的每一位具有相同的架构,只是控制的晶体管数量为上一位的一半。如图所示,缓冲控制位1〈11>控制PMOS晶体管组602里的32个PMOS晶体管;缓冲控制位1〈10>控制PMOS晶体管组602里的16个PMOS晶体管;缓冲控制位1〈9>控制PMOS晶体管组602里的8个PMOS晶体管;缓冲控制位1〈8>控制PMOS晶体管组602里的4个PMOS晶体管;缓冲控制位1〈7>控制PMOS晶体管组602里的2个PMOS晶体管;缓冲控制位1〈6>控制PMOS晶体管组602里的I个PMOS晶体管。
[0133]下一控制位1〈5>只控制一半的PMOS晶体管的一半,如PMOS晶体管604。在一可能实施例中,PMOS晶体管604的宽度只有PMOS晶体管602的一半宽度,故相较于PMOS晶体管602,PMOS晶体管604只需一半的晶体管材料。下一控制位1〈4>只控制1/4个PMOS晶体管,如PMOS晶体管606。在一可能实施例中,PMOS晶体管606只有PMOS晶体管604的一半宽度,故只具有一半的晶体管材料。下一控制位1〈3>只控制1/8个PMOS晶体管,如PMOS晶体管608。在一可能实施例中,PMOS晶体管608只有PMOS晶体管606的一半宽度,故只具有一半的晶体管材料。剩下控制位1〈2:0>只控制1/16、1/32及1/64个PMOS晶体管,如PMOS晶体管610、612、614。虽然每一连续晶体管的宽度只有一半,但长度却多一倍。因此,PMOS晶体管610、612及614的宽度相似于PMOS晶体管608的宽度,除了 PMOS晶体管610的长度是PMOS晶体管608的长度的二倍,PMOS晶体管612的长度是PMOS晶体管608的长度的四倍,PMOS晶体管614的长度是PMOS晶体管608的长度的八倍。
[0134]在本实施例中,控制位PG_CNTRL〈12>控制2048微米的晶体管材料,控制位PG_CNTRL〈11>控制1024微米的晶体管材料,控制位PG_CNTRL〈10>控制512微米的晶体管材料,控制位PG_CNTRL〈9>控制256微米的晶体管材料,控制位PG_CNTRL〈8>控制128微米的晶体管材料,控制位PG_CNTRL〈7>控制64微米的晶体管材料,控制位PG_CNTRL〈6>控制32微米的晶体管材料,控制位PG_CNTRL〈5>控制16微米的晶体管材料,控制位PG_CNTRL〈4>控制8微米的晶体管材料,控制位PG_CNTRL〈3>控制4微米的晶体管材料,控制位PG_CNTRL<2>控制2微米的晶体管材料,控制位PG_CNTRL〈1>控制I微米的晶体管材料,控制位PG_CNTRL<0>控制1/2微米的晶体管材料。
[0135]在本实施例中,每一分支的PMOS晶体管的尺寸逐渐减少,到控制位PG_CNTRL〈6>时,只剩下单一晶体管。因此,可调整PMOS晶体管的宽度-长度比例(W/L),用以减少晶体管材料,以最小化二进制图案。对于下一控制位PG_CNTRL〈5>而言,其宽度已被减少一半,控制位PG_CNTRL〈4>及PG_CNTRL〈3>的宽度再被减少一半。因此,对于剩下的2位而言,长度参数是为可变的,用以完成二进制图案。
[0136]上述的控制位及PMOS装置的特定结构与二进制分散图案为一可能实施方式,也可以利用其它变化实现。一般而言,许多装置可分散在内核的周围,并耦接在电压VDDO与VDDl之间,并在进行电源闸控时,藉由导通或不导通装置,以数字化地切换供给电压之间的电流路径的大小。在一数字化控制方法中,是改变电压VDDl相对于VDDO的电平。在一可能实施例中,在电源闸控操作时,电压VDDl的最终电平必须足以保留内核信息,用以降低漏电流。
[0137]请参考图2,在正常操作下,电源闸控系统201将控制字PG_CNTRL设定成一预设数值,用以将电压VDDl箝制在电压VDD0。在一实施例中,控制字的位PG_CNTRL〈16、11:0>为低电平,用以导通相对应的PMOS晶体管,而控制字的其余位PG_CNTRL〈15:12>为高电平,也就是控制位PG_CNTRL〈16:0>为一初始数值01111000000000000b,其中b为二进制表示法。如上所述,电源控制器110会等内核101进入闲置模式,或是命令内核101进入闲置模式后,然后再关掉内核101的功能时钟,并致能信号PGATE1,用以对内核101进行电源闸控操作。当信号PGATEl被触发时,电源闸控操作被初始化,故控制字的最高位PG_CNTRL〈16>会被上拉至高电平,用以关闭主要的PMOS晶体管(如约200K)。由于内核101为闲置状态,并且产生漏电流,因此,当控制位PG_CNTRL〈16>关闭电压VDDO与VDDl之间的大部分晶体管材料时,电压VDDl的电平不会明显地下降。此时,只有位PG_CNTRL〈11:0>导通约4096微米的晶体管材料,用以维持电压VDDl充分接近电压VDD0。应该注意的是阻抗,在电压VDDO与VDDl之间的阻抗将被增加,因而可能造成电压VDDO与VDDl之间电压的些微变化。
[0138]电源闸控系统201接着开始数字化控制控制字的位PG_CNTRL〈11:0>,用以将闸控供给电压VDDl的电平减少至最终电压电平。在每一连续步骤中,电压VDDO与VDDl之间的阻抗会增加,因此,电压VDDl会减少,直到达一最终电压电平。如上所述,当电压VDDl等于最终电压电平时,可大大地减少漏电流,并可维持内核101进入电源闸控之前的状态。
[0139]图1所示的电源闸系统105?108中的每一个利用字元PG_CNTRL的每一位选择控制PMOS装置,用以进行数字化控制,其中PMOS装置围绕在微处理器100的每一内核周围。在一简单的数字控制架构中,每隔一固定时间间隔,便将控制字PG_CNTRL减去一固定数字调整数值,用以达到最终电压电平。闸控供给电压VDDl —般随着控制字PG_CNTRL的数值而变化,故当控制字PG_CNTRL减少时,闸控电压VDDl也会减少。在电源闸控操作下,藉由比较电压VDD1_FB与PG_VREF_L,便可得知是否到达最终电压电平,并在达到最终电压电平时,维持控制字PG_CNTRL的数值。然而,在本实施例中,控制字PG_CNTRL可能随着操作时钟的频率而变化,并随着闸控电压的任何进一步的调整而作出反应。
[0140]然而,在关闭PMOS装置时,电压VDDO与VDDl之间的阻抗将会增加(但容值却会维持在相同的值),因此,在调整电压VDDl时,RC时间系数会被增加。在本实施例中,在每次新的调整中,需要较长的时间才能改变并稳定电压VDDl的电平。当调整的数值太大时,或是调整的时间间隔太短时,电压VDDl就有可能无法到达最终电压电平。必须了解的是,在进行电源闸控操作时,若需要维持内核信息时,则闸控电压就不能小于一最终电压电平,因若小于最终电压电平,就无法保留内核101的状态信息。因此,调整数值必须够小,和/或调整的时间间隔必须够长,用以避免电压VDDl无法等于最终电压电平。
[0141]在另一实施例中,调整数值与控制数值之间具有一呈比例关系。在此例中,当控制数值减少时,调整数值也会根据一固定调整增益而呈比例下降。在本实施例中,一开始会快速地大幅度调整控制数值,然后再逐渐减少控制数值。闸控供给电压VDDl将根据控制数值的变化而变化。在上述的数字化实施例中,可藉由右移控制字,用以进行一比例式调整,控制字便可呈比例地下降,并可得到调整数值。在一实施例中,控制字被右移6次,用以提供一调整数值,其为控制字的1/64,再从控制字减去右移的结果,用以比例式地减少控制字。
[0142]在另一实施例中,用以调整电压VDDl的调整期间的长短可能连续地或周期性地被调整。在一实施例中,当决定调整时间的电源闸控时钟的周期增加时,调整周期也会随着增加,因此,当电压VDDl达最终电压电平时,调整的频率最小。在一可能实施例中,先产生一时钟,其具有已知的周期,再利用该时钟产生多个时钟信号,每一时钟信号具有不同的周期。在进行调整时,藉由选择不同的时钟信号,改变调整周期。在另一实施例中,可利用振荡器…等等,调整时钟信号的频率。在其它实施例中,藉由改变时钟的周期,便可随着时间改变(如增加)调整期间。
[0143]在其它实施例中,也可在开始或离开电源闸控操作时,随着时间,同时改变调整数值及调整周期。
[0144]在电源闸控操作的一开始或离开电源闸控操作时,预先设定调整数值和/或调整周期,用以提供一固定的电压调整曲线。在其它实施例中,根据至少一监控输入而动态地调整调整数值和/或调整周期。在一实施例中,监控闸控供给电压VDD1,并将监控结果与至少一临界电压电平(如上述参考电压组PG_VREF〈1:N>的参考电压)相比较,再根据比较结果调整调整数值和/或调整周期。在另一实施例中,根据控制字本身,便可得到调整数值和/或调整周期,例如控制字等于一特定预设的控制字。举例而言,当控制字为一初始值时,利用位PG_CNTRL〈11:0>导通相对应的PMOS晶体管,而控制字的高位部分PG_CNTRL〈15:12>关闭相对应的PMOS晶体管,用以调整调整数值和/或调整周期。
[0145]在另一可能实施例中,监控临界电压电平及控制字的临界数值,也可得到调整数值和/或调整周期。本发明对于进行数字化的电源闸控操作提供了许多变化情况。
[0146]图7A及图7B为本发明的电源闸控系统201的一可能实施例。电源闸控系统201具有一数字调整器。数字调整器数字化地调整控制字PG_CNTRL,用以控制闸控供给总线206的电压电平。闸控供给总线206提供闸控供给电压VDD1。在电源闸控操作的部分或所有时间下,或是在电源恢复操作下(如图8的增量控制字调整器801),逐渐加上或减去一数字调整数值,用以 进行数字化调整,或是利用较大的电压位移(根据整合供给电压VDDO的变化),加上一较大的数字调整数值,以进行数字化调整。数字调整数值的大小可能取决于闸控状态(闸控操作或恢复操作)、电压VDDl及控制字本身。在连续调整周期中,调整率可能是取决于信号PG_CLK的周期,信号PG_CLK的周期可能也是取决于闸控状态(闸控操作或恢复操作)、电压VDDl及控制字本身。图7A及图7B所显示的电源闸控系统201只是用以简单地表现出相关的功能操作,并非用以限制本发明。举例而言,在某些特定的架构中,许多控制信号可能具有许多版本,包括与可用的时钟信号同步…等等。这些特定控制信号的版本并未在此说明,因对于完成本发明而言,这些控制信号并非必要。
[0147]电源闸控系统201包括恢复逻辑701。恢复逻辑701接收信号PG_KILL_C0RE1及PGATE1,并提供信号RESUME。在局部的电源闸控操作中,电源控制器110触发信号PGATE1,用以令电源闸控电路105将电压VDDl的电平减少至一最终电压电平,如一状态保留电平。预设的最终电压电平可为任何稳定的电压电平,以达到上述目的。电源控制器110控制最终电压电平的方法选择性地编程参考电压组PG_VREF〈1:N>里的至少一参考电压,用以控制电源闸控处理。上述的电压电平为一状态保留电平(即HIGH被触发),其可降低漏电流,用以在一低电源状态下,减少功率损耗。状态保留电压电平足以保留数据,用以维持微处理器100的内核101的状态。当信号PGATEl接着被无效化时,恢复逻辑701触发信号RESUME,用以离开电源闸控操作,并初始化恢复操作,用以将电压VDDl的电平增加至电压VDDO的电平。
[0148]在内核101进入全电源闸控操作时,电源控制器110触发信号PG_KILL_C0RE1,电源闸电路105将电压VDDl的电平减少至约等于电压VSSO的电平(如接地)。在全电源闸控操作下,功率的损耗最低,但会遗失内核101的状态以及所有可恢复内核101的信息。在一可能实施例中,信号PG_KILL_C0RE1无效化(或不触发)控制字PG_CNTRL〈16: O〉的所有位,用以关闭所有PMOS装置,用以将内核101与供给电压VDDO相隔离。在一可能实施例中,虽然信号PG_KILL_C0RE1的优先权大于电源闸控操作,但信号PG_KILL_C0RE1的触发也可触发信号PGATEl。当信号PG_KILL_C0RE1接着被无效化时,信号PGATEl也会被无效化,而信号RESUME被触发,用以离开全电源闸控操作,并初始化恢复操作。
[0149]恢复逻辑701还接收一信号PG16并提供电源就绪信号PG00D1。信号PG16实质上就是控制字的最高有效位PG_CNTRL〈16>。当信号PG16被触发至低电平时,表示已完成恢复处理,并且恢复逻辑701将信号PG00D1触发至高电平,用以通知电源控制器110已完成恢复处理。
[0150]电源闸控系统201包括一 OR逻辑703。OR逻辑703接收信号组V_D0WN〈4:0>,并提供一信号V_DWN。当信号组V_D0WN〈4: 0>中的至少一信号被触发时,表示电压VDDO的电平开始下降,如进入一低电源模式。此时,信号V_DWN被触发。
[0151 ] 电源闸控系统201具有一电压比较组705,用以将电压VDD1_FB的电平与参考电压组PG_VREF〈1:N〉的每一参考电压相比较,并提供相对应的比较信号CMPl~CMPN。比较信号通常被无效化至高电平。当电 压VDD1_FB的电平符合条件时,比较信号便会被触发至低电平。每一电压比较器(未显示)可为任何适合的方式所实现,如检测放大器…等等。如上所述,电压VDD 1_FB为电压VDDl的反馈结果。当电压VDDl小于相对应的参考电压时,比较信号CMPl~CMPN会被触发至低电平。因此,当电压VDDl小于参考电压PG_VREF〈1>时,比较信号CMPl会被触发至低电平;当电压VDDl小于参考电压PG_VREF〈2>时,比较信号CMP2会被触发至低电平;其余依此类推;当电压VDDl小于参考电压PG_VREF〈N>时,比较信号CMPN会被触发至低电平。在一可能实施例中,参考电压PG_VREF〈1>与信号PG_VREF_H相同,都是用以表示一高于状态保留电压电平的电压电平。当电压VDDl小于信号PG_VREF_H时,信号HIER会被触发至低电平。同样地,参考电压PG_VREF〈2>与信号PG_VREF_L相同,都是用以表示状态保留电压电平。当电压VDDl小于信号PG_VREF_L时,临界信号HIGH会被触发至低电平。可以了解的是,在电压闸控期间,可利用任意数量的参考电压或临界电压电平与电压VDDl相比较。
[0152]电源闸控系统201还包括一时钟控制器706。在数字电源闸控期间,时钟控制器706控制时钟信号PG_CLK的周期。在一可能实施例中,时钟控制器706包括一时钟产生器707、一分频器709、一时钟选择方块711以及一时间解码器712。在本实施例中,时钟产生器707接收时钟信号EESDCLK及数值FSB〈3: 0>,并输出时钟信号CLK20。时钟信号EESDCLK可能由一外部源所接收,或是由微处理器100内部所产生。数值FSB〈3:0>表示微处理器系统的一总线时钟的频率。在本实施例中,时钟信号EESDCLK可为任何已知的频率,并且时钟产生器707利用时钟信号EESDCLK与数值FSB〈3: 0>,产生时钟信号CLK20,时钟信号CLK20具有大约20ns的周期时间。可了解的是,已知的周期时间20奈秒(ns)可为其它任意值,并且可利用其它合适已知的周期时间取代。
[0153]时钟信号CLK20被提供给分频器709。分频器709产生时钟信号C20NS、C40NC、...、C2.6MS。时钟信号C20NS、C40NC、…、C2.6MS具有相对应的时钟周期,用于电源闸控功能。分频器709将时钟信号CLK20的周期与参数2°、2\22、23、…、217相乘,用以使时钟信号 C20NS、C40NC、...、C2.6MS 分别具有 20ns、40ns、80ns、160ns、...、2.6ms 的周期时间,时钟信号C2.6MS的周期时间为2.6ms。在本实施例中,虽然利用20个可能的控制位控制18个时钟参数,但并非用以限制本发明。在其它实施例中,如果需要,也可利用多个控制位控制相同的时钟频率。在一可能实施例中,分频器709具有串行连接的T型触发器(toggleflip-flop)或T型寄存器…等等(未显示)。每一锁存器的周期时间为上一锁存器的两倍。时钟信号C20NS、C40NC、…、C2.6MS被提供给时钟选择方块711。时钟选择方块711根据20位的时间数值PG_TIME〈19:0>,将所接收到的时钟信号中的一个作为信号PG_CLK,并输出信号PG_CLK。在同一时间下,时间数值PG_TIME〈 19: 0>只会有一个位被触发,用以从相对应的时钟周期中选择一相对应的时钟信号。时钟选择方块711可能整合至少一多工器或其它选择逻辑(如NAND/N0R)。
[0154]根据数值PG_HME〈 19: 0>,信号PG_CLK可具有一周期时间,该周期时间为周期时间20ns、40ns、80ns、160ns、...、2.6ms中的一个。在一可能实施例中,在同一时间,数值PG_TIME<19:0>只会有一位被触发,用以从18个周期时间里选择一个作为信号PG_CLK的周期时间。在一可能实施例中,数值PG_TME〈19:0>的低选择位(最接近最右边有效位)对应具有最小周期时间的信号PG_CLK (具有最大的频率)。当选择位往左移时,信号PG_CLK的周期时间变大。换句话说,数值PG_TIME〈19:0>的最低有效位对应最小的周期时间(频率最大),而数值PG_TIME〈19:0>的最高有效位对应最大的周期时间(频率最小)。更进一来说,在电源闸控及恢复操作下,信号PG_CLK的周期时间决定调整时间。 [0155]时钟产生器707可能还接收信号PGATE、V_DWN、PG16及PG_KILL_C0RE1,用以控制信号PG_CLK的操作。在另一可能实施例中,可能提供这些信号中的至少一个。另外,分频器709和/或时钟选择方块711执行相同的功能。在正常操作下,信号PGATEl不会被触发,故信号PG_CLK不会动作,并且会被维持在一就绪状态数值,如一就绪低逻辑或是逻辑O。当信号PGATEl被触发,用以初始化电源闸控操作时,信号PG16被无效化(如上拉至高电平),用以关闭相关的PMOS装置,并且信号PG_CLK具有一选择频率。当信号PGATEl被无效化时,恢复逻辑701触发信号RESUME,用以使电压VDDl恢复到它正常操作电压电平。在完成恢复处理后,信号PG16会被触发至低电平,用以停止时钟信号PG_CLK的作动。
[0156]在进行电源闸控时,当信号V_DWN被触发时,信号PG_CLK会短暂地位于它的就绪状态数值,直到电压调整后,并且当信号V_DWN被无效化时,信号PG_CLK重新被启动。由于信号PG_KILL_C0RE1的权重高于电源闸控操作,故可藉由关闭耦接在电压VDDO与VDDl之间的PMOS装置,用以将内核101与电压VDDO相隔离。当信号PG_KILL_C0RE1被触发时,则停止信号PG_CLK的动作(因此,信号PG_CLK会被触发至它的就绪状态数值)。当信号PG_KILL_C0RE1接着被无效化时,信号PG_CLK会再次被启动,并且初始化恢复操作,用以将电压VDDl恢复到它的正常操作电压电平。
[0157]时间解码器712接收一控制字数值PG〈15:0>、反相信号HIER或HIERB、信号RESUME 以及许多保除丝(或扫描)系数(如 PU_FU_HIERB、PG_FU_ENT<10: 5>、PG_FU_RES_PER〈1: 0>、PG_FU_CONST_RES_CLK),并藉由触发数值 PG_HME〈19: 0> 中之一位,用以在20ns~2.6ms之间选择一个作为信号PG_CLK的周期时间。反相器710接收信号HIER,并输出信号HIERB。在电源闸控操作下以及在离开电源闸控操作进入恢复操作下,信号PG_CLK的周期时间决定控制字PG_CNTRL〈16:0>的调整周期。
[0158]根据控制字的本身,也可调整信号PG_CLK的周期。如上所述,在电源闸控下,控制字的最高位PG_CNTRL〈16>被无效化(如触发至高电平)并且控制字的位PG_CNTRL〈11:0>被初始化(如触发至低电平)时,关闭许多PMOS晶体管。选择信号PG_CLK的一初始周期以及一差异数值,用以在信号PG_CLK动作时,逐渐减少控制字。当控制字被减少至一预设数值时,信号PG_CLK的周期可能会被调整至最慢的调整周期,该预设数值事先被编程至时间解码器712之中。举例而言,当控制字的位PG_CNTRL〈11>为高电平(无效化)时,信号PG_CLK的周期可能增加一倍。当控制字的位PG_CNTRL〈10>为高电平(无效化)时,信号PG_CLK的周期可能再被增加一倍。因此,控制字的本身用以调整信号PG_CLK的周期。控制字可能被编程成任何数值,用以选择相对应的时钟周期。
[0159]信号HIER表示电压VDDl已低于预设临界电压值,信号HIER可能用以调整信号PG_CLK的周期。举例而言,当信号HIER被触发至低电平时,表示电压VDDl已达到最高临界电压电平,因此,信号PG_CLK的时钟周期可能会随着电压VDDl的电平接近最终电压电平而增加,最终电压电平如符号HIGH所示,其用以保留内核101的数据及状态。举例而言,在部分实施例中,电压VDDl由1.05V下降至最终电压电平450mV,此时信号HIER大约被设定成550mV。信号HIGH可能被设定成用以表示最终电压电平为450mV。因此,当电压VDDl达信号HIER所表示的临界电压电平550mV时,减少信号PG_CLK的周期,用以降低调整频率,以降低电压VDDl低于最终电压电平的可能性。在一可能实施例中,在电压VDDl达到信号HIER所表示的临界电压电平时,信号PG_CLK的周期变成原本的四倍。
[0160]在其它实施例中,可利用其它数量的临界电压调整信号PG_CLK的周期。举例而言,在电压VDDl每下降IOOmV时,信号PG_CLK的周期可能增加一倍。
[0161]当信号RESUME被触发,用以离开电源闸控时,信号PG_CLK可能也会被调整。举例而言,当信号RESUME被触发时,可减少信号PG_CLK的周期时间,用以加快电压VDDl回到正常电压电平的速度。举例而言,当信号RESUME被触发时,所选择的加总数值会被加到控制字的位?6〈15:0>,用 以更新控制字?6_0见1^〈16:0>。然而,需注意的是,由于可能会引起侵入电流或是引起一电流脉冲进入内核101,因此调整动作不应该太快,因电流所造成的电荷共享将影响周围内核102~104中至少一个的操作。因此,当内核101的上电速度太快时,会造成电压VDDO下降,因而影响其它内核或周围电路。
[0162]电源闸控系统201还包括一电源闸控制器713,用以提供控制字PG_CNTRL〈16:0>及PG〈15:0>,字PG〈15:0>为控制字PG_CNTRL〈16:0>的较低16位,稍后将说明于图11中。电源闸控制器 713 接收信号 PG_FU_X、PGATEU RESUME、PG_KILL_C0RE1、V_D0WN〈4:0>、V_DffN, CMPl~CMPN (包括HIGH及HIER)及PG_CLK。如上所述,信号PG_FU_X包括保险丝或扫描数值 PG_FU_ADD_GN、PG_FU_SUB_GN、PG_FU_HIERB、PG_FU_ENT〈10: 5>、PG_FU_RESUME_GN〈1: 0>、PG_FU_RES_PER<1: 0>、PG_FU_CONST_RES_CLK 及 PG_FU_RESUME_STOP,用以调整电源控制处理。
[0163]图8为电源闸控制器713的一可能实施例。电源闸控制器713包括一增量控制字调整器801、一整合控制字调整器803、一寄存器组805以及一控制字逻辑807。寄存器组805具有多个寄存器,每一寄存器对应控制字较低16位中的一相对应位。增量控制字调整器801接收及控制字逻辑807所产生的字元PG〈15: 0>,并将字元PG〈15: 0>加上或减去一调整数值,用以产生并输出控制字数值0PB〈15: 0>。控制字逻辑807判断控制字PG_CNTRL〈16>的最闻有效位,稍后将说明。[0164]调整数值为一加总数值或是一差异数值是取决于欲于增加或减少控制字PG_CNTRL〈16:0>。应当注意的是,在本实施例中,为了控制P通道(如PM0S)的晶体管,故控制字PG_CNTRL〈16:0>的位为反相,而控制字PG_CNTRL〈16: 0>的增量或减量取决于P通道的晶体管的大小。为了进行电源闸控,便需对控制字进行减量,例如根据信号PGATEl是否被触发,或是完全地被无效化,例如根据信号PG_KILL_C0RE1是否被触发,而减少电源闸控电压VDDl的电压。藉由增量控制字,用以增加电压VDDl的电平,如根据信号RESUME重回正常操作。在一可能实施例中,加总数值与差异数值均与控制字的目前数值呈比例关系,如根据控制字右移的次数y,利用2y分配控制字,用以判断调整数值。数值PG_FU_SUB_GN可能用以改变或调整右移的次数y,用以在电源闸控操作下,调整调整的增益。加总数值可能由相似的方法所定义,可能利用信号PG_FU_ADD_GN调整加总数值。
[0165]反相器810反相临界信号HIGH,用以提供一反相临界信号HIGHB。反相器812反相信号PG_KILL_C0RE1,用以提供一反相中止信号KILLB。增量控制字调整器801接收信号PG_KILL_C0RE1、反相中止信号KILLB与信号RESUME。在本实施例中,符号里有“B”是表示其为一反相版本,并不需要多加解释。信号HIGHB、KILLB及RESUME用以选择一加总数值或一差异数值,用以增加或减少控制字。举例而言,在电源闸控下,选择差异数值,用以减少控制字及电压VDDl。当电压VDDl到达最终电压电平时,信号HIGH及HIGHB会转变成反态。若选择加总数值,则用以增加控制字及电压VDDl。当电压VDDl大于最终值时,信号HIGH及HIGHB会再次转态,并且再次选择差异数值。在本实施例中,上述操作可能会重复进行,直到信号RESUME被触发。当信号HIGH的状态可保留数据时,加总数值可能大于差异数值,用以减少振荡器的频率。当信号RESUME接着被触发时,被选择到的加总数值将增加电压VDDl的电平,使其恢复到正常电平。信号KILLB表示欲进行全电源闸控操作,此时可忽略信号HIGHB。
[0166]整合控制字调整器803接收调整控制字0PB〈15:0>。当信号组V_D0WN〈4:0>的一位被触发时,如符号V_DWN所示,整合控制字调整器803调整控制字一次。举例而言,在电源闸控下,预计调降电压VDDO时,需整合调整增加控制字的增量,以避免电压VDDl低于最终电压电平而造成内核101的状态遗失。当信号组V_D0WN〈4:0>的一位被触发时,信号V_DffN也会被触发,并且整合控制字调整器803根据信号组V_D0WN〈4:0>的被触发的特定位,调整控制字。
[0167]在本实施例中,整合控制字调整器803输出三个不同的控制字数值,包括一反相清除数值CB〈15:0>、一设定数值S〈15:0>以及一数据数值D〈15:0>。反相清除数值CB〈15:0>、设定数值S〈15:0>以及数据数值D〈15:0>分别被输入至寄存器组805的反相清除输入端CB、设定输入端S以及数据输入端D。当信号PG_CLK并未动作时,在初始化及整合控制字调整时,反相清除数值CB〈15: 0>与设定数值S〈15: 0>并非同步输入至寄存器组805。当信号PG_CLK动作时,数据数值D〈15: 0>被同步输入至寄存器组805。整合控制字调整器803还利用信号PG_KILL_C0RE1及PGATEl,用以产生信号GATE及其反相结果,如GATEB。控制字逻辑807接收信号GATE。信号GATE与GATEB用以产生一初始控制字。
[0168]寄存器组805接收信号PG_CLK并输出调整后的控制字的“暂存”结果,如符号R0PB<15:0>所示,控制字可能完整地被调整或否。控制字逻辑807接收控制字R0PB〈15: 0>。控制字R0PB〈15: 0>非同步地被设定成一初始数值。在调整的全部过程中,当信号PG_CLK停止时,利用反相清除数值CB〈15:0>与设定数值S〈15:0>非同步地更新控制字R0PB〈15:0>。在电源闸控及恢复操作下,利用数据数值0〈15:0>,使控制字1?0?8〈15:0>随着信号PG_CLK同步被更新。
[0169]控制字逻辑807包括一逻辑电路,用以将控制字R0PB〈15:0>转换成控制字的低位,如PG_CNTRL〈15:0>。控制字逻辑807包括一逻辑电路,其根据信号PG_KILL_C0RE1、RESUME、PGATEl 以及 PG_FU_RESUME_STOP,产生控制字 PG_CNTRL〈16: 0> 的最高位 PG_CNTRL〈16> (如PG16)。控制字逻辑807利用控制字R0PB〈15:0>及PG_KILL_C0RE1,产生数值PG〈 15: 0>,并将数值PG〈 15: 0>提供给增量控制字调整器801以及时间解码器712。
[0170]图9为本发明的增量控制字调整器801的一可能实施例。增量控制字调整器801可能具有一限流901。限流901作为一防护,以避免电流过高或过低。如下所述,数值PG〈15:0>右移了一选择次数,用以产生调整数值。当数值PG〈15:0>到达一特定低数值时,可能会让电压VDDl的改变量超出预期。举例而言,当电压VDDI在低电平时,若微量减少数值PG〈15:0>,则可能使电压VDDl低于能够维持数据的最小电平。在本实施例中,限流901限制了数值PG〈15:0>的最小数值为1111111111100000b (如31的反相数字码)。
[0171]限流901接收数值PG〈15:0>并提供许多限定数值PGTWO、PGTHREE、PGFOUR、PGFIVE及PGSIX。每一限定数值用以取代一位移后的数值的最低有效位(LSB),用以预防位移后的数值低于一预设最小电平。在一可能实施例中,预设最小电平具有32个数字码。特定的限定数值根据位移数值的右移次数。举例而言,限定数值PGTWO用以进行二次的右移;限定数值PGTHREE用以进行三次的右移;限定数值PGFOUR用以进行四次的右移;限定数值PGFIVE用以进行五次的右移;限定数值PGSIX用以进行六次的右移。
[0172]多工器(MUX)903具有一输入端O、一输入端1、一选择输入端S以及一输出端。输入端0接收数值〈*6>¥550、?6〈15:7>、?651父。输入端I接收数值<*5>VSS0、PG〈15: 5>。选择输入端S接收信号PG_FU_SUB_GN。多工器903的输出端提供一差异数值SUB〈15:0>。在本实施例中,虽然只显示单一多工器903,但多工器903内部的符号“X16”表示16个并联的多工器接,每一多工器处理16位中的I位。相同的标记方式也应用在其它多工器、锁存器寄存器及逻辑门。符号“<*6>VSS0”表示6个逻辑0,用以形成最左边位的数值,接着是PG<15:0>的较高9位,即PG〈15:7>,接着是数值PGSIX,数值PGSIX作为最终数值的最低有效位。<*6>VSS0、PG〈15:7>及PGSIX为数值PG〈15:0>右移6次后的结果,并在最左侧插入6个逻辑0,再利用数值PGSIX作为最终数值的最低有效位。最终数值表示控制字PG〈15: 0>的数值的1/64(即减少至预设限定数值)。数值<*5>VSS0、PG<15:5>以相同方法形成,差别只在于右移5位,并且没有使用限定数值。因此,数值<*5>VSS0:PG〈15:5>表示控制字PG〈15:0> 的 1/32。
[0173]预设数值PG_FU_SUB_GN为逻辑0,故数值<*6>VSS0、PG〈15: 7>及PGSIX作为差异数值SUB〈15:0>的预设数值(如多工器903的反相输出),其表示控制字数值PG〈15:0>的数值的1/64的增益,也就是减少的调整数值。当预设数值PG_FU_SUB_GN被触发成逻辑I时,数值<*5>VSS0:PG<15:5>会被作为差异数值SUB〈15: 0> (反相后),其表示控制字数值PG<15:0>的数值的1/32的增益,也就是减少的调整数值。
[0174] 16位的减法器905的输入端A接收控制字PG〈15:0>,其输入端B接收差异数值SUB〈15:0>。减法器905将输入端A的数值减去输入端B的数值,并由输出端提供差异数值FSUB<15:0>。在本实施例中,根据差增益数值PG_FU_SUB_GN,差异数值FSUB〈15: 0>表示控制字 PG〈15:0> 的 1/64 或是 1/32。
[0175]加总增益也可以相同的方式定义,但在电源闸控及恢复操作下,会产生大量的加总增益以供选择。多工器907具有输入端O?3,分别接收增益数值<*2>VSS0: PG〈15: 3>: PGTWO、<*3>VSS0: PG〈15: 4>: PGTHREE、<*4>VSS0: PG〈15: 5>: PGFOUR 及<*5>VSS0: PG<15:6>: PGFIVE,上述增益数值分别代表1/4、1/8、1/16及1/32的加值增益,并且每一个具有相对应的最低有效位限制数值。多工器907输出反相的位,并提供给反相器909。反相器909反相多工器907的输出,并将反相结果作为一加总数值ADD〈15:0>。多工器907与903具有相同的特性,多工器907具有符号“X16”,其用以表示16个并联的多工器。同样地,反相器909具有“X16”的符号,也是表示16个并联的反相器。加值解码器911根据信号RESUME、PG_FU_ADD_GN及PG_FU_RESUME_GN〈1: 0>选择一增益数值。加值解码器911触发输出信号SO?S3中的一个。多工器907根据输出信号SO?S3的触发状况,输出输入端O?3中的一个所接收到的增益数值。
[0176]加值解码器911 根据信号 RESUME、PG_FU_ADD_GN 及 PG_FU_RESUME_GN〈 1: 0>,触发输出信号SO?S3中的一个,用以选择加值增益。信号PG_FU_RESUME_GN〈1:0>只适用在当信号RESUME被触发为逻辑I的恢复操作中。信号PG_FU_ADD_GN只适用在当信号RESUME被触发为逻辑O的电源闸控操作中。
[0177]当信号RESUME 及 PG_FU_ADD_GN 均为逻辑 O 时,信号 PG_FU_RESUME_GN<1:0>可为逻辑O或1,也就是未知状态(don’ t care),因此,加值解码器911的输入信号的位值为00ΧΧ,因此,加值解码器911触发输出信号S3,用以选择加值增益<*5>VSS0:PG<15:6>:PGFIVE,也是就1/32增益,用以进行电源闸控操作。当信号RESUME为逻辑O并且信号PG_FU_ADD_GN为逻辑I时,加值解码器911的输入信号的位值为01XX,因此,加值解码器911触发输出信号S2,用以选择加值增益<*4>VSS0:PG〈15: 5>: PGF0UR,也就是1/16增益,以进行电源闸控操作。
[0178]当信号RESUME为逻辑I时,信号PG_FU_RESUME_GN〈 1: 0>的位值用以决定在恢复操作下的加总数值的增益。在本实施例中,信号PG_FU_RESUME_GN〈1:0>的位值分别为00、01、10及11时,将使得加值解码器911分别触发输出信号S3?SI,用以分别选择<*5>VSS0:PG〈15:6>: PGFIVE (或是 1/32 增益)、<*4>VSS0:PG〈 15:5〉: PGFOUR (或是 1/16 增益)、<*3>VSS0:PG〈15:4>:PGTHREE(或是 1/8 增益)及 <*2>VSS0:PG<15:3>:PGTffO(或是1/4增益)。
[0179]16位的加法器913的输入端A接收控制字数值PG〈15: 0>,其输入端B接收加值数值ADD〈15:0>。加法器913将输入端A及B所接收到的数值进行加总(A+B),用以提供并输出加总数值FADD〈15:0>。应该注意的是,为了控制PMOS装置,控制字的位值为反相值,故可藉由反相器909,助于加法运算。
[0180]2输入-多工器915的输入端O接收加总数值FADD〈15: 0>,其输入端I接收差异值FSUB〈15:0>,其反相输出端提供数值0PB〈15:0>。2输入-多工器915的符号“X16”表示多工器915由16个并联的多工器所构成。2输入-AND门917接收信号KILLB及HIGHB,并提供输出信号予2输入-NOR门919的其中一输入端。2输入-NOR门919的另一输入端接收信号RESUME,其输出端耦接2输入-多工器915的选择输入端S。因此,当信号RESUME为逻辑I时,2输入-多工器915将加总数值FADD〈15:0>反相后再输出,用以在恢复操作中,增加控制字PG_CNTRL〈16:0>。当信号RESUME为逻辑O时,只要信号KILLB及HIGHB不均为高电平,2输入-多工器915将差异值FSUB〈15:0>反相后再输出。当信号PG_KILL_C0RE1被触发成高电平时,信号KILLB为低电平,用以进行全电源闸控操作。当电压VDDl降到足以保留数据的最终临界电平时,信号HIGH为低电平,因此,信号HIGHB为高电平,因此,2输入-多工器915选择加总数值,以预防电压VDDl再减少。
[0181]图1OA及图1OB为本发明的整合控制字调整器803的一可能实施例。调整控制字数值0PB〈15:0>被提供给锁存器组1001的输入端D,锁存器组1001具有16个锁存器。锁存器组1001的输出端Q输出锁存结果00PB〈15:0>。锁存器组1001的反相时钟输入端CK接收信号¥_0胃1当信号V_DWN被触发至低电平时,锁存器组1001为导通模式,不处理控制字数值0PB〈15: 0>,并直接将控制字数值0PB〈15: 0>作为锁存结果00PB〈15: 0>输出。当信号V_DWN被触发至高电平时,锁存器组1001切换成隔离模式,不管控制字数值0PB〈15:0>如何变化,输出端的锁存结果00PB〈15:0>固定不变。
[0182]锁存结果00PB〈15:0>的位经16个反相器1003反相后,成为另一调整控制字数值V0P〈15:0>。将数值V0P〈15:0>右移一次,并补上VSSO (逻辑O),便可形成数值VSS0:V0P〈15:1>,其中V0P<15:1>作为数值VSS0:V0P〈15:1>的低15位。因此,数值VSS0:V0P<15:1>为数值V0P〈 15:0>的1/2。16位的加法器1005的输入端A〈15:0>接收数值V0P〈15:0>,其输入端B〈15:0>接收数值¥330:¥0?〈15:1>,其输出端提供数值00?〈15:0>,其为原始数值V0P<15:0>的1.5倍。
[0183]藉由数值V0P〈15:0>与D0P〈15:0>,便可提供原始数值V0P〈15:0>的1.5倍、2倍、3倍、4倍及6倍数值。如上所述,数值D0P〈15:0>为数值V0P〈15:0>的1.5倍。数值V0P〈14:0>为数值V0P〈15:0>左移I位的结果,并在最低有效位补上电压VDD0。因此,数值¥0卩〈14:0>:¥000为数值¥0?〈15:0>的2倍。同样地,数值D0P〈14:0>: VDDO 为数值D0P〈15: 0>左移I位的结果,故为V0P〈15:0>的3倍。另外,数值¥0?〈13:0>:〈*2>¥000表示¥0?〈15:0>左移2位的结果,并在最右侧补上2个VDDO,因此,其可代表数值V0P〈15:0>的4倍。同样地,数值 D0P〈13:0>:〈*2>VDD0 表示数值 V0P<15:0> 的 6 倍。
[0184]多工器1007、1009及1011的输入端O~4分别接收数值V0P〈15: 0>的1.5倍、2倍、3倍、4倍及6倍的数值。多工器1007、1009及1011的符号“X16”表示16个并联的多工器。多工器1011的输入端5接收原始数值V0P〈15:0>。2输入-NOR门1013接收信号PG_KILL_C0RE1及PGATEl,并输出一反相门信号GATEB。反相器1015接收反相门信号GATEB并产生信号GATE。多工器1007的输入端5接收数值<*4>VSS0: <*12>GATEB。多工器1009的输入端5接收数值<*4>GATE:〈*12>VDD0。多工器1007、1009及1011的输出端分别提供反相的清除数值CB〈15:0>、设定数值S〈15:0>以及数据数值D〈15:0>予前文的寄存器组805。
[0185]V_D0WN解码器1017接收信号组V_D0WN〈4:0>,并输出信号SO~S5予多工器1007、1009及1011的输入端SO~S5。信号组V_D0WN〈4:0>为优先解码,故在同一时间下,若信号组¥_001%4:0>的多位被触发,则只会触发信号组V_D0WN〈4:0>的最高一位。因此,V_D0WN解码器1017对信号组V_D0WN〈4:0>的最高位进行解码,并触发相对应的输出信号SO~S5,用以调整一次控制字。当信号V_D0WN〈0>被触发时,则选择信号S0,用以进行1.5倍的调整。当信号V_D0WN〈1>被触发时,则选择信号SI,用以进行2倍的调整。当信号V_D0WN〈2>被触发时,则选择信号S2,用以进行3倍的调整。当信号V_D0WN〈3>被触发时,则选择信号S3,用以进行4倍的调整。当信号V_D0WN〈4>被触发时,则选择信号S4,用以进行6倍的调整。当信号组¥_00胃%4:0>没有位被触发时,触发信号S5。多工器1007、1009及1011根据被触发的信号SO~S5,对相对应的输入端所接收到的信号进行反相,再输出反相结果。
[0186]整合控制字调整器803已叙述于图8及图10。在上电予微处理器100和/或内核101时,或是在重置微处理器100和/或内核101时,信号组¥_001%4:0>不会有位被触发,因此,不会触发信号V_DWN。锁存器1001为传送状态,信号PG_CLK维持在低电平,因此,寄存器组805不动作,并且V_D0WN解码器1017触发多工器1007、1009及1011的信号S5。由于寄存器组805不动作,因此,数据输出D〈15:0>被无效化。此外,多工器1007及1009的输入端5也可耦接寄存器组805的反相清除输入端及设定输入端,用以将信号R0PB〈15:0>初始化成1111000000000000b。由于多工器1007及1009的输入端5是同时被触发,故来自多工器1007的反相清除位将使寄存器组805传送逻辑0,共且自多工器1009的设定位将使寄存器组805传送逻辑I。
[0187]在本实施例中,信号PG_CNTRL的最高有效位,即信号PG16,控制一特定数量的PMOS装置,而其它的PMOS装置由信号PG_CNTRL〈 15: 0>所控制。在本实例中,信号PG_CNTRL<15:0>为二进制加权。在此例中,在正常操作下,信号PG16控制重要的PMOS装置(如最多数量),用以有效地将闸控供给总线206箝制在整合供给总线109,而其它的PMOS装置对于电压VDDl的电平影响较低。当信号PGATEl被触发,用以初始化电源闸控操作时,信号PG16被无效化,用以清除电压箝制效应,适当数量的PMOS装置持续被导通,用以使电压VDDl的电平约略等于电压VDDO的电平。虽然控制字的低位PG_CNTRL〈15:0>用于进行电源闸控操作, 但在其它实施例中,可能使用其它数量的位。
[0188]在本实施例中,在正常操作下,控制字PG_CNTRL〈16:0>为01111000000000000b,故控制字的低位PG_CNTRL〈11:0>为低电平,而中间位PG_CNTRL〈15:12>为高电平,因此,在正常操作下,一特定数量的PMOS装置被导通。在本实施例中,在上电、重置及正常操作下,闸控供给总线206上的电平有效地被箝制成整合供给总线109上的电平,并且内核101可能正常工作。当信号PGATEl被触发,用以初始化电源闸控时,信号PG16会被无效化,在初始化电源闸控时,原本因低位PG_CNTRL〈11:0>而导通的PMOS装置不再导通。因此,减少了被导通的PMOS装置的数量,用以在电源闸控操作下,将电压VDDl的电平减少至最终电压电平,并可保留内核的状态信息。在另一实施例中,在电源闸控功能下,控制字PG_CNTRL<16:0>的初始值可能会被调整,用以控制更多或更少的PMOS装置。
[0189]当信号PGATEl被触发,用以进行电源闸控操作时,若信号组V_D0WN〈4:0>仍维持在未触发状态时,锁存器1001维持在导通状态,并且信号PG_CLK维持相同的频率,用以在电源闸控时,降低控制字PG_CNTRL〈16:0>的大小。因此,电压VDDl的电平相似于电压VDDO。V_D0WN解码器1017触发信号S5,由于信号PG_CLK为有效状态,故选择多工器1011的输入端5的数值V0P〈15:0>作为数据数值D〈15:0>,并提供给寄存器组805的数据输入端。在本实施例中,在正常电源闸控操作下,藉由连续触发的信号PG_CLK,调整并更新信号R0PB〈15:0>、PG〈15:0>及PG_CNTRL〈15:0>,直到电压VDDl的电平到达最终电压电平。
[0190]在电源闸控下,不论信号组V_D0WN〈4:0>的哪个位被触发,信号V_DWN均会被触发,使得锁存器1001维持本身的输出信号,并且暂时中止信号PG_CLK。V_D0WN解码器1017触发输出信号SO?S5中的一个并且多工器1007及1009根据被触发的信号,输出输入端O?4中的一个的信号,用以利用不同倍数(如:1.5、2、3、4、6倍)的控制字,非同步地更新寄存器组805,因而更新控制字PG_CNTRL〈16:0>。如上所述,当信号组V_D0WN〈4:0>的一位被更新时,表示电压VDDO电平的调降,因此,更新控制字PG_CNTRL〈16:0>,并增加电压VDDI的电平一次,以避免电压VDDl的电平过低。
[0191]图11为控制字逻辑807的一可能实施方式。如上所述,控制字逻辑807接收寄存器组805所暂存的控制字R0PB〈15:0>。反相器1101接收信号RESUME。反相器1101的输出端耦接一对2输入-NOR门1103及1105。2输入-NOR门1103的另一输入端接收信号R0PB〈14>。2输入-NOR门1105的另一输入端接收信号R0PB〈13>。2输入-NOR门1103及1105的输出端分别耦接2输入-多工器1107的输入端I及O。2输入-多工器1107的输入端S接收信号PG_FU_RESUME_STOP,其输出端提供一停止信号STP。设定-重置(set-reset ;SR)锁存器1109的重置输入端R接收停止信号STP。SR锁存器1109的设定输入端S接收信号GATE。信号GATE用以触发SR锁存器1109的输出端Q所输出的控制位R0PB〈16>。信号R0PB〈15:0>及R0PB〈16>由数值R0PB〈16: >所提供,用以产生上述的控制字 PG_CNTRL〈16:0>。
[0192]在操作时,信号GATE、RESUME及R0PB〈16>被初始成低电平,并且信号R0PB〈13>及R0PB〈14>被初始成高电平。由于信号R0PB〈16>在正常操作下被设定成低电平,因此,信号PG_CNTRL〈16>(即最高有效位PG16)会被下拉至低电平,因而导通最多的PMOS装置,用以令电压VDDl的电平等于电压VDDO的电平。当信号RESUME为低电平时,不论信号PG_FU_RESUME_ST0P的电平为何,2输入-多工器1017令停止信号STP为低准。在初始化电源闸控操作时,信号GATE会被设定成高电平,因此,SR锁存器1109将信号R0PB〈16>触发成高电平,故不导通相当数量的PMOS装置,该等PMOS装置耦接在电压VDDO与VDDl之间。然而,由于内核101已进入闲置模式,因此,电压VDDl不会有相当大的变化。当信号PG_KILL_COREl或PGATEl被触发至低电平,用以停止电源闸控操作并回到正常操作时,信号GATE改变成低电平,而信号RESUME改变成高电平。信号R0PB〈13>及R0PB〈14>仍为高电平,因此,停止信号STP维持在低电平。
[0193]在一预设状态下,信号PG_FU_RESUME_STOP为低电平,因此,2输入-多工器1107选择2输入-NOR门1105的输出信号,也就是输出信号R0PB〈13>的反相结果。信号R0PB<15:0>会被增加,直到信号R0PB〈13>被触发至低电平,因此,停止信号STP被触发成高电平,用以重置SR锁存器1109,并且信号R0PB〈16>回到低电平,因而将信号PG_CNTRL〈16>设置成低电平,用以导通许多PMOS装置,并将电压VDDI的电平箝制成电压VDDO的电平。若号PG_FU_RESUME_STOP被编程成高电平,2输入-多工器1107选择2输入-NOR门1103的输出信号,因此,2输入-多工器1107输出信号R0PB〈14>的反相结果。在其它较长的恢复处理中,操作是相同的,除了停止信号STP不会被设定成高电平,直到信号R0PB〈14>被设定成低电平。停止信号取决于控制字里被选择的位PG_CNTRL〈16>,其表示一最小停止数值。换句话说,一旦控制字变成特定数值时,就可有效地中止恢复处理,因此,可能继续正常操作。
[0194]一旦停止信号STP为高电平时,SR锁存器1109将信号R0PB〈16>由高电平下拉至低电平,用以将电压VDDl的电平箝制回电压VDDO的电平,并进入正常操作。信号RESUME回到低电平,并且整合控制字调整器803再次将控制字初始化成01111000000000000b,使得信号R0PB〈13>及R0PB〈14>回到高电平。在一可能实施例中,当恢复操作根据控制字的数值而被中止,可利用一编程数值,如保险丝或扫描…等等,重置控制字。因此,在正常操作下,电压VDDl的电平回到它原本设定的电平。
[0195]在另一可能实施例中,为了控制信号R0PB〈16>,可提供信号PGATEl予时钟控制器706,其可提供一同步暂存结果(如PGATE1R;未显示)。当信号PGATEl变化至高电平时,同步暂存结果,如PGATE1R,也变化至高电平,直到恢复操作的尾端,信号PG16为高电平时,信号PGATEl都不会回到低电平。在本实施例中,信号PGATE1R(代替信号PGATE1)被提供给2输入-NOR门1013的输入端,用以改变信号GATE。2输入-多工器1107的输出信号也会被反相,并且可利用一 AND门(未显示)取代SR锁存器1109,用以接收信号GATE及STP。在此例中,信号STP会被上拉至高电平(而不是低电平)。由于在正常操作下,信号GATE为低电平,故信号R0PB〈16>也为低电平。在电源闸控时,信号PGATEl被上拉至高电平,故信号GATE改变至高电平,由于信号STP也为高电平,因此,信号R0PB〈16>被上拉至高电平。在初始化恢复操作时,当信号PGATEl被无效化至低电平,信号GATEl维持在高电平(因是由PGATEIR所控制,而不是PGATE1),信号STP也为高电平。当信号STP被下拉至低电平,用以停止恢复操作时,信号R0PB〈16>也会被触发至低电平。信号R0PB〈16>为低电平时,将下拉信号PG16为低电平,使得信号GATE回到低电平,用以维持信号R0PB〈16>在低电平。控制字PG_CNTRL〈16:0>回到化初始值,使得信号R0PB〈13>及R0PB〈14>均为高电平,因此,信号STP被上拉回到高电平(在另一实施例中,2输入-多工器1107的输出会被反相,也就是反相图11里的信号STP的状态)。
[0196]反相器812反相信号PG_KILL_C0RE1,用以产生信号KILLB。反相器1111反相信号KILLB,用以产生信号KILL。 反相器1113反相信号KILL,用以产生另一反相结果,如KILLBB。NAND门组1115具有7个NAND门(以符号“X7”表示),每一 NAND门接收信号R0PB〈6: 0>的一相对应位,每一 NAND门接收信号KILLBB。NAND门组1115产生低位信号PG〈6:0>。NOR门组1117具有9个NOR门(以符号“X9”表示),每一 NOR门接收信号R0PB〈15:7>的一相对应位,所有NOR门接收信号KILL。NAND门组1117提供高位信号PG〈15:7>。当信号PG_KILL_C0RE1为低电平时,控制数值PG〈15:0>为信号R0PB〈15:0>的反相结果,也就是控制字PG_CNTRL〈15:0>。当信号PG_KILL_C0RE1为高电平时,低位信号PG〈6:0>会被触发成高电平,而高电平信号PG〈15:7>会被下拉至低电平,因此,信号PG〈15:0>会被设定成一初始值0000000001111111b。进一步来说,信号PG〈 15: 0>的初始值用以在全电源闸控操作后,恢复操作下,当信号PG_KILL_C0RE1接着被下拉回低电平时,初始化控制字PG_CNTRL〈16: 0>。如图8所示,整合后的控制字PG〈15:0>提供给递增控制字调整器801以及时间解码器712。逻辑门1115及1117根据逻辑门812、1111、1113的反相结果KILLBB与KILL而动作,并根据信号ROPB选择控制字的位,用以形成初始化逻辑,其可在全电源闸控操作下,当代表恢复操作的信号RESUME被触发时,初始化控制字的数值。
[0197]信号R0PB〈15:0>与R0PB〈16>构成数值R0PB〈16: 0>,其用以产生控制字PG_CNTRL〈16:0>。AND门组1119具有16个AND门,每一 AND门接收数值R0PB〈16: 0>的一相对应位。反相器组1121处理数值R0PB〈 16:0〉,并将处理结果提供给AND门组1119的另一输入端。反相器组1121具有16个并联的反相器。总共有6个反相器组1121串联在一起,用以延迟相对应的信号,其通过反相器组传送。虽然数值R0PB〈16:0>的每一位被6个反相器所延迟,但并非用以限制本发明,在其它实施例中,可对每一位进行不同程度的延迟。OR门组1123具有16个OR门,而AND门组1119的输出耦接相对应的OR门。OR门组1123的所有OR门接收信号KILL。OR门组1123的输出端提供控制字PG_CNTRL〈16: 0>。
[0198]当控制字PG_CNTRL〈16:0>的某一位为数值I时,其关闭相对应的PMOS装置,若为数值0,则是导通相对应的PMOS装置。如果数值R0PB〈16:0>的某一位由数值O改变成数值I时,控制字PG_CNTRL〈16: 0>的相对应位也会改变,故可关闭相对应的PMOS装置,用以降低电压VDDl的电平。同样地,若数值R0PB〈16:0>的某一位由数值I改变成数值O时,控制字PG_CNTRL<16:0>的相对应位也会改变,因而导通相对应的PMOS装置,用以增加电压VDDl的电平。
[0199]在同一时间下,改变多个位以降低控制字PG_CNTRL〈16:0>时,可能会解决一问题。具体而言,当控制字PG_CNTRL〈16:0>的许多位同时从一数值变化成另一数值时,可能造成控制字PG_CNTRL的数值被O取代。被取代的位将不导通PMOS装置,因而使得电压VDDl的电平短暂地下降。电压VDDl的短暂下降,可能低于最终电压电平。在这样的考虑下,如果电压VDDl的电平过低,可能无法保留内核101的状态信息。[0200]反相器组1121与AND门组1119可预防上述问题。当AND门组1119处理信号时,若部分位快速地由数值I变化至数值O时,可藉由反相器组1121将这些位再由数值O变化成数值I。在本实施例中,要被导通的PMOS晶体管会在关闭前先快速地被导通。因此,当控制字被更新时,可先短暂地增加电压VDDl的电平。短暂地增加电压VDDl的电平所造成的影响小于短暂地减少电压VDDl的电平所造成的影响。
[0201]图12为本发明的时间解码器712的一可能实施例。单热点解码器1201的输入端接收信号PG〈15:0>,并将信号PG〈15:0>解码成数值PGT〈15:0>。如上所述,控制字R0PB<15:0>的初始值为1111000000000000b,经过逻辑门1115及1117反相后,因此,在电源闸控下,控制字R0PB〈15:0>的初始值为0000111111111111b。在解码处理时,同一时间下,数值PGT〈15:0>只有一位会被触发成高电平,而其它位为低电平,其中高电平表示信号PG〈15:0>中最重要的位的位置,也就是被触发成高电平至逻辑I的位的位置。另外,数值PGT〈15:0>的位数量与信号PG〈15:0>的位数量有关。在本实施例中,当信号PG〈15: 0>的初始值为 0000111111111111b 时,则数值 PGT〈15:0> 的初始值为 0000000000010000b,其中数值PGT〈15:0>的第4位PGT〈4>为高电平,而其它位为低电平。藉由读取数值PG,便可得知数值PGT,如位PGT〈4>表示数值PG〈15:0>的位从左边开始数,第五个位就是最重要位。在全电源闸控操作下,当信号PG_KILL_C0RE1为高电平时,信号PG〈15:0>变成0000000001111111b,因此,数值 PGT〈15:0> 为 0000000001000000b。数值 PGT〈15: 0> 用以产生时间数值?6_111^〈19:0>,用以根据操作模式以及控制字,选择信号?6_0^的频率。单热点解码器1201可以标准N0R/NAND门所实现,或其它相似的电路所实现。
[0202]时钟位移器1203接收信号组PG〈15:0>的高位信号PG〈15:6>以及数值PG_FU_ENT〈10: 5>,用以提供相对应的数值FIVE、SIX、SEVEN、EIGHT、NINE及TEN,用以对时间数值进行位移,也就是调整时钟信号PG_CLK的周期。数值PG_FU_ENT〈10:5>可能由保险丝…等等所编程,用以根据一特定架构的许多参数,如电压供给容值…等等对时间信号PG_CLK的时间基数进行位移。举例而言,当控制字的数值减少时,特定位所对应的PMOS装置被关闭,故信号PG_FU_ENT〈10:5>藉由系数2,对信号PG_CLK的频率进行位移,用以补偿相对应的RC时间系数(如增加信号PG_CLK的周期,用以减缓调整的反应)。如上所述,C为内核101的总容值,而R为耦接在电压VDDO与VDDl之间的电源闸控装置(如PMOS装置、502、504、506、508及601)的阻抗值。在关闭或开启电源闸控装置时,将会改变RC时间系数。
[0203]预设时钟选择电路1205接收信号PGT〈15:0及RESUME,并在局部的电源闸控及恢复操作下,输出预设时间数值DTIME〈19:0>。在局部的电源闸控及恢复操作下,预设时间数值用以对信号PG_CLK进行预设周期调整。在电源闸控下,亦会对时钟周期进行调整,如对电压VDDl的特定电平和/或控制字PG_CNTRL特定数值进行调整。数值DHME〈19:0>用以在恢复操作下,选择信号PG_CLK,而并非使用一固定的恢复时钟。另外,在电源闸控下(信号RESUME被无效化),当信号HIERB被触发至高电平时,则不需考虑数值DTME〈19:0>。
[0204]信号组PG_FU_RES_PER〈1:0>为一可编程2位数值(藉由保险丝或扫描方式编程),其可在离开电源闸控操作,并在恢复操作下(当信号RESUME被触发),调整信号PG_CLK的周期。一固定恢复时钟选择电路1207接收信号组PG_FU_RES_PER〈1:0>,用以产生一数值PGHMEB〈6:3>。当藉由保险丝…等等方式,将信号PG_FU_CONST_RES_CLK设定成高电平时,则选择可编程固定恢复时钟周期,并忽略正常恢复时钟。
[0205]时钟周期选择器1209接收数值FIVE、SIX、SEVEN、EIGHT、NINE及TEN以及数值PG_FU_HIERB、RESUME、HIERB、PG_FU_CNST_RES_CLK、DHME〈19:0> 以及 PGHMEB〈6: 0>,并产生数值PG_HME〈 19:0〉,用以选择信号PG_CLK的周期。反相器1211反相信号RESUME,用以产生信号RESUMEB,并将信号RESUMEB提供给时钟周期选择器1209。
[0206]图13为本发明的时钟位移器1203的一可能实施例。时钟位移器1203包括具有6个反相器的反相器组1301、具有2个反相器的反相器组1303、NOR门1305、1307、1309、1311、1319、1321、1 323、1325、1327、1329 及 NAND 门 1313,1315 及 1317。具有 6 个反相器的反相器组1301反相信号组PG_FU_ENT〈10:5>的每一信号,用以产生相对应的反相数值ENB〈10:5>。具有2个反相器的反相器组1302反相数值ENB〈7: 6>,用以产生相对应的反相数值 ENBB〈7:6>。NOR 门 1305 接收位 PG〈15:13>。NOR 门 1307 接收位 PG〈12:10>。NOR 门1309 接收位 PG〈9:8>。NOR 门 1311 接收位 PG〈7:6>。
[0207]NOR门1305的输出端耦接NAND门1313、1315及1317的输入端。NOR门1307的输出端耦接NAND门1313、1315及1317的输入端。NOR门1309的输出端耦接NAND门1315及1317的输入端。NOR门1311的输出端耦接NAND门1317的输入端。NAND门1313、1315及1317分别输出信号TENB、EIGHTB及SIXB。
[0208]NOR门1319接收信号ENBB〈6>及SIXB,并输出信号SIX。NOR门1321接收信号ENB<8>及EIGHTB,并输出信号EIGHT。NOR门1323接收信号ENB〈10>及TENB,并输出信号TEN。NOR门1325接收信号ENB〈9>、TENB及PG〈9>,并输出信号NINE。NOR门1327接收信号 ENBB〈7>、EIGHTB 及 PG〈7>,并输出信号 SEVEN。NOR 门 13295 接收信号 ENB〈5>、SIXB 及PG〈5>,并输出信号FIVE。
[0209]在本实施例中,根据信号组PG〈15: 6>的特定数值,可利用信号组PG_FU_ENT<10:5>调整信号PG_CLK的周期,其中信号组PG〈15:6>与控制字PG_CNTRL〈15: 6>的相对应位有关。时钟周期选择器1209根据数值FIVE~TEN,执行所需的时钟位移(用以增加时钟周期)。位组PG_FU_ENT〈7:6>为事先预设,因此,即使后来可藉由熔断相对应的保险丝或设定扫描方式清除位PG_FU_ENT〈7: 6>,但在预设条件下,数值SIX及SEVEN将被触发,用以进行位移。
[0210]图14为本发明的预设时钟选择电路1205的一可能实施例。预设时钟选择电路1205包括一解码器1420及一多工器1413,其中符号“X20”表示20个并联的多工器。对于解码器1420而言,NOR门1401接收数值PGT的高位部分PGT〈15:13>。NOR门1403接收数值PGT的下一高位部分PGT〈12:10>。NOR门1405接收数值PGT的低位部分PGT〈5: 3>。NOR门1407接收数值PGT的下一低位部分PGT〈2:0>。NAND门1409的输入端耦接NOR门1401及1403的输出端。NAND门1411的输入端耦接NOR门1405及1407的输出端。NAND门1409提供信号PGTHI。NAND门1411提供信号PGTL0。
[0211]多工器1413的输入端O接收第一数值<*4>VSS0:PGT〈15:0>,其输入端I接收第二数值〈*14>VSS0:PGTL0:PGT〈6>:PGT〈7>:PGT〈8>:PGT〈9>:PGHI。多工器 1413 的选择输入端S接收信号RESUME,其输出端提供数值DHME〈19:0>。第一数值共有20个位,其中16个位即为PGT〈15:0>的16位,并在最左侧加入4个逻辑O (VSSO)。第二数值也有20个位,14个高位为逻辑 O(VSSO),接下来是 PGTLO、PGT〈6>、PGT〈7>、PGT〈8>、PGT〈9>、PGHI。当信号RESUME为低电平时(如在电源闸控操作下),将第一数值作为数值DHME〈19:0>。当信号RESUME为高电平时,将第二数值作为数值DHME〈19:0>。
[0212]图15为本发明的固定恢复时钟选择电路1207的一可能实施例。反相器对1501接收位组PG_FU_RES_PER〈1: 0>,并提供相对应的反相数值RPERB〈1: 0>。反相器对1503接收反相数值RPERB〈1:0>,并输出相对应的非反相数值RPER〈1:0>。NAND门1505接收位RPERB〈0>及 RPERB〈1>,并输出位 PGHMEB〈5>。NAND 门 1507 接收位 RPERB〈0> 及 RPER〈1>,并输出位PGHMEB〈3>。NAND 门 1509 接收位 RPER〈0> 及 RPERB〈1>,并输出位 PGHMEB〈4>。NAND 门1511接收位RPER〈0>及RPER〈1>,并输出位PGHMEB〈6>。时钟周期选择器1209提供数值PGTIMEB<6: 3>。当信号PG_FU_CONST_RES_CLK被触发时,时钟周期选择器1209根据PG_FU_RES_PER< 1: 0>选择固定周期的PG_CLK。
[0213]如图15所示,当位PG_FU_RES_PER〈1:0>为IOb时,位PGHMEB〈3>被触发。当位PG_FU_RES_PER<1:0> 为 Olb 时,位 PGHMEB〈4> 被触发。当位 PG_FU_RES_PER〈1:0> 为 OOb时,位 PGHMEB〈5> 被触发。当位 PG_FU_RES_PER〈1:0> 为 Ilb 时,位 PGHMEB〈6> 被触发。因此,在恢复操作中,信号PG_CLK的固定周期根据一简单的解码功能。
[0214]图16A及图16B为本发明的时钟周期选择器1209的一可能实施例。如图所示,时钟周期选择器1209包括许多具有2输入端的多工器,如1601、1603、1605、1607、1609、1611、1613、1615及1617。每一多工器具有符号“X20”,其表不每一多工器的具有20个输入端,用以接收具有20个位的时间数值PG_TIME〈19:0>。多工器1601在输出信号时,并不会对信号进行反相处理,而其它多工器1603?1617在输出信号前,将对信号进行反相处理。时钟周期选择器1209还包括许多具有2输入端的AND门,如1602、1604、1606、1608、1610、1612、1614及1616。多工器1601的选择输入端S接收信号PG_FU_HIERB。AND门1602的输入端接收信号HIERB及RESUMEB,其输出端耦接多工器1603的选择输入端S。AND门1604的输入端接收数值TEN及信号RESUMEB,其输出端耦接多工器1605的选择输入端S。AND门1606的输入端接收数值NINE及信号RESUMEB,其输出端耦接多工器1607的选择输入端S。AND门1608的输入端接收数值EIGHT及信号RESUMEB,其输出端耦接多工器1609的选择输入端S。AND门1610的输入端接收数值SEVEN及信号RESUMEB,其输出端耦接多工器1611的选择输入端S。AND门1612的输入端接收数值SIX及信号RESUMEB,其输出端耦接多工器1613的选择输入端S。AND门1614的输入端接收数值FIVE及信号RESUMEB,其输出端耦接多工器1615的选择输入端S。AND门1616的输入端接收信号RESUME及PG_FU_CONST_RES_CLK,其输出端耦接多工器1617的选择输入端S。
[0215]多工器1601的输入端O接收一数值<*2>VSS0:PGT〈15:0>:〈*2>VSS0,其输入端I接收一数值<*3>VSS0:PGT〈15:0>:VSS0,其输出端耦接下一多工器1603的输入端I。多工器1603的输入端O接收数值DHME〈19:0>,其反相输出端提供一数值PG2T〈19:0>。多工器1605的输入端O接收数值PG2T〈19:0>,其输入端I接收数值PG2T〈18:0>:VDD0,其反相输出端提供一数值PG3T〈19:0>。多工器1607的输入端O接收数值PG3IX19:0>,其输入端I接收数值PG3T〈18:0>:VSS0,其反相输出端提供一数值PG4T〈19:0>。多工器1609的输入端O接收数值PG4T〈19:0>,其输入端I接收数值PG4T〈18:0>:VDD0,其反相输出端提供一数值PG5T〈19:0>。多工器1611的输入端O接收数值PG5T〈19:0>,其输入端I接收数值PG5T〈18:0>:VSS0,其反相输出端提供一数值PG6T〈19:0>。多工器1613的输入端O接收数值PG6T〈19:0>,其输入端I接收数值PG6T〈18:0>:VDD0,其反相输出端提供一数值PG7T〈19:0>。多工器1615的输入端O接收数值PG7T〈19:0>,其输入端I接收数值PG7T〈18:0>:VSS0,其反相输出端提供一数值PG8T〈19:0>。多工器1617的输入端O接收数值PG8IX19: 0>,其输入端I接收数值<*13>VDD0:PGTIMEB<6: 3>: <*3>VDD0,其反相输出端提供一数值 PG_HME〈19: 0>。 [0216]由于部分的多工器具有反相输出端,故利用VSSO及VDD0,用以在位移后加入逻辑O或I。举例而言,在多工器堆迭中,在对偶数的数值PG2T、PG4T及PG6T进行位移后,加入VDDO,即逻辑1,在对奇数的数值PG3T、PG5T及PG7T进行位移后,加入VSSO,即逻辑O。在其它实施例中,如果多工器并未具有反相输出端时,则需调整位移后所加入的数值。
[0217]以下将说明图7B的时间解码器712的动作原理。在正常操作下,当未进行电源闸控时,信号RESUME为低电平。简单来说,首先假设位PG_FU_ENT〈10:5>被编程,因此,信号FIVE~TEN被触发至低电平(包括信号SIX及SEVEN),并且多工器1605~1617选择输入端O所接收到的信号。信号HIERB被触发至低电平,因此,多工器1603选择预设数值DHME〈19:0>,经过多工器堆迭的处理,产生数值PG_HME〈19:0>。多工器1413选择数值<*4>:VSS0:PGT〈15:0>,作为PG_HME〈19: 0>的初始值或预设值。如上所述,在起始时钟周期中,控制字PG_CNTRL〈15:0>的低位(除了 MSB以外的位)被初始成1111000000000000b,并被反相成 PG〈15:0>,其值为 0000111111111111b,故 PGT 的值为 0000000000010000b。PGT的初始值所对应的PG_CLK的初始周期约为80ns (时钟周期的乘法器2°的架构将第一组3位设定成任何值)。可了解的是,在不同的架构中,时钟值可为任意值,并且可选择任何不同的时钟周期作为初始值。
[0218]在持续电源闸控时,控制字PG_CNTRL〈16: 0>被减小时,造成相对应的PG〈15: 0>也随之减小。当PG〈15:0>的第11个位变成O时,将原本的PG〈15:0>的第10个位设定成1,故PG〈15: 0>变成0000000000100000b。由于PGT〈15: 0>整合在〈19: 0>之中,用以在电源闸控时,调整卩6_11]\^〈19:0>,因此,011]\^〈19:0>及?6_11]\^〈19:0>均会被调整。由于选择下一较大的周期,因此数值PGT〈15:0>增加至PG_CLK的两倍周期时。因而造成PG_CLK的周期变成两倍,故PG〈15:0>的每一下位变成逻辑O。当PG_CLK的周期增加时,控制字的调整速度变慢(因具有较低的频率)。
[0219]如上所述,为了调整PG_CLK的周期,可定义任意数量(O或更多)的临界电压(如PG_VREF<1:N>)。如图所示,PG_REF〈1>所表示的临界电压还不够接近临界电压PG_VREF〈2>所表示的最终电压电平。在进行电源闸控时,若已达较大的临界电压时,HIER会变成低电平,而HIERB变成高电平。因此,多工器1603选择输入端I的信号,即多工器1601的输出信号。若PG_FU_HIERB为低电平(预设值),数值<*2>VSS0: PGT<15:0>: <*2>VSS0会被提供给多工器1603,而不是数值DHME〈19:0>。这个新数值表示PG_HME〈19: 0>的PGT〈15:0>的数值需进行两次的左移,也就是把PG_CLK的周期乘上系数4。在持续电源闸控时,除了正常的单一位移外,还需要此额外的两次位移。
[0220]如果PG_FU_HIERB被触发成高电平时,当HIERB变成高电平时,多工器1601选择系数〈*3>¥550:?61'〈15:0>:¥550,用以表示一额外的单一左移,其将?6_0^的周期乘上系数2,而不是系数4。因此,数值PG_FU_HIERB允许稍稍增加电源闸控的周期。
[0221]直到达到最终电平,否则在局部的电压闸控中,为了调整PG_CLK,可只使用单一临界电压值,但在其它实施例中,可使用其它数量的临界电压PG_VREF〈 1: N〉,用以根据相对应的比较信号CMP3~CMPN所定义出的临界电压,进行任何可编程数量的时钟调整。在考虑到额外临界电压以及相对应的时钟周期调整时,可更改图16A及图16B的多工器结构。
[0222] 时钟位移器1203根据位PG〈15:6>的数值以及位PG_FU_ENT〈10: 5>的设定数值,额外调整PG_CLK的周期。位PG_FU_ENT〈10: 5>的数值用以触发数值FIVE~TEN中的至少一个,每一数值使PG数值进行相对应的位移,用以调整信号PG_CLK的周期。在每一实施例中,当位PG〈15:0>的数值到达一相对应数值时,可根据时间数值对位PG〈15:0>的数值进行位移,用以将PG_CLK的周期乘上两个系数。举例而言,在电源闸控下,并且信号RESUMEB也被触发成高电平时,数值TEN被触发成高电平,故多工器1605选择数值PG2T〈18:0>:VDD0,而不是数值PG2T〈19:0>。将数值PG2T〈19:0>往左移,并在数值PG2T〈19:0>的最右侧补上逻辑 I(VDDO),用以构成数值 PG2T〈18:0>: VDD0。其它数值 NINE、EIGHT、SEVEN、SIX 及 FIVE的操作原理也相同,都是在相对应的数值被触发后,将时钟周期乘上两系数。如上所述,如果有需要的话,可事先致能数值SIX及SEVEN。在本实施例中,在电源闸控时,根据控制字PG_CNTRL的相对应数值,位PG_FU_ENT〈15: 0>致能数值FIVE~TEN中的至少一个,用以调整信号PG_CLK的周期(并且因而增加周期)。
[0223]如图9A及图9B所示,在电源闸控操作下,当信号HIGHB被触发至高电平时,表示已达保留数据或状态的电压电平,因此,在加总数值及差异数值之间动作,使得电压VDDl维持在保留电压电平。针对相对应的PG数值的微小变动,控制字PG_CNTRL也只会微小变动。信号PG_CLK的周期维持不变或是维持在两数值之间。
[0224]当信号PGATEl被无效化时,信号RESUME会被触发,用以开始恢复操作。在恢复操作下,可了解的是,从全电源闸控下回复的时间长短是可被决定的,并且在局部的电源闸控下,从状态保留电平回复的较差情况(即较长的回复时间)也可被决定。当恢复操作被初始化时,在恢复操作下,实际上的恢复时间取决于编程数值以及控制字的特定数值。若PG_FU_CONST_RES_CLK也被触发至高电平时,当信号RESUME被触发时,多工器1617选择数值〈*13>VDD0:PGHMEB〈6:3>:〈*3>VDD0,根据 PG_FU_RES_PER〈1:0> 的数值编程PGHMEB〈6:3>。从数值PGHMEB〈16:3>的左侧插入13个逻辑1,并在右侧插入3个逻辑I。如上所述,请参考图15,根据PG_FU_RES_PER〈1: O〉的数值,位PGHMEB〈16: 3>只有I个位被触发成逻辑O,用以令PG_CLK的周期等于一相对应固定周期。可了解的是,多工器1617反相该数值,使得相对应的逻辑I选择相对应的时钟周期。
[0225]如果PG_FU_CONST_RES_CLK的初始值为逻辑O时,多工器堆迭的输出将会被选择。由于信号RESUMEB为低电平,故每一多工器1603?1615的输入端O的信号会被选择,使得数值DHME〈19:0>成为PG_HME〈19:0>。如图14所示,由于信号RESUME为高电平,因此,在恢复操作下,选择数值〈*14>VSS0:PGTL0:PGT〈6>:PGT〈7>:PGT〈8>:PGT〈9>,PGTHI 为预设时间数值DHME。在本实施例中,解码器1420将低位PGT〈5:0>转换成单一位PGTL0,以及将高位PGT〈15:10>转换成单一位PGTHI。在另一实施例中,数值PGTHI及PGTLO连同剩余位PGT〈9: 6>被插入时间数值。只要位PGT〈5: 0>的I位被触发时,数值PGTLO为高电平,并且只有在位PGT〈15:10>的I位被触发时,数值PGTHI为高电平。因此,当数值PGT〈6>、PGT〈7>、PGT〈8>、PGT〈9>及PGTHI被触发成高电平时,便可选择一周期给PG_CLK。
[0226]在恢复操作中,由于在时间数值里的PGT的数值会被反相,因此,一开始信号PG_CLK的周期为一相当小的数值,用以快速地进行频率调整。在恢复操作下,2输入-多工器915选择一加总调整数值,因此,控制字开始逐渐增加。此时,信号PG_CLK的周期逐渐增力口,用以控制电压VDDl的上升时间。然而,PGT的高位被合并成单一位的数值PGTHI,因此,信号PG_CLK会长时间维持在较短的周期中,用以快速地增加电压VDDl。当电压VDDl到达操作电压电平时,信号PG_CLK的频率会随着控制字的增加而减少。在另一实施例中,在快复操作中,当电压VDDl的上升时间在一适当的范围内时,控制字可能会大幅地增加,用以减小信号PG_CLK的周期。一旦控制字PG_CNTRL〈16:0>到达了一特定电平时,例如位PG_CNTRL〈13>或PG_CNTRL〈14>取决于PG_FU_RESUME_STOP的设定,最高有效位PG16会被触发,并且控制字PG_CNTRL〈16:0>会回到初始值,并且停止信号PG_CLK的动作。
[0227]可以了解的是,在另一实施例中,电压VDDl从数据保留电平增加至正常操作电平的时间可能比电压VDDl从正常操作电平减少至数据保留电平的时间还快。然而,需控制电压VDDl的增加,用以确保电压VDDO不会明显地受到影响,进而影响微处理器100的其它内核(或电路)的供给电压。另外,可根据特定结构可编程地调整电压VDDl增加的电压。
[0228]当PG_CKILL_C0RE1被触发,用以开始全电源闸控操作时,图11的反相器1111将信号KILL触发至高电平,使得OR门组1123将控制字PG_CNTRL〈16: 0>的每一位上拉至高电平(因此,控制字PG_CNTRL〈16:0>的每一位被无效化或是不被触发)。因此,PMOS晶体管502、504、506、508及601均不导通,用以隔离电压VDDl与VDDO,并将电压VDDl下拉至地或是 VSSO0 PG〈15:0> 被初始化成 0000000001111111b (通过逻辑门 1115 及 1117),因此,PG_CLK的周期为一起始选择调期。当PG_KILL_C0RE1被无效化时,藉由初始化PG及PGT数值,便可触发RESUME。当PG被初始化时,便可在恢复操作下,初始化控制字PG_CNTRL〈16:0>。如果在恢复操作下,没有选择一固定的时钟周期时,当数值PGT被初始化时,可将PG_CLK的频率设定在一高时钟频率,用以快速恢复操作。在本实施例中,在恢复操作时,恢复时钟的周期根据架构,完全地被编程。虽然全电源闸控可快速地被致能,但必须控制闸控供给电压回到正常操作电平的增加量,以避免影响周围的内核及电路。
[0229]PG_CLK的周期根据许多系数而被编程,用以在电源闸控或是恢复操作下,控制电压VDDl的电平变化。一系数就是控制字本身。举例而言,数值PGT及PG_TME〈19:0>根据位PGT的变化而改变。藉由保险丝或扫描方式…等等,编程额外的时间位移。另一用以控制周期的系数为电压VDDl的电平,如上所述,藉由触发HIER,用以表示较高的临界电压(如切换多工器1601的输入信号)。利用不同的实现方式或架构,对电压VDDl的临界电压进行额外的调整。
[0230]时钟控制器706产生信号PG_CLK。在本实施例中,时钟控制器706产生多个时钟信号,并且时间解码器712产生时间数值PG_HME〈19:0>,用以选择一时钟信号。在另一实施例中,时钟控制器706可能由一可编程时钟产生器所实现,而时间数值可用以编程时钟信号的周期。在其它实施例中,可利用时间器或计数器…等等实现时钟控制器706。
[0231]在电源闸控或恢复操作下,藉由许多系数编程控制字的调整,用以控制电压VDDl的调整幅度。一系数就是控制字本身,藉由一可选择量,位移控制字,便可控制调整增益。
[0232]上述实施例已呈现根据可编程的临界电压,调整PG_CLK。也可以利用可编程的临界电压进行增益的调整。如图17所示,根据一临界电压(如比较信号CMP3)进行额外的增益调整。如第17所示,多工器903的输入端耦接多工器1701及1703的输出端。如上所述,多工器903、1701及1703为16位的结构,各自具有16个多工器。多工器903根据编程数值PG_FU_SUB_GN选择多工器1701 或1703的输出信号。多工器1701根据比较信号CMP3,选择位移数值SHIFTVAL1或SHIFTVAL2。多工器1703根据比较信号CMP3,选择位移数值SHIFTVAL3或SHIFTVAL4。每一位移数值均具有16位,并在电源闸控下,表示控制字的不同的位移结构,其相对于不同的增益值。在本实施例中,可额外新增多工器,用以根据任意数量的临界电压,利用加总数值和/或差异数值进行增益调整。
[0233]具有数据恢复功能的数字电源闸控的系统及方法为全可编程,用以根据电流装置的触发状况,数字化地控制一闸控电压,如一本地供给电压,电流装置可为PMOS、NMOS晶体管…等等,其耦接于两电压之间,其中一电压为一整合供给电压。一微处理器具有不同程度的电源闸控,故可静态地或动态地调整特定的最终电压电平。此外,可改变电路或内核…等等的特定结构,如整合ECC存储器…等等。因此,决定最终电平的参考电压可能被调整或是选择一不同的参考电压。实际上的最终电压电平可能是取决于特定结构及操作模式。具有数据恢复功能的数字电源闸控的系统及方法完整地可编程产生任何适合的电压电平。
[0234]控制字PG_CNTRL的二进制数值取决于许多参数,如处理器、温度以及最终电压电平。实际上的电压会被测量,并在一控制回路中,连续性或周期性地加入或减去一调整数值,用以调整电压。具有数据恢复功能的数字电源闸控的系统及方法相似于一模拟电压调节器,不同之处在于上述的系统及方法系数字化地控制,并应用在二进制分散的装置中,根据最终电压电平控制二进制装置。
[0235]虽然本发明已以优选实施例公开如上,然其并非用以限定本发明,本领域技术人员在不脱离本发明的精神和范围内,当可作些许的更动与润饰,因此本发明的保护范围当视后附的权利要求书所界定者为准。
【权利要求】
1.一种集成电路,包括: 整合供给总线; 闸控供给总线; 功能电路,具有一电压供给输入端,该电压供给输入端耦接该闸控供给总线; 至少一可编程装置,存储至少一编程控制参数;以及 数字电源闸系统,包括: 多个闸控装置,每一闸控装置具有电流端对以及控制端,每一电流端对耦接于该整合供给总线与该闸控供给总线之间; 电源闸控系统,控制数字控制数值,其中该数字控制数值包括多个位,每一位被提供给所述闸控装置的至少一控制端,用以控制所述闸控装置的一部分;以及 其中该电源闸控系统藉由调整该数字控制数值,用以在电源闸控操作下,使该闸控供给总线的电压与该整合供给总线的电压有关,并且利用该编程控制参数调整该电源闸控操作。
2.如权利要求1所 述的集成电路,其中该电源闸控系统包括一电源闸控制器,在电源闸控下,该电源闸控制器根据该编程控制参数,从多个差异增益数值中选择一个,用以降低该闸控供给总线的电压。
3.如权利要求1所述的集成电路,其中该电源闸控系统包括电源闸控制器,在电源闸控下,该电源闸控制器根据该编程控制参数,从多个加总增益数值中选择一个,用以增加该闸控供给总线的电压。
4.如权利要求1所述的集成电路,其中该电源闸控系统包括电源闸控制器,在恢复操作下,该电源闸控制器根据该编程控制参数,从多个恢复增益数值中选择一个,用以增加该闸控供给总线的电压。
5.如权利要求1所述的集成电路,其中该电源闸控系统包括一电源闸控制器,该电源闸控制器根据该编程控制参数,从多个停止数值中选择一个,用以在该数字控制数值达一选择停止数值时,中止恢复操作。
6.如权利要求1所述的集成电路,其中该电源闸控系统包括一时钟控制器,该时钟控制器提供一时钟信号,用以控数字控制数值的一调整比例,并且该时钟控制器根据该编程控制参数,改变该时钟信号的周期,用以在该闸控供给总线的电压达至少一电压电平时,改变该调整比例。
7.如权利要求1所述的集成电路,其中该电源闸控系统包括一时钟控制器,该时钟控制器提供时钟信号,用以控数字控制数值的调整比例,并且该时钟控制器改变该时钟信号的周期,用以在该数字控制数值达至少一预设数值时,改变该调整比例,该预设数值取决于该编程控制参数。
8.如权利要求1所述的集成电路,其中该电源闸控系统包括一时钟控制器,该时钟控制器提供时钟信号,在恢复操作下,该时钟控制器根据该编程控制参数,控制该时钟信号的周期,用以增加该闸控供给总线的电压。
9.如权利要求1所述的集成电路,其中该电源闸控系统包括: 数字调整器,在多个连续调整周期的每一个中,整合数字调整数与该数字控制数值,用以改变该闸控供给总线的电压;以及增益选择逻辑,利用该编程控制参数,从该数字控制数值的多个位移结果中,选择一个作为该数字调整数值。
10.如权利要求9所述的集成电路,其中该增益选择逻辑包括: 差异选择逻辑,在电源闸控下,根据一可编程差异增益数值,从该数字控制数值的所述位移结果中选择第一位移结果作为选择差异调整数值;以及 加总选择逻辑,在电源闸控下,根据可编程加总增益数值,从该数字控制数值的所述位移结果中选择一第二位移结果作为一选择加总调整数值。
11.如权利要求9所述的集成电路,其中该增益选择逻辑包括一恢复增益选择逻辑,在恢复操作下,该恢复增益选择逻辑根据可编程恢复增益数值,从该数字控制数值的所述位移结果中选择一个作为选择加总调整数值。
12.如权利要求1所述的集成电路,其中该电源闸控系统包括: 数字调整器,在多个连续调整周期的每一个后,整合数字调整数与该数字控制数值,用以改变该闸控供给总线的电压; 时钟产生器,产生时钟信号,用以控制所述连续调整周期,其中该时钟信号的周期取决于时间控制数值;以及 时间解码器,根据该编程控制参数,提供并调整该时间控制数值。
13.如权利要求12所述的集成电路,其中该时间解码器包括: 转换器,将该数字控制数值转换成该时间控制数值,并且在该数字控制数值被调整时,调整该时间控制数值;以及 时钟周期选择器,每当该闸控供给总线的电压达至少一电压电平时,该时钟周期选择器根据该编程控制参数,从该时间控制数值的多个位移结果中选择一个。
14.如权利要求12所述的集成电路,其中当该数字控制数值达多个编程数值的每一个时,该时间解码器调整该时间控制数值,所述编程数值取决于该编程控制参数。
15.如权利要求12所述的集成电路,其中该时间解码器包括: 转换器,将该数字控制数值转换成该时间控制数值,并在该数字控制数值被调整时,调整该时间控制数值; 时钟位移器,根据该数字控制数值及该编程控制参数,提供至少一位移数值;以及 时钟周期选择器,当该数字控制数值达该位移数值时,位移该时间控制数值。
16.如权利要求12所述的集成电路,其中该时间解码器将该时间控制数值维持在一固定数值,使得该时钟信号具有固定周期。
17.如权利要求16所述的集成电路,其中该时间解码器根据该编程控制参数,从多个固定周期数值中选择一个。
18.如权利要求1所述的集成电路,其中该可编程装置具有保险丝阵列,该编程控制参数用以编程该保险丝阵列。
19.如权利要求1所述的集成电路,其中该可编程装置包括存储器,该编程控制参数用以编程该存储器。
20.如权利要求19所述的集成电路,其中在边界扫描中,编程该存储器。
【文档编号】H02J13/00GK103986241SQ201410246672
【公开日】2014年8月13日 申请日期:2014年6月5日 优先权日:2013年6月5日
【发明者】詹姆斯.R.隆柏格 申请人:威盛电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1