primetime中的POCV变量设置及报告详解

本文讨论了芯片上的On-ChipVariation(OCV)问题,特别是AdvancedOCV(AOCV)和ParametricOCV(POCV)在提高电路设计准确性方面的改进。AOCV考虑了路径长度和物理距离,而POCV则采用参数化方法处理非正态分布的变异。文章还介绍了如何在PrimeTime工具中设置和调整POCV参数以优化时序分析的精度和效率。
摘要由CSDN通过智能技术生成

前言

同一块芯片上的晶体管会有变快或者变慢的现象,因此产生了OCV的概念。OCV在path上设置统一的derate,悲观度较高。 为了提高准确性,可以用下面的方法:
AOCV(Advanced On-Chip Variation)
POCV(Parametric On-Chip Variation)

AOCV:

相对于传统OCV在path上设置统一derate值的方法,AOCV更为科学与合理的根据path的实际情况加上不同的derate值。AOCV在传统OCV上引入了对路径长度和整个路径在物理上所跨越的距离的考虑。
在这里插入图片描述
随着数据路径(级数)的增长,ocv效应会减弱;但是距离越远的cell之间相对的variation越大,因此随着跨越距离的增加,ocv效应会增强。

既然有了AOCV,为什么要有POCV?
1)工艺进化到14nm后,AOCV分析模式中动态设置时序减免值的方法已经不能满足精度要求,其分析结果的悲观型也无法很好地改变。
2)AOCV需要先分析逻辑深度和物理距离两个因素,再设置时序减免值,导致CPU工作量巨大,时序分析计算时间增加。
3)时序优化过程中增加或者删除缓冲器会改变逻辑深度,然后又需要根据逻辑深度重新选择时序减免值,重新时序计算,迭代次数和时间增加。

POCV:

POCV,又称SOCV(Statistical On Chip Variation),如下图所示,POCV将delay模拟成一个正态分布N(u,σ)。每个cell的delay最高概率出现在u周围。整体落在区间内(μ-3σ,μ+3σ)的概率为99.7%。

POCV中的变量和指令

变量

在这里插入图片描述
在这里插入图片描述

指令

在这里插入图片描述
在这里插入图片描述

POCV的设置

enabling pocv

To enable graph-based POCV analysis, set this variable:
pt_shell> set_app_var timing_pocvm_enable_analysis true

loading the Parametric On-Chip Variation Input Data

To load POCV single coefficient information or POCV distance-based derating table from a text file, use the read_ocvm command:
pt_shell> read_ocvm pocv_coefficient_file_name
pt_shell> read_ocvm pocv_distance_based_derating_file_name
You can apply both the library with POCV and the side file with POCV single coefficient in the same PrimeTime run. The delay variation is annotated accordingly depending on which POCV format is applied on the cell. If the library with POCV LVF and the side file with POCV single coefficient are applied on the same library cell, the POCV single coefficient takes precedence. It overrides POCV LVF for that particular library cell.

setting pocv的sigma

By default, POCV analysis is performed at 3 sigma. To change the default, set the timing_pocvm_corner_sigma variable to a value larger than 3. For example:
pt_shell> set_app_var timing_pocvm_corner_sigma 4

setting Guard Banding

In the POCV flow, you can use guard banding to model non-process-related effects. To perform guard banding in POCV, specify the set_timing_derate command with the -pocvm_guardband option.
For example, the following commands apply a five percent guard band POCV derating on both early and late mode:
pt_shell> set_timing_derate -cell_delay -pocvm_guardband -early 0.95
pt_shell> set_timing_derate -cell_delay -pocvm_guardband -late 1.05
The POCV guard band derating factor is applied on both the nominal cell delay (mean) and cell delay variation (sigma).

Scaling the Parametric On-Chip Variation Coefficient

In addition to guard banding, you can scale only the variation of the cell delay without
changing the coefficient in POCV tables. To do this, use the set_timing_derate -pocvm_coefficient_scale_factor command.
For example, the following command scales the POCV coefficient by three percent for both early and late modes:
pt_shell> set_timing_derate -cell_delay -pocvm_coefficient_scale_factor -early 0.97
pt_shell> set_timing_derate -cell_delay -pocvm_coefficient_scale_factor -late 1.03
The command applies the POCV coefficient scaling factor to only the variation of cell delay(sigma).

Enabling Constraint and Slew Variation

You can improve the accuracy of POCV analysis with the following optional settings:

  1. To enable variation for setup and hold constraints, set the timing_enable_constraint_variation variable to true.
    To additionally include slew variation effects in the constraint arc variation computation, set the timing_use_slew_variation_in_constraint_arcs variable to setup_hold (or setup or hold only). The default is none.
  2. To enable slew variation for cell delays, set the timing_enable_slew_variation variable to true.

