赞
踩
名称:基于FPGA的数字下变频(DDC)设计Verilog代码VIVADO仿真(文末获取)
软件:VIVADO
语言:Verilog
代码功能:
数字下变频(DDC)系统在数字域里对输入信号进行下变频处理,可以降低数字信号的 速率,减小数字信号处理硬件的实现难度,是软件无线电接收机中关键的一部分,高性能的数字下变频器能够保证数字信号处理系统的稳定性,本设计在 xilinx vivado中对数字下变频的各个模块进行设计,包括DDS本振部分,混频部分,抽样部分,最后对设计的数字下变频系统进行仿真并分析其性能,
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
扫描文章末尾的公众号二维码
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。