Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/SelfTest/config0.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/SelfTest/config0.cfg	(revision 77)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/SelfTest/config0.cfg	(revision 78)
@@ -12,3 +12,3 @@
 2	2	*2	# nb_spr_write
 4	4	*2	# size_store_queue
-4	4	*2	# size_load_queue    
+1	4	*4	# size_load_queue    
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/SelfTest/src/test.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/SelfTest/src/test.cpp	(revision 77)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/SelfTest/src/test.cpp	(revision 78)
@@ -231,4 +231,5 @@
   (*(_Read_queue-> in_READ_QUEUE_IN_TYPE           )) (*(READ_QUEUE_IN_TYPE           ));
   (*(_Read_queue-> in_READ_QUEUE_IN_STORE_QUEUE_PTR_WRITE)) (*(READ_QUEUE_IN_STORE_QUEUE_PTR_WRITE));
+  if (_param->_have_port_load_queue_ptr)
   (*(_Read_queue-> in_READ_QUEUE_IN_LOAD_QUEUE_PTR_WRITE )) (*(READ_QUEUE_IN_LOAD_QUEUE_PTR_WRITE ));
   (*(_Read_queue-> in_READ_QUEUE_IN_HAS_IMMEDIAT   )) (*(READ_QUEUE_IN_HAS_IMMEDIAT   ));
@@ -258,4 +259,5 @@
   (*(_Read_queue->out_READ_QUEUE_OUT_TYPE          )) (*(READ_QUEUE_OUT_TYPE          )); 
   (*(_Read_queue->out_READ_QUEUE_OUT_STORE_QUEUE_PTR_WRITE)) (*(READ_QUEUE_OUT_STORE_QUEUE_PTR_WRITE)); 
+  if (_param->_have_port_load_queue_ptr)
   (*(_Read_queue->out_READ_QUEUE_OUT_LOAD_QUEUE_PTR_WRITE )) (*(READ_QUEUE_OUT_LOAD_QUEUE_PTR_WRITE )); 
   (*(_Read_queue->out_READ_QUEUE_OUT_HAS_IMMEDIAT  )) (*(READ_QUEUE_OUT_HAS_IMMEDIAT  )); 
@@ -417,4 +419,5 @@
 	      READ_QUEUE_IN_TYPE        ->write(0);
 	      READ_QUEUE_IN_STORE_QUEUE_PTR_WRITE->write(0);
+	      if (_param->_have_port_load_queue_ptr)
 	      READ_QUEUE_IN_LOAD_QUEUE_PTR_WRITE ->write(0);
 	      READ_QUEUE_IN_HAS_IMMEDIAT->write(0);
@@ -592,4 +595,5 @@
    delete    READ_QUEUE_IN_TYPE         ;
    delete    READ_QUEUE_IN_STORE_QUEUE_PTR_WRITE;
+   if (_param->_have_port_load_queue_ptr)
    delete    READ_QUEUE_IN_LOAD_QUEUE_PTR_WRITE ;
    delete    READ_QUEUE_IN_HAS_IMMEDIAT ;
@@ -619,4 +623,5 @@
    delete    READ_QUEUE_OUT_TYPE        ;
    delete    READ_QUEUE_OUT_STORE_QUEUE_PTR_WRITE;
+   if (_param->_have_port_load_queue_ptr)
    delete    READ_QUEUE_OUT_LOAD_QUEUE_PTR_WRITE ;
    delete    READ_QUEUE_OUT_HAS_IMMEDIAT;
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/include/Parameters.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/include/Parameters.h	(revision 77)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/include/Parameters.h	(revision 78)
@@ -55,4 +55,5 @@
   public : const bool        _have_port_ooo_engine_id;
   public : const bool        _have_port_rob_id       ;
+  public : const bool        _have_port_load_queue_ptr;
 
   public : const uint32_t    _size_internal_queue;
@@ -76,5 +77,5 @@
   public : ~Parameters () ;
 
-  public : std::string          msg_error (void);
+  public : Parameters_test      msg_error (void);
 
   public :        std::string   print      (uint32_t depth);
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Parameters.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Parameters.cpp	(revision 77)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Parameters.cpp	(revision 78)
@@ -58,4 +58,5 @@
     _have_port_ooo_engine_id (_size_ooo_engine_id > 0),
     _have_port_rob_id        (_size_rob_id        > 0),
