diff --git a/applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd b/applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd
index 4e6691032fa2714d9e381802cf2cfae89d1640f6..26bfb350adc815289db13a14c71ea3279718322a 100644
--- a/applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd
+++ b/applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd
@@ -233,17 +233,18 @@ PACKAGE sdp_pkg is
   CONSTANT c_sdp_bst_udp_src_port_15_8  : STD_LOGIC_VECTOR(7 DOWNTO 0) := x"D1";  -- TBC
   CONSTANT c_sdp_xst_udp_src_port_15_8  : STD_LOGIC_VECTOR(7 DOWNTO 0) := x"D2";  -- TBC
 
-  CONSTANT c_sdp_stat_nof_hdr_fields : NATURAL := 3+12+4+20+1; -- 592b; 9.25 64b words
-  CONSTANT c_sdp_stat_hdr_field_sel  : STD_LOGIC_VECTOR(c_sdp_stat_nof_hdr_fields-1 DOWNTO 0) := "101"&"111111111001"&"0111"&"01000000000000000000"&"0";  -- 0=data path, 1=MM controlled TODO
+  CONSTANT c_sdp_stat_nof_hdr_fields : NATURAL := 1+3+12+4+20+1; -- 592b; 18.5 32b words
+  CONSTANT c_sdp_stat_hdr_field_sel  : STD_LOGIC_VECTOR(c_sdp_stat_nof_hdr_fields-1 DOWNTO 0) := "1"&"101"&"111111111101"&"0111"&"01000000000000000100"&"0";  -- 0=data path, 1=MM controlled TODO
 
   CONSTANT c_sdp_stat_hdr_field_arr : t_common_field_arr(c_sdp_stat_nof_hdr_fields-1 DOWNTO 0) := (
+      ( field_name_pad("word_align"                              ), "RW", 16, field_default(0) ),
       ( field_name_pad("eth_dst_mac"                             ), "RW", 48, field_default(x"001B217176B9") ), -- 001B217176B9 = DOP36-enp2s0 
       ( field_name_pad("eth_src_mac"                             ), "RW", 48, field_default(0) ),
       ( field_name_pad("eth_type"                                ), "RW", 16, field_default(x"0800") ),
       ( field_name_pad("ip_version"                              ), "RW",  4, field_default(4) ),
       ( field_name_pad("ip_header_length"                        ), "RW",  4, field_default(5) ),
       ( field_name_pad("ip_services"                             ), "RW",  8, field_default(0) ),
-      ( field_name_pad("ip_total_length"                         ), "RW", 16, field_default(7868) ), 
+      ( field_name_pad("ip_total_length"                         ), "RW", 16, field_default(4156) ), 
       ( field_name_pad("ip_identification"                       ), "RW", 16, field_default(0) ),
       ( field_name_pad("ip_flags"                                ), "RW",  3, field_default(2) ),
       ( field_name_pad("ip_fragment_offset"                      ), "RW", 13, field_default(0) ),
@@ -254,7 +255,7 @@ PACKAGE sdp_pkg is
       ( field_name_pad("ip_dst_addr"                             ), "RW", 32, field_default(x"0A6300FE") ), -- 0A6300FE = DOP36-enp2s0 '10.99.0.254'
       ( field_name_pad("udp_src_port"                            ), "RW", 16, field_default(0) ), 
       ( field_name_pad("udp_dst_port"                            ), "RW", 16, field_default(5001) ), 
-      ( field_name_pad("udp_total_length"                        ), "RW", 16, field_default(7848) ), 
+      ( field_name_pad("udp_total_length"                        ), "RW", 16, field_default(4136) ), 
       ( field_name_pad("udp_checksum"                            ), "RW", 16, field_default(0) ),
       ( field_name_pad("sdp_marker"                              ), "RW",  8, field_default(0) ),
       ( field_name_pad("sdp_version_id"                          ), "RW",  8, field_default(5) ),
diff --git a/applications/lofar2/libraries/sdp/src/vhdl/sdp_statistics_offload.vhd b/applications/lofar2/libraries/sdp/src/vhdl/sdp_statistics_offload.vhd
index db4e7fcdedd96752fe4b8dcc3b35f06a780ee062..aa3df06ce1fb0fcc4629e03b852d8e089d637dc2 100644
--- a/applications/lofar2/libraries/sdp/src/vhdl/sdp_statistics_offload.vhd
+++ b/applications/lofar2/libraries/sdp/src/vhdl/sdp_statistics_offload.vhd
@@ -261,15 +261,17 @@ BEGIN
     trigger_dly     => trigger
   );
   
