0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

形式验证成为SoC模块验证的主流

星星科技指导员 来源:嵌入式计算设计 作者:David Kelf 2022-06-13 10:25 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

使用形式验证技术作为片上系统 (SoC) 设计的主流技术,终于成为消除验证差距的公认方法。最近的一项调查表明,26% 的芯片设计项目现在使用基于断言的正式验证 (ABV)。然而,这种经典模拟的替代方法的承诺需要很多年才能开花结果,而且仍然只有高级验证环境才能包含它。为什么会这样?到目前为止,我们可以从它的使用中学到什么,以便将其提供给整个 SoC 工程社区?

SoC 块验证碰壁

自问世以来,SoC 设备一直是开发团队的验证噩梦。虽然现在验证完整的 SoC 最好留给仿真和快速原型设计系统来完成,但即使是这些设备上的较大块也已经超出了纯仿真环境。

仿真、更快的模拟器、关键测试的验证知识产权 (VIP) 以及通用验证方法 (UVM) 的出现都有助于缓解这种情况。尽管如此,验证要求仍超过了基于模拟的环境中的可用处理时间。

形式验证通过使用针对特定需求的自动化“应用程序”有助于改进块验证,否则需要大量的模拟工作。检查标准通信协议的正确操作、确保关键连接和寄存器操作、分析域重置时的正确启动序列以及许多其他任务现在都由这些解决方案处理。

然而,我们才刚刚开始挖掘形式验证的真正威力。它的许多使用问题已被消除,使我们处于可能是全新验证时代的最前沿,因为该技术已部署用于核心验证。

形式验证:如果这么好,今天在哪里?

首先,快速回顾一下形式验证技术,为什么它有可能创造这种根本性转变,以及今天是什么阻止了它。

硬件仿真的工作原理是通过一系列有意义的状态循环一个硬件描述语言 (HDL) 代码块来演示其操作。此状态序列由输入激励(设备输入上的一组事件的 HDL 描述)驱动,旨在探索正确的状态以识别操作问题。

这种方法引出了一个问题:如果我们知道代码块可以进入的所有状态以及状态间转换,那么我们不能简单地询问有关代码操作的问题以确保其正确吗?这将避免必须编写许多行刺激来尝试使代码块进入正确的信息承载状态。这是形式验证工具使用的方法。

这种基本方法可以转变为许多有用的应用程序。例如,如果可以根据设计代码的一个方面和要检查的验证场景自动创建要问的问题,则可以创建用于验证目的的自动化应用程序。这将不需要用户编写问题。如果正式工具可以用最少的输入演示特定的状态序列(例如状态机操作),那么设计工程师就可以理解他或她的代码如何执行,从而揭示可能的错误。

工程师自己提出问题时,形式验证的真正威力才得以发挥。这需要使用断言编写问题或属性,并在称为基于断言的验证或 ABV 的过程中应用于设计。

当然,这种高级描述掩盖了 ABV 的问题,包括存储这么多信息的工具的容量和性能要求已经通过最新技术得到解决。

两个问题仍然是 ABV 广泛使用的障碍:

断言的创作,通常使用 SystemVerilog 标准语法,可能很复杂且难以可视化

对验证进度或覆盖率的理解很难与其他验证方法的理解和对比

尽管在这两个方面都取得了进步,但还需要更多的努力来降低学习曲线,从而使 ABV 得以普遍扩散。

ABV 应用程序

在验证过程中应用 ABV 有两种常用方法。首先是检查特定的极端案例类型的问题,这些问题通常需要花费大量精力来构建模拟测试平台来分析问题。第二个是对块进行更一般的检查,无论是结合模拟还是独立检查。

形式验证的第一个使用模型很有价值,可以在验证计划中减少合理的百分比。第二个模型有可能改变特征验证过程,节省大量时间和资源支出,同时增加发现设计中每个错误的整体潜力。已经有一些行业部门在第二种模式中广泛使用 ABV。其中包括汽车和航空电子产品,其中高质量和可靠性是一个因素。

在组合仿真-形式验证流程中,如图 1 所示,通常使用仿真进行一般操作分析并“感受”设计的行为和性能。此外,还有一些功能更适合模拟,例如数学数据处理或信号处理。然而,形式验证非常适合控制或数据传输种类的功能,如有限状态机、数据通信和协议检查。此外,确保某些类型的验证场景,例如安全检查(例如,某项活动是否会发生),也是该技术的最佳选择。这些代码和场景示例通常需要很高比例的验证资源。

