diff --git a/applications/lofar2/images/images.txt b/applications/lofar2/images/images.txt
index 7b31fb1838b3336f4db93d8d6031825a41a878d4..bad1d5352fff4084b933d82b756a78af8def09bf 100644
--- a/applications/lofar2/images/images.txt
+++ b/applications/lofar2/images/images.txt
@@ -11,5 +11,7 @@ lofar2_unb2b_sdp_station_xsub_one-r087d98be6        | 2021-06-14    | R vd Walle
 unb2b_minimal-rce6b96eed                            | 2021-08-26    | P. Donker            | unb2b_minimal with new mmap, rbf maid with option --unb2_factory
 lofar2_unb2b_sdp_station_full-r9ff51058a            | 2022-01-12    | R vd Walle           | Old Lofar2 SDP station full design for UniBoard2b without ring.
 lofar2_unb2b_sdp_station_full-r2c3958e1f            | 2022-04-29    | R vd Walle           | Lofar2 SDP station full design for UniBoard2b.
-lofar2_unb2b_sdp_station_full_wg-r70b28ffc3         | 2022-06-15    | R vd Walle           | Lofar2 SDP station design without ADC inputs, only WG. Uses dp_clk + dp_pps instead of rx_clk + rx_sysref.
-lofar2_unb2c_sdp_station_full-r70484fd08            | 2022-04-29    | R vd Walle           | Lofar2 SDP station full design for UniBoard2c.
+lofar2_unb2b_sdp_station_full_wg-r70b28ffc3         | 2022-06-15    | R vd Walle           | Do not use, has beamlet/subband weight bug, delete when r01205cbe4 is OK.
+lofar2_unb2b_sdp_station_full_wg-r01205cbe4         | 2022-07-14    | R vd Walle           | Lofar2 SDP station design without ADC inputs, only WG. Uses dp_clk + dp_pps instead of rx_clk + rx_sysref.
+lofar2_unb2c_sdp_station_full-r70484fd08            | 2022-04-29    | R vd Walle           | Do not use, has beamlet/subband weight bug, delete when r01205cbe4 is OK.
+lofar2_unb2c_sdp_station_full-r01205cbe4            | 2022-07-14    | R vd Walle           | Lofar2 SDP station full design for UniBoard2c.
diff --git a/applications/lofar2/images/lofar2_unb2b_sdp_station_full_wg-r01205cbe4.tar.gz b/applications/lofar2/images/lofar2_unb2b_sdp_station_full_wg-r01205cbe4.tar.gz
new file mode 100644
index 0000000000000000000000000000000000000000..186b0cf9ea654534ab82ddd1ffd7c9e28e0ad5b4
Binary files /dev/null and b/applications/lofar2/images/lofar2_unb2b_sdp_station_full_wg-r01205cbe4.tar.gz differ
diff --git a/applications/lofar2/images/lofar2_unb2c_sdp_station_full-r01205cbe4.tar.gz b/applications/lofar2/images/lofar2_unb2c_sdp_station_full-r01205cbe4.tar.gz
new file mode 100644
index 0000000000000000000000000000000000000000..5fcf627d167aeb69ff14debbc11ae0d4e394a6ea
Binary files /dev/null and b/applications/lofar2/images/lofar2_unb2c_sdp_station_full-r01205cbe4.tar.gz differ
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 ec8180f396e3c3a6837878b26792c6f01f29274b..43c17b7a7734a746960722a9ccb37fe0a608027f 100644
--- a/applications/lofar2/libraries/sdp/src/vhdl/node_sdp_correlator.vhd
+++ b/applications/lofar2/libraries/sdp/src/vhdl/node_sdp_correlator.vhd
@@ -325,7 +325,7 @@ BEGIN
     g_use_mm_output           => TRUE,   
     g_rd_latency              => 1, -- Required for st_xst 
     -- for mms_dp_bsn_monitor_v2
-    g_nof_clk_per_sync        => c_sdp_N_clk_sync_timeout, -- Using c_sdp_N_clk_sync_timeout as g_nof_clk_per_sync is used for BSN monitor timeout.
+    g_nof_clk_per_sync        => c_sdp_N_clk_sync_timeout_xsub, -- Using c_sdp_N_clk_sync_timeout_xsub as g_nof_clk_per_sync is used for BSN monitor timeout.
     g_nof_input_bsn_monitors  => g_P_sq,  
     g_use_bsn_output_monitor  => TRUE  
     )
