新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > FPGA實戰開發技巧(6)

        FPGA實戰開發技巧(6)

        作者: 時間:2017-10-13 來源:網絡 收藏

        5.3.3.2 提高的手段

        設計最重要的指標之一。造成差的根本原因有很多,但其直接原因可分為三類:布局較差、邏輯級數過多以及信號扇出過高。下面通過時序分析實例來定位原因并給出相應的解決方案。

        本文引用地址:http://www.104case.com/article/201710/365613.htm

        1.布局太差及解決方案

        圖5-13 所示時序報告,其中附加的周圍約束為3ns,實際周期為3.027ns,邏輯時間只有0.869ns,而布線延遲竟達到2.203ns,很明顯失敗的原因就是布局太差。

        圖5-13 布局太差的時序報告示意圖

        相應的解決方案有:

        1) 在ISE 布局工具中調整布局的努力程度(effort level) ;
        2) 利用布局布線工具的特別努力程度(extra effort) 或MPPR 選項;
        3) 如果用戶熟悉區域約束,則利用Floorplanner 相對區域約束(RLOC),重新對設計進行布局規劃。

        2.邏輯級數過多及解決方案

        設計中,邏輯級數越高,意味著資源的利用率就越高,但對設計工作頻率的影響也越大。在圖5-5所示的例子中,附加的周圍約束為3ns,實際周期為3.205ns,邏輯時間為1.307ns,已經對設計的實際性能造成了一定的影響。對于這種情況,ISE 實現工具是沒有任何改善的,必須通過修改代碼來提高性能,相應的解決方案有:

        1) 使用流水線技術,在組合邏輯中插入寄存器,簡化原有的邏輯結構;
        2) 檢查該路徑是否是多周期路徑,如果是,添加相應的多周期約束;
        3) 具備良好的編碼習慣,不要嵌套if 語句或if、case 語句,并且盡量用case 語句代替if 語句。

        圖5-14 邏輯級數太多的時序報告示意圖

        3.信號扇出過高及解決方案

        高扇出會造成信號傳輸路徑過長,從而降低時序性能。如圖5-15 所示,附加的周期約束為3ns,而實際周期為3.927ns,其中網線的扇出已經高達187,從而導致布線時延達到3.003ns,占實際時延的77.64%。這種情況是任何設計所不能容忍的。

        圖5-15 扇出太高的時序報告示意圖

        相應的解決方案有:

        1) 通過邏輯復制的方法來降低信號的高扇出,可在HDL 代碼中手動復制或通過在綜合工具中設置達到目的;
        2) 可利用區域約束,將相關邏輯放置在一起,當然本方法僅限于高級用戶。



        關鍵詞: FPGA 時序性能

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 广州市| 保定市| 盐山县| 广昌县| 阜新市| 婺源县| 台北市| 松滋市| 常德市| 田阳县| 台南市| 赞皇县| 卓尼县| 柳林县| 泗洪县| 崇阳县| 璧山县| 光泽县| 东乌珠穆沁旗| 灵丘县| 德江县| 罗山县| 翁源县| 双峰县| 辽源市| 西昌市| 修水县| 本溪| 渝中区| 明水县| 河池市| 青浦区| 株洲市| 拜城县| 太仆寺旗| 治县。| 澎湖县| 定襄县| 双鸭山市| 张北县| 鄂托克旗|