+    _have_port_load_queue_ptr(_size_load_queue    > 1),
 
     _size_internal_queue     (  _size_context_id       //_context_id   
@@ -116,4 +117,5 @@
     _have_port_ooo_engine_id (param._have_port_ooo_engine_id),
     _have_port_rob_id        (param._have_port_rob_id       ),
+    _have_port_load_queue_ptr(param._have_port_load_queue_ptr),
 
     _size_internal_queue     (param._size_internal_queue    )
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Parameters_msg_error.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Parameters_msg_error.cpp	(revision 77)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Parameters_msg_error.cpp	(revision 78)
@@ -19,29 +19,19 @@
 
 
-  std::string Parameters::msg_error(void)
+  Parameters_test Parameters::msg_error(void)
   {
     log_printf(FUNC,Read_queue,"msg_error","Begin");
 
-    std::string msg = "";
-
-//     if (_size_queue < 2)
-//       {
-//         msg += "  - The read_queue must be have less a depth of 2";
-//         msg += "    * size_queue                      : " + toString(_size_queue)    + "\n";
-//       }
+    Parameters_test test ("Read_queue");
 
     if (_nb_type < 2)
-      {
-        msg += "  - The number of type must be > 1";
-      }
+      test.error("The number of type must be > 1");
+
     if (_nb_operation < 2)
-      {
-        msg += "  - The number of operation must be > 1";
-      }
-    
-
-    return msg;
+      test.error("The number of operation must be > 1");
 
     log_printf(FUNC,Read_queue,"msg_error","End");
+
+    return test;
   };
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_allocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_allocation.cpp	(revision 77)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_allocation.cpp	(revision 78)
@@ -71,4 +71,5 @@
        in_READ_QUEUE_IN_TYPE           = interface->set_signal_in  <Ttype_t           > ("type"        ,_param->_size_type             );
        in_READ_QUEUE_IN_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_READ_QUEUE_IN_LOAD_QUEUE_PTR_WRITE  = interface->set_signal_in  <Tlsq_ptr_t> ("load_queue_ptr_write" , log2(_param->_size_load_queue ));
        in_READ_QUEUE_IN_HAS_IMMEDIAT   = interface->set_signal_in  <Tcontrol_t        > ("has_immediat",1                             );
@@ -110,4 +111,5 @@
       out_READ_QUEUE_OUT_TYPE           = interface->set_signal_out <Ttype_t           > ("type"        ,_param->_size_type             );
       out_READ_QUEUE_OUT_STORE_QUEUE_PTR_WRITE = interface->set_signal_out <Tlsq_ptr_t> ("store_queue_ptr_write", log2(_param->_size_store_queue));
+      if (_param->_have_port_load_queue_ptr)
       out_READ_QUEUE_OUT_LOAD_QUEUE_PTR_WRITE  = interface->set_signal_out <Tlsq_ptr_t> ("load_queue_ptr_write" , log2(_param->_size_load_queue ));
       out_READ_QUEUE_OUT_HAS_IMMEDIAT   = interface->set_signal_out <Tcontrol_t        > ("has_immediat",1                             );
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_deallocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_deallocation.cpp	(revision 77)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_deallocation.cpp	(revision 78)
@@ -42,4 +42,5 @@
     delete     in_READ_QUEUE_IN_TYPE           ;
     delete     in_READ_QUEUE_IN_STORE_QUEUE_PTR_WRITE;
+    if (_param->_have_port_load_queue_ptr)
     delete     in_READ_QUEUE_IN_LOAD_QUEUE_PTR_WRITE ;
     delete     in_READ_QUEUE_IN_HAS_IMMEDIAT   ;
@@ -71,4 +72,5 @@
     delete    out_READ_QUEUE_OUT_TYPE           ;
     delete    out_READ_QUEUE_OUT_STORE_QUEUE_PTR_WRITE;
+    if (_param->_have_port_load_queue_ptr)
     delete    out_READ_QUEUE_OUT_LOAD_QUEUE_PTR_WRITE ;
     delete    out_READ_QUEUE_OUT_HAS_IMMEDIAT   ;
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_genMoore.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_genMoore.cpp	(revision 77)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_genMoore.cpp	(revision 78)
@@ -44,4 +44,5 @@
     PORT_WRITE (out_READ_QUEUE_OUT_TYPE        , _queue_head->_type        );
     PORT_WRITE (out_READ_QUEUE_OUT_STORE_QUEUE_PTR_WRITE, _queue_head->_store_queue_ptr_write);
+    if (_param->_have_port_load_queue_ptr)
     PORT_WRITE (out_READ_QUEUE_OUT_LOAD_QUEUE_PTR_WRITE , _queue_head->_load_queue_ptr_write );
     PORT_WRITE (out_READ_QUEUE_OUT_HAS_IMMEDIAT, _queue_head->_has_immediat);
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_transition.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_transition.cpp	(revision 77)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_transition.cpp	(revision 78)
@@ -67,4 +67,5 @@
 	    entry->_type         = PORT_READ(in_READ_QUEUE_IN_TYPE        );
 	    entry->_store_queue_ptr_write = PORT_READ(in_READ_QUEUE_IN_STORE_QUEUE_PTR_WRITE);
+	    if (_param->_have_port_load_queue_ptr)
 	    entry->_load_queue_ptr_write  = PORT_READ(in_READ_QUEUE_IN_LOAD_QUEUE_PTR_WRITE );
 	    entry->_has_immediat = PORT_READ(in_READ_QUEUE_IN_HAS_IMMEDIAT);
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 77)
+++ 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 78)
@@ -15,3 +15,3 @@
 0	0	*2	# nb_bypass_memory
 4	4	*2	# size_store_queue
