DVCon文赏-2023w15自动提升功能覆盖率的各种方法和工具回顾

原创 路科验证 2023-04-04 12:18

似乎每次看到来自Google Research的论文都挺清新的,这一次也不例外。老实讲,有关提升覆盖率的论文至少有20年以上的历史了,但可惜的一点是,它们要么是躺在论文里,要么就是对使用者具备用于较深的设计相关知识,总是不方便落地的。

这篇论文先是回顾了两种之前的典型方法。

第一种是基于要测试的目标设计,构建并且维护一个准确的模型。我至今还记得大概7、8年前查阅这些论文时,总能遇到一些关键词,比如"biased"、"bayesian"、"automatic"、"convergency"等。也有印象这一批论文其中要根据设计构建的模型也颇为复杂。另外,它们多数都是project specific,以至于在过去的20年,EDA公司并没有基于这些论文开发出什么对应的工具。

第二种被称为数据驱动(data-driven)的CDG(coverage directed generation)。因为这是将(线上采集的)覆盖率数据反馈给了激励端,通过智能化的方式对覆盖率数据进行分析,再影响激励端。这个主意是在过去几年人工智能发展的背景下,引入到了EDA公司,而且也已经有对应产品或者特性了。

比如Cadence公司的Xcelium ML特性,即可以根据通过已经执行的regression数据,结合machine learning技术帮助提升随机约束的生成效率,最多可以提升5倍的随机测试regression效率,帮助更快达到100%的覆盖率目标。

https://www.cadence.com/zh_CN/home/company/newsroom/press-releases/pr/2020/cadence-delivers-machine-learning-optimized-xcelium-logic-simula.html

但这种方法也如论文中评论道,整体效果如何严重依赖其用于训练的数据规模,这也意味着前期必须有相当规模的回归测试数据交给算法模型,以便让它学习覆盖率和激励之间的联系。

以上的两种方法中,第一种需要用户手动在覆盖率和模型之间建立准确的关系,无法做到让工具去实现更大场景的应用;第二种虽然无需自己去阐述激励和覆盖率之间的关系,但也需要前期给算法模型“投喂”足够数量的回归数据,才能帮助其更有效地产生随机数据。

于是这篇论文提出了一种(在我看来可能有EDA工具化可能的)既能实现可能快速提升覆盖率,也能在早期投入较少运算资源(比如准备大量的回归数据)的方法,论文称该方法为CDG(coverage dependency graph)。

由于论文中牵扯到具体的算法描述,在这里就不做描述。我们只说它的思路和实际效果如何。因为它既想实现更广阔的的应用(就不能针对特定设计建模),也不想在早期投喂回归覆盖数据(不采取在激励和覆盖率之间的模糊探寻联系的算法策略),于是它希望在开始测试前,就可以分析出来覆盖率和可能引起覆盖率变化的变量之间的关系

整个工作的开题就落在了上面这句话。这里我再举个例子来说说它的意义。Siemens的PSS工具inFact,该工具有2个核心特性,除了支持PSS以外,它还能够分析sequence item的变量与对应的function covergroup,帮助它们自动完成映射,并且将inFact engine与Questa同时启动仿真,显著加速该覆盖率的提升速率。这是由于sequence item的变量一旦与covergroup形成关联,那么Questa的RNG(random number generator)在每次随时产生数据时就能够做到足够高效,它的目标就是为了提升覆盖率而只去产生有效的随机数据组合。

"Increasing Functional Coverage by Automation for Zetta-Hz High Speed CDMA Transceiver"

https://verificationacademy.com/verification-horizons/november-2020-volume-16-issue-3/increasing-functional-coverage-by-automation-for-zetta-hz-high-speed-cdma-transceiver

不过可惜的一点是,如果在sequence item的变量与covergroup中监测的变量无法做到直接关联的话,inFact的工具在这时就会失效(以2020年该工具的版本做参考)。它还无法做到进一步分析,将covergroup的变量与sequence item中的rand variable之间做分析。这中间缺少一个环节,那就是相关变量的驱动分析。

加入covergroup中关心的变量varC是由varB影响的,而varB变量的驱动是由varA影响的,而varA变量是由验证环境的sequence item的rand varR影响的,那么这种驱动关系就可以帮助建立起来,即varR-->varC的间接关联。

