diff --git a/applications/lofar2/designs/lofar2_unb2b_sdp_station/src/vhdl/lofar2_unb2b_sdp_station_pkg.vhd b/applications/lofar2/designs/lofar2_unb2b_sdp_station/src/vhdl/lofar2_unb2b_sdp_station_pkg.vhd index 52ec178cdc50c135cc65498f1e64d0b1f22a1fb1..d093a015b5409c62a066c16346b1cbe4381352ca 100644 --- a/applications/lofar2/designs/lofar2_unb2b_sdp_station/src/vhdl/lofar2_unb2b_sdp_station_pkg.vhd +++ b/applications/lofar2/designs/lofar2_unb2b_sdp_station/src/vhdl/lofar2_unb2b_sdp_station_pkg.vhd @@ -51,7 +51,7 @@ package lofar2_unb2b_sdp_station_pkg is constant c_xsub_one : t_lofar2_unb2b_sdp_station_config := (false, true, false, false, false, 1, true, false, 1); constant c_xsub_ring : t_lofar2_unb2b_sdp_station_config := (false, true, false, false, false, 1, true, true, 9); -- use c_full_wg for SDP regression test on Arts-unb2b - constant c_full_wg : t_lofar2_unb2b_sdp_station_config := (true, true, false, true, true, 8, true, true, 9); + constant c_full_wg : t_lofar2_unb2b_sdp_station_config := (true, true, false, true, true, 16, true, true, 9); constant c_full : t_lofar2_unb2b_sdp_station_config := (false, true, false, true, false, 1, true, true, 9); constant c_full_wg_os : t_lofar2_unb2b_sdp_station_config := (true, true, true, true, false, 1, true, true, 9); -- use c_full_os for SDP on LTS-unb2b of Disturb2 diff --git a/applications/lofar2/designs/lofar2_unb2c_sdp_station/src/vhdl/lofar2_unb2c_sdp_station_pkg.vhd b/applications/lofar2/designs/lofar2_unb2c_sdp_station/src/vhdl/lofar2_unb2c_sdp_station_pkg.vhd index 94dbd9c7b09e764cb54be56e9703194dac9172c8..76533ce9b2c7d7a1136c889041f478d7c93e1593 100644 --- a/applications/lofar2/designs/lofar2_unb2c_sdp_station/src/vhdl/lofar2_unb2c_sdp_station_pkg.vhd +++ b/applications/lofar2/designs/lofar2_unb2c_sdp_station/src/vhdl/lofar2_unb2c_sdp_station_pkg.vhd @@ -46,13 +46,13 @@ package lofar2_unb2c_sdp_station_pkg is constant c_fsub : t_lofar2_unb2c_sdp_station_config := (false, true, false, false, false, 1, false, false, 0); -- use c_bf on one node also to simulate bdo transpose -- use c_bf_ring with ring also to simulate bdo identity - constant c_bf : t_lofar2_unb2c_sdp_station_config := (false, true, false, true, true, 8, false, false, 0); + constant c_bf : t_lofar2_unb2c_sdp_station_config := (false, true, false, true, true, 16, false, false, 0); constant c_bf_ring : t_lofar2_unb2c_sdp_station_config := (false, true, false, true, false, 1, false, true, 0); constant c_xsub_one : t_lofar2_unb2c_sdp_station_config := (false, true, false, false, false, 1, true, false, 1); constant c_xsub_ring : t_lofar2_unb2c_sdp_station_config := (false, true, false, false, false, 1, true, true, 9); constant c_full_wg : t_lofar2_unb2c_sdp_station_config := (true, true, false, true, true, 1, true, true, 9); -- Use c_full for LOFAR2 Station SDP operations - constant c_full : t_lofar2_unb2c_sdp_station_config := (false, true, false, true, true, 8, true, true, 9); + constant c_full : t_lofar2_unb2c_sdp_station_config := (false, true, false, true, true, 16, true, true, 9); constant c_full_wg_os : t_lofar2_unb2c_sdp_station_config := (true, true, true, true, true, 1, true, true, 9); constant c_full_os : t_lofar2_unb2c_sdp_station_config := (false, true, true, true, true, 1, true, true, 9); diff --git a/applications/lofar2/libraries/sdp/src/vhdl/sdp_bdo_pkg.vhd b/applications/lofar2/libraries/sdp/src/vhdl/sdp_bdo_pkg.vhd index d19cf03a6bc05de9ef2f36ef7f76b668869b5d9e..1dd450cdd7c02d44807aea9d90f63190ca31733f 100644 --- a/applications/lofar2/libraries/sdp/src/vhdl/sdp_bdo_pkg.vhd +++ b/applications/lofar2/libraries/sdp/src/vhdl/sdp_bdo_pkg.vhd @@ -60,16 +60,16 @@ package sdp_bdo_pkg is -- the reordering. Therefore c_sdp_bdo_reorder_nof_blocks_max = 16 is a -- suitable compromise value. -- Conclusion (14 feb 2024): - -- . Choose c_sdp_bdo_reorder_nof_blocks_max = 4 to save block RAM resources, - -- and because it is acceptable to have smaller packets in case of more - -- than 4 destinations. Note that the reorder buffer is dual page. - -- . Choose nof_bdo_destinations_max = 8 in design revision, because it is + -- . Choose c_sdp_bdo_reorder_nof_blocks_max = 16 to save block RAM + -- resources, and because it is acceptable to have smaller packets in case + -- of more than 4 destinations. Note that the reorder buffer is dual page. + -- . Choose nof_bdo_destinations_max = 16 in design revision, because it is -- enough for CEP, and to save logic resources and to ease timing closure. - constant c_sdp_bdo_reorder_nof_blocks_max : natural := 4; + constant c_sdp_bdo_reorder_nof_blocks_max : natural := 16; constant c_sdp_bdo_reorder_nof_blocks_w : natural := ceil_log2(c_sdp_bdo_reorder_nof_blocks_max + 1); constant c_sdp_bdo_reorder_nof_ch_max : natural := c_sdp_bdo_reorder_nof_blocks_max * c_sdp_nof_beamlets_per_block * - c_sdp_nof_words_per_beamlet; -- = 4 * 488 * 1 = 1952 32b + c_sdp_nof_words_per_beamlet; -- = 16 * 488 * 1 = 7808 32b -- 32 * 3 + 4 = 100 fields constant c_sdp_bdo_destinations_info_nof_hdr_fields : natural := c_sdp_bdo_mm_nof_destinations_max * 3 + 4;