Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/include/Execute_queue.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/include/Execute_queue.h	(revision 100)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/include/Execute_queue.h	(revision 101)
@@ -14,5 +14,5 @@
 
 #include <iostream>
-#include <queue>
+#include <list>
 #include "Common/include/ToString.h"
 #include "Common/include/Debug.h"
@@ -99,5 +99,5 @@
     
     // ~~~~~[ Register ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~    
-  private   : std::queue<execute_queue_entry_t *> * _queue;
+  private   : std::list<execute_queue_entry_t *> * _queue;
     // ~~~~~[ Internal ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   private   : Tcontrol_t                       internal_EXECUTE_QUEUE_IN_ACK ;
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/src/Execute_queue_allocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/src/Execute_queue_allocation.cpp	(revision 100)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/src/Execute_queue_allocation.cpp	(revision 101)
@@ -96,5 +96,5 @@
     // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~    
 
-     _queue = new std::queue<execute_queue_entry_t *>;
+     _queue = new std::list<execute_queue_entry_t *>;
 
 #ifdef POSITION
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/src/Execute_queue_deallocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/src/Execute_queue_deallocation.cpp	(revision 100)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/src/Execute_queue_deallocation.cpp	(revision 101)
@@ -72,5 +72,5 @@
       {
 	delete _queue->front();
-	_queue->pop();
+	_queue->pop_front();
       }
     delete _queue;
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/src/Execute_queue_genMoore.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/src/Execute_queue_genMoore.cpp	(revision 100)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/src/Execute_queue_genMoore.cpp	(revision 101)
@@ -23,5 +23,6 @@
   void Execute_queue::genMoore (void)
   {
-    log_printf(FUNC,Execute_queue,FUNCTION,"Begin");
+    log_begin(Execute_queue,FUNCTION);
+    log_function(Execute_queue,FUNCTION,_name.c_str());
 
     // -----[ Interface "execute_queue_in" ]--------------------------------
@@ -59,5 +60,5 @@
     }
 
-    log_printf(FUNC,Execute_queue,FUNCTION,"End");
+    log_end(Execute_queue,FUNCTION);
   };
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/src/Execute_queue_transition.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/src/Execute_queue_transition.cpp	(revision 100)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/src/Execute_queue_transition.cpp	(revision 101)
@@ -23,5 +23,6 @@
   void Execute_queue::transition (void)
   {
-    log_printf(FUNC,Execute_queue,FUNCTION,"Begin");
+    log_begin(Execute_queue,FUNCTION);
+    log_function(Execute_queue,FUNCTION,_name.c_str());
 
     if (PORT_READ(in_NRESET) == 0)
@@ -32,6 +33,5 @@
 	// > 2) flush all slot in one cycle
 
-	while (_queue->empty() == false)
-	  _queue->pop();
+        _queue->clear();
       }
     else
@@ -53,5 +53,5 @@
 	       PORT_READ(in_EXECUTE_QUEUE_IN_DATA         ));
 	    
-	    _queue->push(entry);
+	    _queue->push_back(entry);
 	  }
 
@@ -60,5 +60,5 @@
 	  {
 	    delete _queue->front();
-	    _queue->pop();
+	    _queue->pop_front();
 	  }
       }
@@ -69,4 +69,31 @@
 #endif
     
+#if DEBUG_Execute_queue and (DEBUG >= DEBUG_TRACE)
+    log_printf(TRACE,Execute_queue,FUNCTION,"  * Dump Execute_queue");
+    {
+      uint32_t i=0;
+      for (std::list<execute_queue_entry_t *>::iterator it=_queue->begin();
+           it!=_queue->end();
+           ++it)
+        {
+          log_printf(TRACE,Execute_queue,FUNCTION,"  [%d] %.2d %.2d %.2d, %.4d, %.1d, %.2d %.1d, %.8x %.8x",
+                     i,
+                     (*it)->_context_id   ,
+                     (*it)->_front_end_id ,
+                     (*it)->_ooo_engine_id,
+                     (*it)->_packet_id    ,
+                   //(*it)->_operation    ,
+                   //(*it)->_type         ,
+                     (*it)->_flags        ,
+                     (*it)->_exception    ,
+                     (*it)->_no_sequence  ,
+                     (*it)->_address      ,
+                     (*it)->_data
+                     );
+          i++;
+        }
+    }
+#endif
+
 
 #if defined(STATISTICS) or defined(VHDL_TESTBENCH)
