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]))
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Comparator/src/Comparator.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Comparator/src/Comparator.cpp	(revision 131)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Comparator/src/Comparator.cpp	(revision 132)
@@ -82,5 +82,6 @@
 	dont_initialize ();
 // 	sensitive << (*(in_CLOCK)).neg(); // don't need internal register
-        sensitive << (*(in_COMPARE_DATA_0))
+        sensitive << (*(in_NRESET))
+		  << (*(in_COMPARE_DATA_0))
                   << (*(in_COMPARE_DATA_1));
 	
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Counter/src/Counter.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Counter/src/Counter.cpp	(revision 131)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Counter/src/Counter.cpp	(revision 132)
@@ -77,4 +77,5 @@
         SC_METHOD (genMealy);
         dont_initialize ();
+	sensitive << (*(in_NRESET));
         for (uint32_t i=0; i<_param->_nb_port; i++)
           sensitive << *(in_COUNTER_DATA   [i])
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Multiplier/src/Multiplier.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Multiplier/src/Multiplier.cpp	(revision 131)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Multiplier/src/Multiplier.cpp	(revision 132)
@@ -82,4 +82,5 @@
 	dont_initialize ();
 	sensitive << (*(in_CLOCK)).neg(); // need internal register
+	sensitive << (*(in_NRESET));
 
         if (_param->_latency == 0)
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 131)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic.cpp	(revision 132)
@@ -70,5 +70,7 @@
 	SC_METHOD (genMealy_read);
 	dont_initialize ();
-	sensitive << (*(in_CLOCK)).neg();
+	sensitive << (*(in_CLOCK)).neg()
+		  << (*(in_NRESET));
+
 	for (uint32_t i=0; i<_param->_nb_port_read; i++)
 	  {
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 131)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked.cpp	(revision 132)
@@ -95,5 +95,6 @@
     SC_METHOD (genMealy_read);
     dont_initialize ();
