優(yōu)化FIR數字濾波器的FPGA實現
2.2 乘法器設計
乘法器是數字信號處理電路中最常用的單元,20年前就已經研究的非常成熟。高性能乘法器是實現高性能的FIR運算的關鍵,乘法器的運算過程可以分解為部分積的產生和部分積的相加2個步驟。部分積的產生非常簡單,實現速度較快;而部分積相加的過程是多個二進制數的相加,實現速度通常較慢。解決乘法器速度問題,需要減小部分積的個數、提高部分積相加運算的速度。在乘法器設計上這里著重研究能夠減少部分積的Booth算法。
Booth算法乘法器可以減少乘法運算部分積個數,提高乘法運算的速度。本文討論Radix-2的Booth算法,其基本算法思想是,一次看乘數的兩個位,依照當前與前一位的不同,執(zhí)行不同的操作??偨Y出Radix-2 Booth算法的編碼規(guī)則如表1所示。本文引用地址:http://www.biyoush.com/article/191217.htm
2.3 累加器設計
對于乘累加運算的加法,傳統的算法將使多個乘法器的結果逐一累加,效率低、運算時延大。本文提出了一種結合了CSA算法加法器和樹型結構的新型加法器結構,對乘法器的結果一次性相加。
圖2為6個數相加的實例。如果不用其他加法器的話,6個數據的相加將耗去5個加法器,其關鍵路徑總共經過三級的加法電路延遲,有必要對電路的面積和延遲進行改進。因此在多個數據相加的情況下,CSA(Carry Save Adder)加法器是很好的選擇。
CSA加法器仍然保留原有的全加器架構,一個n-bit的CSA器件如圖3所示。
評論