当前位置:网站首页>低功耗设计-Power Switch
低功耗设计-Power Switch
2022-07-28 05:24:00 【拾陆楼】
Power Switch(电源开关单元)。用于电源关断技术(Power Shut Off, PSO),它通过关断芯片中block或module的供电电压,来达到降低功耗的目的。
1、power gating的结构
power gating的方式从结构上进行分类,可以分为fine grain和coarse grain两种。前者是将power gating功能加入每个standard cell内部,缺点是面积大,优点是控制灵活,ir drop更小;后者是将power gating做成单独的power switch cell,优点是较之fine grain增加的面积更小,缺点是power switch cell额外产生ir drop(做power shut off domain的instance ir drop分析时,power switch的ir drop也要算进去,所以power switch的选型很重要,通常使用低漏电的HVT)。目前常用的方式为coarse grain。
2、power switch的工作方式
power switch cell从工作方式上分类,可以分为Header和Footer两种,前者通过控制power的开关实现power gating(如图1),主要构成为PMOS,后者通过控制ground的开关实现power gating(如图2),主要构成为NMOS。Header的功耗更小(关断电源减少漏电),比较常见的类型是Header。

图1.Header类型switch cell的symbol示例

图2.Footer类型switch cell的symbol示例
3、switch cell控制信号的连接方式
以Header switch cell为例,从连接方式上区分可以分为并联控制、串联控制两种,命名上常见为HEAD,HEADBUF。
HEAD类型,可以见图1,只有SLEEPIN控制信号,所有的switch cell是并联形式,通过一个控制信号控制。
HEADBUF,如图3,相比于“HEAD”,HEADBUF增加了SLEEPOUT输出pin(在结构上增加了一个buffer,将控制信号传递出去),switch cell的控制可以实现串联(通常叫做daisy chain)。除了这种单输入单输出的,还存在双输入双输出的类型(loopback)。

图3.Headbuf类型switch cell的symbol示例
需要注意的是,HEAD switch cell的阱电位要相对于可关断的power domain来讲应该接常开的电源,至少要与power switch的输入电源相同,不然会引起无法开启或关闭的问题,所以switch cell的放置需要考虑与周围环境阱电位是否一致,如果周围环境阱电位接power switch输出电源,就需要使用HEAD*TIE类型,阱电位有接触孔接输入电源,由于不同阱电位的spaing drc rule,需要switch cell与周围standard cell保持一定距离,如果阱电位一致可以使用一般的HEAD或HEADBUF(此时阱电位通过welltap控制,需要welltap接偏置,通过绕线接常开电源)。HEADBUF与HEADBUFTIE的layout对比如图4,HEADBUFTIE有阱电位接触孔通过poly(蓝色)接到输入电源VDDG pin上。

图4.HEADBUF与HEADBUFTIE的layout对比(上面为HEADBUF)
4、switch cell的摆放
根据放置的位置可以把switch cell分为两种,一种是放在block/power domain内部的(如图5),另一种是放在block外部的(如图6),前者输出接的是block/power domain的电源的power rail,后者输出接block的电源的strap,可以理解为驱动能力很强的switch cell。

图5.放在block内部的switch cell

