精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Net Delay在整個路徑延時的占比是什么情況呢?

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

繞線延時(Net Delay)是怎么計算出來的呢?Net Delay在整個路徑延時(Path Delay)的占比又是什么情況呢?針對關鍵路徑,工具會如何降低Net Delay呢?下面我們就來逐步闡述。

Net Delay占比多高?

Path Delay = Cell Delay + Net Delay

你可能好奇Net Delay所占的比重如何?這個跟工藝和設計是相關的,但是總體上的趨勢是,隨著工藝尺寸縮小,Net Delay占比越來越高。下面是Net Delay占比的分布圖,統計對象是基于12nm工藝的一個SoC設計中的100萬條路徑。可以看出,很大一部分的Path中的Net Delay占比超過20%。

圖片

Net Delay 計算公式

為了計算Net Delay,我們需要先提取出電容電阻,如果已經有真實的繞線(route)或者預估的繞線(global route),那么只需要根據route在不同層(layer)的分布就可以提取出相對準確的寄生參數值,下圖是在log中顯示每一層的layer的單位電阻和電容值的實例,這些值的源頭是Foundary提供 TLUPlus /ITF文件(本文以ICC為例,其他EDA工具會有較大差異,具體在PnR教程中會講解):

圖片

但是,問題來了,在綜合(Synthesis)階段,如果沒有繞線的長度信息,也沒有stdcell的位置信息,是怎么得到電阻電容值的呢?這就是Wire Load Model在起作用了。

Wire Load Model

下圖是標準單元庫.lib中定義的一種Wire Load Model,名字是“ZeroWireload”,它是根據net的扇出(fanout)來預估長度(length),然后再根據所定義的單位長度的電阻(0.00001),以及單位長度電容(1)來計算net的寄生RC參數。不過圖中的例子比較理想化,都是設成了0,完全不考慮net delay。在實際項目中,必要時,可以自己定義Wire Load Model,盡量在綜合階段將Net Delay的影響考慮進去。

圖片

Elmore Delay 模型

既然已經有了寄生的RC信息,那怎么計算Net Delay呢?

對于單輸入單輸出的net,假設不考慮net之間的耦合電容(即不考慮噪聲的影響),并且也不存在電阻性的反饋回路的情況,可以用Elmore Delay模型來計算Net Delay,如下圖:

圖片

根據Elmore Delay公式,各節點的delay可以表示為:

圖片

如果把繞線用分布式RC模型來表示,如下圖:

圖片

那么,Net Delay可以進一步化簡為:

圖片

原因是Cwire只能往前看到Rwire/2的電阻,Cload往前能看到Rwire的電阻。

AWE模型和Arnoldi模型

AWE(Asymptotic Waveform Evaluation)和Arnoldi都是是更高級的對RLC網絡延時進行瞬態響應匹配近似的方法。當然,AWE本身也有一階模型,結果與Elmore類似,但是誤差也較大(與SPICE模型相比),可能達到74%,二階AWE模型的誤差可以減少到22%,四階AWE的近似結果和SPICE模型的結果誤差已經很小了。AWE模型的優點是容易實現,缺點是數值不穩定,而Arnoldi模型會更加穩健,在目前EDA工具Postroute階段應用比較多。

Net Delay的優化

前面講到Net Delay占整個Path的比重很大一部分已經超過20%了,如何去優化這一部分Net Delay呢?

根據Net Delay的計算公式,減少R*C的值就能優化Net Delay。由于高層金屬通常會比底層金屬的單位長度RC更小,所以把路徑上的net更多地繞在高層金屬上,可以把關鍵路徑優化得更好。具體到PnR工具的實現上,通常會有一個“Layer Promotion”的功能。

