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

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

3天內不再提示

降低布線延遲的另一流程

電子工程師 ? 來源:未知 ? 作者:李倩 ? 2018-11-07 11:11 ? 次閱讀

布線延遲過大除了擁塞導致之外,還可能是其他因素。下圖顯示了降低布線延遲的另一流程(因其他因素導致布線延遲過大的處理流程)。

圖片來源: page 7, ug1292

首先,通過report_desigan_analysis分析路徑特征。有時還需要結合report_utilization和report_failfast兩個命令。

第1步:分析路徑的Hold Fix Detour是否大于0ps?

HoldFix Detour是工具為了修復保持時間違例而產生的繞線(該數值在design analysis報告中顯示,如果沒有顯示,可在報告標題欄內點擊右鍵,選擇HoldFix Detour)。如果該數值大于0,就有可能造成建立時間違例。這時其實應關注的是該路徑對應的保持時間報告,診斷為什么工具會通過繞線修復保持時間違例。

第2步:違例路徑的各個邏輯單元是否存在位置約束?

通常,設計中不可避免地會有一些物理約束,如管腳分配。除此之外,還可能會有其他位置約束,如通過create_macro或Pblock創建的位置約束。如果設計發生改變,就需要關注這些位置約束是否仍然合理,尤其是那些穿越多個Pblock的路徑。

第3步:違例路徑是否穿越SLR?

如果目標芯片為多die芯片,那么在設計初期就要考慮到以下幾個因素,以改善設計性能。

在設計的關鍵層次邊界上以及跨die路徑上插入流水寄存器,尤其是跨die路徑,這些寄存器是必需的;

檢查每個SLR的資源利用率是否合理,這可通過report_failfast –by_slr實現。-by_slr選項只能在place_design或route_design生成的dcp中使用,這也不難理解,畢竟在布局階段工具才會把設計單元向相應的SLR內放置;

每個die的設計可以看作一個頂層,因此,要對每個頂層指定一個die,以確保相應的設計單元被正確放置在目標die內。這可通過屬性USER_SLR_ASSIGNMENT實現(Vivado 2018.2開始支持);

如果上述屬性未能正確工作,可直接畫Pblock進行約束;

在布局或布線之后如果仍有時序違例,可嘗試使用phys_opt_design -slr_crossing_opt。

第4步:唯一控制集百分比是否大于7.5%?

唯一控制集個數可通過report_failfast查看。如果控制集百分比超過7.5%,可通過如下方法降低控制集。

關注MAX_FANOUT屬性:

移除時鐘使能、置位或復位信號的MAX_FANOUT屬性。這是因為該屬性會復制寄存器以降低扇出,但同時也增加了控制集;

在Synthesis階段:

-提高–control_set_opt_threshold的數值,可使工具將更多同步控制信號搬移到數據路徑,從而降低控制集;

-也可采用Block Level Synthesis技術,對指定模塊設置該數值;

在opt_design階段:

-control_set_merge

-merge_equivalent_drivers

這兩個選項可幫助降低控制集。但這兩個選項不能與-directive同時使用,所以如果是工程模式下,可將其放置在Hook文件中(Tcl.pre或Tcl.post)。非工程模式下,可在執行完-directive之后,再次執行這兩個選項;

關注低扇出信號:

對于低扇出的控制信號(同步使能、同步置位/同步復位),可對其連接的寄存器設置CONTROL_SET_REMAP屬性,將控制信號搬移到數據路徑上,從而降低控制集。

第5步:嘗試其他實現策略

Vivado提供了多種實現策略。因此,嘗試不同實現策略是達到時序收斂的一個手段。

嘗試多種place_design和phys_opt_design,這可通過設置不同的-directive實現;

嘗試使用過約束(過約最大0.5ns),這可通過設置Clock Uncertainty實現。需要用到set_clock_uncertainty;

對關鍵時鐘域下的路徑設置更高的優先級,使工具對其優先布局布線,這可通過命令group_path實現;

嘗試使用增量布局布線,繼承之前好的布局布線結果,并縮短編譯時間。

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

    關注

    30

    文章

    5164

    瀏覽量

    118135
  • 布線
    +關注

    關注

    9

    文章

    734

    瀏覽量

    84078

原文標題:深度解析ug1292(7)

文章出處:【微信號:Lauren_FPGA,微信公眾號:FPGA技術驛站】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    IC設計流程簡介

    是SetupTime 和 HoldTime),與激勵無關。在深亞微米工藝中,因為電路連線延遲大于單元延遲,通常預布局布線反復較多,要多次調整布局方案,對布局布線有指導意義。
    發表于 12-19 16:20

    用PROTEL99SE布線的基本流程

    用PROTEL99SE布線的基本流程
    發表于 08-20 19:42

    PROTEL99SE布線的基本流程

    PROTEL99SE布線的基本流程
    發表于 08-20 20:38

    最完善的protel99se布線流程

    很完善的protel99se布線流程
    發表于 12-21 13:32

    用PROTEL99SE布線的基本流程

    用PROTEL99SE布線的基本流程
    發表于 03-17 22:41

    protel布線基本流程

    protel布線基本流程PCB打樣找華強 http://www.hqpcb.com 樣板2天出貨
    發表于 04-05 10:09

    protel布線基本流程

    protel布線基本流程PCB打樣找華強 http://www.hqpcb.com 樣板2天出貨
    發表于 04-05 10:11

    PCB布局布線抄板流程

    )帶來延遲時間的增加,可使系統速度大為降低。象移位寄存器,同步計數器這種同步工作部件最好放在同塊插件板上,因為到不同插件板上的時鐘信號的傳輸延遲時間不相等,可能使移位寄存器產主錯誤,
    發表于 09-11 16:05

    怎么降低延遲?

    你好。我是PC游戲玩家,我想調整我的英特爾i219-v網卡驅動程序,因為我可以獲得更低的延遲..有些設置我可以改變以降低延遲?以上來自于谷歌翻譯以下為原文Hi. I am a PC
    發表于 10-29 14:21

    用PROTEL99SE布線的基本流程

    用PROTEL99SE布線的基本流程
    發表于 03-12 01:13 ?0次下載

    Protel 布線流程

    Protel 布線流程
    發表于 05-28 01:18 ?0次下載

    用PROTEL99SE布線的基本流程

    用PROTEL99SE布線的基本流程。
    發表于 12-25 10:43 ?0次下載

    pcb布線心得(流程詳解、元件布局布線與EMC)

    pcb布線技巧,輕松搞定布線、布局,主要包括:一、元件布局基本規則;二、元件布線規則;為增加系統的抗電磁干擾能力采取措施;3、降低噪聲與電磁干擾的一些經驗等.
    發表于 11-03 17:02 ?3813次閱讀

    PCB電路設計的基本流程以及布線技巧解析

    一般PCB基本設計流程如下:前期準備-》PCB結構設計-》PCB布局-》布線-》布線優化和絲印-》網絡和DRC檢查和結構檢查-》制版。
    發表于 12-06 15:16 ?2355次閱讀

    如何降低5芯M8母頭布線差錯率

    德索工程師說道布線設計是5芯M8母頭布線工作的基礎,其質量直接影響到布線差錯率的高低。通過優化布線路徑,減少線路的長度和復雜度,可以降低
    的頭像 發表于 05-24 15:53 ?76次閱讀
    如何<b class='flag-5'>降低</b>5芯M8母頭<b class='flag-5'>布線</b>差錯率
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>