diff --git a/applications/lofar2/libraries/ddrctrl/src/vhdl/ddrctrl.vhd b/applications/lofar2/libraries/ddrctrl/src/vhdl/ddrctrl.vhd
index e7de428b6c0e0b8c3aaac4f5855feb3bf004a0e9..879c99c7918730c7148534f8546deea65ff05a59 100644
--- a/applications/lofar2/libraries/ddrctrl/src/vhdl/ddrctrl.vhd
+++ b/applications/lofar2/libraries/ddrctrl/src/vhdl/ddrctrl.vhd
@@ -244,9 +244,9 @@ BEGIN
     rst                       => rst,
 
     -- ddrctrl_input
-    out_of                    => out_of,
-    out_sosi                  => out_sosi,
-    out_adr                   => out_adr,
+    inp_of                      => out_of,
+    inp_sosi                    => out_sosi,
+    inp_adr                     => out_adr,
     inp_ds                    => inp_ds,
     inp_bsn                   => inp_bsn,
     inp_bsn_adr               => inp_bsn_adr,
diff --git a/applications/lofar2/libraries/ddrctrl/src/vhdl/ddrctrl_controller.vhd b/applications/lofar2/libraries/ddrctrl/src/vhdl/ddrctrl_controller.vhd
index 378efd0b61a4e8720efdd02028dff6213a6eddb7..9cb94c2351bc68cc4f82aa09ea63c78c7a17ecca 100644
--- a/applications/lofar2/libraries/ddrctrl/src/vhdl/ddrctrl_controller.vhd
+++ b/applications/lofar2/libraries/ddrctrl/src/vhdl/ddrctrl_controller.vhd
@@ -51,9 +51,9 @@ ENTITY ddrctrl_controller IS
     rst                       : IN  STD_LOGIC;
 
     -- ddrctrl_input
-    out_of                    : IN NATURAL;
-    out_sosi                  : IN t_dp_sosi;
-    out_adr                   : IN NATURAL;
+    inp_of                    : IN NATURAL;
+    inp_sosi                  : IN t_dp_sosi;
+    inp_adr                   : IN NATURAL;
     inp_ds                    : IN NATURAL;
     inp_bsn                   : IN STD_LOGIC_VECTOR(c_dp_stream_bsn_w-1 DOWNTO 0);
     inp_bsn_adr               : IN NATURAL;
@@ -127,7 +127,11 @@ BEGIN
   q_reg <= d_reg WHEN rising_edge(clk);
 
   -- put the input data into c_v and fill the output vector from c_v
+<<<<<<< HEAD
   p_state : PROCESS(q_reg, rst, out_of, out_sosi, out_adr, dvr_miso, rd_fifo_usedw)
+=======
+  p_state : PROCESS(q_reg, rst, inp_of, inp_sosi, inp_adr)
+>>>>>>> L2SDP-667
 
     VARIABLE v                : t_reg         := c_t_reg_init;
 
@@ -153,12 +157,12 @@ BEGIN
 
 
     WHEN WRITING =>
-      IF TO_UVEC(out_adr, c_adr_w)(c_bitshift_adr-1 DOWNTO 0) = c_zeros THEN                        -- if adr mod c_burstsize = 0
+      IF TO_UVEC(inp_adr, c_adr_w)(c_bitshift_adr-1 DOWNTO 0) = c_zeros THEN                        -- if adr mod c_burstsize = 0
         v.dvr_mosi.burstbegin   := '1';
