日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

FPGA布局及资源优化

發(fā)布時間:2023/12/20 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 FPGA布局及资源优化 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

開篇
這大半年一直在做一個高速板卡FPGA相關(guān)的方方面面的工作,包括前期FPGA架構(gòu)布局設(shè)計,管腳驗證,后期實現(xiàn)資源優(yōu)化,最后到板卡調(diào)試。過程曲折艱辛,但是也收獲良多。今天在這里記錄下工作中零零散散的記錄下來。
1.項目需求
FPGA :V7-690T兩片
Resource:兩片F(xiàn)PGA通過X12 gth互聯(lián);每片F(xiàn)PGA使用48路serdes走光口與板外連接;每片F(xiàn)PGA使用SIROx4通過VPX與外界互聯(lián);每片F(xiàn)PGA使用PCIE X8與板上CPU Intel XEON互聯(lián);每片F(xiàn)PGA使用20對LVDS互聯(lián);CPLD控制FPGA上電時序/CPU啟動/FPGA加載;每片F(xiàn)PGA掛載2路4GB DDR3。
2.FPGA架構(gòu)設(shè)計問題
我們知道,FPGA片上分布著各種資源,如時鐘,serdes,RAM,LUT,IO等。在進行FPGA規(guī)劃時候,應(yīng)當(dāng)需要知道項目設(shè)計需求,以及需求 各模塊之間的數(shù)據(jù)交織情況,這樣可以避免后續(xù)FPGA RTL設(shè)計出現(xiàn)時序很難優(yōu)化的情況。
對應(yīng)這個情況,舉一個簡單的例子。如果一個FPGA工程中含有一個PCIE和一個DDR接口,并且,需要用到PCIE與外部設(shè)備進行大量數(shù)據(jù)塊上傳和下載方面的傳輸。那么DDR作為PCIE的一個緩存接口,最優(yōu)的方案是在FPGA內(nèi)部對PCIE接口和DDR接口盡量靠近放置。這樣FPGA RTL設(shè)計的時候時序很容易達(dá)到最優(yōu)。在V7-690T FPGA中,可以將PCIE放置的最優(yōu)位置如下圖。

同時,我們也知道,在V7-690 FPGA中,DDR通常可以放置的位置可以是BANK34/35/36和BANK36/37/38。這時綜合上述兩個條件,我們可以得到最優(yōu)放置PCIE和DDR的位置。使得FPGA內(nèi)部編譯通過率或者說時序最好。

下面是兩種不同放置方式得到的example design編譯結(jié)果圖。

3.前期碰到的問題
1).時鐘優(yōu)化
在管腳驗證的時候,本人將各個功能模塊都用XILINX FPGA的IP生成 example design并集成到一個工程下面,但是發(fā)現(xiàn)上面提出的功能集成下來FPGA的BUFG資源遠(yuǎn)遠(yuǎn)不夠。下圖是FPGA example design各模塊BUFG資源需求情況。因此做了一些資源優(yōu)化。
a.前期驗證中,發(fā)現(xiàn)SRIO是消耗BUFG資源最多的IP,因此能省出最多的BUFG。
b.DDR也消耗比較多時鐘,這個項目一個FPGA用到兩個DDR控制器,也能省出比較多BUFG。
2).PCIE不是在所有serdes下都能放的,對V7-690,需要放置在特殊的SERDES處,這樣,實際PCIE 程序編譯時候,這個特殊的serdes里PCIE 特殊資源離得最近,編譯出來的時序報告是最好的。如若不然,需要設(shè)置PCIE IP內(nèi)部特殊參數(shù),才能使得PCIE DEV被CPU看到,也就是PCIE link上。
3).DDR布局也要參考數(shù)據(jù)是如何在FPGA內(nèi)部交織的,勁量靠近會用到大數(shù)據(jù)流量的模塊放置,這樣后期設(shè)計時序會好很多。
4)FPGA功耗估計問題。
這個可以在XILINX官網(wǎng)下載一個XPE Excel表格,很實用的,用一兩次就熟悉了。但是本人認(rèn)為這個工具對很多人也有個缺點,就是實際并不知道以后自己的代碼各種資源消耗有多少。所以可能評估不太準(zhǔn)。
本人是用example design工程查看編譯報告得出。當(dāng)涉及到調(diào)整溫度啊電流啊啥的時候,在vivado下需要打開implementation的結(jié)果后才可以改動電流/溫度的值進行評估的。

3.FPGA PCB布線時會遇到調(diào)整線序的問題。
1)這要根據(jù)項目需求看調(diào)整后的布局是否滿足項目需求,調(diào)整好后一定要原理圖工程師給出最新的原理圖,最后FPGA根據(jù)新布局重新驗證管腳等。千萬不要口口相傳丟失了信息。
2)DDR換線序可以參照XILINX的MIG手冊,仔細(xì)核對的。

3) DDR PCB布線所需的管腳延時信息,可以通過新建一個空白工程,在空白工程的tcl下輸入如下命令:
link_design -part xc7k160tfbg676
write_csv flight_time

4.CPLD調(diào)試
1)CPLD控制FPGA上電順序,XILINX又一個check list,各位可以根據(jù)check list表格對硬件板卡進行關(guān)鍵信號測量確認(rèn),對上電時序進行控制等。
2)對FPGA的配置控制也可以月底 xilinx ug470等。

5.上述所講到的serdes1)下圖可以看到,兩組收發(fā)的光模塊,其中一個與FPGA比較接近,serdes這樣很正常;另一組比較遠(yuǎn)的serdes在外部電源電壓,文波,時鐘一致的情況下ibert測試就不正常,很多鏈路會掉,因此下一次改版將其移到FPGA附近。![在這里插入圖片描述](https://img-blog.csdnimg.cn/20190721222638376.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hocGluZ3llYXI=,size_16,color_FFFFFF,t_70)serdes調(diào)試本人在另一篇博客進行了簡單說明了,看官可以參考。上面不是很詳細(xì),等有空了本人整理整理,添加些信息。

總結(jié)

以上是生活随笔為你收集整理的FPGA布局及资源优化的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。