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

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

3天内不再提示

形式验证及其在芯片工程中的应用

冬至子 来源:长点芯 作者:SJ66 2023-10-20 10:46 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

一:形式验证的基本概念

-> 广义上的形式验证?

形式验证不仅仅是芯片领域中的一个概念。正如文章开头提到过,形式验证强调使用严格的数学推理和形式化技术,以确保系统的行为是否符合预期的性质和规格。所以说只要是可以通过量化方式构建数学模型的系统,都可以使用形式验证来check其功能性以及其他可量化特性。比如:

  1. 软件工程:就拿区块链举个例子。形式验证不仅适用于智能合约本身,还适用于与智能合同交互的去中心化应用。这可以帮助确保整个应用的安全性和正确性。
  2. 金融领域:金融交易的验证是非常重要的,特别是在高频交易和算法交易领域。形式验证可以确保交易的正确性和合规性,防止错误交易和潜在的风险。

-> 芯片工程里的形式验证?

这里拿计数器举一个简单的形式验证示例。请注意,这只是一个简化的示例,实际的形式验证可能涉及更复杂的设计和性质。

假设有一个4位的计数器电路,可以从0计数到15。我们想要验证以下性质:当计数器的值达到最大值15时,下一个计数值应该是0。

设计:计数器电路有一个4位的计数器寄存器,可以递增。当计数器值达到15时,下一个时钟周期应该将计数器重置为0。

形式验证属性:我们使用SystemVerilog的属性规约 (SVA) 来表达这个性质。(一般形式验证的case都使用SVA来编写)以下是一个简化的属性规约示例:

property reset_at_max;
  @(posedge clk) disable iff (!rst_n)
    (count == 4'b1111) |= > (next_count == 4'b0000);
endproperty

assert property (reset_at_max);

在这个属性规约中,我们定义了一个属性 reset_at_max ,它表达了当计数器值为15时,下一个计数值应为0。这个属性在时钟上升沿触发时进行检查。如果属性不满足,将会产生一个验证错误。

在这个示例中,使用仿真进行验证可能需要执行多个时钟周期来验证所有可能的计数序列。但是,使用形式验证可以直接进行数学推理,验证属性在所有可能的情况下是否成立.

除此之外,与基于仿真的验证不同,基于仿真的验证会使用各种输入情景来测试设计以确保其正确行为,形式验证涉及数学分析以验证设计的属性。这些属性可以包括功能正确性、安全性、安全性以及某些类型错误的缺失(例如,竞态条件、死锁等)。

二:形式验证的优势

从上述的例子看来,那么形式验证要优于基于仿真的验证?看似高性能的形式验证,要将它发挥得淋漓尽致也是需要代价的。

其实不然,形式验证也面临着挑战。它可能计算成本高昂,需要专门的专业知识来制定属性并设置验证过程。通常与其他验证技术(如仿真和测试)结合使用,以提供全面的验证策略。形式验证和基于仿真的验证各有其优势和局限性,没有绝对的优劣之分。选择哪种验证方法取决于具体的设计需求、时间和资源限制以及设计的复杂性。

形式验证VS动态仿真

->形式验证的特点:

  1. 高度可靠性 :形式验证提供了数学证明的可靠性,如果设计通过了形式验证,那么可以有很大的信心认为设计是正确的。
  2. 全面性 :形式验证可以覆盖所有可能的状态,从而捕获设计中的所有潜在错误,包括一些难以通过仿真检测到的问题。
  3. 对于复杂设计 :对于复杂的设计,特别是关键性能的设计,形式验证可以帮助发现隐藏的问题和时序错误。

->动态仿真验证的特点:

  1. 易于实施 :基于仿真的验证通常比形式验证更容易实施,可以快速验证设计的基本功能和常见情况。
  2. 资源效率高 :在一些情况下,形式验证可能需要更多的计算资源和时间,而基于仿真的验证可能更具资源效率。
  3. 快速迭代 :基于仿真的验证允许设计团队迅速进行修改和验证,特别适用于快速迭代的设计流程。

可见,trade-off的概念在芯片领域里面处处可见。鱼与熊掌不可得兼。

三:在芯片验证中实现形式验证

形式验证主要由以下几个部分组成:

  1. 性质(Properties) :这些是描述设计所需属性和规格的语句,例如时序关系、状态转换、约束等。常用的
  2. 规约语言 :通常使用形式规约语言,如 SystemVerilog Assertions(SVA)、Property Specification Language(PSL)等,来编写性质和约束。
  3. 定理证明器(Theorem Provers) :这些工具用于推理和证明性质是否成立。它们基于形式化逻辑和推理规则来验证性质。
  4. 模型检查器(Model Checkers) :这些工具用于穷举系统状态空间,检查是否存在满足性质的状态序列。

在电子设计自动化 EDA 工具中,许多主要的形式验证工具已经集成到综合工具链中,以帮助硬件工程师验证他们的设计。这些工具通常基于硬件描述语言 (如Verilog或VHDL)

比如:

1. Cadence JasperGold :JasperGold是一个集成式形式验证平台,支持属性规约和模型检查,广泛应用于验证硬件设计。

2. Synopsys VC Formal :VC Formal是Synopsys的形式验证工具,用于验证功能、时序和系统级性质。

四:形式验证的未来

