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

DDS正弦波发生器设计Verilog代码Quartus仿真

09/25 08:50
385
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-241026201541S8.doc

共1个文件

名称:DDS正弦波发生器设计Verilog代码Quartus仿真

软件:Quartus

语言:Verilog

代码功能:

DDS正弦波发生器

设计要求

1.了解DDS的工作原理;

2.使用 MATLAB生成mif文件;

3.掌握 ROM IP核的配置方法,知道IP核里每个参数的作用;

4.Quartus编写 verilog代码, modelsim仿真实现频率可调、相位可调正弦波的输出。

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

演示视频:

设计文档:

1. 工程文件

2. 程序文件

IP核设置

Mif文件

3. 程序编译

4. RTL图

5. Testbench

6. 仿真图

整体仿真图

上图显示的为频率调整时波形

上图显示的为相位调整时波形

相位累加器模块(频率调整)

相位调整

Sin波ROM模块

部分代码展示:

module?DDS(
input?clk,//时钟
input?[9:0]?freq_data,//频率控制字10bit
input?[9:0]?phase_data,//相位控制字10bit
output?[9:0]?sin_wave//输出波形
);
wire?[9:0]??address;
wire?[9:0]?freq_out;
wire?[9:0]?q;//输出波形
//sin存储Rom表
sin_ROM?i_sin_ROM?(
.address(address),//查找表地址
.clock(clk),//时钟
.q(q)//输出波形
);
//相位累加器
Freq_sum?i_Freq_sum(
.?clk(clk),
.?freq_data(freq_data),//频率控制字32bit
.?freq_out(freq_out)//累加器输出
);
//初相位调整
phase_crtl?i_phase_crtl(
.?clk(clk),
.?freq_out(freq_out),//相位累加器输出
.?phase_data(phase_data),////相位控制字10bit
.?address(address)////查找表地址
);
assign?sin_wave=q;//输出最终波形
endmodule

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

  • 2-241026201541S8.doc
    下载

相关推荐