Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/src/Commit_unit_allocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/src/Commit_unit_allocation.cpp	(revision 119)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/src/Commit_unit_allocation.cpp	(revision 120)
@@ -9,4 +9,5 @@
 #include "Behavioural/include/Allocation.h"
 #include "Common/include/Max.h"
+#include "Common/include/Filename.h"
 
 namespace morpheo                    {
@@ -342,5 +343,11 @@
       if (_param->_have_thread [i])
         {
-          std::string filename = MORPHEO_LOG+"/"+toString(getpid())+"-Instruction_flow-thread_"+toString(i)+".log";
+          std::string filename = morpheo::filename(MORPHEO_LOG,
+                                                   "Instruction_flow-thread_"+toString(i),
+                                                   "",
+                                                   "log",
+                                                   false,
+                                                   log_with_pid,
+                                                   false);
           
           instruction_log_file [i] .open(filename.c_str() ,std::ios::out | std::ios::trunc);
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/src/OOO_Engine_Glue_genMealy_rename.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/src/OOO_Engine_Glue_genMealy_rename.cpp	(revision 119)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/src/OOO_Engine_Glue_genMealy_rename.cpp	(revision 120)
@@ -24,9 +24,11 @@
     log_function(OOO_Engine_Glue,FUNCTION,_name.c_str());
 
-    for (uint32_t i=0; i<_param->_nb_rename_unit; ++i)
+    for (uint32_t i=0; i<_param->_nb_front_end; ++i)
       for (uint32_t j=0; j<_param->_nb_inst_decod[i]; ++j)
-        // if have not front_end_id port, this function is not use
-        PORT_WRITE(out_RENAME_RENAME_UNIT_FRONT_END_ID [i][j],_param->_translate_front_end_id_to_rename_unit [PORT_READ(in_RENAME_FRONT_END_ID [i][j])]);
-    
+        {
+          // if have not front_end_id port, this function is not use
+          PORT_WRITE(out_RENAME_RENAME_UNIT_FRONT_END_ID [i][j],_param->_translate_front_end_id_to_rename_unit [PORT_READ(in_RENAME_FRONT_END_ID [i][j])]);
+        }
+
     log_end(OOO_Engine_Glue,FUNCTION);
   };
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/src/OOO_Engine_allocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/src/OOO_Engine_allocation.cpp	(revision 119)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/src/OOO_Engine_allocation.cpp	(revision 120)
@@ -411,5 +411,5 @@
           uint32_t x = 0;
           for (uint32_t j=0; j<_param->_nb_front_end; j++)
-            if (i == *it)
+            if (j == *it)
               {
                 // this front end is link with this rename_unit
@@ -486,5 +486,5 @@
                     if (_param->_have_port_front_end_id)
                     COMPONENT_MAP(_component,src , "in_RENAME_IN_"+toString(x)+"_"+toString(k)+            "_FRONT_END_ID" ,
-                                             dest, "in_RENAME_"   +toString(j)+"_"+toString(k)+"_RENAME_UNIT_FRONT_END_ID" );
+                                             dest,"out_RENAME_"   +toString(j)+"_"+toString(k)+"_RENAME_UNIT_FRONT_END_ID" );
                   }
 
@@ -658,5 +658,5 @@
           uint32_t x = 0;
           for (uint32_t j=0; j<_param->_nb_front_end; j++)
-            if (i == (*it))
+            if (j == (*it))
               {
                 for (uint32_t k=0; k<_param->_nb_context[i]; k++)
@@ -685,5 +685,5 @@
           uint32_t x = 0;
           for (uint32_t j=0; j<_param->_nb_front_end; j++)
-            if (i == *it)
+            if (j == *it)
               {
                 for (uint32_t k=0; k<_param->_nb_context[j]; k++)
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/src/Parameters.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/src/Parameters.cpp	(revision 119)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/src/Parameters.cpp	(revision 120)
@@ -132,8 +132,14 @@
     test();
 
+    log_printf(TRACE,OOO_Engine,FUNCTION,"  * link_front_end_with_rename_unit");
     _link_front_end_with_rename_unit = new std::vector<uint32_t> [_nb_rename_unit];
     for (uint32_t i=0; i<_nb_front_end; i++)
-      _link_front_end_with_rename_unit[_link_rename_unit_with_front_end[i]].push_back(i);
-
+      {
+        uint32_t num_rename_unit = _link_rename_unit_with_front_end[i];
+
+        log_printf(TRACE,OOO_Engine,FUNCTION,"    front_end %d is link with rename_unit %d with id %d",i,num_rename_unit,_link_front_end_with_rename_unit[num_rename_unit].size());
+
+        _link_front_end_with_rename_unit[num_rename_unit].push_back(i);
+      }
     _rename_unit_size_front_end_id                = new uint32_t    [_nb_rename_unit];
     _rename_unit_size_context_id                  = new uint32_t    [_nb_rename_unit];
@@ -172,13 +178,13 @@
     for (uint32_t i=0; i<_nb_rename_unit; i++)
       {
-        log_printf(TRACE,OOO_Engine,FUNCTION,"Rename_unit [%d]",i);
-        log_printf(TRACE,OOO_Engine,FUNCTION," * front_end : %d",_rename_unit_nb_front_end[i]);
+        log_printf(TRACE,OOO_Engine,FUNCTION,"  * Rename_unit [%d]",i);
+        log_printf(TRACE,OOO_Engine,FUNCTION,"    * front_end : %d",_rename_unit_nb_front_end[i]);
         
         for (uint32_t j=0; j<_rename_unit_nb_front_end[i]; j++)
           {
-            log_printf(TRACE,OOO_Engine,FUNCTION,"   * [%d] nb_context : %d, nb_inst_decod : %d",j,_rename_unit_nb_context[i][j],_rename_unit_nb_inst_decod[i][j]);
+            log_printf(TRACE,OOO_Engine,FUNCTION,"      * [%d] nb_context : %d, nb_inst_decod : %d",j,_rename_unit_nb_context[i][j],_rename_unit_nb_inst_decod[i][j]);
 
             for (uint32_t k=0; k<_rename_unit_nb_context[i][j]; ++k)
-              log_printf(TRACE,OOO_Engine,FUNCTION,"     * [%d][%d] link_lsq : %d",j,k,_rename_unit_link_load_store_unit_with_thread[i][j][k]);
+              log_printf(TRACE,OOO_Engine,FUNCTION,"        * [%d][%d] link_lsq : %d",j,k,_rename_unit_link_load_store_unit_with_thread[i][j][k]);
           }
       }
@@ -203,8 +209,8 @@
         _sum_inst_retire += _nb_inst_retire [i];
 
-        log_printf(TRACE,OOO_Engine,FUNCTION,"rename_unit [%d] - nb_inst_insert %d, nb_inst_retire %d", i,_nb_inst_insert [i],_nb_inst_retire [i]);
+        log_printf(TRACE,OOO_Engine,FUNCTION,"  * rename_unit [%d] - nb_inst_insert %d, nb_inst_retire %d", i,_nb_inst_insert [i],_nb_inst_retire [i]);
       }
     
-    log_printf(TRACE,OOO_Engine,FUNCTION,"sum_inst_insert %d, sum_inst_retire %d",_sum_inst_insert,_sum_inst_retire);
+    log_printf(TRACE,OOO_Engine,FUNCTION,"  * sum_inst_insert %d, sum_inst_retire %d",_sum_inst_insert,_sum_inst_retire);
 
 //  _have_port_front_end_id            = _size_front_end_id   > 0;