-4	4	*2	# size_load_queue 
+1	4	*4	# 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 77)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/SelfTest/src/test.cpp	(revision 78)
@@ -216,4 +216,5 @@
   (*(_Reservation_station-> in_INSERT_TYPE             )) (*( in_INSERT_TYPE             ));
   (*(_Reservation_station-> in_INSERT_STORE_QUEUE_PTR_WRITE)) (*( in_INSERT_STORE_QUEUE_PTR_WRITE));
+  if (_param->_have_port_load_queue_ptr)
   (*(_Reservation_station-> in_INSERT_LOAD_QUEUE_PTR_WRITE )) (*( in_INSERT_LOAD_QUEUE_PTR_WRITE ));
   (*(_Reservation_station-> in_INSERT_HAS_IMMEDIAT     )) (*( in_INSERT_HAS_IMMEDIAT     ));
@@ -251,4 +252,5 @@
   (*(_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]));
+  if (_param->_have_port_load_queue_ptr)
   (*(_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]));
@@ -446,4 +448,5 @@
    	      in_INSERT_TYPE        ->write(0);
    	      in_INSERT_STORE_QUEUE_PTR_WRITE->write(0);
+	      if (_param->_have_port_load_queue_ptr)
    	      in_INSERT_LOAD_QUEUE_PTR_WRITE ->write(0);
    	      in_INSERT_HAS_IMMEDIAT->write(0);
@@ -692,4 +695,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;
@@ -725,4 +729,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/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 77)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/include/Parameters.h	(revision 78)
@@ -62,4 +62,5 @@
   public : const bool        _have_port_ooo_engine_id;
   public : const bool        _have_port_rob_id       ;
+  public : const bool        _have_port_load_queue_ptr;
 
     //-----[ methods ]-----------------------------------------------------------
@@ -84,5 +85,5 @@
   public : ~Parameters () ;
 
-  public :        std::string   msg_error  (void);
+  public :        Parameters_test msg_error  (void);
 
   public :        std::string   print      (uint32_t depth);
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   );
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/SelfTest/configuration.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/SelfTest/configuration.cfg	(revision 77)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/SelfTest/configuration.cfg	(revision 78)
@@ -13,5 +13,5 @@
 2	2	*2	# nb_spr_write            
 4	4	*2	# size_store_queue        
-4	4	*2	# size_load_queue         
+1	4	*4	# size_load_queue         
 2	2	*2	# nb_inst_retire          
 2	2	*2	# nb_bypass_write         
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/SelfTest/src/test.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/SelfTest/src/test.cpp	(revision 77)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/SelfTest/src/test.cpp	(revision 78)
@@ -161,4 +161,5 @@
   INSTANCE_SC_SIGNAL (_Read_unit, in_READ_UNIT_IN_TYPE                  );
   INSTANCE_SC_SIGNAL (_Read_unit, in_READ_UNIT_IN_STORE_QUEUE_PTR_WRITE );
