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。

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