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]));
 	  }
 	
