Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Comparator/src/Comparator_genMealy.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Comparator/src/Comparator_genMealy.cpp	(revision 117)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Comparator/src/Comparator_genMealy.cpp	(revision 123)
@@ -21,4 +21,6 @@
     log_begin(Comparator,FUNCTION);
 
+    if (PORT_READ(in_NRESET))
+      {
     Tcontrol_t test;
     Tdata_t data_0 = PORT_READ(in_COMPARE_DATA_0);
@@ -71,4 +73,5 @@
 
     PORT_WRITE(out_COMPARE_TEST,test);
+      }
 
     log_end(Comparator,FUNCTION);
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Counter/src/Counter_genMealy.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Counter/src/Counter_genMealy.cpp	(revision 117)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Counter/src/Counter_genMealy.cpp	(revision 123)
@@ -18,4 +18,5 @@
     log_printf(FUNC,Counter,"genMealy","Begin");
 
+    if (PORT_READ(in_NRESET))
     for (uint32_t i=0; i<_param->_nb_port; i++)
       {
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/src/Queue_genMoore.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/src/Queue_genMoore.cpp	(revision 117)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/src/Queue_genMoore.cpp	(revision 123)
@@ -20,4 +20,6 @@
     log_printf(FUNC,Queue,FUNCTION,"Begin");
 
+    if (PORT_READ(in_NRESET))
+      {
     //---------------------------------------------
     // Output
@@ -26,6 +28,4 @@
     internal_RETIRE_VAL = not _queue_control->empty();
     
-    PORT_WRITE(out_INSERT_ACK , internal_INSERT_ACK);
-    PORT_WRITE(out_RETIRE_VAL , internal_RETIRE_VAL);
     PORT_WRITE(out_RETIRE_DATA,_queue_data[(*_queue_control)[0]]);
 
@@ -49,4 +49,19 @@
     if (_param->_have_port_ptr_read )
     PORT_WRITE(out_PTR_READ , _queue_control->ptr_pop ());
+      }
+    else
+      {
+        // Reset
+        internal_INSERT_ACK = 0;
+        internal_RETIRE_VAL = 0;
+
+        for (uint32_t i=0; i<_param->_nb_port_slot; ++i)
+          PORT_WRITE(out_SLOT_VAL  [i], 0);
+      }
+
+    // Write output
+    PORT_WRITE(out_INSERT_ACK , internal_INSERT_ACK);
+    PORT_WRITE(out_RETIRE_VAL , internal_RETIRE_VAL);
+
 
     log_printf(FUNC,Queue,FUNCTION,"End");
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic.cpp	(revision 117)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic.cpp	(revision 123)
@@ -33,9 +33,9 @@
     log_printf(FUNC,RegisterFile_Monolithic,"RegisterFile_Monolithic","Begin");
 
-#if DEBUG_RegisterFile_Monolithic == true
-    log_printf(INFO,RegisterFile_Monolithic,FUNCTION,_("<%s> Parameters"),_name.c_str());
+// #if DEBUG_RegisterFile_Monolithic == true
+//     log_printf(INFO,RegisterFile_Monolithic,FUNCTION,_("<%s> Parameters"),_name.c_str());
 
-    std::cout << *param << std::endl;
-#endif    
+//     std::cout << *param << std::endl;
+// #endif    
 
     log_printf(INFO,RegisterFile_Monolithic,"RegisterFile_Monolithic","Allocation");
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_genMealy_read.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_genMealy_read.cpp	(revision 117)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic_genMealy_read.cpp	(revision 123)
@@ -22,4 +22,6 @@
     log_function(RegisterFile_Monolithic,FUNCTION,_name.c_str());
 
+    if (PORT_READ(in_NRESET))
+      {
     for (uint32_t i=0; i<_param->_nb_port_read; i++)
       {
@@ -73,4 +75,5 @@
 	PORT_WRITE(out_READ_WRITE_RDATA[i],data);
       }
+      }
 
     log_end(RegisterFile_Monolithic,FUNCTION);
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked.cpp	(revision 117)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked.cpp	(revision 123)
@@ -34,9 +34,9 @@
     log_printf(FUNC,RegisterFile_Multi_Banked,FUNCTION,"Begin");
 
-#if DEBUG_RegisterFile_Multi_Banked == true
-    log_printf(INFO,RegisterFile_Multi_Banked,FUNCTION,_("<%s> Parameters"),_name.c_str());
+// #if DEBUG_RegisterFile_Multi_Banked == true
+//     log_printf(INFO,RegisterFile_Multi_Banked,FUNCTION,_("<%s> Parameters"),_name.c_str());
 
-    std::cout << *param << std::endl;
-#endif    
+//     std::cout << *param << std::endl;
+// #endif    
 
     log_printf(INFO,RegisterFile_Multi_Banked,FUNCTION,"Allocation");
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_full_crossbar_genMealy_read.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_full_crossbar_genMealy_read.cpp	(revision 117)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_full_crossbar_genMealy_read.cpp	(revision 123)
@@ -23,4 +23,7 @@
     log_begin(RegisterFile_Multi_Banked,FUNCTION);
     log_function(RegisterFile_Multi_Banked,FUNCTION,_name.c_str());
+
+    if (PORT_READ(in_NRESET))
+      {
 
     bool read_port_use [_param->_nb_bank][_param->_nb_port_read_by_bank];
@@ -79,4 +82,8 @@
 	PORT_WRITE(out_READ_ACK [i], ack);
       }
+      }
+    else
+      for (uint32_t i=0; i<_param->_nb_port_read; i++)
+        PORT_WRITE(out_READ_ACK [i], false);
 
     log_end(RegisterFile_Multi_Banked,FUNCTION);
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_full_crossbar_genMealy_write.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_full_crossbar_genMealy_write.cpp	(revision 117)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_full_crossbar_genMealy_write.cpp	(revision 123)
@@ -24,4 +24,6 @@
     log_function(RegisterFile_Multi_Banked,FUNCTION,_name.c_str());
 
