Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Free_List_unit/src/Free_List_unit_transition.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Free_List_unit/src/Free_List_unit_transition.cpp	(revision 105)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Free_List_unit/src/Free_List_unit_transition.cpp	(revision 106)
@@ -79,30 +79,92 @@
 
 #if (DEBUG >= DEBUG_TRACE) and (DEBUG_Free_List_unit == true)
-        log_printf(TRACE,Free_List_unit,FUNCTION,"  * Dump Free List");
+        {
+          uint32_t limit = 4;
+      
+          log_printf(TRACE,Free_List_unit,FUNCTION,"  * Dump Free List");
+          
+          for (uint32_t i=0; i<_param->_nb_bank; ++i)
+            {
+              uint32_t j=0;
+              for (std::list<Tgeneral_address_t>::iterator it=_gpr_list->begin();
+                   it!=_gpr_list->end();
+                   )
+                {
+                  std::string str = "";
+              
+                  for (uint32_t x=0; x<limit; x++)
+                    {
+                      if (it==_gpr_list->end())
+                        break;
+                      else
+                        str+=toString("GPR[%.4d][%.4d] : %.5d | ",i,j,*it);
+                      ++it;
+                      ++j;
+                    }
+                  log_printf(TRACE,Register_Address_Translation_unit,FUNCTION,"      * %s",str.c_str());
+                }
+            }
 
-        for (uint32_t i=0; i<_param->_nb_bank; ++i)
+          for (uint32_t i=0; i<_param->_nb_bank; ++i)
+            {
+              uint32_t j=0;
+              for (std::list<Tspecial_address_t>::iterator it=_spr_list->begin();
+                   it!=_spr_list->end();
+                   )
+                {
+                  std::string str = "";
+
+                  for (uint32_t x=0; x<limit; x++)
+                    {
+                      if (it==_spr_list->end())
+                        break;
+                      else
+                        str+=toString("SPR[%.4d][%.4d] : %.5d | ",i,j,*it);
+                      ++it;
+                      ++j;
+                    }
+                  log_printf(TRACE,Register_Address_Translation_unit,FUNCTION,"      * %s",str.c_str());
+                }
+            }
+        }
+#endif
+
+#ifdef DEBUG_TEST
+        if (1)
           {
-            uint32_t j=0;
-            for (std::list<Tgeneral_address_t>::iterator it=_gpr_list->begin();
-                 it!=_gpr_list->end();
-                 ++it)
+            for (std::list<Tgeneral_address_t>::iterator it1=_gpr_list->begin();
+                 it1!=_gpr_list->end();
+                 ++it1
+                 )
               {
-                log_printf(TRACE,Free_List_unit,FUNCTION,"    * GPR_LIST[%.5d][%.5d] : %.5d",i,j,*it);
-                ++j;
+                std::list<Tgeneral_address_t>::iterator it2 = it1;
+
+                it2 ++;
+                while (it2 != _gpr_list->end())
+                  {
+                    if (*it1 == *it2)
+                      throw ERRORMORPHEO (FUNCTION,toString(_("In free list, Same GPR (%d)"),*it1));
+                    it2 ++;
+                  }
+              }
+
+            for (std::list<Tspecial_address_t>::iterator it1=_spr_list->begin();
+                 it1!=_spr_list->end();
+                 ++it1
+                 )
+              {
+                std::list<Tspecial_address_t>::iterator it2 = it1;
+
+                it2 ++;
+                while (it2 != _spr_list->end())
+                  {
+                    if (*it1 == *it2)
+                      throw ERRORMORPHEO (FUNCTION,toString(_("In free list, Same SPR (%d)"),*it1));
+                    it2 ++;
+                  }
               }
           }
-        for (uint32_t i=0; i<_param->_nb_bank; ++i)
-          {
-            uint32_t j=0;
-            for (std::list<Tspecial_address_t>::iterator it=_spr_list->begin();
-                 it!=_spr_list->end();
-                 ++it)
-              {
-                log_printf(TRACE,Free_List_unit,FUNCTION,"    * SPR_LIST[%.5d][%.5d] : %.5d",i,j,*it);
-                ++j;
-              }
-          }
+#endif
 
-#endif
       }
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_Address_Translation_unit/SelfTest/src/test.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_Address_Translation_unit/SelfTest/src/test.cpp	(revision 105)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_Address_Translation_unit/SelfTest/src/test.cpp	(revision 106)
@@ -245,7 +245,7 @@
 	      in_INSERT_WRITE_RE        [i]->write(rand() % 2);
 	      in_INSERT_NUM_REG_RD_LOG  [i]->write((rand() % (_param->_nb_general_register_logic-1))+1);
