Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/SelfTest/configuration_multi_port_bypass_memory.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/SelfTest/configuration_multi_port_bypass_memory.cfg	(revision 75)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/SelfTest/configuration_multi_port_bypass_memory.cfg	(revision 76)
@@ -16,2 +16,4 @@
 0	0	*2	# nb_bypass_write 
 1	4	*2	# nb_bypass_memory
+4	4	*2	# size_store_queue
+4	4	*2	# size_load_queue 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/SelfTest/configuration_multi_port_bypass_write.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/SelfTest/configuration_multi_port_bypass_write.cfg	(revision 75)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/SelfTest/configuration_multi_port_bypass_write.cfg	(revision 76)
@@ -16,2 +16,4 @@
 1	4	*2	# nb_bypass_write 
 0	0	*2	# nb_bypass_memory
+4	4	*2	# size_store_queue
+4	4	*2	# size_load_queue 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/SelfTest/configuration_multi_port_retire2.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/SelfTest/configuration_multi_port_retire2.cfg	(revision 75)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/SelfTest/configuration_multi_port_retire2.cfg	(revision 76)
@@ -16,2 +16,4 @@
 0	0	*2	# nb_bypass_write 
 0	0	*2	# nb_bypass_memory
+4	4	*2	# size_store_queue
+4	4	*2	# size_load_queue 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/SelfTest/configuration_multi_port_retire4.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/SelfTest/configuration_multi_port_retire4.cfg	(revision 75)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/SelfTest/configuration_multi_port_retire4.cfg	(revision 76)
@@ -16,2 +16,4 @@
 0	0	*2	# nb_bypass_write 
 0	0	*2	# nb_bypass_memory
+4	4	*2	# size_store_queue
+4	4	*2	# size_load_queue 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/SelfTest/configuration_multi_port_write.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/SelfTest/configuration_multi_port_write.cfg	(revision 75)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/SelfTest/configuration_multi_port_write.cfg	(revision 76)
@@ -16,2 +16,4 @@
 0	0	*2	# nb_bypass_write 
 0	0	*2	# nb_bypass_memory
+4	4	*2	# size_store_queue
+4	4	*2	# size_load_queue 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/SelfTest/src/main.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/SelfTest/src/main.cpp	(revision 75)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/SelfTest/src/main.cpp	(revision 76)
@@ -8,5 +8,5 @@
 #include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/SelfTest/include/test.h"
 
-#define NB_PARAMS 16
+#define NB_PARAMS 18
 
 void usage (int argc, char * argv[])
@@ -30,4 +30,6 @@
        << " - nb_bypass_write     (unsigned int)" << endl
        << " - nb_bypass_memory    (unsigned int)" << endl
+       << " - size_store_queue    (unsigned int)" << endl
+       << " - size_load_queue     (unsigned int)" << endl
        << "" << endl;
 
@@ -66,4 +68,6 @@
   const uint32_t nb_bypass_write     = atoi(argv[x++]);
   const uint32_t nb_bypass_memory    = atoi(argv[x++]);
+  const uint32_t size_store_queue    = atoi(argv[x++]);
+  const uint32_t size_load_queue     = atoi(argv[x++]);
   
   try 
@@ -86,4 +90,6 @@
 	 ,nb_bypass_write 
 	 ,nb_bypass_memory
+	 ,size_store_queue
+	 ,size_load_queue 
 	 );
       
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/SelfTest/src/test.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/SelfTest/src/test.cpp	(revision 75)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/SelfTest/src/test.cpp	(revision 76)
@@ -73,4 +73,6 @@
   sc_signal<Toperation_t      > *  in_INSERT_OPERATION      = new sc_signal<Toperation_t      >;
   sc_signal<Ttype_t           > *  in_INSERT_TYPE           = new sc_signal<Ttype_t           >;
+  sc_signal<Tlsq_ptr_t        > *  in_INSERT_STORE_QUEUE_PTR_WRITE = new sc_signal<Tlsq_ptr_t>;
+  sc_signal<Tlsq_ptr_t        > *  in_INSERT_LOAD_QUEUE_PTR_WRITE  = new sc_signal<Tlsq_ptr_t>;
   sc_signal<Tcontrol_t        > *  in_INSERT_HAS_IMMEDIAT   = new sc_signal<Tcontrol_t        >;
   sc_signal<Tgeneral_data_t   > *  in_INSERT_IMMEDIAT       = new sc_signal<Tgeneral_data_t   >;
