diff --git a/libraries/io/ddr/tb/vhdl/tb_tb_io_ddr.vhd b/libraries/io/ddr/tb/vhdl/tb_tb_io_ddr.vhd
index 6ec26679e4a8b14b6bfc4c7c967f90954f321e4f..98fb26e13d029375bf3e1fb5a156f6720c03cfdc 100644
--- a/libraries/io/ddr/tb/vhdl/tb_tb_io_ddr.vhd
+++ b/libraries/io/ddr/tb/vhdl/tb_tb_io_ddr.vhd
@@ -57,6 +57,7 @@ BEGIN
   -- g_ctlr_ref_clk_period   : TIME := 5 ns;      -- 200 MHz
   -- g_dvr_clk_period        : TIME := 5 ns;      -- 50 ns
   -- g_dp_clk_period         : TIME := 5000 ps;   -- 200 MHz
+  -- g_mm_clk_period         : TIME := 8000 ps;   -- 125 MHz
   -- g_dp_factor             : NATURAL := 1;      -- 1 or power of 2, c_dp_data_w = c_ctlr_data_w / g_dp_factor
   -- g_rd_fifo_depth         : NATURAL := 256;    -- default 256 because 32b*256 fits in 1 M9K, use larger to fit more read bursts
   -- g_block_len             : NATURAL := 64;     -- block length for a DDR write access and read back access in number of c_ctlr_data_w words
@@ -67,28 +68,28 @@ BEGIN
   -- g_wr_flush_mode         : STRING := "SYN"    -- "VAL", "SOP", "SYN"
 
   gen_ddr3 : IF c_tech_ddr.name="DDR3" GENERATE
