一、影響亞穩態產生的因素:
(1)對於時鍾和數據信號,分析setup建立時間和hold保持時間
setup建立時間:在有效的時鍾沿來臨前,數據需要保持穩定的最短時間,簡寫為Tsu;
hold保持時間:在有效的時鍾沿來臨后,數據需要保持穩定的最短時間,簡寫為 Th;
(2)對於時鍾和異步復位信號,分析recovery恢復時間和removal移除時間
recovery恢復時間:在有效的時鍾沿來臨前,異步復位信號撤銷后保持穩定的最短時間;
removal移除時間:在有效的時鍾沿來臨后,異步復位信號有效保持的最短時間;
FPGA中亞穩態【Tsu建立時間】【Th保持時間】【Tmet決斷時間】【recovery恢復時間】【removal移除時間】
二、電路內部的建立時間與保持時間
建立時間公式:Tcycle + Tskew > Tco + Tgate + Tsu;
保持時間公式:Thold + Tskew < Tc0 + Tgate
例1. 下圖的電路中,flip-flop2 的setup time margin = ()ns
這個題目讓求setup time margin,意思大概就是建立時間裕量,就是系統周期減去Tco,Tgate以及Tsu之后還可以有多少裕量,那,Tco,Tgate以及Tsu當然要用最大的來代入,因為要保證系統在最惡劣的情況下,能有多少裕量。
因此:Tsetup_margin = Tclk + Tskew - (Tco + Tgate +Tsu)
Tsetup_margin = 10ns + 0.6ns - 0.2ns - 0.65ns - 0.35ns - 0.45ns = 8.95ns
其中0.6ns - 0.2ns表示的是時鍾偏斜量,可見是時鍾正偏斜,有利於時鍾裕量。
保持時間裕量 HoldSlack = Tcq+Tgate-Tskew-Thold
保持時間裕量 hold time margin = 0.25+0.15-0.6+0.2-0.1 = -0.1
例2. 在同步電路設計中,電路時序模型如下∶T1為觸發器時鍾到輸出延時,T2和T4為連線延時,T3為組合路徑延時,T5為時鍾網絡延時,假設時鍾周期為Tcycle ,Tsetup,Thold分別為觸發器建立保持時間,為保證正確采樣(改路徑為multi-cycle路徑),下列必須滿足的是︰D
A.T1+T2+T3+T4<Tcycle-Tsetup+T5,T1+T2+T3+T4>Thold
B.T1+T2+T3+T4<Tcycle-Tsetup,T1+T2+T3+T4+T5>Thold
C.T1+T2+T3+T4+T5<Tcycle-Tsetup,T1+T2+T3+T4>Thold
D.T1+T2+T3+T4<Tcycle-Tsetup+T5,T1+T2+T3+T4> Thold+T5
例3. 下圖中的電路,器件延遲如圖中標注,將框內的電路作為一個寄存器,其有效setup time = ? ns,hold time = ? ns
有效setup time分析:
對於D觸發器而言,Tsetup = 2ns,也就是說數據信號需要提前時鍾信號2ns到達觸發器D端。
考慮時鍾路徑延遲, Tsetup_valid = Tsetup - 1ns = 1ns ;
在考慮數路徑延遲: Tsetup_valid = Tsetup - 1ns +2ns = 3ns ;
有效hold time分析:
對於D觸發器而言,Thold = 2ns,也就是說數據信號需要在時鍾信號到達后保持2ns
考慮時鍾路徑延遲, Thold_valid = Thold + 1ns = 3ns ;
在考慮數路徑延遲: Thold_valid = Thold + 1ns -2ns = 1ns ;
例4. 如下分頻電路,觸發器DIV_F的建立時間2ns,保持時間2ns,邏輯延時6ns,反相器INV_1,INV_2的邏輯延時為2ns,連線延時為0,該電路正常工作的最高頻率?
這是一個觸發器到自身的反饋,可以看做兩個觸發器之間進行數據傳輸。
需要明白的是,由於時鍾到達這個觸發器的時間一致,所以不存在時鍾偏斜。
給出系統周期滿足的關系:
Tcycle > Tco + Tgate + Tsu - Tskew = 6 + 2 + 2 - 0 = 10ns
所以時鍾最大頻率可以為100MHz。
例5. 求該電路的固有建立時間與保持時間以及該電路的最高工作頻率。
1. 求該電路的固有建立時間與保持時間?
求電路的固有建立時間和保持時間和上一題的有效建立時間和保持時間是一個意思的。因此:
固有建立時間為:Tsu_valid = Tsu - T_offset + Tpd + Tpd1 = 2 - 1.2 + 1.2 + 0.9 = 2.9ns
固有保持時間為:Th_valid = Th + T_offset - Tpd - Tpd1 = 1.5 + 1.2 - 1.2 - 0.9 = 0.6ns.
2. 該電路的最高工作頻率?
先求系統的最小周期,考慮兩個觸發器之間的路徑:
Tmin = Tco + Tpd + Tsu = 1.8 + 1.2 + 2 = 5ns,那么系統最高頻率為200MHz。