diff --git a/libraries/technology/mac_10g/tb_tech_mac_10g.vhd b/libraries/technology/mac_10g/tb_tech_mac_10g.vhd
index 190ce4cb9de77da8fe737b3684f1ae29c08b8596..ef1dcdca81f10e9c040c510383665b22d20112b0 100644
--- a/libraries/technology/mac_10g/tb_tech_mac_10g.vhd
+++ b/libraries/technology/mac_10g/tb_tech_mac_10g.vhd
@@ -57,9 +57,9 @@ END tb_tech_mac_10g;
 
 ARCHITECTURE tb OF tb_tech_mac_10g IS
 
-  CONSTANT mm_clk_period        : TIME := 20 ns;    --  50 MHz
-  CONSTANT tx_ref_clk_period    : TIME :=  6.4 ns;  -- 156.25 MHz
-  CONSTANT phy_delay            : TIME :=  0 ns;
+  CONSTANT mm_clk_period            : TIME := 20 ns;    --  50 MHz
+  CONSTANT tx_ref_clk_156_period    : TIME :=  6.4 ns;  -- 156.25 MHz
+  CONSTANT phy_delay                : TIME :=  0 ns;
   
   CONSTANT c_st_loopback        : BOOLEAN := FALSE;  -- default FALSE to verify the DUT, else use TRUE to verify the tb itself without the DUT
   CONSTANT c_rl                 : NATURAL := 1;
@@ -86,12 +86,12 @@ ARCHITECTURE tb OF tb_tech_mac_10g IS
   SIGNAL tb_end            : STD_LOGIC := '0';
   SIGNAL mm_clk            : STD_LOGIC := '0';  -- memory-mapped bus clock
   SIGNAL mm_rst            : STD_LOGIC;         -- reset synchronous with mm_clk
-  SIGNAL tx_ref_clk_2x     : STD_LOGIC := '1';  -- mac_10g
-  SIGNAL tx_ref_clk        : STD_LOGIC := '0';  -- mac_10g reference clock
-  SIGNAL tx_rst            : STD_LOGIC;         -- reset synchronous with tx_ref_clk
-  SIGNAL rx_phy_clk_2x     : STD_LOGIC := '1';  -- mac_10g
-  SIGNAL rx_phy_clk        : STD_LOGIC := '0';  -- mac_10g rx clock from phy = tx_ref_clk in this tb
-  SIGNAL rx_rst            : STD_LOGIC;         -- reset synchronous with rx_phy_clk = tx_ref_clk in this tb
+  SIGNAL tx_ref_clk_312    : STD_LOGIC := '1';  -- mac_10g
+  SIGNAL tx_ref_clk_156    : STD_LOGIC := '0';  -- mac_10g reference clock
+  SIGNAL tx_rst            : STD_LOGIC;         -- reset synchronous with tx_ref_clk_156
+  SIGNAL rx_phy_clk_312    : STD_LOGIC := '1';  -- mac_10g
+  SIGNAL rx_phy_clk_156    : STD_LOGIC := '0';  -- mac_10g rx clock from phy = tx_ref_clk_156 in this tb
+  SIGNAL rx_rst            : STD_LOGIC;         -- reset synchronous with rx_phy_clk_156 = tx_ref_clk_156 in this tb
 
   -- 10G MAC control interface
   SIGNAL mm_init           : STD_LOGIC := '1';
@@ -127,15 +127,15 @@ ARCHITECTURE tb OF tb_tech_mac_10g IS
 BEGIN
 
   -- run 50 us
-  mm_clk        <= NOT mm_clk        AFTER mm_clk_period/2;      -- MM clock
-  tx_ref_clk    <= NOT tx_ref_clk    AFTER tx_ref_clk_period/2;  -- mac_10g tx reference clock
-  tx_ref_clk_2x <= NOT tx_ref_clk_2x AFTER tx_ref_clk_period/4;
-  rx_phy_clk    <= tx_ref_clk;                                   -- use tx_ref_clk to model PHY
-  rx_phy_clk_2x <= tx_ref_clk_2x;
+  mm_clk         <= NOT mm_clk         AFTER mm_clk_period/2;          -- MM clock
+  tx_ref_clk_156 <= NOT tx_ref_clk_156 AFTER tx_ref_clk_156_period/2;  -- mac_10g tx reference clock
+  tx_ref_clk_312 <= NOT tx_ref_clk_312 AFTER tx_ref_clk_156_period/4;
+  rx_phy_clk_156 <= tx_ref_clk_156;                                    -- use tx_ref_clk_156 to model PHY
+  rx_phy_clk_312 <= tx_ref_clk_312;
   
   mm_rst <= '1', '0' AFTER mm_clk_period*10;
