Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_Address_Translation_unit/src/Register_Address_Translation_unit_allocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_Address_Translation_unit/src/Register_Address_Translation_unit_allocation.cpp	(revision 81)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_Address_Translation_unit/src/Register_Address_Translation_unit_allocation.cpp	(revision 88)
@@ -107,34 +107,47 @@
       ALLOC1_SIGNAL_IN ( in_RETIRE_NUM_REG_RD_PHY_OLD,"num_reg_rd_phy_old",Tgeneral_address_t,_param->_size_general_register);
       ALLOC1_SIGNAL_IN ( in_RETIRE_NUM_REG_RE_PHY_OLD,"num_reg_re_phy_old",Tspecial_address_t,_param->_size_special_register);
+      ALLOC1_SIGNAL_OUT(out_RETIRE_RESTORE_RD_PHY_OLD,"restore_rd_phy_old",Tcontrol_t        ,1);
+      ALLOC1_SIGNAL_OUT(out_RETIRE_RESTORE_RE_PHY_OLD,"restore_re_phy_old",Tcontrol_t        ,1);
     }
 
-    // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~    
+    if (usage_is_set(_usage,USE_SYSTEMC))
+      {
     internal_RENAME_ACK = new Tcontrol_t [_param->_nb_inst_insert];
     internal_INSERT_ACK = new Tcontrol_t [_param->_nb_inst_insert];
     internal_RETIRE_ACK = new Tcontrol_t [_param->_nb_inst_retire];
 
-    rat_gpr              = new Tgeneral_address_t ** [_param->_nb_front_end];
-    rat_gpr_update_table = new bool               ** [_param->_nb_front_end];
-    rat_spr              = new Tspecial_address_t ** [_param->_nb_front_end];
-    rat_spr_update_table = new bool               ** [_param->_nb_front_end];
+    rat_gpr                       = new Tgeneral_address_t ** [_param->_nb_front_end];
+    rat_spr                       = new Tspecial_address_t ** [_param->_nb_front_end];
+    rat_gpr_update_table          = new bool               ** [_param->_nb_front_end];
+    rat_spr_update_table          = new bool               ** [_param->_nb_front_end];
+    internal_rat_gpr_update_table = new bool               ** [_param->_nb_front_end];
+    internal_rat_spr_update_table = new bool               ** [_param->_nb_front_end];
 
     for (uint32_t i=0; i<_param->_nb_front_end; i++)
       {
-	rat_gpr              [i] = new Tgeneral_address_t * [_param->_nb_context[i]];
-	rat_gpr_update_table [i] = new bool               * [_param->_nb_context[i]];
-	rat_spr              [i] = new Tspecial_address_t * [_param->_nb_context[i]];
-	rat_spr_update_table [i] = new bool               * [_param->_nb_context[i]];
+	rat_gpr                       [i] = new Tgeneral_address_t * [_param->_nb_context[i]];
+	rat_spr                       [i] = new Tspecial_address_t * [_param->_nb_context[i]];
+	rat_gpr_update_table          [i] = new bool               * [_param->_nb_context[i]];
+	rat_spr_update_table          [i] = new bool               * [_param->_nb_context[i]];
+	internal_rat_gpr_update_table [i] = new bool               * [_param->_nb_context[i]];
+	internal_rat_spr_update_table [i] = new bool               * [_param->_nb_context[i]];
 
 	for (uint32_t j=0; j<_param->_nb_context[i]; j++)
 	  {
-	    rat_gpr              [i][j] = new Tgeneral_address_t [_param->_nb_general_register_logic];
-	    rat_gpr_update_table [i][j] = new bool               [_param->_nb_general_register_logic];
-	    rat_spr              [i][j] = new Tspecial_address_t [_param->_nb_special_register_logic];
-	    rat_spr_update_table [i][j] = new bool               [_param->_nb_special_register_logic];
+	    rat_gpr                       [i][j] = new Tgeneral_address_t [_param->_nb_general_register_logic];
+	    rat_spr                       [i][j] = new Tspecial_address_t [_param->_nb_special_register_logic];
+	    rat_gpr_update_table          [i][j] = new bool               [_param->_nb_general_register_logic];
+	    rat_spr_update_table          [i][j] = new bool               [_param->_nb_special_register_logic];
+	    internal_rat_gpr_update_table [i][j] = new bool               [_param->_nb_general_register_logic];
+	    internal_rat_spr_update_table [i][j] = new bool               [_param->_nb_special_register_logic];
 	  }
       }
+      }
+
+    // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~    
 
 #ifdef POSITION
-    _component->generate_file();
+    if (usage_is_set(_usage,USE_POSITION))
+      _component->generate_file();
 #endif
 
