diff --git a/applications/lofar2/libraries/sdp/src/vhdl/sdp_bf_weights.vhd b/applications/lofar2/libraries/sdp/src/vhdl/sdp_bf_weights.vhd index 3dec6eb52968ae1f86598a42c32e9e7771852cf2..a32d05170126eac25662f7df361b93231825fd97 100644 --- a/applications/lofar2/libraries/sdp/src/vhdl/sdp_bf_weights.vhd +++ b/applications/lofar2/libraries/sdp/src/vhdl/sdp_bf_weights.vhd @@ -120,7 +120,10 @@ BEGIN g_gain_w => c_sdp_W_bf_weight, g_in_dat_w => c_sdp_W_subband, g_out_dat_w => c_gain_out_dat_w, - g_gains_file_name => g_gains_file_name + g_gains_file_name => g_gains_file_name, + -- extra input latency to ease timing. + g_pipeline_real_mult_input => 2, + g_pipeline_complex_mult_input => 2 ) PORT MAP ( -- System diff --git a/applications/lofar2/libraries/sdp/src/vhdl/sdp_subband_equalizer.vhd b/applications/lofar2/libraries/sdp/src/vhdl/sdp_subband_equalizer.vhd index 05d222f417f158351779bbee469fc7b5543f3124..e5e7d4f12cc299106f3fa6856cf5b01cd87d068a 100644 --- a/applications/lofar2/libraries/sdp/src/vhdl/sdp_subband_equalizer.vhd +++ b/applications/lofar2/libraries/sdp/src/vhdl/sdp_subband_equalizer.vhd @@ -120,7 +120,10 @@ BEGIN g_gain_w => c_sdp_W_sub_weight, g_in_dat_w => c_sdp_W_subband, g_out_dat_w => c_gain_out_dat_w, - g_gains_file_name => g_gains_file_name + g_gains_file_name => g_gains_file_name, + -- extra input latency to ease timing. + g_pipeline_real_mult_input => 2, + g_pipeline_complex_mult_input => 2 ) PORT MAP ( -- System diff --git a/libraries/base/dp/src/vhdl/mms_dp_gain_serial_arr.vhd b/libraries/base/dp/src/vhdl/mms_dp_gain_serial_arr.vhd index 25551f29f88ba7b36582739de336065b9bcd1c6a..7e8174fa8f8f52c878ebf7f3f6af51087179eab3 100644 --- a/libraries/base/dp/src/vhdl/mms_dp_gain_serial_arr.vhd +++ b/libraries/base/dp/src/vhdl/mms_dp_gain_serial_arr.vhd @@ -100,7 +100,7 @@ ARCHITECTURE str OF mms_dp_gain_serial_arr IS -- dat_w : NATURAL; -- nof_dat : NATURAL; -- optional, nof dat words <= 2**adr_w -- init_sl : STD_LOGIC; -- optional, init all dat words to std_logic '0', '1' or 'X' - CONSTANT c_mm_ram : t_c_mem := (latency => 2, -- set latency to 2 to ease timing + CONSTANT c_mm_ram : t_c_mem := (latency => 1, adr_w => ceil_log2(g_nof_gains), dat_w => sel_a_b(g_complex_gain, c_nof_complex, 1) * g_gain_w, nof_dat => g_nof_gains,