From 09609accaf94e87138fdbe52d0e7c14c0b8afd12 Mon Sep 17 00:00:00 2001
From: Leon Hiemstra <hiemstra@astron.nl>
Date: Tue, 9 Jun 2015 15:25:36 +0000
Subject: [PATCH] update for 10GbE revision with 1 QSFP

---
 boards/uniboard2/designs/unb2_test/doc/README |   2 +-
 .../unb2_test/quartus/qsys_unb2_test.qsys     | 686 +++---------------
 .../unb2_test_10GbE/unb2_test_10GbE.vhd       |  64 +-
 .../designs/unb2_test/src/vhdl/ddr_stream.vhd |   6 +-
 .../unb2_test/src/vhdl/mmm_unb2_test.vhd      | 305 +++++---
 .../unb2_test/src/vhdl/qsys_unb2_test_pkg.vhd | 649 ++++++++---------
 .../designs/unb2_test/src/vhdl/udp_stream.vhd |  31 +-
 .../designs/unb2_test/src/vhdl/unb2_test.vhd  | 312 ++++++--
 .../unb2_test/src/vhdl/unb2_test_pkg.vhd      |  22 +-
 .../unb2_test/tb/python/tc_unb2_test.py       | 116 ++-
 .../unb2_test/tb/vhdl/tb_unb2_test.vhd        |  46 +-
 11 files changed, 1013 insertions(+), 1226 deletions(-)

diff --git a/boards/uniboard2/designs/unb2_test/doc/README b/boards/uniboard2/designs/unb2_test/doc/README
index d79985a8f1..06127c7872 100644
--- a/boards/uniboard2/designs/unb2_test/doc/README
+++ b/boards/uniboard2/designs/unb2_test/doc/README
@@ -32,7 +32,7 @@ Modelsim instructions:
 
     # while the simulation runs... in another bash session do:
     cd unb2_test/tb/python
-    python tc_unb2_test.py --sim --unb 0 --bn 3 --seq INFO,PPSH,SENSORS 
+    python tc_unb2_test.py --sim --unb 0 --fn 3 --seq INFO,PPSH,SENSORS 
 
     # (sensor results only show up after 1000us of simulation runtime)
 
diff --git a/boards/uniboard2/designs/unb2_test/quartus/qsys_unb2_test.qsys b/boards/uniboard2/designs/unb2_test/quartus/qsys_unb2_test.qsys
index 1e8ae179e9..bf07dfab05 100644
--- a/boards/uniboard2/designs/unb2_test/quartus/qsys_unb2_test.qsys
+++ b/boards/uniboard2/designs/unb2_test/quartus/qsys_unb2_test.qsys
@@ -29,7 +29,7 @@
    {
       datum baseAddress
       {
-         value = "40960";
+         value = "32768";
          type = "String";
       }
    }
@@ -37,7 +37,7 @@
    {
       datum baseAddress
       {
-         value = "53312";
+         value = "704";
          type = "String";
       }
    }
@@ -45,7 +45,7 @@
    {
       datum baseAddress
       {
-         value = "32768";
+         value = "24576";
          type = "String";
       }
    }
@@ -61,7 +61,7 @@
    {
       datum baseAddress
       {
-         value = "36864";
+         value = "28672";
          type = "String";
       }
    }
@@ -69,7 +69,7 @@
    {
       datum baseAddress
       {
-         value = "53248";
+         value = "640";
          type = "String";
       }
    }
@@ -117,7 +117,7 @@
    {
       datum baseAddress
       {
-         value = "53848";
+         value = "1352";
          type = "String";
       }
    }
@@ -162,7 +162,7 @@
    {
       datum baseAddress
       {
-         value = "53840";
+         value = "1344";
          type = "String";
       }
    }
@@ -194,7 +194,7 @@
    {
       datum baseAddress
       {
-         value = "53776";
+         value = "1248";
          type = "String";
       }
    }
@@ -210,7 +210,7 @@
    {
       datum _sortIndex
       {
-         value = "41";
+         value = "35";
          type = "int";
       }
    }
@@ -218,7 +218,7 @@
    {
       datum baseAddress
       {
-         value = "16384";
+         value = "524288";
          type = "String";
       }
    }
@@ -226,7 +226,7 @@
    {
       datum _sortIndex
       {
-         value = "40";
+         value = "34";
          type = "int";
       }
    }
@@ -234,7 +234,7 @@
    {
       datum baseAddress
       {
-         value = "49152";
+         value = "40960";
          type = "String";
       }
    }
@@ -242,7 +242,7 @@
    {
       datum _sortIndex
       {
-         value = "42";
+         value = "36";
          type = "int";
       }
    }
@@ -250,7 +250,7 @@
    {
       datum baseAddress
       {
-         value = "45056";
+         value = "36864";
          type = "String";
       }
    }
@@ -258,7 +258,7 @@
    {
       datum _sortIndex
       {
-         value = "35";
+         value = "29";
          type = "int";
       }
    }
@@ -274,7 +274,7 @@
    {
       datum _sortIndex
       {
-         value = "34";
+         value = "28";
          type = "int";
       }
    }
@@ -290,7 +290,7 @@
    {
       datum _sortIndex
       {
-         value = "36";
+         value = "30";
          type = "int";
       }
    }
@@ -306,7 +306,7 @@
    {
       datum _sortIndex
       {
-         value = "43";
+         value = "37";
          type = "int";
       }
    }
@@ -330,7 +330,7 @@
    {
       datum baseAddress
       {
-         value = "256";
+         value = "16384";
          type = "String";
       }
    }
@@ -346,7 +346,7 @@
    {
       datum baseAddress
       {
-         value = "53440";
+         value = "896";
          type = "String";
       }
    }
@@ -362,7 +362,7 @@
    {
       datum baseAddress
       {
-         value = "53376";
+         value = "832";
          type = "String";
       }
    }
@@ -370,7 +370,7 @@
    {
       datum _sortIndex
       {
-         value = "38";
+         value = "32";
          type = "int";
       }
    }
@@ -378,7 +378,7 @@
    {
       datum baseAddress
       {
-         value = "53536";
+         value = "1056";
          type = "String";
       }
    }
@@ -386,7 +386,7 @@
    {
       datum _sortIndex
       {
-         value = "37";
+         value = "31";
          type = "int";
       }
    }
@@ -394,7 +394,7 @@
    {
       datum baseAddress
       {
-         value = "53632";
+         value = "1120";
          type = "String";
       }
    }
@@ -402,7 +402,7 @@
    {
       datum _sortIndex
       {
-         value = "39";
+         value = "33";
          type = "int";
       }
    }
@@ -410,7 +410,7 @@
    {
       datum baseAddress
       {
-         value = "53600";
+         value = "1088";
          type = "String";
       }
    }
@@ -418,7 +418,7 @@
    {
       datum _sortIndex
       {
-         value = "32";
+         value = "26";
          type = "int";
       }
    }
@@ -426,7 +426,7 @@
    {
       datum baseAddress
       {
-         value = "12416";
+         value = "256";
          type = "String";
       }
    }
@@ -434,7 +434,7 @@
    {
       datum _sortIndex
       {
-         value = "31";
+         value = "25";
          type = "int";
       }
    }
@@ -442,7 +442,7 @@
    {
       datum baseAddress
       {
-         value = "13184";
+         value = "512";
          type = "String";
       }
    }
@@ -450,7 +450,7 @@
    {
       datum _sortIndex
       {
-         value = "33";
+         value = "27";
          type = "int";
       }
    }
@@ -458,7 +458,7 @@
    {
       datum baseAddress
       {
-         value = "13056";
+         value = "384";
          type = "String";
       }
    }
@@ -466,7 +466,7 @@
    {
       datum _sortIndex
       {
-         value = "48";
+         value = "42";
          type = "int";
       }
    }
@@ -482,7 +482,7 @@
    {
       datum _sortIndex
       {
-         value = "46";
+         value = "40";
          type = "int";
       }
    }
@@ -490,7 +490,7 @@
    {
       datum baseAddress
       {
-         value = "53504";
+         value = "1024";
          type = "String";
       }
    }
@@ -498,7 +498,7 @@
    {
       datum _sortIndex
       {
-         value = "50";
+         value = "44";
          type = "int";
       }
    }
@@ -506,7 +506,7 @@
    {
       datum baseAddress
       {
-         value = "12320";
+         value = "992";
          type = "String";
       }
    }
@@ -514,7 +514,7 @@
    {
       datum _sortIndex
       {
-         value = "47";
+         value = "41";
          type = "int";
       }
    }
@@ -522,7 +522,7 @@
    {
       datum baseAddress
       {
-         value = "12352";
+         value = "768";
          type = "String";
       }
    }
@@ -530,7 +530,7 @@
    {
       datum _sortIndex
       {
-         value = "45";
+         value = "39";
          type = "int";
       }
    }
@@ -538,7 +538,7 @@
    {
       datum baseAddress
       {
-         value = "53760";
+         value = "1280";
          type = "String";
       }
    }
@@ -546,7 +546,7 @@
    {
       datum _sortIndex
       {
-         value = "49";
+         value = "43";
          type = "int";
       }
    }
@@ -554,103 +554,7 @@
    {
       datum baseAddress
       {
-         value = "12304";
-         type = "String";
-      }
-   }
-   element reg_dp_offload_rx_10gbe_hdr_dat
-   {
-      datum _sortIndex
-      {
-         value = "30";
-         type = "int";
-      }
-   }
-   element reg_dp_offload_rx_10gbe_hdr_dat.mem
-   {
-      datum baseAddress
-      {
-         value = "1024";
-         type = "String";
-      }
-   }
-   element reg_dp_offload_rx_1gbe_hdr_dat
-   {
-      datum _sortIndex
-      {
-         value = "29";
-         type = "int";
-      }
-   }
-   element reg_dp_offload_rx_1gbe_hdr_dat.mem
-   {
-      datum baseAddress
-      {
-         value = "12544";
-         type = "String";
-      }
-   }
-   element reg_dp_offload_tx_10gbe
-   {
-      datum _sortIndex
-      {
-         value = "26";
-         type = "int";
-      }
-   }
-   element reg_dp_offload_tx_10gbe.mem
-   {
-      datum baseAddress
-      {
-         value = "512";
-         type = "String";
-      }
-   }
-   element reg_dp_offload_tx_10gbe_hdr_dat
-   {
-      datum _sortIndex
-      {
-         value = "28";
-         type = "int";
-      }
-   }
-   element reg_dp_offload_tx_10gbe_hdr_dat.mem
-   {
-      datum baseAddress
-      {
-         value = "13312";
-         type = "String";
-      }
-   }
-   element reg_dp_offload_tx_1gbe
-   {
-      datum _sortIndex
-      {
-         value = "25";
-         type = "int";
-      }
-   }
-   element reg_dp_offload_tx_1gbe.mem
-   {
-      datum baseAddress
-      {
-         value = "12296";
-         type = "String";
-      }
-   }
-   element reg_dp_offload_tx_1gbe_hdr_dat
-   {
-      datum _sortIndex
-      {
-         value = "27";
-         type = "int";
-      }
-   }
-   element reg_dp_offload_tx_1gbe_hdr_dat.mem
-   {
-      datum baseAddress
-      {
-         value = "12800";
+         value = "1264";
          type = "String";
       }
    }
@@ -666,7 +570,7 @@
    {
       datum baseAddress
       {
-         value = "53832";
+         value = "1336";
          type = "String";
       }
    }
@@ -682,7 +586,7 @@
    {
       datum baseAddress
       {
-         value = "53824";
+         value = "1328";
          type = "String";
       }
    }
@@ -698,7 +602,7 @@
    {
       datum baseAddress
       {
-         value = "53664";
+         value = "1152";
          type = "String";
       }
    }
@@ -706,7 +610,7 @@
    {
       datum _sortIndex
       {
-         value = "44";
+         value = "38";
          type = "int";
       }
    }
@@ -714,7 +618,7 @@
    {
       datum baseAddress
       {
-         value = "53792";
+         value = "1296";
          type = "String";
       }
    }
@@ -730,7 +634,7 @@
    {
       datum baseAddress
       {
-         value = "53816";
+         value = "1320";
          type = "String";
       }
    }
@@ -746,7 +650,7 @@
    {
       datum baseAddress
       {
-         value = "53808";
+         value = "1312";
          type = "String";
       }
    }
@@ -762,7 +666,7 @@
    {
       datum baseAddress
       {
-         value = "53696";
+         value = "1184";
          type = "String";
       }
    }
@@ -826,7 +730,7 @@
    {
       datum baseAddress
       {
-         value = "53728";
+         value = "1216";
          type = "String";
       }
    }
@@ -884,7 +788,7 @@
    {
       datum baseAddress
       {
-         value = "53568";
+         value = "960";
          type = "String";
       }
    }
@@ -1937,216 +1841,6 @@
    internal="reg_diag_tx_seq_ddr.writedata"
    type="conduit"
    dir="end" />
- <interface
-   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_dp_offload_rx_10gbe_hdr_dat_clk"
-   internal="reg_dp_offload_rx_10gbe_hdr_dat.clk"
-   type="conduit"
-   dir="end" />
- <interface
-   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_dp_offload_rx_10gbe_hdr_dat_readdata"
-   internal="reg_dp_offload_rx_10gbe_hdr_dat.readdata"
-   type="conduit"
-   dir="end" />
- <interface
-   name="reg_dp_offload_rx_10gbe_hdr_dat_reset"
-   internal="reg_dp_offload_rx_10gbe_hdr_dat.reset"
-   type="conduit"
-   dir="end" />
- <interface
-   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_dp_offload_rx_10gbe_hdr_dat_writedata"
-   internal="reg_dp_offload_rx_10gbe_hdr_dat.writedata"
-   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_clk"
-   internal="reg_dp_offload_rx_1gbe_hdr_dat.clk"
-   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_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_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_tx_10gbe_address"
-   internal="reg_dp_offload_tx_10gbe.address"
-   type="conduit"
-   dir="end" />
- <interface
-   name="reg_dp_offload_tx_10gbe_clk"
-   internal="reg_dp_offload_tx_10gbe.clk"
-   type="conduit"
-   dir="end" />
- <interface
-   name="reg_dp_offload_tx_10gbe_hdr_dat_address"
-   internal="reg_dp_offload_tx_10gbe_hdr_dat.address"
-   type="conduit"
-   dir="end" />
- <interface
-   name="reg_dp_offload_tx_10gbe_hdr_dat_clk"
-   internal="reg_dp_offload_tx_10gbe_hdr_dat.clk"
-   type="conduit"
-   dir="end" />
- <interface
-   name="reg_dp_offload_tx_10gbe_hdr_dat_read"
-   internal="reg_dp_offload_tx_10gbe_hdr_dat.read"
-   type="conduit"
-   dir="end" />
- <interface
-   name="reg_dp_offload_tx_10gbe_hdr_dat_readdata"
-   internal="reg_dp_offload_tx_10gbe_hdr_dat.readdata"
-   type="conduit"
-   dir="end" />
- <interface
-   name="reg_dp_offload_tx_10gbe_hdr_dat_reset"
-   internal="reg_dp_offload_tx_10gbe_hdr_dat.reset"
-   type="conduit"
-   dir="end" />
- <interface
-   name="reg_dp_offload_tx_10gbe_hdr_dat_write"
-   internal="reg_dp_offload_tx_10gbe_hdr_dat.write"
-   type="conduit"
-   dir="end" />
- <interface
-   name="reg_dp_offload_tx_10gbe_hdr_dat_writedata"
-   internal="reg_dp_offload_tx_10gbe_hdr_dat.writedata"
-   type="conduit"
-   dir="end" />
- <interface
-   name="reg_dp_offload_tx_10gbe_read"
-   internal="reg_dp_offload_tx_10gbe.read"
-   type="conduit"
-   dir="end" />
- <interface
-   name="reg_dp_offload_tx_10gbe_readdata"
-   internal="reg_dp_offload_tx_10gbe.readdata"
-   type="conduit"
-   dir="end" />
- <interface
-   name="reg_dp_offload_tx_10gbe_reset"
-   internal="reg_dp_offload_tx_10gbe.reset"
-   type="conduit"
-   dir="end" />
- <interface
-   name="reg_dp_offload_tx_10gbe_write"
-   internal="reg_dp_offload_tx_10gbe.write"
-   type="conduit"
-   dir="end" />
- <interface
-   name="reg_dp_offload_tx_10gbe_writedata"
-   internal="reg_dp_offload_tx_10gbe.writedata"
-   type="conduit"
-   dir="end" />
- <interface
-   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_clk"
-   internal="reg_dp_offload_tx_1gbe.clk"
-   type="conduit"
-   dir="end" />
- <interface
-   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_clk"
-   internal="reg_dp_offload_tx_1gbe_hdr_dat.clk"
-   type="conduit"
-   dir="end" />
- <interface
-   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_readdata"
-   internal="reg_dp_offload_tx_1gbe_hdr_dat.readdata"
-   type="conduit"
-   dir="end" />
- <interface
-   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_write"
-   internal="reg_dp_offload_tx_1gbe_hdr_dat.write"
-   type="conduit"
-   dir="end" />
- <interface
-   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_read"
-   internal="reg_dp_offload_tx_1gbe.read"
-   type="conduit"
-   dir="end" />
- <interface
-   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_reset"
-   internal="reg_dp_offload_tx_1gbe.reset"
-   type="conduit"
-   dir="end" />
- <interface
-   name="reg_dp_offload_tx_1gbe_write"
-   internal="reg_dp_offload_tx_1gbe.write"
-   type="conduit"
-   dir="end" />
- <interface
-   name="reg_dp_offload_tx_1gbe_writedata"
-   internal="reg_dp_offload_tx_1gbe.writedata"
-   type="conduit"
-   dir="end" />
  <interface
    name="reg_dpmm_ctrl_address"
    internal="reg_dpmm_ctrl.address"
@@ -2630,7 +2324,7 @@
   <parameter name="dataAddrWidth" value="23" />
   <parameter name="dataMasterHighPerformanceAddrWidth" value="1" />
   <parameter name="dataMasterHighPerformanceMapParam" value="" />
