Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/SelfTest/Makefile
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/SelfTest/Makefile	(revision 84)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/SelfTest/Makefile	(revision 88)
@@ -23,4 +23,6 @@
 library_clean			: RegisterFile_Monolithic_library_clean
 
+local_clean			:
+
 include                         ../Makefile.deps
 include                         $(DIR_MORPHEO)/Behavioural/Makefile.flags
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/SelfTest/debug.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/SelfTest/debug.cfg	(revision 88)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/SelfTest/debug.cfg	(revision 88)
@@ -0,0 +1,6 @@
+RegisterFile_Monolithic
+1	1 	*2	# nb_port_read
+1	1	*2	# nb_port_write
+0	0	*2	# nb_port_read_write
+128 	128	*2	# nb_word
+32	32	*2	# size_word
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/SelfTest/src/test.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/SelfTest/src/test.cpp	(revision 84)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/SelfTest/src/test.cpp	(revision 88)
@@ -32,4 +32,14 @@
       exit (EXIT_FAILURE);
     }
+
+  Tusage_t _usage = USE_ALL;
+
+//   _usage = usage_unset(_usage,USE_SYSTEMC              );
+//   _usage = usage_unset(_usage,USE_VHDL                 );
+//   _usage = usage_unset(_usage,USE_VHDL_TESTBENCH       );
+//   _usage = usage_unset(_usage,USE_VHDL_TESTBENCH_ASSERT);
+//   _usage = usage_unset(_usage,USE_POSITION             );
+//   _usage = usage_unset(_usage,USE_STATISTICS           );
+//   _usage = usage_unset(_usage,USE_INFORMATION          );
 
 #ifdef STATISTICS
@@ -42,5 +52,5 @@
 #endif
      ,_param
-     ,USE_ALL);
+     ,_usage);
   
 #ifdef SYSTEMC
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 84)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/include/Parameters.h	(revision 88)
@@ -34,8 +34,11 @@
 		       uint32_t nb_word      ,
 		       uint32_t size_word    );
-  public : Parameters (Parameters & param) ;
+//   public : Parameters (Parameters & param) ;
   public : ~Parameters () ;
 
+  public :        void            copy       (void);
+
   public :        Parameters_test msg_error  (void);
+
   public :        std::string   print      (uint32_t depth);
   public : friend std::ostream& operator<< (std::ostream& output_stream,
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/Parameters.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/Parameters.cpp	(revision 84)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/Parameters.cpp	(revision 88)
@@ -32,18 +32,23 @@
   };
   
-  Parameters::Parameters (Parameters & param) :
-    _nb_port_read      (param._nb_port_read ),
-    _nb_port_write     (param._nb_port_write),
-    _nb_port_read_write(param._nb_port_read_write),
-    _nb_word           (param._nb_word      ),
-    _size_word         (param._size_word    ),
-    _size_address      (param._size_address ),
-    _have_port_address (param._have_port_address)
+//   Parameters::Parameters (Parameters & param) :
+//     _nb_port_read      (param._nb_port_read ),
+//     _nb_port_write     (param._nb_port_write),
+//     _nb_port_read_write(param._nb_port_read_write),
+//     _nb_word           (param._nb_word      ),
+//     _size_word         (param._size_word    ),
+//     _size_address      (param._size_address ),
+//     _have_port_address (param._have_port_address)
+//   {
+//     test();
+//   };
+
+  Parameters::~Parameters () 
   {
-    test();
   };
 
-  Parameters::~Parameters () 
-  { };
+  void Parameters::copy (void) 
+  { 
+  };
 
 }; // end namespace registerfile_monolithic
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 84)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic.cpp	(revision 88)
@@ -33,9 +33,15 @@
     log_printf(FUNC,RegisterFile_Monolithic,"RegisterFile_Monolithic","Begin");
 
+#if DEBUG_RegisterFile_Monolithic == true
+    log_printf(INFO,RegisterFile_Monolithic,FUNCTION,_("<%s> Parameters"),_name.c_str());
+
+    std::cout << *param << std::endl;
+#endif    
+
     log_printf(INFO,RegisterFile_Monolithic,"RegisterFile_Monolithic","Allocation");
     allocation ();
 
 #ifdef STATISTICS
-    if (_usage & USE_STATISTICS)
+    if (usage_is_set(_usage,USE_STATISTICS))
       statistics_declaration(param_statistics);
 #endif
@@ -47,5 +53,5 @@
 
 #ifdef SYSTEMC
-    if (_usage & USE_SYSTEMC)
+    if (usage_is_set(_usage,USE_SYSTEMC))
       {
 	SC_METHOD (transition);
@@ -102,5 +108,5 @@
   {
 #ifdef STATISTICS
-    if (_usage & USE_STATISTICS)
+    if (usage_is_set(_usage,USE_STATISTICS))
       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 84)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_allocation.cpp	(revision 88)
@@ -120,8 +120,10 @@
 
     // ----- Register
-    reg_DATA = new Tdata_t [_param->_nb_word];
+    if (usage_is_set(_usage,USE_SYSTEMC))
+      reg_DATA = new Tdata_t [_param->_nb_word];
     
 #ifdef POSITION
-    _component->generate_file();
+    if (usage_is_set(_usage,USE_POSITION))
+      _component->generate_file();
 #endif
   };
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_deallocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_deallocation.cpp	(revision 84)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_deallocation.cpp	(revision 88)
@@ -18,5 +18,5 @@
     delete _component;
 
-    if (_usage & USE_SYSTEMC)
+    if (usage_is_set(_usage,USE_SYSTEMC))
       {
 	delete    in_CLOCK;
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 84)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_end_cycle.cpp	(revision 88)
@@ -20,5 +20,6 @@
 
 #ifdef STATISTICS
-    _stat->end_cycle();
+    if (usage_is_set(_usage,USE_STATISTICS))
+      _stat->end_cycle();
 #endif    
 
@@ -27,5 +28,6 @@
     
 //  sc_start(0);
-    _interfaces->testbench();
+    if (usage_is_set(_usage,USE_VHDL_TESTBENCH))
+      _interfaces->testbench();
 #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 84)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_transition.cpp	(revision 88)
@@ -24,5 +24,6 @@
  	  {
 #ifdef STATISTICS
-	    (*_stat_nb_write) ++;
+	    if (usage_is_set(_usage,USE_STATISTICS))
+              (*_stat_nb_write) ++;
 #endif    
 
@@ -49,5 +50,6 @@
 	      {
 #ifdef STATISTICS
-		(*_stat_nb_write) ++;
+		if (usage_is_set(_usage,USE_STATISTICS))
+                  (*_stat_nb_write) ++;
 #endif    
 		
@@ -67,5 +69,6 @@
 	    else
 	      {
-		(*_stat_nb_read) ++;
+		if (usage_is_set(_usage,USE_STATISTICS))
+                  (*_stat_nb_read) ++;
 	      }
 #endif    
@@ -74,7 +77,8 @@
 
 #ifdef STATISTICS
-    for (uint32_t i=0; i<_param->_nb_port_read; i++)
-      if ( PORT_READ(in_READ_VAL [i]) == 1)
-	(*_stat_nb_read) ++;
+    if (usage_is_set(_usage,USE_STATISTICS))
+      for (uint32_t i=0; i<_param->_nb_port_read; i++)
+        if ( PORT_READ(in_READ_VAL [i]) == 1)
+          (*_stat_nb_read) ++;
 #endif    
 
