diff --git a/boards/uniboard1/designs/unb1_test/hdllib.cfg b/boards/uniboard1/designs/unb1_test/hdllib.cfg
index 61cf80f99b80fcd44ea5537a092ea139efae33f8..ac5e99e2e7a5f2ee50da96ed0c16bb94831a1fe4 100644
--- a/boards/uniboard1/designs/unb1_test/hdllib.cfg
+++ b/boards/uniboard1/designs/unb1_test/hdllib.cfg
@@ -7,7 +7,9 @@ hdl_lib_technology = ip_stratixiv
 
 synth_files =
     src/vhdl/qsys_unb1_test_pkg.vhd
+    src/vhdl/unb1_test_pkg.vhd
     src/vhdl/mmm_unb1_test.vhd
+    src/vhdl/bgdb_stream_test.vhd
     src/vhdl/unb1_test.vhd
     
 test_bench_files = 
diff --git a/boards/uniboard1/designs/unb1_test/quartus/qsys_unb1_test.qsys b/boards/uniboard1/designs/unb1_test/quartus/qsys_unb1_test.qsys
index 7fed96c210203d094a569bf33673020a1b5998e6..c4d316d4769302aa1cd6ae9055d1702fd9064470 100644
--- a/boards/uniboard1/designs/unb1_test/quartus/qsys_unb1_test.qsys
+++ b/boards/uniboard1/designs/unb1_test/quartus/qsys_unb1_test.qsys
@@ -65,218 +65,266 @@
          type = "String";
       }
    }
-   element reg_dpmm_ctrl.mem
+   element reg_bsn_monitor_10GbE.mem
    {
       datum baseAddress
       {
-         value = "12432";
+         value = "12800";
          type = "long";
       }
    }
-   element reg_dpmm_data.mem
+   element reg_dp_offload_tx_10GbE.mem
    {
       datum baseAddress
       {
-         value = "12440";
+         value = "12480";
          type = "long";
       }
    }
-   element reg_mmdp_data.mem
+   element reg_io_ddr.mem
    {
       datum baseAddress
       {
-         value = "12456";
+         value = "12672";
          type = "long";
       }
    }
-   element reg_dp_offload_rx_hdr_dat.mem
+   element reg_mmdp_ctrl.mem
    {
       datum baseAddress
       {
-         value = "1024";
+         value = "12704";
          type = "long";
       }
    }
-   element reg_remu.mem
+   element ram_diag_data_buffer_1GbE.mem
    {
       datum baseAddress
       {
-         value = "12320";
+         value = "65536";
          type = "long";
       }
    }
-   element reg_unb_sens.mem
+   element reg_epcs.mem
    {
       datum baseAddress
       {
-         value = "480";
+         value = "12608";
          type = "long";
       }
    }
-   element reg_diag_bg.mem
+   element reg_diag_bg_1GbE.mem
    {
       datum baseAddress
       {
-         value = "12384";
+         value = "12640";
          type = "long";
       }
    }
-   element reg_tr_xaui.mem
+   element reg_diag_data_buffer_1GbE.mem
    {
       datum baseAddress
       {
-         value = "16384";
+         value = "128";
          type = "long";
       }
    }
-   element pio_pps.mem
+   element pio_system_info.mem
    {
+      datum _lockedAddress
+      {
+         value = "1";
+         type = "boolean";
+      }
       datum baseAddress
       {
-         value = "12464";
+         value = "0";
          type = "long";
       }
    }
-   element reg_dp_offload_tx.mem
+   element ram_ss_ss_wide.mem
    {
       datum baseAddress
       {
-         value = "320";
+         value = "393216";
          type = "long";
       }
    }
-   element reg_diag_data_buffer.mem
+   element reg_unb_sens.mem
    {
       datum baseAddress
       {
-         value = "128";
+         value = "12544";
          type = "long";
       }
    }
-   element reg_dp_offload_tx_1gbe_hdr_dat.mem
+   element reg_tr_10GbE.mem
    {
       datum baseAddress
       {
-         value = "28672";
+         value = "262144";
          type = "long";
       }
    }
-   element reg_tr_10GbE.mem
+   element reg_bsn_monitor_1GbE.mem
    {
       datum baseAddress
       {
-         value = "262144";
+         value = "512";
          type = "long";
       }
    }
-   element ram_diag_bg.mem
+   element reg_dpmm_ctrl.mem
    {
       datum baseAddress
       {
-         value = "32768";
+         value = "12688";
          type = "long";
       }
    }
-   element ram_ss_ss_wide.mem
+   element reg_tr_xaui.mem
    {
       datum baseAddress
       {
-         value = "393216";
+         value = "16384";
          type = "long";
       }
    }
-   element pio_system_info.mem
+   element reg_dp_offload_tx_1GbE.mem
    {
-      datum _lockedAddress
+      datum baseAddress
       {
-         value = "1";
-         type = "boolean";
+         value = "12416";
+         type = "long";
       }
+   }
+   element reg_diag_bg_10GbE.mem
+   {
       datum baseAddress
       {
-         value = "0";
+         value = "256";
          type = "long";
       }
    }
-   element rom_system_info.mem
+   element reg_dp_offload_rx_1GbE_hdr_dat.mem
    {
-      datum _lockedAddress
+      datum baseAddress
       {
-         value = "1";
-         type = "boolean";
+         value = "1024";
+         type = "long";
       }
+   }
+   element reg_dp_offload_tx_1GbE_hdr_dat.mem
+   {
       datum baseAddress
       {
-         value = "4096";
+         value = "13312";
          type = "long";
       }
    }
-   element reg_io_ddr.mem
+   element reg_mmdp_data.mem
    {
       datum baseAddress
       {
-         value = "12416";
+         value = "12712";
          type = "long";
       }
    }
-   element reg_dp_offload_tx_hdr_dat.mem
+   element ram_diag_data_buffer_10GbE.mem
    {
       datum baseAddress
       {
-         value = "13312";
+         value = "458752";
          type = "long";
       }
    }
-   element reg_epcs.mem
+   element pio_pps.mem
    {
       datum baseAddress
       {
-         value = "12352";
+         value = "12720";
          type = "long";
       }
    }
-   element reg_wdi.mem
+   element reg_dpmm_data.mem
    {
-      datum _lockedAddress
+      datum baseAddress
       {
-         value = "1";
-         type = "boolean";
+         value = "12696";
+         type = "long";
       }
+   }
+   element reg_remu.mem
+   {
       datum baseAddress
       {
-         value = "12288";
+         value = "12576";
          type = "long";
       }
    }
-   element reg_bsn_monitor.mem
+   element reg_diag_data_buffer_10GbE.mem
    {
       datum baseAddress
       {
-         value = "512";
+         value = "384";
          type = "long";
       }
    }
-   element reg_mmdp_ctrl.mem
+   element reg_dp_offload_rx_10GbE_hdr_dat.mem
    {
       datum baseAddress
       {
-         value = "12448";
+         value = "29696";
          type = "long";
       }
    }
-   element ram_diag_data_buffer.mem
+   element reg_dp_offload_tx_10GbE_hdr_dat.mem
    {
       datum baseAddress
       {
-         value = "65536";
+         value = "28672";
          type = "long";
       }
    }
-   element reg_dp_offload_tx_1gbe.mem
+   element ram_diag_bg_1GbE.mem
    {
       datum baseAddress
       {
-         value = "384";
+         value = "32768";
+         type = "long";
+      }
+   }
+   element reg_wdi.mem
+   {
+      datum _lockedAddress
+      {
+         value = "1";
+         type = "boolean";
+      }
+      datum baseAddress
+      {
+         value = "12288";
+         type = "long";
+      }
+   }
+   element ram_diag_bg_10GbE.mem
+   {
+      datum baseAddress
+      {
+         value = "524288";
+         type = "long";
+      }
+   }
+   element rom_system_info.mem
+   {
+      datum _lockedAddress
+      {
+         value = "1";
+         type = "boolean";
+      }
+      datum baseAddress
+      {
+         value = "4096";
          type = "long";
       }
    }
@@ -292,7 +340,7 @@
    {
       datum baseAddress
       {
-         value = "256";
+         value = "12352";
          type = "long";
       }
    }
@@ -346,19 +394,35 @@
          type = "String";
       }
    }
-   element ram_diag_bg
+   element ram_diag_bg_10GbE
    {
       datum _sortIndex
       {
-         value = "27";
+         value = "31";
          type = "int";
       }
    }
-   element ram_diag_data_buffer
+   element ram_diag_bg_1GbE
    {
       datum _sortIndex
       {
-         value = "25";
+         value = "30";
+         type = "int";
+      }
+   }
+   element ram_diag_data_buffer_10GbE
+   {
+      datum _sortIndex
+      {
+         value = "35";
+         type = "int";
+      }
+   }
+   element ram_diag_data_buffer_1GbE
+   {
+      datum _sortIndex
+      {
+         value = "34";
          type = "int";
       }
    }
@@ -366,11 +430,19 @@
    {
       datum _sortIndex
       {
-         value = "28";
+         value = "36";
          type = "int";
       }
    }
-   element reg_bsn_monitor
+   element reg_bsn_monitor_10GbE
+   {
+      datum _sortIndex
+      {
+         value = "21";
+         type = "int";
+      }
+   }
+   element reg_bsn_monitor_1GbE
    {
       datum _sortIndex
       {
@@ -378,55 +450,71 @@
          type = "int";
       }
    }
-   element reg_diag_bg
+   element reg_diag_bg_10GbE
    {
       datum _sortIndex
       {
-         value = "26";
+         value = "29";
          type = "int";
       }
    }
-   element reg_diag_data_buffer
+   element reg_diag_bg_1GbE
    {
       datum _sortIndex
       {
-         value = "24";
+         value = "28";
          type = "int";
       }
    }
-   element reg_dp_offload_rx_hdr_dat
+   element reg_diag_data_buffer_10GbE
    {
       datum _sortIndex
       {
-         value = "23";
+         value = "33";
          type = "int";
       }
    }
-   element reg_dp_offload_tx
+   element reg_diag_data_buffer_1GbE
    {
       datum _sortIndex
       {
-         value = "21";
+         value = "32";
          type = "int";
       }
    }
-   element reg_dp_offload_tx_1gbe
+   element reg_dp_offload_rx_10GbE_hdr_dat
    {
       datum _sortIndex
       {
-         value = "30";
+         value = "27";
          type = "int";
       }
    }
-   element reg_dp_offload_tx_1gbe_hdr_dat
+   element reg_dp_offload_rx_1GbE_hdr_dat
    {
       datum _sortIndex
       {
-         value = "31";
+         value = "26";
+         type = "int";
+      }
+   }
+   element reg_dp_offload_tx_10GbE
+   {
+      datum _sortIndex
+      {
+         value = "23";
          type = "int";
       }
    }
-   element reg_dp_offload_tx_hdr_dat
+   element reg_dp_offload_tx_10GbE_hdr_dat
+   {
+      datum _sortIndex
+      {
+         value = "25";
+         type = "int";
+      }
+   }
+   element reg_dp_offload_tx_1GbE
    {
       datum _sortIndex
       {
@@ -434,6 +522,14 @@
          type = "int";
       }
    }
+   element reg_dp_offload_tx_1GbE_hdr_dat
+   {
+      datum _sortIndex
+      {
+         value = "24";
+         type = "int";
+      }
+   }
    element reg_dpmm_ctrl
    {
       datum _sortIndex
@@ -462,7 +558,7 @@
    {
       datum _sortIndex
       {
-         value = "29";
+         value = "37";
          type = "int";
       }
    }
@@ -530,14 +626,6 @@
          type = "int";
       }
    }
-   element pio_wdi.s1
-   {
-      datum baseAddress
-      {
-         value = "12304";
-         type = "long";
-      }
-   }
    element onchip_memory2_0.s1
    {
       datum _lockedAddress
@@ -555,7 +643,15 @@
    {
       datum baseAddress
       {
-         value = "448";
+         value = "12320";
+         type = "long";
+      }
+   }
+   element pio_wdi.s1
+   {
+      datum baseAddress
+      {
+         value = "12304";
          type = "long";
       }
    }
@@ -582,7 +678,7 @@
  <parameter name="projectName" value="" />
  <parameter name="sopcBorderPoints" value="false" />
  <parameter name="systemHash" value="1" />
- <parameter name="timeStamp" value="1429017518755" />
+ <parameter name="timeStamp" value="1429698630991" />
  <parameter name="useTestBenchNamingPattern" value="false" />
  <instanceScript></instanceScript>
  <interface
@@ -1541,423 +1637,633 @@
   <port name="coe_read_export_from_the_reg_remu" internal="coe_read_export" />
  </interface>
  <interface
-   name="reg_bsn_monitor_readdata"
-   internal="reg_bsn_monitor.readdata"
+   name="reg_bsn_monitor_1gbe_readdata"
+   internal="reg_bsn_monitor_1GbE.readdata"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_bsn_monitor_read"
-   internal="reg_bsn_monitor.read"
+   name="reg_bsn_monitor_1gbe_read"
+   internal="reg_bsn_monitor_1GbE.read"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_bsn_monitor_writedata"
-   internal="reg_bsn_monitor.writedata"
+   name="reg_bsn_monitor_1gbe_writedata"
+   internal="reg_bsn_monitor_1GbE.writedata"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_bsn_monitor_write"
-   internal="reg_bsn_monitor.write"
+   name="reg_bsn_monitor_1gbe_write"
+   internal="reg_bsn_monitor_1GbE.write"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_bsn_monitor_address"
-   internal="reg_bsn_monitor.address"
+   name="reg_bsn_monitor_1gbe_address"
+   internal="reg_bsn_monitor_1GbE.address"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_bsn_monitor_clk"
-   internal="reg_bsn_monitor.clk"
+   name="reg_bsn_monitor_1gbe_clk"
+   internal="reg_bsn_monitor_1GbE.clk"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_bsn_monitor_reset"
-   internal="reg_bsn_monitor.reset"
+   name="reg_bsn_monitor_1gbe_reset"
+   internal="reg_bsn_monitor_1GbE.reset"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_dp_offload_tx_readdata"
-   internal="reg_dp_offload_tx.readdata"
+   name="ram_ss_ss_wide_readdata"
+   internal="ram_ss_ss_wide.readdata"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_dp_offload_tx_read"
-   internal="reg_dp_offload_tx.read"
+   name="ram_ss_ss_wide_read"
+   internal="ram_ss_ss_wide.read"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_dp_offload_tx_writedata"
-   internal="reg_dp_offload_tx.writedata"
+   name="ram_ss_ss_wide_writedata"
+   internal="ram_ss_ss_wide.writedata"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_dp_offload_tx_write"
-   internal="reg_dp_offload_tx.write"
+   name="ram_ss_ss_wide_write"
+   internal="ram_ss_ss_wide.write"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_dp_offload_tx_address"
-   internal="reg_dp_offload_tx.address"
+   name="ram_ss_ss_wide_address"
+   internal="ram_ss_ss_wide.address"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_dp_offload_tx_clk"
-   internal="reg_dp_offload_tx.clk"
+   name="ram_ss_ss_wide_clk"
+   internal="ram_ss_ss_wide.clk"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_dp_offload_tx_reset"
-   internal="reg_dp_offload_tx.reset"
+   name="ram_ss_ss_wide_reset"
+   internal="ram_ss_ss_wide.reset"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_dp_offload_tx_hdr_dat_readdata"
-   internal="reg_dp_offload_tx_hdr_dat.readdata"
+   name="reg_io_ddr_readdata"
+   internal="reg_io_ddr.readdata"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_dp_offload_tx_hdr_dat_read"
-   internal="reg_dp_offload_tx_hdr_dat.read"
+   name="reg_io_ddr_read"
+   internal="reg_io_ddr.read"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_dp_offload_tx_hdr_dat_writedata"
-   internal="reg_dp_offload_tx_hdr_dat.writedata"
+   name="reg_io_ddr_writedata"
+   internal="reg_io_ddr.writedata"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_dp_offload_tx_hdr_dat_write"
-   internal="reg_dp_offload_tx_hdr_dat.write"
+   name="reg_io_ddr_write"
+   internal="reg_io_ddr.write"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_dp_offload_tx_hdr_dat_address"
-   internal="reg_dp_offload_tx_hdr_dat.address"
+   name="reg_io_ddr_address"
+   internal="reg_io_ddr.address"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_dp_offload_tx_hdr_dat_clk"
-   internal="reg_dp_offload_tx_hdr_dat.clk"
+   name="reg_io_ddr_clk"
+   internal="reg_io_ddr.clk"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_dp_offload_tx_hdr_dat_reset"
-   internal="reg_dp_offload_tx_hdr_dat.reset"
+   name="reg_io_ddr_reset"
+   internal="reg_io_ddr.reset"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_dp_offload_rx_hdr_dat_readdata"
-   internal="reg_dp_offload_rx_hdr_dat.readdata"
+   name="reg_diag_data_buffer_10gbe_readdata"
+   internal="reg_diag_data_buffer_10GbE.readdata"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_dp_offload_rx_hdr_dat_read"
-   internal="reg_dp_offload_rx_hdr_dat.read"
+   name="reg_diag_data_buffer_10gbe_read"
+   internal="reg_diag_data_buffer_10GbE.read"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_dp_offload_rx_hdr_dat_writedata"
-   internal="reg_dp_offload_rx_hdr_dat.writedata"
+   name="reg_diag_data_buffer_10gbe_writedata"
+   internal="reg_diag_data_buffer_10GbE.writedata"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_dp_offload_rx_hdr_dat_write"
-   internal="reg_dp_offload_rx_hdr_dat.write"
+   name="reg_diag_data_buffer_10gbe_write"
+   internal="reg_diag_data_buffer_10GbE.write"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_dp_offload_rx_hdr_dat_address"
-   internal="reg_dp_offload_rx_hdr_dat.address"
+   name="reg_diag_data_buffer_10gbe_address"
+   internal="reg_diag_data_buffer_10GbE.address"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_dp_offload_rx_hdr_dat_clk"
-   internal="reg_dp_offload_rx_hdr_dat.clk"
+   name="reg_diag_data_buffer_10gbe_clk"
+   internal="reg_diag_data_buffer_10GbE.clk"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_dp_offload_rx_hdr_dat_reset"
-   internal="reg_dp_offload_rx_hdr_dat.reset"
+   name="reg_diag_data_buffer_10gbe_reset"
+   internal="reg_diag_data_buffer_10GbE.reset"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_diag_data_buffer_readdata"
-   internal="reg_diag_data_buffer.readdata"
+   name="ram_diag_bg_10gbe_readdata"
+   internal="ram_diag_bg_10GbE.readdata"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_diag_data_buffer_read"
-   internal="reg_diag_data_buffer.read"
+   name="ram_diag_bg_10gbe_read"
+   internal="ram_diag_bg_10GbE.read"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_diag_data_buffer_writedata"
-   internal="reg_diag_data_buffer.writedata"
+   name="ram_diag_bg_10gbe_writedata"
+   internal="ram_diag_bg_10GbE.writedata"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_diag_data_buffer_write"
-   internal="reg_diag_data_buffer.write"
+   name="ram_diag_bg_10gbe_write"
+   internal="ram_diag_bg_10GbE.write"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_diag_data_buffer_address"
-   internal="reg_diag_data_buffer.address"
+   name="ram_diag_bg_10gbe_address"
+   internal="ram_diag_bg_10GbE.address"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_diag_data_buffer_clk"
-   internal="reg_diag_data_buffer.clk"
+   name="ram_diag_bg_10gbe_clk"
+   internal="ram_diag_bg_10GbE.clk"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_diag_data_buffer_reset"
-   internal="reg_diag_data_buffer.reset"
+   name="ram_diag_bg_10gbe_reset"
+   internal="ram_diag_bg_10GbE.reset"
    type="conduit"
    dir="end" />
  <interface
-   name="ram_diag_data_buffer_readdata"
-   internal="ram_diag_data_buffer.readdata"
+   name="reg_diag_bg_10gbe_readdata"
+   internal="reg_diag_bg_10GbE.readdata"
    type="conduit"
    dir="end" />
  <interface
-   name="ram_diag_data_buffer_read"
-   internal="ram_diag_data_buffer.read"
+   name="reg_diag_bg_10gbe_read"
+   internal="reg_diag_bg_10GbE.read"
    type="conduit"
    dir="end" />
  <interface
-   name="ram_diag_data_buffer_writedata"
-   internal="ram_diag_data_buffer.writedata"
+   name="reg_diag_bg_10gbe_writedata"
+   internal="reg_diag_bg_10GbE.writedata"
    type="conduit"
    dir="end" />
  <interface
-   name="ram_diag_data_buffer_write"
-   internal="ram_diag_data_buffer.write"
+   name="reg_diag_bg_10gbe_write"
+   internal="reg_diag_bg_10GbE.write"
    type="conduit"
    dir="end" />
  <interface
-   name="ram_diag_data_buffer_address"
-   internal="ram_diag_data_buffer.address"
+   name="reg_diag_bg_10gbe_address"
+   internal="reg_diag_bg_10GbE.address"
    type="conduit"
    dir="end" />
  <interface
-   name="ram_diag_data_buffer_clk"
-   internal="ram_diag_data_buffer.clk"
+   name="reg_diag_bg_10gbe_clk"
+   internal="reg_diag_bg_10GbE.clk"
    type="conduit"
    dir="end" />
  <interface
-   name="ram_diag_data_buffer_reset"
-   internal="ram_diag_data_buffer.reset"
+   name="reg_diag_bg_10gbe_reset"
+   internal="reg_diag_bg_10GbE.reset"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_diag_bg_readdata"
-   internal="reg_diag_bg.readdata"
+   name="reg_dp_offload_rx_10gbe_hdr_dat_readdata"
+   internal="reg_dp_offload_rx_10GbE_hdr_dat.readdata"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_diag_bg_read"
-   internal="reg_diag_bg.read"
+   name="reg_dp_offload_rx_10gbe_hdr_dat_read"
+   internal="reg_dp_offload_rx_10GbE_hdr_dat.read"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_diag_bg_writedata"
-   internal="reg_diag_bg.writedata"
+   name="reg_dp_offload_rx_10gbe_hdr_dat_writedata"
+   internal="reg_dp_offload_rx_10GbE_hdr_dat.writedata"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_diag_bg_write"
-   internal="reg_diag_bg.write"
+   name="reg_dp_offload_rx_10gbe_hdr_dat_write"
+   internal="reg_dp_offload_rx_10GbE_hdr_dat.write"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_diag_bg_address"
-   internal="reg_diag_bg.address"
+   name="reg_dp_offload_rx_10gbe_hdr_dat_address"
+   internal="reg_dp_offload_rx_10GbE_hdr_dat.address"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_diag_bg_clk"
-   internal="reg_diag_bg.clk"
+   name="reg_dp_offload_rx_10gbe_hdr_dat_clk"
+   internal="reg_dp_offload_rx_10GbE_hdr_dat.clk"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_diag_bg_reset"
-   internal="reg_diag_bg.reset"
+   name="reg_dp_offload_rx_10gbe_hdr_dat_reset"
+   internal="reg_dp_offload_rx_10GbE_hdr_dat.reset"
    type="conduit"
    dir="end" />
  <interface
-   name="ram_diag_bg_readdata"
-   internal="ram_diag_bg.readdata"
+   name="reg_dp_offload_tx_10gbe_hdr_dat_readdata"
+   internal="reg_dp_offload_tx_10GbE_hdr_dat.readdata"
    type="conduit"
    dir="end" />
  <interface
-   name="ram_diag_bg_read"
-   internal="ram_diag_bg.read"
+   name="reg_dp_offload_tx_10gbe_hdr_dat_read"
+   internal="reg_dp_offload_tx_10GbE_hdr_dat.read"
    type="conduit"
    dir="end" />
  <interface
-   name="ram_diag_bg_writedata"
-   internal="ram_diag_bg.writedata"
+   name="reg_dp_offload_tx_10gbe_hdr_dat_writedata"
+   internal="reg_dp_offload_tx_10GbE_hdr_dat.writedata"
    type="conduit"
    dir="end" />
  <interface
-   name="ram_diag_bg_write"
-   internal="ram_diag_bg.write"
+   name="reg_dp_offload_tx_10gbe_hdr_dat_write"
+   internal="reg_dp_offload_tx_10GbE_hdr_dat.write"
    type="conduit"
    dir="end" />
  <interface
-   name="ram_diag_bg_address"
-   internal="ram_diag_bg.address"
+   name="reg_dp_offload_tx_10gbe_hdr_dat_address"
+   internal="reg_dp_offload_tx_10GbE_hdr_dat.address"
    type="conduit"
    dir="end" />
  <interface
-   name="ram_diag_bg_clk"
-   internal="ram_diag_bg.clk"
+   name="reg_dp_offload_tx_10gbe_hdr_dat_clk"
+   internal="reg_dp_offload_tx_10GbE_hdr_dat.clk"
    type="conduit"
    dir="end" />
  <interface
-   name="ram_diag_bg_reset"
-   internal="ram_diag_bg.reset"
+   name="reg_dp_offload_tx_10gbe_hdr_dat_reset"
+   internal="reg_dp_offload_tx_10GbE_hdr_dat.reset"
    type="conduit"
    dir="end" />
  <interface
-   name="ram_ss_ss_wide_readdata"
-   internal="ram_ss_ss_wide.readdata"
+   name="reg_dp_offload_tx_10gbe_readdata"
+   internal="reg_dp_offload_tx_10GbE.readdata"
    type="conduit"
    dir="end" />
  <interface
-   name="ram_ss_ss_wide_read"
-   internal="ram_ss_ss_wide.read"
+   name="reg_dp_offload_tx_10gbe_read"
+   internal="reg_dp_offload_tx_10GbE.read"
    type="conduit"
    dir="end" />
  <interface
-   name="ram_ss_ss_wide_writedata"
-   internal="ram_ss_ss_wide.writedata"
+   name="reg_dp_offload_tx_10gbe_writedata"
+   internal="reg_dp_offload_tx_10GbE.writedata"
    type="conduit"
    dir="end" />
  <interface
-   name="ram_ss_ss_wide_write"
-   internal="ram_ss_ss_wide.write"
+   name="reg_dp_offload_tx_10gbe_write"
+   internal="reg_dp_offload_tx_10GbE.write"
    type="conduit"
    dir="end" />
  <interface
-   name="ram_ss_ss_wide_address"
-   internal="ram_ss_ss_wide.address"
+   name="reg_dp_offload_tx_10gbe_address"
+   internal="reg_dp_offload_tx_10GbE.address"
    type="conduit"
    dir="end" />
  <interface
-   name="ram_ss_ss_wide_clk"
-   internal="ram_ss_ss_wide.clk"
+   name="reg_dp_offload_tx_10gbe_clk"
+   internal="reg_dp_offload_tx_10GbE.clk"
    type="conduit"
    dir="end" />
  <interface
-   name="ram_ss_ss_wide_reset"
-   internal="ram_ss_ss_wide.reset"
+   name="reg_dp_offload_tx_10gbe_reset"
+   internal="reg_dp_offload_tx_10GbE.reset"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_io_ddr_readdata"
-   internal="reg_io_ddr.readdata"
+   name="reg_bsn_monitor_10gbe_readdata"
+   internal="reg_bsn_monitor_10GbE.readdata"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_io_ddr_read"
-   internal="reg_io_ddr.read"
+   name="reg_bsn_monitor_10gbe_read"
+   internal="reg_bsn_monitor_10GbE.read"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_io_ddr_writedata"
-   internal="reg_io_ddr.writedata"
+   name="reg_bsn_monitor_10gbe_writedata"
+   internal="reg_bsn_monitor_10GbE.writedata"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_io_ddr_write"
-   internal="reg_io_ddr.write"
+   name="reg_bsn_monitor_10gbe_write"
+   internal="reg_bsn_monitor_10GbE.write"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_io_ddr_address"
-   internal="reg_io_ddr.address"
+   name="reg_bsn_monitor_10gbe_address"
+   internal="reg_bsn_monitor_10GbE.address"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_io_ddr_clk"
-   internal="reg_io_ddr.clk"
+   name="reg_bsn_monitor_10gbe_clk"
+   internal="reg_bsn_monitor_10GbE.clk"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_io_ddr_reset"
-   internal="reg_io_ddr.reset"
+   name="reg_bsn_monitor_10gbe_reset"
+   internal="reg_bsn_monitor_10GbE.reset"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_dp_offload_tx_1gbe_readdata"
-   internal="reg_dp_offload_tx_1gbe.readdata"
+   name="reg_dp_offload_tx_1gbe_reset"
+   internal="reg_dp_offload_tx_1GbE.reset"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_dp_offload_tx_1gbe_read"
-   internal="reg_dp_offload_tx_1gbe.read"
+   name="reg_dp_offload_tx_1gbe_clk"
+   internal="reg_dp_offload_tx_1GbE.clk"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_dp_offload_tx_1gbe_writedata"
-   internal="reg_dp_offload_tx_1gbe.writedata"
+   name="reg_dp_offload_tx_1gbe_address"
+   internal="reg_dp_offload_tx_1GbE.address"
    type="conduit"
    dir="end" />
  <interface
    name="reg_dp_offload_tx_1gbe_write"
-   internal="reg_dp_offload_tx_1gbe.write"
+   internal="reg_dp_offload_tx_1GbE.write"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_dp_offload_tx_1gbe_address"
-   internal="reg_dp_offload_tx_1gbe.address"
+   name="reg_dp_offload_tx_1gbe_writedata"
+   internal="reg_dp_offload_tx_1GbE.writedata"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_dp_offload_tx_1gbe_clk"
-   internal="reg_dp_offload_tx_1gbe.clk"
+   name="reg_dp_offload_tx_1gbe_read"
+   internal="reg_dp_offload_tx_1GbE.read"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_dp_offload_tx_1gbe_reset"
-   internal="reg_dp_offload_tx_1gbe.reset"
+   name="reg_dp_offload_tx_1gbe_readdata"
+   internal="reg_dp_offload_tx_1GbE.readdata"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_dp_offload_tx_1gbe_hdr_dat_readdata"
-   internal="reg_dp_offload_tx_1gbe_hdr_dat.readdata"
+   name="reg_dp_offload_tx_1gbe_hdr_dat_reset"
+   internal="reg_dp_offload_tx_1GbE_hdr_dat.reset"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_dp_offload_tx_1gbe_hdr_dat_read"
-   internal="reg_dp_offload_tx_1gbe_hdr_dat.read"
+   name="reg_dp_offload_tx_1gbe_hdr_dat_clk"
+   internal="reg_dp_offload_tx_1GbE_hdr_dat.clk"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_dp_offload_tx_1gbe_hdr_dat_writedata"
-   internal="reg_dp_offload_tx_1gbe_hdr_dat.writedata"
+   name="reg_dp_offload_tx_1gbe_hdr_dat_address"
+   internal="reg_dp_offload_tx_1GbE_hdr_dat.address"
    type="conduit"
    dir="end" />
  <interface
    name="reg_dp_offload_tx_1gbe_hdr_dat_write"
-   internal="reg_dp_offload_tx_1gbe_hdr_dat.write"
+   internal="reg_dp_offload_tx_1GbE_hdr_dat.write"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_dp_offload_tx_1gbe_hdr_dat_address"
-   internal="reg_dp_offload_tx_1gbe_hdr_dat.address"
+   name="reg_dp_offload_tx_1gbe_hdr_dat_writedata"
+   internal="reg_dp_offload_tx_1GbE_hdr_dat.writedata"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_dp_offload_tx_1gbe_hdr_dat_clk"
-   internal="reg_dp_offload_tx_1gbe_hdr_dat.clk"
+   name="reg_dp_offload_tx_1gbe_hdr_dat_read"
+   internal="reg_dp_offload_tx_1GbE_hdr_dat.read"
    type="conduit"
    dir="end" />
  <interface
-   name="reg_dp_offload_tx_1gbe_hdr_dat_reset"
-   internal="reg_dp_offload_tx_1gbe_hdr_dat.reset"
+   name="reg_dp_offload_tx_1gbe_hdr_dat_readdata"
+   internal="reg_dp_offload_tx_1GbE_hdr_dat.readdata"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_dp_offload_rx_1gbe_hdr_dat_reset"
+   internal="reg_dp_offload_rx_1GbE_hdr_dat.reset"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_dp_offload_rx_1gbe_hdr_dat_clk"
+   internal="reg_dp_offload_rx_1GbE_hdr_dat.clk"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_dp_offload_rx_1gbe_hdr_dat_address"
+   internal="reg_dp_offload_rx_1GbE_hdr_dat.address"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_dp_offload_rx_1gbe_hdr_dat_write"
+   internal="reg_dp_offload_rx_1GbE_hdr_dat.write"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_dp_offload_rx_1gbe_hdr_dat_writedata"
+   internal="reg_dp_offload_rx_1GbE_hdr_dat.writedata"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_dp_offload_rx_1gbe_hdr_dat_read"
+   internal="reg_dp_offload_rx_1GbE_hdr_dat.read"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_dp_offload_rx_1gbe_hdr_dat_readdata"
+   internal="reg_dp_offload_rx_1GbE_hdr_dat.readdata"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_diag_bg_1gbe_reset"
+   internal="reg_diag_bg_1GbE.reset"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_diag_bg_1gbe_clk"
+   internal="reg_diag_bg_1GbE.clk"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_diag_bg_1gbe_address"
+   internal="reg_diag_bg_1GbE.address"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_diag_bg_1gbe_write"
+   internal="reg_diag_bg_1GbE.write"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_diag_bg_1gbe_writedata"
+   internal="reg_diag_bg_1GbE.writedata"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_diag_bg_1gbe_read"
+   internal="reg_diag_bg_1GbE.read"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_diag_bg_1gbe_readdata"
+   internal="reg_diag_bg_1GbE.readdata"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="ram_diag_bg_1gbe_reset"
+   internal="ram_diag_bg_1GbE.reset"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="ram_diag_bg_1gbe_clk"
+   internal="ram_diag_bg_1GbE.clk"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="ram_diag_bg_1gbe_address"
+   internal="ram_diag_bg_1GbE.address"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="ram_diag_bg_1gbe_write"
+   internal="ram_diag_bg_1GbE.write"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="ram_diag_bg_1gbe_writedata"
+   internal="ram_diag_bg_1GbE.writedata"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="ram_diag_bg_1gbe_read"
+   internal="ram_diag_bg_1GbE.read"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="ram_diag_bg_1gbe_readdata"
+   internal="ram_diag_bg_1GbE.readdata"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_diag_data_buffer_1gbe_reset"
+   internal="reg_diag_data_buffer_1GbE.reset"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_diag_data_buffer_1gbe_clk"
+   internal="reg_diag_data_buffer_1GbE.clk"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_diag_data_buffer_1gbe_address"
+   internal="reg_diag_data_buffer_1GbE.address"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_diag_data_buffer_1gbe_write"
+   internal="reg_diag_data_buffer_1GbE.write"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_diag_data_buffer_1gbe_writedata"
+   internal="reg_diag_data_buffer_1GbE.writedata"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_diag_data_buffer_1gbe_read"
+   internal="reg_diag_data_buffer_1GbE.read"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_diag_data_buffer_1gbe_readdata"
+   internal="reg_diag_data_buffer_1GbE.readdata"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="ram_diag_data_buffer_1gbe_reset"
+   internal="ram_diag_data_buffer_1GbE.reset"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="ram_diag_data_buffer_1gbe_clk"
+   internal="ram_diag_data_buffer_1GbE.clk"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="ram_diag_data_buffer_1gbe_address"
+   internal="ram_diag_data_buffer_1GbE.address"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="ram_diag_data_buffer_1gbe_write"
+   internal="ram_diag_data_buffer_1GbE.write"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="ram_diag_data_buffer_1gbe_writedata"
+   internal="ram_diag_data_buffer_1GbE.writedata"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="ram_diag_data_buffer_1gbe_read"
+   internal="ram_diag_data_buffer_1GbE.read"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="ram_diag_data_buffer_1gbe_readdata"
+   internal="ram_diag_data_buffer_1GbE.readdata"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="ram_diag_data_buffer_10gbe_reset"
+   internal="ram_diag_data_buffer_10GbE.reset"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="ram_diag_data_buffer_10gbe_clk"
+   internal="ram_diag_data_buffer_10GbE.clk"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="ram_diag_data_buffer_10gbe_address"
+   internal="ram_diag_data_buffer_10GbE.address"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="ram_diag_data_buffer_10gbe_write"
+   internal="ram_diag_data_buffer_10GbE.write"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="ram_diag_data_buffer_10gbe_writedata"
+   internal="ram_diag_data_buffer_10GbE.writedata"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="ram_diag_data_buffer_10gbe_read"
+   internal="ram_diag_data_buffer_10GbE.read"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="ram_diag_data_buffer_10gbe_readdata"
+   internal="ram_diag_data_buffer_10GbE.readdata"
    type="conduit"
    dir="end" />
  <module kind="clock_source" version="11.1" enabled="1" name="clk_0">
@@ -2190,7 +2496,7 @@ q]]></parameter>
   <parameter name="dcache_numTCDM" value="0" />
   <parameter name="dcache_lineSize" value="32" />
   <parameter name="instAddrWidth" value="18" />
