吴忠躺衫网络科技有限公司

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

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

3天內不再提示

FPGA布線擁塞主要原因及解決方法

微云疏影 ? 來源:FPGA算法工程師 ? 作者:FPGA算法工程師 ? 2022-12-07 10:22 ? 次閱讀

FPGA開發設計中,我們可能會經歷由于資源占用過高的情況,例如BRAM、LUT和URAM等關鍵資源利用率達到或超過80%,此時出現時序違例是常有的事,甚至由于擁塞導致布線失敗,整個FPGA工程面臨無法生成bit文件的危險。

那么,有沒有辦法來解決這類問題呢?

此類問題是FPGA設計實現中比較棘手的問題,Xilinx針對7系列及以后的UltraScale/UltraScale+等,提出了UltraFast設計方法論,用于指導該系列器件的成功設計和實現,完成復雜系統設計。

時序收斂是指設計滿足所有的時序要求。針對綜合采用正確的 HDL 和約束條件就能更易于實現時序收斂。通過選擇更合適的 HDL、約束和綜合選項,經過多個綜合階段進行迭代同樣至關重要,如下圖所示。

poYBAGOP-PmAGzyEAAEnrEwmNOQ542.jpg

Xilinx提出的實現快速收斂的設計方法論

FPGA布線擁塞怎么辦?

如果關鍵路徑在擁塞區域內或者緊鄰擁塞區域,或者是資源利用率較高,都會導致時序收斂困難。在很多情況下,擁塞會消耗大量的布線時間,甚至布線失敗。如果布線延遲顯著大于預期值,那么我們就得考慮降低設計的擁塞程度。

在確保時序約束和物理約束正確的情況下,我們可以通過以下方法解決擁塞問題。

1.擁塞類型

Xilinx FPGA布線結構包括東、南、西、北共4個方向不同長度的互聯資源。擁塞區域以最小的正方形體現,這個正方形覆蓋了相鄰的互聯資源或CLB單元。

pYYBAGOP-PqAbOnOAANBm99fwnM627.jpg

“Device”視圖中的擁塞等級和擁塞區域

擁塞包括3種類型:全局擁塞、短線擁塞和長線擁塞。

擁塞類型

poYBAGOP-PuAEbSgAABBkfsFtKA792.png

2.生成設計擁塞報告

為了檢查擁塞程度,我們可以基于布局之后生成的DCP,通過以下Tcl命令生成設計擁塞報告。

report_design_analysis -congestion -name cong

分析擁塞時,工具報告的等級可按下表所示方式進行分類。擁塞等級為 5 或更高時,通常會影響 QoR 并且必然會導致布線器運行時間延長。

pYYBAGOP-PuAXLBGAABeLVl4tp4898.png

為幫助識別擁塞,Report Design Analysis命令支持生成擁塞報告以顯示器件的擁塞區域,以及這些區域內存在的設計模塊的名稱。此報告中的擁塞表會顯示布局器和布線器算法發現的擁塞區域。下圖顯示了擁塞表示例。

poYBAGOP-PyACFMuAAC48PTtcgw932.jpg

擁塞表

“Placed Maximum”、“Initial Estimated Router Congestion”和“Router Maximum”擁塞表可提供有關東西南北四個方向上擁塞最嚴重的區域的信息。選中該表中的窗口時,在“Device”窗口中會突出顯示對應的擁塞區域。

3.生成設計復雜性報告

我們也可以通過設計復雜性報告來預判是否出現擁塞。我們可以對布局生成的DCP,通過以下Tcl命令生成設計復雜度報告。

report_design_analysis -complexity -name comp

復雜性報告 (Complexity Report) 可按頂層設計和/或層級單元的葉節點單元的類型顯示 Rent 指數 (Rent Exponent)、平均扇出 (Average Fanout) 和分布方式。Rent 指數是指在使用min-cut算法以遞歸形式對設計進行分區時,網表分區的端口數量和單元數量之間的關系。其計算方法與在全局布局期間布局器所使用的算法類似。因此,它可準確表明布局器所面臨的困難,當設計的層級與在全局布局期間所發現的物理分區匹配良好時尤其如此。

Rent 指數較高的設計表示此類設計中包含邏輯緊密相連的分組,并且這些分組與其它分組同樣連接緊密。這通常可理解為全局布線資源利用率較高并且布線復雜性也更高。此報告中提供的 Rent 指數是根據未布局和未布線的網表來計算的。完成布局后,相同設計的 Rent 指數可能改變,因為它基于物理分區而不是邏輯分區。

pYYBAGOP-PyAP2v4AAFi7kACK90397.jpg

復雜性報告

Rent 指數的典型范圍

poYBAGOP-P2AHD4TAACDP18NotA966.jpg

“平均扇出”典型范圍

pYYBAGOP-P2ABLXhAACwBtaZ9XE247.jpg

4.解決擁塞問題

根據前文所述造成擁塞的原因,我們可以采用以下辦法解決布線擁塞問題。