+    if (PORT_READ(in_NRESET))
+      {
     bool write_port_use [_param->_nb_bank][_param->_nb_port_write_by_bank];
 
@@ -79,4 +81,13 @@
 	PORT_WRITE(out_WRITE_ACK [i], ack);
       }
+      }
+    else
+      {
+        for (uint32_t i=0; i<_param->_nb_port_write; i++)
+          {
+            internal_WRITE_VAL [i] = 0;
+            PORT_WRITE(out_WRITE_ACK [i], 0);
+          }
+      }
 
     log_end(RegisterFile_Multi_Banked,FUNCTION);
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_partial_crossbar_genMealy_read.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_partial_crossbar_genMealy_read.cpp	(revision 117)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_partial_crossbar_genMealy_read.cpp	(revision 123)
@@ -24,4 +24,6 @@
     log_function(RegisterFile_Multi_Banked,FUNCTION,_name.c_str());
 
+    if (PORT_READ(in_NRESET))
+      {
     bool read_port_use [_param->_nb_bank][_param->_nb_port_read_by_bank];
 
@@ -81,5 +83,10 @@
 	PORT_WRITE(out_READ_ACK [i], ack);
       }
-
+      }
+    else
+      {
+        for (uint32_t i=0; i<_param->_nb_port_read; i++)
+          PORT_WRITE(out_READ_ACK [i],0);
+      }
     log_end(RegisterFile_Multi_Banked,FUNCTION);
   };
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_partial_crossbar_genMealy_write.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_partial_crossbar_genMealy_write.cpp	(revision 117)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_partial_crossbar_genMealy_write.cpp	(revision 123)
@@ -24,4 +24,6 @@
     log_function(RegisterFile_Multi_Banked,FUNCTION,_name.c_str());
 
+    if (PORT_READ(in_NRESET))
+      {
     bool write_port_use [_param->_nb_bank][_param->_nb_port_write_by_bank];
     for (uint32_t i=0; i<_param->_nb_bank; i++)
@@ -81,4 +83,13 @@
 	PORT_WRITE(out_WRITE_ACK [i], ack);
       }
