Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Dependency_checking_unit/src/Dependency_checking_unit.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Dependency_checking_unit/src/Dependency_checking_unit.cpp	(revision 82)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Dependency_checking_unit/src/Dependency_checking_unit.cpp	(revision 88)
@@ -39,4 +39,10 @@
     log_printf(FUNC,Dependency_checking_unit,FUNCTION,"Begin");
 
+#if DEBUG_Dependency_checking_unit == true
+    log_printf(INFO,Dependency_checking_unit,FUNCTION,_("<%s> Parameters"),_name.c_str());
+
+    std::cout << *param << std::endl;
+#endif    
+
     log_printf(INFO,Dependency_checking_unit,FUNCTION,"Allocation");
 
@@ -48,5 +54,5 @@
 
 #ifdef STATISTICS
-    if (_usage & USE_STATISTICS)
+    if (usage_is_set(_usage,USE_STATISTICS))
       {	
 	log_printf(INFO,Dependency_checking_unit,FUNCTION,"Allocation of statistics");
@@ -57,5 +63,5 @@
 
 #ifdef VHDL
-    if (_usage & USE_VHDL)
+    if (usage_is_set(_usage,USE_VHDL))
       {
 	// generate the vhdl
@@ -67,5 +73,5 @@
 
 #ifdef SYSTEMC
-    if (_usage & USE_SYSTEMC)
+    if (usage_is_set(_usage,USE_SYSTEMC))
       {
 # if defined(STATISTICS) or defined(VHDL_TESTBENCH)
@@ -86,5 +92,5 @@
 	SC_METHOD (genMealy);
 	dont_initialize ();
-	sensitive << (*(in_CLOCK)).neg();
+// 	sensitive << (*(in_CLOCK)).neg(); // don't need internal register
 	for (uint32_t i=0;i<_param->_nb_inst_insert; i++)
 	  {
@@ -221,5 +227,5 @@
 
 #ifdef STATISTICS
-    if (_usage & USE_STATISTICS)
+    if (usage_is_set(_usage,USE_STATISTICS))
       {
 	log_printf(INFO,Dependency_checking_unit,FUNCTION,"Generate Statistics file");
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Dependency_checking_unit/src/Dependency_checking_unit_allocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Dependency_checking_unit/src/Dependency_checking_unit_allocation.cpp	(revision 82)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Dependency_checking_unit/src/Dependency_checking_unit_allocation.cpp	(revision 88)
@@ -113,5 +113,6 @@
 
 #ifdef POSITION
-    _component->generate_file();
+     if (usage_is_set(_usage,USE_POSITION))
+       _component->generate_file();
 #endif
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Dependency_checking_unit/src/Dependency_checking_unit_deallocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Dependency_checking_unit/src/Dependency_checking_unit_deallocation.cpp	(revision 82)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Dependency_checking_unit/src/Dependency_checking_unit_deallocation.cpp	(revision 88)
@@ -24,5 +24,5 @@
     log_printf(FUNC,Dependency_checking_unit,FUNCTION,"Begin");
 
-    if (_usage & USE_SYSTEMC)
+    if (usage_is_set(_usage,USE_SYSTEMC))
       {
 	delete     in_CLOCK ;
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Dependency_checking_unit/src/Dependency_checking_unit_end_cycle.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Dependency_checking_unit/src/Dependency_checking_unit_end_cycle.cpp	(revision 82)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Dependency_checking_unit/src/Dependency_checking_unit_end_cycle.cpp	(revision 88)
@@ -26,5 +26,6 @@
 
 #ifdef STATISTICS
-    _stat->end_cycle();
+    if (usage_is_set(_usage,USE_STATISTICS))
+      _stat->end_cycle();
 #endif    
 
@@ -32,5 +33,6 @@
     // Evaluation before read the ouput signal
 //  sc_start(0);
-    _interfaces->testbench();
+    if (usage_is_set(_usage,USE_VHDL_TESTBENCH))
+      _interfaces->testbench();
 #endif
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Dependency_checking_unit/src/Dependency_checking_unit_genMealy.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Dependency_checking_unit/src/Dependency_checking_unit_genMealy.cpp	(revision 82)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Dependency_checking_unit/src/Dependency_checking_unit_genMealy.cpp	(revision 88)
@@ -23,5 +23,6 @@
   void Dependency_checking_unit::genMealy (void)
   {
-    log_printf(FUNC,Dependency_checking_unit,FUNCTION,"Begin");
+    log_begin(Dependency_checking_unit,FUNCTION);
+    log_function(Dependency_checking_unit,FUNCTION,_name.c_str());
 
 //     Tcontrol_t         val                [_param->_nb_inst_insert];
@@ -77,4 +78,26 @@
 	num_reg_re_phy_new [i] = PORT_READ(in_RENAME_IN_NUM_REG_RE_PHY_NEW [i]);
 	
+        log_printf(TRACE,Dependency_checking_unit,FUNCTION,"  * (before) [%d] %.2d %.2d, %.1d %.2d %.5d, %.1d %.2d %.5d, %.1d %.2d %.5d, %.1d %.2d %.5d -> %.5d, %.1d %.2d %.5d -> %.5d",
+                   i,
+                   front_end_id       [i],
+                   context_id         [i],
+                   read_ra            [i],
+                   num_reg_ra_log     [i],
+                   num_reg_ra_phy     [i],
+                   read_rb            [i],
+                   num_reg_rb_log     [i],
+                   num_reg_rb_phy     [i],
+                   read_rc            [i],
+                   num_reg_rc_log     [i],
+                   num_reg_rc_phy     [i],
+                   write_rd           [i],
+                   num_reg_rd_log     [i],
+                   num_reg_rd_phy_old [i],
+                   num_reg_rd_phy_new [i],
+                   write_re           [i],
+                   num_reg_re_log     [i],
+                   num_reg_re_phy_old [i],
+                   num_reg_re_phy_new [i]);
+
 	// ================================================================
 	// =====[ Write after Write ]======================================
@@ -88,4 +111,5 @@
 		(context_id     [j] == context_id     [i]) )
 	      {
+                log_printf(TRACE,Dependency_checking_unit,FUNCTION,"    * RD :  WAW dependency with inst[%d].RD",j);
 		num_reg_rd_phy_old [i] = num_reg_rd_phy_new [j];
 		break; // find the most recently dependency
@@ -100,4 +124,5 @@
 		(context_id     [j] == context_id     [i]) )
 	      {
+                log_printf(TRACE,Dependency_checking_unit,FUNCTION,"    * RE : WAW dependency with inst[%d].RE",j);
 		num_reg_re_phy_old [i] = num_reg_re_phy_new [j];
 		break; // find the most recently dependency
@@ -114,4 +139,5 @@
 		(context_id     [j] == context_id     [i]) )
 	      {
+                log_printf(TRACE,Dependency_checking_unit,FUNCTION,"    * RA :  RAW dependency with inst[%d].RD",j);
 		num_reg_ra_phy [i] = num_reg_rd_phy_new [j];
 		break; // find the most recently dependency
@@ -126,4 +152,5 @@
 		(context_id     [j] == context_id     [i]) )
 	      {
+                log_printf(TRACE,Dependency_checking_unit,FUNCTION,"    * RB :  RAW dependency with inst[%d].RD",j);
 		num_reg_rb_phy [i] = num_reg_rd_phy_new [j];
 		break; // find the most recently dependency
@@ -138,7 +165,30 @@
 		(context_id     [j] == context_id     [i]) )
 	      {
+                log_printf(TRACE,Dependency_checking_unit,FUNCTION,"    * RC :  RAW dependency with inst[%d].RE",j);
 		num_reg_rc_phy [i] = num_reg_re_phy_new [j];
 		break; // find the most recently dependency
 	      }
+
+        log_printf(TRACE,Dependency_checking_unit,FUNCTION,"  * (after ) [%d] %.2d %.2d, %.1d %.2d %.5d, %.1d %.2d %.5d, %.1d %.2d %.5d, %.1d %.2d %.5d -> %.5d, %.1d %.2d %.5d -> %.5d",
+                   i,
+                   front_end_id       [i],
+                   context_id         [i],
+                   read_ra            [i],
+                   num_reg_ra_log     [i],
+                   num_reg_ra_phy     [i],
+                   read_rb            [i],
+                   num_reg_rb_log     [i],
+                   num_reg_rb_phy     [i],
+                   read_rc            [i],
+                   num_reg_rc_log     [i],
+                   num_reg_rc_phy     [i],
+                   write_rd           [i],
+                   num_reg_rd_log     [i],
+                   num_reg_rd_phy_old [i],
+                   num_reg_rd_phy_new [i],
+                   write_re           [i],
+                   num_reg_re_log     [i],
+                   num_reg_re_phy_old [i],
+                   num_reg_re_phy_new [i]);
 
  	// =====[ Output ]=================================================
@@ -168,5 +218,5 @@
       }
 
-    log_printf(FUNC,Dependency_checking_unit,FUNCTION,"End");
+    log_end(Dependency_checking_unit,FUNCTION);
   };
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Dependency_checking_unit/src/Parameters.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Dependency_checking_unit/src/Parameters.cpp	(revision 82)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Dependency_checking_unit/src/Parameters.cpp	(revision 88)
@@ -24,5 +24,6 @@
 			  uint32_t nb_general_register   ,
 			  uint32_t nb_special_register   ,
-			  uint32_t nb_inst_insert        )
+			  uint32_t nb_inst_insert        ,
+                          bool     is_toplevel           )
   {
     log_printf(FUNC,Dependency_checking_unit,FUNCTION,"Begin");
@@ -34,13 +35,19 @@
     _nb_inst_insert      = nb_inst_insert     ;
 
-    _size_front_end_id      = log2(nb_front_end       );
-    _size_context_id        = log2(max_nb_context     );
-    _size_general_register  = log2(nb_general_register);
-    _size_special_register  = log2(nb_special_register);
-    
-    _have_port_front_end_id = _size_front_end_id>0;
-    _have_port_context_id   = _size_context_id  >0;
+    test();
 
-    test();
+    if (is_toplevel)
+      {
+        _size_front_end_id      = log2(nb_front_end       );
+        _size_context_id        = log2(max_nb_context     );
+        _size_general_register  = log2(nb_general_register);
+        _size_special_register  = log2(nb_special_register);
+        
+        _have_port_front_end_id = _size_front_end_id>0;
+        _have_port_context_id   = _size_context_id  >0;
+
+        copy();
+      }
+
     log_printf(FUNC,Dependency_checking_unit,FUNCTION,"End");
   };
@@ -57,5 +64,13 @@
 #undef  FUNCTION
 #define FUNCTION "Dependency_checking_unit::~Parameters"
-  Parameters::~Parameters () 
+  Parameters::~Parameters (void)
+  {
+    log_printf(FUNC,Dependency_checking_unit,FUNCTION,"Begin");
+    log_printf(FUNC,Dependency_checking_unit,FUNCTION,"End");
+  };
+
+#undef  FUNCTION
+#define FUNCTION "Dependency_checking_unit::copy"
+  void Parameters::copy (void)
   {
     log_printf(FUNC,Dependency_checking_unit,FUNCTION,"Begin");
