Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/src/Register_translation_unit_allocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/src/Register_translation_unit_allocation.cpp	(revision 82)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/src/Register_translation_unit_allocation.cpp	(revision 88)
@@ -130,6 +130,6 @@
      {
        name = _name+"_dependency_checking_unit";
-       std::cout << "Create   : " << name << std::endl;
-       
+       log_printf(INFO,Core,FUNCTION,_("Create   : %s"),name.c_str());
+
        _component_dependency_checking_unit = new morpheo::behavioural::core::multi_ooo_engine::ooo_engine::rename_unit::register_translation_unit::dependency_checking_unit::Dependency_checking_unit
 	 (name.c_str()
@@ -149,5 +149,5 @@
      {
        name = _name+"_free_list_unit";
-       std::cout << "Create   : " << name << std::endl;
+       log_printf(INFO,Core,FUNCTION,_("Create   : %s"),name.c_str());
        
        _component_free_list_unit = new morpheo::behavioural::core::multi_ooo_engine::ooo_engine::rename_unit::register_translation_unit::free_list_unit::Free_List_unit
@@ -168,5 +168,5 @@
      {
        name = _name+"_register_address_translation_unit";
-       std::cout << "Create   : " << name << std::endl;
+       log_printf(INFO,Core,FUNCTION,_("Create   : %s"),name.c_str());
        
        _component_register_address_translation_unit = new morpheo::behavioural::core::multi_ooo_engine::ooo_engine::rename_unit::register_translation_unit::register_address_translation_unit::Register_Address_Translation_unit
@@ -187,5 +187,5 @@
      {
        name = _name+"_stat_list_unit";
-       std::cout << "Create   : " << name << std::endl;
+       log_printf(INFO,Core,FUNCTION,_("Create   : %s"),name.c_str());
        
        _component_stat_list_unit = new morpheo::behavioural::core::multi_ooo_engine::ooo_engine::rename_unit::register_translation_unit::stat_list_unit::Stat_List_unit
@@ -206,5 +206,5 @@
      {
        name = _name+"_register_translation_unit_glue";
-       std::cout << "Create   : " << name << std::endl;
+       log_printf(INFO,Core,FUNCTION,_("Create   : %s"),name.c_str());
        
        _component_register_translation_unit_glue = new morpheo::behavioural::core::multi_ooo_engine::ooo_engine::rename_unit::register_translation_unit::register_translation_unit_glue::Register_translation_unit_Glue
@@ -225,5 +225,214 @@
     // ~~~~~[ Instanciation ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~    
     std::string src,dest;
+
+    // ===================================================================
+    // =====[ register_address_translation_unit ]=========================
+    // ===================================================================
+    {
+      src = _name+"_register_address_translation_unit";
+      log_printf(INFO,Core,FUNCTION,_("Instance : %s"),src.c_str());
+	   
+      {
+	dest = _name;
+#ifdef POSITION
+	_component->interface_map (src ,"",
+				   dest,"");
+#endif
+	PORT_MAP(_component,src , "in_CLOCK" ,dest, "in_CLOCK");
+	PORT_MAP(_component,src , "in_NRESET",dest, "in_NRESET");
+      }
+
+      // ~~~~~[ Interface "rename" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+      for (uint32_t i=0; i<_param->_nb_inst_insert; i++)
+	{
+	  dest = _name;
+#ifdef POSITION
+	  _component->interface_map (src ,"rename_"+toString(i)
+				     dest,"rename_"+toString(i));
+#endif
+	  
+	  PORT_MAP(_component,src , "in_RENAME_"+toString(i)+"_VAL"               ,
+		              dest, "in_RENAME_"+toString(i)+"_VAL"               );
+	  if (_param->_have_port_front_end_id)
+	  PORT_MAP(_component,src , "in_RENAME_"+toString(i)+"_FRONT_END_ID"      ,
+		              dest, "in_RENAME_"+toString(i)+"_FRONT_END_ID"      );
+	  if (_param->_have_port_context_id)
+	  PORT_MAP(_component,src , "in_RENAME_"+toString(i)+"_CONTEXT_ID"        ,
+		              dest, "in_RENAME_"+toString(i)+"_CONTEXT_ID"        );
+	  PORT_MAP(_component,src , "in_RENAME_"+toString(i)+"_NUM_REG_RA_LOG"    ,
+		              dest, "in_RENAME_"+toString(i)+"_NUM_REG_RA_LOG"    );
+	  PORT_MAP(_component,src , "in_RENAME_"+toString(i)+"_NUM_REG_RB_LOG"    ,
+		              dest, "in_RENAME_"+toString(i)+"_NUM_REG_RB_LOG"    );
+	  PORT_MAP(_component,src , "in_RENAME_"+toString(i)+"_NUM_REG_RC_LOG"    ,
+		              dest, "in_RENAME_"+toString(i)+"_NUM_REG_RC_LOG"    );
+	  PORT_MAP(_component,src , "in_RENAME_"+toString(i)+"_NUM_REG_RD_LOG"    ,
+		              dest, "in_RENAME_"+toString(i)+"_NUM_REG_RD_LOG"    );
+	  PORT_MAP(_component,src , "in_RENAME_"+toString(i)+"_NUM_REG_RE_LOG"    ,
+		              dest, "in_RENAME_"+toString(i)+"_NUM_REG_RE_LOG"    );
+
+	  dest = _name+"_register_translation_unit_glue";
+	  COMPONENT_MAP(_component,src ,"out_RENAME_"+toString(i)+"_ACK",
+		                   dest, "in_INSERT_"+toString(i)+"_RAT_RENAME_ACK");
+	  
+	  dest = _name+"_dependency_checking_unit";
+	  COMPONENT_MAP(_component,src ,"out_RENAME_"+toString(i)+"_NUM_REG_RA_PHY"    ,
+		                   dest, "in_RENAME_IN_"+toString(i)+"_NUM_REG_RA_PHY"    );
+	  COMPONENT_MAP(_component,src ,"out_RENAME_"+toString(i)+"_NUM_REG_RB_PHY"    ,
+		                   dest, "in_RENAME_IN_"+toString(i)+"_NUM_REG_RB_PHY"    );
+	  COMPONENT_MAP(_component,src ,"out_RENAME_"+toString(i)+"_NUM_REG_RC_PHY"    ,
+		                   dest, "in_RENAME_IN_"+toString(i)+"_NUM_REG_RC_PHY"    );
+	  COMPONENT_MAP(_component,src ,"out_RENAME_"+toString(i)+"_NUM_REG_RD_PHY_OLD",
+		                   dest, "in_RENAME_IN_"+toString(i)+"_NUM_REG_RD_PHY_OLD");
+	  COMPONENT_MAP(_component,src ,"out_RENAME_"+toString(i)+"_NUM_REG_RE_PHY_OLD",
+		                   dest, "in_RENAME_IN_"+toString(i)+"_NUM_REG_RE_PHY_OLD");
+	}
+
+      // ~~~~~[ Interface "insert" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+      for (uint32_t i=0; i<_param->_nb_inst_insert; i++)
+	{
+	  dest = _name+"_register_translation_unit_glue";
+#ifdef POSITION
+	  _component->interface_map (src ,"rename_"+toString(i)
+				     dest,"rename_in_"+toString(i));
+#endif
+	  COMPONENT_MAP(_component,src , "in_INSERT_"+toString(i)+"_VAL",
+		                   dest,"out_INSERT_"+toString(i)+"_RAT_INSERT_VAL");
+	  COMPONENT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_ACK",
+		                   dest, "in_INSERT_"+toString(i)+"_RAT_INSERT_ACK");
+	  COMPONENT_MAP(_component,src , "in_INSERT_"+toString(i)+"_WRITE_RD"      ,
+			           dest,"out_INSERT_"+toString(i)+"_RAT_WRITE_RD"      );
+	  COMPONENT_MAP(_component,src , "in_INSERT_"+toString(i)+"_WRITE_RE"      ,
+		                   dest,"out_INSERT_"+toString(i)+"_RAT_WRITE_RE"      );
+	  COMPONENT_MAP(_component,src , "in_INSERT_"+toString(i)+"_NUM_REG_RD_LOG",
+		                   dest,"out_INSERT_"+toString(i)+"_RAT_NUM_REG_RD_LOG");
+	  COMPONENT_MAP(_component,src , "in_INSERT_"+toString(i)+"_NUM_REG_RE_LOG",
+		                   dest,"out_INSERT_"+toString(i)+"_RAT_NUM_REG_RE_LOG");
+	  COMPONENT_MAP(_component,src , "in_INSERT_"+toString(i)+"_NUM_REG_RD_PHY",
+		                   dest,"out_INSERT_"+toString(i)+"_RAT_NUM_REG_RD_PHY_NEW");
+	  COMPONENT_MAP(_component,src , "in_INSERT_"+toString(i)+"_NUM_REG_RE_PHY",
+		                   dest,"out_INSERT_"+toString(i)+"_RAT_NUM_REG_RE_PHY_NEW");
+	}
+
+      // ~~~~~[ Interface "retire" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+      for (uint32_t i=0; i<_param->_nb_inst_retire; i++)
+	{
+	  dest = _name;
+#ifdef POSITION
+	  _component->interface_map (src ,"retire_"+toString(i)
+				     dest,"retire_"+toString(i));
+#endif
+
+	  if (_param->_have_port_front_end_id)
+	  PORT_MAP(_component,src , "in_RETIRE_"+toString(i)+"_FRONT_END_ID"      ,
+		              dest, "in_RETIRE_"+toString(i)+"_FRONT_END_ID"      );
+	  if (_param->_have_port_context_id)
+	  PORT_MAP(_component,src , "in_RETIRE_"+toString(i)+"_CONTEXT_ID"        ,
+		              dest, "in_RETIRE_"+toString(i)+"_CONTEXT_ID"        );
+	  PORT_MAP(_component,src , "in_RETIRE_"+toString(i)+"_EVENT_STATE"       ,
+		              dest, "in_RETIRE_"+toString(i)+"_EVENT_STATE"       );
+	  PORT_MAP(_component,src , "in_RETIRE_"+toString(i)+"_WRITE_RD"          ,
+		              dest, "in_RETIRE_"+toString(i)+"_WRITE_RD"          );
+	  PORT_MAP(_component,src , "in_RETIRE_"+toString(i)+"_WRITE_RE"          ,
+		              dest, "in_RETIRE_"+toString(i)+"_WRITE_RE"          );
+	  PORT_MAP(_component,src , "in_RETIRE_"+toString(i)+"_NUM_REG_RD_LOG"    ,
+		              dest, "in_RETIRE_"+toString(i)+"_NUM_REG_RD_LOG"    );
+	  PORT_MAP(_component,src , "in_RETIRE_"+toString(i)+"_NUM_REG_RE_LOG"    ,
+		              dest, "in_RETIRE_"+toString(i)+"_NUM_REG_RE_LOG"    );
+	  PORT_MAP(_component,src , "in_RETIRE_"+toString(i)+"_NUM_REG_RD_PHY_OLD",
+		              dest, "in_RETIRE_"+toString(i)+"_NUM_REG_RD_PHY_OLD");
+	  PORT_MAP(_component,src , "in_RETIRE_"+toString(i)+"_NUM_REG_RE_PHY_OLD",
+		              dest, "in_RETIRE_"+toString(i)+"_NUM_REG_RE_PHY_OLD");
+
+	  dest = _name+"_register_translation_unit_glue";
+	  COMPONENT_MAP(_component,src , "in_RETIRE_"+toString(i)+"_VAL"          ,
+			           dest,"out_RETIRE_"+toString(i)+"_RAT_VAL"      );
+	  COMPONENT_MAP(_component,src ,"out_RETIRE_"+toString(i)+"_ACK"          ,
+		                   dest, "in_RETIRE_"+toString(i)+"_RAT_ACK"      );
+
+	  dest = _name+"_stat_list_unit";
+	  COMPONENT_MAP(_component,src ,"out_RETIRE_"+toString(i)+"_RESTORE_RD_PHY_OLD",
+		                   dest, "in_RETIRE_"+toString(i)+"_RESTORE_RD_PHY_OLD");
+	  COMPONENT_MAP(_component,src ,"out_RETIRE_"+toString(i)+"_RESTORE_RE_PHY_OLD",
+		                   dest, "in_RETIRE_"+toString(i)+"_RESTORE_RE_PHY_OLD");
+	}
+    }
     
+    // ===================================================================
+    // =====[ free_list_unit ]============================================
+    // ===================================================================
+    {
+      src = _name+"_free_list_unit";
+      log_printf(INFO,Core,FUNCTION,_("Instance : %s"),src.c_str());
+	   
+      {
+	dest = _name;
+#ifdef POSITION
+	_component->interface_map (src ,"",
+				   dest,"");
+#endif
+	PORT_MAP(_component,src , "in_CLOCK" ,dest, "in_CLOCK");
+	PORT_MAP(_component,src , "in_NRESET",dest, "in_NRESET");
+      }
+
+      // ~~~~~[ interface : "pop" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+      for (uint32_t i=0; i<_param->_nb_inst_insert; i++)
+	{
+	  dest = _name;
+#ifdef POSITION
+	  _component->interface_map (src ,"pop_"+toString(i)
+				     dest,"rename_"+toString(i));
+#endif
+	  
+	  PORT_MAP(_component,src , "in_POP_"+toString(i)+"_GPR_VAL"    ,
+		              dest,"in_RENAME_"+toString(i)+"_WRITE_RD");
+	  PORT_MAP(_component,src , "in_POP_"+toString(i)+"_SPR_VAL"    ,
+		              dest,"in_RENAME_"+toString(i)+"_WRITE_RE");
+
+	  dest = _name+"_register_translation_unit_glue";
+	  COMPONENT_MAP(_component,src , "in_POP_"+toString(i)+"_VAL" ,
+			           dest,"out_INSERT_"+toString(i)+"_FREE_LIST_VAL" );
+	  COMPONENT_MAP(_component,src ,"out_POP_"+toString(i)+"_ACK" ,
+		                   dest, "in_INSERT_"+toString(i)+"_FREE_LIST_ACK" );
+
+	  dest = _name+"_dependency_checking_unit";
+
+	  COMPONENT_MAP(_component,src ,"out_POP_"+toString(i)+"_GPR_NUM_REG",
+			           dest, "in_RENAME_IN_"+toString(i)+"_NUM_REG_RD_PHY_NEW");
+	  COMPONENT_MAP(_component,src ,"out_POP_"+toString(i)+"_SPR_NUM_REG",
+			           dest, "in_RENAME_IN_"+toString(i)+"_NUM_REG_RE_PHY_NEW");
+	}
+
+      // ~~~~~[ interface : "push_gpr" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+      // ~~~~~[ interface : "push_spr" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+      for (uint32_t i=0; i<_param->_nb_reg_free; i++)
+	{
+	  dest = _name+"_stat_list_unit";
+#ifdef POSITION
+	  _component->interface_map (src ,"push_gpr_"+toString(i)
+				     dest,"push_gpr_"+toString(i));
+#endif
+
+	  COMPONENT_MAP(_component,src , "in_PUSH_GPR_"+toString(i)+"_VAL"    ,
+			           dest,"out_PUSH_GPR_"+toString(i)+"_VAL"    );
+	  COMPONENT_MAP(_component,src ,"out_PUSH_GPR_"+toString(i)+"_ACK"    ,
+		                   dest, "in_PUSH_GPR_"+toString(i)+"_ACK"    );
+	  COMPONENT_MAP(_component,src , "in_PUSH_GPR_"+toString(i)+"_NUM_REG",
+		                   dest,"out_PUSH_GPR_"+toString(i)+"_NUM_REG");
+
+#ifdef POSITION
+	  _component->interface_map (src ,"push_spr_"+toString(i)
+				     dest,"push_spr_"+toString(i));
+#endif
+
+	  COMPONENT_MAP(_component,src , "in_PUSH_SPR_"+toString(i)+"_VAL"    ,
+		                   dest,"out_PUSH_SPR_"+toString(i)+"_VAL"    );
+	  COMPONENT_MAP(_component,src ,"out_PUSH_SPR_"+toString(i)+"_ACK"    ,
+		                   dest, "in_PUSH_SPR_"+toString(i)+"_ACK"    );
+	  COMPONENT_MAP(_component,src , "in_PUSH_SPR_"+toString(i)+"_NUM_REG",
+		                   dest,"out_PUSH_SPR_"+toString(i)+"_NUM_REG");
+	}
+    }
+
+
     // ===================================================================
     // =====[ dependency_checking_unit ]==================================
@@ -231,5 +440,5 @@
     {
       src = _name+"_dependency_checking_unit";
-      std::cout << "Instance : " << src << std::endl;
+      log_printf(INFO,Core,FUNCTION,_("Instance : %s"),src.c_str());
 	   
       {
@@ -252,6 +461,6 @@
 #endif
 
-// 	  PORT_MAP(_component,src , "in_RENAME_IN_"+toString(i)+"_VAL"               ,dest,);
-// 	  PORT_MAP(_component,src ,"out_RENAME_IN_"+toString(i)+"_ACK"               ,dest,);
+// // 	  PORT_MAP(_component,src , "in_RENAME_IN_"+toString(i)+"_VAL"               ,dest,);
+// // 	  PORT_MAP(_component,src ,"out_RENAME_IN_"+toString(i)+"_ACK"               ,dest,);
 	  if (_param->_have_port_front_end_id)
 	  PORT_MAP(_component,src , "in_RENAME_IN_"+toString(i)+"_FRONT_END_ID"      ,
@@ -280,24 +489,13 @@
 	  PORT_MAP(_component,src , "in_RENAME_IN_"+toString(i)+"_NUM_REG_RE_LOG"    ,
 	  	              dest, "in_RENAME_"+toString(i)+"_NUM_REG_RE_LOG"    );
-
-	  dest = _name+"_register_address_translation_unit";
 	  
-	  PORT_MAP(_component,src , "in_RENAME_IN_"+toString(i)+"_NUM_REG_RA_PHY"    ,
-		              dest,"out_RENAME_"+toString(i)+"_NUM_REG_RA_PHY"    );
-	  PORT_MAP(_component,src , "in_RENAME_IN_"+toString(i)+"_NUM_REG_RB_PHY"    ,
-		              dest,"out_RENAME_"+toString(i)+"_NUM_REG_RB_PHY"    );
-	  PORT_MAP(_component,src , "in_RENAME_IN_"+toString(i)+"_NUM_REG_RC_PHY"    ,
-		              dest,"out_RENAME_"+toString(i)+"_NUM_REG_RC_PHY"    );
-	  PORT_MAP(_component,src , "in_RENAME_IN_"+toString(i)+"_NUM_REG_RD_PHY_OLD",
-		              dest,"out_RENAME_"+toString(i)+"_NUM_REG_RD_PHY_OLD");
-	  PORT_MAP(_component,src , "in_RENAME_IN_"+toString(i)+"_NUM_REG_RE_PHY_OLD",
-		              dest,"out_RENAME_"+toString(i)+"_NUM_REG_RE_PHY_OLD");
+	  // in_RENAME_IN_NUM_REG_RA_PHY     - register_address_translation_unit
+	  // in_RENAME_IN_NUM_REG_RB_PHY     - register_address_translation_unit
+	  // in_RENAME_IN_NUM_REG_RC_PHY     - register_address_translation_unit
+	  // in_RENAME_IN_NUM_REG_RD_PHY_OLD - register_address_translation_unit
+	  // in_RENAME_IN_NUM_REG_RE_PHY_OLD - register_address_translation_unit
 	  
-	  dest = _name+"_free_list_unit";
-	  
-	  PORT_MAP(_component,src , "in_RENAME_IN_"+toString(i)+"_NUM_REG_RD_PHY_NEW",
-		              dest,"out_POP_"+toString(i)+"_GPR_NUM_REG");
-	  PORT_MAP(_component,src , "in_RENAME_IN_"+toString(i)+"_NUM_REG_RE_PHY_NEW",
-		              dest,"out_POP_"+toString(i)+"_SPR_NUM_REG");
+	  // in_RENAME_IN_NUM_REG_RD_PHY_NEW - free_list_unit
+	  // in_RENAME_IN_NUM_REG_RE_PHY_NEW - free_list_unit
 	}
 
@@ -311,8 +509,4 @@
 #endif
 
-// 	  PORT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_VAL"               ,
-// 		              dest,"out_INSERT_"+toString(i)+"_VAL"               );
-// 	  PORT_MAP(_component,src , "in_RENAME_OUT_"+toString(i)+"_ACK"               ,
-// 		              dest, "in_INSERT_"+toString(i)+"_ACK"               );
 	  if (_param->_have_port_front_end_id)
 	  PORT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_FRONT_END_ID"      ,
@@ -321,47 +515,55 @@
 	  PORT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_CONTEXT_ID"        ,
 		              dest,"out_INSERT_"+toString(i)+"_CONTEXT_ID"        );
-	  PORT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_READ_RA"           ,
-		              dest,"out_INSERT_"+toString(i)+"_READ_RA"           );
 	  PORT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RA_LOG"    ,
 		              dest,"out_INSERT_"+toString(i)+"_NUM_REG_RA_LOG"    );
-	  PORT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RA_PHY"    ,
-		              dest,"out_INSERT_"+toString(i)+"_NUM_REG_RA_PHY"    );
-	  PORT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_READ_RB"           ,
-		              dest,"out_INSERT_"+toString(i)+"_READ_RB"           );
 	  PORT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RB_LOG"    ,
 		              dest,"out_INSERT_"+toString(i)+"_NUM_REG_RB_LOG"    );
-	  PORT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RB_PHY"    ,
-		              dest,"out_INSERT_"+toString(i)+"_NUM_REG_RB_PHY"    );
-	  PORT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_READ_RC"           ,
-		              dest,"out_INSERT_"+toString(i)+"_READ_RC"           );
 	  PORT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RC_LOG"    ,
 		              dest,"out_INSERT_"+toString(i)+"_NUM_REG_RC_LOG"    );
