芯片的验证为何越来越难?

来源:半导体产业纵横发布时间:2025-06-01 13:11
AI
芯片设计
生成海报
过去,仿真曾是验证的唯一工具,但如今选择已变得多样。平衡成本与收益并非易事。

芯片首次流片成功率正在下降,主要原因是设计复杂度上升和成本削减的尝试。这意味着管理层必须深入审视其验证策略,确保工具和人员的潜力得到最大发挥。

自半导体时代伊始,通过仿真验证设计是否具备所需功能,一直是功能验证的核心。当设计规模较小时,这是一种简单有效的方法。但随着设计规模扩大,手动编写足够测试用例以覆盖所有功能变得不再现实。测试平台技术随之发展,实现了部分流程的自动化。这在一段时间内有效,但如今却导致验证变得高度复杂且低效——芯片首次流片成功率的下降便是明证。

“众所周知,随着芯片复杂度以每18个月翻一番的速度增长,验证状态空间呈指数级膨胀,”Cadence产品管理团队总监皮特·哈迪(Pete Hardee)表示,“仿真一直是主要验证方法,但五年前验证一个相对简单的处理器内核需要10¹³次仿真周期,而验证GPU则需要10¹⁵次。”如今,这些数字更是高出了几个数量级。

“仿真方法缺乏智能,”Ansys产品营销总监马克·斯温嫩(Marc Swinnen)指出,“你输入一个向量,观察结果;再输入另一个向量,再观察结果。但你并不清楚每个向量的预期作用和目标,因此基本上是在进行蒙特卡洛模拟,寄希望于覆盖所有极端情况,或试图主动导向这些情况。”

仿真早已力不从心。“短期内,提升仿真速度是解决方案,这也推动了仿真市场的爆发式增长,”Real Intent首席执行官普拉卡什·纳拉因(Prakash Narain)表示,“我们需要更强的计算能力。与此同时,形式验证开始崭露头角——它并非与仿真并驾齐驱,而是填补了仿真在关键功能行为全覆盖上的漏洞。”

目前,多种验证技术可与仿真互补,但许多团队难以将其成功整合到整体方法论中。原因包括:需要各类专家才能正确使用这些技术;无法展示整体进展或完成度;部分团队仍依赖现有方法的经验性成功。

静态验证和形式验证工具各有优势,一类借助人工智能技术的新工具也开始涌现。例如,辅助工具可在代码开发过程中确保其可靠性,或执行等价性检查。团队需要持续评估每种工具的价值,同时了解威胁其成功的缺陷来源和类型。

功能验证流程的全面评估,始于理解芯片可能失败的原因。“某些产品的工作模式数量激增,”是德科技(Keysight)新机遇业务经理克里斯·穆思(Chris Mueth)表示,“只要其中一种模式未经验证,产品就可能失败。如何记录所有模式?如何建立验证流程以涵盖所有模式组合?如何记录性能要素?”

首先需要了解缺陷的本质,这将决定发现缺陷的最佳工具。“芯片流片后出现的缺陷,要么是设计中的结构性缺陷,如溢出/下溢、未知状态(Xs)、有限状态机(FSM)问题、死代码、冗余代码;要么是设计中的语义差异,如功能缺陷,”Axiomise首席执行官阿希什·达尔巴里(Ashish Darbari)表示,“形式验证工具可通过应用驱动的流程,在设计启动时自动分析并发现大多数结构性缺陷,这大幅节省了功能仿真的开销。”

从理论上讲,形式验证相比仿真具有重大优势。“无需编写测试用例来激励被测设计(DUT)的所有行为并验证不良反应,形式验证工具会自动生成激励,”Cadence的哈迪表示,“除非受到约束,否则形式验证工具会考虑所有可能的输入组合。随着我们走出特定应用时代,这一优势愈发显著。我们将DUT的预期行为定义为一组属性,要么证明这些属性在所有情况下都成立,要么得到潜在缺陷的反例。”

没有任何一种技术能独立解决问题,需要找到最佳组合方式。“控制这种复杂性所需的全部智慧,蕴含在方法论和工程师身上,”Real Intent的纳拉因表示,“我们一直在为这些工具投入更强的计算能力,但这正是问题所在。另一种思路是从根本上质疑:基于布尔逻辑的传统技术能否应对这种复杂性爆炸?这正是静态验证的用武之地,因为它们更抽象。但静态验证的问题在于依赖抽象,而这种抽象依赖于针对特定问题的定制化技术。”