-  <parameter name="dataAddrWidth" value="19" />
+  <parameter name="dataAddrWidth" value="20" />
   <parameter name="tightlyCoupledDataMaster0AddrWidth" value="1" />
   <parameter name="tightlyCoupledDataMaster1AddrWidth" value="1" />
   <parameter name="tightlyCoupledDataMaster2AddrWidth" value="1" />
@@ -2200,7 +2506,7 @@ q]]></parameter>
   <parameter name="tightlyCoupledInstructionMaster2AddrWidth" value="1" />
   <parameter name="tightlyCoupledInstructionMaster3AddrWidth" value="1" />
   <parameter name="instSlaveMapParam"><![CDATA[<address-map><slave name='cpu_0.jtag_debug_module' start='0x3800' end='0x4000' /><slave name='onchip_memory2_0.s1' start='0x20000' end='0x40000' /></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='reg_dp_offload_tx.mem' start='0x140' end='0x180' /><slave name='reg_dp_offload_tx_1gbe.mem' start='0x180' end='0x1C0' /><slave name='timer_0.s1' start='0x1C0' end='0x1E0' /><slave name='reg_unb_sens.mem' start='0x1E0' end='0x200' /><slave name='reg_bsn_monitor.mem' start='0x200' end='0x400' /><slave name='reg_dp_offload_rx_hdr_dat.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='jtag_uart_0.avalon_jtag_slave' start='0x3008' end='0x3010' /><slave name='pio_wdi.s1' start='0x3010' end='0x3020' /><slave name='reg_remu.mem' start='0x3020' end='0x3040' /><slave name='reg_epcs.mem' start='0x3040' end='0x3060' /><slave name='reg_diag_bg.mem' start='0x3060' end='0x3080' /><slave name='reg_io_ddr.mem' start='0x3080' end='0x3090' /><slave name='reg_dpmm_ctrl.mem' start='0x3090' end='0x3098' /><slave name='reg_dpmm_data.mem' start='0x3098' end='0x30A0' /><slave name='reg_mmdp_ctrl.mem' start='0x30A0' end='0x30A8' /><slave name='reg_mmdp_data.mem' start='0x30A8' end='0x30B0' /><slave name='pio_pps.mem' start='0x30B0' end='0x30B8' /><slave name='reg_dp_offload_tx_hdr_dat.mem' start='0x3400' end='0x3800' /><slave name='cpu_0.jtag_debug_module' start='0x3800' end='0x4000' /><slave name='reg_tr_xaui.mem' start='0x4000' end='0x6000' /><slave name='avs_eth_0.mms_ram' start='0x6000' end='0x7000' /><slave name='reg_dp_offload_tx_1gbe_hdr_dat.mem' start='0x7000' end='0x7400' /><slave name='ram_diag_bg.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_tr_10GbE.mem' start='0x40000' end='0x60000' /><slave name='ram_ss_ss_wide.mem' start='0x60000' end='0x70000' /></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_1GbE.mem' start='0x80' end='0x100' /><slave name='reg_diag_bg_10GbE.mem' start='0x100' end='0x180' /><slave name='reg_diag_data_buffer_10GbE.mem' start='0x180' end='0x200' /><slave name='reg_bsn_monitor_1GbE.mem' start='0x200' end='0x400' /><slave name='reg_dp_offload_rx_1GbE_hdr_dat.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='jtag_uart_0.avalon_jtag_slave' start='0x3008' end='0x3010' /><slave name='pio_wdi.s1' start='0x3010' end='0x3020' /><slave name='timer_0.s1' start='0x3020' end='0x3040' /><slave name='avs_eth_0.mms_reg' start='0x3040' end='0x3080' /><slave name='reg_dp_offload_tx_1GbE.mem' start='0x3080' end='0x30C0' /><slave name='reg_dp_offload_tx_10GbE.mem' start='0x30C0' end='0x3100' /><slave name='reg_unb_sens.mem' start='0x3100' end='0x3120' /><slave name='reg_remu.mem' start='0x3120' end='0x3140' /><slave name='reg_epcs.mem' start='0x3140' end='0x3160' /><slave name='reg_diag_bg_1GbE.mem' start='0x3160' end='0x3180' /><slave name='reg_io_ddr.mem' start='0x3180' end='0x3190' /><slave name='reg_dpmm_ctrl.mem' start='0x3190' end='0x3198' /><slave name='reg_dpmm_data.mem' start='0x3198' end='0x31A0' /><slave name='reg_mmdp_ctrl.mem' start='0x31A0' end='0x31A8' /><slave name='reg_mmdp_data.mem' start='0x31A8' end='0x31B0' /><slave name='pio_pps.mem' start='0x31B0' end='0x31B8' /><slave name='reg_bsn_monitor_10GbE.mem' start='0x3200' end='0x3400' /><slave name='reg_dp_offload_tx_1GbE_hdr_dat.mem' start='0x3400' end='0x3800' /><slave name='cpu_0.jtag_debug_module' start='0x3800' end='0x4000' /><slave name='reg_tr_xaui.mem' start='0x4000' end='0x6000' /><slave name='avs_eth_0.mms_ram' start='0x6000' end='0x7000' /><slave name='reg_dp_offload_tx_10GbE_hdr_dat.mem' start='0x7000' end='0x7400' /><slave name='reg_dp_offload_rx_10GbE_hdr_dat.mem' start='0x7400' end='0x7800' /><slave name='ram_diag_bg_1GbE.mem' start='0x8000' end='0x10000' /><slave name='ram_diag_data_buffer_1GbE.mem' start='0x10000' end='0x20000' /><slave name='onchip_memory2_0.s1' start='0x20000' end='0x40000' /><slave name='reg_tr_10GbE.mem' start='0x40000' end='0x60000' /><slave name='ram_ss_ss_wide.mem' start='0x60000' end='0x70000' /><slave name='ram_diag_data_buffer_10GbE.mem' start='0x70000' end='0x80000' /><slave name='ram_diag_bg_10GbE.mem' start='0x80000' end='0x88000' /></address-map>]]></parameter>
   <parameter name="clockFrequency" value="125000000" />
   <parameter name="deviceFamilyName" value="Stratix IV" />
   <parameter name="internalIrqMaskSystemInfo" value="7" />
@@ -2215,7 +2521,11 @@ q]]></parameter>
   <parameter name="tightlyCoupledInstructionMaster2MapParam" value="" />
   <parameter name="tightlyCoupledInstructionMaster3MapParam" value="" />
  </module>
- <module kind="avs_common_mm" version="1.0" enabled="1" name="reg_bsn_monitor">
+ <module
+   kind="avs_common_mm"
+   version="1.0"
+   enabled="1"
+   name="reg_bsn_monitor_1GbE">
   <parameter name="g_adr_w" value="7" />
   <parameter name="g_dat_w" value="32" />
   <parameter name="AUTO_SYSTEM_CLOCK_RATE" value="125000000" />
@@ -2224,7 +2534,7 @@ q]]></parameter>
    kind="avs_common_mm"
    version="1.0"
    enabled="1"
-   name="reg_dp_offload_tx">
+   name="reg_dp_offload_tx_1GbE">
   <parameter name="g_adr_w" value="4" />
   <parameter name="g_dat_w" value="32" />
   <parameter name="AUTO_SYSTEM_CLOCK_RATE" value="125000000" />
@@ -2233,7 +2543,7 @@ q]]></parameter>
    kind="avs_common_mm"
    version="1.0"
    enabled="1"
-   name="reg_dp_offload_tx_hdr_dat">
+   name="reg_dp_offload_tx_1GbE_hdr_dat">
   <parameter name="g_adr_w" value="8" />
   <parameter name="g_dat_w" value="32" />
   <parameter name="AUTO_SYSTEM_CLOCK_RATE" value="125000000" />
@@ -2242,7 +2552,7 @@ q]]></parameter>
    kind="avs_common_mm"
    version="1.0"
    enabled="1"
-   name="reg_dp_offload_rx_hdr_dat">
+   name="reg_dp_offload_rx_1GbE_hdr_dat">
   <parameter name="g_adr_w" value="8" />
   <parameter name="g_dat_w" value="32" />
   <parameter name="AUTO_SYSTEM_CLOCK_RATE" value="125000000" />
@@ -2251,7 +2561,7 @@ q]]></parameter>
    kind="avs_common_mm"
    version="1.0"
    enabled="1"
-   name="reg_diag_data_buffer">
+   name="reg_diag_data_buffer_1GbE">
   <parameter name="g_adr_w" value="5" />
   <parameter name="g_dat_w" value="32" />
   <parameter name="AUTO_SYSTEM_CLOCK_RATE" value="125000000" />
@@ -2260,17 +2570,25 @@ q]]></parameter>
    kind="avs_common_mm"
    version="1.0"
    enabled="1"
-   name="ram_diag_data_buffer">
+   name="ram_diag_data_buffer_1GbE">
   <parameter name="g_adr_w" value="14" />
   <parameter name="g_dat_w" value="32" />
   <parameter name="AUTO_SYSTEM_CLOCK_RATE" value="125000000" />
  </module>
- <module kind="avs_common_mm" version="1.0" enabled="1" name="reg_diag_bg">
+ <module
+   kind="avs_common_mm"
+   version="1.0"
+   enabled="1"
+   name="reg_diag_bg_1GbE">
   <parameter name="g_adr_w" value="3" />
   <parameter name="g_dat_w" value="32" />
   <parameter name="AUTO_SYSTEM_CLOCK_RATE" value="125000000" />
  </module>
- <module kind="avs_common_mm" version="1.0" enabled="1" name="ram_diag_bg">
+ <module
+   kind="avs_common_mm"
+   version="1.0"
+   enabled="1"
+   name="ram_diag_bg_1GbE">
   <parameter name="g_adr_w" value="13" />
   <parameter name="g_dat_w" value="32" />
   <parameter name="AUTO_SYSTEM_CLOCK_RATE" value="125000000" />
@@ -2289,7 +2607,34 @@ q]]></parameter>
    kind="avs_common_mm"
    version="1.0"
    enabled="1"
-   name="reg_dp_offload_tx_1gbe">
+   name="reg_bsn_monitor_10GbE">
+  <parameter name="g_adr_w" value="7" />
+  <parameter name="g_dat_w" value="32" />
+  <parameter name="AUTO_SYSTEM_CLOCK_RATE" value="125000000" />
+ </module>
+ <module
+   kind="avs_common_mm"
+   version="1.0"
+   enabled="1"
+   name="reg_diag_bg_10GbE">
+  <parameter name="g_adr_w" value="5" />
+  <parameter name="g_dat_w" value="32" />
+  <parameter name="AUTO_SYSTEM_CLOCK_RATE" value="125000000" />
+ </module>
+ <module
+   kind="avs_common_mm"
+   version="1.0"
+   enabled="1"
+   name="ram_diag_bg_10GbE">
+  <parameter name="g_adr_w" value="13" />
+  <parameter name="g_dat_w" value="32" />
+  <parameter name="AUTO_SYSTEM_CLOCK_RATE" value="125000000" />
+ </module>
+ <module
+   kind="avs_common_mm"
+   version="1.0"
+   enabled="1"
+   name="reg_dp_offload_tx_10GbE">
   <parameter name="g_adr_w" value="4" />
   <parameter name="g_dat_w" value="32" />
   <parameter name="AUTO_SYSTEM_CLOCK_RATE" value="125000000" />
@@ -2298,11 +2643,38 @@ q]]></parameter>
    kind="avs_common_mm"
    version="1.0"
    enabled="1"
-   name="reg_dp_offload_tx_1gbe_hdr_dat">
+   name="reg_dp_offload_tx_10GbE_hdr_dat">
+  <parameter name="g_adr_w" value="8" />
+  <parameter name="g_dat_w" value="32" />
+  <parameter name="AUTO_SYSTEM_CLOCK_RATE" value="125000000" />
+ </module>
+ <module
+   kind="avs_common_mm"
+   version="1.0"
+   enabled="1"
+   name="reg_dp_offload_rx_10GbE_hdr_dat">
   <parameter name="g_adr_w" value="8" />
   <parameter name="g_dat_w" value="32" />
   <parameter name="AUTO_SYSTEM_CLOCK_RATE" value="125000000" />
  </module>
+ <module
+   kind="avs_common_mm"
+   version="1.0"
+   enabled="1"
+   name="reg_diag_data_buffer_10GbE">
+  <parameter name="g_adr_w" value="5" />
+  <parameter name="g_dat_w" value="32" />
+  <parameter name="AUTO_SYSTEM_CLOCK_RATE" value="125000000" />
+ </module>
+ <module
+   kind="avs_common_mm"
+   version="1.0"
+   enabled="1"
+   name="ram_diag_data_buffer_10GbE">
+  <parameter name="g_adr_w" value="14" />
+  <parameter name="g_dat_w" value="32" />
+  <parameter name="AUTO_SYSTEM_CLOCK_RATE" value="125000000" />
+ </module>
  <connection
    kind="avalon"
    version="11.1"
@@ -2364,7 +2736,7 @@ q]]></parameter>
    start="cpu_0.data_master"
    end="timer_0.s1">
   <parameter name="arbitrationPriority" value="1" />
-  <parameter name="baseAddress" value="0x01c0" />
+  <parameter name="baseAddress" value="0x3020" />
  </connection>
  <connection kind="interrupt" version="11.1" start="cpu_0.d_irq" end="timer_0.irq">
   <parameter name="irqNumber" value="1" />
@@ -2375,7 +2747,7 @@ q]]></parameter>
    start="cpu_0.data_master"
    end="reg_unb_sens.mem">
   <parameter name="arbitrationPriority" value="1" />
-  <parameter name="baseAddress" value="0x01e0" />
+  <parameter name="baseAddress" value="0x3100" />
  </connection>
  <connection
    kind="avalon"
@@ -2407,7 +2779,7 @@ q]]></parameter>
    start="cpu_0.data_master"
    end="reg_remu.mem">
   <parameter name="arbitrationPriority" value="1" />
-  <parameter name="baseAddress" value="0x3020" />
+  <parameter name="baseAddress" value="0x3120" />
  </connection>
  <connection
    kind="avalon"
@@ -2415,7 +2787,7 @@ q]]></parameter>
    start="cpu_0.data_master"
    end="reg_dpmm_ctrl.mem">
   <parameter name="arbitrationPriority" value="1" />
-  <parameter name="baseAddress" value="0x3090" />
+  <parameter name="baseAddress" value="0x3190" />
  </connection>
  <connection
    kind="avalon"
@@ -2423,7 +2795,7 @@ q]]></parameter>
    start="cpu_0.data_master"
    end="reg_dpmm_data.mem">
   <parameter name="arbitrationPriority" value="1" />
-  <parameter name="baseAddress" value="0x3098" />
+  <parameter name="baseAddress" value="0x3198" />
  </connection>
  <connection
    kind="avalon"
@@ -2431,7 +2803,7 @@ q]]></parameter>
    start="cpu_0.data_master"
    end="reg_mmdp_ctrl.mem">
   <parameter name="arbitrationPriority" value="1" />
-  <parameter name="baseAddress" value="0x30a0" />
+  <parameter name="baseAddress" value="0x31a0" />
  </connection>
  <connection
    kind="avalon"
@@ -2439,7 +2811,7 @@ q]]></parameter>
    start="cpu_0.data_master"
    end="reg_mmdp_data.mem">
   <parameter name="arbitrationPriority" value="1" />
-  <parameter name="baseAddress" value="0x30a8" />
+  <parameter name="baseAddress" value="0x31a8" />
  </connection>
  <connection
    kind="avalon"
@@ -2447,7 +2819,7 @@ q]]></parameter>
    start="cpu_0.data_master"
    end="reg_epcs.mem">
   <parameter name="arbitrationPriority" value="1" />
-  <parameter name="baseAddress" value="0x3040" />
+  <parameter name="baseAddress" value="0x3140" />
  </connection>
  <connection
    kind="avalon"
@@ -2455,7 +2827,7 @@ q]]></parameter>
    start="cpu_0.data_master"
    end="pio_pps.mem">
   <parameter name="arbitrationPriority" value="1" />
-  <parameter name="baseAddress" value="0x30b0" />
+  <parameter name="baseAddress" value="0x31b0" />
  </connection>
  <connection
    kind="avalon"
@@ -2479,7 +2851,7 @@ q]]></parameter>
    start="cpu_0.data_master"
    end="avs_eth_0.mms_reg">
   <parameter name="arbitrationPriority" value="1" />
-  <parameter name="baseAddress" value="0x0100" />
+  <parameter name="baseAddress" value="0x3040" />
  </connection>
  <connection
    kind="avalon"
@@ -2698,12 +3070,12 @@ q]]></parameter>
    kind="reset"
    version="11.1"
    start="clk_0.clk_reset"
-   end="reg_bsn_monitor.system_reset" />
+   end="reg_bsn_monitor_1GbE.system_reset" />
  <connection
    kind="avalon"
    version="11.1"
    start="cpu_0.data_master"
-   end="reg_bsn_monitor.mem">
+   end="reg_bsn_monitor_1GbE.mem">
   <parameter name="arbitrationPriority" value="1" />
   <parameter name="baseAddress" value="0x0200" />
  </connection>
@@ -2711,22 +3083,22 @@ q]]></parameter>
    kind="reset"
    version="11.1"
    start="cpu_0.jtag_debug_module_reset"
-   end="reg_bsn_monitor.system_reset" />
+   end="reg_bsn_monitor_1GbE.system_reset" />
  <connection
    kind="reset"
    version="11.1"
    start="clk_0.clk_reset"
-   end="reg_dp_offload_rx_hdr_dat.system_reset" />
+   end="reg_dp_offload_rx_1GbE_hdr_dat.system_reset" />
  <connection
    kind="reset"
    version="11.1"
    start="cpu_0.jtag_debug_module_reset"
-   end="reg_dp_offload_rx_hdr_dat.system_reset" />
+   end="reg_dp_offload_rx_1GbE_hdr_dat.system_reset" />
  <connection
    kind="avalon"
    version="11.1"
    start="cpu_0.data_master"
-   end="reg_dp_offload_rx_hdr_dat.mem">
+   end="reg_dp_offload_rx_1GbE_hdr_dat.mem">
   <parameter name="arbitrationPriority" value="1" />
   <parameter name="baseAddress" value="0x0400" />
  </connection>
@@ -2734,35 +3106,35 @@ q]]></parameter>
    kind="reset"
    version="11.1"
    start="clk_0.clk_reset"
-   end="reg_dp_offload_tx.system_reset" />
+   end="reg_dp_offload_tx_1GbE.system_reset" />
  <connection
    kind="reset"
    version="11.1"
    start="clk_0.clk_reset"
-   end="reg_dp_offload_tx_hdr_dat.system_reset" />
+   end="reg_dp_offload_tx_1GbE_hdr_dat.system_reset" />
  <connection
    kind="reset"
    version="11.1"
    start="cpu_0.jtag_debug_module_reset"
-   end="reg_dp_offload_tx_hdr_dat.system_reset" />
+   end="reg_dp_offload_tx_1GbE_hdr_dat.system_reset" />
  <connection
    kind="reset"
    version="11.1"
    start="cpu_0.jtag_debug_module_reset"
-   end="reg_dp_offload_tx.system_reset" />
+   end="reg_dp_offload_tx_1GbE.system_reset" />
  <connection
    kind="avalon"
    version="11.1"
    start="cpu_0.data_master"
-   end="reg_dp_offload_tx.mem">
+   end="reg_dp_offload_tx_1GbE.mem">
   <parameter name="arbitrationPriority" value="1" />
-  <parameter name="baseAddress" value="0x0140" />
+  <parameter name="baseAddress" value="0x3080" />
  </connection>
  <connection
    kind="avalon"
    version="11.1"
    start="cpu_0.data_master"
-   end="reg_dp_offload_tx_hdr_dat.mem">
+   end="reg_dp_offload_tx_1GbE_hdr_dat.mem">
   <parameter name="arbitrationPriority" value="1" />
   <parameter name="baseAddress" value="0x3400" />
  </connection>
@@ -2770,7 +3142,7 @@ q]]></parameter>
    kind="avalon"
    version="11.1"
    start="cpu_0.data_master"
-   end="reg_diag_data_buffer.mem">
+   end="reg_diag_data_buffer_1GbE.mem">
   <parameter name="arbitrationPriority" value="1" />
   <parameter name="baseAddress" value="0x0080" />
  </connection>
@@ -2778,7 +3150,7 @@ q]]></parameter>
    kind="avalon"
    version="11.1"
    start="cpu_0.data_master"
-   end="ram_diag_data_buffer.mem">
+   end="ram_diag_data_buffer_1GbE.mem">
   <parameter name="arbitrationPriority" value="1" />
   <parameter name="baseAddress" value="0x00010000" />
  </connection>
@@ -2786,35 +3158,35 @@ q]]></parameter>
    kind="reset"
    version="11.1"
    start="cpu_0.jtag_debug_module_reset"
-   end="reg_diag_data_buffer.system_reset" />
+   end="reg_diag_data_buffer_1GbE.system_reset" />
  <connection
    kind="reset"
    version="11.1"
    start="cpu_0.jtag_debug_module_reset"
-   end="ram_diag_data_buffer.system_reset" />
+   end="ram_diag_data_buffer_1GbE.system_reset" />
  <connection
    kind="reset"
    version="11.1"
    start="clk_0.clk_reset"
-   end="reg_diag_data_buffer.system_reset" />
+   end="reg_diag_data_buffer_1GbE.system_reset" />
  <connection
    kind="reset"
    version="11.1"
    start="clk_0.clk_reset"
-   end="ram_diag_data_buffer.system_reset" />
+   end="ram_diag_data_buffer_1GbE.system_reset" />
  <connection
    kind="avalon"
    version="11.1"
    start="cpu_0.data_master"
-   end="reg_diag_bg.mem">
+   end="reg_diag_bg_1GbE.mem">
   <parameter name="arbitrationPriority" value="1" />
-  <parameter name="baseAddress" value="0x3060" />
+  <parameter name="baseAddress" value="0x3160" />
  </connection>
  <connection
    kind="avalon"
    version="11.1"
    start="cpu_0.data_master"
-   end="ram_diag_bg.mem">
+   end="ram_diag_bg_1GbE.mem">
   <parameter name="arbitrationPriority" value="1" />
   <parameter name="baseAddress" value="0x8000" />
  </connection>
@@ -2822,22 +3194,22 @@ q]]></parameter>
    kind="reset"
    version="11.1"
    start="cpu_0.jtag_debug_module_reset"
-   end="ram_diag_bg.system_reset" />
+   end="ram_diag_bg_1GbE.system_reset" />
  <connection
    kind="reset"
    version="11.1"
    start="cpu_0.jtag_debug_module_reset"
-   end="reg_diag_bg.system_reset" />
+   end="reg_diag_bg_1GbE.system_reset" />
  <connection
    kind="reset"
    version="11.1"
    start="clk_0.clk_reset"
-   end="reg_diag_bg.system_reset" />
+   end="reg_diag_bg_1GbE.system_reset" />
  <connection
    kind="reset"
    version="11.1"
    start="clk_0.clk_reset"
-   end="ram_diag_bg.system_reset" />
+   end="ram_diag_bg_1GbE.system_reset" />
  <connection
    kind="reset"
    version="11.1"
@@ -2919,42 +3291,42 @@ q]]></parameter>
    kind="clock"
    version="11.1"
    start="clk_0.clk"
-   end="reg_bsn_monitor.system" />
+   end="reg_bsn_monitor_1GbE.system" />
  <connection
    kind="clock"
    version="11.1"
    start="clk_0.clk"
-   end="reg_dp_offload_tx.system" />
+   end="reg_dp_offload_tx_1GbE.system" />
  <connection
    kind="clock"
    version="11.1"
    start="clk_0.clk"
-   end="reg_dp_offload_tx_hdr_dat.system" />
+   end="reg_dp_offload_tx_1GbE_hdr_dat.system" />
  <connection
    kind="clock"
    version="11.1"
    start="clk_0.clk"
-   end="reg_dp_offload_rx_hdr_dat.system" />
+   end="reg_dp_offload_rx_1GbE_hdr_dat.system" />
  <connection
    kind="clock"
    version="11.1"
    start="clk_0.clk"
-   end="reg_diag_data_buffer.system" />
+   end="reg_diag_data_buffer_1GbE.system" />
  <connection
    kind="clock"
    version="11.1"
    start="clk_0.clk"
-   end="ram_diag_data_buffer.system" />
+   end="ram_diag_data_buffer_1GbE.system" />
  <connection
    kind="clock"
    version="11.1"
    start="clk_0.clk"
-   end="reg_diag_bg.system" />
+   end="reg_diag_bg_1GbE.system" />
  <connection
    kind="clock"
    version="11.1"
    start="clk_0.clk"
-   end="ram_diag_bg.system" />
+   end="ram_diag_bg_1GbE.system" />
  <connection
    kind="clock"
    version="11.1"
@@ -2977,52 +3349,190 @@ q]]></parameter>
    start="cpu_0.data_master"
    end="reg_io_ddr.mem">
   <parameter name="arbitrationPriority" value="1" />
-  <parameter name="baseAddress" value="0x3080" />
+  <parameter name="baseAddress" value="0x3180" />
  </connection>
  <connection
    kind="reset"
    version="11.1"
    start="clk_0.clk_reset"
-   end="reg_dp_offload_tx_1gbe.system_reset" />
+   end="reg_bsn_monitor_10GbE.system_reset" />
+ <connection
+   kind="reset"
+   version="11.1"
+   start="cpu_0.jtag_debug_module_reset"
+   end="reg_bsn_monitor_10GbE.system_reset" />
+ <connection
+   kind="reset"
+   version="11.1"
+   start="clk_0.clk_reset"
+   end="reg_diag_bg_10GbE.system_reset" />
+ <connection
+   kind="reset"
+   version="11.1"
+   start="cpu_0.jtag_debug_module_reset"
+   end="reg_diag_bg_10GbE.system_reset" />
+ <connection
+   kind="reset"
+   version="11.1"
+   start="clk_0.clk_reset"
+   end="ram_diag_bg_10GbE.system_reset" />
+ <connection
+   kind="reset"
+   version="11.1"
+   start="cpu_0.jtag_debug_module_reset"
+   end="ram_diag_bg_10GbE.system_reset" />
+ <connection
+   kind="reset"
+   version="11.1"
+   start="clk_0.clk_reset"
+   end="reg_dp_offload_tx_10GbE.system_reset" />
+ <connection
+   kind="reset"
+   version="11.1"
+   start="cpu_0.jtag_debug_module_reset"
+   end="reg_dp_offload_tx_10GbE.system_reset" />
+ <connection
+   kind="reset"
+   version="11.1"
+   start="clk_0.clk_reset"
+   end="reg_dp_offload_tx_10GbE_hdr_dat.system_reset" />
+ <connection
+   kind="reset"
+   version="11.1"
+   start="cpu_0.jtag_debug_module_reset"
+   end="reg_dp_offload_tx_10GbE_hdr_dat.system_reset" />
+ <connection
+   kind="reset"
+   version="11.1"
+   start="clk_0.clk_reset"
+   end="reg_dp_offload_rx_10GbE_hdr_dat.system_reset" />
+ <connection
+   kind="reset"
+   version="11.1"
+   start="cpu_0.jtag_debug_module_reset"
+   end="reg_dp_offload_rx_10GbE_hdr_dat.system_reset" />
+ <connection
+   kind="reset"
+   version="11.1"
+   start="clk_0.clk_reset"
+   end="reg_diag_data_buffer_10GbE.system_reset" />
  <connection
    kind="reset"
    version="11.1"
    start="cpu_0.jtag_debug_module_reset"
-   end="reg_dp_offload_tx_1gbe.system_reset" />
+   end="reg_diag_data_buffer_10GbE.system_reset" />
  <connection
    kind="reset"
    version="11.1"
    start="clk_0.clk_reset"
