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

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

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

怎么解決解決Hold Time違例的問題呢

傅里葉的貓 ? 來源:傅里葉的貓 ? 2023-01-11 09:05 ? 次閱讀

首先,從理論上講,Hold Time違例,是因為時鐘繞的太遠,到達時間太晚。而且綜合之后給出的時序報告都是估計值,因此綜合之后可以不考慮Hold Time,只考慮Setup Time;即便此時Hold Time違例,我們也不需要去理會。在Place Design之后再去看Hold Time,如果此時Hold Time的違例比較?。ū热?0.05ns),還是不需要理會的,因為工具在布線時會修復(fù)Hold,但如果Slack太大了,無法修復(fù)了,就會犧牲setup來彌補hold。

如果出現(xiàn)了hold的違例,我們首先要分析時序報告,看是不是clock的skew太大了,hold違例一般都是時鐘的skew太大導致,如果skew太大,就要檢查原因了,是不是時鐘路徑上有buffer導致的,或者是因為時鐘跨SLR這種路徑太長導致。如果時鐘路徑上并沒有什么多余的buffer或者邏輯,那使用全局時鐘網(wǎng)絡(luò)帶來的skew是最小的。

這里補充一下綜合實現(xiàn)的步驟:

synth_design -> opt_design -> place-design -> phys_opt_design -> route_design

我們可以讓工具在每一步執(zhí)行后都會有時序報告,只需要把Report Options的策略選擇為Timing Closure Reports

ba4b2650-9144-11ed-bfe3-dac502259ad0.jpg

如果route design之后hold time還是違例,可以使用tcl指令:

phys_opt_design -directive ExploreWithHoldFix

這個指令會嘗試不同的算法來優(yōu)化hold time違例(其實就是在數(shù)據(jù)路徑上插入LUT增加延遲)

或者在Implementation的時候指定,是一樣的效果。

ba6299d4-9144-11ed-bfe3-dac502259ad0.jpg

Hold違例解決方法總結(jié)如下:

1. 檢查違例的時鐘是否是在全局時鐘網(wǎng)絡(luò)上,最好是讓時鐘走全局時鐘網(wǎng)絡(luò),減小skew

2. 檢查時序路徑上,避免有時鐘BUFFER的級聯(lián)

3. 插入延遲邏輯,在數(shù)據(jù)路徑上增加邏輯延遲(可以使用ExploreWithHoldFix讓工具自動插入,也可以手動修改代碼插入)





審核編輯:劉清

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

    關(guān)注

    10

    文章

    1714

    瀏覽量

    131274

原文標題:Hold Time違例,該如何解決

