系统与设计
的意见

新一代自由验证和调试

机器学习如何提高验证自由的传统工艺文件。

受欢迎程度

准确库描述现代芯片设计和验证的关键一步。全芯片设计的数以十亿计的晶体管,计时完毕通过模拟不可行的是由于运行时和内存限制。相反,一个可伸缩的方法使用静态时序分析(STA)是必需的。这种方法使用自由文件封装库特征如时间、力量,和噪音标准电池,内存宏和定制的细胞。自由文件然后由下游的所有工具用于合成、物理设计实现,以及全芯片计时,权力,和信号完整性完毕。

为了实现准确的结果通过STA、自由文件必须一丝不苟地检查错误和问题。只有少数现成的EDA工具库验证,所以验证自由文件历来是通过结合第一代商业规则的跳棋,内部脚本和创意手工技巧由高度熟练的专家。这个过程是effort-intensive和费时,数周或数月来验证和调试一个特征库。尽管当前进程所需的努力,仍然非常容易丢失的自由文件中的关键问题。

Solido团队在导师专家机learning-accelerated EDA工具,并应用他们的技术实现快速和准确variation-aware设计和验证的内存,标准电池和模拟/射频模拟电路。最近,这个团队开发了一套机器学习和信息可视化技术来解决自由的挑战验证和调试。这些技术都集成在一个新的自由的验证和调试工具,称为MLChar分析,形成下一代的方法来验证和调试的基础库。该工具验证和调试库:

  1. 建立一个机器学习模型的结果来检测异常值和属性特征与半导体的行为,和
  2. 使用信息可视化方法提供一个主仪表盘,连接所有图书馆识别问题和他们的源信息让用户全局视图的图书馆,而轻松地导航到任何错误发现的细节。

这种新方法加速库验证和调试超过10倍,并能不断发现全新类型的错误,传统的基于规则的跳棋小姐。

自由的验证和调试的挑战
在设计和签署阶段,STA工具严重依赖自由文件的准确性。STA工具中心的功能使用信息自由文件来验证最终的设计,和不彻底的验证自由文件本身。如果自由文件不正确,STA工具给出错误的答案,导致re-spins,降低芯片产量、进度拖延,或不必要的over-margining,这都是非常昂贵的问题。

不幸的是,表征结果仍然可以包含许多错误和不准确的地方,图书馆团队需要检测和修复之前释放图书馆。现代图书馆包含几千细胞需要一系列过程特征,电压和温度(PVT)的条件。许多细胞也有body-bias变异和不同阈值电压(Vt)。这将导致数以百万计的模拟需要描述一个图书馆。由于纯粹的描述的范围,这是天真的相信,图书馆可以正确100%的时间特征。

考虑一个例子,一些价值观的传播延迟表被错误地特点是乐观。如果条件在设计和特定细胞实例使用这些延迟时间,STA工具报告时间路径遇到了时机,但实际上它并没有。这可能会导致错误,必须固定在一个re-spin功能,或时机错误的路径略微符合时机,导致设计某些pvt失败的原因。这两种情况下会导致产量降低的设计。

扭转局势是正确的:如果由于特征或模拟错误,自由文件指定过度悲观时间或权力,STA工具将报告不准确的时间或权力相应的数字。这意味着实现工具必须努力满足虚假需求,这可能导致over-margining,芯片面积增加,或更高的功耗。

进入一个成功的关键部件库描述运行包括:从铸造此后晶体管模型,从图书馆testbenches团队或描述工具,以及测量的定义,描述配置和模拟器设置。毫不奇怪,一个描述团队不能复制一个特征库需要付出大量的努力,即使使用相同的模拟器和描述工具。

有额外的描述错误的原因考虑。降低整体运行时,积极使用模拟器和特性设置。可能有缺陷的工具链或自定义脚本。弧可能识别不正确,可能会有失败。这些问题将会“污染”最终的鉴定结果。所有描述错误需要被抓,调试,固定在图书馆可以发布到产品团队。

考虑到大量的特征库中的数据,验证它是艰巨的任务。验证需要理解和分析成千上万的特征值,其中一些波形形状(CCS),或统计分布参数(LVF)。没有合适的工具,这就变成了一个重要障碍图书馆发布过程。

第一代方法的局限性
传统自由使用基于规则的检查验证流包括初步的检查,在静态执行检查来确定具体的销不一致等问题,最小或最大电容和过渡时间违规,细胞不匹配,任何语法检测失败。这一步通常是与内部结合使用脚本来执行额外的检查,和更多的脚本解析从基于规则的检查报告。

