扫码加入

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

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

1小时前
166
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-2512011912093X.docx

共1个文件

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

软件:Quartus

语言:Verilog

代码功能:

可变参数波形发生器设计

1、功能要求

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

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

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

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

 

2、总体设计思路

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

 

3、设计步骤

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

 

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

 

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

要求.jpg

演示视频:

设计文档:

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

 

 

  • 2-2512011912093X.docx
    下载

相关推荐