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

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

3天内不再提示

浅析形式验证的分类、发展、适用场景

rfdqdzdg 来源:IC Verification Club 2023-08-25 09:04 次阅读

Definition

Formal Verification:利用数学分析的方法,通过算法引擎建立模型,对待测设计的状态空间进行穷尽分析的验证。

Kinds of Formal Verification

相比于动态仿真Simulation Veficiation,形式验证属于Static Verification,不需要手动灌入激励;通过数学分析的方式,对待测设计进行检查;

2e4dd27a-42e1-11ee-a2ef-92fbcf53809c.png在这里插入图片描述

形式验证分为两大分支:Equivalence Checking等价检查 和Property Checking属性检查 形式验证初次被EDA工具采用,可以追溯到90年代,被应用于RTL code和gate level code的LEC等价检查;后来形式验证开始慢慢发展,衍生出适用于不同场景的各类工具;

Equivalence Checking

Combinational equivalence:用于RTL vs Netlist的检查,检查寄存器之间的组合逻辑在综合前后是否一致,如Formality,Conformal。Sequential Equivalence: 用于RTL vs RTL的检查,基于cycle的精确度;适用于对原有block级RTL做了非逻辑修改,如Clock/power gating,对修改后的RTL进行等价检查。Transaction Equivalence:用于C/C++ model VS RTL的检查,基于transaction的精确度;常用于数据通路的算法类设计。

Property Checking

属性检查基于PSL/SVA Assertion Languages,通过对property的assume,cover,assert语句分析,建立golden模型。FPV(Formal Property Verification)需要用户直接书写property;从FPV衍生出各类APP,适用于不同场景,可以根据相关配置,自动生成对应的property。

除了上述两类,CDC的检查也属于static verification;例如Spyglass会对跨时钟域设计做structural 结构上的检查,检查跨时钟域的信号是否经过同步器处理;一般来讲,formal verification属于static verification;

Simulation VS Formal

Simulation属于Dynamic Verification,Formal属于Static Verification;两者是相互补充的验证手段,各有优缺点,在合适的场景采用合适的验证手段,达到最佳的ROI。

2e7140f2-42e1-11ee-a2ef-92fbcf53809c.png在这里插入图片描述

Simulation是time-based的,仿真器依据消耗时间的事件推进仿真的进行,激励需要用户施加;Simulation虽然可以随机化发送激励,但是对于corner case的遍历需要花费大量时间;Simulation适用于大规模的设计,仿真的时间深度可以轻松达到上万个cycle;

Formal是state-space based的,依据算法探索所有可能的状态空间,不需要平台搭建和输入激励,便于快速启动验证;Formal适用于小模块的验证,随着设计复杂度和cycle深度的增加,formal会占用大量资源,难以收敛;

Formal适用于40,000 寄存器以内的模块验证(这个数据已经被刷新);随着设计复杂度的增加,state space explosion,状态空间激增;一个设计包含n个dff,有2n种配置,m个input有2m种组合;该设计可能的状态达到2(n+m)个;对于一个10 input,10 dff的设计,为220=1,048,576。

回到开头所说的,Simulation和Formal是相互补充的;模块中的assertion语句既可以在Formal中使用,也可以在Simulation中使用;Formal产生的覆盖率也可以merge到Simulation的覆盖率中;设计人员可以通过Formal免于平台的搭建,快速地跑通IP中的一些模块,再hand-off给验证人员使用Simulation sign-off(Shift-Left);Simulation中的corner scenario,可以通过Bug hunting FPV补充验证;

Formal do better

不同的验证策略适合不同的验证场景;Emulation适用于整个Chip级的验证,加速仿真速度;UVM-Simulation适用于复杂寄存器配置的传输packet的IP验证,便于提取transaction和随机化验证;Formal(FPV)适合相对较小的模块,便于收敛;Formal适合controllable的模块,例如FSMs;Formal适合observable的模块,便于assertion的书写,如AXI bus;串行bus则不适合使用formal。开源项目Opentitan中使用FPV的验证模块[2]。

适合Formal的常见模块如下:

•Arbiter、Scheduler

•FIFO 、FSMs

•Interrupt controller、DMA controller、Memory controller

•Power manager unit、Clock programing unit

•Bus、Bus bridge、Bus Fabric (CrossBar NoC etc)

•Cache,Cache-Coherent Protocols modeling and verification

•Data transport

Pinmux, Clock Controller, Reset Controller

The growth of Formal

Formal Property Verification相关的工具也有十几年历史了,但由于其限制,Formal Tool并没有被用户广泛使用。但最近这些年,一些因素推动了formal的高速发展:

1. 之前繁多的语言(Vera,'e',摩托罗拉的CBV和英特尔的ForSpec)整合为SystemVerilog Assertion,并加入IEEE 1800协议,成为标准化的Assertion Languages。工程师在Simulation中广泛使用SVA,节省了在Formal上的学习成本。

2. 随着工艺节点的缩小,流程成本大幅提高;对于corner scenario下可能会隐藏的bug,工程师更倾向Fromal这类exhaustive的验证手段。

3. Formal可以很好的匹配Simulation;同一家EDA的Formal和Simulation工具相互打通,Formal产生coverage可以和Simulation的coverage相互merge,Formal产生的波形可以在Simulaiton上复现,Formal和Simulaiton相同的GUI Debug工具等。

4. 各类Formal APPs的推出,使得Formal更容易掌握和部署。

5. 随着企业服务器性能的提升和Formal算法的发展,可以处理更复杂的设计规模。

6. 一些基于C/C++ model的包含大量运算单元的硬件产品,如AI/ML,GPU的需要爆发,推动了Formal Data Path Validation;

7. Automotive Chip需求激增及其高可靠性的要求,Formal提供safety fault analysis的功能;

8. 芯片对Security的要求越来越高,需要穷尽分析所有访问路径,适合采用Formal;

9. 移动端芯片对于Lower Power的重视;PMU模块适合formal验证;

10.采用敏捷开发的芯片团队,对于"shift left"的追求,采用formal快速进行模块验证及早发现bug;

Deepchip

Deepchip上一个forma系列的专访,全面的介绍了formal:

•Jim Hogan on how "this is not your father's formal verification"[3]

•Where Formal ABV whomps HDL simulation for chip verification[4]

•9 major and 23 minor Formal ABV tool metrics - plus their gotchas[5]

•16 Formal Apps that make Formal easy for us non-Formal engineers[6]

•Hogan on Cadence, Mentor, OneSpin, Real Intent, Synopsys formal[7]






审核编辑:刘清

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

    关注

    4

    文章

    267

    浏览量

    31793
  • RTL
    RTL
    +关注

    关注

    1

    文章

    385

    浏览量

    59770
  • SVA
    SVA
    +关注

    关注

    1

    文章

    19

    浏览量

    10129
  • CDC技术
    +关注

    关注

    0

    文章

    9

    浏览量

    6860
  • FPV
    FPV
    +关注

    关注

    0

    文章

    16

    浏览量

    4487

原文标题:Formal Verification (一) 形式验证的分类、发展、适用场景

