后端进阶系列:POCV的应用和结果分析

OCV大家应该都了解,对应的AOCV想必也不陌生。之前小编也专门介绍各类OCV的概念,如果还有同学不太了解则可以温习一下这两篇文章:

后端进阶系列:POCV的应用和结果分析 - 知乎

在工艺进入7nm及以下之后,又出现了POCV/SOCV等概念来模拟越来越复杂的variation。今天我们就一起来了解一下POCV的实际应用。一般来说设计中的POCV有两个主要来源:POCV文件和LVF库。二者有何区别又有什么联系呢?

  • POCV文件

和AOCV文件类似,POCV文件也是一种特定的文本文件。对于每一种类型的标准单元库,其不同PVT条件均有不同的POCV文件。之前的文章中我们讲过,在使用POCV文件的情况下,cell delay的计算遵从如下公式,其中P代表正态分布,而C称为POCV coefficient:

# POCV参数计算delay(左右划动)
delay = nominal_delay + (C * nominal_delay) * P

而POCV文件中所能查到的内容正是上述公式中的参数C。一般在同一个PVT条件下的某个cell,都会有late-rise, late-fall, early-rise, early-fall等四种参数,这四种参数分别应用在setup和hold的rise/fall分析中。下图中展示了某一个buffer在ff/0.825v/0c条件下的四种POCV参数值:

通过POCV文件得到上述参数C后工具即可计算出不同cell在不同条件下的delay。

  • LVF库文件

尽管POCV文件可以获得POCV分析所需要数据,但是在实际项目中小编观察到LVF库的应用更多。所谓LVF库是Liberty Variation Format的缩写,其主要特点是把POCV variation的相关参数集成在.lib库文件中。在之前的文章中讲过,LVF环境下的POCV delay计算公式如下:

# LVF条件下delay计算
delay = nominal_delay + σ * P

其中σ(sigma)可以直接从LVF库文件中获取。那么sigma是如何定义在.lib库文件中呢?目前根据不同的variation模型主要分为两种:正态分布(高斯分布)和Moment-Based模型。在先进工艺如7nm问世初期,主要采用正态分布的模型来模拟variation,并在.lib文件中的的cell的'timing'描述中增加ocv_sigma*的语法:

上述LVF的内容和语法可以和POCV文件中的语法找到如下一一对应的关系:

而随着对先进工艺的研究数据越来越多,逐渐发现工艺的variation尤其是低电压工艺下的variation并不是严格的正态分布,而是像下图所示的略有不对称:

而为了更精确地描述这种不对称,采用了新的模型来模拟,也就是moment-based LVF。对应的LVF库文件中也增加了新的语法来描述这种不对称,分别是:Mean Shift, Standard Deviation和Skewness。它们各自的数学定义分别如下:

# Moment-Based LVF(左右滑动)
Mean = E[x] = x1p1+x2p2+...+xkpk
Standard Deviation = (E[(X-E[X])2])1/2
Skewness = (E[(X-E[X])3])1/3

如果大家手头上正在做使用LVF库的项目,可以对照上面的ocv_sigma*和以下moment-based语法看看是属于哪种LVF库。

  • POCV分析流程

有了POCV的文件或者LVF,如何将它们应用在设计中,又怎样开启POCV的分析呢?以PrimeTime为例,标准的POCV分析流程如下:

# PrimeTime POCV流程
pt_shell> set_app_var timing_library_derate_is_scenario_specific true
pt_shell> set_app_var timing_pocvm_enable_analysis true
pt_shell> set_app_var timing_pocvm_corner_sigma 3 ;# default
pt_shell> set_app_var timing_pocvm_report_sigma 3 ;# default
pt_shell> set_app_var timing_pocvm_precedence "file" ;# default
pt_shell> read_aocvm ${lib}_${pvt}.pocv
pt_shell> set_timing_derate -cell_delay -pocvm_guardband -early 0.95 ;# optional
pt_shell> set_timing_derate -cell_delay -pocvm_guardband -late 1.05 ;# optional

