diff --git a/applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd b/applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd index a2a4f30672928b41533b1b1e4af1a017898f2dd9..1fd2d2c1e333e3104de5eef5c38b77fe25b05fc5 100644 --- a/applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd +++ b/applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd @@ -154,6 +154,9 @@ PACKAGE sdp_pkg is CONSTANT c_sdp_bst_udp_src_port_15_8 : STD_LOGIC_VECTOR(7 DOWNTO 0) := x"D1"; -- TBC CONSTANT c_sdp_xst_udp_src_port_15_8 : STD_LOGIC_VECTOR(7 DOWNTO 0) := x"D2"; -- TBC + CONSTANT c_sdp_cep_app_header_len : NATURAL := 32; + CONSTANT c_sdp_stat_app_header_len : NATURAL := 32; + CONSTANT c_sdp_stat_nof_hdr_fields : NATURAL := 1+3+12+4+20+1; -- 608b; 19 32b words CONSTANT c_sdp_stat_hdr_field_sel : STD_LOGIC_VECTOR(c_sdp_stat_nof_hdr_fields-1 DOWNTO 0) := "1"&"101"&"111011111001"&"0101"&"0100"&"000000000"&"0000100"&"0"; -- 0=data path, 1=MM controlled TODO --CONSTANT c_sdp_stat_hdr_field_sel : STD_LOGIC_VECTOR(c_sdp_stat_nof_hdr_fields-1 DOWNTO 0) := "0"&"100"&"000000010001"&"0100"&"0100"&"000000010"&"1000000"&"0"; -- 0=data path, 1=MM controlled TODO diff --git a/applications/lofar2/libraries/sdp/src/vhdl/sdp_statistics_offload.vhd b/applications/lofar2/libraries/sdp/src/vhdl/sdp_statistics_offload.vhd index 47f0880a767599036a076150ab5e0a1f5c59db4c..c92f39fbfe91ca8e0c3adcfd0c5a2a2234877571 100644 --- a/applications/lofar2/libraries/sdp/src/vhdl/sdp_statistics_offload.vhd +++ b/applications/lofar2/libraries/sdp/src/vhdl/sdp_statistics_offload.vhd @@ -101,10 +101,6 @@ ARCHITECTURE str OF sdp_statistics_offload IS CONSTANT c_nof_data : NATURAL := sel_a_b(g_statistics_type="BST", c_sdp_N_pol_bf * c_sdp_S_sub_bf, sel_a_b(g_statistics_type="XST", c_sdp_S_pn * c_sdp_S_pn * c_nof_complex, c_sdp_N_sub)); -- SST - CONSTANT c_ip_total_length : NATURAL := 60 + c_nof_data * c_longword_sz; - - CONSTANT c_udp_total_length : NATURAL := 40 + c_nof_data * c_longword_sz; - CONSTANT c_block_size : NATURAL := c_nof_data * c_step_size; CONSTANT c_nof_packets : NATURAL := sel_a_b(g_statistics_type="BST", 1, @@ -125,6 +121,10 @@ ARCHITECTURE str OF sdp_statistics_offload IS CONSTANT c_beamlet_id : NATURAL := g_beamset_id * c_sdp_S_sub_bf; + CONSTANT c_app_total_length : NATURAL := c_sdp_stat_app_header_len + c_nof_data * c_longword_sz; + CONSTANT c_udp_total_length : NATURAL := c_app_total_length + c_network_udp_header_len; + CONSTANT c_ip_total_length : NATURAL := c_app_total_length + c_network_udp_header_len + c_network_ip_header_len; + TYPE t_reg IS RECORD block_count : NATURAL; start_address : NATURAL; diff --git a/applications/lofar2/libraries/sdp/tb/vhdl/tb_sdp_statistics_offload.vhd b/applications/lofar2/libraries/sdp/tb/vhdl/tb_sdp_statistics_offload.vhd index bf575888fe226e2f4ae520e59f55310b12f99fc8..db5a0922e739a0ff5d873df54fe946cb85492438 100644 --- a/applications/lofar2/libraries/sdp/tb/vhdl/tb_sdp_statistics_offload.vhd +++ b/applications/lofar2/libraries/sdp/tb/vhdl/tb_sdp_statistics_offload.vhd @@ -114,9 +114,9 @@ ARCHITECTURE tb OF tb_sdp_statistics_offload IS CONSTANT c_beamlet_id : NATURAL := g_beamset_id * c_sdp_S_sub_bf; - CONSTANT c_ip_total_length : NATURAL := 60 + c_nof_data * c_longword_sz; - - CONSTANT c_udp_total_length : NATURAL := 40 + c_nof_data * c_longword_sz; + CONSTANT c_app_total_length : NATURAL := c_sdp_stat_app_header_len + c_nof_data * c_longword_sz; + CONSTANT c_udp_total_length : NATURAL := c_app_total_length + c_network_udp_header_len; + CONSTANT c_ip_total_length : NATURAL := c_app_total_length + c_network_udp_header_len + c_network_ip_header_len; CONSTANT c_nof_valid_per_block : NATURAL := c_nof_data * c_data_size; CONSTANT c_nof_sync : NATURAL := 5;