-	  PORT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RC_PHY"    ,
-		              dest,"out_INSERT_"+toString(i)+"_NUM_REG_RC_PHY"    );
-	  PORT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_WRITE_RD"          ,
-		              dest,"out_INSERT_"+toString(i)+"_WRITE_RD"          );
-	  PORT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RD_LOG"    ,
-		              dest,"out_INSERT_"+toString(i)+"_NUM_REG_RD_LOG"    );
-	  PORT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RD_PHY_OLD",
-		              dest,"out_INSERT_"+toString(i)+"_NUM_REG_RD_PHY_OLD");
-	  PORT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RD_PHY_NEW",
-		              dest,"out_INSERT_"+toString(i)+"_NUM_REG_RD_PHY_NEW");
-	  PORT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_WRITE_RE"          ,
-		              dest,"out_INSERT_"+toString(i)+"_WRITE_RE"          );
-	  PORT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RE_LOG"    ,
-		              dest,"out_INSERT_"+toString(i)+"_NUM_REG_RE_LOG"    );
-	  PORT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RE_PHY_OLD",
-		              dest,"out_INSERT_"+toString(i)+"_NUM_REG_RE_PHY_OLD");
-	  PORT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RE_PHY_NEW",
-		              dest,"out_INSERT_"+toString(i)+"_NUM_REG_RE_PHY_NEW");
-	}
+
+// 	  PORT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_VAL"               ,
+// 		              dest,"out_INSERT_"+toString(i)+"_VAL"               );
+// 	  PORT_MAP(_component,src , "in_RENAME_OUT_"+toString(i)+"_ACK"               ,
+// 		              dest, "in_INSERT_"+toString(i)+"_ACK"               );
+
+	  dest = _name+"_register_translation_unit_glue";
+
+	  COMPONENT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_READ_RA"           ,
+			           dest, "in_INSERT_"+toString(i)+"_DEPENDENCY_CHECKING_READ_RA"           );
+	  COMPONENT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RA_PHY"    ,
+		                   dest, "in_INSERT_"+toString(i)+"_DEPENDENCY_CHECKING_NUM_REG_RA_PHY"    );
+	  COMPONENT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_READ_RB"           ,
+		                   dest, "in_INSERT_"+toString(i)+"_DEPENDENCY_CHECKING_READ_RB"           );
+	  COMPONENT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RB_PHY"    ,
+		                   dest, "in_INSERT_"+toString(i)+"_DEPENDENCY_CHECKING_NUM_REG_RB_PHY"    );
+	  COMPONENT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_READ_RC"           ,
+		                   dest, "in_INSERT_"+toString(i)+"_DEPENDENCY_CHECKING_READ_RC"           );
+	  COMPONENT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RC_PHY"    ,
+		                   dest, "in_INSERT_"+toString(i)+"_DEPENDENCY_CHECKING_NUM_REG_RC_PHY"    );
+	  COMPONENT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_WRITE_RD"          ,
+		                   dest, "in_INSERT_"+toString(i)+"_DEPENDENCY_CHECKING_WRITE_RD"          );
+	  COMPONENT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RD_LOG"    ,
+		                   dest, "in_INSERT_"+toString(i)+"_DEPENDENCY_CHECKING_NUM_REG_RD_LOG"    );
+	  COMPONENT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RD_PHY_OLD",
+		                   dest, "in_INSERT_"+toString(i)+"_DEPENDENCY_CHECKING_NUM_REG_RD_PHY_OLD");
+	  COMPONENT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RD_PHY_NEW",
+		                   dest, "in_INSERT_"+toString(i)+"_DEPENDENCY_CHECKING_NUM_REG_RD_PHY_NEW");
+	  COMPONENT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_WRITE_RE"          ,
+		                   dest, "in_INSERT_"+toString(i)+"_DEPENDENCY_CHECKING_WRITE_RE"          );
+	  COMPONENT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RE_LOG"    ,
+		                   dest, "in_INSERT_"+toString(i)+"_DEPENDENCY_CHECKING_NUM_REG_RE_LOG"    );
+	  COMPONENT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RE_PHY_OLD",
+		                   dest, "in_INSERT_"+toString(i)+"_DEPENDENCY_CHECKING_NUM_REG_RE_PHY_OLD");
+	  COMPONENT_MAP(_component,src ,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RE_PHY_NEW",
+		                   dest, "in_INSERT_"+toString(i)+"_DEPENDENCY_CHECKING_NUM_REG_RE_PHY_NEW");
+ 	}
     }
 
     // ===================================================================