-  tx_rst <= '1', '0' AFTER tx_ref_clk_period*10;
-  rx_rst <= '1', '0' AFTER tx_ref_clk_period*10;
+  tx_rst <= '1', '0' AFTER tx_ref_clk_156_period*10;
+  rx_rst <= '1', '0' AFTER tx_ref_clk_156_period*10;
 
   -- debug signals to ease monitoring in wave window  
   tx_sosi_data <= tx_sosi.data(c_tech_mac_10g_data_w-1 DOWNTO 0);
@@ -172,9 +172,9 @@ BEGIN
     tx_sosi  <= c_dp_sosi_rst;
 
     WHILE mm_init/='0' LOOP
-      WAIT UNTIL rising_edge(tx_ref_clk);
+      WAIT UNTIL rising_edge(tx_ref_clk_156);
     END LOOP;
-    proc_common_wait_some_cycles(tx_ref_clk, 10);
+    proc_common_wait_some_cycles(tx_ref_clk_156, 10);
 
     -- Loopback txp->rxp so use promiscuous mode or use DST_MAC = c_src_mac to send to itself
     
@@ -184,12 +184,12 @@ BEGIN
     -- . For I>46 the payload length is I and empty = 4 - (I mod 4)
     
     FOR I IN 0 TO c_nof_pkt-1 LOOP
-      proc_tech_mac_10g_tx_packet(total_header, c_pkt_length_arr(I), g_data_type, c_rl, c_nof_tx_not_valid, tx_ref_clk, tx_en, tx_siso, tx_sosi);
-      proc_common_wait_some_cycles(tx_ref_clk, 0);
+      proc_tech_mac_10g_tx_packet(total_header, c_pkt_length_arr(I), g_data_type, c_rl, c_nof_tx_not_valid, tx_ref_clk_156, tx_en, tx_siso, tx_sosi);
+      proc_common_wait_some_cycles(tx_ref_clk_156, 0);
     END LOOP;
 
-    proc_common_wait_some_cycles(tx_ref_clk, c_pkt_length_arr(c_nof_pkt-1)/c_tech_mac_10g_symbols_per_beat);
-    proc_common_wait_some_cycles(tx_ref_clk, 100);
+    proc_common_wait_some_cycles(tx_ref_clk_156, c_pkt_length_arr(c_nof_pkt-1)/c_tech_mac_10g_symbols_per_beat);
+    proc_common_wait_some_cycles(tx_ref_clk_156, 100);
     tb_end <= '1';
     WAIT;
   END PROCESS;
@@ -201,22 +201,22 @@ BEGIN
     rx_siso <= c_dp_siso_hold;
 
     WHILE mm_init/='0' LOOP
-      WAIT UNTIL rising_edge(rx_phy_clk);
+      WAIT UNTIL rising_edge(rx_phy_clk_156);
     END LOOP;
 
     -- Receive forever
     WHILE TRUE LOOP
-      proc_tech_mac_10g_rx_packet(total_header, g_data_type, rx_phy_clk, rx_sosi, rx_siso);
+      proc_tech_mac_10g_rx_packet(total_header, g_data_type, rx_phy_clk_156, rx_sosi, rx_siso);
     END LOOP;
 
     WAIT;
   END PROCESS;
   
   
-  p_ff_store_tx_sosi_at_eop : PROCESS(tx_ref_clk)
+  p_ff_store_tx_sosi_at_eop : PROCESS(tx_ref_clk_156)
     VARIABLE vI : NATURAL := 0;
   BEGIN
-    IF rising_edge(tx_ref_clk) THEN
+    IF rising_edge(tx_ref_clk_156) THEN
       IF tx_sosi.eop='1' THEN
         expected_sosi_arr(vI) <= tx_sosi;
         vI := vI +1;
@@ -224,11 +224,11 @@ BEGIN
     END IF;
   END PROCESS;
 
-  p_ff_verify_rx_sosi_at_eop : PROCESS(rx_phy_clk)
+  p_ff_verify_rx_sosi_at_eop : PROCESS(rx_phy_clk_156)
     VARIABLE vI   : NATURAL := 0;
     VARIABLE vLow : NATURAL := 0;
   BEGIN
-    IF rising_edge(rx_phy_clk) THEN
+    IF rising_edge(rx_phy_clk_156) THEN
       IF rx_sosi.eop='1' THEN
           -- frame shorter than 64 get padded so em 
         IF c_pkt_length_arr(vI) < 64 - 14 - 20 - 8 - 4 THEN  -- = minimum frame 64 - ETH 14 - IP 20 - UDP 8 - CRC 4
@@ -264,14 +264,14 @@ BEGIN
       csr_miso         => mm_miso,
   
       -- ST
-      tx_clk_2x        => tx_ref_clk_2x,
-      tx_clk           => tx_ref_clk,     -- 156.25 MHz local reference
+      tx_clk_312       => tx_ref_clk_312,
+      tx_clk_156       => tx_ref_clk_156, -- 156.25 MHz local reference
       tx_rst           => tx_rst,
       tx_snk_in        => tx_sosi,        -- 64 bit data
       tx_snk_out       => tx_siso, 
       
-      rx_clk_2x        => rx_phy_clk_2x,
-      rx_clk           => rx_phy_clk,     -- 156.25 MHz from rx phy
+      rx_clk_312       => rx_phy_clk_312,
+      rx_clk_156       => rx_phy_clk_156, -- 156.25 MHz from rx phy
       rx_rst           => rx_rst,
       rx_src_out       => rx_sosi,        -- 64 bit data
       rx_src_in        => rx_siso, 
@@ -291,8 +291,8 @@ BEGIN
   xgmii_rx_data <= TRANSPORT xgmii_tx_data AFTER phy_delay;
 
   -- Verification
-  tx_pkt_cnt <= tx_pkt_cnt + 1 WHEN tx_sosi.sop='1' AND rising_edge(tx_ref_clk);
-  rx_pkt_cnt <= rx_pkt_cnt + 1 WHEN rx_sosi.eop='1' AND rising_edge(rx_phy_clk);
+  tx_pkt_cnt <= tx_pkt_cnt + 1 WHEN tx_sosi.sop='1' AND rising_edge(tx_ref_clk_156);
+  rx_pkt_cnt <= rx_pkt_cnt + 1 WHEN rx_sosi.eop='1' AND rising_edge(rx_phy_clk_156);
   
   p_tb_end : PROCESS  
   BEGIN
diff --git a/libraries/technology/mac_10g/tech_mac_10g.vhd b/libraries/technology/mac_10g/tech_mac_10g.vhd
index bcb43e372dc2571b48162cb096afc0bf8373e36e..5fe23c99e97e8146575382b45599ef415900ff2f 100644
--- a/libraries/technology/mac_10g/tech_mac_10g.vhd
+++ b/libraries/technology/mac_10g/tech_mac_10g.vhd
@@ -80,14 +80,14 @@ ENTITY tech_mac_10g IS
     csr_miso         : OUT t_mem_miso;
 
     -- ST
-    tx_clk_2x        : IN  STD_LOGIC := '0';   -- 312.5 MHz
-    tx_clk           : IN  STD_LOGIC;   -- 156.25 MHz local reference
+    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_snk_in        : IN  t_dp_sosi;   -- 64 bit data
     tx_snk_out       : OUT t_dp_siso; 
     
-    rx_clk_2x        : IN  STD_LOGIC := '0';   -- 312.5 MHz
-    rx_clk           : IN  STD_LOGIC;   -- 156.25 MHz from rx phy
+    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_src_out       : OUT t_dp_sosi;   -- 64 bit data
     rx_src_in        : IN  t_dp_siso; 
@@ -132,16 +132,16 @@ BEGIN
   gen_ip_stratixiv : IF g_technology=c_tech_stratixiv GENERATE
     u0 : ENTITY work.tech_mac_10g_stratixiv
     PORT MAP (mm_clk, mm_rst, csr_mosi, csr_miso,
-              tx_clk, tx_rst, tx_mac_snk_in, tx_mac_snk_out,
-              rx_clk, rx_rst, rx_mac_src_out, rx_mac_src_in,
+              tx_clk_156, tx_rst, tx_mac_snk_in, tx_mac_snk_out,
+              rx_clk_156, rx_rst, rx_mac_src_out, rx_mac_src_in,
               xgmii_tx_data, xgmii_rx_data);
   END GENERATE;
   
   gen_ip_arria10 : IF g_technology=c_tech_arria10 GENERATE
     u0 : ENTITY work.tech_mac_10g_arria10
     PORT MAP (mm_clk, mm_rst, csr_mosi, csr_miso,
-              tx_clk_2x, tx_clk, tx_rst, tx_mac_snk_in, tx_mac_snk_out,
-              rx_clk_2x, rx_clk, rx_rst, rx_mac_src_out, rx_mac_src_in,
+              tx_clk_312, tx_clk_156, tx_rst, tx_mac_snk_in, tx_mac_snk_out,
+              rx_clk_312, rx_clk_156, rx_rst, rx_mac_src_out, rx_mac_src_in,
               xgmii_tx_data, xgmii_rx_data);  
   END GENERATE;
   
