diff --git a/applications/lofar2/libraries/sdp/tb/vhdl/tb_sdp_pkg.vhd b/applications/lofar2/libraries/sdp/tb/vhdl/tb_sdp_pkg.vhd index 355c337f364c42b2314e5c459a79d17a64388b52..566e679387dca76616e870952578ee1f08a65d2d 100644 --- a/applications/lofar2/libraries/sdp/tb/vhdl/tb_sdp_pkg.vhd +++ b/applications/lofar2/libraries/sdp/tb/vhdl/tb_sdp_pkg.vhd @@ -108,18 +108,20 @@ package tb_sdp_pkg is ----------------------------------------------------------------------------- -- Beamlet output packet ----------------------------------------------------------------------------- - -- beamlet part index in longword [0 : 3] = X, Y, X, Y - subtype t_sdp_beamlet_longword_list is t_slv_8_arr(0 to c_sdp_cep_nof_beamlets_per_longword * c_sdp_N_pol_bf - 1); + -- beamlet part index [0 : 3] of X, Y, X, Y in network longword: + -- . re[0 : 3] at 0, 2, 4, 6 in longword + -- . im[0 : 3] at 1, 3, 5, 7 in longword + subtype t_sdp_beamlet_part_arr is t_slv_8_arr(0 to c_sdp_cep_nof_beamlets_per_longword * c_sdp_N_pol_bf - 1); - -- beamlet part index in packet [0 : 4 * 488 * 2 - 1] = [0 : 3903] + -- beamlet part index in packet with 4 blocks [0 : 4 * 488 * 2 - 1] = [0 : 3903] subtype t_sdp_beamlet_packet_list is t_slv_8_arr(0 to c_sdp_cep_nof_beamlets_per_packet * c_sdp_N_pol_bf - 1); - -- beamlet part index in block [0 : 488 * 2 - 1] = [0 : 975] + -- beamlet part index in one block [0 : 488 * 2 - 1] = [0 : 975] subtype t_sdp_beamlet_block_list is t_slv_8_arr(0 to c_sdp_cep_nof_beamlets_per_block * c_sdp_N_pol_bf - 1); - function func_sdp_transpose_packet(nof_blocks_per_packet : natural; - nof_beamlets_per_block : natural; - packet_list : t_sdp_beamlet_packet_list) return t_sdp_beamlet_packet_list; + function func_sdp_bdo_transpose_packet(nof_blocks_per_packet : natural; + nof_beamlets_per_block : natural; + packet_list : t_sdp_beamlet_packet_list) return t_sdp_beamlet_packet_list; end package tb_sdp_pkg; @@ -496,13 +498,14 @@ package body tb_sdp_pkg is -- . blet 0:487, 0:487, 0:487, 0:487, for nof_beamlets_per_block = 488 -- . v_in 0,1,2, ... 1951 -- return v_list = transposed packet_list: - -- 0, 1, ..., 487 - -- 0:3, 0:3, ..., 0:3 + -- 0, 1, ..., 487 + -- 0:3, 0:3, ..., 0:3 -- 0,488,976,1464, 1,489,977,1465, ..., 487,975,1463,1951 + -- -- . v_out 0,4,8,...,1948, 1,5,9,...,1949, 2,6,10,...,1950, 3,7,11,...,1951 - function func_sdp_transpose_packet(nof_blocks_per_packet : natural; - nof_beamlets_per_block : natural; - packet_list : t_sdp_beamlet_packet_list) return t_sdp_beamlet_packet_list is + function func_sdp_bdo_transpose_packet(nof_blocks_per_packet : natural; + nof_beamlets_per_block : natural; + packet_list : t_sdp_beamlet_packet_list) return t_sdp_beamlet_packet_list is variable v_list : t_sdp_beamlet_packet_list; variable v_in : natural; variable v_out : natural; @@ -514,6 +517,7 @@ package body tb_sdp_pkg is v_list(v_out) := packet_list(v_in); end loop; end loop; - end func_sdp_transpose_packet; + return v_list; + end func_sdp_bdo_transpose_packet; end tb_sdp_pkg;