From 04f41dbab64456f97f1bdcd1f833858ad1e402c6 Mon Sep 17 00:00:00 2001 From: Reinier van der Walle <walle@astron.nl> Date: Thu, 3 Sep 2020 15:54:05 +0200 Subject: [PATCH] Processed comments about merge request of L2SDP-130 --- .../sdp/src/vhdl/node_sdp_filterbank.vhd | 2 +- .../lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd | 1 + .../libraries/sdp/src/vhdl/sdp_scope.vhd | 30 +++++++------------ 3 files changed, 12 insertions(+), 21 deletions(-) diff --git a/applications/lofar2/libraries/sdp/src/vhdl/node_sdp_filterbank.vhd b/applications/lofar2/libraries/sdp/src/vhdl/node_sdp_filterbank.vhd index 1714612c62..0ca713bb2c 100644 --- a/applications/lofar2/libraries/sdp/src/vhdl/node_sdp_filterbank.vhd +++ b/applications/lofar2/libraries/sdp/src/vhdl/node_sdp_filterbank.vhd @@ -174,7 +174,7 @@ BEGIN u_mem_mux_sst : ENTITY common_lib.common_mem_mux GENERIC MAP ( g_nof_mosi => c_sdp_P_pfb, - g_mult_addr_w => ceil_log2(c_sdp_N_fft*c_sdp_wpfb_subbands.stat_data_sz) + g_mult_addr_w => ceil_log2(c_sdp_N_sub*c_sdp_Q_fft*c_sdp_wpfb_subbands.stat_data_sz) ) PORT MAP ( mosi => ram_st_sst_mosi, diff --git a/applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd b/applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd index 08de434938..2b5882b9c7 100644 --- a/applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd +++ b/applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd @@ -40,6 +40,7 @@ PACKAGE sdp_pkg is -- SDP specific parameters as defined in: -- L3 SDP Decision: SDP Parameter definitions ------------------------------------------------- + CONSTANT c_sdp_N_sub : NATURAL := 512; CONSTANT c_sdp_N_fft : NATURAL := 1024; CONSTANT c_sdp_S_pn : NATURAL := 12; CONSTANT c_sdp_Q_fft : NATURAL := 2; diff --git a/applications/lofar2/libraries/sdp/src/vhdl/sdp_scope.vhd b/applications/lofar2/libraries/sdp/src/vhdl/sdp_scope.vhd index ba4809dcb6..3bc54e97a7 100644 --- a/applications/lofar2/libraries/sdp/src/vhdl/sdp_scope.vhd +++ b/applications/lofar2/libraries/sdp/src/vhdl/sdp_scope.vhd @@ -57,7 +57,7 @@ END sdp_scope; ARCHITECTURE str OF sdp_scope IS - SIGNAL cnt_arr : t_natural_arr(c_sdp_S_pn-1 DOWNTO 0); + SIGNAL cnt : NATURAL; SIGNAL deinterleaved_sosi_arr : t_dp_sosi_arr(c_sdp_S_pn-1 DOWNTO 0); SIGNAL subband_sosi_arr : t_dp_sosi_arr(c_sdp_S_pn-1 DOWNTO 0) := (OTHERS=>c_dp_sosi_rst); @@ -84,30 +84,20 @@ BEGIN p_cnt : PROCESS(rst, clk) BEGIN IF rst = '1' THEN - cnt_arr <= (OTHERS => 0); + cnt <= 0; ELSIF rising_edge(clk) THEN - FOR I IN 0 TO c_sdp_S_pn-1 LOOP - IF deinterleaved_sosi_arr(I).valid = '1' THEN - IF deinterleaved_sosi_arr(I).eop = '1' THEN - cnt_arr(I) <= 0; - ELSE - cnt_arr(I) <= cnt_arr(I) + 1; - END IF; + IF deinterleaved_sosi_arr(0).valid = '1' THEN + IF deinterleaved_sosi_arr(0).eop = '1' THEN + cnt <= 0; + ELSE + cnt <= + 1; END IF; - END LOOP; - END IF; - END PROCESS; - - p_select_subband : PROCESS(cnt_arr, deinterleaved_sosi_arr) - BEGIN - subband_sosi_arr <= deinterleaved_sosi_arr; - FOR I IN 0 TO c_sdp_S_pn-1 LOOP - IF cnt_arr(I) /= g_selected_subband THEN - subband_sosi_arr(I).valid <= '0'; END IF; - END LOOP; + END IF; END PROCESS; + -- Select subband + subband_sosi_arr <= deinterleaved_sosi_arr WHEN cnt = g_selected_subband; --------------------------------------------------------------- -- SIGNAL SCOPE -- GitLab