电子说
PTPX,是基于PT,对全芯片进行power静态和动态功耗分析的工具。包括门级的平均功耗和峰值功耗。可以说PTPX就是PT工具的一个附加工具。
PT如果report_power需要额外的PTPX的licence,可以通过以下变量打开:
set_app_var power_enable_analysis true (默认是false)
PrimeTime PX支持两种功耗分析模式:averaged mode和time-based mode。
Average Power Analysis
用PTPX做平均功耗分析,利用后仿产生的VCD/SAIF文件,通过read_vcd/read_saif将真实的翻转率反标到上,然后通过report_switching_activity检查反标率,最后report_power报告功耗值。
平均功耗,是基于翻转率toggle rate来分析的。翻转率的标注,可以是默认翻转率、用户定义switching activity、SAIF文件或者VCD文件。功耗结果期望准确的话,首先要保证翻转率的标注要准确。这意味着需要后端布局布线、时钟树等已经完全稳定了。
前期做功耗分析,可能只是一个评估作用。
工具支持基于仿真的switching activity文件类型,包括:
VCD
FSDB
VPD
SAIF
波形转saif命令
vcd2saif: vcd2saif -i dump.vcd -o vcd2saif.saif fsdb2saif: fsdb2saif dump.fsdb -o fsdb2saif.saif
如果没有上述文件,那可以使用user-define switching activity commands,来提供一个现实的activity去精确power结果。
所需基本文件:
logic库文件,必须是.db格式;
网表文件,支持verilog、vhdl网表,db、ddc、Milkyway格式的网表;
sdc文件,计算平均功耗;
spef文件,寄生参数信息。
VCD/saif文件,记录翻转率(若没有,则需要人为设置翻转率)。
基本流程
Step1: 设置功耗分析模式
set power_enable_analysis TRUE set power_analysis_mode averaged
Step2: read设计,对网表工艺库link
set search_path "../src/hdl/gate ../src/lib/snps . " set link_library " * core_typ.db" read_verilog mac.vg current_design mac link
Step3: 读sdc,反标寄生参数
sdc指定了设计的驱动单元,用以计算输入的transitiontime。
寄生参数是影响动态功耗的因素之一,反标寄生参数文件能够提高功耗分析的准确性。
read_sdc ../src/hdl/gate/mac.sdc set_disable_timing [get_lib_pins ssc_core_typ/*/G] read_parasitics ../src/annotate/mac.spef.gz
Step4: timing报告:
满足时序要求,功耗分析才有意义
check_timing update_timing report_timing
tep5: 读入switching_activity文件
读后仿产生的VCD/SAIF文件将真实的翻转率反标到Net上,在read_vcd或者read_saif时要注意通过-stripe_path选项指定合适的hierarchical层次,否则activity反标不上;
-list_not_annotated列出没有被反标的对象;
读入saif文件:
read_saif "../sim/mac.saif" -strip_path "tb/Dut" report_switching_activity -list_not_annotated
读入vcd文件:
read_vcd "../sim/vcd.dump.gz"-strip_path "tb/Dut" report_switching_activity -list_not_annotated
tep6: 执行功耗分析
在得到switching activity之后,使用update_power来将其反标,使用report_power来报告power值。
check_power update_power report_power
读入saif文件的功耗报告
读入vcd文件的功耗报告
可以看出saif/vcd文件的功耗略有差异。
附
Averaged Power Analysis Mode Script脚本:
set power_enable_analysis TRUE set power_analysis_mode averaged ##################################################################### # link design ##################################################################### set search_path "../src/hdl/gate ../src/lib/snps . " set link_library " * core_typ.db" read_verilog mac.vg current_design mac link ##################################################################### # read SDC ##################################################################### read_sdc ../src/hdl/gate/mac.sdc set_disable_timing [get_lib_pins ssc_core_typ/*/G] ##################################################################### # set transition time / annotate parasitics ##################################################################### read_parasitics ../src/annotate/mac.spef.gz ##################################################################### # check/update/report timing ##################################################################### check_timing update_timing report_timing ##################################################################### # read switching activity file ##################################################################### ##read_vcd "../sim/vcd.dump.gz"-strip_path "tb/Dut" read_saif "../sim/mac.saif" -strip_path "tb/Dut" report_switching_activity -list_not_annotated ##################################################################### # check/update/report power ##################################################################### check_power update_power report_power quit
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !