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

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

3天内不再提示

形式验证简介

吴湛 来源:BILL张 作者:BILL张 2022-07-28 14:04 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

形式验证是一种自动检查方法,可以捕捉许多常见的设计错误,并可以发现设计中的歧义。

形式验证是使用数学技术验证设计正确性的过程。形式验证工具使用各种算法来验证设计并且不执行任何时序检查。这些工具不需要激励或测试台,因此,形式验证在 IC 设计周期的早期执行——即,只要 RTL 代码可用。越早发现错误,就越容易修复。

英特尔处理器中发现著名的奔腾漏洞后,形式验证开始流行,导致召回有故障的处理器,英特尔不得不承担近 5 亿美元的损失。通过正式验证,可以避免各种其他事件,例如 Ariane 5 爆炸和巴拿马癌症研究所的辐射过度暴露。

硬件系统的许多应用都很关键,其中任何故障都可能导致高额的财务或物理损失。本文讨论形式验证及其各种化身。

目的

形式验证技术跟踪标准验证技术未检测到的错误。此外,对于可以使用标准技术检测到的错误,形式验证通常以明显更快的速度识别它们。在通过仿真和仿真对设计进行功能验证之前,先进行形式验证。

形式验证的一些优点如下:

在设计周期早期检测错误

耗时少

可靠的

快点

详尽无遗

形式验证技术

模型检查

模型检查,也称为属性检查,是一种基于状态的形式验证方法。

以下步骤解释了模型检查的过程:

对系统建模以获得模型 M。系统被建模为一组状态,其中包含一组状态之间的转换,这些转换描述了系统如何响应内部或外部刺激从一个状态移动到另一个状态。

使用属性规范语言(例如 PSL 或 SVA)创建要验证的属性,以得出公式 ɸ。属性是对设计行为的描述。

运行模型检查器以找出模型 M 是否满足公式 ɸ。

如果模型不满足该性质,则生成反例。反例是违反属性的刺激,通常显示为可在仿真中使用的波形。

用仿真中的系统模型运行反例,找出错误的位置。

优缺点

一旦系统模型和属性规范被提供给模型检查器,验证过程是全自动的。但是,就模型检查器要处理的状态数量而言,系统应该很小。

定理证明

定理证明是使用数学推理验证实现的系统是否满足设计要求(或规范)的过程。它是一种基于证明的形式验证方法。

以下步骤解释了定理证明的过程:

将系统建模为形式数学逻辑中的一组数学定义。

从数学定义中推导出系统的属性。

使用定理证明器来验证系统是否符合规范。有各种可用的定理证明器按其基础逻辑分类。定理证明者也可以称为证明助手。

优点和缺点

定理证明的最大优点是它可以处理非常复杂的系统。但是,定理证明不是全自动的,需要人工干预才能完成证明,这需要时间和专业知识。此外,在证明失败的情况下,不会生成反例,这使得定位错误变得困难。

等价检查

等价检查是验证两个设计在功能上是否相同的过程。两种类型的等价检查技术如下:

逻辑等效检查(LEC):也称为组合等效检查,逻辑等效检查是验证两个设计在寄存器之间具有相同组合逻辑的过程。两个比较的设计也应该具有相同数量的寄存器。该技术用于验证不同抽象级别的两个设计在功能上是否相同;例如,门级网表在功能上与布局网表相同。

顺序等价检查 (SEC):顺序等价检查是验证两个设计在功能上相同以及在提供相同输入时提供相同输出的过程。SEC 比较了两种设计的时序逻辑,这两种设计可能具有不同的实现方式。这是一个复杂的过程,因此非常受限于设计的大小。

有时,IC 的设计会在最后一刻进行修改,以包含一些功能、时序、电源或其他修复,或者包含一些额外的逻辑,例如扫描逻辑、电源控制电路等。此类更改需要验证。标准验证程序会耗费大量时间,因此会增加上市时间。顺序等效检查将修改后的设计与黄金设计进行比较,并验证它们在功能上是否相同。

总结

形式验证是一种自动检查方法,可以发现许多常见的设计错误,并可以发现设计中的歧义。这是一种详尽的方法,涵盖所有输入场景并检测极端情况错误。

这种形式的验证节省了设计人员的时间和精力,因为甚至在开发测试环境之前就发现了潜在的错误。它可用于设计的高级、RTL 或 GLS 表示。市场上有各种各样复杂的形式化工具,其中许多提供了一种按钮方式来查找设计中的错误。

