PTPX中的time_based analysis

根据VCD文件的type,PTPX支持instantaneous peak power analysis和cycle_accurate peak

power analysis。

Time-Based Power Analysis支持的VCD type

                       

由于Gate_level和zero_delay的VCD不支持event propagation,所以可以在read_vcd之后,通

过命令report_switching_activity来报告switching activity的annotation。

在time_base mode下,不支持多个VCD file的分析。

PTPX在testbench的level建立activity file,在读入vcd时,通过strip_path的命令来map到design module。

read_vcd –strip_path TB/U1

PTPX进行condition power analysis,加入-time和-when的option。

如果vcd的产生由带systemverilog的语法的TB来产生,那么read_vcd –format systemverilog命令来读入vcd。

进行基于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:

 

 

 


原文地址:https://www.cnblogs.com/-9-8/p/5676265.html