diff --git a/applications/ta2/bsp/hardware/lofar2_unb2b_ring_bsp/hdllib.cfg b/applications/ta2/bsp/hardware/lofar2_unb2b_ring_bsp/hdllib.cfg
index ace9b64de9092802dd715030d2baa8996480848b..7affbbc077a8e51ea5819184ea9ea1862d6b1ea1 100644
--- a/applications/ta2/bsp/hardware/lofar2_unb2b_ring_bsp/hdllib.cfg
+++ b/applications/ta2/bsp/hardware/lofar2_unb2b_ring_bsp/hdllib.cfg
@@ -1,6 +1,6 @@
 hdl_lib_name = lofar2_unb2b_ring_bsp
 hdl_library_clause_name = lofar2_unb2b_ring_bsp_lib
-hdl_lib_uses_synth = common technology tech_pll dp unb2b_board diag ta2_channel_cross ta2_unb2b_10GbE ta2_unb2b_mm_io lofar2_sdp 
+hdl_lib_uses_synth = common technology tech_pll dp mm unb2b_board diag ta2_channel_cross ta2_unb2b_10GbE ta2_unb2b_mm_io lofar2_sdp 
 hdl_lib_uses_sim = 
 hdl_lib_technology = ip_arria10_e1sg
 hdl_lib_include_ip = 
@@ -15,6 +15,7 @@ synth_files =
   top.vhd
 
 test_bench_files =     
+  tb_lofar2_unb2b_ring_bsp.vhd
 
 regression_test_vhdl = 
     
diff --git a/applications/ta2/bsp/hardware/lofar2_unb2b_ring_bsp/tb_lofar2_unb2b_ring_bsp.vhd b/applications/ta2/bsp/hardware/lofar2_unb2b_ring_bsp/tb_lofar2_unb2b_ring_bsp.vhd
index 8a5ce16825a7393c3b9704fd7b9ca3e21f6c1edd..46c7e12f44e5c629900412bd1323cc9ee54bd259 100644
--- a/applications/ta2/bsp/hardware/lofar2_unb2b_ring_bsp/tb_lofar2_unb2b_ring_bsp.vhd
+++ b/applications/ta2/bsp/hardware/lofar2_unb2b_ring_bsp/tb_lofar2_unb2b_ring_bsp.vhd
@@ -153,7 +153,6 @@ BEGIN
   -- External PPS
   ------------------------------------------------------------------------------  
   proc_common_gen_pulse(1, c_pps_period, '1', pps_rst, ext_clk, pps);
-  jesd204b_sysref <= pps;
   ext_pps <= pps;
 
   ------------------------------------------------------------------------------
@@ -165,7 +164,7 @@ BEGIN
     g_design_note            => "",
     g_sim                    => c_sim,
     g_sim_unb_nr             => c_unb_nr,
