打印

关于信号延迟问题

[复制链接]
1618|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
目前小弟在做个小实验。需要将一信号延迟一段时间后再输出。但是仿真的结果都不对。希望各位给点建议

module delay(clk,sigin,clkout);
input clk,sigin;
output clkout;
reg clkout;
reg [0:4] cnt;
integer k1;
always@(posedge sigin)
begin
if(sigin==1)
k1=1;
else
k1=0;

end
always@(posedge clk)
begin
if(k1==1)
begin
cnt<=0;
end
if((cnt<4)&&(k1==1))
begin
cnt<=cnt+1;
clkout<=1;
end
else if(cnt==4)
begin
cnt<=0;
clkout<=0;
k1<=0;
end
else
clkout<=0;
end
endmodule

仿真波形.jpg (54.89 KB )

需要对输入的信号延迟t时间后再输出

需要对输入的信号延迟t时间后再输出

延迟t时间后输出.jpg (4.12 KB )

上面程序仿真出来的波形,不知道问题出在哪里。

上面程序仿真出来的波形,不知道问题出在哪里。

相关帖子

沙发
huangjianhuang|  楼主 | 2012-6-28 16:57 | 只看该作者
我qq 117519992也可以加我 谢谢

使用特权

评论回复
板凳
drentsi| | 2012-6-28 22:33 | 只看该作者
怎么这个问题那么像我当年招聘时出的题?

使用特权

评论回复
地板
forrest11| | 2012-6-28 22:55 | 只看该作者
应该是没有reset引起,cnt初始值不定。

使用特权

评论回复
5
GoldSunMonkey| | 2012-6-29 17:34 | 只看该作者
我觉得代码里面有问题,两个进程同时对K1进行赋值这是不可以的。
另外你的顺序执行的时候也有问题。

使用特权

评论回复
6
li37hao| | 2012-7-9 20:27 | 只看该作者
楼主要是理解了奇数分频的代码,应该就不会出现这些问题了

使用特权

评论回复
7
GoldSunMonkey| | 2012-7-9 22:12 | 只看该作者
:)

使用特权

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

本版积分规则

0

主题

23

帖子

0

粉丝