根据VCD文件的type,PTPX支持instantaneous peak power analysis和cycle_accurate peakapp
power analysis。工具
Time-Based Power Analysis支持的VCD type3d
因为Gate_level和zero_delay的VCD不支持event propagation,因此能够在read_vcd以后,通rest
过命令report_switching_activity来报告switching activity的annotation。orm
在time_base mode下,不支持多个VCD file的分析。blog
PTPX在testbench的level创建activity file,在读入vcd时,经过strip_path的命令来map到design module。ip
read_vcd –strip_path TB/U1it
PTPX进行condition power analysis,加入-time和-when的option。pip
若是vcd的产生由带systemverilog的语法的TB来产生,那么read_vcd –format systemverilog命令来读入vcd。io
进行基于rtl的time_based的分析,命令read_vcd –rtl来设置,能够进行name_mapping和event的propagate。
进行基于gate_level的peak分析,必须加入sdf文件。
因为netlist的VCD文件都会比较大,因此PTPX工具内部支持fsdb/gzipped VCD的解压,
而且能够直接在PTPX工具内invoke simulator。
-pipe_exec “vcs –R –f arguments –l log”
Vector analysis:
用来分析high activity window。Time_based mode中high activity可能落在不一样的interval,
因此能够经过-peak_window来设置,最小和最大的window来分析high activity。
write_activity_waveforms –vcd myvcd.vcd –output myvcd.out –interval 0.2 –peak_window 5
生成的myvcd.out通常都是fsdb格式的,直接经过nWave打开。
默认状况下,PTPX不会restore state_dependent和path_dependent的toggle rate,
为了在生成SAIF等文件中,能被包含进去,须要设置write_saif –sdpd_tracking。
set_case_analysis命令,将某个port设置为一个constant value,优先级低于VCD的annotation,
因此通常来设置vcd file中没有的signal,如test_enable信号。
在time_based的analysis中,
Glitch power的分析,做为一个transition分析,有本身的ratio计算方式。
Z State,只有0-Z-1,1-Z-0被认为transition,有power consume,其余的变化都不作分析。
X State,0-X做为半个transition,0-x-0也做为一个transition。默认状况下,initial的X不作分析。
因为peak analysis比较耗时,PTPX采用distribute的方式来进行multi-scenario analysis。
一个scenario是一个VCD activity file的time window,能够并行在multiple processor上来运行。
而后将结果merge到一块儿。
环境设置flow: