




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、成馬上間和保持時間giltch1.jpg1成馬上間(setuptime)是指在觸發(fā)器的時鐘信號上升沿到來從前,數(shù)據(jù)牢固不變的時間,若是成馬上間不夠,數(shù)據(jù)將不能夠在這個時鐘上升沿被打入觸發(fā)器;保持時間(holdtime)是指在觸發(fā)器的時鐘信號上升沿到來今后,數(shù)據(jù)牢固不變的時間,若是保持時間不夠,數(shù)據(jù)同樣不能夠被打入觸發(fā)器。如圖1。數(shù)據(jù)牢固傳輸必定滿足建立和保持時間的要求,自然在一些情況下,成馬上間和保持時間的值能夠為零。QUOTE:DC,成馬上間不滿足,只能重新綜合設(shè)計,并以違例路徑為目標(biāo)進行優(yōu)化,以及對涉及到違例的組合邏輯以及子模塊加緊拘束。保持時間不滿足,可在布圖前也許布圖后再更正這些違例,
2、平時布圖后再更正。由于布圖前綜合,時序分析采用統(tǒng)計線載模型,在布局前修正保持時間違例可能會以致布圖后成馬上間違例。QUOTE:1、setuptime的意義:為什么Data需要在Clock到達從前到達?其實在實質(zhì)的問題中,setuptime其實不用然是大于零的,由于Clock到達時刻其實不等同于latch的傳輸門A關(guān)閉的時刻(更何況這類關(guān)閉其實不是絕對的和剎時完成的),這之間有一個未知的延緩時間。為使問題簡化,假設(shè)Clock的到達時刻為傳輸門A關(guān)閉、傳輸們B打開的時刻。若是Data沒有在這從前足夠早的時刻到達,那么很有可能內(nèi)部的feedback線路上的電壓還沒有達到足夠使得inv1翻轉(zhuǎn)的地步(由
3、于inv0有延時,Data有slope,傳輸門B打開后原來的Q值將經(jīng)過inv2迫使feedback保持原來的值)。若是這類競爭的情況發(fā)生,Q的舊值將有可能獲勝,使Q不能夠夠寄存住正確的Data值;自然若是feedback上的電壓已經(jīng)達到了足夠大的程度也有可能在競爭中取勝,使得Q能夠正確輸出。若是inv0、inv1和inv2的延時較大(Data的變化影響feedback和Q的時間越長),那么為了保證正確性就需要更大的setuptime。所以在實質(zhì)測量setuptime的時候,需要采用工藝中最慢的corner進行仿真測量。2、holdtime的意義:為什么Data在Clock到達此后依舊要保持一段
4、時間?和setuptime的情況不同樣,由于Clock到達時刻其實不等同于latch的傳輸門A完好關(guān)閉的時刻。所以若是Data沒有在Clock到達此后保持足夠長的時間,那么很有可能在傳輸門A完好關(guān)閉從前Data就已經(jīng)變化了,而且引起了feedback的變化。若是這類變化足夠大、時間足夠長的話,很有可能將feedback從原來正確的低電壓拉到較高電壓的電壓。甚至若是這類錯誤足夠激烈,以致了inv1和inv2組成的keeper發(fā)生了翻轉(zhuǎn),從而完好改變了Q的正確值,就會以致輸出不正確。自然,若是這類錯誤電壓不是足夠大到能夠改變keeper的值,就不會影響到Q的正確輸出。若是inv0、inv1和inv
5、2的延時較?。―ata的變化影響feedback和Q的時間越短),那么為了保證正確性,就需要更大的holdtime。所以在實質(zhì)測量holdtime的時候,需要采用工藝中最快的corner進行仿真測量。QUOTE:時鐘周期為T,觸發(fā)器D1的時鐘沿到到達觸發(fā)器Q變化的時間Tco(CLK-Q)最大為T1max,最小為T1min,邏輯組合電路的延緩時間最大為T2max,最小為T2min,問觸發(fā)器D2的成馬上間和保持時間。最后答案:T3setupT-T1max-T2max,T3holdT1min+T2minmaxbird:D2的保持時間就是時鐘沿到來此后,D2的數(shù)據(jù)輸入端要保持?jǐn)?shù)據(jù)不變的時間,這個時間是
6、由D1和D2之間的組合邏輯時延決定的。比方:假設(shè)D1和D2之間的組合邏輯時延為2ns,時鐘周期為10ns,這意味著在時鐘沿到達后,D1輸出的新數(shù)據(jù)要過2ns才會到達D2的數(shù)據(jù)輸入端,那么在這2ns內(nèi),D2的數(shù)據(jù)輸入端保持的還是前一次的舊數(shù)據(jù),其值不會馬上更新,假設(shè)D2的最小保持時間為3ns,這意味時鐘沿到來后,D2的數(shù)據(jù)輸入端的值在3ns內(nèi)不能夠有變化,回到問題的重點,由于D1在時鐘沿到來后的輸出結(jié)果,經(jīng)過2ns的組合邏輯延時便到達了D2的輸入端,而D2要求在時鐘沿到來后的3ns內(nèi)其輸入端的值不能夠改變,這樣D2的保持時間就得不到滿足,所以D2的保持時間必定小于等于2ns。至于說T2min為0
7、時的情況,其實T2min是永遠不能以為0的,即即是一根導(dǎo)線其時延也是不能能為0的,這就是為什么移位寄存器的兩個觸發(fā)器之間連的可是一根導(dǎo)線,導(dǎo)線后端觸發(fā)器的保持時間卻還是能夠滿足的原因,其實移位寄存器中觸發(fā)器的保持時間能夠看作是小于等于此間導(dǎo)線的時延。成馬上間:觸發(fā)器在時鐘沿到達前,其數(shù)據(jù)輸入端的數(shù)據(jù)必定保持不變的時間;保持時間:觸發(fā)器在時鐘沿到達后,其數(shù)據(jù)輸入端的數(shù)據(jù)必定保持不變的時間。由于觸發(fā)器內(nèi)部數(shù)據(jù)的形成是需要必然的時間的,若是不滿足建立和保持時間,觸發(fā)器將進入亞穩(wěn)態(tài),進入亞穩(wěn)態(tài)后觸發(fā)器的輸出將不牢固,在0和1之間變化,這時需要經(jīng)過一個恢復(fù)時間,其輸出才能牢固,但牢固后的值其實不用然是你
8、的輸入值。這就是為什么要用兩級觸發(fā)器來同步異步輸入信號。這樣做能夠防范由于異步輸入信號關(guān)于本級時鐘可能不滿足建立保持時間而使本級觸發(fā)器產(chǎn)生的亞穩(wěn)態(tài)流傳到后邊邏輯中,以致亞穩(wěn)態(tài)的流傳。兩級觸發(fā)器可防范亞穩(wěn)態(tài)流傳的原理:假設(shè)第一級觸發(fā)器的輸入不滿足其建立保持時間,它在第一個脈沖沿到來后輸出的數(shù)據(jù)就為亞穩(wěn)態(tài),那么在下一個脈沖沿到來從前,其輸出的亞穩(wěn)態(tài)數(shù)據(jù)在一段恢復(fù)時間后必定牢固下來,而且牢固的數(shù)據(jù)必定滿足第二級觸發(fā)器的成馬上間,若是都滿足了,在下一個脈沖沿到來時,第二級觸發(fā)器將不會出現(xiàn)亞穩(wěn)態(tài),由于其輸入端的數(shù)據(jù)滿足其建立保持時間。同步器有效的條件:第一級觸發(fā)器進入亞穩(wěn)態(tài)后的恢復(fù)時間+第二級觸發(fā)器的成
9、馬上間=時鐘周期。(編者注:maxbird在該部分詳細說了然成馬上間和保持時間的看法,以及若是不滿足二者可能以致的亞穩(wěn)態(tài)的流傳。注意這里說的成馬上間和保持時間都是針對時鐘而言的,在進行時序拘束時所指的就是這類,而很多網(wǎng)友從前學(xué)習(xí)的成馬上間保持時間的看法是針對信號而言的,所指的對象不一樣,解析出來的結(jié)論完全相反,必然注意不要混淆。)lh1688:不考慮CLOCKSKEW情況下。D2的成馬上間要求:Tco1T1(logicdelay)Tsetup2TcCLOCK周期)。那么Tsetup2Tc(CLOCK周期)(Tco1T1)。這個應(yīng)該比較簡單理解。相對的保持時間實質(zhì)就是路徑的總延時(Tco1T1)
10、。保持時間成馬上間與保持時間歸納(EETOP)關(guān)于成馬上間和保持時間,以以下圖普及一下基礎(chǔ)知識Thold20。所以要求的最小時鐘周期即為T=Tcq+Tpd+Tsetup-Tcd時鐘周期為T,觸發(fā)器D1的時鐘沿到到達觸發(fā)器Q變化的時間Tco(CLK-Q)最大為T1max,最小為T1min,邏輯組合電路的延緩時間最大為T2max,最小為T2min,問觸發(fā)器D2的成馬上間和保持時間。該題最后答案:T3setupmaxbird:D2的保持時間就是時鐘沿到來此后,D2的數(shù)據(jù)輸入端要保持?jǐn)?shù)據(jù)不變的時間,這個時間是由D1和D2之間的組合邏輯時延決定的。比方:假設(shè)D1和D2之間的組合邏輯時延為2ns,時鐘周期
11、為10ns,這意味著在時鐘沿到達后,D1輸出的新數(shù)據(jù)要過2ns才會到達D2的數(shù)據(jù)輸入端,那么在這2ns內(nèi),D2的數(shù)據(jù)輸入端保持的還是前一次的舊數(shù)據(jù),其值不會馬上更新,假設(shè)D2的最小保持時間為3ns,這意味時鐘沿到來后,D2的數(shù)據(jù)輸入端的值在3ns內(nèi)不能夠有變化,回到問題的重點,由于D1在時鐘沿到來后的輸出結(jié)果,經(jīng)過2ns的組合邏輯延時便到達了D2的輸入端,而D2要求在時鐘沿到來后的3ns內(nèi)其輸入端的值不能夠改變,這樣D2的保持時間就得不到滿足,所以D2的保持時間必定小于等于2ns。至于說T2min為0時的情況,其實T2min是永遠不能以為0的,即即是一根導(dǎo)線其時延也是不能能為0的,這就是為什么
12、移位寄存器的兩個觸發(fā)器之間連的可是一根導(dǎo)線,導(dǎo)線后端觸發(fā)器的保持時間卻還是能夠滿足的原因,其實移位寄存器中觸發(fā)器的保持時間能夠看作是小于等于此間導(dǎo)線的時延。成馬上間:觸發(fā)器在時鐘沿到達前,其數(shù)據(jù)輸入端的數(shù)據(jù)必定保持不變的時間;保持時間:觸發(fā)器在時鐘沿到達后,其數(shù)據(jù)輸入端的數(shù)據(jù)必定保持不變的時間。以以下圖:由于觸發(fā)器內(nèi)部數(shù)據(jù)的形成是需要必然的時間的,若是不滿足建立和保持時間,觸發(fā)器將進入亞穩(wěn)態(tài),進入亞穩(wěn)態(tài)后觸發(fā)器的輸出將不牢固,在0和1之間變化,這時需要經(jīng)過一個恢復(fù)時間,其輸出才能牢固,但牢固后的值其實不用然是你的輸入值。這就是為什么要用兩級觸發(fā)器來同步異步輸入信號。這樣做能夠防止由于異步輸入信
13、號關(guān)于本級時鐘可能不滿足建立保持時間而使本級觸發(fā)器產(chǎn)生的亞穩(wěn)態(tài)流傳到后邊邏輯中,以致亞穩(wěn)態(tài)的流傳。兩級觸發(fā)器可防范亞穩(wěn)態(tài)流傳的原理:假設(shè)第一級觸發(fā)器的輸入不滿足其建立保持時間,它在第一個脈沖沿到來后輸出的數(shù)據(jù)就為亞穩(wěn)態(tài),那么在下一個脈沖沿到來從前,其輸出的亞穩(wěn)態(tài)數(shù)據(jù)在一段恢復(fù)時間后必定牢固下來,而且牢固的數(shù)據(jù)必定滿足第二級觸發(fā)器的成馬上間,若是都滿足了,在下一個脈沖沿到來時,第二級觸發(fā)器將不會出現(xiàn)亞穩(wěn)態(tài),由于其輸入端的數(shù)據(jù)滿足其建立保持時間。同步器有效的條件:第一級觸發(fā)器進入亞穩(wěn)態(tài)后的恢復(fù)時間+第二級觸發(fā)器的成馬上間=時鐘周期。maxbird在該部分詳細說了然成馬上間和保持時間的看法,以及若是
14、不滿足二者可能以致的亞穩(wěn)態(tài)的流傳。注意這里說的成馬上間和保持時間都是針對時鐘而言的,在進行時序拘束時所指的就是這類,而很多網(wǎng)友從前學(xué)習(xí)的成馬上間保持時間的看法是針對信號而言的,所指的對象不一樣,解析出來的結(jié)論完好相反,必然注意不要混淆。不考慮CLOCKSKEW情況下。D2的成馬上間要求:Tco1T1(logicdelay)Tsetup2Tc(CLOCK周期)。那么Tsetup2Tc(CLOCK周期)(Tco1T1)。這個應(yīng)該比較簡單理解。相對的保持時間實際就是路徑的總延時(Tco1T1)。保持時間Thold2(Tco1T1)。不考慮CLOCKSKEW情況下。D2的成馬上間要求:Tco1T1(l
15、ogicdelay)Tsetup2Tc(CLOCK周期)。那么Tsetup2Tc(CLOCK周期)(Tco1T1)。這個應(yīng)該比較簡單理解。相對的保持時間實質(zhì)就是路徑的總延時(Tco1T1)。保持時間Thold2(Tco1T1)。QUOTE:你說的保持時間應(yīng)該指的是輸入引腳的保持時間:tH=+-若是你正確設(shè)置了convert_clk和out_clk的時序解析參數(shù),在時序解析報告中應(yīng)該看到滿足時序要求的結(jié)果:ClockSetup:convert_clk、ClockHold:convert_clk。你說的負值未必就不好,關(guān)于th、tsu來說,負值是好的。若是你在時序設(shè)置中指定了希望值的話,用期望值減
16、去實質(zhì)值,獲得的是你的余量(slack)。只有slack是正當(dāng),才是好的結(jié)果。若是你現(xiàn)在還沒有分配引腳,而且嚴(yán)禁備把設(shè)計用于實質(zhì)系統(tǒng)的話,你能夠暫時不關(guān)心th、tsu。但是必然要設(shè)置和解析你的時鐘信號。負的setup和holdtime還是比較好理解的。談?wù)撘幌聅etuptimeviolation的形成-由于信號比clock后到達DFF,也許說到達的時間太晚了,這個時候這個DFF就沒有方法采樣到這個信號,于是就出現(xiàn)了setupslak。那么,假設(shè)你對這一個DFF做優(yōu)化,你會怎么做?-打包這個DFF,假設(shè)為DFFA。在DFFA中把clock加delay,再連接到原DFF。這樣你的信號就可以走的慢一
17、點,慢到比clock還慢都沒有問題-而這個時候setuptime就被你給優(yōu)化到負的值了。同樣的能夠講解負的holdtime。下面這個來自:時鐘是整個電路最重要、最特其他信號,系統(tǒng)內(nèi)大多數(shù)器件的動作都是在時鐘的跳變沿進步行,這就要求時鐘信號時延差要特別小,否則即可能造成時序邏輯狀態(tài)出錯;所以明確FPGA設(shè)計中決定系統(tǒng)時鐘的因素,盡量較小時鐘的延時對保證設(shè)計的牢固性有特別重要的意義。成馬上間與保持時間成馬上間(Tsu:setuptime)是指在時鐘沿到來從前數(shù)據(jù)從不牢固到牢固所需的時間,若是建立的時間不滿足要求那么數(shù)據(jù)將不能夠在這個時鐘上升沿被牢固的打入觸發(fā)器;保持時間(Th:holdtime)是
18、指數(shù)據(jù)牢固后保持的時間,若是保持時間不滿足要求那么數(shù)據(jù)同樣也不能夠被牢固的打入觸發(fā)器。建立與保持時間的簡單表示圖以以下圖1所示。1保持時間與成馬上間的表示圖FPGA設(shè)計的同一個模塊中常常是包括組合邏輯與時序邏輯,為了保證在這些邏輯的接口處數(shù)據(jù)能牢固的被辦理,那么對成馬上間與保持時間建立清楚的看法特別重要。下面在認識了成馬上間與保持時間的看法上思慮以下的問題。圖2同步設(shè)計中的一個基本模型圖2為一致采用一個時鐘的同步設(shè)計中一個基本的模型。圖中Tco是觸發(fā)器的數(shù)據(jù)輸出的延時;Tdelay是組合邏輯的延時;Tsetup是觸發(fā)器的成馬上間;Tpd為時鐘的延時。若是第一個觸發(fā)器D1成馬上間最大為T1max
19、,最小為T1min,組合邏輯的延時最大為T2max,最小為T2min。問第二個觸發(fā)器D2馬上間T3與保持時間T4應(yīng)該滿足什么條件,也許是知道了T3與T4那么能同意的最大時鐘周期是多少。這個問題是在設(shè)計中必定考慮的問題,只有弄清了這個問題才能保證所設(shè)計的組合邏輯的延時可否滿足了要求。下面經(jīng)過時序圖來解析:設(shè)第一個觸發(fā)器的輸入為D1,輸出為Q1,第二個觸發(fā)器的輸入為D2,輸出為Q2;時鐘一致在上升沿進行采樣,為了便于解析我們談?wù)搩煞N情況即第一:假準(zhǔn)時鐘的延時Tpd為零,其實這類情況在FPGA設(shè)計中是常常滿足的,由于在FPGA設(shè)計中一般是采用一致的系統(tǒng)時鐘,也就是利用從全局時鐘管腳輸入的時鐘,這樣在
20、內(nèi)部時鐘的延時完好能夠忽略不計。這類情況下不用考慮保持時間,由于每個數(shù)據(jù)都是保持一個時鐘節(jié)拍同時又有線路的延時,也就是都是基于CLOCK的延緩遠小于數(shù)據(jù)的延緩基礎(chǔ)上,所以保持時間都能滿足要求,重點是要關(guān)心成馬上間,此時若是D2的成馬上間滿足要求那么時序圖應(yīng)該如圖3所示。從圖中能夠看出若是:T-Tco-TdelayT3即:TdelayT-Tco-T3那么就滿足了成馬上間的要求,其中T為時鐘的周期,這類情況下第二個觸發(fā)器就能在第二個時鐘的升沿就能牢固的采到D2,時序圖如圖3所示。圖3吻合要求的時序圖若是組合邏輯的延時過大使得T-Tco-TdelayT3這也就是要求的D2的成馬上間。從上面的時序圖中
21、也能夠看出,D2的成馬上間與保持時間與D1的建立與保持時間是沒相關(guān)系的,而只和D2前面的組合邏輯和D1的數(shù)據(jù)傳輸延時相關(guān),這也是一個很重要的結(jié)論。說了然延時沒有疊加效應(yīng)。第二種情況若是時鐘存在延時,這類情況下就要考慮保持時間了,同時也需要考慮成馬上間。時鐘出現(xiàn)較大的延時多是采用了異步時鐘的設(shè)計方法,這類方法較難保證數(shù)據(jù)的同步性,所以實質(zhì)的設(shè)計中很少采用。此時若是成馬上間與保持時間都滿足要求那么輸出的時序如圖5所示。圖5時鐘存在延時但滿足時序從圖5中能夠簡單的看出對成馬上間放寬了Tpd,所以D2的成馬上間需滿足要求:TpdT-Tco-T2maxT3由于成馬上間與保持時間的和是牢固的一個時鐘周期,
22、若是時鐘有延時,同時數(shù)據(jù)的延時也較小那么成馬上間必然是增大的,保持時間就會隨之減小,若是減小到不滿足D2的保持時間要求時就不能夠采集到正確的數(shù)據(jù),如圖6所示。這時即T(Tpd+TTco-T2min)T4即TcoT2min-TpdT4從上式也能夠看出若是Tpd0也就是時鐘的延時為0那么同樣是要求TcoT2minT4,但是在實質(zhì)的應(yīng)用中由于T2的延時也就是線路的延時遠遠大于觸發(fā)器的保持時間即T4所以不用要關(guān)系保持時間。圖6時鐘存在延時且保持時間不滿足要求綜上所述,若是不考慮時鐘的延時那么只要關(guān)心成馬上間,若是考慮時鐘的延時那么更需關(guān)心保持時間。下面將要解析在FPGA設(shè)計中如何提高同步系統(tǒng)中的工作時
23、鐘。如何提高同步系統(tǒng)中的工作時鐘從上面的解析能夠看出同步系統(tǒng)時對D2成馬上間T3的要求為:T-Tco-T2maxT3所以很簡單推出TT3+Tco+T2max,其中T3為D2的成馬上間Tset,T2為組合邏輯的延時。在一個設(shè)計中T3和Tco都是由器件決定的固定值,可控的也只有T2也就時輸入端組合邏輯的延時,所以經(jīng)過盡量來減小T2就可以提高系統(tǒng)的工作時鐘。為了達到減小T2在設(shè)計中能夠用下面不一樣的幾種方法綜合來實現(xiàn)。經(jīng)過改變走線的方式來減小延時以altera的器件為例,我們在quartus里面的timingclosurefloorplan能夠看到有很多條條塊塊,我們能夠?qū)l條塊塊按行和按列分,每一
24、個條塊代表1個LAB,每個LAB里有8個也許是10個LE。它們的走線時延的關(guān)系以下:同一個LAB中(最快)同列也許同行Tskew+TholdTcq+Tcomb0)holdtimeyoumightfaceaproblem.Moreinfo,VHDLandVERILOGcodeaswellassimulationutilitiescanbefoundatA2:1)WhatcausesHOLDVIOLATIONSinDESIGN.Simply,datashouldbeholdforsometime(holdtime)aftertheedgeoftheclock.So,ifthedatachanges
25、withtheholdtimemightcauseviolation.Ingeneral,holdtimewillbefixedduringbackendwork(duringPNR)whilebuildingclocktree.Ifurafrontenddesigner,concentrateonfixingsetuptimeviolationsratherthanholdviolations.2)HowiteffectsDESIGN.Ifachipisdonewithsomesetupviolationsitcanworkbyreducingthefrequency.Ifachipisdo
26、newithholdviolations,JUSTDUMPthechip.Thisishowiteffectsattheendoftheday.Holdvilationsneedstobefixed.3)WhatchangesneedtobedonetomakeDESIGNwork.PNRtoolswillrouteandplacethecellsinsuchawaythatnotimingviolationsholdviolations,ucanmanullyworkonittofix.Manuallyplacethecellstoavoidtheworstcase,ucankeepsome
27、buffersinthedatapathtoavoidholdviolationstimingisnoteffected.)willoccur.Ifstillufaceholdviolations,orin(butbesuresetupyousaidIfachipisdonewithholdviolations,JUSTDUMPthechip.whycantreducingthefrequencytosettletheholdviolationassetupviolation?couldyouexplainitclearer?EquationforSetupTimeTclkTclktoq+Tl
28、ogic+Tsetup+Tskew+TjitterEquationforHoldTimeTclktoq+Tlogic-TskewTholdNotethatHoldTimeequationisindependentofclkfrequency(i.eTimeperiodTclk)keythingstonotefromaboveequationsa)oncethesiliconcomesback,ifuhavesetuptimeproblem,ucanincreasetheclockperiod(Tclk)tofixit,whereasifuhaveholdtimeproblem,itsamore
29、seriousproblemanduwillneedanewmetalfixtapeout.(ButucanstilltestthecurrentchipusingLowsupplyvoltage,orHightemperatureorSScornerpartthatdecreaseholdtimeviolation)Hikoggestone,Itisniceinformation.Couldyoupleasegiveusmoreinformationonuwillneedanewmetalfixtapeout.(ButucanstilltestthecurrentchipusingLowsu
30、pplyvoltage,orHightemperatureorSScornerpartthatdecreaseholdtimeviolation)whatimeantwas,whenuhaveholdtimeviolation,hemeanwhile,byplayingwithvoltageandtemperature,ucandootherfunctionaltestsonthechip.sincenormallyholdtimesimulationaredo
31、neatFFcorner,highvoltage,lowtemperaturewhichisthepessimisticcaseforholdtime,bydecreasingvoltage,usinghightemperature,andaSScornerchip,wemaybeluckyenoughtofindapartthatworks,todootherfunctionalteststocatchanyotherbugsbeforenexttapeout.下面這個比較詳細:SunilBudumuru:Pls.makeanotethatHOLDviolationsaredangerous
32、thanSETUP.Tokeepitsimpleway,SETUPtimingdependsonthefrequencyofoperation.ButHOLDtimeisnot.Letusseetheequationshere.T=Frequencyofoperation(canbevariable)Tcq=FlopclocktoFlopoutputdelay(fixed/constant)Tcomb=DelayodthecombinationallogicbetweentheFlops(canbevariable)Tsetup=SetuptimeofaFlop(fixed/constant)
33、Thold=HoldtimeofaFlop(fixed/constant)Tskew=Delaybetweenclockedgesoftwoadjacentflops(delayofferedbyclockpath)(canbevariable)ForSETUP,T=Tcq+Tcomb+Tsetup-TskewIfyouhavesetuptimemeansurviolatingtheaboverule.i.esomehowtheequationbecomesT=Tcq+Tcomb+Tsetup-Tskew.Butdouthinkitisthecorrectsolution.Obviously,
34、NO.Thisisbecausewehaveotheroptionstoavoidsetupviolationsright.Tcomb:Ifyoureducethecombinationaldelay(betweentheFlopsofviolatedpath)suchawaythatT=Tcq+Tcomb+Tsetup-Tskew.So,theSETUPviolationisavoided.Howdoureducethecombinationaldelay?Trydifferentlogicstructurewithouteffectingthefunctionality.ortrytore
35、ducethemorefanoutnetswithinthelogic.Orupsizeordownsizethecells.Ifitworkedoutthatsfine.Tskew:Ifuincreasetheskew,ucanchangeT=Tcq+Tcomb+Tsetup-Tskew.HowtoincreasetheTskew?Justkeepbuffersintheclockpath.ButbesuredoesnteffecttheHOLDtiming.Case2:AftertheCHIPismanufaturedandisinyourhand.Inthiscase,onecannot
36、accesstheTcombandTskew.OnlythevariablethatcanhandleisT.So,Justreducethefrequency(T)suchthattheviolatedequation,T=Tcq+Tcomb+Tsetup-Tskew.So,ifuhavesetupviolationsonamanufaturedchip,ucanmakeitworkbyreducingthefrequency.ForHOLD,Thold+TskewTcq+TcombanduraimistomakeThold+TskewTcq+TcombtoThold+Tskew=Tcq+T
37、comb.ButthismighteffecttheSETUPtimeasyouareincreasingthedelayofcombinationalpath.Sothismaynotbetheperfectsolutionalways.Tskew:ReducetheclockskewsothatyouwilllandonThold+Tskew=Tcq+Tcomb.Toreducetheclockskew,thebestsolutionistotakethehelpofyourPNRengineer.Case2:AftertheCHIPismanufaturedandisinyourhand
38、.Doyouseeanyvariablesthatwillfixtheholdviolationsaftermanufaturing?!NOright.So,itstimetoDUMPthechipaswedontdelivermalfunctioningchipstothecustomers.SobecarefulwiththeHOLDviolations.Note:Onecangetthoseequationsifuputthethosescenariosonapaperanddevelopthetimingdiagrams.HopeIveexplaineditproperly.ustma
39、kesurethatonceyouhaveaddedholdtime,setuptimeandpropagationdelay,theclockperiodhasnotbeenexceeded.t_clockt_setup+t_hold+t_prop_delayAnotherwayoflookingatitisthatthetimeleftforyourlogicoperationbetweenthetworegistersequalstotheclockperiodminusthesetupandholdtime.Icopiedanexampleabouthowtocalculatesetu
40、pandholdtimefromabook(intheattachment).giggs11,Ithinktheformulaugaveusiswrong,accordingtothewaveformintheexample,Igetthis:T_setup(T_clockT)T_combin_logic,T_hold=_combin_logicTInaboveinterviewquiz,T=0.So,theequationis:T_setup(T_clockT)T_combin_logic=T_clock-T_setup=10ns-0.2ns=9.8nsThisgivesamaxclockf
41、requencyof1/9.8ns.sh.jpg這個附件就是上面這個圖:setuphold.pdf(2009-11-2910:41:34,Size:30.7KB,Downloads:5)下面這個附件的圖:shixu1.jpg時序1.rar(2009-11-2910:57:37,Size:1.5MB,Downloads:15)再一個2.jpg(2009-11-2910:57:37,Size:1.43MB,Downloads:5)(2009-11-2910:57:37,Size:160KB,Downloads:3)本帖最后由huahuagood于2009-11-2911:10編寫我也來說兩句查察全
42、部回復(fù)最新回復(fù)mentor00(2009-11-2916:27:24)很好的內(nèi)容,很全面的整理,建議加精。樓主多謝了。mentor00(2009-11-2917:11:32)特別基本的看法,看理解了,關(guān)于拘束的一大多數(shù)難關(guān)也就攻下了。?huahuagood(2009-11-2918:06:26)QUOTE:原帖由mentor00于2009-11-2917:11公布特別基本的看法,看理解了,關(guān)于拘束的一大多數(shù)難關(guān)也就攻下了。多謝mentor老師。感覺時序這方面的東西,很基礎(chǔ),但要有深入又很難。就像verilog,學(xué)起來簡單,深入起來又會有很多不解。這帖子copy這些,看著看著也會感覺一孔之見的:
43、剛看到一個帖子,應(yīng)該有幫助,就編寫放在這吧來自很多人發(fā)貼,來信咨詢關(guān)于拘束、時序解析的問題,比方:如何設(shè)置setup,hold時間?如何使用全局時鐘和第二全局時鐘(長線資源)?如何進行分組拘束?如何拘束某部分組合邏輯?如何經(jīng)過拘束保證異步時鐘域之間的數(shù)據(jù)交換可靠?如何使用I/O邏輯單元內(nèi)部的寄存器資源?如何進行物理地域拘束,完成物理綜合和物理實現(xiàn)?等等。為認識決大家的疑難,我們將逐一談?wù)撨@些問題。有些人不知道何時該增加拘束,何時不需要增加?有些人以為低速設(shè)計不需要時序拘束?關(guān)于這些問題,希望下面關(guān)于拘束作用的論述能夠有所幫助!【附加拘束的基本作用】:(1)提高設(shè)計的工作頻率對很多數(shù)字電路設(shè)計來
44、說,提高工作頻率特別重要,由于高工作頻率意味著高辦理能力。經(jīng)過附加拘束能夠控制邏輯的綜合、照射、布局和布線,以減小邏輯和布線延時,從而提高工作頻率。(2)獲得正確的時序解析報告幾乎全部的FPGA設(shè)計平臺都包括靜態(tài)時序解析工具,利用這類工具能夠獲得照射或布局布線后的時序解析報告,從而對設(shè)計的性能做出評估。靜態(tài)時序解析工具以拘束作為判斷時序可否滿足設(shè)計要求的標(biāo)準(zhǔn),所以要求設(shè)計者正確輸入拘束,以便靜態(tài)時序解析工具輸出正確的時序解析報告。(3)指定FPGA/CPLD引腳地址與電氣標(biāo)準(zhǔn)FPGA/CPLD的可編程特點使電路板設(shè)計加工和FPGA/CPLD設(shè)計能夠同時進行,而不用等FPGA/CPLD引腳地址完
45、好確定,從而節(jié)約了系統(tǒng)開發(fā)時間。這樣,電路板加工完成后,設(shè)計者要依照電路板的走線對FPGA/CPLD加上引腳地址拘束,使FPGA/CPLD與電路板正確連接。另外經(jīng)過拘束還能夠夠指定IO引腳所支持的接口標(biāo)準(zhǔn)和其他電氣特點。為了滿足日異月新的通信發(fā)展,Xilinx新式FPGA/CPLD能夠經(jīng)過IO引腳拘束設(shè)置支持諸如AGP、BLVDS、CTT、GTL、GTLP、HSTL、LDT、LVCMOS、LVDCI、LVDS、LVPECL、LVDSEXT、LVTTL、PCI、PCIX、SSTL、ULVDS等豐富的IO接口標(biāo)準(zhǔn)。其他經(jīng)過地域拘束還能夠在FPGA上規(guī)劃各個模塊的實現(xiàn)地域,經(jīng)過物理布局布線拘束,完成
46、模塊化設(shè)計等?!緯r序拘束的看法和基本策略】時序拘束主要包括周期拘束(FFS到FFS,即觸發(fā)器到觸發(fā)器)和偏移拘束(IPAD到FFS、FFSOPAD)以及靜態(tài)路徑拘束(IPAD到OPAD)等3種。經(jīng)過附加拘束條件能夠使綜合布線工具調(diào)整照射和布局布線過程,使設(shè)計達到時序要求。比方用OFFSET_IN_BEFORE拘束能夠告訴綜合布線工具輸入信號在時鐘從前什么時候準(zhǔn)備好,綜合布線工具就可以依照這個拘束調(diào)整與IPAD相連的LogicCircuitry的綜合實現(xiàn)過程,使結(jié)果滿足FFS的成馬上間要求。附加時序拘束的一般策略是先附加全局拘束,爾后對快速和慢速例外路徑附加特地拘束。附加全局拘束時,第必定義設(shè)計
47、的全部時鐘,對各時鐘域內(nèi)的同步元件進行分組,對分組附加周期拘束,爾后對FPGA/CPLD輸入輸出PAD附加偏移拘束、對全組合邏輯的PADTOPAD路徑附加拘束。附加特地拘束時,第一拘束分組之間的路徑,爾后拘束快、慢速例外路徑和多周期路徑,以及其他特別路徑?!局芷冢≒ERIOD)的含義】周期的含義是時序中最簡單也是最重要的含義,其他很多時序看法會由于軟件商不一樣略有差別,而周期的看法確是最通用的,周期的看法是FPGA/ASIC時序定義的基礎(chǔ)看法。后邊要講到的其他時序拘束都是建立在周期拘束的基礎(chǔ)上的,很多其他時序公式,能夠用周期公式推導(dǎo)。周期拘束是一個基本時序和綜合拘束,它附加在時鐘網(wǎng)線上,時序解
48、析工具依照PERIOD拘束檢查時鐘域內(nèi)全部同步元件的時序可否滿足要求。PERIOD拘束會自動辦理寄存器時鐘端的反相問題,若是相鄰?fù)皆r鐘相位相反,那么它們之間的延緩將被默認限制為PERIOD拘束值的一半。時鐘的最小周期為:TCLK=TCKO+TLOGIC+TNET+TSETUPTCLK_SKEWTCLK_SKEW=TCD2TCD1其中TCKO為時鐘輸出時間,TLOGIC為同步元件之間的組合邏輯延緩,TNET為網(wǎng)線延緩,TSETUP為同步元件的成馬上間,TCLK_SKEW為時鐘信號延緩的差別。數(shù)據(jù)和時鐘之間的拘束:OFFSET和SETUP、HOLD時間為了保證芯片數(shù)據(jù)采樣可靠和下級芯片之間正
49、確的交換數(shù)據(jù),需要拘束外面時鐘和數(shù)據(jù)輸入輸出引腳之間的時序關(guān)系(也許內(nèi)部時鐘和外面輸入/輸出數(shù)據(jù)之間的關(guān)系,這可是是從采用了不一樣的參照系罷了)。拘束的內(nèi)容為告訴綜合器、布線器輸入數(shù)據(jù)到達的時刻,也許輸出數(shù)據(jù)牢固的時刻,從而保證與下一級電路的時序關(guān)系。這類時序拘束在Xilinx中用SetuptoClock(edge),Clock(edge)tohold等表示。在Altera里常用tsu(InputSetupTimes)、th(InputHoldTimes)、tco(ClocktoOutDelays)來表示。很多其他時序工具直接用setup和hold表示。其實他們所要描述的是同一個問題,可是是時
50、間節(jié)點的定義上略有不一樣。下面依次介紹。關(guān)于輸入到達時間,這一貼估計問題比很多,看起來也比較累,但是沒有方法,這些都是時序的基本看法啊。搞不清楚,永遠悲傷,長痛不如短痛了,呵呵。Xilinx的輸入到達時間的計算定義的含義是輸入數(shù)據(jù)在有效時鐘沿此后的TARRIVAL時刻到達。則,TARRIVAL=TCKO+TOUTPUT+TLOGIC公式1依照周期(Period)公式,我們能夠獲得:Tcko+Toutput+Tlogic+Tinput+Tsetup-Tclk_skew=Tclk;公式2將公式1代入公式2:Tarrival+Tinput+Tsetup-Tclk_skew=Tclk,而Tclk_sk
51、ew滿足時序關(guān)系后為負,所以TARRIVAL+TINPUT+TSETUPTCLK公式3,這就是Tarrival應(yīng)該滿足的時序關(guān)系。其中TINPUT為輸入端的組合邏輯、網(wǎng)線和PAD的延緩之和,TSETUP為輸入同步元件的成馬上間。數(shù)據(jù)延時和數(shù)據(jù)到達時間的關(guān)系TDELAY為要求的芯片內(nèi)部輸入延緩,其最大值TDELAY_MAX與輸入數(shù)據(jù)到達時間TARRIVAL的關(guān)系:TDELAY_MAX+TARRIVAL=TPERIOD公式4所以:TDELAYTDELAY_MAX=TPERIODTARRIVAL要求輸出的穩(wěn)準(zhǔn)時間從下一級輸入端的延緩能夠計算出當(dāng)前設(shè)計輸出的數(shù)據(jù)必定在何時牢固下來,依照這個數(shù)據(jù)對設(shè)計輸
52、出端的邏輯布線進行拘束,以滿足下一級的成馬上間要求,保證下一級采樣的數(shù)據(jù)是牢固的。計算要求的輸出穩(wěn)準(zhǔn)時間的公式推導(dǎo)以下:定義:TSTABLE=TLOGIC+TINPUT+TSETUP從前面帖子介紹的周期(Period)公式,能夠獲得(其中TCLK_SKEWTCLK1TCLK2):TCLKTCKOTOUTPUT+TLOGIC+TINPUT+TSETUP+TCLK_SKEW將TSTABLE的定義代入到周期公式,能夠獲得:TCLK=TCKO+TOUTPUT+TSTABLE+TCLK_SKEW所以,TCKO+TOUTPUT+TSTABLETCLK這個公式就是TSTABLE必定要滿足的基本時序關(guān)系,即本
53、級的輸出應(yīng)該保持怎么樣的牢固狀態(tài),才能保證下級芯片的采樣牢固。有時我們也稱這個拘束關(guān)系是輸出數(shù)據(jù)的保持時間的時序拘束關(guān)系。只要滿足上述關(guān)系,當(dāng)前芯片輸出端的數(shù)據(jù)比時鐘上升沿提早TSTABLE時間牢固下來,下一級就可以正確地采樣數(shù)據(jù)。其中TOUTPUT為設(shè)計中連接同步元件輸出端的組合邏輯、網(wǎng)線和PAD的延緩之和,TCKO為同步元件時鐘輸出時間。【推行上述拘束的方法和命令】推行上述拘束的基本方法是,依照已知時序信息,計算需要拘束的時間值,推行約拘束。詳細的說是這樣的,第一關(guān)于一般設(shè)計,第一掌握的是TCLK,這個關(guān)于設(shè)計者來說是個已知量。前面介紹公式和圖中的TCKO和TSETUP(注:有的工具軟件對
54、TCKO和TSETUP的定義與前面圖形不一樣,還包括了到達同步器件的一段logic的時延)是器件內(nèi)部固有的一個時間量,一般我們采用典型值,關(guān)于FPGA,這個量值比較小,一般不大于12ns。比較難以確定的是TINPUT和TOUTPUT兩個時間量。拘束輸入時間偏移,需要知道TINPUT,TINPUT為輸入端的組合邏輯、網(wǎng)線和PAD的延緩之和,PAD的延時也依照器件型號也有典型值可選,但是到達輸入端的組合邏輯電路和網(wǎng)線的延時就比較難以確定了,只能經(jīng)過靜態(tài)時序解析工具解析,也許經(jīng)過基層布局布線工具量取,有很大的經(jīng)驗和試試的成分在里面。拘束輸出時間偏移,需要知道TOUTPUT,TOUTPUT為設(shè)計中連接
55、同步元件輸出端的組合邏輯、網(wǎng)線和PAD的延緩之和,依舊是到達輸出端的組合邏輯電路和網(wǎng)線的延時就比較難以確定,需要經(jīng)過靜態(tài)時序解析工具解析,也許經(jīng)過基層布局布線工具量取,有很大的經(jīng)驗和試試的成分在里面。拘束的詳細命令依照拘束工具不一樣而異,第一說使用Xilinx器件的情況下,推行上述拘束的命令和方法。Xilinx把上述拘束統(tǒng)稱為:OFFSET拘束(偏移拘束),一共有4個相關(guān)拘束屬性:OFFSET_IN_BEFORE、OFFSET_IN_AFTER、OFFSET_OUT_BEFORE和OFFSET_OUT_AFTER。其中前兩個屬性叫做輸入偏移(OFFSET_IN)拘束,基本功能相似,可是是拘束取
56、的參照對象不一樣而已。后兩個屬性叫做輸出偏移(OFFSET_OUT)拘束,基本功能相似,也是拘束取的參照對象不一樣而已。為了便于理解,舉例說明。輸入偏移拘束例:時鐘周期為20ns,前級寄存器的TCKO選則1ns,前級輸出邏輯延時TOUTPUT3ns,中間邏輯TLOGIC的延時為10ns,那么TARRIVAL=14ns,于是能夠在數(shù)據(jù)輸入引腳附加NETDATA_INOFFET=IN14nsAFTERCLK拘束,也能夠使用OFFSET_IN_BEFORE對芯片內(nèi)部的輸入邏輯進行拘束,其語法以下:NETDATA_INOFFET=INTDELAYBEFORECLK其中TDELAY為要求的芯片內(nèi)部輸入延緩,其最
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 問題導(dǎo)向?qū)W習(xí)2024年體育經(jīng)紀(jì)人試題及答案
- 模具設(shè)計師資格考試的現(xiàn)實與理想試題及答案
- 模具設(shè)計中的機械設(shè)計原則試題及答案
- 五年級數(shù)學(xué)小數(shù)除以整數(shù)競賽試題訓(xùn)練題
- 種子繁育員教育培訓(xùn)新模式試題及答案
- 2024模具設(shè)計師資格考試知識框架回顧試題及答案
- 提升團隊精神足球裁判員試題及答案
- 面對挑戰(zhàn) 體育經(jīng)紀(jì)人職業(yè)資格考試試題及答案
- 《鄭州進出口商貿(mào)》課件
- 農(nóng)作物種子繁育員考試重要概念識記與試題答案緊扣
- 2024年(中級)嵌入式系統(tǒng)設(shè)計師軟考試題庫(含答案)
- 高齡患者的麻醉管理策略
- 小小科學(xué)家《物理》模擬試卷A(附答案)
- 2024年安徽蚌埠市國有資本運營控股集團有限公司招聘筆試參考題庫含答案解析
- 江蘇省無錫市2023-2024學(xué)年五年級下學(xué)期期中綜合測試數(shù)學(xué)試卷(蘇教版)
- 心內(nèi)科入科教育培訓(xùn)
- 題眾籌筑屋規(guī)劃方案設(shè)計樣本
- 譯林版高中英語必修三全冊教學(xué)案設(shè)計
- 腦動脈供血不足的護理查房
- 四年級音樂 我是少年阿凡提課件【全國一等獎】
- 流病課件慢性病流行病學(xué)
評論
0/150
提交評論