Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Reexecute_unit/src/Reexecute_unit.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Reexecute_unit/src/Reexecute_unit.cpp	(revision 122)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Reexecute_unit/src/Reexecute_unit.cpp	(revision 123)
@@ -39,9 +39,9 @@
     usage_environment(_usage);
 
-#if DEBUG_Reexecute_unit == true
-    log_printf(INFO,Reexecute_unit,FUNCTION,_("<%s> Parameters"),_name.c_str());
+// #if DEBUG_Reexecute_unit == true
+//     log_printf(INFO,Reexecute_unit,FUNCTION,_("<%s> Parameters"),_name.c_str());
 
-    std::cout << *param << std::endl;
-#endif    
+//     std::cout << *param << std::endl;
+// #endif    
 
     log_printf(INFO,Reexecute_unit,FUNCTION,_("<%s> : Allocation"),_name.c_str());
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Reexecute_unit/src/Reexecute_unit_genMealy_commit.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Reexecute_unit/src/Reexecute_unit_genMealy_commit.cpp	(revision 122)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Reexecute_unit/src/Reexecute_unit_genMealy_commit.cpp	(revision 123)
@@ -23,4 +23,6 @@
     log_function(Reexecute_unit,FUNCTION,_name.c_str());
 
+    if (PORT_READ(in_NRESET))
+      {
     // Initialisation
     Tcontrol_t execute_loop_ack [_param->_nb_execute_loop][_param->_max_nb_inst_execute];
@@ -126,4 +128,15 @@
       for (uint32_t j=0; j<_param->_nb_inst_execute [i]; ++j)
 	PORT_WRITE(out_EXECUTE_LOOP_ACK [i][j], execute_loop_ack [i][j]);
+      }
+    else
+      {
+#ifdef STATISTICS
+        for (uint32_t i=0; i<_param->_nb_inst_commit; ++i)
+          internal_COMMIT_VAL [i] = 0;
+#endif
+        for (uint32_t i=0; i<_param->_nb_execute_loop; ++i)
+          for (uint32_t j=0; j<_param->_nb_inst_execute [i]; ++j)
+            PORT_WRITE(out_EXECUTE_LOOP_ACK [i][j], 0);
+      }
 
     log_end(Reexecute_unit,FUNCTION);
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Reexecute_unit/src/Reexecute_unit_genMealy_reexecute.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Reexecute_unit/src/Reexecute_unit_genMealy_reexecute.cpp	(revision 122)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Reexecute_unit/src/Reexecute_unit_genMealy_reexecute.cpp	(revision 123)
@@ -24,4 +24,6 @@
     log_function(Reexecute_unit,FUNCTION,_name.c_str());
 
+    if (PORT_READ(in_NRESET))
+      {
     // ===================================================================
     // =====[ REEXECUTE ]=================================================
@@ -94,9 +96,20 @@
 	internal_REEXECUTE_VAL     [i] = val;
 	internal_REEXECUTE_ROB_ACK [i] = ack;
+      }
+      }
+    else
+      {
+        for (uint32_t i=0; i<_param->_nb_inst_reexecute; i++)
+          {
+            internal_REEXECUTE_VAL     [i] = 0;
+            internal_REEXECUTE_ROB_ACK [i] = 0;
+          }
+      }
 
+    for (uint32_t i=0; i<_param->_nb_inst_reexecute; i++)
+      {
 	PORT_WRITE(out_REEXECUTE_VAL     [i], internal_REEXECUTE_VAL     [i]);
 	PORT_WRITE(out_REEXECUTE_ROB_ACK [i], internal_REEXECUTE_ROB_ACK [i]);
       }
-
     log_end(Reexecute_unit,FUNCTION);
   };
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Reexecute_unit/src/Reexecute_unit_genMoore.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Reexecute_unit/src/Reexecute_unit_genMoore.cpp	(revision 122)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Reexecute_unit/src/Reexecute_unit_genMoore.cpp	(revision 123)
@@ -24,4 +24,6 @@
     log_function(Reexecute_unit,FUNCTION,_name.c_str());
 
+    if (PORT_READ(in_NRESET))
+      {
     // ===================================================================
     // =====[ SPR ]=======================================================
@@ -47,4 +49,16 @@
 
 	internal_SPR_VAL [i] = val;
+      }
+      }
+    else
+      {
+        //Reset
+        for (uint32_t i=0; i<_param->_nb_inst_reexecute; i++)
+          internal_SPR_VAL [i] = 0;
+      }
+
+    // Write output
+    for (uint32_t i=0; i<_param->_nb_inst_reexecute; i++)
+      {
 	PORT_WRITE(out_SPR_VAL [i], internal_SPR_VAL [i]);
       }
