ncsim仿真D触发器错误
时间:10-02
整理:3721RD
点击:
最近在仿真一个程序,发现其中的一个D触发器错误,现象为:
time(ns) D CLK RST_ Q
0 1 0 0 0
5 1 0 0->1 0
10 1 0->1 1 1
20 1 1->0 1 1
30 1 0 1 0 (此处输出错误)
40……
……
在上面的30ns处产生错误了,输入没有变化,输出Q却从1变为了0,不知道这是什么原因。
麻烦高手帮我看看,这可能是什么原因产生的,多谢!
time(ns) D CLK RST_ Q
0 1 0 0 0
5 1 0 0->1 0
10 1 0->1 1 1
20 1 1->0 1 1
30 1 0 1 0 (此处输出错误)
40……
……
在上面的30ns处产生错误了,输入没有变化,输出Q却从1变为了0,不知道这是什么原因。
麻烦高手帮我看看,这可能是什么原因产生的,多谢!
查看时钟、复位端口是否是毛刺出现
谢谢你的回复! 查看了,时钟端和复位端都没有的。不过如果加入器件延迟的话,会在复位端有个窄脉冲;但如果不加器件延迟的话,复位端是没有毛刺或脉冲的,但输出却发生了变化,这个就不清楚怎么回事了。
很明显,这就是毛刺引起的了,你没有弄明白RTL级别和GATE/CHIP级别的区别
RTL级别的0毛刺,就是实际会存在的毛刺,这也是为什么要求在RTL代码中,加入必要的延迟,就是为了匹配实际情况
谢谢!但我不明白的是我在无延迟网表仿真时,是不存在这个毛刺的,又如何使输出发生变化?期待你的回复
okokokokokok
请明白:0毛刺=/=无毛刺,只是小的你看不到而已,在仿真器时间轮上,这段时间被认为是一个极小的时间
拿波形图出来才是正经
谢谢你的再次回复!我想问下,我如何能够看下这个极小时间内的波形变化情况?进一步提高仿真的精度吗,还是?请赐教
好的,明天我把波形发上来大家看下!谢谢!
我在之前的回答中,也已经说明了,并且你也那么做了。在RTL中,添加必要的传播延迟,特别是时序单元
好的,谢谢!
sdfgfgkjhlkjgfdjgflkjhlk
