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 101)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/src/OOO_Engine_allocation.cpp	(revision 104)
@@ -378,8 +378,8 @@
 
         // ~~~~~[ Interface : "rename_in" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-        std::vector<uint32_t>::iterator it = _param->_link_front_end_with_rename_unit[i].begin();
-        uint32_t x = 0;
-        for (uint32_t j=0; j<_param->_nb_front_end; j++)
-          {
+        {
+          std::vector<uint32_t>::iterator it = _param->_link_front_end_with_rename_unit[i].begin();
+          uint32_t x = 0;
+          for (uint32_t j=0; j<_param->_nb_front_end; j++)
             if (i == *it)
               {
@@ -459,6 +459,6 @@
                 it++;
               }
-          }
-
+        }
+        
         // ~~~~~[ Interface "insert" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         for (uint32_t j=0; j<_param->_nb_inst_insert[i]; j++)
@@ -551,4 +551,5 @@
           }
 
+        // ~~~~~[ Interface "retire" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         for (uint32_t j=0; j<_param->_nb_inst_retire[i]; j++)
           {
@@ -581,7 +582,4 @@
             COMPONENT_MAP(_component,src , "in_RETIRE_"+toString(j)+                "_NUM_REG_RE_PHY_NEW",
                                      dest,"out_RETIRE_"+toString(i)+"_"+toString(j)+"_NUM_REG_RE_PHY_NEW");
-            COMPONENT_MAP(_component,src , "in_RETIRE_"+toString(j)+                "_EVENT_STATE"       ,
-                                     dest,"out_RETIRE_"+toString(i)+"_"+toString(j)+"_EVENT_STATE"       );
-
             if (_param->_have_port_context_id)
             COMPONENT_MAP(_component,src , "in_RETIRE_"+toString(j)+                "_CONTEXT_ID"           ,
@@ -616,50 +614,57 @@
             COMPONENT_MAP(_component,src , "in_RETIRE_"+toString(j)+                "_NUM_REG_RE_LOG"       ,
                                      dest,"out_RETIRE_"+toString(i)+"_"+toString(j)+"_NUM_REG_RE_LOG"       );
-
-//             dest = _name+"_glue";
-            
-// #ifdef POSITION
-//             _component->interface_map (src ,"retire_"+toString(j),
-//                                        dest,"retire_"+toString(i)+"_"+toString(j));
-// #endif
-            
-//             COMPONENT_MAP(_component,src , "in_RETIRE_"+toString(j)+                            "_VAL"               ,
-//                                      dest,"out_RETIRE_"+toString(i)+"_"+toString(j)+"_RENAME_UNIT_VAL"               );
-//             COMPONENT_MAP(_component,src ,"out_RETIRE_"+toString(j)+                            "_ACK"               ,
-//                                      dest, "in_RETIRE_"+toString(i)+"_"+toString(j)+"_RENAME_UNIT_ACK"               );
-//             if (_param->_have_port_front_end_id)
-//             COMPONENT_MAP(_component,src , "in_RETIRE_"+toString(j)+                            "_FRONT_END_ID"      ,
-//                                      dest,"out_RETIRE_"+toString(i)+"_"+toString(j)+"_RENAME_UNIT_FRONT_END_ID"      );
-//             COMPONENT_MAP(_component,src , "in_RETIRE_"+toString(j)+                            "_WRITE_RD"          ,
-//                                      dest,"out_RETIRE_"+toString(i)+"_"+toString(j)+"_RENAME_UNIT_WRITE_RD"          );
-//             COMPONENT_MAP(_component,src , "in_RETIRE_"+toString(j)+                            "_NUM_REG_RD_PHY_OLD",
-//                                      dest,"out_RETIRE_"+toString(i)+"_"+toString(j)+"_RENAME_UNIT_NUM_REG_RD_PHY_OLD");
-//             COMPONENT_MAP(_component,src , "in_RETIRE_"+toString(j)+                            "_NUM_REG_RD_PHY_NEW",
-//                                      dest,"out_RETIRE_"+toString(i)+"_"+toString(j)+"_RENAME_UNIT_NUM_REG_RD_PHY_NEW");
-//             COMPONENT_MAP(_component,src , "in_RETIRE_"+toString(j)+                            "_WRITE_RE"          ,
-//                                      dest,"out_RETIRE_"+toString(i)+"_"+toString(j)+"_RENAME_UNIT_WRITE_RE"          );
-//             COMPONENT_MAP(_component,src , "in_RETIRE_"+toString(j)+                            "_NUM_REG_RE_PHY_OLD",
-//                                      dest,"out_RETIRE_"+toString(i)+"_"+toString(j)+"_RENAME_UNIT_NUM_REG_RE_PHY_OLD");
-//             COMPONENT_MAP(_component,src , "in_RETIRE_"+toString(j)+                            "_NUM_REG_RE_PHY_NEW",
-//                                      dest,"out_RETIRE_"+toString(i)+"_"+toString(j)+"_RENAME_UNIT_NUM_REG_RE_PHY_NEW");
-//             COMPONENT_MAP(_component,src , "in_RETIRE_"+toString(j)+                            "_EVENT_STATE"       ,
-//                                      dest,"out_RETIRE_"+toString(i)+"_"+toString(j)+"_RENAME_UNIT_EVENT_STATE"       );
           }
 
         // ~~~~~[ Interface : "spr_read" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-        for (uint32_t i=0; i<_param->_nb_front_end; i++)
-          for (uint32_t j=0; j<_param->_nb_context[i]; j++)
-            {
-              dest = _name+"_glue";
-            
-#ifdef POSITION
-              _component->interface_map (src ,"spr_read_"+toString(i)+"_"+toString(j),
-                                         dest,"spr_"     +toString(i)+"_"+toString(j));
-#endif
-
-              COMPONENT_MAP(_component,src , "in_SPR_READ_"+toString(i)+"_"+toString(j)+            "_SR",
-                                       dest,"out_SPR_"     +toString(i)+"_"+toString(j)+"_RENAME_UNIT_SR");
-            }
-    }
+        {
+          std::vector<uint32_t>::iterator it = _param->_link_front_end_with_rename_unit[i].begin();
+          uint32_t x = 0;
+          for (uint32_t j=0; j<_param->_nb_front_end; j++)
+            if (i == (*it))
+              {
+                for (uint32_t k=0; k<_param->_nb_context[i]; k++)
+                  {
+                    dest = _name+"_commit_unit";
+                    
+#ifdef POSITION
+                    _component->interface_map (src ,"retire_event_"+toString(x)+"_"+toString(k),
+                                               dest,"retire_event_"+toString(j)+"_"+toString(k));
+#endif
+                    COMPONENT_MAP(_component,src , "in_RETIRE_EVENT_"+toString(x)+"_"+toString(k)+"_VAL",
+                                             dest,"out_RETIRE_EVENT_"+toString(j)+"_"+toString(k)+"_VAL");
+                    COMPONENT_MAP(_component,src ,"out_RETIRE_EVENT_"+toString(x)+"_"+toString(k)+"_ACK",
+                                             dest, "in_RETIRE_EVENT_"+toString(j)+"_"+toString(k)+"_ACK");
+                    COMPONENT_MAP(_component,src , "in_RETIRE_EVENT_"+toString(x)+"_"+toString(k)+"_STATE",
+                                             dest,"out_RETIRE_EVENT_"+toString(j)+"_"+toString(k)+"_STATE");
+                    x++;
+                    ++it;
+                  }
+              }
+        }
+
+        // ~~~~~[ Interface : "spr_read" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+        {
+          std::vector<uint32_t>::iterator it = _param->_link_front_end_with_rename_unit[i].begin();
+          uint32_t x = 0;
+          for (uint32_t j=0; j<_param->_nb_front_end; j++)
+            if (i == *it)
+              {
+                for (uint32_t k=0; k<_param->_nb_context[j]; k++)
+                  {
+                    dest = _name+"_glue";
+                    
+#ifdef POSITION
+                    _component->interface_map (src ,"spr_read_"+toString(x)+"_"+toString(k),
+                                               dest,"spr_"     +toString(j)+"_"+toString(k));
+#endif
+
+                    COMPONENT_MAP(_component,src , "in_SPR_READ_"+toString(x)+"_"+toString(k)+            "_SR",
+                                             dest,"out_SPR_"     +toString(j)+"_"+toString(k)+"_RENAME_UNIT_SR");
+                  }
+                x++;
+                ++it;
+              }
+        }
+      }
 
     // ===================================================================
@@ -821,4 +826,10 @@
           }
       
+      // ~~~~~[ Interface "retire_event" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~	   
+        // out_RETIRE_VAL         - rename_unit.out_RETIRE_VAL        
+        //  in_RETIRE_ACK         - rename_unit. in_RETIRE_ACK        
+        // out_RETIRE_EVENT_STATE - rename_unit.out_RETIRE_EVENT_STATE
+  
+
       // ~~~~~[ Interface : "commit" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~	   
       for (uint32_t i=0; i<_param->_nb_inst_commit; i++)
@@ -1043,5 +1054,4 @@
                                      dest, "in_SPR_COMMIT_"+toString(i)+"_"+toString(j)+"_SR_OV"    );
           }
-      
     }
 