-  <parameter name="dataSlaveMapParam"><![CDATA[<address-map><slave name='pio_system_info.mem' start='0x0' end='0x80' /><slave name='reg_diag_rx_seq_10gbe.mem' start='0x80' end='0x100' /><slave name='reg_bsn_monitor_10GbE.mem' start='0x100' end='0x200' /><slave name='reg_dp_offload_tx_10gbe.mem' start='0x200' end='0x400' /><slave name='reg_dp_offload_rx_10gbe_hdr_dat.mem' start='0x400' end='0x800' /><slave name='rom_system_info.mem' start='0x1000' end='0x2000' /><slave name='avs_eth_1.mms_tse' start='0x2000' end='0x3000' /><slave name='reg_wdi.mem' start='0x3000' end='0x3008' /><slave name='reg_dp_offload_tx_1gbe.mem' start='0x3008' end='0x3010' /><slave name='reg_diag_tx_seq_ddr.mem' start='0x3010' end='0x3020' /><slave name='reg_diag_rx_seq_ddr.mem' start='0x3020' end='0x3040' /><slave name='reg_diag_tx_seq_10gbe.mem' start='0x3040' end='0x3080' /><slave name='reg_diag_data_buffer_10gbe.mem' start='0x3080' end='0x3100' /><slave name='reg_dp_offload_rx_1gbe_hdr_dat.mem' start='0x3100' end='0x3200' /><slave name='reg_dp_offload_tx_1gbe_hdr_dat.mem' start='0x3200' end='0x3300' /><slave name='reg_diag_data_buffer_ddr.mem' start='0x3300' end='0x3380' /><slave name='reg_diag_data_buffer_1gbe.mem' start='0x3380' end='0x3400' /><slave name='reg_dp_offload_tx_10gbe_hdr_dat.mem' start='0x3400' end='0x3800' /><slave name='cpu_0.debug_mem_slave' start='0x3800' end='0x4000' /><slave name='ram_diag_bg_10gbe.mem' start='0x4000' end='0x8000' /><slave name='avs_eth_0.mms_tse' start='0x8000' end='0x9000' /><slave name='avs_eth_1.mms_ram' start='0x9000' end='0xA000' /><slave name='avs_eth_0.mms_ram' start='0xA000' end='0xB000' /><slave name='ram_diag_bg_ddr.mem' start='0xB000' end='0xC000' /><slave name='ram_diag_bg_1gbe.mem' start='0xC000' end='0xD000' /><slave name='avs_eth_1.mms_reg' start='0xD000' end='0xD040' /><slave name='avs_eth_0.mms_reg' start='0xD040' end='0xD080' /><slave name='reg_bsn_monitor_ddr.mem' start='0xD080' end='0xD0C0' /><slave name='reg_bsn_monitor_1GbE.mem' start='0xD0C0' end='0xD100' /><slave name='reg_diag_rx_seq_1gbe.mem' start='0xD100' end='0xD120' /><slave name='reg_diag_bg_10gbe.mem' start='0xD120' end='0xD140' /><slave name='timer_0.s1' start='0xD140' end='0xD160' /><slave name='reg_diag_bg_ddr.mem' start='0xD160' end='0xD180' /><slave name='reg_diag_bg_1gbe.mem' start='0xD180' end='0xD1A0' /><slave name='reg_epcs.mem' start='0xD1A0' end='0xD1C0' /><slave name='reg_remu.mem' start='0xD1C0' end='0xD1E0' /><slave name='reg_unb_sens.mem' start='0xD1E0' end='0xD200' /><slave name='reg_diag_tx_seq_1gbe.mem' start='0xD200' end='0xD210' /><slave name='pio_wdi.s1' start='0xD210' end='0xD220' /><slave name='reg_io_ddr.mem' start='0xD220' end='0xD230' /><slave name='reg_mmdp_data.mem' start='0xD230' end='0xD238' /><slave name='reg_mmdp_ctrl.mem' start='0xD238' end='0xD240' /><slave name='reg_dpmm_data.mem' start='0xD240' end='0xD248' /><slave name='reg_dpmm_ctrl.mem' start='0xD248' end='0xD250' /><slave name='pio_pps.mem' start='0xD250' end='0xD258' /><slave name='jtag_uart_0.avalon_jtag_slave' start='0xD258' end='0xD260' /><slave name='ram_diag_data_buffer_10gbe.mem' start='0x10000' end='0x20000' /><slave name='onchip_memory2_0.s1' start='0x20000' end='0x40000' /><slave name='ram_ss_ss_wide.mem' start='0x40000' end='0x50000' /><slave name='ram_diag_data_buffer_ddr.mem' start='0x50000' end='0x60000' /><slave name='ram_diag_data_buffer_1gbe.mem' start='0x60000' end='0x70000' /><slave name='reg_tr_10GbE_back1.mem' start='0x100000' end='0x200000' /><slave name='reg_tr_10GbE_qsfp_ring.mem' start='0x200000' end='0x400000' /><slave name='reg_tr_10GbE_back0.mem' start='0x400000' end='0x500000' /></address-map>]]></parameter>
+  <parameter name="dataSlaveMapParam"><![CDATA[<address-map><slave name='pio_system_info.mem' start='0x0' end='0x80' /><slave name='reg_diag_rx_seq_10gbe.mem' start='0x80' end='0x100' /><slave name='reg_diag_data_buffer_10gbe.mem' start='0x100' end='0x180' /><slave name='reg_diag_data_buffer_ddr.mem' start='0x180' end='0x200' /><slave name='reg_diag_data_buffer_1gbe.mem' start='0x200' end='0x280' /><slave name='avs_eth_1.mms_reg' start='0x280' end='0x2C0' /><slave name='avs_eth_0.mms_reg' start='0x2C0' end='0x300' /><slave name='reg_diag_tx_seq_10gbe.mem' start='0x300' end='0x340' /><slave name='reg_bsn_monitor_ddr.mem' start='0x340' end='0x380' /><slave name='reg_bsn_monitor_1GbE.mem' start='0x380' end='0x3C0' /><slave name='timer_0.s1' start='0x3C0' end='0x3E0' /><slave name='reg_diag_rx_seq_ddr.mem' start='0x3E0' end='0x400' /><slave name='reg_diag_rx_seq_1gbe.mem' start='0x400' end='0x420' /><slave name='reg_diag_bg_10gbe.mem' start='0x420' end='0x440' /><slave name='reg_diag_bg_ddr.mem' start='0x440' end='0x460' /><slave name='reg_diag_bg_1gbe.mem' start='0x460' end='0x480' /><slave name='reg_epcs.mem' start='0x480' end='0x4A0' /><slave name='reg_remu.mem' start='0x4A0' end='0x4C0' /><slave name='reg_unb_sens.mem' start='0x4C0' end='0x4E0' /><slave name='pio_wdi.s1' start='0x4E0' end='0x4F0' /><slave name='reg_diag_tx_seq_ddr.mem' start='0x4F0' end='0x500' /><slave name='reg_diag_tx_seq_1gbe.mem' start='0x500' end='0x510' /><slave name='reg_io_ddr.mem' start='0x510' end='0x520' /><slave name='reg_mmdp_data.mem' start='0x520' end='0x528' /><slave name='reg_mmdp_ctrl.mem' start='0x528' end='0x530' /><slave name='reg_dpmm_data.mem' start='0x530' end='0x538' /><slave name='reg_dpmm_ctrl.mem' start='0x538' end='0x540' /><slave name='pio_pps.mem' start='0x540' end='0x548' /><slave name='jtag_uart_0.avalon_jtag_slave' start='0x548' end='0x550' /><slave name='rom_system_info.mem' start='0x1000' end='0x2000' /><slave name='avs_eth_1.mms_tse' start='0x2000' end='0x3000' /><slave name='reg_wdi.mem' start='0x3000' end='0x3008' /><slave name='cpu_0.debug_mem_slave' start='0x3800' end='0x4000' /><slave name='reg_bsn_monitor_10GbE.mem' start='0x4000' end='0x6000' /><slave name='avs_eth_0.mms_tse' start='0x6000' end='0x7000' /><slave name='avs_eth_1.mms_ram' start='0x7000' end='0x8000' /><slave name='avs_eth_0.mms_ram' start='0x8000' end='0x9000' /><slave name='ram_diag_bg_ddr.mem' start='0x9000' end='0xA000' /><slave name='ram_diag_bg_1gbe.mem' start='0xA000' end='0xB000' /><slave name='ram_diag_data_buffer_10gbe.mem' start='0x10000' end='0x20000' /><slave name='onchip_memory2_0.s1' start='0x20000' end='0x40000' /><slave name='ram_ss_ss_wide.mem' start='0x40000' end='0x50000' /><slave name='ram_diag_data_buffer_ddr.mem' start='0x50000' end='0x60000' /><slave name='ram_diag_data_buffer_1gbe.mem' start='0x60000' end='0x70000' /><slave name='ram_diag_bg_10gbe.mem' start='0x80000' end='0x100000' /><slave name='reg_tr_10GbE_back1.mem' start='0x100000' end='0x200000' /><slave name='reg_tr_10GbE_qsfp_ring.mem' start='0x200000' end='0x400000' /><slave name='reg_tr_10GbE_back0.mem' start='0x400000' end='0x500000' /></address-map>]]></parameter>
   <parameter name="data_master_high_performance_paddr_base" value="0" />
   <parameter name="data_master_high_performance_paddr_size" value="0" />
   <parameter name="data_master_paddr_base" value="0" />
@@ -2864,7 +2558,7 @@
    version="1.0"
    enabled="1">
   <parameter name="AUTO_SYSTEM_CLOCK_RATE" value="125000000" />
-  <parameter name="g_adr_w" value="12" />
+  <parameter name="g_adr_w" value="17" />
   <parameter name="g_dat_w" value="32" />
  </module>
  <module
@@ -2919,7 +2613,7 @@
    version="1.0"
    enabled="1">
   <parameter name="AUTO_SYSTEM_CLOCK_RATE" value="125000000" />
-  <parameter name="g_adr_w" value="6" />
+  <parameter name="g_adr_w" value="11" />
   <parameter name="g_dat_w" value="32" />
  </module>
  <module
@@ -3044,60 +2738,6 @@
   <parameter name="g_adr_w" value="2" />
   <parameter name="g_dat_w" value="32" />
  </module>
- <module
-   name="reg_dp_offload_rx_10gbe_hdr_dat"
-   kind="avs_common_mm"
-   version="1.0"
-   enabled="1">
-  <parameter name="AUTO_SYSTEM_CLOCK_RATE" value="125000000" />
-  <parameter name="g_adr_w" value="8" />
-  <parameter name="g_dat_w" value="32" />
- </module>
- <module
-   name="reg_dp_offload_rx_1gbe_hdr_dat"
-   kind="avs_common_mm"
-   version="1.0"
-   enabled="1">
-  <parameter name="AUTO_SYSTEM_CLOCK_RATE" value="125000000" />
-  <parameter name="g_adr_w" value="6" />
-  <parameter name="g_dat_w" value="32" />
- </module>
- <module
-   name="reg_dp_offload_tx_10gbe"
-   kind="avs_common_mm"
-   version="1.0"
-   enabled="1">
-  <parameter name="AUTO_SYSTEM_CLOCK_RATE" value="125000000" />
-  <parameter name="g_adr_w" value="7" />
-  <parameter name="g_dat_w" value="32" />
- </module>
- <module
-   name="reg_dp_offload_tx_10gbe_hdr_dat"
-   kind="avs_common_mm"
-   version="1.0"
-   enabled="1">
-  <parameter name="AUTO_SYSTEM_CLOCK_RATE" value="125000000" />
-  <parameter name="g_adr_w" value="8" />
-  <parameter name="g_dat_w" value="32" />
- </module>
- <module
-   name="reg_dp_offload_tx_1gbe"
-   kind="avs_common_mm"
-   version="1.0"
-   enabled="1">
-  <parameter name="AUTO_SYSTEM_CLOCK_RATE" value="125000000" />
-  <parameter name="g_adr_w" value="1" />
-  <parameter name="g_dat_w" value="32" />
- </module>
- <module
-   name="reg_dp_offload_tx_1gbe_hdr_dat"
-   kind="avs_common_mm"
-   version="1.0"
-   enabled="1">
-  <parameter name="AUTO_SYSTEM_CLOCK_RATE" value="125000000" />
-  <parameter name="g_adr_w" value="6" />
-  <parameter name="g_dat_w" value="32" />
- </module>
  <module name="reg_dpmm_ctrl" kind="avs_common_mm" version="1.0" enabled="1">
   <parameter name="AUTO_SYSTEM_CLOCK_RATE" value="125000000" />
   <parameter name="g_adr_w" value="1" />
@@ -3193,7 +2833,7 @@
    start="cpu_0.data_master"
    end="jtag_uart_0.avalon_jtag_slave">
   <parameter name="arbitrationPriority" value="1" />
-  <parameter name="baseAddress" value="0xd258" />
+  <parameter name="baseAddress" value="0x0548" />
   <parameter name="defaultConnection" value="false" />
  </connection>
  <connection
@@ -3211,7 +2851,7 @@
    start="cpu_0.data_master"
    end="reg_unb_sens.mem">
   <parameter name="arbitrationPriority" value="1" />
-  <parameter name="baseAddress" value="0xd1e0" />
+  <parameter name="baseAddress" value="0x04c0" />
   <parameter name="defaultConnection" value="false" />
  </connection>
  <connection
@@ -3238,7 +2878,7 @@
    start="cpu_0.data_master"
    end="pio_pps.mem">
   <parameter name="arbitrationPriority" value="1" />
-  <parameter name="baseAddress" value="0xd250" />
+  <parameter name="baseAddress" value="0x0540" />
   <parameter name="defaultConnection" value="false" />
  </connection>
  <connection
@@ -3256,7 +2896,7 @@
    start="cpu_0.data_master"
    end="reg_remu.mem">
   <parameter name="arbitrationPriority" value="1" />
-  <parameter name="baseAddress" value="0xd1c0" />
+  <parameter name="baseAddress" value="0x04a0" />
   <parameter name="defaultConnection" value="false" />
  </connection>
  <connection
@@ -3265,7 +2905,7 @@
    start="cpu_0.data_master"
    end="reg_epcs.mem">
   <parameter name="arbitrationPriority" value="1" />
-  <parameter name="baseAddress" value="0xd1a0" />
+  <parameter name="baseAddress" value="0x0480" />
   <parameter name="defaultConnection" value="false" />
  </connection>
  <connection
@@ -3274,7 +2914,7 @@
    start="cpu_0.data_master"
    end="reg_dpmm_ctrl.mem">
   <parameter name="arbitrationPriority" value="1" />
-  <parameter name="baseAddress" value="0xd248" />
+  <parameter name="baseAddress" value="0x0538" />
   <parameter name="defaultConnection" value="false" />
  </connection>
  <connection
@@ -3283,7 +2923,7 @@
    start="cpu_0.data_master"
    end="reg_dpmm_data.mem">
   <parameter name="arbitrationPriority" value="1" />
-  <parameter name="baseAddress" value="0xd240" />
+  <parameter name="baseAddress" value="0x0530" />
   <parameter name="defaultConnection" value="false" />
  </connection>
  <connection
@@ -3292,7 +2932,7 @@
    start="cpu_0.data_master"
    end="reg_mmdp_ctrl.mem">
   <parameter name="arbitrationPriority" value="1" />
-  <parameter name="baseAddress" value="0xd238" />
+  <parameter name="baseAddress" value="0x0528" />
   <parameter name="defaultConnection" value="false" />
  </connection>
  <connection
@@ -3301,7 +2941,7 @@
    start="cpu_0.data_master"
    end="reg_mmdp_data.mem">
   <parameter name="arbitrationPriority" value="1" />
-  <parameter name="baseAddress" value="0xd230" />
+  <parameter name="baseAddress" value="0x0520" />
   <parameter name="defaultConnection" value="false" />
  </connection>
  <connection
@@ -3319,34 +2959,7 @@
    start="cpu_0.data_master"
    end="reg_bsn_monitor_1GbE.mem">
   <parameter name="arbitrationPriority" value="1" />
-  <parameter name="baseAddress" value="0xd0c0" />
-  <parameter name="defaultConnection" value="false" />
- </connection>
- <connection
-   kind="avalon"
-   version="15.0"
-   start="cpu_0.data_master"
-   end="reg_dp_offload_tx_1gbe.mem">
-  <parameter name="arbitrationPriority" value="1" />
-  <parameter name="baseAddress" value="0x3008" />
-  <parameter name="defaultConnection" value="false" />
- </connection>
- <connection
-   kind="avalon"
-   version="15.0"
-   start="cpu_0.data_master"
-   end="reg_dp_offload_tx_1gbe_hdr_dat.mem">
-  <parameter name="arbitrationPriority" value="1" />
-  <parameter name="baseAddress" value="0x3200" />
-  <parameter name="defaultConnection" value="false" />
- </connection>
- <connection
-   kind="avalon"
-   version="15.0"
-   start="cpu_0.data_master"
-   end="reg_dp_offload_rx_1gbe_hdr_dat.mem">
-  <parameter name="arbitrationPriority" value="1" />
-  <parameter name="baseAddress" value="0x3100" />
+  <parameter name="baseAddress" value="0x0380" />
   <parameter name="defaultConnection" value="false" />
  </connection>
  <connection
@@ -3355,7 +2968,7 @@
    start="cpu_0.data_master"
    end="reg_diag_data_buffer_1gbe.mem">
   <parameter name="arbitrationPriority" value="1" />
-  <parameter name="baseAddress" value="0x3380" />
+  <parameter name="baseAddress" value="0x0200" />
   <parameter name="defaultConnection" value="false" />
  </connection>
  <connection
@@ -3373,7 +2986,7 @@
    start="cpu_0.data_master"
    end="reg_diag_bg_1gbe.mem">
   <parameter name="arbitrationPriority" value="1" />
-  <parameter name="baseAddress" value="0xd180" />
+  <parameter name="baseAddress" value="0x0460" />
   <parameter name="defaultConnection" value="false" />
  </connection>
  <connection
@@ -3382,7 +2995,7 @@
    start="cpu_0.data_master"
    end="ram_diag_bg_1gbe.mem">
   <parameter name="arbitrationPriority" value="1" />
-  <parameter name="baseAddress" value="0xc000" />
+  <parameter name="baseAddress" value="0xa000" />
   <parameter name="defaultConnection" value="false" />
  </connection>
  <connection
@@ -3409,7 +3022,7 @@
    start="cpu_0.data_master"
    end="reg_bsn_monitor_ddr.mem">
   <parameter name="arbitrationPriority" value="1" />
-  <parameter name="baseAddress" value="0xd080" />
+  <parameter name="baseAddress" value="0x0340" />
   <parameter name="defaultConnection" value="false" />
  </connection>
  <connection
@@ -3418,7 +3031,7 @@
    start="cpu_0.data_master"
    end="reg_diag_bg_ddr.mem">
   <parameter name="arbitrationPriority" value="1" />
-  <parameter name="baseAddress" value="0xd160" />
+  <parameter name="baseAddress" value="0x0440" />
   <parameter name="defaultConnection" value="false" />
  </connection>
  <connection
@@ -3427,7 +3040,7 @@
    start="cpu_0.data_master"
    end="ram_diag_bg_ddr.mem">
   <parameter name="arbitrationPriority" value="1" />
-  <parameter name="baseAddress" value="0xb000" />
+  <parameter name="baseAddress" value="0x9000" />
   <parameter name="defaultConnection" value="false" />
  </connection>
  <connection
@@ -3436,7 +3049,7 @@
    start="cpu_0.data_master"
    end="reg_diag_data_buffer_ddr.mem">
   <parameter name="arbitrationPriority" value="1" />
-  <parameter name="baseAddress" value="0x3300" />
+  <parameter name="baseAddress" value="0x0180" />
   <parameter name="defaultConnection" value="false" />
  </connection>
  <connection
@@ -3463,7 +3076,7 @@
    start="cpu_0.data_master"
    end="reg_io_ddr.mem">
   <parameter name="arbitrationPriority" value="1" />
-  <parameter name="baseAddress" value="0xd220" />
+  <parameter name="baseAddress" value="0x0510" />
   <parameter name="defaultConnection" value="false" />
  </connection>
  <connection
@@ -3472,34 +3085,7 @@
    start="cpu_0.data_master"
    end="reg_bsn_monitor_10GbE.mem">
   <parameter name="arbitrationPriority" value="1" />
-  <parameter name="baseAddress" value="0x0100" />
-  <parameter name="defaultConnection" value="false" />
- </connection>
- <connection
-   kind="avalon"
-   version="15.0"
-   start="cpu_0.data_master"
-   end="reg_dp_offload_tx_10gbe.mem">
-  <parameter name="arbitrationPriority" value="1" />
-  <parameter name="baseAddress" value="0x0200" />
-  <parameter name="defaultConnection" value="false" />
- </connection>
- <connection
-   kind="avalon"
-   version="15.0"
-   start="cpu_0.data_master"
-   end="reg_dp_offload_tx_10gbe_hdr_dat.mem">
-  <parameter name="arbitrationPriority" value="1" />
-  <parameter name="baseAddress" value="0x3400" />
-  <parameter name="defaultConnection" value="false" />
- </connection>
- <connection
-   kind="avalon"
-   version="15.0"
-   start="cpu_0.data_master"
-   end="reg_dp_offload_rx_10gbe_hdr_dat.mem">
-  <parameter name="arbitrationPriority" value="1" />
-  <parameter name="baseAddress" value="0x0400" />
+  <parameter name="baseAddress" value="0x4000" />
   <parameter name="defaultConnection" value="false" />
  </connection>
  <connection
@@ -3508,7 +3094,7 @@
    start="cpu_0.data_master"
    end="reg_diag_data_buffer_10gbe.mem">
   <parameter name="arbitrationPriority" value="1" />
-  <parameter name="baseAddress" value="0x3080" />
+  <parameter name="baseAddress" value="0x0100" />
   <parameter name="defaultConnection" value="false" />
  </connection>
  <connection
@@ -3526,7 +3112,7 @@
    start="cpu_0.data_master"
    end="reg_diag_bg_10gbe.mem">
   <parameter name="arbitrationPriority" value="1" />
-  <parameter name="baseAddress" value="0xd120" />
+  <parameter name="baseAddress" value="0x0420" />
   <parameter name="defaultConnection" value="false" />
  </connection>
  <connection
@@ -3535,7 +3121,7 @@
    start="cpu_0.data_master"
    end="ram_diag_bg_10gbe.mem">
   <parameter name="arbitrationPriority" value="1" />
-  <parameter name="baseAddress" value="0x4000" />
+  <parameter name="baseAddress" value="0x00080000" />
   <parameter name="defaultConnection" value="false" />
  </connection>
  <connection
@@ -3544,7 +3130,7 @@
    start="cpu_0.data_master"
    end="reg_diag_tx_seq_1gbe.mem">
   <parameter name="arbitrationPriority" value="1" />
-  <parameter name="baseAddress" value="0xd200" />
+  <parameter name="baseAddress" value="0x0500" />
   <parameter name="defaultConnection" value="false" />
  </connection>
  <connection
@@ -3553,7 +3139,7 @@
    start="cpu_0.data_master"
    end="reg_diag_rx_seq_1gbe.mem">
   <parameter name="arbitrationPriority" value="1" />
-  <parameter name="baseAddress" value="0xd100" />
+  <parameter name="baseAddress" value="0x0400" />
   <parameter name="defaultConnection" value="false" />
  </connection>
  <connection
@@ -3562,7 +3148,7 @@
    start="cpu_0.data_master"
    end="reg_diag_tx_seq_10gbe.mem">
   <parameter name="arbitrationPriority" value="1" />
-  <parameter name="baseAddress" value="0x3040" />
+  <parameter name="baseAddress" value="0x0300" />
   <parameter name="defaultConnection" value="false" />
  </connection>
  <connection
@@ -3580,7 +3166,7 @@
    start="cpu_0.data_master"
    end="reg_diag_tx_seq_ddr.mem">
   <parameter name="arbitrationPriority" value="1" />
-  <parameter name="baseAddress" value="0x3010" />
+  <parameter name="baseAddress" value="0x04f0" />
   <parameter name="defaultConnection" value="false" />
  </connection>
  <connection
@@ -3589,7 +3175,7 @@
    start="cpu_0.data_master"
    end="reg_diag_rx_seq_ddr.mem">
   <parameter name="arbitrationPriority" value="1" />
-  <parameter name="baseAddress" value="0x3020" />
+  <parameter name="baseAddress" value="0x03e0" />
   <parameter name="defaultConnection" value="false" />
  </connection>
  <connection
@@ -3598,7 +3184,7 @@
    start="cpu_0.data_master"
    end="avs_eth_0.mms_ram">
   <parameter name="arbitrationPriority" value="1" />
-  <parameter name="baseAddress" value="0xa000" />
+  <parameter name="baseAddress" value="0x8000" />
   <parameter name="defaultConnection" value="false" />
  </connection>
  <connection
@@ -3607,7 +3193,7 @@
    start="cpu_0.data_master"
    end="avs_eth_1.mms_ram">
   <parameter name="arbitrationPriority" value="1" />
-  <parameter name="baseAddress" value="0x9000" />
+  <parameter name="baseAddress" value="0x7000" />
   <parameter name="defaultConnection" value="false" />
  </connection>
  <connection
@@ -3616,7 +3202,7 @@
    start="cpu_0.data_master"
    end="avs_eth_0.mms_reg">
   <parameter name="arbitrationPriority" value="1" />
-  <parameter name="baseAddress" value="0xd040" />
+  <parameter name="baseAddress" value="0x02c0" />
   <parameter name="defaultConnection" value="false" />
  </connection>
  <connection
@@ -3625,7 +3211,7 @@
    start="cpu_0.data_master"
    end="avs_eth_1.mms_reg">
   <parameter name="arbitrationPriority" value="1" />
-  <parameter name="baseAddress" value="0xd000" />
+  <parameter name="baseAddress" value="0x0280" />
   <parameter name="defaultConnection" value="false" />
  </connection>
  <connection
@@ -3634,7 +3220,7 @@
    start="cpu_0.data_master"
    end="avs_eth_0.mms_tse">
   <parameter name="arbitrationPriority" value="1" />
-  <parameter name="baseAddress" value="0x8000" />
+  <parameter name="baseAddress" value="0x6000" />
   <parameter name="defaultConnection" value="false" />
  </connection>
  <connection
@@ -3661,7 +3247,7 @@
    start="cpu_0.data_master"
    end="pio_wdi.s1">
   <parameter name="arbitrationPriority" value="1" />
-  <parameter name="baseAddress" value="0xd210" />
+  <parameter name="baseAddress" value="0x04e0" />
   <parameter name="defaultConnection" value="false" />
  </connection>
  <connection
@@ -3670,7 +3256,7 @@
    start="cpu_0.data_master"
    end="timer_0.s1">
   <parameter name="arbitrationPriority" value="1" />
-  <parameter name="baseAddress" value="0xd140" />
+  <parameter name="baseAddress" value="0x03c0" />
   <parameter name="defaultConnection" value="false" />
  </connection>
  <connection
@@ -3751,21 +3337,6 @@
    version="15.0"
    start="clk_0.clk"
    end="reg_bsn_monitor_1GbE.system" />
- <connection
-   kind="clock"
-   version="15.0"
-   start="clk_0.clk"
-   end="reg_dp_offload_tx_1gbe.system" />
- <connection
-   kind="clock"
-   version="15.0"
-   start="clk_0.clk"
-   end="reg_dp_offload_tx_1gbe_hdr_dat.system" />
- <connection
-   kind="clock"
-   version="15.0"
-   start="clk_0.clk"
-   end="reg_dp_offload_rx_1gbe_hdr_dat.system" />
  <connection
    kind="clock"
    version="15.0"
@@ -3832,21 +3403,6 @@
    version="15.0"
    start="clk_0.clk"
    end="reg_bsn_monitor_10GbE.system" />
- <connection
-   kind="clock"
-   version="15.0"
-   start="clk_0.clk"
-   end="reg_dp_offload_tx_10gbe.system" />
- <connection
-   kind="clock"
-   version="15.0"
-   start="clk_0.clk"
-   end="reg_dp_offload_tx_10gbe_hdr_dat.system" />
- <connection
-   kind="clock"
-   version="15.0"
-   start="clk_0.clk"
-   end="reg_dp_offload_rx_10gbe_hdr_dat.system" />
  <connection
    kind="clock"
    version="15.0"
@@ -4017,21 +3573,6 @@
    version="15.0"
    start="clk_0.clk_reset"
    end="reg_bsn_monitor_1GbE.system_reset" />
- <connection
-   kind="reset"
-   version="15.0"
-   start="clk_0.clk_reset"
-   end="reg_dp_offload_tx_1gbe.system_reset" />
- <connection
-   kind="reset"
-   version="15.0"
-   start="clk_0.clk_reset"
-   end="reg_dp_offload_tx_1gbe_hdr_dat.system_reset" />
- <connection
-   kind="reset"
-   version="15.0"
-   start="clk_0.clk_reset"
-   end="reg_dp_offload_rx_1gbe_hdr_dat.system_reset" />
  <connection
    kind="reset"
    version="15.0"
@@ -4102,21 +3643,6 @@
    version="15.0"
    start="clk_0.clk_reset"
    end="reg_bsn_monitor_10GbE.system_reset" />
- <connection
-   kind="reset"
-   version="15.0"
-   start="clk_0.clk_reset"
-   end="reg_dp_offload_tx_10gbe.system_reset" />
- <connection
-   kind="reset"
-   version="15.0"
-   start="clk_0.clk_reset"
-   end="reg_dp_offload_tx_10gbe_hdr_dat.system_reset" />
- <connection
-   kind="reset"
-   version="15.0"
-   start="clk_0.clk_reset"
-   end="reg_dp_offload_rx_10gbe_hdr_dat.system_reset" />
  <connection
    kind="reset"
    version="15.0"
@@ -4267,21 +3793,6 @@
    version="15.0"
    start="cpu_0.debug_reset_request"
    end="reg_bsn_monitor_1GbE.system_reset" />
- <connection
-   kind="reset"
-   version="15.0"
-   start="cpu_0.debug_reset_request"
-   end="reg_dp_offload_tx_1gbe.system_reset" />
- <connection
-   kind="reset"
-   version="15.0"
-   start="cpu_0.debug_reset_request"
-   end="reg_dp_offload_tx_1gbe_hdr_dat.system_reset" />
- <connection
-   kind="reset"
-   version="15.0"
-   start="cpu_0.debug_reset_request"
-   end="reg_dp_offload_rx_1gbe_hdr_dat.system_reset" />
  <connection
    kind="reset"
    version="15.0"
@@ -4352,21 +3863,6 @@
    version="15.0"
    start="cpu_0.debug_reset_request"
    end="reg_bsn_monitor_10GbE.system_reset" />
- <connection
-   kind="reset"
-   version="15.0"
-   start="cpu_0.debug_reset_request"
-   end="reg_dp_offload_tx_10gbe.system_reset" />
- <connection
-   kind="reset"
-   version="15.0"
-   start="cpu_0.debug_reset_request"
-   end="reg_dp_offload_tx_10gbe_hdr_dat.system_reset" />
- <connection
-   kind="reset"
-   version="15.0"
-   start="cpu_0.debug_reset_request"
-   end="reg_dp_offload_rx_10gbe_hdr_dat.system_reset" />
  <connection
    kind="reset"
    version="15.0"
diff --git a/boards/uniboard2/designs/unb2_test/revisions/unb2_test_10GbE/unb2_test_10GbE.vhd b/boards/uniboard2/designs/unb2_test/revisions/unb2_test_10GbE/unb2_test_10GbE.vhd
index 606d305ddf..3fbb1540fd 100644
--- a/boards/uniboard2/designs/unb2_test/revisions/unb2_test_10GbE/unb2_test_10GbE.vhd
+++ b/boards/uniboard2/designs/unb2_test/revisions/unb2_test_10GbE/unb2_test_10GbE.vhd
@@ -67,17 +67,17 @@ ENTITY unb2_test_10GbE IS
     BCK_REF_CLK  : IN    STD_LOGIC; -- Clock 10GbE back lower 24 lines
 
     -- back transceivers
-    BCK_RX       : IN    STD_LOGIC_VECTOR((c_unb2_board_tr_back.bus_w * c_unb2_board_tr_back.nof_bus)-1 downto 0);
-    BCK_TX       : OUT   STD_LOGIC_VECTOR((c_unb2_board_tr_back.bus_w * c_unb2_board_tr_back.nof_bus)-1 downto 0);
+    --BCK_RX       : IN    STD_LOGIC_VECTOR((c_unb2_board_tr_back.bus_w * c_unb2_board_tr_back.nof_bus)-1 downto 0);
+    --BCK_TX       : OUT   STD_LOGIC_VECTOR((c_unb2_board_tr_back.bus_w * c_unb2_board_tr_back.nof_bus)-1 downto 0);
     BCK_SDA      : INOUT STD_LOGIC_VECTOR(c_unb2_board_tr_back.i2c_w-1 downto 0);
     BCK_SCL      : INOUT STD_LOGIC_VECTOR(c_unb2_board_tr_back.i2c_w-1 downto 0);
     BCK_ERR      : INOUT STD_LOGIC_VECTOR(c_unb2_board_tr_back.i2c_w-1 downto 0);
 
     -- ring transceivers
-    RING_0_RX    : IN    STD_LOGIC_VECTOR(c_unb2_board_tr_ring.bus_w-1 downto 0);
-    RING_0_TX    : OUT   STD_LOGIC_VECTOR(c_unb2_board_tr_ring.bus_w-1 downto 0);
-    RING_1_RX    : IN    STD_LOGIC_VECTOR(c_unb2_board_tr_ring.bus_w-1 downto 0);
-    RING_1_TX    : OUT   STD_LOGIC_VECTOR(c_unb2_board_tr_ring.bus_w-1 downto 0);
+    --RING_0_RX    : IN    STD_LOGIC_VECTOR(c_unb2_board_tr_ring.bus_w-1 downto 0);
+    --RING_0_TX    : OUT   STD_LOGIC_VECTOR(c_unb2_board_tr_ring.bus_w-1 downto 0);
+    --RING_1_RX    : IN    STD_LOGIC_VECTOR(c_unb2_board_tr_ring.bus_w-1 downto 0);
+    --RING_1_TX    : OUT   STD_LOGIC_VECTOR(c_unb2_board_tr_ring.bus_w-1 downto 0);
     -- pmbus
     PMBUS_SC     : INOUT STD_LOGIC;
     PMBUS_SD     : INOUT STD_LOGIC;
@@ -85,16 +85,16 @@ ENTITY unb2_test_10GbE IS
     -- front transceivers
     QSFP_0_RX    : IN    STD_LOGIC_VECTOR(c_unb2_board_tr_qsfp.bus_w-1 downto 0);
     QSFP_0_TX    : OUT   STD_LOGIC_VECTOR(c_unb2_board_tr_qsfp.bus_w-1 downto 0);
-    QSFP_1_RX    : IN    STD_LOGIC_VECTOR(c_unb2_board_tr_qsfp.bus_w-1 downto 0);
-    QSFP_1_TX    : OUT   STD_LOGIC_VECTOR(c_unb2_board_tr_qsfp.bus_w-1 downto 0);
-    QSFP_2_RX    : IN    STD_LOGIC_VECTOR(c_unb2_board_tr_qsfp.bus_w-1 downto 0);
-    QSFP_2_TX    : OUT   STD_LOGIC_VECTOR(c_unb2_board_tr_qsfp.bus_w-1 downto 0);
-    QSFP_3_RX    : IN    STD_LOGIC_VECTOR(c_unb2_board_tr_qsfp.bus_w-1 downto 0);
-    QSFP_3_TX    : OUT   STD_LOGIC_VECTOR(c_unb2_board_tr_qsfp.bus_w-1 downto 0);
-    QSFP_4_RX    : IN    STD_LOGIC_VECTOR(c_unb2_board_tr_qsfp.bus_w-1 downto 0);
-    QSFP_4_TX    : OUT   STD_LOGIC_VECTOR(c_unb2_board_tr_qsfp.bus_w-1 downto 0);
-    QSFP_5_RX    : IN    STD_LOGIC_VECTOR(c_unb2_board_tr_qsfp.bus_w-1 downto 0);
-    QSFP_5_TX    : OUT   STD_LOGIC_VECTOR(c_unb2_board_tr_qsfp.bus_w-1 downto 0);
+    --QSFP_1_RX    : IN    STD_LOGIC_VECTOR(c_unb2_board_tr_qsfp.bus_w-1 downto 0);
+    --QSFP_1_TX    : OUT   STD_LOGIC_VECTOR(c_unb2_board_tr_qsfp.bus_w-1 downto 0);
+    --QSFP_2_RX    : IN    STD_LOGIC_VECTOR(c_unb2_board_tr_qsfp.bus_w-1 downto 0);
+    --QSFP_2_TX    : OUT   STD_LOGIC_VECTOR(c_unb2_board_tr_qsfp.bus_w-1 downto 0);
+    --QSFP_3_RX    : IN    STD_LOGIC_VECTOR(c_unb2_board_tr_qsfp.bus_w-1 downto 0);
+    --QSFP_3_TX    : OUT   STD_LOGIC_VECTOR(c_unb2_board_tr_qsfp.bus_w-1 downto 0);
+    --QSFP_4_RX    : IN    STD_LOGIC_VECTOR(c_unb2_board_tr_qsfp.bus_w-1 downto 0);
+    --QSFP_4_TX    : OUT   STD_LOGIC_VECTOR(c_unb2_board_tr_qsfp.bus_w-1 downto 0);
+    --QSFP_5_RX    : IN    STD_LOGIC_VECTOR(c_unb2_board_tr_qsfp.bus_w-1 downto 0);
+    --QSFP_5_TX    : OUT   STD_LOGIC_VECTOR(c_unb2_board_tr_qsfp.bus_w-1 downto 0);
 
     QSFP_SDA     : INOUT STD_LOGIC_VECTOR(c_unb2_board_tr_qsfp.i2c_w-1 downto 0);
     QSFP_SCL     : INOUT STD_LOGIC_VECTOR(c_unb2_board_tr_qsfp.i2c_w-1 downto 0);
@@ -146,17 +146,17 @@ BEGIN
     BCK_REF_CLK  => BCK_REF_CLK,
 
     -- back transceivers
-    BCK_RX       => BCK_RX,
-    BCK_TX       => BCK_TX,
+    --BCK_RX       => BCK_RX,
+    --BCK_TX       => BCK_TX,
     BCK_SDA      => BCK_SDA,
     BCK_SCL      => BCK_SCL,
     BCK_ERR      => BCK_ERR,
 
     -- ring transceivers
-    RING_0_RX    => RING_0_RX,
-    RING_0_TX    => RING_0_TX,
-    RING_1_RX    => RING_1_RX,
-    RING_1_TX    => RING_1_TX,
+    --RING_0_RX    => RING_0_RX,
+    --RING_0_TX    => RING_0_TX,
+    --RING_1_RX    => RING_1_RX,
+    --RING_1_TX    => RING_1_TX,
     -- pmbus
     PMBUS_SC     => PMBUS_SC,
     PMBUS_SD     => PMBUS_SD,
@@ -164,16 +164,16 @@ BEGIN
     -- front transceivers
     QSFP_0_RX    => QSFP_0_RX,
     QSFP_0_TX    => QSFP_0_TX,
-    QSFP_1_RX    => QSFP_1_RX,
-    QSFP_1_TX    => QSFP_1_TX,
-    QSFP_2_RX    => QSFP_2_RX,
-    QSFP_2_TX    => QSFP_2_TX,
-    QSFP_3_RX    => QSFP_3_RX,
-    QSFP_3_TX    => QSFP_3_TX,
-    QSFP_4_RX    => QSFP_4_RX,
-    QSFP_4_TX    => QSFP_4_TX,
-    QSFP_5_RX    => QSFP_5_RX,
-    QSFP_5_TX    => QSFP_5_TX,
+    --QSFP_1_RX    => QSFP_1_RX,
+    --QSFP_1_TX    => QSFP_1_TX,
+    --QSFP_2_RX    => QSFP_2_RX,
+    --QSFP_2_TX    => QSFP_2_TX,
+    --QSFP_3_RX    => QSFP_3_RX,
+    --QSFP_3_TX    => QSFP_3_TX,
+    --QSFP_4_RX    => QSFP_4_RX,
+    --QSFP_4_TX    => QSFP_4_TX,
+    --QSFP_5_RX    => QSFP_5_RX,
+    --QSFP_5_TX    => QSFP_5_TX,
 
     QSFP_SDA     => QSFP_SDA,
     QSFP_SCL     => QSFP_SCL,
diff --git a/boards/uniboard2/designs/unb2_test/src/vhdl/ddr_stream.vhd b/boards/uniboard2/designs/unb2_test/src/vhdl/ddr_stream.vhd
index 6db8ed5adf..93bb8470fb 100644
--- a/boards/uniboard2/designs/unb2_test/src/vhdl/ddr_stream.vhd
+++ b/boards/uniboard2/designs/unb2_test/src/vhdl/ddr_stream.vhd
@@ -70,7 +70,7 @@ ENTITY ddr_stream IS
     reg_diag_tx_seq_miso        : OUT t_mem_miso;
 
     -- bsn
-    reg_bsn_monitor_mosi        : IN  t_mem_mosi;
+    reg_bsn_monitor_mosi        : IN  t_mem_mosi := c_mem_mosi_rst;
     reg_bsn_monitor_miso        : OUT t_mem_miso;
 
     -- databuffer
@@ -82,11 +82,11 @@ ENTITY ddr_stream IS
     reg_diag_rx_seq_miso        : OUT t_mem_miso;
 
     -- IO DDR register map      
-    reg_io_ddr_mosi             : IN  t_mem_mosi;
+    reg_io_ddr_mosi             : IN  t_mem_mosi := c_mem_mosi_rst;
     reg_io_ddr_miso             : OUT t_mem_miso;
 
     -- Reorder transpose        
-    ram_ss_ss_transp_mosi       : IN  t_mem_mosi;
+    ram_ss_ss_transp_mosi       : IN  t_mem_mosi := c_mem_mosi_rst;
     ram_ss_ss_transp_miso       : OUT t_mem_miso;
 
     -- SO-DIMM Memory Bank I
diff --git a/boards/uniboard2/designs/unb2_test/src/vhdl/mmm_unb2_test.vhd b/boards/uniboard2/designs/unb2_test/src/vhdl/mmm_unb2_test.vhd
index 75b9c2f3d0..581946496b 100644
--- a/boards/uniboard2/designs/unb2_test/src/vhdl/mmm_unb2_test.vhd
+++ b/boards/uniboard2/designs/unb2_test/src/vhdl/mmm_unb2_test.vhd
@@ -130,6 +130,13 @@ ENTITY mmm_unb2_test IS
     reg_diag_tx_seq_1GbE_mosi      : OUT t_mem_mosi;
     reg_diag_tx_seq_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;
+    reg_diag_tx_seq_10GbE_mosi     : OUT t_mem_mosi;
+    reg_diag_tx_seq_10GbE_miso     : IN  t_mem_miso;
+
     ram_diag_bg_ddr_mosi           : OUT t_mem_mosi;
     ram_diag_bg_ddr_miso           : IN  t_mem_miso;
     reg_diag_bg_ddr_mosi           : OUT t_mem_mosi;
@@ -138,35 +145,44 @@ ENTITY mmm_unb2_test IS
     reg_diag_tx_seq_ddr_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_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;
 
     -- 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_1GbE_hdr_dat_mosi  : OUT t_mem_mosi;
+    --reg_dp_offload_rx_1GbE_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_ddr_mosi             : OUT t_mem_mosi;
-    reg_bsn_monitor_ddr_miso             : IN  t_mem_miso;
+    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;
+    reg_bsn_monitor_ddr_mosi       : OUT t_mem_mosi;
+    reg_bsn_monitor_ddr_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;
-    reg_diag_rx_seq_1GbE_mosi            : OUT t_mem_mosi;
-    reg_diag_rx_seq_1GbE_miso            : IN  t_mem_miso;
-
-    ram_diag_data_buf_ddr_mosi           : OUT t_mem_mosi;
-    ram_diag_data_buf_ddr_miso           : IN  t_mem_miso;
-    reg_diag_data_buf_ddr_mosi           : OUT t_mem_mosi;
-    reg_diag_data_buf_ddr_miso           : IN  t_mem_miso;
-    reg_diag_rx_seq_ddr_mosi             : OUT t_mem_mosi;
-    reg_diag_rx_seq_ddr_miso             : IN  t_mem_miso;
+    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;
+    reg_diag_rx_seq_1GbE_mosi      : OUT t_mem_mosi;
+    reg_diag_rx_seq_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;
+    reg_diag_rx_seq_10GbE_mosi     : OUT t_mem_mosi;
+    reg_diag_rx_seq_10GbE_miso     : IN  t_mem_miso;
+
+    ram_diag_data_buf_ddr_mosi     : OUT t_mem_mosi;
+    ram_diag_data_buf_ddr_miso     : IN  t_mem_miso;
+    reg_diag_data_buf_ddr_mosi     : OUT t_mem_mosi;
+    reg_diag_data_buf_ddr_miso     : IN  t_mem_miso;
+    reg_diag_rx_seq_ddr_mosi       : OUT t_mem_mosi;
+    reg_diag_rx_seq_ddr_miso       : IN  t_mem_miso;
 
     -- 10GbE
     reg_tr_10GbE_qsfp_ring_mosi    : OUT t_mem_mosi;
