diff --git a/applications/lofar2/libraries/sdp/src/vhdl/node_sdp_correlator.vhd b/applications/lofar2/libraries/sdp/src/vhdl/node_sdp_correlator.vhd
index fa6125942137aa015fcd22f39833fecda5fed067..1a28839eecb89d4fec64d3176b3d0bed61bb06d9 100644
--- a/applications/lofar2/libraries/sdp/src/vhdl/node_sdp_correlator.vhd
+++ b/applications/lofar2/libraries/sdp/src/vhdl/node_sdp_correlator.vhd
@@ -39,8 +39,9 @@ USE work.sdp_pkg.ALL;
 
 ENTITY node_sdp_correlator IS
   GENERIC (
-    g_sim                    : BOOLEAN := FALSE
-    --g_offload_time           : NATURAL := c_sdp_offload_time
+    g_sim            : BOOLEAN := FALSE;
+    g_P_sq           : NATURAL := c_sdp_P_sq
+    --g_offload_time   : NATURAL := c_sdp_offload_time
   );
   PORT (
     dp_clk        : IN  STD_LOGIC;
@@ -89,9 +90,9 @@ ARCHITECTURE str OF node_sdp_correlator IS
   SIGNAL quant_sosi_arr          : t_dp_sosi_arr(c_sdp_P_pfb-1 DOWNTO 0) := (OTHERS => c_dp_sosi_rst);
   SIGNAL xin_sosi_arr            : t_dp_sosi_arr(c_sdp_P_pfb-1 DOWNTO 0) := (OTHERS => c_dp_sosi_rst);
   SIGNAL xsel_sosi               : t_dp_sosi := c_dp_sosi_rst;
-  SIGNAL crosslets_sosi          : t_dp_sosi := c_dp_sosi_rst;
-  SIGNAL crosslets_mosi_arr      : t_mem_mosi_arr(0 TO 0) := (OTHERS=>c_mem_mosi_rst); -- (0 TO c_sdp_P_sq-1) 
-  SIGNAL crosslets_miso_arr      : t_mem_miso_arr(0 TO 0) := (OTHERS=>c_mem_miso_rst); -- (0 TO c_sdp_P_sq-1)
+  SIGNAL crosslets_sosi_arr      : t_dp_sosi_arr(g_P_sq-1 DOWNTO 0) := (OTHERS => c_dp_sosi_rst);
+  SIGNAL crosslets_mosi_arr      : t_mem_mosi_arr(g_P_sq-1 DOWNTO 0) := (OTHERS => c_mem_mosi_rst); 
+  SIGNAL crosslets_miso_arr      : t_mem_miso_arr(g_P_sq-1 DOWNTO 0) := (OTHERS => c_mem_miso_rst); 
 
 BEGIN
   ---------------------------------------------------------------
@@ -188,31 +189,33 @@ BEGIN
   -- Not implemented yet
 
   ---------------------------------------------------------------
-  -- dp_bsn_aligner_v2 Not implemented yet, using st_xsq_dp_to_mm as a replacement
+  -- dp_bsn_aligner_v2 Not implemented yet, using st_xsq_dp_to_mm as a tempory replacement
   ---------------------------------------------------------------
-  u_st_xsq_dp_to_mm : ENTITY st_lib.st_xsq_dp_to_mm
-  GENERIC MAP(
-    g_nof_crosslets     => c_sdp_N_crosslets,
-    g_nof_signal_inputs => c_sdp_S_pn,
-    g_dsp_data_w        => c_sdp_W_crosslet
-  )
-  PORT MAP (
-    rst            => dp_rst,
-    clk            => dp_clk,
-
-    in_sosi        => xsel_sosi,       
-    out_sosi_info  => crosslets_sosi,       
-                              
-    mm_mosi        => crosslets_mosi_arr(0),       
-    mm_miso        => crosslets_miso_arr(0)  
-  );
+  gen_dp_to_mm : FOR I IN 0 TO g_P_sq-1 GENERATE
+    u_st_xsq_dp_to_mm : ENTITY st_lib.st_xsq_dp_to_mm
+    GENERIC MAP(
+      g_nof_crosslets     => c_sdp_N_crosslets,
+      g_nof_signal_inputs => c_sdp_S_pn,
+      g_dsp_data_w        => c_sdp_W_crosslet
+    )
+    PORT MAP (
+      rst            => dp_rst,
+      clk            => dp_clk,
+
+      in_sosi        => xsel_sosi,       
+      out_sosi_info  => crosslets_sosi_arr(I),       
+                                
+      mm_mosi        => crosslets_mosi_arr(I),
+      mm_miso        => crosslets_miso_arr(I)  
+    );
+  END GENERATE;
 
   ---------------------------------------------------------------
   -- Crosslets Statistics (XST) 
   ---------------------------------------------------------------
   u_crosslets_stats : ENTITY st_lib.st_xst
   GENERIC MAP(
-    g_nof_streams       => 1, -- c_sdp_P_sq
+    g_nof_streams       => g_P_sq,
     g_nof_crosslets     => c_sdp_N_crosslets,
     g_nof_signal_inputs => c_sdp_S_pn,
     g_in_data_w         => c_sdp_W_crosslet,
@@ -224,7 +227,7 @@ BEGIN
     mm_clk          => mm_clk,
     dp_rst          => dp_rst,
     dp_clk          => dp_clk,
-    in_sosi         => crosslets_sosi,
+    in_sosi         => crosslets_sosi_arr(0),
     mm_mosi_arr     => crosslets_mosi_arr,
     mm_miso_arr     => crosslets_miso_arr,
 
diff --git a/applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd b/applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd
index a9f05b3bc51e2db98f91a3c46397d6fbdb2004f6..00b4b5ed89099bea08523565cf334bf162088f70 100644
--- a/applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd
+++ b/applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd
@@ -77,6 +77,7 @@ PACKAGE sdp_pkg is
   CONSTANT c_sdp_N_pol           : NATURAL := 2;
   CONSTANT c_sdp_N_sub           : NATURAL := 512;
   CONSTANT c_sdp_N_taps          : NATURAL := 16;
+  CONSTANT c_sdp_P_sq            : NATURAL := 9;
   CONSTANT c_sdp_Q_fft           : NATURAL := 2;
   CONSTANT c_sdp_S_pn            : NATURAL := 12;
   CONSTANT c_sdp_S_rcu           : NATURAL := 3;
diff --git a/libraries/dsp/st/src/vhdl/st_xsq_dp_to_mm.vhd b/libraries/dsp/st/src/vhdl/st_xsq_dp_to_mm.vhd
index d3834eeea9172db07612f79c87fc0dfc10cb9fe0..c12b28090198fd721d9e5f2610f28b6db06b378e 100644
--- a/libraries/dsp/st/src/vhdl/st_xsq_dp_to_mm.vhd
+++ b/libraries/dsp/st/src/vhdl/st_xsq_dp_to_mm.vhd
@@ -66,7 +66,7 @@ BEGIN
   p_in_sosi : PROCESS(in_sosi)
   BEGIN
     in_sosi_rewired <= in_sosi;
-    in_sosi_rewired.data(g_dsp_data_w -1 DOWNTO 0)                 <= in_sosi.re(g_dsp_data_w-1 DOWNTO 0);
+    in_sosi_rewired.data(                g_dsp_data_w -1 DOWNTO 0) <= in_sosi.re(g_dsp_data_w-1 DOWNTO 0);
     in_sosi_rewired.data(c_nof_complex * g_dsp_data_w -1 DOWNTO 0) <= in_sosi.im(g_dsp_data_w-1 DOWNTO 0);
   END PROCESS;