最近几天,我在用Verilog对一个小电路进行仿真。我想写一个延时模块,把输入信号延时一个给定值之后,再输出。
用语句: assign #delaytime syncdelay= sync; 即可实现。
用如下的语句模块,会出现问题:
initial begin
syncdelay2=1'b0;
forever begin
syncdelay2=#delaytime sync;
$display("Simtimeof delayelement =%t",$time);
end
end
在Modsim命令窗口打印结果:
# Simtimeof delayelement = 0
# Simtimeof delayelement = 2300
# Simtimeof delayelement = 4600
。。。。。。
实际上,forever语句在这里并不能起到预想的延时效果。
最后造成syncdelay2与sync的前沿之间存在晃动(sync是周期信号)。



最新评论
2 天 6 小时之前
2 天 6 小时之前
2 天 6 小时之前
2 天 10 小时之前
3 天 6 小时之前
5 天 4 小时之前
5 天 11 小时之前
6 天 1 小时之前
6 天 7 小时之前
6 天 10 小时之前