Verdi_如何dump信号的驱动强度
需求背景
在Verilog
语法标准中,0
和1
各自被分成了8
个强度等级;
Strength Name | Strength Name | Strength Level |
---|---|---|
supply 0 | supply 1 | 7 |
strong 0 | strong 1 | 6 |
pull 0 | pull 1 | 5 |
large 0 | large 1 | 4 |
weak 0 | weak 1 | 3 |
medium 0 | medium 1 | 2 |
small 0 | small 1 | 1 |
highz 0 | highz 1 | 0 |
VCS
仿真默认只记录逻辑0
和逻辑1
,不记录强度;
许多协议中,信号的驱动强度是有规定的;
如果仿真错误是由于驱动强度引起的,单纯从默认的波形中难以发现;
使能方法
方法一
在simv
仿真选项中加入+fsdb+strength=on
,单次生效;
on
,使能;off
,关闭;
simv <other options> +fsdb+strength=on
方法二
定义环境变量NOVAS_FSDB_STRENGTH
,全局生效;
1
,使能;0
,关闭;
setnv NOVAS_FSDB_STRENGTH 1
效果示例
默认波形(无strength
):
使能后波形(有strength
):
参考:
【新思验证小课堂】【Verdi】如何dump信号的驱动强度:https://www.bilibili.com/video/BV1ds4y1y7aV/?spm_id_from=333.999.0.0&vd_source=1f0262949a2c3f16eba5397faec73908