1.項(xiàng)目需求
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上電時(shí)序/CPU啟動(dòng)/FPGA加載;每片F(xiàn)PGA掛載2路4GB DDR3。
2.FPGA架構(gòu)設(shè)計(jì)問題
我們知道,F(xiàn)PGA片上分布著各種資源,如時(shí)鐘,serdes,RAM,LUT,IO等。在進(jìn)行FPGA規(guī)劃時(shí)候,應(yīng)當(dāng)需要知道項(xiàng)目設(shè)計(jì)需求,以及需求各模塊之間的數(shù)據(jù)交織情況,這樣可以避免后續(xù)FPGA RTL設(shè)計(jì)出現(xiàn)時(shí)序很難優(yōu)化的情況。
對應(yīng)這個(gè)情況,舉一個(gè)簡單的例子。如果一個(gè)FPGA工程中含有一個(gè)PCIE和一個(gè)DDR接口,并且,需要用到PCIE與外部設(shè)備進(jìn)行大量數(shù)據(jù)塊上傳和下載方面的傳輸。那么DDR作為PCIE的一個(gè)緩存接口,最優(yōu)的方案是在FPGA內(nèi)部對PCIE接口和DDR接口盡量靠近放置。這樣FPGA RTL設(shè)計(jì)的時(shí)候時(shí)序很容易達(dá)到最優(yōu)。在V7-690T FPGA中,可以將PCIE放置的最優(yōu)位置如下圖。
同時(shí),我們也知道,在V7-690 FPGA中,DDR通??梢苑胖玫奈恢每梢允荁ANK34/35/36和BANK36/37/38。這時(shí)綜合上述兩個(gè)條件,我們可以得到最優(yōu)放置PCIE和DDR的位置。使得FPGA內(nèi)部編譯通過率或者說時(shí)序最好。
下面是兩種不同放置方式得到的example design編譯結(jié)果圖。
3.前期碰到的問題
1).時(shí)鐘優(yōu)化
在管腳驗(yàn)證的時(shí)候,本人將各個(gè)功能模塊都用XILINX FPGA的IP生成 example design并集成到一個(gè)工程下面,但是發(fā)現(xiàn)上面提出的功能集成下來FPGA的BUFG資源遠(yuǎn)遠(yuǎn)不夠。下圖是FPGA example design各模塊BUFG資源需求情況。因此做了一些資源優(yōu)化。
a.前期驗(yàn)證中,發(fā)現(xiàn)SRIO是消耗BUFG資源最多的IP,因此能省出最多的BUFG。
b.DDR也消耗比較多時(shí)鐘,這個(gè)項(xiàng)目一個(gè)FPGA用到兩個(gè)DDR控制器,也能省出比較多BUFG。
2).PCIE不是在所有serdes下都能放的,對V7-690,需要放置在特殊的SERDES處,這樣,實(shí)際PCIE 程序編譯時(shí)候,這個(gè)特殊的serdes里PCIE 特殊資源離得最近,編譯出來的時(shí)序報(bào)告是最好的。如若不然,需要設(shè)置PCIE IP內(nèi)部特殊參數(shù),才能使得PCIE DEV被CPU看到,也就是PCIE link上。
3).DDR布局也要參考數(shù)據(jù)是如何在FPGA內(nèi)部交織的,勁量靠近會(huì)用到大數(shù)據(jù)流量的模塊放置,這樣后期設(shè)計(jì)時(shí)序會(huì)好很多。
4)FPGA功耗估計(jì)問題。
這個(gè)可以在XILINX官網(wǎng)下載一個(gè)XPE Excel表格,很實(shí)用的,用一兩次就熟悉了。但是本人認(rèn)為這個(gè)工具對很多人也有個(gè)缺點(diǎn),就是實(shí)際并不知道以后自己的代碼各種資源消耗有多少。所以可能評估不太準(zhǔn)。
本人是用example design工程查看編譯報(bào)告得出。當(dāng)涉及到調(diào)整溫度啊電流啊啥的時(shí)候,在vivado下需要打開implementation的結(jié)果后才可以改動(dòng)電流/溫度的值進(jìn)行評估的。
3.FPGA PCB布線時(shí)會(huì)遇到調(diào)整線序的問題。
1)這要根據(jù)項(xiàng)目需求看調(diào)整后的布局是否滿足項(xiàng)目需求,調(diào)整好后一定要原理圖工程師給出最新的原理圖,最后FPGA根據(jù)新布局重新驗(yàn)證管腳等。千萬不要口口相傳丟失了信息。
2)DDR換線序可以參照XILINX的MIG手冊,仔細(xì)核對的。
3) DDR PCB布線所需的管腳延時(shí)信息,可以通過新建一個(gè)空白工程,在空白工程的tcl下輸入如下命令:
link_design -part xc7k160tfbg676
4.CPLD調(diào)試
1)CPLD控制FPGA上電順序,XILINX又一個(gè)check list,各位可以根據(jù)check list表格對硬件板卡進(jìn)行關(guān)鍵信號測量確認(rèn),對上電時(shí)序進(jìn)行控制等。
2)對FPGA的配置控制也可以月底 xilinx ug470等。
責(zé)任編輯:xj
原文標(biāo)題:FPGA布局及資源優(yōu)化(開發(fā)隨筆)
文章出處:【微信公眾號:FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
-
FPGA
+關(guān)注
關(guān)注
1629文章
21738瀏覽量
603464 -
cpld
+關(guān)注
關(guān)注
32文章
1248瀏覽量
169370 -
時(shí)鐘
+關(guān)注
關(guān)注
11文章
1734瀏覽量
131490
原文標(biāo)題:FPGA布局及資源優(yōu)化(開發(fā)隨筆)
文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論