Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/include/Commit_unit.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/include/Commit_unit.h	(revision 135)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/include/Commit_unit.h	(revision 136)
@@ -159,4 +159,5 @@
 //public    : SC_IN (Toperation_t       )  **  in_COMMIT_OPERATION                 ;//[nb_inst_commit]
 //public    : SC_IN (Ttype_t            )  **  in_COMMIT_TYPE                      ;//[nb_inst_commit]
+  public    : SC_IN (Tcontrol_t         )  **  in_COMMIT_CANCEL                    ;//[nb_inst_commit]
   public    : SC_IN (Tspecial_data_t    )  **  in_COMMIT_FLAGS                     ;//[nb_inst_commit]
   public    : SC_IN (Texception_t       )  **  in_COMMIT_EXCEPTION                 ;//[nb_inst_commit]
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 135)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/src/Commit_unit_allocation.cpp	(revision 136)
@@ -156,4 +156,5 @@
 //    ALLOC1_SIGNAL_IN ( in_COMMIT_OPERATION         ,"operation"  ,Toperation_t      ,_param->_size_operation       );
 //    ALLOC1_SIGNAL_IN ( in_COMMIT_TYPE              ,"type"       ,Ttype_t           ,_param->_size_type            );
+      ALLOC1_SIGNAL_IN ( in_COMMIT_CANCEL            ,"cancel"     ,Tcontrol_t        ,1                             );
       ALLOC1_SIGNAL_IN ( in_COMMIT_FLAGS             ,"flags"      ,Tspecial_data_t   ,_param->_size_special_data    );
       ALLOC1_SIGNAL_IN ( in_COMMIT_EXCEPTION         ,"exception"  ,Texception_t      ,_param->_size_exception       );
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/src/Commit_unit_deallocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/src/Commit_unit_deallocation.cpp	(revision 135)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/src/Commit_unit_deallocation.cpp	(revision 136)
@@ -104,4 +104,5 @@
 //      DELETE1_SIGNAL( in_COMMIT_OPERATION         ,_param->_nb_inst_commit,_param->_size_operation       );
 //      DELETE1_SIGNAL( in_COMMIT_TYPE              ,_param->_nb_inst_commit,_param->_size_type            );
+        DELETE1_SIGNAL( in_COMMIT_CANCEL            ,_param->_nb_inst_commit,1                             );
         DELETE1_SIGNAL( in_COMMIT_FLAGS             ,_param->_nb_inst_commit,_param->_size_general_data    );
         DELETE1_SIGNAL( in_COMMIT_EXCEPTION         ,_param->_nb_inst_commit,_param->_size_exception       );
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/src/Commit_unit_transition.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/src/Commit_unit_transition.cpp	(revision 135)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/src/Commit_unit_transition.cpp	(revision 136)
@@ -426,4 +426,5 @@
  		    Ttype_t         type         = entry->type;
 		    Tcontrol_t      no_sequence  = PORT_READ(in_COMMIT_NO_SEQUENCE [x]);
+		    // Tcontrol_t      cancel       = PORT_READ(in_COMMIT_CANCEL      [x]);
 
 #if 0
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Issue_queue/include/Issue_queue.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Issue_queue/include/Issue_queue.h	(revision 135)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Issue_queue/include/Issue_queue.h	(revision 136)
@@ -126,4 +126,5 @@
   public    : SC_OUT(Toperation_t      )   ** out_ISSUE_OUT_OPERATION            ;//[nb_inst_issue]
   public    : SC_OUT(Ttype_t           )   ** out_ISSUE_OUT_TYPE                 ;//[nb_inst_issue]
+  public    : SC_OUT(Tcontrol_t        )   ** out_ISSUE_OUT_CANCEL               ;//[nb_inst_issue]
   public    : SC_OUT(Tlsq_ptr_t        )   ** out_ISSUE_OUT_STORE_QUEUE_PTR_WRITE;//[nb_inst_issue]
   public    : SC_OUT(Tlsq_ptr_t        )   ** out_ISSUE_OUT_STORE_QUEUE_PTR_READ ;//[nb_inst_issue]
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Issue_queue/include/Types.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Issue_queue/include/Types.h	(revision 135)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Issue_queue/include/Types.h	(revision 136)
@@ -21,5 +21,5 @@
     {
        ISSUE_QUEUE_SCHEME_IN_ORDER        // Each instruction is issue in of order
-//       ,ISSUE_QUEUE_SCHEME_IN_BUNDLE_ORDER // Each bundle is issue in order. In bundle, an instruction is issue out of order
+//    ,ISSUE_QUEUE_SCHEME_IN_BUNDLE_ORDER // Each bundle is issue in order. In bundle, an instruction is issue out of order
       ,ISSUE_QUEUE_SCHEME_OUT_OF_ORDER    // Each instruction is issue out of order
     } Tissue_queue_scheme_t;
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Issue_queue/src/Issue_queue_allocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Issue_queue/src/Issue_queue_allocation.cpp	(revision 135)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Issue_queue/src/Issue_queue_allocation.cpp	(revision 136)
@@ -130,4 +130,5 @@
       ALLOC1_SIGNAL_OUT(out_ISSUE_OUT_OPERATION            ,"operation"            ,Toperation_t      ,_param->_size_operation       );
       ALLOC1_SIGNAL_OUT(out_ISSUE_OUT_TYPE                 ,"type"                 ,Ttype_t           ,_param->_size_type            );
+      ALLOC1_SIGNAL_OUT(out_ISSUE_OUT_CANCEL               ,"cancel"               ,Tcontrol_t        ,1);
       ALLOC1_SIGNAL_OUT(out_ISSUE_OUT_STORE_QUEUE_PTR_WRITE,"store_queue_ptr_write",Tlsq_ptr_t        ,_param->_size_store_queue_ptr );
       ALLOC1_SIGNAL_OUT(out_ISSUE_OUT_STORE_QUEUE_PTR_READ ,"store_queue_ptr_read" ,Tlsq_ptr_t        ,_param->_size_store_queue_ptr );
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Issue_queue/src/Issue_queue_deallocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Issue_queue/src/Issue_queue_deallocation.cpp	(revision 135)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Issue_queue/src/Issue_queue_deallocation.cpp	(revision 136)
@@ -83,4 +83,5 @@
         DELETE1_SIGNAL(out_ISSUE_OUT_OPERATION            ,_param->_nb_inst_issue,_param->_size_operation       );
         DELETE1_SIGNAL(out_ISSUE_OUT_TYPE                 ,_param->_nb_inst_issue,_param->_size_type            );
+        DELETE1_SIGNAL(out_ISSUE_OUT_CANCEL               ,_param->_nb_inst_issue,1);
         DELETE1_SIGNAL(out_ISSUE_OUT_STORE_QUEUE_PTR_WRITE,_param->_nb_inst_issue,_param->_size_store_queue_ptr );
         DELETE1_SIGNAL(out_ISSUE_OUT_STORE_QUEUE_PTR_READ ,_param->_nb_inst_issue,_param->_size_store_queue_ptr );
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Issue_queue/src/Issue_queue_function_in_order_genMealy_issue_out.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Issue_queue/src/Issue_queue_function_in_order_genMealy_issue_out.cpp	(revision 135)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Issue_queue/src/Issue_queue_function_in_order_genMealy_issue_out.cpp	(revision 136)
@@ -57,4 +57,5 @@
 	  PORT_WRITE(out_ISSUE_OUT_OPERATION             [index], entry->_operation            );
 	  PORT_WRITE(out_ISSUE_OUT_TYPE                  [index], entry->_type                 );
