复位信号是保持一段时间才能生效么?还是一出发就生效。
追答这句话的意思是过了3个时间延迟之后reset被置为0,至于什么时候生效其实要看你.v的程序是怎样来实现的了。
我举个例子:
module example(a,b,y);
input a,b;
output y;
always@(posedge clk)
begin
if(reset==0) begin
y=0;
end
else begin
y=a&b;
end
end
end module
这个普通的程序首先要有一个clk的上升沿来触发这个always模块,之后会判断reset是否为0,如果为0的时候就会对把输出y置为0,即起到了复位的效果。如果你reset置为0保持一段时间,你就可以在y的输出波形图上看到y的值一直为0。
所以在这个程序里复位信号需要置0一段时间,等要时钟上升沿来了之后才能生效。
最后,普遍来说,复位信号保持一段时间(若干周期)是非常必要的。