-    g_sim_node_nr            => c_node_nr,
+    g_sim_node_nr            => c_node_nr
   )
   PORT MAP (
     -- GENERAL
@@ -296,7 +295,7 @@ BEGIN
 
 
     mmf_mm_bus_wr(c_mm_file_reg_bg_ctrl, 0, 3                   , tb_clk);  
-    proc_common_wait_some_cycles(ext_clk, 5* c_nof_block_per_sync * 1000);
+    proc_common_wait_some_cycles(ext_clk, 2* c_nof_block_per_sync * 1000);
 
     ---------------------------------------------------------------------------
     -- Read TX monitor
diff --git a/applications/ta2/bsp/hardware/lofar2_unb2b_ring_bsp/top.vhd b/applications/ta2/bsp/hardware/lofar2_unb2b_ring_bsp/top.vhd
index 212c386342d030d75eb45cba1bde779e88044f79..6e32616d56255d5d8d7b7fa5760a601f065a93ec 100644
--- a/applications/ta2/bsp/hardware/lofar2_unb2b_ring_bsp/top.vhd
+++ b/applications/ta2/bsp/hardware/lofar2_unb2b_ring_bsp/top.vhd
@@ -30,12 +30,14 @@
 --   . M&C
 -- --------------------------------------------------------------------------
 
-LIBRARY IEEE, common_lib, unb2b_board_lib, technology_lib, tech_pll_lib, dp_lib, diag_lib, ta2_channel_cross_lib, ta2_unb2b_10gbe_lib, ta2_unb2b_mm_io_lib, lofar2_sdp_lib;
+LIBRARY IEEE, common_lib, unb2b_board_lib, technology_lib, tech_pll_lib, dp_lib, diag_lib, mm_lib, ta2_channel_cross_lib, ta2_unb2b_10gbe_lib, ta2_unb2b_mm_io_lib, lofar2_sdp_lib;
 USE IEEE.STD_LOGIC_1164.ALL;
 USE IEEE.NUMERIC_STD.ALL;
 USE common_lib.common_pkg.ALL;
 USE common_lib.common_mem_pkg.ALL;
 USE technology_lib.technology_pkg.ALL;
+USE mm_lib.mm_file_pkg.ALL;
+USE mm_lib.mm_file_unb_pkg.ALL;
 USE unb2b_board_lib.unb2b_board_pkg.ALL;
 USE unb2b_board_lib.unb2b_board_peripherals_pkg.ALL;
 USE dp_lib.dp_stream_pkg.ALL;
@@ -109,6 +111,8 @@ ARCHITECTURE str OF top IS
   ---------------
   -- Constants 
   ---------------
+  CONSTANT c_sim_node_type : STRING(1 TO 2):= "FN";
+
   -- QSFP
   CONSTANT c_nof_qsfp_bus           : NATURAL := 1;
   CONSTANT c_nof_streams_qsfp       : NATURAL := c_unb2b_board_tr_qsfp.bus_w*c_nof_qsfp_bus; --4
@@ -687,7 +691,8 @@ BEGIN
     -----------------------------------------------------------------------------
     u_dp_demux_rx_monitor : ENTITY dp_lib.dp_demux
     GENERIC MAP(
-      g_nof_output => g_nof_rx_monitors
+      g_nof_output => g_nof_rx_monitors,
+      g_sel_ctrl_invert => TRUE
     )
     PORT MAP(
       rst => st_rst,
@@ -725,7 +730,8 @@ BEGIN
     -----------------------------------------------------------------------------
     u_dp_demux_tx_monitor : ENTITY dp_lib.dp_demux
     GENERIC MAP(
-      g_nof_output => g_nof_tx_monitors
+      g_nof_output => g_nof_tx_monitors,
+      g_sel_ctrl_invert => TRUE
     )
     PORT MAP(
       rst => st_rst,
@@ -932,7 +938,7 @@ BEGIN
   -----------------------------------------------------------------------------
   -- Freeze wrapper instantiation 
   -----------------------------------------------------------------------------
-  gen_opencl: IF g_sim = FLASE GENERATE 
+  gen_opencl: IF g_sim = FALSE GENERATE 
   freeze_wrapper_inst : freeze_wrapper
   PORT MAP(
     board_kernel_clk_clk                        => board_kernel_clk_clk,  
@@ -1172,20 +1178,21 @@ BEGIN
 
   gen_sim: IF g_sim = TRUE GENERATE
     i_kernel_rst <= NOT i_reset_n;
+    board_kernel_clk_clk <= st_clk;
     
-    u_mm_file_reg_sdp_info           : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_SDP_INFO")
+    u_mm_file_reg_sdp_info           : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, g_sim_node_nr, c_sim_node_type) & "REG_SDP_INFO")
                                               PORT MAP(mm_rst, mm_clk, reg_sdp_info_mosi, reg_sdp_info_miso );
-    u_mm_file_reg_dp_xonoff_bg       : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DP_XONOFF_BG")
+    u_mm_file_reg_dp_xonoff_bg       : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, g_sim_node_nr, c_sim_node_type) & "REG_DP_XONOFF_BG")
                                               PORT MAP(mm_rst, mm_clk, reg_dp_xonoff_bg_mosi, reg_dp_xonoff_bg_miso );
-    u_mm_file_reg_dp_xonoff_from_lane: mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DP_XONOFF_FROM_LANE")
+    u_mm_file_reg_dp_xonoff_from_lane: mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, g_sim_node_nr, c_sim_node_type) & "REG_DP_XONOFF_FROM_LANE")
                                               PORT MAP(mm_rst, mm_clk, reg_dp_xonoff_from_lane_mosi, reg_dp_xonoff_from_lane_miso );
-    u_mm_file_reg_bsn_monitor_rx     : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_MONITOR_V2_RX")
+    u_mm_file_reg_bsn_monitor_rx     : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, g_sim_node_nr, c_sim_node_type) & "REG_BSN_MONITOR_V2_RX")
                                                 PORT MAP(mm_rst, mm_clk, reg_bsn_monitor_v2_rx_mosi, reg_bsn_monitor_v2_rx_miso );
-    u_mm_file_reg_bsn_monitor_tx     : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_MONITOR_V2_TX")
+    u_mm_file_reg_bsn_monitor_tx     : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, g_sim_node_nr, c_sim_node_type) & "REG_BSN_MONITOR_V2_TX")
                                                 PORT MAP(mm_rst, mm_clk, reg_bsn_monitor_v2_tx_mosi, reg_bsn_monitor_v2_tx_miso );
-    u_mm_file_reg_bg_ctrl            : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DIAG_BG_RING")
+    u_mm_file_reg_bg_ctrl            : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, g_sim_node_nr, c_sim_node_type) & "REG_DIAG_BG_RING")
                                               PORT MAP(mm_rst, mm_clk, reg_bg_ctrl_mosi, reg_bg_ctrl_miso );
-  END GENERATE
+  END GENERATE;
 
   i_reset_n <= NOT mm_rst; -- First reset OpenCL components in qsys (board)
   -- Kernel should start later than BSP. Delaying the reset from the qsys output to form the reset of the OpenCL kernel.