Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Parameters.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Parameters.cpp	(revision 131)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Parameters.cpp	(revision 136)
@@ -33,6 +33,7 @@
 			  uint32_t  * nb_general_register      ,
 			  uint32_t  * nb_special_register      ,
-			  uint32_t  * nb_inst_insert_rob       ,
-			  uint32_t  * nb_inst_retire_rob       ,
+			  uint32_t    nb_inst_issue            ,
+// 			  uint32_t  * nb_inst_insert_rob       ,
+// 			  uint32_t  * nb_inst_retire_rob       ,
                           bool        is_toplevel              )
   {
@@ -53,6 +54,7 @@
     _nb_general_register       = nb_general_register      ;
     _nb_special_register       = nb_special_register      ;
-    _nb_inst_insert_rob        = nb_inst_insert_rob       ;
-    _nb_inst_retire_rob        = nb_inst_retire_rob       ;
+    _nb_inst_issue             = nb_inst_issue            ;
+//     _nb_inst_insert_rob        = nb_inst_insert_rob       ;
+//     _nb_inst_retire_rob        = nb_inst_retire_rob       ;
 
     _size_gpr_address = log2(nb_general_register [0]);
@@ -101,5 +103,6 @@
           (_nb_gpr_read ,
 //         _nb_gpr_write+_nb_inst_insert_rob[i]+2*_nb_inst_retire_rob[i],
-           _nb_gpr_write+_nb_inst_insert_rob[i],
+//            _nb_gpr_write+_nb_inst_insert_rob[i],
+           _nb_gpr_write+_nb_inst_issue,
            0,
            nb_general_register[i],
@@ -122,5 +125,6 @@
           (_nb_spr_read ,
 //         _nb_spr_write+_nb_inst_insert_rob[i]+2*_nb_inst_retire_rob[i],
-           _nb_spr_write+_nb_inst_insert_rob[i],
+//         _nb_spr_write+_nb_inst_insert_rob[i],
+	   _nb_spr_write+_nb_inst_issue,
            0,
            nb_special_register[i],
@@ -134,13 +138,16 @@
       }
    
-    _param_glue       = new morpheo::behavioural::core::multi_execute_loop::execute_loop::register_unit::register_unit_glue::Parameters  (_nb_ooo_engine        ,
-                                                                                                                                           size_general_data    ,
-                                                                                                                                           size_special_data    ,
-                                                                                                                                          _nb_gpr_read          ,
-                                                                                                                                          _nb_spr_read          ,    
-                                                                                                                                          _nb_gpr_write         ,
-                                                                                                                                          _nb_spr_write         ,
-                                                                                                                                          _nb_inst_insert_rob   ,
-                                                                                                                                          _nb_inst_retire_rob   );
+    _param_glue       = new morpheo::behavioural::core::multi_execute_loop::execute_loop::register_unit::register_unit_glue::Parameters  
+      (_nb_ooo_engine        ,
+        size_general_data    ,
+        size_special_data    ,
+       _nb_gpr_read          ,
+       _nb_spr_read          ,    
+       _nb_gpr_write         ,
+       _nb_spr_write         ,
+       _nb_inst_issue
+//        _nb_inst_insert_rob   ,
+//        _nb_inst_retire_rob   
+       );
     
     test();
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Parameters_print.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Parameters_print.cpp	(revision 131)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Parameters_print.cpp	(revision 136)
@@ -39,18 +39,19 @@
     xml. singleton_begin("nb_spr_port_read_by_bank "); xml.attribut("value",toString(_nb_spr_port_read_by_bank )); xml.singleton_end();
     xml. singleton_begin("nb_spr_port_write_by_bank"); xml.attribut("value",toString(_nb_spr_port_write_by_bank)); xml.singleton_end();
+    xml. singleton_begin("nb_inst_issue            "); xml.attribut("value",toString(_nb_inst_issue            )); xml.singleton_end();
     
-    xml. balise_open("multi_ooo_engine");
-    for (uint32_t i=0; i<_nb_ooo_engine; i++)
-      {
-	xml.  balise_open_begin("ooo_engine");
-	xml.   attribut("id", toString(i));
-	xml.  balise_open_end();
-	xml.   singleton_begin("nb_general_register"); xml.attribut("value",toString(_nb_general_register [i])); xml.singleton_end();
-	xml.   singleton_begin("nb_special_register"); xml.attribut("value",toString(_nb_special_register [i])); xml.singleton_end();
-	xml.   singleton_begin("nb_inst_insert_rob "); xml.attribut("value",toString(_nb_inst_insert_rob  [i])); xml.singleton_end();
-	xml.   singleton_begin("nb_inst_retire_rob "); xml.attribut("value",toString(_nb_inst_retire_rob  [i])); xml.singleton_end();
-	xml.  balise_close();
-      }
-    xml. balise_close();
+//     xml. balise_open("multi_ooo_engine");
+//     for (uint32_t i=0; i<_nb_ooo_engine; i++)
+//       {
+// 	xml.  balise_open_begin("ooo_engine");
+// 	xml.   attribut("id", toString(i));
+// 	xml.  balise_open_end();
+// 	xml.   singleton_begin("nb_general_register"); xml.attribut("value",toString(_nb_general_register [i])); xml.singleton_end();
+// 	xml.   singleton_begin("nb_special_register"); xml.attribut("value",toString(_nb_special_register [i])); xml.singleton_end();
+// 	xml.   singleton_begin("nb_inst_insert_rob "); xml.attribut("value",toString(_nb_inst_insert_rob  [i])); xml.singleton_end();
+// 	xml.   singleton_begin("nb_inst_retire_rob "); xml.attribut("value",toString(_nb_inst_retire_rob  [i])); xml.singleton_end();
+// 	xml.  balise_close();
+//       }
+//     xml. balise_close();
 
 //     xml. text (_param_glue->print(depth+1));
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Register_unit.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Register_unit.cpp	(revision 131)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Register_unit.cpp	(revision 136)
@@ -35,5 +35,5 @@
     ,_usage            (usage)
   {
-    log_printf(FUNC,Register_unit,FUNCTION,"Begin");
+    log_printf(FUNC,Register_unit,FUNCTION,_("<%s> Begin"),_name.c_str());
 
 // #if DEBUG_Register_unit == true
@@ -43,5 +43,5 @@
 // #endif    
 
-    log_printf(INFO,Register_unit,FUNCTION,"Allocation");
+    log_printf(INFO,Register_unit,FUNCTION,_("<%s> Allocation"),_name.c_str());
     allocation (
 #ifdef STATISTICS
@@ -63,5 +63,5 @@
       {
         // generate the vhdl
-        log_printf(INFO,Register_unit,FUNCTION,"Generate the vhdl");
+        log_printf(INFO,Register_unit,FUNCTION,_("<%s> Generate the vhdl"),_name.c_str());
         
         vhdl();
@@ -73,5 +73,5 @@
       {
 //#if defined(STATISTICS) or defined(VHDL_TESTBENCH)
-    log_printf(INFO,Register_unit,FUNCTION,"Method - transition");
+    log_printf(INFO,Register_unit,FUNCTION,_("<%s> Method - transition"),_name.c_str());
 
     SC_METHOD (transition);
@@ -85,5 +85,5 @@
       }
 #endif
-    log_printf(FUNC,Register_unit,FUNCTION,"End");
+    log_printf(FUNC,Register_unit,FUNCTION,_("<%s> End"),_name.c_str());
   };
   
@@ -92,18 +92,18 @@
   Register_unit::~Register_unit (void)
   {
-    log_printf(FUNC,Register_unit,FUNCTION,"Begin");
+    log_printf(FUNC,Register_unit,FUNCTION,_("<%s> Begin"),_name.c_str());
 
 #ifdef STATISTICS
     if (usage_is_set(_usage,USE_STATISTICS))
       {	
-        log_printf(INFO,Register_unit,FUNCTION,"Generate Statistics file");
+        log_printf(INFO,Register_unit,FUNCTION,_("<%s> Generate Statistics file"),_name.c_str());
         delete _stat;
       }
 #endif
 
-    log_printf(INFO,Register_unit,FUNCTION,"Deallocation");
+    log_printf(INFO,Register_unit,FUNCTION,_("<%s> Deallocation"),_name.c_str());
     deallocation ();
 
-    log_printf(FUNC,Register_unit,FUNCTION,"End");
+    log_printf(FUNC,Register_unit,FUNCTION,_("<%s> End"),_name.c_str());
   };
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Register_unit_allocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Register_unit_allocation.cpp	(revision 131)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Register_unit_allocation.cpp	(revision 136)
@@ -106,17 +106,32 @@
     }
 
-    // ~~~~~[ Interface "insert_rob" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+    // ~~~~~[ Interface "issue" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     {
-      ALLOC2_INTERFACE_BEGIN("insert_rob",IN,WEST,_("Interface to update status (insert)"),_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]);
+      ALLOC1_INTERFACE_BEGIN("issue",IN,WEST,_("Interface to update status (issue)"),_param->_nb_inst_issue);
       
-      _ALLOC2_VALACK_IN ( in_INSERT_ROB_VAL       ,VAL                                                      ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]);
-      _ALLOC2_VALACK_OUT(out_INSERT_ROB_ACK       ,ACK                                                      ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]);
-      _ALLOC2_SIGNAL_IN ( in_INSERT_ROB_RD_USE    ,"rd_use"    ,Tcontrol_t        ,1                        ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]);
-      _ALLOC2_SIGNAL_IN ( in_INSERT_ROB_RD_NUM_REG,"rd_num_reg",Tgeneral_address_t,_param->_size_gpr_address,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]);
-      _ALLOC2_SIGNAL_IN ( in_INSERT_ROB_RE_USE    ,"re_use"    ,Tcontrol_t        ,1                        ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]);
-      _ALLOC2_SIGNAL_IN ( in_INSERT_ROB_RE_NUM_REG,"re_num_reg",Tspecial_address_t,_param->_size_spr_address,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]);
+      ALLOC1_VALACK_IN ( in_ISSUE_VAL          ,VAL);
+      ALLOC1_VALACK_OUT(out_ISSUE_ACK          ,ACK);
+      ALLOC1_SIGNAL_IN ( in_ISSUE_OOO_ENGINE_ID,"ooo_engine_id",Tcontext_t        ,_param->_size_ooo_engine_id);
+      ALLOC1_SIGNAL_IN ( in_ISSUE_RD_USE       ,"rd_use"       ,Tcontrol_t        ,1                          );
+      ALLOC1_SIGNAL_IN ( in_ISSUE_RD_NUM_REG   ,"rd_num_reg"   ,Tgeneral_address_t,_param->_size_gpr_address  );
+      ALLOC1_SIGNAL_IN ( in_ISSUE_RE_USE       ,"re_use"       ,Tcontrol_t        ,1                          );
+      ALLOC1_SIGNAL_IN ( in_ISSUE_RE_NUM_REG   ,"re_num_reg"   ,Tspecial_address_t,_param->_size_spr_address  );
       
