AI+EDA,提升芯片验证覆盖率的利器

路科验证 2023-05-04 11:00


现代芯片发展的方向是什么?


这是一个很大的问题,可以从多个角度去回答。如果从应用端去而言,那就是数智化,囊括了大数据、云计算、物联网、AI、5G及自动驾驶等创新方向。数智化芯片有两大明显的特征,功能更复杂以及对安全性要求更高,这就对芯片验证提出了更大的挑战。


芯片验证的评判标准——覆盖率


在数智化和摩尔定律等多重因素的推动下,当前的芯片功能越来越强大,内部结构也越来越复杂。回顾今年1月份刚刚发布的苹果M2 Max芯片,内部集成了670亿个晶体管,用以实现强大的CPU(12核CPU)、GPU(38核GPU)和内存系统(96GB内存和更大的L2缓存)等功能。


图1:苹果M2 Max芯片(图源:苹果官网)


苹果M2 Max芯片当然是一款非常强大的产品,然而让数百亿个晶体管像人体细胞一样组成器官,然后再整体配合正常工作可不容易,因此要对功能模块和IP进行充分验证。我们都知道,这需要通过EDA工具完成芯片验证,包括架构设计、软件仿真、硬件仿真和原型验证等。


高效的验证工具能够从两个维度帮助芯片设计公司。一是降低成本,实现一次性流片成功。下一代先进SoC将采用3nm制程,根据市场研究机构International Business Strategies(IBS)的数据,3nm芯片的设计费用约达5-15亿美元,流片失败的损失将是巨大的。


其二是缩短研发周期。随着终端产品迭代速度提升,芯片成为一个真正的“风口”属性产品,需要在特定的时间周期内推出并满足市场需求,一旦延后也就失去了这颗芯片的价值。根据行业经验,验证在典型SoC项目中的工作量占比约70%。


验证的目标是获得无BUG的RTL(Register Transfer Level,电路寄存器传输级)代码,也就是在流片前的验证环节里,确保IP功能正确以及IP和功能模块的系统性功能正确。高昂的工艺成本已经不允许SoC在流片后才发现系统微码无法解决的BUG。


为了达到这一目的,芯片验证无论是从方法还是方式上都在积极创新。比如,UVM验证需要构建平台和测试用例,然而测试用例难以覆盖所有的边界情况,这样引入Formal工具的价值便体现了出来,能够以类似穷举的方式快速且全面地找到隐藏的BUG,那么就可以将有Formal工具的模块剥离出来,能够显著降低测试用例的复杂性。


图2:IP新的验证流程示意图

(图源:How formal verification saves time in digital IP design技术博文,作者:DAVID VINCENZONI )


这就引出了一个当前验证的主流基准——覆盖率,包括功能覆盖率和代码覆盖率。其中,功能覆盖率是通过编写covergroup和coverpoint去覆盖数据、地址和控制信号,寻找在用户想要的全部功能中是否有代码遗漏;代码覆盖率包括断言(assertion)、行(line)、状态机(FSM)、分支(branch)、表达式(condition)和信号翻转(toggle),目标是评估代码质量,包括查看代码完整性以及去除不必要的冗余。


提升覆盖率是个体力活


虽然基准和核心目标很清晰,不过基于传统的EDA工具去提升覆盖率还是会遇到很多方面的挑战。如下图所示,在仿真(simulation)验证中,需要做到功能覆盖率和代码覆盖率的结合,当功能覆盖率和代码覆盖率都达到100%时,验证工作结束。不过,在实际芯片验证过程中,代码覆盖率中的表达式和信号翻转类型很难达到100%,状态机类型也可能出现这种问题,因为很多状态之间并不存在相互关系;功能覆盖率理论上是要将具体功能细化到一个个不可分割的小点,然后编写coverpoint进行覆盖,不过功能分割和测试用例没有通用标准,基本主要依靠工程师的个人经验、认知以及思维逻辑。这就导致,仿真工具收集数据进而得到的覆盖率报告存在一定程度的不足。


图3:仿真验证中的覆盖率挑战(图源:新思科技)


为了实现待测设计的覆盖率达标,往往首次拿到覆盖率报告后,功能覆盖率只是覆盖了立项中最主要的一些功能。如上图所示,很多代码结构并没有被触发过。那么研发人员就需要走下图里的外围路径,也就是重做测试用例,对现有用例的随机约束、callback机制等进行手动调整。


图4:功能覆盖率的反馈回路(图源:西安电子科技大学)


看起来上图中也只是增加了一条测试用例的路径,但实际上是一个需要经过多轮次往复的工作流,虽然目前有很多加速覆盖率收敛、回归的工具可以使用,但这个过程依然会耗费大量机器、人力和时间等宝贵资源。


