根據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: