调用VIVADO FFT IP核进行FFT计算Verilog代码Vivado仿真
名称:调用VIVADO FFT IP核进行FFT计算Verilog代码Vivado仿真
软件:Vivado
语言:Verilog
代码功能:调用VIVADO FFT IP核进行FFT计算
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
1. 工程文件

2. 程序文件

3. Testbench

4. 仿真图
Matlab计算

输入实部虚部

输出FFT结果,实部虚部,与matlab计算一致,因为FFT的IP核是整数计算,因此存在一点误差,是正常现象。

部分代码展示:
`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company:
// Engineer:
//
// Create Date: 2019/05/24 21:27:49
// Design Name:
// Module Name: fft_IP_1024
// Project Name:
// Target Devices:
// Tool Versions:
// Description:
//
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//
//////////////////////////////////////////////////////////////////////////////////
module fft_IP_1024(
input clk_in,//时钟
input data_in_en,//数据输入使能
input last_data,//输入最后一个数据信号
input [15:0] data_in_real,//输入的16位数据实部
input [15:0] data_in_imag,//输入的16位数据虚部
output data_out_en,//输出使能
output [31:0] data_out//输出32位FFT结果,输出数据,高16位虚部,低16位实部
);
// sample_data(15 downto 0) := data(index).re; -- real data
// sample_data(31 downto 16) := data(index).im; -- imaginary data
wire m_axis_data_tvalid;
xfft_1024 U_xfft_1024 (
.aclk(clk_in), // input wire aclk
.s_axis_config_tdata(8'd1), //1表示FFT,0表示逆fft
.s_axis_config_tvalid(1'b1), // 1表示s_axis_config_tdata有效
.s_axis_config_tready( ), // output wire s_axis_config_tready
.s_axis_data_tdata({data_in_imag,data_in_real}), // 输入实部和虚部,高16位虚部,低16位实部
.s_axis_data_tvalid(data_in_en), // 输入数据有效使能
.s_axis_data_tready( ), // output wire s_axis_data_tready
.s_axis_data_tlast(last_data), // 输入最后一个数据结束
.m_axis_data_tdata(data_out), // 输出数据,高16位虚部,低16位实部代码文件(付费下载):
![]()
1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 调用VIVADO FFT IP核进行FFT计算Verilog代码Vivado仿真
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 调用VIVADO FFT IP核进行FFT计算Verilog代码Vivado仿真