@@ -100,4 +102,6 @@
   sc_signal<Toperation_t      > ** out_RETIRE_OPERATION      = new sc_signal<Toperation_t      > * [_param->_nb_inst_retire];
   sc_signal<Ttype_t           > ** out_RETIRE_TYPE           = new sc_signal<Ttype_t           > * [_param->_nb_inst_retire];
+  sc_signal<Tlsq_ptr_t        > ** out_RETIRE_STORE_QUEUE_PTR_WRITE = new sc_signal<Tlsq_ptr_t> * [_param->_nb_inst_retire];
+  sc_signal<Tlsq_ptr_t        > ** out_RETIRE_LOAD_QUEUE_PTR_WRITE  = new sc_signal<Tlsq_ptr_t> * [_param->_nb_inst_retire];
   sc_signal<Tcontrol_t        > ** out_RETIRE_HAS_IMMEDIAT   = new sc_signal<Tcontrol_t        > * [_param->_nb_inst_retire];
   sc_signal<Tgeneral_data_t   > ** out_RETIRE_IMMEDIAT       = new sc_signal<Tgeneral_data_t   > * [_param->_nb_inst_retire];
@@ -120,4 +124,6 @@
       out_RETIRE_OPERATION       [i] = new sc_signal<Toperation_t      > (rename.c_str());
       out_RETIRE_TYPE            [i] = new sc_signal<Ttype_t           > (rename.c_str());
+      out_RETIRE_STORE_QUEUE_PTR_WRITE [i] = new sc_signal<Tlsq_ptr_t> (rename.c_str());
+      out_RETIRE_LOAD_QUEUE_PTR_WRITE  [i] = new sc_signal<Tlsq_ptr_t> (rename.c_str());
       out_RETIRE_HAS_IMMEDIAT    [i] = new sc_signal<Tcontrol_t        > (rename.c_str());
       out_RETIRE_IMMEDIAT        [i] = new sc_signal<Tgeneral_data_t   > (rename.c_str());
@@ -209,4 +215,6 @@
   (*(_Reservation_station-> in_INSERT_OPERATION        )) (*( in_INSERT_OPERATION        ));
   (*(_Reservation_station-> in_INSERT_TYPE             )) (*( in_INSERT_TYPE             ));
+  (*(_Reservation_station-> in_INSERT_STORE_QUEUE_PTR_WRITE)) (*( in_INSERT_STORE_QUEUE_PTR_WRITE));
+  (*(_Reservation_station-> in_INSERT_LOAD_QUEUE_PTR_WRITE )) (*( in_INSERT_LOAD_QUEUE_PTR_WRITE ));
   (*(_Reservation_station-> in_INSERT_HAS_IMMEDIAT     )) (*( in_INSERT_HAS_IMMEDIAT     ));
   (*(_Reservation_station-> in_INSERT_IMMEDIAT         )) (*( in_INSERT_IMMEDIAT         ));
@@ -242,4 +250,6 @@
   (*(_Reservation_station->out_RETIRE_OPERATION      [i])) (*(out_RETIRE_OPERATION      [i]));
   (*(_Reservation_station->out_RETIRE_TYPE           [i])) (*(out_RETIRE_TYPE           [i]));
+  (*(_Reservation_station->out_RETIRE_STORE_QUEUE_PTR_WRITE [i])) (*(out_RETIRE_STORE_QUEUE_PTR_WRITE [i]));
+  (*(_Reservation_station->out_RETIRE_LOAD_QUEUE_PTR_WRITE  [i])) (*(out_RETIRE_LOAD_QUEUE_PTR_WRITE  [i]));
   (*(_Reservation_station->out_RETIRE_HAS_IMMEDIAT   [i])) (*(out_RETIRE_HAS_IMMEDIAT   [i]));
   (*(_Reservation_station->out_RETIRE_IMMEDIAT       [i])) (*(out_RETIRE_IMMEDIAT       [i]));