更具挑战性的是,当覆盖率回归测试到达“最后一公里”阶段时,往往经过很多轮修改都无法获得更好的覆盖率收敛,验证工程师有时候会在这个环节陷入覆盖率分析和用例调整的“迷宫”,有时候甚至需要回归到最开始的功能点划分或者增加RTL代码并重新运行回归以验证错误是否被修复。


更糟糕的情况是,当覆盖率达到100%依然存在新的设计漏洞,这个时候就证明是存在明显的功能覆盖率缺失,也就是用例配置错误。有研究发现,当回归测试的代码覆盖率达到90%时,平均只有54%被监测,因此需要高质量的用例来找到剩余代码的漏洞。这就是为什么我们强调,对于功能覆盖率来说,验证人员自身经验非常重要。


实际上,上述这些内容主要是从测试质量(QOR)和测试时间(TTR)角度来考虑。作为验证工程师,还需要关注达成结果所需的成本(COR),随着芯片复杂度提升,增加验证工程师和运算服务器都会增加额外的成本。并且,每次芯片改版(re-spin)都会带来不小的成本增加。


VSO.ai用AI驱动验证


在人类验证工程师的经验成为芯片验证的明显瓶颈时,产业将希望寄托于人工智能(AI)。AI,尤其是机器学习(ML)最大的魅力就在于能够在迭代循环中不断成长,并基于大数据发现代码中难以察觉的错误,进而实现更快速、更高质量的覆盖率收敛。


VSO.ai作为新思科技推出的全新一代VCS工具中用于覆盖率提升的一项技术,提供业界首个人工智能驱动的验证解决方案,帮助验证团队更快、更高质量地实现覆盖收敛。


图5:VSO.ai对仿真覆盖率的改进(图源:新思科技)


VSO.ai能够从三个方面给验证工程师带来非凡的助力:


  • 首先是实现更快的覆盖率收敛。对于验证工程师而言,覆盖率并没有具体的指标,并存在大量的重复性工作,因此手动进行回归优化的效率非常低,对给定设计进行上万次测试是很常见的。VSO.ai可执行粗粒度基准测试,提供自动化的、自适应的测试优化。在运行过程中,VSO.ai会率先运行具有最高ROI的测试,同时消除冗余测试,从而加速覆盖收敛并节省计算资源。


  • 其次是实现更高的测试质量。如上所述,由于传统工作流中功能覆盖率主要依赖验证工程师的经验,导致很多时候覆盖率收敛的效果很差。VSO.ai也可执行细粒度的基准测试,通过调整随机约束激励来针对未被验证的覆盖点,自动发现测试覆盖率中难以捉摸的错误,进而提升测试质量。


  • 第三点是攻克“最后一公里”的验证难题。在验证的最后阶段,过往验证工程师的手动调整到这个时候覆盖率收敛和ROI都会显著降低,原因在于此时验证工程师对已获取的验证大数据所具有的洞察力和分析能力已经很低。VSO.ai可执行根本原因分析(RCA),以确定为什么没有达到特定的覆盖点,通过AI解决最后的难题。


当前,AI要在EDA领域发挥作用,依然需要融入到传统工具中,VSO.ai也不例外,因此工具的可集成特性是非常重要的。如下图所示,VSO.ai可以轻松集成到现有的新思科技VCS(R)回归环境中,而无需对设计或测试平台进行任何代码更改。


图6:使用同步系统VSO.ai的仿真测试流程(图源:新思科技)


对于芯片验证而言,一旦设置了芯片设计的RTL并配置了设计状态空间,验证过程就开始了。VSO.ai在工程师编译设计时就开始介入,它会自动识别和编排测试,用自动生成的覆盖率来替代工程师编写的代码覆盖率和功能覆盖率融合设计,以最大限度地减少用户选择的目标函数,例如回归CPU时间、测试运行次数、模拟周期或每秒周期数。


如下图所示,在整个仿真测试流程中,每一次运行VSO.ai都能够提供新的信息来改进约束求解和优化回归测试。验证工程师在此过程中可以灵活设置自己的覆盖率目标,比如验证工程师如果并不需要更高的覆盖率,那么VSO.ai产生的覆盖率就可以少得多。


图7:VSO.ai如何使用ML来改进回归分析(图源:新思科技)


综上所述,新思科技VSO.ai是一套自主工作系统,用以替代验证工程师负责的编译设计和编排测试等工作,以尽可能快、尽可能低开销地达到覆盖率目标,并获得最高质量的验证结果。比如,在OpenTitan HMAC这款IP验证示例中,VSO.ai在实现100%功能覆盖率的速度上是传统方案的3倍。


图8:OpenTitan HMAC同步系统中VSO.ai的验证效果(图源:新思科技)


