My title page contents

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

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

软件:Quartus

语言:Verilog

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


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


演示视频:

设计文档:

设计文档.doc

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

代码文件(付费下载):



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

发表评论

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

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

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