+	  PORT_WRITE(out_ISSUE_OUT_CANCEL                [index], 0                            );
 	  PORT_WRITE(out_ISSUE_OUT_STORE_QUEUE_PTR_WRITE [index], entry->_store_queue_ptr_write);
 	  PORT_WRITE(out_ISSUE_OUT_STORE_QUEUE_PTR_READ  [index], entry->_store_queue_ptr_read );
@@ -132,4 +133,5 @@
               PORT_WRITE(out_ISSUE_OUT_OPERATION             [index], entry->_operation            );
               PORT_WRITE(out_ISSUE_OUT_TYPE                  [index], entry->_type                 );
+              PORT_WRITE(out_ISSUE_OUT_CANCEL                [index], 0                            );
               PORT_WRITE(out_ISSUE_OUT_STORE_QUEUE_PTR_WRITE [index], entry->_store_queue_ptr_write);
               PORT_WRITE(out_ISSUE_OUT_STORE_QUEUE_PTR_READ  [index], entry->_store_queue_ptr_read );
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Issue_queue/src/Issue_queue_function_out_of_order_genMoore.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Issue_queue/src/Issue_queue_function_out_of_order_genMoore.cpp	(revision 135)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Issue_queue/src/Issue_queue_function_out_of_order_genMoore.cpp	(revision 136)
@@ -126,4 +126,5 @@
 	        PORT_WRITE(out_ISSUE_OUT_OPERATION             [i], entry->_operation            );
 	        PORT_WRITE(out_ISSUE_OUT_TYPE                  [i], entry->_type                 );
+	        PORT_WRITE(out_ISSUE_OUT_CANCEL                [i], 0                            );
 	        PORT_WRITE(out_ISSUE_OUT_STORE_QUEUE_PTR_WRITE [i], entry->_store_queue_ptr_write);
 	        PORT_WRITE(out_ISSUE_OUT_STORE_QUEUE_PTR_READ  [i], entry->_store_queue_ptr_read );
@@ -189,4 +190,5 @@
 	            PORT_WRITE(out_ISSUE_OUT_OPERATION             [i], entry->_operation            );
 	            PORT_WRITE(out_ISSUE_OUT_TYPE                  [i], entry->_type                 );
+	            PORT_WRITE(out_ISSUE_OUT_CANCEL                [i], 0                            );
 	            PORT_WRITE(out_ISSUE_OUT_STORE_QUEUE_PTR_WRITE [i], entry->_store_queue_ptr_write);
 	            PORT_WRITE(out_ISSUE_OUT_STORE_QUEUE_PTR_READ  [i], entry->_store_queue_ptr_read );
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Issue_queue/src/Parameters_msg_error.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Issue_queue/src/Parameters_msg_error.cpp	(revision 135)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Issue_queue/src/Parameters_msg_error.cpp	(revision 136)
@@ -43,5 +43,5 @@
     if (// (_queue_scheme == ISSUE_QUEUE_SCHEME_IN_BUNDLE_ORDER) or
         (_queue_scheme == ISSUE_QUEUE_SCHEME_OUT_OF_ORDER   ))
-      test.warning(toString(_("Can have deadlock with the queue scheme \"%s\".\n"),toString(_queue_scheme).c_str()));
+      test.error(toString(_("Can have deadlock with the queue scheme \"%s\".\n"),toString(_queue_scheme).c_str()));
 
     if (not is_multiple(_size_queue, _nb_bank))
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/include/OOO_Engine_Glue.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/include/OOO_Engine_Glue.h	(revision 135)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/include/OOO_Engine_Glue.h	(revision 136)
@@ -53,5 +53,5 @@
   public    : Stat                           * _stat;
 
-  private   : counter_t                      * _stat_nb_inst_issue_stall_by_registerfile;
+//private   : counter_t                      * _stat_nb_inst_issue_stall_by_registerfile;
 //private   : counter_t                      * _stat_nb_inst_issue_stall_by_rename_unit ;
   private   : counter_t                      * _stat_nb_inst_issue_stall_by_commit_unit ;
@@ -73,10 +73,10 @@
 
     // ~~~~~[ Interface : "insert" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  public    : SC_OUT(Tcontrol_t         )  ** out_INSERT_VAL                                   ;//[sum_inst_insert]
-  public    : SC_IN (Tcontrol_t         )  **  in_INSERT_ACK                                   ;//[sum_inst_insert]
-  public    : SC_OUT(Tcontrol_t         )  ** out_INSERT_RD_USE                                ;//[sum_inst_insert]
-  public    : SC_OUT(Tgeneral_address_t )  ** out_INSERT_RD_NUM_REG                            ;//[sum_inst_insert]
-  public    : SC_OUT(Tcontrol_t         )  ** out_INSERT_RE_USE                                ;//[sum_inst_insert]
-  public    : SC_OUT(Tspecial_address_t )  ** out_INSERT_RE_NUM_REG                            ;//[sum_inst_insert]
+//   public    : SC_OUT(Tcontrol_t         )  ** out_INSERT_VAL                                   ;//[sum_inst_insert]
+//   public    : SC_IN (Tcontrol_t         )  **  in_INSERT_ACK                                   ;//[sum_inst_insert]
+//   public    : SC_OUT(Tcontrol_t         )  ** out_INSERT_RD_USE                                ;//[sum_inst_insert]
+//   public    : SC_OUT(Tgeneral_address_t )  ** out_INSERT_RD_NUM_REG                            ;//[sum_inst_insert]
+//   public    : SC_OUT(Tcontrol_t         )  ** out_INSERT_RE_USE                                ;//[sum_inst_insert]
+//   public    : SC_OUT(Tspecial_address_t )  ** out_INSERT_RE_NUM_REG                            ;//[sum_inst_insert]
 
   public    : SC_IN (Tcontrol_t         ) ***  in_INSERT_RENAME_UNIT_VAL                       ;//[nb_rename_unit][nb_inst_insert]
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/include/Parameters.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/include/Parameters.h	(revision 135)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/include/Parameters.h	(revision 136)
@@ -50,5 +50,5 @@
 //public : uint32_t                _size_context_id                        ;
   public : uint32_t                _size_rename_id                         ;