审核编辑:汤梓红

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

    关注

    68

    文章

    20152

    浏览量

    247342
  • 形式验证
    +关注

    关注

    0

    文章

    8

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

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

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

    硬件冗余设计的核心目标是应对单点故障、保障系统连续运行,其有效性验证需围绕 “故障发生时的切换能力、数据完整性、业务连续性” 三大核心指标展开,通过 “静态配置检查 + 动态故障模拟 + 长期稳定性
    的头像 发表于 09-18 16:36 782次阅读
    如何<b class='flag-5'>验证</b>硬件冗余设计的有效性?

    【一文讲解】汽车生产DV与PV验证

    在汽车开发和生产过程中,DV(DesignVerification,设计验证)和PV(ProductionValidation,生产验证)是两个关键的质量控制环节,分别针对设计可靠性和生产一致性进行
    的头像 发表于 09-16 16:59 3073次阅读
    【一文讲解】汽车生产DV与PV<b class='flag-5'>验证</b>

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

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

    IGBT模块的封装形式类型

    不同封装形式的IGBT模块在热性能上的差异主要体现在散热路径设计、材料导热性、热阻分布及温度均匀性等方面。以下结合技术原理和应用场景进行系统分析。
    的头像 发表于 09-05 09:50 2303次阅读
    IGBT模块的封装<b class='flag-5'>形式</b>类型

    电能质量在线监测装置数据验证的流程是什么?

    电能质量在线监测装置的数据验证是确保监测数据 真实、可靠、合规 的核心环节,需遵循 “先基础检查、再核心比对、后长期验证” 的逻辑,结合国家标准(如 GB/T 14549、GB/T 30137 等
    的头像 发表于 09-03 17:50 553次阅读
    电能质量在线监测装置数据<b class='flag-5'>验证</b>的流程是什么?

    降低adc在不同PCB上的噪声,如何做到接近AD4134验证板噪声水平?

    方式中,可明显观测并验证到的结果是:当AD4134以模块的形式并使用任意接插件接入大型数字系统中时,Nrms大幅度降低。我对adc的前级信号链进输入进行了对地短接处理,并将此结果与ADC输入信号输入引脚
    发表于 08-11 08:24

    Kawaiimqtt如何使用mbedtls双向验证

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

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

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

    硬件辅助验证(HAV) 对软件验证的价值

    硬件辅助验证 (HAV) 有着悠久的历史,如今作为软件驱动验证的必备技术,再度受到关注。 RISC-V 可能是说明这一点的最好例子。HAV 能够执行多个周期的软件驱动验证,是加速 RISC-V
    的头像 发表于 05-13 18:21 1673次阅读

    电磁环境仿真与验证系统软件

    电磁环境仿真与验证系统软件
    的头像 发表于 04-29 16:59 838次阅读
    电磁环境仿真与<b class='flag-5'>验证</b>系统软件

    FPGA EDA软件的位流验证

    位流验证,对于芯片研发是一个非常重要的测试手段,对于纯软件开发人员,最难理解的就是位流验证。在FPGA芯片研发中,位流验证是在做什么,在哪些阶段需要做位流验证,如何做?都是问题。
    的头像 发表于 04-25 09:42 2070次阅读
    FPGA EDA软件的位流<b class='flag-5'>验证</b>

    芯华章以AI+EDA重塑芯片验证效率

    近日,作为国内领先的系统级验证EDA解决方案提供商,芯华章分别携手飞腾信息技术、中兴微电子在IC设计验证领域最具影响力的会议DVCon China进行联合演讲,针对各个场景下验证中的“硬骨头
    的头像 发表于 04-18 14:07 1363次阅读
    芯华章以AI+EDA重塑芯片<b class='flag-5'>验证</b>效率

    EB Tresos验证步骤失败是什么原因?

    我正在尝试集成 MCAL 包,但在生成过程中收到如下验证错误:“无法为模块”Dio_TS_T40D2M20I0R0“运行生成器
    发表于 04-10 06:36

    英诺达发布全新静态验证产品,提升芯片设计效率

    了重要一步,将为中国芯片产业的发展注入新的活力。 静态验证作为一种业界普遍使用的验证方法,通过对设计的源代码进行深入分析,能够发现设计中的潜在问题。与动态仿真验证形式化验证相结合,静
    的头像 发表于 12-24 16:53 1167次阅读