PTPX Power Analysis Flow


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。


免責聲明!

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



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