-	      in_INSERT_NUM_REG_RE_LOG  [i]->write( rand() %  _param->_nb_special_register_logic);
-	      in_INSERT_NUM_REG_RD_PHY  [i]->write(rand() % _param->_nb_general_register);
-	      in_INSERT_NUM_REG_RE_PHY  [i]->write(rand() % _param->_nb_special_register);
+	      in_INSERT_NUM_REG_RE_LOG  [i]->write( rand() %  _param->_nb_special_register_logic      );
+	      in_INSERT_NUM_REG_RD_PHY  [i]->write((rand() % (_param->_nb_general_register      -1))+1);
+	      in_INSERT_NUM_REG_RE_PHY  [i]->write( rand() %  _param->_nb_special_register            );
 	    }
 
@@ -285,4 +285,5 @@
 	      if (in_INSERT_VAL [i]->read() and out_INSERT_ACK [i]->read())
 		{
+                  // ERROR BECAUSE write same register
 		  if (in_INSERT_WRITE_RD [i]->read() == 1)
 		    rat_gpr[front_end_id][context_id][in_INSERT_NUM_REG_RD_LOG[i]->read()] = in_INSERT_NUM_REG_RD_PHY[i]->read();
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.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.cpp	(revision 105)
+++ 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.cpp	(revision 106)
@@ -154,5 +154,6 @@
         for (uint32_t i=0; i<_param->_nb_front_end; ++i)
           for (uint32_t j=0; j<_param->_nb_context[i]; ++j)
-            sensitive << (*(in_RETIRE_EVENT_STATE [i][j]));
+            sensitive << (*(in_RETIRE_EVENT_VAL   [i][j]))
+                      << (*(in_RETIRE_EVENT_STATE [i][j]));
 	
 # ifdef SYSTEMCASS_SPECIFIC
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_genMealy_retire.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_genMealy_retire.cpp	(revision 105)
+++ 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_genMealy_retire.cpp	(revision 106)
@@ -30,8 +30,10 @@
       for (uint32_t j=0; j<_param->_nb_context[i]; j++)
         {
+          // An event occure
+          bool no_event = not (PORT_READ(in_RETIRE_EVENT_STATE [i][j]) and (PORT_READ(in_RETIRE_EVENT_STATE [i][j]) == EVENT_STATE_EVENT));
           for (uint32_t k=0; k<_param->_nb_general_register_logic; ++k)
-            internal_rat_gpr_update_table [i][j][k] = rat_gpr_update_table [i][j][k];
+            internal_rat_gpr_update_table [i][j][k] = rat_gpr_update_table [i][j][k] and no_event;
           for (uint32_t k=0; k<_param->_nb_special_register_logic; ++k)
-            internal_rat_spr_update_table [i][j][k] = rat_spr_update_table [i][j][k];
+            internal_rat_spr_update_table [i][j][k] = rat_spr_update_table [i][j][k] and no_event;
         }
 
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_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 105)
+++ 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 106)
@@ -64,10 +64,22 @@
 	      Tcontext_t front_end_id = (_param->_have_port_front_end_id)?PORT_READ(in_RENAME_FRONT_END_ID [i]):0;
 	      Tcontext_t context_id   = (_param->_have_port_context_id  )?PORT_READ(in_RENAME_CONTEXT_ID   [i]):0;
+
+              log_printf(TRACE,Register_Address_Translation_unit,FUNCTION,"    * front_end      : %d",front_end_id);
+              log_printf(TRACE,Register_Address_Translation_unit,FUNCTION,"    * context        : %d",context_id);
 	      
 	      // Test if write
+              log_printf(TRACE,Register_Address_Translation_unit,FUNCTION,"    * write_rd       : %d",PORT_READ(in_INSERT_WRITE_RD [i]));
 	      if (PORT_READ(in_INSERT_WRITE_RD [i]) == 1)
-		rat_gpr[front_end_id][context_id][PORT_READ(in_INSERT_NUM_REG_RD_LOG [i])] = PORT_READ(in_INSERT_NUM_REG_RD_PHY [i]);
+                {
+                  log_printf(TRACE,Register_Address_Translation_unit,FUNCTION,"    * num_reg_rd_phy : %d",PORT_READ(in_INSERT_NUM_REG_RD_PHY [i]));
+                  rat_gpr[front_end_id][context_id][PORT_READ(in_INSERT_NUM_REG_RD_LOG [i])] = PORT_READ(in_INSERT_NUM_REG_RD_PHY [i]);
+                }
+
+              log_printf(TRACE,Register_Address_Translation_unit,FUNCTION,"    * write_re       : %d",PORT_READ(in_INSERT_WRITE_RE [i]));
 	      if (PORT_READ(in_INSERT_WRITE_RE [i]) == 1)
