From eaafb2444a67e0f612684a6d0030bbc5f4070fbd Mon Sep 17 00:00:00 2001 From: Eric Kooistra <kooistra@astron.nl> Date: Wed, 11 Oct 2023 08:27:05 +0200 Subject: [PATCH] Use g_cross_clock_domain = false to save logic. --- .../sdp/src/vhdl/sdp_bdo_destinations_reg.vhd | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) 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 8c5d010163..35d4a7135c 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, -- GitLab