Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/src/Execute_queue_allocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/src/Execute_queue_allocation.cpp	(revision 111)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/src/Execute_queue_allocation.cpp	(revision 112)
@@ -50,46 +50,42 @@
     // -----[ Interface "execute_queue_in" ]--------------------------------    
      {
-       ALLOC_INTERFACE ("execute_queue_in", IN, WEST, "Input of execute_queue");
+       ALLOC0_INTERFACE_BEGIN("execute_queue_in", IN, WEST, "Input of execute_queue");
        
-       ALLOC_VALACK_IN ( in_EXECUTE_QUEUE_IN_VAL,VAL);
-       ALLOC_VALACK_OUT(out_EXECUTE_QUEUE_IN_ACK,ACK);
-       if(_param->_have_port_context_id)
-       ALLOC_SIGNAL_IN ( in_EXECUTE_QUEUE_IN_CONTEXT_ID   ,"context_id"   ,Tcontext_t        ,_param->_size_context_id       );
-       if(_param->_have_port_front_end_id)
-       ALLOC_SIGNAL_IN ( in_EXECUTE_QUEUE_IN_FRONT_END_ID ,"front_end_id" ,Tcontext_t        ,_param->_size_front_end_id     );
-       if(_param->_have_port_ooo_engine_id)
-       ALLOC_SIGNAL_IN ( in_EXECUTE_QUEUE_IN_OOO_ENGINE_ID,"ooo_engine_id",Tcontext_t        ,_param->_size_ooo_engine_id    );
-       if(_param->_have_port_rob_ptr)
-       ALLOC_SIGNAL_IN ( in_EXECUTE_QUEUE_IN_PACKET_ID    ,"packet_id"    ,Tpacket_t         ,_param->_size_rob_ptr        );
-//     ALLOC_SIGNAL_IN ( in_EXECUTE_QUEUE_IN_OPERATION    ,"operation"    ,Toperation_t      ,_param->_size_operation        );
-//     ALLOC_SIGNAL_IN ( in_EXECUTE_QUEUE_IN_TYPE         ,"type"         ,Ttype_t           ,_param->_size_type             );
-       ALLOC_SIGNAL_IN ( in_EXECUTE_QUEUE_IN_FLAGS        ,"flags"        ,Tspecial_data_t   ,_param->_size_special_data     );
-       ALLOC_SIGNAL_IN ( in_EXECUTE_QUEUE_IN_EXCEPTION    ,"exception"    ,Texception_t      ,_param->_size_exception        );
-       ALLOC_SIGNAL_IN ( in_EXECUTE_QUEUE_IN_NO_SEQUENCE  ,"no_sequence"  ,Tcontrol_t        ,1                              );
-       ALLOC_SIGNAL_IN ( in_EXECUTE_QUEUE_IN_ADDRESS      ,"address"      ,Taddress_t        ,_param->_size_instruction_address);
-       ALLOC_SIGNAL_IN ( in_EXECUTE_QUEUE_IN_DATA         ,"data"         ,Tgeneral_data_t   ,_param->_size_general_data     );
+       ALLOC0_VALACK_IN ( in_EXECUTE_QUEUE_IN_VAL,VAL);
+       ALLOC0_VALACK_OUT(out_EXECUTE_QUEUE_IN_ACK,ACK);
+       ALLOC0_SIGNAL_IN ( in_EXECUTE_QUEUE_IN_CONTEXT_ID   ,"context_id"   ,Tcontext_t        ,_param->_size_context_id       );
+       ALLOC0_SIGNAL_IN ( in_EXECUTE_QUEUE_IN_FRONT_END_ID ,"front_end_id" ,Tcontext_t        ,_param->_size_front_end_id     );
+       ALLOC0_SIGNAL_IN ( in_EXECUTE_QUEUE_IN_OOO_ENGINE_ID,"ooo_engine_id",Tcontext_t        ,_param->_size_ooo_engine_id    );
+       ALLOC0_SIGNAL_IN ( in_EXECUTE_QUEUE_IN_PACKET_ID    ,"packet_id"    ,Tpacket_t         ,_param->_size_rob_ptr        );
+//     ALLOC0_SIGNAL_IN ( in_EXECUTE_QUEUE_IN_OPERATION    ,"operation"    ,Toperation_t      ,_param->_size_operation        );
+//     ALLOC0_SIGNAL_IN ( in_EXECUTE_QUEUE_IN_TYPE         ,"type"         ,Ttype_t           ,_param->_size_type             );
+       ALLOC0_SIGNAL_IN ( in_EXECUTE_QUEUE_IN_FLAGS        ,"flags"        ,Tspecial_data_t   ,_param->_size_special_data     );
+       ALLOC0_SIGNAL_IN ( in_EXECUTE_QUEUE_IN_EXCEPTION    ,"exception"    ,Texception_t      ,_param->_size_exception        );
+       ALLOC0_SIGNAL_IN ( in_EXECUTE_QUEUE_IN_NO_SEQUENCE  ,"no_sequence"  ,Tcontrol_t        ,1                              );
+       ALLOC0_SIGNAL_IN ( in_EXECUTE_QUEUE_IN_ADDRESS      ,"address"      ,Taddress_t        ,_param->_size_instruction_address);
+       ALLOC0_SIGNAL_IN ( in_EXECUTE_QUEUE_IN_DATA         ,"data"         ,Tgeneral_data_t   ,_param->_size_general_data     );
+
+       ALLOC0_INTERFACE_END();
      }
 
     // -----[ Interface "execute_queue_out" ]-------------------------------
      {
-       ALLOC_INTERFACE ("execute_queue_out", OUT, EAST, "Output of execute_queue");
+       ALLOC0_INTERFACE_BEGIN("execute_queue_out", OUT, EAST, "Output of execute_queue");
        
-       ALLOC_VALACK_OUT(out_EXECUTE_QUEUE_OUT_VAL,VAL);
-       ALLOC_VALACK_IN ( in_EXECUTE_QUEUE_OUT_ACK,ACK);
-       if(_param->_have_port_context_id)
-       ALLOC_SIGNAL_OUT(out_EXECUTE_QUEUE_OUT_CONTEXT_ID   ,"context_id"   ,Tcontext_t     ,_param->_size_context_id   );
-       if(_param->_have_port_front_end_id)
-       ALLOC_SIGNAL_OUT(out_EXECUTE_QUEUE_OUT_FRONT_END_ID ,"front_end_id" ,Tcontext_t     ,_param->_size_front_end_id );
-       if(_param->_have_port_ooo_engine_id)
-       ALLOC_SIGNAL_OUT(out_EXECUTE_QUEUE_OUT_OOO_ENGINE_ID,"ooo_engine_id",Tcontext_t     ,_param->_size_ooo_engine_id);
-       if(_param->_have_port_rob_ptr)
-       ALLOC_SIGNAL_OUT(out_EXECUTE_QUEUE_OUT_PACKET_ID    ,"packet_id"    ,Tpacket_t      ,_param->_size_rob_ptr    );
-//     ALLOC_SIGNAL_OUT(out_EXECUTE_QUEUE_OUT_OPERATION    ,"operation"    ,Toperation_t   ,_param->_size_operation    );
-//     ALLOC_SIGNAL_OUT(out_EXECUTE_QUEUE_OUT_TYPE         ,"type"         ,Ttype_t        ,_param->_size_type         );
-       ALLOC_SIGNAL_OUT(out_EXECUTE_QUEUE_OUT_FLAGS        ,"flags"        ,Tspecial_data_t,_param->_size_special_data );
-       ALLOC_SIGNAL_OUT(out_EXECUTE_QUEUE_OUT_EXCEPTION    ,"exception"    ,Texception_t   ,_param->_size_exception    );
-       ALLOC_SIGNAL_OUT(out_EXECUTE_QUEUE_OUT_NO_SEQUENCE  ,"no_sequence"  ,Tcontrol_t     ,1                          );
-       ALLOC_SIGNAL_OUT(out_EXECUTE_QUEUE_OUT_ADDRESS      ,"address"      ,Taddress_t     ,_param->_size_instruction_address);
-       ALLOC_SIGNAL_OUT(out_EXECUTE_QUEUE_OUT_DATA         ,"data"         ,Tgeneral_data_t,_param->_size_general_data );
+       ALLOC0_VALACK_OUT(out_EXECUTE_QUEUE_OUT_VAL,VAL);
+       ALLOC0_VALACK_IN ( in_EXECUTE_QUEUE_OUT_ACK,ACK);
+       ALLOC0_SIGNAL_OUT(out_EXECUTE_QUEUE_OUT_CONTEXT_ID   ,"context_id"   ,Tcontext_t     ,_param->_size_context_id   );
+       ALLOC0_SIGNAL_OUT(out_EXECUTE_QUEUE_OUT_FRONT_END_ID ,"front_end_id" ,Tcontext_t     ,_param->_size_front_end_id );
+       ALLOC0_SIGNAL_OUT(out_EXECUTE_QUEUE_OUT_OOO_ENGINE_ID,"ooo_engine_id",Tcontext_t     ,_param->_size_ooo_engine_id);
+       ALLOC0_SIGNAL_OUT(out_EXECUTE_QUEUE_OUT_PACKET_ID    ,"packet_id"    ,Tpacket_t      ,_param->_size_rob_ptr    );
+//     ALLOC0_SIGNAL_OUT(out_EXECUTE_QUEUE_OUT_OPERATION    ,"operation"    ,Toperation_t   ,_param->_size_operation    );
+//     ALLOC0_SIGNAL_OUT(out_EXECUTE_QUEUE_OUT_TYPE         ,"type"         ,Ttype_t        ,_param->_size_type         );
+       ALLOC0_SIGNAL_OUT(out_EXECUTE_QUEUE_OUT_FLAGS        ,"flags"        ,Tspecial_data_t,_param->_size_special_data );
+       ALLOC0_SIGNAL_OUT(out_EXECUTE_QUEUE_OUT_EXCEPTION    ,"exception"    ,Texception_t   ,_param->_size_exception    );
+       ALLOC0_SIGNAL_OUT(out_EXECUTE_QUEUE_OUT_NO_SEQUENCE  ,"no_sequence"  ,Tcontrol_t     ,1                          );
+       ALLOC0_SIGNAL_OUT(out_EXECUTE_QUEUE_OUT_ADDRESS      ,"address"      ,Taddress_t     ,_param->_size_instruction_address);
+       ALLOC0_SIGNAL_OUT(out_EXECUTE_QUEUE_OUT_DATA         ,"data"         ,Tgeneral_data_t,_param->_size_general_data );
+
+       ALLOC0_INTERFACE_END();
      }
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/src/Execute_queue_deallocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/src/Execute_queue_deallocation.cpp	(revision 111)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/src/Execute_queue_deallocation.cpp	(revision 112)
@@ -7,4 +7,5 @@
 
 #include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/include/Execute_queue.h"
