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 f2bf0353631a4a74acbd488437b114704bbec67c..75b9c2f3d0cee73a2f5c7bf3f328d6366460d78c 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
@@ -82,15 +82,25 @@ ENTITY mmm_unb2_test IS
     reg_ppsh_mosi            : OUT t_mem_mosi; 
     reg_ppsh_miso            : IN  t_mem_miso; 
                              
-    -- eth1g
-    eth1g_mm_rst             : OUT STD_LOGIC;
-    eth1g_tse_mosi           : OUT t_mem_mosi;  
-    eth1g_tse_miso           : IN  t_mem_miso;  
-    eth1g_reg_mosi           : OUT t_mem_mosi;  
-    eth1g_reg_miso           : IN  t_mem_miso;  
-    eth1g_reg_interrupt      : IN  STD_LOGIC; 
-    eth1g_ram_mosi           : OUT t_mem_mosi;  
-    eth1g_ram_miso           : IN  t_mem_miso;
+    -- eth1g ch0
+    eth1g_eth0_mm_rst        : OUT STD_LOGIC;
+    eth1g_eth0_tse_mosi      : OUT t_mem_mosi;  
+    eth1g_eth0_tse_miso      : IN  t_mem_miso;  
+    eth1g_eth0_reg_mosi      : OUT t_mem_mosi;  
+    eth1g_eth0_reg_miso      : IN  t_mem_miso;  
+    eth1g_eth0_reg_interrupt : IN  STD_LOGIC; 
+    eth1g_eth0_ram_mosi      : OUT t_mem_mosi;  
+    eth1g_eth0_ram_miso      : IN  t_mem_miso;
+
+    -- eth1g ch1
+    eth1g_eth1_mm_rst        : OUT STD_LOGIC;
+    eth1g_eth1_tse_mosi      : OUT t_mem_mosi;  
+    eth1g_eth1_tse_miso      : IN  t_mem_miso;  
+    eth1g_eth1_reg_mosi      : OUT t_mem_mosi;  
+    eth1g_eth1_reg_miso      : IN  t_mem_miso;  
+    eth1g_eth1_reg_interrupt : IN  STD_LOGIC; 
+    eth1g_eth1_ram_mosi      : OUT t_mem_mosi;  
+    eth1g_eth1_ram_miso      : IN  t_mem_miso;
 
     -- EPCS read
     reg_dpmm_data_mosi       : OUT t_mem_mosi;
@@ -216,10 +226,10 @@ ARCHITECTURE str OF mmm_unb2_test IS
   SIGNAL sim_eth_mm_bus_switch                     : STD_LOGIC;
   SIGNAL sim_eth_psc_access                        : STD_LOGIC;
 
-  SIGNAL i_eth1g_reg_mosi                          : t_mem_mosi;
-  SIGNAL i_eth1g_reg_miso                          : t_mem_miso;
+  SIGNAL i_eth1g_eth1_reg_mosi                     : t_mem_mosi;
+  SIGNAL i_eth1g_eth1_reg_miso                     : t_mem_miso;
 
-  SIGNAL sim_eth1g_reg_mosi                        : t_mem_mosi;
+  SIGNAL sim_eth1g_eth1_reg_mosi                   : t_mem_mosi;
   SIGNAL i_reset_n                                 : STD_LOGIC;
 
   ----------------------------------------------------------------------------
@@ -246,7 +256,8 @@ BEGIN
   ----------------------------------------------------------------------------
   gen_mm_file_io : IF g_sim = TRUE GENERATE
 
-    eth1g_mm_rst <= mm_rst;
+    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 );
@@ -313,8 +324,10 @@ BEGIN
 
 
     -- Note: the eth1g RAM and TSE buses are only required by unb_osy on the NIOS as they provide the ethernet<->MM gateway.
-    u_mm_file_reg_eth             : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "AVS_ETH_0_MMS_REG")
-                                               PORT MAP(mm_rst, mm_clk, eth1g_reg_mosi, eth1g_reg_miso);
+    u_mm_file_reg_eth0            : mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "AVS_ETH_0_MMS_REG")
+                                               PORT MAP(mm_rst, mm_clk, eth1g_eth0_reg_mosi, eth1g_eth0_reg_miso);
+    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);
@@ -330,25 +343,25 @@ BEGIN
     BEGIN
       sim_eth_mm_bus_switch <= '1';
 
-      eth1g_tse_mosi.wr <= '0';
-      eth1g_tse_mosi.rd <= '0';
+      eth1g_eth1_tse_mosi.wr <= '0';
+      eth1g_eth1_tse_mosi.rd <= '0';
       WAIT FOR 400 ns;
       WAIT UNTIL rising_edge(mm_clk);
-      proc_tech_tse_setup(c_tech_arria10, FALSE, c_tech_tse_tx_fifo_depth, c_tech_tse_rx_fifo_depth, c_tech_tse_tx_ready_latency, c_sim_eth_src_mac, sim_eth_psc_access, mm_clk, eth1g_tse_miso, eth1g_tse_mosi);
+      proc_tech_tse_setup(c_tech_arria10, FALSE, c_tech_tse_tx_fifo_depth, c_tech_tse_rx_fifo_depth, c_tech_tse_tx_ready_latency, c_sim_eth_src_mac, sim_eth_psc_access, mm_clk, eth1g_eth1_tse_miso, eth1g_eth1_tse_mosi);
 
       -- Enable RX
-      proc_mem_mm_bus_wr(c_eth_reg_control_wi+0, c_sim_eth_control_rx_en, mm_clk, eth1g_reg_miso, sim_eth1g_reg_mosi);  -- control rx en
+      proc_mem_mm_bus_wr(c_eth_reg_control_wi+0, c_sim_eth_control_rx_en, mm_clk, eth1g_eth1_reg_miso, sim_eth1g_eth1_reg_mosi);  -- control rx en
       sim_eth_mm_bus_switch <= '0';
 
       WAIT;
     END PROCESS;
 
-    p_switch : PROCESS(sim_eth_mm_bus_switch, sim_eth1g_reg_mosi, i_eth1g_reg_mosi)
+    p_switch : PROCESS(sim_eth_mm_bus_switch, sim_eth1g_eth1_reg_mosi, i_eth1g_eth1_reg_mosi)
     BEGIN
       IF sim_eth_mm_bus_switch = '1' THEN
-          eth1g_reg_mosi <= sim_eth1g_reg_mosi;
+          eth1g_eth1_reg_mosi <= sim_eth1g_eth1_reg_mosi;
         ELSE
-          eth1g_reg_mosi <= i_eth1g_reg_mosi;
+          eth1g_eth1_reg_mosi <= i_eth1g_eth1_reg_mosi;
         END IF;
     END PROCESS;
 
@@ -376,25 +389,45 @@ BEGIN
       -- the_pio_wdi: toggled by NIOS II application unb_osy. Connects to WDI via ctrl_unb2_board.
       pio_wdi_external_connection_export        => pout_wdi,
 
-      avs_eth_0_reset_export                    => eth1g_mm_rst,
+      avs_eth_0_reset_export                    => eth1g_eth0_mm_rst,
       avs_eth_0_clk_export                      => OPEN,
-      avs_eth_0_tse_address_export              => eth1g_tse_mosi.address(c_unb2_board_peripherals_mm_reg_default.reg_tse_adr_w-1 DOWNTO 0),
-      avs_eth_0_tse_write_export                => eth1g_tse_mosi.wr,
-      avs_eth_0_tse_read_export                 => eth1g_tse_mosi.rd,
-      avs_eth_0_tse_writedata_export            => eth1g_tse_mosi.wrdata(c_word_w-1 DOWNTO 0),
-      avs_eth_0_tse_readdata_export             => eth1g_tse_miso.rddata(c_word_w-1 DOWNTO 0),
-      avs_eth_0_tse_waitrequest_export          => eth1g_tse_miso.waitrequest,
-      avs_eth_0_reg_address_export              => eth1g_reg_mosi.address(c_unb2_board_peripherals_mm_reg_default.reg_eth_adr_w-1 DOWNTO 0),
-      avs_eth_0_reg_write_export                => eth1g_reg_mosi.wr,
-      avs_eth_0_reg_read_export                 => eth1g_reg_mosi.rd,
-      avs_eth_0_reg_writedata_export            => eth1g_reg_mosi.wrdata(c_word_w-1 DOWNTO 0),
-      avs_eth_0_reg_readdata_export             => eth1g_reg_miso.rddata(c_word_w-1 DOWNTO 0),
-      avs_eth_0_ram_address_export              => eth1g_ram_mosi.address(c_unb2_board_peripherals_mm_reg_default.ram_eth_adr_w-1 DOWNTO 0),
-      avs_eth_0_ram_write_export                => eth1g_ram_mosi.wr,
-      avs_eth_0_ram_read_export                 => eth1g_ram_mosi.rd,
-      avs_eth_0_ram_writedata_export            => eth1g_ram_mosi.wrdata(c_word_w-1 DOWNTO 0),
-      avs_eth_0_ram_readdata_export             => eth1g_ram_miso.rddata(c_word_w-1 DOWNTO 0),
-      avs_eth_0_irq_export                      => eth1g_reg_interrupt,
+      avs_eth_0_tse_address_export              => eth1g_eth0_tse_mosi.address(c_unb2_board_peripherals_mm_reg_default.reg_tse_adr_w-1 DOWNTO 0),
+      avs_eth_0_tse_write_export                => eth1g_eth0_tse_mosi.wr,
+      avs_eth_0_tse_read_export                 => eth1g_eth0_tse_mosi.rd,
+      avs_eth_0_tse_writedata_export            => eth1g_eth0_tse_mosi.wrdata(c_word_w-1 DOWNTO 0),
+      avs_eth_0_tse_readdata_export             => eth1g_eth0_tse_miso.rddata(c_word_w-1 DOWNTO 0),
+      avs_eth_0_tse_waitrequest_export          => eth1g_eth0_tse_miso.waitrequest,
+      avs_eth_0_reg_address_export              => eth1g_eth0_reg_mosi.address(c_unb2_board_peripherals_mm_reg_default.reg_eth_adr_w-1 DOWNTO 0),
+      avs_eth_0_reg_write_export                => eth1g_eth0_reg_mosi.wr,
+      avs_eth_0_reg_read_export                 => eth1g_eth0_reg_mosi.rd,
+      avs_eth_0_reg_writedata_export            => eth1g_eth0_reg_mosi.wrdata(c_word_w-1 DOWNTO 0),
+      avs_eth_0_reg_readdata_export             => eth1g_eth0_reg_miso.rddata(c_word_w-1 DOWNTO 0),
+      avs_eth_0_ram_address_export              => eth1g_eth0_ram_mosi.address(c_unb2_board_peripherals_mm_reg_default.ram_eth_adr_w-1 DOWNTO 0),
+      avs_eth_0_ram_write_export                => eth1g_eth0_ram_mosi.wr,
+      avs_eth_0_ram_read_export                 => eth1g_eth0_ram_mosi.rd,
+      avs_eth_0_ram_writedata_export            => eth1g_eth0_ram_mosi.wrdata(c_word_w-1 DOWNTO 0),
+      avs_eth_0_ram_readdata_export             => eth1g_eth0_ram_miso.rddata(c_word_w-1 DOWNTO 0),
+      avs_eth_0_irq_export                      => eth1g_eth0_reg_interrupt,
+
+      avs_eth_1_reset_export                    => eth1g_eth1_mm_rst,
+      avs_eth_1_clk_export                      => OPEN,
+      avs_eth_1_tse_address_export              => eth1g_eth1_tse_mosi.address(c_unb2_board_peripherals_mm_reg_default.reg_tse_adr_w-1 DOWNTO 0),
+      avs_eth_1_tse_write_export                => eth1g_eth1_tse_mosi.wr,
+      avs_eth_1_tse_read_export                 => eth1g_eth1_tse_mosi.rd,
+      avs_eth_1_tse_writedata_export            => eth1g_eth1_tse_mosi.wrdata(c_word_w-1 DOWNTO 0),
+      avs_eth_1_tse_readdata_export             => eth1g_eth1_tse_miso.rddata(c_word_w-1 DOWNTO 0),
+      avs_eth_1_tse_waitrequest_export          => eth1g_eth1_tse_miso.waitrequest,
+      avs_eth_1_reg_address_export              => eth1g_eth1_reg_mosi.address(c_unb2_board_peripherals_mm_reg_default.reg_eth_adr_w-1 DOWNTO 0),
+      avs_eth_1_reg_write_export                => eth1g_eth1_reg_mosi.wr,
+      avs_eth_1_reg_read_export                 => eth1g_eth1_reg_mosi.rd,
+      avs_eth_1_reg_writedata_export            => eth1g_eth1_reg_mosi.wrdata(c_word_w-1 DOWNTO 0),
+      avs_eth_1_reg_readdata_export             => eth1g_eth1_reg_miso.rddata(c_word_w-1 DOWNTO 0),
+      avs_eth_1_ram_address_export              => eth1g_eth1_ram_mosi.address(c_unb2_board_peripherals_mm_reg_default.ram_eth_adr_w-1 DOWNTO 0),
+      avs_eth_1_ram_write_export                => eth1g_eth1_ram_mosi.wr,
+      avs_eth_1_ram_read_export                 => eth1g_eth1_ram_mosi.rd,
+      avs_eth_1_ram_writedata_export            => eth1g_eth1_ram_mosi.wrdata(c_word_w-1 DOWNTO 0),
+      avs_eth_1_ram_readdata_export             => eth1g_eth1_ram_miso.rddata(c_word_w-1 DOWNTO 0),
+      avs_eth_1_irq_export                      => eth1g_eth1_reg_interrupt,
 
       reg_unb_sens_reset_export                 => OPEN,
       reg_unb_sens_clk_export                   => OPEN,
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 0a02f4433e1c8288653c6e3848f88810ec17dcca..0eaf14baa5bbf5b1525495a2da5a33d25ee7750a 100644
--- a/boards/uniboard2/designs/unb2_test/src/vhdl/unb2_test.vhd
+++ b/boards/uniboard2/designs/unb2_test/src/vhdl/unb2_test.vhd
@@ -216,15 +216,25 @@ ARCHITECTURE str OF unb2_test IS
   SIGNAL reg_unb_sens_mosi          : t_mem_mosi;
   SIGNAL reg_unb_sens_miso          : t_mem_miso;
 
