diff --git a/applications/lofar2/libraries/sdp/src/vhdl/sdp_bdo_destinations_reg.vhd b/applications/lofar2/libraries/sdp/src/vhdl/sdp_bdo_destinations_reg.vhd index 8c5d010163da02bded46c30793f8c9a655ffdd0a..35d4a7135c9afaf6b2d618c5d91cfb62c7fa5c9d 100644 --- a/applications/lofar2/libraries/sdp/src/vhdl/sdp_bdo_destinations_reg.vhd +++ b/applications/lofar2/libraries/sdp/src/vhdl/sdp_bdo_destinations_reg.vhd @@ -208,8 +208,15 @@ begin u_mm_fields: entity mm_lib.mm_fields generic map( - g_use_slv_in_val => false, -- use FALSE to save logic when always slv_in_val='1' - g_field_arr => c_field_arr + -- With g_nof_destinations_max = 31 and mac_w = 48, ip_w = 32, udp_w = 16 + -- the expected logic FF usage is 31 * (48 + 32 + 16) + 4 * 32 ~= 3104 FF. + -- Use g_cross_clock_domain false to save clock domain crossing logic, + -- which is about 2/3 of the total logic (~ 6200 FF). This is save, + -- because the reg fields are set well before they are used, so any meta + -- stability will have settled long before that. + g_cross_clock_domain => false, + g_use_slv_in_val => false, -- use false to save logic when always slv_in_val='1' + g_field_arr => c_field_arr ) port map ( mm_clk => mm_clk,