+#include "Behavioural/include/Allocation.h"
 
 namespace morpheo                    {
@@ -29,41 +30,31 @@
 	delete    in_NRESET;
 
-	// -----[ Interface "execute_queue_in" ]--------------------------------    
-	delete      in_EXECUTE_QUEUE_IN_VAL          ;
-	delete     out_EXECUTE_QUEUE_IN_ACK          ;
-	if (_param->_have_port_context_id)
-	delete      in_EXECUTE_QUEUE_IN_CONTEXT_ID   ;
-	if (_param->_have_port_front_end_id)
-	delete      in_EXECUTE_QUEUE_IN_FRONT_END_ID ;
-	if (_param->_have_port_ooo_engine_id)
-	delete      in_EXECUTE_QUEUE_IN_OOO_ENGINE_ID;
-        if (_param->_have_port_rob_ptr)
-	delete      in_EXECUTE_QUEUE_IN_PACKET_ID    ;
-//      delete      in_EXECUTE_QUEUE_IN_OPERATION    ;
-//      delete      in_EXECUTE_QUEUE_IN_TYPE         ;
-        delete      in_EXECUTE_QUEUE_IN_FLAGS        ;
-        delete      in_EXECUTE_QUEUE_IN_EXCEPTION    ;
-        delete      in_EXECUTE_QUEUE_IN_NO_SEQUENCE  ;
-        delete      in_EXECUTE_QUEUE_IN_ADDRESS      ;
-        delete      in_EXECUTE_QUEUE_IN_DATA         ;
-
-	// -----[ Interface "execute_queue_out" ]-------------------------------    
-        delete     out_EXECUTE_QUEUE_OUT_VAL          ;
-        delete      in_EXECUTE_QUEUE_OUT_ACK          ;
-        if (_param->_have_port_context_id)
-	delete     out_EXECUTE_QUEUE_OUT_CONTEXT_ID   ;
-        if (_param->_have_port_front_end_id)
-	delete     out_EXECUTE_QUEUE_OUT_FRONT_END_ID ;
-        if (_param->_have_port_ooo_engine_id)
-	delete     out_EXECUTE_QUEUE_OUT_OOO_ENGINE_ID;
-        if (_param->_have_port_rob_ptr)
-	delete     out_EXECUTE_QUEUE_OUT_PACKET_ID    ;
-//      delete     out_EXECUTE_QUEUE_OUT_OPERATION    ;
-//      delete     out_EXECUTE_QUEUE_OUT_TYPE         ;
-        delete     out_EXECUTE_QUEUE_OUT_FLAGS        ;
-        delete     out_EXECUTE_QUEUE_OUT_EXCEPTION    ;
-        delete     out_EXECUTE_QUEUE_OUT_NO_SEQUENCE  ;
-        delete     out_EXECUTE_QUEUE_OUT_ADDRESS      ;
-        delete     out_EXECUTE_QUEUE_OUT_DATA         ;
+        DELETE0_SIGNAL( in_EXECUTE_QUEUE_IN_VAL           ,1);
+        DELETE0_SIGNAL(out_EXECUTE_QUEUE_IN_ACK           ,1);
+        DELETE0_SIGNAL( in_EXECUTE_QUEUE_IN_CONTEXT_ID    ,_param->_size_context_id       );
+        DELETE0_SIGNAL( in_EXECUTE_QUEUE_IN_FRONT_END_ID  ,_param->_size_front_end_id     );
+        DELETE0_SIGNAL( in_EXECUTE_QUEUE_IN_OOO_ENGINE_ID ,_param->_size_ooo_engine_id    );
+        DELETE0_SIGNAL( in_EXECUTE_QUEUE_IN_PACKET_ID     ,_param->_size_rob_ptr          );
+//      DELETE0_SIGNAL( in_EXECUTE_QUEUE_IN_OPERATION     ,_param->_size_operation        );
+//      DELETE0_SIGNAL( in_EXECUTE_QUEUE_IN_TYPE          ,_param->_size_type             );
+        DELETE0_SIGNAL( in_EXECUTE_QUEUE_IN_FLAGS         ,_param->_size_special_data     );
+        DELETE0_SIGNAL( in_EXECUTE_QUEUE_IN_EXCEPTION     ,_param->_size_exception        );
+        DELETE0_SIGNAL( in_EXECUTE_QUEUE_IN_NO_SEQUENCE   ,1                              );
+        DELETE0_SIGNAL( in_EXECUTE_QUEUE_IN_ADDRESS       ,_param->_size_instruction_address);
+        DELETE0_SIGNAL( in_EXECUTE_QUEUE_IN_DATA          ,_param->_size_general_data     );
+        
+        DELETE0_SIGNAL(out_EXECUTE_QUEUE_OUT_VAL          ,1);
+        DELETE0_SIGNAL( in_EXECUTE_QUEUE_OUT_ACK          ,1);
+        DELETE0_SIGNAL(out_EXECUTE_QUEUE_OUT_CONTEXT_ID   ,_param->_size_context_id   );
+        DELETE0_SIGNAL(out_EXECUTE_QUEUE_OUT_FRONT_END_ID ,_param->_size_front_end_id );
+        DELETE0_SIGNAL(out_EXECUTE_QUEUE_OUT_OOO_ENGINE_ID,_param->_size_ooo_engine_id);
+        DELETE0_SIGNAL(out_EXECUTE_QUEUE_OUT_PACKET_ID    ,_param->_size_rob_ptr    );
+//      DELETE0_SIGNAL(out_EXECUTE_QUEUE_OUT_OPERATION    ,_param->_size_operation    );
+//      DELETE0_SIGNAL(out_EXECUTE_QUEUE_OUT_TYPE         ,_param->_size_type         );
+        DELETE0_SIGNAL(out_EXECUTE_QUEUE_OUT_FLAGS        ,_param->_size_special_data );
+        DELETE0_SIGNAL(out_EXECUTE_QUEUE_OUT_EXCEPTION    ,_param->_size_exception    );
+        DELETE0_SIGNAL(out_EXECUTE_QUEUE_OUT_NO_SEQUENCE  ,1                          );
+        DELETE0_SIGNAL(out_EXECUTE_QUEUE_OUT_ADDRESS      ,_param->_size_instruction_address);
+        DELETE0_SIGNAL(out_EXECUTE_QUEUE_OUT_DATA         ,_param->_size_general_data );
       }
 
