diff --git a/applications/dig_receiver/designs/dig_receiver_fn/hdllib.cfg b/applications/dig_receiver/designs/dig_receiver_fn/hdllib.cfg
index 0e48f625684456023ca1a2a2aecd3c80a8c19652..b3e364d6243b3a6c26f22723904d16cff272a73b 100644
--- a/applications/dig_receiver/designs/dig_receiver_fn/hdllib.cfg
+++ b/applications/dig_receiver/designs/dig_receiver_fn/hdllib.cfg
@@ -1,6 +1,6 @@
 hdl_lib_name = dig_receiver_fn
 hdl_library_clause_name = dig_receiver_fn_lib
-hdl_lib_uses_synth = common mm dp unb1_board diag digital_receiver dr_mesh
+hdl_lib_uses_synth = common mm dp unb1_board diag digital_receiver dr_mesh tr_10GbE_lib dr_udp_packetizer
 hdl_lib_uses_sim = 
 
 hdl_lib_technology = ip_stratixiv
diff --git a/applications/dig_receiver/designs/dig_receiver_fn/src/vhdl/dig_rec_fn.vhd b/applications/dig_receiver/designs/dig_receiver_fn/src/vhdl/dig_rec_fn.vhd
index 9baf5e95dc4401d117c79bf6a5907a0c3d411479..b420051af77df16dcc5c8f94f675a5feddd0ad99 100644
--- a/applications/dig_receiver/designs/dig_receiver_fn/src/vhdl/dig_rec_fn.vhd
+++ b/applications/dig_receiver/designs/dig_receiver_fn/src/vhdl/dig_rec_fn.vhd
@@ -49,6 +49,7 @@ LIBRARY common_lib, unb1_board_lib, dp_lib, tse_lib, bf_lib;
 LIBRARY mesh_lib, digrec_lib, common_oa_lib;
 USE common_lib.common_pkg.ALL;
 USE common_lib.common_mem_pkg.ALL;
+USE common_lib.common_interface_layers_pkg.ALL;
 USE unb1_board_lib.unb1_board_pkg.ALL;
 USE dp_lib.dp_stream_pkg.ALL;
 --USE tse_lib.tse_pkg.ALL;
@@ -102,9 +103,7 @@ GENERIC (
     SI_FN_1_CNTRL          : INOUT STD_LOGIC_VECTOR(2 DOWNTO 0);  -- [2:0]
     SI_FN_2_CNTRL          : INOUT STD_LOGIC_VECTOR(2 DOWNTO 0);  -- [2:0]
     SI_FN_RSTN             : OUT   STD_LOGIC;
-
-
-
+	 
     -- 1GbE Control Interface
     ETH_clk       : IN    STD_LOGIC;
     ETH_SGIN      : IN    STD_LOGIC;
@@ -203,17 +202,26 @@ architecture str of dig_receiver_fn is
   SIGNAL eth10g_udp_miso_arr        : t_mem_miso_arr(2 DOWNTO 0) := (OTHERS=>c_mem_miso_rst);
   SIGNAL eth10g_mac_mosi_arr        : t_mem_mosi_arr(2 DOWNTO 0) := (OTHERS=>c_mem_mosi_rst);
   SIGNAL eth10g_mac_miso_arr        : t_mem_miso_arr(2 DOWNTO 0) := (OTHERS=>c_mem_miso_rst);
+  SIGNAL reg_xaui_mosi              : t_mem_mosi;
+  SIGNAL reg_xaui_miso              : t_mem_miso;
+  SIGNAL reg_eth10g_mosi            : t_mem_mosi;
+  SIGNAL reg_eth10g_miso            : t_mem_miso;
   SIGNAL eth10g_softreset           : STD_LOGIC_VECTOR(c_byte_w-1 DOWNTO 0);
 	
   SIGNAL tr_front_clk               : STD_LOGIC;
-  SIGNAL tr_front_serial_out        : STD_LOGIC_VECTOR(11 DOWNTO 0);
-  SIGNAL tr_front_serial_in         : STD_LOGIC_VECTOR(11 DOWNTO 0);
+  --SIGNAL tr_front_serial_out        : STD_LOGIC_VECTOR(11 DOWNTO 0);
+  --SIGNAL tr_front_serial_in         : STD_LOGIC_VECTOR(11 DOWNTO 0);
   SIGNAL tr_front_phy_mdc           : STD_LOGIC_VECTOR(2 DOWNTO 0);
   SIGNAL tr_front_phy_mdio_in       : STD_LOGIC_VECTOR(2 DOWNTO 0);
   SIGNAL tr_front_phy_mdio_out      : STD_LOGIC_VECTOR(2 DOWNTO 0);
   SIGNAL tr_front_phy_mdio_oen      : STD_LOGIC_VECTOR(2 DOWNTO 0);
   SIGNAL tr_front_rst_n             : STD_LOGIC;
-
+    -- Serial IO
+  SIGNAL i_xaui_tx_arr              : t_xaui_arr(2 DOWNTO 0);
+  SIGNAL i_xaui_rx_arr              : t_xaui_arr(2 DOWNTO 0);
+	     -- Serial XAUI IO
+  SIGNAL tr_front_serial_out        : t_unb1_board_xaui_sl_2arr(2 DOWNTO 0) := (OTHERS=>(OTHERS=>'0'));
+  SIGNAL tr_front_serial_in         : t_unb1_board_xaui_sl_2arr(2 DOWNTO 0);
  -- ADC input
   SIGNAL reg_adc_lvds_mosi     : t_mem_mosi;
   SIGNAL reg_adc_lvds_miso     : t_mem_miso := c_mem_miso_rst;
@@ -548,74 +556,78 @@ stage: ENTITY work.node_dr_2nd_stage
     data_out_siso          => data_out_to_10G_siso
 );
 
