Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/Instruction/include/Types.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/Instruction/include/Types.h	(revision 132)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/Instruction/include/Types.h	(revision 134)
@@ -55,5 +55,5 @@
     Texception_t        _exception         ;
     Tbranch_condition_t _branch_condition  ;
-//     Tcontrol_t          _branch_stack_write;
+//  Tcontrol_t          _branch_stack_write;
     Tcontrol_t          _branch_direction  ;
     Tevent_type_t       _event_type        ;
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/src/Decod_genMealy.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/src/Decod_genMealy.cpp	(revision 132)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/src/Decod_genMealy.cpp	(revision 134)
@@ -101,10 +101,33 @@
 		Tgeneral_data_t addr = PORT_READ(in_IFETCH_ADDRESS [x])+y;
 
-		_decod_instruction->_instruction      = PORT_READ(in_IFETCH_INSTRUCTION [x][y]);
-		_decod_instruction->_context_id       = x;
-		_decod_instruction->_address_previous = internal_CONTEXT_ADDRESS_PREVIOUS [x];
-		_decod_instruction->_address          = addr; //Compute the current address
-		_decod_instruction->_address_next     = addr+1;
-		_decod_instruction->_is_delay_slot    = internal_CONTEXT_IS_DELAY_SLOT [x];
+		_decod_instruction->_instruction        = PORT_READ(in_IFETCH_INSTRUCTION [x][y]);
+		_decod_instruction->_context_id         = x;
+		_decod_instruction->_address_previous   = internal_CONTEXT_ADDRESS_PREVIOUS [x];
+		_decod_instruction->_address            = addr; //Compute the current address
+		_decod_instruction->_address_next       = addr+1;
+		_decod_instruction->_is_delay_slot      = internal_CONTEXT_IS_DELAY_SLOT [x];
+		_decod_instruction->_type               = 0; // not necessary
+		_decod_instruction->_operation          = 0; // not necessary
+		_decod_instruction->_no_execute         = 0; // not necessary
+		_decod_instruction->_has_immediat       = 0; // not necessary
+		_decod_instruction->_immediat           = 0; // not necessary
+		_decod_instruction->_read_ra            = 0; // not necessary
+		_decod_instruction->_num_reg_ra         = 0; // not necessary
+		_decod_instruction->_read_rb            = 0; // not necessary
+		_decod_instruction->_num_reg_rb         = 0; // not necessary
+		_decod_instruction->_read_rc            = 0; // not necessary
+		_decod_instruction->_num_reg_rc         = 0; // not necessary
+		_decod_instruction->_write_rd           = 0; // not necessary
+		_decod_instruction->_num_reg_rd         = 0; // not necessary
+		_decod_instruction->_write_re           = 0; // not necessary
+		_decod_instruction->_num_reg_re         = 0; // not necessary
+		_decod_instruction->_exception_use      = EXCEPTION_USE_NONE; // not necessary
+		_decod_instruction->_exception          = EXCEPTION_DECOD_NONE; // not necessary
+		_decod_instruction->_branch_condition   = 0; // not necessary
+// 		_decod_instruction->_branch_stack_write = 0; // not necessary
+		_decod_instruction->_branch_direction   = 0; // not necessary
+		_decod_instruction->_event_type         = EVENT_TYPE_NONE; // not necessary
+		
+
 
                 // Test IFetch exception
@@ -181,4 +204,5 @@
                 // Branch predictor can accept : the depth is valid
                 log_printf(TRACE,Decod,FUNCTION,"      * context_depth_val      : %d",PORT_READ(in_CONTEXT_DEPTH_VAL [x]));
+
                 decod_val   [i]    &= PORT_READ(in_CONTEXT_DEPTH_VAL [x]);
                 ifetch_ack  [x][y] &= PORT_READ(in_CONTEXT_DEPTH_VAL [x]);
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/src/Update_Prediction_Table_allocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/src/Update_Prediction_Table_allocation.cpp	(revision 132)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/src/Update_Prediction_Table_allocation.cpp	(revision 134)
@@ -248,20 +248,23 @@
 
 #if defined(DEBUG) and defined(DEBUG_Update_Prediction_Table) and (DEBUG_Update_Prediction_Table == true)