-  public : uint32_t                _sum_inst_insert                        ;
+//public : uint32_t                _sum_inst_insert                        ;
 //public : uint32_t                _sum_inst_retire                        ;
   public : uint32_t              * _translate_front_end_id_to_rename_unit  ;//[nb_front_end]
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/src/OOO_Engine_Glue.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/src/OOO_Engine_Glue.cpp	(revision 135)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/src/OOO_Engine_Glue.cpp	(revision 136)
@@ -119,8 +119,8 @@
 	sensitive << (*(in_NRESET));
         {
-          uint32_t x=0;
+//           uint32_t x=0;
           for (uint32_t i=0; i<_param->_nb_rename_unit; ++i)
             for (uint32_t j=0; j<_param->_nb_inst_insert[i]; ++j)
-              sensitive << (*(in_INSERT_ACK                    [x++] ))
+              sensitive // << (*(in_INSERT_ACK                    [x++] ))
                         << (*(in_INSERT_RENAME_UNIT_VAL        [i][j]))
                         << (*(in_INSERT_RENAME_UNIT_NO_EXECUTE [i][j]))
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/src/OOO_Engine_Glue_allocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/src/OOO_Engine_Glue_allocation.cpp	(revision 135)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/src/OOO_Engine_Glue_allocation.cpp	(revision 136)
@@ -67,16 +67,16 @@
     
     // ~~~~~[ Interface : "insert" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-    {
-      ALLOC1_INTERFACE_BEGIN("insert",OUT, WEST,_("insert's interface"),_param->_sum_inst_insert);
-
-      ALLOC1_SIGNAL_OUT (out_INSERT_VAL                                   ,"VAL"                                   ,Tcontrol_t         ,1                             );
-      ALLOC1_SIGNAL_IN  ( in_INSERT_ACK                                   ,"ACK"                                   ,Tcontrol_t         ,1                             );
-      ALLOC1_SIGNAL_OUT (out_INSERT_RD_USE                                ,"RD_USE"                                ,Tcontrol_t         ,1                             );
-      ALLOC1_SIGNAL_OUT (out_INSERT_RD_NUM_REG                            ,"RD_NUM_REG"                            ,Tgeneral_address_t ,_param->_size_general_register);
-      ALLOC1_SIGNAL_OUT (out_INSERT_RE_USE                                ,"RE_USE"                                ,Tcontrol_t         ,1                             );
-      ALLOC1_SIGNAL_OUT (out_INSERT_RE_NUM_REG                            ,"RE_NUM_REG"                            ,Tspecial_address_t ,_param->_size_special_register);
-
-      ALLOC1_INTERFACE_END(_param->_sum_inst_insert);
-    }
+//     {
+//       ALLOC1_INTERFACE_BEGIN("insert",OUT, WEST,_("insert's interface"),_param->_sum_inst_insert);
+
+//       ALLOC1_SIGNAL_OUT (out_INSERT_VAL                                   ,"VAL"                                   ,Tcontrol_t         ,1                             );
+//       ALLOC1_SIGNAL_IN  ( in_INSERT_ACK                                   ,"ACK"                                   ,Tcontrol_t         ,1                             );
+//       ALLOC1_SIGNAL_OUT (out_INSERT_RD_USE                                ,"RD_USE"                                ,Tcontrol_t         ,1                             );
+//       ALLOC1_SIGNAL_OUT (out_INSERT_RD_NUM_REG                            ,"RD_NUM_REG"                            ,Tgeneral_address_t ,_param->_size_general_register);
+//       ALLOC1_SIGNAL_OUT (out_INSERT_RE_USE                                ,"RE_USE"                                ,Tcontrol_t         ,1                             );
+//       ALLOC1_SIGNAL_OUT (out_INSERT_RE_NUM_REG                            ,"RE_NUM_REG"                            ,Tspecial_address_t ,_param->_size_special_register);
+
+//       ALLOC1_INTERFACE_END(_param->_sum_inst_insert);
+//     }
 
     {
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/src/OOO_Engine_Glue_deallocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/src/OOO_Engine_Glue_deallocation.cpp	(revision 135)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/src/OOO_Engine_Glue_deallocation.cpp	(revision 136)
@@ -31,10 +31,10 @@
         DELETE2_SIGNAL(out_RENAME_RENAME_UNIT_FRONT_END_ID              ,_param->_nb_front_end,_param->_nb_inst_decod[it1],_param->_size_front_end_id    );
 
-        DELETE1_SIGNAL(out_INSERT_VAL                                   ,_param->_sum_inst_insert,1                             );
-        DELETE1_SIGNAL( in_INSERT_ACK                                   ,_param->_sum_inst_insert,1                             );
-        DELETE1_SIGNAL(out_INSERT_RD_USE                                ,_param->_sum_inst_insert,1                             );
-        DELETE1_SIGNAL(out_INSERT_RD_NUM_REG                            ,_param->_sum_inst_insert,_param->_size_general_register);
-        DELETE1_SIGNAL(out_INSERT_RE_USE                                ,_param->_sum_inst_insert,1                             );
-        DELETE1_SIGNAL(out_INSERT_RE_NUM_REG                            ,_param->_sum_inst_insert,_param->_size_general_register);
+//         DELETE1_SIGNAL(out_INSERT_VAL                                   ,_param->_sum_inst_insert,1                             );
+//         DELETE1_SIGNAL( in_INSERT_ACK                                   ,_param->_sum_inst_insert,1                             );
+//         DELETE1_SIGNAL(out_INSERT_RD_USE                                ,_param->_sum_inst_insert,1                             );
+//         DELETE1_SIGNAL(out_INSERT_RD_NUM_REG                            ,_param->_sum_inst_insert,_param->_size_general_register);
+//         DELETE1_SIGNAL(out_INSERT_RE_USE                                ,_param->_sum_inst_insert,1                             );
+//         DELETE1_SIGNAL(out_INSERT_RE_NUM_REG                            ,_param->_sum_inst_insert,_param->_size_general_register);
 
         DELETE2_SIGNAL( in_INSERT_RENAME_UNIT_VAL                       ,_param->_nb_rename_unit,_param->_nb_inst_insert[it1],1                             );
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/src/OOO_Engine_Glue_genMealy_insert.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/src/OOO_Engine_Glue_genMealy_insert.cpp	(revision 135)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/src/OOO_Engine_Glue_genMealy_insert.cpp	(revision 136)
@@ -26,5 +26,5 @@
     if (PORT_READ(in_NRESET))
       {
-    uint32_t x=0;
+//     uint32_t x=0;
     for (uint32_t i=0; i<_param->_nb_rename_unit; ++i)
       for (uint32_t j=0; j<_param->_nb_inst_insert[i]; ++j)
@@ -57,8 +57,8 @@
           Tspecial_address_t special_address_msb   = i << _param->_size_special_register;
           
-          PORT_WRITE(out_INSERT_RD_USE                            [x]   ,WRITE_RD);
-          PORT_WRITE(out_INSERT_RD_NUM_REG                        [x]   ,general_address_msb | NUM_REG_RD_PHY_NEW);
-          PORT_WRITE(out_INSERT_RE_USE                            [x]   ,WRITE_RE);
-          PORT_WRITE(out_INSERT_RE_NUM_REG                        [x]   ,special_address_msb | NUM_REG_RE_PHY_NEW);
+//           PORT_WRITE(out_INSERT_RD_USE                            [x]   ,WRITE_RD);
+//           PORT_WRITE(out_INSERT_RD_NUM_REG                        [x]   ,general_address_msb | NUM_REG_RD_PHY_NEW);
+//           PORT_WRITE(out_INSERT_RE_USE                            [x]   ,WRITE_RE);
+//           PORT_WRITE(out_INSERT_RE_NUM_REG                        [x]   ,special_address_msb | NUM_REG_RE_PHY_NEW);
 
           if (_param->_have_port_front_end_id)
@@ -112,5 +112,5 @@
           PORT_WRITE(out_INSERT_ISSUE_QUEUE_NUM_REG_RE            [i][j],special_address_msb | NUM_REG_RE_PHY_NEW);
 
-          x ++;
+//           x ++;
         }
       }
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/src/OOO_Engine_Glue_genMealy_insert_valack.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/src/OOO_Engine_Glue_genMealy_insert_valack.cpp	(revision 135)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/src/OOO_Engine_Glue_genMealy_insert_valack.cpp	(revision 136)
@@ -26,5 +26,5 @@
     if (PORT_READ(in_NRESET))
       {
-    uint32_t x=0;
+//     uint32_t x=0;
     for (uint32_t i=0; i<_param->_nb_rename_unit; ++i)
       {
@@ -33,5 +33,5 @@
         for (uint32_t j=0; j<_param->_nb_inst_insert[i]; ++j)
           {
-            Tcontrol_t ack                    = PORT_READ(in_INSERT_ACK                    [x]   );
+//             Tcontrol_t ack                    = PORT_READ(in_INSERT_ACK                    [x]   );
             Tcontrol_t rename_unit_val        = PORT_READ(in_INSERT_RENAME_UNIT_VAL        [i][j]);
             Tcontrol_t rename_unit_no_execute = PORT_READ(in_INSERT_RENAME_UNIT_NO_EXECUTE [i][j]);
@@ -41,33 +41,33 @@
             // if not execute -> don't route to issue_queue
             
-            Tcontrol_t val             = (
-                                          rename_unit_val        and
-                                          commit_unit_ack        and
-                                          (rename_unit_no_execute or
-                                           issue_queue_ack));
+//             Tcontrol_t val             = (
+//                                           rename_unit_val        and
+//                                           commit_unit_ack        and
+//                                           (rename_unit_no_execute or
+//                                            issue_queue_ack));
             Tcontrol_t rename_unit_ack = (
-                                          ack                    and
+//                                           ack                    and
                                           commit_unit_ack        and
                                           (rename_unit_no_execute or
                                            issue_queue_ack));
             Tcontrol_t commit_unit_val = (
-                                          ack                    and
+//                                           ack                    and
                                           rename_unit_val        and
                                           (rename_unit_no_execute or
                                            issue_queue_ack));
             Tcontrol_t issue_queue_val = (
-                                          ack                    and
+//                                           ack                    and
                                           rename_unit_val        and
                                           commit_unit_ack        and
                                           not rename_unit_no_execute);
 
-            PORT_WRITE(out_INSERT_VAL             [x]   ,val            );
+//             PORT_WRITE(out_INSERT_VAL             [x]   ,val            );
             PORT_WRITE(out_INSERT_RENAME_UNIT_ACK [i][j],rename_unit_ack);
             PORT_WRITE(out_INSERT_COMMIT_UNIT_VAL [i][j],commit_unit_val);
             PORT_WRITE(out_INSERT_ISSUE_QUEUE_VAL [i][j],issue_queue_val);
 
-            log_printf(TRACE,OOO_Engine_Glue,FUNCTION,"  * rename_unit [%d].inst_insert[%d] -> %d",i,j,x);
-            log_printf(TRACE,OOO_Engine_Glue,FUNCTION,"    * insert_val (RegisterFile)     (w) : %d",val                   );
-            log_printf(TRACE,OOO_Engine_Glue,FUNCTION,"    * insert_ack (RegisterFile)     (r) : %d",ack                   );
+            log_printf(TRACE,OOO_Engine_Glue,FUNCTION,"  * rename_unit [%d].inst_insert[%d]",i,j);
+//             log_printf(TRACE,OOO_Engine_Glue,FUNCTION,"    * insert_val (RegisterFile)     (w) : %d",val                   );
+//             log_printf(TRACE,OOO_Engine_Glue,FUNCTION,"    * insert_ack (RegisterFile)     (r) : %d",ack                   );
             log_printf(TRACE,OOO_Engine_Glue,FUNCTION,"    * insert_rename_unit_val        (r) : %d",rename_unit_val       );
             log_printf(TRACE,OOO_Engine_Glue,FUNCTION,"    * insert_rename_unit_ack        (w) : %d",rename_unit_ack       );
@@ -78,5 +78,5 @@
             log_printf(TRACE,OOO_Engine_Glue,FUNCTION,"    * insert_issue_queue_ack        (r) : %d",issue_queue_ack       );
 
-            x ++;
+//             x ++;
           }
       }
@@ -84,13 +84,13 @@
     else
       {
-        uint32_t x=0;
+//         uint32_t x=0;
         for (uint32_t i=0; i<_param->_nb_rename_unit; ++i)
           for (uint32_t j=0; j<_param->_nb_inst_insert[i]; ++j)
             {
-              PORT_WRITE(out_INSERT_VAL             [x]   ,0);
+//               PORT_WRITE(out_INSERT_VAL             [x]   ,0);
               PORT_WRITE(out_INSERT_RENAME_UNIT_ACK [i][j],0);
               PORT_WRITE(out_INSERT_COMMIT_UNIT_VAL [i][j],0);
               PORT_WRITE(out_INSERT_ISSUE_QUEUE_VAL [i][j],0);
-              x ++;
+//               x ++;
             }
       }
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/src/OOO_Engine_Glue_statistics_allocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/src/OOO_Engine_Glue_statistics_allocation.cpp	(revision 135)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/src/OOO_Engine_Glue_statistics_allocation.cpp	(revision 136)
@@ -27,5 +27,5 @@
 		      param_statistics);
 
