新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > FPGA實(shí)戰(zhàn)開(kāi)發(fā)技巧(6)

        FPGA實(shí)戰(zhàn)開(kāi)發(fā)技巧(6)

        作者: 時(shí)間:2017-10-13 來(lái)源:網(wǎng)絡(luò) 收藏

        5.3.3.2 提高的手段

        設(shè)計(jì)最重要的指標(biāo)之一。造成差的根本原因有很多,但其直接原因可分為三類(lèi):布局較差、邏輯級(jí)數(shù)過(guò)多以及信號(hào)扇出過(guò)高。下面通過(guò)時(shí)序分析實(shí)例來(lái)定位原因并給出相應(yīng)的解決方案。

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

        1.布局太差及解決方案

        圖5-13 所示時(shí)序報(bào)告,其中附加的周?chē)s束為3ns,實(shí)際周期為3.027ns,邏輯時(shí)間只有0.869ns,而布線(xiàn)延遲竟達(dá)到2.203ns,很明顯失敗的原因就是布局太差。

        圖5-13 布局太差的時(shí)序報(bào)告示意圖

        相應(yīng)的解決方案有:

        1) 在ISE 布局工具中調(diào)整布局的努力程度(effort level) ;
        2) 利用布局布線(xiàn)工具的特別努力程度(extra effort) 或MPPR 選項(xiàng);
        3) 如果用戶(hù)熟悉區(qū)域約束,則利用Floorplanner 相對(duì)區(qū)域約束(RLOC),重新對(duì)設(shè)計(jì)進(jìn)行布局規(guī)劃。

        2.邏輯級(jí)數(shù)過(guò)多及解決方案

        設(shè)計(jì)中,邏輯級(jí)數(shù)越高,意味著資源的利用率就越高,但對(duì)設(shè)計(jì)工作頻率的影響也越大。在圖5-5所示的例子中,附加的周?chē)s束為3ns,實(shí)際周期為3.205ns,邏輯時(shí)間為1.307ns,已經(jīng)對(duì)設(shè)計(jì)的實(shí)際性能造成了一定的影響。對(duì)于這種情況,ISE 實(shí)現(xiàn)工具是沒(méi)有任何改善的,必須通過(guò)修改代碼來(lái)提高性能,相應(yīng)的解決方案有:

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

        圖5-14 邏輯級(jí)數(shù)太多的時(shí)序報(bào)告示意圖

        3.信號(hào)扇出過(guò)高及解決方案

        高扇出會(huì)造成信號(hào)傳輸路徑過(guò)長(zhǎng),從而降低時(shí)序性能。如圖5-15 所示,附加的周期約束為3ns,而實(shí)際周期為3.927ns,其中網(wǎng)線(xiàn)的扇出已經(jīng)高達(dá)187,從而導(dǎo)致布線(xiàn)時(shí)延達(dá)到3.003ns,占實(shí)際時(shí)延的77.64%。這種情況是任何設(shè)計(jì)所不能容忍的。

        圖5-15 扇出太高的時(shí)序報(bào)告示意圖

        相應(yīng)的解決方案有:

        1) 通過(guò)邏輯復(fù)制的方法來(lái)降低信號(hào)的高扇出,可在HDL 代碼中手動(dòng)復(fù)制或通過(guò)在綜合工具中設(shè)置達(dá)到目的;
        2) 可利用區(qū)域約束,將相關(guān)邏輯放置在一起,當(dāng)然本方法僅限于高級(jí)用戶(hù)。



        關(guān)鍵詞: FPGA 時(shí)序性能

        評(píng)論


        相關(guān)推薦

        技術(shù)專(zhuān)區(qū)

        關(guān)閉
        主站蜘蛛池模板: 普格县| 故城县| 桃源县| 襄樊市| 平阳县| 中山市| 呼伦贝尔市| 边坝县| 建瓯市| 日喀则市| 东阳市| 穆棱市| 鹰潭市| 九江市| 安徽省| 卢湾区| 嫩江县| 搜索| 图木舒克市| 岢岚县| 武山县| 扶风县| 沙洋县| 乌海市| 富民县| 新密市| 阳信县| 吐鲁番市| 延安市| 沂南县| 新晃| 西华县| 太保市| 泰顺县| 蒙自县| 本溪| 普兰店市| 登封市| 县级市| 富裕县| 郴州市|