-  -- eth1g
-  SIGNAL eth1g_mm_rst               : STD_LOGIC;
-  SIGNAL eth1g_tse_mosi             : t_mem_mosi;  -- ETH TSE MAC registers
-  SIGNAL eth1g_tse_miso             : t_mem_miso;
-  SIGNAL eth1g_reg_mosi             : t_mem_mosi;  -- ETH control and status registers
-  SIGNAL eth1g_reg_miso             : t_mem_miso;
-  SIGNAL eth1g_reg_interrupt        : STD_LOGIC;   -- Interrupt
-  SIGNAL eth1g_ram_mosi             : t_mem_mosi;  -- ETH rx frame and tx frame memory
-  SIGNAL eth1g_ram_miso             : t_mem_miso;
+  -- eth1g ch0
+  SIGNAL eth1g_eth0_mm_rst          : STD_LOGIC;
+  SIGNAL eth1g_eth0_tse_mosi        : t_mem_mosi;  -- ETH TSE MAC registers
+  SIGNAL eth1g_eth0_tse_miso        : t_mem_miso;
+  SIGNAL eth1g_eth0_reg_mosi        : t_mem_mosi;  -- ETH control and status registers
+  SIGNAL eth1g_eth0_reg_miso        : t_mem_miso;
+  SIGNAL eth1g_eth0_reg_interrupt   : STD_LOGIC;   -- Interrupt
+  SIGNAL eth1g_eth0_ram_mosi        : t_mem_mosi;  -- ETH rx frame and tx frame memory
+  SIGNAL eth1g_eth0_ram_miso        : t_mem_miso;
+
+  -- eth1g ch1
+  SIGNAL eth1g_eth1_mm_rst          : STD_LOGIC;
+  SIGNAL eth1g_eth1_tse_mosi        : t_mem_mosi;  -- ETH TSE MAC registers
+  SIGNAL eth1g_eth1_tse_miso        : t_mem_miso;
+  SIGNAL eth1g_eth1_reg_mosi        : t_mem_mosi;  -- ETH control and status registers
+  SIGNAL eth1g_eth1_reg_miso        : t_mem_miso;
+  SIGNAL eth1g_eth1_reg_interrupt   : STD_LOGIC;   -- Interrupt
+  SIGNAL eth1g_eth1_ram_mosi        : t_mem_mosi;  -- ETH rx frame and tx frame memory
+  SIGNAL eth1g_eth1_ram_miso        : t_mem_miso;
 
   -- EPCS read
   SIGNAL reg_dpmm_data_mosi         : t_mem_mosi;
@@ -422,15 +432,15 @@ BEGIN
     reg_ppsh_mosi            => reg_ppsh_mosi,
     reg_ppsh_miso            => reg_ppsh_miso,
     
