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的设计(模块)的更多相关文章

  1. Power Gating的设计(模块二)

    针对lower power的验证,由cpf/upf来建模,包括: 1)power gating的功能模型(在power gate之后将output force为x) 2)isolation功能模型: ...

  2. Power Gating的设计(概述)

    Leakage power随着CMOS电路工艺进程,功耗越来越大. Power Domain的开关一般通过硬件中的timer和系统层次的功耗管理软件来进行控制,需要在一下几方面做trade-off: ...

  3. Power Gating的设计(架构)

    switching network的层次: 一般选择flatted的形式,hierarchy的结构对voltage drop和performance delay有影响. Power network的结 ...

  4. lower power的IP设计

    在IP的实现过程中,考虑lower power部分进行设计: 1)Partition the design来满足lower power的一些strategies,尤其是power gating和clo ...

  5. Multi-voltage和power gating的实现

    power domain:一个逻辑的集合体,包含power supply的一些信息.建立在FE. voltage area:chip上的一块物理区域.可以看作power domain的物理实现. Le ...

  6. kettle工具的设计模块

    大家都知道,每个ETL工具都用不同的名字来区分不同的组成部分.kettle也不例外. 比如,在 Kettle的四大不同环境工具 本博客,是立足于kettle工具的设计模块的概念介绍. 1.转换 转换( ...

  7. Java-单机版的书店管理系统(练习设计模块和思想_系列汇总)

    介绍: 本软件系列到此,我已经全部写完了. 项目练习目标 : 1.Java应用程序基本分析 2.培养面向对象编程的基本思想 3.Java基本设计模式综合应用 4.掌握分层和接口的基本设计 5.构建合理 ...

  8. ZYNQ原理图中添加RTL设计模块

    前言 已有的RTL模块怎么添加到原理图中? 流程 (1)添加文件到设计中. (2)右键文件添加到block design中. (3)连线即可. 以上.

  9. 合宙Luat | 电源设计——模块应用必看的2个要点

    在模块应用设计中,电源设计是很重要的一部分. 由于射频发射时,会在短时间有一个较大电流的突发脉冲.在突发脉冲阶段内,电源必须能够提供高的峰值电流,不然有可能会引起供电电压的跌落.   而很多初学的朋友 ...

随机推荐

  1. sublime text主要快捷键列表

    Ctrl+L 选择整行(按住-继续选择下行)Ctrl+KK 从光标处删除至行尾Ctrl+Shift+K 删除整行Ctrl+Shift+D 复制光标所在整行,插入在该行之前Ctrl+J 合并行(已选择需 ...

  2. 查询数据表,去除符合某些条件的记录,没有自动增长列(not exists)

    select distinct ccode,isnull(cexch_name,''),N'',N'',N'2014.03',0,1,1,1,12 from RP_bankrecp where not ...

  3. Java学习-038-JavaWeb_007 -- JSP 动作标识 - plugin

    plugin 动作时用来在 JSP 页面中加载 Java Applet 或者 JavaBean 组件,语法格式如下所示: <jsp:plugin type="bean|applet&q ...

  4. LeetCode Count Complete Tree Nodes

    原题链接在这里:https://leetcode.com/problems/count-complete-tree-nodes/ Given a complete binary tree, count ...

  5. JavaScript:综合案例-表单验证

    综合案例:表单验证 开发要求: 要求定义一个雇员信息的增加页面,例如页面名称为"emp_add.htmnl",而后在此页面中要提供有输入表单,此表单定义要求如下: .雇员编号:必须 ...

  6. 7z usecaes

    1. Archive without compressing 7z a -t7z -mx=0 OutputFilename InputFilename Descryption: a: command, ...

  7. Flume-ng+Kafka+storm的学习笔记

    Flume-ng Flume是一个分布式.可靠.和高可用的海量日志采集.聚合和传输的系统. Flume的文档可以看http://flume.apache.org/FlumeUserGuide.html ...

  8. C# 读取app.config配置文件节点键值,提示"配置系统未能初始化" 错误的解决方案

    MSDN里写到, 如果配置文件中包含 configSections 元素,则 configSections 元素必须是 configuration 元素的第一个子元素. 将自己添加的appSettin ...

  9. 请求转发(Forward)和重定向(Redirect)的区别

    forward(转发): 是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,因为这个跳转过程实在 ...

  10. SQL Server 2008 Express 安装或卸载时提示“重启计算机失败"的解决办法

    安装或卸载SQL Server 遇到错误提示:以前的某个程序安装已在安装计算机上创建挂起的文件操作.运行安装程序之前必须重新启动计算机.如下图: 解决办法: 1.在开始->运行中输入regedi ...