繞線延時(shí)(Net Delay)是怎么計(jì)算出來(lái)的呢?Net Delay在整個(gè)路徑延時(shí)(Path Delay)的占比又是什么情況呢?針對(duì)關(guān)鍵路徑,工具會(huì)如何降低Net Delay呢?下面我們就來(lái)逐步闡述。
Net Delay占比多高?
Path Delay = Cell Delay + Net Delay
你可能好奇Net Delay所占的比重如何?這個(gè)跟工藝和設(shè)計(jì)是相關(guān)的,但是總體上的趨勢(shì)是,隨著工藝尺寸縮小,Net Delay占比越來(lái)越高。下面是Net Delay占比的分布圖,統(tǒng)計(jì)對(duì)象是基于12nm工藝的一個(gè)SoC設(shè)計(jì)中的100萬(wàn)條路徑??梢钥闯?,很大一部分的Path中的Net Delay占比超過(guò)20%。
Net Delay 計(jì)算公式
為了計(jì)算Net Delay,我們需要先提取出電容和電阻,如果已經(jīng)有真實(shí)的繞線(route)或者預(yù)估的繞線(global route),那么只需要根據(jù)route在不同層(layer)的分布就可以提取出相對(duì)準(zhǔn)確的寄生參數(shù)值,下圖是在log中顯示每一層的layer的單位電阻和電容值的實(shí)例,這些值的源頭是Foundary提供 TLUPlus /ITF文件(本文以ICC為例,其他EDA工具會(huì)有較大差異,具體在PnR教程中會(huì)講解):
但是,問(wèn)題來(lái)了,在綜合(Synthesis)階段,如果沒(méi)有繞線的長(zhǎng)度信息,也沒(méi)有stdcell的位置信息,是怎么得到電阻電容值的呢?這就是Wire Load Model在起作用了。
Wire Load Model
下圖是標(biāo)準(zhǔn)單元庫(kù).lib中定義的一種Wire Load Model,名字是“ZeroWireload”,它是根據(jù)net的扇出(fanout)來(lái)預(yù)估長(zhǎng)度(length),然后再根據(jù)所定義的單位長(zhǎng)度的電阻(0.00001),以及單位長(zhǎng)度電容(1)來(lái)計(jì)算net的寄生RC參數(shù)。不過(guò)圖中的例子比較理想化,都是設(shè)成了0,完全不考慮net delay。在實(shí)際項(xiàng)目中,必要時(shí),可以自己定義Wire Load Model,盡量在綜合階段將Net Delay的影響考慮進(jìn)去。
Elmore Delay 模型
既然已經(jīng)有了寄生的RC信息,那怎么計(jì)算Net Delay呢?
對(duì)于單輸入單輸出的net,假設(shè)不考慮net之間的耦合電容(即不考慮噪聲的影響),并且也不存在電阻性的反饋回路的情況,可以用Elmore Delay模型來(lái)計(jì)算Net Delay,如下圖:
根據(jù)Elmore Delay公式,各節(jié)點(diǎn)的delay可以表示為:
如果把繞線用分布式RC模型來(lái)表示,如下圖:
那么,Net Delay可以進(jìn)一步化簡(jiǎn)為:
原因是Cwire只能往前看到Rwire/2的電阻,Cload往前能看到Rwire的電阻。
AWE模型和Arnoldi模型
AWE(Asymptotic Waveform Evaluation)和Arnoldi都是是更高級(jí)的對(duì)RLC網(wǎng)絡(luò)延時(shí)進(jìn)行瞬態(tài)響應(yīng)匹配近似的方法。當(dāng)然,AWE本身也有一階模型,結(jié)果與Elmore類(lèi)似,但是誤差也較大(與SPICE模型相比),可能達(dá)到74%,二階AWE模型的誤差可以減少到22%,四階AWE的近似結(jié)果和SPICE模型的結(jié)果誤差已經(jīng)很小了。AWE模型的優(yōu)點(diǎn)是容易實(shí)現(xiàn),缺點(diǎn)是數(shù)值不穩(wěn)定,而Arnoldi模型會(huì)更加穩(wěn)健,在目前EDA工具Postroute階段應(yīng)用比較多。
Net Delay的優(yōu)化
前面講到Net Delay占整個(gè)Path的比重很大一部分已經(jīng)超過(guò)20%了,如何去優(yōu)化這一部分Net Delay呢?
根據(jù)Net Delay的計(jì)算公式,減少R*C的值就能優(yōu)化Net Delay。由于高層金屬通常會(huì)比底層金屬的單位長(zhǎng)度RC更小,所以把路徑上的net更多地繞在高層金屬上,可以把關(guān)鍵路徑優(yōu)化得更好。具體到PnR工具的實(shí)現(xiàn)上,通常會(huì)有一個(gè)“Layer Promotion”的功能。
另外,對(duì)于高速的net,尤其是clock net,一般會(huì)特殊對(duì)待,給它們?cè)O(shè)置NDR(Non-Default-Rule),讓它們用更大的寬度(width)和間距(space),甚至加上shielding隔離它們,以保證這些高速的net不會(huì)被其它的net影響。當(dāng)然設(shè)置NDR是有代價(jià)的,它們會(huì)占用更多的繞線資源,并不是越嚴(yán)格越好,常見(jiàn)的設(shè)置是,對(duì)clock net設(shè)置2倍寬度2倍間距(2w2s)的NDR。其實(shí)高速的net用更寬的rule還有一個(gè)DFM的原因,就是這些net的電子遷移(Electro-Migration,EM)導(dǎo)致的繞線缺陷機(jī)率比普通net要高。在PnR教程中會(huì)詳細(xì)介紹EM,以及如何避免、修復(fù)EM的違例的問(wèn)題。
總結(jié)
對(duì)于Net Delay,需要了解它在整個(gè)Path Delay占的份量,熟悉Wire Load Model,Elmore Delay,AWE,Arnoldi等概念。有些在后端的面試中也經(jīng)常被問(wèn)到。
-
EDA工具
+關(guān)注
關(guān)注
4文章
264瀏覽量
31674 -
SoC設(shè)計(jì)
+關(guān)注
關(guān)注
1文章
148瀏覽量
18753 -
DFM
+關(guān)注
關(guān)注
8文章
460瀏覽量
28099 -
電阻電容
+關(guān)注
關(guān)注
1文章
40瀏覽量
9503 -
耦合電容
+關(guān)注
關(guān)注
2文章
154瀏覽量
19774
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論