poYBAGKmoCuAHonyAAFT4LasB6g661.png

断言创作改进

与 UVM 推动模拟测试台创建的分层方法相同,新技术正在出现,将抽象引入断言创作。这些抽象通过掩盖断言细节来降低复杂性,同时允许工程师考虑验证任务而不是断言的个别特征。

例如,OneSpin 解决方案的 Operational Assertions 是一个 SystemVerilog 库,它允许正式测试以类似事务时序图的方式表示,与验证工程师广泛认可的高级 UVM 序列不同。Breker Verification Systems 的基于图形的测试序列,现在由 Accellera Portable Stimulus 标准委员会考虑,是另一种抽象形式,也可以应用于断言创作。

这些技术在简化形式测试应用的同时,具有提供可识别且更自然的输入方案的优势,允许工程师通过消除一些形式验证之谜来与正在进行的验证过程相关联。

常见的覆盖模型

简化断言只是难题的一部分。该过程的另一端是整理来自各种来源的覆盖率信息,以了解总体验证进度,无论使用何种工具。模拟过程仍然主要集中在一种或另一种代码覆盖上,并包含一些功能覆盖。形式验证覆盖侧重于断言(所谓的“断言覆盖”),无论它们是否被执行,它们是通过还是失败,或者确实它们通过一个警告(例如,有界证明,例如“代码在一定数量的时钟周期内通过”)。该信息可以反馈给验证计划系统以提供一些有用的数据。

然而,测量正式的覆盖率,确定由特定断言测试的实际代码,是领先的形式验证供应商感兴趣的领域。已经提出了在精度和所需执行资源方面都不同的方案。关键是能够将这些正式模型与模拟模型进行比较,以提供综合的、有意义的覆盖率评估。Accellera 统一覆盖互操作性标准 (UCIS) 委员会专注于这一目标,并提出了可以将两者进行比较的方法。在这方面需要做更多的工作,但很明显,一些形式验证供应商拥有允许计算合理的进度度量的解决方案。

模拟风格调试

以对以仿真为中心的工程师有意义的方式调试形式验证代码,在很大程度上已被许多形式验证供应商解决。大多数工具可以在断言失败的情况下输出“见证”。也就是说,导致断言失败的仿真波形形式的一系列事件。事实上,包括 OneSpin 在内的一些供应商可以输出模拟测试,允许在模拟器中重现故障以供进一步研究。

破解主流ABV代码

很明显,ABV 的使用开始成为主流。ARM 和 Oracle 都宣布了 ABV 在其环境中的全部功能,并指出它现在在他们的项目中被大量使用。

