中文 英语
系统与设计
的意见

用于生产设计流程的时序库LVF验证

验证LVF数据的准确性和正确性是实现时序闭合和硅成功的关键因素。

受欢迎程度

在过去的几年中,变异建模已经从表示芯片变异(OCV)的单一降值因子发展到自由变异格式(LVF),这是当今领先的标准格式,它将变异信息封装在时序库(.libs)中。

LVF数据被认为是22nm及以下高级工艺节点的必要条件。在最小的工艺节点,如7nm和5nm,由于变化,延迟和约束等时间属性可能会改变高达50%-100%的标称延迟。这意味着如果没有识别和修复,不正确的LVF值可能会导致时序关闭问题和潜在的硅故障。

由于LVF描述涉及到库单元SPICE网列表的蒙特卡罗分析,因此当今大多数描述方法都利用近似值使运行时对生产计划可行。因此,验证LVF数据的准确性和正确性已成为实现时序闭合和硅成功的关键因素。

Mentor是西门子的业务部门,为LVF数据提供全面的闭环验证。Mentor的Solido Analytics使用机器学习广泛覆盖LVF数据,自动识别整个数据集中的异常值和潜在问题。Solido Variation Designer完成验证循环,在Solido Analytics确定的问题区域上运行完整的蒙特卡罗等效验证。

简介

.libs中的变异建模已经在半导体行业中使用了十多年。变分建模的主要目的是解释电路布局设计师使用EDA工具绘制的硅和使用光刻工艺物理制造的硅之间的局部差异。由于目前没有可行的方法对这些影响进行确定性建模,所有这些影响都被累积到“芯片上变化”(OCV)值中,从而将悲观情绪添加到时序库中。

由于OCV对过程节点的影响越来越大,时序库变化建模方法在过去几年中发生了显著变化。对于130nm及以上的较大工艺节点,单一降额因素可以增加悲观情绪,而当今先进的22nm及更小的工艺节点则需要更细粒度的变异值分配。

对于这些较小的流程节点,Liberty Variation Format (LVF)已经成为主要的标准格式,用于封装标准单元、内存和自定义宏的变化信息。如果您有一个高级的流程节点库,那么对于延迟和约束的变化建模很可能在LVF .lib中描述。

什么是自由变分格式(LVF),它如何影响计时?

LVF是对Liberty格式的扩展,它将统计变化信息添加到计时测量中。

标称计时库包含大量查找表,其中包括计时信息,如单元延迟、转换时间以及库中所有单元的设置和保持约束。LVF用每个测量的早期和晚期统计变化(西格玛)值的附加表扩展了该信息。

在数字设计的静态时序分析(STA)中,时序工具包括LVF西格玛值,以添加悲观的时序路径。作为一个简单的例子,对于组合逆变器的计时弧线,当STA工具计算设置计时的路径延迟时,它将从后期西格玛LVF表的值添加到单元延迟。这增加了人们对这条时间路径的悲观情绪。

在我们简单的例子中,下面描述了在小区延迟计时期间发生的事情:

在设置计时模式:带LVF的单元格掉落延迟=标称单元格掉落延迟+ LVF单元格掉落延迟sigma(晚)

在实践中,STA工具通常设置为将LVF西格玛值乘以3,以便在执行定时分析时考虑到3西格玛的变化。

随着Moments的引入,LVF还包含了其他统计测量:标准偏差、标称均值偏移和偏度(图1和图2)。这使得每个测量值的统计分布建模更加准确,特别是对于非高斯分布。


图1:带Moments的LVF .libs包含每个测量条目的标准偏差值


图2:带矩的LVF .libs还包括每个测量条目的高阶统计矩(例如,偏度)

在7nm和5nm等高级工艺节点上,由于来自LVF .libs的变化分量,延迟和约束等时间属性可能会变化高达标称延迟的50%-100%。这意味着不正确的LVF数据很容易使芯片的定时分析失效,而不管标称定时.libs的准确性如何。

验证LVF数据是硅按计划成功的关键一步