-    _stat_nb_inst_issue_stall_by_registerfile = _stat->create_variable("nb_inst_issue_stall_by_registerfile");
+//  _stat_nb_inst_issue_stall_by_registerfile = _stat->create_variable("nb_inst_issue_stall_by_registerfile");
 //  _stat_nb_inst_issue_stall_by_rename_unit  = _stat->create_variable("nb_inst_issue_stall_by_rename_unit" );
     _stat_nb_inst_issue_stall_by_commit_unit  = _stat->create_variable("nb_inst_issue_stall_by_commit_unit" );
@@ -33,7 +33,7 @@
 
 //     std::string nb_inst_issue_stall = "+ + nb_inst_issue_stall_by_registerfile nb_inst_issue_stall_by_rename_unit + nb_inst_issue_stall_by_commit_unit nb_inst_issue_stall_by_issue_queue";
-    std::string nb_inst_issue_stall = "+ nb_inst_issue_stall_by_registerfile + nb_inst_issue_stall_by_commit_unit nb_inst_issue_stall_by_issue_queue";
+    std::string nb_inst_issue_stall = "+ nb_inst_issue_stall_by_commit_unit nb_inst_issue_stall_by_issue_queue";
 
-    _stat->create_expr_percent ("percent_issue_stall_by_registerfile", "nb_inst_issue_stall_by_registerfile", nb_inst_issue_stall, _("Percent of instruction stalled by RegisterFile"));
+//  _stat->create_expr_percent ("percent_issue_stall_by_registerfile", "nb_inst_issue_stall_by_registerfile", nb_inst_issue_stall, _("Percent of instruction stalled by RegisterFile"));
 //  _stat->create_expr_percent ("percent_issue_stall_by_rename_unit" , "nb_inst_issue_stall_by_rename_unit" , nb_inst_issue_stall, _("Percent of instruction stalled by Rename_Unit") );
     _stat->create_expr_percent ("percent_issue_stall_by_commit_unit" , "nb_inst_issue_stall_by_commit_unit" , nb_inst_issue_stall, _("Percent of instruction stalled by Commit_Unit") );
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/src/OOO_Engine_Glue_transition.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/src/OOO_Engine_Glue_transition.cpp	(revision 135)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/src/OOO_Engine_Glue_transition.cpp	(revision 136)
@@ -26,5 +26,5 @@
     if (usage_is_set(_usage,USE_STATISTICS))
       {
-        uint32_t x=0;
+//         uint32_t x=0;
         for (uint32_t i=0; i<_param->_nb_rename_unit; ++i)
           for (uint32_t j=0; j<_param->_nb_inst_insert[i]; ++j)
@@ -32,6 +32,6 @@
               if (PORT_READ(in_INSERT_RENAME_UNIT_VAL [i][j]))
                 {
-                  if (PORT_READ(in_INSERT_ACK [x]) == 0)
-                    (*_stat_nb_inst_issue_stall_by_registerfile) ++;
+//                   if (PORT_READ(in_INSERT_ACK [x]) == 0)
+//                     (*_stat_nb_inst_issue_stall_by_registerfile) ++;
                   if (PORT_READ(in_INSERT_COMMIT_UNIT_ACK [i][j]) == 0)
                     (*_stat_nb_inst_issue_stall_by_commit_unit ) ++;
@@ -39,5 +39,5 @@
                     (*_stat_nb_inst_issue_stall_by_issue_queue ) ++;
                 }
-              x++;
+//               x++;
             }
       }
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/src/Parameters.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/src/Parameters.cpp	(revision 135)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/src/Parameters.cpp	(revision 136)
@@ -53,12 +53,12 @@
 //  _rename_unit_size_context_id            = rename_unit_size_context_id     ;
     _size_rename_id                         = log2(_nb_rename_unit)           ;
