Power Gating的设计(模块)
Switching Fabric的设计:
三种架构:P沟道的switch vdd(header switch),N沟道的switch vss(footer switch),两个switch。
但是如果加入两个switch,与门电路结合,可能会产生较大的IR-drop,增大delay,所以这种方式很少用。
P沟道的switch vdd,广泛应用在volatge scaling设计中。
N沟道的switch vss,很少用,有switch的电路,一般都需要level shifter。
但是一般level shifter都是一个共地,两个voltage。
Switch Fabric的控制:
主要考虑是为了减少in-rush current,voltage spike。
两种方法:
1)对switch的菊花链的控制信号(daisy-chain),control signal连接到第一级的switch,
进行buffer之后,在传递给到第二级的switch。
需要引入ack信号,来保证有效的power up。
2)对control signal进行分级,第一级开启一个weak/trickle的switch,
第二级开启main switch,
switch signal必须在always on的power内,会增加power routing的复杂性。
而且在DFT设计中,必须保证Power Gating signal是可控的。
Signal isolation的必要性:
1)保证power down的region不会对power up的region的input端口产生弧电流,
2)保证power down region的浮空输出不会对power up的region产生影响,
Isolation的cell,一般采用AND门电路或OR门电路进行,但这样会引入门电路的延时。
lib中的cell一般会针对leakage和timing,对这样的门电路进行优化。
还有一种方式是直接通过isolation信号将output钳位在某一电平。
但是这样会引起multi-drive的问题,isolation必须在掉电之后才能有效,无法实现。而且DFT的设计也很困难。
这样做的好处是节省area,而且timing较好。
目前的isolation cell一般都加在output端,对于reuse-ip,可以直接在内部包含isolation cell。
为了避免不必要的leakage 泄漏(sneak path),一般对于header-switched design,选择高电平的isolation控制信号,
低电平的reset有效信号和clamp到"0"。
提供retention操作的几种方式:
1)软件的方式读写register;
2)利用scan-chain的方式,将信息存储起来;
3)使用retention的register。
第一种方式,要求软件工程师了解很多的硬件操作,不介绍。后俩种对系统几乎透明,主要介绍。
使用scan-chain的方式:
1)由于scan-chain的数目和长度都是在综合过后,才能确定的,而Power Gating在前端必须验证;
2)从数据位宽角度,scan-chain的数目必须和存储器的位宽一致;
3)由于scan-enable的信号是由所有的chain共享的,所以需要做balance;所有的san-chain等长;
4)在scan操作过程中,信号toggle的频率比正常工作大很多,DFT工具会分析IR-drop,并调整,但是retention中需注意;
retention的register:由一个regular的register和一个shadow register组成,shadow register是always power on的。
有的由两个信号save,restore组成,有的只有一个retention信号。
save操作多在clock已经关掉,但是power还在的情况下有效,restore在power有效,clock还没开始的情况下有效。
相较于一般的register,带retention功能的,面积增加20%左右,而且shadow register多采用highVt的cell
来避免leakage过大,但是对于reset和clock tree一般选择lowVt的cell来保证timing。
partial retention:保留shallow state(control register),复位deep state(register contain large amount data);
在power up之后,电路中不会有X存在即传递,这样需要分别的reset信号来控制retention和non-retention部分。
在进行DFT测试时,需要保证可以force retention的寄存器,来检查save和restore都是deassert。
同样可以去除这个force,来检查save和restore可以assert。
Power Gating Controller:
有一个handshake来保证power down和power up的完备性。
由switch产生的ack信号,多是异步的,power controller需要做sync处理。
Power Gating的设计(模块)的更多相关文章
- Power Gating的设计(模块二)
针对lower power的验证,由cpf/upf来建模,包括: 1)power gating的功能模型(在power gate之后将output force为x) 2)isolation功能模型: ...
- Power Gating的设计(概述)
Leakage power随着CMOS电路工艺进程,功耗越来越大. Power Domain的开关一般通过硬件中的timer和系统层次的功耗管理软件来进行控制,需要在一下几方面做trade-off: ...
- Power Gating的设计(架构)
switching network的层次: 一般选择flatted的形式,hierarchy的结构对voltage drop和performance delay有影响. Power network的结 ...
- lower power的IP设计
在IP的实现过程中,考虑lower power部分进行设计: 1)Partition the design来满足lower power的一些strategies,尤其是power gating和clo ...
- Multi-voltage和power gating的实现
power domain:一个逻辑的集合体,包含power supply的一些信息.建立在FE. voltage area:chip上的一块物理区域.可以看作power domain的物理实现. Le ...
- kettle工具的设计模块
大家都知道,每个ETL工具都用不同的名字来区分不同的组成部分.kettle也不例外. 比如,在 Kettle的四大不同环境工具 本博客,是立足于kettle工具的设计模块的概念介绍. 1.转换 转换( ...
- Java-单机版的书店管理系统(练习设计模块和思想_系列汇总)
介绍: 本软件系列到此,我已经全部写完了. 项目练习目标 : 1.Java应用程序基本分析 2.培养面向对象编程的基本思想 3.Java基本设计模式综合应用 4.掌握分层和接口的基本设计 5.构建合理 ...
- ZYNQ原理图中添加RTL设计模块
前言 已有的RTL模块怎么添加到原理图中? 流程 (1)添加文件到设计中. (2)右键文件添加到block design中. (3)连线即可. 以上.
- 合宙Luat | 电源设计——模块应用必看的2个要点
在模块应用设计中,电源设计是很重要的一部分. 由于射频发射时,会在短时间有一个较大电流的突发脉冲.在突发脉冲阶段内,电源必须能够提供高的峰值电流,不然有可能会引起供电电压的跌落. 而很多初学的朋友 ...
随机推荐
- SQL SERVER中非聚集索引的覆盖,连接,交叉,过滤
1.覆盖索引:select和where中包含的结果集中应存在“非聚集索引列”,这样就不用查找基表了,索引表即可搞定: 2.索引交叉:索引的交叉可以理解成建立多个非聚集索引之间的join,如表实体一 ...
- Java学习-006-三种数据库连接 MySQL、Oracle、sqlserver
此文主要讲述在初学 Java 时,常用的三种数据库 MySQL.Oracle.sqlserver 连接的源代码整理.希望能对初学 Java 编程的亲们有所帮助.若有不足之处,敬请大神指正,不胜感激!源 ...
- AD834+表面声波滤波器调试小结
AD834:带宽较宽,300M无压力,但是输出幅度小,当输入2VPPX2VPP的时候最大输出400mVPP.一个特别要注意的地方是输入走线尽量短,敷铜间距至少满足3倍线宽,不然隔直之后还会耦合信号进去 ...
- MSP430之频率测量,误差1Hz
#include "timerHz.h" #include "msp430g2553.h" #define _DEBUG_TIMERHZ_ unsigned ] ...
- 移动端a链接点击时取出背景色及边框
a{blr:expression(this.onFocus=this.blur())} :focus{outline:0;} /*去掉a标签的虚线框,避免出现奇怪的选中区域*/*{-webkit-ta ...
- DBCC TRACEON/TRACEOFF/TRACESTATUS
1. enable trace DBCC TRACEON ( trace# [ ,...n ][ , -1 ] ) [ WITH NO_INFOMSGS ] trace# Is the number ...
- Shell函数语法
Shell函数语法 定义函数: function 函数名(){ 指令... } 调用函数,方法1: 函数名 调用函数,方法2: 函数名 参数一 参数二 return在函数里面使用会跳出函数并 ...
- Android 拉伸四周"空白",中间内容不变的9Patch
系统自带tools下的9Patch制作工具: 在左边,画线的视图里,Zoom到最大,分别在上方和左方的四个端点,各点一下,效果: 看看这四个点的位置: 二.补充一个箭头尾巴可自由拉伸的9patch示例 ...
- 用NPOI操作EXCEL关于HSSFClientAnchor(dx1,dy1,dx2,dy2,col1,row1,col2,row2)的参数
2.4.1 用NPOI操作EXCEL关于HSSFClientAnchor(dx1,dy1,dx2,dy2,col1,row1,col2,row2)的参数 NPOI教程:http://www.cnb ...
- python_字典
1. 字典的定义 字典由多个键及其对应的值构成(我们也把键/值对称为项).键是唯一的,值不唯一.键可以是数字.字符串甚至是元组. 2. 字典的创建 (1) phonebook = {"} 名 ...