摘 要: 乘法器在數(shù)字信號(hào)處理系統(tǒng)中承擔(dān)了很重要的作用,而乘法器消耗相當(dāng)大的功耗,因此有必要進(jìn)行乘法器的低功耗研究。介紹一種基于乘法累加(MAC)單元的FIR濾波器的設(shè)計(jì),其中乘法器利用基4華萊士樹(shù)乘法器,加法器利用超前進(jìn)位加法器,在優(yōu)化整合之后,得到低延時(shí)低功耗FIR濾波器。實(shí)驗(yàn)證明,該文設(shè)計(jì)的FIR濾波器具有很小的延時(shí)與很低的動(dòng)態(tài)功耗。
關(guān)鍵詞: 有限沖激響應(yīng)濾波器; MAC單元; 動(dòng)態(tài)功耗; 延時(shí)
中圖分類號(hào): TN713?34 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2016)16?0155?04
Abstract: The multiplier unit plays an important part in digital signal processing system, but it has considerable power consumption, so it is necessary to research the low?power consumption of the multiplier unit. A design of FIR filter based on multiplier and accumulator (MAC) is introduced. The multiplier uses the radix?4 Wallace tree multiplier, and the accumulator uses the carry lookahead adder (CLA). After the optimization and integration, a low?latency and low?power consumption FIR filter was obtained. The experimental results show that the designed FIR filter has very low latency and dynamic power consumption.
Keywords: FIR filter; MAC unit; dynamic power consumption; time delay
0 引 言
有限沖激響應(yīng)濾波器(FIR filter)被廣泛地應(yīng)用在信號(hào)處理和通信系統(tǒng)中,如信道均衡,降噪,雷達(dá),音頻處理,視頻處理,生物醫(yī)學(xué)信號(hào)處理和經(jīng)濟(jì)和金融數(shù)據(jù)的分析[1?2]。人們可以利用專用集成電路(ASICs),數(shù)據(jù)信號(hào)處理器(DSP)和現(xiàn)場(chǎng)可編程邏輯門(mén)陣列(FPGA)來(lái)實(shí)現(xiàn)FIR濾波器[3]。其中,專用集成電路是高性能應(yīng)用的傳統(tǒng)解決方法,它的處理速度很快,然而專用集成電路的設(shè)計(jì)成本高,以及上市時(shí)間慢,這些限制了它在某些領(lǐng)域中的應(yīng)用[3?4];DSP處理器雖然提供了較高的可編程性,但是順序執(zhí)行性質(zhì)的架構(gòu)對(duì)它們的吞吐量性能產(chǎn)生了不利的影響[3,5]。FPGA則在靈活性,設(shè)計(jì)成本,以及上市時(shí)間三者中得到很好的平衡,因此對(duì)于FPGA的應(yīng)用日益普及[3]。
乘法器是數(shù)字信號(hào)處理系統(tǒng)的基本單元,例如在FIR濾波器系統(tǒng)就用到大量的乘法器,因此乘法器在FIR濾波器系統(tǒng)中承擔(dān)了很重要的作用,然而乘法器消耗相當(dāng)大的功耗,占用比較大的面積,并造成較長(zhǎng)的延時(shí)[1]。因此,在低功耗FIR濾波器系統(tǒng)研究中,低功耗乘法器的研究與設(shè)計(jì)是很重要的一部分研究?jī)?nèi)容。本文的主要研究?jī)?nèi)容就是乘法器設(shè)計(jì)的優(yōu)化,產(chǎn)生低功耗乘法器的解決方案。本文介紹基于乘法器與累加器(MAC)的FIR濾波器設(shè)計(jì),其中,乘法器的結(jié)構(gòu)是基4編碼的華萊士樹(shù)結(jié)構(gòu),加法器的結(jié)構(gòu)是超前進(jìn)位結(jié)構(gòu)。在經(jīng)過(guò)集成優(yōu)化之后,能得到低延時(shí)低功耗的FIR濾波器。本文研究重點(diǎn)在于乘法器的體系架構(gòu)跟算法的設(shè)計(jì),主要目標(biāo)是在低延時(shí)低功耗這一方面。
1 三種FIR數(shù)字濾波器的算法實(shí)現(xiàn)回顧
第一種是基于二進(jìn)制補(bǔ)碼系統(tǒng)(TCS)的數(shù)字濾波器的實(shí)現(xiàn),這是實(shí)現(xiàn)FIR濾波器的基本算法。這種算法的優(yōu)點(diǎn)在于:對(duì)于有符號(hào)二進(jìn)制數(shù),它的減法與加法的計(jì)算方法是一樣的,最后只需要判斷符號(hào)位,就能知道最終結(jié)果是正數(shù)還是負(fù)數(shù)。然而,這種方法沒(méi)有進(jìn)一步減少加法器的數(shù)目,因此需要很多的邏輯單元(LE)資源才能實(shí)現(xiàn)該算法,最終造成功耗較大[6?7]。第二種是利用余數(shù)系統(tǒng)(RNS)算法實(shí)現(xiàn)數(shù)字濾波器,余數(shù)系統(tǒng)將較大的整數(shù)分解成一系列較小的整數(shù)。因此將較大較復(fù)雜的整數(shù)計(jì)算分成較小較簡(jiǎn)單的整數(shù)計(jì)算,并且能獨(dú)立地進(jìn)行并行運(yùn)算,不過(guò)這種算法的功耗仍然較高[8?9]。最后一種是基于MAC單元的FIR濾波器的設(shè)計(jì)實(shí)現(xiàn),MAC結(jié)構(gòu)的一大優(yōu)點(diǎn)就是功耗低,通過(guò)利用Booth編碼和華萊士樹(shù)結(jié)構(gòu),F(xiàn)IR濾波器系統(tǒng)能進(jìn)一步減少加法器的數(shù)目,以降低功耗[10?11]。
在本文中,主要強(qiáng)調(diào)的是功耗的降低,因此用到的算法是基于MAC單元的FIR 濾波器的設(shè)計(jì)。在此設(shè)計(jì)了基于Booth編碼的華萊士樹(shù)結(jié)構(gòu)乘法器和超前進(jìn)位加法器,在降低功耗的同時(shí)很好的控制了延時(shí)。最后對(duì)利用這幾種算法實(shí)現(xiàn)的FIR filter進(jìn)行功耗對(duì)比[12],可以發(fā)現(xiàn)該文設(shè)計(jì)的FIR filter在功耗方面具有比較大的優(yōu)勢(shì)。
2 FIR filter
傳統(tǒng)的N階有限沖激響應(yīng)濾波器(FIR filter)的實(shí)現(xiàn)方程如下:
[y[n]=k=0N-1hn?x(n-k)] (1)
式中:x為輸入信號(hào);h為濾波器系數(shù);y為輸出信號(hào);N為濾波器階數(shù),N=16;k表示16次的累加計(jì)算。
由式(1)可得如圖1所示的非對(duì)稱結(jié)構(gòu):
如果將濾波器系數(shù)設(shè)置成對(duì)稱相等,則可得對(duì)稱結(jié)構(gòu)的濾波器架構(gòu),如圖2所示。
FIR濾波器的兩大主要優(yōu)點(diǎn)是:穩(wěn)定和具有線性相位特性。FIR濾波器沒(méi)有反饋環(huán)節(jié),沒(méi)有反饋意味著任何的輸入誤差不會(huì)疊加在迭代累加中,每一次計(jì)算都出現(xiàn)相同的相對(duì)誤差,這樣就使得應(yīng)用變得簡(jiǎn)單。由于濾波器輸出是輸入信號(hào)的有限次乘法和有限次累加的結(jié)果,因此輸出不會(huì)比輸入最大值的[hi]倍還大,因此FIR濾波器是固有穩(wěn)定的;線性相位特性對(duì)于系統(tǒng)來(lái)說(shuō)非常重要,特別是在對(duì)圖像處理、視頻信號(hào)及數(shù)據(jù)信號(hào)的傳輸中都起到很重要的作用,如果將FIR濾波器的系數(shù)序列設(shè)置成對(duì)稱結(jié)構(gòu),F(xiàn)IR濾波器就具有線性相位特性。
3 MAC單元以及乘法器架構(gòu)
MAC單元即意味著乘法器和累加器的組合,其在數(shù)字信號(hào)處理應(yīng)用中起到很重要的作用:諸如轉(zhuǎn)換器、移除不想要的單元、產(chǎn)生內(nèi)積、以及一些非線性方程(離散余弦變換和離散小波變換)中都或多或少涉及到乘法累加的使用。在此介紹一種基于Booth編碼的Wallace樹(shù)乘法器和超前進(jìn)位加法器組成的MAC單元。MAC單元的基本結(jié)構(gòu)如圖3所示。
接下來(lái)重點(diǎn)介紹Booth編碼以及Wallace樹(shù)拓?fù)浣Y(jié)構(gòu):比較好的帶符號(hào)數(shù)乘法的方法是布斯(Booth)算法。它采用相加和相減的操作計(jì)算補(bǔ)碼數(shù)據(jù)的乘積?;? Booth算法對(duì)乘數(shù)從低位開(kāi)始判斷,根據(jù)三個(gè)數(shù)據(jù)位的情況決定進(jìn)行加法、減法還是僅僅移位操作。對(duì)于N位有符號(hào)數(shù),常規(guī)乘法器會(huì)產(chǎn)生N個(gè)部分積。而基4 Booth 編碼算法根據(jù)相鄰高位,本位和相鄰低位可將部分積減少到一半。通過(guò)研究實(shí)現(xiàn)算法,可保證基4 Booth算法在具有高速特性下還能同時(shí)具有低功耗。假設(shè)乘數(shù)為B,基4 Booth算法的原理為:
[B=-bn-12n-1+k=0n-2bk2k=k=02n-1b2k+b2k-1-2b2k+122k=k=02n-1Ek22k] (2)
式中,[Ek]為乘數(shù)被劃分后的值?;? Booth編碼需要的乘數(shù)是奇數(shù)位,如果是偶數(shù)位,則需要在最后一位加一個(gè)0 。由式(2)可知,基4 Booth編碼可以減少一半部分積?;? Booth編碼的操作如表1所示。
華萊士在1964年提出采用樹(shù)形結(jié)構(gòu)減少多數(shù)累加次數(shù)的方法。華萊士樹(shù)充分利用全加器3?2壓縮的特性,隨時(shí)將可利用的所有輸入和中間結(jié)果及時(shí)并行計(jì)算,大大節(jié)省了計(jì)算延時(shí)。圖4為8×8 華萊士樹(shù)型結(jié)構(gòu)經(jīng)過(guò)化簡(jiǎn)最后得到的結(jié)果,明顯可以看出部分積變少。其結(jié)構(gòu)的關(guān)鍵特性在于利用不規(guī)則的樹(shù)形結(jié)構(gòu)對(duì)所有的準(zhǔn)備好輸入數(shù)據(jù)的運(yùn)算及時(shí)并行處理。
利用基4 Booth 編碼的華萊士樹(shù)形乘法器,能有效地減少乘法器產(chǎn)生的部分積,并利用并行操作,提高乘法器的運(yùn)行速度,并能很好地降低乘法器的功耗。
4 加法器架構(gòu)及其性能
本設(shè)計(jì)所采用的加法器是超前進(jìn)位加法器。超前進(jìn)位加法器是對(duì)普通的全加器進(jìn)行改良而設(shè)計(jì)成的并行加法器,主要是針對(duì)普通全加器串聯(lián)時(shí)互相進(jìn)位產(chǎn)生的延遲進(jìn)行了改良。超前進(jìn)位加法器是通過(guò)增加了一個(gè)不是十分復(fù)雜的邏輯電路來(lái)做到這點(diǎn)的。
設(shè)二進(jìn)制加法器第i位為Ai,Bi,輸出為Si,進(jìn)位輸入為Ci,進(jìn)位輸出為Ci+1則有:
[Si=Ai⊕Bi⊕Ci] (3)
[Ci+1=Ai*Bi+Ai*Ci+Bi*Ci=Ai*Bi+Ai+Bi*Ci] (4)
令[Gi=Ai*Bi,Pi=Ai+Bi]則:
[Ci+1=Gi+Pi*Ci] (5)
當(dāng)[Ai]和[Bi]都為1時(shí),[Gi=1,]產(chǎn)生進(jìn)位[Ci+1=1];當(dāng)[Ai]和[Bi]有一個(gè)為1時(shí),[Pi=1,]傳遞進(jìn)位[Ci+1=Ci;]因此[Gi]定義為進(jìn)位產(chǎn)生信號(hào),[Pi]定義為進(jìn)位傳遞信號(hào)。[Gi]的優(yōu)先級(jí)比[Pi]高,也就是說(shuō):當(dāng)[Gi=1]時(shí)(當(dāng)然此時(shí)也有[Pi=1]),無(wú)條件產(chǎn)生進(jìn)位,而不管[Ci]是多少。當(dāng)[Gi]=0而[Pi=1]時(shí),進(jìn)位輸出為[Ci],跟[Ci]之前的邏輯有關(guān)。產(chǎn)生的電路結(jié)構(gòu)如圖5所示。
5 實(shí)現(xiàn)和結(jié)果
利用Quartus Ⅱ軟件,芯片選擇為Cyclone IV的EP4CE6F17C8,使用Verilog HDL編程語(yǔ)言,將設(shè)計(jì)的FIR filter 進(jìn)行編程,再經(jīng)過(guò)綜合和仿真得到仿真結(jié)果,并利用QuartusⅡ的Powerplay Power Analyzer Tool工具,得到設(shè)計(jì)的FIR filter總的動(dòng)態(tài)功耗。仿真結(jié)果如圖6所示。
得到的卷積結(jié)果正確。將該文所設(shè)計(jì)FIR filter,與現(xiàn)有FIR filter進(jìn)行功耗對(duì)比[2,12],它們均為16階系統(tǒng),如表2所示。
加入標(biāo)準(zhǔn)延時(shí)文件進(jìn)行后仿真如圖7所示,得到的布線延時(shí)為8.3 ns,系統(tǒng)延時(shí)為2.88 μs,延時(shí)很小。
6 結(jié) 論
低功耗是數(shù)字信號(hào)處理系統(tǒng)應(yīng)用里面一個(gè)非常重要的指標(biāo)。本文所設(shè)計(jì)的FIR 濾波器采用低功耗的乘法器和加法器,因此得到功耗很低的FIR filter。與基于TCS與RNS算法的FIR 濾波器相比,功耗較低,處于中上水準(zhǔn),并且本文在追求低功耗的同時(shí)也追求低延時(shí),因此在設(shè)計(jì)結(jié)構(gòu)和乘法器加法器上做了很多的改進(jìn),在保證低功耗的前提下更好地降低了延時(shí),在功耗與延時(shí)方面得到比較好的一個(gè)權(quán)衡。該設(shè)計(jì)還只是針對(duì)低位數(shù)低階數(shù)的濾波器,將來(lái)希望能將這個(gè)低功耗濾波器做到高階數(shù),在高階數(shù)的情況下將濾波器的功耗和延時(shí)做到更好的平衡。
參考文獻(xiàn)
[1] MAMATHA B, RAMACHANDRAM V V S V S. Design and implementation of 120 order FIR filter based on FPGA [J]. International journal of engineering sciences emerging technologies, 2012, 3(1): 90?97.
[2] 李玉學(xué),白忠臣,秦水介.基于Verilog HDL的FIR數(shù)字濾波器的優(yōu)化設(shè)計(jì)與仿真[J].現(xiàn)代電子技術(shù),2014,37(7):154?156.
[3] LO H J, YOO H, ANDERSON D V. A reusable distributed arithmetic architecture for FIR Filtering [C]// Proceedings of 2008 51st IEEE Midwest Symposium on Circuits and Systems. Knoxville: IEEE, 2008: 233?236.
[4] ZHU W P, AHMAD M O, SWAMY N S. ASIC implementation architecture for pulse shaping FIR filters in 3G mobile communications [C]// Proceedings of 2002 IEEE International Symposium on Circuits and Systems. [S.l.]: IEEE, 2002: 433?436.
[5] GUO Gaizhi, ZHANG Pengju, YU Zongzuo, et al. Design and implementation of FIR digital wave filter based on DSP [C]// Proceedings of 2010 IEEE International Conference on Future Computer Communication. [S.l.]: IEEE, 2010: 489?491.
[6] SAKELLARIOU P, PALIOURAS V. Low?power two’s?complement multiplication based on selective activation [C]// Proceedings of 2012 IEEE International Conference on Electronics. Seville: IEEE, 2012: 452?455.
[7] LING B W, TAM K S, Yu X H. Step response of a second?order digital filter with two’s complement arithmetic [J]. IEEE transactions on circuits and systems I fundamental theory and applications, 2003, 50(4): 510?522.
[8] KOURETAS I, PALIOURAS V. Delay?variation?tolerant FIR filter architectures based on the residue number system [C]// Proceedings of 2013 IEEE International Symposium on Circuits and Systems. Beijing, China: IEEE, 2013: 2223?2226.
[9] CHANG C, MOLAHOSSEINI A, ZARANDI A, et al. Residue number systems: a new paradigm to datapath optimization for low?power and high?performance digital signal processing applications [J]. IEEE circuits and systems magazine, 2015, 15(4): 26?44.
[10] RAVI J, RAMA RAO K, TIRUMALA N. Design of efficient FIR filter MAC unit using parallel prefix adder [J]. International journal of advanced research in computer and communication engineering, 2014, 3(9): 7959?7963.
[11] JHANSI N, JASWANTH B R B. Design and analysis of high performance FIR filter using MAC unit [J]. International journal of advanced research in computer and communication engineering, 2014, 3(11): 8626?8629.
[12] CARDARILLI G C, DEL RE A, NANNARELLI A, et al. Power characterization of digital filters implemented on FPGA [C]// Proceedings of 2002 IEEE International Symposium on Circuits and Systems. [S.l.]: IEEE, 2002: 801?804.