91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

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

微云疏影 ? 來源:FPGA算法工程師 ? 作者:FPGA算法工程師 ? 2022-12-07 10:22 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

此類問題是FPGA設(shè)計實現(xiàn)中比較棘手的問題,Xilinx針對7系列及以后的UltraScale/UltraScale+等,提出了UltraFast設(shè)計方法論,用于指導(dǎo)該系列器件的成功設(shè)計和實現(xiàn),完成復(fù)雜系統(tǒng)設(shè)計。

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

poYBAGOP-PmAGzyEAAEnrEwmNOQ542.jpg

Xilinx提出的實現(xiàn)快速收斂的設(shè)計方法論

FPGA布線擁塞怎么辦?

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

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

1.擁塞類型

Xilinx FPGA布線結(jié)構(gòu)包括東、南、西、北共4個方向不同長度的互聯(lián)資源。擁塞區(qū)域以最小的正方形體現(xiàn),這個正方形覆蓋了相鄰的互聯(lián)資源或CLB單元。

pYYBAGOP-PqAbOnOAANBm99fwnM627.jpg

“Device”視圖中的擁塞等級和擁塞區(qū)域

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

擁塞類型

poYBAGOP-PuAEbSgAABBkfsFtKA792.png

2.生成設(shè)計擁塞報告

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

report_design_analysis -congestion -name cong

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

pYYBAGOP-PuAXLBGAABeLVl4tp4898.png

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

poYBAGOP-PyACFMuAAC48PTtcgw932.jpg

擁塞表

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

3.生成設(shè)計復(fù)雜性報告

我們也可以通過設(shè)計復(fù)雜性報告來預(yù)判是否出現(xiàn)擁塞。我們可以對布局生成的DCP,通過以下Tcl命令生成設(shè)計復(fù)雜度報告。

report_design_analysis -complexity -name comp

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

Rent 指數(shù)較高的設(shè)計表示此類設(shè)計中包含邏輯緊密相連的分組,并且這些分組與其它分組同樣連接緊密。這通??衫斫鉃槿植季€資源利用率較高并且布線復(fù)雜性也更高。此報告中提供的 Rent 指數(shù)是根據(jù)未布局和未布線的網(wǎng)表來計算的。完成布局后,相同設(shè)計的 Rent 指數(shù)可能改變,因為它基于物理分區(qū)而不是邏輯分區(qū)。

pYYBAGOP-PyAP2v4AAFi7kACK90397.jpg

復(fù)雜性報告

Rent 指數(shù)的典型范圍

poYBAGOP-P2AHD4TAACDP18NotA966.jpg

“平均扇出”典型范圍

pYYBAGOP-P2ABLXhAACwBtaZ9XE247.jpg

4.解決擁塞問題

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

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

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

set_property BLOCK_SYNTH.MUXF_MAPPING 1 [get_cells top/instance]

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

opt_design -mux_remap -remap

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

set_property MUXF_REMAP 1 [get_cells -h(huán)ier-filter {NAME=~ cpu*&& REF_NAME=~MUXF*}]

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

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

opt_design -carry_remap -remap

方法2:針對特定MUXF設(shè)置CARRY_REMAP屬性

set_property CARRY_REMAP 2 [get_cells -h(huán)ier-filter { REF_NAME==CARRY8}]

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

方法1:利用模塊化綜合技術(shù),對特定模式設(shè)置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:利用模塊化綜合技術(shù),對特定模式設(shè)置LUT_COMBINING:

set_property BLOCK_SYNTH. LUT_COMBINING 0 [get_cells top/instance]

方法2:設(shè)定LUT的LUTNM屬性為空:

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

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

在實現(xiàn)階段,可以選擇適當(dāng)?shù)膶崿F(xiàn)策略來緩解擁塞。對于UltraScale系列芯片,可嘗試采用“Congestion_*”策略緩解擁塞;對于UltraScale+系列芯片,可嘗試采用“performance_NetDelay_*” 策略緩解擁塞。如下圖所示。

