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_function_one_save_transition.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_transition.cpp	(revision 128)
+++ 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_function_one_save_transition.cpp	(revision 139)
@@ -20,6 +20,6 @@
 
 #undef  FUNCTION
-#define FUNCTION "Register_Address_Translation_unit::transition"
-  void Register_Address_Translation_unit::transition (void)
+#define FUNCTION "Register_Address_Translation_unit::function_one_save_transition"
+  void Register_Address_Translation_unit::function_one_save_transition (void)
   {
     log_begin(Register_Address_Translation_unit,FUNCTION);
@@ -37,5 +37,4 @@
               rat_gpr_speculative_valid [i][j][0] = false;
               rat_gpr_speculative       [i][j][0] = 0    ; // not necessary
-              rat_gpr_update_table      [i][j][0] = false; // not necessary
 
 	      for (uint32_t k=1; k<_param->_nb_general_register_logic; k++)
@@ -44,5 +43,4 @@
                   rat_gpr_speculative_valid  [i][j][k] = false;
                   rat_gpr_speculative        [i][j][k] = 0    ; // not necessary
-                  rat_gpr_update_table       [i][j][k] = false; // not necessary
                 }
 	      for (uint32_t k=0; k<_param->_nb_special_register_logic; k++)
@@ -51,5 +49,4 @@
                   rat_spr_speculative_valid  [i][j][k] = false;
                   rat_spr_speculative        [i][j][k] = 0    ; // not necessary
-                  rat_spr_update_table       [i][j][k] = false; // not necessary
                 }
 	    }
@@ -70,15 +67,9 @@
                   log_printf(TRACE,Register_Address_Translation_unit,FUNCTION,"    * Reset Update Table");
                   
-                  // Reset update_table and validity table
+                  // Reset validity table
                   for (uint32_t k=0; k<_param->_nb_general_register_logic; k++)
-                    {
-                      rat_gpr_update_table      [i][j][k] = false;
-                      rat_gpr_speculative_valid [i][j][k] = false;
-                    }
+                    rat_gpr_speculative_valid [i][j][k] = false;
                   for (uint32_t k=0; k<_param->_nb_special_register_logic; k++)
-                    {
-                      rat_spr_update_table      [i][j][k] = false;
-                      rat_spr_speculative_valid [i][j][k] = false;
-                    }
+                    rat_spr_speculative_valid [i][j][k] = false;
                 }
 
@@ -149,5 +140,5 @@
               Tcontrol_t write_rd     = PORT_READ(in_RETIRE_WRITE_RD [i]);
               Tcontrol_t write_re     = PORT_READ(in_RETIRE_WRITE_RE [i]);
-              Tcontrol_t restore      = internal_RETIRE_RESTORE [i];
+              Tcontrol_t restore      = PORT_READ(in_RETIRE_RESTORE  [i]);
 
               log_printf(TRACE,Register_Address_Translation_unit,FUNCTION,"    * front_end_id       : %d",front_end_id);
@@ -157,5 +148,5 @@
               // Test if write and have not a previous update
               log_printf(TRACE,Register_Address_Translation_unit,FUNCTION,"    * write_rd           : %d",write_rd);
-              if (PORT_READ(in_RETIRE_WRITE_RD [i]) == 1)
+              if (write_rd == 1)
                 {
                   Tgeneral_address_t num_reg_rd_log     = PORT_READ(in_RETIRE_NUM_REG_RD_LOG     [i]);
@@ -171,14 +162,8 @@
                   rat_gpr_not_speculative [front_end_id][context_id][num_reg_rd_log] = num_reg_rd_phy_new;
                     }
-
-                  Tcontrol_t         restore_rd         = internal_RETIRE_RESTORE_RD_PHY_OLD [i];
-                  log_printf(TRACE,Register_Address_Translation_unit,FUNCTION,"    * restore_rd         : %d",restore_rd        );
-                      
-                  if (restore_rd)
-                  rat_gpr_update_table    [front_end_id][context_id][num_reg_rd_log] = true;
                 }
 
               log_printf(TRACE,Register_Address_Translation_unit,FUNCTION,"    * write_re           : %d",write_re);
-              if (PORT_READ(in_RETIRE_WRITE_RE [i]) == 1)
+              if (write_re == 1)
                 {
                   Tspecial_address_t num_reg_re_log     = PORT_READ(in_RETIRE_NUM_REG_RE_LOG     [i]);
@@ -194,10 +179,4 @@
                   rat_spr_not_speculative [front_end_id][context_id][num_reg_re_log] = num_reg_re_phy_new;
                     }
-
-                  Tcontrol_t         restore_re         = internal_RETIRE_RESTORE_RE_PHY_OLD [i];
-                  log_printf(TRACE,Register_Address_Translation_unit,FUNCTION,"    * restore_re         : %d",restore_re        );
-                      
-                  if (restore_re)
-                  rat_spr_update_table    [front_end_id][context_id][num_reg_re_log] = true;
                 }
 
@@ -224,5 +203,5 @@
                       break;
                     else
-                      str+=toString("GPR[%.4d] - %.1d %.5d (%.5d) %.1d | ",index,rat_gpr_speculative_valid [i][j][index],rat_gpr_speculative [i][j][index],rat_gpr_not_speculative [i][j][index],rat_gpr_update_table[i][j][index]);
+                      str+=toString("GPR[%.4d] - %.1d %.5d (%.5d) | ",index,rat_gpr_speculative_valid [i][j][index],rat_gpr_speculative [i][j][index],rat_gpr_not_speculative [i][j][index]);
                   }
                 log_printf(TRACE,Register_Address_Translation_unit,FUNCTION,"      * %s",str.c_str());
@@ -239,5 +218,5 @@
                       break;
                     else
-                      str+=toString("SPR[%.4d] - %.1d %.5d (%.5d) %.1d | ",index,rat_spr_speculative_valid [i][j][index],rat_spr_speculative [i][j][index],rat_spr_not_speculative [i][j][index],rat_spr_update_table[i][j][index]);
+                      str+=toString("SPR[%.4d] - %.1d %.5d (%.5d) | ",index,rat_spr_speculative_valid [i][j][index],rat_spr_speculative [i][j][index],rat_spr_not_speculative [i][j][index]);
                   }
                 log_printf(TRACE,Register_Address_Translation_unit,FUNCTION,"      * %s",str.c_str());
@@ -281,8 +260,4 @@
 #endif
 
-#if defined(STATISTICS) or defined(VHDL_TESTBENCH)
-    end_cycle ();
-#endif
-
     log_end(Register_Address_Translation_unit,FUNCTION);
   };
