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 139)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/src/OOO_Engine_allocation.cpp	(revision 145)
@@ -534,4 +534,7 @@
             COMPONENT_MAP(_component,src ,"out_INSERT_"+toString(j)                +"_IS_DELAY_SLOT" ,
                                      dest, "in_INSERT_"+toString(i)+"_"+toString(j)+"_IS_DELAY_SLOT" );
+            if (_param->_rat_scheme[i] == RAT_DEPTH_SAVE)
+            COMPONENT_MAP(_component,src ,"out_INSERT_"+toString(j)                +"_SAVE_RAT"      ,
+                                     dest, "in_INSERT_"+toString(i)+"_"+toString(j)+"_SAVE_RAT"      );
 //          COMPONENT_MAP(_component,src ,"out_INSERT_"+toString(j)                +"_HAVE_EVENT"    ,
 //                                   dest, "in_INSERT_"+toString(i)+"_"+toString(j)+"_HAVE_EVENT"    );
@@ -633,6 +636,4 @@
 #endif
 
-
-
             COMPONENT_MAP(_component,src , "in_RETIRE_"+toString(j)+                "_VAL"               ,
                                      dest,"out_RETIRE_"+toString(i)+"_"+toString(j)+"_VAL"               );
@@ -670,16 +671,16 @@
             COMPONENT_MAP(_component,src , "in_RETIRE_"+toString(j)+                "_LOAD_QUEUE_PTR_WRITE" ,
                                      dest,"out_RETIRE_"+toString(i)+"_"+toString(j)+"_LOAD_QUEUE_PTR_WRITE" );
-//             COMPONENT_MAP(_component,src , "in_RETIRE_"+toString(j)+                "_READ_RA"              ,
-//                                      dest,"out_RETIRE_"+toString(i)+"_"+toString(j)+"_READ_RA"              );
-//             COMPONENT_MAP(_component,src , "in_RETIRE_"+toString(j)+                "_NUM_REG_RA_PHY"       ,
-//                                      dest,"out_RETIRE_"+toString(i)+"_"+toString(j)+"_NUM_REG_RA_PHY"       );
-//             COMPONENT_MAP(_component,src , "in_RETIRE_"+toString(j)+                "_READ_RB"              ,
-//                                      dest,"out_RETIRE_"+toString(i)+"_"+toString(j)+"_READ_RB"              );
-//             COMPONENT_MAP(_component,src , "in_RETIRE_"+toString(j)+                "_NUM_REG_RB_PHY"       ,
-//                                      dest,"out_RETIRE_"+toString(i)+"_"+toString(j)+"_NUM_REG_RB_PHY"       );
-//             COMPONENT_MAP(_component,src , "in_RETIRE_"+toString(j)+                "_READ_RC"              ,
-//                                      dest,"out_RETIRE_"+toString(i)+"_"+toString(j)+"_READ_RC"              );
-//             COMPONENT_MAP(_component,src , "in_RETIRE_"+toString(j)+                "_NUM_REG_RC_PHY"       ,
-//                                      dest,"out_RETIRE_"+toString(i)+"_"+toString(j)+"_NUM_REG_RC_PHY"       );
+//          COMPONENT_MAP(_component,src , "in_RETIRE_"+toString(j)+                "_READ_RA"              ,
+//                                   dest,"out_RETIRE_"+toString(i)+"_"+toString(j)+"_READ_RA"              );
+//          COMPONENT_MAP(_component,src , "in_RETIRE_"+toString(j)+                "_NUM_REG_RA_PHY"       ,
+//                                   dest,"out_RETIRE_"+toString(i)+"_"+toString(j)+"_NUM_REG_RA_PHY"       );
+//          COMPONENT_MAP(_component,src , "in_RETIRE_"+toString(j)+                "_READ_RB"              ,
+//                                   dest,"out_RETIRE_"+toString(i)+"_"+toString(j)+"_READ_RB"              );
+//          COMPONENT_MAP(_component,src , "in_RETIRE_"+toString(j)+                "_NUM_REG_RB_PHY"       ,
+//                                   dest,"out_RETIRE_"+toString(i)+"_"+toString(j)+"_NUM_REG_RB_PHY"       );
+//          COMPONENT_MAP(_component,src , "in_RETIRE_"+toString(j)+                "_READ_RC"              ,
+//                                   dest,"out_RETIRE_"+toString(i)+"_"+toString(j)+"_READ_RC"              );
+//          COMPONENT_MAP(_component,src , "in_RETIRE_"+toString(j)+                "_NUM_REG_RC_PHY"       ,
+//                                   dest,"out_RETIRE_"+toString(i)+"_"+toString(j)+"_NUM_REG_RC_PHY"       );
             COMPONENT_MAP(_component,src , "in_RETIRE_"+toString(j)+                "_NUM_REG_RD_LOG"       ,
                                      dest,"out_RETIRE_"+toString(i)+"_"+toString(j)+"_NUM_REG_RD_LOG"       );
