Assertion-Based Verification01-----Introduction to OVL
文章目录
- 《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相关推荐
- Trunk Based Development介绍——TBD Workflow(一)
前言 在介绍TBD Worflow的部署之前,我们先来看一下什么是TBD,以下文章参考 Trunk Based Development: Introduction 简介 TBD准确的说不是一种&quo ...
- RTL设计推荐的各步骤 推荐工具 适合VHDL verilog
初学EDA时候,大家都在找工具而烦恼,有些工具不是没有license 就是不会设置,要不就是不会用,还担心这个以后有人用么? 所以,我通过自己的体会,推荐大家给大家一个学习时候的流程,和一个业界用流程 ...
- SystemVerilog与功能验证
目录 一.功能验证流程 二.验证手段.验证技术.验证方法学 三.数据类型与编程结构 四.并发进程与进程同步 五.面向对象编程 六.虚接口 七.随机测试 八.继承与多态 九.功能覆盖率 十.断言 一.功 ...
- 2 Robotics: Computational Motion Planning 第2+3+4周 课后习题解答
Computational Motion Planning 第2+3+4周 2 Robotics: Computational Motion Planning WEEK - 2 Quiz Config ...
- Marvell校招新增数字后端工程师岗位
Marvell招聘IC工程师 全球领先的芯片设计厂商Marvell开启校园招聘啦~ 新增数字后端工程师岗位(成都) 需要内推的童鞋可以 发送简历到邮箱taozhang3260@163.com 咨询:微 ...
- 内推贴 || Marvell 2021校园招聘火热开启
Marvell招聘IC工程师 全球领先的芯片设计厂商Marvell开启校园招聘啦~ 大量前端,DFT, 验证等岗位 需要内推的童鞋可以 发送简历到邮箱taozhang3260@163.com 咨询:微 ...
- 常用集成电路名词缩写汇总(第二版)
重要说明 整个集成电路的设计和生产链路很长,相关专有名称很多; 本文对常见的集成电路相关的名词缩写进行了汇总,特别聚焦与集成电路设计领域,意在整理常用的数字电路/DC/PT/ICC/DFV/DFT/R ...
- [2019 ICRA] Uncertain-Aware Path Planning for Navigation on Road Networks Using Argumented MDPs
文章目录 Introduction Environment AMDP based planning Introduction 这篇paper的motivation就是planning algorith ...
- 如何通过设计验证让SoC芯片流片成功
原文并没有介绍后仿.即netlist的presim/postsim(presim是未经过后端布局布线的netlist,sdf文件由PrimeTime产生:postsim是经过后端布局布线的netlis ...
最新文章
- myeclipse 遇到的一些问题及解决方案
- linux时间 a x z,关于linux的命令一个莫名的想法,a到z有哪些命令
- C# 使用正则表达式去掉字符串中的数字
- Kinect for windows的重力感应和角度马达
- 【Java Web开发指南】线程安全和单线程
- leetcode 1293. Shortest Path in a Grid with Obstacles Elimination | 1293. 网格中的最短路径(BFS)
- DevExpress lookupedit下拉列表不显示内容的问题
- PyTorch学习—8.模型创建步骤与nn.Module属性
- 实操:SparrowRecsys的首次运行
- POI合并单元格时CellRangeAddress类提示过时之解决
- 路由器的硬件测试软件,路由器也跑分?路由器测试App路小胖体验
- 自学Shiro框架笔记
- 万能开头结尾(申论)
- IT外包项目质量把控
- 两个三维图像互信息python_含有两个数字的词语
- 【评测】照胶的仪器选购
- 欢喜传媒2021年报:亏损收窄背后,影视行业静待春暖花开
- nltk中文分句_如何使用nltk进行中文分词?
- c语言输出一行星星代码,C语言打印星星的问题
- 目前国内常用的无纸化会议系统——迅控无纸化
热门文章
- my ReadBook_guanlixinxixitong / 02382 / MIS / mis / 20130112 PM
- 第七章、Groovy面向对象
- Linux源码编译安装apache httpd2.4.48
- BI神器Power Query(4)-- PQ导入动态名称定义的表格
- 设备信息之硬盘序列号、设备序列号、操作系统安装时间、IP地址
- S32K144之SDK版:CAN模块应用
- c++使用制表符\t
- 金刚菩提子开裂自动修复此计算机,金刚菩提子裂了怎么办 教你这些修复方法...
- 如何从省级地图数据中裁剪出州级地图数据
- 原来贝叶斯统计分析这么简单?这个技巧了解一下