在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<abbr id="27omo"></abbr>

<menu id="27omo"><dl id="27omo"></dl></menu>
    • <label id="27omo"><tt id="27omo"></tt></label>

      新聞中心

      EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > 基于FPGA協(xié)處理器的算法加速的實(shí)現(xiàn)

      基于FPGA協(xié)處理器的算法加速的實(shí)現(xiàn)

      作者: 時間:2013-04-28 來源:網(wǎng)絡(luò) 收藏

      C代碼轉(zhuǎn)換到HDL

      采用C到HDL的轉(zhuǎn)換工具將C代碼轉(zhuǎn)換到HDL加速器是一種創(chuàng)建硬件的高效方法。圖2所示以及下面詳述的步驟總結(jié)了C到HDL轉(zhuǎn)換的過程:

      圖2:C-HDL設(shè)計流程

      圖2:C-HDL設(shè)計流程

      1. 使用標(biāo)準(zhǔn)C工具實(shí)現(xiàn)應(yīng)用程序或。開發(fā)一種軟件測試向量(test bench)用于基線性能和正確性(主機(jī)或臺式電腦仿真)測試。使用一種編譯器(例如gprof)來開始確定關(guān)鍵的函數(shù)。

      2. 確定是否浮點(diǎn)到定點(diǎn)轉(zhuǎn)換適當(dāng)。使用庫或宏來輔助這種轉(zhuǎn)換,使用一個基線測試向量來分析性能和準(zhǔn)確性。使用編譯器來重新評估關(guān)鍵函數(shù)。

      3. 使用C到HDL轉(zhuǎn)換工具(如Impulse C),在每個關(guān)鍵功能上重復(fù),以實(shí)現(xiàn):將分割成并行的進(jìn)程;創(chuàng)建硬件/軟件進(jìn)程接口(流、共享存儲器、信號);對關(guān)鍵的代碼段(例如內(nèi)部代碼循環(huán))進(jìn)行自動優(yōu)化和并行化;使用桌面電腦仿真、周期準(zhǔn)確的C仿真以及實(shí)際的在系統(tǒng)測試對得到的并行進(jìn)行測試和驗(yàn)證。

      4. 使用C到HDL轉(zhuǎn)換工具將關(guān)鍵的代碼段轉(zhuǎn)換到HDL。

      5. 將連接到APU接口用于最終的測試。

      Impulse:C到HDL轉(zhuǎn)換工具

      如圖3所示的Impulse C通過結(jié)合使用C兼容庫函數(shù)與Impulse CoDeveloper C代碼到硬件的編譯器,使嵌入式系統(tǒng)設(shè)計工程師能創(chuàng)建高度并行的、加速的應(yīng)用。Impulse C通過使用定義完好的數(shù)據(jù)通信、消息傳遞和同步處理機(jī)制,簡化了硬件/軟件混合應(yīng)用設(shè)計。Impulse C提供了C代碼(例如循環(huán)流水線處理、展開和運(yùn)算符調(diào)度)的自動優(yōu)化以及交互式工具,允許你對每個周期的硬件行為進(jìn)行分析。

      圖3. Impulse C

      Impulse C設(shè)計用于面向數(shù)據(jù)流的應(yīng)用,但是它也具有足夠的靈活性來支持其他的編程模型,包括使用共享存儲器。這一點(diǎn)很重要,因?yàn)榛?a class="contentlabel" href="http://www.biyoush.com/news/listbylabel/label/FPGA">FPGA不同的應(yīng)用具有不同的性能和數(shù)據(jù)要求。在一些應(yīng)用中,通過塊存儲器讀和寫在嵌入式處理器和之間轉(zhuǎn)移數(shù)據(jù)是有意義的;在其它的情況下,流傳數(shù)通信信道可能提供更高的性能??梢钥焖俳?、編譯和評估可選的算法的能力對于實(shí)現(xiàn)某個應(yīng)用最佳的結(jié)果來說,非常重要。

      到目前為止,Impulse C庫包含以新數(shù)據(jù)類型和預(yù)定義的函數(shù)調(diào)用形式的最少C語言擴(kuò)展。使用Impulse C函數(shù)調(diào)用,你可以定義多個并行程序段(調(diào)用進(jìn)程),并使用流、信號和其他機(jī)制描述它們的互連。Impulse C編譯器將這些C語言進(jìn)程轉(zhuǎn)換并優(yōu)化成:可以綜合到FPGA的較低級HDL,或可以通過廣泛存在的C交叉編譯器編譯到支持的微處理器上標(biāo)準(zhǔn)C(帶相關(guān)的庫調(diào)用)。

      完整的CoDeveloper開發(fā)環(huán)境包括與標(biāo)準(zhǔn)C編譯器和調(diào)試器(包括微軟公司的Visual Studio和GCC/GDB)兼容的臺式電腦仿真庫。使用這些庫,Impulse C程序設(shè)計工程師能編譯和執(zhí)行他們用于算法驗(yàn)證和調(diào)試目的的應(yīng)用程序。C程序設(shè)計工程師還能檢驗(yàn)并行進(jìn)程,分析數(shù)據(jù)移動,并利用CoDeveloper Application Monitor解決進(jìn)程到進(jìn)程的通信問題。

      在編譯時,Impulse C應(yīng)用的輸出是一組硬件和軟件源文件,用于輸入到FPGA綜合工具。這些文件包括:

      1. 用于描述編譯硬件進(jìn)程的自動產(chǎn)生的HDL文件;

      2. 用于描述連接硬件進(jìn)程到系統(tǒng)總線所需的流、信號和存儲器組件的自動產(chǎn)生的HDL文件;

      3. 自動產(chǎn)生的軟件組件(包括運(yùn)行時間庫)用于建立任何硬件/軟件流連接的軟件端;

      4. 附加文件,包括腳本文件,用于輸入產(chǎn)生的應(yīng)用程序到目標(biāo)FPGA布局布線環(huán)境。這種編譯進(jìn)程的結(jié)果是一個完整的應(yīng)用,包括需要的硬件/軟件接口,用于在基于FPGA的編程平臺上實(shí)現(xiàn)。



      關(guān)鍵詞: FPGA 協(xié)處理器 算法

      評論


      相關(guān)推薦

      技術(shù)專區(qū)

      關(guān)閉