前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SVA断言学习|02. 并发断言和即时断言

SVA断言学习|02. 并发断言和即时断言

作者头像
用户10108023
发布2023-01-08 14:39:12
1K0
发布2023-01-08 14:39:12
举报

02

并发断言和即时断言

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

并发断言:

  1. 基于时钟周期。并发断言根据时钟的上升沿/下降沿进行的。(看到clk 基本就是并发断言了)
  2. 采样和计算不是在同一个时钟周期,采样在预备阶段,计算在观察阶段(三个阶段上一篇有讲哦)。意味着,前一个上升沿/下降沿采样,下一个上升沿/下降沿才会进行计算并断言,延迟一个时钟周期。
  3. 可以放到过程块,模块,接口或者程序(program)中;
  4. 可以在静态验证(形式的)和动态验证(模拟)工具中使用;

举个小栗子:

代码语言:javascript
复制
assert property ((@posedge clk) a && b)

即时断言:

  1. 和时序无关,即不会用到时钟;
  2. 立即被求值;
  3. 必须放到过程块中,和其他过程块类似,只是多了assert关键词;
  4. 只能用于动态模拟
代码语言:javascript
复制
always_comb
  begin
    a_ia: assert (a && b);
  end

当信号a或者b发生变化时,always块被触发,断言执行。

区分:

也没有很复杂,稍加区分即可。并发断言需要用到property,clk, 即时断言用always,和Verilog当中的程序块,不能说很像,简直一模一样。验证的日常工作中,并发断言出现的机会更多。

好了,今天的学习分享就到这里了,个人愚见,希望对你的学习有一点帮助,如有错误也欢迎批评指正。持续更新,欢迎关注。觉得有帮助的朋友,希望能够点个赞鼓励一下!!你的每个鼓励都是我持续创作的动力!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-10-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 不二鱼 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档