建立時(shí)間與保持時(shí)間_第1頁
建立時(shí)間與保持時(shí)間_第2頁
建立時(shí)間與保持時(shí)間_第3頁
建立時(shí)間與保持時(shí)間_第4頁
建立時(shí)間與保持時(shí)間_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、關(guān)于建立時(shí)間和保持時(shí)間的完全理解時(shí)鐘是整個(gè)電路最重要、最特殊的信號,系統(tǒng)內(nèi)大部分器件的動作都是在時(shí)鐘的跳變沿上進(jìn)行, 這就要求時(shí)鐘信號時(shí)延差要非常小, 否則就可能造成時(shí)序邏輯狀態(tài)出錯(cuò);因而明確FPGA設(shè)計(jì)中決定系統(tǒng)時(shí)鐘的因素,盡量較小時(shí)鐘的延時(shí)對保證設(shè)計(jì)的穩(wěn)定性有非常重要的意義。 建立時(shí)間與保持時(shí)間建立時(shí)間(Tsu:set up time)是指在時(shí)鐘沿到來之前數(shù)據(jù)從不穩(wěn)定到穩(wěn)定所需的時(shí)間,如果建立的時(shí)間不滿足要求那么數(shù)據(jù)將不能在這個(gè)時(shí)鐘上升沿被穩(wěn)定的打入觸發(fā)器;保持時(shí)間(Th:hold time)是指數(shù)據(jù)穩(wěn)定后保持的時(shí)間,如果保持時(shí)間不滿足要求那么數(shù)據(jù)同樣也不能被穩(wěn)定的打入觸發(fā)器。建立與保持時(shí)

2、間的簡單示意圖如下圖1所示。圖1 保持時(shí)間與建立時(shí)間的示意圖在FPGA設(shè)計(jì)的同一個(gè)模塊中常常是包含組合邏輯與時(shí)序邏輯,為了保證在這些邏輯的接口處數(shù)據(jù)能穩(wěn)定的被處理,那么對建立時(shí)間與保持時(shí)間建立清晰的概念非常重要。下面在認(rèn)識了建立時(shí)間與保持時(shí)間的概念上思考如下的問題。舉一個(gè)常見的例子。圖2 同步設(shè)計(jì)中的一個(gè)基本模型圖2為統(tǒng)一采用一個(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。問第

3、二個(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ì)中是常常滿足的,由于在FPGA 設(shè)計(jì)中一般是采用統(tǒng)一的系統(tǒng)時(shí)鐘,也就是利用從全局時(shí)鐘管腳輸入的時(shí)鐘,這樣在內(nèi)部時(shí)鐘的延時(shí)完全可以忽略不計(jì)。這種情況下不必考慮保持時(shí)間,因?yàn)槊總€(gè)數(shù)據(jù)

4、都是保持一個(gè)時(shí)鐘節(jié)拍同時(shí)又有線路的延時(shí),也就是都是基于CLOCK的延遲遠(yuǎn)小于數(shù)據(jù)的延遲基礎(chǔ)上,所以保持時(shí)間都能滿足要求,重點(diǎn)是要關(guān)心建立時(shí)間,此時(shí)如果D2的建立時(shí)間滿足要求那么時(shí)序圖應(yīng)該如圖3所示。從圖中可以看出如果:T-Tco-Tdelay>T3即: Tdelay< T-Tco-T3那么就滿足了建立時(shí)間的要求,其中T為時(shí)鐘的周期,這種情況下第二個(gè)觸發(fā)器就能在第二個(gè)時(shí)鐘的升沿就能穩(wěn)定的采到D2,時(shí)序圖如圖3所示。圖3 符合要求的時(shí)序圖如果組合邏輯的延時(shí)過大使得T-Tco-Tdelay<T3那么將不滿足要求,第二個(gè)觸發(fā)器就在第二個(gè)時(shí)鐘的升沿將采到的是一個(gè)不定態(tài),如圖4所示。那么

5、電路將不能正常的工作。圖4 組合邏輯的延時(shí)過大時(shí)序不滿足要求從而可以推出T-Tco-T2max>T3這也就是要求的D2的建立時(shí)間。從上面的時(shí)序圖中也可以看出,D2的建立時(shí)間與保持時(shí)間與D1的建立與保持時(shí)間是沒有關(guān)系的,而只和D2前面的組合邏輯和D1的數(shù)據(jù)傳輸延時(shí)有關(guān),這也是一個(gè)很重要的結(jié)論。說明了延時(shí)沒有疊加效應(yīng)。第二種情況如果時(shí)鐘存在延時(shí),這種情況下就要考慮保持時(shí)間了,同時(shí)也需要考慮建立時(shí)間。時(shí)鐘出現(xiàn)較大的延時(shí)多是采用了異步時(shí)鐘的設(shè)計(jì)方法,這種方法較難保證數(shù)據(jù)的同步性,所以實(shí)際的設(shè)計(jì)中很少采用。此時(shí)如果建立時(shí)間與保持時(shí)間都滿足要求那么輸出的時(shí)序如圖5所示。圖5 時(shí)鐘存在延時(shí)但滿足時(shí)序從