@@ -184,26 +200,30 @@ ENTITY mmm_unb2_test IS
   );
 END mmm_unb2_test;
 
+
 ARCHITECTURE str OF mmm_unb2_test IS
 
   CONSTANT c_sim_node_nr   : NATURAL := g_sim_node_nr;
   CONSTANT c_sim_node_type : STRING(1 TO 2):= "FN";
 
+  CONSTANT g_nof_streams_10GbE                     : NATURAL := g_nof_streams_qsfp + g_nof_streams_ring + g_nof_streams_back0 + g_nof_streams_back1;
+
   -- Block generator
-  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_ddr_addr_w                      : NATURAL := ceil_log2(g_nof_streams_ddr * pow2(ceil_log2(g_bg_block_size)));
+  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)));
+  CONSTANT c_ram_diag_bg_ddr_addr_w                : NATURAL := ceil_log2(g_nof_streams_ddr   * pow2(ceil_log2(g_bg_block_size)));
 
   -- dp_offload
-  CONSTANT c_reg_dp_offload_tx_adr_w                     : NATURAL := 1; -- Dev note: add to c_unb2_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_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_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_tx_adr_w                     : NATURAL := 1; -- Dev note: add to c_unb2_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_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_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));
 
   -- reorder
   --                                                                       v--- FIXME: g_frame_size_in
@@ -216,8 +236,9 @@ ARCHITECTURE str OF mmm_unb2_test IS
   CONSTANT c_reg_tr_10GbE_back1_multi_adr_w        : NATURAL := ceil_log2(g_nof_streams_back1 * pow2(c_reg_tr_10GbE_adr_w));
 
   -- BSN monitors
-  CONSTANT c_reg_rsp_bsn_monitor_1GbE_adr_w        : NATURAL := ceil_log2(g_nof_streams_1GbE * pow2(c_unb2_board_peripherals_mm_reg_default.reg_bsn_monitor_adr_w));
-  CONSTANT c_reg_rsp_bsn_monitor_ddr_adr_w         : NATURAL := ceil_log2(g_nof_streams_ddr * pow2(c_unb2_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_unb2_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_unb2_board_peripherals_mm_reg_default.reg_bsn_monitor_adr_w));
+  CONSTANT c_reg_rsp_bsn_monitor_ddr_adr_w         : NATURAL := ceil_log2(g_nof_streams_ddr   * pow2(c_unb2_board_peripherals_mm_reg_default.reg_bsn_monitor_adr_w));
 
   -- Simulation
   CONSTANT c_sim_eth_src_mac                       : STD_LOGIC_VECTOR(c_network_eth_mac_slv'RANGE) := X"00228608" & TO_UVEC(g_sim_unb_nr, c_byte_w) & TO_UVEC(g_sim_node_nr, c_byte_w);
@@ -259,62 +280,78 @@ BEGIN
     eth1g_eth0_mm_rst <= mm_rst;
     eth1g_eth1_mm_rst <= mm_rst;
 
-    u_mm_file_reg_unb_system_info : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "PIO_SYSTEM_INFO")
-                                               PORT MAP(mm_rst, mm_clk, reg_unb_system_info_mosi, reg_unb_system_info_miso );
+    u_mm_file_reg_unb_system_info   : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "PIO_SYSTEM_INFO")
+                                                 PORT MAP(mm_rst, mm_clk, reg_unb_system_info_mosi, reg_unb_system_info_miso );
 
-    u_mm_file_rom_unb_system_info : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "ROM_SYSTEM_INFO")
-                                               PORT MAP(mm_rst, mm_clk, rom_unb_system_info_mosi, rom_unb_system_info_miso );
+    u_mm_file_rom_unb_system_info   : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "ROM_SYSTEM_INFO")
+                                                 PORT MAP(mm_rst, mm_clk, rom_unb_system_info_mosi, rom_unb_system_info_miso );
 
-    u_mm_file_reg_wdi             : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_WDI")
-                                               PORT MAP(mm_rst, mm_clk, reg_wdi_mosi, reg_wdi_miso );
+    u_mm_file_reg_wdi               : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_WDI")
+                                                 PORT MAP(mm_rst, mm_clk, reg_wdi_mosi, reg_wdi_miso );
 
-    u_mm_file_reg_unb_sens        : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_UNB_SENS")
-                                               PORT MAP(mm_rst, mm_clk, reg_unb_sens_mosi, reg_unb_sens_miso );
+    u_mm_file_reg_unb_sens          : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_UNB_SENS")
+                                                 PORT MAP(mm_rst, mm_clk, reg_unb_sens_mosi, reg_unb_sens_miso );
 
-    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_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_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_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_tx_seq_1GbE  : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DIAG_TX_SEQ_1GBE")
                                                  PORT MAP(mm_rst, mm_clk, reg_diag_tx_seq_1GbE_mosi, reg_diag_tx_seq_1GbE_miso);
 
-    u_mm_file_reg_diag_bg_ddr     : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DIAG_BG_DDR")
-                                               PORT MAP(mm_rst, mm_clk, reg_diag_bg_ddr_mosi, reg_diag_bg_ddr_miso);
-    u_mm_file_ram_diag_bg_ddr     : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_DIAG_BG_DDR")
-                                               PORT MAP(mm_rst, mm_clk, ram_diag_bg_ddr_mosi, ram_diag_bg_ddr_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_reg_diag_tx_seq_10GbE : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DIAG_TX_SEQ_10GBE")
+                                                 PORT MAP(mm_rst, mm_clk, reg_diag_tx_seq_10GbE_mosi, reg_diag_tx_seq_10GbE_miso);
+
+    u_mm_file_reg_diag_bg_ddr       : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DIAG_BG_DDR")
+                                                 PORT MAP(mm_rst, mm_clk, reg_diag_bg_ddr_mosi, reg_diag_bg_ddr_miso);
+    u_mm_file_ram_diag_bg_ddr       : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_DIAG_BG_DDR")
+                                                 PORT MAP(mm_rst, mm_clk, ram_diag_bg_ddr_mosi, ram_diag_bg_ddr_miso);
     u_mm_file_reg_diag_tx_seq_ddr   : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DIAG_TX_SEQ_DDR")
                                                  PORT MAP(mm_rst, mm_clk, reg_diag_tx_seq_ddr_mosi, reg_diag_tx_seq_ddr_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_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_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_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_ddr             : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_MONITOR_DDR")
-                                                           PORT MAP(mm_rst, mm_clk, reg_bsn_monitor_ddr_mosi, reg_bsn_monitor_ddr_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_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_reg_diag_rx_seq_1GbE            : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DIAG_RX_SEQ_1GBE")
-                                                           PORT MAP(mm_rst, mm_clk, reg_diag_rx_seq_1GbE_mosi, reg_diag_rx_seq_1GbE_miso);
-
-    u_mm_file_reg_diag_data_buffer_ddr        : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DIAG_DATA_BUFFER_DDR")
-                                                           PORT MAP(mm_rst, mm_clk, reg_diag_data_buf_ddr_mosi, reg_diag_data_buf_ddr_miso);
-    u_mm_file_ram_diag_data_buffer_ddr        : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_DIAG_DATA_BUFFER_DDR")
-                                                           PORT MAP(mm_rst, mm_clk, ram_diag_data_buf_ddr_mosi, ram_diag_data_buf_ddr_miso);
-    u_mm_file_reg_diag_rx_seq_ddr             : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DIAG_RX_SEQ_DDR")
-                                                           PORT MAP(mm_rst, mm_clk, reg_diag_rx_seq_ddr_mosi, reg_diag_rx_seq_ddr_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_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_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_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_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_reg_bsn_monitor_ddr        : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_MONITOR_DDR")
+                                                      PORT MAP(mm_rst, mm_clk, reg_bsn_monitor_ddr_mosi, reg_bsn_monitor_ddr_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_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_reg_diag_rx_seq_1GbE       : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DIAG_RX_SEQ_1GBE")
+                                                      PORT MAP(mm_rst, mm_clk, reg_diag_rx_seq_1GbE_mosi, reg_diag_rx_seq_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_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_rx_seq_10GbE      : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DIAG_RX_SEQ_10GBE")
+                                                      PORT MAP(mm_rst, mm_clk, reg_diag_rx_seq_10GbE_mosi, reg_diag_rx_seq_10GbE_miso);
+
+    u_mm_file_reg_diag_data_buffer_ddr   : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DIAG_DATA_BUFFER_DDR")
+                                                      PORT MAP(mm_rst, mm_clk, reg_diag_data_buf_ddr_mosi, reg_diag_data_buf_ddr_miso);
+    u_mm_file_ram_diag_data_buffer_ddr   : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_DIAG_DATA_BUFFER_DDR")
+                                                      PORT MAP(mm_rst, mm_clk, ram_diag_data_buf_ddr_mosi, ram_diag_data_buf_ddr_miso);
+    u_mm_file_reg_diag_rx_seq_ddr        : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DIAG_RX_SEQ_DDR")
+                                                      PORT MAP(mm_rst, mm_clk, reg_diag_rx_seq_ddr_mosi, reg_diag_rx_seq_ddr_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);
@@ -329,12 +366,12 @@ BEGIN
     u_mm_file_reg_eth1            : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "AVS_ETH_1_MMS_REG")
                                                PORT MAP(mm_rst, mm_clk, eth1g_eth1_reg_mosi, eth1g_eth1_reg_miso);
 
-    u_mm_file_reg_tr_10GbE_qsfp_ring    : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_TR_10GBE_QSFP_RING")
-                                                     PORT MAP(mm_rst, mm_clk, reg_tr_10GbE_qsfp_ring_mosi, reg_tr_10GbE_qsfp_ring_miso);
-    u_mm_file_reg_tr_10GbE_back0        : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_TR_10GBE_BACK0")
-                                                     PORT MAP(mm_rst, mm_clk, reg_tr_10GbE_back0_mosi, reg_tr_10GbE_back0_miso);
-    u_mm_file_reg_tr_10GbE_back1        : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_TR_10GBE_BACK1")
-                                                     PORT MAP(mm_rst, mm_clk, reg_tr_10GbE_back1_mosi, reg_tr_10GbE_back1_miso);
+    u_mm_file_reg_tr_10GbE_qsfp_ring : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_TR_10GBE_QSFP_RING")
+                                                  PORT MAP(mm_rst, mm_clk, reg_tr_10GbE_qsfp_ring_mosi, reg_tr_10GbE_qsfp_ring_miso);
+    u_mm_file_reg_tr_10GbE_back0     : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_TR_10GBE_BACK0")
+                                                  PORT MAP(mm_rst, mm_clk, reg_tr_10GbE_back0_mosi, reg_tr_10GbE_back0_miso);
+    u_mm_file_reg_tr_10GbE_back1     : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_TR_10GBE_BACK1")
+                                                  PORT MAP(mm_rst, mm_clk, reg_tr_10GbE_back1_mosi, reg_tr_10GbE_back1_miso);
 
     ----------------------------------------------------------------------------
     -- 1GbE setup sequence normally performed by unb_os@NIOS
@@ -544,32 +581,32 @@ BEGIN
       reg_tr_10gbe_back1_readdata_export        => reg_tr_10GbE_back1_miso.rddata(c_word_w-1 DOWNTO 0),
       reg_tr_10gbe_back1_waitrequest_export     => reg_tr_10GbE_back1_miso.waitrequest,
 
-      -- 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_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_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_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_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_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),
 
 
       reg_bsn_monitor_1gbe_reset_export         => OPEN,
@@ -580,6 +617,14 @@ BEGIN
       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_10gbe_reset_export        => OPEN,
+      reg_bsn_monitor_10gbe_clk_export          => OPEN,
+      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_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),
+      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_ddr_reset_export          => OPEN,
       reg_bsn_monitor_ddr_clk_export            => OPEN,
       reg_bsn_monitor_ddr_address_export        => reg_bsn_monitor_ddr_mosi.address(c_reg_rsp_bsn_monitor_ddr_adr_w-1 DOWNTO 0),
@@ -596,6 +641,14 @@ BEGIN
       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_10gbe_reset_export     => OPEN,
+      reg_diag_data_buffer_10gbe_clk_export       => OPEN,
+      reg_diag_data_buffer_10gbe_address_export   => reg_diag_data_buf_10gbe_mosi.address(c_unb2_board_peripherals_mm_reg_default.reg_diag_db_adr_w-1 DOWNTO 0),
+      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),
+      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_ddr_reset_export      => OPEN,
       reg_diag_data_buffer_ddr_clk_export        => OPEN,
       reg_diag_data_buffer_ddr_address_export    => reg_diag_data_buf_ddr_mosi.address(c_unb2_board_peripherals_mm_reg_default.reg_diag_db_adr_w-1 DOWNTO 0),
@@ -612,6 +665,14 @@ BEGIN
       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_10gbe_clk_export       => OPEN,
+      ram_diag_data_buffer_10gbe_reset_export     => OPEN,
+      ram_diag_data_buffer_10gbe_address_export   => ram_diag_data_buf_10gbe_mosi.address(c_unb2_board_peripherals_mm_reg_default.ram_diag_db_adr_w-1 DOWNTO 0),
+      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),
+      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_ddr_clk_export        => OPEN,
       ram_diag_data_buffer_ddr_reset_export      => OPEN,
       ram_diag_data_buffer_ddr_address_export    => ram_diag_data_buf_ddr_mosi.address(c_unb2_board_peripherals_mm_reg_default.ram_diag_db_adr_w-1 DOWNTO 0),
@@ -628,6 +689,14 @@ BEGIN
       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_10GbE_reset_export             => OPEN,
+      reg_diag_bg_10GbE_clk_export               => OPEN,
+      reg_diag_bg_10GbE_address_export           => reg_diag_bg_10GbE_mosi.address(c_unb2_board_peripherals_mm_reg_default.reg_diag_bg_adr_w-1 DOWNTO 0),
+      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),
+      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_ddr_reset_export               => OPEN,
       reg_diag_bg_ddr_clk_export                 => OPEN,
       reg_diag_bg_ddr_address_export             => reg_diag_bg_ddr_mosi.address(c_unb2_board_peripherals_mm_reg_default.reg_diag_bg_adr_w-1 DOWNTO 0),
@@ -644,6 +713,14 @@ BEGIN
       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_10GbE_reset_export             => OPEN,
+      ram_diag_bg_10GbE_clk_export               => OPEN,
+      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_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),
+      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_ddr_reset_export               => OPEN,
       ram_diag_bg_ddr_clk_export                 => OPEN,
       ram_diag_bg_ddr_address_export             => ram_diag_bg_ddr_mosi.address(c_ram_diag_bg_ddr_addr_w-1 DOWNTO 0),
diff --git a/boards/uniboard2/designs/unb2_test/src/vhdl/qsys_unb2_test_pkg.vhd b/boards/uniboard2/designs/unb2_test/src/vhdl/qsys_unb2_test_pkg.vhd
index 858ea33864..8f595b201a 100644
--- a/boards/uniboard2/designs/unb2_test/src/vhdl/qsys_unb2_test_pkg.vhd
+++ b/boards/uniboard2/designs/unb2_test/src/vhdl/qsys_unb2_test_pkg.vhd
@@ -28,353 +28,312 @@ PACKAGE qsys_unb2_test_pkg IS
     -- this component declaration is copy-pasted from Quartus v15 QSYS builder
     -----------------------------------------------------------------------------
 
