diff --git a/libraries/base/reorder/src/vhdl/reorder_sequencer.vhd b/libraries/base/reorder/src/vhdl/reorder_sequencer.vhd
index e45602e12d713a4bed306731b18a6366833ee0e2..8f44f0100c8ee51054b6d1d2cc6b1f6f1dba8d3e 100644
--- a/libraries/base/reorder/src/vhdl/reorder_sequencer.vhd
+++ b/libraries/base/reorder/src/vhdl/reorder_sequencer.vhd
@@ -30,7 +30,7 @@
 --              The generics are interpreted as follows: 
 --
 --              - wr_chunksize is the number of samples that are written during a write access.
---              - wr_nof_chunks is the number of write accesses performed during a write period
+--                A write access always consists of 1 access. 
 --              - rd_chunksize is the number of samples that are read during a read access.
 --              - rd_nof_chunks is the number of read accesses performed during a read period
 --              - rd_interval defines the number of blocks in between two consecutive reads. 
@@ -42,7 +42,6 @@
 --              The example shows the following configuration: 
 --
 --              wr_chunksize    : POSITIVE := 8
---              wr_nof_chunks   : POSITIVE := 1;              
 --              rd_chunksize    : POSITIVE := 4;  
 --              rd_nof_chunks   : POSITIVE := 2;  
 --              rd_interval     : POSITIVE := 2;            
@@ -119,10 +118,9 @@ END reorder_sequencer;
 
 ARCHITECTURE rtl OF reorder_sequencer IS
   
-  CONSTANT c_blocksize          : POSITIVE := g_reorder_seq.wr_nof_chunks * (g_reorder_seq.wr_chunksize + g_reorder_seq.gapsize);  
+  CONSTANT c_blocksize          : POSITIVE := g_reorder_seq.wr_chunksize + g_reorder_seq.gapsize;  
   CONSTANT c_page_size          : POSITIVE := c_blocksize * g_reorder_seq.nof_blocks;
   CONSTANT c_rd_block_increment : POSITIVE := c_blocksize * g_reorder_seq.rd_interval;
-  CONSTANT c_nof_wr_access      : POSITIVE := g_reorder_seq.wr_nof_chunks * g_reorder_seq.nof_blocks;
   CONSTANT c_address_w          : POSITIVE := ceil_log2(2*c_page_size);    
   CONSTANT c_address_shift_w    : POSITIVE := ceil_log2(g_data_w_ratio);    
   
@@ -135,12 +133,7 @@ ARCHITECTURE rtl OF reorder_sequencer IS
     wr_not_rd        : STD_LOGIC;
     rd_block_offset  : NATURAL;
     rd_chunks_offset : NATURAL;
-    rd_block_cnt     : NATURAL;
-    rd_chunks_cnt    : NATURAL;
     wr_block_offset  : NATURAL;
-    wr_chunks_offset : NATURAL;
-    wr_block_cnt     : NATURAL;
-    wr_chunks_cnt    : NATURAL;
     switch_cnt       : NATURAL;   -- Counter that counts the write and read accesses to determine the switch between read and write phase. 
     page_cnt         : NATURAL;   -- Counter that counts the number of write accesses to determuine the page-swap. 
     first_write      : STD_LOGIC;
@@ -156,7 +149,7 @@ BEGIN
   ---------------------------------------------------------------
   -- CHECK IF PROVIDED GENERICS ARE ALLOWED. 
   ---------------------------------------------------------------
-  ASSERT NOT((g_reorder_seq.wr_nof_chunks*g_reorder_seq.wr_chunksize) /= (g_reorder_seq.rd_nof_chunks*g_reorder_seq.rd_chunksize) AND rising_edge(dp_clk)) REPORT "Total write configuration is different from total read configuration!!!" SEVERITY FAILURE;
+  ASSERT NOT(g_reorder_seq.wr_chunksize /= (g_reorder_seq.rd_nof_chunks*g_reorder_seq.rd_chunksize) AND rising_edge(dp_clk)) REPORT "Total write configuration is different from total read configuration!!!" SEVERITY FAILURE;
     
   p_comb : PROCESS(r, dp_rst, done)
     VARIABLE v : reg_type;
@@ -175,44 +168,24 @@ BEGIN
       WHEN s_first_write =>  
         v.wr_not_rd  := '1'; 
         v.ddr3_en    := '1'; 
-        v.start_addr := TO_UVEC(r.wr_page_offset + r.wr_block_offset + r.wr_chunks_offset, c_address_w);
+        v.start_addr := TO_UVEC(r.wr_page_offset + r.wr_block_offset, c_address_w);
         v.burstsize  := TO_UVEC(g_reorder_seq.wr_chunksize, c_address_w);