6、圖5中可以容易的看出對建立時(shí)間放寬了Tpd,所以D2的建立時(shí)間需滿足要求:TpdT-Tco-T2max>T3由于建立時(shí)間與保持時(shí)間的和是穩(wěn)定的一個(gè)時(shí)鐘周期,如果時(shí)鐘有延時(shí),同時(shí)數(shù)據(jù)的延時(shí)也較小那么建立時(shí)間必然是增大的,保持時(shí)間就會隨之減小,如果減小到不滿足D2的保持時(shí)間要求時(shí)就不能采集到正確的數(shù)據(jù),如圖6所示。這時(shí)即T(Tpd+TTco-T2min)<T4,就不滿足要求了,所以D2的保持時(shí)間應(yīng)該為:T(Tpd+TTco-T2min)>T4 即TcoT2min-Tpd>T4從上式也可以看出如果Tpd0也就是時(shí)鐘的延時(shí)為0那么同樣是要求TcoT2min>T4,但是在實(shí)

7、際的應(yīng)用中由于T2的延時(shí)也就是線路的延時(shí)遠(yuǎn)遠(yuǎn)大于觸發(fā)器的保持時(shí)間即T4,所以不必要關(guān)系保持時(shí)間。圖6 時(shí)鐘存在延時(shí)且保持時(shí)間不滿足要求下面用數(shù)字來說明一下加深理解(以下舉例暫不考慮hold time):建立時(shí)間Tsetup=Tdelay+ Tco- Tpd假設(shè)Tco(觸發(fā)器固有的建立時(shí)間)= 2ns        假設(shè)1,Clock Delay =0,Data delay="0",那么數(shù)據(jù)port的新數(shù)據(jù)必須在時(shí)鐘port的時(shí)鐘沿到來之前2ns趕到數(shù)據(jù)port,才能滿足觸發(fā)器的Tco。  

8、60;   假設(shè)2,Clock delay="0",data Delay = 3ns,那么數(shù)據(jù)port的新數(shù)據(jù)必須在時(shí)鐘port的時(shí)鐘沿到來之前5ns就得趕到數(shù)據(jù)port,其中的3ns用來使新數(shù)據(jù)從數(shù)據(jù)port趕到觸發(fā)器的D端(由于data Delay ),剩下的2ns用來滿足觸發(fā)器的Tco。     假設(shè)3,Clock delay="1ns",data Delay = 3ns,由于時(shí)鐘port的時(shí)鐘沿推后1ns到達(dá)觸發(fā)器的時(shí)鐘端,那么數(shù)據(jù)port的新數(shù)據(jù)只需在時(shí)鐘port的時(shí)鐘沿到來之前4ns

9、趕到數(shù)據(jù)port即可。     假設(shè)4,假設(shè)時(shí)鐘的周期T=4ns,即你的系統(tǒng)需要運(yùn)行在250M頻率上,那么以上的假設(shè)中,假設(shè)2顯然是不成立的,也就是說在假設(shè)2的情況下,你的系統(tǒng)運(yùn)行頻率是低于250M的,或者說在250M系統(tǒng)里是有setup time violation的。在假設(shè)2的情況下,由于Tco及Tpd均是FPGA的固有特性,要想滿足4ns的T,那么唯一你能做的就是想方設(shè)法減小Tdelay,也就是數(shù)據(jù)路徑的延時(shí)。即所謂的找出關(guān)鍵路徑,想辦法優(yōu)化之。      總結(jié),在實(shí)際的設(shè)計(jì)中,對于一個(gè)給定的IC,

10、其實(shí)我們很容易看到T,Tpd,Tsetup,Th都是固定不變的(在跨時(shí)鐘域時(shí),Tpd會有不同),那么我們需要關(guān)心的參數(shù)就是Tdelay,即數(shù)據(jù)路徑的延時(shí),控制好了這個(gè)延時(shí),那我們的設(shè)計(jì)就不會存在建立時(shí)間和保持時(shí)間不滿足的情況了! 后記:有個(gè)著名的筆試題,這樣說道:時(shí)鐘周期為T,觸發(fā)器D1的建立時(shí)間最大為T1max,最小為T1min,該觸發(fā)器的數(shù)據(jù)輸出延時(shí)為Tco。組合邏輯電路最大延遲為 T2max,最小為T2min。假設(shè)D1在前,D2去采樣D1的數(shù)據(jù)(實(shí)際就是對圖2的文字描述),問,觸發(fā)器D2的建立時(shí)間T3和保持時(shí)間應(yīng)滿足什么條件。這里給出一個(gè)簡易公式供大家死記一下,以下兩個(gè)公式確定