+
     component qsys_unb2_test is
         port (
-            avs_eth_0_clk_export                             : out std_logic;                                        -- export
-            avs_eth_0_irq_export                             : in  std_logic                     := 'X';             -- export
-            avs_eth_0_ram_address_export                     : out std_logic_vector(9 downto 0);                     -- export
-            avs_eth_0_ram_read_export                        : out std_logic;                                        -- export
-            avs_eth_0_ram_readdata_export                    : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            avs_eth_0_ram_write_export                       : out std_logic;                                        -- export
-            avs_eth_0_ram_writedata_export                   : out std_logic_vector(31 downto 0);                    -- export
-            avs_eth_0_reg_address_export                     : out std_logic_vector(3 downto 0);                     -- export
-            avs_eth_0_reg_read_export                        : out std_logic;                                        -- export
-            avs_eth_0_reg_readdata_export                    : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            avs_eth_0_reg_write_export                       : out std_logic;                                        -- export
-            avs_eth_0_reg_writedata_export                   : out std_logic_vector(31 downto 0);                    -- export
-            avs_eth_0_reset_export                           : out std_logic;                                        -- export
-            avs_eth_0_tse_address_export                     : out std_logic_vector(9 downto 0);                     -- export
-            avs_eth_0_tse_read_export                        : out std_logic;                                        -- export
-            avs_eth_0_tse_readdata_export                    : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            avs_eth_0_tse_waitrequest_export                 : in  std_logic                     := 'X';             -- export
-            avs_eth_0_tse_write_export                       : out std_logic;                                        -- export
-            avs_eth_0_tse_writedata_export                   : out std_logic_vector(31 downto 0);                    -- export
-            avs_eth_1_clk_export                             : out std_logic;                                        -- export
-            avs_eth_1_irq_export                             : in  std_logic                     := 'X';             -- export
-            avs_eth_1_ram_address_export                     : out std_logic_vector(9 downto 0);                     -- export
-            avs_eth_1_ram_read_export                        : out std_logic;                                        -- export
-            avs_eth_1_ram_readdata_export                    : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            avs_eth_1_ram_write_export                       : out std_logic;                                        -- export
-            avs_eth_1_ram_writedata_export                   : out std_logic_vector(31 downto 0);                    -- export
-            avs_eth_1_reg_address_export                     : out std_logic_vector(3 downto 0);                     -- export
-            avs_eth_1_reg_read_export                        : out std_logic;                                        -- export
-            avs_eth_1_reg_readdata_export                    : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            avs_eth_1_reg_write_export                       : out std_logic;                                        -- export
-            avs_eth_1_reg_writedata_export                   : out std_logic_vector(31 downto 0);                    -- export
-            avs_eth_1_reset_export                           : out std_logic;                                        -- export
-            avs_eth_1_tse_address_export                     : out std_logic_vector(9 downto 0);                     -- export
-            avs_eth_1_tse_read_export                        : out std_logic;                                        -- export
-            avs_eth_1_tse_readdata_export                    : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            avs_eth_1_tse_waitrequest_export                 : in  std_logic                     := 'X';             -- export
-            avs_eth_1_tse_write_export                       : out std_logic;                                        -- export
-            avs_eth_1_tse_writedata_export                   : out std_logic_vector(31 downto 0);                    -- export
-            clk_clk                                          : in  std_logic                     := 'X';             -- clk
-            pio_pps_address_export                           : out std_logic_vector(0 downto 0);                     -- export
-            pio_pps_clk_export                               : out std_logic;                                        -- export
-            pio_pps_read_export                              : out std_logic;                                        -- export
-            pio_pps_readdata_export                          : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            pio_pps_reset_export                             : out std_logic;                                        -- export
-            pio_pps_write_export                             : out std_logic;                                        -- export
-            pio_pps_writedata_export                         : out std_logic_vector(31 downto 0);                    -- export
-            pio_system_info_address_export                   : out std_logic_vector(4 downto 0);                     -- export
-            pio_system_info_clk_export                       : out std_logic;                                        -- export
-            pio_system_info_read_export                      : out std_logic;                                        -- export
-            pio_system_info_readdata_export                  : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            pio_system_info_reset_export                     : out std_logic;                                        -- export
-            pio_system_info_write_export                     : out std_logic;                                        -- export
-            pio_system_info_writedata_export                 : out std_logic_vector(31 downto 0);                    -- export
-            pio_wdi_external_connection_export               : out std_logic;                                        -- export
-            ram_diag_bg_1gbe_address_export                  : out std_logic_vector(9 downto 0);                     -- export
-            ram_diag_bg_1gbe_clk_export                      : out std_logic;                                        -- 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
-            ram_diag_bg_1gbe_reset_export                    : out std_logic;                                        -- 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_ddr_address_export                   : out std_logic_vector(9 downto 0);                     -- export
-            ram_diag_bg_ddr_clk_export                       : out std_logic;                                        -- export
-            ram_diag_bg_ddr_read_export                      : out std_logic;                                        -- export
-            ram_diag_bg_ddr_readdata_export                  : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            ram_diag_bg_ddr_reset_export                     : out std_logic;                                        -- export
-            ram_diag_bg_ddr_write_export                     : out std_logic;                                        -- export
-            ram_diag_bg_ddr_writedata_export                 : out std_logic_vector(31 downto 0);                    -- export
-            ram_diag_data_buffer_1gbe_address_export         : out std_logic_vector(13 downto 0);                    -- export
-            ram_diag_data_buffer_1gbe_clk_export             : out std_logic;                                        -- 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_1gbe_reset_export           : out std_logic;                                        -- 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_ddr_address_export          : out std_logic_vector(13 downto 0);                    -- export
-            ram_diag_data_buffer_ddr_clk_export              : out std_logic;                                        -- export
-            ram_diag_data_buffer_ddr_read_export             : out std_logic;                                        -- export
-            ram_diag_data_buffer_ddr_readdata_export         : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            ram_diag_data_buffer_ddr_reset_export            : out std_logic;                                        -- export
-            ram_diag_data_buffer_ddr_write_export            : out std_logic;                                        -- export
-            ram_diag_data_buffer_ddr_writedata_export        : out std_logic_vector(31 downto 0);                    -- 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_bsn_monitor_1gbe_address_export              : out std_logic_vector(3 downto 0);                     -- export
-            reg_bsn_monitor_1gbe_clk_export                  : out std_logic;                                        -- export
-            reg_bsn_monitor_1gbe_read_export                 : out std_logic;                                        -- export
-            reg_bsn_monitor_1gbe_readdata_export             : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            reg_bsn_monitor_1gbe_reset_export                : out std_logic;                                        -- export
-            reg_bsn_monitor_1gbe_write_export                : out std_logic;                                        -- export
-            reg_bsn_monitor_1gbe_writedata_export            : out std_logic_vector(31 downto 0);                    -- export
-            reg_bsn_monitor_ddr_address_export               : out std_logic_vector(3 downto 0);                     -- export
-            reg_bsn_monitor_ddr_clk_export                   : out std_logic;                                        -- export
-            reg_bsn_monitor_ddr_read_export                  : out std_logic;                                        -- export
-            reg_bsn_monitor_ddr_readdata_export              : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            reg_bsn_monitor_ddr_reset_export                 : out std_logic;                                        -- export
-            reg_bsn_monitor_ddr_write_export                 : out std_logic;                                        -- export
-            reg_bsn_monitor_ddr_writedata_export             : out std_logic_vector(31 downto 0);                    -- export
-            reg_diag_bg_1gbe_address_export                  : out std_logic_vector(2 downto 0);                     -- export
-            reg_diag_bg_1gbe_clk_export                      : out std_logic;                                        -- 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
-            reg_diag_bg_1gbe_reset_export                    : out std_logic;                                        -- 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_ddr_address_export                   : out std_logic_vector(2 downto 0);                     -- export
-            reg_diag_bg_ddr_clk_export                       : out std_logic;                                        -- export
-            reg_diag_bg_ddr_read_export                      : out std_logic;                                        -- export
-            reg_diag_bg_ddr_readdata_export                  : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            reg_diag_bg_ddr_reset_export                     : out std_logic;                                        -- export
-            reg_diag_bg_ddr_write_export                     : out std_logic;                                        -- export
-            reg_diag_bg_ddr_writedata_export                 : out std_logic_vector(31 downto 0);                    -- export
-            reg_diag_data_buffer_1gbe_address_export         : out std_logic_vector(4 downto 0);                     -- export
-            reg_diag_data_buffer_1gbe_clk_export             : out std_logic;                                        -- 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
-            reg_diag_data_buffer_1gbe_reset_export           : out std_logic;                                        -- 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_ddr_address_export          : out std_logic_vector(4 downto 0);                     -- export
-            reg_diag_data_buffer_ddr_clk_export              : out std_logic;                                        -- export
-            reg_diag_data_buffer_ddr_read_export             : out std_logic;                                        -- export
-            reg_diag_data_buffer_ddr_readdata_export         : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            reg_diag_data_buffer_ddr_reset_export            : out std_logic;                                        -- export
-            reg_diag_data_buffer_ddr_write_export            : out std_logic;                                        -- export
-            reg_diag_data_buffer_ddr_writedata_export        : out std_logic_vector(31 downto 0);                    -- export
-            reg_dp_offload_rx_1gbe_hdr_dat_address_export    : out std_logic_vector(5 downto 0);                     -- export
-            reg_dp_offload_rx_1gbe_hdr_dat_clk_export        : out std_logic;                                        -- 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_dp_offload_rx_1gbe_hdr_dat_reset_export      : out std_logic;                                        -- 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_tx_1gbe_address_export            : out std_logic_vector(0 downto 0);                     -- export
-            reg_dp_offload_tx_1gbe_clk_export                : out std_logic;                                        -- export
-            reg_dp_offload_tx_1gbe_hdr_dat_address_export    : out std_logic_vector(5 downto 0);                     -- export
-            reg_dp_offload_tx_1gbe_hdr_dat_clk_export        : out std_logic;                                        -- 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_tx_1gbe_hdr_dat_reset_export      : out std_logic;                                        -- 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_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_reset_export              : out std_logic;                                        -- 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_dpmm_ctrl_address_export                     : out std_logic_vector(0 downto 0);                     -- export
-            reg_dpmm_ctrl_clk_export                         : out std_logic;                                        -- export
-            reg_dpmm_ctrl_read_export                        : out std_logic;                                        -- export
-            reg_dpmm_ctrl_readdata_export                    : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            reg_dpmm_ctrl_reset_export                       : out std_logic;                                        -- export
-            reg_dpmm_ctrl_write_export                       : out std_logic;                                        -- export
-            reg_dpmm_ctrl_writedata_export                   : out std_logic_vector(31 downto 0);                    -- export
-            reg_dpmm_data_address_export                     : out std_logic_vector(0 downto 0);                     -- export
-            reg_dpmm_data_clk_export                         : out std_logic;                                        -- export
-            reg_dpmm_data_read_export                        : out std_logic;                                        -- export
-            reg_dpmm_data_readdata_export                    : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            reg_dpmm_data_reset_export                       : out std_logic;                                        -- export
-            reg_dpmm_data_write_export                       : out std_logic;                                        -- export
-            reg_dpmm_data_writedata_export                   : out std_logic_vector(31 downto 0);                    -- export
-            reg_epcs_address_export                          : out std_logic_vector(2 downto 0);                     -- export
-            reg_epcs_clk_export                              : out std_logic;                                        -- export
-            reg_epcs_read_export                             : out std_logic;                                        -- export
-            reg_epcs_readdata_export                         : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            reg_epcs_reset_export                            : out std_logic;                                        -- export
-            reg_epcs_write_export                            : out std_logic;                                        -- export
-            reg_epcs_writedata_export                        : out std_logic_vector(31 downto 0);                    -- 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_read_export                           : out std_logic;                                        -- export
-            reg_io_ddr_readdata_export                       : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            reg_io_ddr_reset_export                          : out std_logic;                                        -- export
-            reg_io_ddr_write_export                          : out std_logic;                                        -- export
-            reg_io_ddr_writedata_export                      : out std_logic_vector(31 downto 0);                    -- export
-            reg_mmdp_ctrl_address_export                     : out std_logic_vector(0 downto 0);                     -- export
-            reg_mmdp_ctrl_clk_export                         : out std_logic;                                        -- export
-            reg_mmdp_ctrl_read_export                        : out std_logic;                                        -- export
-            reg_mmdp_ctrl_readdata_export                    : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            reg_mmdp_ctrl_reset_export                       : out std_logic;                                        -- export
-            reg_mmdp_ctrl_write_export                       : out std_logic;                                        -- export
-            reg_mmdp_ctrl_writedata_export                   : out std_logic_vector(31 downto 0);                    -- export
-            reg_mmdp_data_address_export                     : out std_logic_vector(0 downto 0);                     -- export
-            reg_mmdp_data_clk_export                         : out std_logic;                                        -- export
-            reg_mmdp_data_read_export                        : out std_logic;                                        -- export
-            reg_mmdp_data_readdata_export                    : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            reg_mmdp_data_reset_export                       : out std_logic;                                        -- export
-            reg_mmdp_data_write_export                       : out std_logic;                                        -- export
-            reg_mmdp_data_writedata_export                   : out std_logic_vector(31 downto 0);                    -- export
-            reg_remu_address_export                          : out std_logic_vector(2 downto 0);                     -- export
-            reg_remu_clk_export                              : out std_logic;                                        -- export
-            reg_remu_read_export                             : out std_logic;                                        -- export
-            reg_remu_readdata_export                         : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            reg_remu_reset_export                            : out std_logic;                                        -- export
-            reg_remu_write_export                            : out std_logic;                                        -- export
-            reg_remu_writedata_export                        : out std_logic_vector(31 downto 0);                    -- export
-            reg_tr_10gbe_back0_address_export                : out std_logic_vector(17 downto 0);                    -- export
-            reg_tr_10gbe_back0_clk_export                    : out std_logic;                                        -- export
-            reg_tr_10gbe_back0_read_export                   : out std_logic;                                        -- export
-            reg_tr_10gbe_back0_readdata_export               : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            reg_tr_10gbe_back0_reset_export                  : out std_logic;                                        -- export
-            reg_tr_10gbe_back0_waitrequest_export            : in  std_logic                     := 'X';             -- export
-            reg_tr_10gbe_back0_write_export                  : out std_logic;                                        -- export
-            reg_tr_10gbe_back0_writedata_export              : out std_logic_vector(31 downto 0);                    -- export
-            reg_tr_10gbe_back1_address_export                : out std_logic_vector(17 downto 0);                    -- export
-            reg_tr_10gbe_back1_clk_export                    : out std_logic;                                        -- export
-            reg_tr_10gbe_back1_read_export                   : out std_logic;                                        -- export
-            reg_tr_10gbe_back1_readdata_export               : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            reg_tr_10gbe_back1_reset_export                  : out std_logic;                                        -- export
-            reg_tr_10gbe_back1_waitrequest_export            : in  std_logic                     := 'X';             -- export
-            reg_tr_10gbe_back1_write_export                  : out std_logic;                                        -- export
-            reg_tr_10gbe_back1_writedata_export              : out std_logic_vector(31 downto 0);                    -- export
-            reg_tr_10gbe_qsfp_ring_address_export            : out std_logic_vector(18 downto 0);                    -- export
-            reg_tr_10gbe_qsfp_ring_clk_export                : out std_logic;                                        -- export
-            reg_tr_10gbe_qsfp_ring_read_export               : out std_logic;                                        -- export
-            reg_tr_10gbe_qsfp_ring_readdata_export           : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            reg_tr_10gbe_qsfp_ring_reset_export              : out std_logic;                                        -- export
-            reg_tr_10gbe_qsfp_ring_waitrequest_export        : in  std_logic                     := 'X';             -- export
-            reg_tr_10gbe_qsfp_ring_write_export              : out std_logic;                                        -- export
-            reg_tr_10gbe_qsfp_ring_writedata_export          : out std_logic_vector(31 downto 0);                    -- export
-            reg_unb_sens_address_export                      : out std_logic_vector(2 downto 0);                     -- export
-            reg_unb_sens_clk_export                          : out std_logic;                                        -- export
-            reg_unb_sens_read_export                         : out std_logic;                                        -- export
-            reg_unb_sens_readdata_export                     : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            reg_unb_sens_reset_export                        : out std_logic;                                        -- export
-            reg_unb_sens_write_export                        : out std_logic;                                        -- export
-            reg_unb_sens_writedata_export                    : out std_logic_vector(31 downto 0);                    -- export
-            reg_wdi_address_export                           : out std_logic_vector(0 downto 0);                     -- export
-            reg_wdi_clk_export                               : out std_logic;                                        -- export
-            reg_wdi_read_export                              : out std_logic;                                        -- export
-            reg_wdi_readdata_export                          : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            reg_wdi_reset_export                             : out std_logic;                                        -- export
-            reg_wdi_write_export                             : out std_logic;                                        -- export
-            reg_wdi_writedata_export                         : out std_logic_vector(31 downto 0);                    -- export
-            reset_reset_n                                    : in  std_logic                     := 'X';             -- reset_n
-            rom_system_info_address_export                   : out std_logic_vector(9 downto 0);                     -- export
-            rom_system_info_clk_export                       : out std_logic;                                        -- export
-            rom_system_info_read_export                      : out std_logic;                                        -- export
-            rom_system_info_readdata_export                  : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            rom_system_info_reset_export                     : out std_logic;                                        -- export
-            rom_system_info_write_export                     : out std_logic;                                        -- export
-            rom_system_info_writedata_export                 : out std_logic_vector(31 downto 0);                    -- 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(5 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_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(6 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_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_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_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_data_buffer_10gbe_readdata_export       : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            ram_diag_data_buffer_10gbe_read_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_write_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_clk_export            : out std_logic;                                        -- export
-            ram_diag_data_buffer_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(2 downto 0);                     -- export
-            reg_diag_bg_10gbe_clk_export                     : out std_logic;                                        -- export
-            reg_diag_bg_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(11 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_tx_seq_1gbe_readdata_export             : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            reg_diag_tx_seq_1gbe_read_export                 : out std_logic;                                        -- export
-            reg_diag_tx_seq_1gbe_writedata_export            : out std_logic_vector(31 downto 0);                    -- export
-            reg_diag_tx_seq_1gbe_write_export                : out std_logic;                                        -- export
-            reg_diag_tx_seq_1gbe_address_export              : out std_logic_vector(1 downto 0);                     -- export
-            reg_diag_tx_seq_1gbe_clk_export                  : out std_logic;                                        -- export
-            reg_diag_tx_seq_1gbe_reset_export                : out std_logic;                                        -- export
-            reg_diag_rx_seq_1gbe_readdata_export             : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            reg_diag_rx_seq_1gbe_read_export                 : out std_logic;                                        -- export
-            reg_diag_rx_seq_1gbe_writedata_export            : out std_logic_vector(31 downto 0);                    -- export
-            reg_diag_rx_seq_1gbe_write_export                : out std_logic;                                        -- export
-            reg_diag_rx_seq_1gbe_address_export              : out std_logic_vector(2 downto 0);                     -- export
-            reg_diag_rx_seq_1gbe_clk_export                  : out std_logic;                                        -- export
-            reg_diag_rx_seq_1gbe_reset_export                : out std_logic;                                        -- export
-            reg_diag_tx_seq_10gbe_readdata_export            : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            reg_diag_tx_seq_10gbe_read_export                : out std_logic;                                        -- export
-            reg_diag_tx_seq_10gbe_writedata_export           : out std_logic_vector(31 downto 0);                    -- export
-            reg_diag_tx_seq_10gbe_write_export               : out std_logic;                                        -- export
-            reg_diag_tx_seq_10gbe_address_export             : out std_logic_vector(3 downto 0);                     -- export
-            reg_diag_tx_seq_10gbe_clk_export                 : out std_logic;                                        -- export
-            reg_diag_tx_seq_10gbe_reset_export               : out std_logic;                                        -- export
-            reg_diag_rx_seq_10gbe_readdata_export            : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            reg_diag_rx_seq_10gbe_read_export                : out std_logic;                                        -- export
-            reg_diag_rx_seq_10gbe_writedata_export           : out std_logic_vector(31 downto 0);                    -- export
-            reg_diag_rx_seq_10gbe_write_export               : out std_logic;                                        -- export
-            reg_diag_rx_seq_10gbe_address_export             : out std_logic_vector(4 downto 0);                     -- export
-            reg_diag_rx_seq_10gbe_clk_export                 : out std_logic;                                        -- export
-            reg_diag_rx_seq_10gbe_reset_export               : out std_logic;                                        -- export
-            reg_diag_tx_seq_ddr_readdata_export              : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            reg_diag_tx_seq_ddr_read_export                  : out std_logic;                                        -- export
-            reg_diag_tx_seq_ddr_writedata_export             : out std_logic_vector(31 downto 0);                    -- export
-            reg_diag_tx_seq_ddr_write_export                 : out std_logic;                                        -- export
-            reg_diag_tx_seq_ddr_address_export               : out std_logic_vector(1 downto 0);                     -- export
-            reg_diag_tx_seq_ddr_clk_export                   : out std_logic;                                        -- export
-            reg_diag_tx_seq_ddr_reset_export                 : out std_logic;                                        -- export
-            reg_diag_rx_seq_ddr_readdata_export              : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-            reg_diag_rx_seq_ddr_read_export                  : out std_logic;                                        -- export
-            reg_diag_rx_seq_ddr_writedata_export             : out std_logic_vector(31 downto 0);                    -- export
-            reg_diag_rx_seq_ddr_write_export                 : out std_logic;                                        -- export
-            reg_diag_rx_seq_ddr_address_export               : out std_logic_vector(2 downto 0);                     -- export
-            reg_diag_rx_seq_ddr_clk_export                   : out std_logic;                                        -- export
-            reg_diag_rx_seq_ddr_reset_export                 : out std_logic                                         -- export
+            avs_eth_0_clk_export                        : out std_logic;                                        -- export
+            avs_eth_0_irq_export                        : in  std_logic                     := 'X';             -- export
+            avs_eth_0_ram_address_export                : out std_logic_vector(9 downto 0);                     -- export
+            avs_eth_0_ram_read_export                   : out std_logic;                                        -- export
+            avs_eth_0_ram_readdata_export               : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            avs_eth_0_ram_write_export                  : out std_logic;                                        -- export
+            avs_eth_0_ram_writedata_export              : out std_logic_vector(31 downto 0);                    -- export
+            avs_eth_0_reg_address_export                : out std_logic_vector(3 downto 0);                     -- export
+            avs_eth_0_reg_read_export                   : out std_logic;                                        -- export
+            avs_eth_0_reg_readdata_export               : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            avs_eth_0_reg_write_export                  : out std_logic;                                        -- export
+            avs_eth_0_reg_writedata_export              : out std_logic_vector(31 downto 0);                    -- export
+            avs_eth_0_reset_export                      : out std_logic;                                        -- export
+            avs_eth_0_tse_address_export                : out std_logic_vector(9 downto 0);                     -- export
+            avs_eth_0_tse_read_export                   : out std_logic;                                        -- export
+            avs_eth_0_tse_readdata_export               : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            avs_eth_0_tse_waitrequest_export            : in  std_logic                     := 'X';             -- export
+            avs_eth_0_tse_write_export                  : out std_logic;                                        -- export
+            avs_eth_0_tse_writedata_export              : out std_logic_vector(31 downto 0);                    -- export
+            avs_eth_1_clk_export                        : out std_logic;                                        -- export
+            avs_eth_1_irq_export                        : in  std_logic                     := 'X';             -- export
+            avs_eth_1_ram_address_export                : out std_logic_vector(9 downto 0);                     -- export
+            avs_eth_1_ram_read_export                   : out std_logic;                                        -- export
+            avs_eth_1_ram_readdata_export               : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            avs_eth_1_ram_write_export                  : out std_logic;                                        -- export
+            avs_eth_1_ram_writedata_export              : out std_logic_vector(31 downto 0);                    -- export
+            avs_eth_1_reg_address_export                : out std_logic_vector(3 downto 0);                     -- export
+            avs_eth_1_reg_read_export                   : out std_logic;                                        -- export
+            avs_eth_1_reg_readdata_export               : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            avs_eth_1_reg_write_export                  : out std_logic;                                        -- export
+            avs_eth_1_reg_writedata_export              : out std_logic_vector(31 downto 0);                    -- export
+            avs_eth_1_reset_export                      : out std_logic;                                        -- export
+            avs_eth_1_tse_address_export                : out std_logic_vector(9 downto 0);                     -- export
+            avs_eth_1_tse_read_export                   : out std_logic;                                        -- export
+            avs_eth_1_tse_readdata_export               : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            avs_eth_1_tse_waitrequest_export            : in  std_logic                     := 'X';             -- export
+            avs_eth_1_tse_write_export                  : out std_logic;                                        -- export
+            avs_eth_1_tse_writedata_export              : out std_logic_vector(31 downto 0);                    -- export
+            clk_clk                                     : in  std_logic                     := 'X';             -- clk
+            pio_pps_address_export                      : out std_logic_vector(0 downto 0);                     -- export
+            pio_pps_clk_export                          : out std_logic;                                        -- export
+            pio_pps_read_export                         : out std_logic;                                        -- export
+            pio_pps_readdata_export                     : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            pio_pps_reset_export                        : out std_logic;                                        -- export
+            pio_pps_write_export                        : out std_logic;                                        -- export
+            pio_pps_writedata_export                    : out std_logic_vector(31 downto 0);                    -- export
+            pio_system_info_address_export              : out std_logic_vector(4 downto 0);                     -- export
+            pio_system_info_clk_export                  : out std_logic;                                        -- export
+            pio_system_info_read_export                 : out std_logic;                                        -- export
+            pio_system_info_readdata_export             : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            pio_system_info_reset_export                : out std_logic;                                        -- export
+            pio_system_info_write_export                : out std_logic;                                        -- export
+            pio_system_info_writedata_export            : out std_logic_vector(31 downto 0);                    -- export
+            pio_wdi_external_connection_export          : out std_logic;                                        -- export
+            ram_diag_bg_10gbe_address_export            : out std_logic_vector(16 downto 0);                    -- export
+            ram_diag_bg_10gbe_clk_export                : out std_logic;                                        -- export
+            ram_diag_bg_10gbe_read_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_reset_export              : out std_logic;                                        -- export
+            ram_diag_bg_10gbe_write_export              : out std_logic;                                        -- export
+            ram_diag_bg_10gbe_writedata_export          : out std_logic_vector(31 downto 0);                    -- export
+            ram_diag_bg_1gbe_address_export             : out std_logic_vector(9 downto 0);                     -- export
+            ram_diag_bg_1gbe_clk_export                 : out std_logic;                                        -- 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
+            ram_diag_bg_1gbe_reset_export               : out std_logic;                                        -- 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_ddr_address_export              : out std_logic_vector(9 downto 0);                     -- export
+            ram_diag_bg_ddr_clk_export                  : out std_logic;                                        -- export
+            ram_diag_bg_ddr_read_export                 : out std_logic;                                        -- export
+            ram_diag_bg_ddr_readdata_export             : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            ram_diag_bg_ddr_reset_export                : out std_logic;                                        -- export
+            ram_diag_bg_ddr_write_export                : out std_logic;                                        -- export
+            ram_diag_bg_ddr_writedata_export            : out std_logic_vector(31 downto 0);                    -- export
+            ram_diag_data_buffer_10gbe_address_export   : out std_logic_vector(13 downto 0);                    -- export
+            ram_diag_data_buffer_10gbe_clk_export       : out std_logic;                                        -- 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
+            ram_diag_data_buffer_10gbe_reset_export     : out std_logic;                                        -- 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_1gbe_address_export    : out std_logic_vector(13 downto 0);                    -- export
+            ram_diag_data_buffer_1gbe_clk_export        : out std_logic;                                        -- 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_1gbe_reset_export      : out std_logic;                                        -- 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_ddr_address_export     : out std_logic_vector(13 downto 0);                    -- export
+            ram_diag_data_buffer_ddr_clk_export         : out std_logic;                                        -- export
+            ram_diag_data_buffer_ddr_read_export        : out std_logic;                                        -- export
+            ram_diag_data_buffer_ddr_readdata_export    : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            ram_diag_data_buffer_ddr_reset_export       : out std_logic;                                        -- export
+            ram_diag_data_buffer_ddr_write_export       : out std_logic;                                        -- export
+            ram_diag_data_buffer_ddr_writedata_export   : out std_logic_vector(31 downto 0);                    -- 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_bsn_monitor_10gbe_address_export        : out std_logic_vector(10 downto 0);                    -- export
+            reg_bsn_monitor_10gbe_clk_export            : out std_logic;                                        -- export
+            reg_bsn_monitor_10gbe_read_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_reset_export          : out std_logic;                                        -- export
+            reg_bsn_monitor_10gbe_write_export          : out std_logic;                                        -- export
+            reg_bsn_monitor_10gbe_writedata_export      : out std_logic_vector(31 downto 0);                    -- export
+            reg_bsn_monitor_1gbe_address_export         : out std_logic_vector(3 downto 0);                     -- export
+            reg_bsn_monitor_1gbe_clk_export             : out std_logic;                                        -- export
+            reg_bsn_monitor_1gbe_read_export            : out std_logic;                                        -- export
+            reg_bsn_monitor_1gbe_readdata_export        : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            reg_bsn_monitor_1gbe_reset_export           : out std_logic;                                        -- export
+            reg_bsn_monitor_1gbe_write_export           : out std_logic;                                        -- export
+            reg_bsn_monitor_1gbe_writedata_export       : out std_logic_vector(31 downto 0);                    -- export
+            reg_bsn_monitor_ddr_address_export          : out std_logic_vector(3 downto 0);                     -- export
+            reg_bsn_monitor_ddr_clk_export              : out std_logic;                                        -- export
+            reg_bsn_monitor_ddr_read_export             : out std_logic;                                        -- export
+            reg_bsn_monitor_ddr_readdata_export         : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            reg_bsn_monitor_ddr_reset_export            : out std_logic;                                        -- export
+            reg_bsn_monitor_ddr_write_export            : out std_logic;                                        -- export
+            reg_bsn_monitor_ddr_writedata_export        : out std_logic_vector(31 downto 0);                    -- export
+            reg_diag_bg_10gbe_address_export            : out std_logic_vector(2 downto 0);                     -- export
+            reg_diag_bg_10gbe_clk_export                : out std_logic;                                        -- export
+            reg_diag_bg_10gbe_read_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_reset_export              : out std_logic;                                        -- export
+            reg_diag_bg_10gbe_write_export              : out std_logic;                                        -- export
+            reg_diag_bg_10gbe_writedata_export          : out std_logic_vector(31 downto 0);                    -- export
+            reg_diag_bg_1gbe_address_export             : out std_logic_vector(2 downto 0);                     -- export
+            reg_diag_bg_1gbe_clk_export                 : out std_logic;                                        -- 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
+            reg_diag_bg_1gbe_reset_export               : out std_logic;                                        -- 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_ddr_address_export              : out std_logic_vector(2 downto 0);                     -- export
+            reg_diag_bg_ddr_clk_export                  : out std_logic;                                        -- export
+            reg_diag_bg_ddr_read_export                 : out std_logic;                                        -- export
+            reg_diag_bg_ddr_readdata_export             : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            reg_diag_bg_ddr_reset_export                : out std_logic;                                        -- export
+            reg_diag_bg_ddr_write_export                : out std_logic;                                        -- export
+            reg_diag_bg_ddr_writedata_export            : out std_logic_vector(31 downto 0);                    -- 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_read_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_reset_export     : out std_logic;                                        -- export
+            reg_diag_data_buffer_10gbe_write_export     : out std_logic;                                        -- export
+            reg_diag_data_buffer_10gbe_writedata_export : out std_logic_vector(31 downto 0);                    -- export
+            reg_diag_data_buffer_1gbe_address_export    : out std_logic_vector(4 downto 0);                     -- export
+            reg_diag_data_buffer_1gbe_clk_export        : out std_logic;                                        -- 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
+            reg_diag_data_buffer_1gbe_reset_export      : out std_logic;                                        -- 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_ddr_address_export     : out std_logic_vector(4 downto 0);                     -- export
+            reg_diag_data_buffer_ddr_clk_export         : out std_logic;                                        -- export
+            reg_diag_data_buffer_ddr_read_export        : out std_logic;                                        -- export
+            reg_diag_data_buffer_ddr_readdata_export    : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            reg_diag_data_buffer_ddr_reset_export       : out std_logic;                                        -- export
+            reg_diag_data_buffer_ddr_write_export       : out std_logic;                                        -- export
+            reg_diag_data_buffer_ddr_writedata_export   : out std_logic_vector(31 downto 0);                    -- export
+            reg_diag_rx_seq_10gbe_address_export        : out std_logic_vector(4 downto 0);                     -- export
+            reg_diag_rx_seq_10gbe_clk_export            : out std_logic;                                        -- export
+            reg_diag_rx_seq_10gbe_read_export           : out std_logic;                                        -- export
+            reg_diag_rx_seq_10gbe_readdata_export       : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            reg_diag_rx_seq_10gbe_reset_export          : out std_logic;                                        -- export
+            reg_diag_rx_seq_10gbe_write_export          : out std_logic;                                        -- export
+            reg_diag_rx_seq_10gbe_writedata_export      : out std_logic_vector(31 downto 0);                    -- export
+            reg_diag_rx_seq_1gbe_address_export         : out std_logic_vector(2 downto 0);                     -- export
+            reg_diag_rx_seq_1gbe_clk_export             : out std_logic;                                        -- export
+            reg_diag_rx_seq_1gbe_read_export            : out std_logic;                                        -- export
+            reg_diag_rx_seq_1gbe_readdata_export        : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            reg_diag_rx_seq_1gbe_reset_export           : out std_logic;                                        -- export
+            reg_diag_rx_seq_1gbe_write_export           : out std_logic;                                        -- export
+            reg_diag_rx_seq_1gbe_writedata_export       : out std_logic_vector(31 downto 0);                    -- export
+            reg_diag_rx_seq_ddr_address_export          : out std_logic_vector(2 downto 0);                     -- export
+            reg_diag_rx_seq_ddr_clk_export              : out std_logic;                                        -- export
+            reg_diag_rx_seq_ddr_read_export             : out std_logic;                                        -- export
+            reg_diag_rx_seq_ddr_readdata_export         : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            reg_diag_rx_seq_ddr_reset_export            : out std_logic;                                        -- export
+            reg_diag_rx_seq_ddr_write_export            : out std_logic;                                        -- export
+            reg_diag_rx_seq_ddr_writedata_export        : out std_logic_vector(31 downto 0);                    -- export
+            reg_diag_tx_seq_10gbe_address_export        : out std_logic_vector(3 downto 0);                     -- export
+            reg_diag_tx_seq_10gbe_clk_export            : out std_logic;                                        -- export
+            reg_diag_tx_seq_10gbe_read_export           : out std_logic;                                        -- export
+            reg_diag_tx_seq_10gbe_readdata_export       : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            reg_diag_tx_seq_10gbe_reset_export          : out std_logic;                                        -- export
+            reg_diag_tx_seq_10gbe_write_export          : out std_logic;                                        -- export
+            reg_diag_tx_seq_10gbe_writedata_export      : out std_logic_vector(31 downto 0);                    -- export
+            reg_diag_tx_seq_1gbe_address_export         : out std_logic_vector(1 downto 0);                     -- export
+            reg_diag_tx_seq_1gbe_clk_export             : out std_logic;                                        -- export
+            reg_diag_tx_seq_1gbe_read_export            : out std_logic;                                        -- export
+            reg_diag_tx_seq_1gbe_readdata_export        : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            reg_diag_tx_seq_1gbe_reset_export           : out std_logic;                                        -- export
+            reg_diag_tx_seq_1gbe_write_export           : out std_logic;                                        -- export
+            reg_diag_tx_seq_1gbe_writedata_export       : out std_logic_vector(31 downto 0);                    -- export
+            reg_diag_tx_seq_ddr_address_export          : out std_logic_vector(1 downto 0);                     -- export
+            reg_diag_tx_seq_ddr_clk_export              : out std_logic;                                        -- export
+            reg_diag_tx_seq_ddr_read_export             : out std_logic;                                        -- export
+            reg_diag_tx_seq_ddr_readdata_export         : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            reg_diag_tx_seq_ddr_reset_export            : out std_logic;                                        -- export
+            reg_diag_tx_seq_ddr_write_export            : out std_logic;                                        -- export
+            reg_diag_tx_seq_ddr_writedata_export        : out std_logic_vector(31 downto 0);                    -- export
+            reg_dpmm_ctrl_address_export                : out std_logic_vector(0 downto 0);                     -- export
+            reg_dpmm_ctrl_clk_export                    : out std_logic;                                        -- export
+            reg_dpmm_ctrl_read_export                   : out std_logic;                                        -- export
+            reg_dpmm_ctrl_readdata_export               : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            reg_dpmm_ctrl_reset_export                  : out std_logic;                                        -- export
+            reg_dpmm_ctrl_write_export                  : out std_logic;                                        -- export
+            reg_dpmm_ctrl_writedata_export              : out std_logic_vector(31 downto 0);                    -- export
+            reg_dpmm_data_address_export                : out std_logic_vector(0 downto 0);                     -- export
+            reg_dpmm_data_clk_export                    : out std_logic;                                        -- export
+            reg_dpmm_data_read_export                   : out std_logic;                                        -- export
+            reg_dpmm_data_readdata_export               : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            reg_dpmm_data_reset_export                  : out std_logic;                                        -- export
+            reg_dpmm_data_write_export                  : out std_logic;                                        -- export
+            reg_dpmm_data_writedata_export              : out std_logic_vector(31 downto 0);                    -- export
+            reg_epcs_address_export                     : out std_logic_vector(2 downto 0);                     -- export
+            reg_epcs_clk_export                         : out std_logic;                                        -- export
+            reg_epcs_read_export                        : out std_logic;                                        -- export
+            reg_epcs_readdata_export                    : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            reg_epcs_reset_export                       : out std_logic;                                        -- export
+            reg_epcs_write_export                       : out std_logic;                                        -- export
+            reg_epcs_writedata_export                   : out std_logic_vector(31 downto 0);                    -- 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_read_export                      : out std_logic;                                        -- export
+            reg_io_ddr_readdata_export                  : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            reg_io_ddr_reset_export                     : out std_logic;                                        -- export
+            reg_io_ddr_write_export                     : out std_logic;                                        -- export
+            reg_io_ddr_writedata_export                 : out std_logic_vector(31 downto 0);                    -- export
+            reg_mmdp_ctrl_address_export                : out std_logic_vector(0 downto 0);                     -- export
+            reg_mmdp_ctrl_clk_export                    : out std_logic;                                        -- export
+            reg_mmdp_ctrl_read_export                   : out std_logic;                                        -- export
+            reg_mmdp_ctrl_readdata_export               : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            reg_mmdp_ctrl_reset_export                  : out std_logic;                                        -- export
+            reg_mmdp_ctrl_write_export                  : out std_logic;                                        -- export
+            reg_mmdp_ctrl_writedata_export              : out std_logic_vector(31 downto 0);                    -- export
+            reg_mmdp_data_address_export                : out std_logic_vector(0 downto 0);                     -- export
+            reg_mmdp_data_clk_export                    : out std_logic;                                        -- export
+            reg_mmdp_data_read_export                   : out std_logic;                                        -- export
+            reg_mmdp_data_readdata_export               : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            reg_mmdp_data_reset_export                  : out std_logic;                                        -- export
+            reg_mmdp_data_write_export                  : out std_logic;                                        -- export
+            reg_mmdp_data_writedata_export              : out std_logic_vector(31 downto 0);                    -- export
+            reg_remu_address_export                     : out std_logic_vector(2 downto 0);                     -- export
+            reg_remu_clk_export                         : out std_logic;                                        -- export
+            reg_remu_read_export                        : out std_logic;                                        -- export
+            reg_remu_readdata_export                    : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            reg_remu_reset_export                       : out std_logic;                                        -- export
+            reg_remu_write_export                       : out std_logic;                                        -- export
+            reg_remu_writedata_export                   : out std_logic_vector(31 downto 0);                    -- export
+            reg_tr_10gbe_back0_address_export           : out std_logic_vector(17 downto 0);                    -- export
+            reg_tr_10gbe_back0_clk_export               : out std_logic;                                        -- export
+            reg_tr_10gbe_back0_read_export              : out std_logic;                                        -- export
+            reg_tr_10gbe_back0_readdata_export          : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            reg_tr_10gbe_back0_reset_export             : out std_logic;                                        -- export
+            reg_tr_10gbe_back0_waitrequest_export       : in  std_logic                     := 'X';             -- export
+            reg_tr_10gbe_back0_write_export             : out std_logic;                                        -- export
+            reg_tr_10gbe_back0_writedata_export         : out std_logic_vector(31 downto 0);                    -- export
+            reg_tr_10gbe_back1_address_export           : out std_logic_vector(17 downto 0);                    -- export
+            reg_tr_10gbe_back1_clk_export               : out std_logic;                                        -- export
+            reg_tr_10gbe_back1_read_export              : out std_logic;                                        -- export
+            reg_tr_10gbe_back1_readdata_export          : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            reg_tr_10gbe_back1_reset_export             : out std_logic;                                        -- export
+            reg_tr_10gbe_back1_waitrequest_export       : in  std_logic                     := 'X';             -- export
+            reg_tr_10gbe_back1_write_export             : out std_logic;                                        -- export
+            reg_tr_10gbe_back1_writedata_export         : out std_logic_vector(31 downto 0);                    -- export
+            reg_tr_10gbe_qsfp_ring_address_export       : out std_logic_vector(18 downto 0);                    -- export
+            reg_tr_10gbe_qsfp_ring_clk_export           : out std_logic;                                        -- export
+            reg_tr_10gbe_qsfp_ring_read_export          : out std_logic;                                        -- export
+            reg_tr_10gbe_qsfp_ring_readdata_export      : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            reg_tr_10gbe_qsfp_ring_reset_export         : out std_logic;                                        -- export
+            reg_tr_10gbe_qsfp_ring_waitrequest_export   : in  std_logic                     := 'X';             -- export
+            reg_tr_10gbe_qsfp_ring_write_export         : out std_logic;                                        -- export
+            reg_tr_10gbe_qsfp_ring_writedata_export     : out std_logic_vector(31 downto 0);                    -- export
+            reg_unb_sens_address_export                 : out std_logic_vector(2 downto 0);                     -- export
+            reg_unb_sens_clk_export                     : out std_logic;                                        -- export
+            reg_unb_sens_read_export                    : out std_logic;                                        -- export
+            reg_unb_sens_readdata_export                : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            reg_unb_sens_reset_export                   : out std_logic;                                        -- export
+            reg_unb_sens_write_export                   : out std_logic;                                        -- export
+            reg_unb_sens_writedata_export               : out std_logic_vector(31 downto 0);                    -- export
+            reg_wdi_address_export                      : out std_logic_vector(0 downto 0);                     -- export
+            reg_wdi_clk_export                          : out std_logic;                                        -- export
+            reg_wdi_read_export                         : out std_logic;                                        -- export
+            reg_wdi_readdata_export                     : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            reg_wdi_reset_export                        : out std_logic;                                        -- export
+            reg_wdi_write_export                        : out std_logic;                                        -- export
+            reg_wdi_writedata_export                    : out std_logic_vector(31 downto 0);                    -- export
+            reset_reset_n                               : in  std_logic                     := 'X';             -- reset_n
+            rom_system_info_address_export              : out std_logic_vector(9 downto 0);                     -- export
+            rom_system_info_clk_export                  : out std_logic;                                        -- export
+            rom_system_info_read_export                 : out std_logic;                                        -- export
+            rom_system_info_readdata_export             : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
+            rom_system_info_reset_export                : out std_logic;                                        -- export
+            rom_system_info_write_export                : out std_logic;                                        -- export
+            rom_system_info_writedata_export            : out std_logic_vector(31 downto 0)                     -- export
         );
     end component qsys_unb2_test;
 
diff --git a/boards/uniboard2/designs/unb2_test/src/vhdl/udp_stream.vhd b/boards/uniboard2/designs/unb2_test/src/vhdl/udp_stream.vhd
index b3c3dfe7fc..dba9f29860 100644
--- a/boards/uniboard2/designs/unb2_test/src/vhdl/udp_stream.vhd
+++ b/boards/uniboard2/designs/unb2_test/src/vhdl/udp_stream.vhd
@@ -67,25 +67,25 @@ ENTITY udp_stream IS
     reg_diag_tx_seq_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;
+    --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;
+    --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_mosi           : IN  t_mem_mosi := c_mem_mosi_rst;
     reg_bsn_monitor_miso           : OUT t_mem_miso;
 
     -- databuffer
@@ -113,7 +113,6 @@ ARCHITECTURE str OF udp_stream IS
                                                               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;
@@ -148,7 +147,7 @@ BEGIN
     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);
+    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(46 DOWNTO 0);
   END GENERATE;
 
 
@@ -183,7 +182,7 @@ BEGIN
     reg_tx_seq_miso  => reg_diag_tx_seq_miso
   );
 
-  gen_dp_fifo_sc : FOR i IN 0 TO g_nof_streams-1 GENERATE
+  gen_dp_fifo_sc : FOR i IN 0 TO g_nof_streams-1 GENERATE  --FIXME : Daniel: we also need this fifo to pass on the BSN (47b) and sync (1b); set generics accordingly
     u_dp_fifo_sc : ENTITY dp_lib.dp_fifo_sc
     GENERIC MAP (
       g_data_w    => g_data_w,
@@ -228,10 +227,10 @@ BEGIN
     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,
+    --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),
@@ -263,8 +262,8 @@ BEGIN
     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,
+    --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,
diff --git a/boards/uniboard2/designs/unb2_test/src/vhdl/unb2_test.vhd b/boards/uniboard2/designs/unb2_test/src/vhdl/unb2_test.vhd
index 0eaf14baa5..1a1fd7b9cc 100644
--- a/boards/uniboard2/designs/unb2_test/src/vhdl/unb2_test.vhd
+++ b/boards/uniboard2/designs/unb2_test/src/vhdl/unb2_test.vhd
@@ -78,17 +78,17 @@ ENTITY unb2_test IS
     BCK_REF_CLK  : IN    STD_LOGIC := '0'; -- Clock 10GbE back lower 24 lines
 
     -- back transceivers
-    BCK_RX       : IN    STD_LOGIC_VECTOR((c_unb2_board_tr_back.bus_w * c_unb2_board_tr_back.nof_bus)-1 downto 0) := (OTHERS=>'0');
-    BCK_TX       : OUT   STD_LOGIC_VECTOR((c_unb2_board_tr_back.bus_w * c_unb2_board_tr_back.nof_bus)-1 downto 0);
+    --BCK_RX       : IN    STD_LOGIC_VECTOR((c_unb2_board_tr_back.bus_w * c_unb2_board_tr_back.nof_bus)-1 downto 0) := (OTHERS=>'0');
+    --BCK_TX       : OUT   STD_LOGIC_VECTOR((c_unb2_board_tr_back.bus_w * c_unb2_board_tr_back.nof_bus)-1 downto 0);
     BCK_SDA      : INOUT STD_LOGIC_VECTOR(c_unb2_board_tr_back.i2c_w-1 downto 0);
     BCK_SCL      : INOUT STD_LOGIC_VECTOR(c_unb2_board_tr_back.i2c_w-1 downto 0);
     BCK_ERR      : INOUT STD_LOGIC_VECTOR(c_unb2_board_tr_back.i2c_w-1 downto 0);
 
     -- ring transceivers
-    RING_0_RX    : IN    STD_LOGIC_VECTOR(c_unb2_board_tr_ring.bus_w-1 downto 0) := (OTHERS=>'0');
-    RING_0_TX    : OUT   STD_LOGIC_VECTOR(c_unb2_board_tr_ring.bus_w-1 downto 0);
-    RING_1_RX    : IN    STD_LOGIC_VECTOR(c_unb2_board_tr_ring.bus_w-1 downto 0) := (OTHERS=>'0');
-    RING_1_TX    : OUT   STD_LOGIC_VECTOR(c_unb2_board_tr_ring.bus_w-1 downto 0);
+    --RING_0_RX    : IN    STD_LOGIC_VECTOR(c_unb2_board_tr_ring.bus_w-1 downto 0) := (OTHERS=>'0');
+    --RING_0_TX    : OUT   STD_LOGIC_VECTOR(c_unb2_board_tr_ring.bus_w-1 downto 0);
+    --RING_1_RX    : IN    STD_LOGIC_VECTOR(c_unb2_board_tr_ring.bus_w-1 downto 0) := (OTHERS=>'0');
+    --RING_1_TX    : OUT   STD_LOGIC_VECTOR(c_unb2_board_tr_ring.bus_w-1 downto 0);
     -- pmbus
     PMBUS_SC     : INOUT STD_LOGIC;
     PMBUS_SD     : INOUT STD_LOGIC;
@@ -96,16 +96,16 @@ ENTITY unb2_test IS
     -- front transceivers
     QSFP_0_RX    : IN    STD_LOGIC_VECTOR(c_unb2_board_tr_qsfp.bus_w-1 downto 0) := (OTHERS=>'0');
     QSFP_0_TX    : OUT   STD_LOGIC_VECTOR(c_unb2_board_tr_qsfp.bus_w-1 downto 0);
-    QSFP_1_RX    : IN    STD_LOGIC_VECTOR(c_unb2_board_tr_qsfp.bus_w-1 downto 0) := (OTHERS=>'0');
-    QSFP_1_TX    : OUT   STD_LOGIC_VECTOR(c_unb2_board_tr_qsfp.bus_w-1 downto 0);
-    QSFP_2_RX    : IN    STD_LOGIC_VECTOR(c_unb2_board_tr_qsfp.bus_w-1 downto 0) := (OTHERS=>'0');
-    QSFP_2_TX    : OUT   STD_LOGIC_VECTOR(c_unb2_board_tr_qsfp.bus_w-1 downto 0);
-    QSFP_3_RX    : IN    STD_LOGIC_VECTOR(c_unb2_board_tr_qsfp.bus_w-1 downto 0) := (OTHERS=>'0');
-    QSFP_3_TX    : OUT   STD_LOGIC_VECTOR(c_unb2_board_tr_qsfp.bus_w-1 downto 0);
-    QSFP_4_RX    : IN    STD_LOGIC_VECTOR(c_unb2_board_tr_qsfp.bus_w-1 downto 0) := (OTHERS=>'0');
-    QSFP_4_TX    : OUT   STD_LOGIC_VECTOR(c_unb2_board_tr_qsfp.bus_w-1 downto 0);
-    QSFP_5_RX    : IN    STD_LOGIC_VECTOR(c_unb2_board_tr_qsfp.bus_w-1 downto 0) := (OTHERS=>'0');
-    QSFP_5_TX    : OUT   STD_LOGIC_VECTOR(c_unb2_board_tr_qsfp.bus_w-1 downto 0);
+    --QSFP_1_RX    : IN    STD_LOGIC_VECTOR(c_unb2_board_tr_qsfp.bus_w-1 downto 0) := (OTHERS=>'0');
+    --QSFP_1_TX    : OUT   STD_LOGIC_VECTOR(c_unb2_board_tr_qsfp.bus_w-1 downto 0);
+    --QSFP_2_RX    : IN    STD_LOGIC_VECTOR(c_unb2_board_tr_qsfp.bus_w-1 downto 0) := (OTHERS=>'0');
+    --QSFP_2_TX    : OUT   STD_LOGIC_VECTOR(c_unb2_board_tr_qsfp.bus_w-1 downto 0);
+    --QSFP_3_RX    : IN    STD_LOGIC_VECTOR(c_unb2_board_tr_qsfp.bus_w-1 downto 0) := (OTHERS=>'0');
+    --QSFP_3_TX    : OUT   STD_LOGIC_VECTOR(c_unb2_board_tr_qsfp.bus_w-1 downto 0);
+    --QSFP_4_RX    : IN    STD_LOGIC_VECTOR(c_unb2_board_tr_qsfp.bus_w-1 downto 0) := (OTHERS=>'0');
+    --QSFP_4_TX    : OUT   STD_LOGIC_VECTOR(c_unb2_board_tr_qsfp.bus_w-1 downto 0);
+    --QSFP_5_RX    : IN    STD_LOGIC_VECTOR(c_unb2_board_tr_qsfp.bus_w-1 downto 0) := (OTHERS=>'0');
+    --QSFP_5_TX    : OUT   STD_LOGIC_VECTOR(c_unb2_board_tr_qsfp.bus_w-1 downto 0);
 
     QSFP_SDA     : INOUT STD_LOGIC_VECTOR(c_unb2_board_tr_qsfp.i2c_w-1 downto 0);
     QSFP_SCL     : INOUT STD_LOGIC_VECTOR(c_unb2_board_tr_qsfp.i2c_w-1 downto 0);
@@ -137,6 +137,10 @@ ARCHITECTURE str OF unb2_test IS
   -- Revision controlled constants
   CONSTANT c_use_1GbE                   : BOOLEAN := g_design_name="unb2_test_1GbE"  OR g_design_name="unb2_test_10GbE" OR g_design_name="unb2_test_all";
   CONSTANT c_use_10GbE                  : BOOLEAN := g_design_name="unb2_test_10GbE" OR g_design_name="unb2_test_all";
+  CONSTANT c_use_10GbE_qsfp             : BOOLEAN := c_use_10GbE;
+  CONSTANT c_use_10GbE_ring             : BOOLEAN := FALSE;
+  CONSTANT c_use_10GbE_back0            : BOOLEAN := FALSE;
+  CONSTANT c_use_10GbE_back1            : BOOLEAN := FALSE;
   CONSTANT c_use_ddr                    : BOOLEAN := g_design_name="unb2_test_ddr"   OR g_design_name="unb2_test_all";
 
   -- ddr
@@ -144,17 +148,29 @@ ARCHITECTURE str OF unb2_test IS
   CONSTANT c_use_MB_I                   : NATURAL := sel_a_b(c_use_ddr,1,0); -- 1: use MB_I  0: do not use
   CONSTANT c_use_MB_II                  : NATURAL := 0;
 
+  CONSTANT c_nof_qsfp                   : NATURAL := 4;--c_unb2_board_tr_qsfp.nof_bus * c_unb2_board_tr_qsfp.bus_w;
+  CONSTANT c_nof_ring                   : NATURAL := c_unb2_board_tr_ring.nof_bus * c_unb2_board_tr_ring.bus_w;
+  CONSTANT c_nof_back0                  : NATURAL := c_unb2_board_tr_back.bus_w;
+  CONSTANT c_nof_back1                  : NATURAL := c_unb2_board_tr_back.bus_w;
 
+  -- 1GbE
   CONSTANT c_nof_streams_1GbE           : NATURAL := sel_a_b(c_use_1GbE,c_unb2_board_nof_eth,0);
-  CONSTANT c_nof_streams_qsfp           : NATURAL := sel_a_b(c_use_10GbE,c_unb2_board_tr_qsfp.nof_bus * c_unb2_board_tr_qsfp.bus_w,0);
-  CONSTANT c_nof_streams_ring           : NATURAL := sel_a_b(c_use_10GbE,c_unb2_board_tr_ring.nof_bus * c_unb2_board_tr_ring.bus_w,0);
-  CONSTANT c_nof_streams_back0          : NATURAL := sel_a_b(c_use_10GbE,c_unb2_board_tr_back.bus_w,0);
-  CONSTANT c_nof_streams_back1          : NATURAL := sel_a_b(c_use_10GbE,c_unb2_board_tr_back.bus_w,0);
+
+  -- 10GbE
+  CONSTANT c_nof_streams_qsfp           : NATURAL := sel_a_b(c_use_10GbE_qsfp,c_nof_qsfp,0);
+  CONSTANT c_nof_streams_ring           : NATURAL := sel_a_b(c_use_10GbE_ring,c_nof_ring,0);
+  CONSTANT c_nof_streams_back0          : NATURAL := sel_a_b(c_use_10GbE_back0,c_nof_back0,0);
+  CONSTANT c_nof_streams_back1          : NATURAL := sel_a_b(c_use_10GbE_back1,c_nof_back1,0);
+
+  CONSTANT c_nof_streams_10GbE          : NATURAL := c_nof_streams_qsfp+c_nof_streams_ring+c_nof_streams_back0+c_nof_streams_back1;
+
+  -- ddr
   CONSTANT c_nof_streams_ddr            : NATURAL := sel_a_b(c_use_MB_I,sel_a_b(c_use_MB_II,2,1),0);
 
   CONSTANT c_nof_qsfp_bus               : NATURAL := ceil_div(c_nof_streams_qsfp,c_unb2_board_tr_qsfp.bus_w);
   CONSTANT c_nof_ring_bus               : NATURAL := ceil_div(c_nof_streams_ring,c_unb2_board_tr_ring.bus_w);
   CONSTANT c_nof_back_bus               : NATURAL := ceil_div(c_nof_streams_back0,c_unb2_board_tr_back.bus_w) + ceil_div(c_nof_streams_back1,c_unb2_board_tr_back.bus_w);
+
   CONSTANT c_data_w_32                  : NATURAL := c_eth_data_w;   --  1GbE
   CONSTANT c_data_w_64                  : NATURAL := c_xgmii_data_w; -- 10GbE
   CONSTANT c_data_w                     : NATURAL := sel_a_b(c_use_1GbE,  c_eth_data_w,
@@ -279,6 +295,8 @@ ARCHITECTURE str OF unb2_test IS
   SIGNAL serial_10G_tx_back_arr          : STD_LOGIC_VECTOR(c_nof_streams_back0+c_nof_streams_back1-1 DOWNTO 0) := (OTHERS=>'0');
   SIGNAL serial_10G_rx_back_arr          : STD_LOGIC_VECTOR(c_nof_streams_back0+c_nof_streams_back1-1 DOWNTO 0);
 
+
+
   SIGNAL reg_tr_10GbE_qsfp_ring_mosi     : t_mem_mosi;
   SIGNAL reg_tr_10GbE_qsfp_ring_miso     : t_mem_miso;
   SIGNAL reg_tr_10GbE_back0_mosi         : t_mem_mosi;
@@ -286,7 +304,6 @@ ARCHITECTURE str OF unb2_test IS
   SIGNAL reg_tr_10GbE_back1_mosi         : t_mem_mosi;
   SIGNAL reg_tr_10GbE_back1_miso         : t_mem_miso;
 
-
   SIGNAL reg_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;
@@ -294,6 +311,13 @@ ARCHITECTURE str OF unb2_test IS
   SIGNAL reg_diag_tx_seq_1GbE_mosi       : t_mem_mosi;
   SIGNAL reg_diag_tx_seq_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_diag_tx_seq_10GbE_mosi      : t_mem_mosi;
+  SIGNAL reg_diag_tx_seq_10GbE_miso      : t_mem_miso;
+
   SIGNAL reg_diag_bg_ddr_mosi            : t_mem_mosi;
   SIGNAL reg_diag_bg_ddr_miso            : t_mem_miso;
   SIGNAL ram_diag_bg_ddr_mosi            : t_mem_mosi;
@@ -301,16 +325,18 @@ ARCHITECTURE str OF unb2_test IS
   SIGNAL reg_diag_tx_seq_ddr_mosi        : t_mem_mosi;
   SIGNAL reg_diag_tx_seq_ddr_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_rx_1GbE_hdr_dat_mosi : t_mem_mosi;
-  SIGNAL reg_dp_offload_rx_1GbE_hdr_dat_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_rx_1GbE_hdr_dat_mosi : t_mem_mosi;
+--  SIGNAL reg_dp_offload_rx_1GbE_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 reg_bsn_monitor_ddr_mosi        : t_mem_mosi;
   SIGNAL reg_bsn_monitor_ddr_miso        : t_mem_miso;
 
@@ -321,6 +347,13 @@ ARCHITECTURE str OF unb2_test IS
   SIGNAL reg_diag_rx_seq_1GbE_mosi       : t_mem_mosi;
   SIGNAL reg_diag_rx_seq_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 reg_diag_rx_seq_10GbE_mosi      : t_mem_mosi;
+  SIGNAL reg_diag_rx_seq_10GbE_miso      : t_mem_miso;
+
   SIGNAL ram_diag_data_buf_ddr_mosi      : t_mem_mosi;
   SIGNAL ram_diag_data_buf_ddr_miso      : t_mem_miso;
   SIGNAL reg_diag_data_buf_ddr_mosi      : t_mem_mosi;
@@ -328,13 +361,15 @@ ARCHITECTURE str OF unb2_test IS
   SIGNAL reg_diag_rx_seq_ddr_mosi        : t_mem_mosi;
   SIGNAL reg_diag_rx_seq_ddr_miso        : t_mem_miso;
 
-  SIGNAL block_gen_1GbE_src_out_arr      : t_dp_sosi_arr(c_nof_streams_1GbE-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_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_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_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);
 
   SIGNAL ram_ss_ss_transp_mosi           : t_mem_mosi;
   SIGNAL ram_ss_ss_transp_miso           : t_mem_miso;
@@ -559,6 +594,13 @@ BEGIN
     reg_diag_tx_seq_1GbE_mosi      => reg_diag_tx_seq_1GbE_mosi,
     reg_diag_tx_seq_1GbE_miso      => reg_diag_tx_seq_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,
+    reg_diag_tx_seq_10GbE_mosi     => reg_diag_tx_seq_10GbE_mosi,
+    reg_diag_tx_seq_10GbE_miso     => reg_diag_tx_seq_10GbE_miso,
+
     ram_diag_bg_ddr_mosi           => ram_diag_bg_ddr_mosi,
     ram_diag_bg_ddr_miso           => ram_diag_bg_ddr_miso,
     reg_diag_bg_ddr_mosi           => reg_diag_bg_ddr_mosi,
@@ -567,18 +609,20 @@ BEGIN
     reg_diag_tx_seq_ddr_miso       => reg_diag_tx_seq_ddr_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,
-
-    -- 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_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,
+--
+--    -- 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,
 
     -- 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,
     reg_bsn_monitor_ddr_mosi       => reg_bsn_monitor_ddr_mosi,
     reg_bsn_monitor_ddr_miso       => reg_bsn_monitor_ddr_miso,
 
@@ -590,6 +634,13 @@ BEGIN
     reg_diag_rx_seq_1GbE_mosi      => reg_diag_rx_seq_1GbE_mosi,
     reg_diag_rx_seq_1GbE_miso      => reg_diag_rx_seq_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,
+    reg_diag_rx_seq_10GbE_mosi     => reg_diag_rx_seq_10GbE_mosi,
+    reg_diag_rx_seq_10GbE_miso     => reg_diag_rx_seq_10GbE_miso,
+
     ram_diag_data_buf_ddr_mosi     => ram_diag_data_buf_ddr_mosi,
     ram_diag_data_buf_ddr_miso     => ram_diag_data_buf_ddr_miso,
     reg_diag_data_buf_ddr_mosi     => reg_diag_data_buf_ddr_mosi,
@@ -647,16 +698,16 @@ BEGIN
       reg_diag_tx_seq_miso           => reg_diag_tx_seq_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,
+--      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,
+--      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,
 
@@ -689,6 +740,153 @@ BEGIN
   END GENERATE;
 
 
+  gen_udp_stream_10GbE : IF c_use_10GbE = TRUE GENERATE
+    u_udp_stream_10GbE : ENTITY work.udp_stream
+    GENERIC MAP (
+      g_sim                       => g_sim,
+      g_nof_streams               => c_nof_streams_qsfp + c_nof_streams_ring + c_nof_streams_back0 + c_nof_streams_back1,
+      g_data_w                    => c_data_w_32, -- 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_10GbE,
+      g_remove_crc                => TRUE -- FALSE
+    )
+    PORT MAP (
+      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,
+      reg_diag_tx_seq_mosi           => reg_diag_tx_seq_10GbE_mosi,
+      reg_diag_tx_seq_miso           => reg_diag_tx_seq_10GbE_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_snk_in_arr       => dp_offload_rx_10GbE_snk_in_arr,
+      dp_offload_rx_snk_out_arr      => dp_offload_rx_10GbE_snk_out_arr,
+
+      reg_bsn_monitor_mosi           => reg_bsn_monitor_10GbE_mosi,
+      reg_bsn_monitor_miso           => reg_bsn_monitor_10GbE_miso,
+
+      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,
+      reg_diag_rx_seq_mosi           => reg_diag_rx_seq_10GbE_mosi,
+      reg_diag_rx_seq_miso           => reg_diag_rx_seq_10GbE_miso
+    );
+
+    u_tr_10GbE_qsfp_and_ring: ENTITY unb2_board_lib.unb2_board_10gbe -- QSFP and Ring lines
+    GENERIC MAP (
+      g_technology    => g_technology,
+      g_sim           => g_sim,
+      g_sim_level     => 1,
+      g_nof_macs      => c_nof_streams_qsfp + c_nof_streams_ring,
+      g_tx_fifo_fill  => c_def_10GbE_block_size,
+      g_tx_fifo_size  => c_def_10GbE_block_size*2
+    )
+    PORT MAP (
+      tr_ref_clk          => SA_CLK,
+      mm_rst              => mm_rst,
+      mm_clk              => mm_clk,
+      reg_mac_mosi        => reg_tr_10GbE_qsfp_ring_mosi,
+      reg_mac_miso        => reg_tr_10GbE_qsfp_ring_miso,
+      dp_rst              => dp_rst,
+      dp_clk              => dp_clk,
+
+      src_out_arr         => dp_offload_rx_10GbE_snk_in_arr(c_nof_streams_qsfp-1 DOWNTO 0),
+      src_in_arr          => dp_offload_rx_10GbE_snk_out_arr(c_nof_streams_qsfp-1 DOWNTO 0),
+      snk_out_arr         => dp_offload_tx_10GbE_src_in_arr(c_nof_streams_qsfp-1 DOWNTO 0),
+      snk_in_arr          => dp_offload_tx_10GbE_src_out_arr(c_nof_streams_qsfp-1 DOWNTO 0),
+
+      serial_tx_arr       => i_serial_10G_tx_qsfp_ring_arr,
+      serial_rx_arr       => i_serial_10G_rx_qsfp_ring_arr
+    );
+
+    gen_qsfp_wires: FOR i IN 0 TO c_nof_streams_qsfp-1 GENERATE
+        serial_10G_tx_qsfp_arr(i)      <= i_serial_10G_tx_qsfp_ring_arr(i);
+      i_serial_10G_rx_qsfp_ring_arr(i) <=   serial_10G_rx_qsfp_arr(i);
+    END GENERATE;
+
+    gen_qsfp_pins: FOR i IN 0 TO c_nof_qsfp_bus-1 GENERATE
+      i_QSFP_RX(i) <= QSFP_0_RX;
+      QSFP_0_TX <= i_QSFP_TX(i);
+    END GENERATE;
+
+
+    u_front_io : ENTITY unb2_board_lib.unb2_board_front_io
+    GENERIC MAP (
+      g_nof_qsfp_bus => c_nof_qsfp_bus
+    )
+    PORT MAP (
+      serial_tx_arr => serial_10G_tx_qsfp_arr,
+      serial_rx_arr => serial_10G_rx_qsfp_arr,
+
+      green_led_arr => qsfp_green_led_arr(c_nof_qsfp_bus-1 DOWNTO 0),
+      red_led_arr   => qsfp_red_led_arr(c_nof_qsfp_bus-1 DOWNTO 0),
+
+      QSFP_RX    => i_QSFP_RX,
+      QSFP_TX    => i_QSFP_TX,
+
+      --QSFP_SDA   => QSFP_SDA,
+      --QSFP_SCL   => QSFP_SCL,
+      --QSFP_RST   => QSFP_RST,
+
+      QSFP_LED   => QSFP_LED
+    );
+
+    u_front_led : ENTITY unb2_board_lib.unb2_board_qsfp_leds
+    GENERIC MAP (
+      g_sim             => g_sim,
+      g_factory_image   => g_factory_image,
+      g_nof_qsfp        => c_nof_qsfp_bus,
+      g_pulse_us        => 1000 / (10**9 / c_unb2_board_ext_clk_freq_200M) -- nof clk cycles to get us period
+    )
+    PORT MAP (
+      rst               => dp_rst,
+      clk               => dp_clk,
+      tx_siso_arr       => dp_offload_tx_10GbE_src_in_arr(c_nof_streams_qsfp-1 DOWNTO 0),
+      tx_sosi_arr       => dp_offload_tx_10GbE_src_out_arr(c_nof_streams_qsfp-1 DOWNTO 0),
+      rx_sosi_arr       => dp_offload_rx_10GbE_snk_in_arr(c_nof_streams_qsfp-1 DOWNTO 0),
+      green_led_arr     => qsfp_green_led_arr(c_nof_qsfp_bus-1 DOWNTO 0),
+      red_led_arr       => qsfp_red_led_arr(c_nof_qsfp_bus-1 DOWNTO 0)
+    );
+  END GENERATE;
+
+  gen_no_udp_stream_10GbE : IF c_use_10GbE = FALSE GENERATE
+    u_front_io : ENTITY unb2_board_lib.unb2_board_front_io
+    GENERIC MAP (
+      g_nof_qsfp_bus => c_unb2_board_tr_qsfp.nof_bus
+    )
+    PORT MAP (
+      green_led_arr => qsfp_green_led_arr,
+      red_led_arr   => qsfp_red_led_arr,
+      QSFP_LED      => QSFP_LED
+    );
+    u_front_led : ENTITY unb2_board_lib.unb2_board_qsfp_leds
+    GENERIC MAP (
+      g_sim           => g_sim,
+      g_factory_image => g_factory_image,
+      g_nof_qsfp      => c_unb2_board_tr_qsfp.nof_bus,
+      g_pulse_us      => 1000 / (10**9 / c_mm_clk_freq) -- nof clk cycles to get us period
+    )
+    PORT MAP (
+      rst             => mm_rst,
+      clk             => mm_clk,
+      green_led_arr   => qsfp_green_led_arr,
+      red_led_arr     => qsfp_red_led_arr
+    );
+  END GENERATE;
+
+
 
   gen_ddr_stream : IF c_use_ddr = TRUE GENERATE
     u_ddr_stream : ENTITY work.ddr_stream
@@ -745,31 +943,5 @@ BEGIN
       MB_I_OU                     => MB_I_OU
     );
   END GENERATE;
-
-
-  u_front_led : ENTITY unb2_board_lib.unb2_board_qsfp_leds
-  GENERIC MAP (
-    g_sim           => g_sim,
-    g_factory_image => g_factory_image,
-    g_nof_qsfp      => c_unb2_board_tr_qsfp.nof_bus,
-    g_pulse_us      => 1000 / (10**9 / c_mm_clk_freq) -- nof clk cycles to get us period
-  )
-  PORT MAP (
-    rst             => mm_rst,
-    clk             => mm_clk,
-    green_led_arr   => qsfp_green_led_arr,
-    red_led_arr     => qsfp_red_led_arr
-  );
-
-  u_front_io : ENTITY unb2_board_lib.unb2_board_front_io
-  GENERIC MAP (
-    g_nof_qsfp_bus => c_unb2_board_tr_qsfp.nof_bus
-  )
-  PORT MAP (
-    green_led_arr => qsfp_green_led_arr,
-    red_led_arr   => qsfp_red_led_arr,
-    QSFP_LED      => QSFP_LED
-  );
-
 END str;
 
diff --git a/boards/uniboard2/designs/unb2_test/src/vhdl/unb2_test_pkg.vhd b/boards/uniboard2/designs/unb2_test/src/vhdl/unb2_test_pkg.vhd
index 91efee9238..ffa292a652 100644
--- a/boards/uniboard2/designs/unb2_test/src/vhdl/unb2_test_pkg.vhd
+++ b/boards/uniboard2/designs/unb2_test/src/vhdl/unb2_test_pkg.vhd
@@ -28,15 +28,14 @@ USE common_lib.common_field_pkg.ALL;
 PACKAGE unb2_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) ),