-   end="reg_dp_offload_tx_1gbe_hdr_dat.system_reset" />
+   end="ram_diag_data_buffer_10GbE.system_reset" />
  <connection
    kind="reset"
    version="11.1"
    start="cpu_0.jtag_debug_module_reset"
-   end="reg_dp_offload_tx_1gbe_hdr_dat.system_reset" />
+   end="ram_diag_data_buffer_10GbE.system_reset" />
  <connection
    kind="clock"
    version="11.1"
    start="clk_0.clk"
-   end="reg_dp_offload_tx_1gbe.system" />
+   end="reg_bsn_monitor_10GbE.system" />
+ <connection
+   kind="avalon"
+   version="11.1"
+   start="cpu_0.data_master"
+   end="reg_bsn_monitor_10GbE.mem">
+  <parameter name="arbitrationPriority" value="1" />
+  <parameter name="baseAddress" value="0x3200" />
+ </connection>
  <connection
    kind="clock"
    version="11.1"
    start="clk_0.clk"
-   end="reg_dp_offload_tx_1gbe_hdr_dat.system" />
+   end="reg_dp_offload_tx_10GbE.system" />
  <connection
    kind="avalon"
    version="11.1"
    start="cpu_0.data_master"
-   end="reg_dp_offload_tx_1gbe.mem">
+   end="reg_dp_offload_tx_10GbE.mem">
   <parameter name="arbitrationPriority" value="1" />
-  <parameter name="baseAddress" value="0x0180" />
+  <parameter name="baseAddress" value="0x30c0" />
  </connection>
+ <connection
+   kind="clock"
+   version="11.1"
+   start="clk_0.clk"
+   end="reg_dp_offload_tx_10GbE_hdr_dat.system" />
  <connection
    kind="avalon"
    version="11.1"
    start="cpu_0.data_master"
-   end="reg_dp_offload_tx_1gbe_hdr_dat.mem">
+   end="reg_dp_offload_tx_10GbE_hdr_dat.mem">
   <parameter name="arbitrationPriority" value="1" />
   <parameter name="baseAddress" value="0x7000" />
  </connection>
+ <connection
+   kind="clock"
+   version="11.1"
+   start="clk_0.clk"
+   end="reg_dp_offload_rx_10GbE_hdr_dat.system" />
+ <connection
+   kind="avalon"
+   version="11.1"
+   start="cpu_0.data_master"
+   end="reg_dp_offload_rx_10GbE_hdr_dat.mem">
+  <parameter name="arbitrationPriority" value="1" />
+  <parameter name="baseAddress" value="0x7400" />
+ </connection>
+ <connection
+   kind="clock"
+   version="11.1"
+   start="clk_0.clk"
+   end="reg_diag_bg_10GbE.system" />
+ <connection
+   kind="avalon"
+   version="11.1"
+   start="cpu_0.data_master"
+   end="reg_diag_bg_10GbE.mem">
+  <parameter name="arbitrationPriority" value="1" />
+  <parameter name="baseAddress" value="0x0100" />
+ </connection>
+ <connection
+   kind="clock"
+   version="11.1"
+   start="clk_0.clk"
+   end="ram_diag_bg_10GbE.system" />
+ <connection
+   kind="avalon"
+   version="11.1"
+   start="cpu_0.data_master"
+   end="ram_diag_bg_10GbE.mem">
+  <parameter name="arbitrationPriority" value="1" />
+  <parameter name="baseAddress" value="0x00080000" />
+ </connection>
+ <connection
+   kind="clock"
+   version="11.1"
+   start="clk_0.clk"
+   end="reg_diag_data_buffer_10GbE.system" />
+ <connection
+   kind="avalon"
+   version="11.1"
+   start="cpu_0.data_master"
+   end="reg_diag_data_buffer_10GbE.mem">
+  <parameter name="arbitrationPriority" value="1" />
+  <parameter name="baseAddress" value="0x0180" />
+ </connection>
+ <connection
+   kind="clock"
+   version="11.1"
+   start="clk_0.clk"
+   end="ram_diag_data_buffer_10GbE.system" />
+ <connection
+   kind="avalon"
+   version="11.1"
+   start="cpu_0.data_master"
+   end="ram_diag_data_buffer_10GbE.mem">
+  <parameter name="arbitrationPriority" value="1" />
+  <parameter name="baseAddress" value="0x00070000" />
+ </connection>
 </system>
diff --git a/boards/uniboard1/designs/unb1_test/revisions/unb1_test_10GbE/unb1_test_10GbE.vhd b/boards/uniboard1/designs/unb1_test/revisions/unb1_test_10GbE/unb1_test_10GbE.vhd
index 8b130ff5684c1088c3d32b22edbd6c4637f8d664..b63296d9cd6f30a8831544b9d423240a408fb670 100644
--- a/boards/uniboard1/designs/unb1_test/revisions/unb1_test_10GbE/unb1_test_10GbE.vhd
+++ b/boards/uniboard1/designs/unb1_test/revisions/unb1_test_10GbE/unb1_test_10GbE.vhd
@@ -38,7 +38,7 @@ ENTITY unb1_test_10GbE IS
     g_stamp_time  : NATURAL := 0;  -- Time (HHMMSS)   -- set by QSF
     g_stamp_svn   : NATURAL := 0;  -- SVN revision    -- set by QSF
     g_nof_MB      : NATURAL := c_unb1_board_nof_ddr3; -- Fixed control infrastructure for 2 modules per FPGA
-    g_use_MB_I    : NATURAL := 1;                     -- 1: use MB_I  0: do not use
+    g_use_MB_I    : NATURAL := 0;                     -- 1: use MB_I  0: do not use
     g_use_MB_II   : NATURAL := 0
   );
   PORT (
diff --git a/boards/uniboard1/designs/unb1_test/src/vhdl/bgdb_stream_test.vhd b/boards/uniboard1/designs/unb1_test/src/vhdl/bgdb_stream_test.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..e50ac621d8b7e94d3fba457d38f38aa74219716b
--- /dev/null
+++ b/boards/uniboard1/designs/unb1_test/src/vhdl/bgdb_stream_test.vhd
@@ -0,0 +1,345 @@
+-------------------------------------------------------------------------------
+--
+-- Copyright (C) 2015
+-- ASTRON (Netherlands Institute for Radio Astronomy) <http://www.astron.nl/>
+-- JIVE (Joint Institute for VLBI in Europe) <http://www.jive.nl/>
+-- P.O.Box 2, 7990 AA Dwingeloo, The Netherlands
+--
+-- This program is free software: you can redistribute it and/or modify
+-- it under the terms of the GNU General Public License as published by
+-- the Free Software Foundation, either version 3 of the License, or
+-- (at your option) any later version.
+--
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-- GNU General Public License for more details.
+--
+-- You should have received a copy of the GNU General Public License
+-- along with this program.  If not, see <http://www.gnu.org/licenses/>.
+--
+-------------------------------------------------------------------------------
+
+LIBRARY IEEE, common_lib, unb1_board_lib, dp_lib, eth_lib, diag_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 common_lib.common_interface_layers_pkg.ALL;
+USE common_lib.common_network_layers_pkg.ALL;
+USE common_lib.common_field_pkg.ALL;
+USE common_lib.common_mem_pkg.ALL;
+USE unb1_board_lib.unb1_board_pkg.ALL;
+USE dp_lib.dp_stream_pkg.ALL;
+USE diag_lib.diag_pkg.ALL;
+USE work.unb1_test_pkg.ALL;
+
+ENTITY bgdb_stream_test IS
+  GENERIC (
+    g_sim                       : BOOLEAN := FALSE;
+    g_nof_streams               : NATURAL;
+    g_data_w                    : NATURAL;
+
+    g_bg_block_size             : NATURAL := 900;
+    g_bg_gapsize                : NATURAL := 100;
+    g_bg_blocks_per_sync        : NATURAL := 200000;
+
+    g_def_block_size            : NATURAL := 0;
+    g_max_nof_blocks_per_packet : NATURAL := 0;
+    g_remove_crc                : BOOLEAN
+  );
+  PORT (
+    -- System
+    mm_rst                         : IN  STD_LOGIC;
+    mm_clk                         : IN  STD_LOGIC;
+
+    dp_rst                         : IN  STD_LOGIC;
+    dp_clk                         : IN  STD_LOGIC;
+
+    ID                             : IN  STD_LOGIC_VECTOR(c_unb1_board_aux.id_w-1 DOWNTO 0);
+
+    -- blockgen mm
+    reg_diag_bg_mosi               : IN  t_mem_mosi := c_mem_mosi_rst;  -- BG control register (one for all streams)
+    reg_diag_bg_miso               : OUT t_mem_miso;
+    ram_diag_bg_mosi               : IN  t_mem_mosi := c_mem_mosi_rst;  -- BG buffer RAM (one per stream)
+    ram_diag_bg_miso               : OUT t_mem_miso;
+
+    -- dp_offload_tx
+    reg_dp_offload_tx_mosi         : IN  t_mem_mosi := c_mem_mosi_rst;
+    reg_dp_offload_tx_miso         : OUT t_mem_miso;
+    reg_dp_offload_tx_hdr_dat_mosi : IN  t_mem_mosi := c_mem_mosi_rst;
+    reg_dp_offload_tx_hdr_dat_miso : OUT t_mem_miso;
+
+    -- to MAC
+    dp_offload_tx_src_out_arr      : OUT t_dp_sosi_arr(g_nof_streams-1 DOWNTO 0);
+    dp_offload_tx_src_in_arr       : IN  t_dp_siso_arr(g_nof_streams-1 DOWNTO 0) := (OTHERS=>c_dp_siso_rdy);
+
+    -- dp_offload_rx
+    reg_dp_offload_rx_hdr_dat_mosi : IN  t_mem_mosi := c_mem_mosi_rst;
+    reg_dp_offload_rx_hdr_dat_miso : OUT t_mem_miso;
+
+    -- from MAC
+    dp_offload_rx_snk_in_arr       : IN  t_dp_sosi_arr(g_nof_streams-1 DOWNTO 0);
+    dp_offload_rx_snk_out_arr      : OUT t_dp_siso_arr(g_nof_streams-1 DOWNTO 0);
+
+    -- bsn
+    reg_bsn_monitor_mosi           : IN  t_mem_mosi;
+    reg_bsn_monitor_miso           : OUT t_mem_miso;
+
+    -- databuffer
+    reg_diag_data_buf_mosi         : IN  t_mem_mosi := c_mem_mosi_rst;
+    reg_diag_data_buf_miso         : OUT t_mem_miso;
+    ram_diag_data_buf_mosi         : IN  t_mem_mosi := c_mem_mosi_rst;
+    ram_diag_data_buf_miso         : OUT t_mem_miso
+  );
+END bgdb_stream_test;
+
+
+
+ARCHITECTURE str OF bgdb_stream_test IS
+
+  -- Block generator
+  CONSTANT c_bg_ctrl                   : t_diag_block_gen := ('0',    -- enable (disabled by default) 
+                                                              '0',    -- enable_sync        
+                                                              TO_UVEC(     g_bg_block_size, c_diag_bg_samples_per_packet_w),
+                                                              TO_UVEC(g_bg_blocks_per_sync, c_diag_bg_blocks_per_sync_w),
+                                                              TO_UVEC(        g_bg_gapsize, c_diag_bg_gapsize_w),
+                                                              TO_UVEC(                   0, c_diag_bg_mem_low_adrs_w),
+                                                              TO_UVEC(   g_bg_block_size-1, c_diag_bg_mem_high_adrs_w),
+                                                              TO_UVEC(                   0, c_diag_bg_bsn_init_w));
+
+
+  CONSTANT c_hdr_field_ovr_init        : STD_LOGIC_VECTOR(c_nof_hdr_fields-1 DOWNTO 0) := "1001"&"111011111100"&"0001"&"101111111";
+  CONSTANT c_nof_crc_words             : NATURAL := 1;
+  CONSTANT c_max_nof_words_per_block   : NATURAL := g_bg_block_size;
+  CONSTANT c_min_nof_words_per_block   : NATURAL := 1;
+  CONSTANT c_def_nof_blocks_per_packet : NATURAL := 1;
+
+  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_rx_src_out_arr   : t_dp_sosi_arr(g_nof_streams-1 DOWNTO 0);
+  SIGNAL dp_offload_rx_src_in_arr    : t_dp_siso_arr(g_nof_streams-1 DOWNTO 0) := (OTHERS=> c_dp_siso_rdy);
+
+  SIGNAL hdr_fields_in_arr           : t_slv_1024_arr(g_nof_streams-1 DOWNTO 0);
+  SIGNAL hdr_fields_out_arr          : t_slv_1024_arr(g_nof_streams-1 DOWNTO 0);
+
+  SIGNAL diag_data_buf_snk_in_arr    : t_dp_sosi_arr(g_nof_streams-1 DOWNTO 0);
+  SIGNAL diag_data_buf_snk_out_arr   : t_dp_siso_arr(g_nof_streams-1 DOWNTO 0);
+
+BEGIN
+
+  gen_hdr_in_fields : FOR i IN 0 TO g_nof_streams-1 GENERATE
+    -- dst = src
+    hdr_fields_in_arr(i)(field_hi(c_hdr_field_arr, "eth_src_mac" ) DOWNTO field_lo(c_hdr_field_arr, "eth_src_mac")) <= x"00228608" & B"000"&ID(7 DOWNTO 3) & RESIZE_UVEC(ID(2 DOWNTO 0), c_byte_w);
+    hdr_fields_in_arr(i)(field_hi(c_hdr_field_arr, "eth_dst_mac" ) DOWNTO field_lo(c_hdr_field_arr, "eth_dst_mac")) <= x"00228608" & B"000"&ID(7 DOWNTO 3) & RESIZE_UVEC(ID(2 DOWNTO 0), c_byte_w);
+
+    hdr_fields_in_arr(i)(field_hi(c_hdr_field_arr, "ip_src_addr" ) DOWNTO field_lo(c_hdr_field_arr, "ip_src_addr")) <= x"0A0A" & B"000"&ID(7 DOWNTO 3) & INCR_UVEC(RESIZE_UVEC(ID(2 DOWNTO 0), c_byte_w), 1);
+    hdr_fields_in_arr(i)(field_hi(c_hdr_field_arr, "ip_dst_addr" ) DOWNTO field_lo(c_hdr_field_arr, "ip_dst_addr")) <= x"0A0A" & B"000"&ID(7 DOWNTO 3) & INCR_UVEC(RESIZE_UVEC(ID(2 DOWNTO 0), c_byte_w), 1);
+
+    -- dst port goes through 4000,4001,4002
+    hdr_fields_in_arr(i)(field_hi(c_hdr_field_arr, "udp_src_port") DOWNTO field_lo(c_hdr_field_arr, "udp_src_port" )) <= TO_UVEC(4000+i, 16);
+    hdr_fields_in_arr(i)(field_hi(c_hdr_field_arr, "udp_dst_port") DOWNTO field_lo(c_hdr_field_arr, "udp_dst_port" )) <= TO_UVEC(4000+i, 16);
+
+    hdr_fields_in_arr(i)(field_hi(c_hdr_field_arr, "usr_sync"    ) DOWNTO field_lo(c_hdr_field_arr, "usr_sync"   )) <= slv(fifo_block_gen_src_out_arr(i).sync);
+    hdr_fields_in_arr(i)(field_hi(c_hdr_field_arr, "usr_bsn"     ) DOWNTO field_lo(c_hdr_field_arr, "usr_bsn"    )) <= fifo_block_gen_src_out_arr(i).bsn(59 DOWNTO 0);
+  END GENERATE;
+
+
+  -----------------------------------------------------------------------------
+  -- TX: Block generator and DP fifo
+  -----------------------------------------------------------------------------
+  u_mms_diag_block_gen: ENTITY diag_lib.mms_diag_block_gen
+  GENERIC MAP (
+    g_nof_streams        => g_nof_streams,
+    g_buf_dat_w          => g_data_w,
+    g_buf_addr_w         => ceil_log2(TO_UINT(c_bg_ctrl.samples_per_packet)),
+    g_file_name_prefix   => "../../counter_data_" & NATURAL'IMAGE(g_data_w),
+    g_diag_block_gen_rst => c_bg_ctrl
+  )
+  PORT MAP (
+    mm_rst           => mm_rst,
+    mm_clk           => mm_clk,
+
+    dp_rst           => dp_rst,
+    dp_clk           => dp_clk,
+
+    out_sosi_arr     => block_gen_src_out_arr,--block_gen_src_1GbE_out_arr,
+    out_siso_arr     => block_gen_src_in_arr,--block_gen_src_1GbE_in_arr,
+
+    reg_bg_ctrl_mosi => reg_diag_bg_mosi,--reg_diag_bg_1GbE_mosi,
+    reg_bg_ctrl_miso => reg_diag_bg_miso,--reg_diag_bg_1GbE_miso,
+    ram_bg_data_mosi => ram_diag_bg_mosi,--ram_diag_bg_1GbE_mosi,
+    ram_bg_data_miso => ram_diag_bg_miso --ram_diag_bg_1GbE_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    => g_data_w,
+      g_bsn_w     => 47,
+      g_use_bsn   => TRUE,
+      g_use_sync  => TRUE,
+      g_fifo_size => 50 
+    )
+    PORT MAP (
+      rst         => dp_rst,
+      clk         => dp_clk,
+      -- ST sink (from BG)
+      snk_out     => block_gen_src_in_arr(i),
+      snk_in      => block_gen_src_out_arr(i),
+      -- ST source (to tx_offload)
+      src_in      => fifo_block_gen_src_in_arr(i),
+      src_out     => fifo_block_gen_src_out_arr(i)
+    );
+  END GENERATE;
+
+  --gen_bg_src_out_arr : FOR i IN 0 TO g_nof_streams-1 GENERATE
+  --  bg_src_out_arr(i) <= fifo_block_gen_src_out_arr(i);
+  --END GENERATE;
+
+  -----------------------------------------------------------------------------
+  -- TX: dp_offload_tx
+  -----------------------------------------------------------------------------
+  u_dp_offload_tx : ENTITY dp_lib.dp_offload_tx
+  GENERIC MAP (
+    g_nof_streams               => g_nof_streams,
+    g_data_w                    => g_data_w,
+    g_use_complex               => FALSE,
+    g_max_nof_words_per_block   => c_max_nof_words_per_block,
+    g_def_nof_words_per_block   => g_def_block_size,
+    g_max_nof_blocks_per_packet => g_max_nof_blocks_per_packet,
+    g_def_nof_blocks_per_packet => c_def_nof_blocks_per_packet,
+    g_hdr_field_arr             => c_hdr_field_arr,
+    g_hdr_field_sel             => c_hdr_field_ovr_init
+   )
+  PORT MAP (
+    mm_rst                => mm_rst,
+    mm_clk                => mm_clk,
+
+    dp_rst                => dp_rst,
+    dp_clk                => dp_clk,
+
+    -- MM
+    reg_mosi              => reg_dp_offload_tx_mosi,
+    reg_miso              => reg_dp_offload_tx_miso,
+    reg_hdr_dat_mosi      => reg_dp_offload_tx_hdr_dat_mosi,
+    reg_hdr_dat_miso      => reg_dp_offload_tx_hdr_dat_miso,
+
+    -- from blockgen-fifo
+    snk_in_arr            => fifo_block_gen_src_out_arr(g_nof_streams-1 DOWNTO 0),
+    snk_out_arr           => fifo_block_gen_src_in_arr(g_nof_streams-1 DOWNTO 0),
+
+    -- output to MAC
+    src_out_arr           => dp_offload_tx_src_out_arr(g_nof_streams-1 DOWNTO 0),
+    src_in_arr            => dp_offload_tx_src_in_arr(g_nof_streams-1 DOWNTO 0),
+
+    hdr_fields_in_arr     => hdr_fields_in_arr(g_nof_streams-1 DOWNTO 0)
+  );
+
+
+  -----------------------------------------------------------------------------
+  -- RX: dp_offload_rx
+  -----------------------------------------------------------------------------
+  u_dp_offload_rx : ENTITY dp_lib.dp_offload_rx
+  GENERIC MAP (
+    g_nof_streams         => g_nof_streams,
+    g_data_w              => g_data_w,
+    g_hdr_field_arr       => c_hdr_field_arr,
+    g_remove_crc          => g_remove_crc,
+    g_crc_nof_words       => c_nof_crc_words
+   )
+  PORT MAP (
+    mm_rst                => mm_rst,
+    mm_clk                => mm_clk,
+
+    dp_rst                => dp_rst,
+    dp_clk                => dp_clk,
+
+    reg_hdr_dat_mosi      => reg_dp_offload_rx_hdr_dat_mosi,
+    reg_hdr_dat_miso      => reg_dp_offload_rx_hdr_dat_miso,
+
+    -- from MAC
+    snk_in_arr            => dp_offload_rx_snk_in_arr,
+    snk_out_arr           => dp_offload_rx_snk_out_arr,
+
+    -- to databuffer
+    src_out_arr           => dp_offload_rx_src_out_arr,
+    src_in_arr            => dp_offload_rx_src_in_arr,
+
+    hdr_fields_out_arr    => hdr_fields_out_arr
+  );
+
+
+  gen_hdr_out_fields : FOR i IN 0 TO g_nof_streams-1 GENERATE
+    diag_data_buf_snk_in_arr(i).sync <=          sl(hdr_fields_out_arr(i)(field_hi(c_hdr_field_arr, "usr_sync") DOWNTO field_lo(c_hdr_field_arr, "usr_sync" )));
+    diag_data_buf_snk_in_arr(i).bsn  <= RESIZE_UVEC(hdr_fields_out_arr(i)(field_hi(c_hdr_field_arr, "usr_bsn" ) DOWNTO field_lo(c_hdr_field_arr, "usr_bsn"  )), c_dp_stream_bsn_w);
+  END GENERATE;
+
+
+  -----------------------------------------------------------------------------
+  -- RX: Data buffers and BSN monitors
+  -----------------------------------------------------------------------------
+  dp_offload_rx_src_in_arr <= diag_data_buf_snk_out_arr(g_nof_streams-1 downto 0);
+
+  gen_bsn_mon_in : FOR i IN 0 TO g_nof_streams-1 GENERATE
+    diag_data_buf_snk_in_arr(i).data  <= dp_offload_rx_src_out_arr(i).data;
+    diag_data_buf_snk_in_arr(i).valid <= dp_offload_rx_src_out_arr(i).valid;
+    diag_data_buf_snk_in_arr(i).sop   <= dp_offload_rx_src_out_arr(i).sop;
+    diag_data_buf_snk_in_arr(i).eop   <= dp_offload_rx_src_out_arr(i).eop;
+    diag_data_buf_snk_in_arr(i).err   <= dp_offload_rx_src_out_arr(i).err;
+  END GENERATE;
+
+
+
+  u_dp_bsn_monitor : ENTITY dp_lib.mms_dp_bsn_monitor
+  GENERIC MAP (
+    g_nof_streams        => g_nof_streams,
+    g_cross_clock_domain => TRUE,
+    g_sync_timeout       => g_bg_blocks_per_sync*(g_bg_block_size+g_bg_gapsize),
+    g_cnt_sop_w          => ceil_log2(g_bg_blocks_per_sync+1),
+    g_cnt_valid_w        => ceil_log2(g_bg_blocks_per_sync*g_bg_block_size+1),
+    g_log_first_bsn      => TRUE
+  )
+  PORT MAP (
+    mm_rst      => mm_rst,
+    mm_clk      => mm_clk,
+    reg_mosi    => reg_bsn_monitor_mosi,
+    reg_miso    => reg_bsn_monitor_miso,
+
+    dp_rst      => dp_rst,
+    dp_clk      => dp_clk,
+    in_siso_arr => diag_data_buf_snk_out_arr(g_nof_streams-1 downto 0),
+    in_sosi_arr => diag_data_buf_snk_in_arr(g_nof_streams-1 downto 0)
+  );
+
+
+  diag_data_buf_snk_out_arr <= (OTHERS=>c_dp_siso_rdy);
+
+  u_diag_data_buffer : ENTITY diag_lib.mms_diag_data_buffer
+  GENERIC MAP (
+    g_nof_streams  => g_nof_streams,
+    g_data_w       => 32, --g_data_w, --FIXME
+    g_buf_nof_data => 1024,
+    g_buf_use_sync => FALSE -- sync by reading last address of data buffer
+  )
+  PORT MAP (
+    mm_rst            => mm_rst,
+    mm_clk            => mm_clk,
+    dp_rst            => dp_rst,
+    dp_clk            => dp_clk,
+
+    ram_data_buf_mosi => ram_diag_data_buf_mosi,
+    ram_data_buf_miso => ram_diag_data_buf_miso,
+    reg_data_buf_mosi => reg_diag_data_buf_mosi,
+    reg_data_buf_miso => reg_diag_data_buf_miso,
+
+    --in_sync           => diag_data_buf_snk_in_arr(0).sop,
+    in_sync           => diag_data_buf_snk_in_arr(0).sync,
+    in_sosi_arr       => diag_data_buf_snk_in_arr
+  );
+
+END str;
+
diff --git a/boards/uniboard1/designs/unb1_test/src/vhdl/mmm_unb1_test.vhd b/boards/uniboard1/designs/unb1_test/src/vhdl/mmm_unb1_test.vhd
index 72b41764928565691643720850902642d6bbf974..06a5ede9de8fe19e6e44742270a500c7a37b1ef6 100644
--- a/boards/uniboard1/designs/unb1_test/src/vhdl/mmm_unb1_test.vhd
+++ b/boards/uniboard1/designs/unb1_test/src/vhdl/mmm_unb1_test.vhd
@@ -39,6 +39,7 @@ USE tech_tse_lib.tech_tse_pkg.ALL;
 USE tech_tse_lib.tb_tech_tse_pkg.ALL;
 USE work.qsys_unb1_test_pkg.ALL;
 USE reorder_lib.reorder_pkg.ALL;
+USE work.unb1_test_pkg.ALL;
 
 
 ENTITY mmm_unb1_test IS
@@ -46,12 +47,10 @@ ENTITY mmm_unb1_test IS
     g_sim               : BOOLEAN := FALSE; --FALSE: use QSYS; TRUE: use mm_file I/O
     g_sim_unb_nr        : NATURAL := 0;
     g_sim_node_nr       : NATURAL := 0;
-    g_nof_streams_1GbE  : NATURAL;
+    g_nof_streams_1GbE : NATURAL;
     g_nof_streams_10GbE : NATURAL;
     g_nof_streams_ddr   : NATURAL;
-    g_bg_block_size     : NATURAL;
-    g_hdr_field_arr     : t_common_field_arr;
-    g_nof_dp_offload_tx : NATURAL
+    g_bg_block_size     : NATURAL
   );
   PORT (
     mm_rst                         : IN  STD_LOGIC;
@@ -107,28 +106,52 @@ ENTITY mmm_unb1_test IS
     reg_remu_mosi                  : OUT t_mem_mosi;
     reg_remu_miso                  : IN  t_mem_miso;
 
-    ram_diag_bg_mosi               : OUT t_mem_mosi;
-    ram_diag_bg_miso               : IN  t_mem_miso;
-    reg_diag_bg_mosi               : OUT t_mem_mosi;
-    reg_diag_bg_miso               : IN  t_mem_miso;
-
-    reg_dp_offload_tx_mosi_arr         : OUT t_mem_mosi_arr(g_nof_dp_offload_tx-1 DOWNTO 0);
-    reg_dp_offload_tx_miso_arr         : IN  t_mem_miso_arr(g_nof_dp_offload_tx-1 DOWNTO 0);
-
-    reg_dp_offload_tx_hdr_dat_mosi_arr : OUT t_mem_mosi_arr(g_nof_dp_offload_tx-1 DOWNTO 0);
-    reg_dp_offload_tx_hdr_dat_miso_arr : IN  t_mem_miso_arr(g_nof_dp_offload_tx-1 DOWNTO 0);
-
-    reg_dp_offload_rx_hdr_dat_mosi : OUT t_mem_mosi;
-    reg_dp_offload_rx_hdr_dat_miso : IN  t_mem_miso;
-
-    reg_bsn_monitor_mosi           : OUT t_mem_mosi;
-    reg_bsn_monitor_miso           : IN  t_mem_miso;
-
-    ram_diag_data_buf_mosi         : OUT t_mem_mosi;
-    ram_diag_data_buf_miso         : IN  t_mem_miso;
-    reg_diag_data_buf_mosi         : OUT t_mem_mosi;
-    reg_diag_data_buf_miso         : IN  t_mem_miso;
-
+    -- block gen
+    ram_diag_bg_1GbE_mosi          : OUT t_mem_mosi;
+    ram_diag_bg_1GbE_miso          : IN  t_mem_miso;
+    reg_diag_bg_1GbE_mosi          : OUT t_mem_mosi;
+    reg_diag_bg_1GbE_miso          : IN  t_mem_miso;
+
+    ram_diag_bg_10GbE_mosi         : OUT t_mem_mosi;
+    ram_diag_bg_10GbE_miso         : IN  t_mem_miso;
+    reg_diag_bg_10GbE_mosi         : OUT t_mem_mosi;
+    reg_diag_bg_10GbE_miso         : IN  t_mem_miso;
+
+    -- dp_offload_tx
+    reg_dp_offload_tx_1GbE_mosi          : OUT t_mem_mosi;
+    reg_dp_offload_tx_1GbE_miso          : IN  t_mem_miso;
+    reg_dp_offload_tx_1GbE_hdr_dat_mosi  : OUT t_mem_mosi;
+    reg_dp_offload_tx_1GbE_hdr_dat_miso  : IN  t_mem_miso;
+
+    reg_dp_offload_tx_10GbE_mosi         : OUT t_mem_mosi;
+    reg_dp_offload_tx_10GbE_miso         : IN  t_mem_miso;
+    reg_dp_offload_tx_10GbE_hdr_dat_mosi : OUT t_mem_mosi;
+    reg_dp_offload_tx_10GbE_hdr_dat_miso : IN  t_mem_miso;
+
+    -- dp_offload_rx
+    reg_dp_offload_rx_1GbE_hdr_dat_mosi  : OUT t_mem_mosi;
+    reg_dp_offload_rx_1GbE_hdr_dat_miso  : IN  t_mem_miso;
+    reg_dp_offload_rx_10GbE_hdr_dat_mosi : OUT t_mem_mosi;
+    reg_dp_offload_rx_10GbE_hdr_dat_miso : IN  t_mem_miso;
+
+    -- bsn
+    reg_bsn_monitor_1GbE_mosi            : OUT t_mem_mosi;
+    reg_bsn_monitor_1GbE_miso            : IN  t_mem_miso;
+    reg_bsn_monitor_10GbE_mosi           : OUT t_mem_mosi;
+    reg_bsn_monitor_10GbE_miso           : IN  t_mem_miso;
+
+    -- databuffer
+    ram_diag_data_buf_1GbE_mosi          : OUT t_mem_mosi;
+    ram_diag_data_buf_1GbE_miso          : IN  t_mem_miso;
+    reg_diag_data_buf_1GbE_mosi          : OUT t_mem_mosi;
+    reg_diag_data_buf_1GbE_miso          : IN  t_mem_miso;
+ 
+    ram_diag_data_buf_10GbE_mosi         : OUT t_mem_mosi;
+    ram_diag_data_buf_10GbE_miso         : IN  t_mem_miso;
+    reg_diag_data_buf_10GbE_mosi         : OUT t_mem_mosi;
+    reg_diag_data_buf_10GbE_miso         : IN  t_mem_miso;
+
+    -- tr_10GbE
     reg_tr_10GbE_mosi              : OUT t_mem_mosi;
     reg_tr_10GbE_miso              : IN  t_mem_miso;
     reg_tr_xaui_mosi               : OUT t_mem_mosi;
@@ -144,23 +167,30 @@ END mmm_unb1_test;
 
 ARCHITECTURE str OF mmm_unb1_test IS
 
-  CONSTANT g_nof_streams                           : NATURAL := g_nof_streams_1GbE + g_nof_streams_10GbE + g_nof_streams_ddr;
-  CONSTANT g_nof_streams_eth                       : NATURAL := g_nof_streams_1GbE + g_nof_streams_10GbE;
-
   -- Block generator
-  CONSTANT c_ram_diag_bg_addr_w                    : NATURAL := ceil_log2(g_nof_streams* pow2(ceil_log2(g_bg_block_size))); -- 5*10 --> 13
+  CONSTANT c_ram_diag_bg_1GbE_addr_w                     : NATURAL := ceil_log2(g_nof_streams_1GbE * pow2(ceil_log2(g_bg_block_size)));
+  CONSTANT c_ram_diag_bg_10GbE_addr_w                    : NATURAL := ceil_log2(g_nof_streams_10GbE * pow2(ceil_log2(g_bg_block_size)));
 
   -- dp_offload
-  CONSTANT c_reg_dp_offload_tx_adr_w               : NATURAL := 1; -- Dev note: add to c_unb1_board_peripherals_mm_reg_default
-  CONSTANT c_reg_dp_offload_tx_multi_adr_w         : NATURAL := ceil_log2(g_nof_streams_eth * pow2(c_reg_dp_offload_tx_adr_w)); -- 4*1
+  CONSTANT c_reg_dp_offload_tx_adr_w                     : NATURAL := 1; -- Dev note: add to c_unb1_board_peripherals_mm_reg_default
+  CONSTANT c_reg_dp_offload_tx_1GbE_multi_adr_w          : NATURAL := ceil_log2(g_nof_streams_1GbE * pow2(c_reg_dp_offload_tx_adr_w));
+  CONSTANT c_reg_dp_offload_tx_10GbE_multi_adr_w         : NATURAL := ceil_log2(g_nof_streams_10GbE * pow2(c_reg_dp_offload_tx_adr_w));
 
-  CONSTANT c_reg_dp_offload_tx_hdr_dat_nof_words   : NATURAL := field_nof_words(g_hdr_field_arr, c_word_w);
-  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_eth * pow2(c_reg_dp_offload_tx_hdr_dat_adr_w));
+  CONSTANT c_reg_dp_offload_tx_1GbE_hdr_dat_nof_words    : NATURAL := field_nof_words(c_hdr_field_arr, c_word_w);
+  CONSTANT c_reg_dp_offload_tx_1GbE_hdr_dat_adr_w        : NATURAL := ceil_log2(c_reg_dp_offload_tx_1GbE_hdr_dat_nof_words);
+  CONSTANT c_reg_dp_offload_tx_1GbE_hdr_dat_multi_adr_w  : NATURAL := ceil_log2(g_nof_streams_1GbE * pow2(c_reg_dp_offload_tx_1GbE_hdr_dat_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_eth * pow2(c_reg_dp_offload_rx_hdr_dat_adr_w));
+  CONSTANT c_reg_dp_offload_tx_10GbE_hdr_dat_nof_words   : NATURAL := field_nof_words(c_hdr_field_arr, c_word_w);
+  CONSTANT c_reg_dp_offload_tx_10GbE_hdr_dat_adr_w       : NATURAL := ceil_log2(c_reg_dp_offload_tx_10GbE_hdr_dat_nof_words);
+  CONSTANT c_reg_dp_offload_tx_10GbE_hdr_dat_multi_adr_w : NATURAL := ceil_log2(g_nof_streams_10GbE * pow2(c_reg_dp_offload_tx_10GbE_hdr_dat_adr_w));
+
+  CONSTANT c_reg_dp_offload_rx_1GbE_hdr_dat_nof_words    : NATURAL := field_nof_words(c_hdr_field_arr, c_word_w);
+  CONSTANT c_reg_dp_offload_rx_1GbE_hdr_dat_adr_w        : NATURAL := ceil_log2(c_reg_dp_offload_rx_1GbE_hdr_dat_nof_words);
+  CONSTANT c_reg_dp_offload_rx_1GbE_hdr_dat_multi_adr_w  : NATURAL := ceil_log2(g_nof_streams_1GbE * pow2(c_reg_dp_offload_rx_1GbE_hdr_dat_adr_w));
+
+  CONSTANT c_reg_dp_offload_rx_10GbE_hdr_dat_nof_words   : NATURAL := field_nof_words(c_hdr_field_arr, c_word_w);
+  CONSTANT c_reg_dp_offload_rx_10GbE_hdr_dat_adr_w       : NATURAL := ceil_log2(c_reg_dp_offload_rx_10GbE_hdr_dat_nof_words);
+  CONSTANT c_reg_dp_offload_rx_10GbE_hdr_dat_multi_adr_w : NATURAL := ceil_log2(g_nof_streams_10GbE * pow2(c_reg_dp_offload_rx_10GbE_hdr_dat_adr_w));
 
   -- reorder
   --                                                                       v--- FIXME: g_frame_size_in
@@ -175,15 +205,14 @@ ARCHITECTURE str OF mmm_unb1_test IS
   CONSTANT c_reg_tr_xaui_multi_adr_w               : NATURAL := ceil_log2(g_nof_streams_10GbE * pow2(c_reg_tr_xaui_adr_w));
 
   -- BSN monitors
-  CONSTANT c_reg_rsp_bsn_monitor_adr_w             : NATURAL := ceil_log2(g_nof_streams * pow2(c_unb1_board_peripherals_mm_reg_default.reg_bsn_monitor_adr_w));
+  CONSTANT c_reg_rsp_bsn_monitor_1GbE_adr_w        : NATURAL := ceil_log2(g_nof_streams_1GbE * pow2(c_unb1_board_peripherals_mm_reg_default.reg_bsn_monitor_adr_w));
+  CONSTANT c_reg_rsp_bsn_monitor_10GbE_adr_w       : NATURAL := ceil_log2(g_nof_streams_10GbE * pow2(c_unb1_board_peripherals_mm_reg_default.reg_bsn_monitor_adr_w));
 
 
   CONSTANT c_dp_reg_mm_nof_words       : NATURAL := 1;
   CONSTANT c_dp_reg_mm_adr_w           : NATURAL := ceil_log2(c_eth_nof_udp_ports * pow2(ceil_log2(c_dp_reg_mm_nof_words)));
 
   -- Simulation
-  CONSTANT c_mm_clk_period      : TIME := 8 ns;   -- 125 MHz
-
   CONSTANT c_sim_node_type : STRING(1 TO 2):= sel_a_b(g_sim_node_nr<4, "FN", "BN");
   CONSTANT c_sim_node_nr   : NATURAL := sel_a_b(c_sim_node_type="BN", g_sim_node_nr-4, g_sim_node_nr);
 
@@ -244,44 +273,60 @@ BEGIN
     u_mm_file_reg_ppsh            : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "PIO_PPS")
                                                PORT MAP(mm_rst, mm_clk, reg_ppsh_mosi, reg_ppsh_miso );
 