11、了D2的Tsetup和Thold:1) D1的Tco + max數(shù)據(jù)鏈路延時(shí) + D2的Tsetup < T(即T3 < T - Tco - T2max)2) D1的Tco + min數(shù)據(jù)鏈路延時(shí) > D2的Thold(即T4<  Tco + T2min)其實(shí)上面的式2可以從T3+T4=T推出,不過要注意把1)中的T2max改為T2min即可??傊?,建立時(shí)間長了,保持時(shí)間就短了。實(shí)際中,某條數(shù)據(jù)鏈路延時(shí)是一個(gè)定值,只不過要求它落在區(qū)間T2min,T2max。這也是T2min和T2max的實(shí)際意義。從現(xiàn)實(shí)設(shè)計(jì)出發(fā),個(gè)人覺得這個(gè)題改為考T2max和T2min更合適

12、,那是不是有更多人犯暈?zāi)??!hoho如果是那樣的話,大家自己變個(gè)形吧_歡迎討論!圖1    建立時(shí)間(setup time)是指在觸發(fā)器的時(shí)鐘信號上升沿到來以前,數(shù)據(jù)穩(wěn)定不變的時(shí)間,如果建立時(shí)間不夠,數(shù)據(jù)將不能在這個(gè)時(shí)鐘上升沿被打入觸發(fā)器;    保持時(shí)間(hold time)是指在觸發(fā)器的時(shí)鐘信號上升沿到來以后,數(shù)據(jù)穩(wěn)定不變的時(shí)間,如果保持時(shí)間不夠,數(shù)據(jù)同樣不能被打入觸發(fā)器。     如圖1 。數(shù)據(jù)穩(wěn)定傳輸必須滿足建立和保持時(shí)間的要求,當(dāng)然在一些情況下,建立時(shí)間和保持時(shí)間的值可以為零。 PLD

13、/FPGA開發(fā)軟件可以自動計(jì)算兩個(gè)相關(guān)輸入的建立和保持時(shí)間。    個(gè)人理解:    1、建立時(shí)間(setup time)觸發(fā)器在時(shí)鐘沿到來之前,其數(shù)據(jù)的輸入端的數(shù)據(jù)必須保持不變的時(shí)間;建立時(shí)間決定了該觸發(fā)器之間的組合邏輯的最大延遲。    2、保持時(shí)間(hold time)觸發(fā)器在時(shí)鐘沿到來之后,其數(shù)據(jù)輸入端的數(shù)據(jù)必須保持不變的時(shí)間;保持時(shí)間決定了該觸發(fā)器之間的組合邏輯的最小延遲。   關(guān)于建立時(shí)間保持時(shí)間的考慮華為題目:時(shí)鐘周期為T,觸發(fā)器D1的建立時(shí)間最大為T1max,

14、最小為T1min。組合邏輯電路最大延遲為T2max,最小為T2min。問:觸發(fā)器D2的建立時(shí)間T3和保持時(shí)間T4應(yīng)滿足什么條件?分析:Tffpd:觸發(fā)器輸出的響應(yīng)時(shí)間,也就是觸發(fā)器的輸出在clk時(shí)鐘上升沿到來之后多長的時(shí)間內(nèi)發(fā)生變化并且穩(wěn)定,也可以理解為觸發(fā)器的輸出延時(shí)。Tcomb:觸發(fā)器的輸出經(jīng)過組合邏輯所需要的時(shí)間,也就是題目中的組合邏輯延遲。Tsetup:建立時(shí)間Thold:保持時(shí)間Tclk:時(shí)鐘周期建立時(shí)間容限:相當(dāng)于保護(hù)時(shí)間,這里要求建立時(shí)間容限大于等于0。保持時(shí)間容限:保持時(shí)間容限也要求大于等于0。由上圖可知,建立時(shí)間容限Tclk-Tffpd(max)-Tcomb(max)-Tse

15、tup,根據(jù)建立時(shí)間容限0,也就是Tclk-Tffpd(max)-Tcomb(max)-Tsetup0,可以得到觸發(fā)器D2的TsetupTclk-Tffpd(max)-Tcomb(max),由于題目沒有考慮Tffpd,所以我們認(rèn)為Tffpd0,于是得到TsetupT-T2max。由上圖可知,保持時(shí)間容限+TholdTffpd(min)+Tcomb(min),所以保持時(shí)間容限Tffpd(min)+Tcomb(min)-Thold,根據(jù)保持時(shí)間容限0,也就是Tffpd(min)+Tcomb(min)-Thold0可以得到觸發(fā)器D2的TholdTffpd(min)+Tcomb(min),由于題目沒有考慮Tffpd,所以我們認(rèn)為Tffpd0,于是得到TholdT2min。關(guān)于保持時(shí)間的理解就是,在觸發(fā)器D2的輸入信號還處在保持時(shí)間的時(shí)候,如果觸發(fā)器D1的輸出已經(jīng)通過組合邏輯到達(dá)D2的輸入端的話,將會破壞D2本來應(yīng)該保持的數(shù)據(jù)。 setup violation主要就是設(shè)法剪掉critical path的delay,要么pipeline,要么retiming,要么把combination往前后級挪一挪。hold time violationhold time violation是clock tree的skew引起的。主要的宗旨就是設(shè)法加前面一級combina

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論