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 104)
+++ 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 112)
@@ -59,5 +59,5 @@
     // ~~~~~[ Interface "rename" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     {
-      ALLOC1_INTERFACE("rename",IN,EAST,"Input to rename source logical register", _param->_nb_inst_insert);
+      ALLOC1_INTERFACE_BEGIN("rename",IN,EAST,_("Input to rename source logical register"), _param->_nb_inst_insert);
 
       ALLOC1_VALACK_IN ( in_RENAME_VAL               , VAL);
@@ -75,9 +75,11 @@
       ALLOC1_SIGNAL_OUT(out_RENAME_NUM_REG_RD_PHY_OLD,"num_reg_rd_phy_old",Tgeneral_address_t,_param->_size_general_register);
       ALLOC1_SIGNAL_OUT(out_RENAME_NUM_REG_RE_PHY_OLD,"num_reg_re_phy_old",Tspecial_address_t,_param->_size_special_register);
+
+      ALLOC1_INTERFACE_END(_param->_nb_inst_insert);
     }
     
     // ~~~~~[ Interface "insert" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     {
-      ALLOC1_INTERFACE("insert",IN,NORTH,"Input to rename destination logical register", _param->_nb_inst_insert);
+      ALLOC1_INTERFACE_BEGIN("insert",IN,NORTH,_("Input to rename destination logical register"), _param->_nb_inst_insert);
       
       ALLOC1_VALACK_IN ( in_INSERT_VAL           ,VAL);
@@ -91,9 +93,11 @@
       ALLOC1_SIGNAL_IN ( in_INSERT_NUM_REG_RD_PHY,"num_reg_rd_phy",Tgeneral_address_t,_param->_size_general_register);
       ALLOC1_SIGNAL_IN ( in_INSERT_NUM_REG_RE_PHY,"num_reg_re_phy",Tspecial_address_t,_param->_size_special_register);
+
+      ALLOC1_INTERFACE_END(_param->_nb_inst_insert);
     }
     
     // ~~~~~[ Interface "retire" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     {
-      ALLOC1_INTERFACE("retire",IN,NORTH,"Input to update on event", _param->_nb_inst_retire);
+      ALLOC1_INTERFACE_BEGIN("retire",IN,NORTH,_("Input to update on event"), _param->_nb_inst_retire);
 
       ALLOC1_VALACK_IN ( in_RETIRE_VAL               ,VAL);
@@ -109,13 +113,18 @@
       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);
+      ALLOC1_SIGNAL_OUT(out_RETIRE_RESTORE           ,"restore"           ,Tcontrol_t        ,1);
+
+      ALLOC1_INTERFACE_END(_param->_nb_inst_retire);
     }
 
     // ~~~~~[ Interface : "retire_event" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     {
-      ALLOC2_INTERFACE("retire_event", IN,NORTH, _("Retire event"), _param->_nb_front_end, _param->_nb_context[it1]);
+      ALLOC2_INTERFACE_BEGIN("retire_event", IN,NORTH, _("Retire event"), _param->_nb_front_end, _param->_nb_context[it1]);
 
       _ALLOC2_VALACK_IN ( in_RETIRE_EVENT_VAL        ,VAL,_param->_nb_front_end, _param->_nb_context[it1]);
       _ALLOC2_VALACK_OUT(out_RETIRE_EVENT_ACK        ,ACK,_param->_nb_front_end, _param->_nb_context[it1]);
       _ALLOC2_SIGNAL_IN ( in_RETIRE_EVENT_STATE      ,"state"             ,Tevent_state_t    ,_param->_size_event_state, _param->_nb_front_end, _param->_nb_context[it1]);
+
+      ALLOC2_INTERFACE_END(_param->_nb_front_end, _param->_nb_context[it1]);
     }
 
@@ -127,30 +136,13 @@
     ALLOC2(internal_RETIRE_EVENT_ACK ,Tcontrol_t,_param->_nb_front_end,_param->_nb_context[it1]);
 
-    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];
+    ALLOC3(rat_gpr                      ,Tgeneral_address_t,_param->_nb_front_end,_param->_nb_context[it1],_param->_nb_general_register_logic);
+    ALLOC3(rat_spr                      ,Tspecial_address_t,_param->_nb_front_end,_param->_nb_context[it1],_param->_nb_special_register_logic);
+    ALLOC3(rat_gpr_update_table         ,bool              ,_param->_nb_front_end,_param->_nb_context[it1],_param->_nb_general_register_logic);
+    ALLOC3(rat_spr_update_table         ,bool              ,_param->_nb_front_end,_param->_nb_context[it1],_param->_nb_special_register_logic);
+    ALLOC3(internal_rat_gpr_update_table,bool              ,_param->_nb_front_end,_param->_nb_context[it1],_param->_nb_general_register_logic);
+    ALLOC3(internal_rat_spr_update_table,bool              ,_param->_nb_front_end,_param->_nb_context[it1],_param->_nb_special_register_logic);
 
-    for (uint32_t i=0; i<_param->_nb_front_end; 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_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];
-	  }
-      }
+    ALLOC1(internal_RETIRE_RESTORE_RD_PHY_OLD,Tcontrol_t,_param->_nb_inst_retire);
+    ALLOC1(internal_RETIRE_RESTORE_RE_PHY_OLD,Tcontrol_t,_param->_nb_inst_retire);
       }
 