-    sensitive << (*(in_CLOCK)).neg();
+    sensitive << (*(in_CLOCK)).neg()
+	      << (*(in_NRESET));
     for (uint32_t i=0; i<_param->_nb_port_read; i++)
       {
@@ -124,5 +125,6 @@
     SC_METHOD (genMealy_write);
     dont_initialize ();
-    sensitive<< (*(in_CLOCK)).neg();
+    sensitive<< (*(in_CLOCK)).neg()
+	     << (*(in_NRESET));
     for (uint32_t i=0; i<_param->_nb_port_write; i++)
       {
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Shifter.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Shifter.cpp	(revision 131)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Shifter.cpp	(revision 132)
@@ -67,5 +67,6 @@
     SC_METHOD (genMealy_shift);
     dont_initialize ();
-    sensitive << (*(in_CLOCK)).neg();
+    sensitive << (*(in_CLOCK)).neg()
+	      << (*(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 131)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Sort/src/Sort.cpp	(revision 132)
@@ -88,4 +88,5 @@
 	dont_initialize ();
 // 	sensitive << (*(in_CLOCK)).neg(); // don't use internal register
+	sensitive << (*(in_NRESET));
 	for (uint32_t i=0; i<_param->_nb_input; i++)
 	  sensitive << (*(in_INPUT_VAL  [i]))
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 131)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Sort/src/Sort_genMealy.cpp	(revision 132)
@@ -29,6 +29,6 @@
       {
 	array[i].index = i;
-	array[i].val   = PORT_READ ( in_INPUT_VAL  [i]);
-	array[i].data  = PORT_READ ( in_INPUT_DATA [i]);
+	array[i].val   = PORT_READ( in_INPUT_VAL  [i]);
+	array[i].data  = PORT_READ( in_INPUT_DATA [i]);
       }
 
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 131)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Victim_Pseudo_LRU.cpp	(revision 132)
@@ -78,5 +78,6 @@
     SC_METHOD (genMealy);
     dont_initialize ();
-    sensitive << (*(in_CLOCK)).neg();
+    sensitive << (*(in_CLOCK)).neg()
+	      << (*(in_NRESET));
     for (uint32_t i=0; i<_param->_nb_access; i++)
       if (_param->_size_table>1)
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Version.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Version.h	(revision 131)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Version.h	(revision 132)
@@ -10,8 +10,8 @@
 #define MORPHEO_MAJOR_VERSION "0"
 #define MORPHEO_MINOR_VERSION "2"
-#define MORPHEO_REVISION      "131"
+#define MORPHEO_REVISION      "132"
 #define MORPHEO_CODENAME      "Castor"
 
-#define MORPHEO_DATE_DAY      "08"  
+#define MORPHEO_DATE_DAY      "11"  
 #define MORPHEO_DATE_MONTH    "07"
 #define MORPHEO_DATE_YEAR     "2009" 
Index: trunk/IPs/systemC/processor/Morpheo/Common/include/Systemc.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Common/include/Systemc.h	(revision 131)
+++ trunk/IPs/systemC/processor/Morpheo/Common/include/Systemc.h	(revision 132)
@@ -39,5 +39,5 @@
 #else
 # ifdef SYSTEMCASS_SPECIFIC
-#  define simulation_run(x) do{ sc_time t (x,TIME_UNIT); sc_start(t); } while(0)
+#  define simulation_run(x) do{ sc_start(x); } while(0)
 # else // systemc
 #  define simulation_run(x) do{ if(x==0) {sc_start(SC_ZERO_TIME);} else {sc_time t (x,TIME_UNIT); sc_start(t);}} while(0)
@@ -50,3 +50,2 @@
 #endif
 #endif
-
Index: trunk/IPs/systemC/processor/Morpheo/Files/Morpheo.sim
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Files/Morpheo.sim	(revision 131)
+++ trunk/IPs/systemC/processor/Morpheo/Files/Morpheo.sim	(revision 132)
@@ -17,5 +17,5 @@
   <parameter  name="directory_log"                          value="."       />
 
-  <parameter  name="statistics_cycle_start"                 value="1000000" />
+  <parameter  name="statistics_cycle_start"                 value="100" />
   <parameter  name="statistics_period"                      value="0"       />
                                                             
Index: trunk/IPs/systemC/processor/Morpheo/Files/debug.sim
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Files/debug.sim	(revision 131)
+++ trunk/IPs/systemC/processor/Morpheo/Files/debug.sim	(revision 132)
@@ -108,7 +108,7 @@
   <component  name="TopLevel"                               model="systemc" debug="1" />
 
-  <component  name="Behavioural"                            model="systemc" debug="1" />
-  <component  name="Interface"                              model="systemc" debug="1" />
-  <component  name="Allocation"                             model="systemc" debug="1" />
+  <component  name="Behavioural"                            model="systemc" debug="0" />
+  <component  name="Interface"                              model="systemc" debug="0" />
+  <component  name="Allocation"                             model="systemc" debug="0" />
 
 </parameters>
Index: trunk/IPs/systemC/processor/Morpheo/Script/list_sensitive.sh
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Script/list_sensitive.sh	(revision 132)
+++ trunk/IPs/systemC/processor/Morpheo/Script/list_sensitive.sh	(revision 132)
@@ -0,0 +1,109 @@
+#!/bin/bash
+
+#-----------------------------------------------------------
+# $Id$
+#-----------------------------------------------------------
+declare path;
+declare path_src;
+declare entity;
+declare _path_src="src";
+declare remove_comments="${MORPHEO_SCRIPT}/remove_comments.sed"
+
+#-----[ usage ]---------------------------------------------
+function usage ()
+{
+    echo "Usage     : ${0}";
+
+    exit;
+}
+
+#-----[ test_usage ]----------------------------------------
+function test_usage ()
+{
+    if test -z "${MORPHEO_SCRIPT}"; then
+        echo "Environment variable MORPHEO_SCRIPT is not set";
+        distexe_usage;
+    fi;
+
+    if test ! -d ${path_src}; then
+	echo "Directory ${path_src} don't exist";
+	usage ${*};
+    fi;
+}
+
+#-----[ list_sensitive ]------------------------------------
+function list_sensitive ()
+{
+    path=${PWD};
+    path_src=${path}/${_path_src};
+    entity=$(basename ${path});
+
+    test_usage ${*};
+
+    echo "  * ${entity}";
+
+    # 1) Erase comment
+    # 2) Erase all newline
+    # 3) Add newline before each SC_METHOD
+    # 4) Replace all tab by space
+    # 5) Erase all space
+
+    export file1=${path_src}/${entity}.cpp;
+
+    sc_methods=$(sed -f ${remove_comments} ${file1}  | tr -d '\n' |sed s/SC_METHOD/\\nSC_METHOD/g |sed s/\\t/\ /g | sed s/\ //g | grep SC_METHOD)
+
+    for sc_method in ${sc_methods}; do
+	method=$(echo ${sc_method} |sed s/SC_METHOD\(//g |cut -d ')' -f 1);
+ 	echo "    * ${method}";
+
+        file2=${path_src}/${entity}_${method}.cpp;
+
+    	#  1) erase comment
+        #  2) Replace all tab by space
+        #  3) Erase all space
+    	#  4) add a previous newline before each port_read.
+    	#  5) add an space before each )
+    	#  6) replace all space by an newline
+    	#  7) grep PORT_READ(
+    	#  8) replace PORT_READ( by nothing
+    	#  9) erase array
+    	# 10) sort
+    	# 11) erase duplicate port
+    	ports_read=$(sed -f ${remove_comments} ${file2} |sed s/\\t/\ /g | sed s/\ //g | sed s/PORT_READ/\\nPORT_READ/g | sed s/\)/\ /g | sed s/\ /\\n/g | grep PORT_READ | sed s/PORT_READ\(//g |cut -d '[' -f 1 |sort |uniq);
+
+	# 1) add space before (*(
+	list_sensitives=$(echo ${sc_method} |sed s/\(\\*\(/\\n/g);
+	list_sensitive="";
+
+	local -i first=1;
+	for sensitive in ${list_sensitives}; do
+	    if test ${first} -eq 0; then
+		signal=$(echo ${sensitive} |cut -d '[' -f 1 |cut -d ')' -f 1);
+
+		list_sensitive=${list_sensitive}" "${signal};
+
+# 		echo -n "    * ${signal}";
+
+#		if test $(echo ${ports_read} | grep -c ${signal}) -eq 0; then
+# 		    echo "    * ${signal} in sensitive list, not in file";
+##		else
+##		    echo " ... OK";
+#		fi;
+	    else
+		first=0;
+	    fi;
+	done;
+
+	if test "${method}" != "transition" -a "${method}" != "constant" ; then
+    	    for port in ${ports_read}; do
+		if test $(echo ${list_sensitive} | grep -c ${port}) -eq 0; then
+		    echo "      * ${port} in file, not in sensitive list";
+		fi;
+    	    done;
+	fi;
+
+    done;
+}
+
+#-----[ Corps ]---------------------------------------------
+list_sensitive ${*};
Index: trunk/IPs/systemC/processor/Morpheo/Script/remove_comments.sed
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Script/remove_comments.sed	(revision 132)
+++ trunk/IPs/systemC/processor/Morpheo/Script/remove_comments.sed	(revision 132)
@@ -0,0 +1,33 @@
+#!/usr/bin/sed -f
+#< Remove C/C++ comments from files
+# Another way to do it - adapted from a script found here
+# http://sed.sourceforge.net/grabbag/scripts/remccoms1.sed
+# to allow c++ // style comments to be removed
+#
+# c++ // comment removal code added KW 01/11/04
+# comments added KW 02/11/04
+
+# If pattern is not matched (i.e. line does not contain /*
+# then branch to label :c
+/\/\*/!bc
+
+# Okay - line must contain /*, or we've branched here
+# if line doesn't contain */ then append contents of next line to
+# pattern space and continue - we must have got here by a branch
+# to :a (or start of comment), so we can assume we're 
+# processing a comment
+:a
+/\*\//!{
+N
+# branch back to :a to continue processing comment
+ba
+}
+:c
+# okay - not multiline comment - could be code, or single line
+# comment
+
+# replace single line comment with nothing
+s:/\*.*\*/::
+
+# replace // comment with nothing
+s://.*$::g
