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 66)
+++ 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 66)
+++ 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 66)
+++ 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 66)
+++ 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 66)
+++ 	(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 66)
+++ 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 66)
+++ 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 66)
+++ 	(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 66)
+++ 	(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 66)
+++ 	(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 66)
+++ 	(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 66)
+++ 	(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