-    // =====[ free_list_unit ]============================================
+    // =====[ stat_list_unit ]============================================
     // ===================================================================
     {
-      src = _name+"_free_list_unit";
-      std::cout << "Instance : " << src << std::endl;
+      src = _name+"_stat_list_unit";
+      log_printf(INFO,Core,FUNCTION,_("Instance : %s"),src.c_str());
 	   
       {
@@ -375,243 +577,37 @@
       }
 
-      // ~~~~~[ interface : "pop" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-      for (uint32_t i=0; i<_param->_nb_inst_insert; i++)
-	{
-	  dest = _name;
-#ifdef POSITION
-	  _component->interface_map (src ,"pop_"+toString(i)
-				     dest,"rename_"+toString(i));
-#endif
-	  
-	  PORT_MAP(_component,src , "in_POP_"+toString(i)+"_GPR_VAL"    ,
-		              dest,"in_RENAME_"+toString(i)+"_WRITE_RD");
-	  PORT_MAP(_component,src , "in_POP_"+toString(i)+"_SPR_VAL"    ,
-		              dest,"in_RENAME_"+toString(i)+"_WRITE_RE");
-
-	  dest = _name+"_register_translation_unit_glue";
-	  PORT_MAP(_component,src , "in_POP_"+toString(i)+"_VAL" ,
-		              dest,"out_INSERT_"+toString(i)+"_FREE_LIST_VAL" );
-	  PORT_MAP(_component,src ,"out_POP_"+toString(i)+"_ACK" ,
-		              dest, "in_INSERT_"+toString(i)+"_FREE_LIST_ACK" );
-
-	  dest = _name+"_dependency_checking_unit";
-
-	  PORT_MAP(_component,src ,"out_POP_"+toString(i)+"_GPR_NUM_REG",
-		              dest, "in_RENAME_IN_"+toString(i)+"_NUM_REG_RD_PHY_NEW");
-	  PORT_MAP(_component,src ,"out_POP_"+toString(i)+"_SPR_NUM_REG",
-		              dest, "in_RENAME_IN_"+toString(i)+"_NUM_REG_RE_PHY_NEW");
-	}
-      // ~~~~~[ interface : "push_gpr" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-      // ~~~~~[ interface : "push_spr" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-      for (uint32_t i=0; i<_param->_nb_reg_free; i++)
-	{
-	  dest = _name+"_stat_list_unit";
-#ifdef POSITION
-	  _component->interface_map (src ,"push_gpr_"+toString(i)
-				     dest,"push_gpr_"+toString(i));
-#endif
-
-	  PORT_MAP(_component,src , "in_PUSH_GPR_"+toString(i)+"_VAL"    ,
-		              dest,"out_PUSH_GPR_"+toString(i)+"_VAL"    );
-	  PORT_MAP(_component,src ,"out_PUSH_GPR_"+toString(i)+"_ACK"    ,
-		              dest, "in_PUSH_GPR_"+toString(i)+"_ACK"    );
-	  PORT_MAP(_component,src , "in_PUSH_GPR_"+toString(i)+"_NUM_REG",
-		              dest,"out_PUSH_GPR_"+toString(i)+"_NUM_REG");
-
-#ifdef POSITION
-	  _component->interface_map (src ,"push_spr_"+toString(i)
-				     dest,"push_spr_"+toString(i));
-#endif
-
-	  PORT_MAP(_component,src , "in_PUSH_SPR_"+toString(i)+"_VAL"    ,
-		              dest,"out_PUSH_SPR_"+toString(i)+"_VAL"    );
-	  PORT_MAP(_component,src ,"out_PUSH_SPR_"+toString(i)+"_ACK"    ,
-		              dest, "in_PUSH_SPR_"+toString(i)+"_ACK"    );
-	  PORT_MAP(_component,src , "in_PUSH_SPR_"+toString(i)+"_NUM_REG",
-		              dest,"out_PUSH_SPR_"+toString(i)+"_NUM_REG");
-	}
-    }
-
-    // ===================================================================
-    // =====[ register_address_translation_unit ]=========================
-    // ===================================================================
-    {
-      src = _name+"_register_address_translation_unit";
-      std::cout << "Instance : " << src << std::endl;
-	   
-      {
-	dest = _name;
-#ifdef POSITION
-	_component->interface_map (src ,"",
-				   dest,"");
-#endif
-	PORT_MAP(_component,src , "in_CLOCK" ,dest, "in_CLOCK");
-	PORT_MAP(_component,src , "in_NRESET",dest, "in_NRESET");
-      }
-
-      // ~~~~~[ Interface "rename" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-      for (uint32_t i=0; i<_param->_nb_inst_insert; i++)
-	{
-	  dest = _name;
-#ifdef POSITION
-	  _component->interface_map (src ,"rename_"+toString(i)
-				     dest,"rename_"+toString(i));
-#endif
-	  
-	  PORT_MAP(_component,src , "in_RENAME_"+toString(i)+"_VAL"               ,
-		              dest, "in_RENAME_"+toString(i)+"_VAL"               );
-	  if (_param->_have_port_front_end_id)
-	  PORT_MAP(_component,src , "in_RENAME_"+toString(i)+"_FRONT_END_ID"      ,
-		              dest, "in_RENAME_"+toString(i)+"_FRONT_END_ID"      );
-	  if (_param->_have_port_context_id)
-	  PORT_MAP(_component,src , "in_RENAME_"+toString(i)+"_CONTEXT_ID"        ,
-		              dest, "in_RENAME_"+toString(i)+"_CONTEXT_ID"        );
-	  PORT_MAP(_component,src , "in_RENAME_"+toString(i)+"_NUM_REG_RA_LOG"    ,
-		              dest, "in_RENAME_"+toString(i)+"_NUM_REG_RA_LOG"    );
-	  PORT_MAP(_component,src , "in_RENAME_"+toString(i)+"_NUM_REG_RB_LOG"    ,
-		              dest, "in_RENAME_"+toString(i)+"_NUM_REG_RB_LOG"    );
-	  PORT_MAP(_component,src , "in_RENAME_"+toString(i)+"_NUM_REG_RC_LOG"    ,
-		              dest, "in_RENAME_"+toString(i)+"_NUM_REG_RC_LOG"    );
-	  PORT_MAP(_component,src , "in_RENAME_"+toString(i)+"_NUM_REG_RD_LOG"    ,
-		              dest, "in_RENAME_"+toString(i)+"_NUM_REG_RD_LOG"    );
-	  PORT_MAP(_component,src , "in_RENAME_"+toString(i)+"_NUM_REG_RE_LOG"    ,
-		              dest, "in_RENAME_"+toString(i)+"_NUM_REG_RE_LOG"    );
-
-	  dest = _name+"_register_translation_unit_glue";
-	  PORT_MAP(_component,src ,"out_RENAME_"+toString(i)+"_ACK",
-		              dest, "in_INSERT_"+toString(i)+"_RAT_RENAME_ACK");
-	  
-	  dest = _name+"_dependency_checking_unit";
-	  PORT_MAP(_component,src ,"out_RENAME_"+toString(i)+"_NUM_REG_RA_PHY"    ,
-		              dest, "in_RENAME_IN_"+toString(i)+"_NUM_REG_RA_PHY"    );
-	  PORT_MAP(_component,src ,"out_RENAME_"+toString(i)+"_NUM_REG_RB_PHY"    ,
-		              dest, "in_RENAME_IN_"+toString(i)+"_NUM_REG_RB_PHY"    );
-	  PORT_MAP(_component,src ,"out_RENAME_"+toString(i)+"_NUM_REG_RC_PHY"    ,
-		              dest, "in_RENAME_IN_"+toString(i)+"_NUM_REG_RC_PHY"    );
-	  PORT_MAP(_component,src ,"out_RENAME_"+toString(i)+"_NUM_REG_RD_PHY_OLD",
-		              dest, "in_RENAME_IN_"+toString(i)+"_NUM_REG_RD_PHY_OLD");
-	  PORT_MAP(_component,src ,"out_RENAME_"+toString(i)+"_NUM_REG_RE_PHY_OLD",
-		              dest, "in_RENAME_IN_"+toString(i)+"_NUM_REG_RE_PHY_OLD");
-	}
-
       // ~~~~~[ Interface "insert" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       for (uint32_t i=0; i<_param->_nb_inst_insert; i++)
 	{
-	  dest = _name+"_dependency_checking_unit";
-#ifdef POSITION
-	  _component->interface_map (src ,"rename_"+toString(i)
-				     dest,"rename_in_"+toString(i));
-#endif
-
-	  PORT_MAP(_component,src , "in_INSERT_"+toString(i)+"_WRITE_RD"      ,
-		              dest,"out_RENAME_OUT_"+toString(i)+"_WRITE_RD"      );
-	  PORT_MAP(_component,src , "in_INSERT_"+toString(i)+"_WRITE_RE"      ,
-		              dest,"out_RENAME_OUT_"+toString(i)+"_WRITE_RE"      );
-	  PORT_MAP(_component,src , "in_INSERT_"+toString(i)+"_NUM_REG_RD_LOG",
-		              dest,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RD_LOG");
-	  PORT_MAP(_component,src , "in_INSERT_"+toString(i)+"_NUM_REG_RE_LOG",
-		              dest,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RE_LOG");
-	  PORT_MAP(_component,src , "in_INSERT_"+toString(i)+"_NUM_REG_RD_PHY",
-		              dest,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RD_PHY_OLD");
-	  PORT_MAP(_component,src , "in_INSERT_"+toString(i)+"_NUM_REG_RE_PHY",
-		              dest,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RE_PHY_OLD");
-
 	  dest = _name+"_register_translation_unit_glue";
-	  PORT_MAP(_component,src , "in_INSERT_"+toString(i)+"_VAL",
-		              dest,"out_INSERT_"+toString(i)+"_RAT_INSERT_VAL");
-	  PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_ACK",
-		              dest, "in_INSERT_"+toString(i)+"_RAT_INSERT_ACK");
-	}
-
-      // ~~~~~[ Interface "retire" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-      for (uint32_t i=0; i<_param->_nb_inst_retire; i++)
-	{
-	  dest = _name;
-#ifdef POSITION
-	  _component->interface_map (src ,"retire_"+toString(i)
-				     dest,"retire_"+toString(i));
-#endif
-
-	  if (_param->_have_port_front_end_id)
-	  PORT_MAP(_component,src , "in_RETIRE_"+toString(i)+"_FRONT_END_ID"      ,
-		              dest, "in_RETIRE_"+toString(i)+"_FRONT_END_ID"      );
-	  if (_param->_have_port_context_id)
-	  PORT_MAP(_component,src , "in_RETIRE_"+toString(i)+"_CONTEXT_ID"        ,
-		              dest, "in_RETIRE_"+toString(i)+"_CONTEXT_ID"        );
-	  PORT_MAP(_component,src , "in_RETIRE_"+toString(i)+"_EVENT_STATE"       ,
-		              dest, "in_RETIRE_"+toString(i)+"_EVENT_STATE"       );
-	  PORT_MAP(_component,src , "in_RETIRE_"+toString(i)+"_WRITE_RD"          ,
-		              dest, "in_RETIRE_"+toString(i)+"_WRITE_RD"          );
-	  PORT_MAP(_component,src , "in_RETIRE_"+toString(i)+"_WRITE_RE"          ,
-		              dest, "in_RETIRE_"+toString(i)+"_WRITE_RE"          );
-	  PORT_MAP(_component,src , "in_RETIRE_"+toString(i)+"_NUM_REG_RD_LOG"    ,
-		              dest, "in_RETIRE_"+toString(i)+"_NUM_REG_RD_LOG"    );
-	  PORT_MAP(_component,src , "in_RETIRE_"+toString(i)+"_NUM_REG_RE_LOG"    ,
-		              dest, "in_RETIRE_"+toString(i)+"_NUM_REG_RE_LOG"    );
-	  PORT_MAP(_component,src , "in_RETIRE_"+toString(i)+"_NUM_REG_RD_PHY_OLD",
-		              dest, "in_RETIRE_"+toString(i)+"_NUM_REG_RD_PHY_OLD");
-	  PORT_MAP(_component,src , "in_RETIRE_"+toString(i)+"_NUM_REG_RE_PHY_OLD",
-		              dest, "in_RETIRE_"+toString(i)+"_NUM_REG_RE_PHY_OLD");
-
-	  dest = _name+"_register_translation_unit_glue";
-	  PORT_MAP(_component,src , "in_RETIRE_"+toString(i)+"_VAL"          ,
-		              dest,"out_RETIRE_"+toString(i)+"_RAT_VAL"      );
-	  PORT_MAP(_component,src ,"out_RETIRE_"+toString(i)+"_ACK"          ,
-		              dest, "in_RETIRE_"+toString(i)+"_RAT_ACK"      );
-	}
-    }
-    
-    // ===================================================================
-    // =====[ stat_list_unit ]============================================
-    // ===================================================================
-    {
-      src = _name+"_stat_list_unit";
-      std::cout << "Instance : " << src << std::endl;
-	   
-      {
-	dest = _name;
-#ifdef POSITION
-	_component->interface_map (src ,"",
-				   dest,"");
-#endif
-	PORT_MAP(_component,src , "in_CLOCK" ,dest, "in_CLOCK");
-	PORT_MAP(_component,src , "in_NRESET",dest, "in_NRESET");
-      }
-
-      // ~~~~~[ Interface "insert" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-      for (uint32_t i=0; i<_param->_nb_inst_insert; i++)
-	{
-	  dest = _name+"_dependency_checking_unit";
 #ifdef POSITION
 	  _component->interface_map (src ,"insert_"+toString(i)
-				     dest,"rename_out_"+toString(i));
-#endif
-
-	  PORT_MAP(_component,src , "in_INSERT_"+toString(i)+"_READ_RA"           ,
-		              dest,"out_RENAME_OUT_"+toString(i)+"_READ_RA"           );
-	  PORT_MAP(_component,src , "in_INSERT_"+toString(i)+"_NUM_REG_RA_PHY"    ,
-		              dest,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RA_PHY"    );
-	  PORT_MAP(_component,src , "in_INSERT_"+toString(i)+"_READ_RB"           ,
-		              dest,"out_RENAME_OUT_"+toString(i)+"_READ_RB"           );
-	  PORT_MAP(_component,src , "in_INSERT_"+toString(i)+"_NUM_REG_RB_PHY"    ,
-		              dest,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RB_PHY"    );
-	  PORT_MAP(_component,src , "in_INSERT_"+toString(i)+"_READ_RC"           ,
-		              dest,"out_RENAME_OUT_"+toString(i)+"_READ_RC"           );
-	  PORT_MAP(_component,src , "in_INSERT_"+toString(i)+"_NUM_REG_RC_PHY"    ,
-		              dest,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RC_PHY"    );
-	  PORT_MAP(_component,src , "in_INSERT_"+toString(i)+"_WRITE_RD"          ,
-		              dest,"out_RENAME_OUT_"+toString(i)+"_WRITE_RD"          );
-	  PORT_MAP(_component,src , "in_INSERT_"+toString(i)+"_NUM_REG_RD_PHY_NEW",
-		              dest,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RD_PHY_NEW");
-	  PORT_MAP(_component,src , "in_INSERT_"+toString(i)+"_WRITE_RE"          ,
-		              dest,"out_RENAME_OUT_"+toString(i)+"_WRITE_RE"          );
-	  PORT_MAP(_component,src , "in_INSERT_"+toString(i)+"_NUM_REG_RE_PHY_NEW",
-		              dest,"out_RENAME_OUT_"+toString(i)+"_NUM_REG_RE_PHY_NEW");
-
-	  dest = _name+"_register_translation_unit_glue";
-	  PORT_MAP(_component,src ,  "in_INSERT_"+toString(i)+"_VAL" ,
-		              dest,"out_INSERT_"+toString(i)+"_STAT_LIST_VAL");
-	  PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_ACK" ,
-		              dest, "in_INSERT_"+toString(i)+"_STAT_LIST_ACK" );
+				     dest,"insert_stat_list_"+toString(i));
+#endif
+
+	  COMPONENT_MAP(_component,src ,  "in_INSERT_"+toString(i)+"_VAL" ,
+			           dest,"out_INSERT_"+toString(i)+"_STAT_LIST_VAL");
+	  COMPONENT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_ACK" ,
+		                   dest, "in_INSERT_"+toString(i)+"_STAT_LIST_ACK" );
+	  COMPONENT_MAP(_component,src , "in_INSERT_"+toString(i)+"_READ_RA"           ,
+			           dest,"out_INSERT_"+toString(i)+"_STAT_LIST_READ_RA"           );
+	  COMPONENT_MAP(_component,src , "in_INSERT_"+toString(i)+"_NUM_REG_RA_PHY"    ,
+		                   dest,"out_INSERT_"+toString(i)+"_STAT_LIST_NUM_REG_RA_PHY"    );
+	  COMPONENT_MAP(_component,src , "in_INSERT_"+toString(i)+"_READ_RB"           ,
+		                   dest,"out_INSERT_"+toString(i)+"_STAT_LIST_READ_RB"           );
+	  COMPONENT_MAP(_component,src , "in_INSERT_"+toString(i)+"_NUM_REG_RB_PHY"    ,
+		                   dest,"out_INSERT_"+toString(i)+"_STAT_LIST_NUM_REG_RB_PHY"    );
+	  COMPONENT_MAP(_component,src , "in_INSERT_"+toString(i)+"_READ_RC"           ,
+		                   dest,"out_INSERT_"+toString(i)+"_STAT_LIST_READ_RC"           );
+	  COMPONENT_MAP(_component,src , "in_INSERT_"+toString(i)+"_NUM_REG_RC_PHY"    ,
+		                   dest,"out_INSERT_"+toString(i)+"_STAT_LIST_NUM_REG_RC_PHY"    );
+	  COMPONENT_MAP(_component,src , "in_INSERT_"+toString(i)+"_WRITE_RD"          ,
+		                   dest,"out_INSERT_"+toString(i)+"_STAT_LIST_WRITE_RD"          );
+	  COMPONENT_MAP(_component,src , "in_INSERT_"+toString(i)+"_NUM_REG_RD_PHY_NEW",
+		                   dest,"out_INSERT_"+toString(i)+"_STAT_LIST_NUM_REG_RD_PHY_NEW");
+	  COMPONENT_MAP(_component,src , "in_INSERT_"+toString(i)+"_WRITE_RE"          ,
+		                   dest,"out_INSERT_"+toString(i)+"_STAT_LIST_WRITE_RE"          );
+	  COMPONENT_MAP(_component,src , "in_INSERT_"+toString(i)+"_NUM_REG_RE_PHY_NEW",
+		                   dest,"out_INSERT_"+toString(i)+"_STAT_LIST_NUM_REG_RE_PHY_NEW");
 	}
 
@@ -650,9 +646,12 @@
 		              dest, "in_RETIRE_"+toString(i)+"_NUM_REG_RE_PHY_NEW");
 
+	  // in_RETIRE_RESTORE_RD_PHY_OLD - register_address_translation_unit.out_RETIRE_RESTORE_RD_PHY_OLD
+	  // in_RETIRE_RESTORE_RE_PHY_OLD - register_address_translation_unit.out_RETIRE_RESTORE_RE_PHY_OLD
+
 	  dest = _name+"_register_translation_unit_glue";
-	  PORT_MAP(_component,src , "in_RETIRE_"+toString(i)+"_VAL",
-		              dest,"out_RETIRE_"+toString(i)+"_STAT_LIST_VAL");
-	  PORT_MAP(_component,src ,"out_RETIRE_"+toString(i)+"_ACK",
-		              dest, "in_RETIRE_"+toString(i)+"_STAT_LIST_ACK");
+	  COMPONENT_MAP(_component,src , "in_RETIRE_"+toString(i)+"_VAL",
+		                   dest,"out_RETIRE_"+toString(i)+"_STAT_LIST_VAL");
+	  COMPONENT_MAP(_component,src ,"out_RETIRE_"+toString(i)+"_ACK",
+			           dest, "in_RETIRE_"+toString(i)+"_STAT_LIST_ACK");
 	}
 
@@ -667,10 +666,7 @@
 #endif
 
-	  PORT_MAP(_component,src ,"out_PUSH_GPR_"+toString(i)+"_VAL"    ,
-		              dest, "in_PUSH_GPR_"+toString(i)+"_VAL"    );
-	  PORT_MAP(_component,src , "in_PUSH_GPR_"+toString(i)+"_ACK"    ,
-		              dest,"out_PUSH_GPR_"+toString(i)+"_ACK"    );
-	  PORT_MAP(_component,src ,"out_PUSH_GPR_"+toString(i)+"_NUM_REG",
-		              dest, "in_PUSH_GPR_"+toString(i)+"_NUM_REG");
+	  //out_PUSH_GPR_VAL     - free_list_unit
+	  // in_PUSH_GPR_ACK     - free_list_unit
+	  //out_PUSH_GPR_NUM_REG - free_list_unit
 
 #ifdef POSITION
@@ -679,10 +675,7 @@
 #endif
 
-	  PORT_MAP(_component,src ,"out_PUSH_SPR_"+toString(i)+"_VAL"    ,
-		              dest, "in_PUSH_SPR_"+toString(i)+"_VAL"    );
-	  PORT_MAP(_component,src , "in_PUSH_SPR_"+toString(i)+"_ACK"    ,
-		              dest,"out_PUSH_SPR_"+toString(i)+"_ACK"    );
-	  PORT_MAP(_component,src ,"out_PUSH_SPR_"+toString(i)+"_NUM_REG",
-		              dest, "in_PUSH_SPR_"+toString(i)+"_NUM_REG");
+	  //out_PUSH_SPR_VAL     - free_list_unit
+	  // in_PUSH_SPR_ACK     - free_list_unit
+	  //out_PUSH_SPR_NUM_REG - free_list_unit
 	}
     }
@@ -693,5 +686,5 @@
     {
       src = _name+"_register_translation_unit_glue";
-      std::cout << "Instance : " << src << std::endl;
+      log_printf(INFO,Core,FUNCTION,_("Instance : %s"),src.c_str());
 	   
       {
@@ -723,23 +716,73 @@
 		              dest, "in_INSERT_"+toString(i)+"_ACK"    );
 
-	  dest = _name+"_register_address_translation_unit";
-	  PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_RAT_INSERT_VAL",
-		              dest, "in_INSERT_"+toString(i)+"_VAL");
-	  PORT_MAP(_component,src , "in_INSERT_"+toString(i)+"_RAT_RENAME_ACK",
-		              dest,"out_RENAME_"+toString(i)+"_ACK");
-	  PORT_MAP(_component,src , "in_INSERT_"+toString(i)+"_RAT_INSERT_ACK",
-		              dest,"out_INSERT_"+toString(i)+"_ACK");
-
-	  dest = _name+"_free_list_unit";
-	  PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_FREE_LIST_VAL" ,
-		              dest, "in_POP_"+toString(i)+"_VAL" );
-	  PORT_MAP(_component,src , "in_INSERT_"+toString(i)+"_FREE_LIST_ACK" ,
-		              dest,"out_POP_"+toString(i)+"_ACK" );
-
-	  dest = _name+"_stat_list_unit";
-	  PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_STAT_LIST_VAL" ,
-		              dest, "in_INSERT_"+toString(i)+"_VAL" );
-	  PORT_MAP(_component,src , "in_INSERT_"+toString(i)+"_STAT_LIST_ACK" ,
-		              dest,"out_INSERT_"+toString(i)+"_ACK" );
+	  PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_READ_RA"           ,
+		              dest,"out_INSERT_"+toString(i)+"_READ_RA"           );
+	  PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_NUM_REG_RA_PHY"    ,
+		              dest,"out_INSERT_"+toString(i)+"_NUM_REG_RA_PHY"    );
+	  PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_READ_RB"           ,
+		              dest,"out_INSERT_"+toString(i)+"_READ_RB"           );
+	  PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_NUM_REG_RB_PHY"    ,
+		              dest,"out_INSERT_"+toString(i)+"_NUM_REG_RB_PHY"    );
+	  PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_READ_RC"           ,
+		              dest,"out_INSERT_"+toString(i)+"_READ_RC"           );
+	  PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_NUM_REG_RC_PHY"    ,
+		              dest,"out_INSERT_"+toString(i)+"_NUM_REG_RC_PHY"    );
+	  PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_WRITE_RD"          ,
+		              dest,"out_INSERT_"+toString(i)+"_WRITE_RD"          );
+	  PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_NUM_REG_RD_LOG"    ,
+		              dest,"out_INSERT_"+toString(i)+"_NUM_REG_RD_LOG"    );
+	  PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_NUM_REG_RD_PHY_OLD",
+		              dest,"out_INSERT_"+toString(i)+"_NUM_REG_RD_PHY_OLD");
+	  PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_NUM_REG_RD_PHY_NEW",
+		              dest,"out_INSERT_"+toString(i)+"_NUM_REG_RD_PHY_NEW");
+	  PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_WRITE_RE"          ,
+		              dest,"out_INSERT_"+toString(i)+"_WRITE_RE"          );
+	  PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_NUM_REG_RE_LOG"    ,
+		              dest,"out_INSERT_"+toString(i)+"_NUM_REG_RE_LOG"    );
+	  PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_NUM_REG_RE_PHY_OLD",
+		              dest,"out_INSERT_"+toString(i)+"_NUM_REG_RE_PHY_OLD");
+	  PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_NUM_REG_RE_PHY_NEW",
+		              dest,"out_INSERT_"+toString(i)+"_NUM_REG_RE_PHY_NEW");
+
+	  // out_INSERT_RAT_INSERT_VAL - register_address_translation_unit
+	  //  in_INSERT_RAT_RENAME_ACK - register_address_translation_unit
+	  //  in_INSERT_RAT_INSERT_ACK - register_address_translation_unit
+	  // out_INSERT_FREE_LIST_VAL  - free_list_unit
+	  //  in_INSERT_FREE_LIST_ACK  - free_list_unit
+	  // out_INSERT_STAT_LIST_VAL  - stat_list_unit
+	  //  in_INSERT_STAT_LIST_ACK  - stat_list_unit
+
+	  //  in_INSERT_DEPENDENCY_CHECKING_READ_RA            - dependency_checking_unit
+	  //  in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RA_PHY     - dependency_checking_unit
+	  //  in_INSERT_DEPENDENCY_CHECKING_READ_RB            - dependency_checking_unit
+	  //  in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RB_PHY     - dependency_checking_unit
+	  //  in_INSERT_DEPENDENCY_CHECKING_READ_RC            - dependency_checking_unit
+	  //  in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RC_PHY     - dependency_checking_unit
+	  //  in_INSERT_DEPENDENCY_CHECKING_WRITE_RD           - dependency_checking_unit
+	  //  in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RD_LOG     - dependency_checking_unit
+	  //  in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RD_PHY_OLD - dependency_checking_unit
+	  //  in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RD_PHY_NEW - dependency_checking_unit
+	  //  in_INSERT_DEPENDENCY_CHECKING_WRITE_RE           - dependency_checking_unit
+	  //  in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RE_LOG     - dependency_checking_unit
+	  //  in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RE_PHY_OLD - dependency_checking_unit
+	  //  in_INSERT_DEPENDENCY_CHECKING_NUM_REG_RE_PHY_NEW - dependency_checking_unit
+
+	  // out_INSERT_STAT_LIST_READ_RA                      - stat_list_unit
+	  // out_INSERT_STAT_LIST_NUM_REG_RA_PHY               - stat_list_unit
+	  // out_INSERT_STAT_LIST_READ_RB                      - stat_list_unit
+	  // out_INSERT_STAT_LIST_NUM_REG_RB_PHY               - stat_list_unit
+	  // out_INSERT_STAT_LIST_READ_RC                      - stat_list_unit
+	  // out_INSERT_STAT_LIST_NUM_REG_RC_PHY               - stat_list_unit
+	  // out_INSERT_STAT_LIST_WRITE_RD                     - stat_list_unit
+	  // out_INSERT_STAT_LIST_NUM_REG_RD_PHY_NEW           - stat_list_unit
+	  // out_INSERT_STAT_LIST_WRITE_RE                     - stat_list_unit
+	  // out_INSERT_STAT_LIST_NUM_REG_RE_PHY_NEW           - stat_list_unit
+
+	  // out_INSERT_RAT_WRITE_RD                           - register_address_translation_unit
+	  // out_INSERT_RAT_NUM_REG_RD_LOG                     - register_address_translation_unit
+	  // out_INSERT_RAT_NUM_REG_RD_PHY_NEW                 - register_address_translation_unit
+	  // out_INSERT_RAT_WRITE_RE                           - register_address_translation_unit
+	  // out_INSERT_RAT_NUM_REG_RE_LOG                     - register_address_translation_unit
+	  // out_INSERT_RAT_NUM_REG_RE_PHY_NEW                 - register_address_translation_unit
 	}
 
