《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于異構多核可編程系統的大點FFT卷積設計與實現
基于異構多核可編程系統的大點FFT卷積設計與實現
2017年電子技術應用第3期
張多利,沈休壘,宋宇鯤,杜高明
合肥工業大學 微電子設計研究所,安徽 合肥230009
摘要: 如今FFT卷積廣泛應用于數字信號處理,并且過去幾年證實了異構多核可編程系統(HMPS)的發展。另外,HMPS已經成為DSP領域的主流趨勢。因此,研究基于HMPS大點FFT卷積的高效地實現顯得非常重要。基于重疊相加FFT卷積方法,設計一款針對輸入數據流的高效流水重疊相加濾波器。介紹了基于HMPS的大點FFT卷積實現,獲得了高精度的濾波效果。此外,采用流水技術的濾波器設計,提高系統處理速度、數據吞吐率和任務并行度。基于Xilinx XC7V2000T FPGA開發板上的實驗表明,參與運算的采樣點越大,系統的任務并行度、處理速度和數據吞吐率就會越高。當采樣點達到1M時,系統的平均任務平行度達到了5.33,消耗了2.745×106個系統時鐘周期數,并且絕對誤差精度達到10-4。
中圖分類號: TN402
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2017.03.003
中文引用格式: 張多利,沈休壘,宋宇鯤,等. 基于異構多核可編程系統的大點FFT卷積設計與實現[J].電子技術應用,2017,43(3):16-20.
英文引用格式: Zhang Duoli,Shen Xiulei,Song Yukun,et al. Design and implementation of large FFT convolution on heterogeneous multicore programmable system[J].Application of Electronic Technique,2017,43(3):16-20.
Design and implementation of large FFT convolution on heterogeneous multicore programmable system
Zhang Duoli,Shen Xiulei,Song Yukun,Du Gaoming
Institute of VLSI Design,Hefei University of Technology,Hefei 230009,China
Abstract: Nowadays FFT convolution is widely applied to digital signal processing(DSP), and the past few years have witnessed the development of the heterogeneous multicore programmable system(HMPS). In addition, HMPS has been the mainstream in the field of DSP. So it is very important to study the high efficient implementation of large FFT convolution on the HMPS. In this paper, a high efficient pipelined overlap-add filter based on the overlap-add FFT convolution method is designed for the input streaming data. This paper introduces the implementation of large FFT convolution on the HMPS and achieves the high accuracy of filter result. Furthermore, a pipeline technology is adopted for the filter design to improve processing speed, throughout and parallelism of tasks. The Xilinx XC7V2000T FPGA verification result shows that the larger sampling points are involved in computing, the higher task parallelism, processing speed and throughout will be obtained. When the sample points reach 1M, the system average task parallelism is 5.33 with 2.745×106 clock cycles and the precision of 10-4.
Key words : FFT convolution;overlap-add;algorithm mapping;task parallelism;heterogeneous multicore

0 引言

    在數字信號處理領域,長沖激響應的數據流卷積運算廣泛地應用在雷達接收匹配濾波器、數字通信、圖像處理和信號接收帶通濾波器等中。FFT卷積方法將線性卷積轉換到頻域,通過使用有效的FFT處理器,對于數據流處理是有效算法,具有很高數據處理速度,但數據吞吐率很低。為了使用FFT卷積方法處理數據流,FFT處理器必須多路復用,以保持處理速度和吞吐率同步。

    隨著半導體技術的高速發展,HMPS已經成為IC主流趨勢,并且在很多應用領域成為最具有發展前景的硬件處理技術[1,2]。因此,在處理零點填充數據流,大點FFT卷積運算中,HMPS成為這種數據密集型和計算密集型任務的最佳解決方法。為了獲得高吞吐率和處理速度,研究基于NoC[3]互聯的HMPS,充分利用其并行計算處理能力,具有良好的可拓展性和低功耗等。

    大點FFT卷積實現需要大量復雜計算,成為濾波器設計的瓶頸。本文首先介紹并總結大點FFT卷積運算原理以及推導方法;其次,展示HMPS系統架構和詳細的算法映射方案;最后,給出系統性能參數,包括結果誤差比較、系統任務并行度、硬件資源消耗和針對系統性能的改進目標和方向等[4,5]

1 重疊相加算法原理

    如圖1所示,重疊相加FFT卷積方法是將采樣序列劃分成具有L等長度的數據片段。假設抽頭系數h(n)長度為N,采樣序列x(n)為無限長,將x(n)序列等分成長為L的數據片段,如式(1)所示:

    yg3-gs1.gif

yg3-t1.gif

    那么,序列h(n)和x(n)的FFT卷積為濾波結果,定義如下:

yg3-gs2-3.gif

    由式(2)和式(3)推導可知,當計算大點FFT卷積時,首先,計算分段片段的線性卷積yk(n),然后將分段片段的卷積結果重疊部分相加,則為最終濾波結果y(n)。

    為了避免混疊效應,對于長度為M的濾波沖激響應,將各個分段序列后追加M-1個0,同時將時域卷積轉換成頻域相乘,在采樣序列為N的DFT中,其中N≥L+M-1,由式(4)可得頻域濾波結果:

    yg3-gs4.gif

其中H(k)為濾波器的頻域響應,X(k)和Y(k)分別代表采樣序列和濾波結果的頻域響應。在零點填充的沖激響應序列和分段序列轉換成頻域相乘之后,將各分段濾波結果求逆FFT運算,最后在時域中,將上一份段的后M-1點與下一分段的前M-1點重疊相加即為最終濾波結果。

2 基于NoC平臺的HMPS

    異構多核可編程系統HMPS主要應用在高密度計算中,該系統設計不僅能滿足某些特殊類型操作,而且還具有一定的通用性。

    如圖2所示,基于7×6 2D mesh網絡結構的HMPS系統架構具有22個資源節點,所有的操作數和狀態控制信息等通過該通信網絡進行傳遞。同時,該多核系統集成的資源節點類型主要有:Flash簇、主控制器簇(Main Controller Cluster)、以太網口簇(Ethernet Port Cluster)、三層網絡、4GB的DDR3簇以及3種浮點運算單元簇。該系統的32 bit浮點運算單元主要有協處理器簇(COP Cluster)、可重構運算單元簇(RCU Cluster)和FFT/IFFT簇,滿足IEEE-754單精度浮點標準。在NoC平臺下的每個資源節點分別具有轉發狀態請求包的狀態網絡、下發配置信息的配置網絡和數據傳輸的包電路交換網絡(PCC)。在任務運行時,所有的資源節點必須滿足片上網絡通信機制和主控制器任務調度管理來協同處理,發揮系統高性能優勢。

yg3-t2.gif

2.1 Flash簇

    系統進行上電復位之后,由Flash簇中固化的配置引導信息完成HMPS系統任務初始化工作。

2.2 主控制器簇

    通過向DDR請求配置信息,對參與任務的簇配置,轉發數據請求/應答信息,接收DDR發出的任務切換信息,進行任務切換, 完成系統任務調度。

2.3 以太網口簇

    實現上位機軟件與FPGA芯片之間的數據交換,下發系統任務運算的配置信息和原數據以及回傳運算結果數據,網口簇是HMPS調試的必要手段。

2.4 三層網絡

    由PCC網絡、配置網絡和狀態網絡組成7×6 2D mesh網絡結構,完成系統中的數據以及控制信息傳輸。數據傳輸網由PCC路由節點連接而成的PCC網絡,是數據傳輸的唯一路徑。配置網絡是下發配置信息和轉發數據請求的唯一路徑。狀態網絡是上傳數據請求/應答信息的唯一路徑。

2.5 DDR3簇

    DDR3控制器能夠同時處理資源節點的讀寫控制請求,并且將參與系統任務的相關配置信息、原始數據、中間立即數和結果數據等存儲在4 GB DDR3中。

2.6 FFT/IFFT簇

    32 bit浮點運算能力的FFT/IFFT簇能夠支持16K點FFT和逆FFT,具有兩個蝶形運算器的特殊架構設計能夠同時運算,因此,16K點FFT和逆FFT僅需要56.3K系統時鐘周期。

2.7 RCU簇

    32 bit浮點運算能力的RCU簇主要處理復數和實數的規整運算,主要包括復、實數間的批量乘法、加法和減法等[6]。該處理單元由兩個乘法器和兩個加法器構成,具有可重構特性,因此能夠處理大批量的數據運算。同時,能夠支持兩種數據運算模式:存儲模式和流模式。

2.8 COP簇

    滿足IEEE-754單精度浮點運算標準的COP簇主要通過軟件編程來控制無規律的浮點復、實數操作運算,主要包括復、實數間的加法、減法、乘法、除法、開方運算等[7]。基于SIMD架構的協處理器采用Micro blaze作為控制單元,通過FSL總線控制硬件浮點協處理器IP。參與系統任務的COP簇主要通過SDK軟件編程來控制數據接收、相關運算以及傳送結果到相應的處理單元中。

3 大點FFT卷積算法映射

    本文采用抽頭系數1K+1點的h(n)和采樣點數為16K點的x(n)為例來驗證零點填充和重疊相加方法,如圖3所示。