-  u_dp_block_from_mm : ENTITY dp_lib.dp_block_from_mm
+  u_dp_block_from_mm : ENTITY dp_lib.dp_block_from_mm_dc
   GENERIC MAP (
     g_data_size => c_data_size,
     g_step_size => c_step_size,
     g_nof_data  => c_nof_data
   ) 
   PORT MAP(
-    rst           => dp_rst,
-    clk           => dp_clk,
+    dp_rst        => dp_rst,
+    dp_clk        => dp_clk,
+    mm_rst        => mm_rst,
+    mm_clk        => mm_clk,
     start_pulse   => r.start_pulse,
     start_address => r.start_address,
     mm_done       => mm_done,
diff --git a/libraries/base/dp/hdllib.cfg b/libraries/base/dp/hdllib.cfg
index da71a5d70f0be663752818236304b02296339746..e7f562d05de6eda93ea841216c0eefe414c982f8 100644
--- a/libraries/base/dp/hdllib.cfg
+++ b/libraries/base/dp/hdllib.cfg
@@ -74,6 +74,7 @@ synth_files =
     src/vhdl/dp_block_gen.vhd
     src/vhdl/dp_block_gen_valid_arr.vhd
     src/vhdl/dp_block_from_mm.vhd
+    src/vhdl/dp_block_from_mm_dc.vhd
     src/vhdl/dp_block_to_mm.vhd
     src/vhdl/dp_bsn_source.vhd
     src/vhdl/dp_bsn_source_v2.vhd
@@ -193,6 +194,7 @@ test_bench_files =
     tb/vhdl/tb_dp_block_gen.vhd
     tb/vhdl/tb_dp_block_gen_valid_arr.vhd
     tb/vhdl/tb_dp_block_from_mm.vhd
+    tb/vhdl/tb_dp_block_from_mm_dc.vhd
     tb/vhdl/tb_dp_bsn_align.vhd
     tb/vhdl/tb_mms_dp_bsn_align.vhd
     tb/vhdl/tb_dp_bsn_monitor.vhd
diff --git a/libraries/base/dp/src/vhdl/dp_block_from_mm_dc.vhd b/libraries/base/dp/src/vhdl/dp_block_from_mm_dc.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..61812414dc6f7bf6babbeb9aacec140d3c4960e9
--- /dev/null
+++ b/libraries/base/dp/src/vhdl/dp_block_from_mm_dc.vhd
@@ -0,0 +1,132 @@
+-- --------------------------------------------------------------------------
+-- Copyright 2020
+-- ASTRON (Netherlands Institute for Radio Astronomy) <http://www.astron.nl/>
+-- P.O.Box 2, 7990 AA Dwingeloo, The Netherlands
+--
+-- Licensed under the Apache License, Version 2.0 (the "License");
+-- you may not use this file except in compliance with the License.
+-- You may obtain a copy of the License at
+--
+-- http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+-- --------------------------------------------------------------------------
+
+-- --------------------------------------------------------------------------
+-- Author: 
+-- . Pieter Donker
+-- Purpose:
+-- . Read a block of data from memory mapped (MM) location and stream it as a block of data,
+--   this is a dual-clock wrapper around dp_block_from_mm.vhd 
+-- Description:
+-- . https://support.astron.nl/confluence/display/L2M/L5+SDPFW+Design+Document%3A+Subband+filterbank
+-- --------------------------------------------------------------------------
+
+LIBRARY IEEE,common_lib;
+USE IEEE.std_logic_1164.ALL;
+USE IEEE.numeric_std.ALL;
+USE common_lib.common_pkg.ALL;
+USE common_lib.common_mem_pkg.ALL;
+USE work.dp_stream_pkg.ALL;
+
+ENTITY dp_block_from_mm_dc IS
+  GENERIC (
+    g_data_size  : NATURAL;
+    g_step_size  : NATURAL;
+    g_nof_data   : NATURAL
+  ); 
+  PORT (
+    dp_rst        : IN  STD_LOGIC;
+    dp_clk        : IN  STD_LOGIC;
+    mm_rst        : IN  STD_LOGIC;
+    mm_clk        : IN  STD_LOGIC;
+    start_pulse   : IN  STD_LOGIC;
+    start_address : IN  NATURAL;
+    mm_done       : OUT STD_LOGIC;
+    mm_mosi       : OUT t_mem_mosi;
+    mm_miso       : IN  t_mem_miso;
+    out_sosi      : OUT t_dp_sosi;
+    out_siso      : IN  t_dp_siso
+  );
+END dp_block_from_mm_dc;
+
+ARCHITECTURE rtl OF dp_block_from_mm_dc IS 
+  CONSTANT c_fifo_size : NATURAL := 1024;  -- 512 * 2 = 1024 words.
+  CONSTANT c_start_addr_w : NATURAL := 30;
+  SIGNAL fifo_sosi : t_dp_sosi := c_dp_sosi_rst;
+  SIGNAL fifo_siso : t_dp_siso;
+  SIGNAL mm_start_pulse : STD_LOGIC := '0';
+  SIGNAL mm_mm_done : STD_LOGIC := '0';
+  SIGNAL start_address_slv : STD_LOGIC_VECTOR(c_start_addr_w-1 DOWNTO 0) := (OTHERS => '0');
+  SIGNAL mm_start_address_slv : STD_LOGIC_VECTOR(c_start_addr_w-1 DOWNTO 0) := (OTHERS => '0');
+  SIGNAL mm_start_address : NATURAL := 0;
+BEGIN
+  
+  p_common_spulse_start_pulse : ENTITY common_lib.common_spulse
+  PORT MAP (
+    in_clk      => dp_clk,
+    in_pulse    => start_pulse,
+    out_clk     => mm_clk,
+    out_pulse   => mm_start_pulse
+  );
+
+  p_common_spulse_mm_done : ENTITY common_lib.common_spulse
+  PORT MAP (
+    in_clk      => mm_clk,
+    in_pulse    => mm_mm_done,
+    out_clk     => dp_clk,
+    out_pulse   => mm_done
+  );
+
+  start_address_slv <= TO_UVEC(start_address, c_start_addr_w);
+  mm_start_address <= TO_UINT(mm_start_address_slv);
+  p_common_async_slv_start_address : ENTITY common_lib.common_async_slv
+  PORT MAP (
+    clk  => dp_clk,
+    din  => start_address_slv,
+    dout => mm_start_address_slv
+  );
+
+  p_dp_fifo_fill_eop : ENTITY work.dp_fifo_fill_eop
+  GENERIC MAP (
+    g_use_dual_clock => TRUE,
+    g_data_w         => c_word_w,
+    g_fifo_size      => c_fifo_size
+  )
+  PORT MAP (
+    wr_rst      => dp_rst,
+    wr_clk      => dp_clk,
+    rd_rst      => mm_rst,
+    rd_clk      => mm_clk,
+    -- ST sink
+    snk_out     => fifo_siso,
+    snk_in      => fifo_sosi,
+    -- ST source
+    src_in      => out_siso,
+    src_out     => out_sosi
+  );
+
+  p_dp_block_from_mm : ENTITY work.dp_block_from_mm
+  GENERIC MAP (
+    g_data_size => g_data_size,
+    g_step_size => g_step_size,
+    g_nof_data  => g_nof_data 
+  )
+  PORT MAP (
+    clk         => mm_clk,
+    rst         => mm_rst,
+
+    start_pulse   => mm_start_pulse,
+    start_address => mm_start_address,
+    mm_done       => mm_mm_done,
+    mm_mosi       => mm_mosi,
+    mm_miso       => mm_miso,
+    out_sosi      => fifo_sosi,
+    out_siso      => fifo_siso
+  );
+      
+END rtl;
\ No newline at end of file