《SystemVerilog Assertion 应用指南》学习02

1.11、SVA 中的时钟定义

一个序列或属性,必须被断言才能发挥作用。
SVA 中时钟定 定义方法:

  • 方法1:将检查和时钟关联起来 ( 时钟定义在序列中)
    示例:
sequence s5;
	@(posedge clk) a ##2 b;
endsequence

property p5;
	s5;
endproperty

a5: assert property(p5);
// 注意: 序列 s5 中定义了时钟 —— 将检查和时钟关联在一起
  • 方法2(推荐):通常,在属性(property)的定义中指定时钟,并保持序列(sequence)独立于时钟 —— 提高序列定义的可重用性
    示例:
sequence s5a;
a ##2 b;
endsequence

property p5a;
	@(posedge clk) s5a;
endproperty

a5a : assert property(p5a);

在断言的语句中可以直接调用被检查的表达式。
示例:

sequence s5b;
a ##2 b;
endsequence

a5b : assert property(@posedge clk) s5b);

若在断言的陈述中已经调用了定义时钟的序列,就不要再次在断言语句中定义时钟
错误示例:

a5c: assert property ( @(posedge clk) p5a);		// not allow

1.12、禁止属性

禁止属性:期望属性永远为假。当属性为真时,断言失败
示例

// 序列s6: 检查当信号 " a " 在给定的时钟上升沿为高电平,那么之后的两个时钟周期之后,信号” b "   不允许  为高电平
// 关键词 " not " 用来表示属性应该永远不为真
sequence s6;
	@(posedge clk) a ##2 b;
endsequence

property p6;
	not s6;
endproperty

a6 : assert property(p6);

关键词 “ not " 用来表示属性应该永远不为真

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
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,可以提高设计的可靠性和验证的效率。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值