首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
数字电路
» 数字IC低功耗设计入门(二)——门级电路低功耗设计优化(1)!
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
数字IC低功耗设计入门(二)——门级电路低功耗设计优化(1)!
发短消息
加为好友
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:15
|
只看该作者
数字IC低功耗设计入门(二)——门级电路低功耗设计优化(1)!
三、门级电路低功耗设计优化
(1)门级电路的功耗优化综述
门级电路的功耗优化(Gate Level Power Optimization,简称GLPO)是从已经映射的门级网表开始,对设计进行功耗的优化以满足功耗的约束,同时设计保持其性能,即满足设计规则和时序的要求。功耗
优化前的设计是已经映射到工艺库的电路
,如下图所示:
门级电路的功耗优化包括了设计总功耗,动态功耗以及漏电功耗的优化。对设计做优化时,优化的优先次序如下:
由此我们可以找到, 优化时,所产生的电路
首先要满足设计规则的要求
,然后
满足延迟(时序)约束的要求
,在满足时序性能要求的基础上,进行
总功耗
的优化,再进行
动态功耗的优化和漏电功耗的优化
,最后对
面积
进行优化。
优化时先满足更高级优先权的约束。进行低级优先权约束的优化不能以牺牲更高优先权的约束为代价。功耗的优化不能降低设计的时序。为了有效地进行功耗优化,需要设计中有正的时间冗余(timing slacks)。功耗的减少以时序路径的正时间冗余作为交换,即功耗优化时会减少时序路径上的正的时间冗余。因此,设计中正的时间冗余越多,就越有潜力降低功耗。
通过上面的描述,对门级功耗优化有了一下了解之后,这里先介绍一下
静态功耗
优化的方法——多阈值电压设计,然后介绍基于EDA工具的
动态功耗的优化
,接着介绍
总体功耗
的优化;
在最后介绍一种常用的门级低功耗的方法——电源门控
。电源门控我放在明天发表,今天的内容主要就是围绕静态、动态、总功耗来写。
(2)多阈值电压设计
①多阈值电压设计原理
由于半导体工艺越来越先进,半导体器件的几何尺寸越来越小,器件中的晶体管(门)数越来越多,器件的供电电压越来越低,单元门的阈值电压越来越低。由于单位面积中的单元门越来越多,功耗密度高,器件的功耗大。因此,设计时,我们要对功耗进行优化和管理。在90nm或以下的工艺,静态功耗要占整个设计功耗的20%以上。因此,使用超深亚微米工艺时,除了要降低动态功耗,还要降低静态功耗。在超深亚微米工艺,
单元门的阈值电压
和
漏电功耗(静态功耗)
有如下图所示的关系:
由图可见,阈值电压Vt以指数关系影响着漏电功耗。阈值电压Vt与漏电功耗和单元门延迟有如下关系:
阈值电压
Vt越高
的单元,它的漏电功耗越
低
,但门延迟越长,也就是速度
慢
;
阈值电压
Vt越低
的单元,它的漏电功耗越
高
,但门延迟越短,也就是速度
快
。
我们可以利用多阈值电压工艺库的这种特点,进行漏电功耗的优化,设计静态功耗低性能高的电路。
一般的设计中,一个时序路径组((timing path group)有多条时序路径,延迟最大的路径称为关键路径。根据多阈值电压单元的特点,为了满足时序的要求,关键路径中使用低阈值电压的单元(low Vt cells),以减少单元门的延迟,改善路径的时序。而为了减少静态功耗,在非关键路径中使用高阈值电压的单元(high Vt cells),以降低静态功耗。因此,使用多阈值电压的工艺库,我们可以设计出低静态功耗和高性能的设计。上面的描述如下图所示:
②门级网表/RTL代码的多阈值电压设计
多阈值电压设计可以在
门级网表或者RTL代码
的时候就进行,也可以在后面布线后进行。门级网表/RTL代码的多阈值电压设计(或者说是静态功耗优化)流程如下所示:
一个对应的示例脚本如下所示:
set target_library "hvt.db svt.db lvt.db"
······
read_verilog mydesign.v
current_design top
source myconstraint.tcl
······
set_max_leakage -power 0mw
compile
······
与以前的脚本不同,设置target_library时,我们用了多个库。上列中,目标库设置为 "hvt.db svt.db lvt.db"脚本中使用
set_max_leakage_power
命令为电路设置静态功耗的约束。在运行compile命令时,Power Compiler将根据时序和静态功耗的约束,在目标库选择合适的单元,在满足时序约束的前提下,尽量使用Svt或Hvt单元,使优化出的设计性能高,静态功耗低。
PS:如果在Physical Compiler工具(现在我们使用DC的拓扑模式)里做漏电功耗优化时,我们可以保留一点正的时间冗余(positive slack),使电路不会在极限的时序下工作.这些时间冗余量也可被后面其他的优化算法所使用。设置时间冗余的命令如下:
set physopt_power_critical_range 时间量
收藏
分享
评分
回复
引用
订阅
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
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议