如上所示,与标称值时序模型不同,LVF变异模型包含大量的统计变异信息。正因为如此,表征LVF模型需要蒙特卡罗分析,导致表征过程较长。使用暴力蒙特卡罗来描述.lib中的所有LVF值将导致对每个表项进行数千次蒙特卡罗SPICE模拟,将表征运行时间增加几个数量级。出于显而易见的原因,这不是一种描述整个.lib的可行方法。

为了使LVF表征可行,表征工具使用各种技术,如网表约简和基于灵敏度的近似,以减少运行时间。这些近似能够将运行时间“仅”减少到标称时序特性运行时间的5 -10倍。然而,这些近似通常也会导致结果的.lib不准确,导致不正确的静态时序分析(STA)结果,并可能导致硅故障。

LVF数据不准确的一个常见来源是对长尾分布的强力蒙特卡罗模拟和近似蒙特卡罗模拟之间的差异(图3)。LVF数据通常在3西格玛(3σ)处测量。对于长尾分布,即使使用强力蒙特卡罗方法,对于给定的西格玛差异,输出值(例如,延迟和约束)也有较大的差异。因此,在表征过程中由于近似而增加的任何不准确性都会放大输出值中的这些差异,从而导致所得到的LVF数据更加不准确。


图3:用于LVF数据的长尾值不准确会导致时间差异和潜在的硅故障

一种全面可靠的方法来验证LVF数据在当今的设计流程中至关重要。如果没有这一步,设计团队可能会暴露在有故障或有噪声的LVF值中,这可能会使计时结果在生产精确范围之外影响50%-100%,从而导致计时关闭问题和延迟以及潜在的硅故障。

LVF变化模型的全面、闭环验证

对标准单元和高级工艺节点的自定义宏进行有效变异建模的关键步骤是对变异模型进行高度可靠的验证方法。验证方法应具有广泛的覆盖范围,以考虑所有过程、电压和温度(PVT)角的变化效应贡献者,并且还能够为任何问题区域提供完整的蒙特卡罗等效验证。

传统的验证方法,例如对随机选择的LVF数据点执行蛮力蒙特卡罗,是非常缓慢的。用这种方法为具有千兆字节数据的整个LVF .lib提供足够的覆盖是不可行的。基于规则的检查可以很好地检测结构和语法问题,但在检测异常值或错误/有噪声的LVF数据值时通常不可靠。

与传统方法不同,Mentor的Solido产品通过利用机器学习方法为LVF提供全面的闭环验证。Solido Analytics使用机器学习来分析图书馆所有pvet的完整变化模型数据集,自动识别异常值和潜在问题。Solido Variation Designer通过深入研究潜在的问题区域并在这些数据点上运行完全的Monte carlo等效验证来完成验证循环(图4)。

整个过程达到了相当于运行brute-force蒙特卡罗的精度,但是模拟少了100倍(即运行速度快了100倍),并且适用于3-sigma和更高的sigma目标。


图4:闭环LVF验证:用于全覆盖分析的分析,在数十亿值的“海洋”中找到异常值;变型设计器提供蒙特卡罗+ spice精确的结果在整个pvt

总结

使用LVF的变化建模允许芯片设计人员封装统计变化数据以补充标称时序值,这对于22nm及以下的高级工艺节点是必需的。

由于运行蒙特卡罗分析需要很长的运行时间,在对LVF数据的描述过程中使用了许多近似。这导致不正确/不准确的LVF数据,可能导致时序关闭问题和硅失效。因此,在使用LVF的设计流程中,LVF验证是一个至关重要的步骤。

Mentor为LVF数据提供全面的闭环验证。Mentor的Solido Analytics将机器学习用于广泛覆盖的LVF数据,自动识别整个数据集中的异常值和潜在问题。Solido变型设计器通过对Analytics确定的问题区域运行完整的蒙特卡罗等效验证来完成验证循环。



2的评论

太阳 说:

我们如何找到LVf数?通过标准差??

sravani 说:

这是篇好文章。
延迟估计为平均+ 3。高斯分布。我可以知道如果延迟分布是非高斯的,那么STA工具是如何估计延迟的(使用倾斜,均值漂移和标准偏差)?(有方程吗?)

留下回复


(注:此名称将公开显示)

Baidu