+      }
+    else
+      {
+        for (uint32_t i=0; i<_param->_nb_port_write; i++)
+          {
+            internal_WRITE_VAL [i] = 0;
+            PORT_WRITE(out_WRITE_ACK [i], 0);
+          }
+      }
 
     log_end(RegisterFile_Multi_Banked,FUNCTION);
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Shifter.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Shifter.cpp	(revision 117)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Shifter.cpp	(revision 123)
@@ -32,9 +32,9 @@
   {
 
-#if DEBUG_Shifter == true
-    log_printf(INFO,Shifter,FUNCTION,_("<%s> Parameters"),_name.c_str());
+// #if DEBUG_Shifter == true
+//     log_printf(INFO,Shifter,FUNCTION,_("<%s> Parameters"),_name.c_str());
 
-    std::cout << *param << std::endl;
-#endif    
+//     std::cout << *param << std::endl;
+// #endif    
 
     allocation ();
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Shifter_genMealy_shift.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Shifter_genMealy_shift.cpp	(revision 117)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Shifter_genMealy_shift.cpp	(revision 123)
@@ -18,4 +18,5 @@
   void Shifter::genMealy_shift (void)
   {
+    if (PORT_READ(in_NRESET))
     for (uint32_t i=0; i<_param->_nb_port; i++)
       {
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Sort/src/Sort.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Sort/src/Sort.cpp	(revision 117)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Sort/src/Sort.cpp	(revision 123)
@@ -35,9 +35,9 @@
     log_printf(FUNC,Sort,FUNCTION,"Begin");
 
-#if DEBUG_Sort == true
-    log_printf(INFO,Sort,FUNCTION,_("<%s> Parameters"),_name.c_str());
+// #if DEBUG_Sort == true
+//     log_printf(INFO,Sort,FUNCTION,_("<%s> Parameters"),_name.c_str());
 
-    std::cout << *param << std::endl;
-#endif    
+//     std::cout << *param << std::endl;
+// #endif    
 
     log_printf(INFO,Sort,FUNCTION,"Allocation");
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Sort/src/Sort_genMealy.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Sort/src/Sort_genMealy.cpp	(revision 117)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Sort/src/Sort_genMealy.cpp	(revision 123)
@@ -21,4 +21,6 @@
     log_printf(FUNC,Sort,FUNCTION,"Begin");
 
+    if (PORT_READ(in_NRESET))
+      {
     sort_t array [_param->_nb_input];
 
@@ -44,4 +46,5 @@
       	PORT_WRITE (out_OUTPUT_DATA  [i],array[i].data );
       }
+      }
 
     log_printf(FUNC,Sort,FUNCTION,"End");
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Victim_Pseudo_LRU.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Victim_Pseudo_LRU.cpp	(revision 117)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Victim_Pseudo_LRU.cpp	(revision 123)
@@ -32,9 +32,9 @@
     log_printf(FUNC,Victim_Pseudo_LRU,"Victim_Pseudo_LRU","Begin");
 
-#if DEBUG_Victim_Pseudo_LRU == true
-    log_printf(INFO,Victim_Pseudo_LRU,FUNCTION,_("<%s> Parameters"),_name.c_str());
+// #if DEBUG_Victim_Pseudo_LRU == true
+//     log_printf(INFO,Victim_Pseudo_LRU,FUNCTION,_("<%s> Parameters"),_name.c_str());
 
-    std::cout << *param << std::endl;
-#endif    
+//     std::cout << *param << std::endl;
+// #endif    
 
     log_printf(TRACE,Victim_Pseudo_LRU,"Victim_Pseudo_LRU","Allocation");
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Victim_Pseudo_LRU_genMealy.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Victim_Pseudo_LRU_genMealy.cpp	(revision 117)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Victim_Pseudo_LRU_genMealy.cpp	(revision 123)
@@ -17,4 +17,5 @@
   void Victim_Pseudo_LRU::genMealy (void)
   {
+    if (PORT_READ(in_NRESET))
     for (uint32_t i=0; i<_param->_nb_access; i++)
       {
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Victim_Pseudo_LRU_transition.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Victim_Pseudo_LRU_transition.cpp	(revision 117)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Victim_Pseudo_LRU_transition.cpp	(revision 123)
@@ -22,5 +22,5 @@
 	  {
 	    Taddress_t address = (_param->_size_table>1)?PORT_READ(in_ACCESS_ADDRESS[i]):0;
-	    Tentity_t  entity;
+	    Tentity_t  entity  = 0;
 
 	    if (PORT_READ(in_ACCESS_HIT [i]))