解决 Assertion Authoring、Collated Coverage 和 Simulation-centric Debug 这三条腿的问题,并将其与对形式验证擅长的设计领域和场景的清晰理解相结合,将推动这种方法成为 SoC 验证的主流。一旦发生这种情况,将对未来的设计质量和开发进度产生巨大影响。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ARM
    ARM
    +关注

    关注

    135

    文章

    9613

    浏览量

    394381
  • soc
    soc
    +关注

    关注

    40

    文章

    4659

    浏览量

    230601
  • 仿真
    +关注

    关注

    55

    文章

    4568

    浏览量

    138821
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    AI与Multi-Die时代的快速仿真:EDA快仿工具选型指南与验证效率优化方法

    导语:为什么“快仿”已经成为先进芯片设计的关键基础设施? 过去,仿真性能问题通常只是“验证效率低”。但在AI加速器、HBM系统、Chiplet与Multi-Die架构成为主流之后,仿真速度已经
    的头像 发表于 05-22 15:47 88次阅读

    阿卡思微电子携前沿形式化验证技术亮相DVCon China 2026

    DVCon China 2026于5月13日盛大开启,阿卡思携前沿形式化验证技术参展,与行业专家和专业用户共探芯片验证技术新高度,解锁形式化验证全新能力边界。
    的头像 发表于 05-18 15:34 176次阅读

    浅谈车规多芯片模块可靠性验证新要求

    AEC-Q104是汽车电子协会针对 “多芯片模块(MCM)”制定的车规级可靠性验证规范,是车载高密度集成器件进入供应链的重要准入依据。
    的头像 发表于 04-22 09:50 606次阅读
    浅谈车规多芯片<b class='flag-5'>模块</b>可靠性<b class='flag-5'>验证</b>新要求

    RDMA设计47:双边语义验证

    本博文主要交流设计思路,在本博客已给出相关博文177篇,希望对初学者有用。注意这里只是抛砖引玉,切莫认为参考这就可以完成商用IP设计。 续上,为便于查看,给出表1部分表1 RoCE v2原语功能验证
    发表于 03-02 21:45

    Questa One 智能验证:释放人工智能在功能验证中的潜力

    在当今数字技术飞速发展的环境下,功能验证的重要性前所未有。随着系统变得越来越复杂,如何确保其可靠性和性能成为设计和验证工程师面临的重大挑战。风险极高:验证失败可能导致高昂的产品召回成本
    的头像 发表于 02-12 14:56 758次阅读

    RDMA设计35:基于 SV 的验证平台

    设计。 FPGA IP(知识产权核)使用SystemVerilog(SV)进行验证,主要基于其在验证效率、代码复用性和工程协作方面的显著优势。本IP采用它进行验证以确保其可靠性。 这里主要对RoCE
    发表于 02-01 13:14

    在Linux ubuntu上使用riscv-formal工具验证蜂鸟E203 SoC的正确性

    内容:在Linux ubuntu上使用riscv-formal工具验证蜂鸟E203 SoC的正确性 步骤: 1、下载和安装riscv-formal工具: bash复制代码 git clone
    发表于 10-24 07:52

    新思科技RTL与功能签核助力低功耗SoC验证

    在半导体设计中,“签核”通常被视为一个里程碑。但实际上,这涵盖了多个具有特定目标的独立验证阶段。
    的头像 发表于 10-21 10:15 1137次阅读

    如何验证电能质量在线监测装置的抗干扰能力?

    验证电能质量在线监测装置的抗干扰能力,需遵循 “ 实验室标准测试→现场实景验证→长期稳定性跟踪 ” 的三级验证逻辑,覆盖 “电磁兼容(EMC)合规性”“实际干扰场景适配性”“长期抗衰减能力”,确保
    的头像 发表于 10-11 16:39 1400次阅读
    如何<b class='flag-5'>验证</b>电能质量在线监测装置的抗干扰能力?

    如何验证硬件冗余设计的有效性?

    验证” 的全流程方案实现。以下是具体验证方法、关键指标及实施步骤: 一、验证前的核心准备:明确目标与范围 在验证前需先界定冗余设计的类型与验证
    的头像 发表于 09-18 16:36 1688次阅读
    如何<b class='flag-5'>验证</b>硬件冗余设计的有效性?

    NVMe高速传输之摆脱XDMA设计24: UVM 验证包设计

    UVM 验证包的主要功能是对 DUT 提供激励, 仿真验证对应的功能, 并对测试结果进行自动对比分析与统计。 验证包包含一个NoPHAE_env 验证环境,
    的头像 发表于 09-14 11:29 5018次阅读
    NVMe高速传输之摆脱XDMA设计24: UVM <b class='flag-5'>验证</b>包设计

    绿氢系统 PEM 电解槽直流接入仿真验证深度解析

    验证了该 PEM 电解槽模块在直流接入模式的可行性,具体验证详情如下。 1、 直流接入模式 直流接入模式是指 PEM 模块开放直流接口接入系统拓扑。该模式主要考虑电力电子拓扑中细节控制
    发表于 07-03 18:25

    Kawaiimqtt如何使用mbedtls双向验证

    Kawaiimqtt如何使用mbedtls双向验证
    发表于 06-13 08:23

    Veloce Primo补全完整的SoC验证环境

    0 1   简介   SoC 设计团队的任务是在创建昂贵的生产掩膜之前完成完整的系统级验证。这意味着彻底审核所有硬件模块、这些模块之间的所有交互以及为最终应用创建的所有专用软件,而且所
    的头像 发表于 06-12 14:39 1658次阅读
    Veloce Primo补全完整的<b class='flag-5'>SoC</b><b class='flag-5'>验证</b>环境

    超大规模芯片验证:基于AMD VP1902的S8-100原型验证系统实测性能翻倍

    引言随着AI、HPC及超大规模芯片设计需求呈指数级增长原型验证平台已成为芯片设计流程中验证复杂架构、缩短迭代周期的核心工具。然而,传统原型验证系统受限于单芯片容量(通常
    的头像 发表于 06-06 13:13 1754次阅读
    超大规模芯片<b class='flag-5'>验证</b>:基于AMD VP1902的S8-100原型<b class='flag-5'>验证</b>系统实测性能翻倍