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 71)
+++ 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 71)
+++ 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 71)
+++ 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 71)
+++ 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 71)
+++ 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 71)
+++ 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 71)
+++ 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 71)
+++ 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 71)
+++ 	(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 71)
+++ 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 71)
+++ 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)";
