diff --git a/boards/uniboard2/designs/unb2_test/quartus/qsys_unb2_test.qsys b/boards/uniboard2/designs/unb2_test/quartus/qsys_unb2_test.qsys
index 0776996779c75dcf4e92d1fc534c60fae1018ec7..a664ad91c196138ad086c25c8629125b80ec493b 100644
--- a/boards/uniboard2/designs/unb2_test/quartus/qsys_unb2_test.qsys
+++ b/boards/uniboard2/designs/unb2_test/quartus/qsys_unb2_test.qsys
@@ -29,7 +29,7 @@
    {
       datum baseAddress
       {
-         value = "303104";
+         value = "24576";
          type = "String";
       }
    }
@@ -178,7 +178,7 @@
    {
       datum _sortIndex
       {
-         value = "29";
+         value = "28";
          type = "int";
       }
    }
@@ -194,7 +194,7 @@
    {
       datum _sortIndex
       {
-         value = "27";
+         value = "26";
          type = "int";
       }
    }
@@ -218,7 +218,7 @@
    {
       datum baseAddress
       {
-         value = "294912";
+         value = "16384";
          type = "String";
       }
    }
@@ -226,7 +226,7 @@
    {
       datum _sortIndex
       {
-         value = "28";
+         value = "27";
          type = "int";
       }
    }
@@ -242,7 +242,7 @@
    {
       datum _sortIndex
       {
-         value = "26";
+         value = "25";
          type = "int";
       }
    }
@@ -302,22 +302,6 @@
          type = "String";
       }
    }
