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

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

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

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
    下载

相关推荐