yg3-t3.gif

    通過零點填充和流水重疊相加方法,將16K采樣點劃分成16組1K等長的分段,為了避免混疊效應,將所有的分段片段和抽頭系數分別追加1K和1K-1點的零序列,轉換成具有2K統一長度,由系統資源節點來完成各個分段片段的FFT卷積運算。為了提高處理速度和充分利用HMPS高性能優勢,將所有的采樣點通過時域到頻域再到時域的轉換,使得系統所有運算簇能夠參與流水并行運算,提高系統任務并行度。

    如圖4(a)、圖4(b)和圖4(c)所示,16K采樣點FFT卷積算法映射成4個子任務(Task0、Task1、Task2和Task3)。在如下的數據流圖(DFG)中,系統的18個浮點運算單元參與任務執行。

yg3-t4.gif

    如圖4(a)所示,特殊任務Task0通過FFT0、FFT1和FFT2簇來計算抽頭系數的頻率響應,并存儲在COP0、COP1和COP2簇的片上存儲單元中。在接下來的任務中,分別發送給RCU0、RCU1和RCU2簇,與零點添加分段片段序列在頻域上做批量乘法運算。

    Task1主要計算前2K采樣點,得到前2K點濾波結果,COP3簇的片上存儲單元存儲來自COP5簇的中間1K濾波結果來進行接下來流水重疊相加運算。

    如圖4(b)所示,Task2采用了4次并行循環運算流水架構,所有的資源節點均參與任務執行,達到理論上最大值。FFT0、FFT1和FFT2簇分別計算每次流水各2K點的頻域響應,RCU0、RCU1和RCU2簇分別實現抽頭系數和各采樣點在頻域上的批量乘運算,FFT3、FFT4和FFT5簇通過逆FFT運算將頻域濾波結果轉換成時域,分別發送給COP3、COP4和COP5簇,最后通過RCU3、RCU4和RCU5簇實現前后兩個分段片段濾波結果的1K點重疊相加,得到最終濾波結果,并且存儲在DDR3簇中。

    在最后一個任務Task3中,主要實現最后2K采樣點濾波,將3K濾波結果寫入DDR3簇中去,如圖4(c)所示。至此,通過4個任務在HMPS中實現了16K點的FFT卷積運算。

    在以上的算法映射方案中,通過DDR3簇來存儲了參與任務執行的配置信息、原始采樣數據和濾波結果,節點FFT和RCU簇參與過程計算,利用COP0、COP1和COP2簇的片上存儲單元存儲濾波系數的頻域響應,利用COP3、COP4和COP5簇來接收和發送中間結果數據到相應的RCU3、RCU4和RCU5簇實現重疊相加。由DFG可以看出,參與任務執行的COP簇僅僅用來實現中間數據的接收和發送,并不參與實際任務運算,而所有的FFT和RCU簇參與整個任務的相關運算,因此,系統理論上最大的任務并行度為12。

    根據片上網絡的通信機制和HMPS中的高效浮點運算簇,該系統的大點FFT卷積映射方案比傳統的設計架構更加方便,靈活而且運算效率更高。

4 實驗結果和系統性能分析

    在Xilinx XC7V2000T FPGA開發板上,將系統時鐘頻率設置為100 MHz,進行測試驗證,并且通過網口簇和上位機軟件將結果數據傳回至本地PC。

    通過將MATLAB軟件的計算結果與HMPS處理結果進行誤差比較可知,由于大點FFT卷積的累加運算,相對誤差趨近于0,因此,給出系統的絕對誤差方法,如式(5)所示:

    yg3-gs5.gif

    表1給出了采樣點為64 K和1 M時,相應的系統時鐘消耗和系統平均任務并行度,其中,Aerr_imagmax和Aerr_realmax分別代表虛部和實部的絕對誤差最大值。平均任務并行度計算方法如下:

    yg3-gs6.gif

式中,clusters表示并行度,Tclusters表示在并行度clusters下的時鐘消耗,T表示整個任務的時鐘消耗。

yg3-b1.gif

    在以上的映射方案中,64K和1M采樣點僅需要改變Task2的循環次數,其他保持不變。零點填充和重疊相加的16K點 FFT卷積平均需要5次流水循環運算,而64K和1M采用點分別需要21次和341次流水循環運算。

    從表1實驗結果可以推導出,參與系統運算的采樣點越大,系統平均任務并行度就越高,而且最大絕對誤差接近10-4,相較于文獻[8]中的異構多核處理單元的10-3相對誤差,本系統具有更高的計算精度。與文獻[9]中的異構多核SoC相比(其ATP最大達到3.88),本設計能達到5.33,因而具有更高的處理速度和系統平均任務并行度,采樣點數越大,效果越明顯。

    HMPS在Xilinx XC7V2000T開發板上的硬件資源消耗如表2所示。

