Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/Makefile.deps
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/Makefile.deps	(revision 55)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/Makefile.deps	(revision 56)
@@ -8,15 +8,20 @@
 # DIR_MORPHEO must be defined
 
-Reservation_station			= yes
+Reservation_station		= yes
 
 ifndef Behavioural
 include 			$(DIR_MORPHEO)/Behavioural/Makefile.deps
 endif
+ifndef Queue_Control
+include 			$(DIR_MORPHEO)/Behavioural/Generic/Queue_Control/Makefile.deps
+endif
 
 #-----[ Library ]------------------------------------------
-Reservation_station_LIBRARY		= 	-lReservation_station	\
+Reservation_station_LIBRARY	= 	-lReservation_station	\
+					$(Queue_Control_LIBRARY)\
 					$(Behavioural_LIBRARY)	
 
-Reservation_station_DIR_LIBRARY		=	-L$(DIR_MORPHEO)/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/lib	\
+Reservation_station_DIR_LIBRARY	=	-L$(DIR_MORPHEO)/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/lib	\
+					$(Queue_Control_DIR_LIBRARY)\
 					$(Behavioural_DIR_LIBRARY)
 
@@ -25,4 +30,5 @@
 Reservation_station_library		: 
 				@\
+				$(MAKE) Queue_Control_library; \
 				$(MAKE) Behavioural_library; \
 				$(MAKE) --directory=$(DIR_MORPHEO)/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station --makefile=Makefile;
@@ -30,4 +36,5 @@
 Reservation_station_library_clean	: 
 				@\
+				$(MAKE) Queue_Control_library_clean; \
 				$(MAKE) Behavioural_library_clean; \
 				$(MAKE) --directory=$(DIR_MORPHEO)/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station --makefile=Makefile clean;
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 55)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/include/Reservation_station.h	(revision 56)
@@ -14,8 +14,8 @@
 
 #include <iostream>
-#include <vector>
 #include "Common/include/ToString.h"
 #include "Common/include/Debug.h"
 
+#include "Behavioural/Generic/Queue_Control/include/Queue_Control.h"
 #include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/include/Parameters.h"
 #include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/include/Types.h"
@@ -29,4 +29,5 @@
 
 using namespace std;
+using namespace morpheo::behavioural::generic::queue_control;
 
 namespace morpheo {
@@ -202,6 +203,5 @@
 
     // ~~~~~[ Internal ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  protected : vector<uint32_t>              *  _queue_control;
-  protected : uint32_t                         _queue_nb_elt;
+  protected : morpheo::behavioural::generic::queue_control::Queue_Control * _queue_control;
   protected : Treservation_station_entry_t  *  _queue;
 
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 55)
+++ 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 56)
@@ -234,5 +234,5 @@
     _component->generate_file();
 #endif
-    _queue_control = new vector<uint32_t>;
+    _queue_control = new morpheo::behavioural::generic::queue_control::Queue_Control::Queue_Control(_param->_size_queue);
     _queue         = new Treservation_station_entry_t [_param->_size_queue];
 
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 55)
+++ 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 56)
@@ -29,5 +29,5 @@
     
     // accept a new instructions when reservation_station is not full
-    internal_RESERVATION_STATION_IN_ACK = _queue_nb_elt < _param->_size_queue;
+    internal_RESERVATION_STATION_IN_ACK = not _queue_control->full();
     
     PORT_WRITE(out_RESERVATION_STATION_IN_ACK, internal_RESERVATION_STATION_IN_ACK);
@@ -37,5 +37,5 @@
     for (uint32_t i=0; i<_param->_size_queue; i++)
       {
-	bool     val   = i <_queue_nb_elt;
+	bool     val   = i <_queue_control->nb_elt();
 	uint32_t index = (*_queue_control)[i];
 	
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 55)
+++ 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 56)
@@ -47,10 +47,5 @@
     if (PORT_READ(in_NRESET) == 0)
       {
-	// clear all element in control.
-	_queue_nb_elt = 0;
-
 	_queue_control->clear();
-	for (uint32_t i=0; i<_param->_size_queue; i++)
-	  _queue_control->push_back(i);
       }
     else
@@ -63,6 +58,5 @@
 
 	    // Write in reservation station
