diff --git a/libraries/technology/mac_10g/tech_mac_10g.vhd b/libraries/technology/mac_10g/tech_mac_10g.vhd
index 5e2370274f34669c2b07d7e52f474e9028107fcc..e468d6b5052cccd10239ccff1b7dce5fba2fd88c 100644
--- a/libraries/technology/mac_10g/tech_mac_10g.vhd
+++ b/libraries/technology/mac_10g/tech_mac_10g.vhd
@@ -23,36 +23,51 @@
 
 -- Purpose:
 -- Description:
+--  . Block diagram:
+--                                                                                  <-- tx_clk_312
+--                                                                                  <-- tx_clk_156
+--                                                                                  <-- rx_clk_312
+--                                                                                  <-- rx_clk_156
+--                         g_pre_header_padding | 
+--                                              | tx_remove_snk      tx_mac_snk
+--              __________                      |  .  ______________  .  __________________
+--              |        |                      |  .  |            |  .  |                |
+--              | dp_pad |                      |  .  | dp_latency |  .  |                |
+--    tx_snk -->| remove |----------------------|---->| adapter    |---->|                |
+--              |        |                      |     | RL=1 --> 0 |     |                |
+--              |________|                      |     |____________|     |                |
+--                                              |                        |tech_mac_10g    |
+--              __________     ______________   |     ______________     |ip_<device_name>|---XGMII
+--              |        |     |            |   |     |            |     |                |
+--              | dp_pad |     | dp_latency |   |     | dp_latency |     |                |
+--    rx_src <--| insert |<----| fifo       |<--|-----| adapter    |<----|                |
+--              |        |  .  |            |   |  .  | RL=1 --> 0 |  .  |                |
+--              |________|  .  |____________|   |  .  |____________|  .  |________________|
+--                          .                   |  .                  .           |
+--                          x_fifo_src          | rx_mac_src_rl1     rx_mac_src   |
+--                                              |                                 |
+--                                              |                                csr
 --
+-- . Clocks:
+--   The 312.5 MHz and 156.25 MHz clocks are inputs to the MAC-10G.
+--   - For 10GBASE-R the Tx and Rx clocks come from the same local reference PLL.
+--   - For XAUI the 312.5 MHz is not used. The Tx clock comes from the local
+--     reference PLL. The Rx clock comes from the Rx PHY, so the Rx clock is 
+--     then a different clock domain than the Tx clock and the Rx clock may then
+--     have some ppm drift with respect to the Tx clock.
+--
+-- . dp_latency_adapter:
+--   The dp_latency_adapters are needed to adjust to RL=1 for the DP interface.
+--
+-- . g_pre_header_padding:
 --   If g_pre_header_padding is TRUE then remove pre header padding from ST tx
 --   and insert it in ST rx, because the 10G MAC IP does not use pre header
 --   padding. When g_pre_header_padding is FALSE then the ST frame is directly
 --   passed on via the dp_latency_adapters. The dp_latency_adapters are needed
 --   because the ST interface uses RL=1 whereas e.g. the Altera mac_10g IP uses
 --   RL=0.
---
---                                            tx_remove_snk      tx_mac_snk
---              __________                     .  ______________  .  __________________
---              |        |                     .  |            |  .  |                |
---              | dp_pad |                     .  | dp_latency |  .  |                |
---    tx_snk -->| remove |----------------------->| adapter    |---->|                |
---              |        |                        | RL=1 --> 0 |     |                |
---              |________|                        |____________|     |                |
---                                                                   |tech_mac_10g    |
---              __________     ______________     ______________     |ip_<device_name>|---XGMII
---              |        |     |            |     |            |     |                |
---              | dp_pad |     | dp_latency |     | dp_latency |     |                |
---    rx_src <--| insert |<----| fifo       |<----| adapter    |<----|                |
---              |        |  .  |            |  .  | RL=1 --> 0 |  .  |                |
---              |________|  .  |____________|  .  |____________|  .  |________________|
---                          .                  .                  .           |
---                          x_fifo_src        rx_mac_src_rl1     rx_mac_src   |
---                                                                            |
---                                                                           csr
---
--- Remarks:
--- . The dp_latency_fifo is necessary because the rx_mac_src_in.ready must remain
---   active during a reception, otherwise the rx frame gets truncated due to
+--   The dp_latency_fifo is necessary because the rx_mac_src_in.ready must remain
+--   active during a receptiothe Rx clockn, otherwise the rx frame gets truncated due to
 --   back pressure by dp_pad_insert.
 --
 
@@ -80,15 +95,15 @@ ENTITY tech_mac_10g IS
     csr_miso          : OUT t_mem_miso;
 
     -- ST
-    tx_clk_312        : IN  STD_LOGIC := '0';   -- 312.5 MHz
-    tx_clk_156        : IN  STD_LOGIC;          -- 156.25 MHz local reference
-    tx_rst            : IN  STD_LOGIC;
+    tx_clk_312        : IN  STD_LOGIC := '0';   -- 312.5 MHz from local reference or not used, dependent on g_technology
+    tx_clk_156        : IN  STD_LOGIC;          -- 156.25 MHz from local reference
+    tx_rst            : IN  STD_LOGIC;          -- for tx_clk_156 clock domain
     tx_snk_in         : IN  t_dp_sosi;   -- 64 bit data
     tx_snk_out        : OUT t_dp_siso; 
     
-    rx_clk_312        : IN  STD_LOGIC := '0';   -- 312.5 MHz
-    rx_clk_156        : IN  STD_LOGIC;          -- 156.25 MHz from rx phy
-    rx_rst            : IN  STD_LOGIC;
+    rx_clk_312        : IN  STD_LOGIC := '0';   -- 312.5 MHz from local reference or not used, dependent on g_technology
+    rx_clk_156        : IN  STD_LOGIC;          -- 156.25 MHz from local reference or from rx phy, dependent on g_technology
+    rx_rst            : IN  STD_LOGIC;          -- for rx_clk_156 clock domain
     rx_src_out        : OUT t_dp_sosi;   -- 64 bit data
     rx_src_in         : IN  t_dp_siso;