-      ALLOC2_INTERFACE_END(_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]);
+      ALLOC1_INTERFACE_END(_param->_nb_inst_issue);
     }
+
+//     // ~~~~~[ Interface "insert_rob" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+//     {
+//       ALLOC2_INTERFACE_BEGIN("insert_rob",IN,WEST,_("Interface to update status (insert)"),_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]);
+      
+//       _ALLOC2_VALACK_IN ( in_INSERT_ROB_VAL       ,VAL                                                      ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]);
+//       _ALLOC2_VALACK_OUT(out_INSERT_ROB_ACK       ,ACK                                                      ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]);
+//       _ALLOC2_SIGNAL_IN ( in_INSERT_ROB_RD_USE    ,"rd_use"    ,Tcontrol_t        ,1                        ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]);
+//       _ALLOC2_SIGNAL_IN ( in_INSERT_ROB_RD_NUM_REG,"rd_num_reg",Tgeneral_address_t,_param->_size_gpr_address,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]);
+//       _ALLOC2_SIGNAL_IN ( in_INSERT_ROB_RE_USE    ,"re_use"    ,Tcontrol_t        ,1                        ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]);
+//       _ALLOC2_SIGNAL_IN ( in_INSERT_ROB_RE_NUM_REG,"re_num_reg",Tspecial_address_t,_param->_size_spr_address,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]);
+      
+//       ALLOC2_INTERFACE_END(_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]);
+//     }
 
 //     // ~~~~~[ Interface "retire_rob" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -375,4 +390,6 @@
     // -------------------------------------------------------------------    
     {
+      uint32_t x=0;
+
       for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
 	{
@@ -413,5 +430,4 @@
 	    }
 
-	  uint32_t x=0;
 	  for (uint32_t j=0; j<_param->_nb_gpr_write; j++)
 	    {
@@ -439,28 +455,53 @@
 	    }
 	  
-	  for (uint32_t j=0; j<_param->_nb_inst_insert_rob [i]; j++)
-	    {
-              dest = _name+"_glue";
-              
-#ifdef POSITION
-              _component->interface_map (src ,    "write_"+toString(j),
-                                         dest,"insert_rob_gpr_status_"+toString(i)+"_"+toString(j));
-#endif
-
-              COMPONENT_MAP(_component,src , "in_WRITE_"                                +toString(x)+"_VAL",
-                                       dest,"out_INSERT_ROB_GPR_STATUS_"+toString(i)+"_"+toString(j)+"_VAL");
-              COMPONENT_MAP(_component,src ,"out_WRITE_"                                +toString(x)+"_ACK",
-                                       dest, "in_INSERT_ROB_GPR_STATUS_"+toString(i)+"_"+toString(j)+"_ACK");
-              COMPONENT_MAP(_component,src , "in_WRITE_"                                +toString(x)+"_DATA",
-                                       dest,"out_INSERT_ROB_GPR_STATUS_"+toString(i)+"_"+toString(j)+"_DATA");
-//                                     dest,"out_CONST_0");
-              
-              dest = _name;
-              
-              PORT_MAP     (_component,src , "in_WRITE_"                     +toString(x)+"_ADDRESS",
-                                       dest, "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_RD_NUM_REG");
-
-              x++;
-	    }
+// 	  for (uint32_t j=0; j<_param->_nb_inst_insert_rob [i]; j++)
+// 	    {
+//               dest = _name+"_glue";
+              
+// #ifdef POSITION
+//               _component->interface_map (src ,    "write_"+toString(j),
+//                                          dest,"insert_rob_gpr_status_"+toString(i)+"_"+toString(j));
+// #endif
+
+//               COMPONENT_MAP(_component,src , "in_WRITE_"                                +toString(x)+"_VAL",
+//                                        dest,"out_INSERT_ROB_GPR_STATUS_"+toString(i)+"_"+toString(j)+"_VAL");
+//               COMPONENT_MAP(_component,src ,"out_WRITE_"                                +toString(x)+"_ACK",
+//                                        dest, "in_INSERT_ROB_GPR_STATUS_"+toString(i)+"_"+toString(j)+"_ACK");
+//               COMPONENT_MAP(_component,src , "in_WRITE_"                                +toString(x)+"_DATA",
+//                                        dest,"out_INSERT_ROB_GPR_STATUS_"+toString(i)+"_"+toString(j)+"_DATA");
+// //                                     dest,"out_CONST_0");
+              
+//               dest = _name;
+              
+//               PORT_MAP     (_component,src , "in_WRITE_"                     +toString(x)+"_ADDRESS",
+//                                        dest, "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_RD_NUM_REG");
+
+//               x++;
+// 	    }
+
+      for (uint32_t j=0; j<_param->_nb_inst_issue; j++)
+	{
+	  dest = _name+"_glue";
+          
+#ifdef POSITION
+	  _component->interface_map (src ,"write_"+toString(j),
+				     dest,"issue_gpr_status_"+toString(i)+"_"+toString(j));
+#endif
+
+	  COMPONENT_MAP(_component,src , "in_WRITE_"                           +toString(x)+"_VAL",
+                                   dest,"out_ISSUE_GPR_STATUS_"+toString(i)+"_"+toString(j)+"_VAL");
+	  COMPONENT_MAP(_component,src ,"out_WRITE_"                           +toString(x)+"_ACK",
+                                   dest, "in_ISSUE_GPR_STATUS_"+toString(i)+"_"+toString(j)+"_ACK");
+	  COMPONENT_MAP(_component,src , "in_WRITE_"                           +toString(x)+"_DATA",
+                                   dest,"out_ISSUE_GPR_STATUS_"+toString(i)+"_"+toString(j)+"_DATA");
+//                                 dest,"out_CONST_0");
+              
+	  dest = _name;
+              
+	  PORT_MAP     (_component,src , "in_WRITE_"+toString(x)+"_ADDRESS",
+                                   dest, "in_ISSUE_"+toString(j)+"_RD_NUM_REG");
+
+	  x++;
+	}
 	}
     }// gpr_status
