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

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

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

3天內不再提示

如何做一條合格的path?同一條path在物理設計不同階段的變化

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

Delay值是多少才算合格呢?這一篇開始講解路徑(Path)的概念,以及衡量Path Delay是否合格的標準----建立時間(setup time)和保持時間(hold time)。最后會用實際的例子來介紹同一條path在物理設計的不同階段的變化,在什么階段會修setup,什么時候會開始修hold等實踐知識?

四種路徑

STA是基于路徑(Path Based)進行檢查的,一般路徑的起點(Startpoint)和終點(Endpoint)都是存儲單元,即使是輸入輸出相關的路徑,我們也是假設存在一個虛擬的外部寄存器作為時序路徑的起點或者終點。然而,按照一般的分法,路徑分為四種類型,如圖所示:

圖片

上圖中,四類Path的起點和終點如下表所示:

1.jpg

當然,設計中也可能有一些到clock gate的path,或者跟memory相關的path,暫時都把這些當成寄存器來分類就可以。在編寫時序約束文件(SDC)時,要照顧到每一種類型的path,避免遺漏。現在的后端流程一般會把這四類path進行分組(Path Group),分別為IN2REG (Path 1),REG2REG (Path 2),REG2OUT (Path 3), IN2OUT (Path 4),方便工具按照不同的權重對它們分別優化,避免相互影響。標準的SDC命令是“group_path”,各家工具都支持。

Setup/Hold Time

為什么會有setup time,hold time的要求呢?這與時序單元的工作方式有關,數據從發送寄存器(Launch flop)傳輸到接收寄存器(Capture flop),它是在時鐘沿采樣的(上升或者下降沿),數據是以流水線的方式一個周期往后打一拍,所以保證采樣時刻數據的正確性至關重要,setup就是要求在采樣時刻數據已經正確且穩定,hold就是要求下一個數據傳來之前在上一個數據已經完成采樣,不會把上一個數據覆蓋。下圖非常清楚地解釋了setup和hold的概念,真的是“一盜圖值千言”。

圖片

Path示例

圖片

圖片

Setup概念圖示

圖片

圖片

Hold概念圖示

這里經常有個奇怪的面試問題: 是setup重要還是hold重要? 大概是考驗大家的實際項目經驗吧,setup不滿足還可以通過降低頻率來測試,hold不滿足就沒什么辦法了。但是項目中,由于hold修復方法比較簡單直接,一般是在setup可控的前提下再修復,所以一般在布局階段只考慮setup,而在建立時鐘樹后再去考慮hold。把hold放在后面去修復,并不代表不重要,只是體現了修復的難易程度罷了。

實例分析

上面說過,數據采樣可以是上升沿,也可以是下降沿,下面以一條半周期的path為例,展示它在整個物理設計過程中可能的變化過程,也借此提供一個分析時序問題的縱向比較的方法學:

布局(place)之前:

這條path的詳細介紹如下,其中clock周期是2ns:

  • Startpoint ”是LvdsClkCnt_reg_0_,它是“ADC_CLK”的上升(r)沿采樣的
  • Endpoint ”是SortData_neg_reg_5_,它是“ADC_CLK”的下降(f)沿采樣的
  • Scenario ”代表了這條path上所用的cell的工作的PVT
  • Path Group ”表示path的類型分組,在上一節介紹過
  • Path Type ”表示path類型,可能是max(表示setup),min(表示hold),或其它。
  • clock network delay是ideal的,因為沒有建立時鐘樹
  • 從“ADC_CLK” clock的源頭到LvdsClkCnt_reg_0_/CP(正沿),再到SortData_neg_reg_5_/D的整個path每一級的delay加總起來是0.6227ns(叫做arrival time),這一段叫 launch path
  • 從“ADC_CLK” clock的源頭到SortData_neg_reg_5_/CPN(負沿),加上clock reconvergence pessimism ( CRPR ),clock uncertainty,以及capture寄存器庫自帶的setup time等,形成了required time(0.7304ns),這一段叫 capture path
  • **slack ** = required time - arrival time 不小于0表示setup合格

可以看出此時的path,setup time還是滿足的。

圖片

剛剛布局(place)之后,但還沒有建立時鐘樹(cts):

可以看出在path中,有些stdcell被優化了,也多了一些inverter,這是工具的行為,但是最終slack為負數,說明setup time不達標了。

圖片

建立時鐘樹(cts)之后,布線(route)之前:

此時的path中已經有了真實的clock tree,所以clock network delay從ideal變成了propagated,delay值也從0變為1.8731ns,而且到兩個寄存器的clock pin的delay也不一樣,差值就叫clock skew,這條path的skew對setup time是有害的,不過此時的CRPR也不是0了,而是0.1609ns,抵消掉部分clock skew的影響。這個階段工具其實又做了一些優化,比如icc_place134這個cell,從原先的INVD3BWP12T變大到INVD4BWP12T(sizeup)等等。

圖片

布局(place)+ 建立時鐘樹(cts)+ 布線(route)之后:

此時的path相比之前,有了真實的繞線,Net Delay會更差,而且也會引入串擾噪聲,工具會進一步進行優化,比如icc_place147和U270等,都變大了。不過最終的slack還是負數,并沒有達標。

圖片

對于實踐方面,大概率(80%以上)還有一個面試問題:“項目中有沒有碰到timing/routing比較難的設計,你是怎么解決的?”,必須要結合項目經歷準備,可以思考上面的path最后setup還是沒滿足,有怎么解決辦法?

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

    關注

    31

    文章

    5317

    瀏覽量

    120006
  • CPN
    CPN
    +關注

    關注

    0

    文章

    6

    瀏覽量

    10253
  • 時鐘樹
    +關注

    關注

    0

    文章

    53

    瀏覽量

    10732
  • SDC
    SDC
    +關注

    關注

    0

    文章

    48

    瀏覽量

    15528
  • ADC采樣
    +關注

    關注

    0

    文章

    134

    瀏覽量

    12831
收藏 人收藏

    評論

    相關推薦

    面朝歐洲,邁上“云橋”,走一條無憂絲路

    云橋上走一條無憂絲路,去到歐羅巴的春天
    的頭像 發表于 01-10 09:44 ?1322次閱讀
    面朝歐洲,邁上“云橋”,走<b class='flag-5'>一條</b>無憂絲路

    UCB_SWAP配置信息共16,寫入一條有效配置后,上一條需寫1使配置無效是為什么?

    UCB_SWAP配置信息共16,寫入一條有效配置后,上一條需寫1使配置無效。 經過實測發現配置是從下至上檢索,取最后一條有效配置,而不是從上至下檢索,取第
    發表于 01-24 08:31

    求助康佳***一條垂直亮線

    求助康佳***一條垂直亮線
    發表于 02-19 23:22

    AD9敷銅時如何一條一條網絡的敷銅

    AD9敷銅時如何一條一條網絡的敷銅,整塊PCB敷銅有時有點浪費。新手,求指教!
    發表于 10-28 11:43

    怎么LABVIEW中實現讓程序按照數據庫中的數據一條一條的按步進順序程序走?

    的數據,一條一條的按步進順序程序來走呢。每走一條數據都會有個條件,滿足后才能執行下一條數據,怎么實現較好,以下是我現在做的程序圖片,并不能
    發表于 09-15 11:46

    DSP執行一條語句的時間

    CPU配置成150M。高頻時鐘75M。 那么執行一條語句的時間是多少呢
    發表于 10-15 11:28

    LABVIEW 如何畫一條直線,閃爍。

    如何在前面板畫一條直線,讓它閃爍,求大神幫幫忙。。。。。。。。。。。。。。。。。。。。
    發表于 12-08 11:43

    請問gps接收數據是每接收一條解析一條嗎?

    請教下,gps 數據是每接收一條解析一條還是次全部接收完成后再起解析 ???
    發表于 11-02 08:49

    怎樣同一條CAN總線上連接兩個不同的微控制器呢

    我想在同一條 CAN 總線上連接兩個不同的微控制器,個使用 FDCAN,另個使用 CAN 2.0。
    發表于 12-23 09:41

    一條CAN報文到底有多少位?

    CAN-bus總線是應用最廣泛的現場總線之,而很多非常熟練的CAN工程師,面對一條CAN報文到底有多少位的問題時,卻不能非常準確地回答。今天我們就從最基本的幀格式來解惑一條CAN報文的到底有多少位。
    發表于 06-06 16:36 ?3.4w次閱讀
    <b class='flag-5'>一條</b>CAN報文到底有多少位?

    一條短信害死iPhone手機 死機重啟是常事

    近日iPhone曝出“文本炸彈”的漏洞,簡單地說就是一條短信可以讓iPhone手機進入死機重啟狀態,對此蘋果還沒有做出官方回應。
    發表于 01-19 10:56 ?1587次閱讀

    如何找出一條光線的顏色?

    當我們要找出一條光線的顏色的時候,我們需要找出同一個光源下和他有關聯的所有的光線。
    的頭像 發表于 07-19 09:19 ?3165次閱讀

    如何挑選一條好的HDMI光纖線

    使用高清播放設備時,我們是避免選擇和購買HDMI線的,在這個時候很多用戶都不知道應該怎么挑選,那么應該怎么去選擇一條好的HDMI線呢?
    發表于 07-02 16:53 ?3202次閱讀

    格力電器新增一條半導體空調的專利

    12月7日消息,據天眼查公開信息顯示,近日,珠海格力電器股份有限公司新增一條“半導體空調”的專利信息。
    的頭像 發表于 12-07 10:58 ?2534次閱讀

    遲滯比較器的輸出為一條直線的原因

    ,如果遲滯比較器的輸出為一條直線,這可能是由于多種原因造成的。 遲滯比較器的工作原理 討論遲滯比較器輸出為一條直線的原因之前,我們首先需要了解其工作原理。遲滯比較器通常由個運算放大
    的頭像 發表于 07-11 09:36 ?515次閱讀