静态检查完成后,图书馆团队经过一个非常耗时的任务跟踪任何问题的来源,比较参考库数据,找到其它数据具有相同的问题。在大多数情况下,找出为什么出错比识别错误本身是一个困难的问题,由于无数的潜在原因。虽然这种传统方法曾出于必要,到目前为止,有两个主要问题:缺少关键库问题,添加几周几个月的生产计划延迟。

静态规则检查将错过自由文件中的关键问题
静态规则检查只是一样好显式地进行编码规则程序检查。使用这种方法识别和修复库问题EDA相当于试图找到治疗普通感冒的所有菌株。这是一场艰苦的战斗,因为有很多组合考虑,和每一个新的流程节点带来了新的考虑检查。最早一批静态规则检查实施,更多的需求将会出现由于无休止的突变因素必须考虑。

与基于规则的检查,如果特定的规则不是编程规则检查,不受任何违反规则不会被检查。局外人在传播延迟表或传播延迟的异常在电压扫描静态错误的例子,基于规则的检查无法找到。此外,新的潜在问题成为有关每个流程节点,由于收缩过程几何图形或FD-SOI等过程的独特性质。添加统计信息与自由各种格式(LVF)也加剧了问题通过扩展的领域自由格式。

图书馆团队可能试图弥补这些挑战,不断添加和调整规则,这将最终能够抓住一些non-categorized错误。然而,这不仅是效率低下的新因素,发现每个流程节点或变体,但它也迫使图书馆团队不断玩赶上新问题出现,验证后,导致更多的进度拖延和re-characterization。

手动调试周生产计划补充道
后确定了潜在的问题,理解问题的范围仍然是棘手的。库错误很少发生一次性问题。问题通常在集群在一定的电压,表面温度,过程,提取、弧和slew-load表区域。因此,发现一个错误是,图书馆团队还必须分析错误发生在第一个地方的原因。例如,他们必须确定是否由于电路布局问题,描述配置,模拟设置,或其他因素,然后确定其他特征结果受到这个问题的影响。

理解问题的任务范围本身数据挖掘需要相当大的努力和技巧来完成。重新运行有问题的特征点在香料级别是必需的,其次是分析失败的根源。确定问题的根源后,或许是由于降低了香料精度减少运行时设置,图书馆团队必须确定这个问题的所有实例,并确定修复,可以系统地应用于表征流而不破坏其他结果。

修复所有表征结果影响某一特定问题(可能跑到成百上千的数据点)的时间内压力的生产计划是一个艰巨的任务,往往导致进度延迟。使用当前库验证方法、验证和调试的自由文件通常需要更长的时间比描述本身。

需要一种新的方法
随着面具,晶片成本的上升,浪费over-margining和re-spins越来越昂贵的错误的产品团队。生产和进度,成本问题自由模型可能是巨大的。图书馆发布和推广是一个关键组成部分的芯片开发关键路径,因此每个额外的一周花了验证,调试和修复库问题翻译进度延迟最后全芯片产品。

而不是玩赶上通过调整静态库检查规则,以包括所有可能的场景为失败(这是不可能的),我们需要的是一个数据驱动的方法工具“知道”所有的正确答案特点数据点在分析图书馆。相应的工具必须能够检测错误并启用用户调试和修复所有相关的错误以最有效的方式。

新一代自由验证和调试
使用机器学习EDA今天获得牵引我们确定适合使用这种方法解决问题。Solido团队在导师已经确定自由验证和调试是一个这样的问题,他们已经开发出下一代解的挑战:MLChar分析。

MLChar分析,机器学习Solido表征套件的一部分,是一项全新的技术重新构建特征识别和理解的问题。代替仅仅依赖于静态的,基于规则的检查验证,自由MLChar分析需要一种新方法,利用机器学习技术来识别所有潜在的错误,和对信息可视化方法,为用户提供一个快速和强大的仪表板精简所有图书馆的调试任务。

机器学习驱动异常值分析
机器学习驱动异常值分析背后的主要思想是建立一个完整的机器学习模型库的特征的结果。这个模型是建立在输入变量等过程,温度、电压、萃取条件、销输入杀和输出负载,和其他因素影响图书馆细胞的行为。输出是图书馆特征测量,包括:传播延迟,过渡,约束,CCS波形,LVF,统计时刻,权力,和噪音。

