Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/SelfTest/Makefile
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/SelfTest/Makefile	(revision 82)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/SelfTest/Makefile	(revision 88)
@@ -23,4 +23,6 @@
 library_clean			: Shifter_library_clean
 
+local_clean			:
+
 include                         ../Makefile.deps
 include                         $(DIR_MORPHEO)/Behavioural/Makefile.flags
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/SelfTest/src/test.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/SelfTest/src/test.cpp	(revision 82)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/SelfTest/src/test.cpp	(revision 88)
@@ -38,4 +38,15 @@
   morpheo::behavioural::Parameters_Statistics * param_stat = new morpheo::behavioural::Parameters_Statistics(5,50);
 #endif
+
+  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          );
+
   Shifter * _Shifter = new Shifter (name.c_str(),
 #ifdef STATISTICS
@@ -43,5 +54,5 @@
 #endif
 				    &param,
-				    USE_ALL);
+				    _usage);
   
 #ifdef SYSTEMC
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/include/Parameters.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/include/Parameters.h	(revision 82)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/include/Parameters.h	(revision 88)
@@ -56,8 +56,11 @@
 			carry_t     carry               ,
 			bool        type_completion_bool = false);
-  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/Shifter/include/Shifter.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/include/Shifter.h	(revision 82)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/include/Shifter.h	(revision 88)
@@ -5,5 +5,5 @@
  * $Id$
  *
- * [ Description ]
+ * [ Description ]
  * 
  */
@@ -38,5 +38,5 @@
 #endif
   {
-    // -----[ fields ]----------------------------------------------------
+    // -----[ fields ]----------------------------------------------------
     // Parameters
   protected : const std::string  _name;
@@ -52,5 +52,5 @@
 
 #ifdef SYSTEMC
-    // ~~~~~[ Interface ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+    // ~~~~~[ Interface ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   public    : SC_CLOCK                      *  in_CLOCK             ;
   public    : SC_IN (Tcontrol_t)            *  in_NRESET            ;
@@ -66,10 +66,10 @@
   public    : SC_OUT(Tdata_t)              ** out_SHIFTER_DATA      ;
     
-    // ~~~~~[ Register ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~    
+    // ~~~~~[ Register ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~    
 
-    // ~~~~~[ Internal ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+    // ~~~~~[ Internal ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 #endif
 
-    // -----[ methods ]---------------------------------------------------
+    // -----[ methods ]---------------------------------------------------
 
 #ifdef SYSTEMC
@@ -93,8 +93,8 @@
   public  :          ~Shifter             (void);
 					       
-#ifdef SYSTEMC				       
   private : void     allocation                (void);
   private : void     deallocation              (void);
 					       
+#ifdef SYSTEMC				       
 #if (defined(STATISTICS) || defined (VHDL_TESTBENCH))
   public  : void     transition                (void);
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Parameters.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Parameters.cpp	(revision 82)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Parameters.cpp	(revision 88)
@@ -80,38 +80,43 @@
   };
   
-  Parameters::Parameters (Parameters & param):
-    _size_data                   (param._size_data                   ),
-    _nb_port                     (param._nb_port                     ),
-    _shift_value                 (param._shift_value                 ),
-    _rotate                      (param._rotate                      ),
-    _direction                   (param._direction                   ),
-    _carry                       (param._carry                       ),
-    _size_data_completion        (param._size_data_completion        ),
-    _type_completion_bool        (param._type_completion_bool        ),
+//   Parameters::Parameters (Parameters & param):
+//     _size_data                   (param._size_data                   ),
+//     _nb_port                     (param._nb_port                     ),
+//     _shift_value                 (param._shift_value                 ),
+//     _rotate                      (param._rotate                      ),
+//     _direction                   (param._direction                   ),
+//     _carry                       (param._carry                       ),
+//     _size_data_completion        (param._size_data_completion        ),
+//     _type_completion_bool        (param._type_completion_bool        ),
 
-    _internal_direction          (param._internal_direction          ),
-    _internal_type               (param._internal_type               ),
-    _internal_carry              (param._internal_carry              ),
+//     _internal_direction          (param._internal_direction          ),
+//     _internal_type               (param._internal_type               ),
+//     _internal_carry              (param._internal_carry              ),
     
-    _have_shift_logic_left       (param._have_shift_logic_left       ),
-    _have_shift_logic_right      (param._have_shift_logic_right      ),
-    _have_shift_logic            (param._have_shift_logic            ),
-    _have_shift_arithmetic_left  (param._have_shift_arithmetic_left  ),
-    _have_shift_arithmetic_right (param._have_shift_arithmetic_right ),
-    _have_shift_arithmetic       (param._have_shift_arithmetic       ),
-    _have_shift                  (param._have_shift                  ),
-    _have_rotate_left            (param._have_rotate_left            ),
-    _have_rotate_right           (param._have_rotate_right           ),
-    _have_rotate                 (param._have_rotate                 ),
+//     _have_shift_logic_left       (param._have_shift_logic_left       ),
+//     _have_shift_logic_right      (param._have_shift_logic_right      ),
+//     _have_shift_logic            (param._have_shift_logic            ),
+//     _have_shift_arithmetic_left  (param._have_shift_arithmetic_left  ),
+//     _have_shift_arithmetic_right (param._have_shift_arithmetic_right ),
+//     _have_shift_arithmetic       (param._have_shift_arithmetic       ),
+//     _have_shift                  (param._have_shift                  ),
+//     _have_rotate_left            (param._have_rotate_left            ),
+//     _have_rotate_right           (param._have_rotate_right           ),
+//     _have_rotate                 (param._have_rotate                 ),
 