-    u_mm_file_reg_diag_bg               : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DIAG_BG")
-                                                     PORT MAP(mm_rst, mm_clk, reg_diag_bg_mosi, reg_diag_bg_miso);
+    u_mm_file_reg_diag_bg_1GbE    : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DIAG_BG_1GbE")
+                                               PORT MAP(mm_rst, mm_clk, reg_diag_bg_1GbE_mosi, reg_diag_bg_1GbE_miso);
+
+    u_mm_file_ram_diag_bg_1GbE    : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_DIAG_BG_1GbE")
+                                               PORT MAP(mm_rst, mm_clk, ram_diag_bg_1GbE_mosi, ram_diag_bg_1GbE_miso);
+
+    u_mm_file_reg_diag_bg_10GbE   : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DIAG_BG_10GBE")
+                                               PORT MAP(mm_rst, mm_clk, reg_diag_bg_10GbE_mosi, reg_diag_bg_10GbE_miso);
+
+    u_mm_file_ram_diag_bg_10GbE   : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_DIAG_BG_10GBE")
+                                               PORT MAP(mm_rst, mm_clk, ram_diag_bg_10GbE_mosi, ram_diag_bg_10GbE_miso);
+
 
-    u_mm_file_ram_diag_bg               : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_DIAG_BG")
-                                                     PORT MAP(mm_rst, mm_clk, ram_diag_bg_mosi, ram_diag_bg_miso);
+    u_mm_file_reg_dp_offload_tx_1GbE  : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DP_OFFLOAD_TX_1GBE")
+                                                   PORT MAP(mm_rst, mm_clk, reg_dp_offload_tx_1GbE_mosi, reg_dp_offload_tx_1GbE_miso);
 
+    u_mm_file_reg_dp_offload_tx_10GbE : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DP_OFFLOAD_TX_10GBE")
+                                                   PORT MAP(mm_rst, mm_clk, reg_dp_offload_tx_10GbE_mosi, reg_dp_offload_tx_10GbE_miso);
 
-    u_mm_file_reg_dp_offload_tx_1       : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DP_OFFLOAD_TX")
-                                                     PORT MAP(mm_rst, mm_clk, reg_dp_offload_tx_mosi_arr(1), reg_dp_offload_tx_miso_arr(1) );
 
-    u_mm_file_reg_dp_offload_tx_0       : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DP_OFFLOAD_TX_1GBE")
-                                                     PORT MAP(mm_rst, mm_clk, reg_dp_offload_tx_mosi_arr(0), reg_dp_offload_tx_miso_arr(0) );
+    u_mm_file_reg_dp_offload_tx_1GbE_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_1GBE_HDR_DAT")
+                                                           PORT MAP(mm_rst, mm_clk, reg_dp_offload_tx_1GbE_hdr_dat_mosi, reg_dp_offload_tx_1GbE_hdr_dat_miso);
 
+    u_mm_file_reg_dp_offload_tx_10GbE_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_10GBE_HDR_DAT")
+                                                           PORT MAP(mm_rst, mm_clk, reg_dp_offload_tx_10GbE_hdr_dat_mosi, reg_dp_offload_tx_10GbE_hdr_dat_miso);
 
-    u_mm_file_reg_dp_offload_tx_1_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_arr(1), reg_dp_offload_tx_hdr_dat_miso_arr(1) );
 
-    u_mm_file_reg_dp_offload_tx_0_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_1GBE")
-                                                     PORT MAP(mm_rst, mm_clk, reg_dp_offload_tx_hdr_dat_mosi_arr(0), reg_dp_offload_tx_hdr_dat_miso_arr(0) );
+    u_mm_file_reg_dp_offload_rx_1GbE_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_1GBE_HDR_DAT")
+                                                           PORT MAP(mm_rst, mm_clk, reg_dp_offload_rx_1GbE_hdr_dat_mosi, reg_dp_offload_rx_1GbE_hdr_dat_miso );
 
+    u_mm_file_reg_dp_offload_rx_10GbE_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_10GBE_HDR_DAT")
+                                                           PORT MAP(mm_rst, mm_clk, reg_dp_offload_rx_10GbE_hdr_dat_mosi, reg_dp_offload_rx_10GbE_hdr_dat_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 );
+    u_mm_file_reg_bsn_monitor_1GbE            : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_MONITOR_1GBE")
+                                                           PORT MAP(mm_rst, mm_clk, reg_bsn_monitor_1GbE_mosi, reg_bsn_monitor_1GbE_miso );
 
-    u_mm_file_reg_bsn_monitor           : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_MONITOR")
-                                                     PORT MAP(mm_rst, mm_clk, reg_bsn_monitor_mosi, reg_bsn_monitor_miso );
+    u_mm_file_reg_bsn_monitor_10GbE           : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_MONITOR_10GBE")
+                                                           PORT MAP(mm_rst, mm_clk, reg_bsn_monitor_10GbE_mosi, reg_bsn_monitor_10GbE_miso );
 
-    u_mm_file_ram_diag_data_buffer      : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_DIAG_DATA_BUFFER")
-                                                     PORT MAP(mm_rst, mm_clk, ram_diag_data_buf_mosi, ram_diag_data_buf_miso);
+    u_mm_file_ram_diag_data_buffer_1GbE       : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_DIAG_DATA_BUFFER_1GBE")
+                                                           PORT MAP(mm_rst, mm_clk, ram_diag_data_buf_1GbE_mosi, ram_diag_data_buf_1GbE_miso);
+    u_mm_file_ram_diag_data_buffer_10GbE      : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_DIAG_DATA_BUFFER_10GBE")
+                                                           PORT MAP(mm_rst, mm_clk, ram_diag_data_buf_10GbE_mosi, ram_diag_data_buf_10GbE_miso);
 
-    u_mm_file_reg_diag_data_buffer      : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DIAG_DATA_BUFFER")
-                                                     PORT MAP(mm_rst, mm_clk, reg_diag_data_buf_mosi, reg_diag_data_buf_miso);
+    u_mm_file_reg_diag_data_buffer_1GbE       : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DIAG_DATA_BUFFER_1GBE")
+                                                           PORT MAP(mm_rst, mm_clk, reg_diag_data_buf_1GbE_mosi, reg_diag_data_buf_1GbE_miso);
+    u_mm_file_reg_diag_data_buffer_10GbE      : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DIAG_DATA_BUFFER_10GBE")
+                                                           PORT MAP(mm_rst, mm_clk, reg_diag_data_buf_10GbE_mosi, reg_diag_data_buf_10GbE_miso);
 
-    u_mm_file_ram_ss_ss_transp     : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_SS_SS_WIDE")
-                                             PORT MAP(mm_rst, mm_clk, ram_ss_ss_transp_mosi, ram_ss_ss_transp_miso);
+    u_mm_file_ram_ss_ss_transp    : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_SS_SS_WIDE")
+                                               PORT MAP(mm_rst, mm_clk, ram_ss_ss_transp_mosi, ram_ss_ss_transp_miso);
 
-    u_mm_file_reg_io_ddr           : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_IO_DDR")
-                                             PORT MAP(mm_rst, mm_clk, reg_io_ddr_mosi, reg_io_ddr_miso);
+    u_mm_file_reg_io_ddr          : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_IO_DDR")
+                                               PORT MAP(mm_rst, mm_clk, reg_io_ddr_mosi, reg_io_ddr_miso);
 
     -- Note: the eth1g RAM and TSE buses are only required by unb_osy on the NIOS as they provide the ethernet<->MM gateway.
     u_mm_file_reg_eth             : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "AVS_ETH_0_MMS_REG")
@@ -378,7 +423,7 @@ BEGIN
       -- the_reg_dpmm_data
       coe_clk_export_from_the_reg_dpmm_data         => OPEN,
       coe_reset_export_from_the_reg_dpmm_data       => OPEN,
-      coe_address_export_from_the_reg_dpmm_data     => reg_dpmm_data_mosi.address(0),
+      coe_address_export_from_the_reg_dpmm_data     => reg_dpmm_data_mosi.address(0 DOWNTO 0),
       coe_read_export_from_the_reg_dpmm_data        => reg_dpmm_data_mosi.rd,
       coe_readdata_export_to_the_reg_dpmm_data      => reg_dpmm_data_miso.rddata(c_word_w-1 DOWNTO 0),
       coe_write_export_from_the_reg_dpmm_data       => reg_dpmm_data_mosi.wr,
@@ -387,7 +432,7 @@ BEGIN
       -- the_reg_dpmm_ctrl
       coe_clk_export_from_the_reg_dpmm_ctrl         => OPEN,
       coe_reset_export_from_the_reg_dpmm_ctrl       => OPEN,
-      coe_address_export_from_the_reg_dpmm_ctrl     => reg_dpmm_ctrl_mosi.address(0),
+      coe_address_export_from_the_reg_dpmm_ctrl     => reg_dpmm_ctrl_mosi.address(0 DOWNTO 0),
       coe_read_export_from_the_reg_dpmm_ctrl        => reg_dpmm_ctrl_mosi.rd,
       coe_readdata_export_to_the_reg_dpmm_ctrl      => reg_dpmm_ctrl_miso.rddata(c_word_w-1 DOWNTO 0),
       coe_write_export_from_the_reg_dpmm_ctrl       => reg_dpmm_ctrl_mosi.wr,
@@ -396,7 +441,7 @@ BEGIN
       -- the_reg_mmdp_data
       coe_clk_export_from_the_reg_mmdp_data         => OPEN,
       coe_reset_export_from_the_reg_mmdp_data       => OPEN,
-      coe_address_export_from_the_reg_mmdp_data     => reg_mmdp_data_mosi.address(0),
+      coe_address_export_from_the_reg_mmdp_data     => reg_mmdp_data_mosi.address(0 DOWNTO 0),
       coe_read_export_from_the_reg_mmdp_data        => reg_mmdp_data_mosi.rd,
       coe_readdata_export_to_the_reg_mmdp_data      => reg_mmdp_data_miso.rddata(c_word_w-1 DOWNTO 0),
       coe_write_export_from_the_reg_mmdp_data       => reg_mmdp_data_mosi.wr,
@@ -405,7 +450,7 @@ BEGIN
       -- the_reg_mmdp_ctrl
       coe_clk_export_from_the_reg_mmdp_ctrl         => OPEN,
       coe_reset_export_from_the_reg_mmdp_ctrl       => OPEN,
-      coe_address_export_from_the_reg_mmdp_ctrl     => reg_mmdp_ctrl_mosi.address(0),
+      coe_address_export_from_the_reg_mmdp_ctrl     => reg_mmdp_ctrl_mosi.address(0 DOWNTO 0),
       coe_read_export_from_the_reg_mmdp_ctrl        => reg_mmdp_ctrl_mosi.rd,
       coe_readdata_export_to_the_reg_mmdp_ctrl      => reg_mmdp_ctrl_miso.rddata(c_word_w-1 DOWNTO 0),
       coe_write_export_from_the_reg_mmdp_ctrl       => reg_mmdp_ctrl_mosi.wr,
@@ -432,7 +477,7 @@ BEGIN
       -- the_pio_pps
       coe_clk_export_from_the_pio_pps               => OPEN,
       coe_reset_export_from_the_pio_pps             => OPEN,
-      coe_address_export_from_the_pio_pps           => reg_ppsh_mosi.address(c_unb1_board_peripherals_mm_reg_default.reg_ppsh_adr_w-1),  -- 1 bit address width so must use (0) instead of (0 DOWNTO 0)
+      coe_address_export_from_the_pio_pps           => reg_ppsh_mosi.address(c_unb1_board_peripherals_mm_reg_default.reg_ppsh_adr_w-1 DOWNTO 0),  -- 1 bit address width so must use (0) instead of (0 DOWNTO 0)
       coe_read_export_from_the_pio_pps              => reg_ppsh_mosi.rd,
       coe_readdata_export_to_the_pio_pps            => reg_ppsh_miso.rddata(c_word_w-1 DOWNTO 0),
       coe_write_export_from_the_pio_pps             => reg_ppsh_mosi.wr,
@@ -462,7 +507,7 @@ BEGIN
       -- the_reg_wdi: Manual WDI override; causes FPGA reconfiguration if WDI is enabled (g_use_phy).
       coe_clk_export_from_the_reg_wdi               => OPEN,
       coe_reset_export_from_the_reg_wdi             => OPEN,
-      coe_address_export_from_the_reg_wdi           => reg_wdi_mosi.address(0), 
+      coe_address_export_from_the_reg_wdi           => reg_wdi_mosi.address(0 DOWNTO 0), 
       coe_read_export_from_the_reg_wdi              => reg_wdi_mosi.rd,
       coe_readdata_export_to_the_reg_wdi            => reg_wdi_miso.rddata(c_word_w-1 DOWNTO 0),
       coe_write_export_from_the_reg_wdi             => reg_wdi_mosi.wr,
@@ -488,116 +533,166 @@ BEGIN
       coe_write_export_from_the_reg_tr_xaui         => reg_tr_xaui_mosi.wr,
       coe_writedata_export_from_the_reg_tr_xaui     => reg_tr_xaui_mosi.wrdata(c_word_w-1 DOWNTO 0),
 
-      -- the_reg_diag_bg
-      reg_diag_bg_address_export                    => reg_diag_bg_mosi.address(c_unb1_board_peripherals_mm_reg_default.reg_diag_bg_adr_w-1 DOWNTO 0),
-      reg_diag_bg_clk_export                        => OPEN,
-      reg_diag_bg_read_export                       => reg_diag_bg_mosi.rd,
-      reg_diag_bg_readdata_export                   => reg_diag_bg_miso.rddata(c_word_w-1 DOWNTO 0),
-      reg_diag_bg_reset_export                      => OPEN,
-      reg_diag_bg_write_export                      => reg_diag_bg_mosi.wr,
-      reg_diag_bg_writedata_export                  => reg_diag_bg_mosi.wrdata(c_word_w-1 DOWNTO 0),
-
-      -- the_ram_diag_bg
-      ram_diag_bg_address_export                    => ram_diag_bg_mosi.address(c_ram_diag_bg_addr_w-1 DOWNTO 0),
-      ram_diag_bg_clk_export                        => OPEN,
-      ram_diag_bg_read_export                       => ram_diag_bg_mosi.rd,
-      ram_diag_bg_readdata_export                   => ram_diag_bg_miso.rddata(c_word_w-1 DOWNTO 0),
-      ram_diag_bg_reset_export                      => OPEN,
-      ram_diag_bg_write_export                      => ram_diag_bg_mosi.wr,
-      ram_diag_bg_writedata_export                  => ram_diag_bg_mosi.wrdata(c_word_w-1 DOWNTO 0),
-
-
-      -- the_reg_dp_offload_tx
-      reg_dp_offload_tx_address_export              => reg_dp_offload_tx_mosi_arr(1).address(c_reg_dp_offload_tx_multi_adr_w-1 DOWNTO 0),
-      reg_dp_offload_tx_clk_export                  => OPEN,
-      reg_dp_offload_tx_read_export                 => reg_dp_offload_tx_mosi_arr(1).rd,
-      reg_dp_offload_tx_readdata_export             => reg_dp_offload_tx_miso_arr(1).rddata(c_word_w-1 DOWNTO 0),
-      reg_dp_offload_tx_reset_export                => OPEN,
-      reg_dp_offload_tx_write_export                => reg_dp_offload_tx_mosi_arr(1).wr,
-      reg_dp_offload_tx_writedata_export            => reg_dp_offload_tx_mosi_arr(1).wrdata(c_word_w-1 DOWNTO 0),
-
-      -- the_reg_dp_offload_tx_hdr_dat
-      reg_dp_offload_tx_hdr_dat_address_export      => reg_dp_offload_tx_hdr_dat_mosi_arr(1).address(c_reg_dp_offload_tx_hdr_dat_multi_adr_w-1 DOWNTO 0),
-      reg_dp_offload_tx_hdr_dat_clk_export          => OPEN,
-      reg_dp_offload_tx_hdr_dat_read_export         => reg_dp_offload_tx_hdr_dat_mosi_arr(1).rd,
-      reg_dp_offload_tx_hdr_dat_readdata_export     => reg_dp_offload_tx_hdr_dat_miso_arr(1).rddata(c_word_w-1 DOWNTO 0),
-      reg_dp_offload_tx_hdr_dat_reset_export        => OPEN,
-      reg_dp_offload_tx_hdr_dat_write_export        => reg_dp_offload_tx_hdr_dat_mosi_arr(1).wr,
-      reg_dp_offload_tx_hdr_dat_writedata_export    => reg_dp_offload_tx_hdr_dat_mosi_arr(1).wrdata(c_word_w-1 DOWNTO 0),
-
-
-      -- the_reg_dp_offload_tx_1gbe
-      reg_dp_offload_tx_1gbe_address_export              => reg_dp_offload_tx_mosi_arr(0).address(c_reg_dp_offload_tx_multi_adr_w-1 DOWNTO 0),
-      reg_dp_offload_tx_1gbe_clk_export                  => OPEN,
-      reg_dp_offload_tx_1gbe_read_export                 => reg_dp_offload_tx_mosi_arr(0).rd,
-      reg_dp_offload_tx_1gbe_readdata_export             => reg_dp_offload_tx_miso_arr(0).rddata(c_word_w-1 DOWNTO 0),
-      reg_dp_offload_tx_1gbe_reset_export                => OPEN,
-      reg_dp_offload_tx_1gbe_write_export                => reg_dp_offload_tx_mosi_arr(0).wr,
-      reg_dp_offload_tx_1gbe_writedata_export            => reg_dp_offload_tx_mosi_arr(0).wrdata(c_word_w-1 DOWNTO 0),
-
-      -- the_reg_dp_offload_tx_1gbe_hdr_dat
-      reg_dp_offload_tx_1gbe_hdr_dat_address_export      => reg_dp_offload_tx_hdr_dat_mosi_arr(0).address(c_reg_dp_offload_tx_hdr_dat_multi_adr_w-1 DOWNTO 0),
-      reg_dp_offload_tx_1gbe_hdr_dat_clk_export          => OPEN,
-      reg_dp_offload_tx_1gbe_hdr_dat_read_export         => reg_dp_offload_tx_hdr_dat_mosi_arr(0).rd,
-      reg_dp_offload_tx_1gbe_hdr_dat_readdata_export     => reg_dp_offload_tx_hdr_dat_miso_arr(0).rddata(c_word_w-1 DOWNTO 0),
-      reg_dp_offload_tx_1gbe_hdr_dat_reset_export        => OPEN,
-      reg_dp_offload_tx_1gbe_hdr_dat_write_export        => reg_dp_offload_tx_hdr_dat_mosi_arr(0).wr,
-      reg_dp_offload_tx_1gbe_hdr_dat_writedata_export    => reg_dp_offload_tx_hdr_dat_mosi_arr(0).wrdata(c_word_w-1 DOWNTO 0),
-
-
-      -- the_reg_dp_offload_rx_hdr_dat
-      reg_dp_offload_rx_hdr_dat_address_export      => reg_dp_offload_rx_hdr_dat_mosi.address(c_reg_dp_offload_rx_hdr_dat_multi_adr_w-1 DOWNTO 0),
-      reg_dp_offload_rx_hdr_dat_clk_export          => OPEN,
-      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_rx_hdr_dat_reset_export        => OPEN,
-      reg_dp_offload_rx_hdr_dat_write_export        => reg_dp_offload_rx_hdr_dat_mosi.wr,
-      reg_dp_offload_rx_hdr_dat_writedata_export    => reg_dp_offload_rx_hdr_dat_mosi.wrdata(c_word_w-1 DOWNTO 0),
-
-      -- the_reg_bsn_monitor
-      reg_bsn_monitor_address_export                => reg_bsn_monitor_mosi.address(c_reg_rsp_bsn_monitor_adr_w-1 DOWNTO 0),
-      reg_bsn_monitor_clk_export                    => OPEN,
-      reg_bsn_monitor_read_export                   => reg_bsn_monitor_mosi.rd,
-      reg_bsn_monitor_readdata_export               => reg_bsn_monitor_miso.rddata(c_word_w-1 DOWNTO 0),
-      reg_bsn_monitor_reset_export                  => OPEN,
-      reg_bsn_monitor_write_export                  => reg_bsn_monitor_mosi.wr,
-      reg_bsn_monitor_writedata_export              => reg_bsn_monitor_mosi.wrdata(c_word_w-1 DOWNTO 0),
-
-      -- the_ram_diag_data_buffer
-      ram_diag_data_buffer_address_export           => ram_diag_data_buf_mosi.address(c_unb1_board_peripherals_mm_reg_default.ram_diag_db_adr_w-1 DOWNTO 0),
-      ram_diag_data_buffer_clk_export               => OPEN,
-      ram_diag_data_buffer_read_export              => ram_diag_data_buf_mosi.rd,
-      ram_diag_data_buffer_readdata_export          => ram_diag_data_buf_miso.rddata(c_word_w-1 DOWNTO 0),
-      ram_diag_data_buffer_reset_export             => OPEN,
-      ram_diag_data_buffer_write_export             => ram_diag_data_buf_mosi.wr,
-      ram_diag_data_buffer_writedata_export         => ram_diag_data_buf_mosi.wrdata(c_word_w-1 DOWNTO 0),
-
-      -- the_reg_diag_data_buffer
-      reg_diag_data_buffer_address_export           => reg_diag_data_buf_mosi.address(c_unb1_board_peripherals_mm_reg_default.reg_diag_db_adr_w-1 DOWNTO 0),
-      reg_diag_data_buffer_clk_export               => OPEN,
-      reg_diag_data_buffer_read_export              => reg_diag_data_buf_mosi.rd,
-      reg_diag_data_buffer_readdata_export          => reg_diag_data_buf_miso.rddata(c_word_w-1 DOWNTO 0),
-      reg_diag_data_buffer_reset_export             => OPEN,
-      reg_diag_data_buffer_write_export             => reg_diag_data_buf_mosi.wr,
-      reg_diag_data_buffer_writedata_export         => reg_diag_data_buf_mosi.wrdata(c_word_w-1 DOWNTO 0),
+      -- the_reg_diag_bg_1GbE
+      reg_diag_bg_1GbE_address_export               => reg_diag_bg_1GbE_mosi.address(c_unb1_board_peripherals_mm_reg_default.reg_diag_bg_adr_w-1 DOWNTO 0),
+      reg_diag_bg_1GbE_clk_export                   => OPEN,
+      reg_diag_bg_1GbE_read_export                  => reg_diag_bg_1GbE_mosi.rd,
+      reg_diag_bg_1GbE_readdata_export              => reg_diag_bg_1GbE_miso.rddata(c_word_w-1 DOWNTO 0),
+      reg_diag_bg_1GbE_reset_export                 => OPEN,
+      reg_diag_bg_1GbE_write_export                 => reg_diag_bg_1GbE_mosi.wr,
+      reg_diag_bg_1GbE_writedata_export             => reg_diag_bg_1GbE_mosi.wrdata(c_word_w-1 DOWNTO 0),
+      -- the_ram_diag_bg_1GbE
+      ram_diag_bg_1GbE_address_export               => ram_diag_bg_1GbE_mosi.address(c_ram_diag_bg_1GbE_addr_w-1 DOWNTO 0),
+      ram_diag_bg_1GbE_clk_export                   => OPEN,
+      ram_diag_bg_1GbE_read_export                  => ram_diag_bg_1GbE_mosi.rd,
+      ram_diag_bg_1GbE_readdata_export              => ram_diag_bg_1GbE_miso.rddata(c_word_w-1 DOWNTO 0),
+      ram_diag_bg_1GbE_reset_export                 => OPEN,
+      ram_diag_bg_1GbE_write_export                 => ram_diag_bg_1GbE_mosi.wr,
+      ram_diag_bg_1GbE_writedata_export             => ram_diag_bg_1GbE_mosi.wrdata(c_word_w-1 DOWNTO 0),
+
+      -- the_reg_diag_bg_10GbE
+      reg_diag_bg_10GbE_address_export              => reg_diag_bg_10GbE_mosi.address(c_unb1_board_peripherals_mm_reg_default.reg_diag_bg_adr_w-1 DOWNTO 0),
+      reg_diag_bg_10GbE_clk_export                  => OPEN,
+      reg_diag_bg_10GbE_read_export                 => reg_diag_bg_10GbE_mosi.rd,
+      reg_diag_bg_10GbE_readdata_export             => reg_diag_bg_10GbE_miso.rddata(c_word_w-1 DOWNTO 0),
+      reg_diag_bg_10GbE_reset_export                => OPEN,
+      reg_diag_bg_10GbE_write_export                => reg_diag_bg_10GbE_mosi.wr,
+      reg_diag_bg_10GbE_writedata_export            => reg_diag_bg_10GbE_mosi.wrdata(c_word_w-1 DOWNTO 0),
+      -- the_ram_diag_bg_10GbE
+      ram_diag_bg_10GbE_address_export              => ram_diag_bg_10GbE_mosi.address(c_ram_diag_bg_10GbE_addr_w-1 DOWNTO 0),
+      ram_diag_bg_10GbE_clk_export                  => OPEN,
+      ram_diag_bg_10GbE_read_export                 => ram_diag_bg_10GbE_mosi.rd,
+      ram_diag_bg_10GbE_readdata_export             => ram_diag_bg_10GbE_miso.rddata(c_word_w-1 DOWNTO 0),
+      ram_diag_bg_10GbE_reset_export                => OPEN,
+      ram_diag_bg_10GbE_write_export                => ram_diag_bg_10GbE_mosi.wr,
+      ram_diag_bg_10GbE_writedata_export            => ram_diag_bg_10GbE_mosi.wrdata(c_word_w-1 DOWNTO 0),
+
+
+      -- the_reg_dp_offload_tx_1GbE
+      reg_dp_offload_tx_1GbE_address_export         => reg_dp_offload_tx_1GbE_mosi.address(c_reg_dp_offload_tx_1GbE_multi_adr_w-1 DOWNTO 0),
+      reg_dp_offload_tx_1GbE_clk_export             => OPEN,
+      reg_dp_offload_tx_1GbE_read_export            => reg_dp_offload_tx_1GbE_mosi.rd,
+      reg_dp_offload_tx_1GbE_readdata_export        => reg_dp_offload_tx_1GbE_miso.rddata(c_word_w-1 DOWNTO 0),
+      reg_dp_offload_tx_1GbE_reset_export           => OPEN,
+      reg_dp_offload_tx_1GbE_write_export           => reg_dp_offload_tx_1GbE_mosi.wr,
+      reg_dp_offload_tx_1GbE_writedata_export       => reg_dp_offload_tx_1GbE_mosi.wrdata(c_word_w-1 DOWNTO 0),
+      -- the_reg_dp_offload_tx_10GbE
+      reg_dp_offload_tx_10GbE_address_export        => reg_dp_offload_tx_10GbE_mosi.address(c_reg_dp_offload_tx_10GbE_multi_adr_w-1 DOWNTO 0),
+      reg_dp_offload_tx_10GbE_clk_export            => OPEN,
+      reg_dp_offload_tx_10GbE_read_export           => reg_dp_offload_tx_10GbE_mosi.rd,
+      reg_dp_offload_tx_10GbE_readdata_export       => reg_dp_offload_tx_10GbE_miso.rddata(c_word_w-1 DOWNTO 0),
+      reg_dp_offload_tx_10GbE_reset_export          => OPEN,
+      reg_dp_offload_tx_10GbE_write_export          => reg_dp_offload_tx_10GbE_mosi.wr,
+      reg_dp_offload_tx_10GbE_writedata_export      => reg_dp_offload_tx_10GbE_mosi.wrdata(c_word_w-1 DOWNTO 0),
+
+
+      -- the_reg_dp_offload_tx_1GbE_hdr_dat
+      reg_dp_offload_tx_1GbE_hdr_dat_address_export    => reg_dp_offload_tx_1GbE_hdr_dat_mosi.address(c_reg_dp_offload_tx_1GbE_hdr_dat_multi_adr_w-1 DOWNTO 0),
+      reg_dp_offload_tx_1GbE_hdr_dat_clk_export        => OPEN,
+      reg_dp_offload_tx_1GbE_hdr_dat_read_export       => reg_dp_offload_tx_1GbE_hdr_dat_mosi.rd,
+      reg_dp_offload_tx_1GbE_hdr_dat_readdata_export   => reg_dp_offload_tx_1GbE_hdr_dat_miso.rddata(c_word_w-1 DOWNTO 0),
+      reg_dp_offload_tx_1GbE_hdr_dat_reset_export      => OPEN,
+      reg_dp_offload_tx_1GbE_hdr_dat_write_export      => reg_dp_offload_tx_1GbE_hdr_dat_mosi.wr,
+      reg_dp_offload_tx_1GbE_hdr_dat_writedata_export  => reg_dp_offload_tx_1GbE_hdr_dat_mosi.wrdata(c_word_w-1 DOWNTO 0),
+      -- the_reg_dp_offload_tx_10GbE_hdr_dat
+      reg_dp_offload_tx_10GbE_hdr_dat_address_export   => reg_dp_offload_tx_10GbE_hdr_dat_mosi.address(c_reg_dp_offload_tx_10GbE_hdr_dat_multi_adr_w-1 DOWNTO 0),
+      reg_dp_offload_tx_10GbE_hdr_dat_clk_export       => OPEN,
+      reg_dp_offload_tx_10GbE_hdr_dat_read_export      => reg_dp_offload_tx_10GbE_hdr_dat_mosi.rd,
+      reg_dp_offload_tx_10GbE_hdr_dat_readdata_export  => reg_dp_offload_tx_10GbE_hdr_dat_miso.rddata(c_word_w-1 DOWNTO 0),
+      reg_dp_offload_tx_10GbE_hdr_dat_reset_export     => OPEN,
+      reg_dp_offload_tx_10GbE_hdr_dat_write_export     => reg_dp_offload_tx_10GbE_hdr_dat_mosi.wr,
+      reg_dp_offload_tx_10GbE_hdr_dat_writedata_export => reg_dp_offload_tx_10GbE_hdr_dat_mosi.wrdata(c_word_w-1 DOWNTO 0),
+
+
+
+      -- the_reg_dp_offload_rx_1GbE_hdr_dat
+      reg_dp_offload_rx_1GbE_hdr_dat_address_export    => reg_dp_offload_rx_1GbE_hdr_dat_mosi.address(c_reg_dp_offload_rx_1GbE_hdr_dat_multi_adr_w-1 DOWNTO 0),
+      reg_dp_offload_rx_1GbE_hdr_dat_clk_export        => OPEN,
+      reg_dp_offload_rx_1GbE_hdr_dat_read_export       => reg_dp_offload_rx_1GbE_hdr_dat_mosi.rd,
+      reg_dp_offload_rx_1GbE_hdr_dat_readdata_export   => reg_dp_offload_rx_1GbE_hdr_dat_miso.rddata(c_word_w-1 DOWNTO 0),
+      reg_dp_offload_rx_1GbE_hdr_dat_reset_export      => OPEN,
+      reg_dp_offload_rx_1GbE_hdr_dat_write_export      => reg_dp_offload_rx_1GbE_hdr_dat_mosi.wr,
+      reg_dp_offload_rx_1GbE_hdr_dat_writedata_export  => reg_dp_offload_rx_1GbE_hdr_dat_mosi.wrdata(c_word_w-1 DOWNTO 0),
+      -- the_reg_dp_offload_rx_10GbE_hdr_dat
+      reg_dp_offload_rx_10GbE_hdr_dat_address_export   => reg_dp_offload_rx_10GbE_hdr_dat_mosi.address(c_reg_dp_offload_rx_10GbE_hdr_dat_multi_adr_w-1 DOWNTO 0),
+      reg_dp_offload_rx_10GbE_hdr_dat_clk_export       => OPEN,
+      reg_dp_offload_rx_10GbE_hdr_dat_read_export      => reg_dp_offload_rx_10GbE_hdr_dat_mosi.rd,
+      reg_dp_offload_rx_10GbE_hdr_dat_readdata_export  => reg_dp_offload_rx_10GbE_hdr_dat_miso.rddata(c_word_w-1 DOWNTO 0),
+      reg_dp_offload_rx_10GbE_hdr_dat_reset_export     => OPEN,
+      reg_dp_offload_rx_10GbE_hdr_dat_write_export     => reg_dp_offload_rx_10GbE_hdr_dat_mosi.wr,
+      reg_dp_offload_rx_10GbE_hdr_dat_writedata_export => reg_dp_offload_rx_10GbE_hdr_dat_mosi.wrdata(c_word_w-1 DOWNTO 0),
+
+
+      -- the_reg_bsn_monitor_1GbE
+      reg_bsn_monitor_1GbE_address_export              => reg_bsn_monitor_1GbE_mosi.address(c_reg_rsp_bsn_monitor_1GbE_adr_w-1 DOWNTO 0),
+      reg_bsn_monitor_1GbE_clk_export                  => OPEN,
+      reg_bsn_monitor_1GbE_read_export                 => reg_bsn_monitor_1GbE_mosi.rd,
+      reg_bsn_monitor_1GbE_readdata_export             => reg_bsn_monitor_1GbE_miso.rddata(c_word_w-1 DOWNTO 0),
+      reg_bsn_monitor_1GbE_reset_export                => OPEN,
+      reg_bsn_monitor_1GbE_write_export                => reg_bsn_monitor_1GbE_mosi.wr,
+      reg_bsn_monitor_1GbE_writedata_export            => reg_bsn_monitor_1GbE_mosi.wrdata(c_word_w-1 DOWNTO 0),
+      -- the_reg_bsn_monitor_10GbE
+      reg_bsn_monitor_10GbE_address_export             => reg_bsn_monitor_10GbE_mosi.address(c_reg_rsp_bsn_monitor_10GbE_adr_w-1 DOWNTO 0),
+      reg_bsn_monitor_10GbE_clk_export                 => OPEN,
+      reg_bsn_monitor_10GbE_read_export                => reg_bsn_monitor_10GbE_mosi.rd,
+      reg_bsn_monitor_10GbE_readdata_export            => reg_bsn_monitor_10GbE_miso.rddata(c_word_w-1 DOWNTO 0),
+      reg_bsn_monitor_10GbE_reset_export               => OPEN,
+      reg_bsn_monitor_10GbE_write_export               => reg_bsn_monitor_10GbE_mosi.wr,
+      reg_bsn_monitor_10GbE_writedata_export           => reg_bsn_monitor_10GbE_mosi.wrdata(c_word_w-1 DOWNTO 0),
+
+
+      -- the_ram_diag_data_buffer_1GbE
+      ram_diag_data_buffer_1GbE_address_export         => ram_diag_data_buf_1GbE_mosi.address(c_unb1_board_peripherals_mm_reg_default.ram_diag_db_adr_w-1 DOWNTO 0),
+      ram_diag_data_buffer_1GbE_clk_export             => OPEN,
+      ram_diag_data_buffer_1GbE_read_export            => ram_diag_data_buf_1GbE_mosi.rd,
+      ram_diag_data_buffer_1GbE_readdata_export        => ram_diag_data_buf_1GbE_miso.rddata(c_word_w-1 DOWNTO 0),
+      ram_diag_data_buffer_1GbE_reset_export           => OPEN,
+      ram_diag_data_buffer_1GbE_write_export           => ram_diag_data_buf_1GbE_mosi.wr,
+      ram_diag_data_buffer_1GbE_writedata_export       => ram_diag_data_buf_1GbE_mosi.wrdata(c_word_w-1 DOWNTO 0),
+      -- the_ram_diag_data_buffer_10GbE
+      ram_diag_data_buffer_10GbE_address_export        => ram_diag_data_buf_10GbE_mosi.address(c_unb1_board_peripherals_mm_reg_default.ram_diag_db_adr_w-1 DOWNTO 0),
+      ram_diag_data_buffer_10GbE_clk_export            => OPEN,
+      ram_diag_data_buffer_10GbE_read_export           => ram_diag_data_buf_10GbE_mosi.rd,
+      ram_diag_data_buffer_10GbE_readdata_export       => ram_diag_data_buf_10GbE_miso.rddata(c_word_w-1 DOWNTO 0),
+      ram_diag_data_buffer_10GbE_reset_export          => OPEN,
+      ram_diag_data_buffer_10GbE_write_export          => ram_diag_data_buf_10GbE_mosi.wr,
+      ram_diag_data_buffer_10GbE_writedata_export      => ram_diag_data_buf_10GbE_mosi.wrdata(c_word_w-1 DOWNTO 0),
+
+
+      -- the_reg_diag_data_buffer_1GbE
+      reg_diag_data_buffer_1GbE_address_export         => reg_diag_data_buf_1GbE_mosi.address(c_unb1_board_peripherals_mm_reg_default.reg_diag_db_adr_w-1 DOWNTO 0),
+      reg_diag_data_buffer_1GbE_clk_export             => OPEN,
+      reg_diag_data_buffer_1GbE_read_export            => reg_diag_data_buf_1GbE_mosi.rd,
+      reg_diag_data_buffer_1GbE_readdata_export        => reg_diag_data_buf_1GbE_miso.rddata(c_word_w-1 DOWNTO 0),
+      reg_diag_data_buffer_1GbE_reset_export           => OPEN,
+      reg_diag_data_buffer_1GbE_write_export           => reg_diag_data_buf_1GbE_mosi.wr,
+      reg_diag_data_buffer_1GbE_writedata_export       => reg_diag_data_buf_1GbE_mosi.wrdata(c_word_w-1 DOWNTO 0),
+      -- the_reg_diag_data_buffer_10GbE
+      reg_diag_data_buffer_10GbE_address_export        => reg_diag_data_buf_10GbE_mosi.address(c_unb1_board_peripherals_mm_reg_default.reg_diag_db_adr_w-1 DOWNTO 0),
+      reg_diag_data_buffer_10GbE_clk_export            => OPEN,
+      reg_diag_data_buffer_10GbE_read_export           => reg_diag_data_buf_10GbE_mosi.rd,
+      reg_diag_data_buffer_10GbE_readdata_export       => reg_diag_data_buf_10GbE_miso.rddata(c_word_w-1 DOWNTO 0),
+      reg_diag_data_buffer_10GbE_reset_export          => OPEN,
+      reg_diag_data_buffer_10GbE_write_export          => reg_diag_data_buf_10GbE_mosi.wr,
+      reg_diag_data_buffer_10GbE_writedata_export      => reg_diag_data_buf_10GbE_mosi.wrdata(c_word_w-1 DOWNTO 0),
 
       -- ram_ss_ss_wide
