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

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

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

如何做一條合格的path?同一條path在物理設(shè)計(jì)不同階段的變化

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

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

四種路徑

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

圖片

上圖中,四類Path的起點(diǎn)和終點(diǎn)如下表所示:

1.jpg

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

Setup/Hold Time

為什么會(huì)有setup time,hold time的要求呢?這與時(shí)序單元的工作方式有關(guān),數(shù)據(jù)從發(fā)送寄存器(Launch flop)傳輸?shù)浇邮占拇嫫鳎–apture flop),它是在時(shí)鐘沿采樣的(上升或者下降沿),數(shù)據(jù)是以流水線的方式一個(gè)周期往后打一拍,所以保證采樣時(shí)刻數(shù)據(jù)的正確性至關(guān)重要,setup就是要求在采樣時(shí)刻數(shù)據(jù)已經(jīng)正確且穩(wěn)定,hold就是要求下一個(gè)數(shù)據(jù)傳來(lái)之前在上一個(gè)數(shù)據(jù)已經(jīng)完成采樣,不會(huì)把上一個(gè)數(shù)據(jù)覆蓋。下圖非常清楚地解釋了setup和hold的概念,真的是“一盜圖值千言”。

圖片

Path示例

圖片

圖片

Setup概念圖示

圖片

圖片

Hold概念圖示

這里經(jīng)常有個(gè)奇怪的面試問(wèn)題: 是setup重要還是hold重要? 大概是考驗(yàn)大家的實(shí)際項(xiàng)目經(jīng)驗(yàn)吧,setup不滿足還可以通過(guò)降低頻率來(lái)測(cè)試,hold不滿足就沒(méi)什么辦法了。但是項(xiàng)目中,由于hold修復(fù)方法比較簡(jiǎn)單直接,一般是在setup可控的前提下再修復(fù),所以一般在布局階段只考慮setup,而在建立時(shí)鐘樹(shù)后再去考慮hold。把hold放在后面去修復(fù),并不代表不重要,只是體現(xiàn)了修復(fù)的難易程度罷了。

實(shí)例分析

上面說(shuō)過(guò),數(shù)據(jù)采樣可以是上升沿,也可以是下降沿,下面以一條半周期的path為例,展示它在整個(gè)物理設(shè)計(jì)過(guò)程中可能的變化過(guò)程,也借此提供一個(gè)分析時(shí)序問(wèn)題的縱向比較的方法學(xué):

布局(place)之前:

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

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

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

圖片

剛剛布局(place)之后,但還沒(méi)有建立時(shí)鐘樹(shù)(cts):

可以看出在path中,有些stdcell被優(yōu)化了,也多了一些inverter,這是工具的行為,但是最終slack為負(fù)數(shù),說(shuō)明setup time不達(dá)標(biāo)了。

圖片

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

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

圖片

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

此時(shí)的path相比之前,有了真實(shí)的繞線,Net Delay會(huì)更差,而且也會(huì)引入串?dāng)_噪聲,工具會(huì)進(jìn)一步進(jìn)行優(yōu)化,比如icc_place147和U270等,都變大了。不過(guò)最終的slack還是負(fù)數(shù),并沒(méi)有達(dá)標(biāo)。

圖片

對(duì)于實(shí)踐方面,大概率(80%以上)還有一個(gè)面試問(wèn)題:“項(xiàng)目中有沒(méi)有碰到timing/routing比較難的設(shè)計(jì),你是怎么解決的?”,必須要結(jié)合項(xiàng)目經(jīng)歷準(zhǔn)備,可以思考上面的path最后setup還是沒(méi)滿足,有怎么解決辦法?

聲明:本文內(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)投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5253

    瀏覽量

    119201
  • CPN
    CPN
    +關(guān)注

    關(guān)注

    0

    文章

    6

    瀏覽量

    10248
  • 時(shí)鐘樹(shù)
    +關(guān)注

    關(guān)注

    0

    文章

    53

    瀏覽量

    10711
  • SDC
    SDC
    +關(guān)注

    關(guān)注

    0

    文章

    48

    瀏覽量

    15484
  • ADC采樣
    +關(guān)注

    關(guān)注

    0

    文章

    134

    瀏覽量

    12792
