名稱:基于VIVADO的QPSK調制信號Basys3開發(fā)板verilog(代碼在文末下載)
軟件:VIVADO
語言:Verilog
代碼功能:
QPSK調制信號產生:
1、使用m序列產生串行的2路隨機信號。
2、進行串并轉換,將串行數(shù)據(jù)轉換為2位并行信號。
3、使用正弦波作為載波進行調制,最終輸出QPSK調制信號。
FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com
本代碼已在Basys3開發(fā)板驗證,開發(fā)板如下,其他開發(fā)板可以修改管腳適配:
演示視頻:
設計文檔:
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序列輸出,串行隨機信號 ????); /*串轉并,串行數(shù)據(jù)轉換為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
閱讀全文