-      ram_ss_ss_wide_address_export                 => ram_ss_ss_transp_mosi.address(c_ram_ss_ss_transp_adr_w-1 DOWNTO 0),
-      ram_ss_ss_wide_clk_export                     => OPEN,
-      ram_ss_ss_wide_read_export                    => ram_ss_ss_transp_mosi.rd,
-      ram_ss_ss_wide_readdata_export                => ram_ss_ss_transp_miso.rddata(c_word_w-1 DOWNTO 0),
-      ram_ss_ss_wide_reset_export                   => OPEN,
-      ram_ss_ss_wide_write_export                   => ram_ss_ss_transp_mosi.wr,
-      ram_ss_ss_wide_writedata_export               => ram_ss_ss_transp_mosi.wrdata(c_word_w-1 DOWNTO 0),
+      ram_ss_ss_wide_address_export                    => ram_ss_ss_transp_mosi.address(c_ram_ss_ss_transp_adr_w-1 DOWNTO 0),
+      ram_ss_ss_wide_clk_export                        => OPEN,
+      ram_ss_ss_wide_read_export                       => ram_ss_ss_transp_mosi.rd,
+      ram_ss_ss_wide_readdata_export                   => ram_ss_ss_transp_miso.rddata(c_word_w-1 DOWNTO 0),
+      ram_ss_ss_wide_reset_export                      => OPEN,
+      ram_ss_ss_wide_write_export                      => ram_ss_ss_transp_mosi.wr,
+      ram_ss_ss_wide_writedata_export                  => ram_ss_ss_transp_mosi.wrdata(c_word_w-1 DOWNTO 0),
 
       -- reg_io_ddr
-      reg_io_ddr_address_export                     => reg_io_ddr_mosi.address(1 DOWNTO 0),
-      reg_io_ddr_clk_export                         => OPEN,
-      reg_io_ddr_read_export                        => reg_io_ddr_mosi.rd,
-      reg_io_ddr_readdata_export                    => reg_io_ddr_miso.rddata(c_word_w-1 DOWNTO 0),
-      reg_io_ddr_reset_export                       => OPEN,
-      reg_io_ddr_write_export                       => reg_io_ddr_mosi.wr,
-      reg_io_ddr_writedata_export                   => reg_io_ddr_mosi.wrdata(c_word_w-1 DOWNTO 0)
+      reg_io_ddr_address_export                        => reg_io_ddr_mosi.address(1 DOWNTO 0),
+      reg_io_ddr_clk_export                            => OPEN,
+      reg_io_ddr_read_export                           => reg_io_ddr_mosi.rd,
+      reg_io_ddr_readdata_export                       => reg_io_ddr_miso.rddata(c_word_w-1 DOWNTO 0),
+      reg_io_ddr_reset_export                          => OPEN,
+      reg_io_ddr_write_export                          => reg_io_ddr_mosi.wr,
+      reg_io_ddr_writedata_export                      => reg_io_ddr_mosi.wrdata(c_word_w-1 DOWNTO 0)
       );
   END GENERATE;
 