另外,對于高速的net,尤其是clock net,一般會特殊對待,給它們設置NDR(Non-Default-Rule),讓它們用更大的寬度(width)和間距(space),甚至加上shielding隔離它們,以保證這些高速的net不會被其它的net影響。當然設置NDR是有代價的,它們會占用更多的繞線資源,并不是越嚴格越好,常見的設置是,對clock net設置2倍寬度2倍間距(2w2s)的NDR。其實高速的net用更寬的rule還有一個DFM的原因,就是這些net的電子遷移(Electro-Migration,EM)導致的繞線缺陷機率比普通net要高。在PnR教程中會詳細介紹EM,以及如何避免、修復EM的違例的問題。

總結

對于Net Delay,需要了解它在整個Path Delay占的份量,熟悉Wire Load Model,Elmore Delay,AWE,Arnoldi等概念。有些在后端的面試中也經常被問到。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • EDA工具
    +關注

    關注

    4

    文章

    264

    瀏覽量

    31714
  • SoC設計
    +關注

    關注

    1

    文章

    148

    瀏覽量

    18762
  • DFM
    DFM
    +關注

    關注

    8

    文章

    461

    瀏覽量

    28143
  • 電阻電容
    +關注

    關注

    1

    文章

    40

    瀏覽量

    9513
  • 耦合電容
    +關注

    關注

    2

    文章

    154

    瀏覽量

    19788
收藏 人收藏

    評論

    相關推薦

    這個是什么情況

    `這個是什么情況。。`
    發表于 09-11 22:36

    請問如何使用sigmastudio的delay延時??

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

    STM32中斷里使用SysTick_delay延時引起了哪些問題

    STM32中斷里使用SysTick_delay延時引起了哪些問題?如何去解決
    發表于 11-16 09:12

    請問異步電機什么情況下會進入回饋制動

    請問異步電機什么情況下會進入回饋制動?求解
    發表于 03-16 10:15

    Atmel MCU 延時delay快速上手指南詳解

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

    volte語音通話有什么用,什么情況下可以開/關volte

    聽很多人都在講volte高清語音通話那么什么是vote什么情況下需要開通volte什么情況下又可以關閉volte
    發表于 10-21 16:36 ?1.7w次閱讀

    【STM32單片機-庫函數】SysTick延時delay

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

    MSP432(Keil5)——3.delay延時驅動

    本次示例中的延時函數采用了系統內部的systick時鐘,學習了正點原子的延時函數寫法。如果你移植出來不是標準的延時,那么就是你的時鐘頻率設置的不對,我的是48MHz。delay
    發表于 12-14 18:56 ?4次下載
    MSP432(Keil5)——3.<b class='flag-5'>delay</b><b class='flag-5'>延時</b>驅動

    STM32上進行Delay延時的方法

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

    什么情況下芯片容易壞

    芯片是電子學中一種將電路小型化的方式,并且時常制造在半導體晶圓表面上。相信很多小伙伴都經歷過芯片壞掉的情況,那么什么情況下芯片容易壞? 在這些
    的頭像 發表于 01-02 17:54 ?6479次閱讀

    C語言 | 延時函數(Delay

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

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

    代碼的書寫過程中經常用到延時,這里主要講述一下HAl延時,HAL庫之HAL_Delay()函數72M主頻,STM32CUBEMX自動生成情況
    的頭像 發表于 04-26 09:09 ?1.5w次閱讀

    HAL庫中用定時器實現自定義延時函數delay_us()

    STM32程序從標準庫移植到HAL庫的時候,會發現HAL庫中只有一個毫秒級延時函數HAL_Delay(),而沒有微秒級延時delay_us(),本文就在HAL庫中用定時器實現這個
    的頭像 發表于 09-21 10:33 ?1.1w次閱讀

    什么情況下選用工業主板

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

    IGBT模塊損壞時,什么情況導致短路?什么情況導致開路?

    IGBT模塊損壞時,什么情況導致短路?什么情況導致開路?? IGBT模塊是一種功率模塊,用于高功率電子設備控制。當IGBT模塊使用過程中遭受損壞時,可能會出現短路或開路的問題。這兩種情況
    的頭像 發表于 10-19 17:08 ?4459次閱讀