【数字IC】——PTPX功耗分析flow总述

本文主要阐述了在averaged modetime-based mode下的功耗分析基本步骤。

各个模式下的具体注意事项后续我将继续更新

一、概述

        PTPX支持以上两种模式,在每种模式下,工具支持不同的选项来满足设计的不同种类,为了对一个设计执行功耗分析,选择需要的功耗分析模式和由模式支持的明确选项。

        用户界面支持变量、命令以及命令选项来选择功耗分析模式模式支持的选项,以SAIF或VCD文件格式提供swithing activity信息。无论选择何种模式和选项,都会在运行update_power时执行功耗分析。

二、功耗分析输入

PTPX分析需要以下内容

  • Logic library:每个cell的cell library包括时序和功耗的特征信息,library的质量会决定功耗分析结果的准确性,PrimeTime工具默认使用CCS library而非NLPM library,可以用以下命令指定。
powewr_model_preference
  • 门级网表:以Verilog、VHDL或Synopsys数据库格式的Flat或Hierarchical的门级网表,包含库单元的leaf-level实例化
  • 设计约束:包括设计约束的SDC文件来计算transition time以及定义时钟。
  • Activity:为了平均功耗分析和峰值功耗分析设计activity信息。
  • 网络寄生参数:寄生参数文件(SPEF)包括了所有网络的网络电容。

三、功耗分析流程

  • 使能功耗分析

        为了使能功耗分析并查看功耗数据,需要设置power_enable_analysis,该变量默认为false

set power_enable_analysis true
  •  执行向量分析

        如果VCD activity可以得到,可以在使用矢量分析功能读取设计数据之前对activity进行限定。在矢量分析期间,PTPX绘制了VCD文件中信号每间隔的平均翻转率,以便识别可能产生峰值功耗的高活动时间窗口。从VCD文件生成activity波形的命令。

write_activity_waveforms
  • 读设计数据和逻辑库

        PTPX支持Verilog、VHDL、.db、.ddc和Milkyway形式的网表。逻辑库必须要使用.db形式,并且支持NLPM和CCS库。

        设计数据包括寄生参数信息,例如port loadsnet loadswire load models

back-annotated parasiticstransition time,对于averaged power analysis,设计数据包括使用PT工具在SDC文件中编译的设计约束。

        CCS功耗库包含统一的功耗库数据以及轨道分析和优化,确保了功耗分析流程的一致分析和简化。通过在库中捕获电流波形,准确识别潜在问题。

        所有的CCS和NLPM数据能以.lib格式在单元描述中共存。当逻辑库同时包含两种库后指明功耗模型的首选项,默认为CCS。

power_model_preference

         PTPX还支持紧凑的CCS功耗模型,可以降低库的规模但是不会影响准确度。

  • 指定变量

        为功耗分析指定工作环境可以用以下指令

set_operating_conditions

        PTPX使用使用来自逻辑库适当的参数值,包括ASIC供应商所描述的制造工艺工作温度电源电压

  • 功耗计算变量
power_limit_extrapolation_range

        上述变量的默认值为false,对于事件和翻转率的分析,PTPX控制了功耗计算的一些方面。

        默认情况下,变量为false,如果内部功耗查找的数据点超出范围,PTPX会无限外延。如果将上述变量设置为true,PTPX会限制外延范围。

        NLPM功耗表在一个额外的索引网络上停止外推,NLPM功耗表在指定的范围内停止外推。

        如果存在高扇出的网络(时钟/全局复位网络),为了准确的功耗值,需要限制扩散范围。

  • 时序分析

        如果时序没有被更新,PTPX首先执行时序分析,并使用transition time计算精确的功耗,使用时序窗口计算平均周期功耗波形。

        如果启用了信号完整性特性,时序分析包括信号完整性影响。当时序数据可用于功耗析时,PTPX使用时序数据进行功率计算,而不是重新计算,节省了运行时间。

        在为功耗指定switching activity之前,执行时序分析的命令为:

update_timing

         通过防止由activity命令触发的任何额外的时序更新来使能最大化执行。

  • 检查可能影响功耗精度的潜在误差

        在计算功耗或者报告功耗之前,使用以下命令来识别潜在功耗计算问题。     该命令为潜在功耗违例检查设计结构。

check_power

        在默认情况下,如果不指定任何选项,check_power命令将执行由power_check_defaults变量定义的检查,为了更新默认检查列表,更新值或者使用-override_defaults选项。

        -override_defaults-include-exclude等检查列表选项定义了将要使用的功耗检查,当你指定check_power命令后,PTPX执行以下检查。

out_of_table_range

missing_table

no_arrival_window

no_base_clock

missing_function

        默认情况下,PTPX执行以下两个检查。

out_of_table_range

missing_function
  • 选择功耗分析模式
set_app_var power_analysis_mode averaged | time_based

        默认值为averaged,如果在功耗分析后修改变量的值,会丢失switching activity和功耗信息,这时需要重新读switching activity数据。

  • 功耗分析技术

        在CMOS电路中,在设计flow早期,对总功耗执行了统计平均功耗分析。对于每个事件执行精确的event-based峰值功耗分析,以更加接近IR Drop分析的signoff。所有的分析技术需要在每个节点上定义design switching activity

activity的定义为一个网络相对于指定时钟周期的开关频率。

  • 指定switching activity data

        指定switching activity来annotate activity信息,switching activity源文件可以是VCD、RTL VCD、SAIF或者为了annotation用户定义的命令,例如

set_switching_activity
set_case_analysis

        如果switching activity能够从RTL仿真中获得,指定一个name-mapping文件来使RTL activity文件名字和相关的门级对象匹配,使用PTPX中的内置名称映射功能,可以正确匹配Design Compiler中执行的默认名称映射。

  • 执行条件功耗分析

        当指定VCD activity时,PTPX在averagedtime-based模式下执行条件功耗分析,可以使用read_vcd命令的以下选项分析特定操作模式或特定模拟时序窗口的功耗。

-time

-when

  • 为功耗分析模式指定选项

Averaged power analysis mode

set_power_analysis_options -static_leakage_only

Time-based power analysis mode

set_power_analysis_options -waveform_interval

                                              -cycle_accurate_cycle_count

                                              -cycle_accurate_clock

                                              -waveform_format

                                              -waveform_output

                                              -include

                                              -include_groups

  • 执行功耗分析

        为了执行功耗分析,可以运行update_power命令,根据指定的模式以及set_power_analysis_options,PTPX执行功耗分析。

        运行update_power命令时,各种功耗分析模式会同时触发功耗分析,然后生成功耗数据。

        在averaged模式下,如果不指定activity数据,工具假定默认值。但是在time-based模式下,必须以VCD文件格式指定activity数据,否则会报错。

  • 生成功耗报告
report_power

  • 37
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值