Enabling Analysis With Moment-Based Modeling

随着对先进工艺的研究数据越来越多,逐渐发现工艺的variation尤其是低电压工艺下的variation并不是严格的正态分布,而是像下图所示的略有不对称。而为了更精确地描述这种不对称,采用了新的模型来模拟,也就是moment-based LVF。对应的LVF库文件中也增加了新的语法来描述这种不对称,分别是:Mean Shift, Standard Deviation和Skewness。 The following diagram shows a typical asymmetric cell delay distribution.
在这里插入图片描述
The tool supports analysis using cell libraries containing moment-based Liberty Variation Format (LVF) delay and constraint data. This type of data more accurately models the non-Gaussian statistical variation characteristics of advanced process nodes and very low supply voltages.
To enable timing analysis using moment-based modeling data, set the control variable:
pt_shell> set_app_var timing_pocvm_enable_extended_moments true

POCV的report

Report the POCV Analysis Results POCV analysis works with all reporting commands in PrimeTime. For reporting, by default PrimeTime reports the timing at 3-sigma value. To change it, set the timing_pocvm_report_sigma variable to different value; the default is 3. Changing this variable does not trigger update_timing. It only affects reporting.
For example, to make POCV analysis more pessimistic, you can change the variable to 4.
pt_shell> set_app_var timing_pocvm_report_sigma 4
To check the slack without POCV, set the variable to 0. It shows the slack at 0 sigma (no POCV) without triggering update_timing.
pt_shell> set_app_var timing_pocvm_report_sigma 0
To display the variation in the timing report for POCV analysis, use the report_timing
-variation command.
Here is an example:
在这里插入图片描述
In the Incr columns,
• The Mean, Sensit, and Corner numbers provide mean, standard deviation, and corner information about each incremental delay distribution by itself, independent of other incremental delay distributions. Corner is equal to Incr Mean ± K*Incr Sensit, where K is equal to timing_pocvm_report_sigma. Mean为平均值,也就是高斯分布中的μ值,Sensit代表标准差sigma的值,通常在library或者lvf文件中取得。一般以lookup table的形式描述,每个Mean delay值都对应一个sigma值。
The Incr Value number is not derived from the incremental delay distribution. Instead, it is the simple numerical difference between the previous and current Path Value(corner arrival) numbers.
Corner这个值的参考意义不是特别大,因为它的Delay很大不一定会导致整个Path的Delay增加很多,后边Path的Delay不是它的累积,只有Mean值是累加下去的。Value值的参考意义比Corner更大。从上图示例其实就能看出来,b3 Cell的delay是Corner值是7ns,但是对于整个Path的贡献delay其实并没有那么大,只有2.82ns(Value值)。
In the Path columns,
• The Mean, Sensit, and Value numbers provide provide mean, standard deviation, and corner information about the cumulative arrival distribution at that pin. Path Mean = Previous-Path Mean + Incr mean,即Incr Mean的累加,Path Sensit = sqr ( Previous-Path Sensit ^ 2 + Incr Sensit ^ 2). Path Value is equal to Path Mean ± K*Path Sensit, where K is equal to timing_pocvm_report_sigma.
• A pin’s cumulative arrival distribution is the statistical combination (in the distribution
domain) of all incremental distributions up to that pin.
For details on how PrimeTime calculates the final derating factor from all derating factors applied in POCV analysis, run the report_delay_calculation -derate command.

另外,PT report 里最后的有一行statistical adjustment (统计调整),这个值是怎么来的以及有什么作用?
这是由于在POCV分析中,arrival和required time都包含统计的偏差(variation),path的slack不会是required time和arrival time之间的简单的差值,而是根据mean和sigma算出的值,这两者之间会有一个差值,这个就是statistical adjustment。
原因:统计量的标准差并不是简单的和,而是平方和的平方根。路径的统计调整( statistical adjustment )一方面是路径的slack 与另一方面是required time和arrival time之间的差异。
statistical adjustment = adjusted slack ± unadjusted slack(setup:-; hold:+)
adjusted slack=mean_slack - Ksigma_slack
unadjusted slack = required time -arrival time(setup)
unadjusted slack = arrival time-required time (hold)
以下图为例:
mean_slack=13.377-5.158=8.219
sigma_slack=(0.064
0.064 + 2.8192.819)^0.5=2.818
adjusted slack=8.219-2
2.818=2.582(timing_pocvm_report_sigma=2)
unadjusted slack =13.505-10.796=2.709
statistical adjustment = 2.582-2.709 = - 0.127
在这里插入图片描述

总结

Parametric on-chip variation (POCV) models the delay of an instance as a function of a variable that is specific to the instance. That is, the instance delay is parameterized as a function of the unique delay variable for the instance.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值