-   element reg_dp_offload_tx_hdr_ovr
-   {
-      datum _sortIndex
-      {
-         value = "25";
-         type = "int";
-      }
-   }
-   element reg_dp_offload_tx_hdr_ovr.mem
-   {
-      datum baseAddress
-      {
-         value = "16384";
-         type = "String";
-      }
-   }
    element reg_dpmm_ctrl
    {
       datum _sortIndex
@@ -974,41 +958,6 @@
    internal="reg_dp_offload_tx_hdr_dat.writedata"
    type="conduit"
    dir="end" />
- <interface
-   name="reg_dp_offload_tx_hdr_ovr_address"
-   internal="reg_dp_offload_tx_hdr_ovr.address"
-   type="conduit"
-   dir="end" />
- <interface
-   name="reg_dp_offload_tx_hdr_ovr_clk"
-   internal="reg_dp_offload_tx_hdr_ovr.clk"
-   type="conduit"
-   dir="end" />
- <interface
-   name="reg_dp_offload_tx_hdr_ovr_read"
-   internal="reg_dp_offload_tx_hdr_ovr.read"
-   type="conduit"
-   dir="end" />
- <interface
-   name="reg_dp_offload_tx_hdr_ovr_readdata"
-   internal="reg_dp_offload_tx_hdr_ovr.readdata"
-   type="conduit"
-   dir="end" />
- <interface
-   name="reg_dp_offload_tx_hdr_ovr_reset"
-   internal="reg_dp_offload_tx_hdr_ovr.reset"
-   type="conduit"
-   dir="end" />
- <interface
-   name="reg_dp_offload_tx_hdr_ovr_write"
-   internal="reg_dp_offload_tx_hdr_ovr.write"
-   type="conduit"
-   dir="end" />
- <interface
-   name="reg_dp_offload_tx_hdr_ovr_writedata"
-   internal="reg_dp_offload_tx_hdr_ovr.writedata"
-   type="conduit"
-   dir="end" />
  <interface
    name="reg_dp_offload_tx_read"
    internal="reg_dp_offload_tx.read"
@@ -1481,7 +1430,7 @@
   <parameter name="dataAddrWidth" value="23" />
   <parameter name="dataMasterHighPerformanceAddrWidth" value="1" />
   <parameter name="dataMasterHighPerformanceMapParam" value="" />
-  <parameter name="dataSlaveMapParam"><![CDATA[<address-map><slave name='pio_system_info.mem' start='0x0' end='0x80' /><slave name='reg_diag_data_buffer.mem' start='0x80' end='0x100' /><slave name='avs_eth_0.mms_reg' start='0x100' end='0x140' /><slave name='timer_0.s1' start='0x140' end='0x160' /><slave name='reg_diag_bg.mem' start='0x160' end='0x180' /><slave name='reg_epcs.mem' start='0x180' end='0x1A0' /><slave name='reg_remu.mem' start='0x1A0' end='0x1C0' /><slave name='reg_unb_sens.mem' start='0x1C0' end='0x1E0' /><slave name='pio_wdi.s1' start='0x1E0' end='0x1F0' /><slave name='reg_mmdp_data.mem' start='0x1F0' end='0x1F8' /><slave name='reg_mmdp_ctrl.mem' start='0x1F8' end='0x200' /><slave name='reg_dpmm_data.mem' start='0x200' end='0x208' /><slave name='reg_dpmm_ctrl.mem' start='0x208' end='0x210' /><slave name='pio_pps.mem' start='0x210' end='0x218' /><slave name='jtag_uart_0.avalon_jtag_slave' start='0x218' end='0x220' /><slave name='reg_dp_offload_tx.mem' start='0x400' end='0x800' /><slave name='rom_system_info.mem' start='0x1000' end='0x2000' /><slave name='avs_eth_0.mms_tse' start='0x2000' end='0x3000' /><slave name='reg_wdi.mem' start='0x3000' end='0x3008' /><slave name='cpu_0.debug_mem_slave' start='0x3800' end='0x4000' /><slave name='reg_dp_offload_tx_hdr_ovr.mem' start='0x4000' end='0x8000' /><slave name='reg_dp_offload_rx_hdr_dat.mem' start='0x8000' end='0x10000' /><slave name='ram_diag_data_buffer.mem' start='0x10000' end='0x20000' /><slave name='onchip_memory2_0.s1' start='0x20000' end='0x40000' /><slave name='reg_dp_offload_tx_hdr_dat.mem' start='0x40000' end='0x48000' /><slave name='reg_bsn_monitor.mem' start='0x48000' end='0x4A000' /><slave name='avs_eth_0.mms_ram' start='0x4A000' end='0x4B000' /><slave name='ram_diag_bg.mem' start='0x80000' end='0x100000' /><slave name='reg_tr_10GbE_back1.mem' start='0x100000' end='0x200000' /><slave name='reg_tr_10GbE_qsfp_ring.mem' start='0x200000' end='0x400000' /><slave name='reg_tr_10GbE_back0.mem' start='0x400000' end='0x500000' /></address-map>]]></parameter>
+  <parameter name="dataSlaveMapParam"><![CDATA[<address-map><slave name='pio_system_info.mem' start='0x0' end='0x80' /><slave name='reg_diag_data_buffer.mem' start='0x80' end='0x100' /><slave name='avs_eth_0.mms_reg' start='0x100' end='0x140' /><slave name='timer_0.s1' start='0x140' end='0x160' /><slave name='reg_diag_bg.mem' start='0x160' end='0x180' /><slave name='reg_epcs.mem' start='0x180' end='0x1A0' /><slave name='reg_remu.mem' start='0x1A0' end='0x1C0' /><slave name='reg_unb_sens.mem' start='0x1C0' end='0x1E0' /><slave name='pio_wdi.s1' start='0x1E0' end='0x1F0' /><slave name='reg_mmdp_data.mem' start='0x1F0' end='0x1F8' /><slave name='reg_mmdp_ctrl.mem' start='0x1F8' end='0x200' /><slave name='reg_dpmm_data.mem' start='0x200' end='0x208' /><slave name='reg_dpmm_ctrl.mem' start='0x208' end='0x210' /><slave name='pio_pps.mem' start='0x210' end='0x218' /><slave name='jtag_uart_0.avalon_jtag_slave' start='0x218' end='0x220' /><slave name='reg_dp_offload_tx.mem' start='0x400' end='0x800' /><slave name='rom_system_info.mem' start='0x1000' end='0x2000' /><slave name='avs_eth_0.mms_tse' start='0x2000' end='0x3000' /><slave name='reg_wdi.mem' start='0x3000' end='0x3008' /><slave name='cpu_0.debug_mem_slave' start='0x3800' end='0x4000' /><slave name='reg_bsn_monitor.mem' start='0x4000' end='0x6000' /><slave name='avs_eth_0.mms_ram' start='0x6000' end='0x7000' /><slave name='reg_dp_offload_rx_hdr_dat.mem' start='0x8000' end='0x10000' /><slave name='ram_diag_data_buffer.mem' start='0x10000' end='0x20000' /><slave name='onchip_memory2_0.s1' start='0x20000' end='0x40000' /><slave name='reg_dp_offload_tx_hdr_dat.mem' start='0x40000' end='0x48000' /><slave name='ram_diag_bg.mem' start='0x80000' end='0x100000' /><slave name='reg_tr_10GbE_back1.mem' start='0x100000' end='0x200000' /><slave name='reg_tr_10GbE_qsfp_ring.mem' start='0x200000' end='0x400000' /><slave name='reg_tr_10GbE_back0.mem' start='0x400000' end='0x500000' /></address-map>]]></parameter>
   <parameter name="data_master_high_performance_paddr_base" value="0" />
   <parameter name="data_master_high_performance_paddr_size" value="0" />
   <parameter name="data_master_paddr_base" value="0" />
@@ -1769,15 +1718,6 @@
   <parameter name="g_adr_w" value="13" />
   <parameter name="g_dat_w" value="32" />
  </module>
- <module
-   name="reg_dp_offload_tx_hdr_ovr"
-   kind="avs_common_mm"
-   version="1.0"
-   enabled="1">
-  <parameter name="AUTO_SYSTEM_CLOCK_RATE" value="50000000" />
-  <parameter name="g_adr_w" value="12" />
-  <parameter name="g_dat_w" value="32" />
- </module>
  <module name="reg_dpmm_ctrl" kind="avs_common_mm" version="1.0" enabled="1">
   <parameter name="AUTO_SYSTEM_CLOCK_RATE" value="50000000" />
   <parameter name="g_adr_w" value="1" />
@@ -1993,7 +1933,7 @@
    start="cpu_0.data_master"
    end="reg_bsn_monitor.mem">
   <parameter name="arbitrationPriority" value="1" />
-  <parameter name="baseAddress" value="0x00048000" />
+  <parameter name="baseAddress" value="0x4000" />
   <parameter name="defaultConnection" value="false" />
  </connection>
  <connection
@@ -2023,15 +1963,6 @@
   <parameter name="baseAddress" value="0x8000" />
   <parameter name="defaultConnection" value="false" />
  </connection>
- <connection
-   kind="avalon"
-   version="14.1"
-   start="cpu_0.data_master"
-   end="reg_dp_offload_tx_hdr_ovr.mem">
-  <parameter name="arbitrationPriority" value="1" />
-  <parameter name="baseAddress" value="0x4000" />
-  <parameter name="defaultConnection" value="false" />
- </connection>
  <connection
    kind="avalon"
    version="14.1"
@@ -2092,7 +2023,7 @@
    start="cpu_0.data_master"
    end="avs_eth_0.mms_ram">
   <parameter name="arbitrationPriority" value="1" />
-  <parameter name="baseAddress" value="0x0004a000" />
+  <parameter name="baseAddress" value="0x6000" />
   <parameter name="defaultConnection" value="false" />
  </connection>
  <connection
@@ -2232,11 +2163,6 @@
    version="14.1"
    start="clk_0.clk"
    end="reg_dp_offload_rx_hdr_dat.system" />
- <connection
-   kind="clock"
-   version="14.1"
-   start="clk_0.clk"
-   end="reg_dp_offload_tx_hdr_ovr.system" />
  <connection
    kind="clock"
    version="14.1"
@@ -2390,11 +2316,6 @@
    version="14.1"
    start="clk_0.clk_reset"
    end="reg_dp_offload_rx_hdr_dat.system_reset" />
- <connection
-   kind="reset"
-   version="14.1"
-   start="clk_0.clk_reset"
-   end="reg_dp_offload_tx_hdr_ovr.system_reset" />
  <connection
    kind="reset"
    version="14.1"
@@ -2535,11 +2456,6 @@
    version="14.1"
    start="cpu_0.debug_reset_request"
    end="reg_dp_offload_rx_hdr_dat.system_reset" />
- <connection
-   kind="reset"
-   version="14.1"
-   start="cpu_0.debug_reset_request"
-   end="reg_dp_offload_tx_hdr_ovr.system_reset" />
  <connection
    kind="reset"
    version="14.1"
diff --git a/boards/uniboard2/designs/unb2_test/src/vhdl/mmm_unb2_test.vhd b/boards/uniboard2/designs/unb2_test/src/vhdl/mmm_unb2_test.vhd
index fc08b69e9fc5395b2a23462d18a68074165a43a7..bd6f13a9d1f870a1e24e9d98588d37d7c4bab4b2 100644
--- a/boards/uniboard2/designs/unb2_test/src/vhdl/mmm_unb2_test.vhd
+++ b/boards/uniboard2/designs/unb2_test/src/vhdl/mmm_unb2_test.vhd
@@ -120,9 +120,6 @@ ENTITY mmm_unb2_test IS
     reg_dp_offload_tx_hdr_dat_mosi : OUT t_mem_mosi;
     reg_dp_offload_tx_hdr_dat_miso : IN  t_mem_miso;
 
-    reg_dp_offload_tx_hdr_ovr_mosi : OUT t_mem_mosi;
-    reg_dp_offload_tx_hdr_ovr_miso : IN  t_mem_miso;
-
     reg_dp_offload_rx_hdr_dat_mosi : OUT t_mem_mosi;
     reg_dp_offload_rx_hdr_dat_miso : IN  t_mem_miso;
 
@@ -163,10 +160,6 @@ ARCHITECTURE str OF mmm_unb2_test IS
   CONSTANT c_reg_dp_offload_tx_hdr_dat_adr_w       : NATURAL := ceil_log2(c_reg_dp_offload_tx_hdr_dat_nof_words);
   CONSTANT c_reg_dp_offload_tx_hdr_dat_multi_adr_w : NATURAL := ceil_log2(g_nof_streams* pow2(c_reg_dp_offload_tx_hdr_dat_adr_w));
 
-  CONSTANT c_reg_dp_offload_tx_hdr_ovr_nof_words   : NATURAL := g_hdr_field_arr'LENGTH;
-  CONSTANT c_reg_dp_offload_tx_hdr_ovr_adr_w       : NATURAL := ceil_log2(c_reg_dp_offload_tx_hdr_ovr_nof_words);
-  CONSTANT c_reg_dp_offload_tx_hdr_ovr_multi_adr_w : NATURAL := ceil_log2(g_nof_streams* pow2(c_reg_dp_offload_tx_hdr_ovr_adr_w));
-
   CONSTANT c_reg_dp_offload_rx_hdr_dat_nof_words   : NATURAL := field_nof_words(g_hdr_field_arr, c_word_w);
   CONSTANT c_reg_dp_offload_rx_hdr_dat_adr_w       : NATURAL := ceil_log2(c_reg_dp_offload_rx_hdr_dat_nof_words);
   CONSTANT c_reg_dp_offload_rx_hdr_dat_multi_adr_w : NATURAL := ceil_log2(g_nof_streams* pow2(c_reg_dp_offload_rx_hdr_dat_adr_w));
@@ -244,9 +237,6 @@ BEGIN
     u_mm_file_reg_dp_offload_tx_hdr_dat : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DP_OFFLOAD_TX_HDR_DAT")
                                                      PORT MAP(mm_rst, mm_clk, reg_dp_offload_tx_hdr_dat_mosi, reg_dp_offload_tx_hdr_dat_miso );
 
-    u_mm_file_reg_dp_offload_tx_hdr_ovr : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DP_OFFLOAD_TX_HDR_OVR")
-                                                     PORT MAP(mm_rst, mm_clk, reg_dp_offload_tx_hdr_ovr_mosi, reg_dp_offload_tx_hdr_ovr_miso );
-
     u_mm_file_reg_dp_offload_rx_hdr_dat : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DP_OFFLOAD_RX_HDR_DAT")
                                                      PORT MAP(mm_rst, mm_clk, reg_dp_offload_rx_hdr_dat_mosi, reg_dp_offload_rx_hdr_dat_miso );
 
@@ -490,14 +480,6 @@ BEGIN
       reg_dp_offload_rx_hdr_dat_read_export      => reg_dp_offload_rx_hdr_dat_mosi.rd,
       reg_dp_offload_rx_hdr_dat_readdata_export  => reg_dp_offload_rx_hdr_dat_miso.rddata(c_word_w-1 DOWNTO 0),
 
-      reg_dp_offload_tx_hdr_ovr_reset_export     => OPEN,
-      reg_dp_offload_tx_hdr_ovr_clk_export       => OPEN,
-      reg_dp_offload_tx_hdr_ovr_address_export   => reg_dp_offload_tx_hdr_ovr_mosi.address(c_reg_dp_offload_tx_hdr_ovr_multi_adr_w-1 DOWNTO 0),
-      reg_dp_offload_tx_hdr_ovr_write_export     => reg_dp_offload_tx_hdr_ovr_mosi.wr,
-      reg_dp_offload_tx_hdr_ovr_writedata_export => reg_dp_offload_tx_hdr_ovr_mosi.wrdata(c_word_w-1 DOWNTO 0),
-      reg_dp_offload_tx_hdr_ovr_read_export      => reg_dp_offload_tx_hdr_ovr_mosi.rd,
-      reg_dp_offload_tx_hdr_ovr_readdata_export  => reg_dp_offload_tx_hdr_ovr_miso.rddata(c_word_w-1 DOWNTO 0),
-
       reg_diag_data_buffer_reset_export          => OPEN,
       reg_diag_data_buffer_clk_export            => OPEN,
       reg_diag_data_buffer_address_export        => reg_diag_data_buf_mosi.address(c_unb2_board_peripherals_mm_reg_default.reg_diag_db_adr_w-1 DOWNTO 0),
diff --git a/boards/uniboard2/designs/unb2_test/src/vhdl/qsys_unb2_test_pkg.vhd b/boards/uniboard2/designs/unb2_test/src/vhdl/qsys_unb2_test_pkg.vhd
index b09f62aff26781e9cc0bf5b046286626a8eb7fcd..2e5da620a8b0c0af0fb5ebeb46b7210a672f39a4 100644
--- a/boards/uniboard2/designs/unb2_test/src/vhdl/qsys_unb2_test_pkg.vhd
+++ b/boards/uniboard2/designs/unb2_test/src/vhdl/qsys_unb2_test_pkg.vhd
@@ -189,14 +189,6 @@ PACKAGE qsys_unb2_test_pkg IS
             reg_dp_offload_rx_hdr_dat_read_export      : out std_logic;                                        -- export
             reg_dp_offload_rx_hdr_dat_readdata_export  : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
 
-            reg_dp_offload_tx_hdr_ovr_reset_export     : out std_logic;                                        -- export
-            reg_dp_offload_tx_hdr_ovr_clk_export       : out std_logic;                                        -- export
-            reg_dp_offload_tx_hdr_ovr_address_export   : out std_logic_vector(12-1 downto 0);                     -- export
-            reg_dp_offload_tx_hdr_ovr_write_export     : out std_logic;                                        -- export
-            reg_dp_offload_tx_hdr_ovr_writedata_export : out std_logic_vector(31 downto 0);                    -- export
-            reg_dp_offload_tx_hdr_ovr_read_export      : out std_logic;                                        -- export
-            reg_dp_offload_tx_hdr_ovr_readdata_export  : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-
             reg_diag_data_buffer_reset_export         : out std_logic;                                        -- export
             reg_diag_data_buffer_clk_export           : out std_logic;                                        -- export
             reg_diag_data_buffer_address_export       : out std_logic_vector(4 downto 0);                     -- export
diff --git a/boards/uniboard2/designs/unb2_test/src/vhdl/unb2_test.vhd b/boards/uniboard2/designs/unb2_test/src/vhdl/unb2_test.vhd
index e7dde03675a2c9f29533f20b7157c909c7ccbdaa..72f970100c9817e4b62249f01d82714b2c731a3f 100644
--- a/boards/uniboard2/designs/unb2_test/src/vhdl/unb2_test.vhd
+++ b/boards/uniboard2/designs/unb2_test/src/vhdl/unb2_test.vhd
@@ -47,6 +47,7 @@ ENTITY unb2_test IS
     g_stamp_time       : NATURAL := 0;  -- Time (HHMMSS)   -- set by QSF
     g_stamp_svn        : NATURAL := 0;  -- SVN revision    -- set by QSF
     g_factory_image    : BOOLEAN := FALSE;
+    g_nof_streams_1GbE : NATURAL := 0;
     g_nof_streams_qsfp : NATURAL := c_unb2_board_tr_qsfp.nof_bus * c_unb2_board_tr_qsfp.bus_w;
     g_nof_streams_ring : NATURAL := c_unb2_board_tr_ring.nof_bus * c_unb2_board_tr_ring.bus_w;
     g_nof_streams_back0: NATURAL := c_unb2_board_tr_back.bus_w;
@@ -121,20 +122,17 @@ END unb2_test;
 ARCHITECTURE str OF unb2_test IS
 
   -- Firmware version x.y
-  CONSTANT c_fw_version             : t_unb2_board_fw_version := (1, 1);
-
-  CONSTANT c_lpbk_data_w                : NATURAL := 32; -- 128 c_eth_data_w, c_xgmii_data_w
+  CONSTANT c_fw_version                 : t_unb2_board_fw_version := (1, 1);
 
   -- Revision controlled constants
   CONSTANT c_use_1GbE                   : BOOLEAN := FALSE; --g_design_name = "unb2_test_1GbE";
   CONSTANT c_use_10GbE                  : BOOLEAN := TRUE;  --g_design_name = "unb2_test_10GbE";
-  CONSTANT g_nof_streams                : NATURAL := g_nof_streams_qsfp + g_nof_streams_ring + g_nof_streams_back0 + g_nof_streams_back1;
+  CONSTANT g_nof_streams                : NATURAL := g_nof_streams_qsfp + g_nof_streams_ring + g_nof_streams_back0 + g_nof_streams_back1 + g_nof_streams_1GbE;
   CONSTANT g_nof_qsfp_bus               : NATURAL := ceil_div(g_nof_streams_qsfp,c_unb2_board_tr_qsfp.bus_w);
   CONSTANT g_nof_ring_bus               : NATURAL := ceil_div(g_nof_streams_ring,c_unb2_board_tr_ring.bus_w);
   CONSTANT g_nof_back_bus               : NATURAL := ceil_div(g_nof_streams_back0,c_unb2_board_tr_back.bus_w) + ceil_div(g_nof_streams_back1,c_unb2_board_tr_back.bus_w);
-  CONSTANT c_data_w                     : NATURAL := sel_a_b(FALSE,  c_lpbk_data_w, -- Select correct c_data_w when one interface is used
-                                                     sel_a_b(c_use_1GbE,  c_eth_data_w,
-                                                     sel_a_b(c_use_10GbE, c_xgmii_data_w, 0)));
+  CONSTANT c_data_w                     : NATURAL := sel_a_b(c_use_1GbE,  c_eth_data_w,
+                                                     sel_a_b(c_use_10GbE, c_xgmii_data_w, 0));
 
 
   -- Block generator
@@ -298,14 +296,14 @@ ARCHITECTURE str OF unb2_test IS
   SIGNAL reg_tr_10GbE_back1_mosi         : t_mem_mosi;
   SIGNAL reg_tr_10GbE_back1_miso         : t_mem_miso;
 
-  SIGNAL reg_dp_ram_from_mm_mosi    : t_mem_mosi;
-  SIGNAL reg_dp_ram_from_mm_miso    : t_mem_miso := c_mem_miso_rst;
+  SIGNAL reg_dp_ram_from_mm_mosi         : t_mem_mosi;
+  SIGNAL reg_dp_ram_from_mm_miso         : t_mem_miso := c_mem_miso_rst;
 
-  SIGNAL ram_dp_ram_from_mm_mosi    : t_mem_mosi;
-  SIGNAL ram_dp_ram_from_mm_miso    : t_mem_miso := c_mem_miso_rst;
+  SIGNAL ram_dp_ram_from_mm_mosi         : t_mem_mosi;
+  SIGNAL ram_dp_ram_from_mm_miso         : t_mem_miso := c_mem_miso_rst;
 
-  SIGNAL ram_dp_ram_to_mm_mosi      : t_mem_mosi;
-  SIGNAL ram_dp_ram_to_mm_miso      : t_mem_miso;
+  SIGNAL ram_dp_ram_to_mm_mosi           : t_mem_mosi;
+  SIGNAL ram_dp_ram_to_mm_miso           : t_mem_miso;
 
 
   SIGNAL reg_diag_bg_mosi               : t_mem_mosi;
@@ -317,8 +315,6 @@ ARCHITECTURE str OF unb2_test IS
   SIGNAL reg_dp_offload_tx_miso         : t_mem_miso;
   SIGNAL reg_dp_offload_tx_hdr_dat_mosi : t_mem_mosi;
   SIGNAL reg_dp_offload_tx_hdr_dat_miso : t_mem_miso;
-  SIGNAL reg_dp_offload_tx_hdr_ovr_mosi : t_mem_mosi;
-  SIGNAL reg_dp_offload_tx_hdr_ovr_miso : t_mem_miso;
   SIGNAL reg_dp_offload_rx_hdr_dat_mosi : t_mem_mosi;
   SIGNAL reg_dp_offload_rx_hdr_dat_miso : t_mem_miso;
 
@@ -332,6 +328,9 @@ ARCHITECTURE str OF unb2_test IS
   SIGNAL block_gen_src_out_arr          : t_dp_sosi_arr(g_nof_streams-1 DOWNTO 0);
   SIGNAL block_gen_src_in_arr           : t_dp_siso_arr(g_nof_streams-1 DOWNTO 0) := (OTHERS=> c_dp_siso_rdy);
 
+  SIGNAL fifo_block_gen_src_out_arr     : t_dp_sosi_arr(g_nof_streams-1 DOWNTO 0);
+  SIGNAL fifo_block_gen_src_in_arr      : t_dp_siso_arr(g_nof_streams-1 DOWNTO 0) := (OTHERS=> c_dp_siso_rdy);
+
   SIGNAL dp_offload_tx_src_out_arr      : t_dp_sosi_arr(g_nof_streams-1 DOWNTO 0);
   SIGNAL dp_offload_tx_src_in_arr       : t_dp_siso_arr(g_nof_streams-1 DOWNTO 0);
 
@@ -348,10 +347,10 @@ ARCHITECTURE str OF unb2_test IS
   SIGNAL user_red_led_arr               : STD_LOGIC_VECTOR(c_unb2_board_tr_qsfp.nof_bus-1 DOWNTO 0);
 
    -- Interface: 1GbE UDP streaming ports
-  SIGNAL eth1g_udp_tx_sosi_arr          : t_dp_sosi_arr(g_nof_streams-1 DOWNTO 0);
-  SIGNAL eth1g_udp_tx_siso_arr          : t_dp_siso_arr(g_nof_streams-1 DOWNTO 0);
-  SIGNAL eth1g_udp_rx_sosi_arr          : t_dp_sosi_arr(g_nof_streams-1 DOWNTO 0);
-  SIGNAL eth1g_udp_rx_siso_arr          : t_dp_siso_arr(g_nof_streams-1 DOWNTO 0);
+  SIGNAL eth1g_udp_tx_sosi_arr          : t_dp_sosi_arr(g_nof_streams_1GbE-1 DOWNTO 0);
+  SIGNAL eth1g_udp_tx_siso_arr          : t_dp_siso_arr(g_nof_streams_1GbE-1 DOWNTO 0);
+  SIGNAL eth1g_udp_rx_sosi_arr          : t_dp_sosi_arr(g_nof_streams_1GbE-1 DOWNTO 0);
+  SIGNAL eth1g_udp_rx_siso_arr          : t_dp_siso_arr(g_nof_streams_1GbE-1 DOWNTO 0);
 
 BEGIN
 
@@ -371,7 +370,7 @@ BEGIN
     g_eth_clk_freq            => c_unb2_board_eth_clk_freq_125M,
     g_aux                     => c_unb2_board_aux,
     g_udp_offload             => c_use_1GbE,
-    g_udp_offload_nof_streams => g_nof_streams,
+    g_udp_offload_nof_streams => g_nof_streams_1GbE,
     g_dp_clk_use_pll          => TRUE,
     g_factory_image           => g_factory_image
   )
