From ae9605f152547a52752a422d8cd693c42168c4b4 Mon Sep 17 00:00:00 2001 From: Eric Kooistra <kooistra@astron.nl> Date: Tue, 13 Feb 2024 15:17:54 +0100 Subject: [PATCH] Use c_sdp_bdo_reorder_nof_blocks_max = 4 to save block RAM. Ensure c_sdp_bdo_reorder_nof_blocks_max <= nof_bdo_destinations_max in revision. Choose nof_bdo_destinations_max = 8. --- .../lofar2/libraries/sdp/src/vhdl/sdp_bdo_pkg.vhd | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) 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 e33f2166ab..33df8e23bc 100644 --- a/applications/lofar2/libraries/sdp/src/vhdl/sdp_bdo_pkg.vhd +++ b/applications/lofar2/libraries/sdp/src/vhdl/sdp_bdo_pkg.vhd @@ -59,11 +59,21 @@ package sdp_bdo_pkg is -- nof_destinations > 1 and how many block RAM resources are available for -- the reordering. Therefore c_sdp_bdo_reorder_nof_blocks_max = 16 is a -- suitable compromise value. - constant c_sdp_bdo_reorder_nof_blocks_max : natural := 16; + -- Conclusion: + -- . 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 + -- enough for CEP and to save logic resources and to ease timing closure. + -- Remark: + -- . The c_sdp_bdo_reorder_nof_blocks_max must be <= + -- nof_bdo_destinations_max, because otherwise this probably caused + -- Quartus synthesis to yield an segmentation error. + constant c_sdp_bdo_reorder_nof_blocks_max : natural := 4; 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; -- = 7808 + c_sdp_nof_words_per_beamlet; -- = 4 * 488 * 1 = 1952 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; -- GitLab