1.当前低功耗设计都离不开UPF标准,那么什么是UPF?
UPF的全称是统一功耗格式(Unified Power Format),其主要是由Synopsys推出的专门用于描述电路电源功耗意图的一种语言标准,它是Tcl语言的扩展,并且现在被三大EDA厂商支持。
由于RTL和设计约束不足以描述功率行为。没有用于捕获电压变化、shutdown、isolation、retention等功能。
我们需要使用UPF保持整个流程的一致性,实现自动化,最小化设计失败的风险。
2.低功耗设计需要的特殊cell
1).power switch cells
Power switch cell相当于一般电路中的开关,所不同的是,它们并不是由强电电路中的接触开关来实现连接和断开,而是依然通过CMOS电路构造来实现的。
左侧的摆放方式是在需要关断的module周围摆放一圈或者几圈switch cell并将其首尾相连,外部电源接到power switch的输入上,并将输出连接到module内供电的高层金属,通过控制模块来控制switch来实现电源的开关。
右侧的方法则将power switch cell像standard cell一样以固定的pattern分布在整个design中,电源的上层金属连接到power switch cell的输入端,输出端则连接到power rail上,通过断开rail与上层金属的连接来实现电源关断。
MTCOMS 是一种power switch可以实现较低的阈值电压,从而获得较高的性能和较小的待机泄漏电流。通过在信号路径中使用低Vth晶体管,可以降低电源电压(VDD),从而在保持性能的同时降低开关功耗。
它有三种pin,一个接输入power, 一个接ground,另一个接输出power。
2).isolation cell
当信号从一个module传入另一个module,如果输入端的电源关闭,则输出信号可能出现不可预测的数值,若此数值传递出去可能会导致功能出现问题。因此需要将电源关闭module的输出信号和其他module隔离开来,这时候就需要用到isolation cell。
Isolation cell的作用在于将某个信号点位固定到高电位或低电位。其原理也很简单,基本上等同于AND或者OR门
iso cell有一个控制端EN,当EN无效时,A端信号直接送到Y端,此时iso cell等效于一个buffer,当EN有效时,buffer断开,Y端保持固定的高电平或者低电平。
isolation放置的位置?
isolation推荐放在相对always on domain, 因为当off domain关闭时,iso cell的nwell断电,会导致iso cell出现漏电,在相对always on domain的input端加 iso cell,就不用担心nwell断电的问题了。
3).level shifter cell
当信号在跨电压传输时,需要加上level shifter cell。实践表明在经常碰到lever shifter区域存在特别大的IR drop问题。
Level shifter是两条row高度的cell,其中含有VDD,VSS和VDDL(VDDH)。VDDL和VDDH是secondary power pin。在画power时,需要将其画成一个额外的power rail,确保每个Level shift cell secondary power pin的正常供电。
4)Always-on cells
有些逻辑需要在关机期间保持活动状态,比如,path to enable pins of ISO/ELS、power switches、retention registers、feedthrough paths
5)Retention register
如果在电源关闭的过程中某些数据仍然不希望丢失,就需要用到retention寄存器来保存数据。
3.UPF 示例
TOP模块电压1.08V,pd1模块电压0.7V,可以看到top模块通过switch cell连接到pd1模块,从top模块到pd1模块需要high-to-low的leve shifter cell,从pd1模块到top模块需要low-to-high的leve shifter cell,pd1中存在一个retention register来保存数据,以便快速恢复。
总结:
学习视频来源:https://www.bilibili.com/video/BV18i4y187XV