没有放之四海而皆准的解决方案。“历史经验需要融入验证环境,”弗劳恩霍夫 IIS自适应系统工程部门高级混合信号自动化团队经理本杰明·普劳奇(Benjamin Prautsch)表示,“管理层很难理解这一点,因为需要处理许多细节。测试IP或验证IP专家掌握的信息成为重要资产。必须将两者结合,并且一旦现场出现错误或设计存在缺陷,必须将其纳入设计指南或添加断言,以改进整体测试和验证环境。”

规避成本巨大。“如今变化速度极快,如果今天不采取行动,三个月后可能会陷入更糟糕的境地,”Synopsys形式验证高级产品总监张晋(Jin Zhang)表示,“看看大语言模型(LLM)每周都在更新的速度,你必须升级工具、拥抱新技术,别无选择,否则将被淘汰。”

失败成本同样高昂。“因此,改变看似有效的现有方法需要克服巨大的恐惧心理,”纳拉因表示,“这就是为什么人们仍依赖传统验证签收方法。机会在于‘左移’——尽早部署验证技术,在缺陷修复成本低且快速的阶段发现问题。虽然这可能不会影响当前的仿真工作,但随着仿真中发现的错误减少,对‘左移’的依赖将逐渐增加。”

小错误引发大问题

首先需要了解可能威胁成功的缺陷类型。在许多情况下,这些缺陷在流片前才被发现,看似极其复杂,但实际上很多是由深埋在逻辑中的小错误导致的。“通过运行静态检查(lint)和形式属性验证,很容易发现计数器中的功能缺陷,”Axiomise的达尔巴里举例称,“它可能导致SoC中的DDR性能计数器溢出。在一个真实案例中,设计验证(DV)团队花了三周时间通过仿真调试,最终发现问题出在计数器上。”

形式验证的传统缺点是计算密集,这意味着它仅用于小规模(通常是控制路径主导的)模块和子系统。“具有讽刺意味的是,推动验证需求爆炸式增长的计算能力提升,反而使形式验证更有效,”哈迪表示,“现代形式验证工具可验证中型处理器内核,对于大型处理器,可先将其分解为子系统,再在顶层使用分治策略创建端到端属性进行验证。形式验证还能在数分钟或数小时内全面验证复杂数学模块。例如,32位整数乘法器(GPU或AI加速器中许多算术逻辑单元或数学协处理器的典型构建模块)有2⁶⁴种可能的输入组合,通过仿真覆盖所有组合是不可行的。”

形式验证的目标不仅限于功能验证。“我们部署了一种新型面积分析应用,用于检测芯片中消耗功率的冗余触发器和门电路,”达尔巴里表示,“通过形式属性验证,用户无需任何测试平台或测试用例,即可快速分析整个SoC。报告结果令人震惊,尤其是考虑到这些设计此前已通过仿真验证。”

形式验证的角色正在转变。“过去,人们使用属性验证来验证简单的局部断言,”Synopsys的张晋表示,“例如,验证有限状态机的状态转换,这些被称为局部属性。但近年来,重点已转向验证端到端属性——为输出编写属性,并从输入推导逻辑。这些属性更复杂,验证难度更大,需要更多技术,但与仅在设计中散布局部属性相比,能捕捉到更多真实设计缺陷和极端情况缺陷。”

管理层需要精确衡量验证成本。“没有衡量,整个论证就依赖经验性成功,”达尔巴里表示,“这可能存在偶然性,且在很大程度上取决于技能、指导、管理和经验等因素。如果管理层通过衡量验证成本(包括工具、人力、测试平台搭建、测试平台运行和调试成本,以及未发现缺陷的成本)来评估投资回报率(ROI),结果将有效指示哪些方法可行、哪些不可行。形式验证并非万能,仿真仍需用于验证形式验证的假设,但两者的正确结合能产生惊人效果。”

管理层正在倾听。“几年前,推广形式验证的方法是向管理层展示其发现的仿真团队遗漏的缺陷,”哈迪表示,“在尚未认识到形式验证价值的组织中,这有时仍有必要,但这类组织已越来越少。如今,管理层开始信任由形式验证专家带领的小型团队,他们能以仿真团队验证类似模块所需时间的一小部分,完成高度复杂模块的全面验证,并提供更具结论性的验证结果。”

展望人工智能

人工智能技术发展迅速,在会议上发表的成果可能已落后一代或两代。“人工智能辅助工程可能会为你生成大量设计和验证IP,”是德科技的穆思表示,“人们需要一段时间来适应并学会信任这些结果。但在这种模式下,工作重心将转移到流程前端——指定需求和参数,让AI引擎执行任务。设计过程将与机器学习引擎互动,呈现出不同的形态。前期的需求和参数设定至关重要,这能让引擎高效完成工作。”