@@ -168,7 +168,7 @@ BEGIN
     )
     PORT MAP (
       rst     => tx_rst,
-      clk     => tx_clk,
+      clk     => tx_clk_156,
       snk_out => tx_snk_out,
       snk_in  => tx_snk_in,
       src_in  => tx_remove_snk_out,
@@ -189,7 +189,7 @@ BEGIN
   )
   PORT MAP (
     rst       => tx_rst,
-    clk       => tx_clk,
+    clk       => tx_clk_156,
     snk_out   => tx_remove_snk_out,
     snk_in    => tx_remove_snk_in,
     src_in    => tx_mac_snk_out,
@@ -208,7 +208,7 @@ BEGIN
   )
   PORT MAP (
     rst       => rx_rst,
-    clk       => rx_clk,
+    clk       => rx_clk_156,
     snk_out   => rx_mac_src_in,
     snk_in    => rx_mac_src_out,
     src_in    => rx_mac_src_in_rl1,
@@ -224,7 +224,7 @@ BEGIN
     )
     PORT MAP (
       rst       => rx_rst,
-      clk       => rx_clk,
+      clk       => rx_clk_156,
       usedw     => fifo_usedw,
       wr_ful    => fifo_ful,
       rd_emp    => fifo_emp,
@@ -242,7 +242,7 @@ BEGIN
     )
     PORT MAP (
       rst     => rx_rst,
-      clk     => rx_clk,
+      clk     => rx_clk_156,
       snk_out => rx_fifo_src_in,
       snk_in  => rx_fifo_src_out,  
       src_in  => rx_insert_src_in,
diff --git a/libraries/technology/mac_10g/tech_mac_10g_arria10.vhd b/libraries/technology/mac_10g/tech_mac_10g_arria10.vhd
index 89ed032114c38f2d03251568c2350d632753f79b..229731dba55b47210d7e4ed34150997268db6159 100644
--- a/libraries/technology/mac_10g/tech_mac_10g_arria10.vhd
+++ b/libraries/technology/mac_10g/tech_mac_10g_arria10.vhd
@@ -41,14 +41,14 @@ ENTITY tech_mac_10g_arria10 IS
     csr_miso         : OUT t_mem_miso;
 
     -- ST
-    tx_clk_2x        : IN  STD_LOGIC;
-    tx_clk           : IN  STD_LOGIC;
+    tx_clk_312       : IN  STD_LOGIC;
+    tx_clk_156       : IN  STD_LOGIC;
     tx_rst           : IN  STD_LOGIC;
     tx_snk_in        : IN  t_dp_sosi; 
     tx_snk_out       : OUT t_dp_siso; 
     
-    rx_clk_2x        : IN  STD_LOGIC;
-    rx_clk           : IN  STD_LOGIC;
+    rx_clk_312       : IN  STD_LOGIC;
+    rx_clk_156       : IN  STD_LOGIC;
     rx_rst           : IN  STD_LOGIC;
     rx_src_out       : OUT t_dp_sosi; 
     rx_src_in        : IN  t_dp_siso; 
@@ -98,8 +98,8 @@ BEGIN
     csr_readdata                    => csr_miso.rddata(c_word_w-1 DOWNTO 0),                  -- 32 bit
     csr_waitrequest                 => csr_miso.waitrequest,
     
-    tx_312_5_clk                    => tx_clk_2x,
-    tx_156_25_clk                   => tx_clk,
+    tx_312_5_clk                    => tx_clk_312,
+    tx_156_25_clk                   => tx_clk_156,
     tx_rst_n                        => tx_rst_n,
     
     avalon_st_tx_ready              => tx_snk_out.ready,
@@ -117,8 +117,8 @@ BEGIN
     avalon_st_txstatus_data         => OPEN,
     avalon_st_txstatus_error        => OPEN,
     
-    rx_312_5_clk                    => rx_clk_2x,
-    rx_156_25_clk                   => rx_clk,
+    rx_312_5_clk                    => rx_clk_312,
+    rx_156_25_clk                   => rx_clk_156,
     rx_rst_n                        => rx_rst_n,
     
     xgmii_rx                        => xgmii_rx_data,                                         -- 72 bit