造型每个输出的行为,MLChar分析可以发现异常数据点不符合趋势,它能找到地区趋势吵了。这是通过比较预测的特征数据直接输出,和萎靡不振的两者之间有分歧的地方(图1)。


图1:一个例子从MLChar分析图表显示一组异常值的机器学习模型结果进行了比较,确定实际特征数据。

毕竟离群值已确定,MLChar分析类型的异常严重性(那些拥有最大的差异)。这允许用户过滤标准,缩小数据调查的范围(图2)。


图2:一个总结的异常值按严重程度排序,由MLChar分析。

全球所有可能的异常值的列表,通过排序和过滤的输入变量(例如PVT条件、细胞类型、或通道长度),用户可以快速查看异常趋势输入变量的任意组合。这有助于用户快速确定这一类的异常值是否局限于一定的电压、温度、细胞类型,或另一种类型的输入因素,使其更容易决定如何解决这个问题。

信息visualization-powered调试
上面的例子强调了将信息可视化的重要性(InfoVis)方法到一个自由的验证和调试解决方案。从历史上看,InfoVis方法的EDA工具的一种补充,如果信息存在的理由,这是充分的,因为价值的工具是在底层引擎。虽然有一些这种方法有效性的工具主要以批处理方式运行,它肯定不是验证和调试工具。

验证和调试工具的成功很大程度上由它能够帮助用户理解,一眼就能提供的信息。MLChar分析是建立与信息可视化。仪表板视图是有组织的方式不仅显示所有相关的信息需要调试一个问题在一个直观的方式,但也允许用户访问所有相关信息与一个单一的点击点感兴趣的任何windows的仪表板(图3)。


图3:MLChar分析仪表盘显示信息可视化方法加速自由调试文件。

在图3中,用户调试CCS和NLDM输出不一致在图书馆,这是一个时间差异背后的罪魁祸首全芯片的实现和STA签收结果。在这种情况下,用户不仅可以看到CCS和NLDM值相互关联(或不相关)在整个图书馆,但是用户也可以看到一个排序总结从最严重的病例。通过点击相关图表或摘要列表上的任何点,该工具带来了CCS NLDM波形,以及细胞和销点感兴趣的相关信息。

自由文件是巨大的,需要很长时间才能调试由于庞大的数据量存在于文本和表格格式。信息可视化方法在MLChar分析消除跟踪的瓶颈大文件使用文本编辑器或专门的脚本。它还提供了数据的方式使它非常容易导航调试空间中从一个点到另一个地方。例如,用户可以快速从PVT导航信息,细胞和销属性,这些插脚处的自由特征数据表。

下一代的验证和调试解决方案
自由文件确保正确的设计功能是至关重要的,他们需要验证和调试发布前产品团队。自由文件中的错误直接导致昂贵的后果,比如芯片re-spins进度拖延,over-margining。传统商业自由验证工具基于静态规则检查只验证他们明确程序检查,并确定所有潜在问题不足一个图书馆。增加图书馆的类型问题由于新的和较小的过程,添加或修改静态检查覆盖日益增长的潜在问题列表并不是一个可伸缩的方法。这也会导致昂贵的延迟之间出现的新类型的问题和检测能力。

此外,由于历史缺乏有效的商业库调试工具,图书馆团队经常开发自己的脚本和图书馆内部工具的验证报告,并且经常需要手动破解他们的自由文件修复发现的任何问题。库版本通常是在产品交付计划的关键路径,这大大延长图书馆验证和调试周期,导致延迟产品设计进度。

MLChar分析使用机器学习的方法来识别潜在的问题自由文件。这形成了MLChar分析基础的数据驱动的方法来识别自由问题,并使该工具能够检测整个类别的错误和异常值,传统,基于规则的检查不能发现。工具包含了强大的信息可视化方法来加快这一进程的调试和修复通过全数据库库问题,允许用户在图书馆得到所有问题的全局视图,而快速定位问题的根源和其他周边问题的根本原因。

图书馆团队可以大大加快自由验证周期由10倍以上,允许验证和调试的任务库在数小时内完成,而不是几周或几个月需要使用第一代库验证工具。



1评论

苏米特Vishwakarma 说:

伟大的文章。
关键是:而不是玩赶上通过调整静态库检查规则,以包括所有可能的场景为失败(这是不可能的),我们需要的是一个数据驱动的方法工具“知道”所有的正确答案特点数据点在分析图书馆。

留下一个回复


(注意:这个名字会显示公开)

Baidu