名称:基于FPGA的数字下变频(DDC)设计Verilog代码VIVADO仿真
软件:VIVADO
语言:Verilog
代码功能:
数字下变频(DDC)系统在数字域里对输入信号进行下变频处理,可以降低数字信号的速率,减小数字信号处理硬件的实现难度,是软件无线电接收机中关键的一部分,高性能的数字下变频器能够保证数字信号处理系统的稳定性,本设计在 xilinx vivado中对数字下变频的各个模块进行设计,包括DDS本振部分,混频部分,抽样部分,最后对设计的数字下变频系统进行仿真并分析其性能。
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
1. 工程文件
2. 程序文件
3. 程序编译
4. RTL图
5. Testbench
6. 仿真图
部分代码展示:
`timescale 1ns / 1ps //将20M的信号下变频到5M //数字下变频 module DDC( input clk,//100MHz input rst_n,//复位 input [7:0] data_in,//原始20M信号输入(无符号) output [23:0] data_out,//输出数据 output data_valid//数据有效标志 ); wire [7:0] wave;//波形 (无符号) //DDS产生本振15M的信号 DDS i_DDS( . sclk(clk),//时钟 . rst_n(rst_n),//复位 . wave(wave)//波形 ); wire [15 : 0] P;//乘积 //混频(乘法器) mult_8x8 i_mult ( .CLK(clk), // input wire CLK .A(wave), // input wire [7 : 0] A .B(data_in), // input wire [7 : 0] B .P(P) // output wire [15 : 0] P ); wire [23 : 0] m_axis_data_tdata; wire m_axis_data_tvalid; //滤波抽样cic抽样滤波器 cic i_cic ( .aclk(clk), // input wire aclk .s_axis_data_tdata(P), // input wire [15 : 0] s_axis_data_tdata .s_axis_data_tvalid(1'b1), // input wire s_axis_data_tvalid .s_axis_data_tready(), // output wire s_axis_data_tready .m_axis_data_tdata(m_axis_data_tdata), // output wire [23 : 0] m_axis_data_tdata .m_axis_data_tvalid(m_axis_data_tvalid) // output wire m_axis_data_tvalid ); assign data_out=m_axis_data_tdata; assign data_valid=m_axis_data_tvalid; endmodule
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=858
1878