现看一段代码
请根据这段代码写一个assertion检查 count 每次加5。
下面是一种写法
看起来不算太复杂。
但是如果让你写一个关于fifo 不能overflow 和 underflow的assertion呢?
是不是发现很头大?
笔者发现我们验证中很多assertion 具有一些共性,比如
某个条件永远不能发生;
某个条件一直为真;
req ack的检查;
在一段时间内,某条件一直为真;
fifo的检查;
等等
这些共性的东西,能不能整理成一个assertion的lib呢?带着疑问我们收集了网上的资料,开始并没有什么收获。
大部分资料都偏向基础的assertion语法解释。
直到我们看到这份文档,笔者大概猜到这就是我们要找的东西。
这完全符合我们最初的设想,有一系列的assertion checker library 可以供我们调用,实现一些通用的assertion检查。
回到上面第一个问题,我们要用assertion检查count按cycle每次加5怎么做?assert_increment 很好的解决了这个问题。
调用方法:
assert_increment #(0, 7, 5, 0,error: count has increased beyond allowable limit, 0, 0, 0, 1)invalid_count_increase (clk, reset_n, count);
第二个问题,fifo的underflow ,overflow的检查。可以用assert_fifo 检查。
说了这么多,很多人肯定想知道这个assertion checker library是放在哪里的。
答案是
$vcs_home/packages/sva/
没错,他就是vcs的 sva checker library!
我们点开一个assert_never 看下
各个参数和说明都有,完美!
IP网络存储的IP SAN支持
加密货币的近期价格走势分析
Co Globe鱼缸VR还存在问题,研究人员正试图将这些问题最小化
双11有哪些好用的降噪蓝牙耳机值得推荐?降噪耳机性价比排行
如何更好的安装和使用 labelimg
写assertion很痛苦?了解一下SVA Checker Library
单片机制作的数字电压表
中国运营商正在加速5G部署步伐对5G的投资将在2020年后进一步攀升
安立公司推出全新 PIM Master 选件以进行关键 LTE 及 UMTS 频带的“塔顶”测试
单片机采样模拟量数据的工作原理是怎样的
ZigBee技术的原理及特点
Realme似乎正式推出了Realme Q2系列
美国联邦通信委员会批准了SpaceX要求修改互联网传输卫星轨道的计划
VIAVI荣获“2021年度闪存测试与分析解决方案金奖”
Google欲用神经网络搜索来实现语义分割
环氧灌封胶及在IGBT功率模块封装中的应用简析
三星Galaxy Tab S6 Lite曝光 预计售价将低于399美元
磁翻板液位计堵塞故障解决措施有哪些
三相交流电路工作原理及介绍
如何降低功耗一直以来,都是物联网竞赛中的重头戏