微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > ncsim仿真D触发器错误

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,不知道这是什么原因。
麻烦高手帮我看看,这可能是什么原因产生的,多谢!

查看时钟、复位端口是否是毛刺出现



     谢谢你的回复!     查看了,时钟端和复位端都没有的。不过如果加入器件延迟的话,会在复位端有个窄脉冲;但如果不加器件延迟的话,复位端是没有毛刺或脉冲的,但输出却发生了变化,这个就不清楚怎么回事了。



    很明显,这就是毛刺引起的了,你没有弄明白RTL级别和GATE/CHIP级别的区别
    RTL级别的0毛刺,就是实际会存在的毛刺,这也是为什么要求在RTL代码中,加入必要的延迟,就是为了匹配实际情况



   谢谢!但我不明白的是我在无延迟网表仿真时,是不存在这个毛刺的,又如何使输出发生变化?期待你的回复

okokokokokok



    请明白:0毛刺=/=无毛刺,只是小的你看不到而已,在仿真器时间轮上,这段时间被认为是一个极小的时间

拿波形图出来才是正经



   谢谢你的再次回复!我想问下,我如何能够看下这个极小时间内的波形变化情况?进一步提高仿真的精度吗,还是?请赐教



   好的,明天我把波形发上来大家看下!谢谢!



    我在之前的回答中,也已经说明了,并且你也那么做了。在RTL中,添加必要的传播延迟,特别是时序单元



   好的,谢谢!

sdfgfgkjhlkjgfdjgflkjhlk

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top