diff --git a/boards/uniboard1/designs/unb1_test/src/vhdl/qsys_unb1_test_pkg.vhd b/boards/uniboard1/designs/unb1_test/src/vhdl/qsys_unb1_test_pkg.vhd
index 99f3a4ba822744f480fb8ca39054b05c4253030a..1ccb9bc75c78d57f0d987f6dde547c3d6d0b98c0 100644
--- a/boards/uniboard1/designs/unb1_test/src/vhdl/qsys_unb1_test_pkg.vhd
+++ b/boards/uniboard1/designs/unb1_test/src/vhdl/qsys_unb1_test_pkg.vhd
@@ -31,208 +31,247 @@ PACKAGE qsys_unb1_test_pkg IS
     COMPONENT qsys_unb1_test is
         PORT (		  
     
-            coe_ram_write_export_from_the_avs_eth_0       : out std_logic;                                        -- export
-            coe_reg_read_export_from_the_avs_eth_0        : out std_logic;                                        -- export
-            coe_readdata_export_to_the_reg_mmdp_ctrl      : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            coe_address_export_from_the_pio_system_info   : out std_logic_vector(4 downto 0);                     -- export
-            coe_address_export_from_the_pio_pps           : out std_logic;--_vector(0 downto 0);                     -- export
-            coe_waitrequest_export_to_the_reg_tr_10GbE    : in  std_logic                     := 'X';             -- export
-            coe_reset_export_from_the_pio_pps             : out std_logic;                                        -- export
-            coe_readdata_export_to_the_reg_epcs           : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            coe_readdata_export_to_the_pio_pps            : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            coe_writedata_export_from_the_pio_system_info : out std_logic_vector(31 downto 0);                    -- export
-            coe_write_export_from_the_reg_tr_xaui         : out std_logic;                                        -- export
-            coe_reset_export_from_the_reg_unb_sens        : out std_logic;                                        -- export
-            coe_tse_write_export_from_the_avs_eth_0       : out std_logic;                                        -- export
-            coe_writedata_export_from_the_reg_tr_xaui     : out std_logic_vector(31 downto 0);                    -- export
-            coe_reset_export_from_the_reg_wdi             : out std_logic;                                        -- export
-            coe_readdata_export_to_the_reg_dpmm_data      : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            coe_writedata_export_from_the_reg_mmdp_ctrl   : out std_logic_vector(31 downto 0);                    -- export
-            coe_address_export_from_the_reg_dpmm_ctrl     : out std_logic;--_vector(0 downto 0);                     -- export
-            coe_clk_export_from_the_rom_system_info       : out std_logic;                                        -- export
-            coe_reset_export_from_the_reg_remu            : out std_logic;                                        -- export
-            coe_read_export_from_the_reg_unb_sens         : out std_logic;                                        -- export
-            coe_write_export_from_the_reg_unb_sens        : out std_logic;                                        -- export
-            coe_clk_export_from_the_reg_dpmm_data         : out std_logic;                                        -- export
-            coe_clk_export_from_the_reg_unb_sens          : out std_logic;                                        -- export
-            coe_reg_writedata_export_from_the_avs_eth_0   : out std_logic_vector(31 downto 0);                    -- export
-            coe_address_export_from_the_reg_tr_xaui       : out std_logic_vector(10 downto 0);                    -- export
-            coe_readdata_export_to_the_reg_dpmm_ctrl      : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            coe_reset_export_from_the_reg_mmdp_data       : out std_logic;                                        -- export
-            coe_read_export_from_the_reg_wdi              : out std_logic;                                        -- export
-            coe_reg_write_export_from_the_avs_eth_0       : out std_logic;                                        -- export
-            coe_writedata_export_from_the_reg_mmdp_data   : out std_logic_vector(31 downto 0);                    -- export
-            coe_read_export_from_the_reg_epcs             : out std_logic;                                        -- export
-            coe_readdata_export_to_the_reg_remu           : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            coe_readdata_export_to_the_reg_unb_sens       : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            coe_ram_address_export_from_the_avs_eth_0     : out std_logic_vector(9 downto 0);                     -- export
-            coe_waitrequest_export_to_the_reg_tr_xaui     : in  std_logic                     := 'X';             -- export
-            coe_clk_export_from_the_pio_pps               : out std_logic;                                        -- export
-            coe_readdata_export_to_the_pio_system_info    : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            coe_write_export_from_the_reg_tr_10GbE        : out std_logic;                                        -- export
-            coe_reset_export_from_the_reg_tr_xaui         : out std_logic;                                        -- export
-            coe_writedata_export_from_the_rom_system_info : out std_logic_vector(31 downto 0);                    -- export
-            coe_address_export_from_the_reg_dpmm_data     : out std_logic;--_vector(0 downto 0);                     -- export
-            coe_address_export_from_the_reg_tr_10GbE      : out std_logic_vector(14 downto 0);                    -- export
-            coe_write_export_from_the_reg_mmdp_ctrl       : out std_logic;                                        -- export
-            coe_reset_export_from_the_avs_eth_0           : out std_logic;                                        -- export
-            coe_address_export_from_the_reg_wdi           : out std_logic;--_vector(0 downto 0);                     -- export
-            coe_write_export_from_the_pio_system_info     : out std_logic;                                        -- export
-            coe_tse_address_export_from_the_avs_eth_0     : out std_logic_vector(9 downto 0);                     -- export
-            coe_write_export_from_the_pio_pps             : out std_logic;                                        -- export
-            coe_write_export_from_the_rom_system_info     : out std_logic;                                        -- export
-            coe_irq_export_to_the_avs_eth_0               : in  std_logic                     := 'X';             -- export
-            coe_read_export_from_the_rom_system_info      : out std_logic;                                        -- export
-            coe_reset_export_from_the_reg_epcs            : out std_logic;                                        -- export
-            reset_n                                       : in  std_logic                     := 'X';             -- reset_n
-            coe_tse_writedata_export_from_the_avs_eth_0   : out std_logic_vector(31 downto 0);                    -- export
-            coe_clk_export_from_the_reg_mmdp_ctrl         : out std_logic;                                        -- export
-            coe_ram_read_export_from_the_avs_eth_0        : out std_logic;                                        -- export
-            coe_tse_readdata_export_to_the_avs_eth_0      : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            clk_0                                         : in  std_logic                     := 'X';             -- clk
-            coe_read_export_from_the_reg_dpmm_ctrl        : out std_logic;                                        -- export
-            coe_readdata_export_to_the_reg_tr_xaui        : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            coe_writedata_export_from_the_reg_remu        : out std_logic_vector(31 downto 0);                    -- export
-            coe_write_export_from_the_reg_dpmm_data       : out std_logic;                                        -- export
-            coe_writedata_export_from_the_reg_unb_sens    : out std_logic_vector(31 downto 0);                    -- export
-            coe_writedata_export_from_the_reg_tr_10GbE    : out std_logic_vector(31 downto 0);                    -- export
-            coe_reg_readdata_export_to_the_avs_eth_0      : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            coe_read_export_from_the_reg_tr_10GbE         : out std_logic;                                        -- export
-            coe_clk_export_from_the_reg_tr_10GbE          : out std_logic;                                        -- export
-            coe_reset_export_from_the_reg_dpmm_ctrl       : out std_logic;                                        -- export
-            coe_tse_read_export_from_the_avs_eth_0        : out std_logic;                                        -- export
-            coe_writedata_export_from_the_reg_dpmm_data   : out std_logic_vector(31 downto 0);                    -- export
-            coe_read_export_from_the_reg_tr_xaui          : out std_logic;                                        -- export
-            coe_writedata_export_from_the_reg_wdi         : out std_logic_vector(31 downto 0);                    -- export
-            coe_reset_export_from_the_pio_system_info     : out std_logic;                                        -- export
-            coe_read_export_from_the_pio_system_info      : out std_logic;                                        -- export
-            coe_clk_export_from_the_reg_mmdp_data         : out std_logic;                                        -- export
-            coe_clk_export_from_the_reg_wdi               : out std_logic;                                        -- export
-            coe_clk_export_from_the_reg_epcs              : out std_logic;                                        -- export
-            coe_write_export_from_the_reg_remu            : out std_logic;                                        -- export
-            coe_ram_readdata_export_to_the_avs_eth_0      : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            coe_read_export_from_the_reg_mmdp_data        : out std_logic;                                        -- export
-            coe_writedata_export_from_the_reg_epcs        : out std_logic_vector(31 downto 0);                    -- export
-            out_port_from_the_pio_wdi                     : out std_logic;                                        -- export
-            coe_reset_export_from_the_reg_dpmm_data       : out std_logic;                                        -- export
-            coe_clk_export_from_the_reg_remu              : out std_logic;                                        -- export
-            coe_read_export_from_the_reg_mmdp_ctrl        : out std_logic;                                        -- export
-            coe_clk_export_from_the_avs_eth_0             : out std_logic;                                        -- export
-            coe_address_export_from_the_reg_mmdp_ctrl     : out std_logic;--_vector(0 downto 0);                     -- export
-            coe_write_export_from_the_reg_epcs            : out std_logic;                                        -- export
-            coe_readdata_export_to_the_rom_system_info    : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            coe_reset_export_from_the_reg_mmdp_ctrl       : out std_logic;                                        -- export
-            coe_readdata_export_to_the_reg_mmdp_data      : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            coe_write_export_from_the_reg_wdi             : out std_logic;                                        -- export
-            coe_clk_export_from_the_reg_tr_xaui           : out std_logic;                                        -- export
-            coe_readdata_export_to_the_reg_wdi            : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            coe_read_export_from_the_pio_pps              : out std_logic;                                        -- export
-            coe_clk_export_from_the_pio_system_info       : out std_logic;                                        -- export
-            coe_writedata_export_from_the_pio_pps         : out std_logic_vector(31 downto 0);                    -- export
-            coe_address_export_from_the_reg_epcs          : out std_logic_vector(2 downto 0);                     -- export
-            coe_read_export_from_the_reg_dpmm_data        : out std_logic;                                        -- export
-            coe_reset_export_from_the_rom_system_info     : out std_logic;                                        -- export
-            coe_writedata_export_from_the_reg_dpmm_ctrl   : out std_logic_vector(31 downto 0);                    -- export
-            coe_tse_waitrequest_export_to_the_avs_eth_0   : in  std_logic                     := 'X';             -- export
-            coe_address_export_from_the_reg_mmdp_data     : out std_logic;--_vector(0 downto 0);                     -- export
-            coe_address_export_from_the_reg_unb_sens      : out std_logic_vector(2 downto 0);                     -- export
-            coe_address_export_from_the_rom_system_info   : out std_logic_vector(9 downto 0);                     -- export
-            coe_clk_export_from_the_reg_dpmm_ctrl         : out std_logic;                                        -- export
-            coe_reg_address_export_from_the_avs_eth_0     : out std_logic_vector(3 downto 0);                     -- export
-            coe_write_export_from_the_reg_mmdp_data       : out std_logic;                                        -- export
-            coe_address_export_from_the_reg_remu          : out std_logic_vector(2 downto 0);                     -- export
-            coe_readdata_export_to_the_reg_tr_10GbE       : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            coe_write_export_from_the_reg_dpmm_ctrl       : out std_logic;                                        -- export
-            coe_reset_export_from_the_reg_tr_10GbE        : out std_logic;                                        -- export
-            coe_ram_writedata_export_from_the_avs_eth_0   : out std_logic_vector(31 downto 0);                    -- export
-            coe_read_export_from_the_reg_remu             : out std_logic;                                        -- export
-            reg_bsn_monitor_readdata_export               : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            reg_bsn_monitor_read_export                   : out std_logic;                                        -- export
-            reg_bsn_monitor_writedata_export              : out std_logic_vector(31 downto 0);                    -- export
-            reg_bsn_monitor_write_export                  : out std_logic;                                        -- export
-            reg_bsn_monitor_address_export                : out std_logic_vector(6 downto 0);                     -- export
-            reg_bsn_monitor_clk_export                    : out std_logic;                                        -- export
-            reg_bsn_monitor_reset_export                  : out std_logic;                                        -- export
-
-            reg_dp_offload_tx_readdata_export             : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            reg_dp_offload_tx_read_export                 : out std_logic;                                        -- export
-            reg_dp_offload_tx_writedata_export            : out std_logic_vector(31 downto 0);                    -- export
-            reg_dp_offload_tx_write_export                : out std_logic;                                        -- export
-            reg_dp_offload_tx_address_export              : out std_logic_vector(2 downto 0);                     -- export
-            reg_dp_offload_tx_clk_export                  : out std_logic;                                        -- export
-            reg_dp_offload_tx_reset_export                : out std_logic;                                        -- export
-            reg_dp_offload_tx_hdr_dat_readdata_export     : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            reg_dp_offload_tx_hdr_dat_read_export         : out std_logic;                                        -- export
-            reg_dp_offload_tx_hdr_dat_writedata_export    : out std_logic_vector(31 downto 0);                    -- export
-            reg_dp_offload_tx_hdr_dat_write_export        : out std_logic;                                        -- export
-            reg_dp_offload_tx_hdr_dat_address_export      : out std_logic_vector(7 downto 0);                     -- export
-            reg_dp_offload_tx_hdr_dat_clk_export          : out std_logic;                                        -- export
-            reg_dp_offload_tx_hdr_dat_reset_export        : out std_logic;                                        -- export
-
-            reg_dp_offload_tx_1gbe_readdata_export             : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            reg_dp_offload_tx_1gbe_read_export                 : out std_logic;                                        -- export
-            reg_dp_offload_tx_1gbe_writedata_export            : out std_logic_vector(31 downto 0);                    -- export
-            reg_dp_offload_tx_1gbe_write_export                : out std_logic;                                        -- export
-            reg_dp_offload_tx_1gbe_address_export              : out std_logic_vector(2 downto 0);                     -- export
-            reg_dp_offload_tx_1gbe_clk_export                  : out std_logic;                                        -- export
-            reg_dp_offload_tx_1gbe_reset_export                : out std_logic;                                        -- export
-            reg_dp_offload_tx_1gbe_hdr_dat_readdata_export     : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            reg_dp_offload_tx_1gbe_hdr_dat_read_export         : out std_logic;                                        -- export
-            reg_dp_offload_tx_1gbe_hdr_dat_writedata_export    : out std_logic_vector(31 downto 0);                    -- export
-            reg_dp_offload_tx_1gbe_hdr_dat_write_export        : out std_logic;                                        -- export
-            reg_dp_offload_tx_1gbe_hdr_dat_address_export      : out std_logic_vector(7 downto 0);                     -- export
-            reg_dp_offload_tx_1gbe_hdr_dat_clk_export          : out std_logic;                                        -- export
-            reg_dp_offload_tx_1gbe_hdr_dat_reset_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_rx_hdr_dat_read_export         : out std_logic;                                        -- export
-            reg_dp_offload_rx_hdr_dat_writedata_export    : out std_logic_vector(31 downto 0);                    -- export
-            reg_dp_offload_rx_hdr_dat_write_export        : out std_logic;                                        -- export
-            reg_dp_offload_rx_hdr_dat_address_export      : out std_logic_vector(7 downto 0);                     -- export
-            reg_dp_offload_rx_hdr_dat_clk_export          : out std_logic;                                        -- export
-            reg_dp_offload_rx_hdr_dat_reset_export        : out std_logic;                                        -- export
-            reg_diag_data_buffer_readdata_export          : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            reg_diag_data_buffer_read_export              : out std_logic;                                        -- export
-            reg_diag_data_buffer_writedata_export         : out std_logic_vector(31 downto 0);                    -- export
-            reg_diag_data_buffer_write_export             : out std_logic;                                        -- export
-            reg_diag_data_buffer_address_export           : out std_logic_vector(4 downto 0);                     -- export
-            reg_diag_data_buffer_clk_export               : out std_logic;                                        -- export
-            reg_diag_data_buffer_reset_export             : out std_logic;                                        -- export
-            ram_diag_data_buffer_readdata_export          : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            ram_diag_data_buffer_read_export              : out std_logic;                                        -- export
-            ram_diag_data_buffer_writedata_export         : out std_logic_vector(31 downto 0);                    -- export
-            ram_diag_data_buffer_write_export             : out std_logic;                                        -- export
-            ram_diag_data_buffer_address_export           : out std_logic_vector(13 downto 0);                    -- export
-            ram_diag_data_buffer_clk_export               : out std_logic;                                        -- export
-            ram_diag_data_buffer_reset_export             : out std_logic;                                        -- export
-            reg_diag_bg_readdata_export                   : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            reg_diag_bg_read_export                       : out std_logic;                                        -- export
-            reg_diag_bg_writedata_export                  : out std_logic_vector(31 downto 0);                    -- export
-            reg_diag_bg_write_export                      : out std_logic;                                        -- export
-            reg_diag_bg_address_export                    : out std_logic_vector(2 downto 0);                     -- export
-            reg_diag_bg_clk_export                        : out std_logic;                                        -- export
-            reg_diag_bg_reset_export                      : out std_logic;                                        -- export
-            ram_diag_bg_readdata_export                   : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            ram_diag_bg_read_export                       : out std_logic;                                        -- export
-            ram_diag_bg_writedata_export                  : out std_logic_vector(31 downto 0);                    -- export
-            ram_diag_bg_write_export                      : out std_logic;                                        -- export
-            ram_diag_bg_address_export                    : out std_logic_vector(12 downto 0);                     -- export
-            ram_diag_bg_clk_export                        : out std_logic;                                        -- export
-            ram_diag_bg_reset_export                      : out std_logic;                                        -- export
-            ram_ss_ss_wide_address_export                 : out std_logic_vector(13 downto 0);                     -- export
-            ram_ss_ss_wide_clk_export                     : out std_logic;                                        -- export
-            ram_ss_ss_wide_read_export                    : out std_logic;                                        -- export
-            ram_ss_ss_wide_readdata_export                : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            ram_ss_ss_wide_reset_export                   : out std_logic;                                        -- export
-            ram_ss_ss_wide_write_export                   : out std_logic;                                        -- export
-            ram_ss_ss_wide_writedata_export               : out std_logic_vector(31 downto 0);                     -- export
-            reg_io_ddr_address_export                     : out std_logic_vector(1 downto 0); 
-            reg_io_ddr_clk_export                         : out std_logic; 
-            reg_io_ddr_read_export                        : out std_logic;
-            reg_io_ddr_readdata_export                    : in  std_logic_vector(31 downto 0) := (others => 'X');
-            reg_io_ddr_reset_export                       : out std_logic;
-            reg_io_ddr_write_export                       : out std_logic; 
-            reg_io_ddr_writedata_export                   : out std_logic_vector(31 downto 0)
+            coe_ram_write_export_from_the_avs_eth_0          : out std_logic;                                        -- export
+            coe_reg_read_export_from_the_avs_eth_0           : out std_logic;                                        -- export
+            coe_readdata_export_to_the_reg_mmdp_ctrl         : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            coe_address_export_from_the_pio_system_info      : out std_logic_vector(4 downto 0);                     -- export
+            coe_address_export_from_the_pio_pps              : out std_logic_vector(0 downto 0);                     -- export
+            coe_waitrequest_export_to_the_reg_tr_10GbE       : in  std_logic                     := 'X';             -- export
+            coe_reset_export_from_the_pio_pps                : out std_logic;                                        -- export
+            coe_readdata_export_to_the_reg_epcs              : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            coe_readdata_export_to_the_pio_pps               : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            coe_writedata_export_from_the_pio_system_info    : out std_logic_vector(31 downto 0);                    -- export
+            coe_write_export_from_the_reg_tr_xaui            : out std_logic;                                        -- export
+            coe_reset_export_from_the_reg_unb_sens           : out std_logic;                                        -- export
+            coe_tse_write_export_from_the_avs_eth_0          : out std_logic;                                        -- export
+            coe_writedata_export_from_the_reg_tr_xaui        : out std_logic_vector(31 downto 0);                    -- export
+            coe_reset_export_from_the_reg_wdi                : out std_logic;                                        -- export
+            coe_readdata_export_to_the_reg_dpmm_data         : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            coe_writedata_export_from_the_reg_mmdp_ctrl      : out std_logic_vector(31 downto 0);                    -- export
+            coe_address_export_from_the_reg_dpmm_ctrl        : out std_logic_vector(0 downto 0);                     -- export
+            coe_clk_export_from_the_rom_system_info          : out std_logic;                                        -- export
+            coe_reset_export_from_the_reg_remu               : out std_logic;                                        -- export
+            coe_read_export_from_the_reg_unb_sens            : out std_logic;                                        -- export
+            coe_write_export_from_the_reg_unb_sens           : out std_logic;                                        -- export
+            coe_clk_export_from_the_reg_dpmm_data            : out std_logic;                                        -- export
+            coe_clk_export_from_the_reg_unb_sens             : out std_logic;                                        -- export
+            coe_reg_writedata_export_from_the_avs_eth_0      : out std_logic_vector(31 downto 0);                    -- export
+            coe_address_export_from_the_reg_tr_xaui          : out std_logic_vector(10 downto 0);                    -- export
+            coe_readdata_export_to_the_reg_dpmm_ctrl         : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            coe_reset_export_from_the_reg_mmdp_data          : out std_logic;                                        -- export
+            coe_read_export_from_the_reg_wdi                 : out std_logic;                                        -- export
+            coe_reg_write_export_from_the_avs_eth_0          : out std_logic;                                        -- export
+            coe_writedata_export_from_the_reg_mmdp_data      : out std_logic_vector(31 downto 0);                    -- export
+            coe_read_export_from_the_reg_epcs                : out std_logic;                                        -- export
+            coe_readdata_export_to_the_reg_remu              : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            coe_readdata_export_to_the_reg_unb_sens          : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            coe_ram_address_export_from_the_avs_eth_0        : out std_logic_vector(9 downto 0);                     -- export
+            coe_waitrequest_export_to_the_reg_tr_xaui        : in  std_logic                     := 'X';             -- export
+            coe_clk_export_from_the_pio_pps                  : out std_logic;                                        -- export
+            coe_readdata_export_to_the_pio_system_info       : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            coe_write_export_from_the_reg_tr_10GbE           : out std_logic;                                        -- export
+            coe_reset_export_from_the_reg_tr_xaui            : out std_logic;                                        -- export
+            coe_writedata_export_from_the_rom_system_info    : out std_logic_vector(31 downto 0);                    -- export
+            coe_address_export_from_the_reg_dpmm_data        : out std_logic_vector(0 downto 0);                     -- export
+            coe_address_export_from_the_reg_tr_10GbE         : out std_logic_vector(14 downto 0);                    -- export
+            coe_write_export_from_the_reg_mmdp_ctrl          : out std_logic;                                        -- export
+            coe_reset_export_from_the_avs_eth_0              : out std_logic;                                        -- export
+            coe_address_export_from_the_reg_wdi              : out std_logic_vector(0 downto 0);                     -- export
+            coe_write_export_from_the_pio_system_info        : out std_logic;                                        -- export
+            coe_tse_address_export_from_the_avs_eth_0        : out std_logic_vector(9 downto 0);                     -- export
+            coe_write_export_from_the_pio_pps                : out std_logic;                                        -- export
+            coe_write_export_from_the_rom_system_info        : out std_logic;                                        -- export
+            coe_irq_export_to_the_avs_eth_0                  : in  std_logic                     := 'X';             -- export
+            coe_read_export_from_the_rom_system_info         : out std_logic;                                        -- export
+            coe_reset_export_from_the_reg_epcs               : out std_logic;                                        -- export
+            reset_n                                          : in  std_logic                     := 'X';             -- reset_n
+            coe_tse_writedata_export_from_the_avs_eth_0      : out std_logic_vector(31 downto 0);                    -- export
+            coe_clk_export_from_the_reg_mmdp_ctrl            : out std_logic;                                        -- export
+            coe_ram_read_export_from_the_avs_eth_0           : out std_logic;                                        -- export
+            coe_tse_readdata_export_to_the_avs_eth_0         : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            clk_0                                            : in  std_logic                     := 'X';             -- clk
+            coe_read_export_from_the_reg_dpmm_ctrl           : out std_logic;                                        -- export
+            coe_readdata_export_to_the_reg_tr_xaui           : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            coe_writedata_export_from_the_reg_remu           : out std_logic_vector(31 downto 0);                    -- export
+            coe_write_export_from_the_reg_dpmm_data          : out std_logic;                                        -- export
+            coe_writedata_export_from_the_reg_unb_sens       : out std_logic_vector(31 downto 0);                    -- export
+            coe_writedata_export_from_the_reg_tr_10GbE       : out std_logic_vector(31 downto 0);                    -- export
+            coe_reg_readdata_export_to_the_avs_eth_0         : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            coe_read_export_from_the_reg_tr_10GbE            : out std_logic;                                        -- export
+            coe_clk_export_from_the_reg_tr_10GbE             : out std_logic;                                        -- export
+            coe_reset_export_from_the_reg_dpmm_ctrl          : out std_logic;                                        -- export
+            coe_tse_read_export_from_the_avs_eth_0           : out std_logic;                                        -- export
+            coe_writedata_export_from_the_reg_dpmm_data      : out std_logic_vector(31 downto 0);                    -- export
+            coe_read_export_from_the_reg_tr_xaui             : out std_logic;                                        -- export
+            coe_writedata_export_from_the_reg_wdi            : out std_logic_vector(31 downto 0);                    -- export
+            coe_reset_export_from_the_pio_system_info        : out std_logic;                                        -- export
+            coe_read_export_from_the_pio_system_info         : out std_logic;                                        -- export
+            coe_clk_export_from_the_reg_mmdp_data            : out std_logic;                                        -- export
+            coe_clk_export_from_the_reg_wdi                  : out std_logic;                                        -- export
+            coe_clk_export_from_the_reg_epcs                 : out std_logic;                                        -- export
+            coe_write_export_from_the_reg_remu               : out std_logic;                                        -- export
+            coe_ram_readdata_export_to_the_avs_eth_0         : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            coe_read_export_from_the_reg_mmdp_data           : out std_logic;                                        -- export
+            coe_writedata_export_from_the_reg_epcs           : out std_logic_vector(31 downto 0);                    -- export
+            out_port_from_the_pio_wdi                        : out std_logic;                                        -- export
+            coe_reset_export_from_the_reg_dpmm_data          : out std_logic;                                        -- export
+            coe_clk_export_from_the_reg_remu                 : out std_logic;                                        -- export
+            coe_read_export_from_the_reg_mmdp_ctrl           : out std_logic;                                        -- export
+            coe_clk_export_from_the_avs_eth_0                : out std_logic;                                        -- export
+            coe_address_export_from_the_reg_mmdp_ctrl        : out std_logic_vector(0 downto 0);                     -- export
+            coe_write_export_from_the_reg_epcs               : out std_logic;                                        -- export
+            coe_readdata_export_to_the_rom_system_info       : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            coe_reset_export_from_the_reg_mmdp_ctrl          : out std_logic;                                        -- export
+            coe_readdata_export_to_the_reg_mmdp_data         : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            coe_write_export_from_the_reg_wdi                : out std_logic;                                        -- export
+            coe_clk_export_from_the_reg_tr_xaui              : out std_logic;                                        -- export
+            coe_readdata_export_to_the_reg_wdi               : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            coe_read_export_from_the_pio_pps                 : out std_logic;                                        -- export
+            coe_clk_export_from_the_pio_system_info          : out std_logic;                                        -- export
+            coe_writedata_export_from_the_pio_pps            : out std_logic_vector(31 downto 0);                    -- export
+            coe_address_export_from_the_reg_epcs             : out std_logic_vector(2 downto 0);                     -- export
+            coe_read_export_from_the_reg_dpmm_data           : out std_logic;                                        -- export
+            coe_reset_export_from_the_rom_system_info        : out std_logic;                                        -- export
+            coe_writedata_export_from_the_reg_dpmm_ctrl      : out std_logic_vector(31 downto 0);                    -- export
+            coe_tse_waitrequest_export_to_the_avs_eth_0      : in  std_logic                     := 'X';             -- export
+            coe_address_export_from_the_reg_mmdp_data        : out std_logic_vector(0 downto 0);                     -- export
+            coe_address_export_from_the_reg_unb_sens         : out std_logic_vector(2 downto 0);                     -- export
+            coe_address_export_from_the_rom_system_info      : out std_logic_vector(9 downto 0);                     -- export
+            coe_clk_export_from_the_reg_dpmm_ctrl            : out std_logic;                                        -- export
+            coe_reg_address_export_from_the_avs_eth_0        : out std_logic_vector(3 downto 0);                     -- export
+            coe_write_export_from_the_reg_mmdp_data          : out std_logic;                                        -- export
+            coe_address_export_from_the_reg_remu             : out std_logic_vector(2 downto 0);                     -- export
+            coe_readdata_export_to_the_reg_tr_10GbE          : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            coe_write_export_from_the_reg_dpmm_ctrl          : out std_logic;                                        -- export
+            coe_reset_export_from_the_reg_tr_10GbE           : out std_logic;                                        -- export
+            coe_ram_writedata_export_from_the_avs_eth_0      : out std_logic_vector(31 downto 0);                    -- export
+            coe_read_export_from_the_reg_remu                : out std_logic;                                        -- export
+            reg_bsn_monitor_1gbe_readdata_export             : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            reg_bsn_monitor_1gbe_read_export                 : out std_logic;                                        -- export
+            reg_bsn_monitor_1gbe_writedata_export            : out std_logic_vector(31 downto 0);                    -- export
+            reg_bsn_monitor_1gbe_write_export                : out std_logic;                                        -- export
+            reg_bsn_monitor_1gbe_address_export              : out std_logic_vector(6 downto 0);                     -- export
+            reg_bsn_monitor_1gbe_clk_export                  : out std_logic;                                        -- export
+            reg_bsn_monitor_1gbe_reset_export                : out std_logic;                                        -- export
+            ram_ss_ss_wide_readdata_export                   : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            ram_ss_ss_wide_read_export                       : out std_logic;                                        -- export
+            ram_ss_ss_wide_writedata_export                  : out std_logic_vector(31 downto 0);                    -- export
+            ram_ss_ss_wide_write_export                      : out std_logic;                                        -- export
+            ram_ss_ss_wide_address_export                    : out std_logic_vector(13 downto 0);                    -- export
+            ram_ss_ss_wide_clk_export                        : out std_logic;                                        -- export
+            ram_ss_ss_wide_reset_export                      : out std_logic;                                        -- export
+            reg_io_ddr_readdata_export                       : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            reg_io_ddr_read_export                           : out std_logic;                                        -- export
+            reg_io_ddr_writedata_export                      : out std_logic_vector(31 downto 0);                    -- export
+            reg_io_ddr_write_export                          : out std_logic;                                        -- export
+            reg_io_ddr_address_export                        : out std_logic_vector(1 downto 0);                     -- export
+            reg_io_ddr_clk_export                            : out std_logic;                                        -- export
+            reg_io_ddr_reset_export                          : out std_logic;                                        -- export
+            reg_diag_data_buffer_10gbe_readdata_export       : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            reg_diag_data_buffer_10gbe_read_export           : out std_logic;                                        -- export
+            reg_diag_data_buffer_10gbe_writedata_export      : out std_logic_vector(31 downto 0);                    -- export
+            reg_diag_data_buffer_10gbe_write_export          : out std_logic;                                        -- export
+            reg_diag_data_buffer_10gbe_address_export        : out std_logic_vector(4 downto 0);                     -- export
+            reg_diag_data_buffer_10gbe_clk_export            : out std_logic;                                        -- export
+            reg_diag_data_buffer_10gbe_reset_export          : out std_logic;                                        -- export
+            ram_diag_bg_10gbe_readdata_export                : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            ram_diag_bg_10gbe_read_export                    : out std_logic;                                        -- export
+            ram_diag_bg_10gbe_writedata_export               : out std_logic_vector(31 downto 0);                    -- export
+            ram_diag_bg_10gbe_write_export                   : out std_logic;                                        -- export
+            ram_diag_bg_10gbe_address_export                 : out std_logic_vector(12 downto 0);                    -- export
+            ram_diag_bg_10gbe_clk_export                     : out std_logic;                                        -- export
+            ram_diag_bg_10gbe_reset_export                   : out std_logic;                                        -- export
+            reg_diag_bg_10gbe_readdata_export                : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            reg_diag_bg_10gbe_read_export                    : out std_logic;                                        -- export
+            reg_diag_bg_10gbe_writedata_export               : out std_logic_vector(31 downto 0);                    -- export
+            reg_diag_bg_10gbe_write_export                   : out std_logic;                                        -- export
+            reg_diag_bg_10gbe_address_export                 : out std_logic_vector(4 downto 0);                     -- export
+            reg_diag_bg_10gbe_clk_export                     : out std_logic;                                        -- export
+            reg_diag_bg_10gbe_reset_export                   : out std_logic;                                        -- export
+            reg_dp_offload_rx_10gbe_hdr_dat_readdata_export  : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            reg_dp_offload_rx_10gbe_hdr_dat_read_export      : out std_logic;                                        -- export
+            reg_dp_offload_rx_10gbe_hdr_dat_writedata_export : out std_logic_vector(31 downto 0);                    -- export
+            reg_dp_offload_rx_10gbe_hdr_dat_write_export     : out std_logic;                                        -- export
+            reg_dp_offload_rx_10gbe_hdr_dat_address_export   : out std_logic_vector(7 downto 0);                     -- export
+            reg_dp_offload_rx_10gbe_hdr_dat_clk_export       : out std_logic;                                        -- export
+            reg_dp_offload_rx_10gbe_hdr_dat_reset_export     : out std_logic;                                        -- export
+            reg_dp_offload_tx_10gbe_hdr_dat_readdata_export  : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            reg_dp_offload_tx_10gbe_hdr_dat_read_export      : out std_logic;                                        -- export
+            reg_dp_offload_tx_10gbe_hdr_dat_writedata_export : out std_logic_vector(31 downto 0);                    -- export
+            reg_dp_offload_tx_10gbe_hdr_dat_write_export     : out std_logic;                                        -- export
+            reg_dp_offload_tx_10gbe_hdr_dat_address_export   : out std_logic_vector(7 downto 0);                     -- export
+            reg_dp_offload_tx_10gbe_hdr_dat_clk_export       : out std_logic;                                        -- export
+            reg_dp_offload_tx_10gbe_hdr_dat_reset_export     : out std_logic;                                        -- export
+            reg_dp_offload_tx_10gbe_readdata_export          : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            reg_dp_offload_tx_10gbe_read_export              : out std_logic;                                        -- export
+            reg_dp_offload_tx_10gbe_writedata_export         : out std_logic_vector(31 downto 0);                    -- export
+            reg_dp_offload_tx_10gbe_write_export             : out std_logic;                                        -- export
+            reg_dp_offload_tx_10gbe_address_export           : out std_logic_vector(3 downto 0);                     -- export
+            reg_dp_offload_tx_10gbe_clk_export               : out std_logic;                                        -- export
+            reg_dp_offload_tx_10gbe_reset_export             : out std_logic;                                        -- export
+            reg_bsn_monitor_10gbe_readdata_export            : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            reg_bsn_monitor_10gbe_read_export                : out std_logic;                                        -- export
+            reg_bsn_monitor_10gbe_writedata_export           : out std_logic_vector(31 downto 0);                    -- export
+            reg_bsn_monitor_10gbe_write_export               : out std_logic;                                        -- export
+            reg_bsn_monitor_10gbe_address_export             : out std_logic_vector(6 downto 0);                     -- export
+            reg_bsn_monitor_10gbe_clk_export                 : out std_logic;                                        -- export
+            reg_bsn_monitor_10gbe_reset_export               : out std_logic;                                        -- export
+            reg_dp_offload_tx_1gbe_reset_export              : out std_logic;                                        -- export
+            reg_dp_offload_tx_1gbe_clk_export                : out std_logic;                                        -- export
+            reg_dp_offload_tx_1gbe_address_export            : out std_logic_vector(3 downto 0);                     -- export
+            reg_dp_offload_tx_1gbe_write_export              : out std_logic;                                        -- export
+            reg_dp_offload_tx_1gbe_writedata_export          : out std_logic_vector(31 downto 0);                    -- export
+            reg_dp_offload_tx_1gbe_read_export               : out std_logic;                                        -- export
+            reg_dp_offload_tx_1gbe_readdata_export           : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            reg_dp_offload_tx_1gbe_hdr_dat_reset_export      : out std_logic;                                        -- export
+            reg_dp_offload_tx_1gbe_hdr_dat_clk_export        : out std_logic;                                        -- export
+            reg_dp_offload_tx_1gbe_hdr_dat_address_export    : out std_logic_vector(7 downto 0);                     -- export
+            reg_dp_offload_tx_1gbe_hdr_dat_write_export      : out std_logic;                                        -- export
+            reg_dp_offload_tx_1gbe_hdr_dat_writedata_export  : out std_logic_vector(31 downto 0);                    -- export
+            reg_dp_offload_tx_1gbe_hdr_dat_read_export       : out std_logic;                                        -- export
+            reg_dp_offload_tx_1gbe_hdr_dat_readdata_export   : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            reg_dp_offload_rx_1gbe_hdr_dat_reset_export      : out std_logic;                                        -- export
+            reg_dp_offload_rx_1gbe_hdr_dat_clk_export        : out std_logic;                                        -- export
+            reg_dp_offload_rx_1gbe_hdr_dat_address_export    : out std_logic_vector(7 downto 0);                     -- export
+            reg_dp_offload_rx_1gbe_hdr_dat_write_export      : out std_logic;                                        -- export
+            reg_dp_offload_rx_1gbe_hdr_dat_writedata_export  : out std_logic_vector(31 downto 0);                    -- export
+            reg_dp_offload_rx_1gbe_hdr_dat_read_export       : out std_logic;                                        -- export
+            reg_dp_offload_rx_1gbe_hdr_dat_readdata_export   : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            reg_diag_bg_1gbe_reset_export                    : out std_logic;                                        -- export
+            reg_diag_bg_1gbe_clk_export                      : out std_logic;                                        -- export
+            reg_diag_bg_1gbe_address_export                  : out std_logic_vector(2 downto 0);                     -- export
+            reg_diag_bg_1gbe_write_export                    : out std_logic;                                        -- export
+            reg_diag_bg_1gbe_writedata_export                : out std_logic_vector(31 downto 0);                    -- export
+            reg_diag_bg_1gbe_read_export                     : out std_logic;                                        -- export
+            reg_diag_bg_1gbe_readdata_export                 : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            ram_diag_bg_1gbe_reset_export                    : out std_logic;                                        -- export
+            ram_diag_bg_1gbe_clk_export                      : out std_logic;                                        -- export
+            ram_diag_bg_1gbe_address_export                  : out std_logic_vector(12 downto 0);                    -- export
+            ram_diag_bg_1gbe_write_export                    : out std_logic;                                        -- export
+            ram_diag_bg_1gbe_writedata_export                : out std_logic_vector(31 downto 0);                    -- export
+            ram_diag_bg_1gbe_read_export                     : out std_logic;                                        -- export
+            ram_diag_bg_1gbe_readdata_export                 : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            reg_diag_data_buffer_1gbe_reset_export           : out std_logic;                                        -- export
+            reg_diag_data_buffer_1gbe_clk_export             : out std_logic;                                        -- export
+            reg_diag_data_buffer_1gbe_address_export         : out std_logic_vector(4 downto 0);                     -- export
+            reg_diag_data_buffer_1gbe_write_export           : out std_logic;                                        -- export
+            reg_diag_data_buffer_1gbe_writedata_export       : out std_logic_vector(31 downto 0);                    -- export
+            reg_diag_data_buffer_1gbe_read_export            : out std_logic;                                        -- export
+            reg_diag_data_buffer_1gbe_readdata_export        : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            ram_diag_data_buffer_1gbe_reset_export           : out std_logic;                                        -- export
+            ram_diag_data_buffer_1gbe_clk_export             : out std_logic;                                        -- export
+            ram_diag_data_buffer_1gbe_address_export         : out std_logic_vector(13 downto 0);                    -- export
+            ram_diag_data_buffer_1gbe_write_export           : out std_logic;                                        -- export
+            ram_diag_data_buffer_1gbe_writedata_export       : out std_logic_vector(31 downto 0);                    -- export
+            ram_diag_data_buffer_1gbe_read_export            : out std_logic;                                        -- export
+            ram_diag_data_buffer_1gbe_readdata_export        : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            ram_diag_data_buffer_10gbe_reset_export          : out std_logic;                                        -- export
+            ram_diag_data_buffer_10gbe_clk_export            : out std_logic;                                        -- export
+            ram_diag_data_buffer_10gbe_address_export        : out std_logic_vector(13 downto 0);                    -- export
+            ram_diag_data_buffer_10gbe_write_export          : out std_logic;                                        -- export
+            ram_diag_data_buffer_10gbe_writedata_export      : out std_logic_vector(31 downto 0);                    -- export
+            ram_diag_data_buffer_10gbe_read_export           : out std_logic;                                        -- export
+            ram_diag_data_buffer_10gbe_readdata_export       : in  std_logic_vector(31 downto 0) := (others => 'X')  -- export
         );
     end component qsys_unb1_test;
 
diff --git a/boards/uniboard1/designs/unb1_test/src/vhdl/unb1_test.vhd b/boards/uniboard1/designs/unb1_test/src/vhdl/unb1_test.vhd
index 383e8572780282a610744f42bb41c621a7d522d9..0b726ee21dcb8546b014b6b845d0268acfbf3047 100644
--- a/boards/uniboard1/designs/unb1_test/src/vhdl/unb1_test.vhd
+++ b/boards/uniboard1/designs/unb1_test/src/vhdl/unb1_test.vhd
@@ -36,10 +36,11 @@ USE diag_lib.diag_pkg.ALL;
 USE eth_lib.eth_pkg.ALL;
 USE tech_ddr_lib.tech_ddr_pkg.ALL;
 USE reorder_lib.reorder_pkg.ALL;
+USE work.unb1_test_pkg.ALL;
 
 ENTITY unb1_test IS
   GENERIC (
-    g_sim         : BOOLEAN := FALSE; --Overridden by TB
+    g_sim         : BOOLEAN := FALSE;                 -- Overridden by TB
     g_sim_unb_nr  : NATURAL := 0;
     g_sim_node_nr : NATURAL := 0;
     g_design_name : STRING  := "unb1_test";           -- set by QSF
@@ -49,7 +50,7 @@ ENTITY unb1_test IS
     g_stamp_time  : NATURAL := 0;  -- Time (HHMMSS)   -- set by QSF
     g_stamp_svn   : NATURAL := 0;  -- SVN revision    -- set by QSF
     g_nof_MB      : NATURAL := c_unb1_board_nof_ddr3; -- Fixed control infrastructure for 2 modules per FPGA
-    g_use_MB_I    : NATURAL := 1;                     -- 1: use MB_I  0: do not use
+    g_use_MB_I    : NATURAL := 0;                     -- 1: use MB_I  0: do not use
     g_use_MB_II   : NATURAL := 0
   );
   PORT (
@@ -133,96 +134,40 @@ ARCHITECTURE str OF unb1_test IS
                                                                   sel_a_b(g_use_MB_II,1, 0), 
                                                                   0, 1);
 
-  CONSTANT c_lpbk_data_w                : NATURAL := 32; -- 128 c_eth_data_w, c_xgmii_data_w
-
   -- Revision controlled constants
-  CONSTANT c_use_lpbk                   : BOOLEAN := FALSE;--g_design_name = "unb1_test_lpbk";
-  CONSTANT c_use_1GbE                   : BOOLEAN := TRUE;--g_design_name = "unb1_test_1GbE";
-  CONSTANT c_use_10GbE                  : BOOLEAN := TRUE;--g_design_name = "unb1_test_10GbE";
-  CONSTANT c_nof_streams_10GbE          : NATURAL := 3;
-  CONSTANT c_nof_streams_1GbE           : NATURAL := 1;
-  CONSTANT c_nof_streams_ddr            : NATURAL := 1; --2
+  CONSTANT c_use_1GbE                   : BOOLEAN := g_design_name = "unb1_test_1GbE" OR g_design_name = "unb1_test_10GbE";
+  CONSTANT c_use_10GbE                  : BOOLEAN := g_design_name = "unb1_test_10GbE";
+  CONSTANT c_nof_streams_10GbE          : NATURAL := sel_a_b(c_use_10GbE,3,0);
+  CONSTANT c_nof_streams_1GbE           : NATURAL := sel_a_b(c_use_1GbE,1,0);
+  CONSTANT c_nof_streams_ddr            : NATURAL := sel_a_b(g_use_MB_I,sel_a_b(g_use_MB_II,2,1),0);
   CONSTANT c_nof_streams                : NATURAL := c_nof_streams_1GbE + c_nof_streams_10GbE + c_nof_streams_ddr;
   CONSTANT c_nof_streams_eth            : NATURAL := c_nof_streams_1GbE + c_nof_streams_10GbE;
