打印

新手,写的timescale程序,时序仿真不是理想图,求解惑

[复制链接]
1871|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
我用的是quartus,我写了个timescale程序,请各位看看,编译通过但是时序仿真时就是不是理想图。
`timescale 100ns/10ns
module delay(din,dout);
input din;
output dout;
wire din;
reg dout;
always @(din)
    #3     dout=din;
endmodule
这个程序我理解的是输入有变化时,延时300ns后,输出才等于输入。我先用的是simulator tool的功能仿真,没有延时,如1图。后又用的时间仿真,延时有不到10ns,如2图。不知道为什么,请路过的解释解释。

1.png (2.18 KB )

1.png

2.png (2.9 KB )

2.png

相关帖子

沙发
0蛋骗鸡0| | 2012-4-12 11:07 | 只看该作者
本人也刚学,菜鸟一枚, 你试试在always@(din) 加入begin #3   dout=din; end

使用特权

评论回复
板凳
0蛋骗鸡0| | 2012-4-12 11:27 | 只看该作者
看错了,不是这个问题、只怪学艺不精,坐等答案

使用特权

评论回复
地板
0蛋骗鸡0| | 2012-4-12 15:33 | 只看该作者
楼主问题解决了记得上来说下,一起学习

使用特权

评论回复
5
笑溜溜+|  楼主 | 2012-4-20 23:19 | 只看该作者
4# 0蛋骗**0


'timescale,是仿真用的,不能用在RTL级表延时。可以用modelsim仿真一下

使用特权

评论回复
6
Backkom80| | 2012-4-21 11:58 | 只看该作者
你都知道这个原因,#不能用在RTL表延时,
那上面的问题不就清楚了。
你写的这是RTL模块吧,不是仿真时用的testbench
功能仿真将#3综合了,原因是RTL不能表延时
时序仿真那个不足10ns的延时,是因为器件延时和布线的延时。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

89

帖子

0

粉丝