在sv testbench中加checker的几种办法
1.最简单的if else
if (property) begin$error("Error");end else begin$display("Pass");end
同时可以在脚本中加入筛选错误信息的判断语句,如果有error这个关键词,就return出FAIL 信息在terminal。
# Search for error message
if grep -q error "$wrapper_tb_sim.log"; thenecho "***************************************"echo " TEST FAIL "echo "***************************************"elseecho "***************************************"echo " TEST PASSED "echo "***************************************"
fi
2. MACRO宏定义
VCS不支持立即断言,那么可以写一个宏:
- 查一下为什么VCS不支持立即断言,cadence是否有支持立即断言的tool
`define CHECKER(CHKNAME, PROPERTY, ERROR_CODEBLOCK, ERROR_MSG, PASS_CODEBLOCK, PASS_INFO) \if (!(PROPERTY)) begin \$error(`"CHKNAME`", ": ", ERROR_MSG) \ERROR_CODEBLOCK \end \else begin \PASS_CODEBLOCK \PASS_INFO \end \CHKNAME: assert(PROPERTY);
在test中可以进行如下调用:
`CHECKER(default_value_none_zero, data_out == 0, , ("Error"), ,("OK"))
3. SVA断言
在sv testbench中加checker的几种办法相关推荐
- swift 中加载nib两种方式
1, 2,
- VC中使用全局变量的2种办法及防错措施
有人问特整理出来 1. 对于全局变量存在和函数一样的问题,为了在其他CPP文件中能够访问这些变量,必须在主文件的H文件中加上extern声明,格式如下: extern varibletype var; ...
- SAP系统中发送消息的几种办法
1.SM02 创建消息,并设定有效期.当用户刷新窗口或打开窗口时会显示. 这个消息对client中的所有用户有效 2.So00中创建"到期邮件" So00中创建一个普通邮件,在下面 ...
- 在java中创建线程有几种办法_Java中创建线程的几种主流方式
继承Thread类 继承Thread类,并重写它的run方法,就可以创建一个线程了,当然线程是如何真正被启动,可以参考我之前的 为什么start方法才能启动线程,而run不行? class Think ...
- 在VC6.0中使用GDI+的两种办法
朱金灿 GDI+是GDI的升级版本.在VC6.0中并没有配备GDI+的相关文件.那么如何在VC6.0使用GDI+呢?我从网上搜索了一些资料,并结合自己的使用,总结出一下两种方法.下面我各建一个MFC工 ...
- html中加入清除浮动,HTML中清除浮动的几种办法
为什么会有浮动 在一张HTML里,元素的排序方式遵循文档流.即是依次排序.从上到下,从左到右依次排序. 而脱离文档流就意味着不再遵循此规则.可以通过float与positon使得元素脱离文档流,当给一 ...
- 在VC6 0中使用GDI+的两种办法
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 朱金灿 ...
- Latex文字加颜色的三种办法
1 组合red.green和blue的值合成我们想要的颜色 \usepackage{color} \textcolor[rgb]{r,g,b}{text} 其中{r,g,b}代表red.green和b ...
- MFC中关闭窗口的几种方法
MFC中关闭窗口的几种办法: 退出程序用AfxGetMainWnd()->SendMessage(WM_CLOSE); 关闭当前窗口用DestroyWindow( ); 关闭模式对话框用EndD ...
- sv验证中记分板的作用_将记分员添加到您的Python游戏中
sv验证中记分板的作用 这是有关使用Pygame模块在Python 3中创建视频游戏的系列文章的第10部分. 以前的文章是: 通过构建一个简单的骰子游戏,学习如何用Python编程 使用Pygame模 ...
最新文章
- WebRequest 请求被中止: 请求已被取消。 错误解决方法
- Masonry自动布局详解一:基本用法
- 组合数 com(n,r)
- [PLSQL] 游标学习
- ElasticSearch之基于地理位置的搜索
- 增加数据_数据来了!集装箱运量猛增,到底增加了多少!?
- FunDA(9)- Stream Source:reactive data streams
- Laplace-Beltrami operator的理解
- ALSA驱动中snd_soc_write()原理分析及demo(二十二)
- 早上内部资源共享讨论发言稿
- 分享超实用的web网页开发框架
- 安卓网络测试工具_【网速】最佳手机网速测试工具
- 微星z370安装linux系统,微星Z370-A PRO主板u盘装系统win10教程
- 微博三方登陆原理讲解
- C#:BackgroundWorker的简单使用
- 云时代的应用性能管理(APM)
- GRE词汇意群法速记
- 【第十章 线性代数之 特征向量与特征值】3Blue1Brown
- React 版本的真开箱即用的富文本编辑器wysiwyg
- CDISC SDTMIG4.1.4.3 时间间隔和持续时间变量DUR的使用
热门文章
- 交换机vlan划分实验
- Foxit PDF SDK ActiveX 5.9.1 Crack
- linux怎样入门,Linux新手如何入门?给新手的四点建议!
- gridview 排序
- error PRJ0003 : 生成“C:\WINDOWS\system32\cmd.exe”时出错
- 所谓更牛,就是换个罪受!——《时间的朋友2016跨年演讲》深入笔记
- c盘满了怎么办?如何快速清理内存(6个方法)
- 2008 r2 server sql 中文版补丁_SQL Server各版本代号、补丁汇总(非官方)
- C语言程序设计题(带答案)
- DM适配Python