3.2 FIR滤波器的FPGA实现与仿真
在Xilinx 10.1 ISE平台中,选用Virtex-5系列的XC5VSXT50T器件,用Verilog HDL语言设计串行结构、并行结构的、以及DA结构,并在ModelSim中对3种结构实现进行仿真。设计中输入数据的位宽设为16位,而输入数据在运算处理前位宽扩展到17位。所用仿真激励为单位阶跃响应,时钟周期为Tck=10 ns。ModelSim中的仿真结果如图4所示。
图4中依次为改进的串行实现,并行实现和DA实现的仿真结果,其滤波周期分别为180 ns,10 ns和180 ns。上述设计的改进串行结构、并行结构和DA结构分别在XC5VSX50T中实现后,所消耗的FPGA内部各种资源如表1所示。
从表l可以看出,并行实现消耗的资源最多,其次是DA实现,最小是串行实现。而从滤波速度上来看,并行滤波速度最快,1个时钟周期便可滤波1次;而串行实现速度慢,其滤波周期取决于滤波器的阶数,对17阶的对称滤波器而言,滤波一次占9个时钟周期,滤波输出占1个时钟周期;相对串行实现和并行实现,DA实现的滤波周期取决于处理的数据宽度,上述设计中DA实现的滤波处理数据位宽是17位,所以滤波一次占17个时钟周期,滤波输出占用1个时钟周期。
4 结束语
在实际应用中,当滤波器设计对滤波速度要求不高时,可采用串行结构或改进串行结构来实现,这样可以选取资源较少的器件,降低设计成本;当对滤波速度有较高要求时,可以考虑采用并行或DA来实现。并行实现滤波周期为时钟周期,速度快,但消耗的资源多,成本高;DA实现速度较快,消耗的资源较少,成本耗费较低。在数字多普勒接收机的实现过程中,根据接收机的性能要求以及所选用的FPGA器件资源,选取最优的FlR滤波器实现结构。随着FPGA查找技术的发展,具有较快的滤波速度和消耗较少资源的DA算法在FIR数字滤波领域得到了广泛应用。