首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
数字电路
» 数字IC低功耗设计入门(二)——门级电路低功耗设计优化(3)
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
数字IC低功耗设计入门(二)——门级电路低功耗设计优化(3)
发短消息
加为好友
look_w
当前离线
UID
1066743
帖子
8283
精华
0
积分
4142
阅读权限
90
在线时间
233 小时
注册时间
2017-6-23
最后登录
2019-5-18
论坛元老
UID
1066743
1
#
打印
字体大小:
t
T
look_w
发表于 2017-11-7 16:17
|
只看该作者
数字IC低功耗设计入门(二)——门级电路低功耗设计优化(3)
前面讲解了门级功耗的优化方法,包括静动态和总体的功耗。现在来记录一下门级层次(有点书也说是在系统级)常用的一种低功耗方法——
电源门控
。
①电源门控概述与原理
电源门控是指芯片中某个区域的供电电源被关掉,即该区域内的逻辑电路的供电电源断开。电源门控(Power Gating)的设计如下图所示:
如果某一模块在一段时间内不工作,可以关掉它的供电电源(关掉供电电源可以使用MTCMOS开关,通常在使用后端工具进行布局布线时加入MTCMOS,这属于后端知识,这里不进行介绍)。断电后,设计进入睡眠模式,其漏电功率很小。唤醒时,为了使模块尽快恢复工作模式,需要保持关电前的状态。
保持寄存器
(retention register)可用于记忆状态。使用保持寄存器设计电源门控如下图所示:
下面来解释一下上面的设计:
·在睡眠模式,寄存器的电源
Vdd2被切断
,因此它的漏电功耗极小;这时候仅仅保持锁存器处于工作状态,寄存器的值保留在锁存器里。由于锁存器是用
高阈值电压
的晶体管组成,漏电功耗很低。
·当Restore信号被激活时,寄存器的电源Vdd2被加上,保留在锁存器里的值被载入到寄存器。寄存器在工作(活跃)状态时,它作为一般的寄存器工作。
Save/Restore引脚也称为电源门控引脚(power gating pins)
,它们被用于把电路置于适当的模式。
·电源门控模块的输出端需要使用
隔离单元(Isolation Cell)(我们在前面讲过)
,因为在睡眠模式时,模块的输出为不确定值。为了保证在睡眠模式时,下一级的输入不会悬空,插入隔离单元,提供一个"1”或”0”的输出,使下一级的输入为确定的逻辑值,如下所示:
ISO为睡眠控制信号
,用于控制隔离单元的运作。电路在
正常工作
模式时,
ISO=0,ISO_ IN=IN
。电路在睡眠模式时,ISO=1时,如果使用
下面左图
的单元作为隔离单元,输出逻辑为“1";如使用
下面右图
的单元作为隔离单元,则输出逻辑为“0":
②工艺库中的电源门控单元
进行电源门控设计,需要用综合库的支持。综合库中的电源门控单元的库模型如下所示:
下面是库模型的部分解释:
·单元级属性(Cell level attribute)
power_gating_cell:"type","type”不可以是“none”或空字符,它鉴别所描述的保持寄存器的类型。本例中保持寄存器的类型为PG_1。
·电源门控寄存器的功能描述
它是保持寄存器在活跃模式的功能。
·引脚级的属性(Pin level attribute)
power_pin_1~ power_pin_5列出了现有的电源门控信号的名字。例如,power_pin_1可以用于定义为睡眠(sleep)信号,power_pin_2可以用于定义叫醒(wake)信号。power_pin_[1-5]信号的默认值是寄存器处于非工作(disable)状况的值,可以是“0”或“1"。例如,如果当power_pin_1的逻辑值为“1”时,电路进入睡眠模式,那么,其非工作(disable)状况的值应该是逻辑“0”。
③电源门控设计流程
了解了电源门控的原理和综合库的电源门控单元,下面我们就来介绍电源门控的设计流程。使用电源门控的
设计流程和相应的脚本
如下所示:
下面进行解释一下部分命令:
·脚本中使用set_power_gating_style命令来映射保持寄存器。例如对于下面的代码
······
always@ (posedge clk) begin:sub_block_1
g=d;
end
······
set_power_gating -style -type PG_1 -hdl_block sub_block_1
命令可以把代码中的寄存器映射为保持寄存器。选项“-type PG_1”指定使用库中类型为PG_1的保持寄存器。选项“-hdl_block sub_block_1”指定把RTL代码中进程(process)名为“sub_block_1"中的所有寄存器用类型为PCG_ 1的保持寄存器代替。
· 脚本中使用hookup_power_gating_ports命令来自动插入power_pin[1-5]端口和层次模块的引脚。同类功耗引脚的端口或引脚会被连接在一起。例如属性同为“power_pin_1”的引脚将被连接在一起,其默认名为“power_pin_1"。下图为执行hookup_power_gating_ports命令后设计中插入端口和层次模块的引脚。我们可以使用选项“-default_port_naming_style”和“-port_naming_styles”来改变端口和/或层次模块引脚的命名:
下面的脚本用set_power_gating_signal命令指定把电源门控引脚与现有的端口或层次引脚连接起来,如下所示:
set_power_gating_signal -power_pin_index 1 [get_ports Save]
set_power_gating_signal -power_pin_index 2 [get_pins A/p1]
······
hookup_power_gating_ports
结果如下所示:
·最后,我们可以用
report_power_gating
命令报告设计中的电源门控单元,如下所示:
电源门控就到这里了,低功耗设计入门也快接近尾声了...
收藏
分享
评分
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议