FPGA的建立時間、保持時間、傳播延時、組合邏輯延時都是什麼呢?

建立時間(Setup Time)是指觸發器的時鐘信號上升沿到來之前,數據保持穩定不變的時間。

輸入信號應該提前時鐘上升沿(如上升沿有效)T時間到達芯片,這個 T就是建立時間。如果不滿足建立時間要求,這個數據就不能被這一時鐘打入觸發器,只有在下一個時鐘上升沿,數據才能被打入觸發器,或者說,該數據就會被永久“跳過”而未被“採樣”。舉個例子:坐火車時需要提前到站檢票安檢,而不是一到火車站就可以乘坐,必須的提前到站的時間就是建立時間。

如果數據信號在時鐘沿觸發前的持續時間超過了建立時間 Tsu,那麼這個時間間隔就叫做建立時間裕量。

保持時間(Hold Time)是指觸發器的時鐘信號上升沿到來之後,數據保持穩定不變的時間(數據保持不變以便能夠穩定讀取,如果保持時間不滿足的話,那麼數據便不能被有效讀取並轉換為輸出)。

如果數據信號在時鐘沿觸發後的持續時間超過了保持時間 Th,那麼這個時間間隔就叫做保持時間裕量。

總結(Summary):建立時間和保持時間這兩個時序參數是測試芯片對輸入信號和時鐘信號之間的時間要求,也就是它們表徵了時鐘邊沿觸發前後數據需要在鎖存器的輸入持續時間,是芯片本身的特性。其實,這期間其實還涉及到競爭冒險的問題,也就是毛刺,建立保持時間的存在即是觸發器內部的特性又在屏蔽毛刺方面起到了一定的作用。

傳播延遲(Propagation Delay)是指一個數字信號從器件(一般是 DFF,符號表示為 Tcq)的輸入端到輸出端所需的時間。一般在 FPGA 中是指時鐘上升沿之後延時 Tcq 的時間,數據才到達寄存器 Q 端。

區別於門傳播延時:證明其對輸入信號變化響應有多快,表示為信號通過該門所經歷的時間,定義為輸入信號和輸出信號波形在 50% 翻轉點之間的時間。

組合邏輯延時(Combinational Logic Delay)是指兩級寄存器之間的輸出端 Q 到輸入端 D 之間的組合邏輯延時,符號表示為 Tlogic

總結(Summary):傳播延時是同一個寄存器的輸入到輸出的延時,組合邏輯延時是不同寄存器的輸出到輸入之間的延時。

案例分析(Case Analysis):

主從式上升沿觸發寄存器:

從電路分析可知,在時鐘上升沿到來之前數據必須要被送到第一級電路的鎖存器裡面,即 M 端。

為什麼呢?因為如果時鐘上升沿到來時,數據沒有被送到 M 端,而當時鐘上升沿一來,此時 T2 右端與 M 端的信號就會不一致,M 端為舊數據,T2 右端為新數據,那麼舊數據可能會將新數據沖刷替代掉(這種情況是不確定的,處於亞穩態)。

FPGA的建立時間、保持時間、傳播延時、組合邏輯延時都是什麼呢?

對於建立時間Tsu,在 clk 上升沿到來時,數據要被傳到 M 端,需經過 I1,T1,I3,I2 。故在時鐘上升沿到來前 Tsu = TI1 + TT1 + TI3 + TI2時間數據 D 就必須送到寄存器輸入端,這個時間就是三個反相器加一個傳輸門的延時。

對於保持時間 Th,從電路可以看到,當時鐘上升沿一來,T1 就關閉了,就算關閉具有延遲,上升沿一到,數據立即就變化了,還是要經過一個反相器 I1 才能傳到 T1,故不擔心數據會被送進去,因此保持時間可以為零,Th = 0。當然這是對於這個主從式結構的寄存器而言,其他的寄存器的保持時間不一定為零。

對於傳輸延時 T從電路分析,當時鐘上升沿來了之後,數據還需要經過 T3,I6 才能傳到 Q 端,故這個寄存器的傳輸延時 Tcq= TI6 + TT3。

內容來源於網絡,如有侵權,請聯繫刪除。


分享到:


相關文章: