Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Core_Glue/src/Core_Glue.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Core_Glue/src/Core_Glue.cpp	(revision 131)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Core_Glue/src/Core_Glue.cpp	(revision 132)
@@ -109,4 +109,5 @@
 	dont_initialize ();
 //	sensitive << (*(in_CLOCK)).neg(); // don't need internal register
+	sensitive << (*(in_NRESET));
         for (uint32_t i=0; i<_param->_nb_front_end; ++i)
           for (uint32_t j=0; j<_param->_front_end_nb_inst_branch_complete[i]; ++j)
@@ -137,4 +138,5 @@
 	dont_initialize ();
 //	sensitive << (*(in_CLOCK)).neg(); // don't need internal register
+	sensitive << (*(in_NRESET));
         for (uint32_t i=0; i<_param->_nb_front_end; ++i)
           sensitive << (*(in_COMMIT_EVENT_FRONT_END_ACK               [i]));
@@ -165,5 +167,5 @@
 	dont_initialize ();
 //	sensitive << (*(in_CLOCK)).neg(); // don't need internal register
-
+	sensitive << (*(in_NRESET));
         for (uint32_t i=0; i<_param->_nb_ooo_engine; ++i)
           for (uint32_t j=0; j<_param->_nb_inst_issue_queue [i]; ++j)
@@ -209,4 +211,5 @@
 	dont_initialize ();
 //	sensitive << (*(in_CLOCK)).neg(); // don't need internal register
+	sensitive << (*(in_NRESET));
 
         for (uint32_t i=0; i<_param->_nb_ooo_engine; ++i)
@@ -244,4 +247,5 @@
 	dont_initialize ();
 //	sensitive << (*(in_CLOCK)).neg(); // don't need internal register
+	sensitive << (*(in_NRESET));
 
         for (uint32_t i=0; i<_param->_nb_ooo_engine; ++i)
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Dcache_Access/src/Dcache_Access.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Dcache_Access/src/Dcache_Access.cpp	(revision 131)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Dcache_Access/src/Dcache_Access.cpp	(revision 132)
@@ -97,5 +97,6 @@
 	SC_METHOD (genMealy_req);
 	dont_initialize ();
-	sensitive << (*(in_CLOCK)).neg(); // need internal register
+	sensitive << (*(in_CLOCK)).neg() // need internal register
+		  << (*(in_NRESET));
 	for (uint32_t i=0; i<_param->_nb_dcache_port; ++i)
 	  sensitive << (*(in_DCACHE_REQ_ACK [i]));
@@ -124,5 +125,6 @@
 	SC_METHOD (genMealy_rsp);
 	dont_initialize ();
-	sensitive << (*(in_CLOCK)).neg(); // need internal register
+	sensitive << (*(in_CLOCK)).neg() // need internal register
+		  << (*(in_NRESET));
 
 	for (uint32_t i=0; i<_param->_nb_dcache_port; ++i)
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Icache_Access/src/Icache_Access.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Icache_Access/src/Icache_Access.cpp	(revision 131)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Icache_Access/src/Icache_Access.cpp	(revision 132)
@@ -97,5 +97,6 @@
 	SC_METHOD (genMealy_req);
 	dont_initialize ();
-	sensitive << (*(in_CLOCK)).neg(); // need internal register
+	sensitive << (*(in_CLOCK)).neg() // need internal register
+		  << (*(in_NRESET));
 
 	for (uint32_t i=0; i<_param->_nb_icache_port; ++i)
@@ -153,5 +154,7 @@
 	SC_METHOD (genMealy_rsp);
 	dont_initialize ();
-	sensitive << (*(in_CLOCK)).neg(); // need internal register
+	sensitive << (*(in_CLOCK)).neg() // need internal register
+		  << (*(in_NRESET));
+
 	for (uint32_t i=0; i<_param->_nb_icache_port; ++i)
 	  {
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Icache_Access/src/Icache_Access_genMealy_rsp.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Icache_Access/src/Icache_Access_genMealy_rsp.cpp	(revision 131)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Icache_Access/src/Icache_Access_genMealy_rsp.cpp	(revision 132)
@@ -70,4 +70,6 @@
 
 	    ack = PORT_READ(in_CONTEXT_RSP_ACK [front_end_id][context_id]);
+
+            log_printf(TRACE,Icache_Access,FUNCTION,"    * context_rsp_ack: %d",ack);
 	    
 	    context_rsp_val [front_end_id][context_id] = 1;
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Execute_loop_Glue/src/Execute_loop_Glue.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Execute_loop_Glue/src/Execute_loop_Glue.cpp	(revision 131)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Execute_loop_Glue/src/Execute_loop_Glue.cpp	(revision 132)
@@ -100,5 +100,6 @@
 	dont_initialize ();
 // 	sensitive << (*(in_CLOCK)).neg(); // don't internal register
-	
+	sensitive << (*(in_NRESET));
+
     for (uint32_t i=0; i<_param->_nb_gpr_write; i++)
       {
@@ -135,5 +136,6 @@
 	dont_initialize ();
 // 	sensitive << (*(in_CLOCK)).neg(); // don't internal register
-	
+	sensitive << (*(in_NRESET));
+
     for (uint32_t i=0; i<_param->_nb_spr_write; i++)
       {
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 131)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Functionnal_unit.cpp	(revision 132)
@@ -95,4 +95,5 @@
 	dont_initialize ();
 	sensitive << (*(in_CLOCK)).neg()  // use internal register
+		  << (*(in_NRESET))
 //                << (*(in_EXECUTE_IN_VAL ))
                   << (*(in_EXECUTE_OUT_ACK));
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 131)
+++ 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 132)
@@ -132,5 +132,6 @@
     SC_METHOD (genMealy_insert);
     dont_initialize ();
-    sensitive << (*(in_CLOCK)).neg();
+    sensitive << (*(in_CLOCK)).neg()
+	      << (*(in_NRESET));
     for (uint32_t i=0; i<_param->_nb_inst_memory; i++)
       sensitive << (*(in_MEMORY_IN_VAL       [i]))
@@ -151,5 +152,6 @@
     SC_METHOD (genMealy_retire);
     dont_initialize ();
