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

DDS波形发生器设计Verilog代码VIVADO仿真

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

2-24061Q1395X36.doc

共1个文件

名称:DDS波形发生器设计Verilog代码VIVADO仿真

软件:VIVADO

语言:Verilog

代码功能:

DDS波形发生器

1、可以生成方波三角波正弦波锯齿波、阶梯波。

2、可以选择输出波形的类型。

3、可以控制波形的频率和幅值。

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

演示视频:

设计文档:

1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图

5. Testbench

6. 仿真图

wave_select控制输出波类型 ,frequency控制输出波形频率,值越大,频率越大,amplitude控制幅值

方波ROM模块

三角波ROM

Sin波ROM

锯齿波ROM

阶梯波ROM

波形选择

相位累加器模块

部分代码展示:

`timescale?1ns?/?1ps
//////////////////////////////////////////////////////////////////////////////////
//?Company:?
//?Engineer:?
//?
//?Create?Date:?2020/04/18?14:26:39
//?Design?Name:?
//?Module?Name:?DDS_top
//?Project?Name:?
//?Target?Devices:?
//?Tool?Versions:?
//?Description:?
//?
//?Dependencies:?
//?
//?Revision:
//?Revision?0.01?-?File?Created
//?Additional?Comments:
//?
//////////////////////////////////////////////////////////////////////////////////
module?DDS_top(
????input?clk_50M,
????input?[7:0]?amplitude,//幅值控制
????input?[2:0]?wave_select,//001输出sin,010输出方波,011输出三角波,000锯齿,100,阶梯
????input?[7:0]?frequency,//频率控制字,控制输出波形频率,值越大,频率越大
????output?[15:0]?wave//输出波形
????);
wire?[9:0]?addra;
wire?[7:0]?douta_fangbo;
wire?[7:0]?douta_sanjiao;
wire?[7:0]?douta_sin;
wire?[7:0]?douta_juchi;
wire?[7:0]?douta_jieti;
//方波ROM
fangbo_ROM?i_fangbo_ROM?(
??????.clka(clk_50M),????//?input?wire?clka
??????.addra(addra),??//?input?wire?[9?:?0]?addra
??????.douta(douta_fangbo)??//?output?wire?[7?:?0]?douta
????);
//三角波ROM
sanjiao_ROM?i_sanjiao_ROM?(
??.clka(clk_50M),????//?input?wire?clka
??.addra(addra),??//?input?wire?[9?:?0]?addra
??.douta(douta_sanjiao)??//?output?wire?[7?:?0]?douta
);
//sin波ROM
sin_ROM?i_sin_ROM?(
??.clka(clk_50M),????//?input?wire?clka
??.addra(addra),??//?input?wire?[9?:?0]?addra
??.douta(douta_sin)??//?output?wire?[7?:?0]?douta
);
juchi_ROM?i_juchi_ROM?(
??.clka(clk_50M),????//?input?wire?clka
??.addra(addra),??//?input?wire?[9?:?0]?addra
??.douta(douta_juchi)??//?output?wire?[7?:?0]?douta
);
//方波ROM
jieti_ROM?i_jieti_ROM?(
??????.clka(clk_50M),????//?input?wire?clka
??????.addra(addra),??//?input?wire?[9?:?0]?addra
??????.douta(douta_jieti)??//?output?wire?[7?:?0]?douta
????);
????
//相位累加器
Frequency_ctrl?i_Frequency_ctrl(
.?clk_50M(clk_50M),
.?frequency(frequency),//频率控制字
.?addra(addra)//输出地址
????);
wire?[7:0]?wave_temp;
//波形选择控制
wave_sel?i_wave_sel(
.?clk_50M(clk_50M),
.?wave_select(wave_select),//001输出sin,010输出方波,011输出三角波,000锯齿,100,阶梯
.?douta_fangbo(douta_fangbo),//方波
.?douta_sanjiao(douta_sanjiao),//三角
.?douta_juchi(douta_juchi),//锯齿
.

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

  • 2-24061Q1395X36.doc
    下载

相关推荐