@@ -758,15 +801,8 @@
 		              dest,"out_RETIRE_"+toString(i)+"_ACK"          );
 
-	  dest = _name+"_register_address_translation_unit";
-	  PORT_MAP(_component,src ,"out_RETIRE_"+toString(i)+"_RAT_VAL"      ,
-		              dest, "in_RETIRE_"+toString(i)+"_VAL"          );
-	  PORT_MAP(_component,src , "in_RETIRE_"+toString(i)+"_RAT_ACK"      ,
-		              dest,"out_RETIRE_"+toString(i)+"_ACK"          );
-
-	  dest = _name+"_stat_list_unit";
-	  PORT_MAP(_component,src ,"out_RETIRE_"+toString(i)+"_STAT_LIST_VAL",
-		              dest, "in_RETIRE_"+toString(i)+"_VAL");
-	  PORT_MAP(_component,src , "in_RETIRE_"+toString(i)+"_STAT_LIST_ACK",
-		              dest,"out_RETIRE_"+toString(i)+"_ACK");
+	  // out_RETIRE_RAT_VAL       - register_address_translation_unit
+	  //  in_RETIRE_RAT_ACK       - register_address_translation_unit
+	  // out_RETIRE_STAT_LIST_VAL - stat_list_unit
+	  //  in_RETIRE_STAT_LIST_ACK - stat_list_unit
 	}
      }
@@ -774,8 +810,11 @@
 
     // ~~~~~[ Others ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
-     _component->test_map();
-
-#ifdef POSITION
-    _component->generate_file();
+#if (DEBUG_Register_translation_unit == true)
+    _component->test_map();
+#endif
+
+#ifdef POSITION
+    if (usage_is_set(_usage,USE_POSITION))
+      _component->generate_file();
 #endif
 