@@ -551,9 +550,6 @@ BEGIN
     reg_dp_offload_tx_hdr_dat_mosi => reg_dp_offload_tx_hdr_dat_mosi,
     reg_dp_offload_tx_hdr_dat_miso => reg_dp_offload_tx_hdr_dat_miso,
 
-    reg_dp_offload_tx_hdr_ovr_mosi => reg_dp_offload_tx_hdr_ovr_mosi,
-    reg_dp_offload_tx_hdr_ovr_miso => reg_dp_offload_tx_hdr_ovr_miso,
-
     reg_dp_offload_rx_hdr_dat_mosi => reg_dp_offload_rx_hdr_dat_mosi,
     reg_dp_offload_rx_hdr_dat_miso => reg_dp_offload_rx_hdr_dat_miso,
 
@@ -610,6 +606,24 @@ BEGIN
     ram_bg_data_miso => ram_diag_bg_miso
   );
 
+  gen_dp_fifo_sc : FOR i IN 0 TO g_nof_streams-1 GENERATE
+    u_dp_fifo_sc : ENTITY dp_lib.dp_fifo_sc
+    GENERIC MAP (
+      g_data_w         => c_data_w,
+      g_fifo_size      => 50
+    )
+    PORT MAP (
+      rst         => dp_rst,
+      clk         => dp_clk,
+      -- ST sink (BG)
+      snk_out     => block_gen_src_in_arr(i),
+      snk_in      => block_gen_src_out_arr(i),
+      -- ST source (tx_offload)
+      src_in      => fifo_block_gen_src_in_arr(i),
+      src_out     => fifo_block_gen_src_out_arr(i)
+    );
+  END GENERATE;
+
   -----------------------------------------------------------------------------
   -- TX: dp_offload_tx
   -----------------------------------------------------------------------------