-    _sum_inst_insert                        = 0;
+//  _sum_inst_insert                        = 0;
 //  _sum_inst_retire                        = 0;
 
-    for (uint32_t i=0; i<_nb_rename_unit; ++i)
-      {
-        _sum_inst_insert += _nb_inst_insert[i];
+//  for (uint32_t i=0; i<_nb_rename_unit; ++i)
+//    {
+//      _sum_inst_insert += _nb_inst_insert[i];
 //      _sum_inst_retire += _nb_inst_retire[i];
-      }
+//    }
 
     ALLOC1(_translate_front_end_id_to_rename_unit,uint32_t,_nb_front_end);
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Reexecute_unit/include/Reexecute_unit.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Reexecute_unit/include/Reexecute_unit.h	(revision 135)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Reexecute_unit/include/Reexecute_unit.h	(revision 136)
@@ -77,4 +77,5 @@
 //public    : SC_IN (Toperation_t       ) ***  in_EXECUTE_LOOP_OPERATION               ;//[nb_execute_loop][nb_inst_execute]
 //public    : SC_IN (Ttype_t            ) ***  in_EXECUTE_LOOP_TYPE                    ;//[nb_execute_loop][nb_inst_execute]
+  public    : SC_IN (Tcontrol_t         ) ***  in_EXECUTE_LOOP_CANCEL                  ;//[nb_execute_loop][nb_inst_execute]
   public    : SC_IN (Tspecial_data_t    ) ***  in_EXECUTE_LOOP_FLAGS                   ;//[nb_execute_loop][nb_inst_execute]
   public    : SC_IN (Texception_t       ) ***  in_EXECUTE_LOOP_EXCEPTION               ;//[nb_execute_loop][nb_inst_execute]
@@ -92,4 +93,5 @@
 //public    : SC_OUT(Toperation_t       )  ** out_COMMIT_OPERATION                     ;//[nb_inst_commit]
 //public    : SC_OUT(Ttype_t            )  ** out_COMMIT_TYPE                          ;//[nb_inst_commit]
+  public    : SC_OUT(Tcontrol_t         )  ** out_COMMIT_CANCEL                        ;//[nb_inst_commit]
   public    : SC_OUT(Tspecial_data_t    )  ** out_COMMIT_FLAGS                         ;//[nb_inst_commit]
   public    : SC_OUT(Texception_t       )  ** out_COMMIT_EXCEPTION                     ;//[nb_inst_commit]
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Reexecute_unit/src/Reexecute_unit.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Reexecute_unit/src/Reexecute_unit.cpp	(revision 135)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Reexecute_unit/src/Reexecute_unit.cpp	(revision 136)
@@ -153,4 +153,5 @@
 // 			<< (*(in_EXECUTE_LOOP_OPERATION    [i][j]))
 // 			<< (*(in_EXECUTE_LOOP_TYPE         [i][j]))
+			<< (*(in_EXECUTE_LOOP_CANCEL       [i][j]))
 			<< (*(in_EXECUTE_LOOP_FLAGS        [i][j]))
 			<< (*(in_EXECUTE_LOOP_EXCEPTION    [i][j]))
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Reexecute_unit/src/Reexecute_unit_allocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Reexecute_unit/src/Reexecute_unit_allocation.cpp	(revision 135)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Reexecute_unit/src/Reexecute_unit_allocation.cpp	(revision 136)
@@ -67,4 +67,5 @@
 //    _ALLOC2_SIGNAL_IN ( in_EXECUTE_LOOP_OPERATION               ,"operation"   ,Toperation_t       ,_param->_size_operation   ,_param->_nb_execute_loop,_param->_nb_inst_execute[it1]);
 //    _ALLOC2_SIGNAL_IN ( in_EXECUTE_LOOP_TYPE                    ,"type"        ,Ttype_t            ,_param->_size_type        ,_param->_nb_execute_loop,_param->_nb_inst_execute[it1]);
+      _ALLOC2_SIGNAL_IN ( in_EXECUTE_LOOP_CANCEL                  ,"cancel"      ,Tcontrol_t         ,1                         ,_param->_nb_execute_loop,_param->_nb_inst_execute[it1]);
       _ALLOC2_SIGNAL_IN ( in_EXECUTE_LOOP_FLAGS                   ,"flags"       ,Tspecial_data_t    ,_param->_size_special_data,_param->_nb_execute_loop,_param->_nb_inst_execute[it1]);
       _ALLOC2_SIGNAL_IN ( in_EXECUTE_LOOP_EXCEPTION               ,"exception"   ,Texception_t       ,_param->_size_exception   ,_param->_nb_execute_loop,_param->_nb_inst_execute[it1]);