+  if (_param->_have_port_load_queue_ptr)
   INSTANCE_SC_SIGNAL (_Read_unit, in_READ_UNIT_IN_LOAD_QUEUE_PTR_WRITE  );
   INSTANCE_SC_SIGNAL (_Read_unit, in_READ_UNIT_IN_HAS_IMMEDIAT          );
@@ -187,4 +188,5 @@
   INSTANCE1_SC_SIGNAL(_Read_unit,out_READ_UNIT_OUT_TYPE                 ,_param->_nb_inst_retire);
   INSTANCE1_SC_SIGNAL(_Read_unit,out_READ_UNIT_OUT_STORE_QUEUE_PTR_WRITE,_param->_nb_inst_retire);
+  if (_param->_have_port_load_queue_ptr)
   INSTANCE1_SC_SIGNAL(_Read_unit,out_READ_UNIT_OUT_LOAD_QUEUE_PTR_WRITE ,_param->_nb_inst_retire);
   INSTANCE1_SC_SIGNAL(_Read_unit,out_READ_UNIT_OUT_HAS_IMMEDIAT         ,_param->_nb_inst_retire);
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/include/Parameters.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/include/Parameters.h	(revision 77)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/include/Parameters.h	(revision 78)
@@ -57,4 +57,5 @@
   public : const bool        _have_port_ooo_engine_id ;
   public : const bool        _have_port_packet_id     ;
+  public : const bool        _have_port_load_queue_ptr;
 
   public : morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_read_unit::read_unit::read_queue         ::Parameters * _param_read_queue;
@@ -82,5 +83,5 @@
   public : ~Parameters () ;
 
-  public :        std::string   msg_error  (void);
+  public :        Parameters_test msg_error  (void);
 
   public :        std::string   print      (uint32_t depth);
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/src/Parameters.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/src/Parameters.cpp	(revision 77)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/src/Parameters.cpp	(revision 78)
@@ -66,5 +66,6 @@
     _have_port_front_end_id   (_size_front_end_id >0),
     _have_port_ooo_engine_id  (_size_ooo_engine_id>0),
