Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/src/Register_translation_unit_deallocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/src/Register_translation_unit_deallocation.cpp	(revision 137)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/src/Register_translation_unit_deallocation.cpp	(revision 139)
@@ -29,72 +29,79 @@
 	delete    in_NRESET;
 
-        DELETE1_SIGNAL( in_RENAME_VAL           ,_param->_nb_inst_insert,1);
-        DELETE1_SIGNAL(out_RENAME_ACK           ,_param->_nb_inst_insert,1);
-        DELETE1_SIGNAL( in_RENAME_FRONT_END_ID  ,_param->_nb_inst_insert,_param->_size_front_end_id          );
-        DELETE1_SIGNAL( in_RENAME_CONTEXT_ID    ,_param->_nb_inst_insert,_param->_size_context_id            );
-        DELETE1_SIGNAL( in_RENAME_READ_RA       ,_param->_nb_inst_insert,1                                   );
-        DELETE1_SIGNAL( in_RENAME_NUM_REG_RA_LOG,_param->_nb_inst_insert,_param->_size_general_register_logic);
-        DELETE1_SIGNAL( in_RENAME_READ_RB       ,_param->_nb_inst_insert,1                                   );
-        DELETE1_SIGNAL( in_RENAME_NUM_REG_RB_LOG,_param->_nb_inst_insert,_param->_size_general_register_logic);
-        DELETE1_SIGNAL( in_RENAME_READ_RC       ,_param->_nb_inst_insert,1                                   );
-        DELETE1_SIGNAL( in_RENAME_NUM_REG_RC_LOG,_param->_nb_inst_insert,_param->_size_special_register_logic);
-        DELETE1_SIGNAL( in_RENAME_WRITE_RD      ,_param->_nb_inst_insert,1                                   );
-        DELETE1_SIGNAL( in_RENAME_NUM_REG_RD_LOG,_param->_nb_inst_insert,_param->_size_general_register_logic);
-        DELETE1_SIGNAL( in_RENAME_WRITE_RE      ,_param->_nb_inst_insert,1                                   );
-        DELETE1_SIGNAL( in_RENAME_NUM_REG_RE_LOG,_param->_nb_inst_insert,_param->_size_special_register_logic);
+        DELETE1_SIGNAL     ( in_RENAME_VAL           ,_param->_nb_inst_insert,1);
+        DELETE1_SIGNAL     (out_RENAME_ACK           ,_param->_nb_inst_insert,1);
+        DELETE1_SIGNAL     ( in_RENAME_FRONT_END_ID  ,_param->_nb_inst_insert,_param->_size_front_end_id          );
+        DELETE1_SIGNAL     ( in_RENAME_CONTEXT_ID    ,_param->_nb_inst_insert,_param->_size_context_id            );
+        DELETE1_SIGNAL_COND( in_RENAME_DEPTH         ,_param->_nb_inst_insert,_param->_size_depth                 ,_param->_rat_scheme == RAT_DEPTH_SAVE);
+        DELETE1_SIGNAL     ( in_RENAME_SAVE_RAT      ,_param->_nb_inst_insert,1                                   );
+        DELETE1_SIGNAL     ( in_RENAME_READ_RA       ,_param->_nb_inst_insert,1                                   );
+        DELETE1_SIGNAL     ( in_RENAME_NUM_REG_RA_LOG,_param->_nb_inst_insert,_param->_size_general_register_logic);
+        DELETE1_SIGNAL     ( in_RENAME_READ_RB       ,_param->_nb_inst_insert,1                                   );
+        DELETE1_SIGNAL     ( in_RENAME_NUM_REG_RB_LOG,_param->_nb_inst_insert,_param->_size_general_register_logic);
+        DELETE1_SIGNAL     ( in_RENAME_READ_RC       ,_param->_nb_inst_insert,1                                   );
+        DELETE1_SIGNAL     ( in_RENAME_NUM_REG_RC_LOG,_param->_nb_inst_insert,_param->_size_special_register_logic);
+        DELETE1_SIGNAL     ( in_RENAME_WRITE_RD      ,_param->_nb_inst_insert,1                                   );
+        DELETE1_SIGNAL     ( in_RENAME_NUM_REG_RD_LOG,_param->_nb_inst_insert,_param->_size_general_register_logic);
+        DELETE1_SIGNAL     ( in_RENAME_WRITE_RE      ,_param->_nb_inst_insert,1                                   );
+        DELETE1_SIGNAL     ( in_RENAME_NUM_REG_RE_LOG,_param->_nb_inst_insert,_param->_size_special_register_logic);
+                           
+        DELETE1_SIGNAL     (out_INSERT_VAL               ,_param->_nb_inst_insert,1);
+        DELETE1_SIGNAL     ( in_INSERT_ACK               ,_param->_nb_inst_insert,1);
+//      DELETE1_SIGNAL     (out_INSERT_FRONT_END_ID      ,_param->_nb_inst_insert,_param->_size_front_end_id          );
+//      DELETE1_SIGNAL     (out_INSERT_CONTEXT_ID        ,_param->_nb_inst_insert,_param->_size_context_id            );
+        DELETE1_SIGNAL     (out_INSERT_READ_RA           ,_param->_nb_inst_insert,1                                   );
+#ifdef DEBUG               
+        DELETE1_SIGNAL     (out_INSERT_NUM_REG_RA_LOG    ,_param->_nb_inst_insert,_param->_size_general_register_logic);
+#endif                     
+        DELETE1_SIGNAL     (out_INSERT_NUM_REG_RA_PHY    ,_param->_nb_inst_insert,_param->_size_general_register      );
+        DELETE1_SIGNAL     (out_INSERT_READ_RB           ,_param->_nb_inst_insert,1                                   );
+#ifdef DEBUG               
+        DELETE1_SIGNAL     (out_INSERT_NUM_REG_RB_LOG    ,_param->_nb_inst_insert,_param->_size_general_register_logic);
+#endif                     
+        DELETE1_SIGNAL     (out_INSERT_NUM_REG_RB_PHY    ,_param->_nb_inst_insert,_param->_size_general_register      );
+        DELETE1_SIGNAL     (out_INSERT_READ_RC           ,_param->_nb_inst_insert,1                                   );
+#ifdef DEBUG               
+        DELETE1_SIGNAL     (out_INSERT_NUM_REG_RC_LOG    ,_param->_nb_inst_insert,_param->_size_special_register_logic);
+#endif                     
+        DELETE1_SIGNAL     (out_INSERT_NUM_REG_RC_PHY    ,_param->_nb_inst_insert,_param->_size_special_register      );
+        DELETE1_SIGNAL     (out_INSERT_WRITE_RD          ,_param->_nb_inst_insert,1                                   );
+        DELETE1_SIGNAL     (out_INSERT_NUM_REG_RD_LOG    ,_param->_nb_inst_insert,_param->_size_general_register_logic);
+        DELETE1_SIGNAL     (out_INSERT_NUM_REG_RD_PHY_OLD,_param->_nb_inst_insert,_param->_size_general_register      );
+        DELETE1_SIGNAL     (out_INSERT_NUM_REG_RD_PHY_NEW,_param->_nb_inst_insert,_param->_size_general_register      );
+        DELETE1_SIGNAL     (out_INSERT_WRITE_RE          ,_param->_nb_inst_insert,1                                   );
+        DELETE1_SIGNAL     (out_INSERT_NUM_REG_RE_LOG    ,_param->_nb_inst_insert,_param->_size_special_register_logic);
+        DELETE1_SIGNAL     (out_INSERT_NUM_REG_RE_PHY_OLD,_param->_nb_inst_insert,_param->_size_special_register      );
+        DELETE1_SIGNAL     (out_INSERT_NUM_REG_RE_PHY_NEW,_param->_nb_inst_insert,_param->_size_special_register      );
+                           
+        DELETE1_SIGNAL     ( in_RETIRE_VAL               ,_param->_nb_inst_retire,1);
+        DELETE1_SIGNAL     (out_RETIRE_ACK               ,_param->_nb_inst_retire,1);
+        DELETE1_SIGNAL     ( in_RETIRE_FRONT_END_ID      ,_param->_nb_inst_retire,_param->_size_front_end_id          );
+        DELETE1_SIGNAL     ( in_RETIRE_CONTEXT_ID        ,_param->_nb_inst_retire,_param->_size_context_id            );
+//      DELETE1_SIGNAL     ( in_RETIRE_READ_RA           ,_param->_nb_inst_retire,1                                   );
+//      DELETE1_SIGNAL     ( in_RETIRE_NUM_REG_RA_PHY    ,_param->_nb_inst_retire,_param->_size_general_register      );
+//      DELETE1_SIGNAL     ( in_RETIRE_READ_RB           ,_param->_nb_inst_retire,1                                   );
+//      DELETE1_SIGNAL     ( in_RETIRE_NUM_REG_RB_PHY    ,_param->_nb_inst_retire,_param->_size_general_register      );
+//      DELETE1_SIGNAL     ( in_RETIRE_READ_RC           ,_param->_nb_inst_retire,1                                   );
+//      DELETE1_SIGNAL     ( in_RETIRE_NUM_REG_RC_PHY    ,_param->_nb_inst_retire,_param->_size_special_register      );
+        DELETE1_SIGNAL     ( in_RETIRE_WRITE_RD          ,_param->_nb_inst_retire,1                                   );
+        DELETE1_SIGNAL     ( in_RETIRE_NUM_REG_RD_LOG    ,_param->_nb_inst_retire,_param->_size_general_register_logic);
+        DELETE1_SIGNAL     ( in_RETIRE_NUM_REG_RD_PHY_OLD,_param->_nb_inst_retire,_param->_size_general_register      );
+        DELETE1_SIGNAL     ( in_RETIRE_NUM_REG_RD_PHY_NEW,_param->_nb_inst_retire,_param->_size_general_register      );
+        DELETE1_SIGNAL     ( in_RETIRE_WRITE_RE          ,_param->_nb_inst_retire,1                                   );
+        DELETE1_SIGNAL     ( in_RETIRE_NUM_REG_RE_LOG    ,_param->_nb_inst_retire,_param->_size_special_register_logic);
+        DELETE1_SIGNAL     ( in_RETIRE_NUM_REG_RE_PHY_OLD,_param->_nb_inst_retire,_param->_size_special_register      );
+        DELETE1_SIGNAL     ( in_RETIRE_NUM_REG_RE_PHY_NEW,_param->_nb_inst_retire,_param->_size_special_register      );
+        DELETE1_SIGNAL     ( in_RETIRE_RESTORE              ,_param->_nb_inst_retire,1);
+        DELETE1_SIGNAL     ( in_RETIRE_RESTORE_RD_PHY_OLD   ,_param->_nb_inst_retire,1);
+        DELETE1_SIGNAL     ( in_RETIRE_RESTORE_RE_PHY_OLD   ,_param->_nb_inst_retire,1);
 
