Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Functionnal_unit.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Functionnal_unit.cpp	(revision 122)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Functionnal_unit.cpp	(revision 123)
@@ -42,9 +42,9 @@
     allocation ();
 
-#if DEBUG_Functionnal_unit == true
-    log_printf(INFO,Functionnal_unit,FUNCTION,_("<%s> Parameters"),_name.c_str());
+// #if DEBUG_Functionnal_unit == true
+//     log_printf(INFO,Functionnal_unit,FUNCTION,_("<%s> Parameters"),_name.c_str());
 
-    std::cout << *param << std::endl;
-#endif    
+//     std::cout << *param << std::endl;
+// #endif    
 
 #ifdef STATISTICS
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Functionnal_unit_genMealy.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Functionnal_unit_genMealy.cpp	(revision 122)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Functionnal_unit_genMealy.cpp	(revision 123)
@@ -31,6 +31,4 @@
           // Can out if : have an instruction and is finish (latence == 0)
           internal_EXECUTE_OUT_VAL = (reg_BUSY_OUT and (_execute_operation_out->_timing._latence == 0));
-          
-          PORT_WRITE(out_EXECUTE_OUT_VAL, internal_EXECUTE_OUT_VAL);
         }
         
@@ -50,8 +48,16 @@
                                      (internal_EXECUTE_OUT_VAL and PORT_READ(in_EXECUTE_OUT_ACK)));
             }
-
-          PORT_WRITE(out_EXECUTE_IN_ACK , internal_EXECUTE_IN_ACK);
         }
       }
+    else
+      {
+        // RESET
+        internal_EXECUTE_IN_ACK = 0;
+        internal_EXECUTE_OUT_VAL = 0;
+      }
+
+    // Write Output
+    PORT_WRITE(out_EXECUTE_IN_ACK , internal_EXECUTE_IN_ACK);
+    PORT_WRITE(out_EXECUTE_OUT_VAL, internal_EXECUTE_OUT_VAL);
 
     log_end(Functionnal_unit,FUNCTION);
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Functionnal_unit_genMoore.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Functionnal_unit_genMoore.cpp	(revision 122)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Functionnal_unit_genMoore.cpp	(revision 123)
@@ -26,4 +26,5 @@
     log_function(Functionnal_unit,FUNCTION,_name.c_str());
 
+    if (PORT_READ(in_NRESET))
     {
       if (_param->_have_port_context_id)
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/src/Load_store_unit.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/src/Load_store_unit.cpp	(revision 122)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/src/Load_store_unit.cpp	(revision 123)
@@ -39,9 +39,9 @@
     log_printf(FUNC,Load_store_unit,FUNCTION,"Begin");
 
-#if DEBUG_Load_store_unit == true
-    log_printf(INFO,Load_store_unit,FUNCTION,_("<%s> Parameters"),_name.c_str());
-
-    std::cout << *param << std::endl;
-#endif    
+// #if DEBUG_Load_store_unit == true
+//     log_printf(INFO,Load_store_unit,FUNCTION,_("<%s> Parameters"),_name.c_str());
+
+//     std::cout << *param << std::endl;
+// #endif    
 
 #ifdef SYSTEMC
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/src/Load_store_unit_function_speculative_load_commit_genMealy_insert.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/src/Load_store_unit_function_speculative_load_commit_genMealy_insert.cpp	(revision 122)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/src/Load_store_unit_function_speculative_load_commit_genMealy_insert.cpp	(revision 123)
@@ -35,4 +35,6 @@
       ack [i] = 0;
 
+    if (PORT_READ(in_NRESET))
+      {
     // find first valid entry
     // store queue is never full (pointer is manage by rename stage)
@@ -49,4 +51,10 @@
 	    }
 	}
+      }
+    else
+      {
+        internal_MEMORY_IN_ACK = 0;
+//         internal_MEMORY_IN_PORT = i;
+      }
 
     for (uint32_t i=0; i<_param->_nb_inst_memory; i++)
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/src/Load_store_unit_function_speculative_load_commit_genMoore.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/src/Load_store_unit_function_speculative_load_commit_genMoore.cpp	(revision 122)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/src/Load_store_unit_function_speculative_load_commit_genMoore.cpp	(revision 123)
@@ -27,4 +27,6 @@
     log_function(Load_store_unit,FUNCTION,_name.c_str());
 
+    if (PORT_READ(in_NRESET))
+      {
     // ~~~~~[ Interface "memory_out" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -140,6 +142,4 @@
 
     // write output
-    PORT_WRITE(out_MEMORY_OUT_VAL          [0], internal_MEMORY_OUT_VAL);
-
     if (_param->_have_port_context_id)
     PORT_WRITE(out_MEMORY_OUT_CONTEXT_ID   [0], memory_out_context_id   );
@@ -171,9 +171,9 @@
     // ~~~~~[ Interface "dache_req" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-    Tcontext_t        dcache_req_context_id;
-    Tpacket_t         dcache_req_packet_id ;
-    Tdcache_address_t dcache_req_address   ;
-    Tdcache_type_t    dcache_req_type      ;
-    Tdcache_data_t    dcache_req_wdata     ;
+    Tcontext_t        dcache_req_context_id = 0;
+    Tpacket_t         dcache_req_packet_id  = 0;
+    Tdcache_address_t dcache_req_address    = 0;
+    Tdcache_type_t    dcache_req_type       = 0;
+    Tdcache_data_t    dcache_req_wdata      = 0;
 
     log_printf(TRACE,Load_store_unit,FUNCTION,"  * Test DCACHE_REQ");
@@ -241,5 +241,4 @@
       }
 
-    PORT_WRITE(out_DCACHE_REQ_VAL       [0], internal_DCACHE_REQ_VAL);
     if (_param->_have_port_dcache_context_id)
     PORT_WRITE(out_DCACHE_REQ_CONTEXT_ID[0], dcache_req_context_id);
@@ -248,5 +247,22 @@
     PORT_WRITE(out_DCACHE_REQ_TYPE      [0], dcache_req_type      );
     PORT_WRITE(out_DCACHE_REQ_WDATA     [0], dcache_req_wdata     );
-    
+      }
+    else
+      {
+        // Reset
+    internal_MEMORY_OUT_VAL = 0;
+//  internal_MEMORY_OUT_PTR =0
+//  internal_MEMORY_OUT_SELECT_QUEUE = SELECT_STORE_QUEUE;
+
+    internal_DCACHE_REQ_VAL = 0;
+    internal_SPECULATIVE_ACCESS_QUEUE_PTR_READ = 0;
+//  internal_DCACHE_REQ_SELECT_QUEUE = SELECT_LOAD_QUEUE_SPECULATIVE;
+      }
+
+    // Write output
+    PORT_WRITE(out_MEMORY_OUT_VAL [0], internal_MEMORY_OUT_VAL);
+    PORT_WRITE(out_DCACHE_REQ_VAL [0], internal_DCACHE_REQ_VAL);
+
+
     log_end(Load_store_unit,FUNCTION);
   };
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/src/Load_store_unit_genMoore.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/src/Load_store_unit_genMoore.cpp	(revision 122)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/src/Load_store_unit_genMoore.cpp	(revision 123)
@@ -26,4 +26,5 @@
     log_printf(FUNC,Load_store_unit,FUNCTION,"Begin");
 
+//     if (PORT_READ(in_NRESET))
     (this->*function_genMoore) ();
     
