微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > FPGA和CPLD > 快速实现基于FPGA的脉动FIR滤波器

快速实现基于FPGA的脉动FIR滤波器

时间:08-04 来源:互联网 点击:
3.2 加法优化设计
  
设计一个64阶的滤波器,需要使用16个PE,即需要对16个乘加结果进行加操作,如果采用图1所示的加法运算,如图4(a)所示,计算一次y值需要15个时钟周期才能完成,而且在15个周期内各个加法输入不能变化,若设计中PE能达到300 MHz的工作频牢,加法也只能工作在20 MHz,必然阻碍设计的高速实现,成为制约系统性能的瓶颈。
  
采用流水线的加法运算是解决这个瓶颈的最好方法。如图4(b)所示。clk1~clk5与PE计算时钟同步,无需延长加法计算时钟,第5级流水的加法器使能后就能实时得到y结果。通过LPM(参数化模块库),直接在代码中实例化LPM加法运算,就能快速生成全流水结构的加法模块。其中第1级16个加法描述如下:

 
END GENERATE;

4 FIR实现
  
上述的描述在QuartusⅡ开发工具中进行编译和布局布线,采用的目标器件为EP2S601024C4芯片,系统内部最高运算时钟为356.13 MHz。
  
设计的其他性能参数如下:总逻辑单元1 037个;总寄存器单元1 070个;总存储器容量2 048B;使用的9位DSP模块128个;最差输入引脚到寄存器延时1.750 ns;最差寄存器到输出引脚延时2.615 ns。
  
本设计经过MATLAB与Modelsim联合功能仿真,MATLAB与Quartus联合时序仿真,两种仿真结果与FPGA处理后的数据一致。

5 结束语
  
本文结合FPGA器件的结构和特点,利用DSP模块及其内部寄存器实现FIR脉动滤波器,不仅性能高,同时节约了LE资源和布线资源。通过MegaWizard宏模块编辑器,可以快速定制核心的处理单元实现脉动结构,对不同结构的滤波器只需修改定制处理单元参数和ROM中系数,就可以迅速设计出新的滤波器。采用全流水加法结构,使用最少的逻辑单元,达到最高的工作频率,完成对信号的实时、高速处理。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top