SystemVerilog Assertion应用指南学习笔记

SystemVerilog Assertions 应用指南学习笔记(一)

断言

什么是断言?
在这里插入图片描述
为什么使用SystemVerilog Assertion(SVA)?
在这里插入图片描述

SVA术语

SVA中定义了两种断言:即时断言和并发断言

并发断言

在这里插入图片描述
在这里插入图片描述

即时断言

在这里插入图片描述

SVA块

在这里插入图片描述
举个例子:如下所示,就是一个property里如何嵌套sequence
在这里插入图片描述

边沿定义的序列

在这里插入图片描述
举例:
在这里插入图片描述
在这里插入图片描述

逻辑关系的序列

在这里插入图片描述

序列复用

在这里插入图片描述
在这里插入图片描述

时序关系的序列

在这里插入图片描述
在这里插入图片描述

需要注意:序列s4的开始时间和结束时间不同。
如果信号“a”在任何时钟周期不为高电平,序列在同个时钟周期开始并失败。
如果信号“a”是高电平,序列开始。在两个时钟周期后,如果信号“b”是高电平,序列成功(第5和第14时钟周期)。另一方面,如果在两个时钟周期后,信号“b”不是高电平,序列失败。
应注意的是,在图中,成功的序列总是标注在序列开始的位置。

SVA中的时钟定义

在这里插入图片描述

通常情况下,在property中定义时钟,使sequence独立于时钟是一种好的编码风格

在这里插入图片描述

禁止属性

在这里插入图片描述

  • 1
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
SystemVerilog assertion 是一种用于验证设计的属性的语言和方法。它在设计的不同阶段都有广泛的应用,从功能验证到形式验证。下面是一些关于 SystemVerilog assertion 应用指南: 1. 语法和语义:了解 SystemVerilog assertion 的基本语法和语义是必要的。它的语法类似于其他硬件描述语言,但有一些独特的特性和用法。熟悉这些特性并理解其语义是使用 SystemVerilog assertion 的基础。 2. 功能验证:SystemVerilog assertion 可以用于功能验证,通过检查设计是否满足特定的属性来验证其行为。在功能验证中,可以使用属性描述设计的预期行为,并编写验证代码来检查这些属性是否得到满足。这有助于发现设计中的问题并提前修复它们。 3. 形式验证:SystemVerilog assertion 还可以用于形式验证,用于证明设计在给定约束下是否满足某些属性。形式验证通常使用形式化验证工具,它可以自动地分析设计,并生成验证结果。使用形式验证可以提供更高的覆盖率和更全面的验证结果。 4. 属性编写:编写良好的属性是成功使用 SystemVerilog assertion 的关键。属性应该具备明确的描述设计行为和目标的特点。良好的属性应该容易验证,避免模糊和歧义的描述,并覆盖设计中的所有关键方面。 5. 覆盖率评估:评估 SystemVerilog assertion 的覆盖率是非常重要的。覆盖率评估可以确定设计中是否存在未覆盖的行为或属性。如果存在未覆盖的属性,可能需要进一步修改验证代码来增加覆盖率。 总之,了解 SystemVerilog assertion 的语法和语义,熟悉属性编写的技巧,以及进行有效的功能验证和形式验证是使用它的关键。通过正确地应用 SystemVerilog assertion,可以提高设计的可靠性和验证的效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值