---
--- Eth10G front panel link
---
-    tr_front_clk  <= SA_CLK;
-
-    SI_FN_RSTN <= xo_rst_n;
-
-    -- Provide a soft reset for the Eth 10G ports
-    eth10g_mac_rst_n(0) <= '0' WHEN xo_rst_n = '0' OR eth10g_softreset(0) = '1' ELSE '1';
-    eth10g_mac_rst_n(1) <= '0' WHEN xo_rst_n = '0' OR eth10g_softreset(1) = '1' ELSE '1';
-    eth10g_mac_rst_n(2) <= '0' WHEN xo_rst_n = '0' OR eth10g_softreset(2) = '1' ELSE '1';
-
-    -- The MDIO connections to the Vitesse PHY
-    SI_FN_0_CNTRL(1)        <= tr_front_phy_mdc(0);
-    SI_FN_0_CNTRL(2)        <= tr_front_phy_mdio_out(0) WHEN tr_front_phy_mdio_oen(0) = '0' ELSE 'Z';
-    tr_front_phy_mdio_in(0) <= SI_FN_0_CNTRL(2);
-
-    SI_FN_1_CNTRL(1)        <= tr_front_phy_mdc(1);
-    SI_FN_1_CNTRL(2)        <= tr_front_phy_mdio_out(1) WHEN tr_front_phy_mdio_oen(1) = '0' ELSE 'Z';
-    tr_front_phy_mdio_in(1) <= SI_FN_1_CNTRL(2);
-
-    SI_FN_2_CNTRL(1)        <= tr_front_phy_mdc(2);
-    SI_FN_2_CNTRL(2)        <= tr_front_phy_mdio_out(2) WHEN tr_front_phy_mdio_oen(2) = '0' ELSE 'Z';
-    tr_front_phy_mdio_in(2) <= SI_FN_2_CNTRL(2);
-
-    -- Wire fixed 12 transceivers to backplane with 3 bundles of 4 (SI_FN_3 is not used)
-    SI_FN_0_TX(0) <= tr_front_serial_out(0);   tr_front_serial_in(0)  <= SI_FN_0_RX(0);
-    SI_FN_0_TX(1) <= tr_front_serial_out(1);   tr_front_serial_in(1)  <= SI_FN_0_RX(1);
-    SI_FN_0_TX(2) <= tr_front_serial_out(2);   tr_front_serial_in(2)  <= SI_FN_0_RX(2);
-    SI_FN_0_TX(3) <= tr_front_serial_out(3);   tr_front_serial_in(3)  <= SI_FN_0_RX(3);
-    SI_FN_1_TX(0) <= tr_front_serial_out(4);   tr_front_serial_in(4)  <= SI_FN_1_RX(0);
-    SI_FN_1_TX(1) <= tr_front_serial_out(5);   tr_front_serial_in(5)  <= SI_FN_1_RX(1);
-    SI_FN_1_TX(2) <= tr_front_serial_out(6);   tr_front_serial_in(6)  <= SI_FN_1_RX(2);
-    SI_FN_1_TX(3) <= tr_front_serial_out(7);   tr_front_serial_in(7)  <= SI_FN_1_RX(3);
-    SI_FN_2_TX(0) <= tr_front_serial_out(8);   tr_front_serial_in(8)  <= SI_FN_2_RX(0);
-    SI_FN_2_TX(1) <= tr_front_serial_out(9);   tr_front_serial_in(9)  <= SI_FN_2_RX(1);
-    SI_FN_2_TX(2) <= tr_front_serial_out(10);  tr_front_serial_in(10) <= SI_FN_2_RX(2);
-    SI_FN_2_TX(3) <= tr_front_serial_out(11);  tr_front_serial_in(11) <= SI_FN_2_RX(3);
-
 
 link_out: ENTITY work.multi_udp_eth10g_stream
   PORT MAP (
     -- mm interface
     mm_clk          => mm_clk,
-    mm_rst          => eth10g_mm_rst,
+    mm_rst          => mm_rst,
     st_clk          => dp_clk,
     stb_1s          => stb_1s,
-    tpg_mosi_arr    => eth10g_tpg_mosi_arr,
-    tpg_miso_arr    => eth10g_tpg_miso_arr,
     udp_mosi_arr    => eth10g_udp_mosi_arr,
     udp_miso_arr    => eth10g_udp_miso_arr,
-    mac_mosi_arr    => eth10g_mac_mosi_arr,
-    mac_miso_arr    => eth10g_mac_miso_arr,
+    reg_eth10g_mosi => reg_eth10g_mosi,
+    reg_eth10g_miso => reg_eth10g_miso,
+	-- reg_mac_mosi    => reg_mac_mosi,
+	-- reg_mac_miso    => reg_mac_miso,
+	 reg_xaui_mosi   => reg_xaui_mosi,
+	 reg_xaui_miso   => reg_xaui_miso,
 
     -- Transceiver Interface SI-FN via XAUI PHY chips using eth10g
     reconfig_clk    => cal_clk,
-    xaui_rst_n      => eth10g_mac_rst_n,
+    xaui_rst        => xo_rst,
     xaui_xo_clk     => tr_front_clk,
-    xaui_rx         => tr_front_serial_in,
-    xaui_tx         => tr_front_serial_out,
-    phy_mdc         => tr_front_phy_mdc,
-    phy_mdio_in     => tr_front_phy_mdio_in,
-    phy_mdio_out    => tr_front_phy_mdio_out,
-    phy_mdio_oen    => tr_front_phy_mdio_oen,
+    xaui_rx_arr     => i_xaui_rx_arr,
+    xaui_tx_arr     => i_xaui_tx_arr,
 
+    mdio_mdc_arr      => tr_front_phy_mdc,
+    mdio_mdat_in_arr  => tr_front_phy_mdio_in,
+    mdio_mdat_oen_arr => tr_front_phy_mdio_oen,
+    SI_FN_RSTN      => SI_FN_RSTN,
     -- transceiver stream input to links
     tx_sosi         => data_out_to_10G_sosi,
     tx_siso         => data_out_to_10G_siso);