而这个主意恰恰是这篇论文要带来的,它通过Verific(verific.com)公司的SV/VHDL/UPF parser解析工具,可以很快对设计构建起来模型,并且利用C++/Python/Perl等API接口,获得以上的变量之间的关联。

一旦可以通过模型,获得例如varR与varC之间关联,那就相当于在inFact基础上又进了一步(inFact在使用过程中,并没有在pre-process过程中做类似的变量关联分析,这一点较为可惜),使得具备了基本的条件,可以在更为明确的rand变量和关联的各个covergroup之间引导生成更为合理的随机数据。

一旦分析出coverage dependency graph,接下来就是需要在动态的过程中调整随机约束的分布(constraint distribution),这里使用了MLE(maximum likelihood estimate)公式。

通过以上两个关键步骤(设计分析得出驱动关联,以及根据覆盖率报告和分布权重产生新的随机约束),就可以将论文中的CDG4CDG流程植入到已有的验证环境中。在这种情况下,每一轮回归测试前就可以重新调整随机分布,继而在下一轮回归时获得更为有效的随机数据,继而提供覆盖率。


这个流程有广泛应用的场景,因为对于EDA公司而言,它们有自己内部的parser工具和编译好的设计模型,只需要做适当处理即能够在sequence item rand variable和covergroup sampled variable之间找到关联,而论文中的有关调整权重的算法也有机会得到进一步优化。这么看起来,这个方法更适合嵌入到inFact中,使得这个工具得到进一步提升。

从最后的数据来看,CDG4CDG这个方法对最终覆盖率收敛(尤其是在最后的90%-100%之间的提升效率)尤为明显。以覆盖率达到100%为目标,CDG4CDG要比固定约束分布的效率提升在5倍-20倍之间。而且在这中间,并不意味着要先生成大量的回归数据,像machine learning要求的那样学习大量数据,这也节省了相当一部分的运算资源。

纵观全文,我很同意文中的一个词"harness"(给马套上马具,表示利用的意思),即在我们有限的知识、能力的前提下,尽量把它们用好,即便脚下开的车不是阿斯顿马丁,马自达也能够有出色发挥。

论文下载链接
链接:https://pan.baidu.com/s/1lIHfPNnCKFXc5_x6IIWvVQ
提取码:cw15


往期精彩:

DVCon文赏-2023w13 一种智能网卡的形式验证流程

DVCon文赏-2023w14 一种用于AI视觉处理芯片的验证加速方案



