国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于SOPC的Filterbank快速算法硬件加速器設(shè)計

2016-04-18 08:38:00裴明敬符茂勝
宿州學院學報 2016年1期
關(guān)鍵詞:浮點加速器解碼

裴明敬,符茂勝,楊 洋

皖西學院信息工程學院,安徽六安,237012

?

基于SOPC的Filterbank快速算法硬件加速器設(shè)計

裴明敬,符茂勝,楊洋

皖西學院信息工程學院,安徽六安,237012

摘要:針對MP3解碼中Filterbank算法計算量大、耗時長的缺點,從以下兩個方面進行了研究:一方面對算法進行改進,使用Filterbank快速算法;另一方面采用硬件實現(xiàn)Filterbank快速算法,其中,內(nèi)部采用并行運算和流水線式設(shè)計。實驗測試表明,采用硬件加速器來實現(xiàn)Filterbank快速算法,和傳統(tǒng)的用純軟件設(shè)計相比,不僅提高了系統(tǒng)的運算能力,而且大大提高了整個系統(tǒng)的解碼速度,使得實時性效果更好。實驗結(jié)果顯示硬件加速器的速度是軟件實現(xiàn)速度的4.21倍。

關(guān)鍵詞:Filterbank快速算法;硬件加速器;SOPC

為了提高解碼速度,可把MP3解碼算法當中最復(fù)雜且運算量最大的部分用硬件來實現(xiàn),本文考慮使用SOPC嵌入式系統(tǒng)來實現(xiàn)整個解碼過程。SOPC技術(shù)具有軟硬件系統(tǒng)協(xié)同設(shè)計、并行設(shè)計和動態(tài)可重構(gòu)性等優(yōu)點[1]。

硬件加速是指利用硬件模塊代替軟件算法的實現(xiàn)過程。從軟件角度看,硬件加速的接口如同軟件中函數(shù)的輸入與輸出,整個硬件模塊相當于函數(shù)體,不同點是這個函數(shù)固化在硬件中。對于SOPC技術(shù)開發(fā)[2],可以充分利用軟硬件協(xié)同設(shè)計的優(yōu)勢。對于硬件部分,通過硬件描述語言在Quartus Ⅱ軟件上實現(xiàn);對于軟件部分,可以運用C語言在NIOSII軟件上實現(xiàn)。軟硬件通過SOPC Builder關(guān)聯(lián),其中,用C語言實現(xiàn)比較耗時的部分,可以通過硬件加速實現(xiàn),然后將硬件加速模塊掛載到Avalon 總線上,完成硬件加速。

對MP3解碼中Filterbank算法改進不是很多,常用的就是對其中使用到的IMDCT算法進行改進,如文獻[3]基于DCT/DST的算法,雖然算法復(fù)雜度有些降低,但是乘法次數(shù)還是比較多。本文采用文獻[4]的方案,算法里的加法和乘法次數(shù)明顯降低,而且適合用硬件實現(xiàn)。

1Filterbank算法

在MP3解碼中,F(xiàn)ilterbank算法如下[7]。

第一步:32個子帶樣本輸入值進行IMDCT變換,輸出64個值,如(1)式所示:

i=0,1,…,63

(1)

第二步:把64個值放入到一個容量為1024點FIFO的存儲器中。

第三步:把存儲器中1024個值抽取一半,組成一個向量。

第四步:對第三步得到的向量進行加窗,得到一個W矢量。

第五步:對W矢量每隔32個值抽取一個值,并乘以相應(yīng)的系數(shù),得到32個時域輸出,這就是PCM數(shù)據(jù),這個步驟用到的公式如(2)式所示:

j=0,1,…,31

(2)

在文獻[4]中,根據(jù)SIMDCT矩陣的正弦系數(shù)在水平和垂直兩個方向上均有對稱性,v(i)可以由(3)到(6)式得到:

+(-1)·s(31-k)]17≤i≤48

(3)

其他輸出結(jié)果可以從(3)式得出:

v(i)=-v(32-i),0≤i≤15

(4)

v(i)=0,i=16

(5)

v(i)=-v(i-16),49≤i≤63

(6)

本文使用的算法就是把第一步公式用文獻[4]的方案來代替,其他步驟不變,新的算法不僅降低了計算復(fù)雜度,而且還適合用硬件來實現(xiàn)。

2硬件加速器設(shè)計

本文硬件加速器結(jié)構(gòu)如圖1所示,它包括ROM1模塊、ROM2模塊、S_TO_V模塊、V_TO_U模塊、U_TO_PCM模塊、FIFO模塊和接口控制器7個部分。下面詳細說明各個模塊功能和設(shè)計思路。

圖1 硬件加速器結(jié)構(gòu)圖

圖2 S_TO_V模塊結(jié)構(gòu)

(1)ROM1模塊:內(nèi)部存放的主要是公式(3)中的余弦定點系數(shù)。此ROM模塊中有512個數(shù),由于本系統(tǒng)全部采用32位浮點計算,所以將小數(shù)轉(zhuǎn)換成單精度浮點標準的數(shù)存放在ROM1 模塊每個地址單元中,這樣使用時就可直接進行調(diào)用。