@@ -534,4 +575,5 @@
     // -------------------------------------------------------------------    
     {
+      uint32_t x=0;
       for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
 	{
@@ -572,5 +614,4 @@
 	    }
 
-	  uint32_t x=0;
 	  for (uint32_t j=0; j<_param->_nb_spr_write; j++)
 	    {
@@ -597,29 +638,55 @@
               x++;
 	    }
+
+// 	  for (uint32_t j=0; j<_param->_nb_inst_insert_rob [i]; j++)
+// 	    {
+//               dest = _name+"_glue";
+              
+// #ifdef POSITION
+//               _component->interface_map (src ,    "write_"+toString(x),
+//                                          dest,"insert_rob_spr_status_"+toString(i)+"_"+toString(j));
+// #endif
+
+//               COMPONENT_MAP(_component,src , "in_WRITE_"                                +toString(x)+"_VAL",
+//                                        dest,"out_INSERT_ROB_SPR_STATUS_"+toString(i)+"_"+toString(j)+"_VAL");
+//               COMPONENT_MAP(_component,src ,"out_WRITE_"                                +toString(x)+"_ACK",
+//                                        dest, "in_INSERT_ROB_SPR_STATUS_"+toString(i)+"_"+toString(j)+"_ACK");
+//               COMPONENT_MAP(_component,src , "in_WRITE_"                                +toString(x)+"_DATA",
+//                                        dest,"out_INSERT_ROB_SPR_STATUS_"+toString(i)+"_"+toString(j)+"_DATA");
+// //                                     dest,"out_CONST_0");
+
+//               dest = _name;
+              
+//               PORT_MAP     (_component,src , "in_WRITE_"                     +toString(x)+"_ADDRESS",
+//                                        dest, "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_RE_NUM_REG");
+
+//               x++;
+// 	    }
 	  
-	  for (uint32_t j=0; j<_param->_nb_inst_insert_rob [i]; j++)
-	    {
-              dest = _name+"_glue";
-              
-#ifdef POSITION
-              _component->interface_map (src ,    "write_"+toString(x),
-                                         dest,"insert_rob_spr_status_"+toString(i)+"_"+toString(j));
-#endif
-
-              COMPONENT_MAP(_component,src , "in_WRITE_"                                +toString(x)+"_VAL",
-                                       dest,"out_INSERT_ROB_SPR_STATUS_"+toString(i)+"_"+toString(j)+"_VAL");
-              COMPONENT_MAP(_component,src ,"out_WRITE_"                                +toString(x)+"_ACK",
-                                       dest, "in_INSERT_ROB_SPR_STATUS_"+toString(i)+"_"+toString(j)+"_ACK");
-              COMPONENT_MAP(_component,src , "in_WRITE_"                                +toString(x)+"_DATA",
-                                       dest,"out_INSERT_ROB_SPR_STATUS_"+toString(i)+"_"+toString(j)+"_DATA");
-//                                     dest,"out_CONST_0");
-
-              dest = _name;
-              
-              PORT_MAP     (_component,src , "in_WRITE_"                     +toString(x)+"_ADDRESS",
-                                       dest, "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_RE_NUM_REG");
-
-              x++;
-	    }
+      for (uint32_t j=0; j<_param->_nb_inst_issue; j++)
+	{
+	  dest = _name+"_glue";
+          
+#ifdef POSITION
+	  _component->interface_map (src ,    "write_"+toString(x),
+				     dest,"issue_spr_status_"+toString(i)+"_"+toString(j));
+#endif
+	  
+	  COMPONENT_MAP(_component,src , "in_WRITE_"                           +toString(x)+"_VAL",
+                                   dest,"out_ISSUE_SPR_STATUS_"+toString(i)+"_"+toString(j)+"_VAL");
+	  COMPONENT_MAP(_component,src ,"out_WRITE_"                           +toString(x)+"_ACK",
+                                   dest, "in_ISSUE_SPR_STATUS_"+toString(i)+"_"+toString(j)+"_ACK");
+	  COMPONENT_MAP(_component,src , "in_WRITE_"                           +toString(x)+"_DATA",
+                                   dest,"out_ISSUE_SPR_STATUS_"+toString(i)+"_"+toString(j)+"_DATA");
+//                                 dest,"out_CONST_0");
+
+	  dest = _name;
+              
+	  PORT_MAP     (_component,src , "in_WRITE_"+toString(x)+"_ADDRESS",
+			           dest, "in_ISSUE_"+toString(j)+"_RE_NUM_REG");
+	  
+	  x++;
+	}
+
 	}
     }// spr_status
