基于DDS和PLL组合的波形发生器Verilog代码Quartus DE1-SoC板子

名称:基于DDS和PLL组合的波形发生器Verilog代码Quartus  DE1-SoC板子

软件:Quartus

语言:Verilog

代码功能:基于DDS和PLL组合的波形发生器:利用DDS和PLL(锁相环,调IP核)实现输出频率在一定范围内连续可调的信号发生器


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


本代码已在DE1-SoC板子验证,DE1-SoC板子如下,其他开发板可以修改管脚适配:DE1-SoC板子.jpg


演示视频:


设计文档:

设计文档.doc

1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图

5. 管脚分配

6. Testbench

7. 仿真图

整体仿真图

PLL模块

频率控制模块

正弦波ROM表

相位累加器模块



部分代码展示:

module DDS(
input clk,//时钟50M
input rst_n,//复位
input key0,//频率增加
input key1,//频率减小
output dac_clk,//DA时钟
output [7:0] sin_wave//输出波形
);
wire clk_10M;
wire [9:0]  address;
wire [9:0] q;//输出波形
assign dac_clk=clk_10M;
wire [9:0] freq_data;//频率控制字10bit
//PLL_ip 50M->10M
pll_ippll_ip_inst (
.inclk0 ( clk ),//输入50M
.c0 ( clk_10M )//输出10M
);
//频率控制模块
Freq_ctrl i_Freq_ctrl(
. clk(clk_10M),
. rst_n(rst_n),//复位
. key0(key0),//频率增加
. key1(key1),//频率减小
. freq_data(freq_data)//频率控制字9bit
);
//sin存储Rom表
sin_ROM i_sin_ROM (
.address(address),//查找表地址
.clock(clk_10M),//时钟
.q(q)//输出波形
);
//相位累加器
Freq_sum i_Freq_sum(
. clk(clk_10M),
. rst_n(rst_n),
. freq_data(freq_data),//频率控制字32bit
. freq_out(address)//累加器输出
);
assign sin_wave=q[9:2];//输出最终波形
endmodule


代码文件(付费下载):



1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 基于DDS和PLL组合的波形发生器Verilog代码Quartus DE1-SoC板子

发表评论

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

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

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