文章出處:【微信號:傅里葉的貓,微信公眾號:傅里葉的貓】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    Setup/Hold Time Problem

    Setup/Hold Time ProblemConclusionIf the Setup/Hold time error happen on the Input Register (
    發(fā)表于 09-11 09:23

    【FPGA經(jīng)典試題】電路模塊的setup-timehold-time是正值還是負值

    。setup-timehold-time 可以是正值或負值,為什么可以是負值?如下圖因為 Clock 到達時刻并不等同于latch 的傳輸門A 關(guān)閉的時刻,這之間有一個未知的延遲時間。假設(shè)
    發(fā)表于 03-15 10:41

    解釋下setup和hold time

    本帖最后由 gk320830 于 2015-3-5 18:27 編輯 setup/hold time 是測試芯片對輸入信號和時鐘信號之間的時間要求。建立時間是指觸發(fā)器的時鐘信號上升沿到來以前,數(shù)據(jù)穩(wěn)定不變的時間。保持時間是指觸發(fā)器的時鐘信號上升沿到來以后,數(shù)據(jù)穩(wěn)定不
    發(fā)表于 04-12 16:40

    請問AD80370中hold up time為負值是為什么?

    在AD80370的datasheet里面有SYSREF± Setup and Hold Timing 這個時序圖,但是為什么圖中標示的holdup time是負值,如果這樣的話那device
    發(fā)表于 10-09 16:09

    2018年IC設(shè)計企業(yè)筆試題01英偉達Nvidia

    ,setup就會違例的現(xiàn)象。 思考題1:為什么觸發(fā)器會存在setup和hold time的要求?提示:研究觸發(fā)器的結(jié)構(gòu)。數(shù)字電路基本結(jié)構(gòu)。 思考題2:當setup和hold
    發(fā)表于 11-26 14:39

    出現(xiàn)時序違例的原因及解決辦法

      如果出現(xiàn)了時序違例,我們會關(guān)注兩點:  為什么會出現(xiàn)時序違例?  如何解決?  首先我們要搞清楚時序是在哪個階段違例:  在綜合階段或者post opt階段出現(xiàn)了時序違例,那么很有
    發(fā)表于 01-08 17:10

    什么是Setup和Hold時間

    什么是Setup和Hold時間?答:Setup/Hold Time 用于測試芯片對輸入信號和時鐘信號之間的時間要求。建立時間(Setup Time)是指觸發(fā)器的時鐘信號上升沿到來以前,
    發(fā)表于 12-21 07:39

    怎么解釋setup timehold time的定義和在時鐘信號延遲時的變化

    怎么解釋setup timehold time的定義和在時鐘信號延遲時的變化?
    發(fā)表于 05-10 11:46

    門球違例裁判器電路圖

    門球違例裁判器電路圖
    發(fā)表于 07-29 09:53 ?538次閱讀
    門球<b class='flag-5'>違例</b>裁判器電路圖

    Timing收斂 – 如何消除Hold Timing違例

    通常情況下,HoldTiming是由工具自動去檢查并滿足的,人為可以干預(yù)的地方很少。如果你的設(shè)計在布局布線后,出現(xiàn)了hold timing違例的情況,那么你可以參考下本文提出的3點建議,看看能否改善
    發(fā)表于 02-08 05:22 ?6473次閱讀
    Timing收斂 – 如何消除<b class='flag-5'>Hold</b> Timing<b class='flag-5'>違例</b>

    建立時間和保持時間(setup timehold time

    建立時間和保持時間貫穿了整個時序分析過程。只要涉及到同步時序電路,那么必然有上升沿、下降沿采樣,那么無法避免setup-timehold-time這兩個概念。 1. 什么是setup-time
    發(fā)表于 02-08 14:48 ?5960次閱讀

    Vivado時序案例分析之解脈沖寬度違例

    BY Hemang Divyakant Parikh 有多種類型的時序違例可歸類為脈沖寬度違例。 - 最大偏差違例(詳見 此處 ) - 最小周期違例(本文詳解之重點)。 - 最大周期
    的頭像 發(fā)表于 11-19 13:48 ?5483次閱讀
    Vivado時序案例分析之解脈沖寬度<b class='flag-5'>違例</b>

    為什么setup檢查下一個沿而hold檢查當前沿

    做數(shù)字電路設(shè)計的可能都見過圖一所示的setup和hold時間檢查,從圖中可以明顯看出,setup time檢查下一個沿,而hold time檢查同一個沿。那么這是為什么
    的頭像 發(fā)表于 11-21 10:30 ?4037次閱讀

    通過解剖一個邊沿觸發(fā)器簡要說明setup和hold產(chǎn)生原因

    在后仿真過程中經(jīng)常會遇到關(guān)于setup和hold violation的問題,但是關(guān)于setup和hold time的產(chǎn)生原因和由來很多人還比較朦朧,為此本文通過解剖一個邊沿觸發(fā)器簡要說明setup和
    的頭像 發(fā)表于 07-04 09:32 ?1525次閱讀
    通過解剖一個邊沿觸發(fā)器簡要說明setup和<b class='flag-5'>hold</b>產(chǎn)生原因

    SOCV/POCV下寄存器的hold margin問題分析

    我們都知道,在做hold time檢查的時候,是需要從lib中讀取reg的hold requirement time,或者說hold mar
    的頭像 發(fā)表于 12-05 14:18 ?428次閱讀