@@ -88,4 +89,5 @@
 //    ALLOC1_SIGNAL_OUT(out_COMMIT_OPERATION                     ,"operation"   ,Toperation_t       ,_param->_size_operation   );
 //    ALLOC1_SIGNAL_OUT(out_COMMIT_TYPE                          ,"type"        ,Ttype_t            ,_param->_size_type        );
+      ALLOC1_SIGNAL_OUT(out_COMMIT_CANCEL                        ,"cancel"      ,Tcontrol_t         ,1                         );
       ALLOC1_SIGNAL_OUT(out_COMMIT_FLAGS                         ,"flags"       ,Tspecial_data_t    ,_param->_size_special_data);
       ALLOC1_SIGNAL_OUT(out_COMMIT_EXCEPTION                     ,"exception"   ,Texception_t       ,_param->_size_exception   );
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Reexecute_unit/src/Reexecute_unit_deallocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Reexecute_unit/src/Reexecute_unit_deallocation.cpp	(revision 135)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Reexecute_unit/src/Reexecute_unit_deallocation.cpp	(revision 136)
@@ -35,4 +35,5 @@
 //      DELETE2_SIGNAL( in_EXECUTE_LOOP_OPERATION               ,_param->_nb_execute_loop,_param->_nb_inst_execute[it1],_param->_size_operation   );
 //      DELETE2_SIGNAL( in_EXECUTE_LOOP_TYPE                    ,_param->_nb_execute_loop,_param->_nb_inst_execute[it1],_param->_size_type        );
+        DELETE2_SIGNAL( in_EXECUTE_LOOP_CANCEL                  ,_param->_nb_execute_loop,_param->_nb_inst_execute[it1],1                         );
         DELETE2_SIGNAL( in_EXECUTE_LOOP_FLAGS                   ,_param->_nb_execute_loop,_param->_nb_inst_execute[it1],_param->_size_special_data);
         DELETE2_SIGNAL( in_EXECUTE_LOOP_EXCEPTION               ,_param->_nb_execute_loop,_param->_nb_inst_execute[it1],_param->_size_exception   );
@@ -49,4 +50,5 @@
 //      DELETE1_SIGNAL(out_COMMIT_OPERATION                     ,_param->_nb_inst_commit,_param->_size_operation   );
 //      DELETE1_SIGNAL(out_COMMIT_TYPE                          ,_param->_nb_inst_commit,_param->_size_type        );
+        DELETE1_SIGNAL(out_COMMIT_CANCEL                        ,_param->_nb_inst_commit,1                         );
         DELETE1_SIGNAL(out_COMMIT_FLAGS                         ,_param->_nb_inst_commit,_param->_size_special_data);
         DELETE1_SIGNAL(out_COMMIT_EXCEPTION                     ,_param->_nb_inst_commit,_param->_size_exception   );
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Reexecute_unit/src/Reexecute_unit_genMealy_commit.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Reexecute_unit/src/Reexecute_unit_genMealy_commit.cpp	(revision 135)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Reexecute_unit/src/Reexecute_unit_genMealy_commit.cpp	(revision 136)
@@ -111,4 +111,5 @@
 		  //PORT_WRITE(out_COMMIT_OPERATION    [i], PORT_READ(in_EXECUTE_LOOP_OPERATION    [x][y]));
 		  //PORT_WRITE(out_COMMIT_TYPE         [i], PORT_READ(in_EXECUTE_LOOP_TYPE         [x][y]));
+		    PORT_WRITE(out_COMMIT_CANCEL       [i], PORT_READ(in_EXECUTE_LOOP_CANCEL       [x][y]));
 		    PORT_WRITE(out_COMMIT_FLAGS        [i], PORT_READ(in_EXECUTE_LOOP_FLAGS        [x][y]));
 		    PORT_WRITE(out_COMMIT_EXCEPTION    [i], exception);
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/include/OOO_Engine.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/include/OOO_Engine.h	(revision 135)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/include/OOO_Engine.h	(revision 136)
@@ -106,4 +106,5 @@
   public    : SC_OUT(Ttype_t           )   ** out_ISSUE_TYPE                       ;//[nb_inst_issue]
   public    : SC_OUT(Toperation_t      )   ** out_ISSUE_OPERATION                  ;//[nb_inst_issue]
+  public    : SC_OUT(Tcontrol_t        )   ** out_ISSUE_CANCEL                     ;//[nb_inst_issue]
   public    : SC_OUT(Tlsq_ptr_t        )   ** out_ISSUE_STORE_QUEUE_PTR_WRITE      ;//[nb_inst_issue]
   public    : SC_OUT(Tlsq_ptr_t        )   ** out_ISSUE_STORE_QUEUE_PTR_READ       ;//[nb_inst_issue]
@@ -131,4 +132,5 @@
 //public    : SC_IN (Ttype_t           )  ***  in_EXECUTE_LOOP_TYPE                ;//[nb_execute_loop][nb_inst_execute]
 //public    : SC_IN (Toperation_t      )  ***  in_EXECUTE_LOOP_OPERATION           ;//[nb_execute_loop][nb_inst_execute]
+  public    : SC_IN (Tcontrol_t        )  ***  in_EXECUTE_LOOP_CANCEL              ;//[nb_execute_loop][nb_inst_execute]
   public    : SC_IN (Tspecial_data_t   )  ***  in_EXECUTE_LOOP_FLAGS               ;//[nb_execute_loop][nb_inst_execute]
   public    : SC_IN (Texception_t      )  ***  in_EXECUTE_LOOP_EXCEPTION           ;//[nb_execute_loop][nb_inst_execute]
@@ -137,11 +139,11 @@
   public    : SC_IN (Tgeneral_data_t   )  ***  in_EXECUTE_LOOP_DATA                ;//[nb_execute_loop][nb_inst_execute]
 
-    // ~~~~~[ Interface "insert" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  public    : SC_OUT(Tcontrol_t        )   ** out_INSERT_VAL                       ;//[nb_inst_insert]
-  public    : SC_IN (Tcontrol_t        )   **  in_INSERT_ACK                       ;//[nb_inst_insert]
-  public    : SC_OUT(Tcontrol_t        )   ** out_INSERT_RD_USE                    ;//[nb_inst_insert]
-  public    : SC_OUT(Tgeneral_address_t)   ** out_INSERT_RD_NUM_REG                ;//[nb_inst_insert]
-  public    : SC_OUT(Tcontrol_t        )   ** out_INSERT_RE_USE                    ;//[nb_inst_insert]
-  public    : SC_OUT(Tspecial_address_t)   ** out_INSERT_RE_NUM_REG                ;//[nb_inst_insert]
+//     // ~~~~~[ Interface "insert" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+//   public    : SC_OUT(Tcontrol_t        )   ** out_INSERT_VAL                       ;//[nb_inst_insert]
+//   public    : SC_IN (Tcontrol_t        )   **  in_INSERT_ACK                       ;//[nb_inst_insert]
+//   public    : SC_OUT(Tcontrol_t        )   ** out_INSERT_RD_USE                    ;//[nb_inst_insert]
+//   public    : SC_OUT(Tgeneral_address_t)   ** out_INSERT_RD_NUM_REG                ;//[nb_inst_insert]
+//   public    : SC_OUT(Tcontrol_t        )   ** out_INSERT_RE_USE                    ;//[nb_inst_insert]
+//   public    : SC_OUT(Tspecial_address_t)   ** out_INSERT_RE_NUM_REG                ;//[nb_inst_insert]
 
 //     // ~~~~~[ Interface "retire" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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 135)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/src/OOO_Engine_allocation.cpp	(revision 136)