-		rat_spr[front_end_id][context_id][PORT_READ(in_INSERT_NUM_REG_RE_LOG [i])] = PORT_READ(in_INSERT_NUM_REG_RE_PHY [i]);
+                {
+                  log_printf(TRACE,Register_Address_Translation_unit,FUNCTION,"    * num_reg_re_phy : %d",PORT_READ(in_INSERT_NUM_REG_RE_PHY [i]));
+                  rat_spr[front_end_id][context_id][PORT_READ(in_INSERT_NUM_REG_RE_LOG [i])] = PORT_READ(in_INSERT_NUM_REG_RE_PHY [i]);
+                }
 	    }
 
@@ -109,10 +121,10 @@
               Tevent_state_t     event_state  = PORT_READ(in_RETIRE_EVENT_STATE [front_end_id][context_id]);
 
+              log_printf(TRACE,Register_Address_Translation_unit,FUNCTION,"    * front_end_id : %d",front_end_id);
+              log_printf(TRACE,Register_Address_Translation_unit,FUNCTION,"    * context_id   : %d",context_id);
+              log_printf(TRACE,Register_Address_Translation_unit,FUNCTION,"    * event_state  : %d",event_state);
+
 	      if (event_state != EVENT_STATE_NO_EVENT)
 		{
-                  log_printf(TRACE,Register_Address_Translation_unit,FUNCTION,"    * front_end_id : %d",front_end_id);
-                  log_printf(TRACE,Register_Address_Translation_unit,FUNCTION,"    * context_id   : %d",context_id);
-                  log_printf(TRACE,Register_Address_Translation_unit,FUNCTION,"    * event_state  : %d",event_state);
-
  		  // Test if write and have not a previous update
 		  if (PORT_READ(in_RETIRE_WRITE_RD [i]) == 1)
@@ -150,16 +162,62 @@
 
 #if (DEBUG >= DEBUG_TRACE) and (DEBUG_Register_Address_Translation_unit == true)
-    log_printf(TRACE,Register_Address_Translation_unit,FUNCTION,"  * Dump RAT (Register_Address_Translation_unit)");
-    for (uint32_t i=0; i<_param->_nb_front_end; ++i)
-      for (uint32_t j=0; j<_param->_nb_context[i]; ++j)
-        {
-          log_printf(TRACE,Register_Address_Translation_unit,FUNCTION,"    * front_end[%d].context[%d]",i,j);
-
-          for (uint32_t k=0; k<_param->_nb_general_register_logic; ++k)
-            log_printf(TRACE,Register_Address_Translation_unit,FUNCTION,"      * GPR[%.4d] - %.5d %.1d",k,rat_gpr[i][j][k],rat_gpr_update_table[i][j][k]);
-
-          for (uint32_t k=0; k<_param->_nb_special_register_logic; ++k)
-            log_printf(TRACE,Register_Address_Translation_unit,FUNCTION,"      * SPR[%.4d] - %.5d %.1d",k,rat_spr[i][j][k],rat_spr_update_table[i][j][k]);
-        }
+    {
+      uint32_t limit = 4;
+      
+      log_printf(TRACE,Register_Address_Translation_unit,FUNCTION,"  * Dump RAT (Register_Address_Translation_unit)");
+      for (uint32_t i=0; i<_param->_nb_front_end; ++i)
+        for (uint32_t j=0; j<_param->_nb_context[i]; ++j)
+          {
+            log_printf(TRACE,Register_Address_Translation_unit,FUNCTION,"    * front_end[%d].context[%d]",i,j);
+          
+            for (uint32_t k=0; k<_param->_nb_general_register_logic; k+=limit)
+              {
+                std::string str = "";
+                for (uint32_t x=0; x<limit; x++)
+                  {
+                    uint32_t index = k+x;
+                    if (index >= _param->_nb_general_register_logic)
+                      break;
+                    else
+                      str+=toString("GPR[%.4d] - %.5d %.1d | ",index,rat_gpr[i][j][index],rat_gpr_update_table[i][j][index]);
+                  }
+                log_printf(TRACE,Register_Address_Translation_unit,FUNCTION,"      * %s",str.c_str());
+              }
+      
+            for (uint32_t k=0; k<_param->_nb_special_register_logic; k+=limit)
+              {
+                std::string str = "";
+                
+                for (uint32_t x=0; x<limit; x++)
+                  {
+                    uint32_t index = k+x;
+                    if (index >= _param->_nb_special_register_logic)
+                      break;
+                    else
+                      str+=toString("SPR[%.4d] - %.5d %.1d | ",index,rat_spr[i][j][index],rat_spr_update_table[i][j][index]);
+                  }
+                log_printf(TRACE,Register_Address_Translation_unit,FUNCTION,"      * %s",str.c_str());
+              }
+          }
+    }
+#endif
+
+#ifdef DEBUG_TEST
+        if (1)
+          {
+            for (uint32_t i=0; i<_param->_nb_front_end; ++i)
+              for (uint32_t j=0; j<_param->_nb_context[i]; ++j)
+                {
+                  for (uint32_t x=0; x<_param->_nb_general_register_logic; ++x)
+                    for (uint32_t y=x+1; y<_param->_nb_general_register_logic; ++y)
+                      if (rat_gpr[i][j][x] == rat_gpr[i][j][y])
+                        throw ERRORMORPHEO (FUNCTION,toString(_("In RAT, rat_gpr[%d][%d][%d] == rat_gpr[%d][%d][%d] == %d"),i,j,x,i,j,y,rat_gpr[i][j][x]));
+                  for (uint32_t x=0; x<_param->_nb_special_register_logic; ++x)
+                    for (uint32_t y=x+1; y<_param->_nb_special_register_logic; ++y)
+                      if (rat_spr[i][j][x] == rat_spr[i][j][y])
+                        throw ERRORMORPHEO (FUNCTION,toString(_("In RAT, rat_spr[%d][%d][%d] == rat_spr[%d][%d][%d] == %d"),i,j,x,i,j,y,rat_spr[i][j][x]));
+                }
+
+          }
 #endif
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Stat_List_unit/src/Stat_List_unit_transition.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Stat_List_unit/src/Stat_List_unit_transition.cpp	(revision 105)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Stat_List_unit/src/Stat_List_unit_transition.cpp	(revision 106)
@@ -49,7 +49,12 @@
 	  if (PORT_READ(in_INSERT_VAL[i]) and internal_INSERT_ACK[i])
 	    {
+              log_printf(TRACE,Stat_List_unit,FUNCTION,"  * INSERT [%d]",i);
+              
 	      if (PORT_READ(in_INSERT_READ_RA [i]))
 		{
 		  Tgeneral_address_t num_reg = PORT_READ(in_INSERT_NUM_REG_RA_PHY [i]);
+
+                  log_printf(TRACE,Stat_List_unit,FUNCTION,"    * READ_RA  - num_reg     : %d",num_reg);
+
 		  uint32_t bank = num_reg >> _param->_shift_gpr;
 		  uint32_t reg  = num_reg  & _param->_mask_gpr ;
@@ -60,4 +65,7 @@
 		{
 		  Tgeneral_address_t num_reg = PORT_READ(in_INSERT_NUM_REG_RB_PHY [i]);
+
+                  log_printf(TRACE,Stat_List_unit,FUNCTION,"    * READ_RB  - num_reg     : %d",num_reg);
+
 		  uint32_t bank = num_reg >> _param->_shift_gpr;
 		  uint32_t reg  = num_reg  & _param->_mask_gpr ;
@@ -68,4 +76,7 @@
 		{
 		  Tgeneral_address_t num_reg = PORT_READ(in_INSERT_NUM_REG_RC_PHY [i]);
+
+                  log_printf(TRACE,Stat_List_unit,FUNCTION,"    * READ_RC  - num_reg     : %d",num_reg);
+
 		  uint32_t bank = num_reg >> _param->_shift_spr;
 		  uint32_t reg  = num_reg  & _param->_mask_spr ;
@@ -76,4 +87,7 @@
 		{
 		  Tgeneral_address_t num_reg = PORT_READ(in_INSERT_NUM_REG_RD_PHY_NEW [i]);
+
+                  log_printf(TRACE,Stat_List_unit,FUNCTION,"    * WRITE_RD - num_reg     : %d",num_reg);
+
 		  uint32_t bank = num_reg >> _param->_shift_gpr;
 		  uint32_t reg  = num_reg  & _param->_mask_gpr ;
@@ -84,4 +98,7 @@
 		{
 		  Tgeneral_address_t num_reg = PORT_READ(in_INSERT_NUM_REG_RE_PHY_NEW [i]);
+
+                  log_printf(TRACE,Stat_List_unit,FUNCTION,"    * WRITE_RE - num_reg     : %d",num_reg);
+
 		  uint32_t bank = num_reg >> _param->_shift_spr;
 		  uint32_t reg  = num_reg  & _param->_mask_spr ;
@@ -96,7 +113,12 @@
 	  if (PORT_READ(in_RETIRE_VAL[i]) and internal_RETIRE_ACK[i])
 	    {
+              log_printf(TRACE,Stat_List_unit,FUNCTION,"  * RETIRE [%d]",i);
+
 	      if (PORT_READ(in_RETIRE_READ_RA [i]))
 		{
 		  Tgeneral_address_t num_reg = PORT_READ(in_RETIRE_NUM_REG_RA_PHY [i]);
+
+                  log_printf(TRACE,Stat_List_unit,FUNCTION,"    * READ_RA  - num_reg     : %d",num_reg);
+
 		  uint32_t bank = num_reg >> _param->_shift_gpr;
 		  uint32_t reg  = num_reg  & _param->_mask_gpr ;
@@ -107,4 +129,7 @@
 		{
 		  Tgeneral_address_t num_reg = PORT_READ(in_RETIRE_NUM_REG_RB_PHY [i]);
+
+                  log_printf(TRACE,Stat_List_unit,FUNCTION,"    * READ_RD  - num_reg     : %d",num_reg);
+
 		  uint32_t bank = num_reg >> _param->_shift_gpr;
 		  uint32_t reg  = num_reg  & _param->_mask_gpr ;
@@ -115,4 +140,7 @@
 		{
 		  Tgeneral_address_t num_reg = PORT_READ(in_RETIRE_NUM_REG_RC_PHY [i]);
+
+                  log_printf(TRACE,Stat_List_unit,FUNCTION,"    * READ_RC  - num_reg     : %d",num_reg);
+
 		  uint32_t bank = num_reg >> _param->_shift_spr;
 		  uint32_t reg  = num_reg  & _param->_mask_spr ;
@@ -123,6 +151,12 @@
 		{
                   Tcontrol_t restore_old = PORT_READ(in_RETIRE_RESTORE_RD_PHY_OLD [i]);
+
+                  log_printf(TRACE,Stat_List_unit,FUNCTION,"    * WRITE_RD - restore_old : %d",restore_old);
+
 		  {
 		    Tgeneral_address_t num_reg = PORT_READ(in_RETIRE_NUM_REG_RD_PHY_OLD [i]);
+
+                    log_printf(TRACE,Stat_List_unit,FUNCTION,"    * WRITE_RD - num_reg_old : %d",num_reg);
+                  
 		    uint32_t bank = num_reg >> _param->_shift_gpr;
 		    uint32_t reg  = num_reg  & _param->_mask_gpr ;
@@ -131,4 +165,7 @@
 		  {
 		    Tgeneral_address_t num_reg = PORT_READ(in_RETIRE_NUM_REG_RD_PHY_NEW [i]);
+
+                    log_printf(TRACE,Stat_List_unit,FUNCTION,"    * WRITE_RD - num_reg_new : %d",num_reg);
+
 		    uint32_t bank = num_reg >> _param->_shift_gpr;
 		    uint32_t reg  = num_reg  & _param->_mask_gpr ;
@@ -140,6 +177,12 @@
 		{
                   Tcontrol_t restore_old = PORT_READ(in_RETIRE_RESTORE_RE_PHY_OLD [i]);
+
+                  log_printf(TRACE,Stat_List_unit,FUNCTION,"    * WRITE_RE - restore_old : %d",restore_old);
+
 		  {
 		    Tgeneral_address_t num_reg = PORT_READ(in_RETIRE_NUM_REG_RE_PHY_OLD [i]);
+
+                    log_printf(TRACE,Stat_List_unit,FUNCTION,"    * WRITE_RE - num_reg_new : %d",num_reg);
+
 		    uint32_t bank = num_reg >> _param->_shift_spr;
 		    uint32_t reg  = num_reg  & _param->_mask_spr ;
@@ -148,4 +191,7 @@
 		  {
 		    Tgeneral_address_t num_reg = PORT_READ(in_RETIRE_NUM_REG_RE_PHY_NEW [i]);
+
+                    log_printf(TRACE,Stat_List_unit,FUNCTION,"    * WRITE_RE - num_reg_new : %d",num_reg);
+
 		    uint32_t bank = num_reg >> _param->_shift_spr;
 		    uint32_t reg  = num_reg  & _param->_mask_spr ;
