PTPX功耗分析之Average Power Analysis

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.saiffsdb2saif: 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 trueset power_analysis_mode averaged  
step2: read设计,对网表工艺库link
set search_path         ../src/hdl/gate ../src/lib/snps . set link_library  * core_typ.dbread_verilog  mac.vgcurrent_design  maclink  
step3: 读sdc,反标寄生参数
sdc指定了设计的驱动单元,用以计算输入的transitiontime。
寄生参数是影响动态功耗的因素之一,反标寄生参数文件能够提高功耗分析的准确性。
read_sdc ../src/hdl/gate/mac.sdcset_disable_timing [get_lib_pins ssc_core_typ/*/g]read_parasitics  ../src/annotate/mac.spef.gz  
step4: timing报告:
满足时序要求,功耗分析才有意义
check_timingupdate_timingreport_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/dutreport_switching_activity -list_not_annotated  
tep6: 执行功耗分析
在得到switching activity之后,使用update_power来将其反标,使用report_power来报告power值。
check_powerupdate_powerreport_power   
读入saif文件的功耗报告
读入vcd文件的功耗报告
可以看出saif/vcd文件的功耗略有差异。

averaged power analysis mode script脚本:


机器学习模型的集成方法总结:Bagging, Boosting, Stacking, Voting, Blending
铝电解电容正负极判断
LM102构成的高Q值陷波滤波器电路
中国已经正式迈向了全光网2.0时代并处于世界领导地位
基于STM32的雷管电子保险装置设计
PTPX功耗分析之Average Power Analysis
你觉得智能摄像头怎么样
物联网是怎么改变我们的销售方式的
多功能医疗台车给人带来舒适感,操作简单方便
LED显示系统DMA控制器的设计
MLE极大似然估计和EM最大期望算法
英迪那米半导体项目投产仪式正式举行 将填补国内芯片制造业修复服务技术的空白
Silicon Labs以最佳Thread解决方案简化IoT连接
室温超导材料:将改变我们所知道的世界
Luna收购光纤传感方案商OptaSense 具有里程碑意义
IC设计正面临着持续不断上涨的代工成本
保护备份数据免受勒索病毒攻击的方法
共享单车智能管控技术手段探讨
Dynamic ReLU:根据输入动态确定的ReLU
模拟电路网络课件 第二十六节:差分式放大电路