仿真不打拍但并看不出来代码有什么问题时,可以通过查看波形细节进一步定位
在仿真时sim添加选项+fsdb+region:
仿真后在verdi的nwave窗口下点击view——>Expand Delta展开,选项不是灰色的,代表可以使用该功能。
将波形上的光标放在想查看的地方,先点击Region Mode,再点击Expand/collapse Time at Cursor或者W快捷键,就会出现光标所在位置的细节信号变化:
上图放大了两个时钟上升沿处的信号变化,每一次的放大分为Active Region和NBA region,其实就是阻塞赋值生效时间和非阻塞赋值生效时间,仿真器会模拟出寄存器的时延,给寄存器的输出结果与时钟沿中间加上δ时间间隔。
由此可以进一步发现信号是在哪一步没有在应该生效的区域生效。