- UID
- 852722
|
数字滤波器通常分成有限脉冲响应(Finite Impulse Response,也就是FIR)和无限脉冲响应(Infinite Impulse Response,也就是IIR)两大类。FIR 滤波器相对于IIR滤波器而言,优点是相位线性和性能稳定,应用范围广,缺点是需要长的冲击响应(即高阶数)才能得到理想的结果,实现难度较大。因此在FPGA 上实现高性能FIR 滤波器是很具有挑战性的。下面我们用几种不同的方法来完成FIR滤波器设计,并进行比较。
FIR 滤波器的系数为{11,-69, -51, 61, 85, -72, -198, -37, 234,72,-631,-922,594,4185,8139,9871,8139,4185,594,-922,-631,72,234,-37,-198,-72,85,61,-51,-69,11}。两路输入,输入信号位宽为7,输出信号位宽为23。
设计输入为VHDL 语言,输入输出信号声明如下:
Entity Receive_low_pass_filter Is
Port (Chip_input_i : In Signed(6 Downto 0);
Chip_input_q : In Signed(6 Downto 0);
Clk : In Std_logic;
Reset : In Std_logic;
Data_i_channel_output : Out Signed(22 Downto 0);
Data_q_channel_output : Out Signed(22 Downto 0) );
End Receive_low_pass_filter;
第一种方法:使用Altera 公司的QuartusII3.0 单独完成整个设计过程,
在Quartus 中新建一个项目(Project),然后将VHDL 文件添加进去,我们选
择APEX 系列20K1000EBC652 芯片,执行Start Compilation,得到时序分析报
告,发现最大频率为72.19MHz。
第二种方法:使用Precision RTL 综合在不使用任何约束条件下对VHDL 文件
进行综合,如图2 所示。
图 2 Precision RTL 综合界面
用综合得到的网表文件(EDIF 文件)代替Quartus 项目中的VHDL 文件,执
行Start Compilation,得到时序分析报告,发现最大频率为95.2MHz。
B 时序仿真
图4 仿真结果
以上实例充分验证了Precision RTL 综合在FPGA 设计中的重要作用,它对我们设计水平的提高有很大帮助。 |
|