-    u_default                   : ENTITY work.tb_io_ddr GENERIC MAP (c_technology, c_tech_ddr3, c_tech_ddr4, FALSE, FALSE, FALSE, 5 ns,  5 ns, 5 ns,  4, 512,  2500, 2, 1, 1,   1, "VAL") PORT MAP (tb_end_vec(0));
-    
-    u_fill_wrfifo_on_next_valid : ENTITY work.tb_io_ddr GENERIC MAP (c_technology, c_tech_ddr3, c_tech_ddr4, FALSE, FALSE, FALSE, 5 ns,  5 ns, 5 ns,  1, 256,  1000, 2, 1, 4,   2, "VAL") PORT MAP (tb_end_vec(1));
-    u_fill_wrfifo_on_next_sop   : ENTITY work.tb_io_ddr GENERIC MAP (c_technology, c_tech_ddr3, c_tech_ddr4, FALSE, FALSE, FALSE, 5 ns,  5 ns, 5 ns,  1, 256,  1000, 2, 3, 4,   2, "SOP") PORT MAP (tb_end_vec(2));
-    u_fill_wrfifo_on_next_sync  : ENTITY work.tb_io_ddr GENERIC MAP (c_technology, c_tech_ddr3, c_tech_ddr4, FALSE, FALSE, FALSE, 5 ns,  5 ns, 5 ns,  1, 256,  1000, 2, 4, 1,   2, "SYN") PORT MAP (tb_end_vec(3));
-                                                                                                                                                                               
-    u_ext_memory_model          : ENTITY work.tb_io_ddr GENERIC MAP (c_technology, c_tech_ddr3, c_tech_ddr4, FALSE,  TRUE, FALSE, 5 ns,  5 ns, 5 ns,  1,8192,  2500, 1, 2, 3,   1, "VAL") PORT MAP (tb_end_vec(4));
-    u_mixed_width               : ENTITY work.tb_io_ddr GENERIC MAP (c_technology, c_tech_ddr3, c_tech_ddr4, FALSE, FALSE, FALSE, 5 ns,  5 ns, 5 ns,  8,8192,  2500, 1, 3, 2,   1, "VAL") PORT MAP (tb_end_vec(5));
-                                                                                                                                                                               
-    u_wr_burst_size_0           : ENTITY work.tb_io_ddr GENERIC MAP (c_technology, c_tech_ddr3, c_tech_ddr4, FALSE,  TRUE, FALSE, 5 ns,  5 ns, 5 ns,  4, 256,     2,10, 3, 3,   2, "VAL") PORT MAP (tb_end_vec(6));
-    u_wr_burst_size_1           : ENTITY work.tb_io_ddr GENERIC MAP (c_technology, c_tech_ddr3, c_tech_ddr4, FALSE,  TRUE, FALSE, 5 ns,  5 ns, 5 ns,  4, 256,     1,10, 1, 1,   2, "VAL") PORT MAP (tb_end_vec(7));
-                                                                                                                                                                               
-    u_cross_dvr_to_faster_ctlr  : ENTITY work.tb_io_ddr GENERIC MAP (c_technology, c_tech_ddr3, c_tech_ddr4, FALSE, FALSE, FALSE, 5 ns, 20 ns, 5 ns,  1,8192,  2500, 1, 1, 4,   1, "VAL") PORT MAP (tb_end_vec(8));
-    u_cross_dvr_to_slower_ctlr  : ENTITY work.tb_io_ddr GENERIC MAP (c_technology, c_tech_ddr3, c_tech_ddr4, FALSE, FALSE, FALSE, 5 ns,  1 ns, 5 ns,  1,8192,  2500, 1, 1, 4,   1, "VAL") PORT MAP (tb_end_vec(9));
-                                                                                                                                                                               
-    u_sequencer_1_16            : ENTITY work.tb_io_ddr GENERIC MAP (c_technology, c_tech_ddr3, c_tech_ddr4, FALSE, FALSE, FALSE, 5 ns,  5 ns, 5 ns,  4, 256,    64,10, 1,16,   1, "VAL") PORT MAP (tb_end_vec(10));
-    u_sequencer_16_1            : ENTITY work.tb_io_ddr GENERIC MAP (c_technology, c_tech_ddr3, c_tech_ddr4, FALSE, FALSE, FALSE, 5 ns,  5 ns, 5 ns,  4, 256,    64,10,16, 1,   1, "VAL") PORT MAP (tb_end_vec(11));
+    u_default                   : ENTITY work.tb_io_ddr GENERIC MAP (c_technology, c_tech_ddr3, c_tech_ddr4, FALSE, FALSE, FALSE, 5 ns,  5 ns, 5 ns, 8 ns,  4, 512,  2500, 2, 1, 1,   1, "VAL") PORT MAP (tb_end_vec(0));
+                                                                                                                                                         
+    u_fill_wrfifo_on_next_valid : ENTITY work.tb_io_ddr GENERIC MAP (c_technology, c_tech_ddr3, c_tech_ddr4, FALSE, FALSE, FALSE, 5 ns,  5 ns, 5 ns, 8 ns,  1, 256,  1000, 2, 1, 4,   2, "VAL") PORT MAP (tb_end_vec(1));
+    u_fill_wrfifo_on_next_sop   : ENTITY work.tb_io_ddr GENERIC MAP (c_technology, c_tech_ddr3, c_tech_ddr4, FALSE, FALSE, FALSE, 5 ns,  5 ns, 5 ns, 8 ns,  1, 256,  1000, 2, 3, 4,   2, "SOP") PORT MAP (tb_end_vec(2));
+    u_fill_wrfifo_on_next_sync  : ENTITY work.tb_io_ddr GENERIC MAP (c_technology, c_tech_ddr3, c_tech_ddr4, FALSE, FALSE, FALSE, 5 ns,  5 ns, 5 ns, 8 ns,  1, 256,  1000, 2, 4, 1,   2, "SYN") PORT MAP (tb_end_vec(3));
+                                                                                                                                                                                     
+    u_ext_memory_model          : ENTITY work.tb_io_ddr GENERIC MAP (c_technology, c_tech_ddr3, c_tech_ddr4, FALSE,  TRUE, FALSE, 5 ns,  5 ns, 5 ns, 8 ns,  1,8192,  2500, 1, 2, 3,   1, "VAL") PORT MAP (tb_end_vec(4));
+    u_mixed_width               : ENTITY work.tb_io_ddr GENERIC MAP (c_technology, c_tech_ddr3, c_tech_ddr4, FALSE, FALSE, FALSE, 5 ns,  5 ns, 5 ns, 8 ns,  8,8192,  2500, 1, 3, 2,   1, "VAL") PORT MAP (tb_end_vec(5));
+                                                                                                                                                                                     
+    u_wr_burst_size_0           : ENTITY work.tb_io_ddr GENERIC MAP (c_technology, c_tech_ddr3, c_tech_ddr4, FALSE,  TRUE, FALSE, 5 ns,  5 ns, 5 ns, 8 ns,  4, 256,     2,10, 3, 3,   2, "VAL") PORT MAP (tb_end_vec(6));
+    u_wr_burst_size_1           : ENTITY work.tb_io_ddr GENERIC MAP (c_technology, c_tech_ddr3, c_tech_ddr4, FALSE,  TRUE, FALSE, 5 ns,  5 ns, 5 ns, 8 ns,  4, 256,     1,10, 1, 1,   2, "VAL") PORT MAP (tb_end_vec(7));
+                                                                                                                                                                                     
+    u_cross_dvr_to_faster_ctlr  : ENTITY work.tb_io_ddr GENERIC MAP (c_technology, c_tech_ddr3, c_tech_ddr4, FALSE, FALSE, FALSE, 5 ns, 20 ns, 5 ns, 8 ns,  1,8192,  2500, 1, 1, 4,   1, "VAL") PORT MAP (tb_end_vec(8));
+    u_cross_dvr_to_slower_ctlr  : ENTITY work.tb_io_ddr GENERIC MAP (c_technology, c_tech_ddr3, c_tech_ddr4, FALSE, FALSE, FALSE, 5 ns,  1 ns, 5 ns, 8 ns,  1,8192,  2500, 1, 1, 4,   1, "VAL") PORT MAP (tb_end_vec(9));
+                                                                                                                                                                                     
+    u_sequencer_1_16            : ENTITY work.tb_io_ddr GENERIC MAP (c_technology, c_tech_ddr3, c_tech_ddr4, FALSE, FALSE, FALSE, 5 ns,  5 ns, 5 ns, 8 ns,  4, 256,    64,10, 1,16,   1, "VAL") PORT MAP (tb_end_vec(10));
+    u_sequencer_16_1            : ENTITY work.tb_io_ddr GENERIC MAP (c_technology, c_tech_ddr3, c_tech_ddr4, FALSE, FALSE, FALSE, 5 ns,  5 ns, 5 ns, 8 ns,  4, 256,    64,10,16, 1,   1, "VAL") PORT MAP (tb_end_vec(11));
   END GENERATE;
 
   -- Distinghuis between tests for DDR3 and DDR4, because the Quartus 14.1 ip_arria10 DDR4 model simulates about 40x slower than the Quartus 11.1 ip_stratixiv DDR3 uniphy model.
   gen_ddr4 : IF c_tech_ddr.name="DDR4" GENERATE
-    u_default                   : ENTITY work.tb_io_ddr GENERIC MAP (c_technology, c_tech_ddr3, c_tech_ddr4, FALSE, FALSE, FALSE, 5 ns,  5 ns, 5 ns,  4, 512,  2500, 2, 1, 1,   1, "VAL") PORT MAP (tb_end_vec(0));
+    u_default                   : ENTITY work.tb_io_ddr GENERIC MAP (c_technology, c_tech_ddr3, c_tech_ddr4, FALSE, FALSE, FALSE, 5 ns,  5 ns, 5 ns, 8 ns,  4, 512,  2500, 2, 1, 1,   1, "VAL") PORT MAP (tb_end_vec(0));
   END GENERATE;
   
   p_tb_end : PROCESS