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

移相信号发生器设计Verilog代码Quartus仿真

08/29 08:23
184
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-240913160JO57.doc

共1个文件

名称:移相信号发生器设计Verilog代码Quartus仿真

软件:Quartus

语言:Verilog

代码功能:

设计要求:根据DDS的原理,用verilog语言代码(或混合式)设计一个10位(即所用的ROM字长10位)的移相信号发生器,输出一路为基准正弦信号,另一路为移相后的正号信号,输出频率可调,给出伤真波形,下载并SignalTapll逻辑分析仪显示俩路波形。

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

演示视频:

设计文档:

1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图

5. 管脚分配

6. Signaltap设置

7. Testbench

8. 仿真图

部分代码展示:

`timescale?1ns?/?1ps
//DDS
module?DDS_top(
????input?clk_50M,//时钟频率50MHz
?input?[7:0]SW,//频率控制开关
????output?[9:0]?sin_wave_1,//输出标准sin波形
????output?[9:0]?sin_wave_2//移相后的可调频率正弦波
????);
?
//波形?ROM?地址位数?n=10
wire?[9:0]?addra_1;
wire?[9:0]?addra_2;
//标准正弦波
Frequency_ctrl_1?i1_Frequency_ctrl(
.?clk_50M(clk_50M),
.?frequency(8'd1),//频率控制字=1
.?addra(addra_1)//输出地址
????);
?
//相位累加器
Frequency_ctrl_2?i2_Frequency_ctrl(
.?clk_50M(clk_50M),
.?frequency(SW),//频率控制字,值越大,输出频率越大
.?addra(addra_2)//输出地址
????);
//sin波ROM
sin_ROM?i1_sin_ROM?(
??.clock(clk_50M),????//?input?wire?clka
??.address(addra_1),??//?input?wire?[9?:?0]?addra
??.q(sin_wave_1)??//?output?wire?[9?:?0]?douta
);
//sin波ROM
sin_ROM?i2_sin_ROM?(
??.clock(clk_50M),????//?input?wire?clka
??.address(addra_2),??//?input?wire?[9?:?0]?addra
??.q(sin_wave_2)??//?output?wire?[9?:?0]?douta
);
?
?
?
endmodule

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

  • 2-240913160JO57.doc
    下载

相关推荐