名称:调用DDS IP核输出正弦波Verilog代码vivado仿真(文末获取)
软件:vivado
语言:Verilog
代码功能:调用DDS IP核输出正弦波
1. 工程文件
2. 程序文件
3. 程序编译
4. RTL图
5. Testbench
6. 仿真图
部分代码展示:
`timescale 1ns / 1ps // // Company: // Engineer: // // Create Date: 2020/07/19 18:03:39 // Design Name: // Module Name: DDS_top // Project Name: // Target Devices: // Tool Versions: // Description: // // Dependencies: // // Revision: // Revision 0.01 - File Created // Additional Comments: // // //DDS,1MHz dds 正弦波 module DDS_top( input clk_in,//100M输入 output [9:0] wave//波形输出 ); wire m_axis_data_tvalid;//IP核输出使能 wire [31 : 0] m_axis_data_tdata;//IP核输出 wire [9:0] m_axis_data_tdata_cosine;//cos波形 wire [9:0] m_axis_data_tdata_sine;//sin波形 assign m_axis_data_tdata_cosine = m_axis_data_tdata[9:0];//cos波形 assign m_axis_data_tdata_sine = m_axis_data_tdata[25:16];//sin波形 //DDS输出频率=clk*N/2^16 //调用DDS IP核 dds_IP i_dds_IP ( .aclk(clk_in),//时钟 .s_axis_config_tvalid(1'b1), // 频率控制字输入使能 .s_axis_config_tdata(16'd655), //频率控制字,16位,频率控制字655计算出的频率为1MHz .m_axis_data_tvalid(m_axis_data_tvalid), // //IP核输出使能 .m_axis_data_tdata(m_axis_data_tdata) // //IP核输出 ); assign wave=m_axis_data_tdata_sine;//输出波形 endmodule
源代码
扫描文章末尾的公众号二维码