change online acq pn code length, change 814 online acq to the same

修改了在线捕获程序的PN码长和频偏搜索步进,修改了地检发送程序的PN码长,使用对飞相控阵进行了测试,得到正确结果;将程序移植到814平台,同样能够正常工作;对地检程序(20230512),对飞程序(20230512)和814程序(20230415)进行归档
This commit is contained in:
2023-05-14 12:51:10 +08:00
parent 0f97436c8f
commit c32d684223
1071 changed files with 222689 additions and 31208 deletions
@@ -23,6 +23,8 @@
module tb_freq_comp;
reg clk = 1'b1;
reg clk_2x = 1'b1;
reg clk_4x = 1'b1;
reg rst = 1'b1;
reg freq_comp_start = 'b0;
wire freq_comp_busy;
@@ -42,9 +44,20 @@ initial begin
freq_comp_start = ~freq_comp_start;
end
always #10 clk = ~clk;
always #10 clk_4x = ~clk_4x;
tx_qpsk u_tx_qpsk
always @(posedge clk_4x) begin
clk_2x <= ~clk_2x;
end
always @(posedge clk_2x) begin
clk <= ~clk;
end
tx_qpsk #(
.BIT_DATA(1024'b0000000100100010000011001001101000010010101000011110101110101101101100000000110000011011001100001010110101110001101111110001000111100111101101101000000010100001011010101000111110111100100101100000100110010001010001101101110000001111000111011111110010000110001011011101000011010101100111100101101100100000100010010011000000101100010100111011001110001011111101010001011101101011000011001101101010000011101001111010011010100100111000001111100111001101111010001010101101111100001001110100011101011111011010010000100001010010101100011100111111101100001000110100111001001111000011011101100011000111101111101001001010000001101000110010111010010110100010001011001101001010010001100001110110111100000101110010101110011101110111001100111010101110111101100101000100110110001000011100101111100101001100110010101010011111100110001101011110011010110100110001001011100001011110101010101111111101000001010100101111000101011110111010100110111001000111000111111111100000001110000111111011100010011111000110011111010110010110010010010000000001),
.BIT_DATA_LEN (1024)
) u_tx_qpsk
(
.clk (clk ),
.rst (rst ),
@@ -66,6 +79,7 @@ freq_comp #(
)u_freq_comp
(
.clk (clk ),
.clk_4x (clk_4x ),
.rst (rst ),
.freq_comp_start (freq_comp_start ),
@@ -82,6 +96,7 @@ freq_comp #(
.rx_ch4_q (tx_data_q ),
.dmf_num_per_ch (2 ),
.dmf_continuous (1'b0 ),
.freq_manual (327680 ),
.freq_manual_en (1'b0 ),
@@ -23,20 +23,20 @@
module tb_rx_dmf;
// length of pseudorandom bit sequence, need to be a power of 2
localparam PRBS_LEN = 128;
localparam PRBS_LEN = 1024;
// interpolation of input signal, need to be a power of 2
localparam INTERP_RATE = 8;
// signal processing interpolation, need to be a power of 2
localparam PROCESS_INTERP = 4;
localparam PROCESS_INTERP = 2;
localparam PRBS_LEN_INTERP = PRBS_LEN*PROCESS_INTERP;
// number of accumulated symbols, need to be a power of 2
localparam ACC_SYM_NUM = 4;
localparam MAX_DMF_NUM = 64;
localparam DATA_I_WIDTH = 12;
localparam DATA_O_WIDTH = 18;
reg clk = 1'b1;
reg clk_2x = 1'b1;
reg clk_4x = 1'b1;
reg rst = 1'b1;
reg dmf_start = 'b0;
wire dmf_busy;
@@ -58,35 +58,46 @@ initial begin
#1000;
dmf_start = ~dmf_start;
wait (last_peak_valid == 1);
freq_set = -32'd2048;
#1000;
dmf_start = ~dmf_start;
// wait (last_peak_valid == 1);
// freq_set = -32'd2048;
// #1000;
// dmf_start = ~dmf_start;
wait (last_peak_valid == 1);
freq_set = 32'd1;
#1000;
dmf_start = ~dmf_start;
// wait (last_peak_valid == 1);
// freq_set = 32'd1;
// #1000;
// dmf_start = ~dmf_start;
wait (last_peak_valid == 1);
freq_set = 32'd2048;
#1000;
dmf_start = ~dmf_start;
// wait (last_peak_valid == 1);
// freq_set = 32'd2048;
// #1000;
// dmf_start = ~dmf_start;
wait (last_peak_valid == 1);
freq_set = 32'd4096;
#1000;
dmf_start = ~dmf_start;
// wait (last_peak_valid == 1);
// freq_set = 32'd4096;
// #1000;
// dmf_start = ~dmf_start;
wait (last_peak_valid == 1);
freq_set = 32'd6144;
#1000;
dmf_start = ~dmf_start;
// wait (last_peak_valid == 1);
// freq_set = 32'd6144;
// #1000;
// dmf_start = ~dmf_start;
end
always #10 clk = ~clk;
always #10 clk_4x = ~clk_4x;
tx_qpsk u_tx_qpsk
always @(posedge clk_4x) begin
clk_2x <= ~clk_2x;
end
always @(posedge clk_2x) begin
clk <= ~clk;
end
tx_qpsk #(
.BIT_DATA(1024'b0000000100100010000011001001101000010010101000011110101110101101101100000000110000011011001100001010110101110001101111110001000111100111101101101000000010100001011010101000111110111100100101100000100110010001010001101101110000001111000111011111110010000110001011011101000011010101100111100101101100100000100010010011000000101100010100111011001110001011111101010001011101101011000011001101101010000011101001111010011010100100111000001111100111001101111010001010101101111100001001110100011101011111011010010000100001010010101100011100111111101100001000110100111001001111000011011101100011000111101111101001001010000001101000110010111010010110100010001011001101001010010001100001110110111100000101110010101110011101110111001100111010101110111101100101000100110110001000011100101111100101001100110010101010011111100110001101011110011010110100110001001011100001011110101010101111111101000001010100101111000101011110111010100110111001000111000111111111100000001110000111111011100010011111000110011111010110010110010010010000000001),
.BIT_DATA_LEN (1024)
) u_tx_qpsk
(
.clk (clk ),
.rst (rst ),
@@ -101,17 +112,16 @@ tx_qpsk u_tx_qpsk
.bb_rshift (4'd0 )
);
rx_dmf #(
.ACC_SYM_NUM (ACC_SYM_NUM )
) u_rx_dmf
rx_dmf u_rx_dmf
(
.clk (clk ),
.clk (clk_4x ),
.rst (rst ),
.dmf_start (dmf_start ),
.dmf_busy (dmf_busy ),
.dmf_num (2 ),
.dmf_continuous (1'b1 ),
.din_valid (~rst ),
.din_real (tx_data_i ),