一種基于FPGA并行流水線的FIR濾波器設計方案
3 模塊設計
設計的FIR濾波器由10個小VHD文件和一個總體BDF文件組成,VHD文件可以分為以下三種模塊:寄存器、加法器、乘法器。
3.1 寄存器設計
寄存器用于寄存一組二值代碼,對寄存器的觸發器只要求它們具有置1、置0的功能即可,因而本設計中用D觸發器組成寄存器,實現寄存功能。
在CP正跳沿前接受輸入信號,正跳沿時觸發翻轉,正跳沿后輸入即被封鎖。
寄存器的波形仿真
3.2 加法器
在將兩個多位二進制數相加時,除了最低位以外,每一位都應該考慮來自低位的進位,即將兩個對應位的加數和來自低位的進位3個數相加。這種運算稱為全加,所用的電路稱為全加器。
實現兩個二進制數字的相加運算。當到達時鐘上升沿時,將兩數輸入,運算,輸出結果。
加法器的波形仿真
3.3 乘法器
從資源和速度考慮,常系數乘法運算可用移位相加來實現。將常系數分解成幾個2的冪的和形式。下例為乘4c電路設計。實現輸入帶符號數據與固定數據兩個二進制數的乘法運算。當到達時鐘上升沿時,將兩數輸入,運算,輸出結果。
乘法器的波形仿真
4 FIR濾波器整體電路
FIR濾波器的整體電路基本與其原理圖類似。整體電路如下圖所示:
5 FIR濾波器整體電路仿真結果
當輸入為信號為[99,0,0,0,99,0,0,0,99,O,0,0,99。…]濾波器的實際仿真波形見下圖:
因為該濾波器為九階,信號通過各級觸發器,加發器乘法器的總延遲為13個時鐘周期,故在仿真中前13個時鐘周期沒有信號輸出。通過matl ab對濾波器進行仿真得出的理論輸出序列為:[33,28,34,50,33,28,34,50,33,28,34,50,33,28,34,50…….]與實際仿真波形比較,波形基本一致,但是因為該濾波器只有九階,所以與理論值有一定誤差。
評論