+  CONSTANT c_nof_hdr_fields : NATURAL := 3+12+4+2; -- Total header bits = 384 = 6 64b words
+  CONSTANT c_hdr_field_arr  : t_common_field_arr(c_nof_hdr_fields-1 DOWNTO 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_total_length"    ), "  ", 16, field_default(0) ), --FIXME fill this in for non point-to-point use
                                                                                    ( 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) ),
@@ -47,17 +46,12 @@ PACKAGE unb2_test_pkg IS
                                                                                    ( 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_total_length"   ), "  ", 16, field_default(0) ),--FIXME fill this in for non point-to-point use
                                                                                    ( 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) ) );
+                                                                                   ( field_name_pad("usr_sync"           ), "  ",  1, field_default(0) ),
+                                                                                   ( field_name_pad("usr_bsn"            ), "  ", 47, field_default(0) ));
+
+  CONSTANT c_hdr_field_ovr_init         : STD_LOGIC_VECTOR(c_nof_hdr_fields-1 DOWNTO 0) := "001"&"111111111100"&"0011"&"00";
 
 END unb2_test_pkg;
 
diff --git a/boards/uniboard2/designs/unb2_test/tb/python/tc_unb2_test.py b/boards/uniboard2/designs/unb2_test/tb/python/tc_unb2_test.py
index bef7e0c350..8d44ced734 100644
--- a/boards/uniboard2/designs/unb2_test/tb/python/tc_unb2_test.py
+++ b/boards/uniboard2/designs/unb2_test/tb/python/tc_unb2_test.py
@@ -20,7 +20,7 @@
 #
 ###############################################################################
 