-  CONSTANT c_data_w                     : NATURAL := c_xgmii_data_w;--sel_a_b(c_use_lpbk,  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_32                  : NATURAL := c_eth_data_w;   --  1GbE
+  CONSTANT c_data_w_64                  : NATURAL := c_xgmii_data_w; -- 10GbE
 
   -- ddr
   CONSTANT c_ddr_master                 : t_c_tech_ddr := c_tech_ddr3_4g_800m_master;
   CONSTANT c_ddr_slave                  : t_c_tech_ddr := c_tech_ddr3_4g_800m_slave;
   CONSTANT c_st_dat_w                   : NATURAL      := 64; -- Any power of two 8..256
 
-  -- Block generator
+  -- Block generator constants
   CONSTANT c_bg_block_size              : NATURAL := 900;
   CONSTANT c_bg_gapsize                 : NATURAL := 100;
   CONSTANT c_bg_blocks_per_sync         : NATURAL := sel_a_b(g_sim, 10, 200000); -- 200000*(900+100) = 200000000 cycles = 1 second
-  CONSTANT c_bg_ctrl                    : t_diag_block_gen := ('0',                                -- enable (disabled by default) 
-                                                               '0',                                -- enable_sync        
-                                                              TO_UVEC(     c_bg_block_size, c_diag_bg_samples_per_packet_w),
-                                                              TO_UVEC(c_bg_blocks_per_sync, c_diag_bg_blocks_per_sync_w),
-                                                              TO_UVEC(        c_bg_gapsize, c_diag_bg_gapsize_w),
-                                                              TO_UVEC(                   0, c_diag_bg_mem_low_adrs_w),
-                                                              TO_UVEC(   c_bg_block_size-1, c_diag_bg_mem_high_adrs_w),
-                                                              TO_UVEC(                   0, c_diag_bg_bsn_init_w));
-
-
-  -- dp_offload_tx
-  CONSTANT c_nof_hdr_fields : NATURAL := 4+12+4+9;  -- Total header bits = 512
-  CONSTANT c_hdr_field_arr  : t_common_field_arr(c_nof_hdr_fields-1 DOWNTO 0) := ( ( field_name_pad("eth_word_align"     ), "  ", 16, field_default(0) ),
-                                                                                   ( field_name_pad("eth_dst_mac"        ), "  ", 48, field_default(0) ),
-                                                                                   ( field_name_pad("eth_src_mac"        ), "  ", 48, field_default(0) ),
-                                                                                   ( field_name_pad("eth_type"           ), "  ", 16, field_default(x"0800") ),
-                                                                                   ( field_name_pad("ip_version"         ), "  ",  4, field_default(4) ),
-                                                                                   ( field_name_pad("ip_header_length"   ), "  ",  4, field_default(5) ),
-                                                                                   ( field_name_pad("ip_services"        ), "  ",  8, field_default(0) ),
-                                                                                   ( field_name_pad("ip_total_length"    ), "  ", 16, field_default(0) ),
-                                                                                   ( field_name_pad("ip_identification"  ), "  ", 16, field_default(0) ),
-                                                                                   ( field_name_pad("ip_flags"           ), "  ",  3, field_default(2) ),
-                                                                                   ( field_name_pad("ip_fragment_offset" ), "  ", 13, field_default(0) ),
-                                                                                   ( field_name_pad("ip_time_to_live"    ), "  ",  8, field_default(127) ),
-                                                                                   ( field_name_pad("ip_protocol"        ), "  ",  8, field_default(17) ),
-                                                                                   ( field_name_pad("ip_header_checksum" ), "  ", 16, field_default(0) ),
-                                                                                   ( field_name_pad("ip_src_addr"        ), "  ", 32, field_default(0) ),
-                                                                                   ( field_name_pad("ip_dst_addr"        ), "  ", 32, field_default(0) ),
-                                                                                   ( field_name_pad("udp_src_port"       ), "  ", 16, field_default(0) ),
-                                                                                   ( field_name_pad("udp_dst_port"       ), "  ", 16, field_default(0) ),
-                                                                                   ( field_name_pad("udp_total_length"   ), "  ", 16, field_default(0) ),
-                                                                                   ( field_name_pad("udp_checksum"       ), "  ", 16, field_default(0) ),
-                                                                                   ( field_name_pad("usr_sync"           ), "  ",  1, field_default(1) ),
-                                                                                   ( field_name_pad("usr_bsn"            ), "  ", 60, field_default(0) ),
-                                                                                   ( field_name_pad("usr_hdr_field_0"    ), "  ",  7, field_default(0) ),
-                                                                                   ( field_name_pad("usr_hdr_field_1"    ), "  ",  9, field_default(0) ),
-                                                                                   ( field_name_pad("usr_hdr_field_2"    ), "  ", 10, field_default(0) ),
-                                                                                   ( field_name_pad("usr_hdr_field_3"    ), "  ", 33, field_default(0) ),
-                                                                                   ( field_name_pad("usr_hdr_field_4"    ), "  ",  5, field_default(0) ),
-                                                                                   ( field_name_pad("usr_hdr_field_5"    ), "  ",  8, field_default(0) ),
-                                                                                   ( field_name_pad("usr_hdr_field_6"    ), "  ", 27, field_default(0) ) );
-
-  CONSTANT c_hdr_field_ovr_init         : STD_LOGIC_VECTOR(c_nof_hdr_fields-1 DOWNTO 0) := "1001"&"111011111100"&"0001"&"101111111";
 
   CONSTANT c_use_jumbo_frames           : BOOLEAN := FALSE;
   CONSTANT c_def_1GbE_block_size        : NATURAL := 0;   -- 0 first so we have time to set RX demux reg in dest. node
   CONSTANT c_def_10GbE_block_size       : NATURAL := 700; -- (700/1000) * 200MHz * 64b = 8.96Gbps user rate (excl. header overhead (16 words/packet) )
 
   CONSTANT c_max_frame_len              : NATURAL := sel_a_b(c_use_jumbo_frames, 9018, 1518);
-  CONSTANT c_max_frame_nof_words        : NATURAL := (c_max_frame_len * c_byte_w ) / c_data_w;
-  CONSTANT c_nof_header_words           : NATURAL := field_slv_len(c_hdr_field_arr) / c_data_w;
   CONSTANT c_nof_header_bytes           : NATURAL := field_slv_len(c_hdr_field_arr) / c_byte_w;
-  CONSTANT c_nof_crc_words              : NATURAL := 1;
   CONSTANT c_max_udp_payload_len        : NATURAL := c_max_frame_len-c_nof_header_bytes-c_network_eth_crc_len;
-  CONSTANT c_max_udp_payload_nof_words  : NATURAL := (c_max_udp_payload_len * c_byte_w) / c_data_w;
-  CONSTANT c_max_nof_words_per_block    : NATURAL := c_bg_block_size;
-  CONSTANT c_min_nof_words_per_block    : NATURAL := 1;
-  CONSTANT c_max_nof_blocks_per_packet  : NATURAL := c_max_udp_payload_nof_words/c_min_nof_words_per_block;
-  CONSTANT c_def_nof_blocks_per_packet  : NATURAL := 1;
-
-  CONSTANT c_nof_dp_offload_tx          : NATURAL := 2; -- 1 set 1GbE + 1 set 10GbE
-
-  SIGNAL hdr_fields_in_arr              : t_slv_1024_arr(c_nof_streams_eth-1 DOWNTO 0);
-  SIGNAL hdr_fields_out_arr             : t_slv_1024_arr(c_nof_streams_eth-1 DOWNTO 0);
 
+  CONSTANT c_max_udp_payload_nof_words_1GbE  : NATURAL := (c_max_udp_payload_len * c_byte_w) / c_data_w_32;
+  CONSTANT c_max_udp_payload_nof_words_10GbE : NATURAL := (c_max_udp_payload_len * c_byte_w) / c_data_w_64;
+  CONSTANT c_min_nof_words_per_block         : NATURAL := 1;
+  CONSTANT c_max_nof_blocks_per_packet_1GbE  : NATURAL := c_max_udp_payload_nof_words_1GbE/c_min_nof_words_per_block;
+  CONSTANT c_max_nof_blocks_per_packet_10GbE : NATURAL := c_max_udp_payload_nof_words_10GbE/c_min_nof_words_per_block;
 
 
   -- System
@@ -231,10 +176,11 @@ ARCHITECTURE str OF unb1_test IS
   SIGNAL xo_rst                     : STD_LOGIC;
   SIGNAL xo_rst_n                   : STD_LOGIC;
   SIGNAL mm_clk                     : STD_LOGIC;
+  SIGNAL mm_locked                  : STD_LOGIC;
   SIGNAL mm_rst                     : STD_LOGIC;
   
   SIGNAL cal_rec_clk                : STD_LOGIC;
-
+  SIGNAL epcs_clk                   : STD_LOGIC;
   SIGNAL sa_rst                     : STD_LOGIC;
   
   SIGNAL dp_clk                     : STD_LOGIC;
@@ -262,12 +208,13 @@ ARCHITECTURE str OF unb1_test IS
   SIGNAL reg_unb_sens_miso          : t_mem_miso;
 
   -- eth1g
+  SIGNAL eth1g_tse_clk              : STD_LOGIC;
   SIGNAL eth1g_mm_rst               : STD_LOGIC;
   SIGNAL eth1g_tse_mosi             : t_mem_mosi;  -- ETH TSE MAC registers
   SIGNAL eth1g_tse_miso             : t_mem_miso;
   SIGNAL eth1g_reg_mosi             : t_mem_mosi;  -- ETH control and status registers
   SIGNAL eth1g_reg_miso             : t_mem_miso;
-  SIGNAL eth1g_reg_interrupt        : STD_LOGIC;   -- Interrupt
+  SIGNAL eth1g_reg_interrupt        : STD_LOGIC;
   SIGNAL eth1g_ram_mosi             : t_mem_mosi;  -- ETH rx frame and tx frame memory
   SIGNAL eth1g_ram_miso             : t_mem_miso;
 
@@ -307,84 +254,89 @@ ARCHITECTURE str OF unb1_test IS
   SIGNAL reg_tr_xaui_mosi           : t_mem_mosi;
   SIGNAL reg_tr_xaui_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 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 reg_diag_bg_mosi               : t_mem_mosi;
-  SIGNAL reg_diag_bg_miso               : t_mem_miso;
-  SIGNAL ram_diag_bg_mosi               : t_mem_mosi;
-  SIGNAL ram_diag_bg_miso               : t_mem_miso;
-
-  SIGNAL reg_dp_offload_tx_mosi_arr         : t_mem_mosi_arr(c_nof_dp_offload_tx-1 DOWNTO 0);
-  SIGNAL reg_dp_offload_tx_miso_arr         : t_mem_miso_arr(c_nof_dp_offload_tx-1 DOWNTO 0);
-  SIGNAL reg_dp_offload_tx_hdr_dat_mosi_arr : t_mem_mosi_arr(c_nof_dp_offload_tx-1 DOWNTO 0);
-  SIGNAL reg_dp_offload_tx_hdr_dat_miso_arr : t_mem_miso_arr(c_nof_dp_offload_tx-1 DOWNTO 0);
-
-  SIGNAL reg_dp_offload_rx_hdr_dat_mosi : t_mem_mosi;
-  SIGNAL reg_dp_offload_rx_hdr_dat_miso : t_mem_miso;
-
-  SIGNAL reg_bsn_monitor_mosi           : t_mem_mosi;
-  SIGNAL reg_bsn_monitor_miso           : t_mem_miso;
-  SIGNAL ram_diag_data_buf_mosi         : t_mem_mosi;
-  SIGNAL ram_diag_data_buf_miso         : t_mem_miso;
-  SIGNAL reg_diag_data_buf_mosi         : t_mem_mosi;
-  SIGNAL reg_diag_data_buf_miso         : t_mem_miso;
-
-  SIGNAL block_gen_src_out_arr          : t_dp_sosi_arr(c_nof_streams-1 DOWNTO 0);
-  SIGNAL block_gen_src_in_arr           : t_dp_siso_arr(c_nof_streams-1 DOWNTO 0) := (OTHERS=> c_dp_siso_rdy);
-
-  SIGNAL fifo_block_gen_src_out_arr     : t_dp_sosi_arr(c_nof_streams-1 DOWNTO 0);
-  SIGNAL fifo_block_gen_src_in_arr      : t_dp_siso_arr(c_nof_streams-1 DOWNTO 0) := (OTHERS=> c_dp_siso_rdy);
-
-  SIGNAL dp_offload_tx_src_out_arr      : t_dp_sosi_arr(c_nof_streams_eth-1 DOWNTO 0);
-  SIGNAL dp_offload_tx_src_in_arr       : t_dp_siso_arr(c_nof_streams_eth-1 DOWNTO 0);
-
-  SIGNAL dp_offload_rx_snk_in_arr       : t_dp_sosi_arr(c_nof_streams_eth-1 DOWNTO 0);
-  SIGNAL dp_offload_rx_snk_out_arr      : t_dp_siso_arr(c_nof_streams_eth-1 DOWNTO 0);
-
-  SIGNAL dp_offload_rx_src_out_arr      : t_dp_sosi_arr(c_nof_streams_eth-1 DOWNTO 0);
-  SIGNAL dp_offload_rx_src_in_arr       : t_dp_siso_arr(c_nof_streams_eth-1 DOWNTO 0) := (OTHERS=> c_dp_siso_rdy);
-
-  SIGNAL diag_data_buf_snk_in_arr       : t_dp_sosi_arr(c_nof_streams-1 DOWNTO 0);
-  SIGNAL diag_data_buf_snk_out_arr      : t_dp_siso_arr(c_nof_streams-1 DOWNTO 0);
+  SIGNAL reg_diag_bg_1GbE_mosi      : t_mem_mosi;
+  SIGNAL reg_diag_bg_1GbE_miso      : t_mem_miso;
+  SIGNAL ram_diag_bg_1GbE_mosi      : t_mem_mosi;
+  SIGNAL ram_diag_bg_1GbE_miso      : t_mem_miso;
+
+  SIGNAL reg_diag_bg_10GbE_mosi     : t_mem_mosi;
+  SIGNAL reg_diag_bg_10GbE_miso     : t_mem_miso;
+  SIGNAL ram_diag_bg_10GbE_mosi     : t_mem_mosi;
+  SIGNAL ram_diag_bg_10GbE_miso     : t_mem_miso;
+
+  SIGNAL reg_dp_offload_tx_1GbE_mosi          : t_mem_mosi;
+  SIGNAL reg_dp_offload_tx_1GbE_miso          : t_mem_miso;
+  SIGNAL reg_dp_offload_tx_1GbE_hdr_dat_mosi  : t_mem_mosi;
+  SIGNAL reg_dp_offload_tx_1GbE_hdr_dat_miso  : t_mem_miso;
+
+  SIGNAL reg_dp_offload_tx_10GbE_mosi         : t_mem_mosi;
+  SIGNAL reg_dp_offload_tx_10GbE_miso         : t_mem_miso;
+  SIGNAL reg_dp_offload_tx_10GbE_hdr_dat_mosi : t_mem_mosi;
+  SIGNAL reg_dp_offload_tx_10GbE_hdr_dat_miso : t_mem_miso;
+
+  SIGNAL reg_dp_offload_rx_1GbE_hdr_dat_mosi  : t_mem_mosi;
+  SIGNAL reg_dp_offload_rx_1GbE_hdr_dat_miso  : t_mem_miso;
+  SIGNAL reg_dp_offload_rx_10GbE_hdr_dat_mosi : t_mem_mosi;
+  SIGNAL reg_dp_offload_rx_10GbE_hdr_dat_miso : t_mem_miso;
+
+  SIGNAL reg_bsn_monitor_1GbE_mosi       : t_mem_mosi;
+  SIGNAL reg_bsn_monitor_1GbE_miso       : t_mem_miso;
+  SIGNAL reg_bsn_monitor_10GbE_mosi      : t_mem_mosi;
+  SIGNAL reg_bsn_monitor_10GbE_miso      : t_mem_miso;
+
+  SIGNAL ram_diag_data_buf_1GbE_mosi     : t_mem_mosi;
+  SIGNAL ram_diag_data_buf_1GbE_miso     : t_mem_miso;
+  SIGNAL reg_diag_data_buf_1GbE_mosi     : t_mem_mosi;
+  SIGNAL reg_diag_data_buf_1GbE_miso     : t_mem_miso;
+
+  SIGNAL ram_diag_data_buf_10GbE_mosi    : t_mem_mosi;
+  SIGNAL ram_diag_data_buf_10GbE_miso    : t_mem_miso;
+  SIGNAL reg_diag_data_buf_10GbE_mosi    : t_mem_mosi;
+  SIGNAL reg_diag_data_buf_10GbE_miso    : t_mem_miso;
+
+  SIGNAL block_gen_1GbE_src_out_arr      : t_dp_sosi_arr(c_nof_streams_1GbE-1 DOWNTO 0);
+  SIGNAL block_gen_10GbE_src_out_arr     : t_dp_sosi_arr(c_nof_streams_10GbE-1 DOWNTO 0);
+
+  SIGNAL dp_offload_tx_1GbE_src_out_arr  : t_dp_sosi_arr(c_nof_streams_1GbE-1 DOWNTO 0);
+  SIGNAL dp_offload_tx_1GbE_src_in_arr   : t_dp_siso_arr(c_nof_streams_1GbE-1 DOWNTO 0);
+  SIGNAL dp_offload_tx_10GbE_src_out_arr : t_dp_sosi_arr(c_nof_streams_10GbE-1 DOWNTO 0);
+  SIGNAL dp_offload_tx_10GbE_src_in_arr  : t_dp_siso_arr(c_nof_streams_10GbE-1 DOWNTO 0);
+
+  SIGNAL dp_offload_rx_1GbE_snk_in_arr   : t_dp_sosi_arr(c_nof_streams_1GbE-1 DOWNTO 0);
+  SIGNAL dp_offload_rx_1GbE_snk_out_arr  : t_dp_siso_arr(c_nof_streams_1GbE-1 DOWNTO 0);
+  SIGNAL dp_offload_rx_10GbE_snk_in_arr  : t_dp_sosi_arr(c_nof_streams_10GbE-1 DOWNTO 0);
+  SIGNAL dp_offload_rx_10GbE_snk_out_arr : t_dp_siso_arr(c_nof_streams_10GbE-1 DOWNTO 0);
 
    -- Interface: 1GbE UDP streaming ports
-  SIGNAL eth1g_udp_tx_sosi_arr          : t_dp_sosi_arr(c_nof_streams_1GbE-1 DOWNTO 0);
-  SIGNAL eth1g_udp_tx_siso_arr          : t_dp_siso_arr(c_nof_streams_1GbE-1 DOWNTO 0);
-  SIGNAL eth1g_udp_rx_sosi_arr          : t_dp_sosi_arr(c_nof_streams_1GbE-1 DOWNTO 0);
-  SIGNAL eth1g_udp_rx_siso_arr          : t_dp_siso_arr(c_nof_streams_1GbE-1 DOWNTO 0);
+  SIGNAL eth1g_udp_tx_sosi_arr           : t_dp_sosi_arr(c_nof_streams_1GbE-1 DOWNTO 0);
+  SIGNAL eth1g_udp_tx_siso_arr           : t_dp_siso_arr(c_nof_streams_1GbE-1 DOWNTO 0);
+  SIGNAL eth1g_udp_rx_sosi_arr           : t_dp_sosi_arr(c_nof_streams_1GbE-1 DOWNTO 0);
+  SIGNAL eth1g_udp_rx_siso_arr           : t_dp_siso_arr(c_nof_streams_1GbE-1 DOWNTO 0);
 
   -- DDR
-  SIGNAL ddr_ctlr_mosi_arr              : t_mem_ctlr_mosi_arr(0 TO g_nof_MB-1);
-  SIGNAL ddr_ctlr_miso_arr              : t_mem_ctlr_miso_arr(0 TO g_nof_MB-1);
+  SIGNAL ddr_ctlr_mosi_arr               : t_mem_ctlr_mosi_arr(0 TO g_nof_MB-1);
+  SIGNAL ddr_ctlr_miso_arr               : t_mem_ctlr_miso_arr(0 TO g_nof_MB-1);
 
-  SIGNAL ddr_ctlr_clk                   : STD_LOGIC_VECTOR(0 TO g_nof_MB-1);
-  SIGNAL ddr_ctlr_rst                   : STD_LOGIC_VECTOR(0 TO g_nof_MB-1);
+  SIGNAL ddr_ctlr_clk                    : STD_LOGIC_VECTOR(0 TO g_nof_MB-1);
+  SIGNAL ddr_ctlr_rst                    : STD_LOGIC_VECTOR(0 TO g_nof_MB-1);
 
-  SIGNAL ram_ss_ss_transp_mosi          : t_mem_mosi;
-  SIGNAL ram_ss_ss_transp_miso          : t_mem_miso;
-  SIGNAL ram_ss_ss_transp_mosi2         : t_mem_mosi;
-  SIGNAL ram_ss_ss_transp_miso2         : t_mem_miso := c_mem_miso_rst;
+  SIGNAL ram_ss_ss_transp_mosi           : t_mem_mosi;
+  SIGNAL ram_ss_ss_transp_miso           : t_mem_miso;
+  SIGNAL ram_ss_ss_transp_mosi2          : t_mem_mosi;
+  SIGNAL ram_ss_ss_transp_miso2          : t_mem_miso := c_mem_miso_rst;
 
-  SIGNAL to_mem_siso                    : t_dp_siso := c_dp_siso_rdy;
-  SIGNAL to_mem_sosi                    : t_dp_sosi;
-  SIGNAL from_mem_siso                  : t_dp_siso := c_dp_siso_rdy;
-  SIGNAL from_mem_sosi                  : t_dp_sosi;
+  SIGNAL to_mem_siso                     : t_dp_siso := c_dp_siso_rdy;
+  SIGNAL to_mem_sosi                     : t_dp_sosi;
+  SIGNAL from_mem_siso                   : t_dp_siso := c_dp_siso_rdy;
+  SIGNAL from_mem_sosi                   : t_dp_sosi;
 
-  SIGNAL to_mem_siso2                   : t_dp_siso := c_dp_siso_rdy;
-  SIGNAL to_mem_sosi2                   : t_dp_sosi;
-  SIGNAL from_mem_siso2                 : t_dp_siso := c_dp_siso_rdy;
-  SIGNAL from_mem_sosi2                 : t_dp_sosi;
+  SIGNAL to_mem_siso2                    : t_dp_siso := c_dp_siso_rdy;
+  SIGNAL to_mem_sosi2                    : t_dp_sosi;
+  SIGNAL from_mem_siso2                  : t_dp_siso := c_dp_siso_rdy;
+  SIGNAL from_mem_sosi2                  : t_dp_sosi;
 
-  SIGNAL reg_io_ddr_mosi                : t_mem_mosi;
-  SIGNAL reg_io_ddr_miso                : t_mem_miso;
+  SIGNAL reg_io_ddr_mosi                 : t_mem_mosi;
+  SIGNAL reg_io_ddr_miso                 : t_mem_miso;
 BEGIN
 
   -----------------------------------------------------------------------------
@@ -405,7 +357,7 @@ BEGIN
     g_udp_offload             => c_use_1GbE,
     g_udp_offload_nof_streams => c_nof_streams_1GbE,
     g_dp_clk_use_pll          => TRUE,
-    g_mm_clk_use_pll          => TRUE
+    g_xo_clk_use_pll          => TRUE
   )
   PORT MAP (
     -- Clock and reset signals
@@ -415,8 +367,15 @@ BEGIN
     xo_rst_n                 => xo_rst_n,
 
     mm_clk_out               => mm_clk,
+    mm_clk                   => mm_clk,
     mm_rst                   => mm_rst,
 
+    mm_locked                => mm_locked,
+    mm_locked_out            => mm_locked,
+
+    epcs_clk                 => epcs_clk,
+    epcs_clk_out             => epcs_clk,
+
     dp_rst                   => dp_rst,
     dp_clk                   => dp_clk,
     dp_pps                   => OPEN,
@@ -468,6 +427,8 @@ BEGIN
     reg_ppsh_miso            => reg_ppsh_miso,
     
     -- eth1g
+    eth1g_tse_clk_out        => eth1g_tse_clk,
+    eth1g_tse_clk            => eth1g_tse_clk,
     eth1g_mm_rst             => eth1g_mm_rst,
     eth1g_tse_mosi           => eth1g_tse_mosi,
     eth1g_tse_miso           => eth1g_tse_miso,
@@ -517,9 +478,7 @@ BEGIN
     g_nof_streams_1GbE  => c_nof_streams_1GbE,
     g_nof_streams_10GbE => c_nof_streams_10GbE,
     g_nof_streams_ddr   => c_nof_streams_ddr,
-    g_bg_block_size     => c_bg_block_size,
-    g_hdr_field_arr     => c_hdr_field_arr,
-    g_nof_dp_offload_tx => c_nof_dp_offload_tx
+    g_bg_block_size     => c_bg_block_size
    )
   PORT MAP(  
     mm_rst                         => mm_rst,
@@ -574,27 +533,53 @@ BEGIN
     reg_remu_mosi                  => reg_remu_mosi,
     reg_remu_miso                  => reg_remu_miso,
 
-    ram_diag_bg_mosi               => ram_diag_bg_mosi,
-    ram_diag_bg_miso               => ram_diag_bg_miso,
-    reg_diag_bg_mosi               => reg_diag_bg_mosi,
-    reg_diag_bg_miso               => reg_diag_bg_miso,
-
-    reg_dp_offload_tx_mosi_arr         => reg_dp_offload_tx_mosi_arr,
-    reg_dp_offload_tx_miso_arr         => reg_dp_offload_tx_miso_arr,
-    reg_dp_offload_tx_hdr_dat_mosi_arr => reg_dp_offload_tx_hdr_dat_mosi_arr,
-    reg_dp_offload_tx_hdr_dat_miso_arr => reg_dp_offload_tx_hdr_dat_miso_arr,
-
-    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,
-
-    reg_bsn_monitor_mosi           => reg_bsn_monitor_mosi,
-    reg_bsn_monitor_miso           => reg_bsn_monitor_miso,
-
-    ram_diag_data_buf_mosi         => ram_diag_data_buf_mosi,
-    ram_diag_data_buf_miso         => ram_diag_data_buf_miso,
-    reg_diag_data_buf_mosi         => reg_diag_data_buf_mosi,
-    reg_diag_data_buf_miso         => reg_diag_data_buf_miso,
-
+    -- block gen
+    ram_diag_bg_1GbE_mosi          => ram_diag_bg_1GbE_mosi,
+    ram_diag_bg_1GbE_miso          => ram_diag_bg_1GbE_miso,
+    reg_diag_bg_1GbE_mosi          => reg_diag_bg_1GbE_mosi,
+    reg_diag_bg_1GbE_miso          => reg_diag_bg_1GbE_miso,
+
+    ram_diag_bg_10GbE_mosi         => ram_diag_bg_10GbE_mosi,
+    ram_diag_bg_10GbE_miso         => ram_diag_bg_10GbE_miso,
+    reg_diag_bg_10GbE_mosi         => reg_diag_bg_10GbE_mosi,
+    reg_diag_bg_10GbE_miso         => reg_diag_bg_10GbE_miso,
+
+    -- dp_offload_tx
+    reg_dp_offload_tx_1GbE_mosi          => reg_dp_offload_tx_1GbE_mosi,
+    reg_dp_offload_tx_1GbE_miso          => reg_dp_offload_tx_1GbE_miso,
+    reg_dp_offload_tx_1GbE_hdr_dat_mosi  => reg_dp_offload_tx_1GbE_hdr_dat_mosi,
+    reg_dp_offload_tx_1GbE_hdr_dat_miso  => reg_dp_offload_tx_1GbE_hdr_dat_miso,
+
+    reg_dp_offload_tx_10GbE_mosi         => reg_dp_offload_tx_10GbE_mosi,
+    reg_dp_offload_tx_10GbE_miso         => reg_dp_offload_tx_10GbE_miso,
+    reg_dp_offload_tx_10GbE_hdr_dat_mosi => reg_dp_offload_tx_10GbE_hdr_dat_mosi,
+    reg_dp_offload_tx_10GbE_hdr_dat_miso => reg_dp_offload_tx_10GbE_hdr_dat_miso,
+
+    -- dp_offload_rx
+    reg_dp_offload_rx_1GbE_hdr_dat_mosi  => reg_dp_offload_rx_1GbE_hdr_dat_mosi,
+    reg_dp_offload_rx_1GbE_hdr_dat_miso  => reg_dp_offload_rx_1GbE_hdr_dat_miso,
+
+    reg_dp_offload_rx_10GbE_hdr_dat_mosi => reg_dp_offload_rx_10GbE_hdr_dat_mosi,
+    reg_dp_offload_rx_10GbE_hdr_dat_miso => reg_dp_offload_rx_10GbE_hdr_dat_miso,
+
+    -- bsn
+    reg_bsn_monitor_1GbE_mosi            => reg_bsn_monitor_1GbE_mosi,
+    reg_bsn_monitor_1GbE_miso            => reg_bsn_monitor_1GbE_miso,
+    reg_bsn_monitor_10GbE_mosi           => reg_bsn_monitor_10GbE_mosi,
+    reg_bsn_monitor_10GbE_miso           => reg_bsn_monitor_10GbE_miso,
+
+    -- databuffer
+    ram_diag_data_buf_1GbE_mosi          => ram_diag_data_buf_1GbE_mosi,
+    ram_diag_data_buf_1GbE_miso          => ram_diag_data_buf_1GbE_miso,
+    reg_diag_data_buf_1GbE_mosi          => reg_diag_data_buf_1GbE_mosi,
+    reg_diag_data_buf_1GbE_miso          => reg_diag_data_buf_1GbE_miso,
+
+    ram_diag_data_buf_10GbE_mosi         => ram_diag_data_buf_10GbE_mosi,
+    ram_diag_data_buf_10GbE_miso         => ram_diag_data_buf_10GbE_miso,
+    reg_diag_data_buf_10GbE_mosi         => reg_diag_data_buf_10GbE_mosi,
+    reg_diag_data_buf_10GbE_miso         => reg_diag_data_buf_10GbE_miso,
+
+    -- tr_10GbE
     reg_tr_10GbE_mosi              => reg_tr_10GbE_mosi,
     reg_tr_10GbE_miso              => reg_tr_10GbE_miso,
     reg_tr_xaui_mosi               => reg_tr_xaui_mosi,
@@ -608,270 +593,122 @@ BEGIN
   );
 
 