-        DELETE1_SIGNAL(out_INSERT_VAL               ,_param->_nb_inst_insert,1);
-        DELETE1_SIGNAL( in_INSERT_ACK               ,_param->_nb_inst_insert,1);
-//      DELETE1_SIGNAL(out_INSERT_FRONT_END_ID      ,_param->_nb_inst_insert,_param->_size_front_end_id          );
-//      DELETE1_SIGNAL(out_INSERT_CONTEXT_ID        ,_param->_nb_inst_insert,_param->_size_context_id            );
-        DELETE1_SIGNAL(out_INSERT_READ_RA           ,_param->_nb_inst_insert,1                                   );
-#ifdef DEBUG
-        DELETE1_SIGNAL(out_INSERT_NUM_REG_RA_LOG    ,_param->_nb_inst_insert,_param->_size_general_register_logic);
-#endif
-        DELETE1_SIGNAL(out_INSERT_NUM_REG_RA_PHY    ,_param->_nb_inst_insert,_param->_size_general_register      );
-        DELETE1_SIGNAL(out_INSERT_READ_RB           ,_param->_nb_inst_insert,1                                   );
-#ifdef DEBUG
-        DELETE1_SIGNAL(out_INSERT_NUM_REG_RB_LOG    ,_param->_nb_inst_insert,_param->_size_general_register_logic);
-#endif
-        DELETE1_SIGNAL(out_INSERT_NUM_REG_RB_PHY    ,_param->_nb_inst_insert,_param->_size_general_register      );
-        DELETE1_SIGNAL(out_INSERT_READ_RC           ,_param->_nb_inst_insert,1                                   );
-#ifdef DEBUG
-        DELETE1_SIGNAL(out_INSERT_NUM_REG_RC_LOG    ,_param->_nb_inst_insert,_param->_size_special_register_logic);
-#endif
-        DELETE1_SIGNAL(out_INSERT_NUM_REG_RC_PHY    ,_param->_nb_inst_insert,_param->_size_special_register      );
-        DELETE1_SIGNAL(out_INSERT_WRITE_RD          ,_param->_nb_inst_insert,1                                   );
-        DELETE1_SIGNAL(out_INSERT_NUM_REG_RD_LOG    ,_param->_nb_inst_insert,_param->_size_general_register_logic);
-        DELETE1_SIGNAL(out_INSERT_NUM_REG_RD_PHY_OLD,_param->_nb_inst_insert,_param->_size_general_register      );
-        DELETE1_SIGNAL(out_INSERT_NUM_REG_RD_PHY_NEW,_param->_nb_inst_insert,_param->_size_general_register      );
-        DELETE1_SIGNAL(out_INSERT_WRITE_RE          ,_param->_nb_inst_insert,1                                   );
-        DELETE1_SIGNAL(out_INSERT_NUM_REG_RE_LOG    ,_param->_nb_inst_insert,_param->_size_special_register_logic);
-        DELETE1_SIGNAL(out_INSERT_NUM_REG_RE_PHY_OLD,_param->_nb_inst_insert,_param->_size_special_register      );
-        DELETE1_SIGNAL(out_INSERT_NUM_REG_RE_PHY_NEW,_param->_nb_inst_insert,_param->_size_special_register      );
-
-        DELETE1_SIGNAL( in_RETIRE_VAL               ,_param->_nb_inst_retire,1);
-        DELETE1_SIGNAL(out_RETIRE_ACK               ,_param->_nb_inst_retire,1);
-        DELETE1_SIGNAL( in_RETIRE_FRONT_END_ID      ,_param->_nb_inst_retire,_param->_size_front_end_id          );
-        DELETE1_SIGNAL( in_RETIRE_CONTEXT_ID        ,_param->_nb_inst_retire,_param->_size_context_id            );
-//         DELETE1_SIGNAL( in_RETIRE_READ_RA           ,_param->_nb_inst_retire,1                                   );
-//         DELETE1_SIGNAL( in_RETIRE_NUM_REG_RA_PHY    ,_param->_nb_inst_retire,_param->_size_general_register      );
-//         DELETE1_SIGNAL( in_RETIRE_READ_RB           ,_param->_nb_inst_retire,1                                   );
-//         DELETE1_SIGNAL( in_RETIRE_NUM_REG_RB_PHY    ,_param->_nb_inst_retire,_param->_size_general_register      );
-//         DELETE1_SIGNAL( in_RETIRE_READ_RC           ,_param->_nb_inst_retire,1                                   );
-//         DELETE1_SIGNAL( in_RETIRE_NUM_REG_RC_PHY    ,_param->_nb_inst_retire,_param->_size_special_register      );
-        DELETE1_SIGNAL( in_RETIRE_WRITE_RD          ,_param->_nb_inst_retire,1                                   );
-        DELETE1_SIGNAL( in_RETIRE_NUM_REG_RD_LOG    ,_param->_nb_inst_retire,_param->_size_general_register_logic);
-        DELETE1_SIGNAL( in_RETIRE_NUM_REG_RD_PHY_OLD,_param->_nb_inst_retire,_param->_size_general_register      );
-        DELETE1_SIGNAL( in_RETIRE_NUM_REG_RD_PHY_NEW,_param->_nb_inst_retire,_param->_size_general_register      );
-        DELETE1_SIGNAL( in_RETIRE_WRITE_RE          ,_param->_nb_inst_retire,1                                   );
-        DELETE1_SIGNAL( in_RETIRE_NUM_REG_RE_LOG    ,_param->_nb_inst_retire,_param->_size_special_register_logic);
-        DELETE1_SIGNAL( in_RETIRE_NUM_REG_RE_PHY_OLD,_param->_nb_inst_retire,_param->_size_special_register      );
-        DELETE1_SIGNAL( in_RETIRE_NUM_REG_RE_PHY_NEW,_param->_nb_inst_retire,_param->_size_special_register      );
-
-        DELETE2_SIGNAL( in_RETIRE_EVENT_VAL            ,_param->_nb_front_end, _param->_nb_context[it1],1);
-        DELETE2_SIGNAL(out_RETIRE_EVENT_ACK            ,_param->_nb_front_end, _param->_nb_context[it1],1);
-        DELETE2_SIGNAL( in_RETIRE_EVENT_STATE          ,_param->_nb_front_end, _param->_nb_context[it1],_param->_size_event_state);
+        DELETE2_SIGNAL     ( in_RETIRE_EVENT_VAL            ,_param->_nb_front_end, _param->_nb_context[it1],1);
+        DELETE2_SIGNAL     (out_RETIRE_EVENT_ACK            ,_param->_nb_front_end, _param->_nb_context[it1],1);
+        DELETE2_SIGNAL     ( in_RETIRE_EVENT_STATE          ,_param->_nb_front_end, _param->_nb_context[it1],_param->_size_event_state);
+        DELETE2_SIGNAL_COND( in_RETIRE_EVENT_TYPE           ,_param->_nb_front_end, _param->_nb_context[it1],_param->_size_event_type,_param->_rat_scheme == RAT_DEPTH_SAVE);
+        DELETE2_SIGNAL_COND( in_RETIRE_EVENT_DEPTH          ,_param->_nb_front_end, _param->_nb_context[it1],_param->_size_depth     ,_param->_rat_scheme == RAT_DEPTH_SAVE);
 
 #ifdef DEBUG_TEST
-        DELETE0_SIGNAL( in_INFO_ROB_EMPTY  ,1);
+        DELETE0_SIGNAL     ( in_INFO_ROB_EMPTY  ,1);
 #endif
       }