@@ -751,34 +818,64 @@
 	}
 
-      for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
+//       for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
+// 	{
+// 	  uint32_t x = _param->_nb_inst_insert_rob [i];
+
+// 	  for (uint32_t j=0; j<x; j++)
+// 	    {
+//               dest = _name;
+
+// #ifdef POSITION
+//               _component->interface_map (src ,"insert_rob_"+toString(i)+"_"+toString(j),
+//                                          dest,"insert_rob_"+toString(i)+"_"+toString(j));
+// #endif
+
+// 	      PORT_MAP(_component,src , "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_VAL",
+//                                   dest, "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_VAL");
+// 	      PORT_MAP(_component,src ,"out_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_ACK",
+//                                   dest,"out_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_ACK");
+// 	      PORT_MAP(_component,src , "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_RD_USE",
+//                                   dest, "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_RD_USE");
+// 	      PORT_MAP(_component,src , "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_RE_USE",
+//                                   dest, "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_RE_USE");
+              
+//               // out_INSERT_ROB_GPR_STATUS_VAL - gpr_status.  in_WRITE_VAL
+//               //  in_INSERT_ROB_GPR_STATUS_ACK - gpr_status. out_WRITE_ACK
+//               // out_INSERT_ROB_GPR_STATUS_DATA- gpr_status.  in_WRITE_DATA
+//               // out_INSERT_ROB_SPR_STATUS_VAL - spr_status.  in_WRITE_VAL
+//               //  in_INSERT_ROB_SPR_STATUS_ACK - spr_status. out_WRITE_ACK
+//               //  in_INSERT_ROB_SPR_STATUS_DATA- spr_status. out_WRITE_DATA
+// 	    }
+// 	}
+
+      for (uint32_t i=0; i<_param->_nb_inst_issue; i++)
 	{
-	  uint32_t x = _param->_nb_inst_insert_rob [i];
-
-	  for (uint32_t j=0; j<x; j++)
-	    {
-              dest = _name;
-
-#ifdef POSITION
-              _component->interface_map (src ,"insert_rob_"+toString(i)+"_"+toString(j),
-                                         dest,"insert_rob_"+toString(i)+"_"+toString(j));
-#endif
-
-	      PORT_MAP(_component,src , "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_VAL",
-                                  dest, "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_VAL");
-	      PORT_MAP(_component,src ,"out_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_ACK",
-                                  dest,"out_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_ACK");
-	      PORT_MAP(_component,src , "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_RD_USE",
-                                  dest, "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_RD_USE");
-	      PORT_MAP(_component,src , "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_RE_USE",
-                                  dest, "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_RE_USE");
-              
-              // out_INSERT_ROB_GPR_STATUS_VAL - gpr_status.  in_WRITE_VAL
-              //  in_INSERT_ROB_GPR_STATUS_ACK - gpr_status. out_WRITE_ACK
-              // out_INSERT_ROB_GPR_STATUS_DATA- gpr_status.  in_WRITE_DATA
-              // out_INSERT_ROB_SPR_STATUS_VAL - spr_status.  in_WRITE_VAL
-              //  in_INSERT_ROB_SPR_STATUS_ACK - spr_status. out_WRITE_ACK
-              //  in_INSERT_ROB_SPR_STATUS_DATA- spr_status. out_WRITE_DATA
-	    }
+	  dest = _name;
+	  
+#ifdef POSITION
+	  _component->interface_map (src ,"issue_"+toString(i),
+				     dest,"issue_"+toString(i));
+#endif
+
+	  PORT_MAP(_component,src , "in_ISSUE_"+toString(i)+"_VAL",
+                              dest, "in_ISSUE_"+toString(i)+"_VAL");
+	  PORT_MAP(_component,src ,"out_ISSUE_"+toString(i)+"_ACK",
+                              dest,"out_ISSUE_"+toString(i)+"_ACK");
+	  if (_param->_have_port_ooo_engine_id == true)
+	  PORT_MAP(_component,src , "in_ISSUE_"+toString(i)+"_OOO_ENGINE_ID",
+                              dest, "in_ISSUE_"+toString(i)+"_OOO_ENGINE_ID");
+	  PORT_MAP(_component,src , "in_ISSUE_"+toString(i)+"_RD_USE",
+                              dest, "in_ISSUE_"+toString(i)+"_RD_USE");
+	  PORT_MAP(_component,src , "in_ISSUE_"+toString(i)+"_RE_USE",
+                              dest, "in_ISSUE_"+toString(i)+"_RE_USE");
+              
+	  // out_ISSUE_GPR_STATUS_VAL - gpr_status. in_WRITE_VAL
+	  //  in_ISSUE_GPR_STATUS_ACK - gpr_status.out_WRITE_ACK
+	  // out_ISSUE_GPR_STATUS_DATA- gpr_status. in_WRITE_DATA
+	  // out_ISSUE_SPR_STATUS_VAL - spr_status. in_WRITE_VAL
+	  //  in_ISSUE_SPR_STATUS_ACK - spr_status.out_WRITE_ACK
+	  //  in_ISSUE_SPR_STATUS_DATA- spr_status.out_WRITE_DATA
 	}