图6.放在block外部的switch cell
5、UPF描述
UPF中关于power switch的描述如下:
create_power_switch PWRSWITCH_TOP
-domain PD_TOP
-input_supply_port {in VDD_PMU}
-output_supply_port {out VDD_TOP}
-control_port {top_in U_top/DatOut[0]}
-on_state {state_on in {!top_in}}
-off_state {OFF {top_in}}
map_power_switch PWRSWITCH_TOP
-domain PD_TOP
-lib_cell HEADBUF_X2M_HVT_C306、设计实例
分享一些power switch设计中踩到的坑。
1)二级电源
create_supply_port VDD_2DTCM -domain PD_2DTCM -direction out
create_supply_port VDD_2DTCM_PE -domain PD_2DTCM -direction out
create_power_domain PD_2DTCM \
-elements {u_core/u_cpu_top/u10_mem}
-supply {primary SS_2DTCM_PE} \
-supply {default_retention SS_2DTCM}
create_power_switch PwrSwitch_2DTCM \
-domain PD_2DTCM \
-output_supply_port {VDDC VDD_2DTCM} \
-input_supply_port {VDDP VDD_DIG} \
-control_port {EN u_core/pwd_dtcm_ram1} \
-on_state {RAM_2DTCM_On VDDP {!EN}} \
-off_state {RAM_2DTCM_Off {EN}}
create_power_switch PwrSwitch_2DTCM_PE
-domain PD_2DTCM \
-output_supply_port {VDDC VDD_2DTCM_PE} \
-input_supply_port {VDDP VDD_2DTCM} \
-control_port {EN u_core/ram_ret_pwd_VDDPE[1]} \
-on_state {PE_2DTCM_On VDDP {!EN}} \
-off_state {PE_2DTCM_Off {EN}}
如上示例,PD_2DTCM这个power domain有定义了两种power switch,而std cell供电用哪一种呢?create_power_domain中“primary SS_2DTCM_PE”给了答案,也就是VDD_2DTCM_PE,这个电是从哪来的呢?看下面power switch的定义,VDD_2DTCM_PE是由VDD_2DTCM经power switch输出产生的,也就是说这个PD_2DTCM的power domain里属于power的power rail由两种,VDD_2DTCM_PE和VDD_2DTCM(这里需要用脚本处理把power rail变成VSS、VDD_2DTCM_PE、VSS、VDD_2DTCM、VSS... ...)。
电源规划设计如图7,先由VDD_DIG stripe供电PwrSwitch_2DTCM,然后用VDD_2DTCM stripe将power rail 连起来,再经PwrSwitch_2DTCM_PE输出VDD_2DTCM_PE,最后需要给PwrSwitch_2DTCM所在的row加上hard blockage,因为这个domian的主要供电是VDD_2DTCM_PE。

图7
2)switch chain上的buffer
一些设计比较坑,需要加power switch但是不给UPF,这就导致power switch之间的连接如果有transition问题工具就会插buffer优化,如果插的不是always on buffer的话这里就会导致power domain无法开启或关闭。
边栏推荐
- 关于gcc :multiple definition of
- Neural network learning
- Difference between shallow copy and deep copy
- (PHP graduation project) based on thinkphp5 community property management system
- TCL and eltcl? Cdnext and CMRL?
- Geek challenge 2019-sql injection five questions PW
- How to view the transfer function of the module directly built by Simulink
- File upload vulnerability summary
- Web滚动字幕(MARQUEE示例)
- TCL和ELTCL?CDNEXT和CMRL?
猜你喜欢

Photovoltaic power generation system MPPT maximum power point tracking

A NOVEL DEEP PARALLEL TIME-SERIES RELATION NETWORK FOR FAULT DIAGNOSIS

How does fluke dtx-1800 test cat7 network cable?

Summary of common WAF interception pages

ASP.NET 读数据库绑定到 TreeView 递归方式

(PHP graduation project) based on PHP user online submission management system

Tornado first met

dsp和fpga的通讯

简述EMD分解、希尔伯特变换、谱方法

Agilent安捷伦 E5071测试阻抗、衰减均正常,惟独串扰NG?---修复方案
随机推荐
弹出消息对话框的方法
set_case_analysis
(PHP graduation project) based on PHP online travel website management system to obtain
VB OCX applied to Web
Reversible watermarking method based on difference expansion
USB Network Native Driver for ESXi更新到支持ESXi7.0 Update 2
Addition and multiplication calculation of GF (2^8)
福禄克DSX2-5000、DSX2-8000模块如何找到校准到期日期?
3、 Openvino practice: image classification
In asp Usage of cookies in. Net
Led selection - hardware learning notes 3
光伏发电系统——mppt最大功率点追踪
The short jumper dsx-8000 test is normal, but the dsx-5000 test has no length display?
初学者进行传感器选型
Nsctf web Title writeup
Web scrolling subtitles (marquee example)
2、 Openvino brief introduction and construction process
TVS管参数与选型
Reading experience of protecting against DNN model steaming attacks
LED发光二极管选型-硬件学习笔记3