diff --git a/libraries/base/reorder/src/vhdl/reorder_sequencer.vhd b/libraries/base/reorder/src/vhdl/reorder_sequencer.vhd
index 7bbd4485770541422fa3ba129f9847f3ecb42b46..ed861746ce8d297330be63dc7ac7c6534c0e8328 100644
--- a/libraries/base/reorder/src/vhdl/reorder_sequencer.vhd
+++ b/libraries/base/reorder/src/vhdl/reorder_sequencer.vhd
@@ -25,8 +25,8 @@
 --              sequencer. The sequencer is based on the use of a dualpage memory.
 --              While data is written in page 0, page 1 is read. The state machine 
 --              alternated between reads and writes: read periods and write periods.
---              The number of accesses in a read and wrte period is determined by the 
---              values of the generic.
+--              The number of accesses in a read and write period is determined by the 
+--              values of the generics.
 --              The generics are interpreted as addresses in the sosi clock-domain. If the 
 --              datarate and/or the datawidth of the memory interface is higher than the 
 --              sosi domain than the g_data_w_ratio generic can be used to specify the 
@@ -42,53 +42,83 @@
 --
 --              - wr_chunksize is the number of samples that are written during a write access.
 --                A write access always consists of 1 access. 
---              - rd_chunksize is the number of samples that are read during a read access.
+--              - rd_chunksize is the number of samples that are read during a read access.(multiple read accesses can be perfromed during a read period!!!!)
 --              - 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. 
 --              - gapsize is the address space to be skipped in between two consecutive write or
 --                read periods. Gapsize can be used to create byte-alignment in the memory.
 --              - nof_blocks determines the number of write and read periods before the page 
---                swap takes place. Note that this number should be a multiple of rd_chunksize.  
+--                swap takes place. Note that this number should be a multiple of rd_chunksize.
+--                Generally these number of blocks define a sync period.   
 --               
 --              The example shows the following configuration: 
 --
+--              g_data_w_ratio  = 1
 --              wr_chunksize    : POSITIVE := 8
 --              rd_chunksize    : POSITIVE := 4;  
 --              rd_nof_chunks   : POSITIVE := 2;  
 --              rd_interval     : POSITIVE := 2;            
 --              gapsize         : NATURAL  := 0;              
---              nof_blocks      : POSITIVE := 5;              
+--              nof_blocks      : POSITIVE := 8;   
+--
+--              The two columns represents the pages of the dual paged memory. The first column
+--              is written, while the second column is read. After the first chunk is written(0)
+--              to the write-page, the chunks (0,0) and (0,1) are read from the read-page. Then 
+--              the second chunk (1) is written and after that chunks (1,0) and (1,1) are read. 
+--
+--              The wr_chunk_index and rd_chunk_index indicate in which order the chunks are 
+--              written and read. Note that we read twice as much chunks as that we write. That 
+--              is because the read chunks are smaller than the write chunks. 
+--                 
 --                                                         wr     rd
 --                                                         chunk  chunk
 --                    WR             RD                    index  index
 --                 --------       --------
 --                 |0     |       |0,0   |  rd_chunksize   0      0
 --   wr_chunksize  |      |       --------                        
---                 |      |       |2,1   |  rd_chunksize            5
+--                 |      |       |2,0   |  rd_chunksize          4
 --                 --------       --------                        
 --        gapsize  |      |       |      |  gapsize               
 --                 --------       --------                        
---                 |1     |       |1,1   |                  1      3
+--                 |1     |       |4,0   |                 1      8
 --                 |      |       --------                        
---                 |      |       |4,0   |                            8
+--                 |      |       |6,0   |                        12
 --                 --------       --------                        
 --                 |      |       |      |                        
 --                 --------       --------                        
---                 |2     |       |0,1   |                   2    1
+--                 |2     |       |0,1   |                 2      1
 --                 |      |       --------                        
---                 |      |       |3,0   |                           6
+--                 |      |       |2,1   |                        5
 --                 --------       --------                        
 --                 |      |       |      |                        
 --                 --------       --------                        
---                 |3     |       |2,0   |                    3     4
+--                 |3     |       |4,1   |                 3      9
 --                 |      |       --------                        
---                 |      |       |4,1   |                            9
+--                 |      |       |6,1   |                        13
 --                 --------       --------                        
 --                 |      |       |      |                        
 --                 --------       --------                        
---                 |4     |       |1,0   |                     4   2
+--                 |4     |       |1,0   |                 4      2
+--                 |      |       --------                        
+--                 |      |       |3,0   |                        6
+--                 --------       -------- 
+--                 |      |       |      | 
+--                 --------       -------- 
+--                 |5     |       |5,0   |                 5      10
+--                 |      |       --------                        
+--                 |      |       |7,0   |                        14
+--                 --------       -------- 
+--                 |      |       |      | 
+--                 --------       -------- 
+--                 |6     |       |1,1   |                 6      3
+--                 |      |       --------                        
+--                 |      |       |3,1   |                        7
+--                 --------       -------- 
+--                 |      |       |      | 
+--                 --------       -------- 
+--                 |7     |       |5,1   |                 7      11
 --                 |      |       --------                        
---                 |      |       |3,1   |                           7
+--                 |      |       |7,1   |                        15
 --                 --------       -------- 
 --                 |      |       |      | 
 --                 --------       -------- 
@@ -110,6 +140,7 @@
 --                 rd_chunksize, rd_nof_chunks, gapsize and nof_blocks are divisible by g_data_w_ratio.
 --              2) wr_chunksize = rd_chunksize*rd_nof_chunks, so write one big chunk and read small chunks. 
 --                 It is not supported to write small chunks and read one big chunk.
+--              3) Also be sure that nof_blocks is larger than or equal to rd_chunksize
 
 
 LIBRARY IEEE, common_lib;
@@ -176,8 +207,13 @@ BEGIN
   ---------------------------------------------------------------
   -- CHECK IF PROVIDED GENERICS ARE ALLOWED. 
   ---------------------------------------------------------------
-  ASSERT g_reorder_seq.wr_chunksize = g_reorder_seq.rd_nof_chunks*g_reorder_seq.rd_chunksize REPORT "Total write configuration is different from total read configuration!!!" SEVERITY FAILURE;
-    
+  ASSERT g_reorder_seq.wr_chunksize  =  g_reorder_seq.rd_nof_chunks*g_reorder_seq.rd_chunksize REPORT "Total write configuration is different from total read configuration!!!" SEVERITY FAILURE;
+  ASSERT g_reorder_seq.nof_blocks   >=  g_reorder_seq.rd_chunksize  REPORT "The nof_blocks must be larger than or equal to the rd_chunksize!!!" SEVERITY FAILURE;
+  ASSERT g_reorder_seq.wr_chunksize REM g_data_w_ratio = 0  REPORT "The wr_chunksize must divisible by the g_data_w_ratio!!!" SEVERITY FAILURE;
+  ASSERT g_reorder_seq.rd_chunksize REM g_data_w_ratio = 0  REPORT "The rd_chunksize must divisible by the g_data_w_ratio!!!" SEVERITY FAILURE;
+  ASSERT g_reorder_seq.gapsize      REM g_data_w_ratio = 0  REPORT "The gapsize must divisible by the g_data_w_ratio!!!"      SEVERITY FAILURE;
+  ASSERT g_reorder_seq.nof_blocks   REM g_data_w_ratio = 0  REPORT "The nof_blocks must divisible by the g_data_w_ratio!!!"   SEVERITY FAILURE;
+      
   p_comb : PROCESS(r, dp_rst, done)
     VARIABLE v : reg_type;
   BEGIN