擁塞原因1:過多的MUXF(將MUXF轉化為LUT)

方法1:利用模塊化綜合技術,對特定模式設置MUXF_REMAPPING:

set_property BLOCK_SYNTH.MUXF_MAPPING 1 [get_cells top/instance]

方法2:在opt_design階段使用-remap選項:

opt_design -mux_remap -remap

方法3:針對特定MUXF設置MUXF_REMAP屬性為ture

set_property MUXF_REMAP 1 [get_cells -hier-filter {NAME=~ cpu*&& REF_NAME=~MUXF*}]

擁塞原因2:過長的進位鏈(將進位鏈轉化為LUT)

方法1:在opt_design階段使用-remap選項:

opt_design -carry_remap -remap

方法2:針對特定MUXF設置CARRY_REMAP屬性

set_property CARRY_REMAP 2 [get_cells -hier-filter { REF_NAME==CARRY8}]

擁塞原因3:過多的控制集(合并控制集)

方法1:利用模塊化綜合技術,對特定模式設置CONTROL_SET_THRESHOLD:

set_property BLOCK_SYNTH. CONTROL_SET_THRESHOLD 10 [get_cells top/instance]

方法2:在opt_design階段,使用-control_set_merge合并等效控制集

opt_design -control_set_merge

方法3:在opt_design階段,使用merge_equivalent_drivers合并等效控制集,包括非控制邏輯

opt_design -merge_equivalent_drivers

擁塞原因4:過多的LUT整合(阻止LUT整合)

方法1:利用模塊化綜合技術,對特定模式設置LUT_COMBINING:

set_property BLOCK_SYNTH. LUT_COMBINING 0 [get_cells top/instance]

方法2:設定LUT的LUTNM屬性為空:

set_property LUTNM “”[get_cells hier-filter {REF_NAME =~LUT*&& NAME=~inst}]

在綜合階段,除了使用以上的方法外,對于IP,我們最好采用OOC的綜合方式。

在實現階段,可以選擇適當的實現策略來緩解擁塞。對于UltraScale系列芯片,可嘗試采用“Congestion_*”策略緩解擁塞;對于UltraScale+系列芯片,可嘗試采用“performance_NetDelay_*” 策略緩解擁塞。如下圖所示。

poYBAGOP-P6AFb9UAAGGfcq2PUg197.jpg

實現時解決擁塞策略

當然,我們也嘗試采用“performance_ExtraTimingOpt” 策略進行時序優化,但可能無法解決擁塞問題。

FPGA算法工程師

審核編輯 :李倩

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

    關注

    1630

    文章

    21798

    瀏覽量

    606051
  • Xilinx
    +關注

    關注

    71

    文章

    2171

    瀏覽量

    122148
  • 時序
    +關注

    關注

    5

    文章

    392

    瀏覽量

    37429