@@ -622,9 +636,9 @@ BEGIN
     g_def_nof_words_per_block   => c_def_nof_words_per_block,
     g_max_nof_blocks_per_packet => c_max_nof_blocks_per_packet,
     g_def_nof_blocks_per_packet => c_def_nof_blocks_per_packet,
-    g_output_fifo_depth         => c_max_frame_nof_words,
+    --g_output_fifo_depth         => c_max_frame_nof_words,
     g_hdr_field_arr             => c_hdr_field_arr,
-    g_hdr_field_ovr_init        => c_hdr_field_ovr_init
+    g_hdr_field_sel             => c_hdr_field_ovr_init
    )
   PORT MAP (
     mm_rst                => mm_rst,
@@ -639,11 +653,8 @@ BEGIN
     reg_hdr_dat_mosi      => reg_dp_offload_tx_hdr_dat_mosi,
     reg_hdr_dat_miso      => reg_dp_offload_tx_hdr_dat_miso,
 
-    reg_hdr_ovr_mosi      => reg_dp_offload_tx_hdr_ovr_mosi,
-    reg_hdr_ovr_miso      => reg_dp_offload_tx_hdr_ovr_miso,
-
-    snk_in_arr            => block_gen_src_out_arr,
-    snk_out_arr           => block_gen_src_in_arr,
+    snk_in_arr            => fifo_block_gen_src_out_arr,
+    snk_out_arr           => fifo_block_gen_src_in_arr,
 
     src_out_arr           => dp_offload_tx_src_out_arr,
     src_in_arr            => dp_offload_tx_src_in_arr,