Archived
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:
@@ -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 ),
|
||||
|
||||
Reference in New Issue
Block a user