- UID
- 1023229
- 来自
- 中国
|
最近几天,我在用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是周期信号)。 |
|