VSO.ai的典型应用


在实际应用中,验证IP功能是VSO.ai的一个典型场景。日本芯片厂商瑞萨科技共享研发核心IP部门开发总监Takahiro Ikenobe表示,“由于设计复杂性的上升,芯片设计使用传统技术来满足质量和上市时间的限制正在变得困难。使用Synopsys VSO.ai的人工智能驱动验证,我们在减少功能覆盖率缺陷方面取得了高达10倍的改进,IP验证生产率也提高了30%,这表明人工智能有能力帮助我们应对日益复杂的设计带来的挑战。”


根据新思科技方面给出的数据,VSO.ai既可以扩大目标覆盖面,又可以加快IP验证过程,可以实现IP 99%的覆盖率。


IP验证是SoC芯片验证的重要一环,特别是在数智化趋势下,接口IP的安全性和芯片本身的安全性直接挂钩。如下图所示,SoC上需要确保安全性的接口非常多,包括DDR、PCIe、CXL、以太网、MIPI、USB、UFS等。


图9:SoC上需要确保安全性的接口(图源:新思科技)


为什么VSO.ai能够给IP验证带来如此巨大的提升呢?答案在于新思科技长期以来都在深耕安全接口。新思科技安全接口的优势在于其涵盖了开发者在HPC、移动、物联网和汽车等各种不同应用中需要考虑的所有接口。因此,新思科技的安全接口IP不仅在SoC设计中被广泛应用,同时对安全接口IP设计和应用的理解也领跑全行业。庞大的应用数据基础加上出色的行业理解,促成了VSO.ai在IP领域的高效表现。


结语


当前,AI已经逐渐渗透到EDA工具的每个工作流程中,让芯片设计工程师和验证工程师从反复循环的工作中解脱出来,能够专注于创建差异化的IP和SoC系统。随着工艺水平提高,以及终端应用迭代速度加快,AI在芯片验证中正如一场及时雨,为这项复杂工作节省时间的同时,也带来了更好的成本优化。相信随着AI+EDA融合逐渐深入,芯片验证这个“拖后腿”的毛病也能够被治愈,让我们拭目以待。




