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

    文章

    19953

    浏览量

    237444
  • 形式验证
    +关注

    关注

    0

    文章

    8

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Kawaiimqtt如何使用mbedtls双向验证

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

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

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

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

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

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

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

    FPGA EDA软件的位流验证

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

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

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

    NTC热敏电阻的封装形式介绍

    NTC热敏电阻的封装形式多种多样,每种封装形式都有其独特的特点和适用场合。以下是对几种常见的NTC热敏电阻封装形式的介绍: 一、环氧树脂封装 环氧树脂封装是一种常见的NTC热敏电阻封装形式
    的头像 发表于 11-26 16:59 ?2355次阅读

    BGA封装与其他封装形式比较

    随着电子技术的飞速发展,集成电路封装技术也在不断进步。BGA封装作为一种先进的封装形式,已经成为高性能电子设备中不可或缺的一部分。 1. BGA封装简介 BGA封装,即球栅阵列封装,是一种表面贴装
    的头像 发表于 11-20 09:21 ?1702次阅读

    闪电定位仪应用简介

    闪电定位仪应用简介
    发表于 11-13 16:34 ?0次下载

    MOS管的封装形式及选择

    是MOS管的封装形式及选择的介绍: 一、MOS管的封装形式 按照安装在PCB板上的方式来划分,MOS管封装主要有两大类:插入式(Through Hole)和表面贴装式(Surface Mount)。 插入式封装 :MOSFET的管脚穿过PCB板的安装孔并焊接在PCB板上。
    的头像 发表于 11-05 14:45 ?3632次阅读

    三星电容的封装形式有哪些选择?

    三星电容提供多样化的封装形式,这些形式的选择主要取决于电容的类型、物理尺寸以及其在特定应用中的需求。为了满足不同场景下的使用要求,三星电容采用了多种封装技术。三星电容的封装形式有多种选择,主要取决于
    的头像 发表于 10-25 14:23 ?871次阅读

    超声波简介

    电子发烧友网站提供《超声波简介.pdf》资料免费下载
    发表于 10-25 09:14 ?0次下载
    超声波<b class='flag-5'>简介</b>

    SJM8-8D磁性开关的触点形式有哪些

    磁性开关的触点形式多种多样,用户可以根据具体的应用场景和需求选择合适的触点形式。同时,随着技术的不断进步和创新,磁性开关的触点形式也将不断发展和完善。
    的头像 发表于 09-21 15:11 ?1108次阅读

    形式验证如何加速超大规模芯片设计?

    引言随着集成电路规模的不断扩大,从设计到流片(Tape-out)的全流程中,验证环节的核心地位日益凸显。有效的验证不仅是设计完美的基石,更是确保电路在实际应用中稳定运行的保障。尤为关键的是,逻辑或
    的头像 发表于 08-30 12:45 ?988次阅读
    <b class='flag-5'>形式</b><b class='flag-5'>验证</b>如何加速超大规模芯片设计?

    放大电路的增益形式有几种

    放大电路的增益形式主要有以下几种: 电压增益 电压增益是指放大电路对输入信号电压的放大倍数。电压增益是放大电路最基本的增益形式,也是最常用的增益形式之一。电压增益的计算公式为: 电压增益 = 输出
    的头像 发表于 08-22 17:00 ?3221次阅读