recovery time和removal time
recovery time和removal time
同步電路
中,
輸入數據需要與
時鐘滿足
setup time和
hold time才能進行數據的正常傳輸,防止
亞穩態`。
同理,對一個異步復位
寄存器來說,同樣異步復位信號
同樣需要和時鐘
滿足recovery time
和removal time
才能有效
進行復位操作和復位釋放操作,防止輸出亞穩態
。
區別於聯繫
D pin
和clk
之間是check setup
和hold
,置位復位端
和clk
之間是check recover
和remove
。
removal time
/recovery time
類似於DFF的setup time / hold time,不同之處在於前者是用來描述異步復位
的。
一 般設計中,異步復位信號需要進行同步化處理
,即讓本來異步輸入的復位信號,用時鐘來鎖存,這樣本來和時鐘沒有相位關係
的復位信號就和時鐘用相位關係了。STA
時,如果DFF的異步rst和該DFF的時鐘有相位關係,則需要進行removal
和recovery
的檢查。removal
和recovery
檢查的目的是讓DFF的異步rst信號在時鐘沿附近滿足建立/保持時間
。當然,如果異步復位信號與時鐘沒有任何相位關係,則沒有必要做removal time /recovery time 檢查。
Recovery time is the minimum length of time an asynchronous control signal, for example, and preset, must be stable before the next active clock edge. The recovery slack time calculation is similar to the clock setup slack time calculation, but it applies asynchronous control signals.
Removal time is the minimum length of time an asynchronous control signal must be stable after the active clock edge. The TimeQuest analyzer removal time slack calculation is similar to the clock hold slack calculation, but it applies asynchronous control signals.
Recovery time specifies the time the inactive edge of the asynchronous signal has to arrive before the closing edge of the clock.
Removal time specifies the length of time the active phase of the asynchronous signal has to be held after the closing edge of the clock.
恢復時間(Recovery Time)
是指異步控制信號(如寄存器的異步清除和置位控制信號)在“下個時鐘沿”來臨之前變無效的最小時間長度。這個時間的意義是,如果保證不了這個最小恢復時間,也就是說這個異步控制信號的解除與“下個時鐘沿”離得太近(但在這個時鐘沿之前),沒有給寄存器留有足夠時間來恢復至正常狀態,那麼就不能保證“下個時鐘沿”能正常作用,也就是說這個“時鐘沿”可能會失效。
去除時間(Removal)
是指異步控制信號(如寄存器的異步清除和置位控制信號)在“有效時鐘沿”之後變無效的最小時間長度。這個時間的意義是,如果保證不了這個去除時間,也就是說這個異步控制信號的解除與“有效時鐘沿”離得太近(但在這個時鐘沿之後),那麼就不能保證這個“有效時鐘沿”能正常作用,也就是說這個“有效時鐘沿”可能會失效。
也就是說recovery time
和removal time
都是檢查異步信號
(reset或preset或set)的釋放沿
,釋放沿必須在時鐘沿前面提前recovery time
釋放,或者在時鐘沿後removal time
之後釋放。
對於異步復位
而言,假設是低電平有效,那麼很容易碰到的情況就是我在釋放該信號的時候,發現它的釋放沿居然跟時鐘跳變沿太接近了
!這會導致D觸發器處於亞穩態。我們知道,上圖的reset_n信號是接D觸發器的直接復位端的。如果兩個跳變沿過於接近,那麼D觸發器就有可能發現自己該採樣了,但是復位信號還沒取消呢!採還是不採就不能確定。所以,我們要求reset_n
信號釋放的時候,必須遠離clock上升沿recovery time +removal time
這麼大的時間區域,其中clock上升沿之前的必須遠離的那段時間叫做recovery time
,上升沿之後必須遠離的那段時間叫做removel time
。簡單的講,兩者不能同時跳變,或者接近同時跳變!