非同步復位,同步釋放

2022-06-12 08:12:07 字數 1539 閱讀 2434

在系統復位時,如果clk的上公升沿與rst_n的下降沿同時到達,系統會先響應復位訊號。但是clk上公升沿與rst_n 上公升沿同時到達使,就可能會出現短暫的競爭冒險問題。

解決方法:

1、  非同步復位設計:優點:節省資源,設計簡單,方便fpga識別復位訊號。

缺點:在復位釋放時容易出現競爭冒險,容易受到毛刺的干擾。

2、  同步復位設計:優點:降低亞穩態概率,100%的同步電路,大大有利於時序分析,綜合出來的fmax一般比較高。濾除高於時鐘頻率的毛                                     刺。  

缺點:復位訊號有效長必須大於時鐘週期。浪費資源(dff都只有非同步復位端,沒有同步復位端)。

3、  非同步復位的同步化設計:先用d觸發器打一拍然後提供給剩下的時序電路使用。

非同步復位:針對d觸發器它是非同步的。

同步釋放:同步時鐘的時候才有效,同步化復位電路。

非同步復位,同步釋放 的具體方法:

1,  無pll,可以先延時一段時間後送出乙個延時完成標誌訊號。

reg

rst_n1,rst_n2;

always @(posedge clk) //

同步化begin

if(!rst_n)

begin

rst_n1

<= 0

; rst_n2

<= 0

;

endelse

begin

rst_n1

<= 1

; rst_n2

<=rst_n;

endend

reg delay_done; //

延時完成標誌

wire

rst_n_n;

assign rst_n_n = rst_n2&delay_done;

view code

2、有pll的情況下,借助pll時鐘完成所存訊號的鎖存端。  

reg

rst_n1,rst_n2;

always @(posedge clk) //

同步化begin

if(!rst_n)

begin

rst_n1

<= 0

; rst_n2

<= 0

;

endelse

begin

rst_n1

<= 1

; rst_n2

<=rst_n;

endend

wire locked; //

pll完成所存訊號

wire

rst_n_n;

assign rst_n_n = rst_n2&locked;

view code

對於非同步復位、同步釋放的理解:

同步復位 非同步復位 非同步復位同步釋放筆記

同步復位 非同步復位 非同步復位同步釋放筆記 一般來說,競爭 冒險是由於組合電路競爭冒險產生毛刺,從而影響整個邏輯電路。其實時序電路中也是存在競爭 冒險的,而這一特性主要是由d觸發器輸入端訊號之間的竟爭產生的。存在以下兩種競爭 冒險。1 clk上公升沿與rstn下降沿同時到達 實際上對於d觸發器而言...

非同步復位同步釋放

結構簡單,節省資源 待深度挖掘,為什麼就結構簡單了呢?1 這裡有乙個巨集觀解釋 最好是系統一起復位釋放,但是時鐘域不同,不可能保證系統一起復位釋放。一般來說,系統復位釋放的順序,是需要保證的。否則系統就是不安全的。舉個例子,系統啟動時,核心讀取啟動指令,要powerdown某外設 但是powerdo...

非同步復位同步釋放

簡介 在實際的工程中選擇復位策略之前必須考慮許多設計方面的問題,如使用同步復位或者非同步復位或者非同步復位同步釋放 asynchronous reset synchronous release或者synchronized asynchronous reset 以及是否每乙個觸發器都需要進行復位。復位...