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 123)
+++ 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 128)
@@ -62,5 +62,7 @@
         DELETE0_SIGNAL(out_READ_QUEUE_OUT_OPERATION            ,_param->_size_operation        );
         DELETE0_SIGNAL(out_READ_QUEUE_OUT_TYPE                 ,_param->_size_type             );
-        DELETE0_SIGNAL(out_READ_QUEUE_OUT_STORE_QUEUE_PTR_WRITE, _param->_size_store_queue_ptr );
+        DELETE0_SIGNAL(out_READ_QUEUE_OUT_STORE_QUEUE_PTR_WRITE,_param->_size_store_queue_ptr  );
+        DELETE0_SIGNAL(out_READ_QUEUE_OUT_STORE_QUEUE_PTR_READ ,_param->_size_store_queue_ptr  );
+        DELETE0_SIGNAL(out_READ_QUEUE_OUT_STORE_QUEUE_EMPTY    ,1                              );
         DELETE0_SIGNAL(out_READ_QUEUE_OUT_LOAD_QUEUE_PTR_WRITE , _param->_size_load_queue_ptr  );
         DELETE0_SIGNAL(out_READ_QUEUE_OUT_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_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 123)
+++ 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 128)
@@ -42,17 +42,37 @@
 
 	// Init, else error in registerfile
-	_queue_head->_ooo_engine_id = 0;
-        // not necessary
-        _queue_head->_read_ra_val = false;
-        _queue_head->_read_rb_val = false;
-        _queue_head->_read_rc_val = false;
-
-        _queue_head->_data_ra_val = false;
-        _queue_head->_data_rb_val = false;
-        _queue_head->_data_rc_val = false;
-
-        _queue_head->_num_reg_ra  = 0;
-        _queue_head->_num_reg_rb  = 0;
-        _queue_head->_num_reg_rc  = 0;
+	_queue_head->_context_id           = 0;// not necessary
+	_queue_head->_front_end_id         = 0;// not necessary
+	_queue_head->_ooo_engine_id        = 0;// not necessary
+
+        _queue_head->_rob_id                = 0;// not necessary
+        _queue_head->_operation             = 0;// not necessary
+        _queue_head->_type                  = 0;// not necessary
+        _queue_head->_store_queue_ptr_write = 0;// not necessary
+        _queue_head->_store_queue_ptr_read  = 0;// not necessary
+        _queue_head->_store_queue_empty     = 0;// not necessary
+        _queue_head->_load_queue_ptr_write  = 0;// not necessary
+        _queue_head->_has_immediat          = 0;// not necessary
+        _queue_head->_immediat              = 0;// not necessary
+
+        _queue_head->_read_ra               = 0;// not necessary
+        _queue_head->_read_rb               = 0;// not necessary
+        _queue_head->_read_rc               = 0;// not necessary
+        _queue_head->_write_rd              = 0;// not necessary
+        _queue_head->_write_re              = 0;// not necessary
+
+        _queue_head->_read_ra_val          = false;
+        _queue_head->_read_rb_val          = false;
+        _queue_head->_read_rc_val          = false;
+
+        _queue_head->_data_ra_val          = false;
+        _queue_head->_data_rb_val          = false;
+        _queue_head->_data_rc_val          = false;
+
+        _queue_head->_num_reg_ra           = 0;// not necessary
+        _queue_head->_num_reg_rb           = 0;// not necessary
+        _queue_head->_num_reg_rc           = 0;// not necessary
+        _queue_head->_num_reg_rd           = 0;// not necessary
+        _queue_head->_num_reg_re           = 0;// not necessary
       }
     else
@@ -76,31 +96,26 @@
 	    Tread_queue_entry_t * entry = new Tread_queue_entry_t;
 