@@ -435,4 +445,6 @@
    	      in_INSERT_OPERATION   ->write(0);
    	      in_INSERT_TYPE        ->write(0);
+   	      in_INSERT_STORE_QUEUE_PTR_WRITE->write(0);
+   	      in_INSERT_LOAD_QUEUE_PTR_WRITE ->write(0);
    	      in_INSERT_HAS_IMMEDIAT->write(0);
    	      in_INSERT_IMMEDIAT    ->write(0);
@@ -679,4 +691,6 @@
   delete     in_INSERT_OPERATION   ;
   delete     in_INSERT_TYPE        ;
+  delete     in_INSERT_STORE_QUEUE_PTR_WRITE;
+  delete     in_INSERT_LOAD_QUEUE_PTR_WRITE ;
   delete     in_INSERT_HAS_IMMEDIAT;
   delete     in_INSERT_IMMEDIAT    ;
@@ -710,4 +724,6 @@
   delete [] out_RETIRE_OPERATION   ;
   delete [] out_RETIRE_TYPE        ;
+  delete [] out_RETIRE_STORE_QUEUE_PTR_WRITE;
+  delete [] out_RETIRE_LOAD_QUEUE_PTR_WRITE ;
   delete [] out_RETIRE_HAS_IMMEDIAT;
   delete [] out_RETIRE_IMMEDIAT    ;
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/include/Parameters.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/include/Parameters.h	(revision 75)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/include/Parameters.h	(revision 76)
@@ -42,4 +42,7 @@
   public : const uint32_t    _nb_bypass_write      ;//if nb_bypass=0, then bypass is desactivated
   public : const uint32_t    _nb_bypass_memory     ;//if nb_bypass=0, then bypass is desactivated
+  public : const uint32_t    _size_store_queue     ;
+  public : const uint32_t    _size_load_queue      ;
+
     /*
   public : const bool        _have_immediat        ;
@@ -80,5 +83,7 @@
 			uint32_t nb_spr_write       ,
 			uint32_t nb_bypass_write    ,
-			uint32_t nb_bypass_memory   );
+			uint32_t nb_bypass_memory   ,
+			uint32_t size_store_queue   ,
+			uint32_t size_load_queue    );
 
   public : Parameters  (Parameters & param) ;
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/include/Reservation_station.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/include/Reservation_station.h	(revision 75)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/include/Reservation_station.h	(revision 76)
@@ -5,5 +5,5 @@
  * $Id$
  *
- * [ Description ]
+ * [ Description ]
  * 
  */
@@ -47,4 +47,6 @@
   public    : Toperation_t       _operation   ;
   public    : Ttype_t            _type        ;
+  public    : Tlsq_ptr_t         _store_queue_ptr_write;
+  public    : Tlsq_ptr_t         _load_queue_ptr_write ;
   public    : Tcontrol_t         _has_immediat;
   public    : Tgeneral_data_t    _immediat    ;