文章出处:【微信号:数字芯片设计工程师,微信公众号:数字芯片设计工程师】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    智能IC卡测试设备的技术原理和应用场景

    用场景中的可靠性和安全性。 综上所述,智能IC卡测试设备在保障IC卡质量和性能、提高系统安全性和稳定性等方面发挥着重要作用。随着技术的不断发展和应用场景的不断拓展,智能IC卡测试设备的应用前景将更加广阔。
    发表于 09-26 14:27

    便携式示波器的技术原理和应用场景

    还可以观察各种不同电信号幅度随时间变化的波形曲线,并在这个基础上应用于测量电压、时间、频率、相位差和调幅度等电参数。二、应用场景 现场测试:便携式示波器适用于各种现场测试场景,如电力系统、通信系统
    发表于 10-24 14:31

    OTA测试暗箱的技术原理和应用场景

    OTA测试暗箱在无线通信设备的研发与测试中扮演着至关重要的角色。以下是对OTA测试暗箱技术原理和应用场景的详细阐述:一、OTA测试暗箱的技术原理OTA测试暗箱的技术原理主要基于电磁波在封闭空间
    发表于 11-14 14:36

    汽车雷达回波发生器的技术原理和应用场景

    验证。通过模拟不同目标和场景的回波信号,可以全面测试雷达系统的测距、测速、测角等性能指标,确保雷达系统在实际使用中能够满足设计要求。 综上所述,汽车雷达回波发生器作为一种新型的雷达测试设备,在汽车雷达系统的测试、验证和性能评估中
    发表于 11-15 14:06

    必读:显示技术的应用范围及适用场景

    这一次我们聊一聊显示技术技术的应用范围及适用场景 技术适用测试条件在介绍每种显示技术的应用范围之前,我们先了解一下测量这些显示技术适用范围时所需要考虑的条件。 照度(Lux)每种显示技术都需要适当
    发表于 09-23 08:00

    =>的使用场景有哪些

    使用场景
    发表于 10-27 13:25

    WAPI的用户使用场景有哪几种?

    WAPI的用户使用场景有哪几种?基于WAI的安全接入控制分类有哪些?WPI的封装过程是怎样的?
    发表于 05-31 06:51

    FPGA的应用场景

    目录文章目录目录FPGAFPGA 的应用场景FPGA 的技术难点FPGA 的工作原理FPGA 的体系结构FPGA 的开发FPGA 的使用FPGA 的优缺点参考文档FPGAFPGA(Field
    发表于 07-28 08:43

    步进电机是什么工作原理?有哪些分类?应用场景是什么?

    步进电机是什么工作原理?有哪些分类?应用场景是什么?
    发表于 10-19 08:21

    Edge Impulse的分类模型浅析

    就Edge Impulse的三大模型之一的分类模型进行浅析。针对于图像的分类识别模型,读者可参考OpenMv或树莓派等主流图像识别单片机系统的现有历程,容易上手,简单可靠。单击此处转到——星瞳科技OpenMv 所以接下来的分析主
    发表于 12-20 06:51

    华为SD-WAN的典型组网适用场景介绍

    本章主要介绍华为SD-WAN的典型组网的适用场景、组网拓扑和设备选型。
    的头像 发表于 12-11 16:55 5247次阅读

    Formal Verification:形式验证分类发展适用场景

    形式验证分为两大分支:Equivalence Checking 等价检查 和 Property Checking 属性检查 形式验证初次被EDA工具采用,可以追溯到90年代,被应用于R
    的头像 发表于 02-03 11:12 2534次阅读

    压力变送器的适用范围与应用场景

    压力变送器主要对压力变化进行预警和信号输出,是保障生产和仓储安全的关键设备。压力变送器本身对不同的压力环境有不同的分类,有针对大压力范围进行适配的型号,也有针对小压力区间的型号。对于不同应用场景,可以根据自身特点和需要选择相应的型号。压力变送器的
    的头像 发表于 07-13 14:13 3090次阅读

    浅析Formality形式验证里的案件

    在当前的形式验证的领域,主要有两个工具,一个就是Cadence的conformal,另外一个就是Synopsys的formality(以下简称FM)。
    的头像 发表于 07-21 09:56 2552次阅读
    <b class='flag-5'>浅析</b>Formality<b class='flag-5'>形式</b><b class='flag-5'>验证</b>里的案件

    电机的六大分类形式

    电机,作为电能转换与传递的核心装置,广泛应用于各个领域,从家庭日常使用的家电到工业自动化的关键设备,都离不开电机的支持。电机的种类繁多,根据不同的分类标准,可以将其划分为多种类型。本文将详细解析电机的六大分类形式,并探讨其各自的
    的头像 发表于 06-14 10:33 3394次阅读