第一节:低功耗设计的基本单元和概念
大家好,最近疫情宅家,工作没有那么忙,所以写一下之前从事过的低功耗设计并和大家分享,希望大家多多提出不足。本次总结一共分为若干小节(还没定),我会从最最基础的低功耗的概念和器件开始分享,尽量全部说干货,不过鄙人水平有限,文笔拙劣,有不对的地方还请大佬不惜赐教!
首先简单说明下upf及其发展,upf就是用来表示你低功耗设计意图的文件,用它来说明低功耗设计的思路和方法,由IEEE发布,之前为IEEE1801(2009)对应upf2.0,更新后为IEEE1801(2013)对应upf2.1,之后还有更新。版本不同在于低版本的upf不能很好的支持某些低功耗场景,比如2009只支持multi-fanout中对不同pd统一加ISOLATION的情况,而2013支持,这个后面章节会提到。本节先说一些简单的低功耗名词和概念有助于大家后面的学习,注意,下面的内容大致了解即可,后面章节会展开说明,upf描述也只是让大家有一个印象,最后的例子很重要,希望大家可以理解,我们开始吧!
Power Domain
首先说一下power domain (pd),即电源域。
图 1
- Pd 对前端是一个虚拟的概念,可能由几个数字模块组成,需要注明pd的电压。
- 注明Pd中的power switch (ps)的形式,比如使用p管关闭ps或者n管关闭ps等属性。
- 需要定义supply network,也就是说你的supply从哪里过来,这对后面的power mesh有很大影响,后面会说到。
- Upf描述: -create_power_domain
-set_domain_supply_net
Power Supply
图 2
- Supply nets是连接外层pd和内层pd的线。比如一个插线板, 在每个pd上必须定义自己的Supply nets。
- Supply port就是插头,在每个pd上必须定义Supply port从哪里来。
- Domain supply nets是pd内部的Supply nets。
- Power swich即pd开关,AON和TOP的pd不需要ps。
Power state table(pst)
Pst描述了当有很多pd的时候,他们相互之间是怎么工作的。比如图1中3个pd在同一时间可以有不同的开和关的状态,那么这个pst就有2^3=8种情况。实际工作中也不会8种状态都会有,这个需要看具体设计,比如图1中pd_top需要一直开,那么就少了4种情况。如果有DVFS的时候可以把power supply定义为不同的电压,电压开或关等等,不同的情况就是一种state,后面会详细说明。在upf中定义Pst的作用是vcs的vclp工具把pst当做golden去检查设计中iso,ls,ps是不是完整且正确;提高验证的converage。
图 3
Special cells
图 4
- Isolation(图4中ISO)
Iso_en为0:与门
Iso_en为1:或门
图 5
它有VDD和VDDB两个power,掉电的时候,vdd断电,vddb继续供电,iso_en来自有电的其他模块,这样就可以防止IN进来的x态。上图为“to”demain类型的iso,即iso在有电的pd里面;同样也有“from”类型的iso,即将iso放在断电的pd里面,此时他的iso_en,vddb需要来自有电pd。
UPF描述:set_isolation
set_isolation_control
map_isolation_cell (用于map工艺库里不同的iso,比如to或者from类型)
2. Level shift (电平转移器)
把一个1v的信号送到1.2v的pd会出现信号无法传递的问题。这个时候需要用到LS。
Upf描述: -set_level_shifter
-map_level_shifter_cell (用于map工艺库)
图 6
VDDI 可以来自1.2V PD ,VDDO来自0.9V PD。
Enable level shift cell :结合ISOLATION 和LS两种单元的功能,既能变化电压也能保持数据不丢失。
3. Aon_buffer
Aon_buffer可以放在断电的pd,如图7中的第一幅图,它可以保证RR(Retention register)的save信号穿过断电pd,如果是不同的buffer,save信号无法穿过。如果定义了aon pin和aon port,就自动加入aon buffer。
图 7
4. Retention register
RR的作用是掉电之前将数值save送入寄存器,等pd打开之后,使用restore信号恢复save的数值。举唤醒为例,这保存了之前的唤醒状态,所以唤醒后可以不重新进行之前的唤醒过程,加速电路唤醒时间,增加performance。缺点是RR面积太大。
UPF 描述:
Set_retention
Set_retention_control
Map_retention
图 8
UPF设计例子讲解
请你描述以下电路的upf设计思路。
图 9
答:图中有两个pd,外面为1.08v简称pd_top,里面为0.7v可关闭的pd,简称pd_dhm。1. 首先你需要在pd_top定义supply port:VDD,VDDL,VSS及其对应的supply nets,注意VDD到pd_dhm不需要定义supply port,因为pd_dhm为0.7v。
2. 你需要在pd_dhm里面定义power_switch.
3. pd_top为1.08v,pd_dhm为0.7v,所以数据进来需要LS,图中紫色的处。
4. 因为 pd_dhm可以关闭,所以它的数据送到外面需要加LS和isolation,两个合并为enable level shift cell,图中右下角蓝色处,它的控制来自pd_iso信号。
5. 因为唤醒需要很长时间,为了加快唤醒时间,这里加入了RR
具体的UPF实现会在后面的单元讲解
OK,今天的分享到此为止,明天更新再见!