@@ -69,32 +71,33 @@
 				morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_read_unit::read_unit::reservation_station::Treservation_station_entry_t & x)
     {
-      output_stream << " * _context_id     : " << toString(x._context_id     ) << std::endl
-		    << " * _front_end_id   : " << toString(x._front_end_id   ) << std::endl
-		    << " * _ooo_engine_id  : " << toString(x._ooo_engine_id  ) << std::endl
-		    << " * _rob_id         : " << toString(x._rob_id         ) << std::endl
-		    << " * _operation      : " << toString(x._operation      ) << std::endl
-		    << " * _type           : " << toString(x._type           ) << std::endl
-		    << " * _has_immediat   : " << toString(x._has_immediat   ) << std::endl
-		    << " * _immediat       : " << toString(x._immediat       ) << std::endl
-// 		    << " * _read_ra        : " << toString(x._read_ra        ) << std::endl
-		    << " * _num_reg_ra     : " << toString(x._num_reg_ra     ) << std::endl
-		    << " * _data_ra_val    : " << toString(x._data_ra_val    ) << std::endl
-		    << " * _data_ra        : " << toString(x._data_ra        ) << std::endl
-// 		    << " * _read_rb        : " << toString(x._read_rb        ) << std::endl
-		    << " * _num_reg_rb     : " << toString(x._num_reg_rb     ) << std::endl
-		    << " * _data_rb_val    : " << toString(x._data_rb_val    ) << std::endl
-		    << " * _data_rb        : " << toString(x._data_rb        ) << std::endl
-// 		    << " * _read_rc        : " << toString(x._read_rc        ) << std::endl
-		    << " * _num_reg_rc     : " << toString(x._num_reg_rc     ) << std::endl
-		    << " * _data_rc_val    : " << toString(x._data_rc_val    ) << std::endl
-		    << " * _data_rc        : " << toString(x._data_rc        ) << std::endl
-		    << " * _write_rd       : " << toString(x._write_rd       ) << std::endl
-		    << " * _num_reg_rd     : " << toString(x._num_reg_rd     ) << std::endl
-		    << " * _write_re       : " << toString(x._write_re       ) << std::endl
-		    << " * _num_reg_re     : " << toString(x._num_reg_re     ) << std::endl;
+      output_stream << " * _context_id            : " << toString(x._context_id     ) << std::endl
+		    << " * _front_end_id          : " << toString(x._front_end_id   ) << std::endl
+		    << " * _ooo_engine_id         : " << toString(x._ooo_engine_id  ) << std::endl
+		    << " * _rob_id                : " << toString(x._rob_id         ) << std::endl
+		    << " * _operation             : " << toString(x._operation      ) << std::endl
+		    << " * _type                  : " << toString(x._type           ) << std::endl
+		    << " * _store_queue_ptr_write : " << toString(x._store_queue_ptr_write) << std::endl
+		    << " * _load_queue_ptr_write  : " << toString(x._load_queue_ptr_write ) << std::endl
+		    << " * _has_immediat          : " << toString(x._has_immediat   ) << std::endl
+		    << " * _immediat              : " << toString(x._immediat       ) << std::endl
+// 		    << " * _read_ra               : " << toString(x._read_ra        ) << std::endl
+		    << " * _num_reg_ra            : " << toString(x._num_reg_ra     ) << std::endl
+		    << " * _data_ra_val           : " << toString(x._data_ra_val    ) << std::endl
+		    << " * _data_ra               : " << toString(x._data_ra        ) << std::endl
+// 		    << " * _read_rb               : " << toString(x._read_rb        ) << std::endl
+		    << " * _num_reg_rb            : " << toString(x._num_reg_rb     ) << std::endl
+		    << " * _data_rb_val           : " << toString(x._data_rb_val    ) << std::endl
+		    << " * _data_rb               : " << toString(x._data_rb        ) << std::endl
+// 		    << " * _read_rc               : " << toString(x._read_rc        ) << std::endl
+		    << " * _num_reg_rc            : " << toString(x._num_reg_rc     ) << std::endl
+		    << " * _data_rc_val           : " << toString(x._data_rc_val    ) << std::endl
+		    << " * _data_rc               : " << toString(x._data_rc        ) << std::endl
+		    << " * _write_rd              : " << toString(x._write_rd       ) << std::endl
+		    << " * _num_reg_rd            : " << toString(x._num_reg_rd     ) << std::endl
+		    << " * _write_re              : " << toString(x._write_re       ) << std::endl
+		    << " * _num_reg_re            : " << toString(x._num_reg_re     ) << std::endl;
 
       return output_stream;
     }
-
   };
 