@@ -74,5 +101,5 @@
 #endif
 
-    log_printf(FUNC,Execute_queue,FUNCTION,"End");
+    log_end(Execute_queue,FUNCTION);
   };
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/src/Execute_queue_vhdl.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/src/Execute_queue_vhdl.cpp	(revision 100)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/src/Execute_queue_vhdl.cpp	(revision 101)
@@ -35,5 +35,7 @@
       (_param->_size_queue,
        _param->_size_internal_queue,
-       0
+       0,
+       false,
+       false
        );
     
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/src/Write_queue_genMoore.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/src/Write_queue_genMoore.cpp	(revision 100)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/src/Write_queue_genMoore.cpp	(revision 101)
@@ -23,5 +23,6 @@
   void Write_queue::genMoore (void)
   {
-    log_printf(FUNC,Write_queue,FUNCTION,"Begin");
+    log_begin(Write_queue,FUNCTION);
+    log_function(Write_queue,FUNCTION,_name.c_str());
     
     // -----[ Interface "Write_queue_in" ]--------------------------------
@@ -109,5 +110,5 @@
 	}
     }
-    log_printf(FUNC,Write_queue,FUNCTION,"End");
+    log_end(Write_queue,FUNCTION);
   };
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/src/Write_queue_transition.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/src/Write_queue_transition.cpp	(revision 100)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/src/Write_queue_transition.cpp	(revision 101)
@@ -24,5 +24,6 @@
   void Write_queue::transition (void)
   {
-    log_printf(FUNC,Write_queue,FUNCTION,"Begin");
+    log_begin(Write_queue,FUNCTION);
+    log_function(Write_queue,FUNCTION,_name.c_str());
 
     if (PORT_READ(in_NRESET) == 0)
@@ -87,9 +88,40 @@
 #endif
 
+#if DEBUG_Write_queue and (DEBUG >= DEBUG_TRACE)
+    log_printf(TRACE,Write_queue,FUNCTION,"  * Dump Write_queue");
+    {
+      uint32_t i=0;
+      
+      for (std::list<write_queue_entry_t *>::iterator it=_queue->begin();
+           it!=_queue->end();
+           ++it)
+        {
+          log_printf(TRACE,Write_queue,FUNCTION,"  [%d] %.2d %.2d %.2d, %.4d, %.1d %.4d %.8x, %.1d %.4d %.1d, %.2d %.1d, %.8x",
+                     i,
+                     (*it)->_context_id   ,
+                     (*it)->_front_end_id ,
+                     (*it)->_ooo_engine_id,
+                     (*it)->_packet_id    ,
+                   //(*it)->_operation    ,
+                   //(*it)->_type         ,
+                     (*it)->_write_rd     ,
+                     (*it)->_num_reg_rd   ,
+                     (*it)->_data_rd      ,
+                     (*it)->_write_re     ,
+                     (*it)->_num_reg_re   ,
+                     (*it)->_data_re      ,
+                     (*it)->_exception    ,
+                     (*it)->_no_sequence  ,
+                     (*it)->_address      );
+          i++;
+        }
+    }
+#endif
+
 #if defined(STATISTICS) or defined(VHDL_TESTBENCH)
     end_cycle ();
 #endif
 
-    log_printf(FUNC,Write_queue,FUNCTION,"End");
+    log_end(Write_queue,FUNCTION);
   };
 