-    sensitive << (*(in_CLOCK)).neg();
+    sensitive << (*(in_CLOCK)).neg()
+	      << (*(in_NRESET));
 
 #ifdef SYSTEMCASS_SPECIFIC
@@ -161,5 +163,6 @@
     SC_METHOD (genMealy_dcache);
     dont_initialize ();
-    sensitive << (*(in_CLOCK)).neg();
+    sensitive << (*(in_CLOCK)).neg()
+	      << (*(in_NRESET));
 
 #ifdef SYSTEMCASS_SPECIFIC
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue.cpp	(revision 131)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue.cpp	(revision 132)
@@ -86,5 +86,6 @@
     SC_METHOD (genMealy_read_queue_out_val);
     dont_initialize ();
-    sensitive << (*(in_CLOCK)).neg();
+    sensitive << (*(in_CLOCK)).neg()
+	      << (*(in_NRESET));
     for (uint32_t i=0; i<_param->_nb_gpr_read ; i++)
       sensitive << *(in_GPR_READ_ACK      [i]);
@@ -133,5 +134,6 @@
     SC_METHOD (genMealy_read_queue_out_gpr);
     dont_initialize ();
-    sensitive << (*(in_CLOCK)).neg();
+    sensitive << (*(in_CLOCK)).neg()
+	      << (*(in_NRESET));
     for (uint32_t i=0; i<_param->_nb_gpr_read ; i++)
       sensitive << *(in_GPR_READ_ACK      [i])
@@ -185,5 +187,6 @@
     SC_METHOD (genMealy_read_queue_out_spr);
     dont_initialize ();
-    sensitive << (*(in_CLOCK)).neg();
+    sensitive << (*(in_CLOCK)).neg()
+	      << (*(in_NRESET));
     for (uint32_t i=0; i<_param->_nb_spr_read ; i++)
       sensitive << *(in_SPR_READ_ACK      [i])
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/src/Write_queue.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/src/Write_queue.cpp	(revision 131)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/src/Write_queue.cpp	(revision 132)
@@ -96,5 +96,6 @@
 	SC_METHOD (genMealy_write);
 	dont_initialize ();
-	sensitive << (*(in_CLOCK)).neg(); // need internal register
+	sensitive << (*(in_CLOCK)).neg() // need internal register
+		  << (*(in_NRESET));
 	for (uint32_t i=0; i<_param->_nb_gpr_write; ++i)
 	  sensitive << (*(in_GPR_WRITE_ACK [i]));
@@ -115,5 +116,6 @@
 	dont_initialize ();
 // 	sensitive << (*(in_CLOCK)).neg(); // don't need internal register
-        sensitive << (*(in_WRITE_QUEUE_IN_VAL          ))
+        sensitive << (*(in_NRESET))
+		  << (*(in_WRITE_QUEUE_IN_VAL          ))
                   << (*(in_WRITE_QUEUE_IN_WRITE_RD     ))
                   << (*(in_WRITE_QUEUE_IN_NUM_REG_RD   ))
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Network/Execution_unit_to_Write_unit/src/Execution_unit_to_Write_unit.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Network/Execution_unit_to_Write_unit/src/Execution_unit_to_Write_unit.cpp	(revision 131)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Network/Execution_unit_to_Write_unit/src/Execution_unit_to_Write_unit.cpp	(revision 132)
@@ -88,5 +88,6 @@
 	SC_METHOD (genMealy);
 	dont_initialize ();
-	sensitive << (*(in_CLOCK)).pos();
+	sensitive << (*(in_CLOCK)).neg()
+		  << (*(in_NRESET));
 	for (uint32_t i=0; i<_param->_nb_execute_unit; i++)
 	  for (uint32_t j=0; j<_param->_nb_execute_unit_port[i]; j++)
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Network/Read_unit_to_Execution_unit/src/Read_unit_to_Execution_unit.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Network/Read_unit_to_Execution_unit/src/Read_unit_to_Execution_unit.cpp	(revision 131)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Network/Read_unit_to_Execution_unit/src/Read_unit_to_Execution_unit.cpp	(revision 132)
@@ -88,5 +88,6 @@
 	SC_METHOD (genMealy);
 	dont_initialize ();
-	sensitive << (*(in_CLOCK)).neg();
+	sensitive << (*(in_CLOCK)).neg()
+		  << (*(in_NRESET));
 
 	for (uint32_t i=0; i<_param->_nb_read_unit; i++)
@@ -105,5 +106,7 @@
 			<< (*(in_READ_UNIT_OUT_WRITE_RE              [i][j]))
 			<< (*(in_READ_UNIT_OUT_NUM_REG_RE            [i][j]))
-			<< (*(in_READ_UNIT_OUT_STORE_QUEUE_PTR_WRITE [i][j]));
+			<< (*(in_READ_UNIT_OUT_STORE_QUEUE_PTR_WRITE [i][j]))
+			<< (*(in_READ_UNIT_OUT_STORE_QUEUE_PTR_READ  [i][j]))
+			<< (*(in_READ_UNIT_OUT_STORE_QUEUE_EMPTY     [i][j]));
 
 	      if (_param->_have_port_load_queue_ptr)
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue.cpp	(revision 131)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue.cpp	(revision 132)
@@ -98,4 +98,5 @@
     dont_initialize ();
 //     sensitive << (*(in_CLOCK)).neg();