-  -----------------------------------------------------------------------------
-  -- TX: Block generator
-  -----------------------------------------------------------------------------
-  u_mms_diag_block_gen : ENTITY diag_lib.mms_diag_block_gen
-  GENERIC MAP (
-    g_nof_streams        => c_nof_streams,
-    g_buf_dat_w          => c_data_w,
-    g_buf_addr_w         => ceil_log2(TO_UINT(c_bg_ctrl.samples_per_packet)),
-    g_file_name_prefix   => "../../counter_data_" & NATURAL'IMAGE(c_data_w),
-    g_diag_block_gen_rst => c_bg_ctrl
-  )
-  PORT MAP (
-    mm_rst           => mm_rst,
-    mm_clk           => mm_clk,
-
-    dp_rst           => dp_rst,
-    dp_clk           => dp_clk,
-
-    out_sosi_arr     => block_gen_src_out_arr,
-    out_siso_arr     => block_gen_src_in_arr,
-
-    reg_bg_ctrl_mosi => reg_diag_bg_mosi,
-    reg_bg_ctrl_miso => reg_diag_bg_miso,
-    ram_bg_data_mosi => ram_diag_bg_mosi,
-    ram_bg_data_miso => ram_diag_bg_miso
-  );
-
-  gen_dp_fifo_sc : FOR i IN 0 TO c_nof_streams_eth-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
-  -----------------------------------------------------------------------------
-  u_dp_offload_tx_1GbE : ENTITY dp_lib.dp_offload_tx
+  u_bgdb_stream_test_1GbE : ENTITY work.bgdb_stream_test
   GENERIC MAP (
+    g_sim                       => g_sim,
     g_nof_streams               => c_nof_streams_1GbE,
-    g_data_w                    => c_eth_data_w,
-    g_use_complex               => FALSE,
-    g_max_nof_words_per_block   => c_max_nof_words_per_block,
-    g_def_nof_words_per_block   => c_def_1GbE_block_size,
-    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_hdr_field_arr             => c_hdr_field_arr,
-    g_hdr_field_sel             => c_hdr_field_ovr_init
-   )
-  PORT MAP (
-    mm_rst                => mm_rst,
-    mm_clk                => mm_clk,
-
-    dp_rst                => dp_rst,
-    dp_clk                => dp_clk,
-
-    reg_mosi              => reg_dp_offload_tx_mosi_arr(0),
-    reg_miso              => reg_dp_offload_tx_miso_arr(0),
-
-    reg_hdr_dat_mosi      => reg_dp_offload_tx_hdr_dat_mosi_arr(0),
-    reg_hdr_dat_miso      => reg_dp_offload_tx_hdr_dat_miso_arr(0),
-
-    snk_in_arr            => fifo_block_gen_src_out_arr(c_nof_streams_1GbE-1 DOWNTO 0),
-    snk_out_arr           => fifo_block_gen_src_in_arr(c_nof_streams_1GbE-1 DOWNTO 0),
-
-    src_out_arr           => dp_offload_tx_src_out_arr(c_nof_streams_1GbE-1 DOWNTO 0),
-    src_in_arr            => dp_offload_tx_src_in_arr(c_nof_streams_1GbE-1 DOWNTO 0),
-
-    hdr_fields_in_arr     => hdr_fields_in_arr(c_nof_streams_1GbE-1 DOWNTO 0)
-  );
-
-  u_dp_offload_tx_10GbE : ENTITY dp_lib.dp_offload_tx
-  GENERIC MAP (
-    g_nof_streams               => c_nof_streams_10GbE,
-    g_data_w                    => c_data_w,
-    g_use_complex               => FALSE,
-    g_max_nof_words_per_block   => c_max_nof_words_per_block,
-    g_def_nof_words_per_block   => c_def_10GbE_block_size,
-    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_hdr_field_arr             => c_hdr_field_arr,
-    g_hdr_field_sel             => c_hdr_field_ovr_init
-   )
-  PORT MAP (
-    mm_rst                => mm_rst,
-    mm_clk                => mm_clk,
-
-    dp_rst                => dp_rst,
-    dp_clk                => dp_clk,
-
-    reg_mosi              => reg_dp_offload_tx_mosi_arr(1),
-    reg_miso              => reg_dp_offload_tx_miso_arr(1),
-
-    reg_hdr_dat_mosi      => reg_dp_offload_tx_hdr_dat_mosi_arr(1),
-    reg_hdr_dat_miso      => reg_dp_offload_tx_hdr_dat_miso_arr(1),
-
-    snk_in_arr            => fifo_block_gen_src_out_arr(c_nof_streams_eth-1 DOWNTO c_nof_streams_1GbE),
-    snk_out_arr           => fifo_block_gen_src_in_arr(c_nof_streams_eth-1 DOWNTO c_nof_streams_1GbE),
-
-    src_out_arr           => dp_offload_tx_src_out_arr(c_nof_streams_eth-1 DOWNTO c_nof_streams_1GbE),
-    src_in_arr            => dp_offload_tx_src_in_arr(c_nof_streams_eth-1 DOWNTO c_nof_streams_1GbE),
-
-    hdr_fields_in_arr     => hdr_fields_in_arr(c_nof_streams_eth-1 DOWNTO c_nof_streams_1GbE)
-  );
-
-
-
-  -- c_nof_streams_1GbE:
-  -- dst = src
-  gen_hdr_in_fields_1GbE : FOR i IN 0 TO c_nof_streams_1GbE-1 GENERATE
-    hdr_fields_in_arr(i)(field_hi(c_hdr_field_arr, "eth_src_mac" ) DOWNTO field_lo(c_hdr_field_arr, "eth_src_mac")) <= x"00228608" & B"000"&ID(7 DOWNTO 3) & RESIZE_UVEC(ID(2 DOWNTO 0), c_byte_w);
-    hdr_fields_in_arr(i)(field_hi(c_hdr_field_arr, "eth_dst_mac" ) DOWNTO field_lo(c_hdr_field_arr, "eth_dst_mac")) <= x"00228608" & B"000"&ID(7 DOWNTO 3) & RESIZE_UVEC(ID(2 DOWNTO 0), c_byte_w);
-
-    hdr_fields_in_arr(i)(field_hi(c_hdr_field_arr, "ip_src_addr" ) DOWNTO field_lo(c_hdr_field_arr, "ip_src_addr")) <= x"0A63" & B"000"&ID(7 DOWNTO 3) & INCR_UVEC(RESIZE_UVEC(ID(2 DOWNTO 0), c_byte_w), 1);
-    hdr_fields_in_arr(i)(field_hi(c_hdr_field_arr, "ip_dst_addr" ) DOWNTO field_lo(c_hdr_field_arr, "ip_dst_addr")) <= x"0A63" & B"000"&ID(7 DOWNTO 3) & INCR_UVEC(RESIZE_UVEC(ID(2 DOWNTO 0), c_byte_w), 1);
-
-    -- dst port goes through 4000
-    hdr_fields_in_arr(i)(field_hi(c_hdr_field_arr, "udp_src_port") DOWNTO field_lo(c_hdr_field_arr, "udp_src_port" )) <= TO_UVEC(4000, 16);
-    hdr_fields_in_arr(i)(field_hi(c_hdr_field_arr, "udp_dst_port") DOWNTO field_lo(c_hdr_field_arr, "udp_dst_port" )) <= TO_UVEC(4000, 16);
-
-    hdr_fields_in_arr(i)(field_hi(c_hdr_field_arr, "usr_sync"    ) DOWNTO field_lo(c_hdr_field_arr, "usr_sync"   )) <= slv(block_gen_src_out_arr(i).sync);
-    hdr_fields_in_arr(i)(field_hi(c_hdr_field_arr, "usr_bsn"     ) DOWNTO field_lo(c_hdr_field_arr, "usr_bsn"    )) <= block_gen_src_out_arr(i).bsn(59 DOWNTO 0);
-  END GENERATE;
-
-  -- c_nof_streams_10GbE:
-  gen_hdr_in_fields_10GbE : FOR i IN 0 TO c_nof_streams_10GbE-1 GENERATE
-    -- dst = src
-    hdr_fields_in_arr(i+c_nof_streams_1GbE)(field_hi(c_hdr_field_arr, "eth_src_mac" ) DOWNTO field_lo(c_hdr_field_arr, "eth_src_mac")) <= x"00228608" & B"000"&ID(7 DOWNTO 3) & RESIZE_UVEC(ID(2 DOWNTO 0), c_byte_w);
-    hdr_fields_in_arr(i+c_nof_streams_1GbE)(field_hi(c_hdr_field_arr, "eth_dst_mac" ) DOWNTO field_lo(c_hdr_field_arr, "eth_dst_mac")) <= x"00228608" & B"000"&ID(7 DOWNTO 3) & RESIZE_UVEC(ID(2 DOWNTO 0), c_byte_w);
-
-    hdr_fields_in_arr(i+c_nof_streams_1GbE)(field_hi(c_hdr_field_arr, "ip_src_addr" ) DOWNTO field_lo(c_hdr_field_arr, "ip_src_addr")) <= x"0A0A" & B"000"&ID(7 DOWNTO 3) & INCR_UVEC(RESIZE_UVEC(ID(2 DOWNTO 0), c_byte_w), 1);
-    hdr_fields_in_arr(i+c_nof_streams_1GbE)(field_hi(c_hdr_field_arr, "ip_dst_addr" ) DOWNTO field_lo(c_hdr_field_arr, "ip_dst_addr")) <= x"0A0A" & B"000"&ID(7 DOWNTO 3) & INCR_UVEC(RESIZE_UVEC(ID(2 DOWNTO 0), c_byte_w), 1);
-
-    -- dst port goes through 4000,4001,4002
-    hdr_fields_in_arr(i+c_nof_streams_1GbE)(field_hi(c_hdr_field_arr, "udp_src_port") DOWNTO field_lo(c_hdr_field_arr, "udp_src_port" )) <= TO_UVEC(4000+i, 16);
-    hdr_fields_in_arr(i+c_nof_streams_1GbE)(field_hi(c_hdr_field_arr, "udp_dst_port") DOWNTO field_lo(c_hdr_field_arr, "udp_dst_port" )) <= TO_UVEC(4000+i, 16);
-
-    hdr_fields_in_arr(i+c_nof_streams_1GbE)(field_hi(c_hdr_field_arr, "usr_sync"    ) DOWNTO field_lo(c_hdr_field_arr, "usr_sync"   )) <= slv(block_gen_src_out_arr(i+c_nof_streams_1GbE).sync);
-    hdr_fields_in_arr(i+c_nof_streams_1GbE)(field_hi(c_hdr_field_arr, "usr_bsn"     ) DOWNTO field_lo(c_hdr_field_arr, "usr_bsn"    )) <= block_gen_src_out_arr(i+c_nof_streams_1GbE).bsn(59 DOWNTO 0);
-  END GENERATE;
-
------------------------------------------------------------------------------
-  -- RX: dp_offload_rx
-  -----------------------------------------------------------------------------
-  u_dp_offload_rx : ENTITY dp_lib.dp_offload_rx
-  GENERIC MAP (
-    g_nof_streams         => c_nof_streams_eth,
-    g_data_w              => c_data_w,
-    g_hdr_field_arr       => c_hdr_field_arr,
-    g_remove_crc          => NOT(c_use_lpbk),
-    g_crc_nof_words       => c_nof_crc_words
-   )
-  PORT MAP (
-    mm_rst                => mm_rst,
-    mm_clk                => mm_clk,
-
-    dp_rst                => dp_rst,
-    dp_clk                => dp_clk,
-
-    reg_hdr_dat_mosi      => reg_dp_offload_rx_hdr_dat_mosi,
-    reg_hdr_dat_miso      => reg_dp_offload_rx_hdr_dat_miso,
-
-    snk_in_arr            => dp_offload_rx_snk_in_arr,
-    snk_out_arr           => dp_offload_rx_snk_out_arr,
-
-    src_out_arr           => dp_offload_rx_src_out_arr,
-    src_in_arr            => dp_offload_rx_src_in_arr,
-
-    hdr_fields_out_arr    => hdr_fields_out_arr
-    );
-
-  gen_hdr_out_fields : FOR i IN 0 TO c_nof_streams_eth-1 GENERATE
-    diag_data_buf_snk_in_arr(i).sync <=          sl(hdr_fields_out_arr(i)(field_hi(c_hdr_field_arr, "usr_sync") DOWNTO field_lo(c_hdr_field_arr, "usr_sync" )));
-    diag_data_buf_snk_in_arr(i).bsn  <= RESIZE_UVEC(hdr_fields_out_arr(i)(field_hi(c_hdr_field_arr, "usr_bsn" ) DOWNTO field_lo(c_hdr_field_arr, "usr_bsn"  )), c_dp_stream_bsn_w);
-  END GENERATE;
-
-  -----------------------------------------------------------------------------
-  -- RX: Data buffers and BSN monitors
-  -----------------------------------------------------------------------------
-  dp_offload_rx_src_in_arr <= diag_data_buf_snk_out_arr(c_nof_streams_eth-1 downto 0);
-
-  gen_bsn_mon_in : FOR i IN 0 TO c_nof_streams_eth-1 GENERATE
-    diag_data_buf_snk_in_arr(i).data  <= dp_offload_rx_src_out_arr(i).data;
-    diag_data_buf_snk_in_arr(i).valid <= dp_offload_rx_src_out_arr(i).valid;
-    diag_data_buf_snk_in_arr(i).sop   <= dp_offload_rx_src_out_arr(i).sop;
-    diag_data_buf_snk_in_arr(i).eop   <= dp_offload_rx_src_out_arr(i).eop;
-    diag_data_buf_snk_in_arr(i).err   <= dp_offload_rx_src_out_arr(i).err;
-  END GENERATE;
-
-  u_dp_bsn_monitor : ENTITY dp_lib.mms_dp_bsn_monitor
-  GENERIC MAP (
-    g_nof_streams        => c_nof_streams_eth,
-    g_cross_clock_domain => TRUE,
-    g_sync_timeout       => c_bg_blocks_per_sync*(c_bg_block_size+c_bg_gapsize),
-    g_cnt_sop_w          => ceil_log2(c_bg_blocks_per_sync+1),
-    g_cnt_valid_w        => ceil_log2(c_bg_blocks_per_sync*c_bg_block_size+1),
-    g_log_first_bsn      => TRUE
+    g_data_w                    => c_data_w_32,
+    g_bg_block_size             => c_bg_block_size,
+    g_bg_gapsize                => c_bg_gapsize,
+    g_bg_blocks_per_sync        => c_bg_blocks_per_sync,
+    g_def_block_size            => c_def_1GbE_block_size,
+    g_max_nof_blocks_per_packet => c_max_nof_blocks_per_packet_1GbE,
+    g_remove_crc                => TRUE
   )
   PORT MAP (
-    mm_rst      => mm_rst,
-    mm_clk      => mm_clk,
-    reg_mosi    => reg_bsn_monitor_mosi,
-    reg_miso    => reg_bsn_monitor_miso,
-
-    dp_rst      => dp_rst,
-    dp_clk      => dp_clk,
-    in_siso_arr => diag_data_buf_snk_out_arr(c_nof_streams_eth-1 downto 0),
-    in_sosi_arr => diag_data_buf_snk_in_arr(c_nof_streams_eth-1 downto 0)
+    mm_rst                         => mm_rst,
+    mm_clk                         => mm_clk,
+
+    dp_rst                         => dp_rst,
+    dp_clk                         => dp_clk,
+
+    ID                             => ID,
+
+    -- blockgen MM
+    reg_diag_bg_mosi               => reg_diag_bg_1GbE_mosi,
+    reg_diag_bg_miso               => reg_diag_bg_1GbE_miso,
+    ram_diag_bg_mosi               => ram_diag_bg_1GbE_mosi,
+    ram_diag_bg_miso               => ram_diag_bg_1GbE_miso,
+
+    -- dp_offload_tx
+    reg_dp_offload_tx_mosi         => reg_dp_offload_tx_1GbE_mosi,
+    reg_dp_offload_tx_miso         => reg_dp_offload_tx_1GbE_miso,
+    reg_dp_offload_tx_hdr_dat_mosi => reg_dp_offload_tx_1GbE_hdr_dat_mosi,
+    reg_dp_offload_tx_hdr_dat_miso => reg_dp_offload_tx_1GbE_hdr_dat_miso,
+    dp_offload_tx_src_out_arr      => dp_offload_tx_1GbE_src_out_arr,
+    dp_offload_tx_src_in_arr       => dp_offload_tx_1GbE_src_in_arr,
+
+    -- dp_offload_rx
+    reg_dp_offload_rx_hdr_dat_mosi => reg_dp_offload_rx_1GbE_hdr_dat_mosi,
+    reg_dp_offload_rx_hdr_dat_miso => reg_dp_offload_rx_1GbE_hdr_dat_miso,
+    dp_offload_rx_snk_in_arr       => dp_offload_rx_1GbE_snk_in_arr,
+    dp_offload_rx_snk_out_arr      => dp_offload_rx_1GbE_snk_out_arr,
+
+    -- bsn
+    reg_bsn_monitor_mosi           => reg_bsn_monitor_1GbE_mosi,
+    reg_bsn_monitor_miso           => reg_bsn_monitor_1GbE_miso,
+
+    -- databuffer
+    reg_diag_data_buf_mosi         => reg_diag_data_buf_1GbE_mosi,
+    reg_diag_data_buf_miso         => reg_diag_data_buf_1GbE_miso,
+    ram_diag_data_buf_mosi         => ram_diag_data_buf_1GbE_mosi,
+    ram_diag_data_buf_miso         => ram_diag_data_buf_1GbE_miso
   );
 
-  diag_data_buf_snk_out_arr <= (OTHERS=>c_dp_siso_rdy);
 
-  u_diag_data_buffer : ENTITY diag_lib.mms_diag_data_buffer
+  u_bgdb_stream_test_10GbE : ENTITY work.bgdb_stream_test
   GENERIC MAP (
-    g_nof_streams  => c_nof_streams,
-    g_data_w       => 32, --c_data_w,
-    g_buf_nof_data => 1024,
-    g_buf_use_sync => FALSE -- sync by reading last address of data buffer
+    g_sim                       => g_sim,
+    g_nof_streams               => c_nof_streams_10GbE,
+    g_data_w                    => c_data_w_64,
+    g_bg_block_size             => c_bg_block_size,
+    g_bg_gapsize                => c_bg_gapsize,
+    g_bg_blocks_per_sync        => c_bg_blocks_per_sync,
+    g_def_block_size            => c_def_10GbE_block_size,
+    g_max_nof_blocks_per_packet => c_max_nof_blocks_per_packet_1GbE,
+    g_remove_crc                => FALSE
   )
   PORT MAP (
-    mm_rst            => mm_rst,
-    mm_clk            => mm_clk,
-    dp_rst            => dp_rst,
-    dp_clk            => dp_clk,
-
-    ram_data_buf_mosi => ram_diag_data_buf_mosi,
-    ram_data_buf_miso => ram_diag_data_buf_miso,
-    reg_data_buf_mosi => reg_diag_data_buf_mosi,
-    reg_data_buf_miso => reg_diag_data_buf_miso,
-
-    --in_sync           => diag_data_buf_snk_in_arr(0).sop,
-    in_sync           => diag_data_buf_snk_in_arr(0).sync,
-    in_sosi_arr       => diag_data_buf_snk_in_arr
+    mm_rst                         => mm_rst,
+    mm_clk                         => mm_clk,
+
+    dp_rst                         => dp_rst,
+    dp_clk                         => dp_clk,
+
+    ID                             => ID,
+
+    -- blockgen mm
+    reg_diag_bg_mosi               => reg_diag_bg_10GbE_mosi,
+    reg_diag_bg_miso               => reg_diag_bg_10GbE_miso,
+    ram_diag_bg_mosi               => ram_diag_bg_10GbE_mosi,
+    ram_diag_bg_miso               => ram_diag_bg_10GbE_miso,
+
+    -- dp_offload_tx
+    reg_dp_offload_tx_mosi         => reg_dp_offload_tx_10GbE_mosi,
+    reg_dp_offload_tx_miso         => reg_dp_offload_tx_10GbE_miso,
+    reg_dp_offload_tx_hdr_dat_mosi => reg_dp_offload_tx_10GbE_hdr_dat_mosi,
+    reg_dp_offload_tx_hdr_dat_miso => reg_dp_offload_tx_10GbE_hdr_dat_miso,
+    dp_offload_tx_src_out_arr      => dp_offload_tx_10GbE_src_out_arr,
+    dp_offload_tx_src_in_arr       => dp_offload_tx_10GbE_src_in_arr,
+
+    -- dp_offload_rx
+    reg_dp_offload_rx_hdr_dat_mosi => reg_dp_offload_rx_10GbE_hdr_dat_mosi,
+    reg_dp_offload_rx_hdr_dat_miso => reg_dp_offload_rx_10GbE_hdr_dat_miso,
+    dp_offload_rx_snk_in_arr       => dp_offload_rx_10GbE_snk_in_arr,
+    dp_offload_rx_snk_out_arr      => dp_offload_rx_10GbE_snk_out_arr,
+
+    -- bsn
+    reg_bsn_monitor_mosi           => reg_bsn_monitor_10GbE_mosi,
+    reg_bsn_monitor_miso           => reg_bsn_monitor_10GbE_miso,
+
+    -- databuffer
+    reg_diag_data_buf_mosi         => reg_diag_data_buf_10GbE_mosi,
+    reg_diag_data_buf_miso         => reg_diag_data_buf_10GbE_miso,
+    ram_diag_data_buf_mosi         => ram_diag_data_buf_10GbE_mosi,
+    ram_diag_data_buf_miso         => ram_diag_data_buf_10GbE_miso
   );
 
 
-  -----------------------------------------------------------------------------
-  -- Interface : Loopback
-  -----------------------------------------------------------------------------
-  gen_loopback : IF c_use_lpbk=TRUE GENERATE
-    dp_offload_rx_snk_in_arr <= dp_offload_tx_src_out_arr;
-    dp_offload_tx_src_in_arr <= (OTHERS=>c_dp_siso_rdy);
-  END GENERATE;
 
   -----------------------------------------------------------------------------
   -- Interface : 1GbE
   -----------------------------------------------------------------------------
   gen_wires_1GbE : IF c_use_1GbE=TRUE GENERATE
-    eth1g_udp_tx_sosi_arr(0)    <= dp_offload_tx_src_out_arr(0);
-    dp_offload_tx_src_in_arr(0) <= eth1g_udp_tx_siso_arr(0);
+    eth1g_udp_tx_sosi_arr(0)         <= dp_offload_tx_1GbE_src_out_arr(0);
+    dp_offload_tx_1GbE_src_in_arr(0) <= eth1g_udp_tx_siso_arr(0);
 
-    dp_offload_rx_snk_in_arr(0) <= eth1g_udp_rx_sosi_arr(0);
-    eth1g_udp_rx_siso_arr(0)    <= dp_offload_rx_snk_out_arr(0);
+    dp_offload_rx_1GbE_snk_in_arr(0) <= eth1g_udp_rx_sosi_arr(0);
+    eth1g_udp_rx_siso_arr(0)         <= dp_offload_rx_1GbE_snk_out_arr(0);
   END GENERATE;
 
   -----------------------------------------------------------------------------
@@ -919,11 +756,11 @@ BEGIN
       dp_rst              => dp_rst,
       dp_clk              => dp_clk,
 
-      src_out_arr         => dp_offload_rx_snk_in_arr(c_nof_streams_eth-1 downto c_nof_streams_1GbE),
-      src_in_arr          => dp_offload_rx_snk_out_arr(c_nof_streams_eth-1 downto c_nof_streams_1GbE),
+      src_out_arr         => dp_offload_rx_10GbE_snk_in_arr,
+      src_in_arr          => dp_offload_rx_10GbE_snk_out_arr,
   
-      snk_out_arr         => dp_offload_tx_src_in_arr(c_nof_streams_eth-1 downto c_nof_streams_1GbE),
-      snk_in_arr          => dp_offload_tx_src_out_arr(c_nof_streams_eth-1 downto c_nof_streams_1GbE),
+      snk_out_arr         => dp_offload_tx_10GbE_src_in_arr,
+      snk_in_arr          => dp_offload_tx_10GbE_src_out_arr,
 
       -- Serial XAUI IO
       xaui_tx_arr         => i_xaui_tx_arr,
@@ -972,97 +809,97 @@ BEGIN
   END GENERATE;
 
 
-  u_reorder: ENTITY reorder_lib.reorder_transpose 
-  GENERIC MAP (
-    g_nof_streams    => c_nof_streams_ddr,
-    g_in_dat_w       => c_data_w,
-    g_ena_pre_transp => FALSE,
-    g_use_complex    => FALSE,
-    g_reorder_seq    => c_reorder_seq_same
-  )
-  PORT MAP (
-    mm_rst                => mm_rst,
-    mm_clk                => mm_clk,
-    dp_clk                => dp_clk,
-    dp_rst                => dp_rst,
-    -- ST sinks from BG
-    snk_out_arr           => block_gen_src_in_arr(c_nof_streams-1 downto c_nof_streams_eth), -- -2
-    snk_in_arr            => block_gen_src_out_arr(c_nof_streams-1 downto c_nof_streams_eth), -- -2
-    -- ST source to DB
-    src_in_arr            => (OTHERS=> c_dp_siso_rdy),
-    src_out_arr           => diag_data_buf_snk_in_arr(c_nof_streams-1 downto c_nof_streams_eth), -- -2
-    -- Memory Mapped 
-    ram_ss_ss_transp_mosi => ram_ss_ss_transp_mosi,
-    ram_ss_ss_transp_miso => ram_ss_ss_transp_miso,
-    -- Control interface to the external memory
-    dvr_mosi              => ddr_ctlr_mosi_arr(0),
-    dvr_miso              => ddr_ctlr_miso_arr(0),
-    -- Data interface to the external memory
-    to_mem_src_out        => to_mem_sosi,
-    to_mem_src_in         => to_mem_siso,
-    from_mem_snk_in       => from_mem_sosi,
-    from_mem_snk_out      => from_mem_siso
-  );
-
-  ------------------------------------------------------------------------------
-  -- DDR3 MODULE 0,1
-  ------------------------------------------------------------------------------
-  no_MB_I : IF g_use_MB_I = 0 GENERATE
-    --reg_ddr3_miso_arr(0)        <= c_mem_miso_rst;
-    --reg_diagnostics_miso_arr(0) <= c_mem_miso_rst;
-  END GENERATE;
-
-  gen_MB_I : IF g_use_MB_I = 1 GENERATE
-    u_mms_ddr3_i: ENTITY io_ddr_lib.io_ddr
-    GENERIC MAP (
-      g_technology       => g_technology,
-      g_tech_ddr         => c_ddr_master,
-      g_wr_data_w        => c_st_dat_w,
-      g_rd_data_w        => c_st_dat_w
-    )
-    PORT MAP (
-      mm_clk             => mm_clk,
-      mm_rst             => mm_rst,
-
-      reg_io_ddr_mosi    => reg_io_ddr_mosi,
-      reg_io_ddr_miso    => reg_io_ddr_miso,
-
-      ctlr_ref_clk       => dp_clk,
-      ctlr_ref_rst       => dp_rst,
-
-      ctlr_clk_out       => ddr_ctlr_clk(0),
-      ctlr_clk_in        => ddr_ctlr_clk(0),
-
-      ctlr_rst_out       => ddr_ctlr_rst(0),
-      ctlr_rst_in        => ddr_ctlr_rst(0),
-
-      dvr_clk            => dp_clk,
-      dvr_rst            => dp_rst,
-
-      dvr_mosi           => ddr_ctlr_mosi_arr(0),
-      dvr_miso           => ddr_ctlr_miso_arr(0),
-
-      wr_clk             => dp_clk,
-      wr_rst             => dp_rst,
-
-      wr_sosi            => to_mem_sosi,
-      wr_siso            => to_mem_siso,
-
-      rd_clk             => dp_clk,
-      rd_rst             => dp_rst,
-
-      rd_sosi            => from_mem_sosi,
-      rd_siso            => from_mem_siso,
-
-      term_ctrl_out      => OPEN,
-      term_ctrl_in       => OPEN,
-
-      phy3_in            => MB_I_IN,
-      phy3_io            => MB_I_IO,
-      phy3_ou            => MB_I_OU
-    );
-  END GENERATE;
-
+--  u_reorder: ENTITY reorder_lib.reorder_transpose 
+--  GENERIC MAP (
+--    g_nof_streams    => c_nof_streams_ddr,
+--    g_in_dat_w       => c_data_w_32,
+--    g_ena_pre_transp => FALSE,
+--    g_use_complex    => FALSE,
+--    g_reorder_seq    => c_reorder_seq_same
+--  )
+--  PORT MAP (
+--    mm_rst                => mm_rst,
+--    mm_clk                => mm_clk,
+--    dp_clk                => dp_clk,
+--    dp_rst                => dp_rst,
+--    -- ST sinks from BG
+--    snk_out_arr           => block_gen_src_in_arr(c_nof_streams-1 downto c_nof_streams_eth), -- -2
+--    snk_in_arr            => block_gen_src_out_arr(c_nof_streams-1 downto c_nof_streams_eth), -- -2
+--    -- ST source to DB
+--    src_in_arr            => (OTHERS=> c_dp_siso_rdy),
+--    src_out_arr           => diag_data_buf_snk_in_arr(c_nof_streams-1 downto c_nof_streams_eth), -- -2
+--    -- Memory Mapped 
+--    ram_ss_ss_transp_mosi => ram_ss_ss_transp_mosi,
+--    ram_ss_ss_transp_miso => ram_ss_ss_transp_miso,
+--    -- Control interface to the external memory
+--    dvr_mosi              => ddr_ctlr_mosi_arr(0),
+--    dvr_miso              => ddr_ctlr_miso_arr(0),
+--    -- Data interface to the external memory
+--    to_mem_src_out        => to_mem_sosi,
+--    to_mem_src_in         => to_mem_siso,
+--    from_mem_snk_in       => from_mem_sosi,
+--    from_mem_snk_out      => from_mem_siso
+--  );
+--
+--  ------------------------------------------------------------------------------
+--  -- DDR3 MODULE 0,1
+--  ------------------------------------------------------------------------------
+--  no_MB_I : IF g_use_MB_I = 0 GENERATE
+--    --reg_ddr3_miso_arr(0)        <= c_mem_miso_rst;
+--    --reg_diagnostics_miso_arr(0) <= c_mem_miso_rst;
+--  END GENERATE;
+--
+--  gen_MB_I : IF g_use_MB_I = 1 GENERATE
+--    u_mms_ddr3_i: ENTITY io_ddr_lib.io_ddr
+--    GENERIC MAP (
+--      g_technology       => g_technology,
+--      g_tech_ddr         => c_ddr_master,
+--      g_wr_data_w        => c_st_dat_w,
+--      g_rd_data_w        => c_st_dat_w
+--    )
+--    PORT MAP (
+--      mm_clk             => mm_clk,
+--      mm_rst             => mm_rst,
+--
+--      reg_io_ddr_mosi    => reg_io_ddr_mosi,
+--      reg_io_ddr_miso    => reg_io_ddr_miso,
+--
+--      ctlr_ref_clk       => dp_clk,
+--      ctlr_ref_rst       => dp_rst,
+--
+--      ctlr_clk_out       => ddr_ctlr_clk(0),
+--      ctlr_clk_in        => ddr_ctlr_clk(0),
+--
+--      ctlr_rst_out       => ddr_ctlr_rst(0),
+--      ctlr_rst_in        => ddr_ctlr_rst(0),
+--
+--      dvr_clk            => dp_clk,
+--      dvr_rst            => dp_rst,
+--
+--      dvr_mosi           => ddr_ctlr_mosi_arr(0),
+--      dvr_miso           => ddr_ctlr_miso_arr(0),
+--
+--      wr_clk             => dp_clk,
+--      wr_rst             => dp_rst,
+--
+--      wr_sosi            => to_mem_sosi,
+--      wr_siso            => to_mem_siso,
+--
+--      rd_clk             => dp_clk,
+--      rd_rst             => dp_rst,
+--
+--      rd_sosi            => from_mem_sosi,
+--      rd_siso            => from_mem_siso,
+--
+--      term_ctrl_out      => OPEN,
+--      term_ctrl_in       => OPEN,
+--
+--      phy3_in            => MB_I_IN,
+--      phy3_io            => MB_I_IO,
+--      phy3_ou            => MB_I_OU
+--    );
+--  END GENERATE;
+--
   -----------------------------------------------------------------------------
   -- Node function
   -----------------------------------------------------------------------------
diff --git a/boards/uniboard1/designs/unb1_test/src/vhdl/unb1_test_pkg.vhd b/boards/uniboard1/designs/unb1_test/src/vhdl/unb1_test_pkg.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..56a21ccbe4b9f24b7479bd80bbc720df060ae499
--- /dev/null
+++ b/boards/uniboard1/designs/unb1_test/src/vhdl/unb1_test_pkg.vhd
@@ -0,0 +1,63 @@
+--------------------------------------------------------------------------------
+--
+-- Copyright (C) 2015
+-- ASTRON (Netherlands Institute for Radio Astronomy) <http://www.astron.nl/>
+-- P.O.Box 2, 7990 AA Dwingeloo, The Netherlands
+--
+-- This program is free software: you can redistribute it and/or modify
+-- it under the terms of the GNU General Public License as published by
+-- the Free Software Foundation, either version 3 of the License, or
+-- (at your option) any later version.
+--
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-- GNU General Public License for more details.
+--
+-- You should have received a copy of the GNU General Public License
+-- along with this program.  If not, see <http://www.gnu.org/licenses/>.
+--
+--------------------------------------------------------------------------------
+
+LIBRARY IEEE, common_lib;
+USE IEEE.STD_LOGIC_1164.ALL;
+USE IEEE.numeric_std.ALL;
+USE common_lib.common_pkg.ALL;
+USE common_lib.common_field_pkg.ALL;
+
+PACKAGE unb1_test_pkg IS
+
+  -- dp_offload_tx
+  CONSTANT c_nof_hdr_fields : NATURAL := 4+12+4+9;  -- Total header bits = 512
+  CONSTANT c_hdr_field_arr  : t_common_field_arr(c_nof_hdr_fields-1 DOWNTO 0) := ( ( field_name_pad("eth_word_align"     ), "  ", 16, field_default(0) ),
+                                                                                   ( field_name_pad("eth_dst_mac"        ), "  ", 48, field_default(0) ),
+                                                                                   ( field_name_pad("eth_src_mac"        ), "  ", 48, field_default(0) ),
+                                                                                   ( field_name_pad("eth_type"           ), "  ", 16, field_default(x"0800") ),
+                                                                                   ( field_name_pad("ip_version"         ), "  ",  4, field_default(4) ),
+                                                                                   ( field_name_pad("ip_header_length"   ), "  ",  4, field_default(5) ),
+                                                                                   ( field_name_pad("ip_services"        ), "  ",  8, field_default(0) ),
+                                                                                   ( field_name_pad("ip_total_length"    ), "  ", 16, field_default(0) ),
+                                                                                   ( field_name_pad("ip_identification"  ), "  ", 16, field_default(0) ),
+                                                                                   ( field_name_pad("ip_flags"           ), "  ",  3, field_default(2) ),
+                                                                                   ( field_name_pad("ip_fragment_offset" ), "  ", 13, field_default(0) ),
+                                                                                   ( field_name_pad("ip_time_to_live"    ), "  ",  8, field_default(127) ),
+                                                                                   ( field_name_pad("ip_protocol"        ), "  ",  8, field_default(17) ),
+                                                                                   ( field_name_pad("ip_header_checksum" ), "  ", 16, field_default(0) ),
+                                                                                   ( field_name_pad("ip_src_addr"        ), "  ", 32, field_default(0) ),
+                                                                                   ( field_name_pad("ip_dst_addr"        ), "  ", 32, field_default(0) ),
+                                                                                   ( field_name_pad("udp_src_port"       ), "  ", 16, field_default(0) ),
+                                                                                   ( field_name_pad("udp_dst_port"       ), "  ", 16, field_default(0) ),
+                                                                                   ( field_name_pad("udp_total_length"   ), "  ", 16, field_default(0) ),
+                                                                                   ( field_name_pad("udp_checksum"       ), "  ", 16, field_default(0) ),
+                                                                                   ( field_name_pad("usr_sync"           ), "  ",  1, field_default(1) ),
+                                                                                   ( field_name_pad("usr_bsn"            ), "  ", 60, field_default(0) ),
+                                                                                   ( field_name_pad("usr_hdr_field_0"    ), "  ",  7, field_default(0) ),
+                                                                                   ( field_name_pad("usr_hdr_field_1"    ), "  ",  9, field_default(0) ),
+                                                                                   ( field_name_pad("usr_hdr_field_2"    ), "  ", 10, field_default(0) ),
+                                                                                   ( field_name_pad("usr_hdr_field_3"    ), "  ", 33, field_default(0) ),
+                                                                                   ( field_name_pad("usr_hdr_field_4"    ), "  ",  5, field_default(0) ),
+                                                                                   ( field_name_pad("usr_hdr_field_5"    ), "  ",  8, field_default(0) ),
+                                                                                   ( field_name_pad("usr_hdr_field_6"    ), "  ", 27, field_default(0) ) );
+
+END unb1_test_pkg;
+
diff --git a/boards/uniboard1/designs/unb1_test/tb/python/tc_unb1_test.py b/boards/uniboard1/designs/unb1_test/tb/python/tc_unb1_test.py
index 4bde6f8ba601a6e6b8f4aa6ca6cdf0db6a017362..ad313e0d7bb8109985a9c74529069b4bd90f7e8b 100644
--- a/boards/uniboard1/designs/unb1_test/tb/python/tc_unb1_test.py
+++ b/boards/uniboard1/designs/unb1_test/tb/python/tc_unb1_test.py
@@ -96,7 +96,7 @@ def test_BG_to_DB(tc,io,cmd):
     tc.set_section_id('Read - ')
     nof_streams=5
     blocksize=0
-    Bg = pi_diag_block_gen.PiDiagBlockGen(tc,io,nofChannels=nof_streams,ramSizePerChannel=blocksize)
+    Bg = pi_diag_block_gen.PiDiagBlockGen(tc,io,nofChannels=nof_streams,ramSizePerChannel=blocksize,instanceName='10GBE')
     Bg.write_disable()
 
     settings = Bg.read_block_gen_settings()
@@ -104,9 +104,9 @@ def test_BG_to_DB(tc,io,cmd):
     gapsize            = settings[0][3]
     blocksize          = pow(2, ceil_log2(samples_per_packet+gapsize))
 
-    Bg = pi_diag_block_gen.PiDiagBlockGen(tc,io,nofChannels=nof_streams, ramSizePerChannel=blocksize)
+    Bg = pi_diag_block_gen.PiDiagBlockGen(tc,io,nofChannels=nof_streams, ramSizePerChannel=blocksize,instanceName='10GBE')
     #Bg.write_block_gen_settings(samplesPerPacket=700, blocksPerSync=781250, gapSize=300, memLowAddr=0, memHighAddr=701, BSNInit=42)
-    Db = pi_diag_data_buffer.PiDiagDataBuffer(tc,io,nofStreams=nof_streams,ramSizePerStream=blocksize)
+    Db = pi_diag_data_buffer.PiDiagDataBuffer(tc,io,nofStreams=nof_streams,ramSizePerStream=blocksize,instanceName='10GBE')
     resetptrn = [0xc1ea1ed1]*blocksize #samples_per_packet + [0]*(blocksize-samples_per_packet)
     for s in tc.gpNumbers:
         Db.overwrite_data_buffer(resetptrn,streamNr=s,vLevel=9)