-	    uint32_t index = (*_queue_control)[_queue_nb_elt];
-	    _queue_nb_elt ++;
+	    uint32_t index = _queue_control->push();
 
 	    log_printf(TRACE,Reservation_station,FUNCTION," * index         : %d",index);
@@ -96,5 +90,5 @@
 
 	// scan in reverse order, because when we pop the queue there are an auto reorder
-	for (int32_t i=(static_cast<int32_t>(_queue_nb_elt))-1;i>=0; i--)
+	for (int32_t i=(static_cast<int32_t>(_queue_control->nb_elt()))-1;i>=0; i--)
 	  {
 	    uint32_t index = (*_queue_control)[i];
@@ -105,7 +99,5 @@
 		log_printf(TRACE,Reservation_station,FUNCTION,"POP  [%d]",i);
 
-		_queue_control->erase (_queue_control->begin()+i);
-		_queue_control->push_back(index);
-		_queue_nb_elt --;
+		_queue_control->pop(i);
 
 		log_printf(TRACE,Reservation_station,FUNCTION," * index         : %d",index);
@@ -118,5 +110,5 @@
 	
 	// scan all entry
-	for (uint32_t i=0; i<_queue_nb_elt; i++)
+	for (uint32_t i=0; i<_queue_control->nb_elt(); i++)
 	  {
 	    uint32_t index = (*_queue_control)[i];
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue_Control/Makefile
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue_Control/Makefile	(revision 56)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue_Control/Makefile	(revision 56)
@@ -0,0 +1,22 @@
+# 
+# $Id$
+# 
+# [ Description ]
+# 
+# Makefile
+# 
+
+#-----[ Directory ]----------------------------------------
+DIR_MORPHEO			= ../../..
+
+#-----[ Library ]------------------------------------------
+LIBRARY				= $(DIR_LIB)/libQueue_Control.a
+
+#-----[ include ]------------------------------------------
+
+all				: $(LIBRARY_NEED)
+				@$(MAKE) all_component
+
+include                         $(DIR_MORPHEO)/Behavioural/Makefile.flags
+include				$(DIR_MORPHEO)/Behavioural/Makefile.Common
+include				$(DIR_MORPHEO)/Behavioural/Makefile.Component
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue_Control/Makefile.deps
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue_Control/Makefile.deps	(revision 56)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue_Control/Makefile.deps	(revision 56)
@@ -0,0 +1,25 @@
+# 
+# $Id$
+# 
+# [ Description ]
+# 
+# Makefile
+# 
+# DIR_MORPHEO must be defined
+
+Queue_Control			= yes
+
+#-----[ Library ]------------------------------------------
+Queue_Control_LIBRARY		= -lQueue_Control
+
+Queue_Control_DIR_LIBRARY	= -L$(DIR_MORPHEO)/Behavioural/Generic/Queue_Control/lib
+
+#-----[ Rules ]--------------------------------------------
+
+Queue_Control_library		:
+				@\
+				$(MAKE) --directory=$(DIR_MORPHEO)/Behavioural/Generic/Queue_Control --makefile=Makefile ;
+	
+Queue_Control_library_clean	:
+				@\
+				$(MAKE) --directory=$(DIR_MORPHEO)/Behavioural/Generic/Queue_Control --makefile=Makefile clean;
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue_Control/include/Queue_Control.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue_Control/include/Queue_Control.h	(revision 56)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue_Control/include/Queue_Control.h	(revision 56)
@@ -0,0 +1,55 @@
+#ifndef morpheo_behavioural_generic_queue_control_Queue_Control_h
+#define morpheo_behavioural_generic_queue_control_Queue_Control_h
+
+/*
+ * $Id$
+ *
+ * [ Description ]
+ * 
+ */
+
+#include <iostream>
+#include <vector>
+
+#include "Common/include/ErrorMorpheo.h"
+#include "Common/include/ToString.h"
+#include "Common/include/Debug.h"
+
+using namespace std;
+
+namespace morpheo {
+namespace behavioural {
+namespace generic {
+namespace queue_control {
+
+  class Queue_Control
+  {
+  private : const uint32_t     _nb_elt_max;
+  private : uint32_t           _nb_elt;
+  private : vector<uint32_t> * _tab;
+    
+  public  :          Queue_Control  (uint32_t nb_elt_max);
+  public  :          ~Queue_Control (void);
+    
+  public  : uint32_t nb_elt   (void);
+  public  : bool     full     (void);
+  public  : bool     empty    (void);
+  public  : void     clear    (void);
+
+  public  : uint32_t push     (void);
+  public  : uint32_t push_ovf (void);
+  public  : void     pop      (uint32_t);
+  public  : void     pop      (void);
+  public  : void     pop_ovf  (uint32_t);
+  public  : void     pop_ovf  (void);
+    
+  public : uint32_t operator[] (uint32_t);
+  public : ostream& operator<< (ostream& output_stream);
+  };
+  
+}; // end namespace queue_control
+}; // end namespace generic
+}; // end namespace behavioural
+}; // end namespace morpheo              
+
+#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue_Control/src/Queue_Control.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue_Control/src/Queue_Control.cpp	(revision 56)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue_Control/src/Queue_Control.cpp	(revision 56)
@@ -0,0 +1,34 @@
+#include "Behavioural/Generic/Queue_Control/include/Queue_Control.h"
+
+namespace morpheo {
+namespace behavioural {
+namespace generic {
+namespace queue_control {
+
+#undef  FUNCTION
+#define FUNCTION "Queue_Control::Queue_Control"
+  Queue_Control::Queue_Control  (uint32_t nb_elt_max):
+    _nb_elt_max (nb_elt_max)
+  {
+    log_printf(FUNC,Queue_Control,FUNCTION,"Begin");
+	
+    _tab = new vector<uint32_t>;
+
+    log_printf(FUNC,Queue_Control,FUNCTION,"End");
+  };
+
+#undef  FUNCTION
+#define FUNCTION "Queue_Control::~Queue_Control"
+  Queue_Control::~Queue_Control (void)
+  {
+    log_printf(FUNC,Queue_Control,FUNCTION,"Begin");
+    
+    delete _tab;
+
+    log_printf(FUNC,Queue_Control,FUNCTION,"End");
+  };
+
+}; // end namespace queue_control
+}; // end namespace generic
+}; // end namespace behavioural
+}; // end namespace morpheo              
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue_Control/src/Queue_Control_clear.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue_Control/src/Queue_Control_clear.cpp	(revision 56)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue_Control/src/Queue_Control_clear.cpp	(revision 56)
@@ -0,0 +1,26 @@
+#include "Behavioural/Generic/Queue_Control/include/Queue_Control.h"
+
+namespace morpheo {
+namespace behavioural {
+namespace generic {
+namespace queue_control {
+
+#undef  FUNCTION
+#define FUNCTION "Queue_Control::clear"
+  void Queue_Control::clear  (void)
+  {
+    log_printf(FUNC,Queue_Control,FUNCTION,"Begin");
+	
+    // clear all element in control.
+    _nb_elt = 0;
+    
+    _tab->clear();
+    for (uint32_t i=0; i<_nb_elt_max; i++)
+      _tab->push_back(i);
+
+    log_printf(FUNC,Queue_Control,FUNCTION,"End");
+  };
+}; // end namespace queue_control
+}; // end namespace generic
+}; // end namespace behavioural
+}; // end namespace morpheo              
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue_Control/src/Queue_Control_flags.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue_Control/src/Queue_Control_flags.cpp	(revision 56)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue_Control/src/Queue_Control_flags.cpp	(revision 56)
@@ -0,0 +1,33 @@
+#include "Behavioural/Generic/Queue_Control/include/Queue_Control.h"
+
+namespace morpheo {
+namespace behavioural {
+namespace generic {
+namespace queue_control {
+
+#undef  FUNCTION
+#define FUNCTION "Queue_Control::full"
+  bool Queue_Control::full (void)
+  {
+    log_printf(FUNC,Queue_Control,FUNCTION,"Begin");
+    uint32_t _return = (_nb_elt == _nb_elt_max);
+    log_printf(FUNC,Queue_Control,FUNCTION,"End");
+    
+    return _return;
+  };
+
+#undef  FUNCTION
+#define FUNCTION "Queue_Control::empty"
+  bool Queue_Control::empty (void)
+  {
+    log_printf(FUNC,Queue_Control,FUNCTION,"Begin");
+    uint32_t _return = (_nb_elt == 0);
+    log_printf(FUNC,Queue_Control,FUNCTION,"End");
+    
+    return _return;
+  };
+
+}; // end namespace queue_control
+}; // end namespace generic
+}; // end namespace behavioural
+}; // end namespace morpheo              
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue_Control/src/Queue_Control_nb_elt.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue_Control/src/Queue_Control_nb_elt.cpp	(revision 56)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue_Control/src/Queue_Control_nb_elt.cpp	(revision 56)
@@ -0,0 +1,23 @@
+#include "Behavioural/Generic/Queue_Control/include/Queue_Control.h"
+
+namespace morpheo {
+namespace behavioural {
+namespace generic {
+namespace queue_control {
+
+#undef  FUNCTION
+#define FUNCTION "Queue_Control::nb_elt"
+  uint32_t Queue_Control::nb_elt  (void)
+  {
+    log_printf(FUNC,Queue_Control,FUNCTION,"Begin");
+	
+    uint32_t _return = _nb_elt;
+
+    log_printf(FUNC,Queue_Control,FUNCTION,"End");
+    
+    return _return;
+  };
+}; // end namespace queue_control
+}; // end namespace generic
+}; // end namespace behavioural
+}; // end namespace morpheo              
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue_Control/src/Queue_Control_operator.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue_Control/src/Queue_Control_operator.cpp	(revision 56)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue_Control/src/Queue_Control_operator.cpp	(revision 56)
@@ -0,0 +1,34 @@
+#include "Behavioural/Generic/Queue_Control/include/Queue_Control.h"
+
+namespace morpheo {
+namespace behavioural {
+namespace generic {
+namespace queue_control {
+
+#undef  FUNCTION
+#define FUNCTION "Queue_Control::operator<<"
+  ostream& Queue_Control::operator<< (ostream& output_stream)
+  {
+    log_printf(FUNC,Queue_Control,FUNCTION,"Begin");
+	
+    log_printf(FUNC,Queue_Control,FUNCTION,"End");
+    
+    return output_stream;
+  };
+
+#undef  FUNCTION
+#define FUNCTION "Queue_Control::operator[]"
+  uint32_t Queue_Control::operator[] (uint32_t index)
+  {
+    log_printf(FUNC,Queue_Control,FUNCTION,"Begin");
+	
+    uint32_t _return = (*_tab)[index];
+
+    log_printf(FUNC,Queue_Control,FUNCTION,"End");
+    
+    return _return;
+  }
+}; // end namespace queue_control
+}; // end namespace generic
+}; // end namespace behavioural
+}; // end namespace morpheo              
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue_Control/src/Queue_Control_pop.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue_Control/src/Queue_Control_pop.cpp	(revision 56)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue_Control/src/Queue_Control_pop.cpp	(revision 56)
@@ -0,0 +1,64 @@
+#include "Behavioural/Generic/Queue_Control/include/Queue_Control.h"
+
+namespace morpheo {
+namespace behavioural {
+namespace generic {
+namespace queue_control {
+
+#undef  FUNCTION
+#define FUNCTION "Queue_Control::pop"
+  void Queue_Control::pop (uint32_t index)
+  {
+    log_printf(FUNC,Queue_Control,FUNCTION,"Begin");
+
+    uint32_t val = (*_tab)[index];
+    _tab->erase (_tab->begin()+index);
+    _tab->push_back(val);
+    _nb_elt --;
+	
+    log_printf(FUNC,Queue_Control,FUNCTION,"End");
+  };
+
+#undef  FUNCTION
+#define FUNCTION "Queue_Control::pop"
+  void Queue_Control::pop (void)
+  {
+    log_printf(FUNC,Queue_Control,FUNCTION,"Begin");
+
+    pop (0);
+	
+    log_printf(FUNC,Queue_Control,FUNCTION,"End");
+  };
+
+#undef  FUNCTION
+#define FUNCTION "Queue_Control::pop_ovf"
+  void Queue_Control::pop_ovf (uint32_t index)
+  {
+    log_printf(FUNC,Queue_Control,FUNCTION,"Begin");
+
+    if (empty() or (index >= _nb_elt_max))
+      {
+	ErrorMorpheo ("<Queue_Control::pop_ovf> Queue Overflow");
+      }
+
+    pop(index);
+	
+    log_printf(FUNC,Queue_Control,FUNCTION,"End");
+  };
+
+#undef  FUNCTION
+#define FUNCTION "Queue_Control::pop_ovf"
+  void Queue_Control::pop_ovf (void)
+  {
+    log_printf(FUNC,Queue_Control,FUNCTION,"Begin");
+
+    pop_ovf(0);
+
+    log_printf(FUNC,Queue_Control,FUNCTION,"End");
+  };
+
+
+}; // end namespace queue_control
+}; // end namespace generic
+}; // end namespace behavioural
+}; // end namespace morpheo              
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue_Control/src/Queue_Control_push.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue_Control/src/Queue_Control_push.cpp	(revision 56)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue_Control/src/Queue_Control_push.cpp	(revision 56)
@@ -0,0 +1,43 @@
+#include "Behavioural/Generic/Queue_Control/include/Queue_Control.h"
+
+namespace morpheo {
+namespace behavioural {
+namespace generic {
+namespace queue_control {
+
+#undef  FUNCTION
+#define FUNCTION "Queue_Control::push"
+  uint32_t Queue_Control::push (void)
+  {
+    log_printf(FUNC,Queue_Control,FUNCTION,"Begin");
+
+    uint32_t _return = (*_tab)[_nb_elt];
+    _nb_elt ++;
+	
+    log_printf(FUNC,Queue_Control,FUNCTION,"End");
+
+    return _return;
+  };
+
+#undef  FUNCTION
+#define FUNCTION "Queue_Control::push_ovf"
+  uint32_t Queue_Control::push_ovf (void)
+  {
+    log_printf(FUNC,Queue_Control,FUNCTION,"Begin");
+
+    if (full())
+      {
+	ErrorMorpheo ("<Queue_Control::push_ovf> Queue Overflow");
+      }
+
+    uint32_t _return = push();
+	
+    log_printf(FUNC,Queue_Control,FUNCTION,"End");
+
+    return _return;
+  };
+
+}; // end namespace queue_control
+}; // end namespace generic
+}; // end namespace behavioural
+}; // end namespace morpheo              
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Makefile.flags
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Makefile.flags	(revision 55)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Makefile.flags	(revision 56)
@@ -15,8 +15,9 @@
 #-----[ Flags ]--------------------------------------------
 MORPHEO_FLAGS			=	-DSYSTEMC		\
-					-DVHDL			\
-  					-DVHDL_TESTBENCH	\
-					-DSTATISTICS 		\
 					-DDEBUG=DEBUG_TRACE
+
+#					-DVHDL			\
+#  					-DVHDL_TESTBENCH	\
+#					-DSTATISTICS 		\
 #					-DVHDL_TESTBENCH_ASSERT	\
 #					-DCONFIGURATION  	\
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Debug_component.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Debug_component.h	(revision 55)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Debug_component.h	(revision 56)
@@ -6,4 +6,5 @@
 #define     DEBUG_Counter                                         false 
 #define     DEBUG_Group                                           false
+#define     DEBUG_Queue_Control                                   false 
 #define     DEBUG_Shifter                                         false
 #define     DEBUG_RegisterFile                                    false
@@ -17,8 +18,11 @@
 #define     DEBUG_Multi_Execute_loop                              false
 #define       DEBUG_Execute_loop				  false
+#define         DEBUG_Multi_Execute_unit                          false
+#define           DEBUG_Execute_unit                              false
+#define             DEBUG_Load_store_unit                         true
 #define         DEBUG_Multi_Read_unit				  false
 #define           DEBUG_Read_unit				  false
 #define             DEBUG_Read_queue                              false
-#define             DEBUG_Reservation_station                     true
+#define             DEBUG_Reservation_station                     false
 #define     DEBUG_Multi_Front_end                                 false
 #define       DEBUG_Front_end                                     false
