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 77)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Parameters.cpp	(revision 78)
@@ -63,5 +63,6 @@
     _have_port_front_end_id  (_size_front_end_id  > 0),
     _have_port_ooo_engine_id (_size_ooo_engine_id > 0),
-    _have_port_rob_id        (_size_rob_id        > 0)
+    _have_port_rob_id        (_size_rob_id        > 0),
+    _have_port_load_queue_ptr(_size_load_queue    > 1)
   {
     log_printf(FUNC,Reservation_station,FUNCTION,"Begin");
@@ -100,5 +101,6 @@
     _have_port_front_end_id  (param._have_port_front_end_id ),
     _have_port_ooo_engine_id (param._have_port_ooo_engine_id),
-    _have_port_rob_id        (param._have_port_rob_id       )
+    _have_port_rob_id        (param._have_port_rob_id       ),
+    _have_port_load_queue_ptr(param._have_port_load_queue_ptr)
   {
     log_printf(FUNC,Reservation_station,FUNCTION,"Begin");
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Parameters_msg_error.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Parameters_msg_error.cpp	(revision 77)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Parameters_msg_error.cpp	(revision 78)
@@ -21,24 +21,16 @@
 #undef  FUNCTION
 #define FUNCTION "Reservation_station::msg_error"
-  std::string Parameters::msg_error(void)
+  Parameters_test Parameters::msg_error(void)
   {
     log_printf(FUNC,Reservation_station,FUNCTION,"Begin");
 
-    std::string msg = "";
-
-//     if (_size_queue < 2)
-//       {
-//         msg += "  - The reservation_station must be have less a depth of 2";
-//         msg += "    * size_queue                      : " + toString(_size_queue)    + "\n";
-//       }
+    Parameters_test test ("Reservation_station");
 
     if (_size_queue < _nb_inst_retire)
-      {
-        msg += "  - The reservation_station can't have more retire port than entry in the queue.";
-      }
-    
-    return msg;
+      test.error("The reservation_station can't have more retire port than entry in the queue.");
 
     log_printf(FUNC,Reservation_station,FUNCTION,"End");
+
+    return test;
   };
 
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 77)
+++ 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 78)
@@ -73,4 +73,5 @@
        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));
+       if (_param->_have_port_load_queue_ptr)
        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                             );
@@ -108,4 +109,5 @@
     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];
+    if (_param->_have_port_load_queue_ptr)
     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];
@@ -141,4 +143,5 @@
 	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));
+	if (_param->_have_port_load_queue_ptr)
 	out_RETIRE_LOAD_QUEUE_PTR_WRITE  [i] = interface->set_signal_out<Tlsq_ptr_t> ("load_queue_ptr_write"  ,log2(_param->_size_load_queue) );
 
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 77)
+++ 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 78)
@@ -44,4 +44,5 @@
     delete     in_INSERT_TYPE          ;
     delete     in_INSERT_STORE_QUEUE_PTR_WRITE;
+    if (_param->_have_port_load_queue_ptr)
     delete     in_INSERT_LOAD_QUEUE_PTR_WRITE ;
     delete     in_INSERT_HAS_IMMEDIAT  ;
@@ -77,4 +78,5 @@
     delete [] out_RETIRE_TYPE          ;
     delete [] out_RETIRE_STORE_QUEUE_PTR_WRITE;
+    if (_param->_have_port_load_queue_ptr)
     delete [] out_RETIRE_LOAD_QUEUE_PTR_WRITE ;
     delete [] out_RETIRE_HAS_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 77)
+++ 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 78)
@@ -102,4 +102,5 @@
 	    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);
+	    if (_param->_have_port_load_queue_ptr)
 	    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);
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 77)
+++ 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 78)
@@ -259,4 +259,5 @@
   	    _queue[index]._type            = PORT_READ(in_INSERT_TYPE           );
   	    _queue[index]._store_queue_ptr_write = PORT_READ(in_INSERT_STORE_QUEUE_PTR_WRITE);
+	    if (_param->_have_port_load_queue_ptr)
   	    _queue[index]._load_queue_ptr_write  = PORT_READ(in_INSERT_LOAD_QUEUE_PTR_WRITE );
   	    _queue[index]._has_immediat    = PORT_READ(in_INSERT_HAS_IMMEDIAT   );