@@ -104,5 +107,5 @@
 #endif
   {
-    // -----[ fields ]----------------------------------------------------
+    // -----[ fields ]----------------------------------------------------
     // Parameters
   protected : const std::string       _name;
@@ -118,10 +121,10 @@
 
 #ifdef SYSTEMC
-    // ~~~~~[ Interface ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+    // ~~~~~[ Interface ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     // Interface
   public    : SC_CLOCK                      *  in_CLOCK        ;
   public    : SC_IN (Tcontrol_t)            *  in_NRESET       ;
 
-    // ~~~~~[ Interface "insert" ]~~~~~~~~~~~~~~~~~~~~~~~~
+    // ~~~~~[ Interface "insert" ]~~~~~~~~~~~~~~~~~~~~~~~~
   public    : SC_IN (Tcontrol_t        )    *  in_INSERT_VAL            ;
   public    : SC_OUT(Tcontrol_t        )    * out_INSERT_ACK            ;
@@ -132,4 +135,6 @@
   public    : SC_IN (Toperation_t      )    *  in_INSERT_OPERATION      ;
   public    : SC_IN (Ttype_t           )    *  in_INSERT_TYPE           ;
+  public    : SC_IN (Tlsq_ptr_t        )    *  in_INSERT_STORE_QUEUE_PTR_WRITE;
+  public    : SC_IN (Tlsq_ptr_t        )    *  in_INSERT_LOAD_QUEUE_PTR_WRITE ;
   public    : SC_IN (Tcontrol_t        )    *  in_INSERT_HAS_IMMEDIAT   ;
   public    : SC_IN (Tgeneral_data_t   )    *  in_INSERT_IMMEDIAT       ;
@@ -151,5 +156,5 @@
   public    : SC_IN (Tspecial_address_t)    *  in_INSERT_NUM_REG_RE     ;
 
-    // ~~~~~[ Interface "retire" ]~~~~~~~~~~~~~~~~~~~~~~~
+    // ~~~~~[ Interface "retire" ]~~~~~~~~~~~~~~~~~~~~~~~
   public    : SC_OUT(Tcontrol_t        )   ** out_RETIRE_VAL            ;
   public    : SC_IN (Tcontrol_t        )   **  in_RETIRE_ACK            ;
@@ -160,4 +165,6 @@
   public    : SC_OUT(Toperation_t      )   ** out_RETIRE_OPERATION      ;
   public    : SC_OUT(Ttype_t           )   ** out_RETIRE_TYPE           ;
+  public    : SC_OUT(Tlsq_ptr_t        )   ** out_RETIRE_STORE_QUEUE_PTR_WRITE;
+  public    : SC_OUT(Tlsq_ptr_t        )   ** out_RETIRE_LOAD_QUEUE_PTR_WRITE ;
   public    : SC_OUT(Tcontrol_t        )   ** out_RETIRE_HAS_IMMEDIAT   ;
   public    : SC_OUT(Tgeneral_data_t   )   ** out_RETIRE_IMMEDIAT       ;
@@ -170,5 +177,5 @@
   public    : SC_OUT(Tspecial_address_t)   ** out_RETIRE_NUM_REG_RE     ;
 
-    // ~~~~~[ Interface "gpr_write" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+    // ~~~~~[ Interface "gpr_write" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
   public    : SC_IN (Tcontrol_t        )   **  in_GPR_WRITE_VAL          ; // val and ack
@@ -177,5 +184,5 @@
   public    : SC_IN (Tgeneral_data_t   )   **  in_GPR_WRITE_DATA         ;
 
-    // ~~~~~[ Interface "spr_write" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+    // ~~~~~[ Interface "spr_write" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
   public    : SC_IN (Tcontrol_t        )   **  in_SPR_WRITE_VAL          ; // val and ack
@@ -184,5 +191,5 @@
   public    : SC_IN (Tspecial_data_t   )   **  in_SPR_WRITE_DATA         ;
 
-    // ~~~~~[ Interface "bypass_write" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+    // ~~~~~[ Interface "bypass_write" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
   public    : SC_IN (Tcontext_t        )   **  in_BYPASS_WRITE_OOO_ENGINE_ID ;
@@ -194,5 +201,5 @@
   public    : SC_IN (Tspecial_data_t   )   **  in_BYPASS_WRITE_SPR_DATA      ;
 
-    // ~~~~~[ Interface "bypass_memory" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+    // ~~~~~[ Interface "bypass_memory" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
   public    : SC_IN (Tcontrol_t        )   **  in_BYPASS_MEMORY_VAL          ;
@@ -202,9 +209,9 @@
 
 
-    // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~    
-
-    // ~~~~~[ Register ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~    
-
-    // ~~~~~[ Internal ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+    // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~    
+
+    // ~~~~~[ Register ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~    
+
+    // ~~~~~[ Internal ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 #ifdef  SYSTEMC_VHDL_COMPATIBILITY
   protected : bool                          *  _queue_valid;
@@ -220,5 +227,5 @@
 #endif
 
-    // -----[ methods ]---------------------------------------------------
+    // -----[ methods ]---------------------------------------------------
 
 #ifdef SYSTEMC
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Parameters.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Parameters.cpp	(revision 75)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Parameters.cpp	(revision 76)
@@ -35,5 +35,7 @@
 			  uint32_t nb_spr_write       ,
 			  uint32_t nb_bypass_write    ,
-			  uint32_t nb_bypass_memory   ):
+			  uint32_t nb_bypass_memory   ,
+			  uint32_t size_store_queue   ,
+			  uint32_t size_load_queue    ):
     _size_queue            (size_queue           ),
     _nb_inst_retire        (nb_inst_retire       ),
