PrimeTime PX工具是PrimeTime工具內的一個feature。
PTPX的功耗分析,可以報告出chip,block,cell的各個level的功耗。
使用PTPX可以分析的功耗的方式:
1)Average power analysis,支持activity的propagation方式,主要用在項目早期做評估。
可以是defaults,user_defined,derived from HDL simulation的switching文件。
2)Time-based power analysis,通過event-drived算法來統計功耗。
主要用在項目signoff時候,加入IR-drop的分析。
電路中的功耗:
1)Leakage power,電路處在inactive或者static時的功耗。
Intrinsic Leakage power,主要是source-to-drain subthreshold leakage。
diffusion layers和substrate之間的current leak。
這種leakage是state和voltage dependent。
Gate Leakage Power,leakage的主要來源,有source to gate和gate to drain的power。
主要由gate oxide thickness和voltage來決定。
2)Dynamic Power,電路處在active模式下的功耗。即使在output不改變的情況下,輸入也可能由於transition帶來功耗。
Internal Power,包括內部電路沖放電的功耗和short circuit的功耗。對於fast transition times,short-circuit比較低。
對於slow transition times,short-circuit比較高。
Switching Power,cell的output的電容沖放電。
set_power_derate:用來設置某個design,cell,library cell,hierarchical,leaf cell的power的百分比。
report_power_derate
PTPX可以將某個design的power data放在一個power model中,通過extract_model -power來得到這個model,
可以通過在設計中例化的方式,來加快chip_level的power analysis的進度。(生成格式為.lib文件)
針對gate_level的design,PTPX會生成一個帶clock pin的power model,可以用在分析一個復雜macro cell的功耗。
Power Analysis input:
logic library,包含timing和power信息,支持NLPM和CCS類型的library。
Gate_level netlist,支持verilog,VHDL,systemverilog格式。
Design constraints,計算primary input的transition time和define clock。
Activity,VCD/SAIF,default,user_defined。
net parasitic,SPEF文件,包含net RC參數。
1)set power_enable_analysis 為true。
2)讀入verilog,VHDL,db,ddc等格式的netlist,logic library為db格式。
3)讀入SPEF文件,包含WLD定義,以及sdf文件,包含glitch。
4)set_operating_conditions設置PVT。
5)針對某些fanout比較高的net(clock reset),設置power_limit_extrapolation_range。
6)當timing data還沒有update的時候,PTPX會自動首先進行timing analysis,也可以通過update_timing來顯式調用。
7)check_power檢查潛在的功耗計算問題,默認有out_of_table_range和missing_table檢查。
8)設置power analysis的模式,set_app_var power_analysis_mode average | time_based。
9)指定switching activity data,主要有set_switching_activity,set_case_analysis。
read_vcd -time(加入time window)/-when(Boolean condition)。
如果vcd等波形從RTL中得到,還需要一個mapping文件來進行波形與netlist之間匹配。
10)update power開始進行power analysis的分析。
11)report power打出power report。
time_base的報告比average報告多出以下幾項。
12)最后通過save_session和restore_session來保存以及提取session。