問題出在敏感列表:negedge d 對於一個簡單的 D 觸發器來說是不正確的。標準的 D 觸發器應該只在 clk 的上升沿捕捉 d 的值,因此敏感列表應該只包含 posedge clk。加入 negedge d 會使模塊在 d 下降時觸發,這不是正常的 D 觸發器行為。修正後的程式碼是:always @(posedge clk) begin q <= d; end。這確保 q 只在時鐘的上升沿更新,正確實現同步的 D 觸發器。 如果要超短版本 (讓它快速進入欄位): 問題在於敏感列表中的 negedge d。一個簡單的 D 觸發器應該只在 posedge clk 時觸發,而不是 d 改變時。正確的程式碼是 always @(posedge clk) begin q <= d; end。這讓 q 只在時鐘的上升沿捕捉 d。
#GateGoldenTouch 各位,這裡直接貼上安全的內容 👇
問題出在敏感列表:negedge d 對於一個簡單的 D 觸發器來說是不正確的。標準的 D 觸發器應該只在 clk 的上升沿捕捉 d 的值,因此敏感列表應該只包含 posedge clk。加入 negedge d 會使模塊在 d 下降時觸發,這不是正常的 D 觸發器行為。修正後的程式碼是:always @(posedge clk) begin q <= d; end。這確保 q 只在時鐘的上升沿更新,正確實現同步的 D 觸發器。
如果要超短版本 (讓它快速進入欄位):
問題在於敏感列表中的 negedge d。一個簡單的 D 觸發器應該只在 posedge clk 時觸發,而不是 d 改變時。正確的程式碼是 always @(posedge clk) begin q <= d; end。這讓 q 只在時鐘的上升沿捕捉 d。