Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/VERSION
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/VERSION	(revision 74)
+++ 	(revision )
@@ -1,4 +1,0 @@
-v0.6
-
-0.5 modif vhdl_port et vhdl_testbench_port -> ajout d'une macro
-0.6 ajout de la documentation
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/include/Functionnal_unit.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/include/Functionnal_unit.h	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/include/Functionnal_unit.h	(revision 75)
@@ -55,5 +55,5 @@
 
 #ifdef STATISTICS
-  private   : Stat                           * _stat;
+  public    : Stat                           * _stat;
 
   private   : counter_t                      * _stat_use_functionnal_unit;
@@ -162,5 +162,4 @@
 #ifdef STATISTICS
   public  : void        statistics_declaration    (morpheo::behavioural::Parameters_Statistics * param_statistics);
-  public  : std::string statistics_print          (uint32_t depth);
 #endif
 					       
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Functionnal_unit_allocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Functionnal_unit_allocation.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Functionnal_unit_allocation.cpp	(revision 75)
@@ -21,6 +21,4 @@
   void Functionnal_unit::allocation (void)
   {
-    string rename;
-
     log_printf(FUNC,Functionnal_unit,FUNCTION,"Begin");
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Functionnal_unit_statistics_declaration.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Functionnal_unit_statistics_declaration.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Functionnal_unit_statistics_declaration.cpp	(revision 75)
@@ -25,5 +25,5 @@
     log_printf(FUNC,Functionnal_unit,FUNCTION,"Begin");
 
-    _stat = new Stat (static_cast<string>(_name),
+    _stat = new Stat (static_cast<std::string>(_name),
 		      "Functionnal_unit",
 		      param_statistics);
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Functionnal_unit_statistics_print.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Functionnal_unit_statistics_print.cpp	(revision 74)
+++ 	(revision )
@@ -1,43 +1,0 @@
-#ifdef STATISTICS
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/include/Functionnal_unit.h"
-
-namespace morpheo {
-namespace behavioural {
-namespace core {
-namespace multi_execute_loop {
-namespace execute_loop {
-namespace multi_execute_unit {
-namespace execute_unit {
-namespace functionnal_unit {
-
-
-#undef  FUNCTION
-#define FUNCTION "Functionnal_unit::statistics_print"
-  std::string Functionnal_unit::statistics_print (uint32_t depth)
-  {
-    log_printf(FUNC,Functionnal_unit,FUNCTION,"Begin");
-
-    std::string txt = _stat->print(depth);
-    
-    log_printf(FUNC,Functionnal_unit,FUNCTION,"End");
-
-    return txt;
-  };
-
-}; // end namespace functionnal_unit
-}; // end namespace execute_unit
-}; // end namespace multi_execute_unit
-}; // end namespace execute_loop
-}; // end namespace multi_execute_loop
-}; // end namespace core
-
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/SelfTest/include/Cache.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/SelfTest/include/Cache.h	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/SelfTest/include/Cache.h	(revision 75)
@@ -27,5 +27,5 @@
 private : const uint32_t    _miss_rate;
 private : const uint32_t    _miss_penality;
-private : list<cache_rsp_t> _list_respons;
+private : std::list<cache_rsp_t> _list_respons;
 					 
 public  : Cache_t (uint32_t miss_rate, uint32_t miss_penality):
@@ -59,5 +59,5 @@
 
     // find good place
-    list<cache_rsp_t>::iterator i;
+    std::list<cache_rsp_t>::iterator i;
     for(i = _list_respons.begin(); (i != _list_respons.end()) and (i->_cycle<=cycle); i++);
 
@@ -82,5 +82,5 @@
 public  : void end_cycle (void)
   {
-    for(list<cache_rsp_t>::iterator i = _list_respons.begin(); i != _list_respons.end(); i++)
+    for(std::list<cache_rsp_t>::iterator i = _list_respons.begin(); i != _list_respons.end(); i++)
       {
 	i->_cycle --;
@@ -90,5 +90,5 @@
 public  : void print (void)
   {
-    for(list<cache_rsp_t>::iterator i = _list_respons.begin(); i != _list_respons.end(); i++)
+    for(std::list<cache_rsp_t>::iterator i = _list_respons.begin(); i != _list_respons.end(); i++)
       {
 	std::cout << "{" << i->_cycle << "}\t" 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/SelfTest/include/Memory.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/SelfTest/include/Memory.h	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/SelfTest/include/Memory.h	(revision 75)
@@ -53,10 +53,10 @@
       }
 
-    cout << "=====[ Memory's information ]" << endl
-	 << "  * _nb_context : " << _nb_context << endl
-	 << "  * _nb_word    : " << _nb_word    << endl
-	 << "  * _size_word  : " << _size_word  << endl
-	 << "  * _shift_addr : " << _shift_addr << endl
-	 << "  * _mask_addr  : " << hex << _mask_addr << dec << endl;
+    std::cout << "=====[ Memory's information ]" << std::endl
+	      << "  * _nb_context : " << _nb_context << std::endl
+	      << "  * _nb_word    : " << _nb_word    << std::endl
+	      << "  * _size_word  : " << _size_word  << std::endl
+	      << "  * _shift_addr : " << _shift_addr << std::endl
+	      << "  * _mask_addr  : " << std::hex << _mask_addr << std::dec << std::endl;
   }
 
@@ -71,9 +71,9 @@
 						       morpheo::behavioural::Tdcache_data_t    data)
   {
-    cout << "<Memory::access>" << endl
-	 << " * context : " << context << endl
-	 << " * address : " << hex << address << dec << endl
-	 << " * type    : " << type << endl
-	 << " * wdata   : " << hex << data << dec << endl;
+    std::cout << "<Memory::access>" << std::endl
+	      << " * context : " << context << std::endl
+	      << " * address : " << std::hex << address << std::dec << std::endl
+	      << " * type    : " << type << std::endl
+	      << " * wdata   : " << std::hex << data << std::dec << std::endl;
 
     morpheo::behavioural::Tdcache_data_t rdata;
@@ -90,5 +90,5 @@
 	rdata = other (context, address, type);
 
-    cout << " * rdata   : " << hex << rdata << dec << endl;
+    std::cout << " * rdata   : " << std::hex << rdata << std::dec << std::endl;
 
     return rdata;
@@ -161,5 +161,5 @@
 						      morpheo::behavioural::Tdcache_data_t data)
   {
-    cout << "   * write" << endl;
+    std::cout << "   * write" << std::endl;
 
     if (context>_nb_context)
@@ -172,8 +172,8 @@
     morpheo::behavioural::Tdcache_address_t MSB = address >> _shift_addr;
 
-    cout << hex
-	 << "     * LSB         : " << LSB << endl
-	 << "     * MSB         : " << MSB << endl
-	 << dec;
+    std::cout << std::hex
+	 << "     * LSB         : " << LSB << std::endl
+	 << "     * MSB         : " << MSB << std::endl
+	 << std::dec;
   
     morpheo::behavioural::Tdcache_data_t data_old    = _data [context][MSB];
@@ -193,21 +193,21 @@
     uint32_t index_max = index_min+memory_size;
 
-    cout << "     * type        : " << type << endl
-	 << "     * memory_size : " << memory_size << endl
-	 << "     * index_min   : " << index_min << endl
-	 << "     * index_max   : " << index_max << endl;
+    std::cout << "     * type        : " << type << std::endl
+	 << "     * memory_size : " << memory_size << std::endl
+	 << "     * index_min   : " << index_min << std::endl
+	 << "     * index_max   : " << index_max << std::endl;
     
     morpheo::behavioural::Tdcache_data_t data_insert = data<<index_min; // the data is aligned at LSB
 
-//     cout << "read :" << endl
-// 	 << " * context     : " << context << endl
-// 	 << hex		    
-// 	 << " * address     : " << address << endl
-// 	 << "   * LSB       : " << LSB       << endl
-// 	 << "   * MSB       : " << MSB       << endl
-// 	 << dec
-// 	 << "   * index_min : " << index_min << endl
-// 	 << "   * index_max : " << index_max << endl
-// 	 << " * type        : " << type    << endl;
+//     std::cout << "read :" << std::endl
+// 	 << " * context     : " << context << std::endl
+// 	 << std::hex		    
+// 	 << " * address     : " << address << std::endl
+// 	 << "   * LSB       : " << LSB       << std::endl
+// 	 << "   * MSB       : " << MSB       << std::endl
+// 	 << std::dec
+// 	 << "   * index_min : " << index_min << std::endl
+// 	 << "   * index_max : " << index_max << std::endl
+// 	 << " * type        : " << type    << std::endl;
 
     if (index_max > _size_word)
@@ -218,8 +218,8 @@
     _data [context][MSB] = data_new;
     
-    cout << hex
-	 << "     * data_old    : " << data_old << endl
-	 << "     * data_new    : " << data_new << endl
-	 << dec;
+    std::cout << std::hex
+	      << "     * data_old    : " << data_old << std::endl
+	      << "     * data_new    : " << data_new << std::endl
+	      << std::dec;
 
 
@@ -277,9 +277,9 @@
 	  }
 	std::cout << " - "
-		  << hex
+		  << std::hex
 		  << i->_address << " : "
 		  << i->_data_old << " -> "
 		  << i->_data_new << std::endl
-		  << hex;
+		  << std::hex;
       }
   }
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/SelfTest/include/MemoryRequest.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/SelfTest/include/MemoryRequest.h	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/SelfTest/include/MemoryRequest.h	(revision 75)
@@ -126,11 +126,11 @@
   {
     return os << "<" << morpheo::toString(x._cycle) << "> : "
-	      << "{" << morpheo::toString(static_cast<uint32_t>(x._packet_id)) << "}" << endl
-	      << "\t * context / front_end / ooo_engine  : " << morpheo::toString(static_cast<uint32_t>(x._context_id   )) << " - " << morpheo::toString(static_cast<uint32_t>(x._front_end_id )) << " - " << morpheo::toString(static_cast<uint32_t>(x._ooo_engine_id)) << endl
-	      << "\t * operation  / type / write_spec_ko : " << morpheo::toString(static_cast<uint32_t>(x._operation)) << " " << morpheo::toString(static_cast<uint32_t>(x._type)) << " " << morpheo::toString(static_cast<uint32_t>(x._write_spec_ko)) << endl
-	      << "\t * ptr_write store/load              : " << morpheo::toString(static_cast<uint32_t>(x._store_queue_ptr_write)) << " " << morpheo::toString(static_cast<uint32_t>(x._load_queue_ptr_write)) << endl
-	      << "\t * immediat / data_ra / data_rb      : " << morpheo::toString(static_cast<uint32_t>(x._immediat)) << " - " << morpheo::toString(static_cast<uint32_t>(x._data_ra)) << " - " << morpheo::toString(static_cast<uint32_t>(x._data_rb)) << endl
-	      << "\t * write_rd / num_reg_rd             : " << morpheo::toString(static_cast<uint32_t>(x._write_rd)) << " " << morpheo::toString(static_cast<uint32_t>(x._num_reg_rd)) << endl
-	      << "\t * data_wait                         : " << morpheo::toString(static_cast<uint32_t>(x._data_wait)) << endl;
+	      << "{" << morpheo::toString(static_cast<uint32_t>(x._packet_id)) << "}" << std::endl
+	      << "\t * context / front_end / ooo_engine  : " << morpheo::toString(static_cast<uint32_t>(x._context_id   )) << " - " << morpheo::toString(static_cast<uint32_t>(x._front_end_id )) << " - " << morpheo::toString(static_cast<uint32_t>(x._ooo_engine_id)) << std::endl
+	      << "\t * operation  / type / write_spec_ko : " << morpheo::toString(static_cast<uint32_t>(x._operation)) << " " << morpheo::toString(static_cast<uint32_t>(x._type)) << " " << morpheo::toString(static_cast<uint32_t>(x._write_spec_ko)) << std::endl
+	      << "\t * ptr_write store/load              : " << morpheo::toString(static_cast<uint32_t>(x._store_queue_ptr_write)) << " " << morpheo::toString(static_cast<uint32_t>(x._load_queue_ptr_write)) << std::endl
+	      << "\t * immediat / data_ra / data_rb      : " << morpheo::toString(static_cast<uint32_t>(x._immediat)) << " - " << morpheo::toString(static_cast<uint32_t>(x._data_ra)) << " - " << morpheo::toString(static_cast<uint32_t>(x._data_rb)) << std::endl
+	      << "\t * write_rd / num_reg_rd             : " << morpheo::toString(static_cast<uint32_t>(x._write_rd)) << " " << morpheo::toString(static_cast<uint32_t>(x._num_reg_rd)) << std::endl
+	      << "\t * data_wait                         : " << morpheo::toString(static_cast<uint32_t>(x._data_wait)) << std::endl;
   }
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/VERSION
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/VERSION	(revision 74)
+++ 	(revision )
@@ -1,4 +1,0 @@
-v0.6
-
-0.5 modif vhdl_port et vhdl_testbench_port -> ajout d'une macro
-0.6 ajout de la documentation
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/include/Load_store_unit.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/include/Load_store_unit.h	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/include/Load_store_unit.h	(revision 75)
@@ -30,7 +30,4 @@
 #include "Behavioural/include/Vhdl.h"
 #endif
-
-using namespace std;
-using namespace morpheo::behavioural::generic::queue_control;
 
 namespace morpheo {
@@ -51,5 +48,5 @@
     // -----[ fields ]----------------------------------------------------
     // Parameters
-  protected : const string       _name;
+  protected : const std::string       _name;
 
   protected : const Parameters * _param;
@@ -194,5 +191,5 @@
    sc_module_name                                name,
 #else					       
-   string                                        name,
+   std::string                                   name,
 #endif					       
 #ifdef STATISTICS
@@ -221,5 +218,4 @@
 #ifdef STATISTICS
   public  : void     statistics_declaration    (morpheo::behavioural::Parameters_Statistics * param_statistics);
-  public  : string   statistics_print          (uint32_t depth);
 #endif
 					       
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/src/Load_store_unit_allocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/src/Load_store_unit_allocation.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/src/Load_store_unit_allocation.cpp	(revision 75)
@@ -24,6 +24,4 @@
   void Load_store_unit::allocation (void)
   {
-    string rename;
-
     log_printf(FUNC,Load_store_unit,FUNCTION,"Begin");
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/src/Load_store_unit_function_speculative_load_commit_transition.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/src/Load_store_unit_function_speculative_load_commit_transition.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/src/Load_store_unit_function_speculative_load_commit_transition.cpp	(revision 75)
@@ -660,33 +660,33 @@
 #if DEBUG>=DEBUG_TRACE
 	// ***** dump store queue
-	cout << "Dump STORE_QUEUE :" << endl
-	     << "ptr_read : " << toString(static_cast<uint32_t>(reg_STORE_QUEUE_PTR_READ)) << endl;
+	std::cout << "Dump STORE_QUEUE :" << std::endl
+		  << "ptr_read : " << toString(static_cast<uint32_t>(reg_STORE_QUEUE_PTR_READ)) << std::endl;
 	
 	for (uint32_t i=0; i<_param->_size_store_queue; i++)
 	  {
 	    uint32_t j = (reg_STORE_QUEUE_PTR_READ+i)%_param->_size_store_queue;
-	    cout << "{" << j << "}" << endl
-		 << _store_queue[j] << endl;
+	    std::cout << "{" << j << "}" << std::endl
+		      << _store_queue[j] << std::endl;
 	  }
 
 	// ***** dump speculative_access queue
-	cout << "Dump SPECULATIVE_ACCESS_QUEUE :" << endl;
+	std::cout << "Dump SPECULATIVE_ACCESS_QUEUE :" << std::endl;
 	
 	for (uint32_t i=0; i<_param->_size_speculative_access_queue; i++)
 	  {
 	    uint32_t j = (*_speculative_access_queue_control)[i];
-	    cout << "{" << j << "}" << endl
-		 << _speculative_access_queue[j] << endl;
+	    std::cout << "{" << j << "}" << std::endl
+		 << _speculative_access_queue[j] << std::endl;
 	  }
 
 	// ***** dump load queue
-	cout << "Dump LOAD_QUEUE :" << endl
-	     << "ptr_read_check_priority : " << toString(static_cast<uint32_t>(reg_LOAD_QUEUE_CHECK_PRIORITY)) << endl;
+	std::cout << "Dump LOAD_QUEUE :" << std::endl
+	     << "ptr_read_check_priority : " << toString(static_cast<uint32_t>(reg_LOAD_QUEUE_CHECK_PRIORITY)) << std::endl;
 	
 	for (uint32_t i=0; i<_param->_size_load_queue; i++)
 	  {
 	    uint32_t j = i;
-	    cout << "{" << j << "}" << endl
-		 << _load_queue[j] << endl;
+	    std::cout << "{" << j << "}" << std::endl
+		 << _load_queue[j] << std::endl;
 	  }
 	
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/src/Load_store_unit_statistics_print.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/src/Load_store_unit_statistics_print.cpp	(revision 74)
+++ 	(revision )
@@ -1,43 +1,0 @@
-#ifdef STATISTICS
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/include/Load_store_unit.h"
-
-namespace morpheo {
-namespace behavioural {
-namespace core {
-namespace multi_execute_loop {
-namespace execute_loop {
-namespace multi_execute_unit {
-namespace execute_unit {
-namespace load_store_unit {
-
-
-#undef  FUNCTION
-#define FUNCTION "Load_store_unit::statistics_print"
-  string Load_store_unit::statistics_print (uint32_t depth)
-  {
-    log_printf(FUNC,Load_store_unit,FUNCTION,"Begin");
-
-    string txt = _stat->print(depth);
-    
-    log_printf(FUNC,Load_store_unit,FUNCTION,"End");
-
-    return txt;
-  };
-
-}; // end namespace load_store_unit
-}; // end namespace execute_unit
-}; // end namespace multi_execute_unit
-}; // end namespace execute_loop
-}; // end namespace multi_execute_loop
-}; // end namespace core
-
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/VERSION
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/VERSION	(revision 74)
+++ 	(revision )
@@ -1,4 +1,0 @@
-v0.6
-
-0.5 modif vhdl_port et vhdl_testbench_port -> ajout d'une macro
-0.6 ajout de la documentation
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 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/include/Parameters.h	(revision 75)
@@ -77,9 +77,9 @@
   public : ~Parameters () ;
 
-  public : string msg_error (void);
+  public : std::string          msg_error (void);
 
-  public :        string   print      (uint32_t depth);
-  public : friend ostream& operator<< (ostream& output_stream,
-				       morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_read_unit::read_unit::read_queue::Parameters & x);
+  public :        std::string   print      (uint32_t depth);
+  public : friend std::ostream& operator<< (std::ostream& output_stream,
+					    morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_read_unit::read_unit::read_queue::Parameters & x);
   };
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/include/Read_queue.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/include/Read_queue.h	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/include/Read_queue.h	(revision 75)
@@ -21,5 +21,5 @@
 #include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/include/Parameters.h"
 #ifdef STATISTICS
-#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/include/Statistics.h"
+#include "Behavioural/include/Stat.h"
 #endif
 #include "Behavioural/include/Component.h"
@@ -27,6 +27,4 @@
 #include "Behavioural/include/Vhdl.h"
 #endif
-
-using namespace std;
 
 namespace morpheo {
@@ -60,25 +58,25 @@
   public    : Tspecial_address_t _num_reg_re   ;
 
-    friend ostream& operator<< (ostream& output_stream,
+    friend std::ostream& operator<< (std::ostream& output_stream,
 				morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_read_unit::read_unit::read_queue::Tread_queue_entry_t & x)
     {
-      output_stream << " * _context_id    : " << toString(x._context_id   ) << endl
-		    << " * _front_end_id  : " << toString(x._front_end_id ) << endl
-		    << " * _ooo_engine_id : " << toString(x._ooo_engine_id) << endl
-		    << " * _rob_id        : " << toString(x._rob_id       ) << endl
-		    << " * _operation     : " << toString(x._operation    ) << endl
-		    << " * _type          : " << toString(x._type         ) << endl
-		    << " * _has_immediat  : " << toString(x._has_immediat ) << endl
-		    << " * _immediat      : " << toString(x._immediat     ) << endl
-		    << " * _read_ra       : " << toString(x._read_ra      ) << endl
-		    << " * _num_reg_ra    : " << toString(x._num_reg_ra   ) << endl
-		    << " * _read_rb       : " << toString(x._read_rb      ) << endl
-		    << " * _num_reg_rb    : " << toString(x._num_reg_rb   ) << endl
-		    << " * _read_rc       : " << toString(x._read_rc      ) << endl
-		    << " * _num_reg_rc    : " << toString(x._num_reg_rc   ) << endl
-		    << " * _write_rd      : " << toString(x._write_rd     ) << endl
-		    << " * _num_reg_rd    : " << toString(x._num_reg_rd   ) << endl
-		    << " * _write_re      : " << toString(x._write_re     ) << endl
-		    << " * _num_reg_re    : " << toString(x._num_reg_re   ) << endl;
+      output_stream << " * _context_id    : " << toString(x._context_id   ) << std::endl
+		    << " * _front_end_id  : " << toString(x._front_end_id ) << std::endl
+		    << " * _ooo_engine_id : " << toString(x._ooo_engine_id) << std::endl
+		    << " * _rob_id        : " << toString(x._rob_id       ) << std::endl
+		    << " * _operation     : " << toString(x._operation    ) << std::endl
+		    << " * _type          : " << toString(x._type         ) << std::endl
+		    << " * _has_immediat  : " << toString(x._has_immediat ) << std::endl
+		    << " * _immediat      : " << toString(x._immediat     ) << std::endl
+		    << " * _read_ra       : " << toString(x._read_ra      ) << std::endl
+		    << " * _num_reg_ra    : " << toString(x._num_reg_ra   ) << std::endl
+		    << " * _read_rb       : " << toString(x._read_rb      ) << std::endl
+		    << " * _num_reg_rb    : " << toString(x._num_reg_rb   ) << std::endl
+		    << " * _read_rc       : " << toString(x._read_rc      ) << std::endl
+		    << " * _num_reg_rc    : " << toString(x._num_reg_rc   ) << std::endl
+		    << " * _write_rd      : " << toString(x._write_rd     ) << std::endl
+		    << " * _num_reg_rd    : " << toString(x._num_reg_rd   ) << std::endl
+		    << " * _write_re      : " << toString(x._write_re     ) << std::endl
+		    << " * _num_reg_re    : " << toString(x._num_reg_re   ) << std::endl;
 
       return output_stream;
@@ -156,34 +154,34 @@
     }
 
-    friend ostream& operator<< (ostream& output_stream,
+    friend std::ostream& operator<< (std::ostream& output_stream,
 				morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_read_unit::read_unit::read_queue::Tread_queue_head_entry_t & x)
     {
-      output_stream << " * _context_id    : " << x._context_id   << endl
-		    << " * _front_end_id  : " << x._front_end_id << endl
-		    << " * _ooo_engine_id : " << x._ooo_engine_id<< endl
-		    << " * _rob_id        : " << x._rob_id       << endl
-		    << " * _operation     : " << x._operation    << endl
-		    << " * _type          : " << x._type         << endl
-		    << " * _has_immediat  : " << x._has_immediat << endl
-		    << " * _immediat      : " << x._immediat     << endl
-		    << " * _read_ra       : " << x._read_ra      << endl
-		    << " * _read_ra_val   : " << x._read_ra_val  << endl 
-		    << " * _num_reg_ra    : " << x._num_reg_ra   << endl
-		    << " * _data_ra_val   : " << x._data_ra_val  << endl
-		    << " * _data_ra       : " << x._data_ra      << endl
-		    << " * _read_rb       : " << x._read_rb      << endl
-		    << " * _read_rb_val   : " << x._read_rb_val  << endl
-		    << " * _num_reg_rb    : " << x._num_reg_rb   << endl
-		    << " * _data_rb_val   : " << x._data_rb_val  << endl
-		    << " * _data_rb       : " << x._data_rb      << endl
-		    << " * _read_rc       : " << x._read_rc      << endl
-		    << " * _read_rc_val   : " << x._read_rc_val  << endl
-		    << " * _num_reg_rc    : " << x._num_reg_rc   << endl
-		    << " * _data_rc_val   : " << x._data_rc_val  << endl
-		    << " * _data_rc       : " << x._data_rc      << endl
-		    << " * _write_rd      : " << x._write_rd     << endl
-		    << " * _num_reg_rd    : " << x._num_reg_rd   << endl
-		    << " * _write_re      : " << x._write_re     << endl
-		    << " * _num_reg_re    : " << x._num_reg_re   << endl;
+      output_stream << " * _context_id    : " << x._context_id   << std::endl
+		    << " * _front_end_id  : " << x._front_end_id << std::endl
+		    << " * _ooo_engine_id : " << x._ooo_engine_id<< std::endl
+		    << " * _rob_id        : " << x._rob_id       << std::endl
+		    << " * _operation     : " << x._operation    << std::endl
+		    << " * _type          : " << x._type         << std::endl
+		    << " * _has_immediat  : " << x._has_immediat << std::endl
+		    << " * _immediat      : " << x._immediat     << std::endl
+		    << " * _read_ra       : " << x._read_ra      << std::endl
+		    << " * _read_ra_val   : " << x._read_ra_val  << std::endl 
+		    << " * _num_reg_ra    : " << x._num_reg_ra   << std::endl
+		    << " * _data_ra_val   : " << x._data_ra_val  << std::endl
+		    << " * _data_ra       : " << x._data_ra      << std::endl
+		    << " * _read_rb       : " << x._read_rb      << std::endl
+		    << " * _read_rb_val   : " << x._read_rb_val  << std::endl
+		    << " * _num_reg_rb    : " << x._num_reg_rb   << std::endl
+		    << " * _data_rb_val   : " << x._data_rb_val  << std::endl
+		    << " * _data_rb       : " << x._data_rb      << std::endl
+		    << " * _read_rc       : " << x._read_rc      << std::endl
+		    << " * _read_rc_val   : " << x._read_rc_val  << std::endl
+		    << " * _num_reg_rc    : " << x._num_reg_rc   << std::endl
+		    << " * _data_rc_val   : " << x._data_rc_val  << std::endl
+		    << " * _data_rc       : " << x._data_rc      << std::endl
+		    << " * _write_rd      : " << x._write_rd     << std::endl
+		    << " * _num_reg_rd    : " << x._num_reg_rd   << std::endl
+		    << " * _write_re      : " << x._write_re     << std::endl
+		    << " * _num_reg_re    : " << x._num_reg_re   << std::endl;
 
       return output_stream;
@@ -198,9 +196,9 @@
     // -----[ fields ]----------------------------------------------------
     // Parameters
-  protected : const string                     _name;
+  protected : const std::string                _name;
   protected : const Parameters               * _param;
 
 #ifdef STATISTICS
-  private   : Statistics                     * _stat;
+  public    : Stat                           * _stat;
 #endif
 
@@ -302,5 +300,5 @@
     // ~~~~~[ Register ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~    
   protected : Tread_queue_head_entry_t       * _queue_head;
-  protected : queue<Tread_queue_entry_t *>   * _queue;
+  protected : std::queue<Tread_queue_entry_t *>   * _queue;
 
     // ~~~~~[ Internal ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -328,5 +326,5 @@
 					      sc_module_name                              name,
 #else					       
-					      string                                      name,
+					      std::string                                 name,
 #endif					       
 #ifdef STATISTICS
@@ -349,5 +347,5 @@
 #endif					       
 #ifdef STATISTICS
-  public  : string   statistics                (uint32_t depth);
+  public  : void     statistics_declaration    (morpheo::behavioural::Parameters_Statistics * param_statistics);
 #endif
 					       
@@ -357,7 +355,7 @@
   private : void     vhdl_body                 (Vhdl * & vhdl);
 #endif					       
-					       
-#ifdef VHDL_TESTBENCH			       
-  private : void     vhdl_testbench_transition (void);
+			
+#if defined(STATISTICS) or defined(VHDL_TESTBENCH)
+  private : void     end_cycle                 (void);
 #endif
   };
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/include/Statistics.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/include/Statistics.h	(revision 74)
+++ 	(revision )
@@ -1,62 +1,0 @@
-#ifdef STATISTICS
-#ifndef morpheo_behavioural_core_multi_execute_loop_execute_loop_multi_read_unit_read_unit_read_queue_Statistics_h
-#define morpheo_behavioural_core_multi_execute_loop_execute_loop_multi_read_unit_read_unit_read_queue_Statistics_h
-
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Common/include/Debug.h"
-#include "Behavioural/include/Statistics.h"
-#include "Behavioural/include/Parameters_Statistics.h"
-//#include "Behavioural/Generic/Group/include/Statistics.h"
-#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/include/Parameters.h"
-
-//using namespace morpheo::behavioural::generic::group;
-
-namespace morpheo                    {
-namespace behavioural {
-namespace core {
-namespace multi_execute_loop {
-namespace execute_loop {
-namespace multi_read_unit {
-namespace read_unit {
-namespace read_queue {
-
-
-  class Statistics : public morpheo::behavioural::Statistics
-  {
-    // -----[ fields ]----------------------------------------------------
-  private  : const Parameters                                 * _parameters;
-
-    // -----[ methods ]---------------------------------------------------
-  public   : Statistics  (string                                        name                       ,
-			  morpheo::behavioural::Parameters_Statistics * parameters_statistics      ,
-			  Parameters                                  * parameters
-			  );
-  public   : ~Statistics () ;
-    
-  public   : string   print_body (uint32_t depth);
-  public   : string   print      (uint32_t depth);
-  public   : void     add        ();
-
-  public   : friend ostream& operator<< (ostream& output_stream,
-					 const Statistics & x);
-
-  };
-
-}; // end namespace read_queue
-}; // end namespace read_unit
-}; // end namespace multi_read_unit
-}; // end namespace execute_loop
-}; // end namespace multi_execute_loop
-}; // end namespace core
-
-}; // end namespace behavioural
-}; // end namespace morpheo
-
-#endif
-#endif
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 74)
+++ 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 75)
@@ -8,5 +8,4 @@
 #include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/include/Parameters.h"
 #include <sstream>
-using namespace std;
 
 namespace morpheo                    {
@@ -20,9 +19,9 @@
 
 
-  string Parameters::msg_error(void)
+  std::string Parameters::msg_error(void)
   {
     log_printf(FUNC,Read_queue,"msg_error","Begin");
 
-    string msg = "";
+    std::string msg = "";
 
 //     if (_size_queue < 2)
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Parameters_print.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Parameters_print.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Parameters_print.cpp	(revision 75)
@@ -8,5 +8,4 @@
 #include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/include/Parameters.h"
 #include "Behavioural/include/XML.h"
-using namespace std;
 
 namespace morpheo                    {
@@ -20,5 +19,5 @@
 
 
-  string Parameters::print (uint32_t depth)
+  std::string Parameters::print (uint32_t depth)
   {
     log_printf(FUNC,Read_queue,"print","Begin");
@@ -47,6 +46,6 @@
   };
 
-  ostream& operator<< (ostream& output_stream ,
-		       morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_read_unit::read_unit::read_queue::Parameters & x)
+  std::ostream& operator<< (std::ostream& output_stream ,
+			    morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_read_unit::read_unit::read_queue::Parameters & x)
   {
     output_stream << x.print(0);
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue.cpp	(revision 75)
@@ -39,10 +39,7 @@
 
 #ifdef STATISTICS
-    log_printf(INFO,Read_queue,"Read_queue","Allocation of statistics");
-
-    // Allocation of statistics
-    _stat = new Statistics (static_cast<string>(_name),
-			    param_statistics          ,
-			    param);
+    log_printf(INFO,Read_queue,FUNCTION,"Allocation of statistics");
+    
+    statistics_declaration(param_statistics);
 #endif
 
@@ -217,6 +214,4 @@
     log_printf(INFO,Read_queue,"~Read_queue","Generate Statistics file");
 
-    _stat->generate_file(statistics(0));
-    
     delete _stat;
 #endif
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 74)
+++ 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 75)
@@ -21,6 +21,4 @@
   void Read_queue::allocation (void)
   {
-    string rename;
-
     log_printf(FUNC,Read_queue,"allocation","Begin");
 
@@ -238,5 +236,5 @@
 
     // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~    
-    _queue      = new queue<Tread_queue_entry_t *>;
+    _queue      = new std::queue<Tread_queue_entry_t *>;
     _queue_head = new Tread_queue_head_entry_t;
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_end_cycle.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_end_cycle.cpp	(revision 75)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_end_cycle.cpp	(revision 75)
@@ -0,0 +1,47 @@
+#if defined(STATISTICS) or defined(VHDL_TESTBENCH)
+/*
+ * $Id$
+ *
+ * [ Description ]
+ * 
+ */
+
+#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/include/Read_queue.h"
+
+namespace morpheo                    {
+namespace behavioural {
+namespace core {
+namespace multi_execute_loop {
+namespace execute_loop {
+namespace multi_read_unit {
+namespace read_unit {
+namespace read_queue {
+
+
+  void Read_queue::end_cycle ()
+  {
+    log_printf(FUNC,Read_queue,"vhdl_testbench_transition","Begin");
+
+#ifdef STATISTICS
+    _stat->end_cycle();
+#endif    
+
+#ifdef VHDL_TESTBENCH
+    // Evaluation before read the ouput signal
+//  sc_start(0);
+    _interfaces->testbench();
+#endif
+
+    log_printf(FUNC,Read_queue,"vhdl_testbench_transition","End");
+  };
+
+}; // end namespace read_queue
+}; // end namespace read_unit
+}; // end namespace multi_read_unit
+}; // end namespace execute_loop
+}; // end namespace multi_execute_loop
+}; // end namespace core
+
+}; // end namespace behavioural
+}; // end namespace morpheo              
+#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_statistics.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_statistics.cpp	(revision 74)
+++ 	(revision )
@@ -1,41 +1,0 @@
-#ifdef STATISTICS
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/include/Read_queue.h"
-
-namespace morpheo {
-namespace behavioural {
-namespace core {
-namespace multi_execute_loop {
-namespace execute_loop {
-namespace multi_read_unit {
-namespace read_unit {
-namespace read_queue {
-
-
-  string Read_queue::statistics (uint32_t depth)
-  {
-    log_printf(FUNC,Read_queue,"statistics","Begin");
-
-    string txt = _stat->print(depth);
-    
-    log_printf(FUNC,Read_queue,"statistics","End");
-
-    return txt;
-  };
-
-}; // end namespace read_queue
-}; // end namespace read_unit
-}; // end namespace multi_read_unit
-}; // end namespace execute_loop
-}; // end namespace multi_execute_loop
-}; // end namespace core
-
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_statistics_declaration.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_statistics_declaration.cpp	(revision 75)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_statistics_declaration.cpp	(revision 75)
@@ -0,0 +1,42 @@
+#ifdef STATISTICS
+/*
+ * $Id$
+ *
+ * [ Description ]
+ * 
+ */
+
+#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/include/Read_queue.h"
+
+namespace morpheo {
+namespace behavioural {
+namespace core {
+namespace multi_execute_loop {
+namespace execute_loop {
+namespace multi_read_unit {
+namespace read_unit {
+namespace read_queue {
+
+#undef  FUNCTION
+#define FUNCTION "Read_queue::statistics_declaration"
+  void Read_queue::statistics_declaration (morpheo::behavioural::Parameters_Statistics * param_statistics)
+  {
+    log_printf(FUNC,Read_queue,FUNCTION,"Begin");
+
+    _stat = new Stat (static_cast<std::string>(_name),
+                      "Read_queue",
+                      param_statistics);
+    
+    log_printf(FUNC,Read_queue,FUNCTION,"End");
+  };
+
+}; // end namespace read_queue
+}; // end namespace read_unit
+}; // end namespace multi_read_unit
+}; // end namespace execute_loop
+}; // end namespace multi_execute_loop
+}; // end namespace core
+
+}; // end namespace behavioural
+}; // end namespace morpheo              
+#endif
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 74)
+++ 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 75)
@@ -138,10 +138,6 @@
       }
 
-#ifdef STATISTICS
-    _stat->add();
-#endif    
-
-#ifdef VHDL_TESTBENCH
-    vhdl_testbench_transition ();
+#if defined(STATISTICS) or defined(VHDL_TESTBENCH)
+    end_cycle ();
 #endif
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_vhdl.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_vhdl.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_vhdl.cpp	(revision 75)
@@ -35,5 +35,5 @@
        );
     
-    string queue_name = _name + "_queue";
+    std::string queue_name = _name + "_queue";
     queue = new morpheo::behavioural::generic::queue::Queue
       (queue_name.c_str()
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_vhdl_body.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_vhdl_body.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_vhdl_body.cpp	(revision 75)
@@ -208,5 +208,5 @@
       for (int32_t i=_param->_nb_gpr_write-1; i>=0 ; i--)
 	{
-	  string cmp;
+	  std::string cmp;
 	  
 	  if (_param->_have_port_ooo_engine_id)
@@ -228,5 +228,5 @@
       for (int32_t i=_param->_nb_gpr_write-1; i>=0 ; i--)
 	{
-	  string cmp;
+	  std::string cmp;
 	  
 	  if (_param->_have_port_ooo_engine_id)
@@ -248,5 +248,5 @@
       for (int32_t i=_param->_nb_spr_write-1; i>=0 ; i--)
 	{
-	  string cmp;
+	  std::string cmp;
 	  
 	  if (_param->_have_port_ooo_engine_id)
@@ -278,5 +278,5 @@
       for (int32_t i=_param->_nb_gpr_write-1; i>=0 ; i--)
 	{
-	  string cmp;
+	  std::string cmp;
 	
 	  if (_param->_have_port_ooo_engine_id)
@@ -298,5 +298,5 @@
       for (int32_t i=_param->_nb_gpr_write-1; i>=0 ; i--)
 	{
-	  string cmp;
+	  std::string cmp;
 	  
 	  if (_param->_have_port_ooo_engine_id)
@@ -318,5 +318,5 @@
       for (int32_t i=_param->_nb_spr_write-1; i>=0 ; i--)
 	{
-	  string cmp;
+	  std::string cmp;
 	  
 	  if (_param->_have_port_ooo_engine_id)
@@ -343,5 +343,5 @@
       for (int32_t i=_param->_nb_gpr_write-1; i>=0 ; i--)
 	{
-	  string cmp;
+	  std::string cmp;
 	
 	  if (_param->_have_port_ooo_engine_id)
@@ -365,5 +365,5 @@
       for (int32_t i=_param->_nb_gpr_write-1; i>=0 ; i--)
 	{
-	  string cmp;
+	  std::string cmp;
 	
 	  if (_param->_have_port_ooo_engine_id)
@@ -387,5 +387,5 @@
       for (int32_t i=_param->_nb_spr_write-1; i>=0 ; i--)
 	{
-	  string cmp;
+	  std::string cmp;
 	
 	  if (_param->_have_port_ooo_engine_id)
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_vhdl_testbench_transition.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_vhdl_testbench_transition.cpp	(revision 74)
+++ 	(revision )
@@ -1,42 +1,0 @@
-#ifdef VHDL_TESTBENCH
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/include/Read_queue.h"
-
-namespace morpheo                    {
-namespace behavioural {
-namespace core {
-namespace multi_execute_loop {
-namespace execute_loop {
-namespace multi_read_unit {
-namespace read_unit {
-namespace read_queue {
-
-
-  void Read_queue::vhdl_testbench_transition ()
-  {
-    log_printf(FUNC,Read_queue,"vhdl_testbench_transition","Begin");
-
-    // Evaluation before read the ouput signal
-//     sc_start(0);
-
-    _interfaces->testbench();
-
-    log_printf(FUNC,Read_queue,"vhdl_testbench_transition","End");
-  };
-
-}; // end namespace read_queue
-}; // end namespace read_unit
-}; // end namespace multi_read_unit
-}; // end namespace execute_loop
-}; // end namespace multi_execute_loop
-}; // end namespace core
-
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Statistics.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Statistics.cpp	(revision 74)
+++ 	(revision )
@@ -1,48 +1,0 @@
-#ifdef STATISTICS
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/include/Statistics.h"
-
-namespace morpheo                    {
-namespace behavioural {
-namespace core {
-namespace multi_execute_loop {
-namespace execute_loop {
-namespace multi_read_unit {
-namespace read_unit {
-namespace read_queue {
-
-
-  Statistics::Statistics (string                                        name                       ,
-			  morpheo::behavioural::Parameters_Statistics * parameters_statistics      ,
-			  Parameters                                  * parameters
-			  ) :
-    morpheo::behavioural::Statistics(name                  ,
-				     parameters_statistics ),
-    _parameters(parameters)
-  {
-    log_printf(FUNC,Read_queue,"Statistics","Begin");
-    log_printf(FUNC,Read_queue,"Statistics","End");
-  };
-  
-  Statistics::~Statistics () 
-  { 
-    log_printf(FUNC,Read_queue,"~Statistics","Begin");
-    log_printf(FUNC,Read_queue,"~Statistics","End");
-  };
-
-}; // end namespace read_queue
-}; // end namespace read_unit
-}; // end namespace multi_read_unit
-}; // end namespace execute_loop
-}; // end namespace multi_execute_loop
-}; // end namespace core
-
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Statistics_add.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Statistics_add.cpp	(revision 74)
+++ 	(revision )
@@ -1,39 +1,0 @@
-#ifdef STATISTICS
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/include/Statistics.h"
-
-#include <sstream>
-using namespace std;
-
-namespace morpheo                    {
-namespace behavioural {
-namespace core {
-namespace multi_execute_loop {
-namespace execute_loop {
-namespace multi_read_unit {
-namespace read_unit {
-namespace read_queue {
-
-
-  void Statistics::add ()
-  {
-    log_printf(FUNC,Read_queue,"add","Begin");
-    log_printf(FUNC,Read_queue,"add","End");
-  };
-
-}; // end namespace read_queue
-}; // end namespace read_unit
-}; // end namespace multi_read_unit
-}; // end namespace execute_loop
-}; // end namespace multi_execute_loop
-}; // end namespace core
-
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Statistics_print.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Statistics_print.cpp	(revision 74)
+++ 	(revision )
@@ -1,57 +1,0 @@
-#ifdef STATISTICS
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/include/Statistics.h"
-
-#include <sstream>
-using namespace std;
-
-namespace morpheo {
-namespace behavioural {
-namespace core {
-namespace multi_execute_loop {
-namespace execute_loop {
-namespace multi_read_unit {
-namespace read_unit {
-namespace read_queue {
-
-
-  string Statistics::print (uint32_t depth)
-  {
-    log_printf(FUNC,Read_queue,"print","Begin");
-
-    string        tab = string(depth,'\t');
-    ostringstream msg;
-
-    msg << tab << "<read_queue name=\"" << _name << "\" >" << endl
-        << print_body(depth+1) << endl
-	<< tab << "</read_queue>" << endl;
-    
-    log_printf(FUNC,Read_queue,"print","End");
-
-    return msg.str();
-  };
-
-  ostream& operator<< (ostream& output_stream ,
-		       morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_read_unit::read_unit::read_queue::Statistics & x)
-  {
-    output_stream << x.print(0);
-
-    return output_stream;
-  };
-
-}; // end namespace read_queue
-}; // end namespace read_unit
-}; // end namespace multi_read_unit
-}; // end namespace execute_loop
-}; // end namespace multi_execute_loop
-}; // end namespace core
-
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Statistics_print_body.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Statistics_print_body.cpp	(revision 74)
+++ 	(revision )
@@ -1,47 +1,0 @@
-#ifdef STATISTICS
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/include/Statistics.h"
-
-#include <sstream>
-using namespace std;
-
-namespace morpheo                    {
-namespace behavioural {
-namespace core {
-namespace multi_execute_loop {
-namespace execute_loop {
-namespace multi_read_unit {
-namespace read_unit {
-namespace read_queue {
-
-
-  string Statistics::print_body (uint32_t depth)
-  {
-    log_printf(FUNC,Read_queue,"print_body","Begin");
-
-    string        tab = string(depth,'\t');
-    ostringstream msg;
-
-    msg << tab << "";
-    
-    log_printf(FUNC,Read_queue,"print_body","End");
-
-    return msg.str();
-  };
-
-}; // end namespace read_queue
-}; // end namespace read_unit
-}; // end namespace multi_read_unit
-}; // end namespace execute_loop
-}; // end namespace multi_execute_loop
-}; // end namespace core
-
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/SelfTest/configuration_multi_port_bypass_memory.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/SelfTest/configuration_multi_port_bypass_memory.cfg	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/SelfTest/configuration_multi_port_bypass_memory.cfg	(revision 75)
@@ -8,6 +8,6 @@
 32	32	+1	# size_general_data  
 2 	2 	+1	# size_special_data  
-256	256	*2	# nb_general_register
-32	32	+1	# nb_special_register
+16 	16 	*2	# nb_general_register
+8 	8 	+1	# nb_special_register
 8	8	+1	# nb_operation       
 4	4	+1	# nb_type            
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/SelfTest/configuration_multi_port_bypass_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_bypass_write.cfg	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/SelfTest/configuration_multi_port_bypass_write.cfg	(revision 75)
@@ -8,6 +8,6 @@
 32	32	+1	# size_general_data  
 2 	2 	+1	# size_special_data  
-256	256	*2	# nb_general_register
-32	32	+1	# nb_special_register
+16 	16     	*2	# nb_general_register
+8 	8 	+1	# nb_special_register
 8	8	+1	# nb_operation       
 4	4	+1	# nb_type            
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/SelfTest/configuration_multi_port_retire2.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/SelfTest/configuration_multi_port_retire2.cfg	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/SelfTest/configuration_multi_port_retire2.cfg	(revision 75)
@@ -8,6 +8,6 @@
 32	32	+1	# size_general_data  
 2 	2 	+1	# size_special_data  
-256	256	*2	# nb_general_register
-32	32	+1	# nb_special_register
+18   	16 	*2	# nb_general_register
+8 	8 	+1	# nb_special_register
 8	8	+1	# nb_operation       
 4	4	+1	# nb_type            
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/SelfTest/configuration_multi_port_retire4.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/SelfTest/configuration_multi_port_retire4.cfg	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/SelfTest/configuration_multi_port_retire4.cfg	(revision 75)
@@ -8,6 +8,6 @@
 32	32	+1	# size_general_data  
 2 	2 	+1	# size_special_data  
-256	256	*2	# nb_general_register
-32	32	+1	# nb_special_register
+16	16	*2	# nb_general_register
+8 	8	+1	# nb_special_register
 8	8	+1	# nb_operation       
 4	4	+1	# nb_type            
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 74)
+++ 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 75)
@@ -8,6 +8,6 @@
 32	32	+1	# size_general_data  
 2 	2 	+1	# size_special_data  
-256	256	*2	# nb_general_register
-32	32	+1	# nb_special_register
+16 	16 	*2	# nb_general_register
+8 	8 	+1	# nb_special_register
 8	8	+1	# nb_operation       
 4	4	+1	# nb_type            
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 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/SelfTest/src/test.cpp	(revision 75)
@@ -9,4 +9,5 @@
 #include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/SelfTest/include/test.h"
 #include "Common/include/Test.h"
+#include "Common/include/BitManipulation.h"
 
 #define NB_ITERATION  2
@@ -368,10 +369,10 @@
 	    {
 	      _gpr_val      [i][j] = ((rand()%100) < percent_registerfile_valid);
-	      _gpr          [i][j] = rand()%((1<<_param->_size_general_data)-1);
+	      _gpr          [i][j] = range<Tgeneral_data_t>(rand(),_param->_size_general_data);
 	    }
 	  for (uint32_t i=0; i<_param->_nb_special_register; i++)
 	    {
 	      _spr_val      [i][j] = ((rand()%100) < percent_registerfile_valid);
-	      _spr          [i][j] = rand()%(1<<_param->_size_special_data);
+	      _spr          [i][j] = range<Tspecial_data_t>(rand(),_param->_size_special_data);
 	    }
 	}
@@ -479,5 +480,5 @@
 	      Tcontext_t         ooo_engine = rand()% _param->_nb_ooo_engine;
 	      Tcontrol_t         val     = (_gpr_val [num_reg][ooo_engine]== 0)?((rand()%100) < percent_transaction_registerfile):0;
-	      Tgeneral_data_t    data    = rand()%((1<<_param->_size_general_data)-1);
+	      Tgeneral_data_t    data    = range<Tgeneral_data_t>(rand(),_param->_size_general_data);
 	    
 	      val = (val and can_gpr_use [ooo_engine][num_reg] and need_gpr [ooo_engine][num_reg]);
@@ -505,5 +506,5 @@
 	      Tcontext_t         ooo_engine = rand()% _param->_nb_ooo_engine;
 	      Tcontrol_t         val     = (_spr_val [num_reg][ooo_engine]== 0)?((rand()%100) < percent_transaction_registerfile):0;
-	      Tspecial_data_t    data    = rand()%(1<<_param->_size_special_data);
+	      Tspecial_data_t    data    = range<Tspecial_data_t>(rand(),_param->_size_special_data);
 
 	      val = (val and can_spr_use [ooo_engine][num_reg] and need_spr[ooo_engine][num_reg]);
@@ -534,5 +535,5 @@
 	      Tgeneral_address_t gpr_num_reg = rand()% _param->_nb_general_register;
 	      Tcontrol_t         gpr_val     = (_gpr_val [gpr_num_reg][ooo_engine]== 0)?((rand()%100) < percent_transaction_bypass):0;
-	      Tgeneral_data_t    gpr_data    = rand()%((1<<_param->_size_general_data)-1);
+	      Tgeneral_data_t    gpr_data    = range<Tgeneral_data_t>(rand(),_param->_size_general_data);
 	      
 	      gpr_val = (gpr_val and can_gpr_use [ooo_engine][gpr_num_reg] and need_gpr[ooo_engine][gpr_num_reg]);
@@ -554,5 +555,5 @@
 	      Tspecial_address_t spr_num_reg = rand()% _param->_nb_special_register;
 	      Tcontrol_t         spr_val     = (_spr_val [spr_num_reg][ooo_engine]== 0)?((rand()%100) < percent_transaction_bypass):0;
-	      Tspecial_data_t    spr_data    = rand()%(1<<_param->_size_special_data);
+	      Tspecial_data_t    spr_data    = range<Tspecial_data_t>(rand(),_param->_size_special_data);
 	      
 	      spr_val = (spr_val and can_spr_use [ooo_engine][spr_num_reg] and need_spr[ooo_engine][spr_num_reg]);
@@ -582,5 +583,5 @@
 	      Tgeneral_address_t num_reg = rand()% _param->_nb_general_register;
 	      Tcontrol_t         val     = (_gpr_val [num_reg][ooo_engine]== 0)?((rand()%100) < percent_transaction_bypass):0;
-	      Tgeneral_data_t    data    = rand()%((1<<_param->_size_general_data)-1);
+	      Tgeneral_data_t    data    = range<Tgeneral_data_t>(rand(),_param->_size_general_data);
 	      
 	      val = (val and can_gpr_use [ooo_engine][num_reg] and need_gpr [ooo_engine][num_reg]);
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/VERSION
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/VERSION	(revision 74)
+++ 	(revision )
@@ -1,4 +1,0 @@
-v0.6
-
-0.5 modif vhdl_port et vhdl_testbench_port -> ajout d'une macro
-0.6 ajout de la documentation
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 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/include/Parameters.h	(revision 75)
@@ -85,9 +85,9 @@
   public : ~Parameters () ;
 
-  public : string msg_error (void);
+  public :        std::string   msg_error  (void);
 
-  public :        string   print      (uint32_t depth);
-  public : friend ostream& operator<< (ostream& output_stream,
-				       morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_read_unit::read_unit::reservation_station::Parameters & x);
+  public :        std::string   print      (uint32_t depth);
+  public : friend std::ostream& operator<< (std::ostream& output_stream,
+					    morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_read_unit::read_unit::reservation_station::Parameters & x);
   };
 
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 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/include/Reservation_station.h	(revision 75)
@@ -23,5 +23,5 @@
 #include "Behavioural/include/Types.h"
 #ifdef STATISTICS
-#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/include/Statistics.h"
+#include "Behavioural/include/Stat.h"
 #endif
 #include "Behavioural/include/Component.h"
@@ -29,7 +29,4 @@
 #include "Behavioural/include/Vhdl.h"
 #endif
-
-using namespace std;
-using namespace morpheo::behavioural::generic::queue_control;
 
 namespace morpheo {
@@ -69,31 +66,31 @@
   public    : Tspecial_address_t _num_reg_re  ;
 
-    friend ostream& operator<< (ostream& output_stream,
+    friend std::ostream& operator<< (std::ostream& output_stream,
 				morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_read_unit::read_unit::reservation_station::Treservation_station_entry_t & x)
     {
-      output_stream << " * _context_id     : " << toString(x._context_id     ) << endl
-		    << " * _front_end_id   : " << toString(x._front_end_id   ) << endl
-		    << " * _ooo_engine_id  : " << toString(x._ooo_engine_id  ) << endl
-		    << " * _rob_id         : " << toString(x._rob_id         ) << endl
-		    << " * _operation      : " << toString(x._operation      ) << endl
-		    << " * _type           : " << toString(x._type           ) << endl
-		    << " * _has_immediat   : " << toString(x._has_immediat   ) << endl
-		    << " * _immediat       : " << toString(x._immediat       ) << endl
-// 		    << " * _read_ra        : " << toString(x._read_ra        ) << endl
-		    << " * _num_reg_ra     : " << toString(x._num_reg_ra     ) << endl
-		    << " * _data_ra_val    : " << toString(x._data_ra_val    ) << endl
-		    << " * _data_ra        : " << toString(x._data_ra        ) << endl
-// 		    << " * _read_rb        : " << toString(x._read_rb        ) << endl
-		    << " * _num_reg_rb     : " << toString(x._num_reg_rb     ) << endl
-		    << " * _data_rb_val    : " << toString(x._data_rb_val    ) << endl
-		    << " * _data_rb        : " << toString(x._data_rb        ) << endl
-// 		    << " * _read_rc        : " << toString(x._read_rc        ) << endl
-		    << " * _num_reg_rc     : " << toString(x._num_reg_rc     ) << endl
-		    << " * _data_rc_val    : " << toString(x._data_rc_val    ) << endl
-		    << " * _data_rc        : " << toString(x._data_rc        ) << endl
-		    << " * _write_rd       : " << toString(x._write_rd       ) << endl
-		    << " * _num_reg_rd     : " << toString(x._num_reg_rd     ) << endl
-		    << " * _write_re       : " << toString(x._write_re       ) << endl
-		    << " * _num_reg_re     : " << toString(x._num_reg_re     ) << endl;
+      output_stream << " * _context_id     : " << toString(x._context_id     ) << std::endl
+		    << " * _front_end_id   : " << toString(x._front_end_id   ) << std::endl
+		    << " * _ooo_engine_id  : " << toString(x._ooo_engine_id  ) << std::endl
+		    << " * _rob_id         : " << toString(x._rob_id         ) << std::endl
+		    << " * _operation      : " << toString(x._operation      ) << std::endl
+		    << " * _type           : " << toString(x._type           ) << std::endl
+		    << " * _has_immediat   : " << toString(x._has_immediat   ) << std::endl
+		    << " * _immediat       : " << toString(x._immediat       ) << std::endl
+// 		    << " * _read_ra        : " << toString(x._read_ra        ) << std::endl
+		    << " * _num_reg_ra     : " << toString(x._num_reg_ra     ) << std::endl
+		    << " * _data_ra_val    : " << toString(x._data_ra_val    ) << std::endl
+		    << " * _data_ra        : " << toString(x._data_ra        ) << std::endl
+// 		    << " * _read_rb        : " << toString(x._read_rb        ) << std::endl
+		    << " * _num_reg_rb     : " << toString(x._num_reg_rb     ) << std::endl
+		    << " * _data_rb_val    : " << toString(x._data_rb_val    ) << std::endl
+		    << " * _data_rb        : " << toString(x._data_rb        ) << std::endl
+// 		    << " * _read_rc        : " << toString(x._read_rc        ) << std::endl
+		    << " * _num_reg_rc     : " << toString(x._num_reg_rc     ) << std::endl
+		    << " * _data_rc_val    : " << toString(x._data_rc_val    ) << std::endl
+		    << " * _data_rc        : " << toString(x._data_rc        ) << std::endl
+		    << " * _write_rd       : " << toString(x._write_rd       ) << std::endl
+		    << " * _num_reg_rd     : " << toString(x._num_reg_rd     ) << std::endl
+		    << " * _write_re       : " << toString(x._write_re       ) << std::endl
+		    << " * _num_reg_re     : " << toString(x._num_reg_re     ) << std::endl;
 
       return output_stream;
@@ -109,13 +106,10 @@
     // -----[ fields ]----------------------------------------------------
     // Parameters
-  protected : const string       _name;
+  protected : const std::string       _name;
 
   protected : const Parameters * _param;
-//#ifdef STATISTICS
-//  protected : const morpheo::behavioural::Parameters_Statistics * _param_statistics;
-//#endif
-
-#ifdef STATISTICS
-  private   : Statistics                     * _stat;
+
+#ifdef STATISTICS
+  public    : Stat                           * _stat;
 #endif
 
@@ -233,12 +227,12 @@
   public  :          Reservation_station              (
 #ifdef SYSTEMC
-					      sc_module_name                                name,
+						       sc_module_name                                name,
 #else					       
-					      string                                        name,
+						       string                                        name,
 #endif					       
 #ifdef STATISTICS
-					      morpheo::behavioural::Parameters_Statistics * param_statistics,
-#endif
-					      Parameters                                  * param );
+						       morpheo::behavioural::Parameters_Statistics * param_statistics,
+#endif
+						       Parameters                                  * param );
   public  :          ~Reservation_station             (void);
 					       
@@ -250,6 +244,7 @@
   public  : void     genMoore                  (void);
 #endif					       
-#ifdef STATISTICS
-  public  : string   statistics                (uint32_t depth);
+
+#ifdef STATISTICS
+  public  : void     statistics_declaration    (morpheo::behavioural::Parameters_Statistics * param_statistics);
 #endif
 					       
@@ -260,5 +255,7 @@
 #endif					       
 					       
+#if defined(STATISTICS) or defined(VHDL_TESTBENCH)
   private : void     end_cycle                 (void);
+#endif
   };
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/include/Statistics.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/include/Statistics.h	(revision 74)
+++ 	(revision )
@@ -1,63 +1,0 @@
-#ifdef STATISTICS
-#ifndef morpheo_behavioural_core_multi_execute_loop_execute_loop_multi_read_unit_read_unit_reservation_station_Statistics_h
-#define morpheo_behavioural_core_multi_execute_loop_execute_loop_multi_read_unit_read_unit_reservation_station_Statistics_h
-
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Common/include/Debug.h"
-#include "Behavioural/include/Statistics.h"
-#include "Behavioural/include/Parameters_Statistics.h"
-//#include "Behavioural/Generic/Group/include/Statistics.h"
-#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/include/Parameters.h"
-
-//using namespace morpheo::behavioural::generic::group;
-
-namespace morpheo                    {
-namespace behavioural {
-namespace core {
-namespace multi_execute_loop {
-namespace execute_loop {
-namespace multi_read_unit {
-namespace read_unit {
-namespace reservation_station {
-
-
-  class Statistics : public morpheo::behavioural::Statistics
-  {
-    // -----[ fields ]----------------------------------------------------
-  private  : const Parameters                                 * _parameters;
-
-    // -----[ methods ]---------------------------------------------------
-  public   : Statistics  (string                                        name                       ,
-			  morpheo::behavioural::Parameters_Statistics * parameters_statistics      ,
-			  Parameters                                  * parameters
-			  );
-//public   : Statistics  (Statistics & stat);
-  public   : ~Statistics () ;
-    
-  public   : string   print_body (uint32_t depth);
-  public   : string   print      (uint32_t depth);
-  public   : void     add        ();
-
-  public   : friend ostream& operator<< (ostream& output_stream,
-					 const Statistics & x);
-
-  };
-
-}; // end namespace reservation_station
-}; // end namespace read_unit
-}; // end namespace multi_read_unit
-}; // end namespace execute_loop
-}; // end namespace multi_execute_loop
-}; // end namespace core
-
-}; // end namespace behavioural
-}; // end namespace morpheo
-
-#endif
-#endif
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 74)
+++ 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 75)
@@ -8,5 +8,4 @@
 #include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/include/Parameters.h"
 #include <sstream>
-using namespace std;
 
 namespace morpheo                    {
@@ -22,9 +21,9 @@
 #undef  FUNCTION
 #define FUNCTION "Reservation_station::msg_error"
-  string Parameters::msg_error(void)
+  std::string Parameters::msg_error(void)
   {
     log_printf(FUNC,Reservation_station,FUNCTION,"Begin");
 
-    string msg = "";
+    std::string msg = "";
 
 //     if (_size_queue < 2)
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Parameters_print.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Parameters_print.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Parameters_print.cpp	(revision 75)
@@ -8,5 +8,4 @@
 #include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/include/Parameters.h"
 #include "Behavioural/include/XML.h"
-using namespace std;
 
 namespace morpheo                    {
@@ -22,5 +21,5 @@
 #undef  FUNCTION
 #define FUNCTION "Reservation_station::print"
-  string Parameters::print (uint32_t depth)
+  std::string Parameters::print (uint32_t depth)
   {
     log_printf(FUNC,Reservation_station,FUNCTION,"Begin");
@@ -54,6 +53,6 @@
 #undef  FUNCTION
 #define FUNCTION "Reservation_station::operator<<"
-  ostream& operator<< (ostream& output_stream ,
-		       morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_read_unit::read_unit::reservation_station::Parameters & x)
+  std::ostream& operator<< (std::ostream& output_stream ,
+			    morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_read_unit::read_unit::reservation_station::Parameters & x)
   {
     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/Reservation_station.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Reservation_station.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Reservation_station.cpp	(revision 75)
@@ -31,7 +31,4 @@
 			      _name              (name)
 			      ,_param            (param)
-// #ifdef STATISTICS
-// 			      ,_param_statistics (param_statistics)
-// #endif
   {
     log_printf(FUNC,Reservation_station,FUNCTION,"Begin");
@@ -46,8 +43,5 @@
     log_printf(INFO,Reservation_station,FUNCTION,"Allocation of statistics");
 
-    // Allocation of statistics
-    _stat = new Statistics (static_cast<string>(_name),
-			    param_statistics          ,
-			    param);
+    statistics_declaration(param_statistics);
 #endif
 
@@ -95,6 +89,4 @@
     log_printf(INFO,Reservation_station,FUNCTION,"Generate Statistics file");
 
-    _stat->generate_file(statistics(0));
-    
     delete _stat;
 #endif
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 74)
+++ 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 75)
@@ -24,6 +24,4 @@
   void Reservation_station::allocation (void)
   {
-    string rename;
-
     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/Reservation_station_end_cycle.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Reservation_station_end_cycle.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Reservation_station_end_cycle.cpp	(revision 75)
@@ -1,2 +1,3 @@
+#if defined(STATISTICS) or defined(VHDL_TESTBENCH)
 /*
  * $Id$
@@ -25,5 +26,5 @@
 
 #ifdef STATISTICS
-    _stat->add();
+    _stat->end_cycle();
 #endif    
 
@@ -45,2 +46,3 @@
 }; // end namespace behavioural
 }; // end namespace morpheo              
+#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Reservation_station_statistics.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Reservation_station_statistics.cpp	(revision 74)
+++ 	(revision )
@@ -1,43 +1,0 @@
-#ifdef STATISTICS
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/include/Reservation_station.h"
-
-namespace morpheo {
-namespace behavioural {
-namespace core {
-namespace multi_execute_loop {
-namespace execute_loop {
-namespace multi_read_unit {
-namespace read_unit {
-namespace reservation_station {
-
-
-#undef  FUNCTION
-#define FUNCTION "Reservation_station::statistics"
-  string Reservation_station::statistics (uint32_t depth)
-  {
-    log_printf(FUNC,Reservation_station,FUNCTION,"Begin");
-
-    string txt = _stat->print(depth);
-    
-    log_printf(FUNC,Reservation_station,FUNCTION,"End");
-
-    return txt;
-  };
-
-}; // end namespace reservation_station
-}; // end namespace read_unit
-}; // end namespace multi_read_unit
-}; // end namespace execute_loop
-}; // end namespace multi_execute_loop
-}; // end namespace core
-
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Reservation_station_statistics_declaration.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Reservation_station_statistics_declaration.cpp	(revision 75)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Reservation_station_statistics_declaration.cpp	(revision 75)
@@ -0,0 +1,42 @@
+#ifdef STATISTICS
+/*
+ * $Id$
+ *
+ * [ Description ]
+ * 
+ */
+
+#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/include/Reservation_station.h"
+
+namespace morpheo {
+namespace behavioural {
+namespace core {
+namespace multi_execute_loop {
+namespace execute_loop {
+namespace multi_read_unit {
+namespace read_unit {
+namespace reservation_station {
+
+#undef  FUNCTION
+#define FUNCTION "Reservation_station::statistics_declaration"
+  void Reservation_station::statistics_declaration (morpheo::behavioural::Parameters_Statistics * param_statistics)
+  {
+    log_printf(FUNC,Reservation_station,FUNCTION,"Begin");
+
+    _stat = new Stat (static_cast<std::string>(_name),
+                      "Reservation_station",
+                      param_statistics);
+    
+    log_printf(FUNC,Reservation_station,FUNCTION,"End");
+  };
+
+}; // end namespace reservation_station
+}; // end namespace read_unit
+}; // end namespace multi_read_unit
+}; // end namespace execute_loop
+}; // end namespace multi_execute_loop
+}; // end namespace core
+
+}; // end namespace behavioural
+}; // end namespace morpheo              
+#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Reservation_station_vhdl_body.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Reservation_station_vhdl_body.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Reservation_station_vhdl_body.cpp	(revision 75)
@@ -22,5 +22,5 @@
   void Reservation_station::vhdl_body (Vhdl * & vhdl)
   {
-    string range_retire, range_insert;
+    std::string range_retire, range_insert;
 
     if (_param->_size_queue == 1)
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Statistics.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Statistics.cpp	(revision 74)
+++ 	(revision )
@@ -1,52 +1,0 @@
-#ifdef STATISTICS
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/include/Statistics.h"
-
-namespace morpheo                    {
-namespace behavioural {
-namespace core {
-namespace multi_execute_loop {
-namespace execute_loop {
-namespace multi_read_unit {
-namespace read_unit {
-namespace reservation_station {
-
-
-#undef  FUNCTION
-#define FUNCTION "Reservation_station::Statistics"
-  Statistics::Statistics (string                                        name                       ,
-			  morpheo::behavioural::Parameters_Statistics * parameters_statistics      ,
-			  Parameters                                  * parameters
-			  ) :
-    morpheo::behavioural::Statistics(name                  ,
-				     parameters_statistics ),
-    _parameters(parameters)
-  {
-    log_printf(FUNC,Reservation_station,FUNCTION,"Begin");
-    log_printf(FUNC,Reservation_station,FUNCTION,"End");
-  };
-  
-#undef  FUNCTION
-#define FUNCTION "Reservation_station::~Statistics"
-  Statistics::~Statistics () 
-  { 
-    log_printf(FUNC,Reservation_station,FUNCTION,"Begin");
-    log_printf(FUNC,Reservation_station,FUNCTION,"End");
-  };
-
-}; // end namespace reservation_station
-}; // end namespace read_unit
-}; // end namespace multi_read_unit
-}; // end namespace execute_loop
-}; // end namespace multi_execute_loop
-}; // end namespace core
-
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Statistics_add.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Statistics_add.cpp	(revision 74)
+++ 	(revision )
@@ -1,41 +1,0 @@
-#ifdef STATISTICS
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/include/Statistics.h"
-
-#include <sstream>
-using namespace std;
-
-namespace morpheo                    {
-namespace behavioural {
-namespace core {
-namespace multi_execute_loop {
-namespace execute_loop {
-namespace multi_read_unit {
-namespace read_unit {
-namespace reservation_station {
-
-
-#undef  FUNCTION
-#define FUNCTION "Reservation_station::add"
-  void Statistics::add ()
-  {
-    log_printf(FUNC,Reservation_station,FUNCTION,"Begin");
-    log_printf(FUNC,Reservation_station,FUNCTION,"End");
-  };
-
-}; // end namespace reservation_station
-}; // end namespace read_unit
-}; // end namespace multi_read_unit
-}; // end namespace execute_loop
-}; // end namespace multi_execute_loop
-}; // end namespace core
-
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Statistics_print.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Statistics_print.cpp	(revision 74)
+++ 	(revision )
@@ -1,65 +1,0 @@
-#ifdef STATISTICS
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/include/Statistics.h"
-
-#include <sstream>
-using namespace std;
-
-namespace morpheo {
-namespace behavioural {
-namespace core {
-namespace multi_execute_loop {
-namespace execute_loop {
-namespace multi_read_unit {
-namespace read_unit {
-namespace reservation_station {
-
-
-#undef  FUNCTION
-#define FUNCTION "Reservation_station::print"
-  string Statistics::print (uint32_t depth)
-  {
-    log_printf(FUNC,Reservation_station,FUNCTION,"Begin");
-
-    string        tab = string(depth,'\t');
-    ostringstream msg;
-
-    msg << tab << "<reservation_station name=\"" << _name << "\" >" << endl
-        << print_body(depth+1) << endl
-	<< tab << "</reservation_station>" << endl;
-    
-    log_printf(FUNC,Reservation_station,FUNCTION,"End");
-
-    return msg.str();
-  };
-
-#undef  FUNCTION
-#define FUNCTION "Reservation_station::operator<<"
-  ostream& operator<< (ostream& output_stream ,
-		       morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_read_unit::read_unit::reservation_station::Statistics & x)
-  {
-    log_printf(FUNC,Reservation_station,FUNCTION,"Begin");
-
-    output_stream << x.print(0);
-
-    log_printf(FUNC,Reservation_station,FUNCTION,"End");
-
-    return output_stream;
-  };
-
-}; // end namespace reservation_station
-}; // end namespace read_unit
-}; // end namespace multi_read_unit
-}; // end namespace execute_loop
-}; // end namespace multi_execute_loop
-}; // end namespace core
-
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Statistics_print_body.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Statistics_print_body.cpp	(revision 74)
+++ 	(revision )
@@ -1,49 +1,0 @@
-#ifdef STATISTICS
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/include/Statistics.h"
-
-#include <sstream>
-using namespace std;
-
-namespace morpheo                    {
-namespace behavioural {
-namespace core {
-namespace multi_execute_loop {
-namespace execute_loop {
-namespace multi_read_unit {
-namespace read_unit {
-namespace reservation_station {
-
-
-#undef  FUNCTION
-#define FUNCTION "Reservation_station::print_body"
-  string Statistics::print_body (uint32_t depth)
-  {
-    log_printf(FUNC,Reservation_station,FUNCTION,"Begin");
-
-    string        tab = string(depth,'\t');
-    ostringstream msg;
-
-    msg << tab << "";
-    
-    log_printf(FUNC,Reservation_station,FUNCTION,"End");
-
-    return msg.str();
-  };
-
-}; // end namespace reservation_station
-}; // end namespace read_unit
-}; // end namespace multi_read_unit
-}; // end namespace execute_loop
-}; // end namespace multi_execute_loop
-}; // end namespace core
-
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/VERSION
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/VERSION	(revision 74)
+++ 	(revision )
@@ -1,4 +1,0 @@
-v0.6
-
-0.5 modif vhdl_port et vhdl_testbench_port -> ajout d'une macro
-0.6 ajout de la documentation
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 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/include/Execute_queue.h	(revision 75)
@@ -137,5 +137,5 @@
     
     // ~~~~~[ Register ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~    
-  private   : queue<execute_queue_entry_t *> * _queue;
+  private   : std::queue<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 74)
+++ 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 75)
@@ -24,6 +24,4 @@
   void Execute_queue::allocation (void)
   {
-    string rename;
-
     log_printf(FUNC,Execute_queue,FUNCTION,"Begin");
 
@@ -98,5 +96,5 @@
     // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~    
 
-     _queue = new queue<execute_queue_entry_t *>;
+     _queue = new std::queue<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_statistics_declaration.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/src/Execute_queue_statistics_declaration.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/src/Execute_queue_statistics_declaration.cpp	(revision 75)
@@ -25,5 +25,5 @@
     log_printf(FUNC,Execute_queue,FUNCTION,"Begin");
 
-    _stat = new Stat (static_cast<string>(_name),
+    _stat = new Stat (static_cast<std::string>(_name),
 		      "Execute_queue",
 		      param_statistics);
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/VERSION
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/VERSION	(revision 74)
+++ 	(revision )
@@ -1,4 +1,0 @@
-v0.6
-
-0.5 modif vhdl_port et vhdl_testbench_port -> ajout d'une macro
-0.6 ajout de la documentation
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/VERSION
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/VERSION	(revision 74)
+++ 	(revision )
@@ -1,4 +1,0 @@
-v0.6
-
-0.5 modif vhdl_port et vhdl_testbench_port -> ajout d'une macro
-0.6 ajout de la documentation
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/include/Write_queue.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/include/Write_queue.h	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/include/Write_queue.h	(revision 75)
@@ -179,5 +179,5 @@
 
     // ~~~~~[ Register ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~    
-  protected : list<write_queue_entry_t *> * _queue;
+  protected : std::list<write_queue_entry_t *> * _queue;
 
     // ~~~~~[ Internal ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/src/Write_queue_allocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/src/Write_queue_allocation.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/src/Write_queue_allocation.cpp	(revision 75)
@@ -23,6 +23,4 @@
   void Write_queue::allocation (void)
   {
-    string rename;
-
     log_printf(FUNC,Write_queue,FUNCTION,"Begin");
 
@@ -139,5 +137,5 @@
     // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~    
 
-  _queue = new list<write_queue_entry_t *>;
+     _queue = new std::list<write_queue_entry_t *>;
 
 #ifdef POSITION
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 74)
+++ 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 75)
@@ -86,5 +86,5 @@
     // -----[ Interface "bypass_write" ]----------------------------------
     {
-      list<write_queue_entry_t *>::iterator it = _queue->begin();
+      std::list<write_queue_entry_t *>::iterator it = _queue->begin();
       for (uint32_t i=0; i<_param->_nb_bypass_write; i++)
 	{
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/src/Write_queue_statistics_declaration.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/src/Write_queue_statistics_declaration.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/src/Write_queue_statistics_declaration.cpp	(revision 75)
@@ -25,5 +25,5 @@
     log_printf(FUNC,Write_queue,FUNCTION,"Begin");
 
-    _stat = new Stat (static_cast<string>(_name),
+    _stat = new Stat (static_cast<std::string>(_name),
 		      "Write_queue",
 		      param_statistics);
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/src/Write_unit_allocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/src/Write_unit_allocation.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/src/Write_unit_allocation.cpp	(revision 75)
@@ -145,5 +145,5 @@
     // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~    
 
-     string name;
+     std::string name;
 
      {
@@ -184,5 +184,5 @@
      {
        name = _name+"_write_queue";
-       cout << "Instance : " << name << endl;
+       std::cout << "Instance : " << name << std::endl;
 	
 #ifdef POSITION
@@ -196,6 +196,6 @@
 
 #ifdef POSITION
-       _component->interface_map (name ,"WRITE_QUEUE_IN",
-				  _name,"WRITE_UNIT_IN");
+       _component->interface_map (name ,"write_queue_in",
+				  _name,"write_unit_in");
 #endif
 
@@ -226,6 +226,6 @@
 	 {
 #ifdef POSITION
-	   _component->interface_map (name ,"WRITE_QUEUE_OUT",
-				      _name+"_execute_queue", "EXECUTE_QUEUE_IN");
+	   _component->interface_map (name ,"write_queue_out",
+				      _name+"_execute_queue", "execute_queue_in");
 #endif
 
@@ -250,6 +250,6 @@
 	 {
 #ifdef POSITION
-	   _component->interface_map (name ,"WRITE_QUEUE_OUT",
-				      _name,"WRITE_UNIT_OUT");
+	   _component->interface_map (name ,"write_queue_out",
+				      _name,"write_unit_out");
 #endif
 
@@ -275,6 +275,6 @@
 	 {
 #ifdef POSITION
-	   _component->interface_map (name ,"GPR_WRITE_"+toString(i),
-				      _name,"GPR_WRITE_"+toString(i));
+	   _component->interface_map (name ,"gpr_write_"+toString(i),
+				      _name,"gpr_write_"+toString(i));
 #endif	   
 	   
@@ -290,6 +290,6 @@
 	 {
 #ifdef POSITION
-	   _component->interface_map (name ,"SPR_WRITE_"+toString(i),
-				      _name,"SPR_WRITE_"+toString(i));
+	   _component->interface_map (name ,"spr_write_"+toString(i),
+				      _name,"spr_write_"+toString(i));
 #endif	   
 	   
@@ -306,6 +306,6 @@
 	 {
 #ifdef POSITION
-	   _component->interface_map (name ,"BYPASS_WRITE_"+toString(i),
-				      _name,"BYPASS_WRITE_"+toString(i));
+	   _component->interface_map (name ,"bypass_write_"+toString(i),
+				      _name,"bypass_write_"+toString(i));
 #endif	   
 
@@ -324,5 +324,5 @@
        {
 	 name = _name+"_execute_queue";
-	 cout << "Instance : " << name << endl;
+	 std::cout << "Instance : " << name << std::endl;
 	 
 #ifdef POSITION
@@ -336,6 +336,6 @@
 
 #ifdef POSITION
-	 _component->interface_map (name ,"WRITE_QUEUE_IN",
-				    _name+"_write_queue","WRITE_UNIT_IN");
+	 _component->interface_map (name ,"execute_queue_in",
+				    _name+"_write_queue","write_queue_in");
 #endif
 
@@ -358,6 +358,6 @@
 
 #ifdef POSITION
-	   _component->interface_map (name ,"EXECUTE_QUEUE_OUT",
-				      _name,"WRITE_UNIT_OUT_");
+	   _component->interface_map (name ,"execute_queue_out",
+				      _name,"write_unit_out");
 #endif
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/src/Write_unit_statistics_declaration.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/src/Write_unit_statistics_declaration.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/src/Write_unit_statistics_declaration.cpp	(revision 75)
@@ -24,5 +24,5 @@
     log_printf(FUNC,Write_unit,FUNCTION,"Begin");
 
-    _stat       = new Stat (static_cast<string>(_name),
+    _stat       = new Stat (static_cast<std::string>(_name),
 			    "Write_unit",
 			    param_statistics);
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Makefile.deps
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Makefile.deps	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Makefile.deps	(revision 75)
@@ -42,5 +42,5 @@
 #-----[ Rules ]--------------------------------------------
 
-#.NOTPARALLEL			: Register_unit_library Register_unit_library_clean	
+.NOTPARALLEL			: Register_unit_library Register_unit_library_clean	
 
 Register_unit_library		: $(Register_unit_DEPENDENCIES)
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/VERSION
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/VERSION	(revision 74)
+++ 	(revision )
@@ -1,4 +1,0 @@
-v0.6
-
-0.5 modif vhdl_port et vhdl_testbench_port -> ajout d'une macro
-0.6 ajout de la documentation
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/include/Parameters.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/include/Parameters.h	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/include/Parameters.h	(revision 75)
@@ -50,9 +50,9 @@
   public : ~Parameters () ;
 
-  public : string msg_error (void);
+  public :        std::string   msg_error  (void);
 
-  public :        string   print      (uint32_t depth);
-  public : friend ostream& operator<< (ostream& output_stream,
-				       morpheo::behavioural::core::multi_execute_loop::execute_loop::register_unit::register_unit_glue::Parameters & x);
+  public :        std::string   print      (uint32_t depth);
+  public : friend std::ostream& operator<< (std::ostream& output_stream,
+					    morpheo::behavioural::core::multi_execute_loop::execute_loop::register_unit::register_unit_glue::Parameters & x);
   };
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/include/Register_unit_Glue.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/include/Register_unit_Glue.h	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/include/Register_unit_Glue.h	(revision 75)
@@ -20,5 +20,5 @@
 #include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/include/Parameters.h"
 #ifdef STATISTICS
-#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/include/Statistics.h"
+#include "Behavioural/include/Stat.h"
 #endif
 #include "Behavioural/include/Component.h"
@@ -27,6 +27,4 @@
 #endif
 #include "Behavioural/include/Usage.h"
-
-using namespace std;
 
 namespace morpheo {
@@ -47,14 +45,10 @@
     // -----[ fields ]----------------------------------------------------
     // Parameters
-  protected : const string       _name;
+  protected : const std::string       _name;
   protected : const Parameters * _param;
   private   : const Tusage_t     _usage;
 
-//#ifdef STATISTICS
-//  protected : const morpheo::behavioural::Parameters_Statistics * _param_statistics;
-//#endif
-
-#ifdef STATISTICS
-  private   : Statistics                     * _stat;
+#ifdef STATISTICS
+  public    : Stat                           * _stat;
 #endif
 
@@ -169,5 +163,5 @@
    sc_module_name                                name,
 #else					       
-   string                                        name,
+   std::string                                        name,
 #endif					       
 #ifdef STATISTICS
@@ -183,5 +177,4 @@
 					       
 #ifdef SYSTEMC				       
-//#if defined(STATISTICS) or defined(VHDL_TESTBENCH)
   public  : void     transition                      (void);
   public  : void     genMealy_gpr_read               (void);
@@ -199,9 +192,8 @@
   public  : void     genMealy_insert                 (void);
   public  : void     genMealy_retire                 (void);
-
-//#endif
 #endif					       
-#ifdef STATISTICS
-  public  : string   statistics                (uint32_t depth);
+
+#ifdef STATISTICS
+  public  : void     statistics_declaration    (morpheo::behavioural::Parameters_Statistics * param_statistics);
 #endif
 					       
@@ -212,6 +204,6 @@
 #endif					       
 					       
-#ifdef VHDL_TESTBENCH			       
-  private : void     vhdl_testbench_transition (void);
+#if defined(STATISTICS) or defined(VHDL_TESTBENCH)
+  private : void     end_cycle                 (void);
 #endif
   };
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/include/Statistics.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/include/Statistics.h	(revision 74)
+++ 	(revision )
@@ -1,61 +1,0 @@
-#ifdef STATISTICS
-#ifndef morpheo_behavioural_core_multi_execute_loop_execute_loop_register_unit_register_unit_glue_Statistics_h
-#define morpheo_behavioural_core_multi_execute_loop_execute_loop_register_unit_register_unit_glue_Statistics_h
-
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Common/include/Debug.h"
-#include "Behavioural/include/Statistics.h"
-#include "Behavioural/include/Parameters_Statistics.h"
-//#include "Behavioural/Generic/Group/include/Statistics.h"
-#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/include/Parameters.h"
-
-//using namespace morpheo::behavioural::generic::group;
-
-namespace morpheo                    {
-namespace behavioural {
-namespace core {
-namespace multi_execute_loop {
-namespace execute_loop {
-namespace register_unit {
-namespace register_unit_glue {
-
-
-  class Statistics : public morpheo::behavioural::Statistics
-  {
-    // -----[ fields ]----------------------------------------------------
-  private  : const Parameters                                 * _parameters;
-
-    // -----[ methods ]---------------------------------------------------
-  public   : Statistics  (string                                        name                       ,
-			  morpheo::behavioural::Parameters_Statistics * parameters_statistics      ,
-			  Parameters                                  * parameters
-			  );
-//public   : Statistics  (Statistics & stat);
-  public   : ~Statistics () ;
-    
-  public   : string   print_body (uint32_t depth);
-  public   : string   print      (uint32_t depth);
-  public   : void     add        ();
-
-  public   : friend ostream& operator<< (ostream& output_stream,
-					 const Statistics & x);
-
-  };
-
-}; // end namespace register_unit_glue
-}; // end namespace register_unit
-}; // end namespace execute_loop
-}; // end namespace multi_execute_loop
-}; // end namespace core
-
-}; // end namespace behavioural
-}; // end namespace morpheo
-
-#endif
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Parameters_msg_error.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Parameters_msg_error.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Parameters_msg_error.cpp	(revision 75)
@@ -9,5 +9,4 @@
 #include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/include/Parameters.h"
 #include <sstream>
-using namespace std;
 
 namespace morpheo                    {
@@ -22,9 +21,9 @@
 #undef  FUNCTION
 #define FUNCTION "Register_unit_Glue::msg_error"
-  string Parameters::msg_error(void)
+  std::string Parameters::msg_error(void)
   {
     log_printf(FUNC,Register_unit_Glue,FUNCTION,"Begin");
 
-    string msg = "";
+    std::string msg = "";
 
     return msg;
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Parameters_print.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Parameters_print.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Parameters_print.cpp	(revision 75)
@@ -8,5 +8,4 @@
 #include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/include/Parameters.h"
 #include "Behavioural/include/XML.h"
-using namespace std;
 
 namespace morpheo                    {
@@ -21,5 +20,5 @@
 #undef  FUNCTION
 #define FUNCTION "Register_unit_Glue::print"
-  string Parameters::print (uint32_t depth)
+  std::string Parameters::print (uint32_t depth)
   {
     log_printf(FUNC,Register_unit_Glue,FUNCTION,"Begin");
@@ -56,6 +55,6 @@
 #undef  FUNCTION
 #define FUNCTION "Register_unit_Glue::operator<<"
-  ostream& operator<< (ostream& output_stream ,
-		       morpheo::behavioural::core::multi_execute_loop::execute_loop::register_unit::register_unit_glue::Parameters & x)
+  std::ostream& operator<< (std::ostream& output_stream ,
+			    morpheo::behavioural::core::multi_execute_loop::execute_loop::register_unit::register_unit_glue::Parameters & x)
   {
     log_printf(FUNC,Register_unit_Glue,FUNCTION,"Begin");
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue.cpp	(revision 75)
@@ -24,5 +24,5 @@
    sc_module_name name,
 #else
-   string name,
+   std::string name,
 #endif
 #ifdef STATISTICS
@@ -35,7 +35,4 @@
     ,_param            (param)
     ,_usage            (usage)
-// #ifdef STATISTICS
-// 			      ,_param_statistics (param_statistics)
-// #endif
   {
     log_printf(FUNC,Register_unit_Glue,FUNCTION,"Begin");
@@ -48,7 +45,5 @@
 
     // Allocation of statistics
-    _stat = new Statistics (static_cast<string>(_name),
-			    param_statistics          ,
-			    param);
+    statistics_declaration(param_statistics);
 #endif
 
@@ -549,5 +544,4 @@
     log_printf(INFO,Register_unit_Glue,FUNCTION,"Generate Statistics file");
 
-    _stat->generate_file(statistics(0));
     delete _stat;
 #endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue_allocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue_allocation.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue_allocation.cpp	(revision 75)
@@ -22,6 +22,4 @@
   void Register_unit_Glue::allocation (void)
   {
-    string rename;
-
     log_printf(FUNC,Register_unit_Glue,FUNCTION,"Begin");
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue_end_cycle.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue_end_cycle.cpp	(revision 75)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue_end_cycle.cpp	(revision 75)
@@ -0,0 +1,46 @@
+#if defined(STATISTICS) or defined(VHDL_TESTBENCH)
+/*
+ * $Id$
+ *
+ * [ Description ]
+ * 
+ */
+
+#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/include/Register_unit_Glue.h"
+
+namespace morpheo                    {
+namespace behavioural {
+namespace core {
+namespace multi_execute_loop {
+namespace execute_loop {
+namespace register_unit {
+namespace register_unit_glue {
+
+#undef  FUNCTION
+#define FUNCTION "Register_unit_Glue::end_cycle"
+void Register_unit_Glue::end_cycle ()
+  {
+    log_printf(FUNC,Register_unit_Glue,FUNCTION,"Begin");
+
+#ifdef STATISTICS
+    _stat->end_cycle();
+#endif    
+
+#ifdef VHDL_TESTBENCH
+    // Evaluation before read the ouput signal
+//  sc_start(0);
+    _interfaces->testbench();
+#endif
+
+    log_printf(FUNC,Register_unit_Glue,FUNCTION,"End");
+  };
+
+}; // end namespace register_unit_glue
+}; // end namespace register_unit
+}; // end namespace execute_loop
+}; // end namespace multi_execute_loop
+}; // end namespace core
+
+}; // end namespace behavioural
+}; // end namespace morpheo              
+#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue_statistics.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue_statistics.cpp	(revision 74)
+++ 	(revision )
@@ -1,41 +1,0 @@
-#ifdef STATISTICS
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/include/Register_unit_Glue.h"
-
-namespace morpheo {
-namespace behavioural {
-namespace core {
-namespace multi_execute_loop {
-namespace execute_loop {
-namespace register_unit {
-namespace register_unit_glue {
-
-
-#undef  FUNCTION
-#define FUNCTION "Register_unit_Glue::statistics"
-  string Register_unit_Glue::statistics (uint32_t depth)
-  {
-    log_printf(FUNC,Register_unit_Glue,FUNCTION,"Begin");
-
-    string txt = _stat->print(depth);
-    
-    log_printf(FUNC,Register_unit_Glue,FUNCTION,"End");
-
-    return txt;
-  };
-
-}; // end namespace register_unit_glue
-}; // end namespace register_unit
-}; // end namespace execute_loop
-}; // end namespace multi_execute_loop
-}; // end namespace core
-
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue_statistics_declaration.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue_statistics_declaration.cpp	(revision 75)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue_statistics_declaration.cpp	(revision 75)
@@ -0,0 +1,40 @@
+#ifdef STATISTICS
+/*
+ * $Id$
+ *
+ * [ Description ]
+ * 
+ */
+
+#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/include/Register_unit_Glue.h"
+
+namespace morpheo {
+namespace behavioural {
+namespace core {
+namespace multi_execute_loop {
+namespace execute_loop {
+namespace register_unit {
+namespace register_unit_glue {
+
+#undef  FUNCTION
+#define FUNCTION "Register_unit_Glue::statistics_declaration"
+  void Register_unit_Glue::statistics_declaration (morpheo::behavioural::Parameters_Statistics * param_statistics)
+  {
+    log_printf(FUNC,Register_unit_Glue,FUNCTION,"Begin");
+
+    _stat = new Stat (static_cast<std::string>(_name),
+                      "Register_unit_Glue",
+                      param_statistics);
+    
+    log_printf(FUNC,Register_unit_Glue,FUNCTION,"End");
+  };
+
+}; // end namespace register_unit_glue
+}; // end namespace register_unit
+}; // end namespace execute_loop
+}; // end namespace multi_execute_loop
+}; // end namespace core
+
+}; // end namespace behavioural
+}; // end namespace morpheo              
+#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue_transition.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue_transition.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue_transition.cpp	(revision 75)
@@ -1,4 +1,3 @@
 #ifdef SYSTEMC
-//#if defined(STATISTICS) or defined(VHDL_TESTBENCH)
 /*
  * $Id$
@@ -25,10 +24,6 @@
     log_printf(FUNC,Register_unit_Glue,FUNCTION,"Begin");
 
-#ifdef STATISTICS
-    _stat->add();
-#endif    
-
-#ifdef VHDL_TESTBENCH
-    vhdl_testbench_transition ();
+#if defined(STATISTICS) or defined(VHDL_TESTBENCH)
+    end_cycle();
 #endif
 
@@ -45,3 +40,2 @@
 }; // end namespace morpheo              
 #endif
-//#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue_vhdl_testbench_transition.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue_vhdl_testbench_transition.cpp	(revision 74)
+++ 	(revision )
@@ -1,42 +1,0 @@
-#ifdef VHDL_TESTBENCH
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/include/Register_unit_Glue.h"
-
-namespace morpheo                    {
-namespace behavioural {
-namespace core {
-namespace multi_execute_loop {
-namespace execute_loop {
-namespace register_unit {
-namespace register_unit_glue {
-
-
-#undef  FUNCTION
-#define FUNCTION "Register_unit_Glue::vhdl_testbench_transition"
-  void Register_unit_Glue::vhdl_testbench_transition ()
-  {
-    log_printf(FUNC,Register_unit_Glue,FUNCTION,"Begin");
-
-    // Evaluation before read the ouput signal
-//     sc_start(0);
-
-    _interfaces->testbench();
-
-    log_printf(FUNC,Register_unit_Glue,FUNCTION,"End");
-  };
-
-}; // end namespace register_unit_glue
-}; // end namespace register_unit
-}; // end namespace execute_loop
-}; // end namespace multi_execute_loop
-}; // end namespace core
-
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Statistics.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Statistics.cpp	(revision 74)
+++ 	(revision )
@@ -1,50 +1,0 @@
-#ifdef STATISTICS
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/include/Statistics.h"
-
-namespace morpheo                    {
-namespace behavioural {
-namespace core {
-namespace multi_execute_loop {
-namespace execute_loop {
-namespace register_unit {
-namespace register_unit_glue {
-
-
-#undef  FUNCTION
-#define FUNCTION "Register_unit_Glue::Statistics"
-  Statistics::Statistics (string                                        name                       ,
-			  morpheo::behavioural::Parameters_Statistics * parameters_statistics      ,
-			  Parameters                                  * parameters
-			  ) :
-    morpheo::behavioural::Statistics(name                  ,
-				     parameters_statistics ),
-    _parameters(parameters)
-  {
-    log_printf(FUNC,Register_unit_Glue,FUNCTION,"Begin");
-    log_printf(FUNC,Register_unit_Glue,FUNCTION,"End");
-  };
-  
-#undef  FUNCTION
-#define FUNCTION "Register_unit_Glue::~Statistics"
-  Statistics::~Statistics () 
-  { 
-    log_printf(FUNC,Register_unit_Glue,FUNCTION,"Begin");
-    log_printf(FUNC,Register_unit_Glue,FUNCTION,"End");
-  };
-
-}; // end namespace register_unit_glue
-}; // end namespace register_unit
-}; // end namespace execute_loop
-}; // end namespace multi_execute_loop
-}; // end namespace core
-
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Statistics_add.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Statistics_add.cpp	(revision 74)
+++ 	(revision )
@@ -1,39 +1,0 @@
-#ifdef STATISTICS
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/include/Statistics.h"
-
-#include <sstream>
-using namespace std;
-
-namespace morpheo                    {
-namespace behavioural {
-namespace core {
-namespace multi_execute_loop {
-namespace execute_loop {
-namespace register_unit {
-namespace register_unit_glue {
-
-
-#undef  FUNCTION
-#define FUNCTION "Register_unit_Glue::add"
-  void Statistics::add ()
-  {
-    log_printf(FUNC,Register_unit_Glue,FUNCTION,"Begin");
-    log_printf(FUNC,Register_unit_Glue,FUNCTION,"End");
-  };
-
-}; // end namespace register_unit_glue
-}; // end namespace register_unit
-}; // end namespace execute_loop
-}; // end namespace multi_execute_loop
-}; // end namespace core
-
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Statistics_print.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Statistics_print.cpp	(revision 74)
+++ 	(revision )
@@ -1,63 +1,0 @@
-#ifdef STATISTICS
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/include/Statistics.h"
-
-#include <sstream>
-using namespace std;
-
-namespace morpheo {
-namespace behavioural {
-namespace core {
-namespace multi_execute_loop {
-namespace execute_loop {
-namespace register_unit {
-namespace register_unit_glue {
-
-
-#undef  FUNCTION
-#define FUNCTION "Register_unit_Glue::print"
-  string Statistics::print (uint32_t depth)
-  {
-    log_printf(FUNC,Register_unit_Glue,FUNCTION,"Begin");
-
-    string        tab = string(depth,'\t');
-    ostringstream msg;
-
-    msg << tab << "<register_unit_glue name=\"" << _name << "\" >" << endl
-        << print_body(depth+1) << endl
-	<< tab << "</register_unit_glue>" << endl;
-    
-    log_printf(FUNC,Register_unit_Glue,FUNCTION,"End");
-
-    return msg.str();
-  };
-
-#undef  FUNCTION
-#define FUNCTION "Register_unit_Glue::operator<<"
-  ostream& operator<< (ostream& output_stream ,
-		       morpheo::behavioural::core::multi_execute_loop::execute_loop::register_unit::register_unit_glue::Statistics & x)
-  {
-    log_printf(FUNC,Register_unit_Glue,FUNCTION,"Begin");
-
-    output_stream << x.print(0);
-
-    log_printf(FUNC,Register_unit_Glue,FUNCTION,"End");
-
-    return output_stream;
-  };
-
-}; // end namespace register_unit_glue
-}; // end namespace register_unit
-}; // end namespace execute_loop
-}; // end namespace multi_execute_loop
-}; // end namespace core
-
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Statistics_print_body.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Statistics_print_body.cpp	(revision 74)
+++ 	(revision )
@@ -1,47 +1,0 @@
-#ifdef STATISTICS
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/include/Statistics.h"
-
-#include <sstream>
-using namespace std;
-
-namespace morpheo                    {
-namespace behavioural {
-namespace core {
-namespace multi_execute_loop {
-namespace execute_loop {
-namespace register_unit {
-namespace register_unit_glue {
-
-
-#undef  FUNCTION
-#define FUNCTION "Register_unit_Glue::print_body"
-  string Statistics::print_body (uint32_t depth)
-  {
-    log_printf(FUNC,Register_unit_Glue,FUNCTION,"Begin");
-
-    string        tab = string(depth,'\t');
-    ostringstream msg;
-
-    msg << tab << "";
-    
-    log_printf(FUNC,Register_unit_Glue,FUNCTION,"End");
-
-    return msg.str();
-  };
-
-}; // end namespace register_unit_glue
-}; // end namespace register_unit
-}; // end namespace execute_loop
-}; // end namespace multi_execute_loop
-}; // end namespace core
-
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/VERSION
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/VERSION	(revision 74)
+++ 	(revision )
@@ -1,4 +1,0 @@
-v0.6
-
-0.5 modif vhdl_port et vhdl_testbench_port -> ajout d'une macro
-0.6 ajout de la documentation
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/include/Parameters.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/include/Parameters.h	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/include/Parameters.h	(revision 75)
@@ -79,9 +79,8 @@
   public : ~Parameters () ;
 
-  public : string msg_error (void);
-
-  public :        string   print      (uint32_t depth);
-  public : friend ostream& operator<< (ostream& output_stream,
-				       morpheo::behavioural::core::multi_execute_loop::execute_loop::register_unit::Parameters & x);
+  public :        std::string   msg_error  (void);
+  public :        std::string   print      (uint32_t depth);
+  public : friend std::ostream& operator<< (std::ostream& output_stream,
+					    morpheo::behavioural::core::multi_execute_loop::execute_loop::register_unit::Parameters & x);
   };
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/include/Register_unit.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/include/Register_unit.h	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/include/Register_unit.h	(revision 75)
@@ -24,5 +24,5 @@
 #include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/include/Parameters.h"
 #ifdef STATISTICS
-#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/include/Statistics.h"
+#include "Behavioural/include/Stat.h"
 #endif
 #include "Behavioural/include/Component.h"
@@ -32,9 +32,6 @@
 #include "Behavioural/include/Usage.h"
 
-using namespace std;
-
 namespace morpheo {
 namespace behavioural {
-
 namespace core {
 namespace multi_execute_loop {
@@ -50,14 +47,10 @@
     // -----[ fields ]----------------------------------------------------
     // Parameters
-  protected : const string       _name;
+  protected : const std::string       _name;
   protected : const Parameters * _param;
   private   : const Tusage_t     _usage;
 
 #ifdef STATISTICS
-  protected : morpheo::behavioural::Parameters_Statistics * _param_statistics;
-#endif
-
-#ifdef STATISTICS
-  private   : Statistics                     * _stat;
+  public    : Stat                           * _stat;
 #endif
 
@@ -143,5 +136,5 @@
    sc_module_name                                name,
 #else					       
-   string                                        name,
+   std::string                                        name,
 #endif					       
 #ifdef STATISTICS
@@ -153,5 +146,11 @@
   public  :          ~Register_unit             (void);
 					       
-  private : void     allocation                (void);
+  private : void     allocation                (
+#ifdef STATISTICS
+						morpheo::behavioural::Parameters_Statistics * param_statistics
+#else
+						void
+#endif
+						);
   private : void     deallocation              (void);
 					       
@@ -161,7 +160,4 @@
 //#endif
 #endif					       
-#ifdef STATISTICS
-  public  : string   statistics                (uint32_t depth);
-#endif
 					       
 #if VHDL				       
@@ -171,8 +167,12 @@
 #endif					       
 					       
-#ifdef VHDL_TESTBENCH			       
-  private : void     vhdl_testbench_transition (void);
+#ifdef STATISTICS
+  public  : void        statistics_declaration    (morpheo::behavioural::Parameters_Statistics * param_statistics);
+#endif
+#if defined(STATISTICS) or defined(VHDL_TESTBENCH)
+  private : void        end_cycle                 (void);
 #endif
   };
+
 
 }; // end namespace register_unit
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/include/Statistics.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/include/Statistics.h	(revision 74)
+++ 	(revision )
@@ -1,59 +1,0 @@
-#ifdef STATISTICS
-#ifndef morpheo_behavioural_core_multi_execute_loop_execute_loop_register_unit_Statistics_h
-#define morpheo_behavioural_core_multi_execute_loop_execute_loop_register_unit_Statistics_h
-
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Common/include/Debug.h"
-#include "Behavioural/include/Statistics.h"
-#include "Behavioural/include/Parameters_Statistics.h"
-//#include "Behavioural/Generic/Group/include/Statistics.h"
-#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/include/Parameters.h"
-
-//using namespace morpheo::behavioural::generic::group;
-
-namespace morpheo                    {
-namespace behavioural {
-namespace core {
-namespace multi_execute_loop {
-namespace execute_loop {
-namespace register_unit {
-
-
-  class Statistics : public morpheo::behavioural::Statistics
-  {
-    // -----[ fields ]----------------------------------------------------
-  private  : const Parameters                                 * _parameters;
-
-    // -----[ methods ]---------------------------------------------------
-  public   : Statistics  (string                                        name                       ,
-			  morpheo::behavioural::Parameters_Statistics * parameters_statistics      ,
-			  Parameters                                  * parameters
-			  );
-//public   : Statistics  (Statistics & stat);
-  public   : ~Statistics () ;
-    
-  public   : string   print_body (uint32_t depth);
-  public   : string   print      (uint32_t depth);
-  public   : void     add        ();
-
-  public   : friend ostream& operator<< (ostream& output_stream,
-					 const Statistics & x);
-
-  };
-
-}; // end namespace register_unit
-}; // end namespace execute_loop
-}; // end namespace multi_execute_loop
-}; // end namespace core
-
-}; // end namespace behavioural
-}; // end namespace morpheo
-
-#endif
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Parameters_msg_error.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Parameters_msg_error.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Parameters_msg_error.cpp	(revision 75)
@@ -6,8 +6,5 @@
  */
 
-#include "Behavioural/include/Types.h"
 #include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/include/Parameters.h"
-#include <sstream>
-using namespace std;
 
 namespace morpheo                    {
@@ -21,9 +18,9 @@
 #undef  FUNCTION
 #define FUNCTION "Register_unit::msg_error"
-  string Parameters::msg_error(void)
+  std::string Parameters::msg_error(void)
   {
     log_printf(FUNC,Register_unit,FUNCTION,"Begin");
 
-    string msg = "";
+    std::string msg = "";
 
     return msg;
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Parameters_print.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Parameters_print.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Parameters_print.cpp	(revision 75)
@@ -8,5 +8,4 @@
 #include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/include/Parameters.h"
 #include "Behavioural/include/XML.h"
-using namespace std;
 
 namespace morpheo                    {
@@ -20,5 +19,5 @@
 #undef  FUNCTION
 #define FUNCTION "Register_unit::print"
-  string Parameters::print (uint32_t depth)
+  std::string Parameters::print (uint32_t depth)
   {
     log_printf(FUNC,Register_unit,FUNCTION,"Begin");
@@ -73,6 +72,6 @@
 #undef  FUNCTION
 #define FUNCTION "Register_unit::operator<<"
-  ostream& operator<< (ostream& output_stream ,
-		       morpheo::behavioural::core::multi_execute_loop::execute_loop::register_unit::Parameters & x)
+  std::ostream& operator<< (std::ostream& output_stream ,
+			    morpheo::behavioural::core::multi_execute_loop::execute_loop::register_unit::Parameters & x)
   {
     log_printf(FUNC,Register_unit,FUNCTION,"Begin");
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Register_unit.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Register_unit.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Register_unit.cpp	(revision 75)
@@ -34,12 +34,13 @@
     ,_param            (param)
     ,_usage            (usage)
-#ifdef STATISTICS
-    ,_param_statistics (param_statistics)
-#endif
   {
     log_printf(FUNC,Register_unit,FUNCTION,"Begin");
 
     log_printf(INFO,Register_unit,FUNCTION,"Allocation");
-    allocation ();
+    allocation (
+#ifdef STATISTICS
+		param_statistics
+#endif
+		);
 
 #ifdef STATISTICS
@@ -47,7 +48,5 @@
 
     // Allocation of statistics
-    _stat = new Statistics (static_cast<string>(_name),
-			    param_statistics          ,
-			    param);
+    statistics_declaration(param_statistics);
 #endif
 
@@ -84,6 +83,4 @@
 #ifdef STATISTICS
     log_printf(INFO,Register_unit,FUNCTION,"Generate Statistics file");
-
-    _stat->generate_file(statistics(0));
     delete _stat;
 #endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Register_unit_allocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Register_unit_allocation.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Register_unit_allocation.cpp	(revision 75)
@@ -19,8 +19,12 @@
 #undef  FUNCTION
 #define FUNCTION "Register_unit::allocation"
-  void Register_unit::allocation (void)
+  void Register_unit::allocation (
+#ifdef STATISTICS
+				  morpheo::behavioural::Parameters_Statistics * param_statistics
+#else
+				  void
+#endif
+				  )
   {
-    string rename, name_component;
-
     log_printf(FUNC,Register_unit,FUNCTION,"Begin");
 
@@ -249,5 +253,5 @@
     // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~    
 
-    string name;
+    std::string name;
      
     component_gpr        = new morpheo::behavioural::generic::registerfile::RegisterFile::RegisterFile * [_param->_nb_ooo_engine];
@@ -263,5 +267,5 @@
 	  (name.c_str()
 #ifdef STATISTICS
-	   ,_param_statistics
+	   ,param_statistics
 #endif
 	   ,_param->_param_gpr [i]
@@ -283,5 +287,5 @@
 	  (name.c_str()
 #ifdef STATISTICS
-	   ,_param_statistics
+	   ,param_statistics
 #endif
 	   ,_param->_param_gpr_status [i]
@@ -303,5 +307,5 @@
 	  (name.c_str()
 #ifdef STATISTICS
-	   ,_param_statistics
+	   ,param_statistics
 #endif
 	   ,_param->_param_spr [i]
@@ -322,5 +326,5 @@
 	  (name.c_str()
 #ifdef STATISTICS
-	   ,_param_statistics
+	   ,param_statistics
 #endif
 	   ,_param->_param_spr_status [i]
@@ -343,5 +347,5 @@
       (name.c_str()
 #ifdef STATISTICS
-       ,_param_statistics
+       ,param_statistics
 #endif
        ,_param->_param_glue
@@ -358,10 +362,11 @@
      
     // ~~~~~[ Instanciation ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~    
-
+    std::string name_component;
+    
     for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
       {
 	name_component = _name+"_gpr_"+toString(i);
 	
-	cout << "Instance : " << name_component << endl;
+	std::cout << "Instance : " << name_component << std::endl;
 	
 #ifdef POSITION
@@ -420,5 +425,5 @@
 	  name_component = _name+"_gpr_status_"+toString(i);
 	  
-	  cout << "Instance : " << name_component << endl;
+	  std::cout << "Instance : " << name_component << std::endl;
 	  
 #ifdef POSITION
@@ -544,5 +549,5 @@
 	name_component = _name+"_spr_"+toString(i);
 	
-	cout << "Instance : " << name_component << endl;
+	std::cout << "Instance : " << name_component << std::endl;
 	
 #ifdef POSITION
@@ -601,5 +606,5 @@
 	  name_component = _name+"_spr_status_"+toString(i);
 	  
-	  cout << "Instance : " << name_component << endl;
+	  std::cout << "Instance : " << name_component << std::endl;
 	  
 #ifdef POSITION
@@ -724,5 +729,5 @@
       name_component = _name+"_glue";
      
-      cout << "Instance : " << name_component << endl;
+      std::cout << "Instance : " << name_component << std::endl;
      
 #ifdef POSITION
@@ -1034,5 +1039,5 @@
 #endif
 
-//     cout << *_component << endl;
+//     std::cout << *_component << std::endl;
 
     log_printf(FUNC,Register_unit,FUNCTION,"End");
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Register_unit_end_cycle.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Register_unit_end_cycle.cpp	(revision 75)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Register_unit_end_cycle.cpp	(revision 75)
@@ -0,0 +1,44 @@
+#if defined(STATISTICS) or defined(VHDL_TESTBENCH)
+/*
+ * $Id$
+ *
+ * [ Description ]
+ * 
+ */
+
+#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/include/Register_unit.h"
+
+namespace morpheo                    {
+namespace behavioural {
+namespace core {
+namespace multi_execute_loop {
+namespace execute_loop {
+namespace register_unit {
+
+#undef  FUNCTION
+#define FUNCTION "Register_unit::end_cycle"
+void Register_unit::end_cycle ()
+  {
+    log_printf(FUNC,Register_unit,FUNCTION,"Begin");
+
+#ifdef STATISTICS
+    _stat->end_cycle();
+#endif    
+
+#ifdef VHDL_TESTBENCH
+    // Evaluation before read the ouput signal
+//  sc_start(0);
+    _interfaces->testbench();
+#endif
+
+    log_printf(FUNC,Register_unit,FUNCTION,"End");
+  };
+
+}; // end namespace register_unit
+}; // end namespace execute_loop
+}; // end namespace multi_execute_loop
+}; // end namespace core
+
+}; // end namespace behavioural
+}; // end namespace morpheo              
+#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Register_unit_statistics.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Register_unit_statistics.cpp	(revision 74)
+++ 	(revision )
@@ -1,39 +1,0 @@
-#ifdef STATISTICS
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/include/Register_unit.h"
-
-namespace morpheo {
-namespace behavioural {
-namespace core {
-namespace multi_execute_loop {
-namespace execute_loop {
-namespace register_unit {
-
-
-#undef  FUNCTION
-#define FUNCTION "Register_unit::statistics"
-  string Register_unit::statistics (uint32_t depth)
-  {
-    log_printf(FUNC,Register_unit,FUNCTION,"Begin");
-
-    string txt = _stat->print(depth);
-    
-    log_printf(FUNC,Register_unit,FUNCTION,"End");
-
-    return txt;
-  };
-
-}; // end namespace register_unit
-}; // end namespace execute_loop
-}; // end namespace multi_execute_loop
-}; // end namespace core
-
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Register_unit_statistics_declaration.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Register_unit_statistics_declaration.cpp	(revision 75)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Register_unit_statistics_declaration.cpp	(revision 75)
@@ -0,0 +1,47 @@
+#ifdef STATISTICS
+/*
+ * $Id$
+ *
+ * [ Description ]
+ * 
+ */
+
+#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/include/Register_unit.h"
+
+namespace morpheo {
+namespace behavioural {
+namespace core {
+namespace multi_execute_loop {
+namespace execute_loop {
+namespace register_unit {
+
+#undef  FUNCTION
+#define FUNCTION "Register_unit::statistics_declaration"
+  void Register_unit::statistics_declaration (morpheo::behavioural::Parameters_Statistics * param_statistics)
+  {
+    log_printf(FUNC,Register_unit,FUNCTION,"Begin");
+
+    _stat = new Stat (static_cast<std::string>(_name),
+		      "Register_unit",
+		      param_statistics);
+
+    for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
+      {
+	_stat->add_stat(component_gpr       [i]->_stat);
+	_stat->add_stat(component_gpr_status[i]->_stat);
+	_stat->add_stat(component_spr       [i]->_stat);
+	_stat->add_stat(component_spr_status[i]->_stat);
+      }
+    _stat->add_stat(component_glue->_stat);
+
+    log_printf(FUNC,Register_unit,FUNCTION,"End");
+  };
+
+}; // end namespace register_unit
+}; // end namespace execute_loop
+}; // end namespace multi_execute_loop
+}; // end namespace core
+
+}; // end namespace behavioural
+}; // end namespace morpheo              
+#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Register_unit_transition.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Register_unit_transition.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Register_unit_transition.cpp	(revision 75)
@@ -24,10 +24,6 @@
     log_printf(FUNC,Register_unit,FUNCTION,"Begin");
 
-#ifdef STATISTICS
-    _stat->add();
-#endif    
-
-#ifdef VHDL_TESTBENCH
-    vhdl_testbench_transition ();
+#if defined(STATISTICS) or defined(VHDL_TESTBENCH)
+    end_cycle();
 #endif
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Register_unit_vhdl_testbench_transition.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Register_unit_vhdl_testbench_transition.cpp	(revision 74)
+++ 	(revision )
@@ -1,40 +1,0 @@
-#ifdef VHDL_TESTBENCH
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/include/Register_unit.h"
-
-namespace morpheo                    {
-namespace behavioural {
-namespace core {
-namespace multi_execute_loop {
-namespace execute_loop {
-namespace register_unit {
-
-
-#undef  FUNCTION
-#define FUNCTION "Register_unit::vhdl_testbench_transition"
-  void Register_unit::vhdl_testbench_transition ()
-  {
-    log_printf(FUNC,Register_unit,FUNCTION,"Begin");
-
-    // Evaluation before read the ouput signal
-//     sc_start(0);
-
-    _interfaces->testbench();
-
-    log_printf(FUNC,Register_unit,FUNCTION,"End");
-  };
-
-}; // end namespace register_unit
-}; // end namespace execute_loop
-}; // end namespace multi_execute_loop
-}; // end namespace core
-
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Statistics.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Statistics.cpp	(revision 74)
+++ 	(revision )
@@ -1,48 +1,0 @@
-#ifdef STATISTICS
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/include/Statistics.h"
-
-namespace morpheo                    {
-namespace behavioural {
-namespace core {
-namespace multi_execute_loop {
-namespace execute_loop {
-namespace register_unit {
-
-
-#undef  FUNCTION
-#define FUNCTION "Register_unit::Statistics"
-  Statistics::Statistics (string                                        name                       ,
-			  morpheo::behavioural::Parameters_Statistics * parameters_statistics      ,
-			  Parameters                                  * parameters
-			  ) :
-    morpheo::behavioural::Statistics(name                  ,
-				     parameters_statistics ),
-    _parameters(parameters)
-  {
-    log_printf(FUNC,Register_unit,FUNCTION,"Begin");
-    log_printf(FUNC,Register_unit,FUNCTION,"End");
-  };
-  
-#undef  FUNCTION
-#define FUNCTION "Register_unit::~Statistics"
-  Statistics::~Statistics () 
-  { 
-    log_printf(FUNC,Register_unit,FUNCTION,"Begin");
-    log_printf(FUNC,Register_unit,FUNCTION,"End");
-  };
-
-}; // end namespace register_unit
-}; // end namespace execute_loop
-}; // end namespace multi_execute_loop
-}; // end namespace core
-
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Statistics_add.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Statistics_add.cpp	(revision 74)
+++ 	(revision )
@@ -1,37 +1,0 @@
-#ifdef STATISTICS
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/include/Statistics.h"
-
-#include <sstream>
-using namespace std;
-
-namespace morpheo                    {
-namespace behavioural {
-namespace core {
-namespace multi_execute_loop {
-namespace execute_loop {
-namespace register_unit {
-
-
-#undef  FUNCTION
-#define FUNCTION "Register_unit::add"
-  void Statistics::add ()
-  {
-    log_printf(FUNC,Register_unit,FUNCTION,"Begin");
-    log_printf(FUNC,Register_unit,FUNCTION,"End");
-  };
-
-}; // end namespace register_unit
-}; // end namespace execute_loop
-}; // end namespace multi_execute_loop
-}; // end namespace core
-
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Statistics_print.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Statistics_print.cpp	(revision 74)
+++ 	(revision )
@@ -1,61 +1,0 @@
-#ifdef STATISTICS
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/include/Statistics.h"
-
-#include <sstream>
-using namespace std;
-
-namespace morpheo {
-namespace behavioural {
-namespace core {
-namespace multi_execute_loop {
-namespace execute_loop {
-namespace register_unit {
-
-
-#undef  FUNCTION
-#define FUNCTION "Register_unit::print"
-  string Statistics::print (uint32_t depth)
-  {
-    log_printf(FUNC,Register_unit,FUNCTION,"Begin");
-
-    string        tab = string(depth,'\t');
-    ostringstream msg;
-
-    msg << tab << "<register_unit name=\"" << _name << "\" >" << endl
-        << print_body(depth+1) << endl
-	<< tab << "</register_unit>" << endl;
-    
-    log_printf(FUNC,Register_unit,FUNCTION,"End");
-
-    return msg.str();
-  };
-
-#undef  FUNCTION
-#define FUNCTION "Register_unit::operator<<"
-  ostream& operator<< (ostream& output_stream ,
-		       morpheo::behavioural::core::multi_execute_loop::execute_loop::register_unit::Statistics & x)
-  {
-    log_printf(FUNC,Register_unit,FUNCTION,"Begin");
-
-    output_stream << x.print(0);
-
-    log_printf(FUNC,Register_unit,FUNCTION,"End");
-
-    return output_stream;
-  };
-
-}; // end namespace register_unit
-}; // end namespace execute_loop
-}; // end namespace multi_execute_loop
-}; // end namespace core
-
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Statistics_print_body.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Statistics_print_body.cpp	(revision 74)
+++ 	(revision )
@@ -1,45 +1,0 @@
-#ifdef STATISTICS
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/include/Statistics.h"
-
-#include <sstream>
-using namespace std;
-
-namespace morpheo                    {
-namespace behavioural {
-namespace core {
-namespace multi_execute_loop {
-namespace execute_loop {
-namespace register_unit {
-
-
-#undef  FUNCTION
-#define FUNCTION "Register_unit::print_body"
-  string Statistics::print_body (uint32_t depth)
-  {
-    log_printf(FUNC,Register_unit,FUNCTION,"Begin");
-
-    string        tab = string(depth,'\t');
-    ostringstream msg;
-
-    msg << tab << "";
-    
-    log_printf(FUNC,Register_unit,FUNCTION,"End");
-
-    return msg.str();
-  };
-
-}; // end namespace register_unit
-}; // end namespace execute_loop
-}; // end namespace multi_execute_loop
-}; // end namespace core
-
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Meta_Predictor_Glue/VERSION
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Meta_Predictor_Glue/VERSION	(revision 74)
+++ 	(revision )
@@ -1,1 +1,0 @@
-v0.4
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Two_Level_Branch_Predictor/Branch_History_Table/VERSION
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Two_Level_Branch_Predictor/Branch_History_Table/VERSION	(revision 74)
+++ 	(revision )
@@ -1,1 +1,0 @@
-v0.1
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Two_Level_Branch_Predictor/Pattern_History_Table/VERSION
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Two_Level_Branch_Predictor/Pattern_History_Table/VERSION	(revision 74)
+++ 	(revision )
@@ -1,1 +1,0 @@
-v0.2
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Two_Level_Branch_Predictor/Two_Level_Branch_Predictor_Glue/VERSION
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Two_Level_Branch_Predictor/Two_Level_Branch_Predictor_Glue/VERSION	(revision 74)
+++ 	(revision )
@@ -1,1 +1,0 @@
-v0.3
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Two_Level_Branch_Predictor/VERSION
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Two_Level_Branch_Predictor/VERSION	(revision 74)
+++ 	(revision )
@@ -1,1 +1,0 @@
-v0.2
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/VERSION
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/VERSION	(revision 74)
+++ 	(revision )
@@ -1,1 +1,0 @@
-v0.4
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Counter/VERSION
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Counter/VERSION	(revision 74)
+++ 	(revision )
@@ -1,1 +1,0 @@
-v0.2
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Counter/include/Counter.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Counter/include/Counter.h	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Counter/include/Counter.h	(revision 75)
@@ -27,6 +27,4 @@
 #include "Behavioural/include/Component.h"
 
-using namespace std;
-
 namespace morpheo {
 namespace behavioural {
@@ -41,10 +39,10 @@
     // -----[ fields ]----------------------------------------------------
     // Parameters
-  protected : const string     _name;
+  protected : const std::string     _name;
 
   protected : const Parameters _param;
 
 #ifdef STATISTICS
-  private   : Stat                           * _stat;
+  public    : Stat                           * _stat;
 #endif
 
@@ -75,5 +73,5 @@
   public  :          Counter              (sc_module_name                              name,
 #else					       
-  public  :          Counter              (string                                      name,
+  public  :          Counter              (std::string                                 name,
 #endif					       
 #ifdef STATISTICS
@@ -96,5 +94,4 @@
 #ifdef STATISTICS
   public  : void     statistics_declaration    (morpheo::behavioural::Parameters_Statistics * param_statistics);
-  public  : string   statistics_print          (uint32_t depth);
 #endif
 					       
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Counter/include/Parameters.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Counter/include/Parameters.h	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Counter/include/Parameters.h	(revision 75)
@@ -32,9 +32,8 @@
   public : ~Parameters () ;
 
-  public : string msg_error (void);
-
-  public :        string   print      (uint32_t depth);
-  public : friend ostream& operator<< (ostream& output_stream,
-				       morpheo::behavioural::generic::counter::Parameters & x);
+  public :        std::string   msg_error  (void);
+  public :        std::string   print      (uint32_t depth);
+  public : friend std::ostream& operator<< (std::ostream& output_stream,
+					    morpheo::behavioural::generic::counter::Parameters & x);
   };
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Counter/src/Counter_allocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Counter/src/Counter_allocation.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Counter/src/Counter_allocation.cpp	(revision 75)
@@ -17,6 +17,4 @@
   void Counter::allocation (void)
   {
-    string rename;
-
     log_printf(FUNC,Counter,"allocation","Begin");
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Counter/src/Counter_statistics_declaration.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Counter/src/Counter_statistics_declaration.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Counter/src/Counter_statistics_declaration.cpp	(revision 75)
@@ -20,5 +20,5 @@
     log_printf(FUNC,Counter,FUNCTION,"Begin");
 
-    _stat = new Stat (static_cast<string>(_name),
+    _stat = new Stat (static_cast<std::string>(_name),
 		      "Counter",
 		      param_statistics);
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Counter/src/Counter_statistics_print.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Counter/src/Counter_statistics_print.cpp	(revision 74)
+++ 	(revision )
@@ -1,34 +1,0 @@
-#ifdef STATISTICS
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/Generic/Counter/include/Counter.h"
-
-namespace morpheo                    {
-namespace behavioural {
-namespace generic {
-namespace counter {
-
-#undef  FUNCTION
-#define FUNCTION "Counter::statistics_print"
-  string Counter::statistics_print (uint32_t depth)
-  {
-    log_printf(FUNC,Counter,FUNCTION,"Begin");
-
-    string txt = _stat->print(depth);
-    
-    log_printf(FUNC,Counter,FUNCTION,"End");
-
-    return txt;
-  };
-
-}; // end namespace counter
-}; // end namespace generic
-
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Counter/src/Counter_vhdl_body.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Counter/src/Counter_vhdl_body.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Counter/src/Counter_vhdl_body.cpp	(revision 75)
@@ -21,5 +21,5 @@
     for (uint32_t i=0; i<_param._nb_port; i++)
       {
-	string counter_inc, counter_dec;
+	std::string counter_inc, counter_dec;
 
 	if (_param._size_data > 1)
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Counter/src/Parameters_msg_error.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Counter/src/Parameters_msg_error.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Counter/src/Parameters_msg_error.cpp	(revision 75)
@@ -9,5 +9,4 @@
 #include "Behavioural/Generic/Counter/include/Types.h"
 #include <sstream>
-using namespace std;
 
 namespace morpheo                    {
@@ -17,9 +16,9 @@
 
 
-  string Parameters::msg_error(void)
+  std::string Parameters::msg_error(void)
   {
     log_printf(FUNC,Counter,"msg_error","Begin");
 
-    string msg = "";
+    std::string msg = "";
 
     if (_size_data < 1)
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Counter/src/Parameters_print.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Counter/src/Parameters_print.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Counter/src/Parameters_print.cpp	(revision 75)
@@ -8,5 +8,4 @@
 #include "Behavioural/Generic/Counter/include/Parameters.h"
 #include "Behavioural/include/XML.h"
-using namespace std;
 
 namespace morpheo                    {
@@ -16,5 +15,5 @@
 
 
-  string Parameters::print (uint32_t depth)
+  std::string Parameters::print (uint32_t depth)
   {
     log_printf(FUNC,Counter,"print","Begin");
@@ -36,6 +35,6 @@
   };
 
-  ostream& operator<< (ostream& output_stream ,
-		       morpheo::behavioural::generic::counter::Parameters & x)
+  std::ostream& operator<< (std::ostream& output_stream ,
+			    morpheo::behavioural::generic::counter::Parameters & x)
   {
     output_stream << x.print(0);
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/VERSION
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/VERSION	(revision 74)
+++ 	(revision )
@@ -1,4 +1,0 @@
-v0.6
-
-0.5 modif vhdl_port et vhdl_testbench_port -> ajout d'une macro
-0.6 ajout de la documentation
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/include/Parameters.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/include/Parameters.h	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/include/Parameters.h	(revision 75)
@@ -32,9 +32,9 @@
   public : ~Parameters () ;
 
-  public : string msg_error (void);
+  public :        std::string   msg_error  (void);
 
-  public :        string   print      (uint32_t depth);
-  public : friend ostream& operator<< (ostream& output_stream,
-				       morpheo::behavioural::generic::queue::Parameters & x);
+  public :        std::string   print      (uint32_t depth);
+  public : friend std::ostream& operator<< (std::ostream& output_stream,
+					    morpheo::behavioural::generic::queue::Parameters & x);
   };
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/include/Queue.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/include/Queue.h	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/include/Queue.h	(revision 75)
@@ -22,5 +22,5 @@
 #include "Behavioural/Generic/Queue/include/Parameters.h"
 #ifdef STATISTICS
-#include "Behavioural/Generic/Queue/include/Statistics.h"
+#include "Behavioural/include/Stat.h"
 #endif
 #include "Behavioural/include/Component.h"
@@ -29,7 +29,4 @@
 #endif
 #include "Behavioural/include/Usage.h"
-
-using namespace std;
-using namespace morpheo::behavioural::generic::queue_control;
 
 namespace morpheo {
@@ -46,5 +43,5 @@
     // -----[ fields ]----------------------------------------------------
     // Parameters
-  protected : const string       _name;
+  protected : const std::string       _name;
   protected : const Parameters * _param;
   private   : const Tusage_t     _usage;
@@ -55,5 +52,5 @@
 
 #ifdef STATISTICS
-  private   : Statistics                     * _stat;
+  public    : Stat                           * _stat;
 #endif
 
@@ -99,5 +96,5 @@
    sc_module_name                                name,
 #else					       
-   string                                        name,
+   std::string                                   name,
 #endif					       
 #ifdef STATISTICS
@@ -116,6 +113,7 @@
   public  : void     genMoore                  (void);
 #endif					       
+
 #ifdef STATISTICS
-  public  : string   statistics                (uint32_t depth);
+  public  : void     statistics_declaration    (morpheo::behavioural::Parameters_Statistics * param_statistics);
 #endif
 					       
@@ -125,7 +123,7 @@
   private : void     vhdl_body                 (Vhdl * & vhdl);
 #endif					       
-					       
-#ifdef VHDL_TESTBENCH			       
-  private : void     vhdl_testbench_transition (void);
+
+#if defined(STATISTICS) or defined(VHDL_TESTBENCH)
+  private : void     end_cycle                 (void);
 #endif
   };
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/include/Statistics.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/include/Statistics.h	(revision 74)
+++ 	(revision )
@@ -1,55 +1,0 @@
-#ifdef STATISTICS
-#ifndef morpheo_behavioural_generic_queue_Statistics_h
-#define morpheo_behavioural_generic_queue_Statistics_h
-
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Common/include/Debug.h"
-#include "Behavioural/include/Statistics.h"
-#include "Behavioural/include/Parameters_Statistics.h"
-//#include "Behavioural/Generic/Group/include/Statistics.h"
-#include "Behavioural/Generic/Queue/include/Parameters.h"
-
-//using namespace morpheo::behavioural::generic::group;
-
-namespace morpheo                    {
-namespace behavioural {
-namespace generic {
-namespace queue {
-
-
-  class Statistics : public morpheo::behavioural::Statistics
-  {
-    // -----[ fields ]----------------------------------------------------
-  private  : const Parameters                                 * _parameters;
-
-    // -----[ methods ]---------------------------------------------------
-  public   : Statistics  (string                                        name                       ,
-			  morpheo::behavioural::Parameters_Statistics * parameters_statistics      ,
-			  Parameters                                  * parameters
-			  );
-//public   : Statistics  (Statistics & stat);
-  public   : ~Statistics () ;
-    
-  public   : string   print_body (uint32_t depth);
-  public   : string   print      (uint32_t depth);
-  public   : void     add        ();
-
-  public   : friend ostream& operator<< (ostream& output_stream,
-					 const Statistics & x);
-
-  };
-
-}; // end namespace queue
-}; // end namespace generic
-
-}; // end namespace behavioural
-}; // end namespace morpheo
-
-#endif
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/src/Parameters_msg_error.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/src/Parameters_msg_error.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/src/Parameters_msg_error.cpp	(revision 75)
@@ -9,6 +9,4 @@
 #include "Behavioural/Generic/Queue/include/Parameters.h"
 #include <sstream>
-using namespace std;
-
 namespace morpheo                    {
 namespace behavioural {
@@ -19,9 +17,9 @@
 #undef  FUNCTION
 #define FUNCTION "Queue::msg_error"
-  string Parameters::msg_error(void)
+  std::string Parameters::msg_error(void)
   {
     log_printf(FUNC,Queue,FUNCTION,"Begin");
 
-    string msg = "";
+    std::string msg = "";
 
     return msg;
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/src/Parameters_print.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/src/Parameters_print.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/src/Parameters_print.cpp	(revision 75)
@@ -8,5 +8,4 @@
 #include "Behavioural/Generic/Queue/include/Parameters.h"
 #include "Behavioural/include/XML.h"
-using namespace std;
 
 namespace morpheo                    {
@@ -18,5 +17,5 @@
 #undef  FUNCTION
 #define FUNCTION "Queue::print"
-  string Parameters::print (uint32_t depth)
+  std::string Parameters::print (uint32_t depth)
   {
     log_printf(FUNC,Queue,FUNCTION,"Begin");
@@ -36,6 +35,6 @@
 #undef  FUNCTION
 #define FUNCTION "Queue::operator<<"
-  ostream& operator<< (ostream& output_stream ,
-		       morpheo::behavioural::generic::queue::Parameters & x)
+  std::ostream& operator<< (std::ostream& output_stream ,
+			    morpheo::behavioural::generic::queue::Parameters & x)
   {
     log_printf(FUNC,Queue,FUNCTION,"Begin");
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/src/Queue.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/src/Queue.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/src/Queue.cpp	(revision 75)
@@ -32,7 +32,4 @@
     ,_param            (param)
     ,_usage            (usage)
-// #ifdef STATISTICS
-// 			      ,_param_statistics (param_statistics)
-// #endif
   {
     log_printf(FUNC,Queue,FUNCTION,"Begin");
@@ -46,8 +43,5 @@
 	log_printf(INFO,Queue,FUNCTION,"Allocation of statistics");
 	
-	// Allocation of statistics
-	_stat = new Statistics (static_cast<string>(_name),
-				param_statistics          ,
-				param);
+	statistics_declaration(param_statistics);
       }
 #endif
@@ -102,5 +96,4 @@
 	log_printf(INFO,Queue,FUNCTION,"Generate Statistics file");
 	
-	_stat->generate_file(statistics(0));
 	delete _stat;
       }
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/src/Queue_allocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/src/Queue_allocation.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/src/Queue_allocation.cpp	(revision 75)
@@ -19,6 +19,4 @@
   void Queue::allocation (void)
   {
-    string rename;
-
     log_printf(FUNC,Queue,FUNCTION,"Begin");
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/src/Queue_end_cycle.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/src/Queue_end_cycle.cpp	(revision 75)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/src/Queue_end_cycle.cpp	(revision 75)
@@ -0,0 +1,40 @@
+#if defined(STATISTICS) or defined(VHDL_TESTBENCH)
+/*
+ * $Id$
+ *
+ * [ Description ]
+ * 
+ */
+
+#include "Behavioural/Generic/Queue/include/Queue.h"
+
+namespace morpheo                    {
+namespace behavioural {
+namespace generic {
+namespace queue {
+
+#undef  FUNCTION
+#define FUNCTION "Queue::end_cycle"
+  void Queue::end_cycle ()
+  {
+    log_printf(FUNC,Queue,FUNCTION,"Begin");
+
+#ifdef STATISTICS
+    _stat->end_cycle();
+#endif    
+
+#ifdef VHDL_TESTBENCH
+    // Evaluation before read the ouput signal
+//  sc_start(0);
+    _interfaces->testbench();
+#endif
+
+    log_printf(FUNC,Queue,FUNCTION,"End");
+  };
+
+}; // end namespace queue
+}; // end namespace generic
+
+}; // end namespace behavioural
+}; // end namespace morpheo              
+#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/src/Queue_statistics.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/src/Queue_statistics.cpp	(revision 74)
+++ 	(revision )
@@ -1,35 +1,0 @@
-#ifdef STATISTICS
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/Generic/Queue/include/Queue.h"
-
-namespace morpheo {
-namespace behavioural {
-namespace generic {
-namespace queue {
-
-
-#undef  FUNCTION
-#define FUNCTION "Queue::statistics"
-  string Queue::statistics (uint32_t depth)
-  {
-    log_printf(FUNC,Queue,FUNCTION,"Begin");
-
-    string txt = _stat->print(depth);
-    
-    log_printf(FUNC,Queue,FUNCTION,"End");
-
-    return txt;
-  };
-
-}; // end namespace queue
-}; // end namespace generic
-
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/src/Queue_statistics_declaration.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/src/Queue_statistics_declaration.cpp	(revision 75)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/src/Queue_statistics_declaration.cpp	(revision 75)
@@ -0,0 +1,34 @@
+#ifdef STATISTICS
+/*
+ * $Id$
+ *
+ * [ Description ]
+ * 
+ */
+
+#include "Behavioural/Generic/Queue/include/Queue.h"
+
+namespace morpheo {
+namespace behavioural {
+namespace generic {
+namespace queue {
+
+#undef  FUNCTION
+#define FUNCTION "Queue::statistics_declaration"
+  void Queue::statistics_declaration (morpheo::behavioural::Parameters_Statistics * param_statistics)
+  {
+    log_printf(FUNC,Queue,FUNCTION,"Begin");
+
+    _stat = new Stat (static_cast<std::string>(_name),
+                      "Queue",
+                      param_statistics);
+    
+    log_printf(FUNC,Queue,FUNCTION,"End");
+  };
+
+}; // end namespace queue
+}; // end namespace generic
+
+}; // end namespace behavioural
+}; // end namespace morpheo              
+#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/src/Queue_transition.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/src/Queue_transition.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/src/Queue_transition.cpp	(revision 75)
@@ -53,10 +53,6 @@
       }
 
-#ifdef STATISTICS
-    _stat->add();
-#endif    
-
-#ifdef VHDL_TESTBENCH
-    vhdl_testbench_transition ();
+#if defined(STATISTICS) or defined(VHDL_TESTBENCH)
+    end_cycle ();
 #endif
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/src/Queue_vhdl_testbench_transition.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/src/Queue_vhdl_testbench_transition.cpp	(revision 74)
+++ 	(revision )
@@ -1,36 +1,0 @@
-#ifdef VHDL_TESTBENCH
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/Generic/Queue/include/Queue.h"
-
-namespace morpheo                    {
-namespace behavioural {
-namespace generic {
-namespace queue {
-
-
-#undef  FUNCTION
-#define FUNCTION "Queue::vhdl_testbench_transition"
-  void Queue::vhdl_testbench_transition ()
-  {
-    log_printf(FUNC,Queue,FUNCTION,"Begin");
-
-    // Evaluation before read the ouput signal
-//     sc_start(0);
-
-    _interfaces->testbench();
-
-    log_printf(FUNC,Queue,FUNCTION,"End");
-  };
-
-}; // end namespace queue
-}; // end namespace generic
-
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/src/Statistics.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/src/Statistics.cpp	(revision 74)
+++ 	(revision )
@@ -1,44 +1,0 @@
-#ifdef STATISTICS
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/Generic/Queue/include/Statistics.h"
-
-namespace morpheo                    {
-namespace behavioural {
-namespace generic {
-namespace queue {
-
-
-#undef  FUNCTION
-#define FUNCTION "Queue::Statistics"
-  Statistics::Statistics (string                                        name                       ,
-			  morpheo::behavioural::Parameters_Statistics * parameters_statistics      ,
-			  Parameters                                  * parameters
-			  ) :
-    morpheo::behavioural::Statistics(name                  ,
-				     parameters_statistics ),
-    _parameters(parameters)
-  {
-    log_printf(FUNC,Queue,FUNCTION,"Begin");
-    log_printf(FUNC,Queue,FUNCTION,"End");
-  };
-  
-#undef  FUNCTION
-#define FUNCTION "Queue::~Statistics"
-  Statistics::~Statistics () 
-  { 
-    log_printf(FUNC,Queue,FUNCTION,"Begin");
-    log_printf(FUNC,Queue,FUNCTION,"End");
-  };
-
-}; // end namespace queue
-}; // end namespace generic
-
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/src/Statistics_add.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/src/Statistics_add.cpp	(revision 74)
+++ 	(revision )
@@ -1,33 +1,0 @@
-#ifdef STATISTICS
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/Generic/Queue/include/Statistics.h"
-
-#include <sstream>
-using namespace std;
-
-namespace morpheo                    {
-namespace behavioural {
-namespace generic {
-namespace queue {
-
-
-#undef  FUNCTION
-#define FUNCTION "Queue::add"
-  void Statistics::add ()
-  {
-    log_printf(FUNC,Queue,FUNCTION,"Begin");
-    log_printf(FUNC,Queue,FUNCTION,"End");
-  };
-
-}; // end namespace queue
-}; // end namespace generic
-
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/src/Statistics_print.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/src/Statistics_print.cpp	(revision 74)
+++ 	(revision )
@@ -1,57 +1,0 @@
-#ifdef STATISTICS
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/Generic/Queue/include/Statistics.h"
-
-#include <sstream>
-using namespace std;
-
-namespace morpheo {
-namespace behavioural {
-namespace generic {
-namespace queue {
-
-
-#undef  FUNCTION
-#define FUNCTION "Queue::print"
-  string Statistics::print (uint32_t depth)
-  {
-    log_printf(FUNC,Queue,FUNCTION,"Begin");
-
-    string        tab = string(depth,'\t');
-    ostringstream msg;
-
-    msg << tab << "<queue name=\"" << _name << "\" >" << endl
-        << print_body(depth+1) << endl
-	<< tab << "</queue>" << endl;
-    
-    log_printf(FUNC,Queue,FUNCTION,"End");
-
-    return msg.str();
-  };
-
-#undef  FUNCTION
-#define FUNCTION "Queue::operator<<"
-  ostream& operator<< (ostream& output_stream ,
-		       morpheo::behavioural::generic::queue::Statistics & x)
-  {
-    log_printf(FUNC,Queue,FUNCTION,"Begin");
-
-    output_stream << x.print(0);
-
-    log_printf(FUNC,Queue,FUNCTION,"End");
-
-    return output_stream;
-  };
-
-}; // end namespace queue
-}; // end namespace generic
-
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/src/Statistics_print_body.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/src/Statistics_print_body.cpp	(revision 74)
+++ 	(revision )
@@ -1,41 +1,0 @@
-#ifdef STATISTICS
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/Generic/Queue/include/Statistics.h"
-
-#include <sstream>
-using namespace std;
-
-namespace morpheo                    {
-namespace behavioural {
-namespace generic {
-namespace queue {
-
-
-#undef  FUNCTION
-#define FUNCTION "Queue::print_body"
-  string Statistics::print_body (uint32_t depth)
-  {
-    log_printf(FUNC,Queue,FUNCTION,"Begin");
-
-    string        tab = string(depth,'\t');
-    ostringstream msg;
-
-    msg << tab << "";
-    
-    log_printf(FUNC,Queue,FUNCTION,"End");
-
-    return msg.str();
-  };
-
-}; // end namespace queue
-}; // end namespace generic
-
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
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 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue_Control/include/Queue_Control.h	(revision 75)
@@ -16,6 +16,4 @@
 #include "Common/include/Debug.h"
 
-using namespace std;
-
 namespace morpheo {
 namespace behavioural {
@@ -27,5 +25,5 @@
   private : const uint32_t     _nb_elt_max;
   private : uint32_t           _nb_elt;
-  private : vector<uint32_t> * _tab;
+  private : std::vector<uint32_t> * _tab;
     
   public  :          Queue_Control  (uint32_t nb_elt_max);
@@ -45,5 +43,5 @@
     
   public : uint32_t operator[] (uint32_t);
-  public : ostream& operator<< (ostream& output_stream);
+  public : std::ostream& operator<< (std::ostream& output_stream);
   };
   
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 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue_Control/src/Queue_Control.cpp	(revision 75)
@@ -13,5 +13,5 @@
     log_printf(FUNC,Queue_Control,FUNCTION,"Begin");
 	
-    _tab = new vector<uint32_t>;
+    _tab = new std::vector<uint32_t>;
 
     log_printf(FUNC,Queue_Control,FUNCTION,"End");
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 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue_Control/src/Queue_Control_operator.cpp	(revision 75)
@@ -8,5 +8,5 @@
 #undef  FUNCTION
 #define FUNCTION "Queue_Control::operator<<"
-  ostream& Queue_Control::operator<< (ostream& output_stream)
+  std::ostream& Queue_Control::operator<< (std::ostream& output_stream)
   {
     log_printf(FUNC,Queue_Control,FUNCTION,"Begin");
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/include/Parameters.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/include/Parameters.h	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/include/Parameters.h	(revision 75)
@@ -37,9 +37,8 @@
   public : ~Parameters () ;
 
-  public : string msg_error (void);
-
-  public :        string   print      (uint32_t depth);
-  public : friend ostream& operator<< (ostream& output_stream,
-				       morpheo::behavioural::generic::registerfile::registerfile_monolithic::Parameters & x);
+  public :        std::string   msg_error  (void);
+  public :        std::string   print      (uint32_t depth);
+  public : friend std::ostream& operator<< (std::ostream& output_stream,
+					    morpheo::behavioural::generic::registerfile::registerfile_monolithic::Parameters & x);
   };
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/include/RegisterFile_Monolithic.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/include/RegisterFile_Monolithic.h	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/include/RegisterFile_Monolithic.h	(revision 75)
@@ -16,5 +16,4 @@
 #include "Common/include/ToString.h"
 #include <iostream>
-using namespace std;
 
 #include "Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/include/Parameters.h"
@@ -28,6 +27,4 @@
 #endif
 #include "Behavioural/include/Usage.h"
-
-using namespace std;
 
 namespace morpheo                    {
@@ -46,10 +43,10 @@
     // -----[ fields ]----------------------------------------------------
     // Parameters
-  protected : const string       _name;
+  protected : const std::string       _name;
   protected : const Parameters * _param;
   private   : const Tusage_t     _usage;
 
 #ifdef STATISTICS
-  private   : Stat                           * _stat;
+  public    : Stat                           * _stat;
     
   private   : counter_t                      * _stat_nb_read;
@@ -106,5 +103,5 @@
    sc_module_name                              name
 #else					       
-   string                                      name
+   std::string                                      name
 #endif					       
 #ifdef STATISTICS
@@ -128,5 +125,4 @@
 #ifdef STATISTICS
   public  : void     statistics_declaration    (morpheo::behavioural::Parameters_Statistics * param_statistics);
-  public  : string   statistics_print          (uint32_t depth);
 #endif					       
 
@@ -137,6 +133,7 @@
 #endif					       
 					       
+#if defined(STATISTICS) or defined(VHDL_TESTBENCH)
   private : void     end_cycle                 (void);
-
+#endif
   };
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/Parameters_msg_error.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/Parameters_msg_error.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/Parameters_msg_error.cpp	(revision 75)
@@ -10,5 +10,4 @@
 #include "Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/include/Types.h"
 #include <sstream>
-using namespace std;
 
 namespace morpheo                    {
@@ -18,7 +17,7 @@
 namespace registerfile_monolithic    {
 
-  string Parameters::msg_error(void)
+  std::string Parameters::msg_error(void)
   {
-    string msg = "";
+    std::string msg = "";
 
     if ((8*sizeof(Tdata_t)) < _size_word)
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/Parameters_print.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/Parameters_print.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/Parameters_print.cpp	(revision 75)
@@ -8,6 +8,5 @@
 #include <stdint.h>
 #include "Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/include/Parameters.h"
-#include <sstream>
-using namespace std;
+#include "Behavioural/include/XML.h"
 
 namespace morpheo                    {
@@ -17,21 +16,21 @@
 namespace registerfile_monolithic    {
 
-  string Parameters::print (uint32_t depth)
+  std::string Parameters::print (uint32_t depth)
   {
-    string tab = string(depth,'\t');
-    ostringstream msg;
-    msg << tab << "<registerfile_monolithic>" << endl
-	<< tab << "\t<nb_port_read       value=\"" << _nb_port_read       << "\" />" << endl
-	<< tab << "\t<nb_port_write      value=\"" << _nb_port_write      << "\" />" << endl
-	<< tab << "\t<nb_port_read_write value=\"" << _nb_port_read_write << "\" />" << endl
-	<< tab << "\t<nb_word            value=\"" << _nb_word            << "\" />" << endl
-	<< tab << "\t<size_word          value=\"" << _size_word          << "\" />" << endl
-	<< tab << "</registerfile_monolithic>" << endl;
-    
-    return msg.str();
+    XML xml ("registerfile_monolithic");
+
+    xml.balise_open("registerfile_monolithic");
+    xml.singleton_begin("nb_port_read      "); xml.attribut("value",toString(_nb_port_read      )); xml.singleton_end();
+    xml.singleton_begin("nb_port_write     "); xml.attribut("value",toString(_nb_port_write     )); xml.singleton_end();
+    xml.singleton_begin("nb_port_read_write"); xml.attribut("value",toString(_nb_port_read_write)); xml.singleton_end();
+    xml.singleton_begin("nb_word           "); xml.attribut("value",toString(_nb_word           )); xml.singleton_end();
+    xml.singleton_begin("size_word         "); xml.attribut("value",toString(_size_word         )); xml.singleton_end();
+    xml.balise_close();
+
+    return xml.get_body(depth);
   };
 
-  ostream& operator<< (ostream& output_stream ,
-		       morpheo::behavioural::generic::registerfile::registerfile_monolithic::Parameters & x)
+  std::ostream& operator<< (std::ostream& output_stream ,
+			    morpheo::behavioural::generic::registerfile::registerfile_monolithic::Parameters & x)
   {
     output_stream << x.print(0);
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic.cpp	(revision 75)
@@ -19,5 +19,5 @@
    sc_module_name name,
 #else
-   string name        ,
+   std::string name        ,
 #endif
 #ifdef STATISTICS
@@ -37,5 +37,6 @@
 
 #ifdef STATISTICS
-    statistics_declaration(param_statistics);
+    if (_usage & USE_STATISTICS)
+      statistics_declaration(param_statistics);
 #endif
 
@@ -102,7 +103,5 @@
 #ifdef STATISTICS
     if (_usage & USE_STATISTICS)
-      {
-	delete _stat;
-      }
+      delete _stat;
 #endif
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_allocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_allocation.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_allocation.cpp	(revision 75)
@@ -124,5 +124,5 @@
     for (uint32_t i=0; i<_param->_nb_word; i++)
       {
-	string rename = "reg_DATA["  + toString(i) + "]";
+	std::string rename = "reg_DATA["  + toString(i) + "]";
 	reg_DATA [i]  = new SC_REGISTER (Tdata_t) (rename.c_str());
       }
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_end_cycle.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_end_cycle.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_end_cycle.cpp	(revision 75)
@@ -1,2 +1,3 @@
+#if defined(STATISTICS) or defined(VHDL_TESTBENCH)
 /*
  * $Id$
@@ -37,2 +38,3 @@
 }; // end namespace behavioural          
 }; // end namespace morpheo              
+#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_statistics_declaration.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_statistics_declaration.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_statistics_declaration.cpp	(revision 75)
@@ -17,5 +17,5 @@
   void RegisterFile_Monolithic::statistics_declaration (morpheo::behavioural::Parameters_Statistics * param_statistics)
   {
-    _stat = new Stat (static_cast<string>(_name),
+    _stat = new Stat (static_cast<std::string>(_name),
 		      "RegisterFile_Monolithic",
 		      param_statistics);
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_statistics_print.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_statistics_print.cpp	(revision 74)
+++ 	(revision )
@@ -1,27 +1,0 @@
-#ifdef STATISTICS
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/include/RegisterFile_Monolithic.h"
-
-namespace morpheo                    {
-namespace behavioural                {
-namespace generic                    {
-namespace registerfile               {
-namespace registerfile_monolithic    {
-
-  string RegisterFile_Monolithic::statistics_print (uint32_t depth)
-  {
-    return _stat->print(depth);
-  };
-
-}; // end namespace registerfile_monolithic
-}; // end namespace registerfile 
-}; // end namespace generic
-}; // end namespace behavioural          
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_transition.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_transition.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_transition.cpp	(revision 75)
@@ -79,6 +79,7 @@
 #endif    
 
+#if defined(STATISTICS) or defined(VHDL_TESTBENCH)
     end_cycle();
-
+#endif
     log_printf(FUNC,RegisterFile,"transition","End");
   };
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_vhdl_body.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_vhdl_body.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_vhdl_body.cpp	(revision 75)
@@ -38,5 +38,5 @@
     for (uint32_t i = 0; i < _param->_nb_port_read; i++)
       {
-	string str_address;
+	std::string str_address;
 	if (_param->_have_port_address)
 	  str_address = "conv_integer(in_READ_"+toString(i)+"_ADDRESS)";
@@ -48,5 +48,5 @@
     for (uint32_t i = 0; i < _param->_nb_port_read_write; i++)
       {
-	string str_address;
+	std::string str_address;
 	if (_param->_have_port_address)
 	  str_address = "conv_integer(in_READ_WRITE_"+toString(i)+"_ADDRESS)";
@@ -68,5 +68,5 @@
     for (uint32_t i = 0; i < _param->_nb_port_write; i++)
       {
-	string str_address;
+	std::string str_address;
 	if (_param->_have_port_address)
 	  str_address = "conv_integer(in_WRITE_"+toString(i)+"_ADDRESS)";
@@ -80,5 +80,5 @@
     for (uint32_t i = 0; i < _param->_nb_port_read_write; i++)
       {
-	string str_address;
+	std::string str_address;
 	if (_param->_have_port_address)
 	  str_address = "conv_integer(in_READ_WRITE_"+toString(i)+"_ADDRESS)";
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/VERSION
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/VERSION	(revision 74)
+++ 	(revision )
@@ -1,4 +1,0 @@
-v0.6
-
-0.5 modif vhdl_port et vhdl_testbench_port -> ajout d'une macro
-0.6 ajout de la documentation
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/Parameters.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/Parameters.h	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/Parameters.h	(revision 75)
@@ -10,5 +10,4 @@
 
 #include "Common/include/Debug.h"
-#include "Common/include/FromString.h"
 #include "Behavioural/include/Parameters.h"
 #include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/Types.h"
@@ -16,31 +15,4 @@
 
 namespace morpheo {
-  typedef enum {PARTIAL_CROSSBAR,
-		FULL_CROSSBAR   } Tcrossbar_t;
-
-  template<> inline Tcrossbar_t fromString<Tcrossbar_t> (const std::string& x)
-  {
-    if ( (x.compare("0")                == 0) or
-	 (x.compare("PARTIAL_CROSSBAR") == 0))
-      return PARTIAL_CROSSBAR;
-    if ( (x.compare("1")                == 0) or
-	 (x.compare("FULL_CROSSBAR"   ) == 0))
-      return FULL_CROSSBAR;
-
-    throw (ErrorMorpheo ("<fromString> : Unknow string : \""+x+"\""));
-  };
-  
-  template<> inline std::string toString<Tcrossbar_t>   (const Tcrossbar_t& x)
-  {
-    ostringstream out;
-
-    if (x == PARTIAL_CROSSBAR)
-      out << "PARTIAL_CROSSBAR";
-    if (x == FULL_CROSSBAR)
-      out << "FULL_CROSSBAR";
-
-    return out.str();
-  };
-
 namespace behavioural {
 namespace generic {
@@ -92,9 +64,8 @@
   public : ~Parameters () ;
 
-  public : string msg_error (void);
-
-  public :        string   print      (uint32_t depth);
-  public : friend ostream& operator<< (ostream& output_stream,
-				       morpheo::behavioural::generic::registerfile::registerfile_multi_banked::Parameters & x);
+  public :        std::string   msg_error  (void);
+  public :        std::string   print      (uint32_t depth);
+  public : friend std::ostream& operator<< (std::ostream& output_stream,
+					    morpheo::behavioural::generic::registerfile::registerfile_multi_banked::Parameters & x);
   };
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/RegisterFile_Multi_Banked.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/RegisterFile_Multi_Banked.h	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/RegisterFile_Multi_Banked.h	(revision 75)
@@ -20,5 +20,5 @@
 #include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/Types.h"
 #ifdef STATISTICS
-#include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/Statistics.h"
+#include "Behavioural/include/Stat.h"
 #endif
 #include "Behavioural/include/Component.h"
@@ -26,6 +26,4 @@
 #include "Behavioural/include/Vhdl.h"
 #endif
-
-using namespace std;
 
 namespace morpheo {
@@ -43,13 +41,10 @@
     // -----[ fields ]----------------------------------------------------
     // Parameters
-  protected : const string       _name;
+  protected : const std::string       _name;
 
   protected : const Parameters * _param;
-//#ifdef STATISTICS
-//  protected : const morpheo::behavioural::Parameters_Statistics _param_statistics;
-//#endif
 
 #ifdef STATISTICS
-  private   : Statistics                     * _stat;
+  public    : Stat                           * _stat;
 #endif
 
@@ -100,5 +95,5 @@
 					      sc_module_name                                name,
 #else					       
-					      string                                        name,
+					      std::string                                   name,
 #endif					       
 #ifdef STATISTICS
@@ -113,6 +108,4 @@
   private : void     deallocation              (void);
 					       
-//#if defined(STATISTICS) or defined(VHDL_TESTBENCH)
-
   private : Taddress_t address_bank                 (Taddress_t address);
   private : Taddress_t address_num_reg              (Taddress_t address);
@@ -129,10 +122,5 @@
   public  : void     partial_crossbar_genMealy_read (void);
   public  : void     partial_crossbar_genMealy_write(void);
-
-//#endif
 #endif					       
-#ifdef STATISTICS
-  public  : string   statistics                (uint32_t depth);
-#endif
 					       
 #if VHDL				       
@@ -142,6 +130,9 @@
 #endif					       
 					       
-#ifdef VHDL_TESTBENCH			       
-  private : void     vhdl_testbench_transition (void);
+#ifdef STATISTICS
+  public  : void     statistics_declaration    (morpheo::behavioural::Parameters_Statistics * param_statistics);
+#endif
+#if defined(STATISTICS) or defined(VHDL_TESTBENCH)
+  private : void     end_cycle                 (void);
 #endif
   };
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/Statistics.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/Statistics.h	(revision 74)
+++ 	(revision )
@@ -1,57 +1,0 @@
-#ifdef STATISTICS
-#ifndef morpheo_behavioural_generic_registerfile_registerfile_multi_banked_Statistics_h
-#define morpheo_behavioural_generic_registerfile_registerfile_multi_banked_Statistics_h
-
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Common/include/Debug.h"
-#include "Behavioural/include/Statistics.h"
-#include "Behavioural/include/Parameters_Statistics.h"
-//#include "Behavioural/Generic/Group/include/Statistics.h"
-#include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/Parameters.h"
-
-//using namespace morpheo::behavioural::generic::group;
-
-namespace morpheo                    {
-namespace behavioural {
-namespace generic {
-namespace registerfile {
-namespace registerfile_multi_banked {
-
-
-  class Statistics : public morpheo::behavioural::Statistics
-  {
-    // -----[ fields ]----------------------------------------------------
-  private  : const Parameters *                                 _parameters;
-
-    // -----[ methods ]---------------------------------------------------
-  public   : Statistics  (string                                        name                       ,
-			  morpheo::behavioural::Parameters_Statistics * parameters_statistics      ,
-			  Parameters                                  * parameters
-			  );
-//public   : Statistics  (Statistics & stat);
-  public   : ~Statistics () ;
-    
-  public   : string   print_body (uint32_t depth);
-  public   : string   print      (uint32_t depth);
-  public   : void     add        ();
-
-  public   : friend ostream& operator<< (ostream& output_stream,
-					 const Statistics & x);
-
-  };
-
-}; // end namespace registerfile_multi_banked
-}; // end namespace registerfile
-}; // end namespace generic
-
-}; // end namespace behavioural
-}; // end namespace morpheo
-
-#endif
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/Types.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/Types.h	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/Types.h	(revision 75)
@@ -10,5 +10,6 @@
 
 #include "Behavioural/include/Types.h"
-
+#include "Common/include/ToString.h"
+#include "Common/include/FromString.h"
 namespace morpheo                    {
 namespace behavioural {
@@ -23,6 +24,34 @@
 }; // end namespace registerfile
 }; // end namespace generic
+}; // end namespace behavioural
 
-}; // end namespace behavioural
+  typedef enum {PARTIAL_CROSSBAR,
+		FULL_CROSSBAR   } Tcrossbar_t;
+
+  template<> inline Tcrossbar_t fromString<Tcrossbar_t> (const std::string& x)
+  {
+    if ( (x.compare("0")                == 0) or
+	 (x.compare("PARTIAL_CROSSBAR") == 0))
+      return PARTIAL_CROSSBAR;
+    if ( (x.compare("1")                == 0) or
+	 (x.compare("FULL_CROSSBAR"   ) == 0))
+      return FULL_CROSSBAR;
+
+    throw (ErrorMorpheo ("<fromString> : Unknow string : \""+x+"\""));
+  };
+  
+  template<> inline std::string toString<Tcrossbar_t>   (const Tcrossbar_t& x)
+  {
+    std::ostringstream out;
+
+    if (x == PARTIAL_CROSSBAR)
+      out << "PARTIAL_CROSSBAR";
+    if (x == FULL_CROSSBAR)
+      out << "FULL_CROSSBAR";
+
+    return out.str();
+  };
+
+
 }; // end namespace morpheo              
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/Parameters_msg_error.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/Parameters_msg_error.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/Parameters_msg_error.cpp	(revision 75)
@@ -7,7 +7,4 @@
 
 #include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/Parameters.h"
-#include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/Types.h"
-#include <sstream>
-using namespace std;
 
 namespace morpheo                    {
@@ -18,9 +15,9 @@
 
 
-  string Parameters::msg_error(void)
+  std::string Parameters::msg_error(void)
   {
     log_printf(FUNC,RegisterFile_Multi_Banked,"msg_error","Begin");
 
-    string msg = "";
+    std::string msg = "";
 
     if (_nb_port_read < _nb_port_read_by_bank)
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/Parameters_print.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/Parameters_print.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/Parameters_print.cpp	(revision 75)
@@ -8,5 +8,4 @@
 #include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/Parameters.h"
 #include "Behavioural/include/XML.h"
-using namespace std;
 
 namespace morpheo                    {
@@ -17,5 +16,5 @@
 
 
-  string Parameters::print (uint32_t depth)
+  std::string Parameters::print (uint32_t depth)
   {
     log_printf(FUNC,RegisterFile_Multi_Banked,"print","Begin");
@@ -46,6 +45,6 @@
   };
 
-  ostream& operator<< (ostream& output_stream ,
-		       morpheo::behavioural::generic::registerfile::registerfile_multi_banked::Parameters & x)
+  std::ostream& operator<< (std::ostream& output_stream ,
+			    morpheo::behavioural::generic::registerfile::registerfile_multi_banked::Parameters & x)
   {
     output_stream << x.print(0);
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked.cpp	(revision 75)
@@ -26,7 +26,4 @@
 			      _name              (name)
 			      ,_param            (param)
-// #ifdef STATISTICS
-// 			      ,_param_statistics (param_statistics)
-// #endif
   {
     log_printf(FUNC,RegisterFile_Multi_Banked,"RegisterFile_Multi_Banked","Begin");
@@ -42,7 +39,5 @@
 
     // Allocation of statistics
-    _stat = new Statistics (static_cast<string>(_name),
-			    param_statistics          ,
-			    param);
+    statistics_declaration(param_statistics);
 #endif
 
@@ -142,6 +137,4 @@
 #ifdef STATISTICS
     log_printf(INFO,RegisterFile_Multi_Banked,"~RegisterFile_Multi_Banked","Generate Statistics file");
-
-    _stat->generate_file(statistics(0));
     
     delete _stat;
@@ -160,5 +153,4 @@
 }; // end namespace registerfile
 }; // end namespace generic
-
 }; // end namespace behavioural
 }; // end namespace morpheo              
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_allocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_allocation.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_allocation.cpp	(revision 75)
@@ -18,6 +18,4 @@
   void RegisterFile_Multi_Banked::allocation (void)
   {
-    string rename;
-
     log_printf(FUNC,RegisterFile_Multi_Banked,"allocation","Begin");
 
@@ -27,5 +25,5 @@
 					      ,"RegisterFile_Multi_Banked"
 #ifdef POSITION
-					      ,Register 
+					      ,REGISTER 
 #endif
 					      );
@@ -106,5 +104,5 @@
 	for (uint32_t j=0; j<_param->_nb_word; j++)
 	  {
-	    string rename = "reg_DATA_"  + toString(i) + "_"  + toString(j);
+	    std::string rename = "reg_DATA_"  + toString(i) + "_"  + toString(j);
 	    reg_DATA [i][j]  = new SC_REGISTER (Tdata_t) (rename.c_str());
 	  }
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_end_cycle.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_end_cycle.cpp	(revision 75)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_end_cycle.cpp	(revision 75)
@@ -0,0 +1,43 @@
+#if defined(STATISTICS) or defined(VHDL_TESTBENCH)
+
+/*
+ * $Id$
+ *
+ * [ Description ]
+ * 
+ */
+
+#include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/RegisterFile_Multi_Banked.h"
+
+namespace morpheo                    {
+namespace behavioural {
+namespace generic {
+namespace registerfile {
+namespace registerfile_multi_banked {
+
+#undef  FUNCTION
+#define FUNCTION "RegisterFile_Multi_Banked::end_cycle"
+void RegisterFile_Multi_Banked::end_cycle ()
+  {
+    log_printf(FUNC,RegisterFile_Multi_Banked,FUNCTION,"Begin");
+
+#ifdef STATISTICS
+    _stat->end_cycle();
+#endif    
+
+#ifdef VHDL_TESTBENCH
+    // Evaluation before read the ouput signal
+//  sc_start(0);
+    _interfaces->testbench();
+#endif
+
+    log_printf(FUNC,RegisterFile_Multi_Banked,FUNCTION,"End");
+  };
+
+}; // end namespace registerfile_multi_banked
+}; // end namespace registerfile
+}; // end namespace generic
+
+}; // end namespace behavioural
+}; // end namespace morpheo              
+#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_statistics.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_statistics.cpp	(revision 74)
+++ 	(revision )
@@ -1,35 +1,0 @@
-#ifdef STATISTICS
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/RegisterFile_Multi_Banked.h"
-
-namespace morpheo {
-namespace behavioural {
-namespace generic {
-namespace registerfile {
-namespace registerfile_multi_banked {
-
-
-  string RegisterFile_Multi_Banked::statistics (uint32_t depth)
-  {
-    log_printf(FUNC,RegisterFile_Multi_Banked,"statistics","Begin");
-
-    string txt = _stat->print(depth);
-    
-    log_printf(FUNC,RegisterFile_Multi_Banked,"statistics","End");
-
-    return txt;
-  };
-
-}; // end namespace registerfile_multi_banked
-}; // end namespace registerfile
-}; // end namespace generic
-
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_statistics_declaration.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_statistics_declaration.cpp	(revision 75)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_statistics_declaration.cpp	(revision 75)
@@ -0,0 +1,36 @@
+#ifdef STATISTICS
+/*
+ * $Id$
+ *
+ * [ Description ]
+ * 
+ */
+
+#include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/RegisterFile_Multi_Banked.h"
+
+namespace morpheo {
+namespace behavioural {
+namespace generic {
+namespace registerfile {
+namespace registerfile_multi_banked {
+
+#undef  FUNCTION
+#define FUNCTION "RegisterFile_Multi_Banked::statistics_declaration"
+  void RegisterFile_Multi_Banked::statistics_declaration (morpheo::behavioural::Parameters_Statistics * param_statistics)
+  {
+    log_printf(FUNC,RegisterFile_Multi_Banked,FUNCTION,"Begin");
+
+    _stat = new Stat (static_cast<std::string>(_name),
+		      "RegisterFile_Multi_Banked",
+		      param_statistics);
+    
+    log_printf(FUNC,RegisterFile_Multi_Banked,FUNCTION,"End");
+  };
+
+}; // end namespace registerfile_multi_banked
+}; // end namespace registerfile
+}; // end namespace generic
+
+}; // end namespace behavioural
+}; // end namespace morpheo              
+#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_transition.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_transition.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_transition.cpp	(revision 75)
@@ -35,10 +35,6 @@
       }
 
-#ifdef STATISTICS
-    _stat->add();
-#endif    
-
-#ifdef VHDL_TESTBENCH
-    vhdl_testbench_transition ();
+#if defined(STATISTICS) or defined(VHDL_TESTBENCH)
+    end_cycle();
 #endif
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_vhdl.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_vhdl.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_vhdl.cpp	(revision 75)
@@ -39,5 +39,5 @@
        ,_param->_size_word);
     
-    string bank_name = _name + "_bank";
+    std::string bank_name = _name + "_bank";
     bank = new morpheo::behavioural::generic::registerfile::registerfile_monolithic::RegisterFile_Monolithic 
       (bank_name.c_str()
@@ -106,8 +106,8 @@
 			 (nb_select_port_4 != nb_select_port_1) );
 
-    string select_name1;
-    string select_name2;
-    string select_name3;
-    string select_name4;
+    std::string select_name1;
+    std::string select_name2;
+    std::string select_name3;
+    std::string select_name4;
     
     if (have_select1)
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_vhdl_body.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_vhdl_body.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_vhdl_body.cpp	(revision 75)
@@ -85,6 +85,6 @@
 	      {
 		uint32_t num_port  = (_param->_crossbar == FULL_CROSSBAR)?k:(_param->_nb_port_read_by_bank*k+j);
-		string   separator = ((k==0)?" ":",");
-		string   index     = (_param->_crossbar == FULL_CROSSBAR)?("_"+toString(j)):"";
+		std::string   separator = ((k==0)?" ":",");
+		std::string   index     = (_param->_crossbar == FULL_CROSSBAR)?("_"+toString(j)):"";
 
 		vhdl->set_body("\t"+separator+" in_VAL_"+toString(k)+"     \t=>\tinternal_READ_"+toString(i)+"_"+toString(num_port)+index+"_VAL");
@@ -104,6 +104,6 @@
 	      {
 		uint32_t num_port  = (_param->_crossbar == FULL_CROSSBAR)?k:(_param->_nb_port_write_by_bank*k+j);
-		string   separator = ((k==0)?" ":",");
-		string   index     = (_param->_crossbar == FULL_CROSSBAR)?("_"+toString(j)):"";
+		std::string   separator = ((k==0)?" ":",");
+		std::string   index     = (_param->_crossbar == FULL_CROSSBAR)?("_"+toString(j)):"";
 		
 		vhdl->set_body("\t"+separator+" in_VAL_"+toString(k)+"     \t=>\tinternal_WRITE_"+toString(i)+"_"+toString(num_port)+index+"_VAL");
@@ -130,5 +130,5 @@
 	      {
 		uint32_t num_port  = (_param->_crossbar == FULL_CROSSBAR)?k:(_param->_nb_port_read_by_bank*k+j);
-		string   index     = (_param->_crossbar == FULL_CROSSBAR)?("_"+toString(j)):"";
+		std::string   index     = (_param->_crossbar == FULL_CROSSBAR)?("_"+toString(j)):"";
 		vhdl->set_body("\tor internal_SELECT_READ_"+toString(i)+"_"+toString(num_port)+index+"_VAL");
 	      }
@@ -143,5 +143,5 @@
 	      {
 		uint32_t num_port  = (_param->_crossbar == FULL_CROSSBAR)?k:(_param->_nb_port_write_by_bank*k+j);
-		string   index     = (_param->_crossbar == FULL_CROSSBAR)?("_"+toString(j)):"";
+		std::string   index     = (_param->_crossbar == FULL_CROSSBAR)?("_"+toString(j)):"";
 
 		vhdl->set_body("\tor internal_SELECT_WRITE_"+toString(i)+"_"+toString(num_port)+index+"_VAL");
@@ -168,5 +168,5 @@
 	      {
 		uint32_t num_port  = (_param->_crossbar == FULL_CROSSBAR)?k:(_param->_nb_port_read_by_bank*k+j);
-		string   index     = (_param->_crossbar == FULL_CROSSBAR)?("_"+toString(j)):"";
+		std::string   index     = (_param->_crossbar == FULL_CROSSBAR)?("_"+toString(j)):"";
 				
 		vhdl->set_body("\tin_READ_"+toString(num_port)+"_ADDRESS"+std_logic_range(_param->_size_address_by_bank)+"  when internal_SELECT_READ_"+toString(i)+"_"+toString(num_port)+index+"_VAL ='1' else");
@@ -183,5 +183,5 @@
 	      {
 		uint32_t num_port  = (_param->_crossbar == FULL_CROSSBAR)?k:(_param->_nb_port_write_by_bank*k+j);
-		string   index     = (_param->_crossbar == FULL_CROSSBAR)?("_"+toString(j)):"";
+		std::string   index     = (_param->_crossbar == FULL_CROSSBAR)?("_"+toString(j)):"";
 
 		vhdl->set_body("\tin_WRITE_"+toString(num_port)+"_ADDRESS"+std_logic_range(_param->_size_address_by_bank)+" when internal_SELECT_WRITE_"+toString(i)+"_"+toString(num_port)+index+"_VAL='1' else");
@@ -207,5 +207,5 @@
 	      {
 		uint32_t num_port  = (_param->_crossbar == FULL_CROSSBAR)?k:(_param->_nb_port_write_by_bank*k+j);
-		string   index     = (_param->_crossbar == FULL_CROSSBAR)?("_"+toString(j)):"";
+		std::string   index     = (_param->_crossbar == FULL_CROSSBAR)?("_"+toString(j)):"";
 		vhdl->set_body("\tin_WRITE_"+toString(num_port)+"_DATA when internal_SELECT_WRITE_"+toString(i)+"_"+toString(num_port)+index+"_VAL='1' else");
 	      }
@@ -225,5 +225,5 @@
 	for (uint32_t j=0; j<_param->_nb_port_read; j ++)
 	  {
-	    string str_address;
+	    std::string str_address;
 
 	    if (_param->_have_bank_port_address == true)
@@ -236,5 +236,5 @@
 	for (uint32_t j=0; j<_param->_nb_port_write; j ++)
 	  {
-	    string str_address;
+	    std::string str_address;
 
 	    if (_param->_have_port_address == true)
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_vhdl_testbench_transition.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_vhdl_testbench_transition.cpp	(revision 74)
+++ 	(revision )
@@ -1,36 +1,0 @@
-#ifdef VHDL_TESTBENCH
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/RegisterFile_Multi_Banked.h"
-
-namespace morpheo                    {
-namespace behavioural {
-namespace generic {
-namespace registerfile {
-namespace registerfile_multi_banked {
-
-
-  void RegisterFile_Multi_Banked::vhdl_testbench_transition ()
-  {
-    log_printf(FUNC,RegisterFile_Multi_Banked,"vhdl_testbench_transition","Begin");
-
-    // Evaluation before read the ouput signal
-//     sc_start(0);
-
-    _interfaces->testbench();
-
-    log_printf(FUNC,RegisterFile_Multi_Banked,"vhdl_testbench_transition","End");
-  };
-
-}; // end namespace registerfile_multi_banked
-}; // end namespace registerfile
-}; // end namespace generic
-
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/Statistics.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/Statistics.cpp	(revision 74)
+++ 	(revision )
@@ -1,42 +1,0 @@
-#ifdef STATISTICS
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/Statistics.h"
-
-namespace morpheo                    {
-namespace behavioural {
-namespace generic {
-namespace registerfile {
-namespace registerfile_multi_banked {
-
-
-  Statistics::Statistics (string                                      name                       ,
-			  morpheo::behavioural::Parameters_Statistics * parameters_statistics      ,
-			  Parameters                                  * parameters
-			  ) :
-    morpheo::behavioural::Statistics(name                  ,
-				     parameters_statistics ),
-    _parameters(parameters)
-  {
-    log_printf(FUNC,RegisterFile_Multi_Banked,"Statistics","Begin");
-    log_printf(FUNC,RegisterFile_Multi_Banked,"Statistics","End");
-  };
-  
-  Statistics::~Statistics () 
-  { 
-    log_printf(FUNC,RegisterFile_Multi_Banked,"~Statistics","Begin");
-    log_printf(FUNC,RegisterFile_Multi_Banked,"~Statistics","End");
-  };
-
-}; // end namespace registerfile_multi_banked
-}; // end namespace registerfile
-}; // end namespace generic
-
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/Statistics_add.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/Statistics_add.cpp	(revision 74)
+++ 	(revision )
@@ -1,33 +1,0 @@
-#ifdef STATISTICS
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/Statistics.h"
-
-#include <sstream>
-using namespace std;
-
-namespace morpheo                    {
-namespace behavioural {
-namespace generic {
-namespace registerfile {
-namespace registerfile_multi_banked {
-
-
-  void Statistics::add ()
-  {
-    log_printf(FUNC,RegisterFile_Multi_Banked,"add","Begin");
-    log_printf(FUNC,RegisterFile_Multi_Banked,"add","End");
-  };
-
-}; // end namespace registerfile_multi_banked
-}; // end namespace registerfile
-}; // end namespace generic
-
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/Statistics_print.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/Statistics_print.cpp	(revision 74)
+++ 	(revision )
@@ -1,51 +1,0 @@
-#ifdef STATISTICS
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/Statistics.h"
-
-#include <sstream>
-using namespace std;
-
-namespace morpheo {
-namespace behavioural {
-namespace generic {
-namespace registerfile {
-namespace registerfile_multi_banked {
-
-
-  string Statistics::print (uint32_t depth)
-  {
-    log_printf(FUNC,RegisterFile_Multi_Banked,"print","Begin");
-
-    string        tab = string(depth,'\t');
-    ostringstream msg;
-
-    msg << tab << "<registerfile_multi_banked name=\"" << _name << "\" >" << endl
-        << print_body(depth+1) << endl
-	<< tab << "</registerfile_multi_banked>" << endl;
-    
-    log_printf(FUNC,RegisterFile_Multi_Banked,"print","End");
-
-    return msg.str();
-  };
-
-  ostream& operator<< (ostream& output_stream ,
-		       morpheo::behavioural::generic::registerfile::registerfile_multi_banked::Statistics & x)
-  {
-    output_stream << x.print(0);
-
-    return output_stream;
-  };
-
-}; // end namespace registerfile_multi_banked
-}; // end namespace registerfile
-}; // end namespace generic
-
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/Statistics_print_body.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/Statistics_print_body.cpp	(revision 74)
+++ 	(revision )
@@ -1,41 +1,0 @@
-#ifdef STATISTICS
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/Statistics.h"
-
-#include <sstream>
-using namespace std;
-
-namespace morpheo                    {
-namespace behavioural {
-namespace generic {
-namespace registerfile {
-namespace registerfile_multi_banked {
-
-
-  string Statistics::print_body (uint32_t depth)
-  {
-    log_printf(FUNC,RegisterFile_Multi_Banked,"print_body","Begin");
-
-    string        tab = string(depth,'\t');
-    ostringstream msg;
-
-    msg << tab << "";
-    
-    log_printf(FUNC,RegisterFile_Multi_Banked,"print_body","End");
-
-    return msg.str();
-  };
-
-}; // end namespace registerfile_multi_banked
-}; // end namespace registerfile
-}; // end namespace generic
-
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/VERSION
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/VERSION	(revision 74)
+++ 	(revision )
@@ -1,4 +1,0 @@
-v0.6
-
-0.5 modif vhdl_port et vhdl_testbench_port -> ajout d'une macro
-0.6 ajout de la documentation
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/include/Parameters.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/include/Parameters.h	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/include/Parameters.h	(revision 75)
@@ -43,8 +43,7 @@
   public : ~Parameters () ;
 
-  public : string msg_error (void);
-
-  public :        string   print      (uint32_t depth);
-  public : friend ostream& operator<< (ostream& output_stream,
+  public :        std::string   msg_error  (void);
+  public :        std::string   print      (uint32_t depth);
+  public : friend std::ostream& operator<< (std::ostream& output_stream,
 				       morpheo::behavioural::generic::registerfile::Parameters & x);
   };
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/include/RegisterFile.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/include/RegisterFile.h	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/include/RegisterFile.h	(revision 75)
@@ -23,5 +23,5 @@
 #include "Behavioural/Generic/RegisterFile/include/Types.h"
 #ifdef STATISTICS
-#include "Behavioural/Generic/RegisterFile/include/Statistics.h"
+#include "Behavioural/include/Stat.h"
 #endif
 #include "Behavioural/include/Component.h"
@@ -29,6 +29,4 @@
 #include "Behavioural/include/Vhdl.h"
 #endif
-
-using namespace std;
 
 namespace morpheo {
@@ -45,9 +43,10 @@
     // -----[ fields ]----------------------------------------------------
     // Parameters
-  protected : const string       _name;
+  protected : const std::string       _name;
 
   protected : const Parameters * _param;
+
 #ifdef STATISTICS
-  protected : morpheo::behavioural::Parameters_Statistics * _param_statistics;
+  public    : Stat                           * _stat;
 #endif
 
@@ -89,23 +88,25 @@
   public  :          RegisterFile              (
 #ifdef SYSTEMC
-					      sc_module_name                              name,
+						sc_module_name                              name,
 #else					       
-					      string                                      name,
+						std::string                                      name,
 #endif					       
 #ifdef STATISTICS
-					      morpheo::behavioural::Parameters_Statistics * param_statistics,
+						morpheo::behavioural::Parameters_Statistics * param_statistics,
 #endif
-					      Parameters                                  * param );
-					       
+						Parameters                                  * param );
+    
   public  :          ~RegisterFile             (void);
 					       
 #ifdef SYSTEMC				       
-  private : void     allocation                (void);
+  private : void     allocation                (
+#ifdef STATISTICS
+						morpheo::behavioural::Parameters_Statistics * param_statistics
+#else
+						void
+#endif
+						);
   private : void     deallocation              (void);
 #endif					       
-
-#ifdef STATISTICS
-  public  : string   statistics                (uint32_t depth);
-#endif
   };
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/include/Statistics.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/include/Statistics.h	(revision 74)
+++ 	(revision )
@@ -1,55 +1,0 @@
-#ifdef STATISTICS
-#ifndef morpheo_behavioural_generic_registerfile_Statistics_h
-#define morpheo_behavioural_generic_registerfile_Statistics_h
-
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Common/include/Debug.h"
-#include "Behavioural/include/Statistics.h"
-#include "Behavioural/include/Parameters_Statistics.h"
-//#include "Behavioural/Generic/Group/include/Statistics.h"
-#include "Behavioural/Generic/RegisterFile/include/Parameters.h"
-
-//using namespace morpheo::behavioural::generic::group;
-
-namespace morpheo                    {
-namespace behavioural {
-namespace generic {
-namespace registerfile {
-
-
-  class Statistics : public morpheo::behavioural::Statistics
-  {
-    // -----[ fields ]----------------------------------------------------
-  private  : const Parameters                                   _parameters;
-
-    // -----[ methods ]---------------------------------------------------
-  public   : Statistics  (string                                      name                       ,
-			  morpheo::behavioural::Parameters_Statistics parameters_statistics      ,
-			  Parameters                                  parameters
-			  );
-//public   : Statistics  (Statistics & stat);
-  public   : ~Statistics () ;
-    
-  public   : string   print_body (uint32_t depth);
-  public   : string   print      (uint32_t depth);
-  public   : void     add        ();
-
-  public   : friend ostream& operator<< (ostream& output_stream,
-					 const Statistics & x);
-
-  };
-
-}; // end namespace registerfile
-}; // end namespace generic
-
-}; // end namespace behavioural
-}; // end namespace morpheo
-
-#endif
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/src/Parameters_msg_error.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/src/Parameters_msg_error.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/src/Parameters_msg_error.cpp	(revision 75)
@@ -9,5 +9,4 @@
 #include "Behavioural/Generic/RegisterFile/include/Types.h"
 #include <sstream>
-using namespace std;
 
 namespace morpheo                    {
@@ -17,5 +16,5 @@
 
 
-  string Parameters::msg_error(void)
+  std::string Parameters::msg_error(void)
   {
     log_printf(FUNC,RegisterFile,"msg_error","Begin");
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/src/Parameters_print.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/src/Parameters_print.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/src/Parameters_print.cpp	(revision 75)
@@ -8,5 +8,4 @@
 #include "Behavioural/Generic/RegisterFile/include/Parameters.h"
 #include "Behavioural/include/XML.h"
-using namespace std;
 
 namespace morpheo                    {
@@ -16,9 +15,9 @@
 
 
-  string Parameters::print (uint32_t depth)
+  std::string Parameters::print (uint32_t depth)
   {
     log_printf(FUNC,RegisterFile,"print","Begin");
 
-    string _return;
+    std::string _return;
 
     if (_instance == instance_RegisterFile_Monolithic)
@@ -32,11 +31,8 @@
   };
 
-  ostream& operator<< (ostream& output_stream ,
-		       morpheo::behavioural::generic::registerfile::Parameters & x)
+  std::ostream& operator<< (std::ostream& output_stream ,
+			    morpheo::behavioural::generic::registerfile::Parameters & x)
   {
-    if (x._instance == instance_RegisterFile_Monolithic)
-      output_stream << x._param_registerfile_monolithic  ->print(0);
-    else
-      output_stream << x._param_registerfile_multi_banked->print(0);
+    output_stream << x.print(0);
     
     return output_stream;
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/src/RegisterFile.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/src/RegisterFile.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/src/RegisterFile.cpp	(revision 75)
@@ -25,7 +25,4 @@
 			      _name              (name)
 			      ,_param            (param)
-#ifdef STATISTICS
-			      ,_param_statistics (param_statistics)
-#endif
   {
     log_printf(FUNC,RegisterFile,"RegisterFile","Begin");
@@ -34,5 +31,16 @@
     log_printf(INFO,RegisterFile,"RegisterFile","Allocation");
 
-    allocation ();
+    allocation (
+# ifdef STATISTICS
+		param_statistics
+# endif
+		);
+#endif
+
+#ifdef STATISTICS
+    if (_param->_instance == instance_RegisterFile_Monolithic)
+      _stat = component_RegisterFile_Monolithic  ->_stat;
+    else
+      _stat = component_RegisterFile_Multi_Banked->_stat;
 #endif
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/src/RegisterFile_allocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/src/RegisterFile_allocation.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/src/RegisterFile_allocation.cpp	(revision 75)
@@ -15,7 +15,13 @@
 
 
-  void RegisterFile::allocation (void)
+  void RegisterFile::allocation (
+#ifdef STATISTICS
+				 morpheo::behavioural::Parameters_Statistics * param_statistics
+#else
+				 void
+#endif
+				 )
   {
-    string rename;
+    std::string rename;
 
     log_printf(FUNC,RegisterFile,"allocation","Begin");
@@ -78,5 +84,5 @@
 	component_RegisterFile_Monolithic  = new morpheo::behavioural::generic::registerfile::registerfile_monolithic  ::RegisterFile_Monolithic  ::RegisterFile_Monolithic   (_name.c_str()
 #ifdef STATISTICS
-																					       ,_param_statistics
+																					       ,param_statistics
 #endif
 																					       ,_param->_param_registerfile_monolithic
@@ -89,5 +95,5 @@
 	component_RegisterFile_Multi_Banked = new morpheo::behavioural::generic::registerfile::registerfile_multi_banked::RegisterFile_Multi_Banked::RegisterFile_Multi_Banked (_name.c_str()
 #ifdef STATISTICS
-																						,_param_statistics
+																						,param_statistics
 #endif
 																						,_param->_param_registerfile_multi_banked
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/src/RegisterFile_statistics.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/src/RegisterFile_statistics.cpp	(revision 74)
+++ 	(revision )
@@ -1,38 +1,0 @@
-#ifdef STATISTICS
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/Generic/RegisterFile/include/RegisterFile.h"
-
-namespace morpheo {
-namespace behavioural {
-namespace generic {
-namespace registerfile {
-
-
-  string RegisterFile::statistics (uint32_t depth)
-  {
-    log_printf(FUNC,RegisterFile,"statistics","Begin");
-    
-    string txt;
-
-    if (_param->_instance == instance_RegisterFile_Monolithic)
-      txt = component_RegisterFile_Monolithic  ->statistics(depth);
-    else
-      txt = component_RegisterFile_Multi_Banked->statistics(depth);
-    
-    log_printf(FUNC,RegisterFile,"statistics","End");
-
-    return txt;
-  };
-
-}; // end namespace registerfile
-}; // end namespace generic
-
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/VERSION
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/VERSION	(revision 74)
+++ 	(revision )
@@ -1,3 +1,0 @@
-v0.5
-
-0.5 modif vhdl_port et vhdl_testbench_port -> ajout d'une macro
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/include/Parameters.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/include/Parameters.h	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/include/Parameters.h	(revision 75)
@@ -34,9 +34,8 @@
   public : ~Parameters () ;
 
-  public : string msg_error (void);
-
-  public :        string   print      (uint32_t depth);
-  public : friend ostream& operator<< (ostream& output_stream,
-				       morpheo::behavioural::generic::select::select_priority_fixed::Parameters & x);
+  public :        std::string   msg_error  (void);
+  public :        std::string   print      (uint32_t depth);
+  public : friend std::ostream& operator<< (std::ostream& output_stream,
+					    morpheo::behavioural::generic::select::select_priority_fixed::Parameters & x);
   };
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/include/Select_Priority_Fixed.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/include/Select_Priority_Fixed.h	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/include/Select_Priority_Fixed.h	(revision 75)
@@ -20,5 +20,5 @@
 #include "Behavioural/Generic/Select/Select_Priority_Fixed/include/Types.h"
 #ifdef STATISTICS
-#include "Behavioural/Generic/Select/Select_Priority_Fixed/include/Statistics.h"
+#include "Behavioural/include/Stat.h"
 #endif
 #include "Behavioural/include/Component.h"
@@ -27,6 +27,4 @@
 #endif
 #include "Behavioural/include/Usage.h"
-
-using namespace std;
 
 namespace morpheo {
@@ -44,5 +42,5 @@
     // -----[ fields ]----------------------------------------------------
     // Parameters
-  protected : const string     _name;
+  protected : const std::string     _name;
   protected : const Parameters * _param;
   private   : const Tusage_t     _usage;
@@ -52,5 +50,5 @@
 
 #ifdef STATISTICS
-  private   : Statistics                     * _stat;
+  public    : Stat                           * _stat;
 #endif
 
@@ -87,5 +85,5 @@
    sc_module_name                              name,
 #else					       
-   string                                      name,
+   std::string                                 name,
 #endif					       
 #ifdef STATISTICS
@@ -101,12 +99,9 @@
   private : void     deallocation              (void);
 					       
-#if defined(STATISTICS) or defined(VHDL_TESTBENCH)
+# if defined(STATISTICS) or defined(VHDL_TESTBENCH)
   public  : void     transition                (void);
-#endif
+# endif
   public  : void     genMealy_entity           (void);
 #endif					       
-#ifdef STATISTICS
-  public  : string   statistics                (uint32_t depth);
-#endif
 					       
 #if VHDL				       
@@ -116,6 +111,9 @@
 #endif					       
 					       
-#ifdef VHDL_TESTBENCH			       
-  private : void     vhdl_testbench_transition (void);
+#ifdef STATISTICS
+  public  : void        statistics_declaration    (morpheo::behavioural::Parameters_Statistics * param_statistics);
+#endif
+#if defined(STATISTICS) or defined(VHDL_TESTBENCH)
+  private : void        end_cycle                 (void);
 #endif
   };
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/include/Statistics.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/include/Statistics.h	(revision 74)
+++ 	(revision )
@@ -1,57 +1,0 @@
-#ifdef STATISTICS
-#ifndef morpheo_behavioural_generic_select_select_priority_fixed_Statistics_h
-#define morpheo_behavioural_generic_select_select_priority_fixed_Statistics_h
-
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Common/include/Debug.h"
-#include "Behavioural/include/Statistics.h"
-#include "Behavioural/include/Parameters_Statistics.h"
-//#include "Behavioural/Generic/Group/include/Statistics.h"
-#include "Behavioural/Generic/Select/Select_Priority_Fixed/include/Parameters.h"
-
-//using namespace morpheo::behavioural::generic::group;
-
-namespace morpheo                    {
-namespace behavioural {
-namespace generic {
-namespace select {
-namespace select_priority_fixed {
-
-
-  class Statistics : public morpheo::behavioural::Statistics
-  {
-    // -----[ fields ]----------------------------------------------------
-  private  : const Parameters                                 * _parameters;
-
-    // -----[ methods ]---------------------------------------------------
-  public   : Statistics  (string                                      name                       ,
-			  morpheo::behavioural::Parameters_Statistics * parameters_statistics      ,
-			  Parameters                                  * parameters
-			  );
-//public   : Statistics  (Statistics & stat);
-  public   : ~Statistics () ;
-    
-  public   : string   print_body (uint32_t depth);
-  public   : string   print      (uint32_t depth);
-  public   : void     add        ();
-
-  public   : friend ostream& operator<< (ostream& output_stream,
-					 const Statistics & x);
-
-  };
-
-}; // end namespace select_priority_fixed
-}; // end namespace select
-}; // end namespace generic
-
-}; // end namespace behavioural
-}; // end namespace morpheo
-
-#endif
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Parameters_msg_error.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Parameters_msg_error.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Parameters_msg_error.cpp	(revision 75)
@@ -9,5 +9,4 @@
 #include "Behavioural/Generic/Select/Select_Priority_Fixed/include/Types.h"
 #include <sstream>
-using namespace std;
 
 namespace morpheo                    {
@@ -18,9 +17,9 @@
 
 
-  string Parameters::msg_error(void)
+  std::string Parameters::msg_error(void)
   {
     log_printf(FUNC,Select_Priority_Fixed,"msg_error","Begin");
 
-    string msg = "";
+    std::string msg = "";
 
     if ((_encoding_one_hot or _encoding_compact) == false)
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Parameters_print.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Parameters_print.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Parameters_print.cpp	(revision 75)
@@ -8,5 +8,4 @@
 #include "Behavioural/Generic/Select/Select_Priority_Fixed/include/Parameters.h"
 #include "Behavioural/include/XML.h"
-using namespace std;
 
 namespace morpheo                    {
@@ -16,5 +15,5 @@
 namespace select_priority_fixed {
 
-  string Parameters::print (uint32_t depth)
+  std::string Parameters::print (uint32_t depth)
   {
     log_printf(FUNC,Select_Priority_Fixed,"print","Begin");
@@ -33,6 +32,6 @@
   };
 
-  ostream& operator<< (ostream& output_stream ,
-		       morpheo::behavioural::generic::select::select_priority_fixed::Parameters & x)
+  std::ostream& operator<< (std::ostream& output_stream ,
+			    morpheo::behavioural::generic::select::select_priority_fixed::Parameters & x)
   {
     output_stream << x.print(0);
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Select_Priority_Fixed.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Select_Priority_Fixed.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Select_Priority_Fixed.cpp	(revision 75)
@@ -30,7 +30,4 @@
     _param            (param),
     _usage            (usage)
-// #ifdef STATISTICS
-// 			      ,_param_statistics (param_statistics)
-// #endif
   {
     log_printf(FUNC,Select_Priority_Fixed,"Select_Priority_Fixed","Begin");
@@ -44,8 +41,5 @@
 	log_printf(INFO,Select_Priority_Fixed,"Select_Priority_Fixed","Allocation of statistics");
 	
-	// Allocation of statistics
-	_stat = new Statistics (static_cast<string>(_name),
-				param_statistics          ,
-				param);
+	statistics_declaration(param_statistics);
       }
 #endif
@@ -106,5 +100,4 @@
 	log_printf(INFO,Select_Priority_Fixed,"~Select_Priority_Fixed","Generate Statistics file");
 	
-	_stat->generate_file(statistics(0));
 	delete _stat;
       }
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Select_Priority_Fixed_end_cycle.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Select_Priority_Fixed_end_cycle.cpp	(revision 75)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Select_Priority_Fixed_end_cycle.cpp	(revision 75)
@@ -0,0 +1,42 @@
+#if defined(STATISTICS) or defined(VHDL_TESTBENCH)
+/*
+ * $Id$
+ *
+ * [ Description ]
+ * 
+ */
+
+#include "Behavioural/Generic/Select/Select_Priority_Fixed/include/Select_Priority_Fixed.h"
+
+namespace morpheo                    {
+namespace behavioural {
+namespace generic {
+namespace select {
+namespace select_priority_fixed {
+
+#undef  FUNCTION
+#define FUNCTION "Select_Priority_Fixed::end_cycle"
+void Select_Priority_Fixed::end_cycle ()
+  {
+    log_printf(FUNC,Select_Priority_Fixed,FUNCTION,"Begin");
+
+#ifdef STATISTICS
+    _stat->end_cycle();
+#endif    
+
+#ifdef VHDL_TESTBENCH
+    // Evaluation before read the ouput signal
+//  sc_start(0);
+    _interfaces->testbench();
+#endif
+
+    log_printf(FUNC,Select_Priority_Fixed,FUNCTION,"End");
+  };
+
+}; // end namespace select_priority_fixed
+}; // end namespace select
+}; // end namespace generic
+
+}; // end namespace behavioural
+}; // end namespace morpheo              
+#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Select_Priority_Fixed_statistics.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Select_Priority_Fixed_statistics.cpp	(revision 74)
+++ 	(revision )
@@ -1,35 +1,0 @@
-#ifdef STATISTICS
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/Generic/Select/Select_Priority_Fixed/include/Select_Priority_Fixed.h"
-
-namespace morpheo {
-namespace behavioural {
-namespace generic {
-namespace select {
-namespace select_priority_fixed {
-
-
-  string Select_Priority_Fixed::statistics (uint32_t depth)
-  {
-    log_printf(FUNC,Select_Priority_Fixed,"statistics","Begin");
-
-    string txt = _stat->print(depth);
-    
-    log_printf(FUNC,Select_Priority_Fixed,"statistics","End");
-
-    return txt;
-  };
-
-}; // end namespace select_priority_fixed
-}; // end namespace select
-}; // end namespace generic
-
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Select_Priority_Fixed_statistics_declaration.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Select_Priority_Fixed_statistics_declaration.cpp	(revision 75)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Select_Priority_Fixed_statistics_declaration.cpp	(revision 75)
@@ -0,0 +1,36 @@
+#ifdef STATISTICS
+/*
+ * $Id$
+ *
+ * [ Description ]
+ * 
+ */
+
+#include "Behavioural/Generic/Select/Select_Priority_Fixed/include/Select_Priority_Fixed.h"
+
+namespace morpheo {
+namespace behavioural {
+namespace generic {
+namespace select {
+namespace select_priority_fixed {
+
+#undef  FUNCTION
+#define FUNCTION "Select_Priority_Fixed::statistics_declaration"
+  void Select_Priority_Fixed::statistics_declaration (morpheo::behavioural::Parameters_Statistics * param_statistics)
+  {
+    log_printf(FUNC,Select_Priority_Fixed,FUNCTION,"Begin");
+
+    _stat = new Stat (static_cast<std::string>(_name),
+		      "Select_Priority_Fixed",
+		      param_statistics);
+    
+    log_printf(FUNC,Select_Priority_Fixed,FUNCTION,"End");
+  };
+
+}; // end namespace select_priority_fixed
+}; // end namespace select
+}; // end namespace generic
+
+}; // end namespace behavioural
+}; // end namespace morpheo              
+#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Select_Priority_Fixed_transition.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Select_Priority_Fixed_transition.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Select_Priority_Fixed_transition.cpp	(revision 75)
@@ -21,10 +21,6 @@
     log_printf(FUNC,Select_Priority_Fixed,"transition","Begin");
 
-#ifdef STATISTICS
-    _stat->add();
-#endif    
-
-#ifdef VHDL_TESTBENCH
-    vhdl_testbench_transition ();
+#if defined(STATISTICS) or defined(VHDL_TESTBENCH)
+    end_cycle();
 #endif
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Select_Priority_Fixed_vhdl_body.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Select_Priority_Fixed_vhdl_body.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Select_Priority_Fixed_vhdl_body.cpp	(revision 75)
@@ -38,5 +38,5 @@
     if (_param->_encoding_compact)
       {
-	string range = ((_param->_size_entity-1)==0)?"(0)":std_logic_range(_param->_size_entity-1,0);
+	std::string range = ((_param->_size_entity-1)==0)?"(0)":std_logic_range(_param->_size_entity-1,0);
 
 	vhdl->set_body ("out_ENTITY     <=     internal_entity"+range+";");
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Select_Priority_Fixed_vhdl_testbench_transition.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Select_Priority_Fixed_vhdl_testbench_transition.cpp	(revision 74)
+++ 	(revision )
@@ -1,36 +1,0 @@
-#ifdef VHDL_TESTBENCH
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/Generic/Select/Select_Priority_Fixed/include/Select_Priority_Fixed.h"
-
-namespace morpheo                    {
-namespace behavioural {
-namespace generic {
-namespace select {
-namespace select_priority_fixed {
-
-
-  void Select_Priority_Fixed::vhdl_testbench_transition ()
-  {
-    log_printf(FUNC,Select_Priority_Fixed,"vhdl_testbench_transition","Begin");
-
-    // Evaluation before read the ouput signal
-//     sc_start(0);
-
-    _interfaces->testbench();
-
-    log_printf(FUNC,Select_Priority_Fixed,"vhdl_testbench_transition","End");
-  };
-
-}; // end namespace select_priority_fixed
-}; // end namespace select
-}; // end namespace generic
-
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Statistics.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Statistics.cpp	(revision 74)
+++ 	(revision )
@@ -1,42 +1,0 @@
-#ifdef STATISTICS
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/Generic/Select/Select_Priority_Fixed/include/Statistics.h"
-
-namespace morpheo                    {
-namespace behavioural {
-namespace generic {
-namespace select {
-namespace select_priority_fixed {
-
-
-  Statistics::Statistics (string                                      name                       ,
-			  morpheo::behavioural::Parameters_Statistics * parameters_statistics      ,
-			  Parameters                                  * parameters
-			  ) :
-    morpheo::behavioural::Statistics(name                  ,
-				     parameters_statistics ),
-    _parameters(parameters)
-  {
-    log_printf(FUNC,Select_Priority_Fixed,"Statistics","Begin");
-    log_printf(FUNC,Select_Priority_Fixed,"Statistics","End");
-  };
-  
-  Statistics::~Statistics () 
-  { 
-    log_printf(FUNC,Select_Priority_Fixed,"~Statistics","Begin");
-    log_printf(FUNC,Select_Priority_Fixed,"~Statistics","End");
-  };
-
-}; // end namespace select_priority_fixed
-}; // end namespace select
-}; // end namespace generic
-
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Statistics_add.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Statistics_add.cpp	(revision 74)
+++ 	(revision )
@@ -1,33 +1,0 @@
-#ifdef STATISTICS
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/Generic/Select/Select_Priority_Fixed/include/Statistics.h"
-
-#include <sstream>
-using namespace std;
-
-namespace morpheo                    {
-namespace behavioural {
-namespace generic {
-namespace select {
-namespace select_priority_fixed {
-
-
-  void Statistics::add ()
-  {
-    log_printf(FUNC,Select_Priority_Fixed,"add","Begin");
-    log_printf(FUNC,Select_Priority_Fixed,"add","End");
-  };
-
-}; // end namespace select_priority_fixed
-}; // end namespace select
-}; // end namespace generic
-
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Statistics_print.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Statistics_print.cpp	(revision 74)
+++ 	(revision )
@@ -1,51 +1,0 @@
-#ifdef STATISTICS
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/Generic/Select/Select_Priority_Fixed/include/Statistics.h"
-
-#include <sstream>
-using namespace std;
-
-namespace morpheo {
-namespace behavioural {
-namespace generic {
-namespace select {
-namespace select_priority_fixed {
-
-
-  string Statistics::print (uint32_t depth)
-  {
-    log_printf(FUNC,Select_Priority_Fixed,"print","Begin");
-
-    string        tab = string(depth,'\t');
-    ostringstream msg;
-
-    msg << tab << "<select_priority_fixed name=\"" << _name << "\" >" << endl
-        << print_body(depth+1) << endl
-	<< tab << "</select_priority_fixed>" << endl;
-    
-    log_printf(FUNC,Select_Priority_Fixed,"print","End");
-
-    return msg.str();
-  };
-
-  ostream& operator<< (ostream& output_stream ,
-		       morpheo::behavioural::generic::select::select_priority_fixed::Statistics & x)
-  {
-    output_stream << x.print(0);
-
-    return output_stream;
-  };
-
-}; // end namespace select_priority_fixed
-}; // end namespace select
-}; // end namespace generic
-
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Statistics_print_body.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Statistics_print_body.cpp	(revision 74)
+++ 	(revision )
@@ -1,41 +1,0 @@
-#ifdef STATISTICS
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/Generic/Select/Select_Priority_Fixed/include/Statistics.h"
-
-#include <sstream>
-using namespace std;
-
-namespace morpheo                    {
-namespace behavioural {
-namespace generic {
-namespace select {
-namespace select_priority_fixed {
-
-
-  string Statistics::print_body (uint32_t depth)
-  {
-    log_printf(FUNC,Select_Priority_Fixed,"print_body","Begin");
-
-    string        tab = string(depth,'\t');
-    ostringstream msg;
-
-    msg << tab << "";
-    
-    log_printf(FUNC,Select_Priority_Fixed,"print_body","End");
-
-    return msg.str();
-  };
-
-}; // end namespace select_priority_fixed
-}; // end namespace select
-}; // end namespace generic
-
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/SelfTest/include/test.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/SelfTest/include/test.h	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/SelfTest/include/test.h	(revision 75)
@@ -20,5 +20,4 @@
 using namespace morpheo::behavioural;
 using namespace morpheo::behavioural::generic;
-
 using namespace morpheo::behavioural::generic::shifter;
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/SelfTest/src/test.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/SelfTest/src/test.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/SelfTest/src/test.cpp	(revision 75)
@@ -33,9 +33,13 @@
       exit (EXIT_FAILURE);
     }
+
+#ifdef STATISTICS
+  morpheo::behavioural::Parameters_Statistics * param_stat = new morpheo::behavioural::Parameters_Statistics(5,50);
+#endif
   Shifter * _Shifter = new Shifter (name.c_str(),
 #ifdef STATISTICS
-					     morpheo::behavioural::Parameters_Statistics(5,50),
-#endif
-					     param);
+				    param_stat,
+#endif
+				    param);
   
 #ifdef SYSTEMC
@@ -48,5 +52,5 @@
   sc_signal <Tshift_t    >                 SHIFTER_SHIFT     [param._nb_port];
   sc_signal <Tdirection_t>                 SHIFTER_DIRECTION [param._nb_port];
-  sc_signal <Ttype_t     >                 SHIFTER_TYPE      [param._nb_port];
+  sc_signal <morpheo::behavioural::generic::shifter::Ttype_t     >                 SHIFTER_TYPE      [param._nb_port];
   sc_signal <Tcarry_t    >                 SHIFTER_CARRY     [param._nb_port];
   sc_signal <Tcontrol_t  >                 SHIFTER_CARRY_IN  [param._nb_port];
@@ -96,5 +100,5 @@
 
   Tdirection_t   direction       ;
-  Ttype_t        type            ;
+  morpheo::behavioural::generic::shifter::Ttype_t        type            ;
   Tcarry_t       carry           ; 
   const Tdata_t  data_max        = (1<<param._size_data);
@@ -271,11 +275,11 @@
 		       << hex
 		       << data_in[i] << op
-		       << dec 
+		       << std::dec 
 		       << shift      << " = " 
-		       << hex
+		       << std::hex
 		       << SHIFTER_DATA_OUT [i].read()
 		       << " - completion : "
 		       << data_completion [i]
-		       << dec ;
+		       << std::dec ;
 		  
 		  TEST(Tdata_t,SHIFTER_DATA_OUT [i].read(),data_out[i]);
@@ -298,3 +302,7 @@
 
   delete _Shifter;
+
+#ifdef STATISTICS
+  delete param_stat;
+#endif
 }
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/include/Parameters.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/include/Parameters.h	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/include/Parameters.h	(revision 75)
@@ -48,38 +48,4 @@
   public : const bool        _have_direction_right         ;
 
-    string toString_rotate    (rotate_t x)
-    {
-      switch (x)
-	{
-	case without_rotate            : return "without_rotate" ;
-	case internal_rotate           : return "internal_rotate";
-	case external_rotate           : return "external_rotate";     
-	default                        : return "";
-	}
-    };
-    
-    string toString_direction (direction_t x) 
-    {
-      switch (x)
-	{
-	case internal_right_shift      : return "internal_right_shift";
-	case internal_left_shift       : return "internal_left_shift" ;
-	case external_direction        : return "external_direction"  ;
-	default                        : return "";
-	}
-    };
-    
-    string toString_carry (carry_t x)
-    {
-      switch (x)
-	{
-	case internal_logic            : return "internal_logic"       ;
-	case internal_arithmetic       : return "internal_arithmetic"  ;
-	case external_carry            : return "external_carry"       ;
-	case external_completion       : return "external_completion"  ;
-	default                        : return "";
-	}
-    };
-    
     //-----[ methods ]-----------------------------------------------------------
   public : Parameters  (uint32_t    size_data           ,
@@ -93,9 +59,8 @@
   public : ~Parameters () ;
 
-  public : string msg_error (void);
-
-  public :        string   print      (uint32_t depth);
-  public : friend ostream& operator<< (ostream& output_stream,
-				       morpheo::behavioural::generic::shifter::Parameters & x);
+  public :        std::string   msg_error  (void);
+  public :        std::string   print      (uint32_t depth);
+  public : friend std::ostream& operator<< (std::ostream& output_stream,
+					    morpheo::behavioural::generic::shifter::Parameters & x);
   };
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/include/Shifter.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/include/Shifter.h	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/include/Shifter.h	(revision 75)
@@ -19,5 +19,5 @@
 #include "Behavioural/Generic/Shifter/include/Types.h"
 #ifdef STATISTICS
-#include "Behavioural/Generic/Shifter/include/Statistics.h"
+#include "Behavioural/include/Stat.h"
 #endif
 #ifdef VHDL
@@ -25,6 +25,4 @@
 #endif
 #include "Behavioural/include/Component.h"
-
-using namespace std;
 
 namespace morpheo                    {
@@ -41,9 +39,9 @@
     // -----[ fields ]----------------------------------------------------
     // Parameters
-  protected : const string     _name;
+  protected : const std::string     _name;
 
   protected : const Parameters _param;
 #ifdef STATISTICS
-  private   : Statistics                     * _stat;
+  public    : Stat                           * _stat;
 #endif
 
@@ -79,12 +77,12 @@
   public  :          Shifter              (
 #ifdef SYSTEMC
-					   sc_module_name                              name,
+					   sc_module_name                                name,
 #else					       
-					   string                                      name,
+					   std::string                                   name,
 #endif					       
 #ifdef STATISTICS
-					   morpheo::behavioural::Parameters_Statistics param_statistics,
+					   morpheo::behavioural::Parameters_Statistics * param_statistics,
 #endif
-					   Parameters                                  param );
+					   Parameters                                    param );
     
   public  :          Shifter              (Parameters param );
@@ -106,12 +104,11 @@
   private : void     vhdl_body                 (Vhdl * & vhdl);
 #endif					       
+
 #ifdef STATISTICS
-  public  : string   statistics                (uint32_t depth);
+  public  : void        statistics_declaration    (morpheo::behavioural::Parameters_Statistics * param_statistics);
 #endif
-					       
-#ifdef VHDL_TESTBENCH			       
-  private : void     vhdl_testbench_transition (void);
+#if defined(STATISTICS) or defined(VHDL_TESTBENCH)
+  private : void        end_cycle                 (void);
 #endif
-
   };
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/include/Statistics.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/include/Statistics.h	(revision 74)
+++ 	(revision )
@@ -1,54 +1,0 @@
-#ifdef STATISTICS
-#ifndef morpheo_behavioural_generic_shifter_Statistics_h
-#define morpheo_behavioural_generic_shifter_Statistics_h
-
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/include/Statistics.h"
-#include "Behavioural/include/Parameters_Statistics.h"
-//#include "Behavioural/Generic/Group/include/Statistics.h"
-#include "Behavioural/Generic/Shifter/include/Parameters.h"
-
-//using namespace morpheo::behavioural::generic::group;
-
-namespace morpheo                    {
-namespace behavioural {
-namespace generic {
-namespace shifter {
-
-
-  class Statistics : public morpheo::behavioural::Statistics
-  {
-    // -----[ fields ]----------------------------------------------------
-  private  : const Parameters                                   _parameters;
-
-    // -----[ methods ]---------------------------------------------------
-  public   : Statistics  (string                                      name                       ,
-			  morpheo::behavioural::Parameters_Statistics parameters_statistics      ,
-			  Parameters                                  parameters
-			  );
-//public   : Statistics  (Statistics & stat);
-  public   : ~Statistics () ;
-    
-  public   : string   print_body (uint32_t depth);
-  public   : string   print      (uint32_t depth);
-  public   : void     add        ();
-
-  public   : friend ostream& operator<< (ostream& output_stream,
-					 const Statistics & x);
-
-  };
-
-}; // end namespace shifter
-}; // end namespace generic
-
-}; // end namespace behavioural
-}; // end namespace morpheo
-
-#endif
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/include/Types.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/include/Types.h	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/include/Types.h	(revision 75)
@@ -1,3 +1,2 @@
-#ifdef SYSTEMC
 #ifndef morpheo_behavioural_generic_shifter_Type_h
 #define morpheo_behavioural_generic_shifter_Type_h
@@ -10,5 +9,6 @@
  */
 
-#include "Common/include/Types.h"
+#include "Behavioural/include/Types.h"
+#include "Common/include/ToString.h"
 
 namespace morpheo {
@@ -49,6 +49,41 @@
 }; // end namespace generic
 }; // end namespace behavioural
+
+  template<> inline std::string toString<morpheo::behavioural::generic::shifter::rotate_t>(const morpheo::behavioural::generic::shifter::rotate_t& x)
+    {
+      switch (x)
+	{
+	case morpheo::behavioural::generic::shifter::without_rotate            : return "without_rotate" ;
+	case morpheo::behavioural::generic::shifter::internal_rotate           : return "internal_rotate";
+	case morpheo::behavioural::generic::shifter::external_rotate           : return "external_rotate";     
+	default                        : return "";
+	}
+    };
+  
+  template<> inline std::string toString<morpheo::behavioural::generic::shifter::direction_t>(const morpheo::behavioural::generic::shifter::direction_t& x) 
+  {
+    switch (x)
+      {
+      case morpheo::behavioural::generic::shifter::internal_right_shift      : return "internal_right_shift";
+      case morpheo::behavioural::generic::shifter::internal_left_shift       : return "internal_left_shift" ;
+      case morpheo::behavioural::generic::shifter::external_direction        : return "external_direction"  ;
+      default                        : return "";
+      }
+  };
+  
+  template<> inline std::string toString<morpheo::behavioural::generic::shifter::carry_t>(const morpheo::behavioural::generic::shifter::carry_t& x)
+  {
+    switch (x)
+      {
+      case morpheo::behavioural::generic::shifter::internal_logic            : return "internal_logic"       ;
+      case morpheo::behavioural::generic::shifter::internal_arithmetic       : return "internal_arithmetic"  ;
+      case morpheo::behavioural::generic::shifter::external_carry            : return "external_carry"       ;
+      case morpheo::behavioural::generic::shifter::external_completion       : return "external_completion"  ;
+      default                        : return "";
+      }
+  };
+    
+
 }; // end namespace morpheo              
 
 #endif
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Parameters_msg_error.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Parameters_msg_error.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Parameters_msg_error.cpp	(revision 75)
@@ -9,5 +9,4 @@
 #include "Behavioural/Generic/Shifter/include/Types.h"
 #include <sstream>
-using namespace std;
 
 namespace morpheo {
@@ -16,7 +15,7 @@
 namespace shifter {
 
-  string Parameters::msg_error(void)
+  std::string Parameters::msg_error(void)
   {
-    string msg = "";
+    std::string msg = "";
 
     if (_size_data < 2)
@@ -42,6 +41,6 @@
       {
 	msg += "  - Incompatible parameters : internal_rotate have never carry (must be set at \"internal_logic\"\n";
-        msg += "    * rotate                          : " + toString_rotate(_rotate) + "\n";
-        msg += "    * carry                           : " + toString_carry (_carry ) + "\n";
+        msg += "    * rotate                          : " + toString(_rotate) + "\n";
+        msg += "    * carry                           : " + toString(_carry ) + "\n";
       }    
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Parameters_print.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Parameters_print.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Parameters_print.cpp	(revision 75)
@@ -7,6 +7,5 @@
 
 #include "Behavioural/Generic/Shifter/include/Parameters.h"
-#include <sstream>
-using namespace std;
+#include "Behavioural/include/XML.h"
 
 namespace morpheo                    {
@@ -16,23 +15,21 @@
 
 
-  string Parameters::print (uint32_t depth)
+  std::string Parameters::print (uint32_t depth)
   {
-    string tab = string(depth,'\t');
-    ostringstream msg;
-    msg << tab << "<shifter>" << endl
-	<< tab << "\t<size_data   value=\"" << _size_data   << "\" />" << endl
-	<< tab << "\t<nb_port     value=\"" << _nb_port     << "\" />" << endl
-	<< tab << "\t<shift_value value=\"" << _shift_value << "\" />" << endl
-	<< tab << "\t<rotate      value=\"" << toString_rotate    (_rotate   ) << "\" />" << endl
-	<< tab << "\t<direction   value=\"" << toString_direction (_direction) << "\" />" << endl
-	<< tab << "\t<carry       value=\"" << toString_carry     (_carry    ) << "\" />" << endl
-	<< tab << "\t<!-- port_completion is type bool : " << toString(_type_completion_bool) << " -->" << endl
-      	<< tab << "</shifter>" << endl;
+    XML xml ("shifter");
+
+    xml.balise_open("shifter");
+    xml.singleton_begin("size_data  "); xml.attribut("value",toString(_size_data  )); xml.singleton_end();
+    xml.singleton_begin("nb_port    "); xml.attribut("value",toString(_nb_port    )); xml.singleton_end();
+    xml.singleton_begin("shift_value"); xml.attribut("value",toString(_shift_value)); xml.singleton_end();
+    xml.singleton_begin("rotate     "); xml.attribut("value",toString(_rotate     )); xml.singleton_end();
+    xml.singleton_begin("direction  "); xml.attribut("value",toString(_direction  )); xml.singleton_end();
+    xml.singleton_begin("carry      "); xml.attribut("value",toString(_carry      )); xml.singleton_end();
     
-    return msg.str();
+    return xml.get_body(depth);
   };
 
-  ostream& operator<< (ostream& output_stream ,
-		       morpheo::behavioural::generic::shifter::Parameters & x)
+  std::ostream& operator<< (std::ostream& output_stream ,
+			    morpheo::behavioural::generic::shifter::Parameters & x)
   {
     output_stream << x.print(0);
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Shifter.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Shifter.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Shifter.cpp	(revision 75)
@@ -20,5 +20,5 @@
 #endif
 #ifdef STATISTICS
-		    ,morpheo::behavioural::Parameters_Statistics             param_statistics
+		    ,morpheo::behavioural::Parameters_Statistics * param_statistics
 #endif
 		    ,morpheo::behavioural::generic::shifter::Parameters param ):
@@ -32,7 +32,5 @@
 #ifdef STATISTICS
     // Allocation of statistics
-    _stat = new Statistics (static_cast<string>(_name),
-			    param_statistics          ,
-			    param);
+    statistics_declaration(param_statistics);
 #endif
 
@@ -101,6 +99,4 @@
 
 #ifdef STATISTICS
-    _stat->generate_file(statistics(0));
-    
     delete _stat;
 #endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Shifter_end_cycle.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Shifter_end_cycle.cpp	(revision 75)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Shifter_end_cycle.cpp	(revision 75)
@@ -0,0 +1,41 @@
+#if defined(STATISTICS) or defined(VHDL_TESTBENCH)
+/*
+ * $Id$
+ *
+ * [ Description ]
+ * 
+ */
+
+#include "Behavioural/Generic/Shifter/include/Shifter.h"
+
+namespace morpheo                    {
+namespace behavioural {
+namespace generic {
+namespace shifter {
+
+#undef  FUNCTION
+#define FUNCTION "Shifter::end_cycle"
+void Shifter::end_cycle ()
+  {
+    log_printf(FUNC,Shifter,FUNCTION,"Begin");
+
+#ifdef STATISTICS
+    _stat->end_cycle();
+#endif    
+
+#ifdef VHDL_TESTBENCH
+    // Evaluation before read the ouput signal
+//  sc_start(0);
+    _interfaces->testbench();
+#endif
+
+    log_printf(FUNC,Shifter,FUNCTION,"End");
+  };
+
+
+}; // end namespace shifter
+}; // end namespace generic
+
+}; // end namespace behavioural
+}; // end namespace morpheo              
+#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Shifter_genMealy_shift.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Shifter_genMealy_shift.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Shifter_genMealy_shift.cpp	(revision 75)
@@ -11,5 +11,4 @@
 #include <bitset>
 
-using namespace std;
 namespace morpheo {
 namespace behavioural {
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Shifter_statistics.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Shifter_statistics.cpp	(revision 74)
+++ 	(revision )
@@ -1,27 +1,0 @@
-#ifdef STATISTICS
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/Generic/Shifter/include/Shifter.h"
-
-namespace morpheo                    {
-namespace behavioural {
-namespace generic {
-namespace shifter {
-
-
-  string Shifter::statistics (uint32_t depth)
-  {
-    return _stat->print(depth);
-  };
-
-}; // end namespace shifter
-}; // end namespace generic
-
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Shifter_statistics_declaration.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Shifter_statistics_declaration.cpp	(revision 75)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Shifter_statistics_declaration.cpp	(revision 75)
@@ -0,0 +1,34 @@
+#ifdef STATISTICS
+/*
+ * $Id$
+ *
+ * [ Description ]
+ * 
+ */
+
+#include "Behavioural/Generic/Shifter/include/Shifter.h"
+
+namespace morpheo                    {
+namespace behavioural {
+namespace generic {
+namespace shifter {
+
+#undef  FUNCTION
+#define FUNCTION "Shifter::statistics_declaration"
+  void Shifter::statistics_declaration (morpheo::behavioural::Parameters_Statistics * param_statistics)
+  {
+    log_printf(FUNC,Shifter,FUNCTION,"Begin");
+
+    _stat = new Stat (static_cast<std::string>(_name),
+		      "Shifter",
+		      param_statistics);
+    
+    log_printf(FUNC,Shifter,FUNCTION,"End");
+  };
+
+}; // end namespace shifter
+}; // end namespace generic
+
+}; // end namespace behavioural
+}; // end namespace morpheo              
+#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Shifter_transition.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Shifter_transition.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Shifter_transition.cpp	(revision 75)
@@ -18,10 +18,6 @@
   void Shifter::transition (void)
   {
-#ifdef STATISTICS
-    _stat->add();
-#endif    
-
-#ifdef VHDL_TESTBENCH
-    vhdl_testbench_transition ();
+#if defined(STATISTICS) or defined(VHDL_TESTBENCH)
+    end_cycle ();
 #endif
   };
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Shifter_vhdl_body.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Shifter_vhdl_body.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Shifter_vhdl_body.cpp	(revision 75)
@@ -50,5 +50,5 @@
 	for (uint32_t i=0; i<_param._nb_port; i++)
 	  {
-	    string print_shifter_completion;
+	    std::string print_shifter_completion;
 	    
 	    if (_param._type_completion_bool == true)
@@ -83,5 +83,5 @@
       {
 	vhdl->set_body ("out_SHIFTER_"+toString(i)+"_DATA       <=");
-	string print_else = "    ";
+	std::string print_else = "    ";
 
 	//-----[ Shift arithmetic Left ]---------------------------------------
@@ -89,6 +89,6 @@
 	  {
 	    bool   have_when  = false;
-	    string print_when = "";
-	    string print_and  = "";
+	    std::string print_when = "";
+	    std::string print_and  = "";
 	    
 	    if (_param._direction   == external_direction)
@@ -120,6 +120,6 @@
 	  {
 	    bool   have_when  = false;
-	    string print_when = "";
-	    string print_and  = "";
+	    std::string print_when = "";
+	    std::string print_and  = "";
 	    
 	    if (_param._direction   == external_direction)
@@ -151,6 +151,6 @@
 	  {
 	    bool   have_when  = false;
-	    string print_when = "";
-	    string print_and  = "";
+	    std::string print_when = "";
+	    std::string print_and  = "";
 	    
 	    if (_param._direction   == external_direction)
@@ -175,5 +175,5 @@
 	      print_when = "when " + print_when;
 
-	    string print_expr_completion;
+	    std::string print_expr_completion;
 
 	    if (_param._size_data_completion == 0)
@@ -189,6 +189,6 @@
 	  {
 	    bool   have_when  = false;
-	    string print_when = "";
-	    string print_and  = "";
+	    std::string print_when = "";
+	    std::string print_and  = "";
 	    
 	    if (_param._direction   == external_direction)
@@ -213,5 +213,5 @@
 	      print_when = "when " + print_when;
 
-	    string print_expr_completion;
+	    std::string print_expr_completion;
 
 	    if (_param._size_data_completion == 0)
@@ -227,6 +227,6 @@
 	  {
 	    bool   have_when  = false;
-	    string print_when = "";
-	    string print_and  = "";
+	    std::string print_when = "";
+	    std::string print_and  = "";
 	    
 	    if (_param._direction   == external_direction)
@@ -253,6 +253,6 @@
 	  {
 	    bool   have_when  = false;
-	    string print_when = "";
-	    string print_and  = "";
+	    std::string print_when = "";
+	    std::string print_and  = "";
 	    
 	    if (_param._direction   == external_direction)
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Shifter_vhdl_testbench_transition.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Shifter_vhdl_testbench_transition.cpp	(revision 74)
+++ 	(revision )
@@ -1,29 +1,0 @@
-#ifdef VHDL_TESTBENCH
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/Generic/Shifter/include/Shifter.h"
-
-namespace morpheo                    {
-namespace behavioural {
-namespace generic {
-namespace shifter {
-
-
-  void Shifter::vhdl_testbench_transition (void)
-  {
-//     sc_start(0);
-
-    _interfaces->testbench();
-  };
-
-}; // end namespace shifter
-}; // end namespace generic
-
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Statistics.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Statistics.cpp	(revision 74)
+++ 	(revision )
@@ -1,36 +1,0 @@
-#ifdef STATISTICS
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/Generic/Shifter/include/Statistics.h"
-
-namespace morpheo                    {
-namespace behavioural {
-namespace generic {
-namespace shifter {
-
-
-  Statistics::Statistics (string                                      name                       ,
-			  morpheo::behavioural::Parameters_Statistics parameters_statistics      ,
-			  Parameters                                  parameters
-			  ) :
-    morpheo::behavioural::Statistics(name                  ,
-				     parameters_statistics ),
-    _parameters(parameters)
-  {
-  };
-  
-  Statistics::~Statistics () 
-  { 
-  };
-
-}; // end namespace shifter
-}; // end namespace generic
-
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Statistics_add.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Statistics_add.cpp	(revision 74)
+++ 	(revision )
@@ -1,29 +1,0 @@
-#ifdef STATISTICS
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/Generic/Shifter/include/Statistics.h"
-
-#include <sstream>
-using namespace std;
-
-namespace morpheo                    {
-namespace behavioural {
-namespace generic {
-namespace shifter {
-
-
-  void Statistics::add ()
-  {
-  };
-
-}; // end namespace shifter
-}; // end namespace generic
-
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Statistics_print.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Statistics_print.cpp	(revision 74)
+++ 	(revision )
@@ -1,43 +1,0 @@
-#ifdef STATISTICS
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/Generic/Shifter/include/Statistics.h"
-
-#include <sstream>
-using namespace std;
-
-namespace morpheo {
-namespace behavioural {
-namespace generic {
-namespace shifter {
-
-  string Statistics::print (uint32_t depth)
-  {
-    string        tab = string(depth,'\t');
-    ostringstream msg;
-
-    msg << tab << "<shifter name=\"" << _name << "\" >" << endl
-	<< print_body (depth+1)
-	<< tab << "</shifter>" << endl;
-    
-    return msg.str();
-  };
-
-  ostream& operator<< (ostream& output_stream ,
-		       morpheo::behavioural::generic::shifter::Statistics & x)
-  {
-    output_stream << x.print(0);
-
-    return output_stream;
-  };
-
-}; // end namespace shifter
-}; // end namespace generic
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Statistics_print_body.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Statistics_print_body.cpp	(revision 74)
+++ 	(revision )
@@ -1,33 +1,0 @@
-#ifdef STATISTICS
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/Generic/Shifter/include/Statistics.h"
-
-#include <sstream>
-using namespace std;
-
-namespace morpheo {
-namespace behavioural {
-namespace generic {
-namespace shifter {
-
-  string Statistics::print_body (uint32_t depth)
-  {
-    string        tab = string(depth,'\t');
-    ostringstream msg;
-
-    msg << tab << "";
-    
-    return msg.str();
-  };
-
-}; // end namespace shifter
-}; // end namespace generic
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/Makefile.deps
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/Makefile.deps	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/Makefile.deps	(revision 75)
@@ -13,15 +13,10 @@
 include 			$(DIR_MORPHEO)/Behavioural/Makefile.deps
 endif
-ifndef Group
-include 			$(DIR_MORPHEO)/Behavioural/Generic/Group/Makefile.deps
-endif
 
 #-----[ Library ]------------------------------------------
 Victim_Pseudo_LRU_LIBRARY		= 	-lVictim_Pseudo_LRU		\
-						$(Group_LIBRARY)		\
 						$(Behavioural_LIBRARY)	
 
 Victim_Pseudo_LRU_DIR_LIBRARY		=	-L$(DIR_MORPHEO)/Behavioural/Generic/Victim/Victim_Pseudo_LRU/lib	\
-						$(Group_DIR_LIBRARY)							\
 						$(Behavioural_DIR_LIBRARY)	
 
@@ -31,10 +26,8 @@
 				@\
 				$(MAKE)  Behavioural_library; \
-				$(MAKE)  Group_library; \
 				$(MAKE) --directory=$(DIR_MORPHEO)/Behavioural/Generic/Victim/Victim_Pseudo_LRU --makefile=Makefile;
-				
+
 Victim_Pseudo_LRU_library_clean	:
 				@\
 				$(MAKE)  Behavioural_library_clean; \
-				$(MAKE)  Group_library_clean; \
 				$(MAKE) --directory=$(DIR_MORPHEO)/Behavioural/Generic/Victim/Victim_Pseudo_LRU --makefile=Makefile clean;
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/SelfTest/src/test.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/SelfTest/src/test.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/SelfTest/src/test.cpp	(revision 75)
@@ -36,9 +36,14 @@
       exit (EXIT_FAILURE);
     }
+
+#ifdef STATISTICS
+  morpheo::behavioural::Parameters_Statistics * param_stat = new morpheo::behavioural::Parameters_Statistics(5,50);
+#endif
+
   Victim_Pseudo_LRU * _Victim_Pseudo_LRU = new Victim_Pseudo_LRU (name.c_str(),
 #ifdef STATISTICS
-					     morpheo::behavioural::Parameters_Statistics(5,50),
-#endif
-					     param);
+								  param_stat,
+#endif
+								  param);
   
 #ifdef SYSTEMC
@@ -207,3 +212,8 @@
 
   delete _Victim_Pseudo_LRU;
+
+#ifdef STATISTICS
+  delete param_stat;
+#endif
+
 }
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/include/Parameters.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/include/Parameters.h	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/include/Parameters.h	(revision 75)
@@ -35,9 +35,8 @@
   public : ~Parameters () ;
 
-  public : string msg_error (void);
-
-  public :        string   print      (uint32_t depth);
-  public : friend ostream& operator<< (ostream& output_stream,
-				       morpheo::behavioural::generic::victim::victim_pseudo_lru::Parameters & x);
+  public :        std::string   msg_error  (void);
+  public :        std::string   print      (uint32_t depth);
+  public : friend std::ostream& operator<< (std::ostream& output_stream,
+					    morpheo::behavioural::generic::victim::victim_pseudo_lru::Parameters & x);
   };
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/include/Statistics.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/include/Statistics.h	(revision 74)
+++ 	(revision )
@@ -1,59 +1,0 @@
-#ifdef STATISTICS
-#ifndef morpheo_behavioural_generic_victim_victim_pseudo_lru_Statistics_h
-#define morpheo_behavioural_generic_victim_victim_pseudo_lru_Statistics_h
-
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/include/Statistics.h"
-#include "Behavioural/include/Parameters_Statistics.h"
-#include "Behavioural/Generic/Group/include/Statistics.h"
-#include "Behavioural/Generic/Victim/Victim_Pseudo_LRU/include/Parameters.h"
-
-using namespace morpheo::behavioural::generic::group;
-
-namespace morpheo                    {
-namespace behavioural {
-namespace generic {
-namespace victim {
-namespace victim_pseudo_lru {
-
-
-  class Statistics : public morpheo::behavioural::Statistics
-  {
-    // -----[ fields ]----------------------------------------------------
-  private  : const Parameters                                   _parameters;
-  private  : morpheo::behavioural::generic::group::Statistics * _stat_port_access;
-  private  : morpheo::behavioural::generic::group::Statistics * _stat_port_update;
-
-    // -----[ methods ]---------------------------------------------------
-  public   : Statistics  (string                                      name                       ,
-			  morpheo::behavioural::Parameters_Statistics parameters_statistics      ,
-			  Parameters                                  parameters
-			  );
-//public   : Statistics  (Statistics & stat);
-  public   : ~Statistics () ;
-    
-  public   : string   print_body (uint32_t depth);
-  public   : string   print      (uint32_t depth);
-  public   : void     add        (uint32_t nb_access ,
-				  uint32_t nb_update );
-    
-  public   : friend ostream& operator<< (ostream& output_stream,
-					 const Statistics & x);
-
-  };
-
-}; // end namespace victim_pseudo_lru
-}; // end namespace victim
-}; // end namespace generic
-
-}; // end namespace behavioural
-}; // end namespace morpheo
-
-#endif
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/include/Types.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/include/Types.h	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/include/Types.h	(revision 75)
@@ -9,5 +9,5 @@
  */
 
-#include "Common/include/Types.h"
+#include "Behavioural/include/Types.h"
 
 namespace morpheo {
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/include/Victim_Pseudo_LRU.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/include/Victim_Pseudo_LRU.h	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/include/Victim_Pseudo_LRU.h	(revision 75)
@@ -35,16 +35,10 @@
 #include "Behavioural/Generic/Victim/Victim_Pseudo_LRU/include/Types.h"
 #ifdef STATISTICS
-#include "Behavioural/Generic/Victim/Victim_Pseudo_LRU/include/Statistics.h"
+#include "Behavioural/include/Stat.h"
 #endif
 #ifdef VHDL
 #include "Behavioural/include/Vhdl.h"
 #endif
-#ifdef POSITION
 #include "Behavioural/include/Component.h"
-#else
-#include "Behavioural/include/Interfaces.h"
-#endif
-
-using namespace std;
 
 namespace morpheo {
@@ -157,7 +151,7 @@
     }
 
-  public : string print ()
-    {
-      string res = "";
+  public : std::string print ()
+    {
+      std::string res = "";
 
       for (int32_t i=static_cast<int32_t>(_size)-1; i>=0; i--)
@@ -170,14 +164,12 @@
     // -----[ fields ]----------------------------------------------------
     // Parameters
-  protected : const string     _name;
+  protected : const std::string     _name;
 
   protected : const Parameters _param;
 #ifdef STATISTICS
-  private   : Statistics                     * _stat;
-#endif
-
-#ifdef POSITION
-  private   : Component                      * _component;
-#endif
+  public    : Stat                           * _stat;
+#endif
+
+  public    : Component                      * _component;
   private   : Interfaces                     * _interfaces;
 
@@ -215,12 +207,12 @@
   public  :          Victim_Pseudo_LRU              (
 #ifdef SYSTEMC
-					      sc_module_name                              name,
+					      sc_module_name                                name,
 #else					       
-					      string                                      name,
+					      std::string                                   name,
 #endif					       
 #ifdef STATISTICS
-					      morpheo::behavioural::Parameters_Statistics param_statistics,
-#endif
-					      Parameters                                  param );
+					      morpheo::behavioural::Parameters_Statistics * param_statistics,
+#endif
+					      Parameters                                    param );
 					       
   public  :          Victim_Pseudo_LRU              (Parameters param );
@@ -233,7 +225,4 @@
   public  : void     transition                (void);
   public  : void     genMealy_access           (void);
-#endif					       
-#ifdef STATISTICS
-  public  : string   statistics                (uint32_t depth);
 #endif
 					       
@@ -244,8 +233,11 @@
 #endif					       
 					       
-#ifdef VHDL_TESTBENCH			       
-  private : void     vhdl_testbench_transition (void);
-#endif
-
+#ifdef STATISTICS
+  public  : void     statistics_declaration    (morpheo::behavioural::Parameters_Statistics * param_statistics);
+#endif
+
+#if defined(STATISTICS) or defined(VHDL_TESTBENCH)
+  private : void     end_cycle                 (void);
+#endif
   };
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Parameters_msg_error.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Parameters_msg_error.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Parameters_msg_error.cpp	(revision 75)
@@ -9,5 +9,4 @@
 #include "Behavioural/Generic/Victim/Victim_Pseudo_LRU/include/Types.h"
 #include <sstream>
-using namespace std;
 
 namespace morpheo {
@@ -17,7 +16,7 @@
 namespace victim_pseudo_lru {
 
-  string Parameters::msg_error(void)
+  std::string Parameters::msg_error(void)
   {
-    string msg = "";
+    std::string msg = "";
 
     if (_nb_entity < 2)
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Parameters_print.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Parameters_print.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Parameters_print.cpp	(revision 75)
@@ -2,11 +2,11 @@
  * $Id$
  *
- * [ Description ]
+ * [ Description ]
  * 
  */
 
 #include "Behavioural/Generic/Victim/Victim_Pseudo_LRU/include/Parameters.h"
+#include "Behavioural/include/XML.h"
 #include <sstream>
-using namespace std;
 
 namespace morpheo {
@@ -16,20 +16,20 @@
 namespace victim_pseudo_lru {
 
-  string Parameters::print (uint32_t depth)
+  std::string Parameters::print (uint32_t depth)
   {
-    string tab = string(depth,'\t');
-    ostringstream msg;
-    msg << tab << "<victim_pseudo_lru>" << endl
-	<< tab << "\t<nb_entity  value=\"" << _nb_entity  << "\" />" << endl
-	<< tab << "\t<nb_access  value=\"" << _nb_access  << "\" />" << endl
-	<< tab << "\t<nb_update  value=\"" << _nb_update  << "\" />" << endl
-	<< tab << "\t<size_table value=\"" << _size_table << "\" />" << endl
-	<< tab << "</victim_pseudo_lru>" << endl;
-    
-    return msg.str();
+    XML xml ("victim_pseudo_lru");
+
+    xml.balise_open("victim_pseudo_lru");
+    xml.singleton_begin("nb_entity "); xml.attribut("value",toString(_nb_entity )); xml.singleton_end();
+    xml.singleton_begin("nb_access "); xml.attribut("value",toString(_nb_access )); xml.singleton_end();
+    xml.singleton_begin("nb_update "); xml.attribut("value",toString(_nb_update )); xml.singleton_end();
+    xml.singleton_begin("size_table"); xml.attribut("value",toString(_size_table)); xml.singleton_end();
+    xml.balise_close();
+
+    return xml.get_body(depth);
   };
 
-  ostream& operator<< (ostream& output_stream ,
-		       morpheo::behavioural::generic::victim::victim_pseudo_lru::Parameters & x)
+  std::ostream& operator<< (std::ostream& output_stream ,
+			    morpheo::behavioural::generic::victim::victim_pseudo_lru::Parameters & x)
   {
     output_stream << x.print(0);
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Statistics.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Statistics.cpp	(revision 74)
+++ 	(revision )
@@ -1,46 +1,0 @@
-#ifdef STATISTICS
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/Generic/Victim/Victim_Pseudo_LRU/include/Statistics.h"
-
-namespace morpheo                    {
-namespace behavioural {
-namespace generic {
-namespace victim {
-namespace victim_pseudo_lru {
-
-
-  Statistics::Statistics (string                                      name                       ,
-			  morpheo::behavioural::Parameters_Statistics parameters_statistics      ,
-			  Parameters                                  parameters
-			  ) :
-    morpheo::behavioural::Statistics(name                  ,
-				     parameters_statistics ),
-    _parameters(parameters)
-  {
-    _stat_port_access = new morpheo::behavioural::generic::group::Statistics (name + "_port_access" ,
-									      parameters_statistics ,
-									      morpheo::behavioural::generic::group::Parameters(_parameters._nb_access));
-    _stat_port_update = new morpheo::behavioural::generic::group::Statistics (name + "_port_update"   ,
-									      parameters_statistics ,
-									      morpheo::behavioural::generic::group::Parameters(_parameters._nb_update));
-  };
-  
-  Statistics::~Statistics () 
-  { 
-    delete _stat_port_access;
-    delete _stat_port_update;
-  };
-
-}; // end namespace victim_pseudo_lru
-}; // end namespace victim
-}; // end namespace generic
-
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Statistics_add.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Statistics_add.cpp	(revision 74)
+++ 	(revision )
@@ -1,32 +1,0 @@
-#ifdef STATISTICS
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/Generic/Victim/Victim_Pseudo_LRU/include/Statistics.h"
-
-#include <sstream>
-using namespace std;
-
-namespace morpheo {
-namespace behavioural {
-namespace generic {
-namespace victim {
-namespace victim_pseudo_lru {
-
-  void Statistics::add (uint32_t nb_access,
-			uint32_t nb_update)
-  {
-    _stat_port_access->add(nb_access);
-    _stat_port_update->add(nb_update);
-  };
-
-}; // end namespace victim_pseudo_lru
-}; // end namespace victim
-}; // end namespace generic
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Statistics_print.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Statistics_print.cpp	(revision 74)
+++ 	(revision )
@@ -1,47 +1,0 @@
-#ifdef STATISTICS
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/Generic/Victim/Victim_Pseudo_LRU/include/Statistics.h"
-
-#include <sstream>
-using namespace std;
-
-namespace morpheo                    {
-namespace behavioural {
-namespace generic {
-namespace victim {
-namespace victim_pseudo_lru {
-
-
-  string Statistics::print (uint32_t depth)
-  {
-    string        tab = string(depth,'\t');
-    ostringstream msg;
-
-    msg << tab << "<victim_pseudo_lru name=\"" << _name << "\" >" << endl
-	<< print_body (depth+1)
-	<< tab << "</victim_pseudo_lru>" << endl;
-    
-    return msg.str();
-  };
-
-  ostream& operator<< (ostream& output_stream ,
-		       morpheo::behavioural::generic::victim::victim_pseudo_lru::Statistics & x)
-  {
-    output_stream << x.print(0);
-
-    return output_stream;
-  };
-
-}; // end namespace victim_pseudo_lru
-}; // end namespace victim
-}; // end namespace generic
-
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Statistics_print_body.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Statistics_print_body.cpp	(revision 74)
+++ 	(revision )
@@ -1,38 +1,0 @@
-#ifdef STATISTICS
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/Generic/Victim/Victim_Pseudo_LRU/include/Statistics.h"
-
-#include <sstream>
-using namespace std;
-
-namespace morpheo                    {
-namespace behavioural {
-namespace generic {
-namespace victim {
-namespace victim_pseudo_lru {
-
-
-  string Statistics::print_body (uint32_t depth)
-  {
-    string        tab = string(depth,'\t');
-    ostringstream msg;
-
-    msg << _stat_port_access->print(depth+1);
-    msg << _stat_port_update->print(depth+1);
-    
-    return msg.str();
-  };
-
-}; // end namespace victim_pseudo_lru
-}; // end namespace victim
-}; // end namespace generic
-
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Victim_Pseudo_LRU.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Victim_Pseudo_LRU.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Victim_Pseudo_LRU.cpp	(revision 75)
@@ -17,8 +17,8 @@
   Victim_Pseudo_LRU::Victim_Pseudo_LRU (sc_module_name name,
 #else
-  Victim_Pseudo_LRU::Victim_Pseudo_LRU (string name,
+  Victim_Pseudo_LRU::Victim_Pseudo_LRU (std::string name,
 #endif
 #ifdef STATISTICS
-			  morpheo::behavioural::Parameters_Statistics             param_statistics,
+			  morpheo::behavioural::Parameters_Statistics * param_statistics,
 #endif
 			  morpheo::behavioural::generic::victim::victim_pseudo_lru::Parameters param ):
@@ -37,7 +37,5 @@
     
     // Allocation of statistics
-    _stat = new Statistics (static_cast<string>(_name),
-			    param_statistics          ,
-			    param);
+    statistics_declaration(param_statistics);
 #endif
 
@@ -93,6 +91,4 @@
 
 #ifdef STATISTICS
-    _stat->generate_file(statistics(0));
-    
     delete _stat;
 #endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Victim_Pseudo_LRU_allocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Victim_Pseudo_LRU_allocation.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Victim_Pseudo_LRU_allocation.cpp	(revision 75)
@@ -17,19 +17,22 @@
   void Victim_Pseudo_LRU::allocation (void)
   {
-#ifdef POSITION
     _component   = new Component ();
 
-    Entity * entity = _component->set_entity (_name                  ,
-					     "Select_Priority_Fixed",
-					     COMBINATORY            );
+    Entity * entity = _component->set_entity (_name                  
+					      ,"Select_Priority_Fixed"
+#ifdef POSITION
+					      ,COMBINATORY           
+#endif
+					      );
     
     _interfaces = entity->set_interfaces();
-#else
-    _interfaces = new Interfaces();
-#endif
 
     // ~~~~~[ Interface : "" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     {
-      Interface_fifo * interface = _interfaces->set_interface("", IN  ,WEST, "Generalist interface");
+      Interface_fifo * interface = _interfaces->set_interface(""
+#ifdef POSITION
+							      , IN  ,WEST, "Generalist interface"
+#endif
+							      );
       
       in_CLOCK        = interface->set_signal_clk              ("clock" ,1);
@@ -47,5 +50,9 @@
       for (uint32_t i=0; i<_param._nb_access; i++)
 	{
-	  Interface_fifo * interface = _interfaces->set_interface("access_"+toString(i), IN  ,WEST, "Access");
+	  Interface_fifo * interface = _interfaces->set_interface("access_"+toString(i)
+#ifdef POSITION
+								  , IN  ,WEST, "Access"
+#endif
+								  );
 
 	   in_ACCESS_VAL     [i] = interface->set_signal_valack_in        ("val"    , VAL);
@@ -69,5 +76,9 @@
       for (uint32_t i=0; i<_param._nb_update; i++)
 	{
-	  Interface_fifo * interface = _interfaces->set_interface("update_"+toString(i), IN  ,EAST, "Update");
+	  Interface_fifo * interface = _interfaces->set_interface("update_"+toString(i)
+#ifdef POSITION
+								  , IN  ,EAST, "Update"
+#endif
+								  );
 
  	  in_UPDATE_VAL     [i] = interface->set_signal_valack_in        ("val"    , VAL);
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Victim_Pseudo_LRU_end_cycle.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Victim_Pseudo_LRU_end_cycle.cpp	(revision 75)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Victim_Pseudo_LRU_end_cycle.cpp	(revision 75)
@@ -0,0 +1,41 @@
+#if defined(STATISTICS) or defined(VHDL_TESTBENCH)
+/*
+ * $Id$
+ *
+ * [ Description ]
+ * 
+ */
+
+#include "Behavioural/Generic/Victim/Victim_Pseudo_LRU/include/Victim_Pseudo_LRU.h"
+
+namespace morpheo {
+namespace behavioural {
+namespace generic {
+namespace victim {
+namespace victim_pseudo_lru {
+
+#undef  FUNCTION
+#define FUNCTION "Victim_Pseudo_LRU::end_cycle"
+void Victim_Pseudo_LRU::end_cycle ()
+  {
+    log_printf(FUNC,Victim_Pseudo_LRU,FUNCTION,"Begin");
+
+#ifdef STATISTICS
+    _stat->end_cycle();
+#endif    
+
+#ifdef VHDL_TESTBENCH
+    // Evaluation before read the ouput signal
+//  sc_start(0);
+    _interfaces->testbench();
+#endif
+
+    log_printf(FUNC,Victim_Pseudo_LRU,FUNCTION,"End");
+  };
+
+}; // end namespace victim_pseudo_lru
+}; // end namespace victim
+}; // end namespace generic
+}; // end namespace behavioural
+}; // end namespace morpheo              
+#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Victim_Pseudo_LRU_statistics.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Victim_Pseudo_LRU_statistics.cpp	(revision 74)
+++ 	(revision )
@@ -1,28 +1,0 @@
-#ifdef STATISTICS
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/Generic/Victim/Victim_Pseudo_LRU/include/Victim_Pseudo_LRU.h"
-
-namespace morpheo                    {
-namespace behavioural {
-namespace generic {
-namespace victim {
-namespace victim_pseudo_lru {
-
-  
-  string Victim_Pseudo_LRU::statistics (uint32_t depth)
-  {
-    return _stat->print(depth);
-  };
-
-}; // end namespace victim_pseudo_lru
-}; // end namespace victim
-}; // end namespace generic
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Victim_Pseudo_LRU_statistics_declaration.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Victim_Pseudo_LRU_statistics_declaration.cpp	(revision 75)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Victim_Pseudo_LRU_statistics_declaration.cpp	(revision 75)
@@ -0,0 +1,35 @@
+#ifdef STATISTICS
+/*
+ * $Id$
+ *
+ * [ Description ]
+ * 
+ */
+
+#include "Behavioural/Generic/Victim/Victim_Pseudo_LRU/include/Victim_Pseudo_LRU.h"
+
+namespace morpheo                    {
+namespace behavioural {
+namespace generic {
+namespace victim {
+namespace victim_pseudo_lru {
+
+#undef  FUNCTION
+#define FUNCTION "Victim_Pseudo_LRU::statistics_declaration"
+  void Victim_Pseudo_LRU::statistics_declaration (morpheo::behavioural::Parameters_Statistics * param_statistics)
+  {
+    log_printf(FUNC,Victim_Pseudo_LRU,FUNCTION,"Begin");
+
+    _stat = new Stat (static_cast<std::string>(_name),
+		      "Victim_Pseudo_LRU",
+		      param_statistics);
+    
+    log_printf(FUNC,Victim_Pseudo_LRU,FUNCTION,"End");
+  };
+
+}; // end namespace victim_pseudo_lru
+}; // end namespace victim
+}; // end namespace generic
+}; // end namespace behavioural
+}; // end namespace morpheo              
+#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Victim_Pseudo_LRU_transition.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Victim_Pseudo_LRU_transition.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Victim_Pseudo_LRU_transition.cpp	(revision 75)
@@ -61,11 +61,6 @@
       }//end for i
 
-#ifdef STATISTICS
-    _stat->add(_stat_nb_access,
-	       _stat_nb_update);
-#endif    
-    
-#ifdef VHDL_TESTBENCH
-    vhdl_testbench_transition ();
+#if defined(STATISTICS) or defined(VHDL_TESTBENCH)
+    end_cycle ();
 #endif
   };
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Victim_Pseudo_LRU_vhdl_body.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Victim_Pseudo_LRU_vhdl_body.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Victim_Pseudo_LRU_vhdl_body.cpp	(revision 75)
@@ -40,5 +40,5 @@
 	// Read the table
 	
-	string access_address;
+	std::string access_address;
 
 	if (_param._size_table>1)
@@ -58,5 +58,5 @@
 	    for (int32_t k=(1<<j)-1; k<static_cast<int32_t>(_param._nb_entity-1); k+=(1<<(j+1)))
 	      {
-		string cond = "";
+		std::string cond = "";
 		
 		// Create the condition
@@ -70,5 +70,5 @@
 		  }
 		
-		string print_else = (k==(1<<j)-1)?"     ":"else ";
+		std::string print_else = (k==(1<<j)-1)?"     ":"else ";
 
 		vhdl->set_body ("\t"+print_else+"access_entry_"+toString(i)+"("+toString(k)+") "+cond);
@@ -93,5 +93,5 @@
 	    {
 	      bool   have_cond = false;
-	      string cond      = "";
+	      std::string cond      = "";
 	      
 	      // condition to change the bit
@@ -126,5 +126,5 @@
 	    {
 	      bool   have_cond = false;
-	      string cond      = "";
+	      std::string cond      = "";
 	      
 	      // condition to change the bit
@@ -144,5 +144,5 @@
 	      if (have_cond == true)
 		{
-		  string update_address;
+		  std::string update_address;
 
 		  if (_param._size_table>1)
@@ -170,5 +170,5 @@
     for (uint32_t i=0; i<_param._nb_access; i++)
       {
-	string access_address;
+	std::string access_address;
 
 	if (_param._size_table>1)
@@ -185,5 +185,5 @@
     for (uint32_t i=0; i<_param._nb_update; i++)
       {
-	string update_address;
+	std::string update_address;
 
 	if (_param._size_table>1)
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Victim_Pseudo_LRU_vhdl_testbench_transition.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Victim_Pseudo_LRU_vhdl_testbench_transition.cpp	(revision 74)
+++ 	(revision )
@@ -1,31 +1,0 @@
-#ifdef VHDL_TESTBENCH
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/Generic/Victim/Victim_Pseudo_LRU/include/Victim_Pseudo_LRU.h"
-
-namespace morpheo {
-namespace behavioural {
-namespace generic {
-namespace victim {
-namespace victim_pseudo_lru {
-
-
-  void Victim_Pseudo_LRU::vhdl_testbench_transition (void)
-  {
-    // Evaluation before read the ouput signal
-//     sc_start(0);
-
-    _interfaces->testbench();
-  };
-
-}; // end namespace victim_pseudo_lru
-}; // end namespace victim
-}; // end namespace generic
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component/VERSION
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component/VERSION	(revision 74)
+++ 	(revision )
@@ -1,4 +1,0 @@
-v0.6
-
-0.5 modif vhdl_port et vhdl_testbench_port -> ajout d'une macro
-0.6 ajout de la documentation
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component/include/New_Component.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component/include/New_Component.h	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component/include/New_Component.h	(revision 75)
@@ -97,8 +97,5 @@
 //public  : void        genMoore                  (void);
 #endif					       
-#ifdef STATISTICS
-  public  : void        statistics_declaration    (morpheo::behavioural::Parameters_Statistics * param_statistics);
-#endif
-					       
+
 #if VHDL				       
   public  : void        vhdl                      (void);
@@ -106,5 +103,8 @@
   private : void        vhdl_body                 (Vhdl * & vhdl);
 #endif					       
-					       
+
+#ifdef STATISTICS
+  public  : void        statistics_declaration    (morpheo::behavioural::Parameters_Statistics * param_statistics);
+#endif
 #if defined(STATISTICS) or defined(VHDL_TESTBENCH)
   private : void        end_cycle                 (void);
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component/src/New_Component_allocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component/src/New_Component_allocation.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component/src/New_Component_allocation.cpp	(revision 75)
@@ -24,6 +24,4 @@
 			       )
   {
-    string rename;
-
     log_printf(FUNC,@COMPONENT,FUNCTION,"Begin");
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component/src/New_Component_statistics_declaration.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component/src/New_Component_statistics_declaration.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component/src/New_Component_statistics_declaration.cpp	(revision 75)
@@ -19,5 +19,5 @@
     log_printf(FUNC,@COMPONENT,FUNCTION,"Begin");
 
-    _stat = new Stat (static_cast<string>(_name),
+    _stat = new Stat (static_cast<std::string>(_name),
 		      "@COMPONENT",
 		      param_statistics);
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Component.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Component.h	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Component.h	(revision 75)
@@ -44,5 +44,5 @@
   private   : const Tusage_t        _usage;
   private   : Entity              * _entity        ;
-  private   : list<Tcomponent_t*> * _list_component;
+  private   : std::list<Tcomponent_t*> * _list_component;
 
     // -----[ methods ]---------------------------------------------------
@@ -102,6 +102,6 @@
   public    : void                  generate_file     (void);
 #endif    
-  public    : friend ostream&       operator<<        (ostream& output_stream,
-  					  	       morpheo::behavioural::Component & x);
+  public    : friend std::ostream&       operator<<        (std::ostream& output_stream,
+							    morpheo::behavioural::Component & x);
   };
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Configuration_Parameters.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Configuration_Parameters.h	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Configuration_Parameters.h	(revision 75)
@@ -45,6 +45,6 @@
     // methods to print and test parameters_configuration
   public   : std::string          print                      (uint32_t depth);
-  public   : friend ostream& operator<<                 (ostream& output_stream,
-							 morpheo::behavioural::Configuration_Parameters & x);
+  public   : friend std::ostream& operator<<                 (std::ostream& output_stream,
+							      morpheo::behavioural::Configuration_Parameters & x);
   };
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Entity.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Entity.h	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Entity.h	(revision 75)
@@ -84,6 +84,6 @@
   public    : XML                   toXML_mapping     (void);
 #endif
-  public    : friend ostream&       operator<<        (ostream& output_stream,
-  					  	       morpheo::behavioural::Entity & x);
+  public    : friend std::ostream&       operator<<        (std::ostream& output_stream,
+							    morpheo::behavioural::Entity & x);
   };
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Interface.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Interface.h	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Interface.h	(revision 75)
@@ -45,5 +45,5 @@
 #endif
 
-  protected : list<Signal *>      * _list_signal  ;
+  protected : std::list<Signal *>      * _list_signal  ;
 
 #ifdef POSITION
@@ -88,5 +88,5 @@
 							  uint32_t        size     ,
 							  presence_port_t presence_port = PORT_VHDL_YES_TESTBENCH_YES);
-  public    : list<Signal *>      * get_signal_list      (void);
+  public    : std::list<Signal *>      * get_signal_list      (void);
 
 #ifdef SYSTEMC
@@ -207,5 +207,5 @@
 #  ifdef VHDL_TESTBENCH
   public    : void                  set_signal           (Vhdl * & vhdl);
-  public    : void                  get_signal           (list<std::string> * & list_signal);
+  public    : void                  get_signal           (std::list<std::string> * & list_signal);
 #  endif
 #endif
@@ -237,6 +237,6 @@
   public    : XML                   toXML_mapping        (void);
 #endif
-  public    : friend ostream&       operator<<           (ostream& output_stream,
-  					  		  morpheo::behavioural::Interface & x);
+  public    : friend std::ostream&       operator<<           (std::ostream& output_stream,
+							       morpheo::behavioural::Interface & x);
 
   };
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Interface_fifo.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Interface_fifo.h	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Interface_fifo.h	(revision 75)
@@ -31,14 +31,14 @@
   class Interface_fifo : public Interface
   {
-  private   : list<Signal *>      * _list_signal_val;
-  private   : list<Signal *>      * _list_signal_ack;
+  private   : std::list<Signal *>      * _list_signal_val;
+  private   : std::list<Signal *>      * _list_signal_ack;
 
 #ifdef VHDL_TESTBENCH
   private   : bool                  _test_exhaustive;
-  private   : list<uint32_t>      * _list_cycle   ;
+  private   : std::list<uint32_t>      * _list_cycle   ;
 #endif
 
    // -----[ methods ]---------------------------------------------------
-  public    :                       Interface_fifo       (string         name        
+  public    :                       Interface_fifo       (std::string         name        
 #ifdef POSITION
 							  ,direction_t    direction   
@@ -51,5 +51,5 @@
   public    :                       ~Interface_fifo      ();
 
-  public    : Signal *              set_signal_valack    (string          name     ,
+  public    : Signal *              set_signal_valack    (std::string          name     ,
 							  direction_t     direction,
 							  val_ack_t       val_ack  ,
@@ -66,5 +66,5 @@
     }
 
-  public    : sc_in <bool> *        set_signal_valack_in (string          name     ,
+  public    : sc_in <bool> *        set_signal_valack_in (std::string          name     ,
 							  val_ack_t       val_ack  ,
 							  presence_port_t presence_port=PORT_VHDL_YES_TESTBENCH_YES)
@@ -86,5 +86,5 @@
     }
 
-  public    : sc_out<bool> *        set_signal_valack_out(string          name     ,
+  public    : sc_out<bool> *        set_signal_valack_out(std::string          name     ,
 							  val_ack_t       val_ack  ,
 							  presence_port_t presence_port=PORT_VHDL_YES_TESTBENCH_YES)
@@ -107,9 +107,9 @@
   public    : bool                  testbench_transaction(void);
   public    : void                  testbench_cycle      (void);
-  public    : string                testbench_test       (Vhdl   * & vhdl        ,
-							  string     counter_name,
-							  string     reset_name  );
+  public    : std::string           testbench_test       (Vhdl   * & vhdl        ,
+							  std::string     counter_name,
+							  std::string     reset_name  );
 
-  public    : string                testbench_test_transaction (Vhdl * & vhdl);
+  public    : std::string           testbench_test_transaction (Vhdl * & vhdl);
 #endif
   };
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Interfaces.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Interfaces.h	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Interfaces.h	(revision 75)
@@ -29,5 +29,5 @@
   private   : const std::string               _name;
   private   : const Tusage_t             _usage;
-  private   : list<Interface_fifo*>    * _list_interface;
+  private   : std::list<Interface_fifo*>    * _list_interface;
 
     // -----[ methods ]---------------------------------------------------
@@ -50,10 +50,10 @@
 #endif
   private   : std::string                get_interface         (void);
-  public    :list<Interface_fifo*>* get_interface_list    (void);
+  public    :std::list<Interface_fifo*>* get_interface_list    (void);
 
 #ifdef VHDL
   public    : void                  set_port              (Vhdl           * & vhdl          );
 #  ifdef VHDL_TESTBENCH
-  private   : void                  get_signal            (list<std::string>   * & list_signal   );
+  private   : void                  get_signal            (std::list<std::string>   * & list_signal   );
   private   : void                  set_signal            (Vhdl           * & vhdl          );
 #  endif
@@ -82,6 +82,6 @@
   public    : bool                  test_map              (bool top_level);
 
-  public    : friend ostream&       operator<<            (ostream& output_stream,
-  					  		   morpheo::behavioural::Interfaces & x);
+  public    : friend std::ostream&       operator<<            (std::ostream& output_stream,
+								morpheo::behavioural::Interfaces & x);
 
   };
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Signal.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Signal.h	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Signal.h	(revision 75)
@@ -66,5 +66,5 @@
 
 #ifdef VHDL_TESTBENCH
-  private   : list<std::string>        * _list_value    ;
+  private   : std::list<std::string> * _list_value    ;
 #endif
 
@@ -182,5 +182,5 @@
 
   public    : void              set_signal      (Vhdl * & vhdl);
-  public    : void              get_name_vhdl   (list<std::string> * & list_signal);
+  public    : void              get_name_vhdl   (std::list<std::string> * & list_signal);
 
   public    : void              testbench        (void);
@@ -193,6 +193,6 @@
   public    : XML               toXML           (void);
 
-  public    : friend ostream&   operator<<      (ostream& output_stream,
-						 morpheo::behavioural::Signal & x);
+  public    : friend std::ostream&   operator<<      (std::ostream& output_stream,
+						      morpheo::behavioural::Signal & x);
 
   };
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Stat.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Stat.h	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Stat.h	(revision 75)
@@ -94,4 +94,6 @@
     private : void               generate_file   (void);
 
+    private : bool               have_counter    (void);
+
     public  : void               add_stat        (Stat * stat);
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Statistics.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Statistics.h	(revision 74)
+++ 	(revision )
@@ -1,53 +1,0 @@
-#ifdef STATISTICS
-
-#ifndef morpheo_behavioural_Statistics_h
-#define morpheo_behavioural_Statistics_h
-
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include <stdint.h>
-#include <iostream>
-#include "Behavioural/include/Environnement.h"
-#include "Behavioural/include/Parameters_Statistics.h"
-#include "Common/include/Average.h"
-#include "Common/include/Percent.h"
-
-namespace morpheo              {
-namespace behavioural          {
-
-  class Statistics
-  {
-    // -----[ fields ]----------------------------------------------------
-  protected : const std::string                  _name;
-  protected : const Parameters_Statistics * _parameters_statistics;
-
-  protected :       uint32_t _nb_statistics;         // nb period ...
-  protected :       uint32_t _period_current;        // nb cycle in current period
-
-    // -----[ methods ]---------------------------------------------------
-  public    :                  Statistics          (std::string                  name                 ,
-						    Parameters_Statistics * parameters_statistics);
-  public    : virtual          ~Statistics         ();
-
-  protected : uint32_t         compute_cycle_begin (uint32_t num_statistics);    
-  protected : uint32_t         compute_cycle_end   (uint32_t num_statistics, uint32_t nb_cycle);
-
-  public    : virtual std::string   print_body          (uint32_t depth) = 0;
-  public    : virtual std::string   print               (uint32_t depth) = 0;
-  public    : void             generate_file       (std::string   stat );
-  public    : void             generate_file       (void);
-
-  private   : template <class Counters, class Parameters_Counters> void save        (Counters ** &, Parameters_Counters parameters);
-  protected : template <class Counters, class Parameters_Counters> void test_if_save(Counters ** &, Parameters_Counters parameters);
-  };
-
-}; // end namespace behavioural          
-}; // end namespace morpheo              
-
-#endif
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Component.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Component.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Component.cpp	(revision 75)
@@ -15,5 +15,5 @@
   {
     log_printf(FUNC,Behavioural,"Component::Component","Begin");
-    _list_component = new list<Tcomponent_t *>;
+    _list_component = new std::list<Tcomponent_t *>;
     log_printf(FUNC,Behavioural,"Component::Component","End");
   };
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Component_find_entity.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Component_find_entity.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Component_find_entity.cpp	(revision 75)
@@ -11,5 +11,5 @@
 namespace behavioural          {
 
-  Entity * Component::find_entity (string name)
+  Entity * Component::find_entity (std::string name)
   {
     log_printf(FUNC,Behavioural,"Component::find_entity", "Begin");
@@ -22,5 +22,5 @@
       if (_list_component->empty()== false)
 	{
-	  list<Tcomponent_t *>::iterator i = _list_component->begin();
+	  std::list<Tcomponent_t *>::iterator i = _list_component->begin();
 	  
 	  while (i != _list_component->end())
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Component_get_component.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Component_get_component.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Component_get_component.cpp	(revision 75)
@@ -14,17 +14,17 @@
 #define FUNCTION "Component::get_component"
 
-  string Component::get_component (void)
+  std::string Component::get_component (void)
   {
     log_printf(FUNC,Behavioural,FUNCTION,"Begin");
 
     uint32_t               depth          = 0;
-    string                 separator      = "\n";
+    std::string                 separator      = "\n";
     bool                   last_separator = false;
 
-    list<Tcomponent_t *>::iterator  i  = _list_component->begin();
+    std::list<Tcomponent_t *>::iterator  i  = _list_component->begin();
     bool                   empty = _list_component->empty();
 
-    string                 tab   = string(depth,'\t');
-    ostringstream          text;
+    std::string                 tab   = std::string(depth,'\t');
+    std::ostringstream          text;
 
     if (not empty)
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Component_get_entity.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Component_get_entity.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Component_get_entity.cpp	(revision 75)
@@ -13,9 +13,9 @@
 #undef  FUNCTION
 #define FUNCTION "Component::get_entity"
-  string Component::get_entity (void)
+  std::string Component::get_entity (void)
   {
     log_printf(FUNC,Behavioural,FUNCTION,"Begin");
 
-    ostringstream text;
+    std::ostringstream text;
     text << *(_entity); 
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Component_interface_map.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Component_interface_map.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Component_interface_map.cpp	(revision 75)
@@ -14,8 +14,8 @@
 #undef  FUNCTION
 #define FUNCTION "Component::interface_map"
-  void Component::interface_map (string component_src ,
-				 string port_src      ,
-				 string component_dest,
-				 string port_dest     )
+  void Component::interface_map (std::string component_src ,
+				 std::string port_src      ,
+				 std::string component_dest,
+				 std::string port_dest     )
   {
     log_printf(FUNC,Behavioural,FUNCTION,"Begin");
@@ -24,5 +24,5 @@
     Entity * entity_dest = find_entity(component_dest);
 
-    string name_entity = _entity->get_name();
+    std::string name_entity = _entity->get_name();
 
     if (entity_dest == NULL)
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Component_port_map.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Component_port_map.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Component_port_map.cpp	(revision 75)
@@ -13,12 +13,12 @@
 #undef  FUNCTION
 #define FUNCTION "Component::port_map"
-  void Component::port_map (string component_src ,
-			    string port_src      ,
-			    string component_dest,
-			    string port_dest     )
+  void Component::port_map (std::string component_src ,
+			    std::string port_src      ,
+			    std::string component_dest,
+			    std::string port_dest     )
   {
     log_printf(FUNC,Behavioural,FUNCTION,"Begin");
 
-    string name_entity = _entity->get_name();
+    std::string name_entity = _entity->get_name();
 
     // First entity 
@@ -111,6 +111,6 @@
 
 
-  void Component::port_map (string component_src ,
-			    string port_src      )
+  void Component::port_map (std::string component_src ,
+			    std::string port_src      )
   {
     log_printf(FUNC,Behavioural,FUNCTION,"Begin");
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Component_print.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Component_print.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Component_print.cpp	(revision 75)
@@ -14,11 +14,11 @@
 #undef  FUNCTION
 #define FUNCTION "Component::operator<<"
-  ostream& operator<< (ostream& output_stream,
-		       morpheo::behavioural::Component & x)
+  std::ostream& operator<< (std::ostream& output_stream,
+			    morpheo::behavioural::Component & x)
   {
     log_printf(FUNC,Behavioural,FUNCTION,"Begin");
 
-    output_stream << x.get_entity    () << endl;
-    output_stream << x.get_component () << endl;
+    output_stream << x.get_entity    () << std::endl;
+    output_stream << x.get_component () << std::endl;
 
     log_printf(FUNC,Behavioural,FUNCTION,"End");
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Component_set_entity.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Component_set_entity.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Component_set_entity.cpp	(revision 75)
@@ -13,6 +13,6 @@
 #undef  FUNCTION
 #define FUNCTION "Component::set_entity"
-  Entity * Component::set_entity (string        name   
-				  ,string        type   
+  Entity * Component::set_entity (std::string        name   
+				  ,std::string        type   
 #ifdef POSITION
 				  ,schema_t      schema
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Component_signal_internal.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Component_signal_internal.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Component_signal_internal.cpp	(revision 75)
@@ -19,11 +19,11 @@
 
     // create name of internal's signal
-    string str_entity = entity_productor->get_name();
-    string str_signal = signal_productor->get_name();
+    std::string str_entity = entity_productor->get_name();
+    std::string str_signal = signal_productor->get_name();
     
     UpperCase (str_entity);
     UpperCase (str_signal);
     
-    string name_internal = "internal_"+str_entity+"_"+str_signal;
+    std::string name_internal = "internal_"+str_entity+"_"+str_signal;
     
     // test if internal's signal exist ... else, create
@@ -40,5 +40,5 @@
 	  throw (ErrorMorpheo ("<Component::port_map> Component \""+_entity->get_name()+"\", doesn't have an interface \"\"."));
 	
-	string signame = entity_productor->get_name()+"_"+signal_productor->get_name();
+	std::string signame = entity_productor->get_name()+"_"+signal_productor->get_name();
 	
 	// Signal's creation
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Component_test_map.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Component_test_map.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Component_test_map.cpp	(revision 75)
@@ -17,5 +17,5 @@
     log_printf(FUNC,Behavioural,FUNCTION,"Begin");
 
-    string name = _entity->get_name();
+    std::string name = _entity->get_name();
     bool test_ok = true;
     if (_list_component->empty () == true)
@@ -31,5 +31,5 @@
 	log_printf(INFO,Behavioural,FUNCTION, "Test all internal component");
 	
-	for (list<Tcomponent_t *>::iterator i= _list_component->begin();
+	for (std::list<Tcomponent_t *>::iterator i= _list_component->begin();
 	     i != _list_component->end();
 	     ++i)
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Component_toXML.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Component_toXML.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Component_toXML.cpp	(revision 75)
@@ -27,5 +27,5 @@
     if (_list_component->empty()== false)
       {
-	list<Tcomponent_t *>::iterator i = _list_component->begin();
+	std::list<Tcomponent_t *>::iterator i = _list_component->begin();
 
 	while (i != _list_component->end())
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Component_vhdl_instance.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Component_vhdl_instance.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Component_vhdl_instance.cpp	(revision 75)
@@ -19,5 +19,5 @@
 
     uint32_t             cpt = 0;
-    map<Signal *,string> tab;
+    std::map<Signal *,std::string> tab;
 
     // buffer all output
@@ -25,6 +25,6 @@
     {
       // for each interface
-      list<Interface_fifo *>         * list_interface = (_entity)->get_interfaces_list()->get_interface_list();
-      list<Interface_fifo *>::iterator j              = list_interface->begin();
+      std::list<Interface_fifo *>         * list_interface = (_entity)->get_interfaces_list()->get_interface_list();
+      std::list<Interface_fifo *>::iterator j              = list_interface->begin();
       if (not list_interface->empty())
 	{
@@ -36,6 +36,6 @@
 	    {
 	      // for each signal
-	      list<Signal *>         * list_signal = (*j)->get_signal_list();
-	      list<Signal *>::iterator k           = list_signal->begin();
+	      std::list<Signal *>         * list_signal = (*j)->get_signal_list();
+	      std::list<Signal *>::iterator k           = list_signal->begin();
 	      if (not list_signal->empty())
 		{
@@ -49,5 +49,5 @@
 			{
 			  // Create name
-			  string signal_name = "signal_"+toString(cpt++);
+			  std::string signal_name = "signal_"+toString(cpt++);
 			  
 			  tab [signal                           ] = signal_name;
@@ -76,6 +76,6 @@
 
     // for each entity
-    list<Tcomponent_t *>         * list_component = _list_component;
-    list<Tcomponent_t *>::iterator i              = list_component->begin();
+    std::list<Tcomponent_t *>         * list_component = _list_component;
+    std::list<Tcomponent_t *>::iterator i              = list_component->begin();
     if (not list_component->empty())
       {
@@ -90,9 +90,9 @@
 	    if (instance & INSTANCE_COMPONENT)
 	    {
-	      list<string> list_port_map;
+	      std::list<std::string> list_port_map;
 	      
 	      // for each interface
-	      list<Interface_fifo *>         * list_interface = entity->get_interfaces_list()->get_interface_list();
-	      list<Interface_fifo *>::iterator j              = list_interface->begin();
+	      std::list<Interface_fifo *>         * list_interface = entity->get_interfaces_list()->get_interface_list();
+	      std::list<Interface_fifo *>::iterator j              = list_interface->begin();
 	      if (not list_interface->empty())
 		{
@@ -100,6 +100,6 @@
 		    {
 		      // for each signal
-		      list<Signal *>         * list_signal = (*j)->get_signal_list();
-		      list<Signal *>::iterator k           = list_signal->begin();
+		      std::list<Signal *>         * list_signal = (*j)->get_signal_list();
+		      std::list<Signal *>::iterator k           = list_signal->begin();
 		      if (not list_signal->empty())
 			{
@@ -112,6 +112,6 @@
 				{
 				  Signal * signal_dest = signal_src->get_connect_to_signal();
-				  string   name_src    = signal_src->get_name();
-				  string   name_dest;
+				  std::string   name_src    = signal_src->get_name();
+				  std::string   name_dest;
 				  
 // 				// Test if destination signal is a interface port ?
@@ -119,5 +119,5 @@
 // 				  {
 				  // find if signal is already link
-				  map<Signal *,string>::iterator it = tab.find(signal_dest); 
+				  std::map<Signal *,std::string>::iterator it = tab.find(signal_dest); 
 				  if (tab.find(signal_dest) == tab.end())
 				    {
@@ -144,5 +144,5 @@
 // 				      {
 // 					// Take buffer's signal
-// 					map<Signal *,string>::iterator it = tab.find(signal_dest);
+// 					map<Signal *,std::string>::iterator it = tab.find(signal_dest);
 // 					name_dest        = (*it).second;
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Configuration_Parameters.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Configuration_Parameters.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Configuration_Parameters.cpp	(revision 75)
@@ -14,12 +14,12 @@
 #undef  FUNCTION
 #define FUNCTION "Configuration_Parameters::Configuration_Parameters"
-  Configuration_Parameters::Configuration_Parameters  (string   name   ,
+  Configuration_Parameters::Configuration_Parameters  (std::string   name   ,
 						       uint32_t value  ,
 						       uint32_t min    ,
 						       uint32_t max    ,
-						       string   step   ,
+						       std::string   step   ,
 						       uint32_t value_default,
 						       uint32_t level  ,
-						       string   comment):
+						       std::string   comment):
     _name    (name         ),
     _value   (value        ),
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Configuration_Parameters_print.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Configuration_Parameters_print.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Configuration_Parameters_print.cpp	(revision 75)
@@ -15,5 +15,5 @@
 #undef  FUNCTION
 #define FUNCTION "Configuration_Parameters::print"
-  string Configuration_Parameters::print (uint32_t depth)
+  std::string Configuration_Parameters::print (uint32_t depth)
   {
     log_printf(FUNC,Behavioural,FUNCTION,"Begin");
@@ -38,6 +38,6 @@
 #undef  FUNCTION
 #define FUNCTION "Configuration_Parameters::operator<<"
-  ostream& operator<< (ostream& output_stream,
-		       morpheo::behavioural::Configuration_Parameters & x)
+  std::ostream& operator<< (std::ostream& output_stream,
+			    morpheo::behavioural::Configuration_Parameters & x)
   {
     log_printf(FUNC,Behavioural,FUNCTION,"Begin");
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Entity.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Entity.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Entity.cpp	(revision 75)
@@ -11,6 +11,6 @@
 namespace behavioural          {
 
-  Entity::Entity  ( string       name   
-		   ,string       type  
+  Entity::Entity  ( std::string       name   
+		   ,std::string       type  
 #ifdef POSITION
 		   ,schema_t     schema
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Entity_find_interface.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Entity_find_interface.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Entity_find_interface.cpp	(revision 75)
@@ -13,5 +13,5 @@
 #undef  FUNCTION
 #define FUNCTION "Entity::find_interface"
-  Interface * Entity::find_interface (string name)
+  Interface * Entity::find_interface (std::string name)
   {
     log_printf(FUNC,Behavioural,FUNCTION,"Begin");
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Entity_find_signal.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Entity_find_signal.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Entity_find_signal.cpp	(revision 75)
@@ -13,5 +13,5 @@
 #undef  FUNCTION
 #define FUNCTION "Entity::find_signal"
-  Signal * Entity::find_signal (string name)
+  Signal * Entity::find_signal (std::string name)
   {
     log_printf(FUNC,Behavioural,FUNCTION,"Begin");
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Entity_get_comment.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Entity_get_comment.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Entity_get_comment.cpp	(revision 75)
@@ -15,8 +15,8 @@
 #undef  FUNCTION
 #define FUNCTION "Entity::get_comment"
-  string Entity::get_comment (void)
+  std::string Entity::get_comment (void)
   {
     log_printf(FUNC,Behavioural,FUNCTION,"Begin");
-    string _return = _comment;
+    std::string _return = _comment;
     log_printf(FUNC,Behavioural,FUNCTION,"End");
     return _return;
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Entity_get_interfaces.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Entity_get_interfaces.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Entity_get_interfaces.cpp	(revision 75)
@@ -14,8 +14,8 @@
 #undef  FUNCTION
 #define FUNCTION "Entity::get_interfaces"
-  string Entity::get_interfaces (void)
+  std::string Entity::get_interfaces (void)
   {
     log_printf(FUNC,Behavioural,FUNCTION,"Begin");
-    ostringstream text;
+    std::ostringstream text;
     text << *(_interfaces); 
     log_printf(FUNC,Behavioural,FUNCTION,"End");
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Entity_get_name.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Entity_get_name.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Entity_get_name.cpp	(revision 75)
@@ -14,8 +14,8 @@
 #undef  FUNCTION
 #define FUNCTION "Entity::get_name"
-  string Entity::get_name (void)
+  std::string Entity::get_name (void)
   {
     log_printf(FUNC,Behavioural,FUNCTION,"Begin");
-    string _return = _name;
+    std::string _return = _name;
     log_printf(FUNC,Behavioural,FUNCTION,"End");
     return _return;
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Entity_get_type.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Entity_get_type.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Entity_get_type.cpp	(revision 75)
@@ -14,8 +14,8 @@
 #undef  FUNCTION
 #define FUNCTION "Entity::get_type"
-  string Entity::get_type (void)
+  std::string Entity::get_type (void)
   {
     log_printf(FUNC,Behavioural,FUNCTION,"Begin");
-    string _return = _type;
+    std::string _return = _type;
     log_printf(FUNC,Behavioural,FUNCTION,"End");
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Entity_print.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Entity_print.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Entity_print.cpp	(revision 75)
@@ -14,16 +14,16 @@
 #undef  FUNCTION
 #define FUNCTION "Entity::operator<<"
-  ostream& operator<< (ostream& output_stream,
-		       morpheo::behavioural::Entity & x)
+  std::ostream& operator<< (std::ostream& output_stream,
+			    morpheo::behavioural::Entity & x)
   {
     log_printf(FUNC,Behavioural,FUNCTION,"Begin");
  
 #ifdef POSITION
-    output_stream << x._name + "\t"+x._type+"\t"+toString(x._schema) << endl;
-    output_stream << x.get_comment()    << endl;
+    output_stream << x._name + "\t"+x._type+"\t"+toString(x._schema) << std::endl;
+    output_stream << x.get_comment()    << std::endl;
 #else
-    output_stream << x._name + "\t"+x._type<< endl;
+    output_stream << x._name + "\t"+x._type<< std::endl;
 #endif
-    output_stream << x.get_interfaces() << endl;
+    output_stream << x.get_interfaces() << std::endl;
 
     log_printf(FUNC,Behavioural,FUNCTION,"End");
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Entity_set_comment.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Entity_set_comment.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Entity_set_comment.cpp	(revision 75)
@@ -15,5 +15,5 @@
 #undef  FUNCTION
 #define FUNCTION "Entity::set_comment"
-  void Entity::set_comment (string comment)
+  void Entity::set_comment (std::string comment)
   {
     log_printf(FUNC,Behavioural,FUNCTION,"Begin");
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface.cpp	(revision 75)
@@ -11,5 +11,5 @@
 namespace behavioural          {
 
-  Interface::Interface  (string                name         
+  Interface::Interface  (std::string                name         
 #ifdef POSITION
 			 ,direction_t           direction    
@@ -27,5 +27,5 @@
     log_printf(FUNC,Behavioural,"Interface","Begin");
 
-    _list_signal   = new (list<Signal*>);
+    _list_signal   = new (std::list<Signal*>);
 
 #ifdef POSITION
@@ -72,5 +72,5 @@
     if (_list_signal->empty()== false)
       {
-	list<Signal*>::iterator i = _list_signal->begin();
+	std::list<Signal*>::iterator i = _list_signal->begin();
 
 	while (i != _list_signal->end())
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_fifo.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_fifo.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_fifo.cpp	(revision 75)
@@ -11,5 +11,5 @@
 namespace behavioural          {
 
-  Interface_fifo::Interface_fifo  (string         name        
+  Interface_fifo::Interface_fifo  (std::string         name        
 #ifdef POSITION
 				   ,direction_t    direction   
@@ -28,10 +28,10 @@
     log_printf(FUNC,Behavioural,"Interface_fifo","Begin");
 
-    _list_signal_val = new (list<Signal*>);
-    _list_signal_ack = new (list<Signal*>);
+    _list_signal_val = new (std::list<Signal*>);
+    _list_signal_ack = new (std::list<Signal*>);
 
 #ifdef VHDL_TESTBENCH
     _test_exhaustive = true;
-    _list_cycle      = new list<uint32_t>;
+    _list_cycle      = new std::list<uint32_t>;
 #endif
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_fifo_set_signal.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_fifo_set_signal.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_fifo_set_signal.cpp	(revision 75)
@@ -11,5 +11,5 @@
 namespace behavioural          {
 
-  Signal * Interface_fifo::set_signal_valack (string          name     ,
+  Signal * Interface_fifo::set_signal_valack (std::string          name     ,
 					      direction_t     direction,
 					      val_ack_t       val_ack  ,
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_fifo_testbench_test.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_fifo_testbench_test.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_fifo_testbench_test.cpp	(revision 75)
@@ -12,10 +12,10 @@
 namespace behavioural          {
 
-  string Interface_fifo::testbench_test (Vhdl * & vhdl,
-					 string   counter_name,
-					 string   reset_name  )
+  std::string Interface_fifo::testbench_test (Vhdl * & vhdl,
+					 std::string   counter_name,
+					 std::string   reset_name  )
   {
     log_printf(FUNC,Behavioural,"testbench_test","Begin");
-    string test_name;
+    std::string test_name;
     
     if (_test_exhaustive == true)
@@ -28,7 +28,7 @@
 
 	       test_name        = testbench_test_name        (vhdl);
-	string test_name_tmp    = test_name+"_tmp";
-	string test_name_ok     = testbench_test_ok          (vhdl);
- 	string test_transaction = testbench_test_transaction (vhdl);
+	std::string test_name_tmp    = test_name+"_tmp";
+	std::string test_name_ok     = testbench_test_ok          (vhdl);
+ 	std::string test_transaction = testbench_test_transaction (vhdl);
 
 	vhdl->set_signal(test_name_tmp,1);
@@ -39,5 +39,5 @@
 	    vhdl->set_body ("\t"+test_name_tmp+" <=");
 	
-	    list<uint32_t>::iterator i = _list_cycle->begin();
+	    std::list<uint32_t>::iterator i = _list_cycle->begin();
 	    
 	    while (i != _list_cycle->end())
@@ -62,5 +62,5 @@
 
 	    uint32_t                 j = 0;
-	    list<uint32_t>::iterator i = _list_cycle->begin();
+	    std::list<uint32_t>::iterator i = _list_cycle->begin();
 	    
 	    while (i != _list_cycle->end())
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_fifo_testbench_test_transaction.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_fifo_testbench_test_transaction.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_fifo_testbench_test_transaction.cpp	(revision 75)
@@ -12,9 +12,9 @@
 namespace behavioural          {
 
-  string Interface_fifo::testbench_test_transaction (Vhdl * & vhdl)
+  std::string Interface_fifo::testbench_test_transaction (Vhdl * & vhdl)
   {
     log_printf(FUNC,Behavioural,"testbench_test_transaction","Begin");
     
-    string name = testbench_test_transaction_name(vhdl);
+    std::string name = testbench_test_transaction_name(vhdl);
 
     vhdl->set_body(name+" <= '1'");
@@ -23,5 +23,5 @@
     if (_list_signal_val->empty()== false)
       {
-	list<Signal*>::iterator i = _list_signal_val->begin();
+	std::list<Signal*>::iterator i = _list_signal_val->begin();
 
 	while (i != _list_signal_val->end())
@@ -35,5 +35,5 @@
     if (_list_signal_ack->empty()== false)
       {
-	list<Signal*>::iterator i = _list_signal_ack->begin();
+	std::list<Signal*>::iterator i = _list_signal_ack->begin();
 
 	while (i != _list_signal_ack->end())
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_fifo_testbench_transaction.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_fifo_testbench_transaction.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_fifo_testbench_transaction.cpp	(revision 75)
@@ -21,5 +21,5 @@
     if (_list_signal_val->empty()== false)
       {
-	list<Signal*>::iterator i = _list_signal_val->begin();
+	std::list<Signal*>::iterator i = _list_signal_val->begin();
 
 	while ((i != _list_signal_val->end()) and (res == true))
@@ -33,5 +33,5 @@
     if (_list_signal_ack->empty()== false)
       {
-	list<Signal*>::iterator i = _list_signal_ack->begin();
+	std::list<Signal*>::iterator i = _list_signal_ack->begin();
 
 	while ((i != _list_signal_ack->end()) and (res == true))
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_find_signal.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_find_signal.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_find_signal.cpp	(revision 75)
@@ -12,9 +12,9 @@
 namespace behavioural          {
 
-  Signal * Interface::find_signal (string name)
+  Signal * Interface::find_signal (std::string name)
   {
     log_printf(FUNC,Behavioural,"find_signal","Begin");
 
-    list<Signal*>::iterator i   = _list_signal->begin();
+    std::list<Signal*>::iterator i   = _list_signal->begin();
     Signal *                sig = NULL;
     if (_list_signal->empty() == false)
@@ -41,5 +41,5 @@
 
     bool find = false;
-    list<Signal*>::iterator i = _list_signal->begin();
+    std::list<Signal*>::iterator i = _list_signal->begin();
     if (_list_signal->empty() == false)
       {
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_get_clock.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_get_clock.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_get_clock.cpp	(revision 75)
@@ -23,5 +23,5 @@
     if (not _list_signal->empty())
       {
-	list<Signal*>::iterator i     = _list_signal->begin();
+	std::list<Signal*>::iterator i     = _list_signal->begin();
 	
 	while (i != _list_signal->end())
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_get_comment.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_get_comment.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_get_comment.cpp	(revision 75)
@@ -13,8 +13,8 @@
 namespace behavioural          {
 
-  string Interface::get_comment (void)
+  std::string Interface::get_comment (void)
   {
     log_printf(FUNC,Behavioural,"get_comment","Begin");
-    string res = _comment;
+    std::string res = _comment;
     log_printf(FUNC,Behavioural,"get_comment","End");
     return res;
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_get_name.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_get_name.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_get_name.cpp	(revision 75)
@@ -12,8 +12,8 @@
 namespace behavioural          {
 
-  string Interface::get_name (void)
+  std::string Interface::get_name (void)
   {
     log_printf(FUNC,Behavioural,"get_name","Begin");
-    string res = _name;
+    std::string res = _name;
     log_printf(FUNC,Behavioural,"get_name","End");
     return res;
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_get_reset.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_get_reset.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_get_reset.cpp	(revision 75)
@@ -23,5 +23,5 @@
     if (not _list_signal->empty())
       {
-	list<Signal*>::iterator i = _list_signal->begin();
+	std::list<Signal*>::iterator i = _list_signal->begin();
 	
 	while (i != _list_signal->end())
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_get_signal.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_get_signal.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_get_signal.cpp	(revision 75)
@@ -12,18 +12,18 @@
 namespace behavioural          {
 
-  string Interface::get_signal (void)
+  std::string Interface::get_signal (void)
   {
     log_printf(FUNC,Behavioural,"get_signal","Begin");
 
     uint32_t               depth          = 0;
-    string                 separator      = ",\n";
+    std::string                 separator      = ",\n";
     bool                   last_separator = false;
 
 
-    list<Signal*>::iterator i    = _list_signal->begin();
-    bool                   empty = _list_signal->empty();
+    std::list<Signal*>::iterator i    = _list_signal->begin();
+    bool                         empty = _list_signal->empty();
 
-    string                 tab   = string(depth,'\t');
-    ostringstream          text;
+    std::string                 tab   = std::string(depth,'\t');
+    std::ostringstream          text;
 
     if (not empty)
@@ -56,5 +56,5 @@
 #undef  FUNCTION
 #define FUNCTION "Interface::get_signal"
-  void Interface::get_signal (list<string> * & list_signal)
+  void Interface::get_signal (std::list<std::string> * & list_signal)
   {
     log_printf(FUNC,Behavioural,FUNCTION,"Begin");
@@ -62,5 +62,5 @@
     if (not _list_signal->empty())
       {
-	list<Signal*>::iterator i = _list_signal->begin();
+	std::list<Signal*>::iterator i = _list_signal->begin();
 	
 	while (i != _list_signal->end())
@@ -78,8 +78,8 @@
 #undef  FUNCTION
 #define FUNCTION "Interface::get_signal_list"
-  list<Signal *> * Interface::get_signal_list (void)
+  std::list<Signal *> * Interface::get_signal_list (void)
     {
       log_printf(FUNC,Behavioural,FUNCTION,"Begin");
-      list<Signal *> * _return = _list_signal;
+      std::list<Signal *> * _return = _list_signal;
       log_printf(FUNC,Behavioural,FUNCTION,"End");
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_print.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_print.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_print.cpp	(revision 75)
@@ -12,15 +12,15 @@
 namespace behavioural          {
 
-  ostream& operator<< (ostream& output_stream,
-		       morpheo::behavioural::Interface & x)
+  std::ostream& operator<< (std::ostream& output_stream,
+			    morpheo::behavioural::Interface & x)
   {
     log_printf(FUNC,Behavioural,"operator<<","Begin");
 #ifdef POSITION
-    output_stream << x._name + "\t"+toString(x._localisation)+"\t"+toString(x._direction) << endl;
-    output_stream << x.get_comment() << endl;
+    output_stream << x._name + "\t"+toString(x._localisation)+"\t"+toString(x._direction) << std::endl;
+    output_stream << x.get_comment() << std::endl;
 #else
-    output_stream << x._name << endl;
+    output_stream << x._name << std::endl;
 #endif
-    output_stream << x.get_signal () << endl;
+    output_stream << x.get_signal () << std::endl;
 
 // #ifdef VHDL_TESTBENCH
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_set_comment.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_set_comment.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_set_comment.cpp	(revision 75)
@@ -13,5 +13,5 @@
 namespace behavioural          {
 
-  void Interface::set_comment (string comment)
+  void Interface::set_comment (std::string comment)
   {
     log_printf(FUNC,Behavioural,"set_comment","Begin");
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_set_port.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_set_port.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_set_port.cpp	(revision 75)
@@ -18,5 +18,5 @@
     if (not _list_signal->empty())
       {
-	list<Signal*>::iterator i     = _list_signal->begin();
+	std::list<Signal*>::iterator i     = _list_signal->begin();
 	
 	while (i != _list_signal->end())
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_set_signal.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_set_signal.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_set_signal.cpp	(revision 75)
@@ -11,5 +11,5 @@
 namespace behavioural          {
 
-  Signal * Interface::set_signal (string          name     ,
+  Signal * Interface::set_signal (std::string          name     ,
 				  direction_t     direction,
 				  uint32_t        size     ,
@@ -18,5 +18,5 @@
     log_printf(FUNC,Behavioural,"set_signal","Begin");
 
-    string signame = signal_name(_name, name, direction);
+    std::string signame = signal_name(_name, name, direction);
 
     Signal * sig = new Signal       (signame, direction, size, presence_port);
@@ -39,5 +39,5 @@
     if (not _list_signal->empty())
       {
-	list<Signal*>::iterator i = _list_signal->begin();
+	std::list<Signal*>::iterator i = _list_signal->begin();
 	
 	while (i != _list_signal->end())
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_signal_name.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_signal_name.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_signal_name.cpp	(revision 75)
@@ -11,13 +11,13 @@
 namespace behavioural          {
 
-  string Interface::signal_name          (string      name_interface,
-					  string      name_signal   ,
-					  direction_t direction     )
+  std::string Interface::signal_name          (std::string      name_interface,
+					       std::string      name_signal   ,
+					       direction_t direction     )
   {
     log_printf(FUNC,Behavioural,"signal_name","Begin");
 
-    string str_direction = toString(direction);
-    string str_interface = name_interface;
-    string str_signal    = name_signal;
+    std::string str_direction = toString(direction);
+    std::string str_interface = name_interface;
+    std::string str_signal    = name_signal;
 
     LowerCase(str_direction);    
@@ -25,5 +25,5 @@
     UpperCase(str_signal   );
     
-    string signame = str_direction;
+    std::string signame = str_direction;
     if (str_interface != "")
       signame += "_"+str_interface;
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_test_map.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_test_map.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_test_map.cpp	(revision 75)
@@ -22,5 +22,5 @@
     log_printf(INFO,Behavioural,FUNCTION, "   * Interface \"%s\"",_name.c_str());
     
-    for (list<Signal*>::iterator i  = _list_signal->begin();
+    for (std::list<Signal*>::iterator i  = _list_signal->begin();
 	 i != _list_signal->end();
 	 ++i)
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_testbench.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_testbench.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_testbench.cpp	(revision 75)
@@ -19,5 +19,5 @@
     if (_list_signal->empty()== false)
       {
-	list<Signal*>::iterator i     = _list_signal->begin();
+	std::list<Signal*>::iterator i     = _list_signal->begin();
 
 	while (i != _list_signal->end())
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_testbench_body.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_testbench_body.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_testbench_body.cpp	(revision 75)
@@ -14,6 +14,6 @@
 
   void Interface::testbench_body (Vhdl * & vhdl,
-				  string   counter_name,
-				  string   reset_name  )
+				  std::string   counter_name,
+				  std::string   reset_name  )
   {
     log_printf(FUNC,Behavioural,"testbench_body","Begin");
@@ -21,5 +21,5 @@
     if (_list_signal->empty()== false)
       {
-	list<Signal*>::iterator i = _list_signal->begin();
+	std::list<Signal*>::iterator i = _list_signal->begin();
 
 	vhdl->set_body("------------------------------------------------------");
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_testbench_test.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_testbench_test.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_testbench_test.cpp	(revision 75)
@@ -13,7 +13,7 @@
 namespace behavioural          {
 
-  string Interface::testbench_test (Vhdl * & vhdl,
-				    string   counter_name,
-				    string   reset_name  )
+  std::string Interface::testbench_test (Vhdl * & vhdl,
+				    std::string   counter_name,
+				    std::string   reset_name  )
   {
     log_printf(FUNC,Behavioural,"testbench_test","Begin");
@@ -23,6 +23,6 @@
     vhdl->set_body("");
 
-    string test_name    = testbench_test_name(vhdl);
-    string test_name_ok = testbench_test_ok     (vhdl);
+    std::string test_name    = testbench_test_name(vhdl);
+    std::string test_name_ok = testbench_test_ok     (vhdl);
 
     vhdl->set_body(test_name + " <= '1' when ("+reset_name+" = '0') else "+test_name_ok+";");
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_testbench_test_name.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_testbench_test_name.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_testbench_test_name.cpp	(revision 75)
@@ -13,9 +13,9 @@
 namespace behavioural          {
 
-  string Interface::testbench_test_name (Vhdl * & vhdl)
+  std::string Interface::testbench_test_name (Vhdl * & vhdl)
   {
     log_printf(FUNC,Behavioural,"testbench_test_name","Begin");
 
-    string name;
+    std::string name;
 
     name = "interface_";
@@ -31,9 +31,9 @@
   };
 
-  string Interface::testbench_test_ok_name (Vhdl * & vhdl)
+  std::string Interface::testbench_test_ok_name (Vhdl * & vhdl)
   {
     log_printf(FUNC,Behavioural,"testbench_test_ok_name","Begin");
 
-    string name;
+    std::string name;
 
     name = "interface_";
@@ -49,9 +49,9 @@
   };
 
-  string Interface::testbench_test_transaction_name (Vhdl * & vhdl)
+  std::string Interface::testbench_test_transaction_name (Vhdl * & vhdl)
   {
     log_printf(FUNC,Behavioural,"testbench_test_transaction_name","Begin");
 
-    string name;
+    std::string name;
 
     name = "interface_";
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_testbench_test_ok.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_testbench_test_ok.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_testbench_test_ok.cpp	(revision 75)
@@ -13,9 +13,9 @@
 namespace behavioural          {
 
-  string Interface::testbench_test_ok (Vhdl * & vhdl)
+  std::string Interface::testbench_test_ok (Vhdl * & vhdl)
   {
     log_printf(FUNC,Behavioural,"testbench_test_ok","Begin");
 
-    string test_name = testbench_test_ok_name(vhdl);
+    std::string test_name = testbench_test_ok_name(vhdl);
 
     vhdl->set_body(test_name + " <= '1' when true");
@@ -24,5 +24,5 @@
     if (_list_signal->empty()== false)
       {
-	list<Signal*>::iterator i     = _list_signal->begin();
+	std::list<Signal*>::iterator i     = _list_signal->begin();
 
 	while (i != _list_signal->end())
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_toXML.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_toXML.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_toXML.cpp	(revision 75)
@@ -28,5 +28,5 @@
     if (_list_signal->empty()== false)
       {
-	list<Signal*>::iterator i     = _list_signal->begin();
+	std::list<Signal*>::iterator i     = _list_signal->begin();
 
 	while (i != _list_signal->end())
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces.cpp	(revision 75)
@@ -11,5 +11,5 @@
 namespace behavioural          {
 
-  Interfaces::Interfaces  (string   name,
+  Interfaces::Interfaces  (std::string   name,
 			   Tusage_t usage):
     _name  (name),
@@ -17,5 +17,5 @@
   {
     log_printf(FUNC,Behavioural,"Interfaces","Begin");
-    _list_interface = new list<Interface_fifo*>;
+    _list_interface = new std::list<Interface_fifo*>;
     log_printf(FUNC,Behavioural,"Interfaces","End");
   };
@@ -41,5 +41,5 @@
     if (_list_interface->empty()== false)
       {
-	list<Interface_fifo*>::iterator i     = _list_interface->begin();
+	std::list<Interface_fifo*>::iterator i     = _list_interface->begin();
 
 	while (i != _list_interface->end())
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_find_interface.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_find_interface.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_find_interface.cpp	(revision 75)
@@ -13,5 +13,5 @@
 #undef  FUNCTION
 #define FUNCTION "Interfaces::find_interface"
-  Interface_fifo * Interfaces::find_interface (string name)
+  Interface_fifo * Interfaces::find_interface (std::string name)
   {
     log_printf(FUNC,Behavioural,FUNCTION,"Begin");
@@ -20,5 +20,5 @@
     if (_list_interface->empty()== false)
       {
-	list<Interface_fifo*>::iterator i = _list_interface->begin();
+	std::list<Interface_fifo*>::iterator i = _list_interface->begin();
 
 	while (i != _list_interface->end())
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_find_signal.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_find_signal.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_find_signal.cpp	(revision 75)
@@ -13,5 +13,5 @@
 #undef  FUNCTION
 #define FUNCTION "Interfaces::find_signal"
-  Signal * Interfaces::find_signal (string name)
+  Signal * Interfaces::find_signal (std::string name)
   {
     log_printf(FUNC,Behavioural,FUNCTION,"Begin");
@@ -20,5 +20,5 @@
     if (_list_interface->empty()== false)
       {
-	list<Interface_fifo*>::iterator i = _list_interface->begin();
+	std::list<Interface_fifo*>::iterator i = _list_interface->begin();
 
 	while (i != _list_interface->end())
@@ -51,5 +51,5 @@
     if (_list_interface->empty()== false)
       {
-	list<Interface_fifo*>::iterator i = _list_interface->begin();
+	std::list<Interface_fifo*>::iterator i = _list_interface->begin();
 
 	while (i != _list_interface->end())
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_get_clock.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_get_clock.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_get_clock.cpp	(revision 75)
@@ -23,5 +23,5 @@
     if (not _list_interface->empty())
       {
-	list<Interface_fifo*>::iterator i = _list_interface->begin();
+	std::list<Interface_fifo*>::iterator i = _list_interface->begin();
 	
 	while (i != _list_interface->end())
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_get_cycle.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_get_cycle.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_get_cycle.cpp	(revision 75)
@@ -22,5 +22,5 @@
     if (not _list_interface->empty())
       {
-	list<Interface_fifo*>::iterator i = _list_interface->begin();
+	std::list<Interface_fifo*>::iterator i = _list_interface->begin();
 	
 	while (i != _list_interface->end())
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_get_interface.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_get_interface.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_get_interface.cpp	(revision 75)
@@ -14,17 +14,17 @@
 #undef  FUNCTION
 #define FUNCTION "Interfaces::get_interface"
-  string Interfaces::get_interface (void)
+  std::string Interfaces::get_interface (void)
   {
     log_printf(FUNC,Behavioural,FUNCTION,"Begin");
 
     uint32_t               depth          = 0;
-    string                 separator      = "\n";
+    std::string                 separator      = "\n";
     bool                   last_separator = false;
 
-    list<Interface_fifo*>::iterator i  = _list_interface->begin();
+    std::list<Interface_fifo*>::iterator i  = _list_interface->begin();
     bool                   empty = _list_interface->empty();
 
-    string                 tab   = string(depth,'\t');
-    ostringstream          text;
+    std::string                 tab   = std::string(depth,'\t');
+    std::ostringstream          text;
 
     if (not empty)
@@ -55,8 +55,8 @@
 #undef  FUNCTION
 #define FUNCTION "Interfaces::get_interface_list"
-  list<Interface_fifo*>* Interfaces::get_interface_list (void)
+  std::list<Interface_fifo*>* Interfaces::get_interface_list (void)
   {
     log_printf(FUNC,Behavioural,FUNCTION,"Begin");
-    list<Interface_fifo*>* _return =  _list_interface;
+    std::list<Interface_fifo*>* _return =  _list_interface;
     log_printf(FUNC,Behavioural,FUNCTION,"End");
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_get_reset.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_get_reset.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_get_reset.cpp	(revision 75)
@@ -23,5 +23,5 @@
     if (not _list_interface->empty())
       {
-	list<Interface_fifo*>::iterator i     = _list_interface->begin();
+	std::list<Interface_fifo*>::iterator i     = _list_interface->begin();
 	
 	while (i != _list_interface->end())
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_get_signal.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_get_signal.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_get_signal.cpp	(revision 75)
@@ -17,5 +17,5 @@
 #undef  FUNCTION
 #define FUNCTION "Interfaces::get_signal"
-  void Interfaces::get_signal (list<string> * & list_signal)
+  void Interfaces::get_signal (std::list<std::string> * & list_signal)
   {
     log_printf(FUNC,Behavioural,FUNCTION,"Begin");
@@ -23,5 +23,5 @@
     if (not _list_interface->empty())
       {
-	list<Interface_fifo*>::iterator i = _list_interface->begin();
+	std::list<Interface_fifo*>::iterator i = _list_interface->begin();
 	
 	while (i != _list_interface->end())
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_print.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_print.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_print.cpp	(revision 75)
@@ -15,9 +15,9 @@
 #undef  FUNCTION
 #define FUNCTION "Interfaces::operator<<"
-  ostream& operator<< (ostream& output_stream ,
-		       morpheo::behavioural::Interfaces & x)
+  std::ostream& operator<< (std::ostream& output_stream ,
+			    morpheo::behavioural::Interfaces & x)
   {
     log_printf(FUNC,Behavioural,FUNCTION,"Begin");
-    output_stream << x.get_interface () << endl;
+    output_stream << x.get_interface () << std::endl;
     log_printf(FUNC,Behavioural,FUNCTION,"End");
     return output_stream;
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_set_interface.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_set_interface.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_set_interface.cpp	(revision 75)
@@ -13,5 +13,5 @@
 #undef  FUNCTION
 #define FUNCTION "Interfaces::set_interface"
-  Interface_fifo * Interfaces::set_interface (string         name        
+  Interface_fifo * Interfaces::set_interface (std::string         name        
 #ifdef POSITION
 					      ,direction_t    direction   
@@ -38,8 +38,8 @@
 #undef  FUNCTION
 #define FUNCTION "Interfaces::set_interface"
-  Interface_fifo * Interfaces::set_interface (string         name        ,
+  Interface_fifo * Interfaces::set_interface (std::string         name        ,
 					      direction_t    direction   ,
 					      localisation_t localisation,
-					      string         comment     )
+					      std::string         comment     )
   {
     log_printf(FUNC,Behavioural,FUNCTION,"Begin");
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_set_port.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_set_port.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_set_port.cpp	(revision 75)
@@ -20,5 +20,5 @@
     if (not _list_interface->empty())
       {
-	list<Interface_fifo*>::iterator i     = _list_interface->begin();
+	std::list<Interface_fifo*>::iterator i     = _list_interface->begin();
 	
 	while (i != _list_interface->end())
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_set_signal.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_set_signal.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_set_signal.cpp	(revision 75)
@@ -21,5 +21,5 @@
     if (not _list_interface->empty())
       {
-	list<Interface_fifo*>::iterator i = _list_interface->begin();
+	std::list<Interface_fifo*>::iterator i = _list_interface->begin();
 	
 	while (i != _list_interface->end())
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_test_map.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_test_map.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_test_map.cpp	(revision 75)
@@ -22,5 +22,5 @@
     log_printf(INFO,Behavioural,FUNCTION, "   * Interfaces \"%s\"",_name.c_str());
     
-    for (list<Interface_fifo*>::iterator i  = _list_interface->begin();
+    for (std::list<Interface_fifo*>::iterator i  = _list_interface->begin();
 	 i != _list_interface->end();
 	 ++i)
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_testbench.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_testbench.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_testbench.cpp	(revision 75)
@@ -19,5 +19,5 @@
     if (_list_interface->empty()== false)
       {
-	list<Interface_fifo*>::iterator i     = _list_interface->begin();
+	std::list<Interface_fifo*>::iterator i     = _list_interface->begin();
 
 	while (i != _list_interface->end())
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_testbench_body.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_testbench_body.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_testbench_body.cpp	(revision 75)
@@ -13,22 +13,22 @@
 namespace behavioural          {
 
-  string Interfaces::testbench_body (Vhdl * & vhdl,
-				     string   counter_name,
-				     string   reset_name  )
+  std::string Interfaces::testbench_body (Vhdl * & vhdl,
+				     std::string   counter_name,
+				     std::string   reset_name  )
   {
     log_printf(FUNC,Behavioural,"testbench_body","Begin");
 
-    string test      = "'1'";
-    string test_name = "test";
+    std::string test      = "'1'";
+    std::string test_name = "test";
     vhdl->set_signal(test_name,1);
 
     if (_list_interface->empty()== false)
       {
-	list<Interface_fifo*>::iterator i = _list_interface->begin();
+	std::list<Interface_fifo*>::iterator i = _list_interface->begin();
 
 	while (i != _list_interface->end())
 	  {
 	    (*i)->testbench_body(vhdl, counter_name, reset_name);
-	    string str = (*i)->testbench_test(vhdl, counter_name, reset_name);
+	    std::string str = (*i)->testbench_test(vhdl, counter_name, reset_name);
 
 	    test += " and "+str;
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_testbench_generate_file.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_testbench_generate_file.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_testbench_generate_file.cpp	(revision 75)
@@ -18,9 +18,9 @@
 
     Vhdl   * vhdl        = new Vhdl(_name+"_Testbench");
-    string   counter     = "counter";
+    std::string   counter     = "counter";
     Signal * clock       = this->get_clock();
     Signal * reset       = this->get_reset();
-    string   clock_name  = clock->get_name();
-    string   reset_name  = reset->get_name();
+    std::string   clock_name  = clock->get_name();
+    std::string   reset_name  = reset->get_name();
     uint32_t cycle       = this->get_cycle();
 
@@ -36,5 +36,5 @@
     vhdl->set_body("");
 
-    list<string> * list_signal = new list<string>;
+    std::list<std::string> * list_signal = new std::list<std::string>;
     this->get_signal (list_signal);
 
@@ -43,5 +43,5 @@
     vhdl->set_body("port map (");
 
-    list<string>::iterator i   = list_signal->begin();
+    std::list<std::string>::iterator i   = list_signal->begin();
     if (i != list_signal->end())
       {
@@ -58,5 +58,5 @@
     delete list_signal;
 
-    string test_name = this->testbench_body(vhdl,counter, reset_name);
+    std::string test_name = this->testbench_body(vhdl,counter, reset_name);
 
     vhdl->set_body("");
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_toXML.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_toXML.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_toXML.cpp	(revision 75)
@@ -22,5 +22,5 @@
     if (_list_interface->empty()== false)
       {
-	list<Interface_fifo*>::iterator i     = _list_interface->begin();
+	std::list<Interface_fifo*>::iterator i     = _list_interface->begin();
 
 	while (i != _list_interface->end())
@@ -45,5 +45,5 @@
     if (_list_interface->empty()== false)
       {
-	list<Interface_fifo*>::iterator i     = _list_interface->begin();
+	std::list<Interface_fifo*>::iterator i     = _list_interface->begin();
 
 	while (i != _list_interface->end())
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Signal.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Signal.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Signal.cpp	(revision 75)
@@ -11,5 +11,5 @@
 namespace behavioural          {
 
-  Signal::Signal  (string          name         ,
+  Signal::Signal  (std::string          name         ,
 		   direction_t     direction    ,
 		   uint32_t        size         ,
@@ -30,5 +30,5 @@
     _type_info           = UNKNOW;
 #ifdef VHDL_TESTBENCH
-    _list_value          = new list<string>;
+    _list_value          = new std::list<std::string>;
 #endif
     log_printf(FUNC,Behavioural,"Signal","End");
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Signal_connect.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Signal_connect.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Signal_connect.cpp	(revision 75)
@@ -18,5 +18,5 @@
     log_printf(FUNC,Behavioural,FUNCTION,"Begin");
     
-    cout << "connected : " << get_name() << "\twith " << signal_dest->get_name() << endl;
+    //std::cout << "connected : " << get_name() << "\twith " << signal_dest->get_name() << std::endl;
     
     if ((_direction == IN ) and (signal_dest->_direction == IN ))
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Signal_get_name.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Signal_get_name.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Signal_get_name.cpp	(revision 75)
@@ -14,8 +14,8 @@
 #undef  FUNCTION
 #define FUNCTION "Signal::get_name"
-  string Signal::get_name (void)
+  std::string Signal::get_name (void)
   {
     log_printf(FUNC,Behavioural,FUNCTION,"Begin");
-    string _return = _name;
+    std::string _return = _name;
     log_printf(FUNC,Behavioural,FUNCTION,"End");
     return _return;
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Signal_get_name_vhdl.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Signal_get_name_vhdl.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Signal_get_name_vhdl.cpp	(revision 75)
@@ -15,5 +15,5 @@
 #undef  FUNCTION
 #define FUNCTION "Signal::get_name_vhdl"
-  void Signal::get_name_vhdl (list<string> *& list_signal)
+  void Signal::get_name_vhdl (std::list<std::string> *& list_signal)
   {
     log_printf(FUNC,Behavioural,FUNCTION,"Begin");
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Signal_get_reset_cycle.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Signal_get_reset_cycle.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Signal_get_reset_cycle.cpp	(revision 75)
@@ -21,5 +21,5 @@
     uint32_t num = 0;
     uint32_t cpt = 0;
-    string   cmp = (active_low==true)?"0":"1";
+    std::string   cmp = (active_low==true)?"0":"1";
 
     if ((_presence_port == RESET_VHDL_YES) or
@@ -28,5 +28,5 @@
 	if (_list_value->empty()== false)
 	  {
-	    list<string>::iterator i = _list_value->begin();
+	    std::list<std::string>::iterator i = _list_value->begin();
 	    
 	    while (i != _list_value->end())
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Signal_print.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Signal_print.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Signal_print.cpp	(revision 75)
@@ -11,6 +11,6 @@
 namespace behavioural          {
 
-  ostream& operator<< (ostream& output_stream,
-		       morpheo::behavioural::Signal & x)
+  std::ostream& operator<< (std::ostream& output_stream,
+			    morpheo::behavioural::Signal & x)
   {
     log_printf(FUNC,Behavioural,"operator<<","Begin");
@@ -20,5 +20,5 @@
 		  << toString(x._direction)    << "\t"
 		  << toString(x._presence_port)
-		  << "sc_signal : " << hex << x._sc_signal << " - " << x._sc_signal_map << dec;
+		  << "sc_signal : " << std::hex << x._sc_signal << " - " << x._sc_signal_map << std::dec;
 
     log_printf(FUNC,Behavioural,"operator<<","End");
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Signal_test_map.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Signal_test_map.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Signal_test_map.cpp	(revision 75)
@@ -31,5 +31,5 @@
 	    {
 	      if (_return == false)
-		cerr << "Signal \"" << _name << "\" is not mapped with an outpout port or a component." << endl;
+		std::cerr << "Signal \"" << _name << "\" is not mapped with an outpout port or a component." << std::endl;
 	      break;
 	    }
@@ -37,5 +37,5 @@
 	    {
 	      if (_return == false)
-		cerr << "Signal \"" << _name << "\" is not mapped with an input port or a component." << endl;
+		std::cerr << "Signal \"" << _name << "\" is not mapped with an input port or a component." << std::endl;
 	      break;
 	    }
@@ -52,7 +52,7 @@
 	  {
 	    if (_is_map_as_src  == false)
-	      cerr << "Signal \"" << _name << "\" is not mapped as source" << endl;
+	      std::cerr << "Signal \"" << _name << "\" is not mapped as source" << std::endl;
 	    if (_is_map_as_dest == false)
-	      cerr << "Signal \"" << _name << "\" is not mapped as destination" << endl;
+	      std::cerr << "Signal \"" << _name << "\" is not mapped as destination" << std::endl;
 	  }
       }
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Signal_testbench.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Signal_testbench.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Signal_testbench.cpp	(revision 75)
@@ -22,5 +22,5 @@
 	(_presence_port == RESET_VHDL_NO              ) )
       {
-	string str;
+	std::string str;
 
 	switch (_type_info)
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Signal_testbench_body.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Signal_testbench_body.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Signal_testbench_body.cpp	(revision 75)
@@ -13,6 +13,6 @@
 
   void Signal::testbench_body (Vhdl * & vhdl,
-			       string   counter_name,
-			       string   reset_name  )
+			       std::string   counter_name,
+			       std::string   reset_name  )
   {
     log_printf(FUNC,Behavioural,"testbench_body","Begin");
@@ -24,5 +24,5 @@
       if (_list_value->empty()== false)
 	{
-	  string separator;
+	  std::string separator;
 	  if (_size == 1)
 	    separator = "\'";
@@ -30,5 +30,5 @@
 	    separator = "\"";
 	  
-	  string signame = (_direction==OUT)?(_name+"_test"):_name;
+	  std::string signame = (_direction==OUT)?(_name+"_test"):_name;
 	  
 	  vhdl->set_body ("");
@@ -37,9 +37,9 @@
 	  
 	  uint32_t cpt = 0;
-	  list<string>::iterator i = _list_value->begin();
+	  std::list<std::string>::iterator i = _list_value->begin();
 	  
 	  while (i != _list_value->end())
 	    {
-	      list<string>::iterator j = i;
+	      std::list<std::string>::iterator j = i;
 	      
 	      ++i;
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Stat_have_counter.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Stat_have_counter.cpp	(revision 75)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Stat_have_counter.cpp	(revision 75)
@@ -0,0 +1,19 @@
+#ifdef STATISTICS
+#include "Behavioural/include/Stat.h"
+
+namespace morpheo {
+namespace behavioural {  
+
+  bool Stat::have_counter (void)
+  {
+    for (std::map<std::string, var_t>::iterator i=_list_operand->begin();
+	 i!= _list_operand->end();
+	 ++i)
+      if (i->second.type == TYPE_COUNTER)
+	return true;
+
+    return false;
+  }
+};  
+};
+#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Stat_print.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Stat_print.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Stat_print.cpp	(revision 75)
@@ -21,57 +21,61 @@
 	 stat != _list_stat->end();
 	 stat ++)
-      xml.text((*stat)->print(depth+1));
+      xml.text((*stat)->print(1));
     
 
     // Test special case
-    if (_cycle_sum < _nb_cycle_before_begin)
+
+    if (have_counter())
       {
-	xml.comment(_("Number of cycle is less than the number minimal"));
-      }
-    else
-      {
-	bool stop = false;
-	cycle_t nb_cycle_min;
-	cycle_t nb_cycle_max = _nb_cycle_before_begin-1;
-	for (cycle_t period=0; stop==false; period++)
+	if (_cycle_sum < _nb_cycle_before_begin)
 	  {
-	    std::map<std::string, var_t>::iterator operand=_list_operand->begin();
+	    xml.comment(_("Number of cycle is less than the number minimal"));
+	  }
+	else
+	  {
+	    bool stop = false;
+	    cycle_t nb_cycle_min;
+	    cycle_t nb_cycle_max = _nb_cycle_before_begin-1;
+	    for (cycle_t period=0; stop==false; period++)
+	      {
+		std::map<std::string, var_t>::iterator operand=_list_operand->begin();
+		
+		if (operand->second.save_counter.size()==0)
+		  throw(ERRORMORPHEO("Stat::generate_file",_("Queue 'save_counter' is empty.")));
+		
+		bool last = operand->second.save_counter.size()==1;
+		
+		nb_cycle_min  = nb_cycle_max+1;
+		
+		if (last)
+		  nb_cycle_max = static_cast<cycle_t>(_cycle_sum);
+		else
+		  nb_cycle_max += _period;
 
-	    if (operand->second.save_counter.size()==0)
-	      throw(ERRORMORPHEO("Stat::generate_file",_("Queue 'save_counter' is empty.")));
-
-	    bool last = operand->second.save_counter.size()==1;
-
-	    nb_cycle_min  = nb_cycle_max+1;
-
-	    if (last)
-	      nb_cycle_max = static_cast<cycle_t>(_cycle_sum);
-	    else
-	      nb_cycle_max += _period;
-
-	    xml.balise_open_begin("period");
-	    xml.attribut("number",toString(period));
-	    xml.attribut("nb_cycle_min",toString(nb_cycle_min));
-	    xml.attribut("nb_cycle_max",toString(nb_cycle_max));
-	    xml.balise_open_end();
-	    
-	    for (;
-		 operand!= _list_operand->end();
-		 ++operand)
-	      {
-		if (operand->second.type == TYPE_COUNTER)
+		xml.balise_open_begin("period");
+		xml.attribut("number",toString(period));
+		xml.attribut("nb_cycle_min",toString(nb_cycle_min));
+		xml.attribut("nb_cycle_max",toString(nb_cycle_max));
+		xml.balise_open_end();
+		
+		for (;
+		     operand!= _list_operand->end();
+		     ++operand)
 		  {
-		    xml.singleton_begin(operand->second.name);
-		    xml.attribut("value",toString(operand->second.save_counter.front()));
-		    xml.attribut("unit",operand->second.unit);
-		    xml.attribut("description",operand->second.description);
-		    xml.singleton_end();
+		    if (operand->second.type == TYPE_COUNTER)
+		      {
+			xml.singleton_begin(operand->second.name);
+			xml.attribut("value",toString(operand->second.save_counter.front()));
+			xml.attribut("unit",operand->second.unit);
+			xml.attribut("description",operand->second.description);
+			xml.singleton_end();
+		      }
+		    operand->second.save_counter.pop_front();
 		  }
-		operand->second.save_counter.pop_front();
+		
+		xml.balise_close();
+		
+		stop = last;
 	      }
-
-	    xml.balise_close();
-	    
-	    stop = last;
 	  }
       }
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Statistics.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Statistics.cpp	(revision 74)
+++ 	(revision )
@@ -1,40 +1,0 @@
-#ifdef STATISTICS
-
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/include/Statistics.h"
-
-namespace morpheo              {
-namespace behavioural          {
-
-#undef  FUNCTION
-#define FUNCTION "Statistics::Statistics"
-  Statistics::Statistics  (std::string                  name                 ,
-			   Parameters_Statistics * parameters_statistics):
-    _name                  (name                 ),
-    _parameters_statistics (parameters_statistics)
-  {
-    log_printf(FUNC,Behavioural,FUNCTION,"Begin");
-    _nb_statistics  = 0;
-    _period_current = 0;
-    log_printf(FUNC,Behavioural,FUNCTION,"End");
-  };
-  
-#undef  FUNCTION
-#define FUNCTION "Statistics::~Statistics"
-  Statistics::~Statistics ()
-  {
-    log_printf(FUNC,Behavioural,FUNCTION,"Begin");
-    log_printf(FUNC,Behavioural,FUNCTION,"End");  
-  };
-  
-
-}; // end namespace behavioural          
-}; // end namespace morpheo              
-
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Statistics_compute_cycle_xxx.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Statistics_compute_cycle_xxx.cpp	(revision 74)
+++ 	(revision )
@@ -1,46 +1,0 @@
-#ifdef STATISTICS
-
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/include/Statistics.h"
-
-namespace morpheo              {
-namespace behavioural          {
-
-#undef  FUNCTION
-#define FUNCTION "Statistics::compute_cycle_begin"
-  uint32_t Statistics::compute_cycle_begin (uint32_t num_statistics)
-  {
-    log_printf(FUNC,Behavioural,FUNCTION,"Begin");
-    uint32_t _return = _parameters_statistics->_nb_cycle_before_begin + num_statistics*_parameters_statistics->_period_save;
-    log_printf(FUNC,Behavioural,FUNCTION,"End");
-    
-    return _return;
-  };
-
-#undef  FUNCTION
-#define FUNCTION "Statistics::compute_cycle_end"
-  uint32_t Statistics::compute_cycle_end   (uint32_t num_statistics, uint32_t nb_cycle)
-  {
-    log_printf(FUNC,Behavioural,FUNCTION,"Begin");
-
-    uint32_t _return;
-    if (num_statistics == (_nb_statistics-1)) // Last ?
-      _return = compute_cycle_begin(num_statistics  ) + nb_cycle;
-    else
-      _return = compute_cycle_begin(num_statistics+1) - 1;
-
-    log_printf(FUNC,Behavioural,FUNCTION,"End");
-
-    return _return;
-  };
-
-}; // end namespace behavioural          
-}; // end namespace morpheo              
-
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Statistics_generate_file.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Statistics_generate_file.cpp	(revision 74)
+++ 	(revision )
@@ -1,64 +1,0 @@
-#ifdef STATISTICS
-
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/include/Statistics.h"
-#include <time.h>
-#include <sstream>
-#include <fstream>
-
-namespace morpheo              {
-namespace behavioural          {
-
-#undef  FUNCTION
-#define FUNCTION "Statistics::generate_file"
-  void Statistics::generate_file(std::string stat)
-  {
-    log_printf(FUNC,Behavioural,FUNCTION,"Begin");
-
-    std::stringstream filename;
-    filename << _name << ".stat";
-
-    std::cout << "Generate file \""<< filename.str() << "\"" << std::endl;
-
-    std::ofstream file;
-    file.open(filename.str().c_str(),std::ios::out | std::ios::trunc);
-
-    time_t current_time;
-    time (&current_time);
-
-    // print header
-    file << "<!-- "                                                    << std::endl
-	 << "\tfile        : " << filename.str()                       << std::endl
-	 << "\tdate        : " << ctime (&current_time )
-	 << "\tcomment     : it's a autogenerated file : don't modify" << std::endl
-	 << "-->"                                                      << std::endl
-	 <<                                                               std::endl;
-	 
-    file << stat;
-    
-    file.close();
-
-    log_printf(FUNC,Behavioural,FUNCTION,"End");
-  }
-
-#undef  FUNCTION
-#define FUNCTION "Statistics::generate_file"
-  void Statistics::generate_file(void)
-  {
-    log_printf(FUNC,Behavioural,FUNCTION,"Begin");
-
-    generate_file(print(0));
-
-    log_printf(FUNC,Behavioural,FUNCTION,"End");
-  };
-
-}; // end namespace behavioural          
-}; // end namespace morpheo              
-
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Statistics_save.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Statistics_save.cpp	(revision 74)
+++ 	(revision )
@@ -1,48 +1,0 @@
-#ifdef STATISTICS
-
-#ifndef morpheo_behavioural_Statistics_save_cpp
-#define morpheo_behavioural_Statistics_save_cpp
-
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/include/Statistics.h"
-
-namespace morpheo              {
-namespace behavioural          {
-
-#undef  FUNCTION
-#define FUNCTION "Statistics::save"
-  template <class Counters, class Parameters_Counters>
-  void Statistics::save(Counters ** & counters, Parameters_Counters parameters)
-  {
-    log_printf(FUNC,Behavioural,FUNCTION,"Begin");
-
-    // Allocation of a new slot -> take param a first count
-    Counters ** counters_tmp;
-    
-    counters_tmp = new Counters * [_nb_statistics+1];
-    
-    // Copy
-    for (uint32_t i = 0; i < _nb_statistics; i ++)
-      counters_tmp [i] = counters [i];
-    
-    // New slot !
-    counters_tmp [_nb_statistics] = new Counters (parameters);
-    
-    // update pointer
-    counters = counters_tmp;
-    _nb_statistics ++;
-
-    log_printf(FUNC,Behavioural,FUNCTION,"End");
-  };
-
-}; // end namespace behavioural          
-}; // end namespace morpheo              
-
-#endif
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Statistics_test_if_save.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Statistics_test_if_save.cpp	(revision 74)
+++ 	(revision )
@@ -1,42 +1,0 @@
-#ifdef STATISTICS
-
-#ifndef morpheo_behavioural_Statistics_test_if_save_cpp
-#define morpheo_behavioural_Statistics_test_if_save_cpp
-
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/include/Statistics.h"
-
-namespace morpheo              {
-namespace behavioural          {
-
-#undef  FUNCTION
-#define FUNCTION "Statistics::test_if_save"
-  template <class Counters, class Parameters_Counters>
-  void Statistics::test_if_save(Counters ** & counters, Parameters_Counters parameters)
-  {
-    log_printf(FUNC,Behavioural,FUNCTION,"Begin");
-
-    _period_current ++;
-
-    // Test if allors a new counters ...
-    if ( ((_nb_statistics == 0) && (_period_current >= _parameters_statistics->_nb_cycle_before_begin)) ||
-	 ((_nb_statistics >  0) && (_period_current >= _parameters_statistics->_period_save          )) )
-      {
-	save<Counters,Parameters_Counters>(counters,parameters);
-	_period_current = 0;
-      }
-
-    log_printf(FUNC,Behavioural,FUNCTION,"End");
-  };
-  
-}; // end namespace behavioural          
-}; // end namespace morpheo              
-
-#endif
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/XML_text.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/XML_text.cpp	(revision 74)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/XML_text.cpp	(revision 75)
@@ -16,5 +16,5 @@
   {
     log_printf(FUNC,Behavioural,FUNCTION,"Begin");
-    _body += indent()+text+"\n";
+    _body += indent()+text; // +"\n";
     log_printf(FUNC,Behavioural,FUNCTION,"End");
 
