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 88)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Direction_Glue/src/Direction_Glue.cpp	(revision 107)
@@ -92,5 +92,5 @@
 		PORT_WRITE(out_PREDICT_ACK [i], 1);
 		
-		// constant direction : never / always 
+ 		// constant direction : never / always 
 		switch (_param->_predictor_scheme)
 		  {
@@ -166,42 +166,42 @@
 
 #  ifdef SYSTEMCASS_SPECIFIC
-	    // List dependency information
-	    for (uint32_t i=0; i<_param->_nb_inst_predict; i++)
-	      {
-
-		switch (_param->_predictor_scheme)
-		  {
-		  case PREDICTOR_STATIC      :
-		    {
-		      (*(out_PREDICT_DIRECTION             [i])) (*(in_PREDICT_STATIC               [i]));
-
-		      break;
-		    }
-		  case PREDICTOR_LAST_TAKE   :
-		    {
-		      (*(out_PREDICT_DIRECTION             [i])) (*(in_PREDICT_LAST_TAKE            [i]));
-
-		      break;
-		    }
-		  case PREDICTOR_COUNTER     :
-		  case PREDICTOR_LOCAL       :
-		  case PREDICTOR_GLOBAL      :
-		  case PREDICTOR_META        :
-		  case PREDICTOR_CUSTOM      :
-		    {
-		      (*(out_PREDICT_ACK                   [i])) (*(in_PREDICT_PREDICTOR_ACK        [i]));
-		      (*(out_PREDICT_HISTORY               [i])) (*(in_PREDICT_PREDICTOR_HISTORY    [i]));
-		      (*(out_PREDICT_DIRECTION             [i])) (*(in_PREDICT_PREDICTOR_DIRECTION  [i]));
-		      (*(out_PREDICT_PREDICTOR_VAL         [i])) (*(in_PREDICT_VAL                  [i]));
-		      (*(out_PREDICT_PREDICTOR_ADDRESS_SRC [i])) (*(in_PREDICT_ADDRESS_SRC          [i]));
-
-		      break;
-		    }
-		  default :
-		    {
-		      break;
-		    }
-		  }
-	      }
+// 	    // List dependency information
+// 	    for (uint32_t i=0; i<_param->_nb_inst_predict; i++)
+// 	      {
+
+// 		switch (_param->_predictor_scheme)
+// 		  {
+// 		  case PREDICTOR_STATIC      :
+// 		    {
+// 		      (*(out_PREDICT_DIRECTION             [i])) (*(in_PREDICT_STATIC               [i]));
+
+// 		      break;
+// 		    }
+// 		  case PREDICTOR_LAST_TAKE   :
+// 		    {
+// 		      (*(out_PREDICT_DIRECTION             [i])) (*(in_PREDICT_LAST_TAKE            [i]));
+
+// 		      break;
+// 		    }
+// 		  case PREDICTOR_COUNTER     :
+// 		  case PREDICTOR_LOCAL       :
+// 		  case PREDICTOR_GLOBAL      :
+// 		  case PREDICTOR_META        :
+// 		  case PREDICTOR_CUSTOM      :
+// 		    {
+// 		      (*(out_PREDICT_ACK                   [i])) (*(in_PREDICT_PREDICTOR_ACK        [i]));
+// 		      (*(out_PREDICT_HISTORY               [i])) (*(in_PREDICT_PREDICTOR_HISTORY    [i]));
+// 		      (*(out_PREDICT_DIRECTION             [i])) (*(in_PREDICT_PREDICTOR_DIRECTION  [i]));
+// 		      (*(out_PREDICT_PREDICTOR_VAL         [i])) (*(in_PREDICT_VAL                  [i]));
+// 		      (*(out_PREDICT_PREDICTOR_ADDRESS_SRC [i])) (*(in_PREDICT_ADDRESS_SRC          [i]));
+
+// 		      break;
+// 		    }
+// 		  default :
+// 		    {
+// 		      break;
+// 		    }
+// 		  }
+// 	      }
 #  endif    
 	  }
@@ -222,13 +222,13 @@
 
 #  ifdef SYSTEMCASS_SPECIFIC
