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:

 

 

 



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM