3 多电压设计
第二节提到的低功耗技术中,电源门控和自适应电压缩放技术现在较为常用。
传统方法认为电路只能由单一固定的电压供电,这两种方法不同于传统,基本形式是多电压设计:
多电压设计——将芯片的内部逻辑划分为多个电压区域或功率区域,每个区域都有自己的电源。
更进一步,还可以采用更复杂的电源策略,比如电压缩放和电源门控:
电压缩放——将芯片的内部逻辑划分为多个电压区域或功率域,每个区域都有自己的电源;
电源门控——闲置时将电源电压降到0;
多电压策略分类:
-
静态电压缩放(SVS)
不同的模块或子系统被给予不同的、固定的供电电压;
模块间电压可能各异,但是工作过程中各模块的电压是单一且固定不变的
-
多层电压缩放(MVS)
模块或子系统可以切换两个以上的供电电压;
在工作过程中可以被动切换不同的电压
-
动态电压频率缩放(DVFS)
模块或子系统的供电电压可以跟随工作负载的变化动态切换;
-
CMOS电路总功耗与VDD和f有关,DVFS就是通过调节 VDD 和 f 来调节功耗,是功耗vs性能的权衡;
-
动态调节策略:预先统级高能耗模块的负载情况——负载高则升频升压;反之……
-
由于更高的工作频率需要更高的供电电压,因此安全的调节顺序是:
- 提高power时:先提高VDD,再提高f;
- 降低power时:先降低f,再降低VDD;
-
-
自适应电压缩放(AVS)
3.1 多电压设计面临的挑战
- 电平转换器——将信号从一个电压摆动转换到另一个电压摆动的缓冲器;
- 特性和STA——时序分析变得更加复杂;
- 层规划、功耗规划、grid——更复杂;
- 板级的问题——需要额外的稳压器;
- 上电和掉电顺序——避免死锁;
3.2 电平转换器LS
用低电平信号驱动高电压域的门可能会同时打开N/PMOS,产生短路电流——动功;
无法得到干净&快速的输入信号,可能会导致信号在域之间 fall/rise time 增大,产生短路电流;
LS将电压摆幅和时序问题都限制在voltage domain边界上,不影响domain内的时序
LS设计是模拟设计,因此通常只被设计成单向的——从高电压到低电压,或者从低电压到高电;
tips:
对于静态电压缩放,LS单向限制不是问题。但对于供电电压在运行过程中会发生变化的多电压,这确实是一个挑战。设计时必须进行设计和划分,使相邻的电压域间有明确的关系——比如“始终较高”、“始终较低”或“始终相同”,此时就可以用相应的LS来实现接口。
方向 | 电路示意图 | 特征 | 影响 |
---|---|---|---|
H→L | 两个反相器串联; 一个电源轨VDDL | 只引入了缓冲延迟,对时序的影响很小 | |
L→H | 用低电压信号的缓冲和反相驱动一个在高电压下运行的交叉耦合晶体管 | 需要两条供电轨道; 阱之间互相隔离; 引入明显的延迟; |
LS通常放置在目标电压域中——高到低的低;低到高的高;
如果电压域间的距离足够近,且库具有足够强的缓冲区,则LS可以放置在原始域中,且不需要额外的缓冲;否则,需要在中间域中放置额外的缓冲器。
其中,额外的缓冲器和L→H LS会引起power route问题;(由于需要另一个电压域中的电压供电)
1.1v domian中的 buffer 供电用到了1.2v domain的VDDH,所以1.2v rail (VDDH) 必须被 routed;
由于低到高LS一定有两条电源轨道,无论LS放在哪个电压域,至少有一条rail会面临power route的问题;
LS的放置策略
- LS不会影响设计的功能;从逻辑的角度来看,它们只是缓冲区。因此implement tools可以在需要的地方自动插入LS,不需要对RTL进行更改。
- 建议将电平移位器放置在目标域中——输出驱动器有较高的电源电流要求;
- define LS : make rules for —— 何时插入;哪些模块需要;需要插LS的最小(临界)电压差;
- H→L的插入应基于时序的考虑
如果在两个不同电压域的接口上使用standard gate 而不是LS可能会导致错误的延迟计算。如果两个电压域的压差足够大,延时误差变得不能接受,此时需要插入LS。确切的最小电压差取决于库和设计目标。- L→H的插入应基于功率和时序的考虑
如果两个电压域的压差足够大,High domain的standard gate 的输入端无法完全关闭,会产生很大的短路电流。
eg. 对于PMOS, 压差过大会导致无法完全关断,考虑噪声裕度后的临界最小电压差可以表示为: V D D H − V D D L > V T H P − ( 0.1 × V D D H ) VDDH-VDDL>V_{THP}-(0.1×VDDH) VDDH−VDDL>VTHP−(0.1×VDDH) 在这个情况下,为了关断PMOS,应使用LS。
LS总结tips
- 确保不同电压域之间有明确的关系(L→H,H→L,…);
- 建议将电平移位器放置在目标域中;
- L→H会引入较大延时;
- power route 增加电路的复杂性,是挑战;
- 插入LS使接口处的 setup/hold time 验证变复杂;
3.3 多电压设计中的时序问题
时钟
跨不同电压域的时钟必须经过LS,将时钟偏移(clock skew)降到最小的方法——对每种电压情况同时进行优化和时序分析,以确保都满足时序。
静态时序分析(STA)
- 静态电压缩放时,时序分析只需要不同电压的时序信息库。然后,implement & analysis tools 可以使用适当的时序信息执行。
- 多电压(动态)缩放时,在哪个电压下对多电平模块进行综合、放置、布线以及STA?
必须为每个工作点或电源电压指定时序约束。工具必须使用这几套时序约束在各个电压下同时执行。只有同时满足要求,该实现过程才完整。
3.4 多电压设计的电源规划
对于使用多种电源的设计来说,将电源连接到不同的电压域是一个挑战。
每个电压缩放域都需要一个独立的本地supply grid,和连到supply pad 的低阻抗的电源连接线。
3.5 多电压设计的系统设计问题
power sequence
- 通常需要设计明确的上电顺序,使不同的电压域根据安排好的顺序上电,确保功能正确。
- 尤其需要注意,在reset之前需要确保所有电压域都上电了。
确保初始上电稳定的方法:
- 上电复位施密特电路
- 计时器
- 显式握手协议
- 多级电压缩放设计还有一个额外的约束——必须控制斜坡时间,避免电压过高或过低。
通过使用信号接口对电压调节器的初始开启和随后的斜坡进行排序,可以最好地实现这种斜坡控制。
- 电源控制器通常由CPU控制。