文章目录

  • 《Assertion-Based Verification -- Introduction to OVL》阅读笔记
    • 1、ovl 模块使用率
    • 2、几种典型的 ovl 模块示例
      • 逻辑互斥(Mutually exclusive)
      • 相同(隐含推断)逻辑
      • 只有小于等于1bit active,与 SVA function $onehot0 相似
      • 与 SVA a |-> ##n c, (for n >0, default n=1)
      • 在 start_event 和 end_event之间,test_expr 不变
    • 3、ovl 特点
    • 4、OVL 的使用

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

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

1、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、参考书籍:

Assertion-Based Verification01-----Introduction to OVL相关推荐

  1. Trunk Based Development介绍——TBD Workflow(一)

    前言 在介绍TBD Worflow的部署之前,我们先来看一下什么是TBD,以下文章参考 Trunk Based Development: Introduction 简介 TBD准确的说不是一种&quo ...

  2. RTL设计推荐的各步骤 推荐工具 适合VHDL verilog

    初学EDA时候,大家都在找工具而烦恼,有些工具不是没有license 就是不会设置,要不就是不会用,还担心这个以后有人用么? 所以,我通过自己的体会,推荐大家给大家一个学习时候的流程,和一个业界用流程 ...

  3. SystemVerilog与功能验证

    目录 一.功能验证流程 二.验证手段.验证技术.验证方法学 三.数据类型与编程结构 四.并发进程与进程同步 五.面向对象编程 六.虚接口 七.随机测试 八.继承与多态 九.功能覆盖率 十.断言 一.功 ...

  4. 2 Robotics: Computational Motion Planning 第2+3+4周 课后习题解答

    Computational Motion Planning 第2+3+4周 2 Robotics: Computational Motion Planning WEEK - 2 Quiz Config ...

  5. Marvell校招新增数字后端工程师岗位

    Marvell招聘IC工程师 全球领先的芯片设计厂商Marvell开启校园招聘啦~ 新增数字后端工程师岗位(成都) 需要内推的童鞋可以 发送简历到邮箱taozhang3260@163.com 咨询:微 ...

  6. 内推贴 || Marvell 2021校园招聘火热开启

    Marvell招聘IC工程师 全球领先的芯片设计厂商Marvell开启校园招聘啦~ 大量前端,DFT, 验证等岗位 需要内推的童鞋可以 发送简历到邮箱taozhang3260@163.com 咨询:微 ...

  7. 常用集成电路名词缩写汇总(第二版)

    重要说明 整个集成电路的设计和生产链路很长,相关专有名称很多; 本文对常见的集成电路相关的名词缩写进行了汇总,特别聚焦与集成电路设计领域,意在整理常用的数字电路/DC/PT/ICC/DFV/DFT/R ...

  8. [2019 ICRA] Uncertain-Aware Path Planning for Navigation on Road Networks Using Argumented MDPs

    文章目录 Introduction Environment AMDP based planning Introduction 这篇paper的motivation就是planning algorith ...

  9. 如何通过设计验证让SoC芯片流片成功

    原文并没有介绍后仿.即netlist的presim/postsim(presim是未经过后端布局布线的netlist,sdf文件由PrimeTime产生:postsim是经过后端布局布线的netlis ...

最新文章

  1. myeclipse 遇到的一些问题及解决方案
  2. linux时间 a x z,关于linux的命令一个莫名的想法,a到z有哪些命令
  3. C# 使用正则表达式去掉字符串中的数字
  4. Kinect for windows的重力感应和角度马达
  5. 【Java Web开发指南】线程安全和单线程
  6. leetcode 1293. Shortest Path in a Grid with Obstacles Elimination | 1293. 网格中的最短路径(BFS)
  7. DevExpress lookupedit下拉列表不显示内容的问题
  8. PyTorch学习—8.模型创建步骤与nn.Module属性
  9. 实操:SparrowRecsys的首次运行
  10. POI合并单元格时CellRangeAddress类提示过时之解决
  11. 路由器的硬件测试软件,路由器也跑分?路由器测试App路小胖体验
  12. 自学Shiro框架笔记
  13. 万能开头结尾(申论)
  14. IT外包项目质量把控
  15. 两个三维图像互信息python_含有两个数字的词语
  16. 【评测】照胶的仪器选购
  17. 欢喜传媒2021年报:亏损收窄背后,影视行业静待春暖花开
  18. nltk中文分句_如何使用nltk进行中文分词?
  19. c语言输出一行星星代码,C语言打印星星的问题
  20. 目前国内常用的无纸化会议系统——迅控无纸化

热门文章

  1. my ReadBook_guanlixinxixitong / 02382 / MIS / mis / 20130112 PM
  2. 第七章、Groovy面向对象
  3. Linux源码编译安装apache httpd2.4.48
  4. BI神器Power Query(4)-- PQ导入动态名称定义的表格
  5. 设备信息之硬盘序列号、设备序列号、操作系统安装时间、IP地址
  6. S32K144之SDK版:CAN模块应用
  7. c++使用制表符\t
  8. 金刚菩提子开裂自动修复此计算机,金刚菩提子裂了怎么办 教你这些修复方法...
  9. 如何从省级地图数据中裁剪出州级地图数据
  10. 原来贝叶斯统计分析这么简单?这个技巧了解一下