-    _have_port_packet_id      (_size_packet_id    >0)
+    _have_port_packet_id      (_size_packet_id    >0),
+    _have_port_load_queue_ptr (_size_load_queue   >1)
   {
     log_printf(FUNC,Read_unit,FUNCTION,"Begin");
@@ -144,5 +145,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_packet_id      (param._have_port_packet_id     )
+    _have_port_packet_id      (param._have_port_packet_id     ),
+    _have_port_load_queue_ptr (param._have_port_load_queue_ptr)
   {
     log_printf(FUNC,Read_unit,FUNCTION,"Begin");
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/src/Parameters_msg_error.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/src/Parameters_msg_error.cpp	(revision 77)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/src/Parameters_msg_error.cpp	(revision 78)
@@ -21,13 +21,13 @@
 #undef  FUNCTION
 #define FUNCTION "Read_unit::msg_error"
-  std::string Parameters::msg_error(void)
+  Parameters_test Parameters::msg_error(void)
   {
     log_printf(FUNC,Read_unit,FUNCTION,"Begin");
 
-    std::string msg = "";
-
-    return msg;
+    Parameters_test test ("Read_unit");
 
     log_printf(FUNC,Read_unit,FUNCTION,"End");
+
+    return test;
   };
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/src/Read_unit_allocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/src/Read_unit_allocation.cpp	(revision 77)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/src/Read_unit_allocation.cpp	(revision 78)
@@ -59,6 +59,6 @@
        ALLOC_INTERFACE("read_unit_in", IN, WEST, "Enter of new operation");
 
-       ALLOC_VAL_IN    ( in_READ_UNIT_IN_VAL);
-       ALLOC_ACK_OUT   (out_READ_UNIT_IN_ACK);
+       ALLOC_VALACK_IN    ( in_READ_UNIT_IN_VAL,VAL);
+       ALLOC_VALACK_OUT   (out_READ_UNIT_IN_ACK,ACK);
        ALLOC_SIGNAL_IN ( in_READ_UNIT_IN_CONTEXT_ID           ,"context_id"           ,Tcontext_t        ,_param->_size_context_id   );
        ALLOC_SIGNAL_IN ( in_READ_UNIT_IN_FRONT_END_ID         ,"front_end_id"         ,Tcontext_t        ,_param->_size_front_end_id );
@@ -67,6 +67,6 @@
        ALLOC_SIGNAL_IN ( in_READ_UNIT_IN_OPERATION            ,"operation"            ,Toperation_t      ,_param->_size_operation    );
        ALLOC_SIGNAL_IN ( in_READ_UNIT_IN_TYPE                 ,"type"                 ,Ttype_t           ,_param->_size_type         );
-       ALLOC_SIGNAL_IN ( in_READ_UNIT_IN_STORE_QUEUE_PTR_WRITE,"store_queue_ptr_write",Tlsq_ptr_t        ,_param->_size_store_queue  );
-       ALLOC_SIGNAL_IN ( in_READ_UNIT_IN_LOAD_QUEUE_PTR_WRITE ,"load_queue_ptr_write" ,Tlsq_ptr_t        ,_param->_size_load_queue   );
+       ALLOC_SIGNAL_IN ( in_READ_UNIT_IN_STORE_QUEUE_PTR_WRITE,"store_queue_ptr_write",Tlsq_ptr_t        ,log2(_param->_size_store_queue));
+       ALLOC_SIGNAL_IN ( in_READ_UNIT_IN_LOAD_QUEUE_PTR_WRITE ,"load_queue_ptr_write" ,Tlsq_ptr_t        ,log2(_param->_size_load_queue));
        ALLOC_SIGNAL_IN ( in_READ_UNIT_IN_HAS_IMMEDIAT         ,"has_immediat"         ,Tcontrol_t        ,1);
        ALLOC_SIGNAL_IN ( in_READ_UNIT_IN_IMMEDIAT             ,"immediat"             ,Tgeneral_data_t   ,_param->_size_general_data);
@@ -87,6 +87,6 @@
        ALLOC1_INTERFACE("read_unit_out", OUT, EAST, "Output of operation. All operand is valid.", _param->_nb_inst_retire);
 
-       ALLOC1_VAL_OUT   (out_READ_UNIT_OUT_VAL);
-       ALLOC1_ACK_IN    ( in_READ_UNIT_OUT_ACK);
+       ALLOC1_VALACK_OUT   (out_READ_UNIT_OUT_VAL,VAL);
+       ALLOC1_VALACK_IN    ( in_READ_UNIT_OUT_ACK,ACK);
        ALLOC1_SIGNAL_OUT(out_READ_UNIT_OUT_CONTEXT_ID           ,"context_id"           ,Tcontext_t        ,_param->_size_context_id      );
        ALLOC1_SIGNAL_OUT(out_READ_UNIT_OUT_FRONT_END_ID         ,"front_end_id"         ,Tcontext_t        ,_param->_size_front_end_id    );
@@ -95,6 +95,6 @@
        ALLOC1_SIGNAL_OUT(out_READ_UNIT_OUT_OPERATION            ,"operation"            ,Toperation_t      ,_param->_size_operation       );
        ALLOC1_SIGNAL_OUT(out_READ_UNIT_OUT_TYPE                 ,"type"                 ,Ttype_t           ,_param->_size_type            );
-       ALLOC1_SIGNAL_OUT(out_READ_UNIT_OUT_STORE_QUEUE_PTR_WRITE,"store_queue_ptr_write",Tlsq_ptr_t        ,_param->_size_store_queue     );
-       ALLOC1_SIGNAL_OUT(out_READ_UNIT_OUT_LOAD_QUEUE_PTR_WRITE ,"load_queue_ptr_write" ,Tlsq_ptr_t        ,_param->_size_load_queue      );
+       ALLOC1_SIGNAL_OUT(out_READ_UNIT_OUT_STORE_QUEUE_PTR_WRITE,"store_queue_ptr_write",Tlsq_ptr_t        ,log2(_param->_size_store_queue));
+       ALLOC1_SIGNAL_OUT(out_READ_UNIT_OUT_LOAD_QUEUE_PTR_WRITE ,"load_queue_ptr_write" ,Tlsq_ptr_t        ,log2(_param->_size_load_queue ));
        ALLOC1_SIGNAL_OUT(out_READ_UNIT_OUT_HAS_IMMEDIAT         ,"has_immediat"         ,Tcontrol_t        ,1                             );
        ALLOC1_SIGNAL_OUT(out_READ_UNIT_OUT_IMMEDIAT             ,"immediat"             ,Tgeneral_data_t   ,_param->_size_general_data    );
@@ -112,6 +112,6 @@
        ALLOC1_INTERFACE("gpr_read", OUT, SOUTH, "Read port.", _param->_nb_gpr_read);
 
-       ALLOC1_VAL_OUT   (out_GPR_READ_VAL);
-       ALLOC1_ACK_IN    ( in_GPR_READ_ACK);
+       ALLOC1_VALACK_OUT   (out_GPR_READ_VAL,VAL);
+       ALLOC1_VALACK_IN    ( in_GPR_READ_ACK,ACK);
        ALLOC1_SIGNAL_OUT(out_GPR_READ_OOO_ENGINE_ID,"ooo_engine_id",Tcontext_t        ,_param->_size_ooo_engine_id   );
        ALLOC1_SIGNAL_OUT(out_GPR_READ_NUM_REG      ,"num_reg"      ,Tgeneral_address_t,_param->_size_general_data    );
@@ -124,6 +124,6 @@
        ALLOC1_INTERFACE("spr_read", OUT, SOUTH, "Read port.", _param->_nb_spr_read);
 
-       ALLOC1_VAL_OUT   (out_SPR_READ_VAL);
-       ALLOC1_ACK_IN    ( in_SPR_READ_ACK);
+       ALLOC1_VALACK_OUT   (out_SPR_READ_VAL,VAL);
+       ALLOC1_VALACK_IN    ( in_SPR_READ_ACK,ACK);
        ALLOC1_SIGNAL_OUT(out_SPR_READ_OOO_ENGINE_ID,"ooo_engine_id",Tcontext_t        ,_param->_size_ooo_engine_id   );
        ALLOC1_SIGNAL_OUT(out_SPR_READ_NUM_REG      ,"num_reg"      ,Tspecial_address_t,_param->_size_special_data    );
@@ -136,5 +136,5 @@
        ALLOC1_INTERFACE("gpr_write", IN , SOUTH, "Write port.", _param->_nb_gpr_write);
 
-       ALLOC1_VAL_IN    ( in_GPR_WRITE_VAL);
+       ALLOC1_VALACK_IN    ( in_GPR_WRITE_VAL,VAL);
        ALLOC1_SIGNAL_IN ( in_GPR_WRITE_OOO_ENGINE_ID,"ooo_engine_id",Tcontext_t        ,_param->_size_ooo_engine_id   );
        ALLOC1_SIGNAL_IN ( in_GPR_WRITE_NUM_REG      ,"num_reg"      ,Tgeneral_address_t,_param->_size_general_data    );
@@ -146,5 +146,5 @@
        ALLOC1_INTERFACE("spr_write", IN , SOUTH, "Write port.", _param->_nb_spr_write);
 
-       ALLOC1_VAL_IN    ( in_SPR_WRITE_VAL);
+       ALLOC1_VALACK_IN    ( in_SPR_WRITE_VAL,VAL);
        ALLOC1_SIGNAL_IN ( in_SPR_WRITE_OOO_ENGINE_ID,"ooo_engine_id",Tcontext_t        ,_param->_size_ooo_engine_id   );
        ALLOC1_SIGNAL_IN ( in_SPR_WRITE_NUM_REG      ,"num_reg"      ,Tspecial_address_t,_param->_size_special_data    );
@@ -216,5 +216,4 @@
        name = _name+"_read_queue";
        std::cout << "Instance : " << name << std::endl;
-	
        {
 #ifdef POSITION
@@ -248,4 +247,5 @@
 	 _component->port_map(name, "in_READ_QUEUE_IN_TYPE"                 ,dest, "in_READ_UNIT_IN_TYPE"                 );
 	 _component->port_map(name, "in_READ_QUEUE_IN_STORE_QUEUE_PTR_WRITE",dest, "in_READ_UNIT_IN_STORE_QUEUE_PTR_WRITE");
+	 if (_param->_have_port_load_queue_ptr)
 	 _component->port_map(name, "in_READ_QUEUE_IN_LOAD_QUEUE_PTR_WRITE" ,dest, "in_READ_UNIT_IN_LOAD_QUEUE_PTR_WRITE" );
 	 _component->port_map(name, "in_READ_QUEUE_IN_HAS_IMMEDIAT"         ,dest, "in_READ_UNIT_IN_HAS_IMMEDIAT"         );
@@ -284,4 +284,5 @@
 	 _component->port_map(name,"out_READ_QUEUE_OUT_TYPE"                 ,dest, "in_INSERT_TYPE"                 );
 	 _component->port_map(name,"out_READ_QUEUE_OUT_STORE_QUEUE_PTR_WRITE",dest, "in_INSERT_STORE_QUEUE_PTR_WRITE");
+	 if (_param->_have_port_load_queue_ptr)
 	 _component->port_map(name,"out_READ_QUEUE_OUT_LOAD_QUEUE_PTR_WRITE" ,dest, "in_INSERT_LOAD_QUEUE_PTR_WRITE" );
 	 _component->port_map(name,"out_READ_QUEUE_OUT_HAS_IMMEDIAT"         ,dest, "in_INSERT_HAS_IMMEDIAT"         );
@@ -375,5 +376,4 @@
        name = _name+"_reservation_station";
        std::cout << "Instance : " << name << std::endl;
-	
        {
 #ifdef POSITION
@@ -408,4 +408,5 @@
 	 _component->port_map(name, "in_INSERT_TYPE"                 ,dest,"out_READ_QUEUE_OUT_TYPE"                 );
 	 _component->port_map(name, "in_INSERT_STORE_QUEUE_PTR_WRITE",dest,"out_READ_QUEUE_OUT_STORE_QUEUE_PTR_WRITE");
+	 if (_param->_have_port_load_queue_ptr)
 	 _component->port_map(name, "in_INSERT_LOAD_QUEUE_PTR_WRITE" ,dest,"out_READ_QUEUE_OUT_LOAD_QUEUE_PTR_WRITE" );
 	 _component->port_map(name, "in_INSERT_HAS_IMMEDIAT"         ,dest,"out_READ_QUEUE_OUT_HAS_IMMEDIAT"         );
@@ -452,4 +453,5 @@
 	   _component->port_map(name,"out_RETIRE_"+toString(i)+"_TYPE"                 ,dest,"out_READ_UNIT_OUT_"+toString(i)+"_TYPE"                 );
 	   _component->port_map(name,"out_RETIRE_"+toString(i)+"_STORE_QUEUE_PTR_WRITE",dest,"out_READ_UNIT_OUT_"+toString(i)+"_STORE_QUEUE_PTR_WRITE");
+	   if (_param->_have_port_load_queue_ptr)
 	   _component->port_map(name,"out_RETIRE_"+toString(i)+"_LOAD_QUEUE_PTR_WRITE" ,dest,"out_READ_UNIT_OUT_"+toString(i)+"_LOAD_QUEUE_PTR_WRITE" );
 	   _component->port_map(name,"out_RETIRE_"+toString(i)+"_HAS_IMMEDIAT"         ,dest,"out_READ_UNIT_OUT_"+toString(i)+"_HAS_IMMEDIAT"         );
@@ -528,4 +530,5 @@
 	 }       
      }
+     
 
 #ifdef POSITION
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/src/Read_unit_deallocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/src/Read_unit_deallocation.cpp	(revision 77)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/src/Read_unit_deallocation.cpp	(revision 78)
@@ -42,4 +42,5 @@
 	delete     in_READ_UNIT_IN_TYPE                 ;
 	delete     in_READ_UNIT_IN_STORE_QUEUE_PTR_WRITE;
+	if (_param->_have_port_load_queue_ptr)
 	delete     in_READ_UNIT_IN_LOAD_QUEUE_PTR_WRITE ;
 	delete     in_READ_UNIT_IN_HAS_IMMEDIAT         ;
@@ -70,4 +71,5 @@
 	delete [] out_READ_UNIT_OUT_TYPE                 ;
 	delete [] out_READ_UNIT_OUT_STORE_QUEUE_PTR_WRITE;
+	if (_param->_have_port_load_queue_ptr)
 	delete [] out_READ_UNIT_OUT_LOAD_QUEUE_PTR_WRITE ;
 	delete [] out_READ_UNIT_OUT_HAS_IMMEDIAT         ;