-        v.switch_cnt := r.switch_cnt + 1;
         v.state      := s_wait_wr;
         
       WHEN s_write =>  
         IF(done = '1') THEN 
           v.wr_not_rd  := '1'; 
           v.ddr3_en    := '1';
-          v.start_addr := TO_UVEC(r.wr_page_offset + r.wr_block_offset + r.wr_chunks_offset, c_address_w);                   
+          v.start_addr := TO_UVEC(r.wr_page_offset + r.wr_block_offset, c_address_w);                   
           v.burstsize  := TO_UVEC(g_reorder_seq.wr_chunksize, c_address_w);
-          v.switch_cnt := r.switch_cnt + 1;
           v.state      := s_wait_wr; 
         END IF;
 
       WHEN s_wait_wr =>      
-        v.page_cnt := r.page_cnt + 1;
-        IF(r.wr_block_cnt = g_reorder_seq.nof_blocks-1 AND r.wr_chunks_cnt = g_reorder_seq.wr_nof_chunks-1) THEN 
-          v.wr_block_offset  := 0;
-          v.wr_chunks_offset := 0;
-          v.wr_block_cnt     := 0;
-          v.wr_chunks_cnt    := 0;
-        ELSIF(r.wr_block_cnt = g_reorder_seq.nof_blocks-1) THEN 
-          v.wr_block_offset  := 0;
-          v.wr_chunks_offset := r.wr_chunks_offset + g_reorder_seq.wr_chunksize;
-          v.wr_block_cnt     := 0; 
-          v.wr_chunks_cnt    := r.wr_chunks_cnt + 1;
-        ELSE 
-          v.wr_block_offset := r.wr_block_offset + c_blocksize;
-          v.wr_block_cnt    := r.wr_block_cnt + 1;
-        END IF;          
-        
-        IF(r.switch_cnt = g_reorder_seq.wr_nof_chunks) THEN
-          v.switch_cnt := 0; 
-          v.state      := s_read;
-        ELSE
-          v.state := s_write;
-        END IF;  
+        v.wr_block_offset := r.wr_block_offset + c_blocksize;
+        v.page_cnt        := r.page_cnt + 1;
+        v.switch_cnt      := 0; 
+        v.state           := s_read;
       
       WHEN s_read => 
         IF(done = '1') THEN 
@@ -232,23 +205,19 @@ BEGIN
         
         IF(r.rd_block_offset + c_rd_block_increment >= c_page_size) THEN
           v.rd_chunks_offset := r.rd_chunks_offset + g_reorder_seq.rd_chunksize;        
-          v.rd_chunks_cnt    := r.rd_chunks_cnt + 1;                    
-        ELSE 
-          v.rd_block_cnt    := r.rd_block_cnt + 1;
         END IF;
 
         IF(r.switch_cnt = g_reorder_seq.rd_nof_chunks) THEN 
           v.switch_cnt := 0; 
           v.state      := s_write;
-          IF(r.page_cnt = c_nof_wr_access) THEN 
-            v.rd_page_offset := r.wr_page_offset;
-            v.wr_page_offset := r.rd_page_offset;
-            v.page_cnt       := 0;  
-            v.first_write    := '0';
+          IF(r.page_cnt = g_reorder_seq.nof_blocks) THEN 
+            v.rd_page_offset   := r.wr_page_offset;
+            v.wr_page_offset   := r.rd_page_offset;
+            v.page_cnt         := 0;  
+            v.first_write      := '0';
             v.rd_block_offset  := 0;
             v.rd_chunks_offset := 0;
-            v.rd_block_cnt     := 0;
-            v.rd_chunks_cnt    := 0;    
+            v.wr_block_offset  := 0;
           END IF; 
         ELSE
           v.state := s_read;
@@ -267,13 +236,8 @@ BEGIN
       v.ddr3_en          := '0';
       v.wr_not_rd        := '0';
       v.wr_block_offset  := 0;
-      v.wr_chunks_offset := 0;
-      v.wr_block_cnt     := 0;
-      v.wr_chunks_cnt    := 0;
       v.rd_block_offset  := 0;
       v.rd_chunks_offset := 0;
-      v.rd_block_cnt     := 0;
-      v.rd_chunks_cnt    := 0;
       v.start_addr       := (OTHERS => '0');
       v.burstsize        := (OTHERS => '0');
       v.first_write      := '1';