+    sensitive << (*(in_NRESET));
     for (uint32_t j=0; j<_param->_nb_gpr_read; j++)
       {
@@ -135,4 +136,5 @@
     dont_initialize ();
 //     sensitive << (*(in_CLOCK)).neg();
+    sensitive << (*(in_NRESET));
     for (uint32_t j=0; j<_param->_nb_gpr_read; j++)
       {
@@ -164,4 +166,5 @@
     dont_initialize ();
 //     sensitive << (*(in_CLOCK)).neg();
+    sensitive << (*(in_NRESET));
     for (uint32_t j=0; j<_param->_nb_gpr_read; j++)
       {
@@ -193,4 +196,5 @@
     dont_initialize ();
 //     sensitive << (*(in_CLOCK)).neg();
+    sensitive << (*(in_NRESET));
     for (uint32_t j=0; j<_param->_nb_gpr_write; j++)
       {
@@ -223,4 +227,5 @@
     dont_initialize ();
 //     sensitive << (*(in_CLOCK)).neg();
+    sensitive << (*(in_NRESET));
     for (uint32_t j=0; j<_param->_nb_gpr_write; j++)
       {
@@ -252,4 +257,5 @@
     dont_initialize ();
 //     sensitive << (*(in_CLOCK)).neg();
+    sensitive << (*(in_NRESET));
     for (uint32_t j=0; j<_param->_nb_gpr_write; j++)
       {
@@ -281,4 +287,5 @@
     dont_initialize ();
 //     sensitive << (*(in_CLOCK)).neg();
+    sensitive << (*(in_NRESET));
     for (uint32_t j=0; j<_param->_nb_spr_read; j++)
       {
@@ -318,4 +325,5 @@
     dont_initialize ();
 //     sensitive << (*(in_CLOCK)).neg();
+    sensitive << (*(in_NRESET));
     for (uint32_t j=0; j<_param->_nb_spr_read; j++)
       {
@@ -347,4 +355,5 @@
     dont_initialize ();
 //     sensitive << (*(in_CLOCK)).neg();
+    sensitive << (*(in_NRESET));
     for (uint32_t j=0; j<_param->_nb_spr_read; j++)
       {
@@ -376,4 +385,5 @@
     dont_initialize ();
 //     sensitive << (*(in_CLOCK)).neg();
+    sensitive << (*(in_NRESET));
     for (uint32_t j=0; j<_param->_nb_spr_write; j++)
       {
@@ -406,4 +416,5 @@
     dont_initialize ();
 //     sensitive << (*(in_CLOCK)).neg();
+    sensitive << (*(in_NRESET));
     for (uint32_t j=0; j<_param->_nb_spr_write; j++)
       {
@@ -435,4 +446,5 @@
     dont_initialize ();
 //     sensitive << (*(in_CLOCK)).neg();
+    sensitive << (*(in_NRESET));
     for (uint32_t j=0; j<_param->_nb_spr_write; j++)
       {
@@ -464,4 +476,5 @@
     dont_initialize ();
 //     sensitive << (*(in_CLOCK)).neg();
+    sensitive << (*(in_NRESET));
     for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
       {
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Context_State/src/Context_State.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Context_State/src/Context_State.cpp	(revision 131)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Context_State/src/Context_State.cpp	(revision 132)
@@ -112,5 +112,7 @@
 	SC_METHOD (genMealy_decod_event);
 	dont_initialize ();
-	sensitive << (*(in_CLOCK)).neg(); // use internal register
+	sensitive << (*(in_CLOCK)).neg() // use internal register
+		  << (*(in_NRESET));
+
         for (uint32_t i=0; i<_param->_nb_decod_unit; ++i)
           {
@@ -136,5 +138,6 @@
 	dont_initialize ();
 // 	sensitive << (*(in_CLOCK)).neg(); // use internal register
-        sensitive << (*(in_COMMIT_EVENT_VAL             ));
+        sensitive << (*(in_NRESET))
+		  << (*(in_COMMIT_EVENT_VAL             ));
         if (_param->_have_port_context_id)				        
         sensitive << (*(in_COMMIT_EVENT_CONTEXT_ID      ));
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/src/Decod.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/src/Decod.cpp	(revision 131)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/src/Decod.cpp	(revision 132)
@@ -89,4 +89,5 @@
 	dont_initialize ();
 	sensitive << (*(in_CLOCK)).neg() //use internal register
+		  << (*(in_NRESET))
 		  << (*(in_CONTEXT_EVENT_ACK));
 	for (uint32_t i=0; i<_param->_nb_context; i++)
@@ -98,4 +99,5 @@
 // 		      << (*(in_IFETCH_ADDRESS_NEXT                [i]))
 		      << (*(in_IFETCH_BRANCH_STATE                [i]))
+		      << (*(in_IFETCH_EXCEPTION                   [i]))
 		      << (*(in_CONTEXT_DECOD_ENABLE               [i]));
 	    if (_param->_have_port_context_id)
@@ -113,5 +115,5 @@
 	  sensitive << (*(in_DECOD_ACK            [i]))
 		    << (*(in_PREDICT_ACK          [i]))
-// 		    << (*(in_PREDICT_CAN_CONTINUE [i]))
+ 		    << (*(in_PREDICT_CAN_CONTINUE [i]))
 	    ;
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod_queue/SelfTest/src/test.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod_queue/SelfTest/src/test.cpp	(revision 131)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod_queue/SelfTest/src/test.cpp	(revision 132)
@@ -24,4 +24,6 @@
 
   Tusage_t _usage = USE_ALL;
+
+  _model.set_model(MODEL_SYSTEMC,true);
 
 //   _usage = usage_unset(_usage,USE_SYSTEMC              );
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod_queue/src/Decod_queue.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod_queue/src/Decod_queue.cpp	(revision 131)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod_queue/src/Decod_queue.cpp	(revision 132)
@@ -125,6 +125,6 @@
 	SC_METHOD (genMealy_decod_out);
 	dont_initialize ();
-	sensitive << (*(in_CLOCK)).neg(); // use internal register
-
+	sensitive << (*(in_CLOCK)).neg() // use internal register
+		  << (*(in_NRESET));
 	for (uint32_t i=0; i<_param->_nb_inst_decod; i++)
 	  sensitive << (*(in_DECOD_OUT_ACK [i]));
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Front_end_Glue/src/Front_end_Glue.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Front_end_Glue/src/Front_end_Glue.cpp	(revision 131)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Front_end_Glue/src/Front_end_Glue.cpp	(revision 132)
@@ -115,4 +115,5 @@
 	dont_initialize ();
 // 	sensitive << (*(in_CLOCK)).neg(); // don't need internal register
+	sensitive << (*(in_NRESET));
         for (uint32_t i=0; i<_param->_nb_decod_unit; ++i)
           for (uint32_t j=0; j<_param->_nb_inst_decod[i]; ++j)
@@ -129,4 +130,5 @@
 	dont_initialize ();
 // 	sensitive << (*(in_CLOCK)).neg(); // don't need internal register
+	sensitive << (*(in_NRESET));
         for (uint32_t i=0; i<_param->_nb_inst_branch_complete; ++i)
           sensitive << (*( in_BRANCH_COMPLETE_VAL                             [i]))
@@ -144,4 +146,5 @@
 	dont_initialize ();
 // 	sensitive << (*(in_CLOCK)).neg(); // don't need internal register
+	sensitive << (*(in_NRESET));
         for (uint32_t i=0; i<_param->_nb_context; ++i)
           {
@@ -170,4 +173,5 @@
 	dont_initialize ();
 // 	sensitive << (*(in_CLOCK)).neg(); // don't need internal register
+	sensitive << (*(in_NRESET));
         for (uint32_t i=0; i<_param->_nb_context; ++i)
           {
@@ -190,4 +194,5 @@
 	dont_initialize ();
 // 	sensitive << (*(in_CLOCK)).neg(); // don't need internal register
+	sensitive << (*(in_NRESET));
         for (uint32_t i=0; i<_param->_nb_context; ++i)
             sensitive << (*( in_NB_INST_DECOD_UNIT_DECOD_ALL [i]));
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Address_management/src/Address_management_genMoore.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Address_management/src/Address_management_genMoore.cpp	(revision 131)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Address_management/src/Address_management_genMoore.cpp	(revision 132)
@@ -22,5 +22,6 @@
   void Address_management::genMoore (void)
   {
-    log_printf(FUNC,Address_management,FUNCTION,"Begin");
+    log_begin(Address_management,FUNCTION);
+    log_function(Address_management,FUNCTION,_name.c_str());
 
     if (PORT_READ(in_NRESET))
@@ -52,4 +53,5 @@
     PORT_WRITE(out_PREDICT_PC_CURRENT           ,reg_PC_NEXT           );
     PORT_WRITE(out_PREDICT_PC_CURRENT_IS_DS_TAKE,reg_PC_NEXT_IS_DS_TAKE);
+
       }
     else
@@ -59,8 +61,11 @@
       }
 
+    log_printf(TRACE,Address_management,FUNCTION," * ADDRESS_VAL : %d",internal_ADDRESS_VAL);
+    log_printf(TRACE,Address_management,FUNCTION," * PREDICT_VAL : %d",internal_PREDICT_VAL);
+
     PORT_WRITE(out_ADDRESS_VAL,internal_ADDRESS_VAL);
     PORT_WRITE(out_PREDICT_VAL,internal_PREDICT_VAL);
 
-    log_printf(FUNC,Address_management,FUNCTION,"End");
+    log_end(Address_management,FUNCTION);
   };
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_queue/src/Ifetch_queue.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_queue/src/Ifetch_queue.cpp	(revision 131)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_queue/src/Ifetch_queue.cpp	(revision 132)
@@ -76,4 +76,7 @@
 	log_printf(INFO,Ifetch_queue,FUNCTION,_("<%s> Method - constant"),_name.c_str());
 
+#ifdef SYSTEMCASS_SPECIFIC
+        constant();
+#else
 	SC_METHOD (constant);
 // 	dont_initialize ();
@@ -82,5 +85,5 @@
 	// List dependency information
 # endif    
-
+#endif
 	log_printf(INFO,Ifetch_queue,FUNCTION,_("<%s> Method - transition"),_name.c_str());
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_queue/src/Ifetch_queue_genMoore.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_queue/src/Ifetch_queue_genMoore.cpp	(revision 131)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_queue/src/Ifetch_queue_genMoore.cpp	(revision 132)
@@ -21,5 +21,6 @@
   void Ifetch_queue::genMoore (void)
   {
-    log_printf(FUNC,Ifetch_queue,FUNCTION,"Begin");
+    log_begin(Ifetch_queue,FUNCTION);
+    log_function(Ifetch_queue,FUNCTION,_name.c_str());
 
     if (PORT_READ(in_NRESET))
@@ -30,5 +31,7 @@
     {
       internal_ADDRESS_ACK = (_queue[reg_PTR_WRITE]->_state == IFETCH_QUEUE_STATE_EMPTY);
-      
+ 
+      log_printf(TRACE,Ifetch_queue,FUNCTION,"  * ADDRESS_ACK : %d",internal_ADDRESS_ACK);
+     
       if (_param->_have_port_ifetch_queue_ptr)
       PORT_WRITE(out_ADDRESS_IFETCH_QUEUE_ID, reg_PTR_WRITE);
@@ -44,4 +47,7 @@
         {
           internal_DECOD_VAL [i] = ack and _queue[reg_PTR_READ]->_instruction_enable [i];
+
+          log_printf(TRACE,Ifetch_queue,FUNCTION,"  * DECOD_VAL [%d] : %d",i,internal_DECOD_VAL [i]);
+
           PORT_WRITE(out_DECOD_INSTRUCTION [i],         _queue[reg_PTR_READ]->_instruction        [i]);
         }
@@ -70,5 +76,5 @@
     PORT_WRITE(out_DECOD_VAL [i], internal_DECOD_VAL [i]);
 
-    log_printf(FUNC,Ifetch_queue,FUNCTION,"End");
+    log_end(Ifetch_queue,FUNCTION);
   };
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_unit_Glue/src/Ifetch_unit_Glue.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_unit_Glue/src/Ifetch_unit_Glue.cpp	(revision 131)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_unit_Glue/src/Ifetch_unit_Glue.cpp	(revision 132)
@@ -103,5 +103,6 @@
 	dont_initialize ();
 // 	sensitive << (*(in_CLOCK)).neg(); // don't use internal register
-	sensitive << (*(in_ICACHE_REQ_ADDRESS_VAL))
+	sensitive << (*(in_NRESET))
+		  << (*(in_ICACHE_REQ_ADDRESS_VAL))
 		  << (*(in_ICACHE_REQ_ACK        ))
 		  << (*(in_ICACHE_REQ_QUEUE_ACK  ))
@@ -130,5 +131,6 @@
 	dont_initialize ();
 // 	sensitive << (*(in_CLOCK)).neg(); // don't use internal register
-	sensitive << (*(in_EVENT_VAL        ))
+	sensitive << (*(in_NRESET))
+		  << (*(in_EVENT_VAL        ))
 		  << (*(in_EVENT_ADDRESS_ACK))
 		  << (*(in_EVENT_QUEUE_ACK  ));
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/Branch_Target_Buffer_Glue/src/Branch_Target_Buffer_Glue.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/Branch_Target_Buffer_Glue/src/Branch_Target_Buffer_Glue.cpp	(revision 131)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/Branch_Target_Buffer_Glue/src/Branch_Target_Buffer_Glue.cpp	(revision 132)
@@ -91,5 +91,6 @@
 	SC_METHOD (genMealy_predict);
 	dont_initialize ();
-// 	sensitive << (*(in_CLOCK)).neg(); // don't use internal register
+//  	sensitive << (*(in_CLOCK)).neg(); // don't use internal register
+	sensitive << (*(in_NRESET));
 
 	for (uint32_t i=0; i<_param->_nb_inst_predict; i++)
@@ -186,5 +187,6 @@
 	dont_initialize ();
 // 	sensitive << (*(in_CLOCK)).neg(); // don't use internal register
-
+	sensitive << (*(in_NRESET));
+		  
 	for (uint32_t i=0; i<_param->_nb_inst_decod; i++)
 	  {
@@ -228,4 +230,5 @@
 	dont_initialize ();
 // 	sensitive << (*(in_CLOCK)).neg(); // don't use internal register
+	sensitive << (*(in_NRESET));
 
 	for (uint32_t i=0; i<_param->_nb_inst_update; i++)
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/Branch_Target_Buffer_Register/src/Branch_Target_Buffer_Register.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/Branch_Target_Buffer_Register/src/Branch_Target_Buffer_Register.cpp	(revision 131)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/Branch_Target_Buffer_Register/src/Branch_Target_Buffer_Register.cpp	(revision 132)
@@ -101,5 +101,6 @@
 	SC_METHOD (genMealy_predict);
 	dont_initialize ();
-	sensitive << (*(in_CLOCK)).neg(); // use internal register
+	sensitive << (*(in_CLOCK)).neg() // use internal register
+		  << (*(in_NRESET));
 	for (uint32_t i=0; i<_param->_nb_inst_predict; i++)
 	  {
@@ -147,5 +148,6 @@
 	SC_METHOD (genMealy_decod);
 	dont_initialize ();
-	sensitive << (*(in_CLOCK)).neg(); // use internal register
+	sensitive << (*(in_CLOCK)).neg() // use internal register
+		  << (*(in_NRESET));
 	for (uint32_t i=0; i<_param->_nb_inst_decod; i++)
 	  {
@@ -179,5 +181,6 @@
 	SC_METHOD (genMealy_update);
 	dont_initialize ();
-	sensitive << (*(in_CLOCK)).neg(); // use internal register
+	sensitive << (*(in_CLOCK)).neg() // use internal register
+		  << (*(in_NRESET));
 	for (uint32_t i=0; i<_param->_nb_inst_update; i++)
 	  {
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Direction_Glue/src/Direction_Glue.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Direction_Glue/src/Direction_Glue.cpp	(revision 131)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Direction_Glue/src/Direction_Glue.cpp	(revision 132)
@@ -138,4 +138,5 @@
 	    dont_initialize ();
 // 	    sensitive << (*(in_CLOCK)).neg(); // don't use internal register
+	    sensitive << (*(in_NRESET));
 	    for (uint32_t i=0; i<_param->_nb_inst_predict; i++)
 	      {
@@ -221,4 +222,5 @@
 	    dont_initialize ();
 // 	    sensitive << (*(in_CLOCK)).neg(); // don't use internal register
+	    sensitive << (*(in_NRESET));
 	    for (uint32_t i=0; i<_param->_nb_inst_update; i++)
 	      sensitive << (*(in_UPDATE_VAL               [i]))
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Meta_Predictor_Glue/src/Meta_Predictor_Glue.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Meta_Predictor_Glue/src/Meta_Predictor_Glue.cpp	(revision 131)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Meta_Predictor_Glue/src/Meta_Predictor_Glue.cpp	(revision 132)
@@ -87,4 +87,5 @@
 	dont_initialize ();
 // 	sensitive << (*(in_CLOCK)).neg(); // don't need internal register
+	sensitive << (*(in_NRESET));
         for (uint32_t i=0; i<_param->_nb_inst_update; ++i)
           {
@@ -100,4 +101,5 @@
 	dont_initialize ();
 // 	sensitive << (*(in_CLOCK)).neg(); // don't need internal register
+	sensitive << (*(in_NRESET));
         for (uint32_t i=0; i<_param->_nb_inst_update; ++i)
           sensitive << (*(in_UPDATE_HISTORY     [i]))
@@ -114,4 +116,5 @@
 	dont_initialize ();
 // 	sensitive << (*(in_CLOCK)).neg(); // don't need internal register
+	sensitive << (*(in_NRESET));
         for (uint32_t i=0; i<_param->_nb_inst_predict; ++i)
           {
@@ -131,4 +134,5 @@
 	dont_initialize ();
 // 	sensitive << (*(in_CLOCK)).neg(); // don't need internal register
+	sensitive << (*(in_NRESET));
         for (uint32_t i=0; i<_param->_nb_inst_predict; ++i)
           for (uint32_t j=0; j<_param->_nb_predictor; ++j)
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Two_Level_Branch_Predictor/src/Two_Level_Branch_Predictor.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Two_Level_Branch_Predictor/src/Two_Level_Branch_Predictor.cpp	(revision 131)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Two_Level_Branch_Predictor/src/Two_Level_Branch_Predictor.cpp	(revision 132)
@@ -99,5 +99,6 @@
 	SC_METHOD (genMealy_predict);
 	dont_initialize ();
-	sensitive << (*(in_CLOCK)).neg(); // need internal register
+	sensitive << (*(in_CLOCK)).neg() // need internal register
+		  << (*(in_NRESET));
 
         for (uint32_t i=0; i<_param->_nb_inst_predict; ++i)
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Prediction_unit_Glue/src/Prediction_unit_Glue.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Prediction_unit_Glue/src/Prediction_unit_Glue.cpp	(revision 131)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Prediction_unit_Glue/src/Prediction_unit_Glue.cpp	(revision 132)
@@ -91,6 +91,6 @@
         
         dont_initialize ();
-        sensitive << (*(in_CLOCK)).neg(); // use internal register
-        
+        sensitive << (*(in_CLOCK)).neg() // use internal register
+		  << (*(in_NRESET));
         for (uint32_t i=0; i<_param->_nb_context; i++)
           {
@@ -1034,5 +1034,6 @@
         SC_METHOD (genMealy_decod);
         dont_initialize ();
-        sensitive << (*(in_CLOCK)).neg(); // use internal register
+        sensitive << (*(in_CLOCK)).neg() // use internal register
+		  << (*(in_NRESET));
         for (uint32_t i=0; i<_param->_nb_decod_unit; i++)
           for (uint32_t j=0; j<_param->_nb_inst_decod[i]; j++)
@@ -1711,4 +1712,5 @@
         dont_initialize ();
 //      sensitive << (*(in_CLOCK)).neg(); // don't use internal register
+	sensitive << (*(in_NRESET));
         for (uint32_t i=0; i<_param->_nb_inst_branch_update; i++)
           sensitive << (*(in_UPDATE_BTB_ACK           [i]))
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Return_Address_Stack/src/Return_Address_Stack.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Return_Address_Stack/src/Return_Address_Stack.cpp	(revision 131)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Return_Address_Stack/src/Return_Address_Stack.cpp	(revision 132)
@@ -100,10 +100,12 @@
 	SC_METHOD (genMealy_decod);
 	dont_initialize ();
-	sensitive << (*(in_CLOCK)).neg(); // use internal registers
+	sensitive << (*(in_CLOCK)).neg() // use internal registers
+		  << (*(in_NRESET));
 	for (uint32_t i=0; i<_param->_nb_inst_decod; i++)
 	  {
 	    if (_param->_have_port_context_id)
 	    sensitive << (*( in_DECOD_CONTEXT_ID [i])); 
-	    sensitive << (*( in_DECOD_PUSH       [i]));
+	    sensitive << (*( in_DECOD_VAL        [i]))
+		      << (*( in_DECOD_PUSH       [i]));
 	  }
 
@@ -130,10 +132,12 @@
 	SC_METHOD (genMealy_predict);
 	dont_initialize ();
-	sensitive << (*(in_CLOCK)).neg(); // use internal registers
+	sensitive << (*(in_CLOCK)).neg() // use internal registers
+		  << (*(in_NRESET));
 	for (uint32_t i=0; i<_param->_nb_inst_predict; i++)
 	  {
 	    if (_param->_have_port_context_id)
 	    sensitive << (*( in_PREDICT_CONTEXT_ID [i])); 
-	    sensitive << (*( in_PREDICT_PUSH       [i]));
+	    sensitive << (*( in_PREDICT_VAL        [i]))
+		      << (*( in_PREDICT_PUSH       [i]));
 	  }
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/src/Update_Prediction_Table.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/src/Update_Prediction_Table.cpp	(revision 131)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/src/Update_Prediction_Table.cpp	(revision 132)
@@ -112,5 +112,6 @@
 	SC_METHOD (genMealy_predict);
 	dont_initialize ();
-	sensitive << (*(in_CLOCK)).neg(); // use internal register
+	sensitive << (*(in_CLOCK)).neg() // use internal register
+		  << (*(in_NRESET));
 	for (uint32_t i=0; i<_param->_nb_inst_predict; i++)
 	  {
@@ -134,5 +135,6 @@
 	SC_METHOD (genMealy_decod);
 	dont_initialize ();
-	sensitive << (*(in_CLOCK)).neg(); // use internal register
+	sensitive << (*(in_CLOCK)).neg() // use internal register
+		  << (*(in_NRESET));
 	for (uint32_t i=0; i<_param->_nb_inst_decod; i++)
 	  {
@@ -154,5 +156,6 @@
 	SC_METHOD (genMealy_branch_complete);
 	dont_initialize ();
-	sensitive << (*(in_CLOCK)).neg(); // use internal register
+	sensitive << (*(in_CLOCK)).neg() // use internal register
+		  << (*(in_NRESET));
 	for (uint32_t i=0; i<_param->_nb_inst_branch_complete; i++)
 	  {
@@ -161,6 +164,7 @@
 	    if (_param->_have_port_depth)
 	    sensitive << (*(in_BRANCH_COMPLETE_DEPTH [i]));
-	    sensitive << (*(in_BRANCH_COMPLETE_NO_SEQUENCE [i]))
-		      << (*(in_BRANCH_COMPLETE_ADDRESS [i]));
+	    sensitive << (*(in_BRANCH_COMPLETE_VAL         [i]))
+		      << (*(in_BRANCH_COMPLETE_NO_SEQUENCE [i]))
+		      << (*(in_BRANCH_COMPLETE_ADDRESS     [i]));
 	  }
 	
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/src/Commit_unit.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/src/Commit_unit.cpp	(revision 131)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/src/Commit_unit.cpp	(revision 132)
@@ -113,5 +113,6 @@
 	SC_METHOD (genMealy_insert);
 	dont_initialize ();
-	sensitive << (*(in_CLOCK)).neg(); // need internal register
+	sensitive << (*(in_CLOCK)).neg() // need internal register
+		  << (*(in_NRESET));
 // 	for (uint32_t i=0; i<_param->_nb_rename_unit; i++)
 // 	  for (uint32_t j=0; j<_param->_nb_inst_insert[i]; j++)
@@ -135,5 +136,6 @@
 	SC_METHOD (genMealy_retire);
 	dont_initialize ();
-	sensitive << (*(in_CLOCK)).neg(); // need internal register
+	sensitive << (*(in_CLOCK)).neg() // need internal register
+		  << (*(in_NRESET));
 	for (uint32_t i=0; i<_param->_nb_rename_unit; i++)
 	  for (uint32_t j=0; j<_param->_nb_inst_retire[i]; j++)
@@ -243,5 +245,6 @@
 	SC_METHOD (genMealy_commit);
 	dont_initialize ();
-	sensitive << (*(in_CLOCK)).neg(); // need internal register
+	sensitive << (*(in_CLOCK)).neg() // need internal register
+		  << (*(in_NRESET));
         for (uint32_t j=0; j<_param->_nb_inst_commit; j++)
           {
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Issue_queue/src/Issue_queue.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Issue_queue/src/Issue_queue.cpp	(revision 131)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Issue_queue/src/Issue_queue.cpp	(revision 132)
@@ -134,6 +134,6 @@
             SC_METHOD (genMealy_issue_in);
             dont_initialize ();
-            sensitive << (*(in_CLOCK)).neg(); // need internal register
-            
+            sensitive << (*(in_CLOCK)).neg() // need internal register
+		      << (*(in_NRESET));
 # ifdef SYSTEMCASS_SPECIFIC
             // List dependency information
@@ -147,6 +147,6 @@
             SC_METHOD (genMealy_issue_out);
             dont_initialize ();
-            sensitive << (*(in_CLOCK)).neg(); // need internal register
-
+            sensitive << (*(in_CLOCK)).neg() // need internal register
+		      << (*(in_NRESET));
             if (_param->_queue_scheme == ISSUE_QUEUE_SCHEME_IN_ORDER)
               {
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/src/OOO_Engine_Glue.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/src/OOO_Engine_Glue.cpp	(revision 131)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/src/OOO_Engine_Glue.cpp	(revision 132)
@@ -102,4 +102,5 @@
 	dont_initialize ();
 	//sensitive << (*(in_CLOCK)).neg(); // don't need internal register
+	sensitive << (*(in_NRESET));
         for (uint32_t i=0; i<_param->_nb_front_end; ++i)
           for (uint32_t j=0; j<_param->_nb_inst_decod[i]; ++j)
@@ -116,4 +117,5 @@
 	dont_initialize ();
 	//sensitive << (*(in_CLOCK)).neg(); // don't need internal register
+	sensitive << (*(in_NRESET));
         {
           uint32_t x=0;
@@ -136,4 +138,5 @@
 	dont_initialize ();
 	//sensitive << (*(in_CLOCK)).neg(); // don't need internal register
+	sensitive << (*(in_NRESET));
 
         for (uint32_t i=0; i<_param->_nb_rename_unit; ++i)
@@ -220,4 +223,5 @@
 	dont_initialize ();
 	//sensitive << (*(in_CLOCK)).neg(); // don't need internal register
+	sensitive << (*(in_NRESET));
         for (uint32_t i=0; i<_param->_nb_front_end; ++i)
           for (uint32_t j=0; j<_param->_nb_context[i]; ++j)
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 131)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Reexecute_unit/src/Reexecute_unit.cpp	(revision 132)
@@ -112,5 +112,6 @@
 	SC_METHOD (genMealy_reexecute);
 	dont_initialize ();
-	sensitive << (*(in_CLOCK)).neg(); // need internal register
+	sensitive << (*(in_CLOCK)).neg() // need internal register
+		  << (*(in_NRESET));
 
 	for (uint32_t i=0; i<_param->_nb_inst_reexecute; i++)
@@ -122,5 +123,7 @@
 	    if (_param->_have_port_rob_ptr  )
 	    sensitive << (*(in_REEXECUTE_ROB_PACKET_ID             [i]));
-	    sensitive << (*(in_REEXECUTE_ROB_OPERATION             [i]))
+	    sensitive << (*(in_REEXECUTE_ROB_VAL                   [i]))
+		      << (*(in_REEXECUTE_ACK                       [i]))
+		      << (*(in_REEXECUTE_ROB_OPERATION             [i]))
 		      << (*(in_REEXECUTE_ROB_TYPE                  [i]))
 		      << (*(in_REEXECUTE_ROB_STORE_QUEUE_PTR_WRITE [i]));
@@ -135,5 +138,6 @@
 	SC_METHOD (genMealy_commit);
 	dont_initialize ();
-	sensitive << (*(in_CLOCK)).neg(); // need internal register
+	sensitive << (*(in_CLOCK)).neg() // need internal register
+		  << (*(in_NRESET));
 
 	for (uint32_t i=0; i<_param->_nb_execute_loop; ++i)
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Load_Store_pointer_unit/src/Load_Store_pointer_unit.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Load_Store_pointer_unit/src/Load_Store_pointer_unit.cpp	(revision 131)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Load_Store_pointer_unit/src/Load_Store_pointer_unit.cpp	(revision 132)
@@ -101,5 +101,7 @@
 	SC_METHOD (genMealy_insert);
 	dont_initialize ();
-	sensitive << (*(in_CLOCK)).neg();
+	sensitive << (*(in_CLOCK)).neg()
+		  << (*(in_NRESET));
+
 	for (uint32_t i=0; i<_param->_nb_inst_insert; i++)
 	  {
@@ -150,5 +152,7 @@
 	SC_METHOD (genMealy_retire);
 	dont_initialize ();
-	sensitive << (*(in_CLOCK)).neg();
+	sensitive << (*(in_CLOCK)).neg()
+		  << (*(in_NRESET));
+
 	for (uint32_t i=0; i<_param->_nb_inst_retire; i++)
 	  {
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Dependency_checking_unit/src/Dependency_checking_unit.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Dependency_checking_unit/src/Dependency_checking_unit.cpp	(revision 131)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Dependency_checking_unit/src/Dependency_checking_unit.cpp	(revision 132)
@@ -93,4 +93,5 @@
 	dont_initialize ();
 // 	sensitive << (*(in_CLOCK)).neg(); // don't need internal register
+	sensitive << (*(in_NRESET));
 	for (uint32_t i=0;i<_param->_nb_inst_insert; i++)
 	  {
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.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.cpp	(revision 131)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Free_List_unit/src/Free_List_unit.cpp	(revision 132)
@@ -100,5 +100,7 @@
 	SC_METHOD (genMealy_pop);
 	dont_initialize ();
-	sensitive << (*(in_CLOCK)).neg(); // need internal register
+	sensitive << (*(in_CLOCK)).neg() // need internal register
+		  << (*(in_NRESET));
+
 	for (uint32_t i=0; i<_param->_nb_pop; i++)
 	  sensitive << (*(in_POP_GPR_VAL[i]))
@@ -121,5 +123,7 @@
 	SC_METHOD (genMealy_push_gpr);
 	dont_initialize ();
-	sensitive << (*(in_CLOCK)).neg(); // need internal register
+	sensitive << (*(in_CLOCK)).neg() // need internal register
+		  << (*(in_NRESET));
+
 	for (uint32_t i=0; i<_param->_nb_push; i++)
 	  sensitive << (*(in_PUSH_GPR_VAL    [i]))
@@ -140,5 +144,7 @@
 	SC_METHOD (genMealy_push_spr);
 	dont_initialize ();
-	sensitive << (*(in_CLOCK)).neg(); // need internal register
+	sensitive << (*(in_CLOCK)).neg() // need internal register
+		  << (*(in_NRESET));
+
 	for (uint32_t i=0; i<_param->_nb_push; i++)
 	  sensitive << (*(in_PUSH_SPR_VAL    [i]))
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 131)
+++ 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 132)
@@ -102,5 +102,7 @@
 	SC_METHOD (genMealy_rename);
 	dont_initialize ();
-	sensitive << (*(in_CLOCK)).neg(); // need internal register
+	sensitive << (*(in_CLOCK)).neg() // need internal register
+		  << (*(in_NRESET));
+
         for (uint32_t i=0; i<_param->_nb_inst_insert; i++)
           {
@@ -130,5 +132,7 @@
 	SC_METHOD (genMealy_retire);
 	dont_initialize ();
-	sensitive << (*(in_CLOCK)).neg(); // need internal register
+	sensitive << (*(in_CLOCK)).neg() // need internal register
+		  << (*(in_NRESET));
+
         for (uint32_t i=0; i<_param->_nb_inst_retire; ++i)
           {
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_translation_unit_Glue/src/Register_translation_unit_Glue.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_translation_unit_Glue/src/Register_translation_unit_Glue.cpp	(revision 131)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_translation_unit_Glue/src/Register_translation_unit_Glue.cpp	(revision 132)
@@ -90,4 +90,5 @@
 	dont_initialize ();
 // 	sensitive << (*(in_CLOCK)).neg(); // don't need internal register
+	sensitive << (*(in_NRESET));
 	for (uint32_t i=0; i<_param->_nb_inst_retire; i++)
 	  sensitive << (*(in_RETIRE_VAL           [i]))
@@ -115,4 +116,5 @@
 	dont_initialize ();
 // 	sensitive << (*(in_CLOCK)).neg(); // don't need internal register
+	sensitive << (*(in_NRESET));
 	for (uint32_t i=0; i<_param->_nb_inst_insert; i++)
 	  sensitive << (*(in_INSERT_RENAME_VAL     [i]))
@@ -164,4 +166,5 @@
 	dont_initialize ();
 // 	sensitive << (*(in_CLOCK)).neg(); // don't need internal register
+	sensitive << (*(in_NRESET));
 	for (uint32_t i=0; i<_param->_nb_inst_insert; i++)
 	  sensitive << (*(in_INSERT_DEPENDENCY_CHECKING_READ_RA            [i]))
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Rename_select/src/Rename_select.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Rename_select/src/Rename_select.cpp	(revision 131)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Rename_select/src/Rename_select.cpp	(revision 132)
@@ -88,5 +88,7 @@
 	SC_METHOD (genMealy);
 	dont_initialize ();
-	sensitive << (*(in_CLOCK)).neg();
+	sensitive << (*(in_CLOCK)).neg()
+		  << (*(in_NRESET));
+
 	for (uint32_t i=0; i<_param->_nb_front_end; i++)
 	  for (uint32_t j=0; j<_param->_nb_inst_decod [i]; j++)
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Rename_unit_Glue/src/Rename_unit_Glue.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Rename_unit_Glue/src/Rename_unit_Glue.cpp	(revision 131)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Rename_unit_Glue/src/Rename_unit_Glue.cpp	(revision 132)
@@ -101,5 +101,6 @@
 	dont_initialize ();
 // 	sensitive << (*(in_CLOCK)).neg(); // don't need internal register
-	
+	sensitive << (*(in_NRESET));
+
 	for (uint32_t i=0; i<_param->_nb_inst_insert; i++)
 	  sensitive 
@@ -120,4 +121,5 @@
 	dont_initialize ();
 // 	sensitive << (*(in_CLOCK)).neg(); // don't need internal register
+	sensitive << (*(in_NRESET));
 	for (uint32_t i=0; i<_param->_nb_inst_retire; i++)
 	  sensitive 
@@ -136,4 +138,5 @@
 	dont_initialize ();
 // 	sensitive << (*(in_CLOCK)).neg(); // don't need internal register
+	sensitive << (*(in_NRESET));
 	for (uint32_t i=0; i<_param->_nb_front_end; i++)
 	  for (uint32_t j=0; j<_param->_nb_context[i]; j++)
@@ -153,4 +156,5 @@
 	dont_initialize ();
 // 	sensitive << (*(in_CLOCK)).neg(); // don't need internal register
+	sensitive << (*(in_NRESET));
 	for (uint32_t i=0; i<_param->_nb_inst_retire; i++)
 	  {
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Special_Register_unit/src/Special_Register_unit.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Special_Register_unit/src/Special_Register_unit.cpp	(revision 131)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Special_Register_unit/src/Special_Register_unit.cpp	(revision 132)
@@ -112,9 +112,11 @@
 	SC_METHOD (genMealy_spr_access);
 	dont_initialize ();
-	sensitive << (*(in_CLOCK)).neg(); // need internal register
-	
+	sensitive << (*(in_CLOCK)).neg() // need internal register
+		  << (*(in_NRESET));
+
 	for (uint32_t i=0; i<_param->_nb_inst_reexecute; i++)
 	  {
-	    sensitive << (*(in_SPR_ACCESS_NUM_GROUP    [i]))
+	    sensitive << (*(in_SPR_ACCESS_VAL          [i]))
+		      << (*(in_SPR_ACCESS_NUM_GROUP    [i]))
 		      << (*(in_SPR_ACCESS_NUM_REG      [i]))
 // 		      << (*(in_SPR_ACCESS_VAL          [i]))
