• 方案介绍
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

基于FPGA的DDS IP核设计Verilog代码VIVADO仿真

08/04 08:18
313
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-2406131J305594.doc

共1个文件

名称:基于FPGA的DDS IP核设计Verilog代码VIVADO仿真

软件:VIVADO

语言:Verilog

代码功能:基于DDS的IP核,设计产生2路正弦波,并将2路正弦波叠加,输出叠加后波形

FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com

演示视频:

设计文档:

1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图

5. Testbench

6. 仿真图

部分代码展示:

`timescale 1ns / 1ps
//正弦波叠加
module DDS_top(
input clk_in,//100M输入
output [10:0] wave//波形输出
    );
//DDS输出频率=clk*N/2^16
wire [31 : 0] tdata1;//IP核输出
wire [9:0] tdata_sine1;//sin波形
//调用DDS IP核1
dds_IP i1_dds_IP (
  .aclk(clk_in),//时钟
  .s_axis_config_tvalid(1'b1),  // 频率控制字输入使能
  .s_axis_config_tdata(16'd655),    //频率控制字(可自行修改),16位,频率控制字655计算出的频率为1MHz
  .m_axis_data_tvalid(),    // //IP核输出使能
  .m_axis_data_tdata(tdata1)      // //IP核输出
);
assign tdata_sine1    = tdata1[25:16];//sin波形
wire [31 : 0] tdata2;//IP核输出
wire [9:0] tdata_sine2;//sin波形
//调用DDS IP核2
dds_IP i2_dds_IP (
  .aclk(clk_in),//时钟
  .s_axis_config_tvalid(1'b1),  // 频率控制字输入使能
  .s_axis_config_tdata(16'd300),    //频率控制字(可自行修改),16位,频率控制字300计算出的频率为457.7KHz
  .m_axis_data_tvalid(),    // //IP核输出使能
  .m_axis_data_tdata(tdata2)      // //IP核输出
);
assign tdata_sine2    = tdata2[25:16];//sin波形
assign wave=$signed(tdata_sine1)+$signed(tdata_sine2)

点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=859

  • 2-2406131J305594.doc
    下载

相关推荐