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 82)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked.cpp	(revision 88)
@@ -14,4 +14,6 @@
 namespace registerfile_multi_banked {
 
+#undef  FUNCTION
+#define FUNCTION "RegisterFile_Multi_Banked::RegisterFile_Multi_Banked"
   RegisterFile_Multi_Banked::RegisterFile_Multi_Banked 
   (
@@ -30,27 +32,39 @@
     ,_usage (usage)
   {
-    log_printf(FUNC,RegisterFile_Multi_Banked,"RegisterFile_Multi_Banked","Begin");
+    log_printf(FUNC,RegisterFile_Multi_Banked,FUNCTION,"Begin");
 
-#ifdef SYSTEMC
-    log_printf(INFO,RegisterFile_Multi_Banked,"RegisterFile_Multi_Banked","Allocation");
+#if DEBUG_RegisterFile_Multi_Banked == true
+    log_printf(INFO,RegisterFile_Multi_Banked,FUNCTION,_("<%s> Parameters"),_name.c_str());
 
+    std::cout << *param << std::endl;
+#endif    
+
+    log_printf(INFO,RegisterFile_Multi_Banked,FUNCTION,"Allocation");
+    
     allocation ();
-#endif
 
 #ifdef STATISTICS
-    log_printf(INFO,RegisterFile_Multi_Banked,"RegisterFile_Multi_Banked","Allocation of statistics");
-
-    // Allocation of statistics
-    statistics_declaration(param_statistics);
+    if (usage_is_set(_usage,USE_STATISTICS))
+      {	
+        log_printf(INFO,RegisterFile_Multi_Banked,FUNCTION,"Allocation of statistics");
+        
+        // Allocation of statistics
+        statistics_declaration(param_statistics);
+      }
 #endif
 
 #ifdef VHDL
-    // generate the vhdl
-    log_printf(INFO,RegisterFile_Multi_Banked,"RegisterFile_Multi_Banked","Generate the vhdl");
-
-    vhdl();
+    if (usage_is_set(_usage,USE_VHDL))
+      {	
+        // generate the vhdl
+        log_printf(INFO,RegisterFile_Multi_Banked,FUNCTION,"Generate the vhdl");
+        
+        vhdl();
+      }
 #endif
 
 #ifdef SYSTEMC
+    if (usage_is_set(_usage,USE_SYSTEMC))
+      {	
     // Function pointer
     if (_param->_crossbar == FULL_CROSSBAR)                             
@@ -67,5 +81,5 @@
       }
 
-    log_printf(INFO,RegisterFile_Multi_Banked,"RegisterFile_Multi_Banked","Method - transition");
+    log_printf(INFO,RegisterFile_Multi_Banked,FUNCTION,"Method - transition");
 
     SC_METHOD (transition);
@@ -77,5 +91,5 @@
 #endif    
 
-    log_printf(INFO,RegisterFile_Multi_Banked,"RegisterFile_Multi_Banked","Method - genMealy_write");
+    log_printf(INFO,RegisterFile_Multi_Banked,FUNCTION,"Method - genMealy_write");
 
     SC_METHOD (genMealy_read);
@@ -129,26 +143,27 @@
       }
 #endif    
-
+      }
 #endif
-    log_printf(FUNC,RegisterFile_Multi_Banked,"RegisterFile_Multi_Banked","End");
+    log_printf(FUNC,RegisterFile_Multi_Banked,FUNCTION,"End");
   };
   
+#undef  FUNCTION
+#define FUNCTION "RegisterFile_Multi_Banked::~RegisterFile_Multi_Banked"
   RegisterFile_Multi_Banked::~RegisterFile_Multi_Banked (void)
   {
-    log_printf(FUNC,RegisterFile_Multi_Banked,"~RegisterFile_Multi_Banked","Begin");
+    log_printf(FUNC,RegisterFile_Multi_Banked,FUNCTION,"Begin");
 
 #ifdef STATISTICS
-    log_printf(INFO,RegisterFile_Multi_Banked,"~RegisterFile_Multi_Banked","Generate Statistics file");
-    
-    delete _stat;
+    if (usage_is_set(_usage,USE_STATISTICS))
+      {	
+        log_printf(INFO,RegisterFile_Multi_Banked,FUNCTION,"Generate Statistics file");
+        delete _stat;
+      }
 #endif
 
-#ifdef SYSTEMC
-    log_printf(INFO,RegisterFile_Multi_Banked,"~RegisterFile_Multi_Banked","Deallocation");
+    log_printf(INFO,RegisterFile_Multi_Banked,FUNCTION,"Deallocation");
+    deallocation ();
 
-    deallocation ();
-#endif
-
-    log_printf(FUNC,RegisterFile_Multi_Banked,"~RegisterFile_Multi_Banked","End");
+    log_printf(FUNC,RegisterFile_Multi_Banked,FUNCTION,"End");
   };
 