+
     }// glue
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Register_unit_deallocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Register_unit_deallocation.cpp	(revision 131)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Register_unit_deallocation.cpp	(revision 136)
@@ -54,10 +54,18 @@
         DELETE1_SIGNAL( in_SPR_WRITE_DATA         ,_param->_nb_spr_write,_param->_size_special_data);
                 
-        DELETE2_SIGNAL( in_INSERT_ROB_VAL         ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1],1);
-        DELETE2_SIGNAL(out_INSERT_ROB_ACK         ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1],1);
-        DELETE2_SIGNAL( in_INSERT_ROB_RD_USE      ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1],1);
-        DELETE2_SIGNAL( in_INSERT_ROB_RD_NUM_REG  ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1],_param->_size_gpr_address);
-        DELETE2_SIGNAL( in_INSERT_ROB_RE_USE      ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1],1);
-        DELETE2_SIGNAL( in_INSERT_ROB_RE_NUM_REG  ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1],_param->_size_spr_address);
+        DELETE1_SIGNAL( in_ISSUE_VAL          ,_param->_nb_inst_issue,1);
+        DELETE1_SIGNAL(out_ISSUE_ACK          ,_param->_nb_inst_issue,1);
+        DELETE1_SIGNAL( in_ISSUE_OOO_ENGINE_ID,_param->_nb_inst_issue,_param->_size_ooo_engine_id);
+        DELETE1_SIGNAL( in_ISSUE_RD_USE       ,_param->_nb_inst_issue,1);
+        DELETE1_SIGNAL( in_ISSUE_RD_NUM_REG   ,_param->_nb_inst_issue,_param->_size_gpr_address);
+        DELETE1_SIGNAL( in_ISSUE_RE_USE       ,_param->_nb_inst_issue,1);
+        DELETE1_SIGNAL( in_ISSUE_RE_NUM_REG   ,_param->_nb_inst_issue,_param->_size_spr_address);
+
+//         DELETE2_SIGNAL( in_INSERT_ROB_VAL         ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1],1);
+//         DELETE2_SIGNAL(out_INSERT_ROB_ACK         ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1],1);
+//         DELETE2_SIGNAL( in_INSERT_ROB_RD_USE      ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1],1);
+//         DELETE2_SIGNAL( in_INSERT_ROB_RD_NUM_REG  ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1],_param->_size_gpr_address);
+//         DELETE2_SIGNAL( in_INSERT_ROB_RE_USE      ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1],1);
+//         DELETE2_SIGNAL( in_INSERT_ROB_RE_NUM_REG  ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1],_param->_size_spr_address);
 
 //     delete []  in_RETIRE_ROB_VAL               ;
