首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
数字电路
» 数字IC低功耗设计入门(二)——门级电路低功耗设计优化(2)
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
数字IC低功耗设计入门(二)——门级电路低功耗设计优化(2)
发短消息
加为好友
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:16
|
只看该作者
数字IC低功耗设计入门(二)——门级电路低功耗设计优化(2)
③布线后的多阈值电压设计
上面是门级网表/RTL代码的多阈值电压设计,下面简单介绍
布线后的多阈值电压设计
,流程如下图所示:
相应的一个示例脚本如下所示:
set target_library "hvt.db svt.db lvt.db"
read_verilog routed_design.v
current_design top
source top.sdc
······
set_max_leakage -power 0mw
physopt -preserve_footprint -only_power_recovery -post_route -incremental
physopt命令中使用了“-poat_route”的选项,特别用于进行布线后的漏电功耗的优化。优化时,单元的外形名称(footprint)保留下来,原有的布线保持不变。
④多阈值电压设计与多阈值库的报告
进行漏电功耗的优化时,Power Compile将报告如下的漏电优化的信息:
LEAKAGE POWER的列(Column)展出了内部优化的漏电成本值。它和报告出来的漏电功耗可能不一样。我们用“
report_power
”命令得到功耗的准确的报告。
======================================================================
我们现在来看一下
多阈值库
。多阈值库定义了两个属性,一个为
库属性
:
default_threshold_voltage_group
,另一个为
单独库单元的属性
:
threshold_voltage_group
。然后报告多阈值电压组的命令是:
report_threshold_voltage_group
.我们可以使用多阈值库的这两个属性,报告出设计中使用多域值库单元的比例,一个示例的脚本如下所示:
set_attr -type string lvt.db:slow default_threshold_voltage_group LVt
set_attr -type string svt.db:slow default_threshold_voltage_group SVt
set_attr -type string hvt.db:slow default_threshold_voltage-group HVt
report_threshold_voltage_group
报告得到的结果如下所示:
(3)基于EDA工具的动态功耗优化
前面介绍了静态功耗的优化,下面介绍
动态功耗的优化
。动态功耗优化通常在做完
时序优化后
进行。动态功耗优化时,需要提供
电路的开关行为
,工具根据每个节点的翻转率,来优化整个电路的动态功耗。用
compile/physopt
命令可以同时对时序和功耗做优化。设置动态功耗的命令为:
set_max_dynamic_power xxmw
.(一般设置为0)
动态功耗优化的流程如下所示:
动态功耗的优化的实现如上面所示。优化过程用了很多技术比如
插入缓冲器、相位分配
之类的。由于这些都是power compiler在背后自动实现(或者说是进行低功耗优化时工具使用的原理),不需要我们进行设置,因此这里不进行介绍。
(4)总体功耗优化
前面分别介绍了静态功耗和动态功耗的优化方法。我们可以把它们结合在一起,进行整个设计总功耗的优化。总功耗是动态功耗和静态功耗的和,总功耗的优先级比动态功耗和静态功耗高。总功耗优化时,工具尽量减少动态功耗和静态功耗的和。优化时如果减少了漏电功耗增加了动态功耗,但它们的和减少了,优化是有效的。反之亦然。我们可以通过设置开关,使动态功耗优化和静态功耗优化用不同的努力级别(effort levels)和权重(weights)进行优化。
总功耗的优化流程如下图所示:
脚本中,target_library设置为多阈值电压的库,用于做静态功耗的优化。读入含有开关行为的saif文件,用于约束动态功耗的优化。在设置总功耗的约束时,我们可以在set_max_total_power命令中使用静态或/和动态功耗权重(weight)的选项,使工具在优化时,偏重于静态或动态功耗。假设P、Pd和Pl分别为总功耗、动态功耗和静态功耗,Wd和Wl分别为动态功耗和静态功耗的权重,则
总功耗P = (Wd*Pd+Wl*P1)/Wd
我们可以在DC或PC中设定只对功耗做优化。这时候,
工具仅优化设计的功耗,而不会对更高优先级的约束做任何的优化和修正设计规则DRC违例
。但是这种优化也不会使设计的更高优先级约束的性能变差和引起DRC违例。这种优化的优点在于运行时间较短,可用于优化设计的动态功耗、静态功耗和总功耗。在DC和PC中,只能以增量编辑的形式工作。
PC中
只对功耗做优化的命令如下:
set_max_total -power 0 mw
physopt -only_power_recovery
DC中
只对功耗做优化的命令如下(由于现在PC在DC中,因此下面的脚本更常用):
set compile_power_opto_only true
set_max_leakage_power 0 mw
compile -inc
收藏
分享
评分
回复
引用
订阅
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
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议