赞
踩
之前两篇文章讲解了如何使用Xilinx公司的FFT IP核如何使用,现在介绍一下Altera公司的FFT IP核使用详解。由于我现在使用的Quartus版本为13.1,所以就以这个版本的FFT IP核为例讲解其使用步骤。
再正常添加FFT IP核后,会出现如下配置界面,我们只关心Step1和Step2就行。
信号 | 方向 | 说明 |
---|---|---|
clk | in | 输入时钟 |
reset_n | in | 系统复位,低有效 |
clk_ena | in | 时钟使能,高有效 |
inverse | in | 如果断言,计算FFT逆。仅在SOP取样。即0 - FFT ,1 - IFFT |
sink_real | in | 输入数据的实部 |
sink_imag | in | 输入数据的虚部 |
sink_sop | in | 输入数据起始标记脉冲(维持一个时钟的高电平),与第一个数据同步 |
sink_eop | in | 输入数据结束标记脉冲(维持一个时钟的高电平),与最后一个数据同步 |
sink_valid | in | 拉高表示通知FFT即将有N个数据输入 |
sink_error | in | 指示数据流的错误信息:00——没有错误;01——丢失SOP;10——丢失EOP;11——多余的EOP; |
source_error | out | 表明upstream模块或者FFT模块出了问题,错误信息提示与sink_error一样 output |
source_ready | in | 表明downstream模块(理解为FFT的后续接收数据模块)可以接收数据 input |
sink_ready | out | FFT模块准备就绪,可以接收数据 output |
source_real | out | 变换后输出数据的实部 |
source_imag | out | 变换后输出数据的虚部 |
source_exp | out | 结果数据缩放因子:这个指数位的意思打个比方说吧,比如它是3,就是说这时输出的虚部和实部的数值要除以2的3次方,如果是10,就要除以2的10次方,如果对结果精度要求不高的话,可以直接截去相应的长度,比如指数是3,实部输出1011_0111_0111,那么此刻实际的值应该为1_0110_1110.111;取整就是101101110 |
source_valid | out | 置高,准备输出结果 |
source_sop | out | 输出数据起始标记 |
source_eop | out | 输出数据结束标记 |
实验环境
由于Quartus没有成型的DDS IP核,所以自己设计了DDS波形发生器,来提供仿真信号输入(这个DDS波形发生器的设计可以参考一下,方便大家做信号测试使用)。有例化了FFT IP核,对输出的实部和虚部进行操作,得到频谱。如下图,我已经得到了具体的频谱图,也再程序中添加了类似于Xilinx核的索引信号,便于对频谱进行计算。
以下是程序例化代码:
my_fft my_fft_inst(
.clk(clk),
.reset_n(rst_n),
.clk_ena(clk_ena),
.inverse(inverse),
.sink_real(sink_real),
.sink_imag(sink_imag),
.sink_sop(sink_sop),
.sink_eop(sink_eop),
.sink_valid(sink_valid),
.sink_error(sink_error),
.source_error(source_error),
.source_ready(source_ready),
.sink_ready(sink_ready),
.source_real(source_real),
.source_imag(source_imag),
.source_exp(source_exp),
.source_valid(source_valid),
.source_sop(source_sop),
.source_eop(source_eop)
);
注:在此附上实验例程的工程下载连接:https://download.csdn.net/download/qq_41894385/85366514,解压密码:mjd。
ps:这个版本的代码中发现有点小瑕疵,懒得重新上传,请读者自行将代码中fft_ctrl.v中的输入fft IP核的实部数据做如下映射处理:
always @(posedge clk,negedge rst_n)
if(!rst_n)
sin_reg <= 8'b0;
else if(sin[7])
sin_reg <= 8'hff;
else
sin_reg <= 8'b0;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。