0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Net Delay在整個(gè)路徑延時(shí)的占比是什么情況呢?

冬至子 ? 來(lái)源:RTL2GDS ? 作者:老本 | Benjamin ? 2023-06-27 14:07 ? 次閱讀

繞線延時(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)到。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • EDA工具
    +關(guān)注

    關(guān)注

    4

    文章

    264

    瀏覽量

    31674
  • SoC設(shè)計(jì)
    +關(guān)注

    關(guān)注

    1

    文章

    148

    瀏覽量

    18753
  • DFM
    DFM
    +關(guān)注

    關(guān)注

    8

    文章

    460

    瀏覽量

    28099
  • 電阻電容
    +關(guān)注

    關(guān)注

    1

    文章

    40

    瀏覽量

    9503
  • 耦合電容
    +關(guān)注

    關(guān)注

    2

    文章

    154

    瀏覽量

    19774
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    這個(gè)是什么情況

    `這個(gè)是什么情況。。`
    發(fā)表于 09-11 22:36

    請(qǐng)問(wèn)如何使用sigmastudio的delay延時(shí)??

    大家好!我用的是ADAU1701 和 ADAU1452 開(kāi)發(fā)板,我希望模擬輸出的兩個(gè)通道的聲音一個(gè)先出一個(gè)后出,那么sigmastudio上面要把delay模塊放在哪里?是放在模擬輸入一進(jìn)來(lái)
    發(fā)表于 08-10 06:39

    STM32中斷里使用SysTick_delay延時(shí)引起了哪些問(wèn)題

    STM32中斷里使用SysTick_delay延時(shí)引起了哪些問(wèn)題?如何去解決?
    發(fā)表于 11-16 09:12

    請(qǐng)問(wèn)異步電機(jī)什么情況下會(huì)進(jìn)入回饋制動(dòng)?

    請(qǐng)問(wèn)異步電機(jī)什么情況下會(huì)進(jìn)入回饋制動(dòng)?求解
    發(fā)表于 03-16 10:15

    Atmel MCU 延時(shí)delay快速上手指南詳解

    MCU軟件開(kāi)發(fā)中,延時(shí)函數(shù)用的非常多,有的是硬件延時(shí),采用定時(shí)器,有的是軟件延時(shí),采用循環(huán)等待,不管是采用什么樣的方式,最終達(dá)到的目的都是一樣,為系統(tǒng)功能、時(shí)序做鋪墊,下面結(jié)合Atm
    的頭像 發(fā)表于 06-18 05:31 ?5304次閱讀
    Atmel MCU <b class='flag-5'>延時(shí)</b><b class='flag-5'>delay</b>快速上手指南詳解

    volte語(yǔ)音通話有什么用,什么情況下可以開(kāi)/關(guān)volte

    聽(tīng)很多人都在講volte高清語(yǔ)音通話那么什么是vote?什么情況下需要開(kāi)通volte?什么情況下又可以關(guān)閉volte?
    發(fā)表于 10-21 16:36 ?1.7w次閱讀

    【STM32單片機(jī)-庫(kù)函數(shù)】SysTick延時(shí)delay

    : SysTick延時(shí)函數(shù)頭文件 /* --------------------------------------------------------- */#ifndef _DELAY_H_#define _DELAY
    發(fā)表于 11-24 19:06 ?13次下載
    【STM32單片機(jī)-庫(kù)函數(shù)】SysTick<b class='flag-5'>延時(shí)</b>—<b class='flag-5'>delay</b>

    MSP432(Keil5)——3.delay延時(shí)驅(qū)動(dòng)

    本次示例中的延時(shí)函數(shù)采用了系統(tǒng)內(nèi)部的systick時(shí)鐘,學(xué)習(xí)了正點(diǎn)原子的延時(shí)函數(shù)寫(xiě)法。如果你移植出來(lái)不是標(biāo)準(zhǔn)的延時(shí),那么就是你的時(shí)鐘頻率設(shè)置的不對(duì),我的是48MHz。delay
    發(fā)表于 12-14 18:56 ?4次下載
    MSP432(Keil5)——3.<b class='flag-5'>delay</b><b class='flag-5'>延時(shí)</b>驅(qū)動(dòng)

    STM32上進(jìn)行Delay延時(shí)的方法

    1、使用SYStick專(zhuān)門(mén)的延時(shí)。void delay_us(uint32_t us){ static uint32_t delay_flag = 0; delay_flag = 1;
    發(fā)表于 12-24 19:39 ?2次下載
    STM32上進(jìn)行<b class='flag-5'>Delay</b><b class='flag-5'>延時(shí)</b>的方法

    什么情況下芯片容易壞

    芯片是電子學(xué)中一種將電路小型化的方式,并且時(shí)常制造在半導(dǎo)體晶圓表面上。相信很多小伙伴都經(jīng)歷過(guò)芯片壞掉的情況,那么什么情況下芯片容易壞? 在這些
    的頭像 發(fā)表于 01-02 17:54 ?6439次閱讀

    C語(yǔ)言 | 延時(shí)函數(shù)(Delay

    github:https://github.com/MichaelBeechanCSDN:https://blog.csdn.net/u011344545“nop”函數(shù)對(duì)于延時(shí)很短,要求us級(jí)
    發(fā)表于 01-13 13:38 ?14次下載
    C語(yǔ)言 | <b class='flag-5'>延時(shí)</b>函數(shù)(<b class='flag-5'>Delay</b>)

    Systick定時(shí)器延時(shí)原理與HAL_Delay()延時(shí)函數(shù)的使用

    代碼的書(shū)寫(xiě)過(guò)程中經(jīng)常用到延時(shí),這里主要講述一下HAl延時(shí),HAL庫(kù)之HAL_Delay()函數(shù)72M主頻,STM32CUBEMX自動(dòng)生成情況
    的頭像 發(fā)表于 04-26 09:09 ?1.4w次閱讀

    HAL庫(kù)中用定時(shí)器實(shí)現(xiàn)自定義延時(shí)函數(shù)delay_us()

    STM32程序從標(biāo)準(zhǔn)庫(kù)移植到HAL庫(kù)的時(shí)候,會(huì)發(fā)現(xiàn)HAL庫(kù)中只有一個(gè)毫秒級(jí)延時(shí)函數(shù)HAL_Delay(),而沒(méi)有微秒級(jí)延時(shí)delay_us(),本文就在HAL庫(kù)中用定時(shí)器實(shí)現(xiàn)這個(gè)
    的頭像 發(fā)表于 09-21 10:33 ?1.1w次閱讀

    什么情況下選用工業(yè)主板

    雖然工業(yè)主板和普通主板差異比較多,但是某些情況下工業(yè)主板用于商業(yè)環(huán)境也是可以的,但是實(shí)用性不是很好。什么情況下選用工業(yè)主板?
    的頭像 發(fā)表于 02-14 10:34 ?793次閱讀
    <b class='flag-5'>什么情況</b>下選用工業(yè)主板

    IGBT模塊損壞時(shí),什么情況導(dǎo)致短路?什么情況導(dǎo)致開(kāi)路?

    IGBT模塊損壞時(shí),什么情況導(dǎo)致短路?什么情況導(dǎo)致開(kāi)路?? IGBT模塊是一種功率模塊,用于高功率電子設(shè)備控制。當(dāng)IGBT模塊使用過(guò)程中遭受損壞時(shí),可能會(huì)出現(xiàn)短路或開(kāi)路的問(wèn)題。這兩種情況
    的頭像 發(fā)表于 10-19 17:08 ?4329次閱讀