-        IF out_adr = 0 THEN
+        IF inp_adr = 0 THEN
           v.dvr_mosi.address    := TO_UVEC(c_max_adr-c_burstsize, dvr_mosi.address'length);
         ELSE
-          v.dvr_mosi.address    := TO_UVEC(out_adr-c_burstsize, dvr_mosi.address'length);
+          v.dvr_mosi.address    := TO_UVEC(inp_adr-c_burstsize, dvr_mosi.address'length);
         END IF;
       ELSE
         v.dvr_mosi.burstbegin   := '0';
@@ -166,7 +170,7 @@ BEGIN
       v.dvr_mosi.burstsize      := TO_UVEC(c_burstsize, dvr_mosi.burstsize'length);
       v.dvr_mosi.wr             := '1';
       v.dvr_mosi.rd             := '0';
-      v.wr_sosi                 := out_sosi;
+      v.wr_sosi                 := inp_sosi;
 
 
 
@@ -185,20 +189,20 @@ BEGIN
 
     WHEN SET_STOP =>
       --setting a stop address dependend on the g_stop_percentage
-      IF out_adr+c_pof_ma >= c_max_adr THEN
-        v.stop_adr(c_adr_w-1 DOWNTO c_bitshift_adr) := TO_UVEC(out_adr-c_pof_ma, c_adr_w)(c_adr_w-1 DOWNTO c_bitshift_adr);
+      IF inp_adr+c_pof_ma >= c_max_adr THEN
+        v.stop_adr(c_adr_w-1 DOWNTO c_bitshift_adr) := TO_UVEC(inp_adr-c_pof_ma, c_adr_w)(c_adr_w-1 DOWNTO c_bitshift_adr);
       ELSE
-        v.stop_adr(c_adr_w-1 DOWNTO c_bitshift_adr) := TO_UVEC(out_adr+c_pof_ma, c_adr_w)(c_adr_w-1 DOWNTO c_bitshift_adr);
+        v.stop_adr(c_adr_w-1 DOWNTO c_bitshift_adr) := TO_UVEC(inp_adr+c_pof_ma, c_adr_w)(c_adr_w-1 DOWNTO c_bitshift_adr);
       END IF;
       v.stop_adr(c_bitshift_adr-1 DOWNTO 0)         := c_zeros;
 
       -- still a write cyle
-      IF TO_UVEC(out_adr, c_adr_w)(c_bitshift_adr-1 DOWNTO 0) = c_zeros THEN                        -- adr mod 64 = 0
+      IF TO_UVEC(inp_adr, c_adr_w)(c_bitshift_adr-1 DOWNTO 0) = c_zeros THEN                        -- adr mod 64 = 0
         v.dvr_mosi.burstbegin                   := '1';
-        IF out_adr = 0 THEN
+        IF inp_adr = 0 THEN
           v.dvr_mosi.address                    := TO_UVEC(c_max_adr-c_burstsize, dvr_mosi.address'length);
         ELSE
-          v.dvr_mosi.address                    := TO_UVEC(out_adr-c_burstsize, dvr_mosi.address'length);
+          v.dvr_mosi.address                    := TO_UVEC(inp_adr-c_burstsize, dvr_mosi.address'length);
         END IF;
       ELSE
         v.dvr_mosi.burstbegin                   := '0';
@@ -206,7 +210,7 @@ BEGIN
       v.dvr_mosi.burstsize                      := TO_UVEC(c_burstsize, dvr_mosi.burstsize'length);
       v.dvr_mosi.wr                             := '1';
       v.dvr_mosi.rd                             := '0';
-      v.wr_sosi                                 := out_sosi;
+      v.wr_sosi                                 := inp_sosi;
 
 
 
@@ -320,7 +324,7 @@ BEGIN
       v.state := RESET;
     ELSIF stop_in = '1' THEN
       v.state := SET_STOP;
-    ELSIF v.stop_adr = TO_UVEC(out_adr, c_adr_w) AND v.stop_adr(c_bitshift_adr-1 DOWNTO 0) = c_zeros(c_bitshift_adr-1 DOWNTO 0) AND q_reg.stopped = '0' THEN
+    ELSIF v.stop_adr = TO_UVEC(inp_adr, c_adr_w) AND v.stop_adr(c_bitshift_adr-1 DOWNTO 0) = c_zeros(c_bitshift_adr-1 DOWNTO 0) AND q_reg.stopped = '0' THEN
       v.state := STOP_WRITING;
     ELSIF v.stopped = '1' THEN
       v.state := IDLE;
diff --git a/applications/lofar2/libraries/ddrctrl/tb/vhdl/tb_ddrctrl.vhd b/applications/lofar2/libraries/ddrctrl/tb/vhdl/tb_ddrctrl.vhd
index 29deea7061eec520d61eee0b2aa5e513d38681b4..e2160cbf3cbfb6affcabfaedb694f2605b4d5f05 100644
--- a/applications/lofar2/libraries/ddrctrl/tb/vhdl/tb_ddrctrl.vhd
+++ b/applications/lofar2/libraries/ddrctrl/tb/vhdl/tb_ddrctrl.vhd
@@ -138,38 +138,21 @@ BEGIN
 
 
     -- filling the input data vectors with the corresponding numbers
-    make_data_0 : FOR J IN 0 TO c_sim_length-1 LOOP
-      in_data_cnt     <= in_data_cnt+1;
-      fill_in_sosi_arr_0 : FOR I IN 0 TO g_nof_streams-1 LOOP
-        in_sosi_arr(I).data(g_data_w-1 DOWNTO 0)   <= c_total_vector(g_data_w*(I+1)+J*c_in_data_w-1 DOWNTO g_data_w*I+J*c_in_data_w);
+    run_multiple_times : FOR K in 0 TO 4 LOOP
+      make_data : FOR J IN 0 TO c_sim_length-1 LOOP
+        in_data_cnt     <= in_data_cnt+1;
+        fill_in_sosi_arr_0 : FOR I IN 0 TO g_nof_streams-1 LOOP
+          in_sosi_arr(I).data(g_data_w-1 DOWNTO 0)   <= c_total_vector(g_data_w*(I+1)+J*c_in_data_w-1 DOWNTO g_data_w*I+J*c_in_data_w);
+        END LOOP;
+        in_sosi_arr(0).bsn(c_dp_stream_bsn_w-1 DOWNTO 0) <= bsn(c_dp_stream_bsn_w-1 DOWNTO 0);
+        bsn <= INCR_UVEC(bsn, 1);
+        WAIT FOR c_clk_period*1;
       END LOOP;
-      in_sosi_arr(0).bsn(c_dp_stream_bsn_w-1 DOWNTO 0) <= bsn(c_dp_stream_bsn_w-1 DOWNTO 0);
-      bsn <= ADD_UVEC(bsn, "0001", c_dp_stream_bsn_w);
-      WAIT FOR c_clk_period*1;
-    END LOOP;
-
-    -- sending a stop signal
-    stop_in <= '1';
-
-    -- filling the input data vectors with the corresponding numbers
-    make_data_1 : FOR J IN 0 TO c_sim_length-1 LOOP
-      in_data_cnt     <= in_data_cnt+1;
-      fill_in_sosi_arr_1 : FOR I IN 0 TO g_nof_streams-1 LOOP
-        in_sosi_arr(I).data(g_data_w-1 DOWNTO 0)   <= c_total_vector(g_data_w*(I+1)+J*c_in_data_w-1 DOWNTO g_data_w*I+J*c_in_data_w);
-      END LOOP;
-      in_sosi_arr(0).bsn(c_dp_stream_bsn_w-1 DOWNTO 0) <= bsn(c_dp_stream_bsn_w-1 DOWNTO 0);
-      bsn <= ADD_UVEC(bsn, "0001", c_dp_stream_bsn_w);
-      WAIT FOR c_clk_period*1;
-      stop_in <= '0';
-    END LOOP;
-    make_data_2 : FOR J IN 0 TO c_sim_length-1 LOOP
-      in_data_cnt     <= in_data_cnt+1;
-      fill_in_sosi_arr_2 : FOR I IN 0 TO g_nof_streams-1 LOOP
-        in_sosi_arr(I).data(g_data_w-1 DOWNTO 0)   <= c_total_vector(g_data_w*(I+1)+J*c_in_data_w-1 DOWNTO g_data_w*I+J*c_in_data_w);
-      END LOOP;
-      in_sosi_arr(0).bsn(c_dp_stream_bsn_w-1 DOWNTO 0) <= bsn(c_dp_stream_bsn_w-1 DOWNTO 0);
-      bsn <= ADD_UVEC(bsn, "0001", c_dp_stream_bsn_w);
-      WAIT FOR c_clk_period*1;
+      IF k = 1 THEN
+        stop_in <= '1';
+      ELSE
+        stop_in <= '0';
+      END IF;
     END LOOP;
     test_running      <= '0';
     wr_not_rd         <= '0';