這篇文章討論的物件是數字設計或fpga設計中一對重要概念——訊號的建立時間和保持時間。
最初考慮寫這篇文章僅是因為在建模pcf851(一款ad-da晶元)時,由於筆者沒有考慮到這方面的時序要求,雖然整體時序框架正確,但細節部分(具體的訊號時序,如上公升沿到來前訊號的到來時間)沒有注意,最終導致花了很長時間才找到問題所在。而後,逐漸了解到時序約束、sta等概念,其實在面試相關工作崗位時,有關建立時間(下文tsu)和保持時間(下文thd)的相關計算問題會是一道非常經典的面試題。
好,回歸正題,本文主要從以下幾方面進行闡述。
一、何為tsu和thd?
二、在典型同步電路分析中,tsu和thd應該滿足什麼要求?
圖1 典型同步電路示意圖
note:本文相關概念英文縮寫如下表
表1 相關概念中英文對照
概念英文縮寫
建立時間
tsu保持時間
thdff輸出延遲時間(又tcq,即從時鐘邊沿開始到資料從q端穩定輸出的時間)
tco組合邏輯消耗時間(又稱延遲時間)
tdelay(tcomb)
時鐘延遲時間
tpd時鐘週期
tclk
一、何為tsu和thd?
如下圖所示,1bit資料寬度為乙個時鐘週期,則:
建立時間(tsu):時鐘上公升沿到來之前,輸入端資料已經到來並穩定持續的時間間隔。
保持時間(thd):時鐘上公升沿到來之後,輸入端資料繼續保持穩定並持續的時間間隔。
tsu、thd、tclk三者的數學關係:tsu+thd=tclk.
note1:tsu和thd都是針對ff的輸入端而言的,分別對應時鐘沿的前和後,tsu
表示「預先準備」,
thd表示「事後不變」;對應地,tco(後文出現)是針對ff的輸出端而言的,特此宣告。
note2:由上圖可知,觸發器ff在上公升沿穩定採集(取樣)輸入端的資料,這樣一定能夠讀取到穩定的d1,而後ff會輸出資料;故,資料穩定傳輸必須滿足tsu和thd要求(晶元手冊給出),但,tsu和thd能不能隨意增大或減小呢?答:不能,這個問題的具體分析見第二節。
二、在典型同步電路分析中,tsu和thd應該滿足什麼要求?
如上圖1,為乙個典型的採用同乙個時鐘的同步電路模型。圖注中相關名稱的意義見第一節**。具體的:tsu_max=t1max、tsu_min=t1min;tdelay_max=t2max、tdelay_min=t2min;設ff2的建立時間t3和保持時間t4應該滿足什麼要求?(或者知道t3、t4,則該電路容許的最大時鐘週期是多少?)
第一步,畫出圖1電路對應的時序圖如下:
第二步,tsu時序約束分析:
如上圖,t3不能過大,若滿足tclk-tdelay-tco+tpd≥t3,意思就是除去組合邏輯電路延時、tco和tpd之和,剩下的時間若大於t3(留下的時間裕量比建立時間要大),那麼就能滿足建立時間。取tdelay_max,則t3
≤tclk+tpd-t2max-tco。
第三步,thd時序約束分析:
對t4(保持時間),如上圖,要滿足t4+tpd≤tco+tdelay,就是說ff1的輸出經過組合邏輯電路達到ff2的輸入端的時間如果小於ff2的保持時間和tpd之和(即要等到d2保持完畢,q1的資料才能送到d2),就會出現保持時間約束違反。取tdelay_min,則t4
≤tco+t2min-tpd。
如下,標註出t3、t4分析所在的時序範圍。(上述標紅式子為分析結果)
補充部分:
這裡採用另一種分析思路,也可以得到同樣的結論,不過角度有所不同。引入時間線timing_path、資料通路data_path和時鐘通路clk_path三個概念。
part1:建立時間
這種情況兩個通路時間的關係如下要滿足:
t3+tdata_path≤tclk_path+tclk
就是說,對ff2,資料要比時鐘「走得快」。
part2:保持時間
要滿足:tdata_path-t4≥tclk_path。
意思是說,防止ff1的輸出太快到達ff2輸入端而覆蓋掉原來ff2該保持的資料。
建立時間和保持時間
概念 對於乙個數字系統而言,建立時間和保持時間可以說是基礎中的基礎,這兩個概念就像是數位電路的地基,整個系統的穩定性絕大部分都取決於是否滿足建立時間和保持時間。但是對於絕大部分包括我在內的初學者來說,建立時間和保持時間的理解一直都是乙個很大的困擾,儘管概念背得住,但是卻沒有理解這其中的精髓。這篇文章...
建立時間和保持時間
一 概念 建立時間和保持時間都是針對觸發器的特性說的。時序圖如下 建立時間 tsu set up time 是指在觸發器的時鐘訊號上公升沿到來以前,資料穩定不變的時間,如果建立時間不夠,資料將不能在這個時鐘上公升沿被穩定的打入觸發器,tsu就是指這個最小的穩定時間。保持時間 th hold time...
建立時間和保持時間
1 模型分析 理解建立時間保持時間需要乙個模型,如下圖所示。圖 觸發器時鐘和資料模型 時鐘沿到來時取樣資料d,將採到的資料寄存下來,並輸出到q端,所以如果沒有新的時鐘沿到來,則q端輸出的一直是上次取樣的資料,每來乙個時鐘沿,取樣一次資料d。那麼分析這個建立時間和保持時間,我們分兩種情況,一種是clk...