-    -- eth1g
-    eth1g_mm_rst             => eth1g_mm_rst,
-    eth1g_tse_mosi           => eth1g_tse_mosi,
-    eth1g_tse_miso           => eth1g_tse_miso,
-    eth1g_reg_mosi           => eth1g_reg_mosi,
-    eth1g_reg_miso           => eth1g_reg_miso,
-    eth1g_reg_interrupt      => eth1g_reg_interrupt,
-    eth1g_ram_mosi           => eth1g_ram_mosi,
-    eth1g_ram_miso           => eth1g_ram_miso,
+    -- eth1g ch0
+    eth1g_mm_rst             => eth1g_eth0_mm_rst,
+    eth1g_tse_mosi           => eth1g_eth0_tse_mosi,
+    eth1g_tse_miso           => eth1g_eth0_tse_miso,
+    eth1g_reg_mosi           => eth1g_eth0_reg_mosi,
+    eth1g_reg_miso           => eth1g_eth0_reg_miso,
+    eth1g_reg_interrupt      => eth1g_eth0_reg_interrupt,
+    eth1g_ram_mosi           => eth1g_eth0_ram_mosi,
+    eth1g_ram_miso           => eth1g_eth0_ram_miso,
         
     -- eth1g UDP streaming ports
     udp_tx_sosi_arr          =>  eth1g_udp_tx_sosi_arr,
@@ -501,15 +511,25 @@ BEGIN
     reg_ppsh_mosi            => reg_ppsh_mosi,
     reg_ppsh_miso            => reg_ppsh_miso, 
   
-    -- eth1g
-    eth1g_mm_rst             => eth1g_mm_rst,
-    eth1g_tse_mosi           => eth1g_tse_mosi,
-    eth1g_tse_miso           => eth1g_tse_miso,
-    eth1g_reg_mosi           => eth1g_reg_mosi,
-    eth1g_reg_miso           => eth1g_reg_miso,
-    eth1g_reg_interrupt      => eth1g_reg_interrupt,
-    eth1g_ram_mosi           => eth1g_ram_mosi,
-    eth1g_ram_miso           => eth1g_ram_miso,
+    -- eth1g ch0
+    eth1g_eth0_mm_rst        => eth1g_eth0_mm_rst,
+    eth1g_eth0_tse_mosi      => eth1g_eth0_tse_mosi,
+    eth1g_eth0_tse_miso      => eth1g_eth0_tse_miso,
+    eth1g_eth0_reg_mosi      => eth1g_eth0_reg_mosi,
+    eth1g_eth0_reg_miso      => eth1g_eth0_reg_miso,
+    eth1g_eth0_reg_interrupt => eth1g_eth0_reg_interrupt,
+    eth1g_eth0_ram_mosi      => eth1g_eth0_ram_mosi,
+    eth1g_eth0_ram_miso      => eth1g_eth0_ram_miso,
+
+    -- eth1g ch1
+    eth1g_eth1_mm_rst        => eth1g_eth1_mm_rst,
+    eth1g_eth1_tse_mosi      => eth1g_eth1_tse_mosi,
+    eth1g_eth1_tse_miso      => eth1g_eth1_tse_miso,
+    eth1g_eth1_reg_mosi      => eth1g_eth1_reg_mosi,
+    eth1g_eth1_reg_miso      => eth1g_eth1_reg_miso,
+    eth1g_eth1_reg_interrupt => eth1g_eth1_reg_interrupt,
+    eth1g_eth1_ram_mosi      => eth1g_eth1_ram_mosi,
+    eth1g_eth1_ram_miso      => eth1g_eth1_ram_miso,
 
     -- EPCS read
     reg_dpmm_data_mosi       => reg_dpmm_data_mosi,
@@ -658,11 +678,14 @@ BEGIN
   -- Interface : 1GbE
   -----------------------------------------------------------------------------
   gen_wires_1GbE : IF c_use_1GbE=TRUE GENERATE
-    eth1g_udp_tx_sosi_arr(0)         <= dp_offload_tx_1GbE_src_out_arr(0);
-    dp_offload_tx_1GbE_src_in_arr(0) <= eth1g_udp_tx_siso_arr(0);
+    gen_1GbE_wires : FOR i IN 0 TO c_nof_streams_1GbE-1 GENERATE
 
-    dp_offload_rx_1GbE_snk_in_arr(0) <= eth1g_udp_rx_sosi_arr(0);
-    eth1g_udp_rx_siso_arr(0)         <= dp_offload_rx_1GbE_snk_out_arr(0);
+      eth1g_udp_tx_sosi_arr(i)         <= dp_offload_tx_1GbE_src_out_arr(i);
+      dp_offload_tx_1GbE_src_in_arr(i) <= eth1g_udp_tx_siso_arr(i);
+      dp_offload_rx_1GbE_snk_in_arr(i) <= eth1g_udp_rx_sosi_arr(i);
+      eth1g_udp_rx_siso_arr(i)         <= dp_offload_rx_1GbE_snk_out_arr(i);
+
+    END GENERATE;
   END GENERATE;