名称:基于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
阅读全文
264