@@ -755,4 +756,36 @@
               }
         }
+
+        // ~~~~~[ 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 (j == *it)
+              {
+                for (uint32_t k=0; k<_param->_nb_context[j]; k++)
+                  {
+                    dest = _name;
+                    
+#ifdef POSITION
+                    _component->interface_map (src ,"spr_read_"+toString(x)+"_"+toString(k),
+                                               dest,"spr_"     +toString(j)+"_"+toString(k));
+#endif
+
+                    if (_param->_have_port_depth)
+                      {
+                    PORT_MAP(_component,src , "in_DEPTH_"+toString(x)+"_"+toString(k)+"_MIN" ,
+                                        dest, "in_DEPTH_"+toString(j)+"_"+toString(k)+"_MIN" );
+                    PORT_MAP(_component,src , "in_DEPTH_"+toString(x)+"_"+toString(k)+"_MAX" ,
+                                        dest, "in_DEPTH_"+toString(j)+"_"+toString(k)+"_MAX" );
+                      }
+                    PORT_MAP(_component,src , "in_DEPTH_"+toString(x)+"_"+toString(k)+"_FULL",
+                                        dest, "in_DEPTH_"+toString(j)+"_"+toString(k)+"_FULL");
+                  }
+                x++;
+                ++it;
+              }
+        }
+
 
         // ~~~~~[ Interface : "info" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -919,4 +952,5 @@
             //  out_RETIRE_CONTEXT_ID                - component_rename_unit
             ////out_RETIRE_RENAME_UNIT_ID            - component_rename_unit
+            //  out_RETIRE_DEPTH                     - component_rename_unit
             //  out_RETIRE_USE_STORE_QUEUE           - component_rename_unit
             //  out_RETIRE_USE_LOAD_QUEUE            - component_rename_unit
@@ -981,5 +1015,4 @@
           COMPONENT_MAP(_component,src ,"out_COMMIT_"+toString(i)+"_NUM_REG_RD" ,
                                    dest, "in_COMMIT_"+toString(i)+"_NUM_REG_RD" );
-          //@@@@@@@@@@
 	}
       
@@ -1111,24 +1144,24 @@
           }
 
-      // ~~~~~[ Interface : "depth" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~	   
-      for (uint32_t i=0; i<_param->_nb_front_end; i++)
-        for (uint32_t j=0; j<_param->_nb_context[i]; j++)
-          {
-            dest = _name;
-#ifdef POSITION
-            _component->interface_map (src ,"depth_"+toString(i)+"_"+toString(j),
-                                       dest,"depth_"+toString(i)+"_"+toString(j));
-#endif
-
-            if (_param->_have_port_depth)
-              {
-            PORT_MAP(_component,src , "in_DEPTH_"+toString(i)+"_"+toString(j)+"_MIN",
-                                dest, "in_DEPTH_"+toString(i)+"_"+toString(j)+"_MIN");
-            PORT_MAP(_component,src , "in_DEPTH_"+toString(i)+"_"+toString(j)+"_MAX",
-                                dest, "in_DEPTH_"+toString(i)+"_"+toString(j)+"_MAX");
-              }
-            PORT_MAP(_component,src , "in_DEPTH_"+toString(i)+"_"+toString(j)+"_FULL",
-                                dest, "in_DEPTH_"+toString(i)+"_"+toString(j)+"_FULL");
-          }
+//      // ~~~~~[ Interface : "depth" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~	   
+//      for (uint32_t i=0; i<_param->_nb_front_end; i++)
+//        for (uint32_t j=0; j<_param->_nb_context[i]; j++)
+//          {
+//            dest = _name;
+//#ifdef POSITION
+//            _component->interface_map (src ,"depth_"+toString(i)+"_"+toString(j),
+//                                       dest,"depth_"+toString(i)+"_"+toString(j));
+//#endif
+//
+//            if (_param->_have_port_depth)
+//              {
+//            PORT_MAP(_component,src , "in_DEPTH_"+toString(i)+"_"+toString(j)+"_MIN",
+//                                dest, "in_DEPTH_"+toString(i)+"_"+toString(j)+"_MIN");
+//            PORT_MAP(_component,src , "in_DEPTH_"+toString(i)+"_"+toString(j)+"_MAX",
+//                                dest, "in_DEPTH_"+toString(i)+"_"+toString(j)+"_MAX");
+//              }
+//            PORT_MAP(_component,src , "in_DEPTH_"+toString(i)+"_"+toString(j)+"_FULL",
+//                                dest, "in_DEPTH_"+toString(i)+"_"+toString(j)+"_FULL");
+//          }
 
       // ~~~~~[ Interface : "spr_read" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
