關(guān)于優(yōu)化FPGA HLS設(shè)計(jì)的分析和介紹_第1頁
關(guān)于優(yōu)化FPGA HLS設(shè)計(jì)的分析和介紹_第2頁
關(guān)于優(yōu)化FPGA HLS設(shè)計(jì)的分析和介紹_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

關(guān)于優(yōu)化FPGAHLS設(shè)計(jì)的分析和介紹用軟件從C轉(zhuǎn)化來的RTL代碼其實(shí)并不好理解。今天我們就來談?wù)劊绾卧诓桓淖僐TL代碼的情況下,提升設(shè)計(jì)性能。本項(xiàng)目所需應(yīng)用與工具:賽靈思HLS、PlunifyCloud以及InTime。前言

高層次的設(shè)計(jì)可以讓設(shè)計(jì)以更簡潔的方法捕捉,從而讓錯(cuò)誤更少,調(diào)試更輕松。然而,這種方法最受詬病的是對性能的犧牲。在復(fù)雜的FPGA設(shè)計(jì)上實(shí)現(xiàn)高性能,往往需要手動優(yōu)化RTL代碼,這也意味著從C轉(zhuǎn)化得到RTL基本不可能。其實(shí),使用FPGA工具設(shè)置來優(yōu)化設(shè)計(jì)可以最小限度地減少對性能的犧牲,這種方法是存在的。高效地找到合適的FPGA工具設(shè)置

盡管工程師們知道FPGA工具的設(shè)置,但是這些設(shè)置往往并沒有充分利用。一般而言,工具設(shè)置只有在出現(xiàn)時(shí)序問題的時(shí)候才會派上用途。然而,對于已經(jīng)達(dá)到性能目標(biāo)的設(shè)計(jì)來說,如果繼續(xù)調(diào)整工具設(shè)計(jì),仍然有10%-50%的性能提升潛力。真正的難點(diǎn)在于選擇正確的工具設(shè)置,畢竟各種FPGA工具一般都有有30-70個(gè)不同的布局布線設(shè)置,可選的設(shè)置組合實(shí)在是太多了。您可以寫腳本來運(yùn)行不同的推薦指令/策略。市面上也有工具,來自動管理并運(yùn)行設(shè)計(jì)探索。另一個(gè)難點(diǎn)就是不充裕的計(jì)算能力。典型的嵌入式應(yīng)用是在單臺電腦上設(shè)計(jì)的。運(yùn)行多個(gè)編譯需要更多的計(jì)算能力,這就要求更多的時(shí)間。如果您可以(使用云計(jì)算)并行運(yùn)行,周轉(zhuǎn)時(shí)間就會變短。如何優(yōu)化高層次的設(shè)計(jì)-“Sobel濾鏡”項(xiàng)目

該設(shè)計(jì)的功能是Sobel濾鏡,目標(biāo)器件是擁有雙核DualARM?Cortex?-A9MPCore的FPGA。我們使用賽靈思HLS來打開這個(gè)設(shè)計(jì)。圖一:參考設(shè)計(jì)–Sobel濾鏡它的時(shí)鐘周期是5.00ns,也就是200MHz。從下圖的時(shí)序預(yù)估中可以看出,它離時(shí)序目標(biāo)還差506ps(181MH1),也就是比目標(biāo)速率還差10%。圖二:當(dāng)前時(shí)序結(jié)果導(dǎo)出成RTL項(xiàng)目

不需要改變C++代碼,把設(shè)計(jì)輸出成一個(gè)RTL的Vivado項(xiàng)目。在“Solution”下面,選擇“ExportRTL”。圖三:從HLS輸出Vivado項(xiàng)目它會在后臺執(zhí)行Vivado,并生成一個(gè)項(xiàng)目文件(XPR)。它同時(shí)也會編譯設(shè)計(jì),您應(yīng)該在控制臺(Console)看到真實(shí)的時(shí)序細(xì)節(jié)。一旦完成,您可以在/solution/impl/verilog/文件夾下找到項(xiàng)目文件。圖四:Vivado項(xiàng)目文件找到這個(gè)XPR文件之后,您可以用Vivado打開它來驗(yàn)證。您將看到生成好的RTL源文件。圖五:從HLS生成的RTL時(shí)序優(yōu)化

下一步,是使用InTime設(shè)計(jì)探索工具,當(dāng)然,您也可以自己寫腳本來嘗試Vivado工具中自帶的指令和策略。請申請InTime的免費(fèi)試用在本地運(yùn)行,也可以注冊一個(gè)PlunifyCloud云平臺的賬戶,試用所提供的免費(fèi)云幣來在云端運(yùn)行預(yù)置好的FPGA工具。啟動InTime之后,打開項(xiàng)目文件。在選擇Vivado版本時(shí),請使用“相同的”版本。例如,如果您使用2017.3HLS,請選擇2017.3Vivado。選擇“HotStart”配方(recipe)。此配方包含一系列更具以往其他設(shè)計(jì)的經(jīng)驗(yàn)而推薦的策略。圖六:選擇"HotStart"配方點(diǎn)擊“StartRecipe”來開始優(yōu)化。如果您在云端運(yùn)行,您應(yīng)該并行運(yùn)行多個(gè)編譯來減少周轉(zhuǎn)時(shí)間。優(yōu)化過程和結(jié)果

第一輪結(jié)束之后(“HotStart”配方),最好的結(jié)果是“hotstart_1”策略。然而,它仍然距離目標(biāo)時(shí)序90ns。我們在“HotStart_1”的結(jié)果上使用了第二個(gè)配方,叫做“ExtraOptExploration”。這一輪將集中優(yōu)化關(guān)鍵的路徑。這是一次迭代優(yōu)化,并且只要仍有提升,就不斷地重復(fù)自己。如果達(dá)到時(shí)序目標(biāo)或者不再提升的時(shí)候,它就會停止。圖七:僅通過工具設(shè)置完成時(shí)序收斂經(jīng)過兩輪優(yōu)化,總共15此編譯后,設(shè)計(jì)達(dá)到了目標(biāo)時(shí)序,200MHz。而這一切完全沒有修改RTL源代碼。讓性能更

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論