-	    // List dependency information
-	    for (uint32_t i=0; i<_param->_nb_inst_update; i++)
-	      {
-		(*(out_UPDATE_PREDICTOR_VAL       [i])) (*(in_UPDATE_VAL           [i]));
-		(*(out_UPDATE_ACK                 [i])) (*(in_UPDATE_PREDICTOR_ACK [i]));
-		(*(out_UPDATE_PREDICTOR_ADDRESS   [i])) (*(in_UPDATE_ADDRESS       [i]));
-		(*(out_UPDATE_PREDICTOR_HISTORY   [i])) (*(in_UPDATE_HISTORY       [i]));
-		(*(out_UPDATE_PREDICTOR_DIRECTION [i])) (*(in_UPDATE_DIRECTION     [i]));
-	      }
+// 	    // List dependency information
+// 	    for (uint32_t i=0; i<_param->_nb_inst_update; i++)
+// 	      {
+// 		(*(out_UPDATE_PREDICTOR_VAL       [i])) (*(in_UPDATE_VAL           [i]));
+// 		(*(out_UPDATE_ACK                 [i])) (*(in_UPDATE_PREDICTOR_ACK [i]));
+// 		(*(out_UPDATE_PREDICTOR_ADDRESS   [i])) (*(in_UPDATE_ADDRESS       [i]));
+// 		(*(out_UPDATE_PREDICTOR_HISTORY   [i])) (*(in_UPDATE_HISTORY       [i]));
+// 		(*(out_UPDATE_PREDICTOR_DIRECTION [i])) (*(in_UPDATE_DIRECTION     [i]));
+// 	      }
 #  endif    
 	  }
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Direction_Glue/src/Direction_Glue_genMealy_predict.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Direction_Glue/src/Direction_Glue_genMealy_predict.cpp	(revision 88)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Direction_Glue/src/Direction_Glue_genMealy_predict.cpp	(revision 107)
@@ -23,34 +23,48 @@
   void Direction_Glue::genMealy_predict (void)
   {
-    log_printf(FUNC,Direction_Glue,FUNCTION,"Begin");
+    log_begin(Direction_Glue,FUNCTION);
+    log_function(Direction_Glue,FUNCTION,_name.c_str());
 
     // constant direction : never / always 
-    switch (_param->_predictor_scheme)
+    for (uint32_t i=0; i<_param->_nb_inst_predict; i++)
       {
-      case PREDICTOR_STATIC    :
-	{
-	  for (uint32_t i=0; i<_param->_nb_inst_predict; i++)
-	    PORT_WRITE(out_PREDICT_DIRECTION   [i], PORT_READ(in_PREDICT_STATIC    [i]));
-	  
-	  break;
-	}
-      case PREDICTOR_LAST_TAKE :
-	{
-	  for (uint32_t i=0; i<_param->_nb_inst_predict; i++)
-	    PORT_WRITE(out_PREDICT_DIRECTION   [i], PORT_READ(in_PREDICT_LAST_TAKE [i]));
+        log_printf(TRACE,Direction_Glue,FUNCTION,"  * PREDICT [%d]",i);
 
-	  break;
-	}
-      case PREDICTOR_COUNTER   :
-      case PREDICTOR_LOCAL     :
-      case PREDICTOR_GLOBAL    :
-      case PREDICTOR_META      :
-      case PREDICTOR_CUSTOM    :
-	{
-	  for (uint32_t i=0; i<_param->_nb_inst_predict; i++)
-	    {
-	      // not use :
-	      // in_PREDICT_LAST_TAKE       
-	      // in_PREDICT_STATIC
+        Tcontrol_t direction;
+
+        switch (_param->_predictor_scheme)
+          {
+            // defined as constant in Direction_Glue.cpp
+//           case PREDICTOR_NEVER_TAKE  :
+//             {
+//               direction = 0;
+//               break;
+//             }
+//           case PREDICTOR_ALWAYS_TAKE :
+//             {
+//               direction = 1;
+//               break;
+//             }
+          case PREDICTOR_STATIC    :
+            {
+              direction = PORT_READ(in_PREDICT_STATIC [i]);
+              break;
+            }
+          case PREDICTOR_LAST_TAKE :
+            {
+              direction = PORT_READ(in_PREDICT_LAST_TAKE [i]);
+              break;
+            }
+          case PREDICTOR_COUNTER   :
+          case PREDICTOR_LOCAL     :
+          case PREDICTOR_GLOBAL    :
+          case PREDICTOR_META      :
+          case PREDICTOR_CUSTOM    :
+            {
+              // not use :
+              // in_PREDICT_LAST_TAKE       
+              // in_PREDICT_STATIC
+              
+              direction = PORT_READ(in_PREDICT_PREDICTOR_DIRECTION [i]);
 
 	      PORT_WRITE(out_PREDICT_PREDICTOR_VAL         [i], PORT_READ(in_PREDICT_VAL                 [i]));
@@ -58,19 +72,20 @@
 	      PORT_WRITE(out_PREDICT_PREDICTOR_ADDRESS_SRC [i], PORT_READ(in_PREDICT_ADDRESS_SRC         [i]));
 	      PORT_WRITE(out_PREDICT_HISTORY               [i], PORT_READ(in_PREDICT_PREDICTOR_HISTORY   [i]));
-	      PORT_WRITE(out_PREDICT_DIRECTION             [i], PORT_READ(in_PREDICT_PREDICTOR_DIRECTION [i]));
-	    }
+              
+              break;
+            }
+          default :
+            {
+              ERRORMORPHEO(FUNCTION,"No valid predictor scheme");
+              break;
+            }
+          }
+      
+        log_printf(TRACE,Direction_Glue,FUNCTION,"    * direction     : %d",direction);
 
-	  break;
-	}
-      default :
-	{
-	  ERRORMORPHEO(FUNCTION,"No valid predictor scheme");
-	  break;
-	}
+        PORT_WRITE(out_PREDICT_DIRECTION   [i], direction);
       }
 
-
-    
-    log_printf(FUNC,Direction_Glue,FUNCTION,"End");
+    log_end(Direction_Glue,FUNCTION);
   };
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Direction_Glue/src/Direction_Glue_genMealy_update.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Direction_Glue/src/Direction_Glue_genMealy_update.cpp	(revision 88)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Direction_Glue/src/Direction_Glue_genMealy_update.cpp	(revision 107)
@@ -23,5 +23,6 @@
   void Direction_Glue::genMealy_update (void)
   {
-    log_printf(FUNC,Direction_Glue,FUNCTION,"Begin");
+    log_begin(Direction_Glue,FUNCTION);
+    log_function(Direction_Glue,FUNCTION,_name.c_str());
 
     for (uint32_t i=0; i<_param->_nb_inst_update; i++)
@@ -34,5 +35,5 @@
       }
     
-    log_printf(FUNC,Direction_Glue,FUNCTION,"End");
+    log_end(Direction_Glue,FUNCTION);
   };
 