-    directory_init ();
-
-    branchement_log_file = new std::ofstream [_param->_nb_thread];
-    for (uint32_t i=0; i<_param->_nb_thread; ++i)
-      if (_param->_have_thread [i])
-        {
-          std::string filename = morpheo::filename(MORPHEO_LOG,
-                                                   "Branchement_prediction-thread_"+toString(i),
-                                                   "",
-                                                   "log",
-                                                   _simulation_file_with_date,
-                                                   _simulation_file_with_pid,
-                                                   true);
-          
-          branchement_log_file [i] .open(filename.c_str() ,std::ios::out | std::ios::trunc);
-        }
+    if (log_file_generate)
+      {
+	directory_init ();
+	
+	branchement_log_file = new std::ofstream [_param->_nb_thread];
+	for (uint32_t i=0; i<_param->_nb_thread; ++i)
+	  if (_param->_have_thread [i])
+	    {
+	      std::string filename = morpheo::filename(MORPHEO_LOG,
+						       "Branchement_prediction-thread_"+toString(i),
+						       "",
+						       "log",
+						       _simulation_file_with_date,
+						       _simulation_file_with_pid,
+						       true);
+	      
+	      branchement_log_file [i] .open(filename.c_str() ,std::ios::out | std::ios::trunc);
+	    }
+      }
 #endif
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/src/Update_Prediction_Table_deallocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/src/Update_Prediction_Table_deallocation.cpp	(revision 132)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/src/Update_Prediction_Table_deallocation.cpp	(revision 134)
@@ -172,12 +172,13 @@
 
 #if defined(DEBUG) and defined(DEBUG_Update_Prediction_Table) and (DEBUG_Update_Prediction_Table == true)
-    {
-      for (uint32_t i=0; i<_param->_nb_thread; ++i)
-        if (_param->_have_thread [i])
-          {
-            branchement_log_file [i].close();
-          }
-      delete [] branchement_log_file;
-    }
+    if (log_file_generate)
+      {
+	for (uint32_t i=0; i<_param->_nb_thread; ++i)
+	  if (_param->_have_thread [i])
+	    {
+	      branchement_log_file [i].close();
+	    }
+	delete [] branchement_log_file;
+      }
 #endif
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/src/Update_Prediction_Table_transition.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/src/Update_Prediction_Table_transition.cpp	(revision 132)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/src/Update_Prediction_Table_transition.cpp	(revision 134)
@@ -149,19 +149,20 @@
                     {
 #if defined(DEBUG) and defined(DEBUG_Update_Prediction_Table) and (DEBUG_Update_Prediction_Table == true)
-                      if (reg_UPDATE_PREDICTION_TABLE [i][bottom]._retire_ok)
-                        {
-                          uint32_t num_thread = _param->_translate_num_context_to_num_thread [i];
-                          branchement_log_file [num_thread] 
-                            << std::hex
-                            << "0x" << std::setfill('0') << std::setw(_param->_size_general_data/4) << reg_UPDATE_PREDICTION_TABLE [i][bottom]._address_src  << " "
-                            << "0x" << std::setfill('0') << std::setw(_param->_size_general_data/4) << reg_UPDATE_PREDICTION_TABLE [i][bottom]._address_dest << " "
-                            << std::dec
-                            <<         reg_UPDATE_PREDICTION_TABLE [i][bottom]._good_take         << " - "
-                            << "["  << simulation_cycle() << "] " << " "
-                            <<         reg_UPDATE_PREDICTION_TABLE [i][bottom]._miss_prediction   << " "
-                            <<         reg_UPDATE_PREDICTION_TABLE [i][bottom]._ifetch_prediction << " "
-                            << "("  << toString(reg_UPDATE_PREDICTION_TABLE [i][bottom]._condition) << ")"
-                            << std::endl;
-                        }
+		      if (log_file_generate)
+			if (reg_UPDATE_PREDICTION_TABLE [i][bottom]._retire_ok)
+			  {
+			    uint32_t num_thread = _param->_translate_num_context_to_num_thread [i];
+			    branchement_log_file [num_thread] 
+			      << std::hex
+			      << "0x" << std::setfill('0') << std::setw(_param->_size_general_data/4) << reg_UPDATE_PREDICTION_TABLE [i][bottom]._address_src  << " "
+			      << "0x" << std::setfill('0') << std::setw(_param->_size_general_data/4) << reg_UPDATE_PREDICTION_TABLE [i][bottom]._address_dest << " "
+			      << std::dec
+			      <<         reg_UPDATE_PREDICTION_TABLE [i][bottom]._good_take         << " - "
+			      << "["  << simulation_cycle() << "] " << " "
+			      <<         reg_UPDATE_PREDICTION_TABLE [i][bottom]._miss_prediction   << " "
+			      <<         reg_UPDATE_PREDICTION_TABLE [i][bottom]._ifetch_prediction << " "
+			      << "("  << toString(reg_UPDATE_PREDICTION_TABLE [i][bottom]._condition) << ")"
+			      << std::endl;
+			  }
 #endif
                       
