當(dāng)多個(gè)回轉(zhuǎn)到達(dá)公共點(diǎn)時(shí)(例如在多輸入單元的情況下)會(huì)發(fā)生什么? 這個(gè)公共點(diǎn)稱為回轉(zhuǎn)合并點(diǎn)。 應(yīng)選擇哪個(gè)回轉(zhuǎn)以在回轉(zhuǎn)合并點(diǎn)處繼續(xù)向下傳播? 考慮圖 5-10 所示的 2 輸入單元:
圖5-10
由于A腳信號(hào)的變化,Z腳的轉(zhuǎn)換較早到達(dá),但上升緩慢(轉(zhuǎn)換較小); 由于B腳信號(hào)的變化,Z腳的回轉(zhuǎn)較晚到達(dá),但上升很快(擺幅較大)。 在回轉(zhuǎn)合并點(diǎn)(例如引腳 Z),應(yīng)選擇哪個(gè)回轉(zhuǎn)來進(jìn)一步傳播? 根據(jù)所執(zhí)行的時(shí)序分析的類型(最大或最小時(shí)序路徑分析),這些轉(zhuǎn)換值中的任何一個(gè)都可能是正確的。
執(zhí)行最大時(shí)序路徑分析時(shí)有兩種可能性:
● 最差轉(zhuǎn)換傳播(Worst slew):該模式選擇在合并點(diǎn)傳播最差轉(zhuǎn)換,即圖5-10(a)中的轉(zhuǎn)換。 這種選擇對(duì)于通過引腳 A->Z 的時(shí)序路徑來說是準(zhǔn)確的,但對(duì)于通過引腳 B->Z 的任何時(shí)序路徑來說都是悲觀的。
● 最差到達(dá)時(shí)間傳播(Worst):該模式選擇在合并點(diǎn)傳播最差到達(dá)時(shí)間,對(duì)應(yīng)于圖5-10(b)中的轉(zhuǎn)換。 在這種情況下選擇的轉(zhuǎn)換對(duì)于通過引腳 B->Z 的時(shí)序路徑是準(zhǔn)確的,但對(duì)于通過引腳 A->Z 的時(shí)序路徑是樂觀的。
同樣,進(jìn)行最小時(shí)序路徑分析時(shí)有兩種可能:
● 最佳轉(zhuǎn)換傳播(Best slew):該模式選擇最佳轉(zhuǎn)換在合并點(diǎn)傳播,即圖5-10(b)中的轉(zhuǎn)換。 此選擇對(duì)于通過引腳 B->Z 的時(shí)序路徑是準(zhǔn)確的,但對(duì)于通過引腳 A>Z 的任何時(shí)序路徑具有較小的轉(zhuǎn)換值。 對(duì)于經(jīng)過A->Z的路徑,路徑延遲小于實(shí)際值,因此最小時(shí)序路徑分析是悲觀的。
● 最佳到達(dá)時(shí)間傳播(Best):該模式選擇傳播匯合點(diǎn)的最佳到達(dá)時(shí)間,對(duì)應(yīng)于圖5 10(a)中的搖擺。 在這種情況下,選擇的轉(zhuǎn)換對(duì)于通過引腳 A->Z 的時(shí)序路徑來說是準(zhǔn)確的,但大于通過引腳 B->Z 的時(shí)序路徑的實(shí)際值。 對(duì)于通過B->Z的路徑,路徑延遲大于實(shí)際值,因此最小時(shí)序路徑分析是樂觀的。
設(shè)計(jì)人員可以在靜態(tài)時(shí)序分析環(huán)境之外執(zhí)行延遲計(jì)算以生成 SDF 文件。 在這種情況下,延遲計(jì)算工具通常使用最壞情況的轉(zhuǎn)換傳播。 生成的 SDF 文件足以進(jìn)行最大時(shí)序路徑分析,但對(duì)于最小時(shí)序路徑分析可能過于樂觀。
大多數(shù)靜態(tài)時(shí)序分析工具使用最壞情況和最佳情況轉(zhuǎn)換傳播作為默認(rèn)設(shè)置,因?yàn)樗J氐叵拗屏朔治觥?然而rc延時(shí)時(shí)間計(jì)算,在分析特定路徑時(shí)可以使用精確的轉(zhuǎn)換傳播,并且需要在時(shí)序分析工具中啟用一個(gè)選項(xiàng)。 因此,重要的是要了解靜態(tài)時(shí)序分析工具中默認(rèn)使用哪種轉(zhuǎn)換傳播模式,并了解在什么情況下它可能過于悲觀。
5.5 不同的轉(zhuǎn)換閾值
通常,庫會(huì)指定單元表征期間使用的轉(zhuǎn)換(轉(zhuǎn)換時(shí)間)閾值 ()。 問題是,當(dāng)具有一組轉(zhuǎn)換閾值的單元驅(qū)動(dòng)具有不同轉(zhuǎn)換閾值設(shè)置的其他單元時(shí),會(huì)發(fā)生什么情況? 考慮圖 5-11 所示的情況,其中轉(zhuǎn)換閾值為 20%-80% 的單元驅(qū)動(dòng)兩個(gè)扇出單元,一個(gè)單元的轉(zhuǎn)換閾值為 10%-90%,另一個(gè)單元的轉(zhuǎn)換閾值為 30 %-70% 轉(zhuǎn)換閾值,轉(zhuǎn)換降額因子為 0.5。
圖5-11
U1 單元的轉(zhuǎn)換設(shè)置在單元庫中定義如下:
: 20:00
:80.00
瑞亞:1.00
秋季:50.00
_秋季:50.00
上漲:50.00
_上升:50.00
:20.00
:80.00
單元 U2 的轉(zhuǎn)換設(shè)置在另一個(gè)單元庫中定義如下:
:10.00
:90.00
瑞亞:1.00
:10.00
:90.00
單元 U3 的轉(zhuǎn)換設(shè)置在另一個(gè)單元庫中定義如下:
:30.00
:70.00
數(shù)值:0.5
:30.00
:70.00
上面僅顯示了與 U2 和 U3 slew 相關(guān)的設(shè)置,輸入和輸出閾值的延遲相關(guān)設(shè)置均為 50%,上面未顯示。 延遲計(jì)算工具根據(jù)連接到該網(wǎng)絡(luò)的設(shè)備的轉(zhuǎn)換閾值來計(jì)算轉(zhuǎn)換時(shí)間。 圖 5-11 顯示了 U1/Z 處的轉(zhuǎn)換如何與該引腳上的開關(guān)波形相對(duì)應(yīng)。 U1/Z 處的等效戴維南源可用于獲取扇出單元輸入處的開關(guān)波形。 延遲計(jì)算工具根據(jù) U2/A 和 U3/A 處的波形及其轉(zhuǎn)換閾值計(jì)算 U2/A 和 U3/A 處的轉(zhuǎn)換。 請(qǐng)注意,U2/A使用的slew是基于10%-90%設(shè)置,而U3/A使用的slew是基于30%-70%設(shè)置,然后根據(jù)slew降額(slew)使用庫中指定的系數(shù) 0.5。 此示例說明如何根據(jù)開關(guān)波形和扇出單元的轉(zhuǎn)換閾值設(shè)置來計(jì)算扇出單元輸入處的轉(zhuǎn)換。
在可能不考慮互連電阻的預(yù)布局(預(yù))設(shè)計(jì)階段,可以如下計(jì)算具有不同閾值的網(wǎng)絡(luò)處的壓擺。 例如,10%-90%轉(zhuǎn)換閾值和20%-80%轉(zhuǎn)換閾值之間的關(guān)系為:
● / (0.8 - 0.2) = / (0.9 - 0.1)
因此,設(shè)置 10%-90% 閾值測(cè)量點(diǎn)時(shí)的 500ps 轉(zhuǎn)換對(duì)應(yīng)于設(shè)置 20%-80% 閾值測(cè)量點(diǎn)時(shí)的 (500ps * 0.6) / 0.8 = 375ps 轉(zhuǎn)換。 同樣,20%-80% 閾值測(cè)量點(diǎn)設(shè)置下的 600ps 轉(zhuǎn)換對(duì)應(yīng)于 10%-90% 閾值測(cè)量點(diǎn)設(shè)置下的 (600ps * 0.8)/0.6 = 800ps 轉(zhuǎn)換。
5.6 不同電壓域
典型的設(shè)計(jì)可能會(huì)為芯片的不同部分使用不同的電源。 在這種情況下,應(yīng)在不同電壓域之間的接口處使用電平單元。 電平轉(zhuǎn)換單元接受一個(gè)電壓域中的輸入并提供另一電壓域中的輸出。 例如,標(biāo)準(zhǔn)電池的輸入可以是1.2V,其輸出可以是較低的電壓,例如0.9V。 示例如下圖5-12所示:
圖5-12
請(qǐng)注意,延遲是根據(jù) 50% 閾值點(diǎn)計(jì)算的。 對(duì)于接口單元的不同引腳,這些點(diǎn)可以處于不同的電壓。
5.7 路徑延遲計(jì)算
一旦知道每個(gè)時(shí)序弧的完整延遲,設(shè)計(jì)中每個(gè)單元的時(shí)序就可以表示為時(shí)序圖。 通過組合邏輯單元的時(shí)序可以表示為從輸入到輸出的時(shí)序弧。 類似地,互連線可以由從源引腳到每個(gè)目標(biāo)引腳的對(duì)應(yīng)弧來表示,表示為單獨(dú)的定時(shí)弧。 一旦整個(gè)設(shè)計(jì)通過相應(yīng)的時(shí)序弧進(jìn)行校準(zhǔn)(),計(jì)算路徑延遲只需將路徑上所有網(wǎng)絡(luò)和元件的時(shí)序弧相加即可。
5.7.1 組合邏輯路徑延遲
考慮三個(gè)逆變器串聯(lián),如圖 5-13 所示。 在考慮從網(wǎng)絡(luò) N0 到網(wǎng)絡(luò) N3 的路徑時(shí),我們同時(shí)考慮了上升沿和下降沿路徑,現(xiàn)在假設(shè)網(wǎng)絡(luò) N0 處有一個(gè)上升沿。
圖5-13
可以指定第一個(gè)逆變器輸入的轉(zhuǎn)換時(shí)間(或轉(zhuǎn)換時(shí)間),否則假定為零(對(duì)應(yīng)于理想情況)。 輸入 UINVa/A 處的轉(zhuǎn)換時(shí)間可以通過使用上一節(jié)中指定的互連延遲模型來確定。 同樣,該互連延遲模型也可用于確定網(wǎng)絡(luò) N0 的延遲 Tn0。
根據(jù)UINVa輸出端的RC負(fù)載,可以得到輸出端的有效電容UINVa/Z。 輸入端 UINVa/A 的躍遷時(shí)間和輸出端 UINVa/Z 的等效有效負(fù)載可用于獲得單位輸出下降延遲。
引腳 UINVa/Z 處的等效戴維寧電壓源模型通過互連延遲模型確定引腳 UINVb/A 處的轉(zhuǎn)換時(shí)間,該模型也用于確定網(wǎng)絡(luò) N1 上的延遲 Tn1。
一旦知道輸入 UINVb/A 的轉(zhuǎn)換時(shí)間,就可以類似地計(jì)算通過 UINVb 的延遲。 UINVb/Z 處的 RC 互連和 UINVc/A 引腳處的引腳電容可用于確定 N2 處的有效負(fù)載。 UINVb/A 處的轉(zhuǎn)換時(shí)間可用于確定通過反相器 UINVb 的輸出上升延遲,依此類推。
最后一級(jí)的負(fù)載由明確的負(fù)載規(guī)范指定,如果不指定,則僅使用網(wǎng)絡(luò)N3的線路負(fù)載。
上述分析假設(shè)網(wǎng)絡(luò)N0為上升沿,對(duì)于網(wǎng)絡(luò)N0的下降沿也可以進(jìn)行類似的分析。 因此,在這個(gè)簡(jiǎn)單的示例中,有兩個(gè)具有以下延遲的時(shí)序路徑:
● Tfall = + + + + + +
● Trise = + + + + + +
通常,由于驅(qū)動(dòng)器單元輸出處的戴維寧電壓源模型不同,通過互連線的上升和下降延遲可能會(huì)有所不同。
5.7.2 觸發(fā)輸入到觸發(fā)路徑的路徑
考慮從輸入 SDT 到觸發(fā)器 UFF1 的時(shí)序路徑,如圖 5-14 所示:
圖5-14
我們需要考慮上升沿和下降沿路徑。 對(duì)于輸入 SDT 的上升沿,數(shù)據(jù)路徑延遲為:
● + + + + + +
同樣,對(duì)于輸入 SDT 的下降沿,數(shù)據(jù)路徑延遲為:
● + + + + + +
輸入 MCLK 上升沿的 () 時(shí)鐘路徑延遲為:
● + +
觸發(fā)到觸發(fā)路徑
圖 5-15 給出了兩個(gè)觸發(fā)器之間的數(shù)據(jù)路徑和相應(yīng)時(shí)鐘路徑的示例:
圖5-15
UFF0/Q 上升沿的數(shù)據(jù)路徑延遲為:
● + + + + +
輸入 PCLK 上升沿的 () 時(shí)鐘路徑延遲為:
● + +
輸入 PCLK 上升沿的 () 時(shí)鐘路徑延遲為:
● + + + +
需要注意單元格()的單邊性,因?yàn)榻?jīng)過單元格時(shí)邊緣方向可能會(huì)發(fā)生變化(上升沿變成下降沿,下降沿變成上升沿)。
5.7.3 多路徑
任意兩點(diǎn)之間,可以有很多條路徑。 最長(zhǎng)路徑是花費(fèi)最多時(shí)間的路徑,也稱為最差路徑、較晚路徑或最大路徑。 最短路徑是指花費(fèi)時(shí)間最少的路徑,也稱為最佳路徑、較早路徑或最小路徑。
時(shí)序弧的邏輯和延遲見圖5-16。 兩個(gè)觸發(fā)器之間的最長(zhǎng)路徑是通過單元UBUF1、UNOR2rc延時(shí)時(shí)間計(jì)算,兩個(gè)觸發(fā)器之間的最短路徑是通過單元UBUF1、UNOR2和UNOR2。
圖5-165.8 保證金計(jì)算
松弛是信號(hào)所需到達(dá)時(shí)間 (Time) 與其實(shí)際到達(dá)時(shí)間 (Time) 之間的差值。 在圖5-17中,要求數(shù)據(jù)在7ns保持穩(wěn)定,以滿足建立時(shí)間(setup)的要求。 不過數(shù)據(jù)穩(wěn)定在1ns。 因此,余量為6ns(=7ns-1ns)。
圖5-17
假設(shè)數(shù)據(jù)需要到達(dá)的時(shí)間是從捕獲觸發(fā)的建立時(shí)間得到的,計(jì)算過程如下:
● 所需到達(dá)時(shí)間 = - = 10 - 3 = 7ns
● 實(shí)際到達(dá)時(shí)間=1ns
● 裕量裕度 = - = 7 - 1 = 6ns
同樣,如果兩個(gè)信號(hào)之間的時(shí)滯要求為 100ps,并且測(cè)得的時(shí)滯為 60ps,則時(shí)滯余量為 40ps (= 100ps-60ps)。
第5章:延遲計(jì)算(完)