-"""Test case for unb2_test
+"""Test case for unb1_test
 
 Usage:
 
@@ -63,6 +63,7 @@ import pi_bsn_monitor
 import pi_diag_block_gen
 import pi_diag_data_buffer
 import pi_debug_wave
+import pi_io_ddr
 
 from tools import *
 from common import *
@@ -94,9 +95,10 @@ def test_BG_to_DB(tc,io,cmd):
     if use_pps==True: ppsh = pi_ppsh.PiPpsh(tc, io)
 
     tc.set_section_id('Read - ')
-    nof_streams=4
+    instanceName=tc.gpString
+    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=instanceName)
     Bg.write_disable()
 
     settings = Bg.read_block_gen_settings()
@@ -104,11 +106,10 @@ 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=instanceName)
     #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)
-    #resetptrn = [0xc1ea1ed1]*blocksize #samples_per_packet + [0]*(blocksize-samples_per_packet)
-    resetptrn = [0xa1a2a3a4]*blocksize #samples_per_packet + [0]*(blocksize-samples_per_packet)
+    Db = pi_diag_data_buffer.PiDiagDataBuffer(tc,io,nofStreams=nof_streams,ramSizePerStream=blocksize,instanceName=instanceName)
+    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)
 
@@ -123,6 +124,37 @@ def test_BG_to_DB(tc,io,cmd):
         Bg.write_enable()
 
 
