【验证小bai】利用verdi让所有环境force现身

简介: 【验证小bai】利用verdi让所有环境force现身

匿名感谢一直默默提供各种素材和BUG的小伙伴!


刚开始入门的时候,有人和我讲宏、force和callback是验证环境的三个毒药 ,仿佛饮鸩止渴,虽然简洁快速,但是如果使用不当会使验证环境处于不可控的风险中。所以很长一段时间我都是避免使用force的,直到有一天我发现force是真的很爽\(^o^)/~不过呢还是得说,force确实有时会带来盲点,尤其是你忘了还有force这个事的时候。


force导致的问题通常都很隐蔽,比如我之前见到过得的封装uvm操作失误,在uvm_bd_read这类操作中误使用force,导致后门读取使得RTL挂死这种鬼神操作。通过verdi可以避免我们忘记force操作,目前我直到的有两种方式:在波形中显示force信息和打印所有force信息。


我在harness里加了这么一句:

initial begin
    #1000ns;
    force harness.u_mul.m_valid = 1;
    $display("force!!!");
    #10ns;
    release  harness.u_mul.m_valid;
end


在波形中显示force信息

在vcs run_option中添加:

RUN_OPTIONS += +fsdb+force


然后正常跑用力,看波形:



直接就一个无所遁形!


但是吧,如果跨逻辑的关联信号就看不出来了,比如这种代码下,tmp和被force的代码是完全等价的但是波形上看不出tmp的force状态:

wire tmp = m_valid;


那么这种时候怎么办呢?没啥太好的办法,第二种方式也不行。


打印所有force信息

here



继续



继续



OK



打开



就这样


相关文章
|
5月前
|
安全 JavaScript 前端开发
某光集团网站被加入利用ANI漏洞传播Worm.Win32.Viking.ix的代码
某光集团网站被加入利用ANI漏洞传播Worm.Win32.Viking.ix的代码
omni_usdt钱包文件keypoolsize是否持续为100个地址测试
omni_usdt钱包文件keypoolsize是否持续为100个地址测试
|
9月前
|
安全 虚拟化 数据安全/隐私保护
eve-ng镜像模拟设备-信息安全管理与评估-2023国赛
eve-ng镜像模拟设备-信息安全管理与评估-2023国赛
|
监控 网络协议 安全
eve-ng中模拟飞塔HA测试实验及理论
eve-ng中模拟飞塔HA测试实验及理论
414 1
eve-ng中模拟飞塔HA测试实验及理论
|
Windows
Win系统 - 色域、IPS、TN傻傻分不清楚?
Win系统 - 色域、IPS、TN傻傻分不清楚?
474 0
Win系统 - 色域、IPS、TN傻傻分不清楚?
|
传感器 编解码 安全
什么? Macbook 也有 Touch ID ! 原来都是因为它... | 众筹星探
自从 iPhone 有了 Touch ID ,你会发现指纹识别真的是一种简单好用的东西。它能让你不需要依靠冗长复杂的密码就能用简单地指纹进行解锁,又快又安全。但你有没有想过如果也能在你的 PC 甚至是 Macbook 上也配上指纹识别,那会是怎样?
198 0
什么? Macbook 也有 Touch ID ! 原来都是因为它... | 众筹星探
|
Android开发
Moto Z2 Force正式发布!史上最强模块化手机!
自从联想收购了摩托罗拉(MOTO)以后,整个摩托罗拉就开始走下坡路。
273 0
Moto Z2 Force正式发布!史上最强模块化手机!
|
存储 数据安全/隐私保护
Hopper Disassembler 逆向西数硬盘 WD My Passport 的失败经历
1、前言 一直以来都是使用西数的移动硬盘,最开始256G的 My Passport,当时也不知道,在电脑城就买了,回家发现可以设置密码,当然,我记得有密码的存储设备,是台电的U盘,当年16G的加密U盘,我也买了3个(因为当年最大16G容量),所以,之后就与加密的存储设备相惜相爱,现在西数的移动硬盘也是几代后的AES 256位硬件加密。
2112 0