其中timing_pocvm_corner_sigma和timing_pocvm_report_sigma用来定义variation分布的sigma值,默认为3 sigma,数字越大越悲观。LVF库文件中一般以3 sigma为标准,调高sigma的数值可以让EDA工具以某种算法更悲观地计算delay和transition等,但是却要牺牲一点精度。timing_pocvm_precedence定义POCV文件和LVF同时存在时的优先级,默认以lib_cell的POCV文件优先级最高,LVF优先级最低,可以通过改变其数值来决定优先级顺序:

  • POCV结果查看

按照以上流程开启PT中的POCV分析之后,可以通过以下命令报出所设置的POCV参数和POCV guardband:

pt_shell> report_ocvm –type pocvm -nosplit
pt_shell> report_timing_derate -pocvm_guardband

在update_timing之后,就可以通过report_timing -variation来获取timing path中的POCV信息:

pt_shell> report_timing -variation -from $startpoint -to $endpoint 

示例report如下所示,请注意Incr和Path两部分与一般report的区别:

至于timing report的读法和具体的delay计算方法,我们将在后续文章中陆续介绍,敬请关注!
以上就是本篇的全部内容,如果你觉得学到了新知识,请帮忙点赞转发~

*****后端转行培训,后端学习资料大家可以私聊我*************

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: POCV和AOCV的区别是,POCV(按照类别划分的交叉验证)把数据集分成若干个类别,每个类别作为训练集的一部分,而AOCV(按照时间划分的交叉验证)把数据集分成若干个时间段,每个时间段作为训练集的一部分。 ### 回答2: POCV和AOCV是芯片设计领域中两种不同的变量延迟计算方法。 POCV全称为Process of Corner Variation,即过程角变异。它是一种以温度、电压、工艺因素为依据,结合流程角和成尺度均值偏差来计算芯片延迟的方法。POCV将芯片的温度和电压分别设置为高、低两个极端值,并结合芯片制造过程中的偏差因素,计算在不同条件下芯片电路的延迟变化。这种方法能整体考虑到成尺度变异和工艺角变异对芯片性能的影响,提供较为准确的延迟预测结果。 AOCV全称为Advanced On-Chip Variation,即先进芯片内部变异。与POCV不同,AOCV不考虑芯片制造过程中的偏差因素,而是根据芯片设计层面的变异因素来计算芯片的延迟。AOCV使用以网表片段为单位的统计方法,通过对芯片各部分的电路元件、连线、布线等进行建模和分析,计算芯片在不同情况下的延迟变化。AOCV可以更加直观地分析设计上的问题,提供针对性的优化和改进方案。 两种方法各有优劣。POCV考虑到了更多制造过程中的变异因素,结果更为准确,但计算量较大,适合用于芯片的整体设计和验证。AOCV则更注重于设计层面的优化,计算速度较快,更适合用于芯片的局部分析和优化。 综上所述,POCV和AOCV是两种不同的延迟计算方法,分别从制造过程和设计层面入手,提供了不同粒度和准确度的延迟分析结果,适用于不同的芯片设计和验证场景。 ### 回答3: POCV(Process of Care Value)和AOCV(Average Out-of-Pocket Cost)是衡量医疗保健的两个指标,它们之间存在一些区别。 首先,POCV是一个评估医疗保健效果的指标,它关注的是医疗保健所提供的价值。POCV考虑的是患者在整个治疗过程中所接受的医疗服务的全部费用,包括药品、检查、手术、康复等方面。POCV的目标是通过提供高效、高质量的医疗服务来改善患者的健康状况。 相比之下,AOCV是患者个人承担的医疗费用的平均值。它涉及患者在医疗保健过程中需要支付的费用,包括自付款、共同支付和共保支付等。AOCV旨在评估医疗费用对个人经济负担的影响,它可以帮助患者选择经济负担更轻的医疗方案。 换句话说,POCV关注医疗保健的整体效果和价值,而AOCV则关注患者个人承担的医疗费用。POCV更注重整个医疗过程中的效果和质量,而AOCV则更注重个人的财务情况和支付压力。 综上所述,POCV和AOCV是两个不同的指标,其中POCV评估医疗保健的价值和效果,而AOCV评估个人承担的医疗费用。两者在评估医疗保健时有不同的侧重点,但都对改善患者的医疗保健体验和经济负担具有重要意义。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值