Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component/src/New_Component.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component/src/New_Component.cpp	(revision 69)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component/src/New_Component.cpp	(revision 71)
@@ -30,7 +30,4 @@
     ,_param            (param)
     ,_usage            (usage)
-// #ifdef STATISTICS
-// 			      ,_param_statistics (param_statistics)
-// #endif
   {
     log_printf(FUNC,@COMPONENT,FUNCTION,"Begin");
@@ -43,9 +40,6 @@
       {	
 	log_printf(INFO,@COMPONENT,FUNCTION,"Allocation of statistics");
-	
-	// Allocation of statistics
-	_stat = new Statistics (static_cast<string>(_name),
-				param_statistics          ,
-				param);
+
+	statistics_declaration(param_statistics);
       }
 #endif
@@ -90,5 +84,4 @@
 	log_printf(INFO,@COMPONENT,FUNCTION,"Generate Statistics file");
 	
-	_stat->generate_file(statistics(0));
 	delete _stat;
       }
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component/src/New_Component_end_cycle.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component/src/New_Component_end_cycle.cpp	(revision 69)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component/src/New_Component_end_cycle.cpp	(revision 71)
@@ -1,6 +1,7 @@
+#if defined(STATISTICS) or defined(VHDL_TESTBENCH)
 /*
  * $Id$
  *
- * [ Description ]
+ * [ Description ]
  * 
  */
@@ -19,5 +20,5 @@
 
 #ifdef STATISTICS
-    _stat->add();
+    _stat->end_cycle();
 #endif    
 
@@ -34,2 +35,3 @@
 }; // end namespace behavioural
 }; // end namespace morpheo              
