建立和保持時間
建立時間(Tsu)是指在時鐘上升沿到來之前數(shù)據(jù)必須保持穩(wěn)定的時間,保持時間(Th)是指在時鐘上升沿到來以后數(shù)據(jù)必須保持穩(wěn)定的時間。一個數(shù)據(jù)需要在時鐘的上升沿被鎖存,那么這個數(shù)據(jù)就必須在這個時鐘上升沿的建立時間和保持時間內(nèi)保持穩(wěn)定。建立時間與保持時間的示意圖如圖3-1所示。
在FPGA設計的同一個模塊中常常同時包含組合邏輯與時序邏輯,為了保證在這些邏輯的接口處數(shù)據(jù)能得到穩(wěn)定的處理,對建立時間與保持時間建立起清晰的概念非常重要。
同步系統(tǒng)中時序分析
圖3-2為采用一個時鐘的同步設計中一個基本的模型。圖中Tco是觸發(fā)器數(shù)據(jù)輸出的延時,Tdelay是組合邏輯的延時,Tsetup是觸發(fā)器的建立時間,Tpd為時鐘的延時。如果第一個觸發(fā)器D1建立時間最大為T1max,最小為T1min,組合邏輯的延時最大為T2max,最小為T2min,問第二個觸發(fā)器D2的建立時間T3與保持時間T4應該滿足什么條件,或者是在知道了T3與T4的情況下能容許的最大時鐘周期是多少?
這個問題是在設計中必須考慮的問題,只有弄清了這個問題才能保證所設計的組合邏輯的延時是否滿足了要求。
下面通過時序圖來分析。設第一個觸發(fā)器的輸入為D1,輸出為Q1,第二個觸發(fā)器的輸入為D2,輸出為Q2。
時鐘統(tǒng)一在上升沿進行采樣,為了便于分析我們假設時鐘的延時Tpd為零,其實這種情況在FPGA設計中是常常出現(xiàn)的,由于在FPGA設計中一般采用統(tǒng)一的系統(tǒng)時鐘,也就是利用從全局時鐘引腳輸入的時鐘,這樣內(nèi)部時鐘的延時完全可以忽略不計。這種情況下不必考慮保持時間,因為每個數(shù)據(jù)都是保持一個時鐘節(jié)拍同時又有線路的延時,也就是都滿足CLOCK的延遲遠小于數(shù)據(jù)的延遲的情況,所以保持時間都能滿足要求,重點是要關(guān)心建立時間,此時如果D2的建立時間滿足要求那么時序圖應該如圖3-3所示。
從圖中可以看出,如果T-Tco-Tdelay>T3,即:Tdelay<T-Tco-T3,那么就滿足了建立時間的要求,其中T為時鐘的周期,這種情況下第二個觸發(fā)器就能在第二個時鐘的上升沿穩(wěn)定地采到D2。
如果組合邏輯的延時過大使得T-Tco-Tdelay不滿足要求建立時間的要求,則第二個觸發(fā)器在第二個時鐘的上升沿采到的數(shù)據(jù)將是一個不定態(tài),如圖3-4所示,那么電路將不能正常地工作。
從而可以推出T-Tco-T2max>=T3,這也就是要求的D2的建立時間。
從上面的時序圖中也可以看出,D2的建立時間與保持時間與D1的建立與保持時間是沒有關(guān)系的,而只和D2前面的組合邏輯和D1的數(shù)據(jù)傳輸延時有關(guān)。
通過前面的分析,我們知道T》Tco+Tdelay+Tsu,假設Tco為2ns,Tdelay為3ns,Tsu為2ns,則T》2+3+2=7ns,頻率f=1/T《143MHz。
由此可知,要想提高系統(tǒng)工作頻率,減小組合電路的延遲是主要的途徑。減小組合電路的延時的方法一般有以下兩種:
1、通過改變走線的方式來減小延時
通過給綜合器加適當?shù)募s束(約束要適量,一般以5%的裕量為合適,比如電路工作在100MHz,則約束加到105MHz就可以了,過大的約束效果反而不好,且極大地增加了綜合時間),可以將相關(guān)的邏輯在布線時盡量布得靠近一點,從而減少走線的時延。
2、通過拆分組合邏輯的方法來減小延時
由于一般同步電路都不止一級鎖存,而要使電路穩(wěn)定工作,時鐘周期必須滿足最大延時要求、縮短最長延時路徑,才可提高電路的工作頻率。我們可以將組合邏輯分解為較小的幾塊,中間插入觸發(fā)器,這樣可以提高電路的工作頻率。
-
時序
+關(guān)注
關(guān)注
5文章
384瀏覽量
37253 -
時序分析
+關(guān)注
關(guān)注
2文章
127瀏覽量
22543
發(fā)布評論請先 登錄
相關(guān)推薦
評論