zoukankan      html  css  js  c++  java
  • 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。

  • 相关阅读:
    文件操作3
    文件操作2
    kubernetes快速应用入门
    kubeadm初始化kubernetes集群
    kubernetes基础概念
    变量
    字面值
    关键字
    标识符
    Ubuntu安装MySql5.7
  • 原文地址:https://www.cnblogs.com/-9-8/p/5668089.html
Copyright © 2011-2022 走看看