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

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

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

FPGA布局及資源優(yōu)化

FPGA之家 ? 來源:FPGA之家 ? 作者:FPGA之家 ? 2021-01-07 10:15 ? 次閱讀

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)位置如下圖。

e942e6f4-5079-11eb-8b86-12bb97331649.jpg

同時(shí),我們也知道,在V7-690 FPGA中,DDR通??梢苑胖玫奈恢每梢允荁ANK34/35/36和BANK36/37/38。這時(shí)綜合上述兩個(gè)條件,我們可以得到最優(yōu)放置PCIE和DDR的位置。使得FPGA內(nèi)部編譯通過率或者說時(shí)序最好。

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

e9a2dc1c-5079-11eb-8b86-12bb97331649.jpg

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ì)核對的。

e9dad9f0-5079-11eb-8b86-12bb97331649.jpg

3) DDR PCB布線所需的管腳延時(shí)信息,可以通過新建一個(gè)空白工程,在空白工程的tcl下輸入如下命令:

link_design -part xc7k160tfbg676

write_csv flight_time

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等。

e9f97fa4-5079-11eb-8b86-12bb97331649.png

責(zé)任編輯:xj

原文標(biāo)題:FPGA布局及資源優(yōu)化(開發(fā)隨筆)

文章出處:【微信公眾號:FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

收藏 人收藏

    評論

    相關(guān)推薦

    如何優(yōu)化FPGA設(shè)計(jì)的性能

    優(yōu)化FPGA(現(xiàn)場可編程門陣列)設(shè)計(jì)的性能是一個(gè)復(fù)雜而多維的任務(wù),涉及多個(gè)方面和步驟。以下是一些關(guān)鍵的優(yōu)化策略: 一、明確性能指標(biāo) 確定需求 :首先,需要明確FPGA設(shè)計(jì)的性能指標(biāo),包
    的頭像 發(fā)表于 10-25 09:23 ?339次閱讀

    優(yōu)化 FPGA HLS 設(shè)計(jì)

    優(yōu)化 FPGA HLS 設(shè)計(jì) 用工具用 C 生成 RTL 的代碼基本不可讀。以下是如何在不更改任何 RTL 的情況下提高設(shè)計(jì)性能。 介紹 高級設(shè)計(jì)能夠以簡潔的方式捕獲設(shè)計(jì),從而
    發(fā)表于 08-16 19:56

    FPGA學(xué)習(xí)筆記-關(guān)于FPGA資源

    FPGA的學(xué)習(xí)。 在學(xué)習(xí)中才發(fā)現(xiàn),FPGA遠(yuǎn)不是門電路那么簡單。FPGA中有各種需要的資源,比如門電路、存儲(chǔ)單元、片內(nèi)RAM、嵌入式乘法器、PLL、IO引腳等。等于是說,可以根據(jù)需求,
    發(fā)表于 05-22 18:27

    FPGA布局布線優(yōu)化策略(五)

    對設(shè)計(jì)者很通常的情況是花費(fèi)幾天或幾周的時(shí)間圍繞一個(gè)設(shè)計(jì)來滿足時(shí)序,甚至多半利用上面描述的自動(dòng)種子變化,只面對可以起伏通過已有布局的小改變和時(shí)序特性完全改變。
    發(fā)表于 04-01 12:35 ?764次閱讀
    <b class='flag-5'>FPGA</b><b class='flag-5'>布局</b>布線<b class='flag-5'>優(yōu)化</b>策略(五)

    如何評估選型FPGA開發(fā)板的資源?

    如何評估選型FPGA開發(fā)板的資源?
    發(fā)表于 03-30 11:29

    FPGA布局布線優(yōu)化技術(shù)

    寄存器排序是布局工具把多位寄存器的相鄰位分組放進(jìn)單個(gè)邏輯元件所利用的方法。大多數(shù)基于單元的邏輯元件有不止一個(gè)觸發(fā)器,因此,相鄰位放置在一起,時(shí)序可以被優(yōu)化
    發(fā)表于 03-29 11:30 ?386次閱讀
    <b class='flag-5'>FPGA</b><b class='flag-5'>布局</b>布線<b class='flag-5'>優(yōu)化</b>技術(shù)

    FPGA布局布線優(yōu)化進(jìn)階篇

    邏輯復(fù)制在布局過程的早期發(fā)生,為了扇出到其他邏輯元件的結(jié)構(gòu),這些元件不可以(由于任何理由)存在于相同的近鄰。
    發(fā)表于 03-27 12:26 ?974次閱讀
    <b class='flag-5'>FPGA</b><b class='flag-5'>布局</b>布線<b class='flag-5'>優(yōu)化</b>進(jìn)階篇

    FPGA布局布線優(yōu)化方案

    調(diào)整電壓和溫度設(shè)置不要求FPGA 實(shí)現(xiàn)任何改變,可以提供一個(gè)方便的手段增量地改善最壞條件的性能。
    發(fā)表于 03-26 14:32 ?1148次閱讀
    <b class='flag-5'>FPGA</b><b class='flag-5'>布局</b>布線<b class='flag-5'>優(yōu)化</b>方案

    FPGA布局布線的可行性 FPGA布局布線失敗怎么辦

    隨著電子技術(shù)的進(jìn)步.FPGA邏輯電路能完成的功能越來越多,同樣也帶來了一個(gè)很大的問題,即邏輯電路的規(guī)模越來越大,這意味著RTL代碼到FPGA的映射、布局布線所花費(fèi)的時(shí)間也越來越長。
    的頭像 發(fā)表于 03-18 10:57 ?830次閱讀
    <b class='flag-5'>FPGA</b><b class='flag-5'>布局</b>布線的可行性 <b class='flag-5'>FPGA</b><b class='flag-5'>布局</b>布線失敗怎么辦

    FPGA資源使用如何評估

    請問FPGA資源使用如何評估?
    發(fā)表于 02-22 09:55

    FPGA資源與AISC對應(yīng)關(guān)系

    情況下,FPGA可以被用作ASIC的原型驗(yàn)證平臺(tái),幫助設(shè)計(jì)師驗(yàn)證和優(yōu)化ASIC的設(shè)計(jì)。然而,由于FPGA的靈活性和可重構(gòu)性,它的資源使用效率通常低于專門為特定任務(wù)
    發(fā)表于 02-22 09:52

    FPGA好的學(xué)習(xí)資源有哪些

    FPGA學(xué)習(xí)好的資源有哪些?從入門到精通,大家可以分享一起學(xué)習(xí)呀
    發(fā)表于 01-28 17:00

    FPGA實(shí)現(xiàn)原理

    布局加載到實(shí)際的FPGA上。這個(gè)過程通常通過向FPGA發(fā)送一個(gè)特定的二進(jìn)制文件來完成。一旦FPGA被正確地編程,它就可以開始執(zhí)行所設(shè)計(jì)的功能。 FP
    發(fā)表于 01-26 10:03

    簡談FPGA的片內(nèi)資源

    簡談FPGA的片內(nèi)資源
    發(fā)表于 01-08 22:12

    FPGA基本開發(fā)設(shè)計(jì)流程

    FPGA的設(shè)計(jì)流程就是利用EDA開發(fā)軟件和編程工具對FPGA芯片進(jìn)行開發(fā)的過程。FPGA的開發(fā)流程一般包括功能定義、設(shè)計(jì)輸入、功能仿真、綜合優(yōu)化、綜合后仿真、實(shí)現(xiàn)與
    發(fā)表于 12-31 21:15