+--
+-- Eth10G front panel link
+--
+    tr_front_clk  <= SA_CLK;
+
+    SI_FN_RSTN <= xo_rst_n;
+    -- Wire together different types
+    gen_wires: FOR i IN 0 TO 2 GENERATE
+      tr_front_serial_out(i) <= i_xaui_tx_arr(i);
+      i_xaui_rx_arr(i) <= tr_front_serial_in(i);
+    END GENERATE;
+	 
+    u_front_io : ENTITY unb1_board_lib.unb1_board_front_io
+    GENERIC MAP (
+      g_nof_xaui => 3
+    )
+    PORT MAP (
+      xaui_tx_arr       => tr_front_serial_out,
+      xaui_rx_arr       => tr_front_serial_in,
+
+      mdio_mdc_arr      => tr_front_phy_mdc,
+      mdio_mdat_in_arr  => tr_front_phy_mdio_in,
+      mdio_mdat_oen_arr => tr_front_phy_mdio_oen,
+
+      -- Serial I/O
+      SI_FN_0_TX        => SI_FN_0_TX,
+      SI_FN_0_RX        => SI_FN_0_RX,
+      SI_FN_1_TX        => SI_FN_1_TX,
+      SI_FN_1_RX        => SI_FN_1_RX,
+      SI_FN_2_TX        => SI_FN_2_TX,
+      SI_FN_2_RX        => SI_FN_2_RX,
+
+      SI_FN_0_CNTRL     => SI_FN_0_CNTRL,
+      SI_FN_1_CNTRL     => SI_FN_1_CNTRL,
+      SI_FN_2_CNTRL     => SI_FN_2_CNTRL
+     -- SI_FN_3_CNTRL     => SI_FN_3_CNTRL
+    );
+    -- Provide a soft reset for the Eth 10G ports
+    eth10g_mac_rst_n(0) <= '0' WHEN xo_rst_n = '0' OR eth10g_softreset(0) = '1' ELSE '1';
+    eth10g_mac_rst_n(1) <= '0' WHEN xo_rst_n = '0' OR eth10g_softreset(1) = '1' ELSE '1';
+    eth10g_mac_rst_n(2) <= '0' WHEN xo_rst_n = '0' OR eth10g_softreset(2) = '1' ELSE '1';
 
   -- Generate 1 cycle pps and ms pulses
   -- pps led can be used for a front panel activity LED
