在power gating的设计中有一个rush current的概念,它的产生原因是switch cell上电过程相当于电容充电过程,会产生一个短期的大电流,称之为rush current。
1.rush current的危害
1)rush current产生的压降可能会造成大的短路电流(也叫crowbar current),原理是recevier cell比driver cell先开启。
2)过大的rush current会还对周围always on模块造成PG 噪声,影响时序和功能,造成电源完整性问题,另外rush current流经alway on block,输出到外部block的always on 逻辑受压降影响功能和时序也会出现错误。
2.控制rush current的方法
目前简单又行之有效的控制方法是使用daisy chain串联switch cell的sleep信号。如图所示。逐步上电比所有switch cell同时上电有更低的rush current,但是wake up time要更久。
2.1 single daisy chain
通过一条daisy chain来串联sleep信号,如图。
这种方式下,switch cell会一个接一个开启,随着switch cell开启的数量增加充电电流也在增大,如果开启的过快也会造成过大的rush current。为了降低rush current可以减少switch cell数量,但这样会增加单个switch经过的电流,并且增加ON state状态下电源网络电阻,影响ir drop,另外还会增加wake up time,也可以增加switch cell间的延迟,缺点也是会导致wake up time增加。
2.2 dual daisy chain
双链的实现方式有两种,一种是串联trickle chain(weak chain)和main chain,另一种是串联trickle chain再并行开启main chain。其中trickle chain可以理解为mos管尺寸小,电阻大,拥有更高的延迟可以有效降低rush current,而main chain则是正常尺寸,实际用来给设计提供电流。举两个例子,理解起来会更容易。
例一
使用loopback的单链,相当于串联trickle chain和main chain,这种switch cell往往是定制的,拥有双输入双输出(SLEEPIN1,SLEEPIN2,SLEEPOUT1,SLEEPOUT2),控制信号连接SLEEPIN1 pin到最后一个switch cell(相当于trickle chain),让其SLEEPOUT1 pin接自己的SLEEPIN2 pin,再连接回去(相当于main chain)。
例二
控制信号接串联的trickle chain(也starter chain),然后一个接并行的多条main chain。
但在实际操作中,也有其他方法,例如,trickle chain与main chain使用相同的switch cell。实现上插完switch cell array之后,连接switch cell是间隔几个cell连接,然后绕回去,形成一个短链,最后再连接剩下的switch cell,短链的部分也是通过增加延迟,减少数量来降低rush current。