-	    if(_param->_have_port_context_id   )
-	    entry->_context_id   = PORT_READ(in_READ_QUEUE_IN_CONTEXT_ID  );
-	    if(_param->_have_port_front_end_id )
-	    entry->_front_end_id = PORT_READ(in_READ_QUEUE_IN_FRONT_END_ID);
-	    if(_param->_have_port_ooo_engine_id)
-	    entry->_ooo_engine_id= PORT_READ(in_READ_QUEUE_IN_OOO_ENGINE_ID);
-	    if(_param->_have_port_rob_ptr      )
-	    entry->_rob_id       = PORT_READ(in_READ_QUEUE_IN_ROB_ID      );
-	    entry->_operation    = PORT_READ(in_READ_QUEUE_IN_OPERATION   );
-	    entry->_type         = PORT_READ(in_READ_QUEUE_IN_TYPE        );
+            entry->_context_id            = (_param->_have_port_context_id    )?PORT_READ(in_READ_QUEUE_IN_CONTEXT_ID   ):0;
+	    entry->_front_end_id          = (_param->_have_port_front_end_id  )?PORT_READ(in_READ_QUEUE_IN_FRONT_END_ID ):0;
+	    entry->_ooo_engine_id         = (_param->_have_port_ooo_engine_id )?PORT_READ(in_READ_QUEUE_IN_OOO_ENGINE_ID):0;
+            entry->_rob_id                = (_param->_have_port_rob_ptr       )?PORT_READ(in_READ_QUEUE_IN_ROB_ID       ):0;
+	    entry->_operation             = PORT_READ(in_READ_QUEUE_IN_OPERATION   );
+	    entry->_type                  = PORT_READ(in_READ_QUEUE_IN_TYPE        );
 	    entry->_store_queue_ptr_write = PORT_READ(in_READ_QUEUE_IN_STORE_QUEUE_PTR_WRITE);
 	    entry->_store_queue_ptr_read  = PORT_READ(in_READ_QUEUE_IN_STORE_QUEUE_PTR_READ );
 	    entry->_store_queue_empty     = PORT_READ(in_READ_QUEUE_IN_STORE_QUEUE_EMPTY    );
-	    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);
-	    entry->_immediat     = PORT_READ(in_READ_QUEUE_IN_IMMEDIAT    );
-	    entry->_read_ra      = PORT_READ(in_READ_QUEUE_IN_READ_RA     );
-	    entry->_num_reg_ra   = PORT_READ(in_READ_QUEUE_IN_NUM_REG_RA  );
-	    entry->_read_rb      = PORT_READ(in_READ_QUEUE_IN_READ_RB     );
-	    entry->_num_reg_rb   = PORT_READ(in_READ_QUEUE_IN_NUM_REG_RB  );
-	    entry->_read_rc      = PORT_READ(in_READ_QUEUE_IN_READ_RC     );
-	    entry->_num_reg_rc   = PORT_READ(in_READ_QUEUE_IN_NUM_REG_RC  );
-	    entry->_write_rd     = PORT_READ(in_READ_QUEUE_IN_WRITE_RD    );
-	    entry->_num_reg_rd   = PORT_READ(in_READ_QUEUE_IN_NUM_REG_RD  );
-	    entry->_write_re     = PORT_READ(in_READ_QUEUE_IN_WRITE_RE    );
-	    entry->_num_reg_re   = PORT_READ(in_READ_QUEUE_IN_NUM_REG_RE  );
+            entry->_load_queue_ptr_write  = (_param->_have_port_load_queue_ptr)?PORT_READ(in_READ_QUEUE_IN_LOAD_QUEUE_PTR_WRITE ):0;
+	    entry->_has_immediat          = PORT_READ(in_READ_QUEUE_IN_HAS_IMMEDIAT);
+	    entry->_immediat              = PORT_READ(in_READ_QUEUE_IN_IMMEDIAT    );
+	    entry->_read_ra               = PORT_READ(in_READ_QUEUE_IN_READ_RA     );
+	    entry->_num_reg_ra            = PORT_READ(in_READ_QUEUE_IN_NUM_REG_RA  );
+	    entry->_read_rb               = PORT_READ(in_READ_QUEUE_IN_READ_RB     );
+	    entry->_num_reg_rb            = PORT_READ(in_READ_QUEUE_IN_NUM_REG_RB  );
+	    entry->_read_rc               = PORT_READ(in_READ_QUEUE_IN_READ_RC     );
+	    entry->_num_reg_rc            = PORT_READ(in_READ_QUEUE_IN_NUM_REG_RC  );
+	    entry->_write_rd              = PORT_READ(in_READ_QUEUE_IN_WRITE_RD    );
+	    entry->_num_reg_rd            = PORT_READ(in_READ_QUEUE_IN_NUM_REG_RD  );
+	    entry->_write_re              = PORT_READ(in_READ_QUEUE_IN_WRITE_RE    );
+	    entry->_num_reg_re            = PORT_READ(in_READ_QUEUE_IN_NUM_REG_RE  );
 
 	    log_printf(TRACE,Read_queue,FUNCTION,"    * push (id : %d-%d)",entry->_context_id, entry->_rob_id);
@@ -122,4 +137,5 @@
 	    // Pop the entry
 	    log_printf(TRACE,Read_queue,FUNCTION,"    * pop  (id : %d-%d)",_queue->front()->_context_id, _queue->front()->_rob_id);
+            delete _queue->front();
 	    _queue->pop_front();
 