路科验证 专注于数字芯片验证的系统思想和前沿工程领域。路桑是Intel资深验证专家,主持验证架构规划和方法学研究,担任过亿门级通信芯片的验证经理角色。在工程领域之外,他在西安电子科技大学和西安交通大学客座讲授芯片验证课程。著有书籍《芯片验证漫游指南》。
评论
  •         温度传感器的精度受哪些因素影响,要先看所用的温度传感器输出哪种信号,不同信号输出的温度传感器影响精度的因素也不同。        现在常用的温度传感器输出信号有以下几种:电阻信号、电流信号、电压信号、数字信号等。以输出电阻信号的温度传感器为例,还细分为正温度系数温度传感器和负温度系数温度传感器,常用的铂电阻PT100/1000温度传感器就是正温度系数,就是说随着温度的升高,输出的电阻值会增大。对于输出
    锦正茂科技 2024-12-03 11:50 111浏览
  • TOF多区传感器: ND06   ND06是一款微型多区高集成度ToF测距传感器,其支持24个区域(6 x 4)同步测距,测距范围远达5m,具有测距范围广、精度高、测距稳定等特点。适用于投影仪的无感自动对焦和梯形校正、AIoT、手势识别、智能面板和智能灯具等多种场景。                 如果用ND06进行手势识别,只需要经过三个步骤: 第一步&
    esad0 2024-12-04 11:20 55浏览
  • 概述 说明(三)探讨的是比较器一般带有滞回(Hysteresis)功能,为了解决输入信号转换速率不够的问题。前文还提到,即便使能滞回(Hysteresis)功能,还是无法解决SiPM读出测试系统需要解决的问题。本文在说明(三)的基础上,继续探讨为SiPM读出测试系统寻求合适的模拟脉冲检出方案。前四代SiPM使用的高速比较器指标缺陷 由于前端模拟信号属于典型的指数脉冲,所以下降沿转换速率(Slew Rate)过慢,导致比较器检出出现不必要的问题。尽管比较器可以使能滞回(Hysteresis)模块功
    coyoo 2024-12-03 12:20 111浏览
  • 作为优秀工程师的你,已身经百战、阅板无数!请先醒醒,新的项目来了,这是一个既要、又要、还要的产品需求,ARM核心板中一个处理器怎么能实现这么丰富的外围接口?踌躇之际,你偶阅此文。于是,“潘多拉”的魔盒打开了!没错,USB资源就是你打开新世界得钥匙,它能做哪些扩展呢?1.1  USB扩网口通用ARM处理器大多带两路网口,如果项目中有多路网路接口的需求,一般会选择在主板外部加交换机/路由器。当然,出于成本考虑,也可以将Switch芯片集成到ARM核心板或底板上,如KSZ9897、
    万象奥科 2024-12-03 10:24 68浏览
  • 遇到部分串口工具不支持1500000波特率,这时候就需要进行修改,本文以触觉智能RK3562开发板修改系统波特率为115200为例,介绍瑞芯微方案主板Linux修改系统串口波特率教程。温馨提示:瑞芯微方案主板/开发板串口波特率只支持115200或1500000。修改Loader打印波特率查看对应芯片的MINIALL.ini确定要修改的bin文件#查看对应芯片的MINIALL.ini cat rkbin/RKBOOT/RK3562MINIALL.ini修改uart baudrate参数修改以下目
    Industio_触觉智能 2024-12-03 11:28 87浏览
  • 最近几年,新能源汽车愈发受到消费者的青睐,其销量也是一路走高。据中汽协公布的数据显示,2024年10月,新能源汽车产销分别完成146.3万辆和143万辆,同比分别增长48%和49.6%。而结合各家新能源车企所公布的销量数据来看,比亚迪再度夺得了销冠宝座,其10月新能源汽车销量达到了502657辆,同比增长66.53%。众所周知,比亚迪是新能源汽车领域的重要参与者,其一举一动向来为外界所关注。日前,比亚迪汽车旗下品牌方程豹汽车推出了新车方程豹豹8,该款车型一上市就迅速吸引了消费者的目光,成为SUV
    刘旷 2024-12-02 09:32 119浏览
  • RDDI-DAP错误通常与调试接口相关,特别是在使用CMSIS-DAP协议进行嵌入式系统开发时。以下是一些可能的原因和解决方法: 1. 硬件连接问题:     检查调试器(如ST-Link)与目标板之间的连接是否牢固。     确保所有必要的引脚都已正确连接,没有松动或短路。 2. 电源问题:     确保目标板和调试器都有足够的电源供应。     检查电源电压是否符合目标板的规格要求。 3. 固件问题: &n
    丙丁先生 2024-12-01 17:37 102浏览
  • 11-29学习笔记11-29学习笔记习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习笔记&记录学习习笔记&记学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&学习学习笔记&记录学习学习笔记&记录学习学习笔记&记
    youyeye 2024-12-02 23:58 73浏览
  • 当前,智能汽车产业迎来重大变局,随着人工智能、5G、大数据等新一代信息技术的迅猛发展,智能网联汽车正呈现强劲发展势头。11月26日,在2024紫光展锐全球合作伙伴大会汽车电子生态论坛上,紫光展锐与上汽海外出行联合发布搭载紫光展锐A7870的上汽海外MG量产车型,并发布A7710系列UWB数字钥匙解决方案平台,可应用于数字钥匙、活体检测、脚踢雷达、自动泊车等多种智能汽车场景。 联合发布量产车型,推动汽车智能化出海紫光展锐与上汽海外出行达成战略合作,联合发布搭载紫光展锐A7870的量产车型
    紫光展锐 2024-12-03 11:38 101浏览
  • 光伏逆变器是一种高效的能量转换设备,它能够将光伏太阳能板(PV)产生的不稳定的直流电压转换成与市电频率同步的交流电。这种转换后的电能不仅可以回馈至商用输电网络,还能供独立电网系统使用。光伏逆变器在商业光伏储能电站和家庭独立储能系统等应用领域中得到了广泛的应用。光耦合器,以其高速信号传输、出色的共模抑制比以及单向信号传输和光电隔离的特性,在光伏逆变器中扮演着至关重要的角色。它确保了系统的安全隔离、干扰的有效隔离以及通信信号的精准传输。光耦合器的使用不仅提高了系统的稳定性和安全性,而且由于其低功耗的
    晶台光耦 2024-12-02 10:40 120浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