-    _have_direction_left         (param._have_direction_left         ),
-    _have_direction_right        (param._have_direction_right        )
+//     _have_direction_left         (param._have_direction_left         ),
+//     _have_direction_right        (param._have_direction_right        )
 
+//   {
+//     test();
+//   };
+
+  Parameters::~Parameters () 
   {
-    test();
   };
 
-  Parameters::~Parameters () 
-  { };
+  void Parameters::copy (void) 
+  {
+  };
 
 }; // end namespace shifter
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Shifter.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Shifter.cpp	(revision 82)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Shifter.cpp	(revision 88)
@@ -14,4 +14,6 @@
 
 
+#undef  FUNCTION
+#define FUNCTION "Shifter::Shifter"
   Shifter::Shifter (
 #ifdef SYSTEMC
@@ -29,19 +31,32 @@
     ,_usage (usage)
   {
-#ifdef SYSTEMC
+
+#if DEBUG_Shifter == true
+    log_printf(INFO,Shifter,FUNCTION,_("<%s> Parameters"),_name.c_str());
+
+    std::cout << *param << std::endl;
+#endif    
+
     allocation ();
-#endif
 
 #ifdef STATISTICS
-    // Allocation of statistics
-    statistics_declaration(param_statistics);
+    if (usage_is_set(_usage,USE_STATISTICS))
+      {
+        // Allocation of statistics
+        statistics_declaration(param_statistics);
+      }
 #endif
 
 #ifdef VHDL
-    // generate the vhdl
-    vhdl();
+    if (usage_is_set(_usage,USE_VHDL))
+      {
+        // generate the vhdl
+        vhdl();
+      }
 #endif
 
 #ifdef SYSTEMC
+    if (usage_is_set(_usage,USE_SYSTEMC))
+      {
 #if (defined(STATISTICS) || defined (VHDL_TESTBENCH))
     SC_METHOD (transition);
@@ -91,17 +106,18 @@
       }
 #endif    
-
+      }
 #endif
   };
   
+#undef  FUNCTION
+#define FUNCTION "Shifter::~Shifter"
   Shifter::~Shifter (void)
   {
-#ifdef SYSTEMC
-    deallocation ();
+#ifdef STATISTICS
+    if (usage_is_set(_usage,USE_STATISTICS))
+      delete _stat;
 #endif
 
-#ifdef STATISTICS
-    delete _stat;
-#endif
+    deallocation ();
   };
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Shifter_allocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Shifter_allocation.cpp	(revision 82)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Shifter_allocation.cpp	(revision 88)
@@ -1,3 +1,2 @@
-#ifdef SYSTEMC
 /*
  * $Id$
@@ -86,9 +85,10 @@
 	   in_SHIFTER_COMPLETION [i] = interface->set_signal_in  <Tdata_t     > ("completion",_param->_size_data_completion);
 	  out_SHIFTER_DATA       [i] = interface->set_signal_out <Tdata_t     > ("data"      ,_param->_size_data);
-	}										                                         
+	}
     }
 
 #ifdef POSITION
-    _component->generate_file();
+    if (usage_is_set(_usage,USE_POSITION))
+      _component->generate_file();
 #endif
 
@@ -99,3 +99,2 @@
 }; // end namespace behavioural
 }; // end namespace morpheo              
-#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Shifter_deallocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Shifter_deallocation.cpp	(revision 82)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Shifter_deallocation.cpp	(revision 88)
@@ -1,3 +1,2 @@
-#ifdef SYSTEMC
 /*
  * $Id$
@@ -17,4 +16,6 @@
   void Shifter::deallocation (void)
   {
+    if (usage_is_set(_usage,USE_SYSTEMC))
+      {	
 #if (defined(STATISTICS) || defined (VHDL_TESTBENCH))
     delete     in_CLOCK;
@@ -36,4 +37,5 @@
     delete []  in_SHIFTER_COMPLETION;
     delete [] out_SHIFTER_DATA      ;
+      }
 
     delete _component;
@@ -46,3 +48,2 @@
 }; // end namespace behavioural
 }; // end namespace morpheo              
-#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 82)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Shifter_end_cycle.cpp	(revision 88)
@@ -21,5 +21,6 @@
 
 #ifdef STATISTICS
-    _stat->end_cycle();
+    if (usage_is_set(_usage,USE_STATISTICS))
+      _stat->end_cycle();
 #endif    
 
@@ -27,5 +28,6 @@
     // Evaluation before read the ouput signal
 //  sc_start(0);
-    _interfaces->testbench();
+    if (usage_is_set(_usage,USE_VHDL_TESTBENCH))
+      _interfaces->testbench();
 #endif
 