poYBAGOP-P6AFb9UAAGGfcq2PUg197.jpg

實現(xiàn)時解決擁塞策略

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

FPGA算法工程師

審核編輯 :李倩

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

    關(guān)注

    1660

    文章

    22412

    瀏覽量

    636312
  • Xilinx
    +關(guān)注

    關(guān)注

    73

    文章

    2200

    瀏覽量

    131137
  • 時序
    +關(guān)注

    關(guān)注

    5

    文章

    406

    瀏覽量

    38859
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    一般電氣線路起火的原因和預(yù)防方法

    電氣線路起火是日常生活中常見的火災(zāi)隱患之一,其危害性極大,不僅可能造成財產(chǎn)損失,甚至威脅生命安全。了解電氣線路起火的原因及預(yù)防方法,對于保障家庭和公共場所的安全至關(guān)重要。以下是電氣線路起火的主要原因及相應(yīng)的預(yù)防措施。
    的頭像 發(fā)表于 03-06 17:19 ?463次閱讀

    C編譯器錯誤與解決方法

    C語言keil編譯器提示錯誤的解決方法,可以幫你解決程序編譯中的煩惱!! C編譯器錯誤與解決方法 1. Warning 280:’i’:unreferenced local variable
    發(fā)表于 01-22 08:03

    ODF配線架常見故障及解決方法?

    ODF配線架常見故障及解決方法如下: 一、接地故障 故障表現(xiàn): 防雷性能下降,靜電積累,甚至引發(fā)設(shè)備損壞。 光信號傳輸不穩(wěn)定,出現(xiàn)誤碼或中斷。 常見原因: 接地端子氧化、松動或接觸不良。 接地線
    的頭像 發(fā)表于 01-05 10:43 ?331次閱讀

    軸承銹蝕的主要原因分析

    軸承銹蝕的主要原因分析 環(huán)境因素 濕度:空氣中濕度的大小對軸承的銹蝕速度有很大的影響。在臨界濕度下,金屬銹蝕的速度很慢,一旦濕度超過臨界濕度,金屬銹蝕的速度會突然上升。鋼鐵的臨界濕度在65%左右
    的頭像 發(fā)表于 11-22 10:50 ?1979次閱讀

    程序加載過程中遇到的問題及其解決方法

    /quick_start/ide.html。 (1)遇到的問題1:在創(chuàng)建好項目后,運行配置設(shè)置為ILM,可以編譯成功;當(dāng)修改運行配置為Flash后,編譯失??;重啟軟件,仍會遇到類似問題。 解決方法
    發(fā)表于 10-30 07:59

    TFT液晶屏開機時開機閃屏的原因解決方法

    啟動后再給屏幕上電。 總結(jié) 主要原因 導(dǎo)致現(xiàn)象 優(yōu)先解決方法 背光開啟過早 一片無結(jié)構(gòu)的白光/雜光 延遲背光開啟或使用PWM軟啟動 電源時序混亂 雜色、亂碼閃爍 優(yōu)化電源排序,確保信號穩(wěn)定后再供電
    發(fā)表于 10-18 11:49

    FPGA測試DDR帶寬跑不滿的常見原因及分析方法

    FPGA 中測試 DDR 帶寬時,帶寬無法跑滿是常見問題。下面我將從架構(gòu)、時序、訪問模式、工具限制等多個維度,系統(tǒng)梳理導(dǎo)致 DDR 帶寬跑不滿的常見原因及分析方法。
    的頭像 發(fā)表于 10-15 10:17 ?1036次閱讀

    LVDS接口的顯示屏,顯示偏暗問題的解決方法

    問題:點亮屏幕后畫面顯示偏暗 可能原因: 主板輸出的LVDS 模式與屏幕的不一致; PWM亮度并未調(diào)節(jié)到最亮; 解決方法 檢查主板的LVDS輸出模式是否和屏幕一致; 一般主板端的LVDS模式是可以配置的,配置成與屏幕相同的模式即可; 檢查PWM亮度調(diào)節(jié)是否正常?或者
    發(fā)表于 10-09 15:55

    ECN如何在HPC和數(shù)據(jù)中心中應(yīng)對網(wǎng)絡(luò)擁塞

    ECN(Explicit Congestion Notification)是一種改進后的擁塞控制方法,它不依賴于丟包來指示擁塞,而是在數(shù)據(jù)包的頭部標(biāo)記擁塞發(fā)生的信號。ECN通過向數(shù)據(jù)包
    的頭像 發(fā)表于 09-26 14:53 ?2664次閱讀
    ECN如何在HPC和數(shù)據(jù)中心中應(yīng)對網(wǎng)絡(luò)<b class='flag-5'>擁塞</b>

    403 Forbidden是什么意思?最佳解決方法有哪些?

    請求的資源或操作受到了訪問控制列表(ACL)的限制,或者請求的用戶沒有足夠的權(quán)限,服務(wù)器就會拒絕授權(quán)執(zhí)行此請求。下面 華納云 整理的關(guān)于403 Forbidden產(chǎn)生原因解決方法內(nèi)容希望對大家有所幫助! 403 Forbidden產(chǎn)生的
    的頭像 發(fā)表于 06-25 16:33 ?2.5w次閱讀

    sys_sem_free()傳入的參數(shù)變成了NULL,引起這個現(xiàn)象的主要原因有哪些?

    ).sem); 此時該傳入的參數(shù)在莫名的情況下變成了NULL,該問題發(fā)生在頻繁建立和斷開TCP連接的測試案例中。 請教一下引起這個現(xiàn)象的主要原因有哪些?
    發(fā)表于 04-30 07:35

    電機常見故障分析及解決方法

    電機在運行過程中可能會出現(xiàn)多種故障,以下是一些常見故障的分析及解決方法: 一、機械故障 1. 軸承損壞或磨損 ? ?● 故障表現(xiàn):電機運轉(zhuǎn)不平穩(wěn),產(chǎn)生異響,嚴重時甚至停轉(zhuǎn)。 ? ?● 原因分析:通常
    的頭像 發(fā)表于 04-25 15:20 ?5617次閱讀
    電機常見故障分析及<b class='flag-5'>解決方法</b>

    變頻器低電壓跳閘原因解決方法和案例分析

    ,還可能對設(shè)備造成損害。因此,深入探討變頻器低電壓跳閘的原因解決方法,對于提高生產(chǎn)效率和保障設(shè)備安全具有重要意義。 一、變頻器低電壓跳閘的原因分析 變頻器低電壓跳閘的原因多種多樣,
    的頭像 發(fā)表于 04-17 15:57 ?2226次閱讀
    變頻器低電壓跳閘<b class='flag-5'>原因</b>及<b class='flag-5'>解決方法</b>和案例分析

    變頻器對PLC和步進電機干擾的主要原因和解決辦法

    、信號輸入和輸出工作失常,同時也可能使步進電機產(chǎn)生震動和運行失步。以下是對變頻器干擾PLC和步進電機的主要原因及解決辦法的詳細分析: 一、主要原因 1. 變頻器性能:性能較差的變頻器可能產(chǎn)生更大的干擾。 2. 諧波干擾:變頻器在整流
    的頭像 發(fā)表于 04-10 07:34 ?1716次閱讀
    變頻器對PLC和步進電機干擾的<b class='flag-5'>主要原因</b>和解決辦法

    變頻器軟故障的原因及兩大解決方法

    變頻器軟故障的發(fā)生情況非常多,這也是普遍存在于各類變頻器運行過程中的故障之一。以下是對變頻器軟故障的原因及兩大解決方法的詳細分析: 一、變頻器軟故障的原因 1. 過流 ● 現(xiàn)象: 重新啟動時,一升速
    的頭像 發(fā)表于 04-02 07:37 ?1541次閱讀
    變頻器軟故障的<b class='flag-5'>原因</b>及兩大<b class='flag-5'>解決方法</b>