




下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、建立時(shí)間和保持時(shí)間X 數(shù)據(jù)-tsuth-*|時(shí)鐘15U :建立時(shí)間th保持時(shí)間giltch1.jpg圖1建立時(shí)間(setup time )是指在觸發(fā)器的時(shí)鐘信號(hào)上升沿到來(lái)以前,數(shù)據(jù)穩(wěn)定不變的時(shí)間,如果建立時(shí)間不夠,數(shù)據(jù)將不能在這個(gè)時(shí)鐘上升沿被打入觸發(fā)器;保持時(shí)間( hold time )是指在觸發(fā)器的時(shí)鐘信號(hào)上升沿 到來(lái)以后,數(shù)據(jù)穩(wěn)定不變的時(shí)間,如果保持時(shí)間不夠,數(shù)據(jù)同樣不能被打入觸發(fā)器。如圖1。數(shù)據(jù)穩(wěn)定傳輸必須滿足建立和保持時(shí)間的要求,當(dāng)然在一些情況下,建立時(shí)間和保持時(shí)間的值可以為零。QUOTE:DC,建立時(shí)間不滿足,只能重新綜合設(shè)計(jì),并以違例路徑為目標(biāo)進(jìn)行優(yōu)化,以及對(duì)涉及到違例的組合邏輯
2、以及子模塊加緊約束。保持時(shí)間不滿足,可在布圖前或者布圖后再修改這些違例,通常布圖后再修改。因?yàn)椴紙D前綜合,時(shí)序分析采用統(tǒng)計(jì)線載模型,在布局前修正保持時(shí)間違例可能會(huì)導(dǎo)致布圖后建立時(shí)間違例。QUOTE:1、setup time的意義:為什么 Data需要在Clock到達(dá)之前到達(dá)?其實(shí)在實(shí)際的問(wèn)題中,setup time并不一定是大于零的,因?yàn)镃lock到達(dá)時(shí)刻并不等同于latch的傳輸 門(mén)A關(guān)閉的時(shí)刻(更何況這種關(guān)閉并不是絕對(duì)的和瞬間完成的),這之間有一個(gè)未知的延遲時(shí)間。為使問(wèn)題簡(jiǎn)化,假設(shè)Clock的到達(dá)時(shí)刻為傳輸門(mén) A關(guān)閉、傳輸們B打開(kāi)的時(shí)刻。如果Data沒(méi)有在這之前足夠早的時(shí)刻到達(dá),那么很有可
3、能內(nèi)部的feedback線路上的電壓還沒(méi)有達(dá)到足夠使得inv1翻轉(zhuǎn)的地步(因?yàn)閕nv0有延時(shí),Data有slope ,傳輸門(mén)B打開(kāi)后原來(lái)的 Q值將通過(guò)inv2迫使feedback保持原來(lái)的Q能夠正確輸出值)。如果這種競(jìng)爭(zhēng)的情況發(fā)生,Q的舊值將有可能獲勝,使 Q不能夠寄存住正確的 Data值;當(dāng)然如果 feedback上的電壓已經(jīng)達(dá)到了足夠大的程度也有可能在競(jìng)爭(zhēng)中取勝,使得如果 inv0 、 inv1 和 inv2 的延時(shí)較大( Data 的變化影響feedback 和 Q 的時(shí)間越長(zhǎng)),那么為了保證正確性就需要更大的 setup time 。所以在實(shí)際測(cè)量setup time 的時(shí)候,需要選取
4、工藝中最慢的 corner 進(jìn)行仿真測(cè)量。2 、 hold time 的意義:為什么Data 在 Clock 到達(dá)之后仍然要保持一段時(shí)間?和 setuptime 的情況不一樣,因?yàn)?Clock 到達(dá)時(shí)刻并不等同于latch 的傳輸門(mén) A 完全關(guān)閉的時(shí)刻。所以如果 Data 沒(méi)有在 Clock 到達(dá)之后保持足夠長(zhǎng)的時(shí)間, 那么很有可能在傳輸門(mén) A 完全關(guān)閉之前 Data 就已經(jīng)變化了,并且引起了feedback 的變化。如果這種變化足夠大、時(shí)間足夠長(zhǎng)的話,很有可能將feedback從原本正確的低電壓拉到較高電壓的電壓。 甚至如果這種錯(cuò)誤足夠劇烈, 導(dǎo)致了 inv1 和 inv2 組成的 keep
5、er發(fā)生了翻轉(zhuǎn),從而徹底改變了 Q 的正確值,就會(huì)導(dǎo)致輸出不正確。當(dāng)然,如果這種錯(cuò)誤電壓不是足夠大到能夠改變 keeper 的值,就不會(huì)影響到 Q 的正確輸出。如果 inv0 、 inv1 和 inv2 的延時(shí)較?。?Data 的變化影響feedback 和 Q 的時(shí)間越短),那么為了保證正確性,就需要更大的 hold time 。所以在實(shí)際測(cè)量 hold time 的時(shí)候,需要選取工藝中最快的 corner 進(jìn)行仿真測(cè)量。QUOTE:時(shí)鐘周期為T(mén), 觸發(fā)器 D1 的時(shí)鐘沿到來(lái)到觸發(fā)器Q 變化的時(shí)間 Tco( CLK-Q ) 最大為 T1max, 最小為 T1min,邏輯組合電路的延遲時(shí)間最大
6、為 T2max ,最小為 T2min ,問(wèn)觸發(fā)器 D2 的建立時(shí)間和保持時(shí)間。最終答案: T3setupT-T1max-T2max , T3holdT1min+T2minmaxbird : D2 的保持時(shí)間就是時(shí)鐘沿到來(lái)之后,D2 的數(shù)據(jù)輸入端要保持?jǐn)?shù)據(jù)不變的時(shí)間 ,這個(gè)時(shí)間是由 D1和 D2 之間的組合邏輯時(shí)延決定的。 例如 :假設(shè) D1 和 D2 之間的組合邏輯時(shí)延為2ns, 時(shí)鐘周期為10ns, 這意味著在時(shí)鐘沿來(lái)到后, D1 輸出的新數(shù)據(jù)要過(guò) 2ns 才會(huì)到達(dá) D2 的數(shù)據(jù)輸入端,那么在這2ns 內(nèi), D2 的數(shù)據(jù)輸入端保持的還是上一次的舊數(shù)據(jù),其值不會(huì)立即更新,假設(shè)D2 的最小保持時(shí)
7、間為3ns, 這意味時(shí)鐘沿到來(lái)后, D2 的數(shù)據(jù)輸入端的值在3ns 內(nèi)不能有變化,回到問(wèn)題的關(guān)鍵,由于D1 在時(shí)鐘沿到來(lái)后的輸出結(jié)果,經(jīng)過(guò) 2ns 的組合邏輯延時(shí)便到達(dá)了 D2 的輸入端,而 D2 要求在時(shí)鐘沿到來(lái)后的 3ns 內(nèi)其輸入端的值不能改變, 這樣 D2 的保持時(shí)間就得不到滿足,所以D2 的保持時(shí)間必須小于等于2ns 。 至于說(shuō) T2min 為 0時(shí)的情況,其實(shí)T2min 是永遠(yuǎn)不能為 0 的,即使是一根導(dǎo)線其時(shí)延也是不可能為0 的,這就是為什么移位寄存器的兩個(gè)觸發(fā)器之間連的只是一根導(dǎo)線,導(dǎo)線后端觸發(fā)器的保持時(shí)間卻還是可以滿足的原因,其實(shí)移 位寄存器中觸發(fā)器的保持時(shí)間可以看成是小于等
8、于其間導(dǎo)線的時(shí)延。建立時(shí)間:觸發(fā)器在時(shí)鐘沿來(lái)到前,其數(shù)據(jù)輸入端的數(shù)據(jù)必須保持不變的時(shí)間;保持時(shí)間:觸發(fā)器在時(shí)鐘沿來(lái)到后,其數(shù)據(jù)輸入端的數(shù)據(jù)必須保持不變的時(shí)間。因?yàn)橛|發(fā)器內(nèi)部數(shù)據(jù)的形成是需要一定的時(shí)間的,如果不滿足建立和保持時(shí)間,觸發(fā)器將進(jìn)入亞穩(wěn)態(tài),進(jìn)入亞穩(wěn)態(tài)后觸發(fā)器的輸出將不穩(wěn)定,在0和1之間變化,這時(shí)需要經(jīng)過(guò)一個(gè)恢復(fù)時(shí)間,其輸出才能穩(wěn)定,但穩(wěn)定后的值并不一定是你的輸入值。這就是為什么要用兩級(jí)觸發(fā)器來(lái)同步異步輸入信號(hào)。這樣做可以防 止由于異步輸入信號(hào)對(duì)于本級(jí)時(shí)鐘可能不滿足建立保持時(shí)間而使本級(jí)觸發(fā)器產(chǎn)生的亞穩(wěn)態(tài)傳播到后面邏輯 中,導(dǎo)致亞穩(wěn)態(tài)的傳播。兩級(jí)觸發(fā)器可防止亞穩(wěn)態(tài)傳播的原理:假設(shè)第一級(jí)觸發(fā)
9、器的輸入不滿足其建立保 持時(shí)間,它在第一個(gè)脈沖沿到來(lái)后輸出的數(shù)據(jù)就為亞穩(wěn)態(tài),那么在下一個(gè)脈沖沿到來(lái)之前,其輸出的亞穩(wěn) 態(tài)數(shù)據(jù)在一段恢復(fù)時(shí)間后必須穩(wěn)定下來(lái),而且穩(wěn)定的數(shù)據(jù)必須滿足第二級(jí)觸發(fā)器的建立時(shí)間,如果都滿足 了,在下一個(gè)脈沖沿到來(lái)時(shí),第二級(jí)觸發(fā)器將不會(huì)出現(xiàn)亞穩(wěn)態(tài),因?yàn)槠漭斎攵说臄?shù)據(jù)滿足其建立保持時(shí)間。同步器有效的條件:第一級(jí)觸發(fā)器進(jìn)入亞穩(wěn)態(tài)后的恢復(fù)時(shí)間+第二級(jí)觸發(fā)器的建立時(shí)間 =時(shí)鐘周期。(編者注:maxbird在該部分詳細(xì)說(shuō)明了建立時(shí)間和保持時(shí)間的概念,以及如果不滿足二者可能導(dǎo)致的亞穩(wěn)態(tài)的傳播。注意這里說(shuō)的建立時(shí)間和保持時(shí)間都是針對(duì)時(shí)鐘而言的,在進(jìn)行時(shí)序約束時(shí)所指的就是這種,而很多網(wǎng)友以
10、前學(xué)習(xí)的建立時(shí)間保持時(shí)間的概念是針對(duì)信號(hào)而言的,所指的對(duì)象不同,分析出來(lái)的結(jié)論完 全相反,一定注意不要混淆。)lh1688 :不考慮 CLOCK SKEW 情況下。D2 的建立時(shí)間要求:Tco1 +T1(logic delay) +Tsetup2 Tc(CLOCK周期)。那么Tsetup2 Tc (CLOCK 周期)(Tco1 +T1)。這個(gè)應(yīng)該比較容易理解。相對(duì)的保持時(shí)間實(shí)際就是路徑的總延時(shí)(Tco1+T1)。保持時(shí)間Thold2 0所以要求的最小時(shí)鐘周期即為 T=Tcq+Tpd+Tsetup-Tcd時(shí)鐘周期為T(mén),觸發(fā)器D1的時(shí)鐘沿到來(lái)到觸發(fā)器 Q變化的時(shí)間Tco(CLK-Q )最大為T(mén)1m
11、ax,最小為T(mén)imin, 邏輯組合電路的延遲時(shí)間最大為T(mén)2max ,最小為T(mén)2min,問(wèn)觸發(fā)器D2的建立時(shí)間和保持時(shí)間。該題最終答案:T3setupmaxbird : D2的保持時(shí)間就是時(shí)鐘沿到來(lái)之后 ,D2的數(shù)據(jù)輸入端要保持?jǐn)?shù)據(jù)不變的時(shí)間,這個(gè)時(shí)間是由D1和D2之間的組合邏輯時(shí)延決定的。例如 :假設(shè)D1和D2之間的組合邏輯時(shí)延為 2ns,時(shí)鐘周期為10ns, 這意味著在時(shí)鐘沿來(lái)到后,D1輸出的新數(shù)據(jù)要過(guò) 2ns才會(huì)到達(dá)D2的數(shù)據(jù)輸入端,那么在這 2ns內(nèi),D2的數(shù)據(jù)輸入端保持的還是上一次的舊數(shù)據(jù),其值不會(huì)立即更新,假設(shè)D2的最小保持時(shí)間為3ns,這意味時(shí)鐘沿到來(lái)后,D2的數(shù)據(jù)輸入端的值在 3
12、ns內(nèi)不能有變化,回到問(wèn)題的關(guān)鍵,由于 D1在時(shí)鐘沿到來(lái)后的輸 出結(jié)果,經(jīng)過(guò)2ns的組合邏輯延時(shí)便到達(dá)了D2的輸入端,而D2要求在時(shí)鐘沿到來(lái)后的 3ns內(nèi)其輸入端的值不能改變,這樣 D2的保持時(shí)間就得不到滿足,所以 D2的保持時(shí)間必須小于等于 2ns。至于說(shuō)T2min 為0時(shí)的情況,其實(shí)T2min是永遠(yuǎn)不能為0的,即使是一根導(dǎo)線其時(shí)延也是不可能為0的,這就是為什么移位寄存器的兩個(gè)觸發(fā)器之間連的只是一根導(dǎo)線,導(dǎo)線后端觸發(fā)器的保持時(shí)間卻還是可以滿足的原因,其 實(shí)移位寄存器中觸發(fā)器的保持時(shí)間可以看成是小于等于其間導(dǎo)線的時(shí)延。建立時(shí)間:觸發(fā)器在時(shí)鐘沿來(lái)到前,其數(shù)據(jù)輸入端的數(shù)據(jù)必須保持不變的時(shí)間;保持時(shí)
13、間:觸發(fā)器在時(shí)鐘沿來(lái)到后,其數(shù)據(jù)輸入端的數(shù)據(jù)必須保持不變的時(shí)間。如下圖:) 數(shù)據(jù)13 uth-1時(shí)料1SU皿 I”:建立時(shí)間 th:保持時(shí)間因?yàn)橛|發(fā)器內(nèi)部數(shù)據(jù)的形成是需要一定的時(shí)間的,如果不滿足建立和保持時(shí)間,觸發(fā)器將進(jìn)入亞穩(wěn)態(tài),進(jìn)入亞穩(wěn)態(tài)后觸發(fā)器的輸出將不穩(wěn)定,在0和1之間變化,這時(shí)需要經(jīng)過(guò)一個(gè)恢復(fù)時(shí)間,其輸出才能穩(wěn)定,+第二級(jí)觸發(fā)器的建立時(shí)間=時(shí)鐘周期但穩(wěn)定后的值并不一定是你的輸入值。這就是為什么要用兩級(jí)觸發(fā)器來(lái)同步異步輸入信號(hào)。這樣做可以防 止由于異步輸入信號(hào)對(duì)于本級(jí)時(shí)鐘可能不滿足建立保持時(shí)間而使本級(jí)觸發(fā)器產(chǎn)生的亞穩(wěn)態(tài)傳播到后面邏輯 中,導(dǎo)致亞穩(wěn)態(tài)的傳播。兩級(jí)觸發(fā)器可防止亞穩(wěn)態(tài)傳播的原理
14、:假設(shè)第一級(jí)觸發(fā)器的輸入不滿足其建立保 持時(shí)間,它在第一個(gè)脈沖沿到來(lái)后輸出的數(shù)據(jù)就為亞穩(wěn)態(tài),那么在下一個(gè)脈沖沿到來(lái)之前,其輸出的亞穩(wěn) 態(tài)數(shù)據(jù)在一段恢復(fù)時(shí)間后必須穩(wěn)定下來(lái),而且穩(wěn)定的數(shù)據(jù)必須滿足第二級(jí)觸發(fā)器的建立時(shí)間,如果都滿足 了,在下一個(gè)脈沖沿到來(lái)時(shí),第二級(jí)觸發(fā)器將不會(huì)出現(xiàn)亞穩(wěn)態(tài),因?yàn)槠漭斎攵说臄?shù)據(jù)滿足其建立保持時(shí)間。同步器有效的條件:第一級(jí)觸發(fā)器進(jìn)入亞穩(wěn)態(tài)后的恢復(fù)時(shí)間maxbird 在該部分詳細(xì)說(shuō)明了建立時(shí)間和保持時(shí)間的概念,以及如果不滿足二者可能導(dǎo)致的亞穩(wěn)態(tài)的傳播。注意這里說(shuō)的建立時(shí)間和保持時(shí)間都是針對(duì)時(shí)鐘而言的,在進(jìn)行時(shí)序約束時(shí)所指的就是這種,而很多網(wǎng)友以前學(xué)習(xí)的建立時(shí)間保持時(shí)間的概念
15、是針對(duì)信號(hào)而言的,所指的對(duì)象不同,分析出來(lái)的結(jié)論完全相反,一定注意不要混淆。不考慮 CLOCK SKEW 情況下。 D2 的建立時(shí)間要求: Tco1 T1(logic delay) Tsetup2 Tc (CLOCK 周期 ) 。那么 Tsetup2 Tc ( CLOCK 周期 )(Tco1 T1 )。這個(gè)應(yīng)該比較容易理解。相對(duì)的保持時(shí)間實(shí)際就是路徑的總延時(shí)( Tco1 T1 )。保持時(shí)間 Thold2 ( Tco1 T1 )。不考慮 CLOCKSKEW 情況下。 D2 的建立時(shí)間要求: Tco1 T1(logic delay) Tsetup2 Tc (CLOCK 周期 ) 。那么 Tsetu
16、p2 Tc ( CLOCK 周期 ) ( Tco1 T1 )。這個(gè)應(yīng)該比較容易理解。相對(duì)的保持時(shí)間實(shí)際就是路徑的總延時(shí)( Tco1 T1 )。保持時(shí)間 Thold2 ( Tco1 T1 )。QUOTE:你說(shuō)的保持時(shí)間應(yīng)該指的是輸入引腳的保持時(shí)間:tH = + - 如果你正確設(shè)置了 convert_clk 和 out_clk 的時(shí)序分析參數(shù), 在時(shí)序分析報(bào)告中應(yīng)該看到滿足時(shí)序要求的結(jié)果: Clock Setup : convert_clk 、 Clock Hold : convert_clk 。你說(shuō)的負(fù)值未必就不好,對(duì)于th 、 tsu 來(lái)說(shuō),負(fù)值是好的。如果你在時(shí)序設(shè)置中指定了期望值的話,用期
17、望值減去實(shí)際值,得到的是你的余量( slack )。只有 slack 是正值,才是好的結(jié)果。如果你現(xiàn)在還沒(méi)有分配引腳,并且不準(zhǔn)備把設(shè)計(jì)用于實(shí)際系統(tǒng)的話,你可以暫時(shí)不關(guān)心th、 tsu 。但是一定要設(shè)置和分析你的時(shí)鐘信號(hào)。負(fù)的 setup 和 hold time 還是比較好理解的。討論一下 setup time violation 的形成- 因?yàn)樾盘?hào)比clock 后到達(dá) DFF, 或者說(shuō)到達(dá)的時(shí)間太晚了,這個(gè)時(shí)候這個(gè) DFF 就沒(méi)有辦法采樣到這個(gè)信號(hào),于是就出現(xiàn)了 setup slak 。那么,假設(shè)你對(duì)這一個(gè)DFF 做優(yōu)化,你會(huì)怎么做? -打包這個(gè) DFF ,假設(shè)為 DFFA 。在 DFFA 中
18、把 clock加 delay , 再連接到原 DFF 。 這樣你的信號(hào)就可以走的慢一點(diǎn), 慢到比 clock 還慢都沒(méi)有問(wèn)題-而這個(gè)時(shí)候setup time 就被你給優(yōu)化到負(fù)的值了。同樣的可以解釋負(fù)的 hold time 。下面這個(gè)來(lái)自: 時(shí)鐘是整個(gè)電路最重要、最特殊的信號(hào),系統(tǒng)內(nèi)大部分器件的動(dòng)作都是在時(shí)鐘的跳變沿上進(jìn)行這就要求時(shí)鐘信號(hào)時(shí)延差要非常小,否則就可能造成時(shí)序邏輯狀態(tài)出錯(cuò);因而明確FPGA設(shè)計(jì)中決定系統(tǒng)時(shí)鐘的因素,盡量較小時(shí)鐘的延時(shí)對(duì)保證設(shè)計(jì)的穩(wěn)定性有非常重要的意義。建立時(shí)間與保持時(shí)間建立時(shí)間(Tsu: set uptime )是指在時(shí)鐘沿到來(lái)之前數(shù)據(jù)從不穩(wěn)定到穩(wěn)定所需的時(shí)間,如果建
19、立的時(shí)間不滿足要求那么數(shù)據(jù)將不能在這個(gè)時(shí)鐘上升沿被穩(wěn)定的打入觸發(fā)器;保持時(shí)間( Th: holdtime )是指數(shù)據(jù)穩(wěn)定后保持的時(shí)間,如果保持時(shí)間不滿足要求那么數(shù)據(jù)同樣也不能被穩(wěn)定的打入觸發(fā)器。建立與保持時(shí)間的簡(jiǎn)單示意圖如下圖1所示。I圖1保持時(shí)間與建立時(shí)間的示意圖在FPGA設(shè)計(jì)的同一個(gè)模塊中常常是包含組合邏輯與時(shí)序邏輯,為了保證在這些邏輯的接口處數(shù)據(jù)能 穩(wěn)定的被處理,那么對(duì)建立時(shí)間與保持時(shí)間建立清晰的概念非常重要。下面在認(rèn)識(shí)了建立時(shí)間與保持時(shí)間 的概念上思考如下的問(wèn)題。圖2同步設(shè)計(jì)中的一個(gè)基本模型圖2為統(tǒng)一采用一個(gè)時(shí)鐘的同步設(shè)計(jì)中一個(gè)基本的模型。圖中 Tco是觸發(fā)器的數(shù)據(jù)輸出的延時(shí); Tde
20、lay 是組合邏輯的延時(shí);Tsetup是觸發(fā)器的建立時(shí)間;Tpd為時(shí)鐘的延時(shí)。如果第一個(gè)觸發(fā)器 D1建立時(shí)間最 大為T(mén)1max ,最小為T(mén)imin ,組合邏輯的延時(shí)最大為 T2max ,最小為T(mén)2min。問(wèn)第二個(gè)觸發(fā)器 D2立時(shí)間 T3與保持時(shí)間T4應(yīng)該滿足什么條件,或者是知道了 T3與T4那么能容許的最大時(shí)鐘周期是多少。 這個(gè)問(wèn) 題是在設(shè)計(jì)中必須考慮的問(wèn)題,只有弄清了這個(gè)問(wèn)題才能保證所設(shè)計(jì)的組合邏輯的延時(shí)是否滿足了要求。下面通過(guò)時(shí)序圖來(lái)分析:設(shè)第一個(gè)觸發(fā)器的輸入為D1,輸出為Q1,第二個(gè)觸發(fā)器的輸入為 D2,輸出為Q2;時(shí)鐘統(tǒng)一在上升沿進(jìn)行采樣,為了便于分析我們討論兩種情況即第一:假設(shè)時(shí)鐘的
21、延時(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ù)都是保持一個(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-TdelayT3即:Tdelayv T-Tco-T3那么就滿足了建立時(shí)間的要求,其中 T為時(shí)鐘的周期,這種情況下第二個(gè)觸發(fā)器就能在第二個(gè)時(shí)鐘的升沿
22、就能穩(wěn)定的采到D2 ,時(shí)序圖如圖3所示。圖3符合要求的時(shí)序圖4所示。那么電路如果組合邏輯的延時(shí)過(guò)大使得T-Tco-Tdelay =T3這也就是要求的D2的建立時(shí)間。從上面的時(shí)序圖中也可以看出,D2的建立時(shí)間與保持時(shí)間與 D1的建立與保持時(shí)間是沒(méi)有關(guān)系的,而只和D2前面的組合邏輯和 D1的數(shù)據(jù)傳輸延時(shí)有關(guān),這也是一個(gè)很重要的結(jié)論。說(shuō)明了延時(shí)沒(méi)有疊加效應(yīng)。第二種情況如果時(shí)鐘存在延時(shí),這種情況下就要考慮保持時(shí)間了,同時(shí)也需要考慮建立時(shí)間。時(shí)鐘出現(xiàn)5所示。較大的延時(shí)多是采用了異步時(shí)鐘的設(shè)計(jì)方法,這種方法較難保證數(shù)據(jù)的同步性,所以實(shí)際的設(shè)計(jì)中很少采 用。此時(shí)如果建立時(shí)間與保持時(shí)間都滿足要求那么輸出的時(shí)序
23、如圖圖5時(shí)鐘存在延時(shí)但滿足時(shí)序從圖5中可以容易的看出對(duì)建立時(shí)間放寬了Tpd,所以D2的建立時(shí)間需滿足要求:Tpd + T-Tco-T2max = T3由于建立時(shí)間與保持時(shí)間的和是穩(wěn)定的一個(gè)時(shí)鐘周期,如果時(shí)鐘有延時(shí),同時(shí)數(shù)據(jù)的延時(shí)也較小那么建立時(shí)間必然是增大的,保持時(shí)間就會(huì)F1之減小,如果減小到不滿足 D2的保持時(shí)間要求時(shí)就不能采集到正 確的數(shù)據(jù),如圖6所示。這時(shí)即T- ( Tpd+T Tco-T2min ) = T4 即 Tco+ T2min-Tpd =T4T4所以不必要關(guān)系保持時(shí)間從上式也可以看出如果 Tpd = 0也就是時(shí)鐘的延時(shí)為 0那么同樣是要求Tco +T2minT4 ,但是在實(shí)際
24、的應(yīng)用中由于T2的延時(shí)也就是線路的延時(shí)遠(yuǎn)遠(yuǎn)大于觸發(fā)器的保持時(shí)間即os D/ i 771圖6時(shí)鐘存在延時(shí)且保持時(shí)間不滿足要求綜上所述,如果不考慮時(shí)鐘的延時(shí)那么只需關(guān)心建立時(shí)間,如果考慮時(shí)鐘的延時(shí)那么更需關(guān)心保持時(shí)間。下面將要分析在FPGA設(shè)計(jì)中如何提高同步系統(tǒng)中的工作時(shí)鐘。如何提高同步系統(tǒng)中的工作時(shí)鐘從上面的分析可以看出同步系統(tǒng)時(shí)對(duì)D2建立時(shí)間T3的要求為:T-Tco-T2max =T3所以很容易推出T=T3+Tco+T2max,其中T3為D2的建立時(shí)間Tset , T2為組合邏輯的延時(shí)。在一個(gè)設(shè)計(jì)中T3和Tco都是由器件決定的固定值,可控的也只有T2也就時(shí)輸入端組合邏輯的延時(shí),所以通過(guò)盡量來(lái)減
25、小T2就可以提高系統(tǒng)的工作時(shí)鐘。為了達(dá)到減小T2在設(shè)計(jì)中可以用下面不同的幾種方法綜合來(lái)實(shí)現(xiàn)。通過(guò)改變走線的方式來(lái)減小延時(shí)以altera的器件為例,我們?cè)?quartus里面的timing closure floorplan 可以看到有很多條條塊塊,我們可以將條條塊塊按行和按列分,每一個(gè)條塊代表1個(gè)LAB ,每個(gè)LAB里有8個(gè)或者是10個(gè)LE。它們的走線時(shí)延的關(guān)系如下:同一個(gè)LAB中(最快) 同列或者同行 Tskew+ Thold2. Tcq + Tcomb 0) hold time you might face a problem.More info, VHDL and VERILOG cod
26、e as well as simulation utilities can be found at/A2: 1) What causes HOLD VIOLATIONS in DESIGN.Simply, data should be hold for some time ( hold time) after the edge of the clock. So, if the data changes with the hold time might cause violation. In general, hold time will be fixe
27、d during backend work (during PNR) while buildingclock tree. If u r a frontend designer, concentrate on fixingsetup time violationsrather than hold violations .2) How it effects DESIGN.If a chip is done with some setup violations it can work by reducing the frequency.If achip is done with hold viola
28、tions , JUST DUMP the chip. This is how it effects at the end of the day. Hold vilations needs to be fixed.3) What changes need to be done to make DESIGN work.PNR tools will route and place the cells in such a way that no timing violations will occur. If still u face hold violations , u can manully
29、work on it to fix. Manually place the cells to avoidhold violations , or inthe worst case, u can keep some buffers in the datapath to avoid hold violations(but be sure setuptiming is not effected.)you said If a chip is done with hold violations, JUST DUMP the chip. why cant reducing the frequency to
30、 settle the hold violation as setup violation could you explain it clearer ?Equation for Setup TimeTclk Tclktoq + Tlogic + Tsetup + Tskew + TjitterEquation for Hold TimeTclktoq + Tlogic - Tskew TholdNote that Hold Time equation is independent of clk frequency(i.e Time period Tclk) key things to note
31、 from above equationsa) once the silicon comes back , if u have setup time problem , u canincrease the clock period (Tclk) to fix it , whereas if u have holdtime problem , its a more serious problem and u will need a newmetal fix tapeout . ( But u can still test the current chip using Low supply vol
32、tage,or High temperature or SS corner part that decrease hold time violation) Hi koggestone, It is nice information. Could you please give us more information on u will need a new metal fix tapeout . ( But u can still test the current chip using Low supply voltage, or High temperature or SS corner p
33、art that decrease hold time violation)what i meant was , when u have hold time violation , u dont need to throw away chip and wait for 3 months for fixed chip to come back. in the meanwhile , by playing with voltage and temperature , u can do other functional tests on the chip . since normally hold
34、time simulation are done at FF corner , high voltage, low temperature which is the pessimistic case for hold time , by decreasing voltage , using high temperature, and a SS corner chip , we may be lucky enough to find a part that works , to do other functional tests to catch any other bugs before ne
35、xt tapeout.下面這個(gè)比較詳細(xì):Sunil Budumuru :Pls. make a note that HOLD violations are dangerous than SETUP. To keep it simple way, SETUP timing depends on the frequency of operation. But HOLD time is not. Let us see the equations here.T = Frequency of operation (can be variable)Tcq = Flop clock to Flop outp
36、ut delay (fixed/constant)Tcomb = Delay od the combinational logic between the Flops (can be variable)Tsetup = Setup time of a Flop (fixed/constant)Thold = Hold time of a Flop (fixed/constant)Tskew = Delay between clock edges of two adjacent flops (delay offered by clock path) (can be variable)For SE
37、TUP,T = Tcq + Tcomb + Tsetup - TskewIf you have setup time means u r violating the above rule. i.e some how the equation becomesT = Tcq + Tcomb + Tsetup - Tskew. But do u think it is the correct solution. Obviously, NO. This is because we have other options to avoid setup violations right. Tcomb : I
38、f you reduce the combinational delay (between the Flops of violated path) such a way that T = Tcq + Tcomb + Tsetup - Tskew. So, the SETUP violation is avoided. How do u reduce the combinational delay? Try different logic structure without effecting the functionality. or try to reduce the more fanout
39、 nets within the logic. Or upsize or downsize the cells. If it worked out thats fine.Tskew: If u increase the skew, u can change T = Tcq + Tcomb + Tsetup - Tskew. How to increase the Tskew? Just keep buffers in the clock path. But be sure doesnt effect the HOLD timing.Case2: After the CHIP is manufatured and is in your hand. In this c
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 藝術(shù)品租賃合同
- 會(huì)議場(chǎng)地租賃合同協(xié)議書(shū)
- 保密協(xié)議商業(yè)合同
- 無(wú)錫工藝職業(yè)技術(shù)學(xué)院《工程安全健康與環(huán)境管理》2023-2024學(xué)年第二學(xué)期期末試卷
- 寧夏民族職業(yè)技術(shù)學(xué)院《賓館酒店管理》2023-2024學(xué)年第二學(xué)期期末試卷
- 菏澤家政職業(yè)學(xué)院《輕工行業(yè)清潔生產(chǎn)及污染控制技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- Unit 5 Revealing Nature Developing ideas The Secret Language of Plants教學(xué)設(shè)計(jì) 2024-2025學(xué)年高中英語(yǔ)人教版選擇性必修第二冊(cè)
- 沈陽(yáng)醫(yī)學(xué)院《機(jī)器人工程專(zhuān)業(yè)導(dǎo)論》2023-2024學(xué)年第二學(xué)期期末試卷
- 寧夏財(cái)經(jīng)職業(yè)技術(shù)學(xué)院《主題閱讀(1)》2023-2024學(xué)年第二學(xué)期期末試卷
- 山東勝利職業(yè)學(xué)院《化工原理一》2023-2024學(xué)年第二學(xué)期期末試卷
- 失業(yè)保險(xiǎn)待遇申領(lǐng)表
- 期末測(cè)試卷(一)(試題)2023-2024學(xué)年二年級(jí)上冊(cè)數(shù)學(xué)蘇教版
- 攜程在線能力測(cè)評(píng)真題
- 人教版(2024)六年級(jí)全一冊(cè) 第17課 設(shè)計(jì)我的種植園
- 承包商入廠安全培訓(xùn)試題附參考答案【完整版】
- 四川省公務(wù)員考試行測(cè)真題
- 2024年廣東省初中學(xué)業(yè)水平考試中考英語(yǔ)試卷(真題+答案解析)
- DL-T-255-2012燃煤電廠能耗狀況評(píng)價(jià)技術(shù)規(guī)范
- 家庭教育家長(zhǎng)會(huì)教案及反思(3篇模板)
- 職業(yè)培訓(xùn)師三級(jí)操作技能鑒定卷庫(kù)及答案
- 【視頻號(hào)運(yùn)營(yíng)】視頻號(hào)運(yùn)營(yíng)108招
評(píng)論
0/150
提交評(píng)論