+
+    # enable tx_seq
+#    from pi_diag_tx_seq import REGMAP,PiDiagTxSeq
+#    REGMAP_tx=REGMAP
+#    from pi_diag_rx_seq import REGMAP,PiDiagRxSeq
+#    REGMAP_rx=REGMAP
+
+#    print 'read PiDiagTxSeq, PiDiagRxSeq before write'
+#    on_execute(class_definition=PiDiagTxSeq,regmap=REGMAP_tx) # this reads/shows ALL registers
+#    on_execute(class_definition=PiDiagRxSeq,regmap=REGMAP_rx) # this reads/shows ALL registers
+
+#    tx_seq = PiDiagTxSeq(tc,io,inst_name='10GBE')
+#    tx_seq.write(tc.nodeNrs,inst_nrs=0, registers=[('control', 1)],regmap=REGMAP_tx)
+#
+#    rx_seq = PiDiagRxSeq(tc,io,inst_name='10GBE')
+#    rx_seq.write(tc.nodeNrs,inst_nrs=0, registers=[('control', 1)],regmap=REGMAP_rx)
+#
+#    print 'read PiDiagTxSeq, PiDiagRxSeq after write'
+#    on_execute(class_definition=PiDiagTxSeq,regmap=REGMAP_tx) # this reads/shows ALL registers
+#    on_execute(class_definition=PiDiagRxSeq,regmap=REGMAP_rx) # this reads/shows ALL registers
+
+
+#    return
+
+    if instanceName == 'DDR':
+        ddr = pi_io_ddr.PiIoDdr(tc,io,nof_inst=1)
+        if tc.sim == True:
+            do_until_eq(ddr.read_init_done, ms_retry=1000, val=1, s_timeout=13600)  # 110000 
+
+
+
     bg_ram = []
     for s in tc.gpNumbers:
         ram = Bg.read_waveform_ram(channelNr=s,vLevel=5)
@@ -134,6 +166,12 @@ def test_BG_to_DB(tc,io,cmd):
             rram.append(ram_10G)
         bg_ram.append(rram)
 
+
+    # Poll the databuffer to check if the response is there.
+    # Retry after 3 seconds so we don't issue too many MM reads in case of simulation.
+    do_until_ge(Db.read_nof_words, ms_retry=3000, val=blocksize, s_timeout=3600)
+
+
     db_ram = []
     for s in tc.gpNumbers:
         databuf = Db.read_data_buffer(streamNr=s,vLevel=5)
@@ -174,7 +212,7 @@ def test_BG_to_DB(tc,io,cmd):
 
 
 def get_BG_blocksize(tc,io):
-    nof_streams=4
+    nof_streams=3
     blocksize=0
     Bg = pi_diag_block_gen.PiDiagBlockGen(tc,io,nofChannels=nof_streams,ramSizePerChannel=blocksize)
     settings = Bg.read_block_gen_settings()
@@ -185,7 +223,7 @@ def get_BG_blocksize(tc,io):
 
 def write_BG(tc,io,buf):
     tc.set_section_id('Write BG - ')
-    nof_streams=4
+    nof_streams=3
     blocksize=get_BG_blocksize(tc,io)
     Bg = pi_diag_block_gen.PiDiagBlockGen(tc,io,nofChannels=nof_streams, ramSizePerChannel=blocksize)
     Bg.write_disable()
@@ -254,7 +292,7 @@ def test_tr_10GbE(tc,io,cmd):
     tc.append_log(1, '>>> %s' % help_text(tc,io,cmd))
     tc.append_log(3, '>>>')
 
-    nof_streams=4
+    nof_streams=3
     from pi_tr_10GbE import REGMAP,PiTr10GbE,ADDR_W
     tr10 = PiTr10GbE(tc,io,nof_inst=nof_streams)
 
@@ -279,6 +317,49 @@ def test_tr_10GbE(tc,io,cmd):
             verify_10GbE_status(tc,stat_name,tr10.read_reg(tc.nodeNrs,'REG_TR_10GBE',inst_offs+(REGMAP[stat_name][2][0]),1))
 
 
+def test_tx_seq(tc,io,cmd):
+    tc.set_section_id('tx seq - ')
+    tc.append_log(3, '>>>')
+    tc.append_log(1, '>>> %s' % help_text(tc,io,cmd))
+    tc.append_log(3, '>>>')
+
+    from pi_diag_tx_seq import REGMAP,PiDiagTxSeq
+    tx_seq = PiDiagTxSeq(tc,io,inst_name='10GBE')
+    tx_seq.write(tc.nodeNrs,inst_nrs=0, registers=[('control', 1)],regmap=REGMAP)
+
+
+    # instanceName is taken from tc.gpString
+    on_execute(class_definition=PiDiagTxSeq,regmap=REGMAP) # this reads/shows ALL status
+
+
+def test_rx_seq(tc,io,cmd):
+    tc.set_section_id('rx seq - ')
+    tc.append_log(3, '>>>')
+    tc.append_log(1, '>>> %s' % help_text(tc,io,cmd))
+    tc.append_log(3, '>>>')
+
+    from pi_diag_rx_seq import REGMAP,PiDiagRxSeq
+    rx_seq = PiDiagRxSeq(tc,io,inst_name='10GBE')
+    rx_seq.write(tc.nodeNrs,inst_nrs=0, registers=[('control', 1)],regmap=REGMAP)
+
+
+
+    # instanceName is taken from tc.gpString
+    on_execute(class_definition=PiDiagRxSeq,regmap=REGMAP) # this reads/shows ALL status
+
+
+
+
+
+def test_ddr_stat(tc,io,cmd):
+    tc.set_section_id('DDR3 status - ')
+    tc.append_log(3, '>>>')
+    tc.append_log(1, '>>> %s' % help_text(tc,io,cmd))
+    tc.append_log(3, '>>>')
+
+    from pi_io_ddr import REGMAP,PiIoDdr
+    on_execute(class_definition=PiIoDdr,regmap=REGMAP)
+
 
 def test_bsn_mon(tc,io,cmd):
     tc.set_section_id('Read BSN monitor status - ')
@@ -484,12 +565,15 @@ Cmd['REMU']    = (test_remu,    'using pi_remu to load user image (access REG_RE
 Cmd['WDI']     = (test_wdi,     'using pi_wdi to reset to image in bank 0 (access REG_WDI)','')
 Cmd['XAUI']    = (test_tr_xaui, 'using pi_tr_xaui to read xaui status (access REG_TR_XAUI)','(-r for addressing streams)')
 Cmd['10GBE']   = (test_tr_10GbE,'using pi_tr_10GbE to read 10GbE status (access REG_TR_10GBE)','(-r for addressing streams)')
+Cmd['DDR']     = (test_ddr_stat,'using pi_io_ddr to read DDR3 status (access REG_IO_DDR)','')
+Cmd['TXSEQ']   = (test_tx_seq,  'using pi_diag_tx_seq','')
+Cmd['RXSEQ']   = (test_rx_seq,  'using pi_diag_rx_seq','')
 Cmd['BSN']     = (test_bsn_mon, 'using pi_bsn_monitor to read BSN monitor (access REG_BSN_MONITOR)','')
-Cmd['BGDB']    = (test_BG_to_DB,'using BG (pi_diag_block_gen.py) and DB (pi_diag_data_buffer.py)','(-r for addressing streams, -n1 for use pps)')
-Cmd['BGs00100'] = (write_BG_00100,'set test BG pattern ...000000000010000000000...','(-r for addressing streams)')
-Cmd['BGsff7ff'] = (write_BG_ff7ff,'set test BG pattern ...ffffffffff7ffffffffff...','(-r for addressing streams)')
-Cmd['BGsrand']  = (write_BG_rand, 'set test BG pattern with pseudo random (seed=10)','(-r for addressing streams)')
-Cmd['BGscount'] = (write_BG_count,'set test BG pattern with counter data','(-r for addressing streams)')
+Cmd['BGDB']    = (test_BG_to_DB,'using BG (pi_diag_block_gen.py) and DB (pi_diag_data_buffer.py)','(-r and -s for addressing streams, -n1 for use pps)')
+Cmd['BGs00100'] = (write_BG_00100,'set test BG pattern ...000000000010000000000...','(-r and -s for addressing streams)')
+Cmd['BGsff7ff'] = (write_BG_ff7ff,'set test BG pattern ...ffffffffff7ffffffffff...','(-r and -s for addressing streams)')
+Cmd['BGsrand']  = (write_BG_rand, 'set test BG pattern with pseudo random (seed=10)','(-r and -s for addressing streams)')
+Cmd['BGscount'] = (write_BG_count,'set test BG pattern with counter data','(-r and -s for addressing streams)')
 Cmd['sleep1']  = (sleep,        'Sleep 1 second','')
 Cmd['sleep5']  = (sleep,        'Sleep 5 seconds','')
 Cmd['example'] = (show_help,    'show several example commands','')
@@ -506,6 +590,8 @@ def help_text(tc,io,cmd):
         tc.append_log(0, '    <nodes>: use: --unb N --fn N --bn N (N is a number or vector) or:')
         tc.append_log(0, '    <nodes>: use: --gn N (N is a number or vector)')
         tc.append_log(0, '    <command sequence>: use: --seq <command(s) separated by ",">:')
+        tc.append_log(0, '    <streamdevice>: use: -s 10GBE  or  -s 1GBE  to select stream device')
+        tc.append_log(0, '    <streamnumber>: use: -r N  to select a stream number (N can also be 0:2)')
         tc.append_log(0, '')
         for cmd in sorted(Cmd):
             tc.append_log(0, '    .  %s\t%s  %s' % (cmd,Cmd[cmd][1],Cmd[cmd][2]))
diff --git a/boards/uniboard2/designs/unb2_test/tb/vhdl/tb_unb2_test.vhd b/boards/uniboard2/designs/unb2_test/tb/vhdl/tb_unb2_test.vhd
index fb138bea34..aad4be6c1c 100644
--- a/boards/uniboard2/designs/unb2_test/tb/vhdl/tb_unb2_test.vhd
+++ b/boards/uniboard2/designs/unb2_test/tb/vhdl/tb_unb2_test.vhd
@@ -98,6 +98,8 @@ ARCHITECTURE tb OF tb_unb2_test IS
   SIGNAL sens_scl            : STD_LOGIC;
   SIGNAL sens_sda            : STD_LOGIC;
 
+  SIGNAL qsfp_led            : STD_LOGIC_VECTOR(c_unb2_board_tr_qsfp_nof_leds-1 DOWNTO 0);
+
   -- 10GbE
   SIGNAL sa_clk              : STD_LOGIC := '1';
   SIGNAL sb_clk              : STD_LOGIC := '1';
@@ -179,8 +181,8 @@ BEGIN
       INTA        => INTA,
       INTB        => INTB,
 
-      sens_sc     => sens_scl,
-      sens_sd     => sens_sda,
+      SENS_SC     => sens_scl,
+      SENS_SD     => sens_sda,
 
       -- Others
       VERSION     => VERSION,
@@ -188,7 +190,7 @@ BEGIN
       TESTIO      => TESTIO,
 
       -- 1GbE Control Interface
-      ETH_clk     => eth_clk,
+      ETH_CLK     => eth_clk,
       ETH_SGIN    => eth_rxp,
       ETH_SGOUT   => eth_txp,
 
@@ -202,24 +204,26 @@ BEGIN
       -- Serial I/O
       QSFP_0_TX  => si_lpbk_0,
       QSFP_0_RX  => si_lpbk_0,
-      QSFP_1_TX  => si_lpbk_1,
-      QSFP_1_RX  => si_lpbk_1,
-      QSFP_2_TX  => si_lpbk_2,
-      QSFP_2_RX  => si_lpbk_2,
-      QSFP_3_TX  => si_lpbk_3,
-      QSFP_3_RX  => si_lpbk_3,
-      QSFP_4_TX  => si_lpbk_4,
-      QSFP_4_RX  => si_lpbk_4,
-      QSFP_5_TX  => si_lpbk_5,
-      QSFP_5_RX  => si_lpbk_5,
-
-      RING_0_TX  => si_lpbk_6,
-      RING_0_RX  => si_lpbk_6,
-      RING_1_TX  => si_lpbk_7,
-      RING_1_RX  => si_lpbk_7,
-
-      BCK_TX     => si_lpbk_8,
-      BCK_RX     => si_lpbk_8
+--      QSFP_1_TX  => si_lpbk_1,
+--      QSFP_1_RX  => si_lpbk_1,
+--      QSFP_2_TX  => si_lpbk_2,
+--      QSFP_2_RX  => si_lpbk_2,
+--      QSFP_3_TX  => si_lpbk_3,
+--      QSFP_3_RX  => si_lpbk_3,
+--      QSFP_4_TX  => si_lpbk_4,
+--      QSFP_4_RX  => si_lpbk_4,
+--      QSFP_5_TX  => si_lpbk_5,
+--      QSFP_5_RX  => si_lpbk_5,
+--
+--      RING_0_TX  => si_lpbk_6,
+--      RING_0_RX  => si_lpbk_6,
+--      RING_1_TX  => si_lpbk_7,
+--      RING_1_RX  => si_lpbk_7,
+--
+--      BCK_TX     => si_lpbk_8,
+--      BCK_RX     => si_lpbk_8,
+
+      QSFP_LED   => qsfp_led
     );
 
   ------------------------------------------------------------------------------
-- 
GitLab