@@ -101,4 +101,5 @@
       ALLOC1_SIGNAL_OUT (out_ISSUE_TYPE                       ,"TYPE"                      ,Ttype_t           ,_param->_size_type                   );
       ALLOC1_SIGNAL_OUT (out_ISSUE_OPERATION                  ,"OPERATION"                 ,Toperation_t      ,_param->_size_operation              );
+      ALLOC1_SIGNAL_OUT (out_ISSUE_CANCEL                     ,"CANCEL"                    ,Tcontrol_t        ,1                                    );
       ALLOC1_SIGNAL_OUT (out_ISSUE_STORE_QUEUE_PTR_WRITE      ,"STORE_QUEUE_PTR_WRITE"     ,Tlsq_ptr_t        ,_param->_size_store_queue_ptr        );
       ALLOC1_SIGNAL_OUT (out_ISSUE_STORE_QUEUE_PTR_READ       ,"STORE_QUEUE_PTR_READ"      ,Tlsq_ptr_t        ,_param->_size_store_queue_ptr        );
@@ -132,4 +133,5 @@
 //    _ALLOC2_SIGNAL_IN ( in_EXECUTE_LOOP_TYPE                ,"TYPE"                      ,Ttype_t           ,_param->_size_type                   ,_param->_nb_execute_loop,_param->_nb_inst_execute[it1]);
 //    _ALLOC2_SIGNAL_IN ( in_EXECUTE_LOOP_OPERATION           ,"OPERATION"                 ,Toperation_t      ,_param->_size_operation              ,_param->_nb_execute_loop,_param->_nb_inst_execute[it1]);
+      _ALLOC2_SIGNAL_IN ( in_EXECUTE_LOOP_CANCEL              ,"CANCEL"                    ,Tcontrol_t        ,1                                    ,_param->_nb_execute_loop,_param->_nb_inst_execute[it1]);
       _ALLOC2_SIGNAL_IN ( in_EXECUTE_LOOP_FLAGS               ,"FLAGS"                     ,Tspecial_data_t   ,_param->_size_special_data           ,_param->_nb_execute_loop,_param->_nb_inst_execute[it1]);
       _ALLOC2_SIGNAL_IN ( in_EXECUTE_LOOP_EXCEPTION           ,"EXCEPTION"                 ,Texception_t      ,_param->_size_exception              ,_param->_nb_execute_loop,_param->_nb_inst_execute[it1]);
@@ -141,17 +143,17 @@
     }
 
-    // ~~~~~[ Interface "insert" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-    {
-      ALLOC1_INTERFACE_BEGIN("insert",OUT,EAST,_("Interface with RegisterFile's stat-list (insert Re-Order-Buffer)."),_param->_sum_inst_insert);
-
-      ALLOC1_VALACK_OUT (out_INSERT_VAL                       , VAL);
-      ALLOC1_VALACK_IN  ( in_INSERT_ACK                       , ACK);
-      ALLOC1_SIGNAL_OUT (out_INSERT_RD_USE                    ,"RD_USE"                    ,Tcontrol_t        ,1                                    );
-      ALLOC1_SIGNAL_OUT (out_INSERT_RD_NUM_REG                ,"RD_NUM_REG"                ,Tgeneral_address_t,_param->_size_general_register       );
-      ALLOC1_SIGNAL_OUT (out_INSERT_RE_USE                    ,"RE_USE"                    ,Tcontrol_t        ,1                                    );
-      ALLOC1_SIGNAL_OUT (out_INSERT_RE_NUM_REG                ,"RE_NUM_REG"                ,Tspecial_address_t,_param->_size_special_register       );
-
-      ALLOC1_INTERFACE_END(_param->_sum_inst_insert);
-    }
+//     // ~~~~~[ Interface "insert" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+//     {
+//       ALLOC1_INTERFACE_BEGIN("insert",OUT,EAST,_("Interface with RegisterFile's stat-list (insert Re-Order-Buffer)."),_param->_sum_inst_insert);
+
+//       ALLOC1_VALACK_OUT (out_INSERT_VAL                       , VAL);
+//       ALLOC1_VALACK_IN  ( in_INSERT_ACK                       , ACK);
+//       ALLOC1_SIGNAL_OUT (out_INSERT_RD_USE                    ,"RD_USE"                    ,Tcontrol_t        ,1                                    );
+//       ALLOC1_SIGNAL_OUT (out_INSERT_RD_NUM_REG                ,"RD_NUM_REG"                ,Tgeneral_address_t,_param->_size_general_register       );
+//       ALLOC1_SIGNAL_OUT (out_INSERT_RE_USE                    ,"RE_USE"                    ,Tcontrol_t        ,1                                    );
+//       ALLOC1_SIGNAL_OUT (out_INSERT_RE_NUM_REG                ,"RE_NUM_REG"                ,Tspecial_address_t,_param->_size_special_register       );
+
+//       ALLOC1_INTERFACE_END(_param->_sum_inst_insert);
+//     }
 
 //     // ~~~~~[ Interface "retire" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -937,4 +939,6 @@
 //        COMPONENT_MAP(_component,src , "in_COMMIT_"+toString(i)+"_TYPE"       ,
 //                                 dest,"out_COMMIT_"+toString(i)+"_TYPE"       );
+          COMPONENT_MAP(_component,src , "in_COMMIT_"+toString(i)+"_CANCEL"     ,
+                                   dest,"out_COMMIT_"+toString(i)+"_CANCEL"     );
           COMPONENT_MAP(_component,src , "in_COMMIT_"+toString(i)+"_FLAGS"      ,
                                    dest,"out_COMMIT_"+toString(i)+"_FLAGS"      );
@@ -1311,4 +1315,6 @@
           PORT_MAP(_component,src ,"out_ISSUE_OUT_"+toString(i)+"_OPERATION"            ,
                               dest,"out_ISSUE_"    +toString(i)+"_OPERATION"            );
+          PORT_MAP(_component,src ,"out_ISSUE_OUT_"+toString(i)+"_CANCEL"               ,
+                              dest,"out_ISSUE_"    +toString(i)+"_CANCEL"               );
           PORT_MAP(_component,src ,"out_ISSUE_OUT_"+toString(i)+"_STORE_QUEUE_PTR_WRITE",
                               dest,"out_ISSUE_"    +toString(i)+"_STORE_QUEUE_PTR_WRITE");
@@ -1391,4 +1397,6 @@
 //          PORT_MAP(_component,src , "in_EXECUTE_LOOP_"+toString(i)+"_"+toString(j)+"_OPERATION"   ,
 //                              dest, "in_EXECUTE_LOOP_"+toString(i)+"_"+toString(j)+"_OPERATION"   );