(2)S_TO_V模塊:此模塊結(jié)構(gòu)圖如圖2所示。主要功能是用于計算公式(3)~(6),由于考慮到硬件資源的消耗,設(shè)計時使用最少的硬件資源,所以設(shè)計成流水線結(jié)構(gòu)。每次讀取兩個數(shù)據(jù),16個時鐘周期就能把32個數(shù)據(jù)讀取完畢。這里余弦系數(shù)是從ROM1單元讀取。Acc為累加器,可由Quartus Ⅱ軟件直接定制,sel是控制信號,當sel等于1時,說明已經(jīng)累加16次,否則sel等于0。累加的結(jié)果送到ram單元進行存儲,也就是v1,最后,根據(jù)式(4)和式(6)同時計算v2和v3。整個S_TO_V模塊設(shè)計采用流水線結(jié)構(gòu),為了能更好地控制數(shù)據(jù),這里所用的浮點乘法器和浮點減法器都采用10級流水線結(jié)構(gòu)。

(3)V_TO_U模塊:此模塊實質(zhì)就是RAM存儲器,主要完成算法中的第二步和第三步,這樣數(shù)據(jù)可以直接根據(jù)地址存取和調(diào)用。

(4)ROM2模塊:在算法的第四步和第五步中,有一個共同點就是乘以一個系數(shù),所以為節(jié)約ROM和乘法器的數(shù)量,把第四步中窗系數(shù)和第五步中D系數(shù)進行相乘得到,并存儲在ROM2單元中。

(5)U_TO_PCM模塊:此模塊結(jié)構(gòu)如圖3所示。圖3中,U(0)至U(15)總共16個數(shù),這16個數(shù)在512個數(shù)中每隔32個數(shù)進行抽取。Coeff_0至Coeff_15這16個數(shù)可以直接從ROM2單元中調(diào)用。本模塊采用流水線式設(shè)計,每次在RAM單元中讀取16個數(shù),這樣32個時鐘周期就可以讀完。這里采用浮點乘法器和浮點加法器和S_TO_V模塊一樣,都是采用10級流水線結(jié)構(gòu)。

圖3 U_TO_PCM模塊結(jié)構(gòu)圖

(6)FIFO模塊:存放U_TO_PCM模塊計算的結(jié)果。當有數(shù)據(jù)時,可以由SOPC系統(tǒng)發(fā)出指令調(diào)用。

(7)接口控制器模塊:主要功能是協(xié)調(diào)各個模塊工作,使整個系統(tǒng)有條不紊地進行數(shù)據(jù)讀取和運算。

整個硬件加速器內(nèi)部數(shù)據(jù)采用的都是浮點運算,目的是為了保證數(shù)據(jù)的精確性,同時為了程序設(shè)計的方便,所用的浮點加減法器、浮點乘法器、ROM和FIFO等都是系統(tǒng)自帶的IP核。另外,本文硬件加速器的時鐘頻率是100 MHz的標準時鐘。

3實驗結(jié)果與分析

實驗中,為了測試加速器的性能,使用Quartus Ⅱ和Nios Ⅱ IDE軟件[8]。在Quartus Ⅱ軟件中,使用Verilog hdl語言來描述硬件加速器,并用SOPC Builer工具搭建一個MP3解碼系統(tǒng)[9],通過一系列向?qū)?,將Filterbank快速算法的硬件加速器模塊作為自定義的IP核加載到定制系統(tǒng)中,這樣就可以和Avalon總線進行連接,當系統(tǒng)生成后,會生成相應(yīng)的接口函數(shù)供軟件調(diào)用。在Nios Ⅱ IDE軟件中,使用C語言來調(diào)用各種接口函數(shù)來實現(xiàn)整個系統(tǒng)的解碼。

中圖分類號:TP332.2

文獻標識碼:A

文章編號:1673-2006(2016)01-0106-03

作者簡介:裴明敬(1988-),安徽六安人,碩士,助教,主要研究方向:圖像處理、語音處理和SOPC技術(shù)。

基金項目:安徽省教育廳自然科學研究重大項目“面向人群場景的視頻軌跡語義模型研究及應(yīng)用”(KJ2015ZD44);安徽省科技廳自然科學基金面上項目“基于流形學習的視頻軌跡分析及語義建?!?1308085MF97);皖西學院校級自然科學基金青年項目“基于稀疏表示的圖像處理快速算法研究”(WXZR1505)。

收稿日期:2015-08-05

doi:(責任編輯:汪材印)10.3969/j.issn.1673-2006.2016.01.029

猜你喜歡
浮點加速器解碼
輪滑加速器
化學工業(yè)的“加速器”
《解碼萬噸站》
LEO星座增強GNSS PPP模糊度浮點解與固定解性能評估
全民小康路上的“加速器”
少先隊活動(2021年6期)2021-07-22 08:44:24
解碼eUCP2.0
中國外匯(2019年19期)2019-11-26 00:57:32
基于浮點DSP的鐵路FSK信號檢測
NAD C368解碼/放大器一體機
Quad(國都)Vena解碼/放大器一體機
等待“加速器”
青阳县| 定远县| 邢台县| 如东县| 竹溪县| 天峻县| 呼和浩特市| 句容市| 奇台县| 永春县| 施秉县| 清新县| 新沂市| 察哈| 石城县| 东山县| 额尔古纳市| 石门县| 两当县| 高台县| 乌恰县| 北辰区| 岐山县| 宁明县| 儋州市| 出国| 诸城市| 文安县| 盐池县| 明水县| 泾阳县| 商都县| 贺州市| 张北县| 肥城市| 余干县| 南木林县| 广丰县| 万安县| 天镇县| 吴旗县|