Re: [問題] VERILOG 時脈問題
※ 引述《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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 3 篇):