My title page contents

可变参数波形发生器的设计Verilog代码Quartus仿真

名称:可变参数波形发生器的设计Verilog代码Quartus仿真

软件:Quartus

语言:Verilog

代码功能:

可变参数波形发生器设计

1、功能要求

设计一个波形发生器,至少可以生成4种波形,如正弦波、方波、锯齿波、三角波等。

每种波形及其基本参数如幅度、频率等,可以通过按键进行设置。

参数种类至少2个(如幅度和频率),每个参数的取值至少4个。

每种波形的基本参数如幅度、频率等,可以通过串口进行设置,串口通信协议自定(该功能选做)。


2、总体设计思路

说明系统的总体设计框架、主要组成模块及模块间时序关系。


3、设计步骤

详细给出每个模块的功能、设计方法和测试验证结果(modelsim仿真或SignalTap),并对结果进行分析说明。


4、设计中遇到的主要问题及解决方法


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

要求.jpg

演示视频:

设计文档:

设计文档.docx

1、工程文件

 

2、程序文件

 

 

 

 

3、程序编译

 

4、RTL图

 

5、testbench

 

6、仿真图

整体仿真图

 

 

相位累加器模块

 

方波模块

 

三角波模块

 

正弦波模块

 

锯齿波模块

 

波形选择模块

 


部分代码展示:

module DDS_top(clk_50M, wave_select, frequency, wave_out,amplitude);
   input        clk_50M;
   input [1:0]  wave_select;//波形选择控制按键,01输出sin,10输出方波,11输出三角波,00//锯齿
   input [7:0]  frequency;//频率控制字,控制输出波形频率,值越大,频率越大
input [3:0]  amplitude;//幅值
   output [11:0] wave_out;//输出波形
   
   wire [7: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;
   
   //方波ROM
   fangbo_ROM i_fangbo_ROM(.clock(clk_50M), .address(addra), .q(douta_fangbo));
   
   //三角波ROM
   sanjiao_ROM i_sanjiao_ROM(.clock(clk_50M), .address(addra), .q(douta_sanjiao));
   
   //sin波ROM
   sin_ROM i_sin_ROM(.clock(clk_50M), .address(addra), .q(douta_sin));
   
   //锯齿波ROM
   juchi_ROM i_juchi_ROM(.clock(clk_50M), .address(addra), .q(douta_juchi));
   
   //相位累加器
   Frequency_ctrl

代码文件(付费下载):



1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 可变参数波形发生器的设计Verilog代码Quartus仿真

发表评论

模板文件不存在: ./template/plugins/comment/pc/index.htm

注册为本站会员,充值100得150,详情咨询客服

目前为止共有 *** 位优秀的会员加入! 立刻加入会员