diff --git a/libraries/base/dp/tb/vhdl/tb_dp_bsn_align_v2.vhd b/libraries/base/dp/tb/vhdl/tb_dp_bsn_align_v2.vhd
index e167b4cd1068ce6bd8235bf4de3fe95fa8e2ae2a..57f361f8b5034b6c81c1ea61a79d821b622daecd 100644
--- a/libraries/base/dp/tb/vhdl/tb_dp_bsn_align_v2.vhd
+++ b/libraries/base/dp/tb/vhdl/tb_dp_bsn_align_v2.vhd
@@ -42,7 +42,7 @@ ENTITY tb_dp_bsn_align_v2 IS
     g_bsn_latency_use_node_index : BOOLEAN := FALSE;  -- FALSE for align at end node, TRUE for align at every intermediate node
     g_block_size                 : NATURAL := 17;     -- > 1, g_block_size=1 is not supported
     g_bsn_w                      : NATURAL := c_dp_stream_bsn_w;  -- number of bits in sosi BSN
-    g_data_w                     : NATURAL;           -- number of bits in sosi data
+    g_data_w                     : NATURAL := 16;     -- number of bits in sosi data
     g_filler_value               : INTEGER := 0;      -- output sosi data value for missing input blocks
 
     -- TB
@@ -107,9 +107,12 @@ ARCHITECTURE tb OF tb_dp_bsn_align_v2 IS
   SIGNAL in_err            : t_err_arr;
   SIGNAL in_channel        : t_channel_arr;
   
+  SIGNAL mm_copi_arr       : t_mem_copi_arr(g_nof_streams-1 DOWNTO 0);
   SIGNAL mm_copi           : t_mem_copi;   -- read access to output block, all output streams share same mm_copi
   SIGNAL mm_cipo_arr       : t_mem_cipo_arr(g_nof_streams-1 DOWNTO 0);
   SIGNAL mm_sosi           : t_dp_sosi;   -- streaming information that signals that an output block can be read
+  SIGNAL mm_done_arr       : STD_LOGIC_VECTOR(g_nof_streams-1 DOWNTO 0);
+  SIGNAL mm_done           : STD_LOGIC;
 
   SIGNAL out_siso_arr      : t_dp_siso_arr(g_nof_streams-1 DOWNTO 0) := (OTHERS=>c_dp_siso_rdy);
   SIGNAL out_sosi_arr      : t_dp_sosi_arr(g_nof_streams-1 DOWNTO 0);
@@ -421,5 +424,35 @@ BEGIN
     mm_cipo_arr    => mm_cipo_arr,
     mm_sosi        => mm_sosi
   );
+
+
+  ------------------------------------------------------------------------------
+  -- MM to streaming DP
+  ------------------------------------------------------------------------------
+
+  gen_mm_to_dp : FOR I IN 0 TO g_nof_streams-1 GENERATE
+    u_mm_to_dp: ENTITY work.dp_block_from_mm
+    GENERIC MAP (
+      g_data_size          => 1,
+      g_step_size          => 1,
+      g_nof_data           => g_block_size,
+      g_data_w             => g_data_w,
+      g_reverse_word_order => FALSE
+    )
+    PORT MAP (
+      rst           => rst,
+      clk           => clk,
+      start_pulse   => mm_sosi.sop,
+      start_address => 0,
+      mm_done       => mm_done_arr(I),
+      mm_mosi       => mm_copi_arr(I),
+      mm_miso       => mm_cipo_arr(I),
+      out_sosi      => out_sosi_arr(I),
+      out_siso      => c_dp_siso_rdy
+    );
+  END GENERATE;
+
+  mm_copi <= mm_copi_arr(0);
+  mm_done <= mm_done_arr(0);
   
 END tb;