欢迎来到EDA中国!
当前位置:网站首页 >技术专栏 > IC技术

IC设计中的功耗分析的流程

发布时间: 2013-06-08 15:22:16     来源: EDA中国

在这篇文章中,是采用synopsys的设计流程,对数字电路进行功耗分析,生成功耗分析报告的流程。分析的对象是逻辑综合之后布局布线之前的功耗分析,以及布局布线之后的功耗分析。
Synopsys公司做功耗分析使用到的工具是:黄金时间的PX总理PTPX铁可以在逻辑综合之后就进行功耗预估的PrimeTime 轨道进行分析,所以,我们只要用到的PrimeTime PX来做功耗分析就够了。
     IC设计中的功耗分析的流程
上图是布局布线后和逻辑综合后进行功耗分析的流程。
一。逻辑综合后的功耗分析
  所用到的文件有:1。逻辑综合后的Verilog的文件
                  2。静态时序分析时用到的约束文件
                  3。RTL的仿真文件,我用的是VCD,毕竟标准各个仿真器都支持〜
                  4。有功耗信息的库文件。分贝,这个库文件可以报告一个库里的细胞,看是否有。
   有了这些文件之后,就可以做功耗分析了,下面说一下功耗分析的流程:
1。允许功耗分析功能集power_enable_analysis
2。设置分析模式    设置 的因素。  
3。读入设计和库文件 
4。指定工作条件
5。时序分析   update_timing
6。获取活动数据
如果是RTL级别的网表文件,要用RTL来告诉PT之前指定的VCD文件是布局布线之前的。如果VCD是zero_delay的仿真,也就是说是纯纯的功能模拟的话,应该家用zero_delay选项如果都为指定,PT默认是门级。
7。设置功耗分析选项set_power_analysis_options:
-static_leakage_only选项set_power_analysis_options命令只支持   平均功率分析模式。       
        -waveform_interval-cycle_accurate_cycle_count,-cycle_accurate_clock,-waveform_format, -   waveform_output,包括-include_groups选项  只支持基于时间的   功率分析模式。                 
8。功耗分析   update_power
9。生成功耗分析报告report_power
要说明的是,PTPX是primetime的一个增强功能,只用一个PT脚本就可以了,我把自己的pt脚本拿出来分享一下:

文件:pt.tcl

###########################################
#    设置功率分析模式
###########################################
设置真正power_enable_analysis;
集平均power_analysis_mode;
###########################################
#   读取和门级网表链接  
###########################################
设置SEARCH_PATH“。。/源DB / /结果”
设置link_library“typical.db”
设置target_library“typical.db”
read_verilog jnd_90s.v
设置top_name JND
current_design JND
链接
###########################################
#    阅读SDC和过渡时间或注释寄生
###########################################
read_sdc pt_con.tcl

###########################################
#    检查,更新或报告时序
###########################################
check_timing
update_timing
report_timing


###########################################
#   读取开关活动文件
###########################################
read_vcd-RTL测试平台jnd_all.vcd strip_path
report_switching_activity list_not_annotated

###########################################
#    检查或更新或报告电源
###########################################
check_power
update_power
report_power层次

二。布局布线后的功耗分析
功率格式。这里不介绍。
#读库,设计,使电源分析
#和链路设计
设为power_enable_analysis真
设置link_library slow_pgpin.db
read_verilog power_pins.v
链接

#创建后备电源网
create_power_net_info vdd_backup功率
create_power_net_info vss_backup-GND
#创建域电力网
create_power_net_info t_vdd功率切换
-nominal_voltages {1.2} voltage_ranges {1.1 1.3}
create_power_net_info a_vdd功率
create_power_net_info b_vdd功率
#创建域地面网
create_power_net_info t_vss-GND
create_power_net_info a_vss-GND
create_power_net_info b_vss-GND
#创建内部电源网
create_power_net_info int_vdd_1功率
-nominal_voltages {1.2} voltage_ranges [1.1 1.3}
可切换的
create_power_net_info int_vdd_2功率
-nominal_voltages {1.25} voltage_ranges {1.1 1.3}
create_power_net_info int_vdd_3功率
-nominal_voltages {1.2} voltage_ranges {1.1 1.3}
create_power_net_info int_vdd_4功率
#创建电源域
一个create_power_domain吨
一个create_power_domain一个对object_list [get_cells PD0_inst]
POWER_DOWN power_down_ctrl [A] get_nets
power_down_ctrl_sense 0
一个create_power_domain B-object_list里get_cells PD1_inst]
POWER_DOWN
#连接到电源域的轨
connect_power_domain T-primary_power_net t_vdd
primary_ground_net t_vss
connect_power_domain一个primary_power_net的a_vdd
-primary_ground_net a_vss
-backup_power_net vdd_backup
backup_ground_net vss_backup
connect_power_domain B-pr​​imary_power_net b_vdd
primary_ground_net b_vss

#设置电压的电力网
set_voltage 1.15 object_list里{t_vdd a_vdd b_vdd}
#读取SDC和其他时间或电源断言
set_input_transition 0.0395 [all_inputs]
1.0 set_load [所有输出]
#执行。时序分析
update_timing
#读取开关活动
set_switching_activity ...
set_switching_activity ...
...
report_power


三。关于报告 
一个标准的报告:
电力集团电源电源电源电源(%)ATTRS
-------------------------------------------------- -------------
io_pad 0.0000 0.0000 0.0000 0.0000(0.00%)
内存0.0000 0.0000 0.0000 0.0000(0.00%)
black_box 0.0000 0.0000 0.0000 0.0000(0.00%)
clock_network 0.0000 0.0000 0.0000 0.0000(0.00%)
注册8.442e-05 1.114e-05 9.208e-09 9.557e-05(29.97%),我
组合0.0000 0.0000 0.0000 0.0000(0.00%)
顺序0.0000 0.0000 0.0000 0.0000(0.00%)
属性
----------
- 包括驱动寄存器功率
内部开关漏电总时钟
电源电源电源电源(%)ATTRS
-------------------------------------------------- -------------
CLK 1.813e-04 4.199e-05 4.129e-10 2.233e-04
-------------------------------------------------- -------------
预计Clock1.813e 04 4.199e 054.129e 102.233e-04(70.03%)
开关电源净额= 5.313e-05(16.66%)
细胞内部功率= 2.657e-04(83.33%)
电池泄漏功率= 9.627e-09(0.00%)
---------
总功率= 3.188e-04(100.00%)

关于门控时钟的报告:
report_clock_gate_savings
****************************************
报告:时钟门储蓄
power_mode:平均值
设计:mydesign
版本:D-2009.12
日期:2010年10月29 12:08:20 2009
****************************************
-------------------------------------------------- ----------------
时钟:CLK
+时钟切换率:0.392157
+寄存器数:19262
+的时钟门数:12
+平均时钟切换率在寄存器:0.305872
+平均切换储蓄的寄存器:22.0%
-------------------------------------------------- ----------------
切换储蓄数目%
分布寄存器寄存器
-------------------------------------------------- ----------------
100%0 0.0%
80% - 100%76 0.4%
60% - 80%5660 29.4%
40% - 60%0 0.0%
20% - 40%8 0.0%
0% - 20%0 0.0%
0%13518 70.2%
----------------------
关键字 : 功耗分析 流程 设计 ic 
获取帮助