






摘 要: 乘法器在數字信號處理系統中承擔了很重要的作用,而乘法器消耗相當大的功耗,因此有必要進行乘法器的低功耗研究。介紹一種基于乘法累加(MAC)單元的FIR濾波器的設計,其中乘法器利用基4華萊士樹乘法器,加法器利用超前進位加法器,在優化整合之后,得到低延時低功耗FIR濾波器。實驗證明,該文設計的FIR濾波器具有很小的延時與很低的動態功耗。
關鍵詞: 有限沖激響應濾波器; MAC單元; 動態功耗; 延時
中圖分類號: TN713?34 文獻標識碼: A 文章編號: 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 引 言
有限沖激響應濾波器(FIR filter)被廣泛地應用在信號處理和通信系統中,如信道均衡,降噪,雷達,音頻處理,視頻處理,生物醫學信號處理和經濟和金融數據的分析[1?2]。人們可以利用專用集成電路(ASICs),數據信號處理器(DSP)和現場可編程邏輯門陣列(FPGA)來實現FIR濾波器[3]。其中,專用集成電路是高性能應用的傳統解決方法,它的處理速度很快,然而專用集成電路的設計成本高,以及上市時間慢,這些限制了它在某些領域中的應用[3?4];DSP處理器雖然提供了較高的可編程性,但是順序執行性質的架構對它們的吞吐量性能產生了不利的影響[3,5]。FPGA則在靈活性,設計成本,以及上市時間三者中得到很好的平衡,因此對于FPGA的應用日益普及[3]。
乘法器是數字信號處理系統的基本單元,例如在FIR濾波器系統就用到大量的乘法器,因此乘法器在FIR濾波器系統中承擔了很重要的作用,然而乘法器消耗相當大的功耗,占用比較大的面積,并造成較長的延時[1]。因此,在低功耗FIR濾波器系統研究中,低功耗乘法器的研究與設計是很重要的一部分研究內容。本文的主要研究內容就是乘法器設計的優化,產生低功耗乘法器的解決方案。本文介紹基于乘法器與累加器(MAC)的FIR濾波器設計,其中,乘法器的結構是基4編碼的華萊士樹結構,加法器的結構是超前進位結構。在經過集成優化之后,能得到低延時低功耗的FIR濾波器。本文研究重點在于乘法器的體系架構跟算法的設計,主要目標是在低延時低功耗這一方面。
1 三種FIR數字濾波器的算法實現回顧
第一種是基于二進制補碼系統(TCS)的數字濾波器的實現,這是實現FIR濾波器的基本算法。這種算法的優點在于:對于有符號二進制數,它的減法與加法的計算方法是一樣的,最后只需要判斷符號位,就能知道最終結果是正數還是負數。然而,這種方法沒有進一步減少加法器的數目,因此需要很多的邏輯單元(LE)資源才能實現該算法,最終造成功耗較大[6?7]。第二種是利用余數系統(RNS)算法實現數字濾波器,余數系統將較大的整數分解成一系列較小的整數。因此將較大較復雜的整數計算分成較小較簡單的整數計算,并且能獨立地進行并行運算,不過這種算法的功耗仍然較高[8?9]。最后一種是基于MAC單元的FIR濾波器的設計實現,MAC結構的一大優點就是功耗低,通過利用Booth編碼和華萊士樹結構,FIR濾波器系統能進一步減少加法器的數目,以降低功耗[10?11]。
在本文中,主要強調的是功耗的降低,因此用到的算法是基于MAC單元的FIR 濾波器的設計。在此設計了基于Booth編碼的華萊士樹結構乘法器和超前進位加法器,在降低功耗的同時很好的控制了延時。最后對利用這幾種算法實現的FIR filter進行功耗對比[12],可以發現該文設計的FIR filter在功耗方面具有比較大的優勢。
2 FIR filter
傳統的N階有限沖激響應濾波器(FIR filter)的實現方程如下:
[y[n]=k=0N-1hn?x(n-k)] (1)
式中:x為輸入信號;h為濾波器系數;y為輸出信號;N為濾波器階數,N=16;k表示16次的累加計算。
由式(1)可得如圖1所示的非對稱結構:
如果將濾波器系數設置成對稱相等,則可得對稱結構的濾波器架構,如圖2所示。
FIR濾波器的兩大主要優點是:穩定和具有線性相位特性。FIR濾波器沒有反饋環節,沒有反饋意味著任何的輸入誤差不會疊加在迭代累加中,每一次計算都出現相同的相對誤差,這樣就使得應用變得簡單。由于濾波器輸出是輸入信號的有限次乘法和有限次累加的結果,因此輸出不會比輸入最大值的[hi]倍還大,因此FIR濾波器是固有穩定的;線性相位特性對于系統來說非常重要,特別是在對圖像處理、視頻信號及數據信號的傳輸中都起到很重要的作用,如果將FIR濾波器的系數序列設置成對稱結構,FIR濾波器就具有線性相位特性。
3 MAC單元以及乘法器架構
MAC單元即意味著乘法器和累加器的組合,其在數字信號處理應用中起到很重要的作用:諸如轉換器、移除不想要的單元、產生內積、以及一些非線性方程(離散余弦變換和離散小波變換)中都或多或少涉及到乘法累加的使用。在此介紹一種基于Booth編碼的Wallace樹乘法器和超前進位加法器組成的MAC單元。MAC單元的基本結構如圖3所示。
接下來重點介紹Booth編碼以及Wallace樹拓撲結構:比較好的帶符號數乘法的方法是布斯(Booth)算法。它采用相加和相減的操作計算補碼數據的乘積。基4 Booth算法對乘數從低位開始判斷,根據三個數據位的情況決定進行加法、減法還是僅僅移位操作。對于N位有符號數,常規乘法器會產生N個部分積。而基4 Booth 編碼算法根據相鄰高位,本位和相鄰低位可將部分積減少到一半。通過研究實現算法,可保證基4 Booth算法在具有高速特性下還能同時具有低功耗。假設乘數為B,基4 Booth算法的原理為:
[B=-bn-12n-1+k=0n-2bk2k=k=02n-1b2k+b2k-1-2b2k+122k=k=02n-1Ek22k] (2)
式中,[Ek]為乘數被劃分后的值?;? Booth編碼需要的乘數是奇數位,如果是偶數位,則需要在最后一位加一個0 。由式(2)可知,基4 Booth編碼可以減少一半部分積?;? Booth編碼的操作如表1所示。
華萊士在1964年提出采用樹形結構減少多數累加次數的方法。華萊士樹充分利用全加器3?2壓縮的特性,隨時將可利用的所有輸入和中間結果及時并行計算,大大節省了計算延時。圖4為8×8 華萊士樹型結構經過化簡最后得到的結果,明顯可以看出部分積變少。其結構的關鍵特性在于利用不規則的樹形結構對所有的準備好輸入數據的運算及時并行處理。
利用基4 Booth 編碼的華萊士樹形乘法器,能有效地減少乘法器產生的部分積,并利用并行操作,提高乘法器的運行速度,并能很好地降低乘法器的功耗。
4 加法器架構及其性能
本設計所采用的加法器是超前進位加法器。超前進位加法器是對普通的全加器進行改良而設計成的并行加法器,主要是針對普通全加器串聯時互相進位產生的延遲進行了改良。超前進位加法器是通過增加了一個不是十分復雜的邏輯電路來做到這點的。
設二進制加法器第i位為Ai,Bi,輸出為Si,進位輸入為Ci,進位輸出為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)
當[Ai]和[Bi]都為1時,[Gi=1,]產生進位[Ci+1=1];當[Ai]和[Bi]有一個為1時,[Pi=1,]傳遞進位[Ci+1=Ci;]因此[Gi]定義為進位產生信號,[Pi]定義為進位傳遞信號。[Gi]的優先級比[Pi]高,也就是說:當[Gi=1]時(當然此時也有[Pi=1]),無條件產生進位,而不管[Ci]是多少。當[Gi]=0而[Pi=1]時,進位輸出為[Ci],跟[Ci]之前的邏輯有關。產生的電路結構如圖5所示。
5 實現和結果
利用Quartus Ⅱ軟件,芯片選擇為Cyclone IV的EP4CE6F17C8,使用Verilog HDL編程語言,將設計的FIR filter 進行編程,再經過綜合和仿真得到仿真結果,并利用QuartusⅡ的Powerplay Power Analyzer Tool工具,得到設計的FIR filter總的動態功耗。仿真結果如圖6所示。
得到的卷積結果正確。將該文所設計FIR filter,與現有FIR filter進行功耗對比[2,12],它們均為16階系統,如表2所示。
加入標準延時文件進行后仿真如圖7所示,得到的布線延時為8.3 ns,系統延時為2.88 μs,延時很小。
6 結 論
低功耗是數字信號處理系統應用里面一個非常重要的指標。本文所設計的FIR 濾波器采用低功耗的乘法器和加法器,因此得到功耗很低的FIR filter。與基于TCS與RNS算法的FIR 濾波器相比,功耗較低,處于中上水準,并且本文在追求低功耗的同時也追求低延時,因此在設計結構和乘法器加法器上做了很多的改進,在保證低功耗的前提下更好地降低了延時,在功耗與延時方面得到比較好的一個權衡。該設計還只是針對低位數低階數的濾波器,將來希望能將這個低功耗濾波器做到高階數,在高階數的情況下將濾波器的功耗和延時做到更好的平衡。
參考文獻
[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] 李玉學,白忠臣,秦水介.基于Verilog HDL的FIR數字濾波器的優化設計與仿真[J].現代電子技術,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.