路科验证 专注于数字芯片验证的系统思想和前沿工程领域。路桑是Intel资深验证专家,主持验证架构规划和方法学研究,担任过亿门级通信芯片的验证经理角色。在工程领域之外,他在西安电子科技大学和西安交通大学客座讲授芯片验证课程。著有书籍《芯片验证漫游指南》。
评论
  • 飞凌嵌入式基于瑞芯微RK3562系列处理器打造的FET3562J-C全国产核心板,是一款专为工业自动化及消费类电子设备设计的产品,凭借其强大的功能和灵活性,自上市以来得到了各行业客户的广泛关注。本文将详细介绍如何启动并测试RK3562J处理器的MCU,通过实际操作步骤,帮助各位工程师朋友更好地了解这款芯片。1、RK3562J处理器概述RK3562J处理器采用了4*Cortex-A53@1.8GHz+Cortex-M0@200MHz架构。其中,4个Cortex-A53核心作为主要核心,负责处理复杂
    飞凌嵌入式 2025-01-24 11:21 58浏览
  •  万万没想到!科幻电影中的人形机器人,正在一步步走进我们人类的日常生活中来了。1月17日,乐聚将第100台全尺寸人形机器人交付北汽越野车,再次吹响了人形机器人疯狂进厂打工的号角。无独有尔,银河通用机器人作为一家成立不到两年时间的创业公司,在短短一年多时间内推出革命性的第一代产品Galbot G1,这是一款轮式、双臂、身体可折叠的人形机器人,得到了美团战投、经纬创投、IDG资本等众多投资方的认可。作为一家成立仅仅只有两年多时间的企业,智元机器人也把机器人从梦想带进了现实。2024年8月1
    刘旷 2025-01-21 11:15 672浏览
  • 高速先生成员--黄刚这不马上就要过年了嘛,高速先生就不打算给大家上难度了,整一篇简单但很实用的文章给大伙瞧瞧好了。相信这个标题一出来,尤其对于PCB设计工程师来说,心就立马凉了半截。他们辛辛苦苦进行PCB的过孔设计,高速先生居然说设计多大的过孔他们不关心!另外估计这时候就跳出很多“挑刺”的粉丝了哈,因为翻看很多以往的文章,高速先生都表达了过孔孔径对高速性能的影响是很大的哦!咋滴,今天居然说孔径不关心了?别,别急哈,听高速先生在这篇文章中娓娓道来。首先还是要对各位设计工程师的设计表示肯定,毕竟像我
    一博科技 2025-01-21 16:17 162浏览
  • 现在为止,我们已经完成了Purple Pi OH主板的串口调试和部分配件的连接,接下来,让我们趁热打铁,完成剩余配件的连接!注:配件连接前请断开主板所有供电,避免敏感电路损坏!1.1 耳机接口主板有一路OTMP 标准四节耳机座J6,具备进行音频输出及录音功能,接入耳机后声音将优先从耳机输出,如下图所示:1.21.2 相机接口MIPI CSI 接口如上图所示,支持OV5648 和OV8858 摄像头模组。接入摄像头模组后,使用系统相机软件打开相机拍照和录像,如下图所示:1.3 以太网接口主板有一路
    Industio_触觉智能 2025-01-20 11:04 199浏览
  • 2024年是很平淡的一年,能保住饭碗就是万幸了,公司业绩不好,跳槽又不敢跳,还有一个原因就是老板对我们这些员工还是很好的,碍于人情也不能在公司困难时去雪上加霜。在工作其间遇到的大问题没有,小问题还是有不少,这里就举一两个来说一下。第一个就是,先看下下面的这个封装,你能猜出它的引脚间距是多少吗?这种排线座比较常规的是0.6mm间距(即排线是0.3mm间距)的,而这个规格也是我们用得最多的,所以我们按惯性思维来看的话,就会认为这个座子就是0.6mm间距的,这样往往就不会去细看规格书了,所以这次的运气
    wuliangu 2025-01-21 00:15 327浏览
  •     IPC-2581是基于ODB++标准、结合PCB行业特点而指定的PCB加工文件规范。    IPC-2581旨在替代CAM350格式,成为PCB加工行业的新的工业规范。    有一些免费软件,可以查看(不可修改)IPC-2581数据文件。这些软件典型用途是工艺校核。    1. Vu2581        出品:Downstream     
    电子知识打边炉 2025-01-22 11:12 136浏览
  • 临近春节,各方社交及应酬也变得多起来了,甚至一月份就排满了各式约见。有的是关系好的专业朋友的周末“恳谈会”,基本是关于2025年经济预判的话题,以及如何稳定工作等话题;但更多的预约是来自几个客户老板及副总裁们的见面,他们为今年的经济预判与企业发展焦虑而来。在聊天过程中,我发现今年的聊天有个很有意思的“点”,挺多人尤其关心我到底是怎么成长成现在的多领域风格的,还能掌握一些经济趋势的分析能力,到底学过哪些专业、在企业管过哪些具体事情?单单就这个一个月内,我就重复了数次“为什么”,再辅以我上次写的:《
    牛言喵语 2025-01-22 17:10 184浏览
  • 嘿,咱来聊聊RISC-V MCU技术哈。 这RISC-V MCU技术呢,简单来说就是基于一个叫RISC-V的指令集架构做出的微控制器技术。RISC-V这个啊,2010年的时候,是加州大学伯克利分校的研究团队弄出来的,目的就是想搞个新的、开放的指令集架构,能跟上现代计算的需要。到了2015年,专门成立了个RISC-V基金会,让这个架构更标准,也更好地推广开了。这几年啊,这个RISC-V的生态系统发展得可快了,好多公司和机构都加入了RISC-V International,还推出了不少RISC-V
    丙丁先生 2025-01-21 12:10 657浏览
  • 数字隔离芯片是一种实现电气隔离功能的集成电路,在工业自动化、汽车电子、光伏储能与电力通信等领域的电气系统中发挥着至关重要的作用。其不仅可令高、低压系统之间相互独立,提高低压系统的抗干扰能力,同时还可确保高、低压系统之间的安全交互,使系统稳定工作,并避免操作者遭受来自高压系统的电击伤害。典型数字隔离芯片的简化原理图值得一提的是,数字隔离芯片历经多年发展,其应用范围已十分广泛,凡涉及到在高、低压系统之间进行信号传输的场景中基本都需要应用到此种芯片。那么,电气工程师在进行电路设计时到底该如何评估选择一
    华普微HOPERF 2025-01-20 16:50 126浏览
  • 故障现象 一辆2007款日产天籁车,搭载VQ23发动机(气缸编号如图1所示,点火顺序为1-2-3-4-5-6),累计行驶里程约为21万km。车主反映,该车起步加速时偶尔抖动,且行驶中加速无力。 图1 VQ23发动机的气缸编号 故障诊断接车后试车,发动机怠速运转平稳,但只要换挡起步,稍微踩下一点加速踏板,就能感觉到车身明显抖动。用故障检测仪检测,发动机控制模块(ECM)无故障代码存储,且无失火数据流。用虹科Pico汽车示波器测量气缸1点火信号(COP点火信号)和曲轴位置传感器信
    虹科Pico汽车示波器 2025-01-23 10:46 87浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