作者sasako (模糊地让我看不清)
看板Electronics
标题Re: [问题] VERILOG 时脉问题
时间Mon Aug 16 00:40:32 2010
※ 引述《zx33571163 (mm)》之铭言:
: always@(posedge clk or negedge reset )
: begin
: if(!reset)
: begin
: count=0;
: end
: else
: begin
: count1<=0;
: buffer<=bufin;
: count <=count+1;
: begin
: if(count==n)
: begin
: 判断<=1;
: end
: end
: end
: end
: end
: always@(posedge clk )
: begin
: if(判断==0)
: begin
: bufout<= 1'bz;
: end
: else if(判断==1)
: begin
: count <=0;
: bufout<= buffer;
: count1<=count1+1;
: begin
: if(count1==n)
: 判断<=0;
: end
: end
: end
: endmodule
: 我这样写
: 实际的输出结果会比我想要的输出 "慢1个CLOCK"
: 请问是哪出问题?
: 也就是判断==1 但bufout晚1个CLOCK出来
这样不是超级正常的吗?clk敲到,下1T出现结果,没有问题压!
flip flop就是这样动作的压!为什麽你第一个always有加reset
第二个却没有,假如你的sequential电路里面有if else,那麽
reset就必须加上去,不然在做coding rule check就是会叫你加,
回到原话题,要即时做出动作,就用combinational的写法...
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.169.76.239