+            PORT_MAP(_component,src , "in_EXECUTE_LOOP_"+toString(i)+"_"+toString(j)+"_CANCEL"      ,
+                                dest, "in_EXECUTE_LOOP_"+toString(i)+"_"+toString(j)+"_CANCEL"      );
             PORT_MAP(_component,src , "in_EXECUTE_LOOP_"+toString(i)+"_"+toString(j)+"_FLAGS"       ,
                                 dest, "in_EXECUTE_LOOP_"+toString(i)+"_"+toString(j)+"_FLAGS"       );
@@ -1412,4 +1420,5 @@
       ////out_COMMIT_OPERATION                     - component_commit_unit
       ////out_COMMIT_TYPE                          - component_commit_unit
+      //  out_COMMIT_CANCEL                        - component_commit_unit
       //  out_COMMIT_FLAGS                         - component_commit_unit
       //  out_COMMIT_EXCEPTION                     - component_commit_unit
@@ -1601,24 +1610,24 @@
 
       // ~~~~~[ Interface : "insert" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-      for (uint32_t i=0; i<_param->_sum_inst_insert; i++)
-        {
-          dest = _name;
-#ifdef POSITION
-          _component->interface_map (src ,"insert_"+toString(i),
-                                     dest,"insert_"+toString(i));
-#endif
-          PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_VAL"       ,
-                              dest,"out_INSERT_"+toString(i)+"_VAL"       );
-          PORT_MAP(_component,src , "in_INSERT_"+toString(i)+"_ACK"       ,
-                              dest, "in_INSERT_"+toString(i)+"_ACK"       );
-          PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_RD_USE"    ,
-                              dest,"out_INSERT_"+toString(i)+"_RD_USE"    );
-          PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_RD_NUM_REG",
-                              dest,"out_INSERT_"+toString(i)+"_RD_NUM_REG");
-          PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_RE_USE"    ,
-                              dest,"out_INSERT_"+toString(i)+"_RE_USE"    );
-          PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_RE_NUM_REG",
-                              dest,"out_INSERT_"+toString(i)+"_RE_NUM_REG");
-        }
+//       for (uint32_t i=0; i<_param->_sum_inst_insert; i++)
+//         {
+//           dest = _name;
+// #ifdef POSITION
+//           _component->interface_map (src ,"insert_"+toString(i),
+//                                      dest,"insert_"+toString(i));
+// #endif
+//           PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_VAL"       ,
+//                               dest,"out_INSERT_"+toString(i)+"_VAL"       );
+//           PORT_MAP(_component,src , "in_INSERT_"+toString(i)+"_ACK"       ,
+//                               dest, "in_INSERT_"+toString(i)+"_ACK"       );
+//           PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_RD_USE"    ,
+//                               dest,"out_INSERT_"+toString(i)+"_RD_USE"    );
+//           PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_RD_NUM_REG",
+//                               dest,"out_INSERT_"+toString(i)+"_RD_NUM_REG");
+//           PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_RE_USE"    ,
+//                               dest,"out_INSERT_"+toString(i)+"_RE_USE"    );
+//           PORT_MAP(_component,src ,"out_INSERT_"+toString(i)+"_RE_NUM_REG",
+//                               dest,"out_INSERT_"+toString(i)+"_RE_NUM_REG");
+//         }
 
       //   in_INSERT_RENAME_UNIT_VAL                       - component_rename_unit
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/src/OOO_Engine_deallocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/src/OOO_Engine_deallocation.cpp	(revision 135)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/src/OOO_Engine_deallocation.cpp	(revision 136)
@@ -64,4 +64,5 @@
         DELETE1_SIGNAL(out_ISSUE_TYPE                       ,_param->_nb_inst_issue,_param->_size_type                   );
         DELETE1_SIGNAL(out_ISSUE_OPERATION                  ,_param->_nb_inst_issue,_param->_size_operation              );
+        DELETE1_SIGNAL(out_ISSUE_CANCEL                     ,_param->_nb_inst_issue,1                                    );
         DELETE1_SIGNAL(out_ISSUE_STORE_QUEUE_PTR_WRITE      ,_param->_nb_inst_issue,_param->_size_store_queue_ptr        );
         DELETE1_SIGNAL(out_ISSUE_STORE_QUEUE_PTR_READ       ,_param->_nb_inst_issue,_param->_size_store_queue_ptr        );
@@ -88,4 +89,5 @@
 //      DELETE2_SIGNAL( in_EXECUTE_LOOP_TYPE                ,_param->_nb_execute_loop,_param->_nb_inst_execute[it1],_param->_size_type                   );
 //      DELETE2_SIGNAL( in_EXECUTE_LOOP_OPERATION           ,_param->_nb_execute_loop,_param->_nb_inst_execute[it1],_param->_size_operation              );
+        DELETE2_SIGNAL( in_EXECUTE_LOOP_CANCEL              ,_param->_nb_execute_loop,_param->_nb_inst_execute[it1],1                                    );
         DELETE2_SIGNAL( in_EXECUTE_LOOP_FLAGS               ,_param->_nb_execute_loop,_param->_nb_inst_execute[it1],_param->_size_special_data           );
         DELETE2_SIGNAL( in_EXECUTE_LOOP_EXCEPTION           ,_param->_nb_execute_loop,_param->_nb_inst_execute[it1],_param->_size_exception              );
@@ -94,10 +96,10 @@
         DELETE2_SIGNAL( in_EXECUTE_LOOP_DATA                ,_param->_nb_execute_loop,_param->_nb_inst_execute[it1],_param->_size_general_data           );
         
-        DELETE1_SIGNAL(out_INSERT_VAL                       ,_param->_sum_inst_insert,1                                    );
-        DELETE1_SIGNAL( in_INSERT_ACK                       ,_param->_sum_inst_insert,1                                    );
-        DELETE1_SIGNAL(out_INSERT_RD_USE                    ,_param->_sum_inst_insert,1                                    );
-        DELETE1_SIGNAL(out_INSERT_RD_NUM_REG                ,_param->_sum_inst_insert,_param->_size_general_register       );
-        DELETE1_SIGNAL(out_INSERT_RE_USE                    ,_param->_sum_inst_insert,1                                    );
-        DELETE1_SIGNAL(out_INSERT_RE_NUM_REG                ,_param->_sum_inst_insert,_param->_size_special_register       );
+//         DELETE1_SIGNAL(out_INSERT_VAL                       ,_param->_sum_inst_insert,1                                    );
+//         DELETE1_SIGNAL( in_INSERT_ACK                       ,_param->_sum_inst_insert,1                                    );
+//         DELETE1_SIGNAL(out_INSERT_RD_USE                    ,_param->_sum_inst_insert,1                                    );
+//         DELETE1_SIGNAL(out_INSERT_RD_NUM_REG                ,_param->_sum_inst_insert,_param->_size_general_register       );
+//         DELETE1_SIGNAL(out_INSERT_RE_USE                    ,_param->_sum_inst_insert,1                                    );
+//         DELETE1_SIGNAL(out_INSERT_RE_NUM_REG                ,_param->_sum_inst_insert,_param->_size_special_register       );
         
 //         DELETE1_SIGNAL(out_RETIRE_VAL                       ,_param->_sum_inst_retire,1                                    );
