01
SVA断言学习
这是我自己的学习笔记,基于《SystemVerilog Assertions应用指南》这本书,记录一些我觉得重要的知识点。在芯片验证的过程当中,多多少少都会遇到断言,掌握断言,对于某一些场景下的验证是非常方便的。
举个简单的例子,如果要检查到信号a高电平的一个时钟周期后,信号b应该也为高电平,应该怎么检查最方便?可能有很多种实现方式,但是最方便的,恐怕是断言了。
property CHECK_A_B;
@(posedge clk)
signal_a |=> signal_b;
endproperty
FISH_CHECK_A_B: assert property(CHECK_A_B);
在仿真过程中,这个断言会一直检查,如果断言失败,即在a为高电平,一个周期后b不为高电平,断言失败。
SVA, 即system Verilog assertion,是基于systemVerilog的一种断言的写法,可以更方便、快捷的对design的代码进行检查,相比于用Verilog进行检查,SVA有以下优点:
断言的评估和执行包括以下三个阶段:
这三个阶段可以总结为,什么时候采样,什么时候对断言的表达式求值,最后一步就是响应,判断断言的成功与否。
好了,今天的学习分享就到这里了,个人愚见,希望对你的学习有一点帮助,如有错误也欢迎批评指正。持续更新,欢迎关注。觉得有帮助的朋友,希望能够点个赞鼓励一下!!你的每个鼓励都是我持续创作的动力!
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有