Assertion-Based Verification01-----Introduction to OVL

《Assertion-Based Verification – Introduction to OVL》阅读笔记

OVL:Open Verificationi Library : 将 systemVerilog Assertions 集成成单元,在verilog 中直接调用,减少了自己编写可能出现的错误

1、ovl 模块使用率

OVL使用率

2、几种典型的 ovl 模块示例

逻辑互斥(Mutually exclusive)

在这里插入图片描述

 ovl_always mutex(clk, rst_n, !(grant0 & grants));		// grant0 和 grant1 必须逻辑互斥(Mutually exclusive)

相同(隐含推断)逻辑

在这里插入图片描述

ovl_implication u1(clk, rst_n, start, go);			// start 推断出go

只有小于等于1bit active,与 SVA function $onehot0 相似

在这里插入图片描述

ovl_zero_one_hot #('OVL_ERROR,2) mutex(clk, rst_n, {grant0, grant1});	// grant0 和 grant1 不会同时为1

与 SVA a |-> ##n c, (for n >0, default n=1)

在这里插入图片描述

ovl_next awvalid (clk, rst_n, (awvalid & ~awready), awvalid);   // awvalid & ~awready 后的下一个周期(这里n=1),awvalid 必为有效;否则报错
ovl_next wvalid ( clk ,rst_n, (wvalid & ~wready), wvalid);		 // wvalid & ~wready 后的下一个周期(这里n=1),wvalid 必为有效,否则报错

在 start_event 和 end_event之间,test_expr 不变

在这里插入图片描述

ovl_win_unchange #(0,8) u1(clk ,rst_n, we, addr, done);		# addr[7:0], 0bit开始,总共8bit;start_event 为 we,end_event 为 done,二者之间时 addr 不变

3、ovl 特点

OVL 被 Design Engineers 所喜欢
对于 验证工程师:

  • 高级 Assertions:集中于需求;黑盒 assertions
  • 计入测试计划
  • 规范的可追溯性
  • 创建可复用的 ABV IP

对于设计工程师

  • 低级 Assertions: 集中于实现;白盒 assertions
  • 不计入测试计划
  • 提升可观测性
  • 减少debug时间

4、OVL 的使用

1、OVL 语言参考手册:
在这里插入图片描述
2、快速手册
在这里插入图片描述
3、assertion datasheet
在这里插入图片描述
4、参考书籍:
在这里插入图片描述

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值