基于FPGA協(xié)處理器的算法加速的實(shí)現(xiàn)
設(shè)計(jì)實(shí)例
圖4所示的Mandelbrot圖是一種經(jīng)典的不規(guī)則幾何圖形,該圖形廣泛用在科學(xué)和工程學(xué)界用于仿真無(wú)序事件,例如天氣。不規(guī)則圖形也用于產(chǎn)生紋理和在視頻顯示應(yīng)用上成像。Mandelbrot圖像描述為自相似性。放大圖形的局部,可以獲得類(lèi)似于整個(gè)圖形的另外一個(gè)圖形。
圖4:Mandelbrot圖
Mandelbrot圖形是硬件/軟件協(xié)同設(shè)計(jì)的理想選擇,因?yàn)樗哂袉蝹€(gè)運(yùn)算密集的函數(shù)。通過(guò)將關(guān)鍵的函數(shù)轉(zhuǎn)移到硬件實(shí)現(xiàn)將大大地增加整個(gè)系統(tǒng)的速度,使這個(gè)關(guān)鍵函數(shù)更快。Mandelbrot應(yīng)用還能清楚地區(qū)分硬件和軟件進(jìn)程,使用C-HDL工具很容易實(shí)現(xiàn)。
本文使用CoDeveloper工具組作為C-HDL工具組用于該設(shè)計(jì)實(shí)例,而且只修改了軟件Mandelbrot C程序以使其與C-HDL工具兼容。其中的改變包括:將軟件項(xiàng)目分割成不同的進(jìn)程(順序執(zhí)行的獨(dú)立單元);函數(shù)接口轉(zhuǎn)換(硬件到軟件)到流;增加編譯器指令來(lái)對(duì)產(chǎn)生的硬件進(jìn)行優(yōu)化。我們隨后使用CoDeveloper工具組來(lái)創(chuàng)建Pcore協(xié)處理器,將該協(xié)處理器輸入到Xilinx Platform Studio(XPS)。利用XPS,我們將PC連接到PowerPC APU控制器接口,并測(cè)試系統(tǒng)。
Xilinx公司的應(yīng)用說(shuō)明資料XAPP901中提供了該設(shè)計(jì)的全面描述和設(shè)計(jì)文件,并提供下載。同時(shí),用戶指南UG096提供一種實(shí)現(xiàn)設(shè)計(jì)實(shí)例的逐步設(shè)計(jì)指導(dǎo)。
我們對(duì)Mandelbrot圖像紋理問(wèn)題、圖像濾波應(yīng)用和三倍DES加密的性能改善進(jìn)行了測(cè)量。性能改善顯示了從11倍到34倍的加速。
評(píng)論