最近几年,学术界

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

    关注

    31

    文章

    5624

    浏览量

    130639
  • 芯片设计
    +关注

    关注

    15

    文章

    1181

    浏览量

    56817
  • 计数器
    +关注

    关注

    32

    文章

    2324

    浏览量

    98728
  • 形式验证
    +关注

    关注

    0

    文章

    8

    浏览量

    5857
  • SVA
    SVA
    +关注

    关注

    1

    文章

    19

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

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

    提前暴露设计缺陷:整车快速温变试验研发验证的关键作用

    整车快速温变试验是一种通过快速交替暴露于极端高温和低温环境,验证车辆及其零部件温度剧烈变化下的可靠性、密封性和功能性的加速老化测试。简单说,就是让汽车最短时间内经历“北极”与“赤道
    的头像 发表于 02-13 16:48 249次阅读
    提前暴露设计缺陷:整车快速温变试验<b class='flag-5'>在</b>研发<b class='flag-5'>验证</b><b class='flag-5'>中</b>的关键作用

    铜厚对阻抗的影响实际设计如何验证

    铜厚对阻抗的影响实际设计,主要通过仿真验证和实测验证相结合来确保准确性。作为国内领先的PCB测量仪器、智能检测设备等专业解决方案供应商,班通科技自研推出了国内首款国产替代手持式铜厚
    的头像 发表于 01-29 11:56 598次阅读
    铜厚对阻抗的影响<b class='flag-5'>在</b>实际设计<b class='flag-5'>中</b>如何<b class='flag-5'>验证</b>?

    给烧录工程师的 checklist:新批次芯片上线前的“三道保险”

    测试。过程监控: 试产初期,提高烧录成功率的监控频率,并关注烧录日志是否有异常警告(如校验和微小差异、编程时间变化等)。文档更新: 所有验证通过后,将新的烧录工程文件、芯片批次信息、
    发表于 12-30 14:00

    RK3576智能工程机械的应用|三屏八摄AI视觉解决方案

    能力,智能工程机械能够实现“看得清、控得准、反应快”的目标,大幅提升施工安全性和自动化水平。 四、开发与验证平台:米尔MYD-LR3576开发板 工程机械智能控制系统的开发过程
    发表于 11-07 22:11

    国内首个汽车芯片标准验证平台启用,“消费芯片”再难上车?

    [首发于智驾最前沿微信公众号]10月28日,国内首个国家级汽车芯片标准验证中试服务平台深圳正式投入使用。该平台由国家及行业相关机构共同推动建设,旨在满足车规级芯片在环境与可靠性、失效
    的头像 发表于 10-29 15:17 807次阅读
    国内首个汽车<b class='flag-5'>芯片</b>标准<b class='flag-5'>验证</b>平台启用,“消费<b class='flag-5'>芯片</b>”再难上车?

    芯片研发过程的两种流片方式

    芯片在研发过程中一般包含4个阶段:芯片设计、生产样片、测试验证和大规模量产。完成芯片设计后,工程
    的头像 发表于 09-09 15:04 2737次阅读
    <b class='flag-5'>芯片</b>研发过程<b class='flag-5'>中</b>的两种流片方式

    芯片抗单粒子性能研究及其商业卫星测传一体机的应用

    成功率的关键因素。本文聚焦于芯片抗单粒子效应(SEU/SEL)的研究,深入探讨其物理机制、设计优化策略以及实验验证方法。通过详细分析国科安芯推出的ASM1042S通信芯片与ASP4644S电源管理
    的头像 发表于 08-14 17:03 1260次阅读

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

    我设计的复杂多片AD4134的大型数字系统,噪声水平Nrms无法控制到预期水平。希望能够找到关键的影响因素。还请各位大师指点。 根据验证版及数据手册的布局方式,不对ADC的下方地
    发表于 08-11 08:24

    有哪些芯片工程师才懂的梗?

    今天聊点有意思的,就是芯片行业那些梗。下面这些“梗”,只有Fab、EDA、IP、SoC、验证、后端、封测等各个细分岗位上摸爬滚打过的人,才能秒懂,外行听了恐怕只会一脸黑人问号。1.DFT不是离散
    的头像 发表于 07-25 10:03 1022次阅读
    有哪些<b class='flag-5'>芯片</b><b class='flag-5'>工程</b>师才懂的梗?

    CYW43907系列ModusToolbox的工程是否可以移植到Keil uVision

    CYW43907系列ModusToolbox的工程是否可以移植到Keil uVision,看见了官方推出的移植文档,但是不知道是否支持此芯片
    发表于 07-08 06:48

    华大九天物理验证EDA工具Empyrean Argus助力芯片设计

    芯片设计的流片之路充满挑战,物理验证EDA工具无疑是这“最后一公里”关键且不可或缺的利器。它通过设计规则检查、版图与原理图一致性验证等关键流程,为IC设计契合制造需求提供坚实保障。作
    的头像 发表于 07-03 11:30 3903次阅读
    华大九天物理<b class='flag-5'>验证</b>EDA工具Empyrean Argus助力<b class='flag-5'>芯片</b>设计

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

    芯片构建之前完成。虽然硬件加速器和桌面原型板是这项验证两个众所周知的参与者,但企业原型同样具备重要的意义。 尽管仿真设计的早期阶段占据主导地位,但由于性能的原因,其更多的适用于模
    的头像 发表于 06-12 14:39 1658次阅读
    Veloce Primo补全完整的SoC<b class='flag-5'>验证</b>环境

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

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

    芯片验证为何越来越难?

    本文由半导体产业纵横(ID:ICVIEWS)编译自semiengineering过去,仿真曾是验证的唯一工具,但如今选择已变得多样。平衡成本与收益并非易事。芯片首次流片成功率正在下降,主要原因
    的头像 发表于 06-05 11:55 1095次阅读
    <b class='flag-5'>芯片</b>的<b class='flag-5'>验证</b>为何越来越难?