收藏 人收藏

    評論

    相關推薦

    無線收發器有雜音滋滋滋的原因解決方法

    本文將深入探討無線收發器產生雜音的原因,并提供相應的解決方法
    的頭像 發表于 01-29 15:35 ?135次閱讀

    無功補償故障原因解決方法

    無功補償故障可能由多種原因引起,以下是一些常見的故障原因及其解決方法
    的頭像 發表于 01-29 14:25 ?134次閱讀

    電子焊接的常見問題及解決方法

    問題及解決方法: 焊點虛焊 原因分析 :虛焊是指焊點表面看似焊接良好,但實際上焊料與焊件之間沒有形成良好的冶金結合。虛焊的原因可能是焊接時間過短、焊接溫度過低、焊料質量差等. 解決方法
    的頭像 發表于 01-09 10:28 ?186次閱讀

    探究傳感器故障的主要原因

    的正常運行,還可能帶來安全隱患和經濟損失。本文旨在深入探討傳感器故障的主要原因,以便我們更好地預防和應對。
    的頭像 發表于 12-25 14:03 ?331次閱讀

    電源時序器跳閘的原因解決方法

    電源時序器跳閘是一個常見的電氣問題,它可能由多種因素引起,包括電源電壓不穩定、電路短路、過載電流以及時序器本身的故障等。下面將詳細分析電源時序器跳閘的原因及相應的解決方法。
    的頭像 發表于 09-29 16:28 ?1385次閱讀

    CAN盒指示燈不亮的解決方法

    CAN盒指示燈不亮可能有多種原因,以下是一些常見的解決方法。
    的頭像 發表于 09-20 14:53 ?819次閱讀

    華納云:企業遷移到云端的主要原因是什么?

    企業遷移到云端的主要原因是什么?原因不止一個。削減成本通常被認為是主要原因——但盡管通過云遷移降低成本無疑是一種誘人的可能性,但創新潛力才是更大的獎勵。云計算通過支持企業創新而產生的價值是僅僅通過 降低 IT 成本所能實現的價值
    的頭像 發表于 09-14 17:38 ?332次閱讀

    服務器錯誤是怎么回事?常見錯誤原因解決方法匯總

    服務器錯誤是怎么回事?最常見的原因分有六個,分別是:硬件問題、軟件問題、網絡問題、資源耗盡、數據庫、文件權限問題??梢愿鶕韵戮唧w錯誤原因進行辨別,并選擇適合的解決方法。關于常見服務器原因
    的頭像 發表于 08-12 10:11 ?1627次閱讀

    接地網阻值偏大的原因解決方法

     地網接地電阻測試儀是保障電氣設備安全運行的重要組成部分,但在實際使用中,我們可能會遇到接地網阻值偏大的情況。接下來,鴻蒙小小編介紹造成這種情況的原因,并提供一些解決方法。   1、接地體積不足
    發表于 06-17 09:19

    SMT貼片加工物料損耗的各種因素、原因與相應的解決方法

    損耗的原因以及解決方法對提升生產效率和降低成本非常重要。接下來為大家介紹SMT貼片加工物料損耗的常見原因解決方法。 SMT加工物料損耗原因
    的頭像 發表于 06-03 10:39 ?818次閱讀

    常見的錫珠形成的原因解決方法

    及時進行處理的話可能會影響到板子的使用壽命和使用可靠性,下面深圳佳金源錫膏廠家給大家簡單介紹一下常見的錫珠形成的原因解決方法:一、形成原因1、感應熔敷在焊接加熱
    的頭像 發表于 06-01 11:02 ?969次閱讀
    常見的錫珠形成的<b class='flag-5'>原因</b>和<b class='flag-5'>解決方法</b>

    示波器探頭電容對信號低電平抬高的影響原因解決方法

    示波器探頭是一種用于測量電信號的探頭,由于探頭本身的電容,可能會導致信號低電平抬高。本文將介紹示波器探頭電容對信號低電平抬高的影響原因解決方法。 1. 探頭電容對信號低電平抬高的影響原因 示波器
    的頭像 發表于 05-20 11:10 ?615次閱讀
    示波器探頭電容對信號低電平抬高的影響<b class='flag-5'>原因</b>及<b class='flag-5'>解決方法</b>

    焊接質量缺陷產生的主要原因

    創想焊縫跟蹤小編將與大家一起探討焊接質量缺陷產生的主要原因。 材料選擇不當 焊接質量缺陷的主要原因之一是材料選擇不當。焊接材料包括焊條、電極、焊絲、焊劑等,如果選擇的焊接材料與基材不匹配,或者焊接材料的質量
    的頭像 發表于 05-15 09:41 ?730次閱讀
    焊接質量缺陷產生的<b class='flag-5'>主要原因</b>

    Tektronix示波器無法檢測到探頭的可能原因解決方法

    在使用 Tektronix 示波器進行測量時,有時可能會遇到無法檢測到探頭的情況。這可能是由多種因素引起的,下面將詳細介紹可能的原因以及解決方法。 1. 探頭連接問題 原因: 探頭未正確連接到示波器
    的頭像 發表于 05-08 11:09 ?879次閱讀
    Tektronix示波器無法檢測到探頭的可能<b class='flag-5'>原因</b>及<b class='flag-5'>解決方法</b>

    諧波引起電纜損壞的主要原因

    諧波是指在電力系統中出現的頻率為整數倍于基波頻率的波動現象。在電纜中傳輸的電能中,諧波存在的情況是很常見的。然而,諧波也是導致電纜損壞的主要原因之一。
    的頭像 發表于 03-14 14:20 ?777次閱讀
    諧波引起電纜損壞的<b class='flag-5'>主要原因</b>
    gt百家乐平台假吗| 百家乐巴厘岛平台| 真人百家乐平台排行| 百家乐棋牌游戏源码| 海港城百家乐的玩法技巧和规则| 大发888娱乐新澳博| 明升备用网站| 赌场百家乐官网网站| 7位百家乐官网扑克桌| 澳门百家乐群官网| 大发888游乐城| 高唐县| 长春百家乐官网的玩法技巧和规则| 玩百家乐新太阳城| 百家乐牌壳| 大赢家网上娱乐| 武汉百家乐官网庄闲和| 百家乐太阳城怎么样| 大发888娱乐城下栽| 免费百家乐官网规律| 百家乐官网怎么押钱| 澳门百家乐海星王娱乐城| 大发888 dafa888游戏| 百家乐官网娱乐全讯网| 为什么百家乐官网玩家越来越多选择网上百家乐官网 | 大发888老虎机技巧| 巴林左旗| 百家乐哪条路好| 大发888娱乐场下载dafaylcdown| 百家乐官网国际娱乐| 阳宅24山流年吉凶方位| 太子百家乐的玩法技巧和规则 | 舟山星空棋牌游戏大厅下载| 澳门百家乐官网博客| 百家乐娱乐优惠| 海滨湾国际娱乐城| 百家乐官网技巧秘| 百家乐平预测软件| 百家乐官网怎样看点| 网络百家乐破解平台| 澳门赌场|