验证一直关乎比较两个模型并识别差异。“人们正在探讨如何将大语言模型(LLM)和其他人工智能方法融入验证方法论,”弗劳恩霍夫的普劳奇表示,“一种方法是寻找需求文档与验证测试平台之间的差异,以识别漏洞。这只是其中一个方面,我们期待看到此类工具的开发,以支持验证工程师——这并非试图实现完全自动化,而是为了辅助工程师并跟踪所有信息。”

进展已在发生。“我们已在使用生成式人工智能(GenAI)创建SystemVerilog断言,”张晋表示,“形式验证应用的首要障碍是需要创建属性,而GenAI能帮助降低这一门槛。这项技术已被部分客户投入生产使用。根据设计和测试计划,它能为你生成断言,这大大提高了效率。”

一些公司已在使用辅助工具。“它们使设计的初始编码(如人工输入等)更加容易,”纳拉因表示,“但也带来了可变性和输出准确性等问题。因此,验证变得更加关键——确保无论采用何种方法创建设计,都能经过全面验证。这为融入人工智能技术提供了机会,而这同样关乎‘左移’。如果辅助工具和人工智能技术能推动验证‘左移’的应用场景,将是重要的进步。”

随着大语言模型生成质量的提升,所有人都将看到效率的提升。“我认为GenAI将改变游戏规则,使形式验证普及化,”张晋表示,“过去,形式验证由专业工程师负责,但如今企业逐渐意识到必须在流程早期引入形式验证,且应由设计者主导。过去,设计者通常仅提取少量形式属性,不会编写大量断言,而GenAI能帮助他们在设计中添加更多断言并真正受益。这项技术必将推动形式验证在行业中的更广泛应用。”

应用形式验证

应用形式验证并非简单购买工具并插入流程。形式验证可通过多种方式解决特定类型的问题。哈迪将其分为三类:

• 设计者形式验证:寄存器传输级(RTL)设计者可使用形式验证实现“左移”,尽早交付更高质量的代码;

• 核心形式验证:通过穷举证明提高验证质量;

• SoC集成形式验证:分担仿真的特定任务,发现极端情况缺陷。

了解模块级、子系统级和全系统级验证的区别至关重要,形式验证的角色在不同层级有所不同。“在IP级或子系统级,团队应使用静态方法(如lint和形式验证)而非仿真,”张晋表示,“在系统级和SoC级,则应使用动态方法进行验证,因为形式验证在该层级难以扩展。”

尽管SoC级可能需要仿真,但这并不意味着排除形式验证。“在有计划地应用形式验证的场景中,投资回报率惊人,”达尔巴里表示,“工程师和管理层都认可对形式验证的投资,因为它能更快发现缺陷、避免重新流片,并帮助优化仿真。主要问题仍是工程团队缺乏编写形式验证断言的足够培训。当由经验丰富的专家使用时,形式验证能够对系统级和子系统级设计、处理器功能安全及安全验证进行签收。”

设计的变化也要求方法论随之改变。“设计不再局限于特定应用,在设计时,根本无法定义这些芯片需要处理的所有工作负载,”哈迪表示,“这意味着我们必须验证所有可能情况。在特定应用时代,理论上可以定义包含所有指定场景测试的验证计划,并根据该计划衡量覆盖率——即便如此,定义‘何时完成验证’已很困难;而如今,即使使用受限随机方法,我们也永远无法确定仿真测试是否足够,因此无法判断何时完成验证。”

变革需要时间。“许多可提高设计和验证团队效率的技术尚未得到应用,”张晋表示,“重新调整验证方法论、在流程中引入最新技术,需要时间,而复杂度的提升和解决问题的时间缩短加剧了这一挑战。不幸的是,团队必须评估现有方法论,了解当前可用技术,并探索如何利用新技术改进流程。有了GenAI,我相信三到五年内验证流程将发生巨大变化,自动化和生成式技术将大幅增加,我们将看到智能驱动的流程。一旦所有自动化技术成熟,芯片一次流片成功率可能会显著提高。”

本文转自媒体报道或网络平台,系作者个人立场或观点。我方转载仅为分享,不代表我方赞成或认同。若来源标注错误或侵犯了您的合法权益,请及时联系客服,我们作为中立的平台服务者将及时更正、删除或依法处理。

评论
暂无用户评论