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

基于VIVADO的QPSK调制信号Basys3开发板verilog

05/06 10:43
963
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

1-231119230542129.doc

共1个文件

名称:基于VIVADO的QPSK调制信号Basys3开发板verilog(代码在文末下载)

软件:VIVADO

语言:Verilog

代码功能:

QPSK调制信号产生:

1、使用m序列产生串行的2路随机信号。

2、进行串并转换,将串行数据转换为2位并行信号。

3、使用正弦波作为载波进行调制,最终输出QPSK调制信号。

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

本代码已在Basys3开发板验证,开发板如下,其他开发板可以修改管脚适配:

basys3开发板.png

演示视频:

设计文档:

1. 工程文件

2. 程序文件

3. 管脚约束

4. 程序编译

5. Testbench

6. 仿真图

部分代码展示:

module QPSK_modulate(
    input clk,//100M
    input rst,//复位,按下高电平
    output [7:0] qout//输出qpsk调制信号
    );
wire dout_1;
wire dout_2;
wire a;
wire b;
/*m序列产生模块*/
m_code m_code_1(
    . clk(clk),//50M
    . rst(rst),//复位
    . init_data(8'd89),//初始值,可任意指定
    . dout(dout_1)//m序列输出,串行随机信号
    );
/*m序列产生模块*/
m_code m_code_2(
    . clk(clk),//50M
    . rst(rst),//复位
    . init_data(8'd45),//初始值,可任意指定
    . dout(dout_2)//m序列输出,串行随机信号
    );
/*串转并,串行数据转换为2位并行信号a,b*/
sipo sipo(
    . clk(clk),//50M
    . dout_1(dout_1),//串行随机信号
    . dout_2(dout_2),//串行随机信号
    . a(a),//输出2位并行信号a,b
    . b(b)//输出2位并行信号a,b
    );
/*调制模块*/
carrier_wave carrier_wave(
    . clk(clk),//50M
    . qout(qout),//输出QPSK调制信号
    . a(a),//2位并行信号a,b
    . b(b)//2位并行信号a,b
    );
    
endmodule
  • 1-231119230542129.doc
    下载

相关推荐