@@ -52,4 +54,6 @@
     _nb_bypass_write       (nb_bypass_write      ),
     _nb_bypass_memory      (nb_bypass_memory     ),
+    _size_store_queue      (size_store_queue     ),
+    _size_load_queue       (size_load_queue      ),
 
     _size_context_id       (static_cast<uint32_t>(log2(_nb_context         ))),
@@ -91,4 +95,6 @@
     _nb_bypass_write       (param._nb_bypass_write       ),
     _nb_bypass_memory      (param._nb_bypass_memory      ),
+    _size_store_queue      (param._size_store_queue      ),
+    _size_load_queue       (param._size_load_queue       ),
 
     _size_context_id       (param._size_context_id       ),
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Parameters_print.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Parameters_print.cpp	(revision 75)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Parameters_print.cpp	(revision 76)
@@ -44,4 +44,6 @@
     xml.singleton_begin("nb_bypass_write    "); xml.attribut("value",toString(_nb_bypass_write    )); xml.singleton_end();
     xml.singleton_begin("nb_bypass_memory   "); xml.attribut("value",toString(_nb_bypass_memory   )); xml.singleton_end();
+    xml.singleton_begin("size_store_queue   "); xml.attribut("value",toString(_size_store_queue   )); xml.singleton_end();
+    xml.singleton_begin("size_load_queue    "); xml.attribut("value",toString(_size_load_queue    )); xml.singleton_end();
     xml.balise_close();
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Reservation_station_allocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Reservation_station_allocation.cpp	(revision 75)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Reservation_station_allocation.cpp	(revision 76)
@@ -72,4 +72,6 @@
        in_INSERT_OPERATION      = interface->set_signal_in <Toperation_t      > ("operation"      ,_param->_size_operation        );
        in_INSERT_TYPE           = interface->set_signal_in <Ttype_t           > ("type"           ,_param->_size_type             );
+       in_INSERT_STORE_QUEUE_PTR_WRITE = interface->set_signal_in <Tlsq_ptr_t> ("store_queue_ptr_write" ,log2(_param->_size_store_queue));
+       in_INSERT_LOAD_QUEUE_PTR_WRITE  = interface->set_signal_in <Tlsq_ptr_t> ("load_queue_ptr_write"  ,log2(_param->_size_load_queue) );
        in_INSERT_HAS_IMMEDIAT   = interface->set_signal_in <Tcontrol_t        > ("has_immediat"   ,1                             );
        in_INSERT_IMMEDIAT       = interface->set_signal_in <Tgeneral_data_t   > ("immediat"       ,_param->_size_general_data     );
@@ -105,4 +107,6 @@
     out_RETIRE_OPERATION      = new SC_OUT(Toperation_t      ) * [_param->_nb_inst_retire];
     out_RETIRE_TYPE           = new SC_OUT(Ttype_t           ) * [_param->_nb_inst_retire];
+    out_RETIRE_STORE_QUEUE_PTR_WRITE = new SC_OUT(Tlsq_ptr_t ) * [_param->_nb_inst_retire];
+    out_RETIRE_LOAD_QUEUE_PTR_WRITE  = new SC_OUT(Tlsq_ptr_t ) * [_param->_nb_inst_retire];
     out_RETIRE_HAS_IMMEDIAT   = new SC_OUT(Tcontrol_t        ) * [_param->_nb_inst_retire];
     out_RETIRE_IMMEDIAT       = new SC_OUT(Tgeneral_data_t   ) * [_param->_nb_inst_retire];