+#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component/src/New_Component_statistics.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component/src/New_Component_statistics.cpp	(revision 69)
+++ 	(revision )
@@ -1,31 +1,0 @@
-#ifdef STATISTICS
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/@DIRECTORY/include/@COMPONENT.h"
-
-namespace morpheo {
-namespace behavioural {
-@NAMESPACE_BEGIN
-
-#undef  FUNCTION
-#define FUNCTION "@COMPONENT::statistics"
-  string @COMPONENT::statistics (uint32_t depth)
-  {
-    log_printf(FUNC,@COMPONENT,FUNCTION,"Begin");
-
-    string txt = _stat->print(depth);
-    
-    log_printf(FUNC,@COMPONENT,FUNCTION,"End");
-
-    return txt;
-  };
-
-@NAMESPACE_END
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
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 71)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component/src/New_Component_statistics_declaration.cpp	(revision 71)
@@ -0,0 +1,31 @@
+#ifdef STATISTICS
+/*
+ * $Id$
+ *
+ * [ Description ]
+ * 
+ */
+
+#include "Behavioural/@DIRECTORY/include/@COMPONENT.h"
+
+namespace morpheo {
+namespace behavioural {
+@NAMESPACE_BEGIN
+
+#undef  FUNCTION
+#define FUNCTION "@COMPONENT::statistics_declaration"
+  void @COMPONENT::statistics_declaration (morpheo::behavioural::Parameters_Statistics * param_statistics)
+  {
+    log_printf(FUNC,@COMPONENT,FUNCTION,"Begin");
+
+    _stat = new Stat (static_cast<string>(_name),
+		      "@COMPONENT",
+		      param_statistics);
+    
+    log_printf(FUNC,@COMPONENT,FUNCTION,"End");
+  };
+
+@NAMESPACE_END
+}; // end namespace behavioural
+}; // end namespace morpheo              
+#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component/src/New_Component_statistics_print.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component/src/New_Component_statistics_print.cpp	(revision 71)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component/src/New_Component_statistics_print.cpp	(revision 71)
@@ -0,0 +1,31 @@
+#ifdef STATISTICS
+/*
+ * $Id$
+ *
+ * [ Description ]
+ * 
+ */
+
+#include "Behavioural/@DIRECTORY/include/@COMPONENT.h"
+
+namespace morpheo {
+namespace behavioural {
+@NAMESPACE_BEGIN
+
+#undef  FUNCTION
+#define FUNCTION "@COMPONENT::statistics_print"
+  std::string @COMPONENT::statistics_print (uint32_t depth)
+  {
+    log_printf(FUNC,@COMPONENT,FUNCTION,"Begin");
+
+    std::string txt = _stat->print(depth);
+    
+    log_printf(FUNC,@COMPONENT,FUNCTION,"End");
+
+    return txt;
+  };
+
+@NAMESPACE_END
+}; // end namespace behavioural
+}; // end namespace morpheo              
+#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component/src/New_Component_transition.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component/src/New_Component_transition.cpp	(revision 69)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component/src/New_Component_transition.cpp	(revision 71)
@@ -20,5 +20,7 @@
     log_printf(FUNC,@COMPONENT,FUNCTION,"Begin");
 
+#if defined(STATISTICS) or defined(VHDL_TESTBENCH)
     end_cycle ();
+#endif
 
     log_printf(FUNC,@COMPONENT,FUNCTION,"End");
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component/src/Parameters_msg_error.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component/src/Parameters_msg_error.cpp	(revision 69)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component/src/Parameters_msg_error.cpp	(revision 71)
@@ -9,5 +9,4 @@
 #include "Behavioural/@DIRECTORY/include/Parameters.h"
 #include <sstream>
-using namespace std;
 
 namespace morpheo                    {
@@ -17,9 +16,9 @@
 #undef  FUNCTION
 #define FUNCTION "@COMPONENT::msg_error"
-  string Parameters::msg_error(void)
+  std::string Parameters::msg_error(void)
   {
     log_printf(FUNC,@COMPONENT,FUNCTION,"Begin");
 
-    string msg = "";
+    std::string msg = "";
 
     return msg;
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component/src/Parameters_print.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component/src/Parameters_print.cpp	(revision 69)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component/src/Parameters_print.cpp	(revision 71)
@@ -8,5 +8,4 @@
 #include "Behavioural/@DIRECTORY/include/Parameters.h"
 #include "Behavioural/include/XML.h"
-using namespace std;
 
 namespace morpheo                    {
@@ -16,5 +15,5 @@
 #undef  FUNCTION
 #define FUNCTION "@COMPONENT::print"
-  string Parameters::print (uint32_t depth)
+  std::string Parameters::print (uint32_t depth)
   {
     log_printf(FUNC,@COMPONENT,FUNCTION,"Begin");
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component/src/Statistics.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component/src/Statistics.cpp	(revision 69)
+++ 	(revision )
@@ -1,40 +1,0 @@
-#ifdef STATISTICS
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/@DIRECTORY/include/Statistics.h"
-
-namespace morpheo                    {
-namespace behavioural {
-@NAMESPACE_BEGIN
-
-#undef  FUNCTION
-#define FUNCTION "@COMPONENT::Statistics"
-  Statistics::Statistics (string                                        name                       ,
-			  morpheo::behavioural::Parameters_Statistics * parameters_statistics      ,
-			  Parameters                                  * parameters
-			  ) :
-    morpheo::behavioural::Statistics(name                  ,
-				     parameters_statistics ),
-    _parameters(parameters)
-  {
-    log_printf(FUNC,@COMPONENT,FUNCTION,"Begin");
-    log_printf(FUNC,@COMPONENT,FUNCTION,"End");
-  };
-  
-#undef  FUNCTION
-#define FUNCTION "@COMPONENT::~Statistics"
-  Statistics::~Statistics () 
-  { 
-    log_printf(FUNC,@COMPONENT,FUNCTION,"Begin");
-    log_printf(FUNC,@COMPONENT,FUNCTION,"End");
-  };
-
-@NAMESPACE_END
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component/src/Statistics_add.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component/src/Statistics_add.cpp	(revision 69)
+++ 	(revision )
@@ -1,29 +1,0 @@
-#ifdef STATISTICS
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/@DIRECTORY/include/Statistics.h"
-
-#include <sstream>
-using namespace std;
-
-namespace morpheo                    {
-namespace behavioural {
-@NAMESPACE_BEGIN
-
-#undef  FUNCTION
-#define FUNCTION "@COMPONENT::add"
-  void Statistics::add ()
-  {
-    log_printf(FUNC,@COMPONENT,FUNCTION,"Begin");
-    log_printf(FUNC,@COMPONENT,FUNCTION,"End");
-  };
-
-@NAMESPACE_END
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component/src/Statistics_print.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component/src/Statistics_print.cpp	(revision 69)
+++ 	(revision )
@@ -1,53 +1,0 @@
-#ifdef STATISTICS
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/@DIRECTORY/include/Statistics.h"
-
-#include <sstream>
-using namespace std;
-
-namespace morpheo {
-namespace behavioural {
-@NAMESPACE_BEGIN
-
-#undef  FUNCTION
-#define FUNCTION "@COMPONENT::print"
-  string Statistics::print (uint32_t depth)
-  {
-    log_printf(FUNC,@COMPONENT,FUNCTION,"Begin");
-
-    string        tab = string(depth,'\t');
-    ostringstream msg;
-
-    msg << tab << "<@COMPONENT_LOWER name=\"" << _name << "\" >" << endl
-        << print_body(depth+1) << endl
-	<< tab << "</@COMPONENT_LOWER>" << endl;
-    
-    log_printf(FUNC,@COMPONENT,FUNCTION,"End");
-
-    return msg.str();
-  };
-
-#undef  FUNCTION
-#define FUNCTION "@COMPONENT::operator<<"
-  ostream& operator<< (ostream& output_stream ,
-		       morpheo::behavioural::@NAMESPACE_USE::Statistics & x)
-  {
-    log_printf(FUNC,@COMPONENT,FUNCTION,"Begin");
-
-    output_stream << x.print(0);
-
-    log_printf(FUNC,@COMPONENT,FUNCTION,"End");
-
-    return output_stream;
-  };
-
-@NAMESPACE_END
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component/src/Statistics_print_body.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component/src/Statistics_print_body.cpp	(revision 69)
+++ 	(revision )
@@ -1,37 +1,0 @@
-#ifdef STATISTICS
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/@DIRECTORY/include/Statistics.h"
-
-#include <sstream>
-using namespace std;
-
-namespace morpheo                    {
-namespace behavioural {
-@NAMESPACE_BEGIN
-
-#undef  FUNCTION
-#define FUNCTION "@COMPONENT::print_body"
-  string Statistics::print_body (uint32_t depth)
-  {
-    log_printf(FUNC,@COMPONENT,FUNCTION,"Begin");
-
-    string        tab = string(depth,'\t');
-    ostringstream msg;
-
-    msg << tab << "";
-    
-    log_printf(FUNC,@COMPONENT,FUNCTION,"End");
-
-    return msg.str();
-  };
-
-@NAMESPACE_END
-}; // end namespace behavioural
-}; // end namespace morpheo              
-#endif
