用verdi中的signal event report检测信号在一定时间内的行为

在做项目时,有时我们想统计某个信号的某个时间发生的情况。
例如,仿真过程中想知道I2C已经完成了多少个byte的传输,可以通过数rx/tx buffer的not empty信号的上升沿个数来确定,但如果没有在环境里创建相应的变量计数信号的上升沿个数,靠人力数又太麻烦,怎么办?
可以通过verdi的signal event report 功能实现,首先在波形窗口的左侧选择要检测的信号(一个或多个),在右侧用鼠标左键和中键选择好要检测的时间段,再点击波形窗口的view->signal event report,会出现如下窗口(这里借用了ic 君的图),通过该窗口可以看到上升沿个数,下降沿个数,占空比,翻转频率等信息。

在这里插入图片描述
有时,我们想检测的并不是一个简单的单bit信号,可能是多bit信号或多个信号的组合,这时我们可以用logical operation(signal->logical operation)功能,将所要检测的事件的发生/不发生用一个单bit信号表示。例如,为了检测一个2bit随机信号a[1:0]的值为2的次数,可以创建一个信号b= (a==2’b10)&clock(加clock是为了检测周期数),然后用signal event report检测b的行为。

参考文章:https://blog.youkuaiyun.com/crazybird1984/article/details/106648415

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值