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