@@ -436,10 +436,11 @@ BEGIN
   xst_udp_sosi <= mon_xst_udp_sosi_arr(0);
   u_sdp_xst_udp_offload: ENTITY work.sdp_statistics_offload
   GENERIC MAP (
-    g_statistics_type     => "XST",
-    g_offload_time        => sel_a_b(g_sim, g_sim_sdp.offload_time, c_sdp_offload_time),
-    g_P_sq                => g_P_sq,
-    g_crosslets_direction => 1  -- = lane direction
+    g_statistics_type          => "XST",
+    g_offload_time             => sel_a_b(g_sim, g_sim_sdp.offload_time, c_sdp_offload_time),
+    g_P_sq                     => g_P_sq,
+    g_crosslets_direction      => 1,  -- = lane direction
+    g_bsn_monitor_sync_timeout => c_sdp_N_clk_sync_timeout_xsub
   )
   PORT MAP (
     mm_clk    => mm_clk,
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_pkg.vhd b/applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd
index 4b2746d0aeab1c70710d2f5dbdb465ce9a707f8b..524f257c78da4cc7195fb7dd50e3dc87e32e20e5 100644
--- a/applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd
+++ b/applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd
@@ -109,25 +109,26 @@ PACKAGE sdp_pkg is
   CONSTANT c_sdp_N_ring_nof_mac10g         : NATURAL := 3; -- for sdp_station_xsub_ring design.
 
   -- Derived constants
-  CONSTANT c_sdp_FS_adc               : NATURAL := 2**(c_sdp_W_adc - 1); -- full scale FS corresponds to amplitude 1.0, will just cause clipping of +FS to +FS-1
-  CONSTANT c_sdp_wg_ampl_lsb          : REAL := c_diag_wg_ampl_unit / REAL(c_sdp_FS_adc);  -- WG amplitude in number of LSbit resolution steps
-  CONSTANT c_sdp_wg_subband_freq_unit : REAL := c_diag_wg_freq_unit/REAL(c_sdp_N_fft);  -- subband freq = Fs/1024 = 200 MSps/1024 = 195312.5 Hz sinus
-  CONSTANT c_sdp_N_clk_per_sync       : NATURAL := c_sdp_f_adc_MHz*10**6;  -- Default 200M clock cycles per second
-  CONSTANT c_sdp_N_clk_sync_timeout   : NATURAL := c_sdp_f_adc_MHz*10**6 + c_sdp_f_adc_MHz*10**5;  -- 10% margin.
-  CONSTANT c_sdp_N_sync_jesd          : NATURAL := c_sdp_S_pn * c_sdp_N_sync_rcu / c_sdp_S_rcu; -- = 4, nof JESD IP sync outputs per PN
-  CONSTANT c_sdp_f_sub_Hz             : REAL := REAL(c_sdp_f_adc_MHz * 10**6) / REAL(c_sdp_N_fft);  -- = 195312.5
-  CONSTANT c_sdp_N_int                : NATURAL := c_sdp_f_adc_MHz * 10**6;  -- nof ADC sample periods per 1 s integration interval
-  CONSTANT c_sdp_N_int_sub            : REAL := c_sdp_f_sub_Hz;  -- nof subband sample periods per 1 s integration interval
-  CONSTANT c_sdp_N_int_sub_lo         : NATURAL := NATURAL(FLOOR(c_sdp_N_int_sub));  -- = 195312
-  CONSTANT c_sdp_N_int_sub_hi         : NATURAL := NATURAL(CEIL(c_sdp_N_int_sub));  -- = 195313
-  CONSTANT c_sdp_A_pn                 : NATURAL := c_sdp_S_pn / c_sdp_N_pol;  -- = 6 dual pol antenna per PN, is 6 signal input pairs
-  CONSTANT c_sdp_P_pfb                : NATURAL := c_sdp_S_pn / c_sdp_Q_fft;  -- = 6 PFB units, for 6 signal input pairs
-  CONSTANT c_sdp_T_adc                : TIME    := (10**6 / c_sdp_f_adc_MHz) * 1 ps;  -- = 5 ns @ 200MHz
-  CONSTANT c_sdp_T_sub                : TIME    := c_sdp_N_fft * c_sdp_T_adc;  -- = 5.12 us @ 200MHz
-  CONSTANT c_sdp_W_bf_product         : NATURAL := c_sdp_W_subband + c_sdp_W_bf_weight -1;
-  CONSTANT c_sdp_X_sq                 : NATURAL := c_sdp_S_pn * c_sdp_S_pn;  -- = 144
-  CONSTANT c_sdp_block_period         : NATURAL := c_sdp_N_fft * 1000 / c_sdp_f_adc_MHz;  -- = 5120 [ns]
-  CONSTANT c_sdp_N_beamlets_sdp       : NATURAL := c_sdp_N_beamsets * c_sdp_S_sub_bf;  -- = 976
+  CONSTANT c_sdp_FS_adc                  : NATURAL := 2**(c_sdp_W_adc - 1); -- full scale FS corresponds to amplitude 1.0, will just cause clipping of +FS to +FS-1
+  CONSTANT c_sdp_wg_ampl_lsb             : REAL := c_diag_wg_ampl_unit / REAL(c_sdp_FS_adc);  -- WG amplitude in number of LSbit resolution steps
+  CONSTANT c_sdp_wg_subband_freq_unit    : REAL := c_diag_wg_freq_unit/REAL(c_sdp_N_fft);  -- subband freq = Fs/1024 = 200 MSps/1024 = 195312.5 Hz sinus
+  CONSTANT c_sdp_N_clk_per_sync          : NATURAL := c_sdp_f_adc_MHz*10**6;  -- Default 200M clock cycles per second
+  CONSTANT c_sdp_N_clk_sync_timeout      : NATURAL := c_sdp_f_adc_MHz*10**6 + c_sdp_f_adc_MHz*10**5;  -- 10% margin.
+  CONSTANT c_sdp_N_clk_sync_timeout_xsub : NATURAL := 2**31 - 1;  -- 10.7 seconds = largest value for NATURAL.
+  CONSTANT c_sdp_N_sync_jesd             : NATURAL := c_sdp_S_pn * c_sdp_N_sync_rcu / c_sdp_S_rcu; -- = 4, nof JESD IP sync outputs per PN
+  CONSTANT c_sdp_f_sub_Hz                : REAL := REAL(c_sdp_f_adc_MHz * 10**6) / REAL(c_sdp_N_fft);  -- = 195312.5
+  CONSTANT c_sdp_N_int                   : NATURAL := c_sdp_f_adc_MHz * 10**6;  -- nof ADC sample periods per 1 s integration interval
+  CONSTANT c_sdp_N_int_sub               : REAL := c_sdp_f_sub_Hz;  -- nof subband sample periods per 1 s integration interval
+  CONSTANT c_sdp_N_int_sub_lo            : NATURAL := NATURAL(FLOOR(c_sdp_N_int_sub));  -- = 195312
+  CONSTANT c_sdp_N_int_sub_hi            : NATURAL := NATURAL(CEIL(c_sdp_N_int_sub));  -- = 195313
+  CONSTANT c_sdp_A_pn                    : NATURAL := c_sdp_S_pn / c_sdp_N_pol;  -- = 6 dual pol antenna per PN, is 6 signal input pairs
+  CONSTANT c_sdp_P_pfb                   : NATURAL := c_sdp_S_pn / c_sdp_Q_fft;  -- = 6 PFB units, for 6 signal input pairs
+  CONSTANT c_sdp_T_adc                   : TIME    := (10**6 / c_sdp_f_adc_MHz) * 1 ps;  -- = 5 ns @ 200MHz
+  CONSTANT c_sdp_T_sub                   : TIME    := c_sdp_N_fft * c_sdp_T_adc;  -- = 5.12 us @ 200MHz
+  CONSTANT c_sdp_W_bf_product            : NATURAL := c_sdp_W_subband + c_sdp_W_bf_weight -1;
+  CONSTANT c_sdp_X_sq                    : NATURAL := c_sdp_S_pn * c_sdp_S_pn;  -- = 144
+  CONSTANT c_sdp_block_period            : NATURAL := c_sdp_N_fft * 1000 / c_sdp_f_adc_MHz;  -- = 5120 [ns]
+  CONSTANT c_sdp_N_beamlets_sdp          : NATURAL := c_sdp_N_beamsets * c_sdp_S_sub_bf;  -- = 976
 
   -- . unit weights
   CONSTANT c_sdp_unit_sub_weight      : NATURAL := 2**c_sdp_W_sub_weight_fraction;  -- 2**13, so range +-4.0 for 16 bit signed weight
diff --git a/applications/lofar2/libraries/sdp/src/vhdl/sdp_statistics_offload.vhd b/applications/lofar2/libraries/sdp/src/vhdl/sdp_statistics_offload.vhd
index efb23c8a92d1e738b96ed7cbdbb2263ed7ed2b92..1338fe6d15b0c5bec083dd968b12817a003e259c 100644
--- a/applications/lofar2/libraries/sdp/src/vhdl/sdp_statistics_offload.vhd
+++ b/applications/lofar2/libraries/sdp/src/vhdl/sdp_statistics_offload.vhd
@@ -109,12 +109,13 @@ USE work.sdp_pkg.ALL;
 
 ENTITY sdp_statistics_offload IS
   GENERIC (
-    g_statistics_type     : STRING  := "SST";
-    g_offload_time        : NATURAL := c_sdp_offload_time;
-    g_beamset_id          : NATURAL := 0;
-    g_P_sq                : NATURAL := c_sdp_P_sq;  -- number of available correlator cells,
-    g_crosslets_direction : NATURAL := 1; -- > 0 for crosslet transport in positive direction (incrementing RN), else 0 for negative direction
-    g_reverse_word_order  : BOOLEAN := TRUE  -- default word order is MSB after LSB, we need to stream LSB after MSB.
+    g_statistics_type          : STRING  := "SST";
+    g_offload_time             : NATURAL := c_sdp_offload_time;
+    g_beamset_id               : NATURAL := 0;
+    g_P_sq                     : NATURAL := c_sdp_P_sq;  -- number of available correlator cells,
+    g_crosslets_direction      : NATURAL := 1; -- > 0 for crosslet transport in positive direction (incrementing RN), else 0 for negative direction
+    g_reverse_word_order       : BOOLEAN := TRUE;  -- default word order is MSB after LSB, we need to stream LSB after MSB.
+    g_bsn_monitor_sync_timeout : NATURAL := c_sdp_N_clk_sync_timeout
   );
   PORT (
     -- Clocks and reset
@@ -575,7 +576,7 @@ BEGIN
   GENERIC MAP (
     g_nof_streams        => 1,  
     g_cross_clock_domain => TRUE,
-    g_sync_timeout       => c_sdp_N_clk_sync_timeout,
+    g_sync_timeout       => g_bsn_monitor_sync_timeout,
     g_bsn_w              => c_dp_stream_bsn_w,
     g_error_bi           => 0,
     g_cnt_sop_w          => c_word_w,
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,
diff --git a/libraries/technology/jesd204b/tech_jesd204b.peripheral.yaml b/libraries/technology/jesd204b/tech_jesd204b.peripheral.yaml
index 39125f424499c9c9c3793f229d2711024798dfa6..4dcb02e027356ec88766d3e8a895db9af14e8584 100644
--- a/libraries/technology/jesd204b/tech_jesd204b.peripheral.yaml
+++ b/libraries/technology/jesd204b/tech_jesd204b.peripheral.yaml
@@ -21,8 +21,8 @@ peripherals:
               bit_offset: 31
               mm_width: 1
               access_mode: RW
-          - - field_name: enable
-              field_description: "Enable JESD signal input i by setting bit i = 1, disable by clearing bit i = 0."
+          - - field_name: disable
+              field_description: "Disable JESD signal input i by setting bit i = 1, enable by clearing bit i = 0."
               address_offset: 0x0
               bit_offset: 0
               mm_width: 31