收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

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

    UCB_SWAP配置信息共16,寫(xiě)入一條有效配置后,上一條需寫(xiě)1使配置無(wú)效。 經(jīng)過(guò)實(shí)測(cè)發(fā)現(xiàn)配置是從下至上檢索,取最后一條有效配置,而不是從上至下檢索,取第
    發(fā)表于 01-24 08:31

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

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

    AD9敷銅時(shí)如何一條一條網(wǎng)絡(luò)的敷銅

    AD9敷銅時(shí)如何一條一條網(wǎng)絡(luò)的敷銅,整塊PCB敷銅有時(shí)有點(diǎn)浪費(fèi)。新手,求指教!
    發(fā)表于 10-28 11:43

    怎么LABVIEW中實(shí)現(xiàn)讓程序按照數(shù)據(jù)庫(kù)中的數(shù)據(jù)一條一條的按步進(jìn)順序程序走?

    的數(shù)據(jù),一條一條的按步進(jìn)順序程序來(lái)走呢。每走一條數(shù)據(jù)都會(huì)有個(gè)條件,滿足后才能執(zhí)行下一條數(shù)據(jù),怎么實(shí)現(xiàn)較好,以下是我現(xiàn)在做的程序圖片,并不能
    發(fā)表于 09-15 11:46

    DSP執(zhí)行一條語(yǔ)句的時(shí)間

    CPU配置成150M。高頻時(shí)鐘75M。 那么執(zhí)行一條語(yǔ)句的時(shí)間是多少呢
    發(fā)表于 10-15 11:28

    LABVIEW 如何畫(huà)一條直線,閃爍。

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

    請(qǐng)問(wèn)gps接收數(shù)據(jù)是每接收一條解析一條嗎?

    請(qǐng)教下,gps 數(shù)據(jù)是每接收一條解析一條還是次全部接收完成后再起解析 ???
    發(fā)表于 11-02 08:49

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

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

    一條CAN報(bào)文到底有多少位?

    CAN-bus總線是應(yīng)用最廣泛的現(xiàn)場(chǎng)總線之,而很多非常熟練的CAN工程師,面對(duì)一條CAN報(bào)文到底有多少位的問(wèn)題時(shí),卻不能非常準(zhǔn)確地回答。今天我們就從最基本的幀格式來(lái)解惑一條CAN報(bào)文的到底有多少位。
    發(fā)表于 06-06 16:36 ?3.4w次閱讀
    <b class='flag-5'>一條</b>CAN報(bào)文到底有多少位?

    一條短信害死iPhone手機(jī) 死機(jī)重啟是常事

    近日iPhone曝出“文本炸彈”的漏洞,簡(jiǎn)單地說(shuō)就是一條短信可以讓iPhone手機(jī)進(jìn)入死機(jī)重啟狀態(tài),對(duì)此蘋(píng)果還沒(méi)有做出官方回應(yīng)。
    發(fā)表于 01-19 10:56 ?1568次閱讀

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

    當(dāng)我們要找出一條光線的顏色的時(shí)候,我們需要找出同一個(gè)光源下和他有關(guān)聯(lián)的所有的光線。
    的頭像 發(fā)表于 07-19 09:19 ?3093次閱讀

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

    使用高清播放設(shè)備時(shí),我們是避免選擇和購(gòu)買(mǎi)HDMI線的,在這個(gè)時(shí)候很多用戶都不知道應(yīng)該怎么挑選,那么應(yīng)該怎么去選擇一條好的HDMI線呢?
    發(fā)表于 07-02 16:53 ?3163次閱讀

    格力電器新增一條半導(dǎo)體空調(diào)的專利

    12月7日消息,據(jù)天眼查公開(kāi)信息顯示,近日,珠海格力電器股份有限公司新增一條“半導(dǎo)體空調(diào)”的專利信息。
    的頭像 發(fā)表于 12-07 10:58 ?2475次閱讀

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

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