異步復位同步釋放

簡介

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

同步復位

同步復位就是指復位信號只有在時鐘上升沿到來時,纔能有效。同步復位RTL代碼:
sync
綜合後的RTL圖以下:
rtl異步

異步復位

異步復位是指不管時鐘沿是否到來,只要復位信號有效,就對系統進行復位。異步復位RTL代碼:
async
綜合後的RTL圖以下:
rttasync

對比二者綜合後的RTL視圖,發現同步復位會多使用一些邏輯單元,這是由於Altera的元件庫中的觸發器帶有異步復位端。spa

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

同步復位的優勢:設計

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

同步復位的缺點:code

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

異步復位優勢:blog

  • 異步復位信號識別方便,並且能夠很方便的使用全局復位。
  • 因爲大多數的廠商目標庫內的觸發器都有異步復位端口,能夠節約邏輯資源。

異步復位缺點:資源

  • 復位信號容易受到毛刺的影響。
  • 復位結束時刻恰在亞穩態窗口內時,沒法決定如今的復位狀態是1仍是0,會致使亞穩態。
異步復位同步釋放

使用異步復位同步釋放就能夠消除上述缺點。所謂異步復位,同步釋放就是在復位信號到來的時候不受時鐘信號的同步,而是在復位信號釋放的時候受到時鐘信號的同步。異步復位同步釋放的原理圖和代碼以下:
ssget

 1 //Synchronized Asynchronous Reset
 2 module sync_async_reset (
 3         input    clock,
 4         input    reset_n,
 5         input    data_a,
 6         input    data_b,
 7         output   out_a,
 8         output   out_b);
 9         
10         reg     reg1, reg2;
11         reg     reg3, reg4;
12         assign  out_a = reg1;
13         assign  out_b = reg2;
14         assign  rst_n = reg4;
15         always @ (posedge clock, negedge reset_n) begin
16             if (!reset_n) begin
17                 reg3 <= 1'b0;
18                 reg4 <= 1'b0;
19             end
20             else begin
21                 reg3 <= 1'b1;
22                 reg4 <= reg3;
23             end
24         end
25         
26         always @ (posedge clock, negedge rst_n) begin
27             if (!rst_n) begin
28                 reg1 <= 1'b0;
29                 reg2 <= 1'b0;
30             end
31             else begin
32                 reg1 <= data_a;
33                 reg2 <= data_b;
34             end
35         end
36 endmodule  // sync_async_reset

 

 

參考資料:Quartus II Handbook Volume 1: Design and Synthesisinput

相關文章
相關標籤/搜索