yg3-b2.gif

5 結論

    在很多應用領域,大點FFT卷積實現是一個需要突破的技術瓶頸,減少運算時間,提高運算效率和濾波結果正確性等具有重要意義。本文實現了基于HMPS的大點FFT卷積高效映射方案,對于2M、4M,甚至更大的采樣點都可以很容易地通過以上映射方法增加流水循環次數進行實現,而且不需要增加額外的硬件資源消耗。

    另外需要注意的是,系統性能和任務并行度的提高需要同一時刻所有運算簇參與任務計算。本文實現了抽頭系數為1K+1點,也可以采用其他合適長度的抽頭系數。作為通用目的處理器系統,HMPS主要運用在高密度計算領域,也可以實現其它復雜計算。

    通過實驗分析可知,系統性能有很大的提升空間,為了獲得更高的數據吞吐率、處理速度和任務并行度,可以通過改善片上網絡來減少通信時間和增加DDR的有效帶寬來提高數據吞吐量等,具有十分重要的意義。

參考文獻

[1] CHEN F Y,ZHANG D S,WANG Z Y.Research of the heterogeneous multi-core processor architecture design[J].Computer Engineering & Science,2011,33(12):27-36.

[2] REN J,HE Y,XUN C Q,et al.A hardware/software method for heterogeneous cores cooperating on stream architecture[J].Chinese Journal of Computers,2008,31(11):2038-2046.

[3] Hou Ning,Lu Yapeng,Zhang Duoli.Communication solution of multi-core chipset based on NoC[J].Computer Era,2014(10):17-18.

[4] LEI W,XIAO M,RUI X.Study on a parallel test system based on multicore[J].Journal of Xian Jiaotong University,2008,42(6):683-687.

[5] LI J,MARTINEZ J F.Power-performance considerations of parallel computing on chip multiprocessors[J].ACM Transactions on Architecture and Code Optimization(TACO),2005,2(4):397-422.

[6] Wang Xing,Zhang Duoli,Song Yukun,et al.Design and implementation of a reduced floating-point reconfigruable computing unit[C].International Conference on Computer,Network Security and Communication Engineering(CNSCE),2014.

[7] HAN Z F,LI J S,PAN H B,et al.Design of Floating-point vector coprocessor based on FPGA[J].Computer Engineering,2012,38(5):251-254.

[8] ZHANG D,ZHANG Y,SONG Y.The implementation of large FFT on homogeneous multi-core system[C].Solid-State and Integrated Circuit Technology(ICSICT),2014 12th IEEE International Conference on.IEEE,2014:1-4.

[9] SONG Y,JIAO R,ZHANG D,et al.Performance analysis for matrix-multiplication based on an heterogeneous multicore SoC[C].ASIC(ASICON),2015 IEEE 11th International Conference on.IEEE,2015:1-4.



作者信息:

張多利,沈休壘,宋宇鯤,杜高明

(合肥工業大學 微電子設計研究所,安徽 合肥230009)

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 亚洲欧美在线综合一区二区三区 | 美女131爽爽爽做爰中文视频 | 欧美大片一区 | 中文字幕乱码视频32 | 好吊色37pao在线观看 | 国产一区二区三区不卡免费观看 | 中国美女牲交一级毛片 | 一本色道久久综合亚洲精品 | 国产伦理自拍 | 亚洲国产精品国产自在在线 | 啪啪一级视频 | 大美女香蕉丽人视频网站 | 国产成人一区在线播放 | 99久久免费午夜国产精品 | 美女精品永久福利在线 | 亚洲国产韩国一区二区 | 日韩精品一区二区三区四区 | 99久久免费午夜国产精品 | 小屁孩和大人啪啪 | 在线高清一级欧美精品 | 狠狠色噜狠狠狠狠色综合久 | 国产精品久久久久久久久久直 | 欧美日韩亚洲国内综合网俺 | 又黄又骚 | 伊人婷婷色香五月综合缴激情 | 91日本在线观看亚洲精品 | 最新亚洲情黄在线网站无广告 | 六月丁香婷婷天天在线 | 亚洲欧美日韩精品高清 | 成人在线黄色 | 久久一本精品 | 国产精品麻豆一区二区三区v视界 | 欧美黄色免费网站 | 韩国本免费一级毛片免费 | 综合亚洲一区二区三区 | 一级看片| 欧美日韩一区二区三区免费不卡 | 免看一级一片一在线看 | 欧美一级情欲片在线 | 亚洲国产精品久久 | 爽爽爽爽爽爽爽成人免费观看 |