@@ -136,4 +140,7 @@
 	out_RETIRE_OPERATION    [i] = interface->set_signal_out<Toperation_t      > ("operation"    ,_param->_size_operation);
 	out_RETIRE_TYPE         [i] = interface->set_signal_out<Ttype_t           > ("type"         ,_param->_size_type);
+	out_RETIRE_STORE_QUEUE_PTR_WRITE [i] = interface->set_signal_out<Tlsq_ptr_t> ("store_queue_ptr_write" ,log2(_param->_size_store_queue));
+	out_RETIRE_LOAD_QUEUE_PTR_WRITE  [i] = interface->set_signal_out<Tlsq_ptr_t> ("load_queue_ptr_write"  ,log2(_param->_size_load_queue) );
+
 	out_RETIRE_HAS_IMMEDIAT [i] = interface->set_signal_out<Tcontrol_t        > ("has_immediat" ,1);
 	out_RETIRE_IMMEDIAT     [i] = interface->set_signal_out<Tgeneral_data_t   > ("immediat"     ,_param->_size_general_data);
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Reservation_station_deallocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Reservation_station_deallocation.cpp	(revision 75)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Reservation_station_deallocation.cpp	(revision 76)
@@ -43,4 +43,6 @@
     delete     in_INSERT_OPERATION     ;
     delete     in_INSERT_TYPE          ;
+    delete     in_INSERT_STORE_QUEUE_PTR_WRITE;
+    delete     in_INSERT_LOAD_QUEUE_PTR_WRITE ;
     delete     in_INSERT_HAS_IMMEDIAT  ;
     delete     in_INSERT_IMMEDIAT      ;
@@ -74,4 +76,6 @@
     delete [] out_RETIRE_OPERATION     ;
     delete [] out_RETIRE_TYPE          ;
+    delete [] out_RETIRE_STORE_QUEUE_PTR_WRITE;
+    delete [] out_RETIRE_LOAD_QUEUE_PTR_WRITE ;
     delete [] out_RETIRE_HAS_IMMEDIAT  ;
     delete [] out_RETIRE_IMMEDIAT      ;
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Reservation_station_genMoore.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Reservation_station_genMoore.cpp	(revision 75)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Reservation_station_genMoore.cpp	(revision 76)
@@ -101,4 +101,6 @@
 	    PORT_WRITE(out_RETIRE_OPERATION     [i],_queue[index_find]._operation);
 	    PORT_WRITE(out_RETIRE_TYPE          [i],_queue[index_find]._type);
+	    PORT_WRITE(out_RETIRE_STORE_QUEUE_PTR_WRITE [i],_queue[index_find]._store_queue_ptr_write);
+	    PORT_WRITE(out_RETIRE_LOAD_QUEUE_PTR_WRITE  [i],_queue[index_find]._load_queue_ptr_write );
 	    PORT_WRITE(out_RETIRE_HAS_IMMEDIAT  [i],_queue[index_find]._has_immediat);
 	    PORT_WRITE(out_RETIRE_IMMEDIAT      [i],_queue[index_find]._immediat);
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Reservation_station_transition.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Reservation_station_transition.cpp	(revision 75)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Reservation_station_transition.cpp	(revision 76)
@@ -258,4 +258,6 @@
   	    _queue[index]._operation       = PORT_READ(in_INSERT_OPERATION      );
   	    _queue[index]._type            = PORT_READ(in_INSERT_TYPE           );
+  	    _queue[index]._store_queue_ptr_write = PORT_READ(in_INSERT_STORE_QUEUE_PTR_WRITE);
+  	    _queue[index]._load_queue_ptr_write  = PORT_READ(in_INSERT_LOAD_QUEUE_PTR_WRITE );
   	    _queue[index]._has_immediat    = PORT_READ(in_INSERT_HAS_IMMEDIAT   );
   	    _queue[index]._immediat        = PORT_READ(in_INSERT_IMMEDIAT       );