diff --git a/applications/dig_receiver/libraries/udp_packetizer/hdllib.cfg b/applications/dig_receiver/libraries/udp_packetizer/hdllib.cfg
index c65eef48921305ecaf72716f10a64c7227faeba3..92fb3ae730c31629f82e5760a00a4d8d2d4b84a0 100644
--- a/applications/dig_receiver/libraries/udp_packetizer/hdllib.cfg
+++ b/applications/dig_receiver/libraries/udp_packetizer/hdllib.cfg
@@ -1,6 +1,6 @@
 hdl_lib_name = dr_udp_packetizer
 hdl_library_clause_name = dr_udp_packetizer_lib
-hdl_lib_uses_synth = common mm dp technlolgy tech_mac_10g
+hdl_lib_uses_synth = common mm dp technology_lib tr_10GbE_lib tech_mac_10g tech_eth_10g tr_xaui
 hdl_lib_uses_sim = 
 
 hdl_lib_technology = 
@@ -9,14 +9,10 @@ build_dir_sim = $HDL_BUILD_DIR
 build_dir_synth = $HDL_BUILD_DIR
 
 synth_files =
-    $SVN/Digital_Receiver/trunk/Firmware/modules_HDL/udp_packetizer/src/vhdl/digrec_pkg.vhd
-   
-udp_formatter.vhd
-udp_packetizer_pkg.vhd
-udp_packetizer_st.vhd
-unb_packetizer_tpg.vhd
-udp_eth10g_stream.vhd
-multi_udp_eth10g_stream.vhd
+    $SVN/Digital_Receiver/trunk/Firmware/modules_HDL/udp_packetizer/src/vhdl/udp_packetizer_pkg.vhd
+    $SVN/Digital_Receiver/trunk/Firmware/modules_HDL/udp_packetizer/src/vhdl/udp_packetizer_st.vhd
+    $SVN/Digital_Receiver/trunk/Firmware/modules_HDL/udp_packetizer/src/vhdl/udp_eth10g_stream.vhd
+    $SVN/Digital_Receiver/trunk/Firmware/modules_HDL/udp_packetizer/src/vhdl/multi_udp_eth10g_stream.vhd
 
 test_bench_files = 
 
diff --git a/applications/dig_receiver/libraries/vdif_formatter/hdllib.cfg b/applications/dig_receiver/libraries/vdif_formatter/hdllib.cfg
index f0989ba270878c52b70ef6905e394b1b20dc022b..53af6f3871de4c42dd53f85d34841eaa831019c2 100644
--- a/applications/dig_receiver/libraries/vdif_formatter/hdllib.cfg
+++ b/applications/dig_receiver/libraries/vdif_formatter/hdllib.cfg
@@ -12,7 +12,6 @@ synth_files =
     $SVN/Digital_Receiver/trunk/Firmware/modules_HDL/formatter/src/vhdl/format_header.vhd
     $SVN/Digital_Receiver/trunk/Firmware/modules_HDL/formatter/src/vhdl/formatter.vhd
     $SVN/Digital_Receiver/trunk/Firmware/modules_HDL/formatter/src/vhdl/formatter_mm.vhd
-    $SVN/Digital_Receiver/trunk/Firmware/modules_HDL/formatter/src/vhdl/formatter_mm_hw.vhd
     $SVN/Digital_Receiver/trunk/Firmware/modules_HDL/formatter/src/vhdl/formatter_word_pack.vhd
     $SVN/Digital_Receiver/trunk/Firmware/modules_HDL/formatter/src/vhdl/frame_fifo_ip.vhd
     $SVN/Digital_Receiver/trunk/Firmware/modules_HDL/formatter/src/vhdl/ip_checksum.vhd