1. 程式人生 > >Verilog中同步復位,非同步復位,非同步復位同步釋放

Verilog中同步復位,非同步復位,非同步復位同步釋放

簡介

在實際的工程中選擇復位策略之前必須考慮許多設計方面的問題,如使用同步復位或者非同步復位或者非同步復位同步釋放(Asynchronous Reset Synchronous Release或者Synchronized Asynchronous Reset),以及是否每一個觸發器都需要進行復位。復位的基本目的是使器件進入到可以穩定工作的確定狀態,這避免了器件在上電後進入到隨機狀態導致跑飛了。在實際設計過程中,設計者必須選擇最適合於設計本身的復位方式。

同步復位

同步復位就是指復位訊號只有在時鐘上升沿到來時,才能有效。同步復位RTL程式碼:


綜合後的RTL圖如下:


非同步復位

非同步復位是指無論時鐘沿是否到來,只要復位訊號有效,就對系統進行復位。非同步復位RTL程式碼:

綜合後的RTL圖如下:


同步復位與非同步復位的優缺點

同步復位的優點:

  • 一般能夠確保電路是百分之百同步的。
  • 確保復位只發生在有效時鐘沿,可以作為過濾掉毛刺的手段。

同步復位的缺點:

  • 復位訊號的有效時長必須大於時鐘週期,才能真正被系統識別並完成復位。同時還要考慮如:時鐘偏移、組合邏輯路徑延時、復位延時等因素。
  • 由於大多數的廠商目標庫內的觸發器都只有非同步復位埠,採用同步復位的話,就會耗費較多的邏輯資源。

非同步復位優點:

  • 非同步復位訊號識別方便,而且可以很方便的使用全域性復位。
  • 由於大多數的廠商目標庫內的觸發器都有非同步復位埠,可以節約邏輯資源。

非同步復位缺點:

  • 復位訊號容易受到毛刺的影響。
  • 復位結束時刻恰在亞穩態視窗內時,無法決定現在的復位狀態是1還是0,會導致亞穩態。
非同步復位同步釋放

使用非同步復位同步釋放就可以消除上述缺點。所謂非同步復位,同步釋放就是在復位訊號到來的時候不受時鐘訊號的同步,而是在復位訊號釋放的時候受到時鐘訊號的同步。非同步復位同步釋放的原理圖和程式碼如下: