Index: /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/Makefile.deps
===================================================================
--- /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/Makefile.deps	(revision 67)
+++ /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/Makefile.deps	(revision 68)
@@ -2,5 +2,5 @@
 # $Id$
 # 
-# [ Description ]
+# [ Description ]
 # 
 # Makefile
@@ -13,21 +13,32 @@
 include 			$(DIR_MORPHEO)/Behavioural/Makefile.deps
 endif
+ifndef Queue
+include                         $(DIR_MORPHEO)/Behavioural/Generic/Queue/Makefile.deps
+endif
 
-#-----[ Library ]------------------------------------------
-Read_queue_LIBRARY		= 	-lRead_queue	\
+#-----[ Library ]------------------------------------------
+Read_queue_LIBRARY		= 	-lRead_queue		\
+					$(Queue_LIBRARY)	\
 					$(Behavioural_LIBRARY)	
 
 Read_queue_DIR_LIBRARY		=	-L$(DIR_MORPHEO)/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/lib	\
+					$(Queue_DIR_LIBRARY) \
 					$(Behavioural_DIR_LIBRARY)
 
-#-----[ Rules ]--------------------------------------------
+Read_queue_DEPENDENCIES		=	Queue_library	\
+					Behavioural_library
 
-Read_queue_library		: 
+Read_queue_CLEAN        	=	Queue_library_clean	\
+					Behavioural_library_clean
+
+#-----[ Rules ]--------------------------------------------
+
+.NOTPARALLEL			: Read_queue_library Read_queue_library_clean
+
+Read_queue_library		: $(Read_queue_DEPENDENCIES)
 				@\
-				$(MAKE) Behavioural_library; \
 				$(MAKE) --directory=$(DIR_MORPHEO)/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue --makefile=Makefile;
 	
-Read_queue_library_clean	: 
+Read_queue_library_clean	: $(Read_queue_CLEAN)
 				@\
-				$(MAKE) Behavioural_library_clean; \
 				$(MAKE) --directory=$(DIR_MORPHEO)/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue --makefile=Makefile clean;
Index: /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/SelfTest/config1.cfg
===================================================================
--- /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/SelfTest/config1.cfg	(revision 67)
+++ /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/SelfTest/config1.cfg	(revision 68)
@@ -6,9 +6,9 @@
 32	32	*2	# nb_packet          
 16	16	+1	# size_general_data  
-8	8	+1	# size_special_data  
-16	16	*2	# nb_general_register
-2 	2 	+1	# nb_special_register
+16	16	+1	# size_special_data  
+4 	4 	*2	# nb_general_register
+4 	4 	+1	# nb_special_register
 40	40	+1	# nb_operation       
 6	6	+1	# nb_type            
-1	4	*2	# nb_gpr_write
-1	4	*2	# nb_spr_write
+2	4	*2	# nb_gpr_write
+2	4	*2	# nb_spr_write
Index: /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/SelfTest/config2.cfg
===================================================================
--- /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/SelfTest/config2.cfg	(revision 68)
+++ /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/SelfTest/config2.cfg	(revision 68)
@@ -0,0 +1,14 @@
+Read_queue
+4	4	*2	# size_queue    
+2	4	*2	# nb_context         
+2	4	*2	# nb_front_end 
+1	4	*2	# nb_ooo_engine
+32	32	*2	# nb_packet          
+16	16	+1	# size_general_data  
+16	16	+1	# size_special_data  
+4 	4 	*2	# nb_general_register
+4 	4 	+1	# nb_special_register
+40	40	+1	# nb_operation       
+6	6	+1	# nb_type            
+1	1	*2	# nb_gpr_write
+1	1	*2	# nb_spr_write
Index: /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/SelfTest/config_min.cfg
===================================================================
--- /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/SelfTest/config_min.cfg	(revision 68)
+++ /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/SelfTest/config_min.cfg	(revision 68)
@@ -0,0 +1,14 @@
+Read_queue
+1	4	*2	# size_queue    
+1	1	*2	# nb_context         
+1	1	*2	# nb_front_end       
+1	1	*2	# nb_ooo_engine      
+32	32	*2	# nb_packet          
+16	16	+1	# size_general_data  
+2	2	+1	# size_special_data  
+32	32	*2	# nb_general_register
+32	32	+1	# nb_special_register
+12	12	+1	# nb_operation       
+5 	5 	+1	# nb_type            
+1 	1 	*2	# nb_gpr_write
+1 	1 	*2	# nb_spr_write
Index: /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/SelfTest/src/test.cpp
===================================================================
--- /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/SelfTest/src/test.cpp	(revision 67)
+++ /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/SelfTest/src/test.cpp	(revision 68)
@@ -214,11 +214,14 @@
   (*(_Read_queue->in_NRESET))        (*(NRESET));
 
-  
   (*(_Read_queue-> in_READ_QUEUE_IN_VAL            )) (*(READ_QUEUE_IN_VAL            ));
   (*(_Read_queue->out_READ_QUEUE_IN_ACK            )) (*(READ_QUEUE_IN_ACK            ));
-  (*(_Read_queue-> in_READ_QUEUE_IN_CONTEXT_ID     )) (*(READ_QUEUE_IN_CONTEXT_ID     ));
-  (*(_Read_queue-> in_READ_QUEUE_IN_FRONT_END_ID   )) (*(READ_QUEUE_IN_FRONT_END_ID   ));
-  (*(_Read_queue-> in_READ_QUEUE_IN_OOO_ENGINE_ID  )) (*(READ_QUEUE_IN_OOO_ENGINE_ID  ));
-  (*(_Read_queue-> in_READ_QUEUE_IN_ROB_ID         )) (*(READ_QUEUE_IN_ROB_ID         ));
+  if(_param->_have_port_context_id   )
+    (*(_Read_queue-> in_READ_QUEUE_IN_CONTEXT_ID     )) (*(READ_QUEUE_IN_CONTEXT_ID     ));
+  if(_param->_have_port_front_end_id )
+    (*(_Read_queue-> in_READ_QUEUE_IN_FRONT_END_ID   )) (*(READ_QUEUE_IN_FRONT_END_ID   ));
+  if(_param->_have_port_ooo_engine_id)
+    (*(_Read_queue-> in_READ_QUEUE_IN_OOO_ENGINE_ID  )) (*(READ_QUEUE_IN_OOO_ENGINE_ID  ));
+  if(_param->_have_port_rob_id       )
+    (*(_Read_queue-> in_READ_QUEUE_IN_ROB_ID         )) (*(READ_QUEUE_IN_ROB_ID         ));
   (*(_Read_queue-> in_READ_QUEUE_IN_OPERATION      )) (*(READ_QUEUE_IN_OPERATION      ));
   (*(_Read_queue-> in_READ_QUEUE_IN_TYPE           )) (*(READ_QUEUE_IN_TYPE           ));
@@ -238,8 +241,12 @@
   (*(_Read_queue->out_READ_QUEUE_OUT_VAL           )) (*(READ_QUEUE_OUT_VAL           )); 
   (*(_Read_queue-> in_READ_QUEUE_OUT_ACK           )) (*(READ_QUEUE_OUT_ACK           )); 
-  (*(_Read_queue->out_READ_QUEUE_OUT_CONTEXT_ID    )) (*(READ_QUEUE_OUT_CONTEXT_ID    )); 
-  (*(_Read_queue->out_READ_QUEUE_OUT_FRONT_END_ID  )) (*(READ_QUEUE_OUT_FRONT_END_ID  )); 
-  (*(_Read_queue->out_READ_QUEUE_OUT_OOO_ENGINE_ID )) (*(READ_QUEUE_OUT_OOO_ENGINE_ID )); 
-  (*(_Read_queue->out_READ_QUEUE_OUT_ROB_ID        )) (*(READ_QUEUE_OUT_ROB_ID        )); 
+  if(_param->_have_port_context_id   )
+    (*(_Read_queue->out_READ_QUEUE_OUT_CONTEXT_ID    )) (*(READ_QUEUE_OUT_CONTEXT_ID    )); 
+  if(_param->_have_port_front_end_id )
+    (*(_Read_queue->out_READ_QUEUE_OUT_FRONT_END_ID  )) (*(READ_QUEUE_OUT_FRONT_END_ID  )); 
+  if(_param->_have_port_ooo_engine_id)
+    (*(_Read_queue->out_READ_QUEUE_OUT_OOO_ENGINE_ID )) (*(READ_QUEUE_OUT_OOO_ENGINE_ID )); 
+  if(_param->_have_port_rob_id       )
+    (*(_Read_queue->out_READ_QUEUE_OUT_ROB_ID        )) (*(READ_QUEUE_OUT_ROB_ID        )); 
   (*(_Read_queue->out_READ_QUEUE_OUT_OPERATION     )) (*(READ_QUEUE_OUT_OPERATION     )); 
   (*(_Read_queue->out_READ_QUEUE_OUT_TYPE          )) (*(READ_QUEUE_OUT_TYPE          )); 
@@ -267,5 +274,6 @@
       (*(_Read_queue->out_GPR_READ_VAL         [i])) (*(GPR_READ_VAL         [i]));
       (*(_Read_queue-> in_GPR_READ_ACK         [i])) (*(GPR_READ_ACK         [i]));
-      (*(_Read_queue->out_GPR_READ_OOO_ENGINE_ID  [i])) (*(GPR_READ_OOO_ENGINE_ID  [i]));
+      if(_param->_have_port_ooo_engine_id)
+	(*(_Read_queue->out_GPR_READ_OOO_ENGINE_ID  [i])) (*(GPR_READ_OOO_ENGINE_ID  [i]));
       (*(_Read_queue->out_GPR_READ_NUM_REG     [i])) (*(GPR_READ_NUM_REG     [i]));
       (*(_Read_queue-> in_GPR_READ_DATA        [i])) (*(GPR_READ_DATA        [i]));
@@ -277,5 +285,6 @@
       (*(_Read_queue->out_SPR_READ_VAL         [i])) (*(SPR_READ_VAL         [i]));
       (*(_Read_queue-> in_SPR_READ_ACK         [i])) (*(SPR_READ_ACK         [i]));
-      (*(_Read_queue->out_SPR_READ_OOO_ENGINE_ID  [i])) (*(SPR_READ_OOO_ENGINE_ID  [i]));
+      if(_param->_have_port_ooo_engine_id)
+	(*(_Read_queue->out_SPR_READ_OOO_ENGINE_ID  [i])) (*(SPR_READ_OOO_ENGINE_ID  [i]));
       (*(_Read_queue->out_SPR_READ_NUM_REG     [i])) (*(SPR_READ_NUM_REG     [i]));
       (*(_Read_queue-> in_SPR_READ_DATA        [i])) (*(SPR_READ_DATA        [i]));
@@ -286,5 +295,6 @@
     {
       (*(_Read_queue-> in_GPR_WRITE_VAL        [i])) (*(GPR_WRITE_VAL        [i]));
-      (*(_Read_queue-> in_GPR_WRITE_OOO_ENGINE_ID [i])) (*(GPR_WRITE_OOO_ENGINE_ID [i]));
+      if(_param->_have_port_ooo_engine_id)
+	(*(_Read_queue-> in_GPR_WRITE_OOO_ENGINE_ID [i])) (*(GPR_WRITE_OOO_ENGINE_ID [i]));
       (*(_Read_queue-> in_GPR_WRITE_NUM_REG    [i])) (*(GPR_WRITE_NUM_REG    [i]));
       (*(_Read_queue-> in_GPR_WRITE_DATA       [i])) (*(GPR_WRITE_DATA       [i]));
@@ -294,5 +304,6 @@
     {
       (*(_Read_queue-> in_SPR_WRITE_VAL        [i])) (*(SPR_WRITE_VAL        [i]));
-      (*(_Read_queue-> in_SPR_WRITE_OOO_ENGINE_ID [i])) (*(SPR_WRITE_OOO_ENGINE_ID [i]));
+      if(_param->_have_port_ooo_engine_id)
+	(*(_Read_queue-> in_SPR_WRITE_OOO_ENGINE_ID [i])) (*(SPR_WRITE_OOO_ENGINE_ID [i]));
       (*(_Read_queue-> in_SPR_WRITE_NUM_REG    [i])) (*(SPR_WRITE_NUM_REG    [i]));
       (*(_Read_queue-> in_SPR_WRITE_DATA       [i])) (*(SPR_WRITE_DATA       [i]));
@@ -308,5 +319,5 @@
   // Initialisation
   const uint32_t nb_request = _param->_nb_packet;
-//const uint32_t seed       = 0;
+  // const uint32_t seed       = 0;
   const uint32_t seed       = static_cast<uint32_t>(time(NULL));
   srand(seed);
@@ -342,10 +353,11 @@
     {
       LABEL("Iteration "+toString(iteration));
-      int32_t percent_transaction_queue_in     = (rand()%50)+25;
-      int32_t percent_transaction_queue_out    = (rand()%50)+25;
-      int32_t percent_registerfile_valid       = (rand()%50)+25;
-      int32_t percent_transaction_registerfile = (rand()%74)+25;
-      int32_t percent_transaction_bypass       = (rand()%50)+25;
-      
+      int32_t percent_transaction_queue_in     = (rand()%45)+30;
+      int32_t percent_transaction_queue_out    = (rand()%45)+30;
+      int32_t percent_registerfile_valid       = (rand()%45)+30;
+      int32_t percent_transaction_registerfile = (rand()%45)+30;
+      int32_t percent_transaction_bypass       = (rand()%45)+30;
+      int32_t percent_must_read_reg            = (rand()%45)+30;
+
       LABEL("Initialisation");
 
@@ -353,9 +365,9 @@
 	{
 	  _ooo_engine_id   [i] = rand()% _param->_nb_ooo_engine         ;
-	  _read_ra      [i] = rand()% 2                              ;
+	  _read_ra      [i] = (rand()%100)<percent_must_read_reg;
 	  _num_reg_ra   [i] = rand()% _param->_nb_general_register   ;
-	  _read_rb      [i] = rand()% 2                              ;
+	  _read_rb      [i] = (rand()%100)<percent_must_read_reg;
 	  _num_reg_rb   [i] = rand()% _param->_nb_general_register   ;
-	  _read_rc      [i] = rand()% 2                              ;
+	  _read_rc      [i] = (rand()%100)<percent_must_read_reg;
 	  _num_reg_rc   [i] = rand()% _param->_nb_special_register   ;
 	}
@@ -386,8 +398,12 @@
 	    {
 	      READ_QUEUE_IN_VAL            ->write(1);
-	      READ_QUEUE_IN_OOO_ENGINE_ID  ->write(_ooo_engine_id [request_in]);
-	      READ_QUEUE_IN_CONTEXT_ID     ->write((2*_ooo_engine_id [request_in])%_param->_nb_context  );
-	      READ_QUEUE_IN_FRONT_END_ID   ->write((3*_ooo_engine_id [request_in])%_param->_nb_front_end);
-	      READ_QUEUE_IN_ROB_ID      ->write(request_in);
+	      if(_param->_have_port_ooo_engine_id)
+		READ_QUEUE_IN_OOO_ENGINE_ID  ->write(_ooo_engine_id [request_in]);
+	      if(_param->_have_port_context_id   )
+		READ_QUEUE_IN_CONTEXT_ID     ->write((2*_ooo_engine_id [request_in])%_param->_nb_context  );
+	      if(_param->_have_port_front_end_id )
+		READ_QUEUE_IN_FRONT_END_ID   ->write((3*_ooo_engine_id [request_in])%_param->_nb_front_end);
+	      if(_param->_have_port_rob_id       )
+		READ_QUEUE_IN_ROB_ID      ->write(request_in);
 	      READ_QUEUE_IN_OPERATION   ->write(0);
 	      READ_QUEUE_IN_TYPE        ->write(0);
@@ -419,8 +435,12 @@
 		{
 		  Tgeneral_address_t num_reg = GPR_READ_NUM_REG       [i]->read();
-		  Tcontext_t         context = GPR_READ_OOO_ENGINE_ID [i]->read();
-
-		  GPR_READ_DATA     [i]->write(_gpr    [num_reg][context]);
-		  GPR_READ_DATA_VAL [i]->write(_gpr_val[num_reg][context]);
+		  Tcontext_t         ooo_engine;
+		  if(_param->_have_port_ooo_engine_id)
+		    ooo_engine = GPR_READ_OOO_ENGINE_ID [i]->read();
+		  else
+		    ooo_engine = 0;
+
+		  GPR_READ_DATA     [i]->write(_gpr    [num_reg][ooo_engine]);
+		  GPR_READ_DATA_VAL [i]->write(_gpr_val[num_reg][ooo_engine]);
 		}
 	    }
@@ -432,8 +452,12 @@
 		{
 		  Tspecial_address_t num_reg = SPR_READ_NUM_REG       [i]->read();
-		  Tcontext_t         context = SPR_READ_OOO_ENGINE_ID [i]->read();
-
-		  SPR_READ_DATA     [i]->write(_spr    [num_reg][context]);
-		  SPR_READ_DATA_VAL [i]->write(_spr_val[num_reg][context]);
+		  Tcontext_t         ooo_engine;
+		  if(_param->_have_port_ooo_engine_id)
+		    ooo_engine = SPR_READ_OOO_ENGINE_ID [i]->read();
+		  else
+		    ooo_engine = 0;
+
+		  SPR_READ_DATA     [i]->write(_spr    [num_reg][ooo_engine]);
+		  SPR_READ_DATA_VAL [i]->write(_spr_val[num_reg][ooo_engine]);
 		}
 	    }
@@ -448,5 +472,6 @@
 	      
 	      GPR_WRITE_VAL           [i]->write(val);	      
-	      GPR_WRITE_OOO_ENGINE_ID [i]->write(ooo_engine);
+	      if(_param->_have_port_ooo_engine_id)
+		GPR_WRITE_OOO_ENGINE_ID [i]->write(ooo_engine);
 	      GPR_WRITE_NUM_REG       [i]->write(num_reg);
 	      GPR_WRITE_DATA          [i]->write(data);
@@ -466,5 +491,6 @@
 	      
 	      SPR_WRITE_VAL            [i]->write(val);	      
-	      SPR_WRITE_OOO_ENGINE_ID  [i]->write(ooo_engine);
+	      if(_param->_have_port_ooo_engine_id)
+		SPR_WRITE_OOO_ENGINE_ID  [i]->write(ooo_engine);
 	      SPR_WRITE_NUM_REG        [i]->write(num_reg);
 	      SPR_WRITE_DATA           [i]->write(data);
@@ -490,5 +516,9 @@
 	      (READ_QUEUE_OUT_ACK->read() == 1))
 	    {
-	      Tpacket_t  rob_id = READ_QUEUE_OUT_ROB_ID->read();
+	      Tpacket_t  rob_id;
+	      if(_param->_have_port_rob_id       )
+		rob_id = READ_QUEUE_OUT_ROB_ID->read();
+	      else
+		rob_id = 0;
 	      Tcontext_t ctxt   = _ooo_engine_id [rob_id];
 	      LABEL("Accepted READ_QUEUE_OUT ["+toString(rob_id)+"]");
@@ -498,7 +528,10 @@
 	      request_out ++;
 
-	      TEST(Tcontext_t        ,READ_QUEUE_OUT_OOO_ENGINE_ID ->read(),ctxt);
-	      TEST(Tcontext_t        ,READ_QUEUE_OUT_CONTEXT_ID    ->read(),(2*ctxt)%_param->_nb_context  );
-	      TEST(Tcontext_t        ,READ_QUEUE_OUT_FRONT_END_ID  ->read(),(3*ctxt)%_param->_nb_front_end);
+	      if(_param->_have_port_ooo_engine_id)
+		TEST(Tcontext_t        ,READ_QUEUE_OUT_OOO_ENGINE_ID ->read(),ctxt);
+	      if(_param->_have_port_context_id   )
+		TEST(Tcontext_t        ,READ_QUEUE_OUT_CONTEXT_ID    ->read(),(2*ctxt)%_param->_nb_context  );
+	      if(_param->_have_port_front_end_id )
+		TEST(Tcontext_t        ,READ_QUEUE_OUT_FRONT_END_ID  ->read(),(3*ctxt)%_param->_nb_front_end);
 
 	      TEST(Tcontrol_t        ,READ_QUEUE_OUT_READ_RA    ->read(),_read_ra      [rob_id]);
@@ -533,78 +566,90 @@
   cout << "<" << name << "> ............ Stop Simulation" << endl;
 
-//   delete    CLOCK;
-//   delete    NRESET;
-
-//   delete    READ_QUEUE_IN_VAL          ;
-//   delete    READ_QUEUE_IN_ACK          ;
-//   delete    READ_QUEUE_IN_CONTEXT_ID   ;
-//   delete    READ_QUEUE_IN_FRONT_END_ID;
-//   delete    READ_QUEUE_IN_OOO_ENGINE_ID;
-//   delete    READ_QUEUE_IN_ROB_ID    ;
-//   delete    READ_QUEUE_IN_OPERATION    ;
-//   delete    READ_QUEUE_IN_TYPE         ;
-//   delete    READ_QUEUE_IN_HAS_IMMEDIAT ;
-//   delete    READ_QUEUE_IN_IMMEDIAT     ;
-//   delete    READ_QUEUE_IN_READ_RA      ;
-//   delete    READ_QUEUE_IN_NUM_REG_RA   ;
-//   delete    READ_QUEUE_IN_READ_RB      ;
-//   delete    READ_QUEUE_IN_NUM_REG_RB   ;
-//   delete    READ_QUEUE_IN_READ_RC      ;
-//   delete    READ_QUEUE_IN_NUM_REG_RC   ;
-//   delete    READ_QUEUE_IN_WRITE_RD     ;
-//   delete    READ_QUEUE_IN_NUM_REG_RD   ;
-//   delete    READ_QUEUE_IN_WRITE_RE     ;
-//   delete    READ_QUEUE_IN_NUM_REG_RE   ;
-
-//   delete    READ_QUEUE_OUT_VAL         ;
-//   delete    READ_QUEUE_OUT_ACK         ;
-//   delete    READ_QUEUE_OUT_CONTEXT_ID  ;
-//   delete    READ_QUEUE_OUT_FRONT_END_ID;
-//   delete    READ_QUEUE_OUT_OOO_ENGINE_ID;
-//   delete    READ_QUEUE_OUT_ROB_ID      ;
-//   delete    READ_QUEUE_OUT_OPERATION   ;
-//   delete    READ_QUEUE_OUT_TYPE        ;
-//   delete    READ_QUEUE_OUT_HAS_IMMEDIAT;
-//   delete    READ_QUEUE_OUT_IMMEDIAT    ;
-//   delete    READ_QUEUE_OUT_READ_RA     ;
-//   delete    READ_QUEUE_OUT_NUM_REG_RA  ;
-//   delete    READ_QUEUE_OUT_DATA_RA_VAL ;
-//   delete    READ_QUEUE_OUT_DATA_RA     ;
-//   delete    READ_QUEUE_OUT_READ_RB     ;
-//   delete    READ_QUEUE_OUT_NUM_REG_RB  ;
-//   delete    READ_QUEUE_OUT_DATA_RB_VAL ;
-//   delete    READ_QUEUE_OUT_DATA_RB     ;
-//   delete    READ_QUEUE_OUT_READ_RC     ;
-//   delete    READ_QUEUE_OUT_NUM_REG_RC  ;
-//   delete    READ_QUEUE_OUT_DATA_RC_VAL ;
-//   delete    READ_QUEUE_OUT_DATA_RC     ;
-//   delete    READ_QUEUE_OUT_WRITE_RD    ;
-//   delete    READ_QUEUE_OUT_NUM_REG_RD  ;
-//   delete    READ_QUEUE_OUT_WRITE_RE    ;
-//   delete    READ_QUEUE_OUT_NUM_REG_RE  ;
-
-//   delete [] GPR_READ_VAL     ;
-//   delete [] GPR_READ_ACK     ;
-//   delete [] GPR_READ_NUM_REG ;
-//   delete [] GPR_READ_DATA    ;
-//   delete [] GPR_READ_DATA_VAL;
-//   delete [] GPR_READ_OOO_ENGINE_ID ;
-
-//   delete [] SPR_READ_VAL     ;
-//   delete [] SPR_READ_ACK     ;
-//   delete [] SPR_READ_NUM_REG ;
-//   delete [] SPR_READ_DATA    ;
-//   delete [] SPR_READ_DATA_VAL;
-//   delete [] SPR_READ_OOO_ENGINE_ID ;
-
-//   delete [] GPR_WRITE_VAL        ;
-//   delete [] GPR_WRITE_OOO_ENGINE_ID ;
-//   delete [] GPR_WRITE_NUM_REG    ;
-//   delete [] GPR_WRITE_DATA       ;
-
-//   delete [] SPR_WRITE_VAL        ;
-//   delete [] SPR_WRITE_OOO_ENGINE_ID ;
-//   delete [] SPR_WRITE_NUM_REG    ;
-//   delete [] SPR_WRITE_DATA       ;
+   delete    CLOCK;
+   delete    NRESET;
+
+   delete    READ_QUEUE_IN_VAL          ;
+   delete    READ_QUEUE_IN_ACK          ;
+   if(_param->_have_port_context_id   )
+     delete    READ_QUEUE_IN_CONTEXT_ID   ;
+   if(_param->_have_port_front_end_id )
+     delete    READ_QUEUE_IN_FRONT_END_ID;
+   if(_param->_have_port_ooo_engine_id )
+     delete    READ_QUEUE_IN_OOO_ENGINE_ID;
+   if(_param->_have_port_rob_id       )
+     delete    READ_QUEUE_IN_ROB_ID    ;
+   delete    READ_QUEUE_IN_OPERATION    ;
+   delete    READ_QUEUE_IN_TYPE         ;
+   delete    READ_QUEUE_IN_HAS_IMMEDIAT ;
+   delete    READ_QUEUE_IN_IMMEDIAT     ;
+   delete    READ_QUEUE_IN_READ_RA      ;
+   delete    READ_QUEUE_IN_NUM_REG_RA   ;
+   delete    READ_QUEUE_IN_READ_RB      ;
+   delete    READ_QUEUE_IN_NUM_REG_RB   ;
+   delete    READ_QUEUE_IN_READ_RC      ;
+   delete    READ_QUEUE_IN_NUM_REG_RC   ;
+   delete    READ_QUEUE_IN_WRITE_RD     ;
+   delete    READ_QUEUE_IN_NUM_REG_RD   ;
+   delete    READ_QUEUE_IN_WRITE_RE     ;
+   delete    READ_QUEUE_IN_NUM_REG_RE   ;
+
+   delete    READ_QUEUE_OUT_VAL         ;
+   delete    READ_QUEUE_OUT_ACK         ;
+   if(_param->_have_port_context_id   )
+     delete    READ_QUEUE_OUT_CONTEXT_ID  ;
+   if(_param->_have_port_front_end_id )
+     delete    READ_QUEUE_OUT_FRONT_END_ID;
+   if(_param->_have_port_ooo_engine_id )
+     delete    READ_QUEUE_OUT_OOO_ENGINE_ID;
+   if(_param->_have_port_rob_id       )
+     delete    READ_QUEUE_OUT_ROB_ID      ;
+   delete    READ_QUEUE_OUT_OPERATION   ;
+   delete    READ_QUEUE_OUT_TYPE        ;
+   delete    READ_QUEUE_OUT_HAS_IMMEDIAT;
+   delete    READ_QUEUE_OUT_IMMEDIAT    ;
+   delete    READ_QUEUE_OUT_READ_RA     ;
+   delete    READ_QUEUE_OUT_NUM_REG_RA  ;
+   delete    READ_QUEUE_OUT_DATA_RA_VAL ;
+   delete    READ_QUEUE_OUT_DATA_RA     ;
+   delete    READ_QUEUE_OUT_READ_RB     ;
+   delete    READ_QUEUE_OUT_NUM_REG_RB  ;
+   delete    READ_QUEUE_OUT_DATA_RB_VAL ;
+   delete    READ_QUEUE_OUT_DATA_RB     ;
+   delete    READ_QUEUE_OUT_READ_RC     ;
+   delete    READ_QUEUE_OUT_NUM_REG_RC  ;
+   delete    READ_QUEUE_OUT_DATA_RC_VAL ;
+   delete    READ_QUEUE_OUT_DATA_RC     ;
+   delete    READ_QUEUE_OUT_WRITE_RD    ;
+   delete    READ_QUEUE_OUT_NUM_REG_RD  ;
+   delete    READ_QUEUE_OUT_WRITE_RE    ;
+   delete    READ_QUEUE_OUT_NUM_REG_RE  ;
+
+   delete [] GPR_READ_VAL     ;
+   delete [] GPR_READ_ACK     ;
+   delete [] GPR_READ_NUM_REG ;
+   delete [] GPR_READ_DATA    ;
+   delete [] GPR_READ_DATA_VAL;
+   if(_param->_have_port_ooo_engine_id )
+     delete [] GPR_READ_OOO_ENGINE_ID ;
+
+   delete [] SPR_READ_VAL     ;
+   delete [] SPR_READ_ACK     ;
+   delete [] SPR_READ_NUM_REG ;
+   delete [] SPR_READ_DATA    ;
+   delete [] SPR_READ_DATA_VAL;
+   if(_param->_have_port_ooo_engine_id )
+     delete [] SPR_READ_OOO_ENGINE_ID ;
+
+   delete [] GPR_WRITE_VAL        ;
+   if(_param->_have_port_ooo_engine_id )
+     delete [] GPR_WRITE_OOO_ENGINE_ID ;
+   delete [] GPR_WRITE_NUM_REG    ;
+   delete [] GPR_WRITE_DATA       ;
+
+   delete [] SPR_WRITE_VAL        ;
+   if(_param->_have_port_ooo_engine_id )
+     delete [] SPR_WRITE_OOO_ENGINE_ID ;
+   delete [] SPR_WRITE_NUM_REG    ;
+   delete [] SPR_WRITE_DATA       ;
 #endif
 
Index: /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/include/Parameters.h
===================================================================
--- /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/include/Parameters.h	(revision 67)
+++ /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/include/Parameters.h	(revision 68)
@@ -53,4 +53,11 @@
   public : const uint32_t    _size_type            ;
 
+  public : const bool        _have_port_context_id   ;
+  public : const bool        _have_port_front_end_id ;
+  public : const bool        _have_port_ooo_engine_id;
+  public : const bool        _have_port_rob_id       ;
+
+  public : const uint32_t    _size_internal_queue;
+
     //-----[ methods ]-----------------------------------------------------------
   public : Parameters  (uint32_t size_queue         ,
Index: /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Parameters.cpp
===================================================================
--- /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Parameters.cpp	(revision 67)
+++ /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Parameters.cpp	(revision 68)
@@ -54,5 +54,32 @@
     _size_special_register (static_cast<uint32_t>(log2(_nb_special_register))),
     _size_operation        (static_cast<uint32_t>(log2(_nb_operation       ))),
-    _size_type             (static_cast<uint32_t>(log2(_nb_type            )))
+    _size_type             (static_cast<uint32_t>(log2(_nb_type            ))),
+
+    _have_port_context_id    (_size_context_id    > 0),
+    _have_port_front_end_id  (_size_front_end_id  > 0),
+    _have_port_ooo_engine_id (_size_ooo_engine_id > 0),
+    _have_port_rob_id        (_size_rob_id        > 0),
+
+    _size_internal_queue     (  _size_context_id       //_context_id   
+			      + _size_front_end_id     //_front_end_id 
+			      + _size_ooo_engine_id    //_ooo_engine_id
+			      + _size_rob_id           //_rob_id       
+			      + _size_operation        //_operation    
+			      + _size_type             //_type         
+			      + 1                      //_has_immediat 
+			      + _size_general_data     //_immediat     
+			      + 1                      //_read_ra      
+			      + _size_general_register //_num_reg_ra   
+			      + 1                      //_read_rb      
+			      + _size_general_register //_num_reg_rb   
+			      + 1                      //_read_rc      
+			      + _size_special_register //_num_reg_rc   
+			      + 1                      //_write_rd     
+			      + _size_general_register //_num_reg_rd   
+			      + 1                      //_write_re     
+			      + _size_special_register //_num_reg_re   
+				)
+				
+
   {
     log_printf(FUNC,Read_queue,"Parameters","Begin");
@@ -85,5 +112,12 @@
     _size_special_register (param._size_special_register ),
     _size_operation        (param._size_operation        ),
-    _size_type             (param._size_type             )
+    _size_type             (param._size_type             ),
+
+    _have_port_context_id    (param._have_port_context_id   ),
+    _have_port_front_end_id  (param._have_port_front_end_id ),
+    _have_port_ooo_engine_id (param._have_port_ooo_engine_id),
+    _have_port_rob_id        (param._have_port_rob_id       ),
+
+    _size_internal_queue     (param._size_internal_queue    )
   {
     log_printf(FUNC,Read_queue,"Parameters (copy)","Begin");
Index: /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Parameters_msg_error.cpp
===================================================================
--- /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Parameters_msg_error.cpp	(revision 67)
+++ /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Parameters_msg_error.cpp	(revision 68)
@@ -26,8 +26,17 @@
     string msg = "";
 
-    if (_size_queue < 2)
+//     if (_size_queue < 2)
+//       {
+//         msg += "  - The read_queue must be have less a depth of 2";
+//         msg += "    * size_queue                      : " + toString(_size_queue)    + "\n";
+//       }
+
+    if (_nb_type < 2)
       {
-        msg += "  - The read_queue must be have less a depth of 2";
-        msg += "    * size_queue                      : " + toString(_size_queue)    + "\n";
+        msg += "  - The number of type must be > 1";
+      }
+    if (_nb_operation < 2)
+      {
+        msg += "  - The number of operation must be > 1";
       }
     
Index: /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue.cpp
===================================================================
--- /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue.cpp	(revision 67)
+++ /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue.cpp	(revision 68)
@@ -77,12 +77,19 @@
       sensitive << *(in_SPR_READ_ACK      [i]);
     for (uint32_t i=0; i<_param->_nb_gpr_write; i++)
-      sensitive << *(in_GPR_WRITE_VAL        [i])
-		<< *(in_GPR_WRITE_OOO_ENGINE_ID [i])
-		<< *(in_GPR_WRITE_NUM_REG    [i]);
+      {
+	if (_param->_have_port_ooo_engine_id)
+	  sensitive << *(in_GPR_WRITE_OOO_ENGINE_ID [i]);
+
+	sensitive << *(in_GPR_WRITE_VAL        [i])
+		  << *(in_GPR_WRITE_NUM_REG    [i]);
+      }
     for (uint32_t i=0; i<_param->_nb_spr_write; i++)
-      sensitive << *(in_SPR_WRITE_VAL        [i])
-		<< *(in_SPR_WRITE_OOO_ENGINE_ID [i])
-		<< *(in_SPR_WRITE_NUM_REG    [i]);
-
+      {
+	if (_param->_have_port_ooo_engine_id)
+	  sensitive << *(in_SPR_WRITE_OOO_ENGINE_ID [i]);
+	sensitive << *(in_SPR_WRITE_VAL        [i])
+		  
+		  << *(in_SPR_WRITE_NUM_REG    [i]);
+      }
 #ifdef SYSTEMCASS_SPECIFIC
     // List dependency information
@@ -94,4 +101,5 @@
       {
 	(*(out_READ_QUEUE_OUT_VAL)) (*(in_GPR_WRITE_VAL        [i]));
+	if (_param->_have_port_ooo_engine_id)
 	(*(out_READ_QUEUE_OUT_VAL)) (*(in_GPR_WRITE_OOO_ENGINE_ID [i]));
 	(*(out_READ_QUEUE_OUT_VAL)) (*(in_GPR_WRITE_NUM_REG    [i]));
@@ -100,4 +108,5 @@
       {
 	(*(out_READ_QUEUE_OUT_VAL)) (*(in_SPR_WRITE_VAL        [i]));
+	if (_param->_have_port_ooo_engine_id)
 	(*(out_READ_QUEUE_OUT_VAL)) (*(in_SPR_WRITE_OOO_ENGINE_ID [i]));
 	(*(out_READ_QUEUE_OUT_VAL)) (*(in_SPR_WRITE_NUM_REG    [i]));
@@ -115,9 +124,11 @@
 		<< *(in_GPR_READ_DATA_VAL [i]);
     for (uint32_t i=0; i<_param->_nb_gpr_write; i++)
-      sensitive << *(in_GPR_WRITE_VAL        [i])
-		<< *(in_GPR_WRITE_OOO_ENGINE_ID [i])
-		<< *(in_GPR_WRITE_NUM_REG    [i])
-		<< *(in_GPR_WRITE_DATA       [i]);
-
+      {
+	if (_param->_have_port_ooo_engine_id)
+	  sensitive << *(in_GPR_WRITE_OOO_ENGINE_ID [i]);
+	sensitive << *(in_GPR_WRITE_VAL        [i])
+		  << *(in_GPR_WRITE_NUM_REG    [i])
+		  << *(in_GPR_WRITE_DATA       [i]);
+      }
 #ifdef SYSTEMCASS_SPECIFIC
     // List dependency information
@@ -134,16 +145,20 @@
       {
 	(*(out_READ_QUEUE_OUT_DATA_RA_VAL)) (*(in_GPR_WRITE_VAL        [i]));
-	(*(out_READ_QUEUE_OUT_DATA_RA_VAL)) (*(in_GPR_WRITE_OOO_ENGINE_ID [i]));
+	if (_param->_have_port_ooo_engine_id)
+	  (*(out_READ_QUEUE_OUT_DATA_RA_VAL)) (*(in_GPR_WRITE_OOO_ENGINE_ID [i]));
 	(*(out_READ_QUEUE_OUT_DATA_RA_VAL)) (*(in_GPR_WRITE_NUM_REG    [i]));
 	(*(out_READ_QUEUE_OUT_DATA_RB_VAL)) (*(in_GPR_WRITE_VAL        [i]));
-	(*(out_READ_QUEUE_OUT_DATA_RB_VAL)) (*(in_GPR_WRITE_OOO_ENGINE_ID [i]));
+	if (_param->_have_port_ooo_engine_id)
+	  (*(out_READ_QUEUE_OUT_DATA_RB_VAL)) (*(in_GPR_WRITE_OOO_ENGINE_ID [i]));
 	(*(out_READ_QUEUE_OUT_DATA_RB_VAL)) (*(in_GPR_WRITE_NUM_REG    [i]));
 
 	(*(out_READ_QUEUE_OUT_DATA_RA    )) (*(in_GPR_WRITE_VAL        [i]));
-	(*(out_READ_QUEUE_OUT_DATA_RA    )) (*(in_GPR_WRITE_OOO_ENGINE_ID [i]));
+	if (_param->_have_port_ooo_engine_id)
+	  (*(out_READ_QUEUE_OUT_DATA_RA    )) (*(in_GPR_WRITE_OOO_ENGINE_ID [i]));
 	(*(out_READ_QUEUE_OUT_DATA_RA    )) (*(in_GPR_WRITE_NUM_REG    [i]));
 	(*(out_READ_QUEUE_OUT_DATA_RA    )) (*(in_GPR_WRITE_DATA       [i]));
 	(*(out_READ_QUEUE_OUT_DATA_RB    )) (*(in_GPR_WRITE_VAL        [i]));
-	(*(out_READ_QUEUE_OUT_DATA_RB    )) (*(in_GPR_WRITE_OOO_ENGINE_ID [i]));
+	if (_param->_have_port_ooo_engine_id)
+	  (*(out_READ_QUEUE_OUT_DATA_RB    )) (*(in_GPR_WRITE_OOO_ENGINE_ID [i]));
 	(*(out_READ_QUEUE_OUT_DATA_RB    )) (*(in_GPR_WRITE_NUM_REG    [i]));
 	(*(out_READ_QUEUE_OUT_DATA_RB    )) (*(in_GPR_WRITE_DATA       [i]));
@@ -161,9 +176,11 @@
 		<< *(in_SPR_READ_DATA_VAL [i]);
     for (uint32_t i=0; i<_param->_nb_spr_write; i++)
-      sensitive << *(in_SPR_WRITE_VAL        [i])
-		<< *(in_SPR_WRITE_OOO_ENGINE_ID [i])
-		<< *(in_SPR_WRITE_NUM_REG    [i])
-		<< *(in_SPR_WRITE_DATA       [i]);
-
+      {
+	if (_param->_have_port_ooo_engine_id)
+	  sensitive << *(in_SPR_WRITE_OOO_ENGINE_ID [i]);
+	sensitive << *(in_SPR_WRITE_VAL        [i])
+		  << *(in_SPR_WRITE_NUM_REG    [i])
+		  << *(in_SPR_WRITE_DATA       [i]);
+      }
 #ifdef SYSTEMCASS_SPECIFIC
     // List dependency information
@@ -177,9 +194,11 @@
       {
 	(*(out_READ_QUEUE_OUT_DATA_RC_VAL)) (*(in_SPR_WRITE_VAL        [i]));
-	(*(out_READ_QUEUE_OUT_DATA_RC_VAL)) (*(in_SPR_WRITE_OOO_ENGINE_ID [i]));
+	if (_param->_have_port_ooo_engine_id)
+	  (*(out_READ_QUEUE_OUT_DATA_RC_VAL)) (*(in_SPR_WRITE_OOO_ENGINE_ID [i]));
 	(*(out_READ_QUEUE_OUT_DATA_RC_VAL)) (*(in_SPR_WRITE_NUM_REG    [i]));
 
 	(*(out_READ_QUEUE_OUT_DATA_RC    )) (*(in_SPR_WRITE_VAL        [i]));
-	(*(out_READ_QUEUE_OUT_DATA_RC    )) (*(in_SPR_WRITE_OOO_ENGINE_ID [i]));
+	if (_param->_have_port_ooo_engine_id)
+	  (*(out_READ_QUEUE_OUT_DATA_RC    )) (*(in_SPR_WRITE_OOO_ENGINE_ID [i]));
 	(*(out_READ_QUEUE_OUT_DATA_RC    )) (*(in_SPR_WRITE_NUM_REG    [i]));
 	(*(out_READ_QUEUE_OUT_DATA_RC    )) (*(in_SPR_WRITE_DATA       [i]));
Index: /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_allocation.cpp
===================================================================
--- /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_allocation.cpp	(revision 67)
+++ /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_allocation.cpp	(revision 68)
@@ -59,10 +59,14 @@
 #endif
 							      );
-      
+
        in_READ_QUEUE_IN_VAL            = interface->set_signal_valack_in        ("val"    , VAL);
       out_READ_QUEUE_IN_ACK            = interface->set_signal_valack_out       ("ack"    , ACK);
+      if(_param->_have_port_context_id  )
        in_READ_QUEUE_IN_CONTEXT_ID     = interface->set_signal_in  <Tcontext_t        > ("context_id"   ,_param->_size_context_id       );
+      if(_param->_have_port_front_end_id)
        in_READ_QUEUE_IN_FRONT_END_ID   = interface->set_signal_in  <Tcontext_t        > ("front_end_id" ,_param->_size_front_end_id     );
-       in_READ_QUEUE_IN_OOO_ENGINE_ID  = interface->set_signal_in  <Tcontext_t        > ("ooo_engine_id",_param->_size_ooo_engine_id    );
+       if(_param->_have_port_ooo_engine_id)
+	 in_READ_QUEUE_IN_OOO_ENGINE_ID  = interface->set_signal_in  <Tcontext_t        > ("ooo_engine_id",_param->_size_ooo_engine_id    );
+      if(_param->_have_port_rob_id      )
        in_READ_QUEUE_IN_ROB_ID         = interface->set_signal_in  <Tpacket_t         > ("rob_id"      ,_param->_size_rob_id           );
        in_READ_QUEUE_IN_OPERATION      = interface->set_signal_in  <Toperation_t      > ("operation"   ,_param->_size_operation        );
@@ -95,8 +99,12 @@
        in_READ_QUEUE_OUT_ACK            = interface->set_signal_valack_in        ("ack"    , ACK);
 
-      out_READ_QUEUE_OUT_CONTEXT_ID     = interface->set_signal_out <Tcontext_t        > ("context_id"   ,_param->_size_context_id       );
-      out_READ_QUEUE_OUT_FRONT_END_ID   = interface->set_signal_out <Tcontext_t        > ("front_end_id" ,_param->_size_front_end_id     );
-      out_READ_QUEUE_OUT_OOO_ENGINE_ID  = interface->set_signal_out <Tcontext_t        > ("ooo_engine_id",_param->_size_ooo_engine_id    );
-      out_READ_QUEUE_OUT_ROB_ID         = interface->set_signal_out <Tpacket_t         > ("rob_id"      ,_param->_size_rob_id           );
+      if(_param->_have_port_context_id  )
+	out_READ_QUEUE_OUT_CONTEXT_ID     = interface->set_signal_out <Tcontext_t        > ("context_id"   ,_param->_size_context_id       );
+      if(_param->_have_port_front_end_id)
+	out_READ_QUEUE_OUT_FRONT_END_ID   = interface->set_signal_out <Tcontext_t        > ("front_end_id" ,_param->_size_front_end_id     );
+      if(_param->_have_port_ooo_engine_id)
+	out_READ_QUEUE_OUT_OOO_ENGINE_ID  = interface->set_signal_out <Tcontext_t        > ("ooo_engine_id",_param->_size_ooo_engine_id    );
+      if(_param->_have_port_rob_id      )
+	out_READ_QUEUE_OUT_ROB_ID         = interface->set_signal_out <Tpacket_t         > ("rob_id"      ,_param->_size_rob_id           );
       out_READ_QUEUE_OUT_OPERATION      = interface->set_signal_out <Toperation_t      > ("operation"   ,_param->_size_operation        );
       out_READ_QUEUE_OUT_TYPE           = interface->set_signal_out <Ttype_t           > ("type"        ,_param->_size_type             );
@@ -125,5 +133,6 @@
     out_GPR_READ_VAL          = new SC_OUT(Tcontrol_t        ) * [_param->_nb_gpr_read];
      in_GPR_READ_ACK          = new SC_IN (Tcontrol_t        ) * [_param->_nb_gpr_read];
-    out_GPR_READ_OOO_ENGINE_ID= new SC_OUT(Tcontext_t        ) * [_param->_nb_gpr_read];
+    if(_param->_have_port_ooo_engine_id)
+      out_GPR_READ_OOO_ENGINE_ID= new SC_OUT(Tcontext_t        ) * [_param->_nb_gpr_read];
     out_GPR_READ_NUM_REG      = new SC_OUT(Tgeneral_address_t) * [_param->_nb_gpr_read];
      in_GPR_READ_DATA         = new SC_IN (Tgeneral_data_t   ) * [_param->_nb_gpr_read];
@@ -142,5 +151,6 @@
 	out_GPR_READ_VAL           [i] = interface->set_signal_valack_out       ("val"    , VAL);
 	 in_GPR_READ_ACK           [i] = interface->set_signal_valack_in        ("ack"    , ACK);
-	out_GPR_READ_OOO_ENGINE_ID [i] = interface->set_signal_out <Tcontext_t        > ("ooo_engine_id",_param->_size_ooo_engine_id);
+	if(_param->_have_port_ooo_engine_id)
+	  out_GPR_READ_OOO_ENGINE_ID [i] = interface->set_signal_out <Tcontext_t        > ("ooo_engine_id",_param->_size_ooo_engine_id);
 	out_GPR_READ_NUM_REG       [i] = interface->set_signal_out <Tgeneral_address_t> ("num_reg"  ,_param->_size_general_register);
 	 in_GPR_READ_DATA          [i] = interface->set_signal_in  <Tgeneral_data_t   > ("data"     ,_param->_size_general_data);
@@ -152,5 +162,6 @@
     out_SPR_READ_VAL          = new SC_OUT(Tcontrol_t        ) * [_param->_nb_spr_read];
      in_SPR_READ_ACK          = new SC_IN (Tcontrol_t        ) * [_param->_nb_spr_read];
-    out_SPR_READ_OOO_ENGINE_ID= new SC_OUT(Tcontext_t        ) * [_param->_nb_spr_read];
+    if(_param->_have_port_ooo_engine_id) 
+      out_SPR_READ_OOO_ENGINE_ID= new SC_OUT(Tcontext_t        ) * [_param->_nb_spr_read];
     out_SPR_READ_NUM_REG      = new SC_OUT(Tspecial_address_t) * [_param->_nb_spr_read];
      in_SPR_READ_DATA         = new SC_IN (Tspecial_data_t   ) * [_param->_nb_spr_read];
@@ -169,5 +180,6 @@
 	out_SPR_READ_VAL           [i] = interface->set_signal_valack_out       ("val"    , VAL);
 	 in_SPR_READ_ACK           [i] = interface->set_signal_valack_in        ("ack"    , ACK);
-	out_SPR_READ_OOO_ENGINE_ID [i] = interface->set_signal_out <Tcontext_t        > ("ooo_engine_id",_param->_size_ooo_engine_id);
+	if(_param->_have_port_ooo_engine_id)
+	  out_SPR_READ_OOO_ENGINE_ID [i] = interface->set_signal_out <Tcontext_t        > ("ooo_engine_id",_param->_size_ooo_engine_id);
 	out_SPR_READ_NUM_REG       [i] = interface->set_signal_out <Tspecial_address_t> ("num_reg"   ,_param->_size_special_register);
 	 in_SPR_READ_DATA          [i] = interface->set_signal_in  <Tspecial_data_t   > ("data"      ,_param->_size_special_data);
@@ -178,5 +190,6 @@
     
      in_GPR_WRITE_VAL          = new SC_IN (Tcontrol_t        ) * [_param->_nb_gpr_write];
-     in_GPR_WRITE_OOO_ENGINE_ID= new SC_IN (Tcontext_t        ) * [_param->_nb_gpr_write];
+     if(_param->_have_port_ooo_engine_id)
+       in_GPR_WRITE_OOO_ENGINE_ID= new SC_IN (Tcontext_t        ) * [_param->_nb_gpr_write];
      in_GPR_WRITE_NUM_REG      = new SC_IN (Tgeneral_address_t) * [_param->_nb_gpr_write];
      in_GPR_WRITE_DATA         = new SC_IN (Tgeneral_data_t   ) * [_param->_nb_gpr_write];
@@ -193,5 +206,6 @@
 
 	 in_GPR_WRITE_VAL           [i] = interface->set_signal_valack_in        ("val"    , VAL);
-	 in_GPR_WRITE_OOO_ENGINE_ID [i] = interface->set_signal_in  <Tcontext_t        > ("ooo_engine_id",_param->_size_ooo_engine_id);
+	 if(_param->_have_port_ooo_engine_id)
+	   in_GPR_WRITE_OOO_ENGINE_ID [i] = interface->set_signal_in  <Tcontext_t        > ("ooo_engine_id",_param->_size_ooo_engine_id);
 	 in_GPR_WRITE_NUM_REG       [i] = interface->set_signal_in  <Tgeneral_address_t> ("num_reg"   ,_param->_size_general_register);
 	 in_GPR_WRITE_DATA          [i] = interface->set_signal_in  <Tgeneral_data_t   > ("data"      ,_param->_size_general_data);
@@ -201,5 +215,6 @@
     
      in_SPR_WRITE_VAL          = new SC_IN (Tcontrol_t        ) * [_param->_nb_spr_write];
-     in_SPR_WRITE_OOO_ENGINE_ID= new SC_IN (Tcontext_t        ) * [_param->_nb_spr_write];
+     if(_param->_have_port_ooo_engine_id)
+       in_SPR_WRITE_OOO_ENGINE_ID= new SC_IN (Tcontext_t        ) * [_param->_nb_spr_write];
      in_SPR_WRITE_NUM_REG      = new SC_IN (Tspecial_address_t) * [_param->_nb_spr_write];
      in_SPR_WRITE_DATA         = new SC_IN (Tspecial_data_t   ) * [_param->_nb_spr_write];
@@ -216,5 +231,6 @@
 
 	 in_SPR_WRITE_VAL           [i] = interface->set_signal_valack_in ("val"    , VAL);
-	 in_SPR_WRITE_OOO_ENGINE_ID [i] = interface->set_signal_in  <Tcontext_t        > ("ooo_engine_id",_param->_size_ooo_engine_id);
+	 if(_param->_have_port_ooo_engine_id)
+	   in_SPR_WRITE_OOO_ENGINE_ID [i] = interface->set_signal_in  <Tcontext_t        > ("ooo_engine_id",_param->_size_ooo_engine_id);
 	 in_SPR_WRITE_NUM_REG       [i] = interface->set_signal_in  <Tspecial_address_t> ("num_reg"   ,_param->_size_special_register);
 	 in_SPR_WRITE_DATA          [i] = interface->set_signal_in  <Tspecial_data_t   > ("data"      ,_param->_size_special_data);
Index: /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_deallocation.cpp
===================================================================
--- /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_deallocation.cpp	(revision 67)
+++ /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_deallocation.cpp	(revision 68)
@@ -30,8 +30,13 @@
     delete     in_READ_QUEUE_IN_VAL            ;
     delete    out_READ_QUEUE_IN_ACK            ;
-    delete     in_READ_QUEUE_IN_CONTEXT_ID     ;
-    delete     in_READ_QUEUE_IN_FRONT_END_ID   ;
-    delete     in_READ_QUEUE_IN_OOO_ENGINE_ID  ;
-    delete     in_READ_QUEUE_IN_ROB_ID         ;
+
+    if(_param->_have_port_context_id   )
+      delete     in_READ_QUEUE_IN_CONTEXT_ID     ;
+    if(_param->_have_port_front_end_id )
+      delete     in_READ_QUEUE_IN_FRONT_END_ID   ;
+    if(_param->_have_port_ooo_engine_id)
+      delete     in_READ_QUEUE_IN_OOO_ENGINE_ID  ;
+    if(_param->_have_port_rob_id       )
+      delete     in_READ_QUEUE_IN_ROB_ID         ;
     delete     in_READ_QUEUE_IN_OPERATION      ;
     delete     in_READ_QUEUE_IN_TYPE           ;
@@ -52,8 +57,13 @@
     delete    out_READ_QUEUE_OUT_VAL            ;
     delete     in_READ_QUEUE_OUT_ACK            ;
-    delete    out_READ_QUEUE_OUT_CONTEXT_ID     ;
-    delete    out_READ_QUEUE_OUT_FRONT_END_ID   ;
-    delete    out_READ_QUEUE_OUT_OOO_ENGINE_ID  ;
-    delete    out_READ_QUEUE_OUT_ROB_ID         ;
+
+    if(_param->_have_port_context_id   )
+      delete    out_READ_QUEUE_OUT_CONTEXT_ID     ;
+    if(_param->_have_port_front_end_id )
+      delete    out_READ_QUEUE_OUT_FRONT_END_ID   ;
+    if(_param->_have_port_ooo_engine_id)
+      delete    out_READ_QUEUE_OUT_OOO_ENGINE_ID  ;
+    if(_param->_have_port_rob_id       )
+      delete    out_READ_QUEUE_OUT_ROB_ID         ;
     delete    out_READ_QUEUE_OUT_OPERATION      ;
     delete    out_READ_QUEUE_OUT_TYPE           ;
@@ -81,5 +91,6 @@
     delete [] out_GPR_READ_VAL       ;
     delete []  in_GPR_READ_ACK       ;
-    delete [] out_GPR_READ_OOO_ENGINE_ID;
+    if(_param->_have_port_ooo_engine_id)
+      delete [] out_GPR_READ_OOO_ENGINE_ID;
     delete [] out_GPR_READ_NUM_REG   ;
     delete []  in_GPR_READ_DATA      ;
@@ -90,5 +101,6 @@
     delete [] out_SPR_READ_VAL       ;
     delete []  in_SPR_READ_ACK       ;
-    delete [] out_SPR_READ_OOO_ENGINE_ID;
+    if(_param->_have_port_ooo_engine_id)
+      delete [] out_SPR_READ_OOO_ENGINE_ID;
     delete [] out_SPR_READ_NUM_REG   ;
     delete []  in_SPR_READ_DATA      ;
@@ -98,5 +110,6 @@
     
     delete []  in_GPR_WRITE_VAL       ;
-    delete []  in_GPR_WRITE_OOO_ENGINE_ID;
+    if(_param->_have_port_ooo_engine_id)
+      delete []  in_GPR_WRITE_OOO_ENGINE_ID;
     delete []  in_GPR_WRITE_NUM_REG   ;
     delete []  in_GPR_WRITE_DATA      ;
@@ -105,5 +118,6 @@
     
     delete []  in_SPR_WRITE_VAL       ;
-    delete []  in_SPR_WRITE_OOO_ENGINE_ID;
+    if(_param->_have_port_ooo_engine_id)
+      delete []  in_SPR_WRITE_OOO_ENGINE_ID;
     delete []  in_SPR_WRITE_NUM_REG   ;
     delete []  in_SPR_WRITE_DATA      ;
Index: /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_genMealy_read_queue_out_gpr.cpp
===================================================================
--- /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_genMealy_read_queue_out_gpr.cpp	(revision 67)
+++ /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_genMealy_read_queue_out_gpr.cpp	(revision 68)
@@ -65,8 +65,13 @@
     for (uint32_t i=0; i<_param->_nb_gpr_write ; i++)
       {
+	bool cmp;
+
+	if (_param->_have_port_ooo_engine_id)
+	  cmp = (PORT_READ (in_GPR_WRITE_OOO_ENGINE_ID [i]) == _queue_head->_ooo_engine_id);
+	else
+	  cmp = true;
+
 	// Test if this bypass is valid
-	if ( (PORT_READ (in_GPR_WRITE_VAL           [i]) == 1) and
-	     (PORT_READ (in_GPR_WRITE_OOO_ENGINE_ID [i]) == _queue_head->_ooo_engine_id)
-	     )
+	if ( (PORT_READ (in_GPR_WRITE_VAL [i]) == 1) and cmp)
 	  {
 	    Tgeneral_address_t gpr_write_num_reg = PORT_READ(in_GPR_WRITE_NUM_REG [i]);
@@ -78,4 +83,7 @@
 
 		internal_READ_QUEUE_OUT_DATA_RA_VAL = 1;
+#ifdef SYSTEMC_VHDL_COMPATIBILITY
+		if (_queue_head->_read_ra == 1)
+#endif
 		internal_READ_QUEUE_OUT_DATA_RA     = gpr_write_data;
 	      }
@@ -84,4 +92,7 @@
 		log_printf(TRACE,Read_queue,FUNCTION," * internal_READ_QUEUE_OUT_DATA_RB_VAL   - bypass hit (%d)",i);
 		internal_READ_QUEUE_OUT_DATA_RB_VAL = 1;
+#ifdef SYSTEMC_VHDL_COMPATIBILITY
+		if (_queue_head->_read_rb == 1)
+#endif
 		internal_READ_QUEUE_OUT_DATA_RB     = gpr_write_data;
 	      }
Index: /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_genMealy_read_queue_out_spr.cpp
===================================================================
--- /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_genMealy_read_queue_out_spr.cpp	(revision 67)
+++ /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_genMealy_read_queue_out_spr.cpp	(revision 68)
@@ -45,13 +45,16 @@
 					   PORT_READ(in_SPR_READ_DATA [0]));
 
-//     cout << "yo1 : " << internal_READ_QUEUE_OUT_DATA_RC << endl;
-
     // Test all bypass
     for (uint32_t i=0; i<_param->_nb_spr_write ; i++)
       {
+	bool cmp;
+
+	if (_param->_have_port_ooo_engine_id)
+	  cmp = (PORT_READ (in_SPR_WRITE_OOO_ENGINE_ID [i]) == _queue_head->_ooo_engine_id);
+	else
+	  cmp = true;
+	    
 	// Test if this bypass is valid
-	if ( (PORT_READ (in_SPR_WRITE_VAL           [i]) == 1) and
-	     (PORT_READ (in_SPR_WRITE_OOO_ENGINE_ID [i]) == _queue_head->_ooo_engine_id)
-	     )
+	if ( (PORT_READ (in_SPR_WRITE_VAL [i]) == 1) and cmp)
 	  {
 	    if (_queue_head->_num_reg_rc == PORT_READ(in_SPR_WRITE_NUM_REG [i]))
@@ -59,10 +62,11 @@
 		log_printf(TRACE,Read_queue,FUNCTION," * internal_READ_QUEUE_OUT_DATA_RC_VAL   - bypass hit (%d)",i);
 		internal_READ_QUEUE_OUT_DATA_RC_VAL = 1;
+#ifdef SYSTEMC_VHDL_COMPATIBILITY
+		if (_queue_head->_read_rc == 1)
+#endif
 		internal_READ_QUEUE_OUT_DATA_RC     = PORT_READ(in_SPR_WRITE_DATA [i]);
 	      }
 	  }
       }
-
-//     cout << "yo2 : " << internal_READ_QUEUE_OUT_DATA_RC << endl;
 
     // Affectation out port
Index: /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_genMealy_read_queue_out_val.cpp
===================================================================
--- /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_genMealy_read_queue_out_val.cpp	(revision 67)
+++ /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_genMealy_read_queue_out_val.cpp	(revision 68)
@@ -41,8 +41,13 @@
     for (uint32_t i=0; i<_param->_nb_gpr_write ; i++)
       {
+	bool cmp;
+
+	if (_param->_have_port_ooo_engine_id)
+	  cmp = (PORT_READ (in_GPR_WRITE_OOO_ENGINE_ID [i]) == _queue_head->_ooo_engine_id);
+	else
+	  cmp = true;
+	
 	// Test if this bypass is valid
-	if ( (PORT_READ (in_GPR_WRITE_VAL           [i]) == 1) and
-	     (PORT_READ (in_GPR_WRITE_OOO_ENGINE_ID [i]) == _queue_head->_ooo_engine_id)
-	     )
+	if ((PORT_READ (in_GPR_WRITE_VAL           [i]) == 1) and cmp)
 	  {
 	    Tgeneral_address_t gpr_write_num_reg = PORT_READ(in_GPR_WRITE_NUM_REG [i]);
@@ -58,8 +63,13 @@
     for (uint32_t i=0; i<_param->_nb_spr_write ; i++)
       {
+	bool cmp;
+
+	if (_param->_have_port_ooo_engine_id)
+	  cmp = (PORT_READ (in_SPR_WRITE_OOO_ENGINE_ID [i]) == _queue_head->_ooo_engine_id);
+	else
+	  cmp = true;
+	
 	// Test if this bypass is valid
-	if ( (PORT_READ (in_SPR_WRITE_VAL           [i]) == 1) and
-	     (PORT_READ (in_SPR_WRITE_OOO_ENGINE_ID [i]) == _queue_head->_ooo_engine_id)
-	     )
+	if ((PORT_READ (in_SPR_WRITE_VAL           [i]) == 1) and cmp)
 	  {
 	    Tspecial_address_t spr_write_num_reg = PORT_READ(in_SPR_WRITE_NUM_REG [i]);
Index: /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_genMoore.cpp
===================================================================
--- /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_genMoore.cpp	(revision 67)
+++ /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_genMoore.cpp	(revision 68)
@@ -31,10 +31,14 @@
 
     // ~~~~~[ Interface "read_queue_out" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//  PORT_WRITE (out_READ_QUEUE_OUT_VAL         , not_empty    );              // in genMealy_val
-
-    PORT_WRITE (out_READ_QUEUE_OUT_CONTEXT_ID   , _queue_head->_context_id  );
-    PORT_WRITE (out_READ_QUEUE_OUT_FRONT_END_ID , _queue_head->_front_end_id);
-    PORT_WRITE (out_READ_QUEUE_OUT_OOO_ENGINE_ID, _queue_head->_ooo_engine_id);
-    PORT_WRITE (out_READ_QUEUE_OUT_ROB_ID      , _queue_head->_rob_id      );
+    //  PORT_WRITE (out_READ_QUEUE_OUT_VAL         , not_empty    );              // in genMealy_val
+    
+    if(_param->_have_port_context_id   )
+      PORT_WRITE (out_READ_QUEUE_OUT_CONTEXT_ID   , _queue_head->_context_id  );
+    if(_param->_have_port_front_end_id )
+      PORT_WRITE (out_READ_QUEUE_OUT_FRONT_END_ID , _queue_head->_front_end_id);
+    if(_param->_have_port_ooo_engine_id)
+      PORT_WRITE (out_READ_QUEUE_OUT_OOO_ENGINE_ID, _queue_head->_ooo_engine_id);
+    if(_param->_have_port_rob_id       )
+      PORT_WRITE (out_READ_QUEUE_OUT_ROB_ID      , _queue_head->_rob_id      );
     PORT_WRITE (out_READ_QUEUE_OUT_OPERATION   , _queue_head->_operation   );
     PORT_WRITE (out_READ_QUEUE_OUT_TYPE        , _queue_head->_type        );
@@ -61,6 +65,9 @@
     PORT_WRITE (out_GPR_READ_VAL           [0], not_empty and _queue_head->_read_ra_val);
     PORT_WRITE (out_GPR_READ_VAL           [1], not_empty and _queue_head->_read_rb_val);
-    PORT_WRITE (out_GPR_READ_OOO_ENGINE_ID [0],               _queue_head->_ooo_engine_id);
-    PORT_WRITE (out_GPR_READ_OOO_ENGINE_ID [1],               _queue_head->_ooo_engine_id);
+    if(_param->_have_port_ooo_engine_id)
+      {
+	PORT_WRITE (out_GPR_READ_OOO_ENGINE_ID [0],               _queue_head->_ooo_engine_id);
+	PORT_WRITE (out_GPR_READ_OOO_ENGINE_ID [1],               _queue_head->_ooo_engine_id);
+      }
     PORT_WRITE (out_GPR_READ_NUM_REG       [0],               _queue_head->_num_reg_ra);
     PORT_WRITE (out_GPR_READ_NUM_REG       [1],               _queue_head->_num_reg_rb);
@@ -68,5 +75,6 @@
     // ~~~~~[ Interface "spr_read" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     PORT_WRITE (out_SPR_READ_VAL           [0], not_empty and _queue_head->_read_rc_val);
-    PORT_WRITE (out_SPR_READ_OOO_ENGINE_ID [0],               _queue_head->_ooo_engine_id);
+    if(_param->_have_port_ooo_engine_id)
+      PORT_WRITE (out_SPR_READ_OOO_ENGINE_ID [0],               _queue_head->_ooo_engine_id);
     PORT_WRITE (out_SPR_READ_NUM_REG       [0],               _queue_head->_num_reg_rc);
 		    
Index: /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_transition.cpp
===================================================================
--- /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_transition.cpp	(revision 67)
+++ /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_transition.cpp	(revision 68)
@@ -49,5 +49,5 @@
 	bool not_full      = not (_queue->size() == _param->_size_queue);
 	bool     empty     =     _queue->empty();
-	bool nead_new_head = false;
+	bool need_new_head = false;
 	
 	log_printf(TRACE,Read_queue,FUNCTION," * test transaction READ_QUEUE_IN  : %d,%d",PORT_READ(in_READ_QUEUE_IN_VAL), not_full);
@@ -56,8 +56,12 @@
 	    Tread_queue_entry_t * entry = new Tread_queue_entry_t;
 
-	    entry->_context_id   = PORT_READ(in_READ_QUEUE_IN_CONTEXT_ID  );
-	    entry->_front_end_id = PORT_READ(in_READ_QUEUE_IN_FRONT_END_ID);
-	    entry->_ooo_engine_id= PORT_READ(in_READ_QUEUE_IN_OOO_ENGINE_ID);
-	    entry->_rob_id       = PORT_READ(in_READ_QUEUE_IN_ROB_ID      );
+	    if(_param->_have_port_context_id   )
+	      entry->_context_id   = PORT_READ(in_READ_QUEUE_IN_CONTEXT_ID  );
+	    if(_param->_have_port_front_end_id )
+	      entry->_front_end_id = PORT_READ(in_READ_QUEUE_IN_FRONT_END_ID);
+	    if(_param->_have_port_ooo_engine_id)
+	      entry->_ooo_engine_id= PORT_READ(in_READ_QUEUE_IN_OOO_ENGINE_ID);
+	    if(_param->_have_port_rob_id       )
+	      entry->_rob_id       = PORT_READ(in_READ_QUEUE_IN_ROB_ID      );
 	    entry->_operation    = PORT_READ(in_READ_QUEUE_IN_OPERATION   );
 	    entry->_type         = PORT_READ(in_READ_QUEUE_IN_TYPE        );
@@ -83,5 +87,5 @@
 	      {
 		log_printf(TRACE,Read_queue,FUNCTION,"     * queue was    empty");
-		nead_new_head = true;
+		need_new_head = true;
 	      }
 	  }
@@ -100,5 +104,5 @@
 	      {
 		log_printf(TRACE,Read_queue,FUNCTION,"     * queue was not empty");
-		nead_new_head = true;
+		need_new_head = true;
 	      }
 	  }
@@ -119,5 +123,5 @@
 	  }
 
-	if (nead_new_head == true)
+	if (need_new_head == true)
 	  {
 	    log_printf(TRACE,Read_queue,FUNCTION," * new head");
Index: /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_vhdl.cpp
===================================================================
--- /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_vhdl.cpp	(revision 67)
+++ /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_vhdl.cpp	(revision 68)
@@ -8,4 +8,5 @@
 
 #include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/include/Read_queue.h"
+#include "Behavioural/Generic/Queue/include/Queue.h"
 #include "Behavioural/include/Vhdl.h"
 
@@ -23,4 +24,31 @@
   {
     log_printf(FUNC,Read_queue,"vhdl","Begin");
+    
+    //----- Queue -----
+    
+    morpheo::behavioural::generic::queue::Parameters * param_queue;
+    morpheo::behavioural::generic::queue::Queue      * queue;
+    
+    param_queue = new morpheo::behavioural::generic::queue::Parameters
+      (_param->_size_queue,
+       _param->_size_internal_queue
+       );
+    
+    string queue_name = _name + "_queue";
+    queue = new morpheo::behavioural::generic::queue::Queue
+      (queue_name.c_str()
+#ifdef STATISTICS
+       ,NULL
+#endif
+       ,param_queue
+       ,USE_VHDL);
+    
+    _component->set_component(queue->_component
+#ifdef POSITION
+                              , 0, 0, 0, 0
+#endif
+                              , INSTANCE_LIBRARY
+                              );
+
 
     Vhdl * vhdl = new Vhdl (_name);
@@ -35,4 +63,6 @@
 
     delete vhdl;
+    delete param_queue;
+    delete queue;
 
     log_printf(FUNC,Read_queue,"vhdl","End");
Index: /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_vhdl_body.cpp
===================================================================
--- /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_vhdl_body.cpp	(revision 67)
+++ /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_vhdl_body.cpp	(revision 68)
@@ -23,4 +23,425 @@
     log_printf(FUNC,Read_queue,"vhdl_body","Begin");
     vhdl->set_body ("");
+    vhdl->set_body("");
+    vhdl->set_body("-----------------------------------");
+    vhdl->set_body("-- Instance queue                  ");
+    vhdl->set_body("-----------------------------------");
+    vhdl->set_body("");
+
+    vhdl->set_body("instance_"+_name+"_queue : "+_name+"_queue");
+    vhdl->set_body("port map (");
+    vhdl->set_body("\t  in_CLOCK       \t=>\t      in_CLOCK ");
+    vhdl->set_body("\t, in_NRESET      \t=>\t      in_NRESET");
+    vhdl->set_body("\t, in_INSERT_VAL  \t=>\tinternal_QUEUE_INSERT_VAL");
+    vhdl->set_body("\t,out_INSERT_ACK  \t=>\tinternal_QUEUE_INSERT_ACK");
+    vhdl->set_body("\t, in_INSERT_DATA \t=>\tinternal_QUEUE_INSERT_DATA");
+    vhdl->set_body("\t,out_RETIRE_VAL  \t=>\tinternal_QUEUE_RETIRE_VAL");
+    vhdl->set_body("\t, in_RETIRE_ACK  \t=>\tinternal_QUEUE_RETIRE_ACK");
+    vhdl->set_body("\t,out_RETIRE_DATA \t=>\tinternal_QUEUE_RETIRE_DATA");
+    vhdl->set_body(");");
+
+    vhdl->set_body("");
+    vhdl->set_body("-----------------------------------");
+    vhdl->set_body("-- Queue_data                      ");
+    vhdl->set_body("-----------------------------------");
+    vhdl->set_body("");
+    
+    uint32_t min = 0;
+    uint32_t max;
+
+    if(_param->_have_port_context_id   )
+      {
+	max = min-1+_param->_size_context_id;
+	vhdl->set_body ("internal_QUEUE_INSERT_DATA"+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_READ_QUEUE_IN_CONTEXT_ID;");
+	min = max+1;
+      }
+    if(_param->_have_port_front_end_id   )
+      {
+	max = min-1+_param->_size_front_end_id;
+	vhdl->set_body ("internal_QUEUE_INSERT_DATA"+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_READ_QUEUE_IN_FRONT_END_ID;");
+	min = max+1;
+      }
+    if(_param->_have_port_ooo_engine_id   )
+      {
+	max = min-1+_param->_size_ooo_engine_id;
+	vhdl->set_body ("internal_QUEUE_INSERT_DATA"+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_READ_QUEUE_IN_OOO_ENGINE_ID;");
+	min = max+1;
+      }
+    if(_param->_have_port_rob_id   )
+      {
+	max = min-1+_param->_size_rob_id;
+	vhdl->set_body ("internal_QUEUE_INSERT_DATA"+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_READ_QUEUE_IN_ROB_ID;");
+	min = max+1;
+      }
+
+    max = min-1+_param->_size_operation;
+    vhdl->set_body ("internal_QUEUE_INSERT_DATA"+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_READ_QUEUE_IN_OPERATION;");
+    min = max+1;
+
+    max = min-1+_param->_size_type;
+    vhdl->set_body ("internal_QUEUE_INSERT_DATA"+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_READ_QUEUE_IN_TYPE;");
+    min = max+1;
+
+    max = min;
+    vhdl->set_body ("internal_QUEUE_INSERT_DATA"+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_READ_QUEUE_IN_HAS_IMMEDIAT;");
+    min = max+1;
+
+    max = min-1+_param->_size_general_data;
+    vhdl->set_body ("internal_QUEUE_INSERT_DATA"+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_READ_QUEUE_IN_IMMEDIAT;");
+    min = max+1;
+
+    max = min;
+    vhdl->set_body ("internal_QUEUE_INSERT_DATA"+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_READ_QUEUE_IN_READ_RA;");
+    min = max+1;
+
+    max = min-1+_param->_size_general_register;
+    vhdl->set_body ("internal_QUEUE_INSERT_DATA"+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_READ_QUEUE_IN_NUM_REG_RA;");
+    min = max+1;
+
+    max = min;
+    vhdl->set_body ("internal_QUEUE_INSERT_DATA"+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_READ_QUEUE_IN_READ_RB;");
+    min = max+1;
+
+    max = min-1+_param->_size_general_register;
+    vhdl->set_body ("internal_QUEUE_INSERT_DATA"+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_READ_QUEUE_IN_NUM_REG_RB;");
+    min = max+1;
+
+    max = min;
+    vhdl->set_body ("internal_QUEUE_INSERT_DATA"+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_READ_QUEUE_IN_READ_RC;");
+    min = max+1;
+
+    max = min-1+_param->_size_special_register;
+    vhdl->set_body ("internal_QUEUE_INSERT_DATA"+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_READ_QUEUE_IN_NUM_REG_RC;");
+    min = max+1;
+
+    max = min;
+    vhdl->set_body ("internal_QUEUE_INSERT_DATA"+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_READ_QUEUE_IN_WRITE_RD;");
+    min = max+1;
+
+    max = min-1+_param->_size_general_register;
+    vhdl->set_body ("internal_QUEUE_INSERT_DATA"+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_READ_QUEUE_IN_NUM_REG_RD;");
+    min = max+1;
+
+    max = min;
+    vhdl->set_body ("internal_QUEUE_INSERT_DATA"+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_READ_QUEUE_IN_WRITE_RE;");
+    min = max+1;
+
+    max = min-1+_param->_size_special_register;
+    vhdl->set_body ("internal_QUEUE_INSERT_DATA"+std_logic_range(_param->_size_internal_queue,max,min)+" <= in_READ_QUEUE_IN_NUM_REG_RE;");
+    min = max+1;
+
+    vhdl->set_body ("internal_QUEUE_RETIRE_ACK <= internal_READ_QUEUE_OUT_VAL and in_READ_QUEUE_OUT_ACK;");
+
+    vhdl->set_body("");
+    vhdl->set_body("-----------------------------------");
+    vhdl->set_body("-- Interface read");
+    vhdl->set_body("-----------------------------------");
+    vhdl->set_body("");
+    vhdl->set_body("-- GPR");
+    vhdl->set_body ("out_GPR_READ_0_VAL           <= internal_QUEUE_RETIRE_VAL and internal_READ_RA_VAL;");
+    vhdl->set_body ("out_GPR_READ_1_VAL           <= internal_QUEUE_RETIRE_VAL and internal_READ_RB_VAL;");
+    if(_param->_have_port_ooo_engine_id)
+      {
+	vhdl->set_body ("out_GPR_READ_0_OOO_ENGINE_ID <= internal_OOO_ENGINE_ID;");
+	vhdl->set_body ("out_GPR_READ_1_OOO_ENGINE_ID <= internal_OOO_ENGINE_ID;");
+      }
+    vhdl->set_body ("out_GPR_READ_0_NUM_REG       <= internal_NUM_REG_RA;");
+    vhdl->set_body ("out_GPR_READ_1_NUM_REG       <= internal_NUM_REG_RB;");
+    vhdl->set_body("");
+    
+    vhdl->set_body("-- SPR");
+    vhdl->set_body ("out_SPR_READ_0_VAL           <= internal_QUEUE_RETIRE_VAL and internal_READ_RC_VAL;");
+    if(_param->_have_port_ooo_engine_id)
+      {
+	vhdl->set_body ("out_SPR_READ_0_OOO_ENGINE_ID <= internal_OOO_ENGINE_ID;");
+      }
+    vhdl->set_body ("out_SPR_READ_0_NUM_REG       <= internal_NUM_REG_RC;");
+
+    vhdl->set_body("");
+    vhdl->set_body("-----------------------------------");
+    vhdl->set_body("-- Interface read_queue_out");
+    vhdl->set_body("-----------------------------------");
+    vhdl->set_body("");
+    
+    if(_param->_have_port_context_id   )
+      vhdl->set_body ("out_READ_QUEUE_OUT_CONTEXT_ID    <= internal_CONTEXT_ID   ;");
+    if(_param->_have_port_front_end_id   )
+      vhdl->set_body ("out_READ_QUEUE_OUT_FRONT_END_ID  <= internal_FRONT_END_ID ;");
+    if(_param->_have_port_ooo_engine_id   )
+      vhdl->set_body ("out_READ_QUEUE_OUT_OOO_ENGINE_ID <= internal_OOO_ENGINE_ID;");
+    if(_param->_have_port_rob_id   )
+      vhdl->set_body ("out_READ_QUEUE_OUT_ROB_ID        <= internal_ROB_ID       ;");
+    vhdl->set_body ("out_READ_QUEUE_OUT_OPERATION     <= internal_OPERATION    ;");
+    vhdl->set_body ("out_READ_QUEUE_OUT_TYPE          <= internal_TYPE         ;");
+    vhdl->set_body ("out_READ_QUEUE_OUT_HAS_IMMEDIAT  <= internal_HAS_IMMEDIAT ;");
+    vhdl->set_body ("out_READ_QUEUE_OUT_IMMEDIAT      <= internal_IMMEDIAT     ;");
+    vhdl->set_body ("out_READ_QUEUE_OUT_READ_RA       <= internal_READ_RA      ;");
+    vhdl->set_body ("out_READ_QUEUE_OUT_NUM_REG_RA    <= internal_NUM_REG_RA   ;");
+    vhdl->set_body ("out_READ_QUEUE_OUT_DATA_RA_VAL   <= internal_NEXT_DATA_RA_VAL;");
+    vhdl->set_body ("out_READ_QUEUE_OUT_DATA_RA       <= internal_NEXT_DATA_RA ;");
+    vhdl->set_body ("out_READ_QUEUE_OUT_READ_RB       <= internal_READ_RB      ;");
+    vhdl->set_body ("out_READ_QUEUE_OUT_NUM_REG_RB    <= internal_NUM_REG_RB   ;");
+    vhdl->set_body ("out_READ_QUEUE_OUT_DATA_RB_VAL   <= internal_NEXT_DATA_RB_VAL;");
+    vhdl->set_body ("out_READ_QUEUE_OUT_DATA_RB       <= internal_NEXT_DATA_RB ;");
+    vhdl->set_body ("out_READ_QUEUE_OUT_READ_RC       <= internal_READ_RC      ;");
+    vhdl->set_body ("out_READ_QUEUE_OUT_NUM_REG_RC    <= internal_NUM_REG_RC   ;");
+    vhdl->set_body ("out_READ_QUEUE_OUT_DATA_RC_VAL   <= internal_NEXT_DATA_RC_VAL;");
+    vhdl->set_body ("out_READ_QUEUE_OUT_DATA_RC       <= internal_NEXT_DATA_RC ;");
+    vhdl->set_body ("out_READ_QUEUE_OUT_WRITE_RD      <= internal_WRITE_RD     ;");
+    vhdl->set_body ("out_READ_QUEUE_OUT_NUM_REG_RD    <= internal_NUM_REG_RD   ;");
+    vhdl->set_body ("out_READ_QUEUE_OUT_WRITE_RE      <= internal_WRITE_RE     ;");
+    vhdl->set_body ("out_READ_QUEUE_OUT_NUM_REG_RE    <= internal_NUM_REG_RE   ;");
+    
+    vhdl->set_body("");
+    vhdl->set_body("-----------------------------------");
+    vhdl->set_body("-- next reg update");
+    vhdl->set_body("-----------------------------------");
+    vhdl->set_body("");
+    vhdl->set_body("-- read_rx_val - 1 : must access at the registerFile (after access, is set at 0)");
+    
+    {
+      vhdl->set_body("");
+      vhdl->set_body("internal_NEXT_READ_RA_VAL <=");
+      vhdl->set_body("\t'0' when");
+      // bypass
+      vhdl->set_body("\t\t-- check bypass");
+      for (int32_t i=_param->_nb_gpr_write-1; i>=0 ; i--)
+	{
+	  string cmp;
+	  
+	  if (_param->_have_port_ooo_engine_id)
+	    cmp = "and (in_GPR_WRITE_"+toString(i)+"_OOO_ENGINE_ID=internal_OOO_ENGINE_ID) ";
+	  else
+	    cmp = "";
+	  
+	  vhdl->set_body("\t\t((in_GPR_WRITE_"+toString(i)+"_VAL='1') "+cmp+"and (internal_NUM_REG_RA=in_GPR_WRITE_"+toString(i)+"_NUM_REG)) or");
+	}
+      vhdl->set_body("\t\tfalse else");
+      vhdl->set_body("\tinternal_READ_RA_VAL and not in_GPR_READ_0_ACK;");
+    }
+    {
+      vhdl->set_body("");
+      vhdl->set_body("internal_NEXT_READ_RB_VAL <=");
+      vhdl->set_body("\t'0' when");
+      // bypass
+      vhdl->set_body("\t\t-- check bypass");
+      for (int32_t i=_param->_nb_gpr_write-1; i>=0 ; i--)
+	{
+	  string cmp;
+	  
+	  if (_param->_have_port_ooo_engine_id)
+	    cmp = "and (in_GPR_WRITE_"+toString(i)+"_OOO_ENGINE_ID=internal_OOO_ENGINE_ID) ";
+	  else
+	    cmp = "";
+	  
+	  vhdl->set_body("\t\t((in_GPR_WRITE_"+toString(i)+"_VAL='1') "+cmp+"and (internal_NUM_REG_RB=in_GPR_WRITE_"+toString(i)+"_NUM_REG)) or");
+	}
+      vhdl->set_body("\t\tfalse else");
+      vhdl->set_body("\tinternal_READ_RB_VAL and not in_GPR_READ_1_ACK;");
+    }
+    {
+      vhdl->set_body("");
+      vhdl->set_body("internal_NEXT_READ_RC_VAL <=");
+      vhdl->set_body("\t'0' when");
+      // bypass
+      vhdl->set_body("\t\t-- check bypass");
+      for (int32_t i=_param->_nb_spr_write-1; i>=0 ; i--)
+	{
+	  string cmp;
+	  
+	  if (_param->_have_port_ooo_engine_id)
+	    cmp = "and (in_SPR_WRITE_"+toString(i)+"_OOO_ENGINE_ID=internal_OOO_ENGINE_ID) ";
+	  else
+	    cmp = "";
+	  
+	  vhdl->set_body("\t\t((in_SPR_WRITE_"+toString(i)+"_VAL='1') "+cmp+"and (internal_NUM_REG_RC=in_SPR_WRITE_"+toString(i)+"_NUM_REG)) or");
+	}
+      vhdl->set_body("\t\tfalse else");
+      vhdl->set_body("\tinternal_READ_RC_VAL and not in_SPR_READ_0_ACK;");
+    }
+    {
+      vhdl->set_body("");
+      vhdl->set_body("internal_READ_QUEUE_OUT_VAL <= not internal_NEXT_READ_RA_VAL and not internal_NEXT_READ_RB_VAL and not internal_NEXT_READ_RC_VAL;");
+      vhdl->set_body("     out_READ_QUEUE_OUT_VAL <= internal_READ_QUEUE_OUT_VAL and internal_QUEUE_RETIRE_VAL;");
+      
+    }
+    
+    vhdl->set_body("");
+    vhdl->set_body("-- data_rx_val - 1 : the read of registerFile is valid");
+    
+    {
+      vhdl->set_body("");
+      vhdl->set_body("internal_NEXT_DATA_RA_VAL <=");
+      vhdl->set_body("\t'1' when");
+      // bypass
+      vhdl->set_body("\t\t-- check bypass");
+      for (int32_t i=_param->_nb_gpr_write-1; i>=0 ; i--)
+	{
+	  string cmp;
+	
+	  if (_param->_have_port_ooo_engine_id)
+	    cmp = "and (in_GPR_WRITE_"+toString(i)+"_OOO_ENGINE_ID=internal_OOO_ENGINE_ID) ";
+	  else
+	    cmp = "";
+	  
+	  vhdl->set_body("\t\t((in_GPR_WRITE_"+toString(i)+"_VAL='1') "+cmp+"and (internal_NUM_REG_RA=in_GPR_WRITE_"+toString(i)+"_NUM_REG)) or");
+	}
+      vhdl->set_body("\t\tfalse else");
+      vhdl->set_body("\tinternal_DATA_RA_VAL or (internal_READ_RA_VAL and in_GPR_READ_0_ACK and in_GPR_READ_0_DATA_VAL);");
+    }
+    {
+      vhdl->set_body("");
+      vhdl->set_body("internal_NEXT_DATA_RB_VAL <=");
+      vhdl->set_body("\t'1' when");
+      // bypass
+      vhdl->set_body("\t\t-- check bypass");
+      for (int32_t i=_param->_nb_gpr_write-1; i>=0 ; i--)
+	{
+	  string cmp;
+	  
+	  if (_param->_have_port_ooo_engine_id)
+	    cmp = "and (in_GPR_WRITE_"+toString(i)+"_OOO_ENGINE_ID=internal_OOO_ENGINE_ID) ";
+	else
+	  cmp = "";
+	  
+	  vhdl->set_body("\t\t((in_GPR_WRITE_"+toString(i)+"_VAL='1') "+cmp+"and (internal_NUM_REG_RB=in_GPR_WRITE_"+toString(i)+"_NUM_REG)) or");
+	}
+      vhdl->set_body("\t\tfalse else");
+      vhdl->set_body("\tinternal_DATA_RB_VAL or (internal_READ_RB_VAL and in_GPR_READ_1_ACK and in_GPR_READ_1_DATA_VAL);");
+    }
+    {
+      vhdl->set_body("");
+      vhdl->set_body("internal_NEXT_DATA_RC_VAL <=");
+      vhdl->set_body("\t'1' when");
+      // bypass
+      vhdl->set_body("\t\t-- check bypass");
+      for (int32_t i=_param->_nb_spr_write-1; i>=0 ; i--)
+	{
+	  string cmp;
+	  
+	  if (_param->_have_port_ooo_engine_id)
+	    cmp = "and (in_SPR_WRITE_"+toString(i)+"_OOO_ENGINE_ID=internal_OOO_ENGINE_ID) ";
+	  else
+	    cmp = "";
+	  
+	  vhdl->set_body("\t\t((in_SPR_WRITE_"+toString(i)+"_VAL='1') "+cmp+"and (internal_NUM_REG_RC=in_SPR_WRITE_"+toString(i)+"_NUM_REG)) or");
+	}
+      vhdl->set_body("\t\tfalse else");
+      vhdl->set_body("\tinternal_DATA_RC_VAL or (internal_READ_RC_VAL and in_SPR_READ_0_ACK and in_SPR_READ_0_DATA_VAL);");
+    }
+    
+    vhdl->set_body("");
+    vhdl->set_body("-- data_rx - data read");
+    {
+      vhdl->set_body("");
+      vhdl->set_body("internal_NEXT_DATA_RA <=");
+#ifdef SYSTEMC_VHDL_COMPATIBILITY
+      vhdl->set_body("\t"+std_logic_others(_param->_size_general_data,0)+" when internal_READ_RA='0' else");
+#endif
+      // bypass
+      vhdl->set_body("\t\t-- check bypass");
+      for (int32_t i=_param->_nb_gpr_write-1; i>=0 ; i--)
+	{
+	  string cmp;
+	
+	  if (_param->_have_port_ooo_engine_id)
+	    cmp = "and (in_GPR_WRITE_"+toString(i)+"_OOO_ENGINE_ID=internal_OOO_ENGINE_ID) ";
+	  else
+	    cmp = "";
+	  
+	  vhdl->set_body("\tin_GPR_WRITE_"+toString(i)+"_DATA when ((in_GPR_WRITE_"+toString(i)+"_VAL='1') "+cmp+"and (internal_NUM_REG_RA=in_GPR_WRITE_"+toString(i)+"_NUM_REG)) else");
+	}
+      vhdl->set_body("\treg_DATA_RA when (internal_DATA_RA_VAL='1') else");
+      vhdl->set_body("\tin_GPR_READ_0_DATA;");
+    }
+    {
+      vhdl->set_body("");
+      vhdl->set_body("internal_NEXT_DATA_RB <=");
+#ifdef SYSTEMC_VHDL_COMPATIBILITY
+      vhdl->set_body("\t"+std_logic_others(_param->_size_general_data,0)+" when internal_READ_RB='0' else");
+#endif
+      // bypass
+      vhdl->set_body("\t\t-- check bypass");
+      for (int32_t i=_param->_nb_gpr_write-1; i>=0 ; i--)
+	{
+	  string cmp;
+	
+	  if (_param->_have_port_ooo_engine_id)
+	    cmp = "and (in_GPR_WRITE_"+toString(i)+"_OOO_ENGINE_ID=internal_OOO_ENGINE_ID) ";
+	  else
+	    cmp = "";
+	  
+	  vhdl->set_body("\tin_GPR_WRITE_"+toString(i)+"_DATA when ((in_GPR_WRITE_"+toString(i)+"_VAL='1') "+cmp+"and (internal_NUM_REG_RB=in_GPR_WRITE_"+toString(i)+"_NUM_REG)) else");
+	}
+      vhdl->set_body("\treg_DATA_RB when (internal_DATA_RB_VAL='1') else");
+      vhdl->set_body("\tin_GPR_READ_1_DATA;");
+    }
+    {
+      vhdl->set_body("");
+      vhdl->set_body("internal_NEXT_DATA_RC <=");
+#ifdef SYSTEMC_VHDL_COMPATIBILITY
+      vhdl->set_body("\t"+std_logic_others(_param->_size_special_data,0)+" when internal_READ_RC='0' else");
+#endif
+      // bypass
+      vhdl->set_body("\t\t-- check bypass");
+      for (int32_t i=_param->_nb_spr_write-1; i>=0 ; i--)
+	{
+	  string cmp;
+	
+	  if (_param->_have_port_ooo_engine_id)
+	    cmp = "and (in_SPR_WRITE_"+toString(i)+"_OOO_ENGINE_ID=internal_OOO_ENGINE_ID) ";
+	  else
+	    cmp = "";
+	  
+	  vhdl->set_body("\tin_SPR_WRITE_"+toString(i)+"_DATA when ((in_SPR_WRITE_"+toString(i)+"_VAL='1') "+cmp+"and (in_SPR_WRITE_"+toString(i)+"_NUM_REG=internal_NUM_REG_RC)) else");
+	}
+      vhdl->set_body("\treg_DATA_RC when (internal_DATA_RC_VAL='1') else");
+      vhdl->set_body("\tin_SPR_READ_0_DATA;");
+
+    vhdl->set_body("");
+    vhdl->set_body("-----------------------------------");
+    vhdl->set_body("-- transition");
+    vhdl->set_body("-----------------------------------");
+    vhdl->set_body("");
+    vhdl->set_body("-- need a new head if :");
+    vhdl->set_body("--   * queue is empty");
+    vhdl->set_body("--   * pop with queue");
+    vhdl->set_body ("internal_NEXT_NEED_NEW_HEAD <= not internal_QUEUE_RETIRE_VAL or (internal_QUEUE_RETIRE_VAL and internal_QUEUE_RETIRE_ACK);");
+
+    vhdl->set_body ("internal_READ_RA_VAL   <=     internal_READ_RA when reg_NEED_NEW_HEAD='1' else reg_READ_RA_VAL;");
+    vhdl->set_body ("internal_READ_RB_VAL   <=     internal_READ_RB when reg_NEED_NEW_HEAD='1' else reg_READ_RB_VAL;");
+    vhdl->set_body ("internal_READ_RC_VAL   <=     internal_READ_RC when reg_NEED_NEW_HEAD='1' else reg_READ_RC_VAL;");
+    vhdl->set_body ("internal_DATA_RA_VAL   <= not internal_READ_RA when reg_NEED_NEW_HEAD='1' else reg_DATA_RA_VAL;");
+    vhdl->set_body ("internal_DATA_RB_VAL   <= not internal_READ_RB when reg_NEED_NEW_HEAD='1' else reg_DATA_RB_VAL;");
+    vhdl->set_body ("internal_DATA_RC_VAL   <= not internal_READ_RC when reg_NEED_NEW_HEAD='1' else reg_DATA_RC_VAL;");
+
+
+    vhdl->set_body ("");
+    vhdl->set_body ("transition: process (in_CLOCK)");
+    vhdl->set_body ("begin  -- process transition");
+    vhdl->set_body ("\tif in_CLOCK'event and in_CLOCK = '1' then");
+    vhdl->set_body ("");
+    vhdl->set_body ("\t\tif (in_NRESET = '0') then");    
+    vhdl->set_body ("\t\t\treg_NEED_NEW_HEAD <= '1';");
+    vhdl->set_body ("\t\telse");
+    vhdl->set_body ("\t\t\treg_NEED_NEW_HEAD <= internal_NEXT_NEED_NEW_HEAD;");
+    vhdl->set_body ("\t\t\treg_READ_RA_VAL   <= internal_NEXT_READ_RA_VAL;");
+    vhdl->set_body ("\t\t\treg_READ_RB_VAL   <= internal_NEXT_READ_RB_VAL;");
+    vhdl->set_body ("\t\t\treg_READ_RC_VAL   <= internal_NEXT_READ_RC_VAL;");
+    vhdl->set_body ("\t\t\treg_DATA_RA_VAL   <= internal_NEXT_DATA_RA_VAL;");
+    vhdl->set_body ("\t\t\treg_DATA_RB_VAL   <= internal_NEXT_DATA_RB_VAL;");
+    vhdl->set_body ("\t\t\treg_DATA_RC_VAL   <= internal_NEXT_DATA_RC_VAL;");
+    vhdl->set_body ("\t\t\treg_DATA_RA       <= internal_NEXT_DATA_RA    ;");
+    vhdl->set_body ("\t\t\treg_DATA_RB       <= internal_NEXT_DATA_RB    ;");
+    vhdl->set_body ("\t\t\treg_DATA_RC       <= internal_NEXT_DATA_RC    ;");
+
+    vhdl->set_body ("\t\tend if;");
+    vhdl->set_body ("");
+    vhdl->set_body ("\tend if;");
+    vhdl->set_body ("end process transition;");
+
+    }
+
+
     log_printf(FUNC,Read_queue,"vhdl_body","End");
   };
Index: /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_vhdl_declaration.cpp
===================================================================
--- /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_vhdl_declaration.cpp	(revision 67)
+++ /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_vhdl_declaration.cpp	(revision 68)
@@ -22,4 +22,148 @@
   {
     log_printf(FUNC,Read_queue,"vhdl_declaration","Begin");
+
+
+    vhdl->set_signal ("internal_READ_QUEUE_OUT_VAL   ",1);
+
+    vhdl->set_signal ("reg_NEED_NEW_HEAD             ",1);
+    vhdl->set_signal ("reg_READ_RA_VAL               ",1);
+    vhdl->set_signal ("reg_READ_RB_VAL               ",1);
+    vhdl->set_signal ("reg_READ_RC_VAL               ",1);
+    vhdl->set_signal ("reg_DATA_RA_VAL               ",1);
+    vhdl->set_signal ("reg_DATA_RB_VAL               ",1);
+    vhdl->set_signal ("reg_DATA_RA                   ",_param->_size_general_data);
+    vhdl->set_signal ("reg_DATA_RB                   ",_param->_size_general_data);
+    vhdl->set_signal ("reg_DATA_RC_VAL               ",1);
+    vhdl->set_signal ("reg_DATA_RC                   ",_param->_size_special_data);
+
+    vhdl->set_signal ("internal_NEXT_NEED_NEW_HEAD   ",1);
+    vhdl->set_signal ("internal_NEXT_READ_RA_VAL     ",1);
+    vhdl->set_signal ("internal_NEXT_READ_RB_VAL     ",1);
+    vhdl->set_signal ("internal_NEXT_READ_RC_VAL     ",1);
+    vhdl->set_signal ("internal_NEXT_DATA_RA_VAL     ",1);
+    vhdl->set_signal ("internal_NEXT_DATA_RB_VAL     ",1);
+    vhdl->set_signal ("internal_NEXT_DATA_RA         ",_param->_size_general_data);
+    vhdl->set_signal ("internal_NEXT_DATA_RB         ",_param->_size_general_data);
+    vhdl->set_signal ("internal_NEXT_DATA_RC_VAL     ",1);
+    vhdl->set_signal ("internal_NEXT_DATA_RC         ",_param->_size_special_data);
+
+    vhdl->set_signal ("internal_READ_RA_VAL          ",1);
+    vhdl->set_signal ("internal_READ_RB_VAL          ",1);
+    vhdl->set_signal ("internal_READ_RC_VAL          ",1);
+    vhdl->set_signal ("internal_DATA_RA_VAL          ",1);
+    vhdl->set_signal ("internal_DATA_RB_VAL          ",1);
+    vhdl->set_signal ("internal_DATA_RC_VAL          ",1);
+ 
+
+    vhdl->set_alias  ("internal_QUEUE_INSERT_VAL     ",std_logic(1)," in_READ_QUEUE_IN_VAL",std_logic_range(1));
+    vhdl->set_alias  ("internal_QUEUE_INSERT_ACK     ",std_logic(1),"out_READ_QUEUE_IN_ACK",std_logic_range(1));
+    vhdl->set_signal ("internal_QUEUE_INSERT_DATA    ",_param->_size_internal_queue);
+    vhdl->set_signal ("internal_QUEUE_RETIRE_DATA    ",_param->_size_internal_queue);
+    vhdl->set_signal ("internal_QUEUE_RETIRE_VAL     ",1);
+    vhdl->set_signal ("internal_QUEUE_RETIRE_ACK     ",1);
+    
+    uint32_t min = 0;
+    uint32_t max, size;
+    
+    if(_param->_have_port_context_id   )
+      {
+	size = _param->_size_context_id;
+	max = min-1+size;
+	vhdl->set_alias ("internal_CONTEXT_ID           ",std_logic(size),"internal_QUEUE_RETIRE_DATA",std_logic_range(_param->_size_internal_queue,max,min));
+	min = max+1;
+      }
+    if(_param->_have_port_front_end_id   )
+      {
+	size = _param->_size_front_end_id;
+	max = min-1+size;
+	vhdl->set_alias ("internal_FRONT_END_ID         ",std_logic(size),"internal_QUEUE_RETIRE_DATA",std_logic_range(_param->_size_internal_queue,max,min));
+	min = max+1;
+      }
+    if(_param->_have_port_ooo_engine_id   )
+      {
+	size = _param->_size_ooo_engine_id;
+	max = min-1+size;
+	vhdl->set_alias ("internal_OOO_ENGINE_ID        ",std_logic(size),"internal_QUEUE_RETIRE_DATA",std_logic_range(_param->_size_internal_queue,max,min));
+	min = max+1;
+      }
+    if(_param->_have_port_rob_id   )
+      {
+	size = _param->_size_rob_id;
+	max = min-1+size;
+	vhdl->set_alias ("internal_ROB_ID               ",std_logic(size),"internal_QUEUE_RETIRE_DATA",std_logic_range(_param->_size_internal_queue,max,min));
+	min = max+1;
+      }
+
+    size = _param->_size_operation;
+    max = min-1+size;
+    vhdl->set_alias ("internal_OPERATION            ",std_logic(size),"internal_QUEUE_RETIRE_DATA",std_logic_range(_param->_size_internal_queue,max,min));
+    min = max+1;
+
+    size = _param->_size_type;
+    max = min-1+size;
+    vhdl->set_alias ("internal_TYPE                 ",std_logic(size),"internal_QUEUE_RETIRE_DATA",std_logic_range(_param->_size_internal_queue,max,min));
+    min = max+1;
+
+    size = 1;
+    max = min-1+size;
+    vhdl->set_alias ("internal_HAS_IMMEDIAT         ",std_logic(size),"internal_QUEUE_RETIRE_DATA",std_logic_range(_param->_size_internal_queue,max,min));
+    min = max+1;
+
+    size = _param->_size_general_data;
+    max = min-1+size;
+    vhdl->set_alias ("internal_IMMEDIAT             ",std_logic(size),"internal_QUEUE_RETIRE_DATA",std_logic_range(_param->_size_internal_queue,max,min));
+    min = max+1;
+
+    size = 1;
+    max = min-1+size;
+    vhdl->set_alias ("internal_READ_RA              ",std_logic(size),"internal_QUEUE_RETIRE_DATA",std_logic_range(_param->_size_internal_queue,max,min));
+    min = max+1;
+
+    size = _param->_size_general_register;
+    max = min-1+size;
+    vhdl->set_alias ("internal_NUM_REG_RA           ",std_logic(size),"internal_QUEUE_RETIRE_DATA",std_logic_range(_param->_size_internal_queue,max,min));
+    min = max+1;
+
+    size = 1;
+    max = min-1+size;
+    vhdl->set_alias ("internal_READ_RB              ",std_logic(size),"internal_QUEUE_RETIRE_DATA",std_logic_range(_param->_size_internal_queue,max,min));
+    min = max+1;
+
+    size = _param->_size_general_register;
+    max = min-1+size;
+    vhdl->set_alias ("internal_NUM_REG_RB           ",std_logic(size),"internal_QUEUE_RETIRE_DATA",std_logic_range(_param->_size_internal_queue,max,min));
+    min = max+1;
+
+    size = 1;
+    max = min-1+size;
+    vhdl->set_alias ("internal_READ_RC              ",std_logic(size),"internal_QUEUE_RETIRE_DATA",std_logic_range(_param->_size_internal_queue,max,min));
+    min = max+1;
+
+    size = _param->_size_special_register;
+    max = min-1+size;
+    vhdl->set_alias ("internal_NUM_REG_RC           ",std_logic(size),"internal_QUEUE_RETIRE_DATA",std_logic_range(_param->_size_internal_queue,max,min));
+    min = max+1;
+
+    size = 1;
+    max = min-1+size;
+    vhdl->set_alias ("internal_WRITE_RD             ",std_logic(size),"internal_QUEUE_RETIRE_DATA",std_logic_range(_param->_size_internal_queue,max,min));
+    min = max+1;
+
+    size = _param->_size_general_register;
+    max = min-1+size;
+    vhdl->set_alias ("internal_NUM_REG_RD           ",std_logic(size),"internal_QUEUE_RETIRE_DATA",std_logic_range(_param->_size_internal_queue,max,min));
+    min = max+1;
+
+    size = 1;
+    max = min-1+size;
+    vhdl->set_alias ("internal_WRITE_RE             ",std_logic(size),"internal_QUEUE_RETIRE_DATA",std_logic_range(_param->_size_internal_queue,max,min));
+    min = max+1;
+
+    size = _param->_size_special_register;
+    max = min-1+size;
+    vhdl->set_alias ("internal_NUM_REG_RE           ",std_logic(size),"internal_QUEUE_RETIRE_DATA",std_logic_range(_param->_size_internal_queue,max,min));
+    min = max+1;
+
+
     log_printf(FUNC,Read_queue,"vhdl_declaration","End");
   };
Index: unk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/SelfTest/mkf.info
===================================================================
--- /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/SelfTest/mkf.info	(revision 67)
+++ 	(revision )
@@ -1,81 +1,0 @@
-
-# Register_unit_Glue_0
-target_dep	all	Register_unit_Glue_0.ngc
-target_dep	Register_unit_Glue_0.ngc	Register_unit_Glue_0.prj
-target_dep	Register_unit_Glue_0.prj	Register_unit_Glue_0.vhdl Register_unit_Glue_0_Pack.vhdl
-
-# Register_unit_Glue_1
-target_dep	all	Register_unit_Glue_1.ngc
-target_dep	Register_unit_Glue_1.ngc	Register_unit_Glue_1.prj
-target_dep	Register_unit_Glue_1.prj	Register_unit_Glue_1.vhdl Register_unit_Glue_10.vhdl Register_unit_Glue_10_Pack.vhdl Register_unit_Glue_11.vhdl Register_unit_Glue_11_Pack.vhdl Register_unit_Glue_12.vhdl Register_unit_Glue_12_Pack.vhdl Register_unit_Glue_13.vhdl Register_unit_Glue_13_Pack.vhdl Register_unit_Glue_14.vhdl Register_unit_Glue_14_Pack.vhdl Register_unit_Glue_15.vhdl Register_unit_Glue_15_Pack.vhdl Register_unit_Glue_1_Pack.vhdl
-
-# Register_unit_Glue_10
-target_dep	all	Register_unit_Glue_10.ngc
-target_dep	Register_unit_Glue_10.ngc	Register_unit_Glue_10.prj
-target_dep	Register_unit_Glue_10.prj	Register_unit_Glue_10.vhdl Register_unit_Glue_10_Pack.vhdl
-
-# Register_unit_Glue_11
-target_dep	all	Register_unit_Glue_11.ngc
-target_dep	Register_unit_Glue_11.ngc	Register_unit_Glue_11.prj
-target_dep	Register_unit_Glue_11.prj	Register_unit_Glue_11.vhdl Register_unit_Glue_11_Pack.vhdl
-
-# Register_unit_Glue_12
-target_dep	all	Register_unit_Glue_12.ngc
-target_dep	Register_unit_Glue_12.ngc	Register_unit_Glue_12.prj
-target_dep	Register_unit_Glue_12.prj	Register_unit_Glue_12.vhdl Register_unit_Glue_12_Pack.vhdl
-
-# Register_unit_Glue_13
-target_dep	all	Register_unit_Glue_13.ngc
-target_dep	Register_unit_Glue_13.ngc	Register_unit_Glue_13.prj
-target_dep	Register_unit_Glue_13.prj	Register_unit_Glue_13.vhdl Register_unit_Glue_13_Pack.vhdl
-
-# Register_unit_Glue_14
-target_dep	all	Register_unit_Glue_14.ngc
-target_dep	Register_unit_Glue_14.ngc	Register_unit_Glue_14.prj
-target_dep	Register_unit_Glue_14.prj	Register_unit_Glue_14.vhdl Register_unit_Glue_14_Pack.vhdl
-
-# Register_unit_Glue_15
-target_dep	all	Register_unit_Glue_15.ngc
-target_dep	Register_unit_Glue_15.ngc	Register_unit_Glue_15.prj
-target_dep	Register_unit_Glue_15.prj	Register_unit_Glue_15.vhdl Register_unit_Glue_15_Pack.vhdl
-
-# Register_unit_Glue_2
-target_dep	all	Register_unit_Glue_2.ngc
-target_dep	Register_unit_Glue_2.ngc	Register_unit_Glue_2.prj
-target_dep	Register_unit_Glue_2.prj	Register_unit_Glue_2.vhdl Register_unit_Glue_2_Pack.vhdl
-
-# Register_unit_Glue_3
-target_dep	all	Register_unit_Glue_3.ngc
-target_dep	Register_unit_Glue_3.ngc	Register_unit_Glue_3.prj
-target_dep	Register_unit_Glue_3.prj	Register_unit_Glue_3.vhdl Register_unit_Glue_3_Pack.vhdl
-
-# Register_unit_Glue_4
-target_dep	all	Register_unit_Glue_4.ngc
-target_dep	Register_unit_Glue_4.ngc	Register_unit_Glue_4.prj
-target_dep	Register_unit_Glue_4.prj	Register_unit_Glue_4.vhdl Register_unit_Glue_4_Pack.vhdl
-
-# Register_unit_Glue_5
-target_dep	all	Register_unit_Glue_5.ngc
-target_dep	Register_unit_Glue_5.ngc	Register_unit_Glue_5.prj
-target_dep	Register_unit_Glue_5.prj	Register_unit_Glue_5.vhdl Register_unit_Glue_5_Pack.vhdl
-
-# Register_unit_Glue_6
-target_dep	all	Register_unit_Glue_6.ngc
-target_dep	Register_unit_Glue_6.ngc	Register_unit_Glue_6.prj
-target_dep	Register_unit_Glue_6.prj	Register_unit_Glue_6.vhdl Register_unit_Glue_6_Pack.vhdl
-
-# Register_unit_Glue_7
-target_dep	all	Register_unit_Glue_7.ngc
-target_dep	Register_unit_Glue_7.ngc	Register_unit_Glue_7.prj
-target_dep	Register_unit_Glue_7.prj	Register_unit_Glue_7.vhdl Register_unit_Glue_7_Pack.vhdl
-
-# Register_unit_Glue_8
-target_dep	all	Register_unit_Glue_8.ngc
-target_dep	Register_unit_Glue_8.ngc	Register_unit_Glue_8.prj
-target_dep	Register_unit_Glue_8.prj	Register_unit_Glue_8.vhdl Register_unit_Glue_8_Pack.vhdl
-
-# Register_unit_Glue_9
-target_dep	all	Register_unit_Glue_9.ngc
-target_dep	Register_unit_Glue_9.ngc	Register_unit_Glue_9.prj
-target_dep	Register_unit_Glue_9.prj	Register_unit_Glue_9.vhdl Register_unit_Glue_9_Pack.vhdl
-
Index: unk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/SelfTest/mkf.info
===================================================================
--- /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/SelfTest/mkf.info	(revision 67)
+++ 	(revision )
@@ -1,6 +1,0 @@
-
-# Meta_Predictor_0
-target_dep	all	Meta_Predictor_0.ngc
-target_dep	Meta_Predictor_0.ngc	Meta_Predictor_0.prj
-target_dep	Meta_Predictor_0.prj	Meta_Predictor_0_Meta_Predictor_Glue_Pack.vhdl Meta_Predictor_0_Meta_Predictor_Glue.vhdl Meta_Predictor_0_Pack.vhdl Meta_Predictor_0_Two_Level_Branch_Predictor_2_Pack.vhdl Meta_Predictor_0_Two_Level_Branch_Predictor_2_Pattern_History_Table_Counter_Pack.vhdl Meta_Predictor_0_Two_Level_Branch_Predictor_2_Pattern_History_Table_Counter.vhdl Meta_Predictor_0_Two_Level_Branch_Predictor_2_Pattern_History_Table_Pack.vhdl Meta_Predictor_0_Two_Level_Branch_Predictor_2_Pattern_History_Table_RegisterFile_Pack.vhdl Meta_Predictor_0_Two_Level_Branch_Predictor_2_Pattern_History_Table_RegisterFile.vhdl Meta_Predictor_0_Two_Level_Branch_Predictor_2_Pattern_History_Table.vhdl Meta_Predictor_0_Two_Level_Branch_Predictor_2_Two_Level_Branch_Predictor_Glue_Pack.vhdl Meta_Predictor_0_Two_Level_Branch_Predictor_2_Two_Level_Branch_Predictor_Glue.vhdl Meta_Predictor_0_Two_Level_Branch_Predictor_2.vhdl Meta_Predictor_0.vhdl
-
Index: unk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Two_Level_Branch_Predictor/Pattern_History_Table/SelfTest/mkf.info
===================================================================
--- /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Two_Level_Branch_Predictor/Pattern_History_Table/SelfTest/mkf.info	(revision 67)
+++ 	(revision )
@@ -1,6 +1,0 @@
-
-# Pattern_History_Table_0
-target_dep	all	Pattern_History_Table_0.ngc
-target_dep	Pattern_History_Table_0.ngc	Pattern_History_Table_0.prj
-target_dep	Pattern_History_Table_0.prj	Pattern_History_Table_0_Counter_Pack.vhdl Pattern_History_Table_0_Counter.vhdl Pattern_History_Table_0_Pack.vhdl Pattern_History_Table_0_RegisterFile_Pack.vhdl Pattern_History_Table_0_RegisterFile.vhdl Pattern_History_Table_0.vhdl
-
Index: unk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Counter/SelfTest/mkf.info
===================================================================
--- /trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Counter/SelfTest/mkf.info	(revision 67)
+++ 	(revision )
@@ -1,81 +1,0 @@
-
-# Counter_0
-target_dep	all	Counter_0.ngc
-target_dep	Counter_0.ngc	Counter_0.prj
-target_dep	Counter_0.prj	Counter_0_Pack.vhdl Counter_0.vhdl
-
-# Counter_10
-target_dep	all	Counter_10.ngc
-target_dep	Counter_10.ngc	Counter_10.prj
-target_dep	Counter_10.prj	Counter_10_Pack.vhdl Counter_10.vhdl
-
-# Counter_11
-target_dep	all	Counter_11.ngc
-target_dep	Counter_11.ngc	Counter_11.prj
-target_dep	Counter_11.prj	Counter_11_Pack.vhdl Counter_11.vhdl
-
-# Counter_12
-target_dep	all	Counter_12.ngc
-target_dep	Counter_12.ngc	Counter_12.prj
-target_dep	Counter_12.prj	Counter_12_Pack.vhdl Counter_12.vhdl
-
-# Counter_13
-target_dep	all	Counter_13.ngc
-target_dep	Counter_13.ngc	Counter_13.prj
-target_dep	Counter_13.prj	Counter_13_Pack.vhdl Counter_13.vhdl
-
-# Counter_14
-target_dep	all	Counter_14.ngc
-target_dep	Counter_14.ngc	Counter_14.prj
-target_dep	Counter_14.prj	Counter_14_Pack.vhdl Counter_14.vhdl
-
-# Counter_15
-target_dep	all	Counter_15.ngc
-target_dep	Counter_15.ngc	Counter_15.prj
-target_dep	Counter_15.prj	Counter_15_Pack.vhdl Counter_15.vhdl
-
-# Counter_1
-target_dep	all	Counter_1.ngc
-target_dep	Counter_1.ngc	Counter_1.prj
-target_dep	Counter_1.prj	Counter_10_Pack.vhdl Counter_10.vhdl Counter_11_Pack.vhdl Counter_11.vhdl Counter_12_Pack.vhdl Counter_12.vhdl Counter_13_Pack.vhdl Counter_13.vhdl Counter_14_Pack.vhdl Counter_14.vhdl Counter_15_Pack.vhdl Counter_15.vhdl Counter_1_Pack.vhdl Counter_1.vhdl
-
-# Counter_2
-target_dep	all	Counter_2.ngc
-target_dep	Counter_2.ngc	Counter_2.prj
-target_dep	Counter_2.prj	Counter_2_Pack.vhdl Counter_2.vhdl
-
-# Counter_3
-target_dep	all	Counter_3.ngc
-target_dep	Counter_3.ngc	Counter_3.prj
-target_dep	Counter_3.prj	Counter_3_Pack.vhdl Counter_3.vhdl
-
-# Counter_4
-target_dep	all	Counter_4.ngc
-target_dep	Counter_4.ngc	Counter_4.prj
-target_dep	Counter_4.prj	Counter_4_Pack.vhdl Counter_4.vhdl
-
-# Counter_5
-target_dep	all	Counter_5.ngc
-target_dep	Counter_5.ngc	Counter_5.prj
-target_dep	Counter_5.prj	Counter_5_Pack.vhdl Counter_5.vhdl
-
-# Counter_6
-target_dep	all	Counter_6.ngc
-target_dep	Counter_6.ngc	Counter_6.prj
-target_dep	Counter_6.prj	Counter_6_Pack.vhdl Counter_6.vhdl
-
-# Counter_7
-target_dep	all	Counter_7.ngc
-target_dep	Counter_7.ngc	Counter_7.prj
-target_dep	Counter_7.prj	Counter_7_Pack.vhdl Counter_7.vhdl
-
-# Counter_8
-target_dep	all	Counter_8.ngc
-target_dep	Counter_8.ngc	Counter_8.prj
-target_dep	Counter_8.prj	Counter_8_Pack.vhdl Counter_8.vhdl
-
-# Counter_9
-target_dep	all	Counter_9.ngc
-target_dep	Counter_9.ngc	Counter_9.prj
-target_dep	Counter_9.prj	Counter_9_Pack.vhdl Counter_9.vhdl
-
Index: /trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/SelfTest/config_size_queue_log2.cfg
===================================================================
--- /trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/SelfTest/config_size_queue_log2.cfg	(revision 68)
+++ /trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/SelfTest/config_size_queue_log2.cfg	(revision 68)
@@ -0,0 +1,3 @@
+Queue
+1	32 	*2	#_size_queue	
+32	32	*2	#_size_data 
Index: /trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/SelfTest/config_size_queue_no_log2.cfg
===================================================================
--- /trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/SelfTest/config_size_queue_no_log2.cfg	(revision 68)
+++ /trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/SelfTest/config_size_queue_no_log2.cfg	(revision 68)
@@ -0,0 +1,3 @@
+Queue
+3	256	*4	#_size_queue	
+32	32	*2	#_size_data 
Index: unk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/SelfTest/configuration.cfg
===================================================================
--- /trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/SelfTest/configuration.cfg	(revision 67)
+++ 	(revision )
@@ -1,3 +1,0 @@
-Queue
-3	256	*4	#_size_queue	
-32	32	*2	#_size_data 
Index: unk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/SelfTest/mkf.info
===================================================================
--- /trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/SelfTest/mkf.info	(revision 67)
+++ 	(revision )
@@ -1,26 +1,0 @@
-
-# Queue_0
-target_dep	all	Queue_0.ngc
-target_dep	Queue_0.ngc	Queue_0.prj
-target_dep	Queue_0.prj	Queue_0.vhdl Queue_0_Pack.vhdl
-
-# Queue_1
-target_dep	all	Queue_1.ngc
-target_dep	Queue_1.ngc	Queue_1.prj
-target_dep	Queue_1.prj	Queue_1.vhdl Queue_1_Pack.vhdl
-
-# Queue_2
-target_dep	all	Queue_2.ngc
-target_dep	Queue_2.ngc	Queue_2.prj
-target_dep	Queue_2.prj	Queue_2.vhdl Queue_2_Pack.vhdl
-
-# Queue_3
-target_dep	all	Queue_3.ngc
-target_dep	Queue_3.ngc	Queue_3.prj
-target_dep	Queue_3.prj	Queue_3.vhdl Queue_3_Pack.vhdl
-
-# Queue_4
-target_dep	all	Queue_4.ngc
-target_dep	Queue_4.ngc	Queue_4.prj
-target_dep	Queue_4.prj	Queue_4.vhdl Queue_4_Pack.vhdl
-
Index: /trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/src/Queue.cpp
===================================================================
--- /trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/src/Queue.cpp	(revision 67)
+++ /trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/src/Queue.cpp	(revision 68)
@@ -42,43 +42,50 @@
 
 #ifdef STATISTICS
-    log_printf(INFO,Queue,FUNCTION,"Allocation of statistics");
-
-    // Allocation of statistics
-    _stat = new Statistics (static_cast<string>(_name),
-			    param_statistics          ,
-			    param);
+    if (_usage & USE_STATISTICS)
+      {	
+	log_printf(INFO,Queue,FUNCTION,"Allocation of statistics");
+	
+	// Allocation of statistics
+	_stat = new Statistics (static_cast<string>(_name),
+				param_statistics          ,
+				param);
+      }
 #endif
 
 #ifdef VHDL
-    // generate the vhdl
-    log_printf(INFO,Queue,FUNCTION,"Generate the vhdl");
-
-    vhdl();
+    if (_usage & USE_VHDL)
+      {
+	// generate the vhdl
+	log_printf(INFO,Queue,FUNCTION,"Generate the vhdl");
+	
+	vhdl();
+      }
 #endif
 
 #ifdef SYSTEMC
-//#if defined(STATISTICS) or defined(VHDL_TESTBENCH)
-    log_printf(INFO,Queue,FUNCTION,"Method - transition");
-
-    SC_METHOD (transition);
-    dont_initialize ();
-    sensitive << (*(in_CLOCK)).pos();
-//#endif
-
+    if (_usage & USE_SYSTEMC)
+      {
+	log_printf(INFO,Queue,FUNCTION,"Method - transition");
+	
+	SC_METHOD (transition);
+	dont_initialize ();
+	sensitive << (*(in_CLOCK)).pos();
+	
 # ifdef SYSTEMCASS_SPECIFIC
-    // List dependency information
+	// List dependency information
 # endif    
-
-    log_printf(INFO,Queue,FUNCTION,"Method - genMoore");
-
-    SC_METHOD (genMoore);
-    dont_initialize ();
-    sensitive << (*(in_CLOCK)).neg();
-
+	
+	log_printf(INFO,Queue,FUNCTION,"Method - genMoore");
+	
+	SC_METHOD (genMoore);
+	dont_initialize ();
+	sensitive << (*(in_CLOCK)).neg();
+	
 # ifdef SYSTEMCASS_SPECIFIC
-    // List dependency information
+	// List dependency information
 # endif    
-
+	
 #endif
+      }
     log_printf(FUNC,Queue,FUNCTION,"End");
   };
@@ -91,8 +98,11 @@
 
 #ifdef STATISTICS
-    log_printf(INFO,Queue,FUNCTION,"Generate Statistics file");
-
-    _stat->generate_file(statistics(0));
-    delete _stat;
+    if (_usage & USE_STATISTICS)
+      {
+	log_printf(INFO,Queue,FUNCTION,"Generate Statistics file");
+	
+	_stat->generate_file(statistics(0));
+	delete _stat;
+      }
 #endif
 
Index: /trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/src/Queue_allocation.cpp
===================================================================
--- /trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/src/Queue_allocation.cpp	(revision 67)
+++ /trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/src/Queue_allocation.cpp	(revision 68)
@@ -23,5 +23,5 @@
     log_printf(FUNC,Queue,FUNCTION,"Begin");
 
-    _component   = new Component ();
+    _component   = new Component (_usage);
 
     Entity * entity = _component->set_entity (_name       
Index: /trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/src/Queue_deallocation.cpp
===================================================================
--- /trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/src/Queue_deallocation.cpp	(revision 67)
+++ /trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/src/Queue_deallocation.cpp	(revision 68)
@@ -20,15 +20,18 @@
     log_printf(FUNC,Queue,FUNCTION,"Begin");
 
-    delete    in_CLOCK ;
-    delete    in_NRESET;
-
-    delete    in_INSERT_VAL ;
-    delete   out_INSERT_ACK ;
-    delete    in_INSERT_DATA;
-
-    delete   out_RETIRE_VAL ;
-    delete    in_RETIRE_ACK ;
-    delete   out_RETIRE_DATA;
-
+    if (_usage & USE_SYSTEMC)
+      { 
+	delete    in_CLOCK ;
+	delete    in_NRESET;
+	
+	delete    in_INSERT_VAL ;
+	delete   out_INSERT_ACK ;
+	delete    in_INSERT_DATA;
+	
+	delete   out_RETIRE_VAL ;
+	delete    in_RETIRE_ACK ;
+	delete   out_RETIRE_DATA;
+	
+      }
     // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~    
     delete _queue_control;
Index: /trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/src/Queue_vhdl_body.cpp
===================================================================
--- /trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/src/Queue_vhdl_body.cpp	(revision 67)
+++ /trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/src/Queue_vhdl_body.cpp	(revision 68)
@@ -62,5 +62,9 @@
 	if (is_log2(_param->_size_queue) == false)
 	  vhdl->set_body ("\tconst_PTR_INIT when reg_PTR_READ  = const_PTR_MAX else");
-	vhdl->set_body ("\treg_PTR_READ +'1';");
+
+	if (_param->_size_queue > 2)
+	  vhdl->set_body ("\treg_PTR_READ +'1';");
+	else
+	  vhdl->set_body ("\tnot reg_PTR_READ;");
       }
     vhdl->set_body ("");
@@ -73,5 +77,8 @@
 	if (is_log2(_param->_size_queue) == false)
 	  vhdl->set_body ("\tconst_PTR_INIT when reg_PTR_WRITE = const_PTR_MAX else");
-	vhdl->set_body ("\treg_PTR_WRITE+'1';");
+	if (_param->_size_queue > 2)
+	  vhdl->set_body ("\treg_PTR_WRITE+'1';");
+	else
+	  vhdl->set_body ("\tnot reg_PTR_WRITE;");
       }
     vhdl->set_body ("");
Index: unk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/SelfTest/Makefile.mkf
===================================================================
--- /trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/SelfTest/Makefile.mkf	(revision 67)
+++ 	(revision )
@@ -1,110 +1,0 @@
-#
-# Makefile generated by MKF configure script
-#
-
-all: RegisterFile_Monolithic_0.ngc RegisterFile_Monolithic_1.ngc RegisterFile_Monolithic_2.ngc RegisterFile_Monolithic_3.ngc RegisterFile_Monolithic_4.ngc RegisterFile_Monolithic_5.ngc RegisterFile_Monolithic_6.ngc
-
-RegisterFile_Monolithic_0.ngc: RegisterFile_Monolithic_0.prj
-	echo run -keep_hierarchy yes -iobuf no -top RegisterFile_Monolithic_0 -ifn RegisterFile_Monolithic_0.prj -ofn RegisterFile_Monolithic_0.ngc -p xc5vlx330t-2ff1738 -ifmt mixed | xst
-
-RegisterFile_Monolithic_0.prj: RegisterFile_Monolithic_0_Pack.vhdl RegisterFile_Monolithic_0.vhdl
-	for i in RegisterFile_Monolithic_0_Pack.vhdl RegisterFile_Monolithic_0.vhdl ; do echo "vhdl work $$i" ; done > RegisterFile_Monolithic_0.prj
-
-RegisterFile_Monolithic_0_Pack.vhdl:
-
-RegisterFile_Monolithic_0.vhdl:
-
-RegisterFile_Monolithic_1.ngc: RegisterFile_Monolithic_1.prj
-	echo run -keep_hierarchy yes -iobuf no -top RegisterFile_Monolithic_1 -ifn RegisterFile_Monolithic_1.prj -ofn RegisterFile_Monolithic_1.ngc -p xc5vlx330t-2ff1738 -ifmt mixed | xst
-
-RegisterFile_Monolithic_1.prj: RegisterFile_Monolithic_1_Pack.vhdl RegisterFile_Monolithic_1.vhdl
-	for i in RegisterFile_Monolithic_1_Pack.vhdl RegisterFile_Monolithic_1.vhdl ; do echo "vhdl work $$i" ; done > RegisterFile_Monolithic_1.prj
-
-RegisterFile_Monolithic_1_Pack.vhdl:
-
-RegisterFile_Monolithic_1.vhdl:
-
-RegisterFile_Monolithic_2.ngc: RegisterFile_Monolithic_2.prj
-	echo run -keep_hierarchy yes -iobuf no -top RegisterFile_Monolithic_2 -ifn RegisterFile_Monolithic_2.prj -ofn RegisterFile_Monolithic_2.ngc -p xc5vlx330t-2ff1738 -ifmt mixed | xst
-
-RegisterFile_Monolithic_2.prj: RegisterFile_Monolithic_2_Pack.vhdl RegisterFile_Monolithic_2.vhdl
-	for i in RegisterFile_Monolithic_2_Pack.vhdl RegisterFile_Monolithic_2.vhdl ; do echo "vhdl work $$i" ; done > RegisterFile_Monolithic_2.prj
-
-RegisterFile_Monolithic_2_Pack.vhdl:
-
-RegisterFile_Monolithic_2.vhdl:
-
-RegisterFile_Monolithic_3.ngc: RegisterFile_Monolithic_3.prj
-	echo run -keep_hierarchy yes -iobuf no -top RegisterFile_Monolithic_3 -ifn RegisterFile_Monolithic_3.prj -ofn RegisterFile_Monolithic_3.ngc -p xc5vlx330t-2ff1738 -ifmt mixed | xst
-
-RegisterFile_Monolithic_3.prj: RegisterFile_Monolithic_3_Pack.vhdl RegisterFile_Monolithic_3.vhdl
-	for i in RegisterFile_Monolithic_3_Pack.vhdl RegisterFile_Monolithic_3.vhdl ; do echo "vhdl work $$i" ; done > RegisterFile_Monolithic_3.prj
-
-RegisterFile_Monolithic_3_Pack.vhdl:
-
-RegisterFile_Monolithic_3.vhdl:
-
-RegisterFile_Monolithic_4.ngc: RegisterFile_Monolithic_4.prj
-	echo run -keep_hierarchy yes -iobuf no -top RegisterFile_Monolithic_4 -ifn RegisterFile_Monolithic_4.prj -ofn RegisterFile_Monolithic_4.ngc -p xc5vlx330t-2ff1738 -ifmt mixed | xst
-
-RegisterFile_Monolithic_4.prj: RegisterFile_Monolithic_4_Pack.vhdl RegisterFile_Monolithic_4.vhdl
-	for i in RegisterFile_Monolithic_4_Pack.vhdl RegisterFile_Monolithic_4.vhdl ; do echo "vhdl work $$i" ; done > RegisterFile_Monolithic_4.prj
-
-RegisterFile_Monolithic_4_Pack.vhdl:
-
-RegisterFile_Monolithic_4.vhdl:
-
-RegisterFile_Monolithic_5.ngc: RegisterFile_Monolithic_5.prj
-	echo run -keep_hierarchy yes -iobuf no -top RegisterFile_Monolithic_5 -ifn RegisterFile_Monolithic_5.prj -ofn RegisterFile_Monolithic_5.ngc -p xc5vlx330t-2ff1738 -ifmt mixed | xst
-
-RegisterFile_Monolithic_5.prj: RegisterFile_Monolithic_5_Pack.vhdl RegisterFile_Monolithic_5.vhdl
-	for i in RegisterFile_Monolithic_5_Pack.vhdl RegisterFile_Monolithic_5.vhdl ; do echo "vhdl work $$i" ; done > RegisterFile_Monolithic_5.prj
-
-RegisterFile_Monolithic_5_Pack.vhdl:
-
-RegisterFile_Monolithic_5.vhdl:
-
-RegisterFile_Monolithic_6.ngc: RegisterFile_Monolithic_6.prj
-	echo run -keep_hierarchy yes -iobuf no -top RegisterFile_Monolithic_6 -ifn RegisterFile_Monolithic_6.prj -ofn RegisterFile_Monolithic_6.ngc -p xc5vlx330t-2ff1738 -ifmt mixed | xst
-
-RegisterFile_Monolithic_6.prj: RegisterFile_Monolithic_6_Pack.vhdl RegisterFile_Monolithic_6.vhdl
-	for i in RegisterFile_Monolithic_6_Pack.vhdl RegisterFile_Monolithic_6.vhdl ; do echo "vhdl work $$i" ; done > RegisterFile_Monolithic_6.prj
-
-RegisterFile_Monolithic_6_Pack.vhdl:
-
-RegisterFile_Monolithic_6.vhdl:
-
-clean:
-	rm -f RegisterFile_Monolithic_0.ngc
-	rm -f RegisterFile_Monolithic_0.lso
-	rm -f -r xst
-	rm -f RegisterFile_Monolithic_0.prj
-	rm -f RegisterFile_Monolithic_1.ngc
-	rm -f RegisterFile_Monolithic_1.lso
-	rm -f -r xst
-	rm -f RegisterFile_Monolithic_1.prj
-	rm -f RegisterFile_Monolithic_2.ngc
-	rm -f RegisterFile_Monolithic_2.lso
-	rm -f -r xst
-	rm -f RegisterFile_Monolithic_2.prj
-	rm -f RegisterFile_Monolithic_3.ngc
-	rm -f RegisterFile_Monolithic_3.lso
-	rm -f -r xst
-	rm -f RegisterFile_Monolithic_3.prj
-	rm -f RegisterFile_Monolithic_4.ngc
-	rm -f RegisterFile_Monolithic_4.lso
-	rm -f -r xst
-	rm -f RegisterFile_Monolithic_4.prj
-	rm -f RegisterFile_Monolithic_5.ngc
-	rm -f RegisterFile_Monolithic_5.lso
-	rm -f -r xst
-	rm -f RegisterFile_Monolithic_5.prj
-	rm -f RegisterFile_Monolithic_6.ngc
-	rm -f RegisterFile_Monolithic_6.lso
-	rm -f -r xst
-	rm -f RegisterFile_Monolithic_6.prj
-
-re: clean all
-
-install:
-
Index: unk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/SelfTest/mkf.info
===================================================================
--- /trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/SelfTest/mkf.info	(revision 67)
+++ 	(revision )
@@ -1,36 +1,0 @@
-
-# RegisterFile_Monolithic_0
-target_dep	all	RegisterFile_Monolithic_0.ngc
-target_dep	RegisterFile_Monolithic_0.ngc	RegisterFile_Monolithic_0.prj
-target_dep	RegisterFile_Monolithic_0.prj	RegisterFile_Monolithic_0_Pack.vhdl RegisterFile_Monolithic_0.vhdl
-
-# RegisterFile_Monolithic_1
-target_dep	all	RegisterFile_Monolithic_1.ngc
-target_dep	RegisterFile_Monolithic_1.ngc	RegisterFile_Monolithic_1.prj
-target_dep	RegisterFile_Monolithic_1.prj	RegisterFile_Monolithic_1_Pack.vhdl RegisterFile_Monolithic_1.vhdl
-
-# RegisterFile_Monolithic_2
-target_dep	all	RegisterFile_Monolithic_2.ngc
-target_dep	RegisterFile_Monolithic_2.ngc	RegisterFile_Monolithic_2.prj
-target_dep	RegisterFile_Monolithic_2.prj	RegisterFile_Monolithic_2_Pack.vhdl RegisterFile_Monolithic_2.vhdl
-
-# RegisterFile_Monolithic_3
-target_dep	all	RegisterFile_Monolithic_3.ngc
-target_dep	RegisterFile_Monolithic_3.ngc	RegisterFile_Monolithic_3.prj
-target_dep	RegisterFile_Monolithic_3.prj	RegisterFile_Monolithic_3_Pack.vhdl RegisterFile_Monolithic_3.vhdl
-
-# RegisterFile_Monolithic_4
-target_dep	all	RegisterFile_Monolithic_4.ngc
-target_dep	RegisterFile_Monolithic_4.ngc	RegisterFile_Monolithic_4.prj
-target_dep	RegisterFile_Monolithic_4.prj	RegisterFile_Monolithic_4_Pack.vhdl RegisterFile_Monolithic_4.vhdl
-
-# RegisterFile_Monolithic_5
-target_dep	all	RegisterFile_Monolithic_5.ngc
-target_dep	RegisterFile_Monolithic_5.ngc	RegisterFile_Monolithic_5.prj
-target_dep	RegisterFile_Monolithic_5.prj	RegisterFile_Monolithic_5_Pack.vhdl RegisterFile_Monolithic_5.vhdl
-
-# RegisterFile_Monolithic_6
-target_dep	all	RegisterFile_Monolithic_6.ngc
-target_dep	RegisterFile_Monolithic_6.ngc	RegisterFile_Monolithic_6.prj
-target_dep	RegisterFile_Monolithic_6.prj	RegisterFile_Monolithic_6_Pack.vhdl RegisterFile_Monolithic_6.vhdl
-
Index: unk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/SelfTest/mkf.info
===================================================================
--- /trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/SelfTest/mkf.info	(revision 67)
+++ 	(revision )
@@ -1,31 +1,0 @@
-
-# RegisterFile_Multi_Banked_0
-target_dep	all	RegisterFile_Multi_Banked_0.ngc
-target_dep	RegisterFile_Multi_Banked_0.ngc	RegisterFile_Multi_Banked_0.prj
-target_dep	RegisterFile_Multi_Banked_0.prj	RegisterFile_Multi_Banked_0_bank_Pack.vhdl RegisterFile_Multi_Banked_0_bank.vhdl RegisterFile_Multi_Banked_0_Pack.vhdl RegisterFile_Multi_Banked_0_select_4_ports_Pack.vhdl RegisterFile_Multi_Banked_0_select_4_ports.vhdl RegisterFile_Multi_Banked_0.vhdl
-
-# RegisterFile_Multi_Banked_1
-target_dep	all	RegisterFile_Multi_Banked_1.ngc
-target_dep	RegisterFile_Multi_Banked_1.ngc	RegisterFile_Multi_Banked_1.prj
-target_dep	RegisterFile_Multi_Banked_1.prj	RegisterFile_Multi_Banked_1_bank_Pack.vhdl RegisterFile_Multi_Banked_1_bank.vhdl RegisterFile_Multi_Banked_1_Pack.vhdl RegisterFile_Multi_Banked_1_select_4_ports_Pack.vhdl RegisterFile_Multi_Banked_1_select_4_ports.vhdl RegisterFile_Multi_Banked_1.vhdl
-
-# RegisterFile_Multi_Banked_2
-target_dep	all	RegisterFile_Multi_Banked_2.ngc
-target_dep	RegisterFile_Multi_Banked_2.ngc	RegisterFile_Multi_Banked_2.prj
-target_dep	RegisterFile_Multi_Banked_2.prj	RegisterFile_Multi_Banked_2_bank_Pack.vhdl RegisterFile_Multi_Banked_2_bank.vhdl RegisterFile_Multi_Banked_2_Pack.vhdl RegisterFile_Multi_Banked_2_select_4_ports_Pack.vhdl RegisterFile_Multi_Banked_2_select_4_ports.vhdl RegisterFile_Multi_Banked_2.vhdl
-
-# RegisterFile_Multi_Banked_3
-target_dep	all	RegisterFile_Multi_Banked_3.ngc
-target_dep	RegisterFile_Multi_Banked_3.ngc	RegisterFile_Multi_Banked_3.prj
-target_dep	RegisterFile_Multi_Banked_3.prj	RegisterFile_Multi_Banked_3_bank_Pack.vhdl RegisterFile_Multi_Banked_3_bank.vhdl RegisterFile_Multi_Banked_3_Pack.vhdl RegisterFile_Multi_Banked_3_select_8_ports_Pack.vhdl RegisterFile_Multi_Banked_3_select_8_ports.vhdl RegisterFile_Multi_Banked_3.vhdl
-
-# RegisterFile_Multi_Banked_4
-target_dep	all	RegisterFile_Multi_Banked_4.ngc
-target_dep	RegisterFile_Multi_Banked_4.ngc	RegisterFile_Multi_Banked_4.prj
-target_dep	RegisterFile_Multi_Banked_4.prj	RegisterFile_Multi_Banked_4_bank_Pack.vhdl RegisterFile_Multi_Banked_4_bank.vhdl RegisterFile_Multi_Banked_4_Pack.vhdl RegisterFile_Multi_Banked_4_select_8_ports_Pack.vhdl RegisterFile_Multi_Banked_4_select_8_ports.vhdl RegisterFile_Multi_Banked_4.vhdl
-
-# RegisterFile_Multi_Banked_5
-target_dep	all	RegisterFile_Multi_Banked_5.ngc
-target_dep	RegisterFile_Multi_Banked_5.ngc	RegisterFile_Multi_Banked_5.prj
-target_dep	RegisterFile_Multi_Banked_5.prj	RegisterFile_Multi_Banked_5_bank_Pack.vhdl RegisterFile_Multi_Banked_5_bank.vhdl RegisterFile_Multi_Banked_5_Pack.vhdl RegisterFile_Multi_Banked_5_select_8_ports_Pack.vhdl RegisterFile_Multi_Banked_5_select_8_ports.vhdl RegisterFile_Multi_Banked_5.vhdl
-
Index: unk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/SelfTest/mkf.info
===================================================================
--- /trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/SelfTest/mkf.info	(revision 67)
+++ 	(revision )
@@ -1,61 +1,0 @@
-
-# Select_Priority_Fixed_0
-target_dep	all	Select_Priority_Fixed_0.ngc
-target_dep	Select_Priority_Fixed_0.ngc	Select_Priority_Fixed_0.prj
-target_dep	Select_Priority_Fixed_0.prj	Select_Priority_Fixed_0.vhdl Select_Priority_Fixed_0_Pack.vhdl
-
-# Select_Priority_Fixed_1
-target_dep	all	Select_Priority_Fixed_1.ngc
-target_dep	Select_Priority_Fixed_1.ngc	Select_Priority_Fixed_1.prj
-target_dep	Select_Priority_Fixed_1.prj	Select_Priority_Fixed_1.vhdl Select_Priority_Fixed_10.vhdl Select_Priority_Fixed_10_Pack.vhdl Select_Priority_Fixed_11.vhdl Select_Priority_Fixed_11_Pack.vhdl Select_Priority_Fixed_1_Pack.vhdl
-
-# Select_Priority_Fixed_10
-target_dep	all	Select_Priority_Fixed_10.ngc
-target_dep	Select_Priority_Fixed_10.ngc	Select_Priority_Fixed_10.prj
-target_dep	Select_Priority_Fixed_10.prj	Select_Priority_Fixed_10.vhdl Select_Priority_Fixed_10_Pack.vhdl
-
-# Select_Priority_Fixed_11
-target_dep	all	Select_Priority_Fixed_11.ngc
-target_dep	Select_Priority_Fixed_11.ngc	Select_Priority_Fixed_11.prj
-target_dep	Select_Priority_Fixed_11.prj	Select_Priority_Fixed_11.vhdl Select_Priority_Fixed_11_Pack.vhdl
-
-# Select_Priority_Fixed_2
-target_dep	all	Select_Priority_Fixed_2.ngc
-target_dep	Select_Priority_Fixed_2.ngc	Select_Priority_Fixed_2.prj
-target_dep	Select_Priority_Fixed_2.prj	Select_Priority_Fixed_2.vhdl Select_Priority_Fixed_2_Pack.vhdl
-
-# Select_Priority_Fixed_3
-target_dep	all	Select_Priority_Fixed_3.ngc
-target_dep	Select_Priority_Fixed_3.ngc	Select_Priority_Fixed_3.prj
-target_dep	Select_Priority_Fixed_3.prj	Select_Priority_Fixed_3.vhdl Select_Priority_Fixed_3_Pack.vhdl
-
-# Select_Priority_Fixed_4
-target_dep	all	Select_Priority_Fixed_4.ngc
-target_dep	Select_Priority_Fixed_4.ngc	Select_Priority_Fixed_4.prj
-target_dep	Select_Priority_Fixed_4.prj	Select_Priority_Fixed_4.vhdl Select_Priority_Fixed_4_Pack.vhdl
-
-# Select_Priority_Fixed_5
-target_dep	all	Select_Priority_Fixed_5.ngc
-target_dep	Select_Priority_Fixed_5.ngc	Select_Priority_Fixed_5.prj
-target_dep	Select_Priority_Fixed_5.prj	Select_Priority_Fixed_5.vhdl Select_Priority_Fixed_5_Pack.vhdl
-
-# Select_Priority_Fixed_6
-target_dep	all	Select_Priority_Fixed_6.ngc
-target_dep	Select_Priority_Fixed_6.ngc	Select_Priority_Fixed_6.prj
-target_dep	Select_Priority_Fixed_6.prj	Select_Priority_Fixed_6.vhdl Select_Priority_Fixed_6_Pack.vhdl
-
-# Select_Priority_Fixed_7
-target_dep	all	Select_Priority_Fixed_7.ngc
-target_dep	Select_Priority_Fixed_7.ngc	Select_Priority_Fixed_7.prj
-target_dep	Select_Priority_Fixed_7.prj	Select_Priority_Fixed_7.vhdl Select_Priority_Fixed_7_Pack.vhdl
-
-# Select_Priority_Fixed_8
-target_dep	all	Select_Priority_Fixed_8.ngc
-target_dep	Select_Priority_Fixed_8.ngc	Select_Priority_Fixed_8.prj
-target_dep	Select_Priority_Fixed_8.prj	Select_Priority_Fixed_8.vhdl Select_Priority_Fixed_8_Pack.vhdl
-
-# Select_Priority_Fixed_9
-target_dep	all	Select_Priority_Fixed_9.ngc
-target_dep	Select_Priority_Fixed_9.ngc	Select_Priority_Fixed_9.prj
-target_dep	Select_Priority_Fixed_9.prj	Select_Priority_Fixed_9.vhdl Select_Priority_Fixed_9_Pack.vhdl
-
Index: /trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Select_Priority_Fixed.cpp
===================================================================
--- /trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Select_Priority_Fixed.cpp	(revision 67)
+++ /trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Select_Priority_Fixed.cpp	(revision 68)
@@ -40,10 +40,13 @@
 
 #ifdef STATISTICS
-    log_printf(INFO,Select_Priority_Fixed,"Select_Priority_Fixed","Allocation of statistics");
-
-    // Allocation of statistics
-    _stat = new Statistics (static_cast<string>(_name),
-			    param_statistics          ,
-			    param);
+    if (_usage & USE_STATISTICS)
+      {
+	log_printf(INFO,Select_Priority_Fixed,"Select_Priority_Fixed","Allocation of statistics");
+	
+	// Allocation of statistics
+	_stat = new Statistics (static_cast<string>(_name),
+				param_statistics          ,
+				param);
+      }
 #endif
 
Index: unk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/SelfTest/mkf.info
===================================================================
--- /trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/SelfTest/mkf.info	(revision 67)
+++ 	(revision )
@@ -1,271 +1,0 @@
-
-# Shifter_0
-target_dep	all	Shifter_0.ngc
-target_dep	Shifter_0.ngc	Shifter_0.prj
-target_dep	Shifter_0.prj	Shifter_0_Pack.vhdl Shifter_0.vhdl
-
-# Shifter_10
-target_dep	all	Shifter_10.ngc
-target_dep	Shifter_10.ngc	Shifter_10.prj
-target_dep	Shifter_10.prj	Shifter_10_Pack.vhdl Shifter_10.vhdl
-
-# Shifter_11
-target_dep	all	Shifter_11.ngc
-target_dep	Shifter_11.ngc	Shifter_11.prj
-target_dep	Shifter_11.prj	Shifter_11_Pack.vhdl Shifter_11.vhdl
-
-# Shifter_12
-target_dep	all	Shifter_12.ngc
-target_dep	Shifter_12.ngc	Shifter_12.prj
-target_dep	Shifter_12.prj	Shifter_12_Pack.vhdl Shifter_12.vhdl
-
-# Shifter_13
-target_dep	all	Shifter_13.ngc
-target_dep	Shifter_13.ngc	Shifter_13.prj
-target_dep	Shifter_13.prj	Shifter_13_Pack.vhdl Shifter_13.vhdl
-
-# Shifter_14
-target_dep	all	Shifter_14.ngc
-target_dep	Shifter_14.ngc	Shifter_14.prj
-target_dep	Shifter_14.prj	Shifter_14_Pack.vhdl Shifter_14.vhdl
-
-# Shifter_15
-target_dep	all	Shifter_15.ngc
-target_dep	Shifter_15.ngc	Shifter_15.prj
-target_dep	Shifter_15.prj	Shifter_15_Pack.vhdl Shifter_15.vhdl
-
-# Shifter_16
-target_dep	all	Shifter_16.ngc
-target_dep	Shifter_16.ngc	Shifter_16.prj
-target_dep	Shifter_16.prj	Shifter_16_Pack.vhdl Shifter_16.vhdl
-
-# Shifter_17
-target_dep	all	Shifter_17.ngc
-target_dep	Shifter_17.ngc	Shifter_17.prj
-target_dep	Shifter_17.prj	Shifter_17_Pack.vhdl Shifter_17.vhdl
-
-# Shifter_18
-target_dep	all	Shifter_18.ngc
-target_dep	Shifter_18.ngc	Shifter_18.prj
-target_dep	Shifter_18.prj	Shifter_18_Pack.vhdl Shifter_18.vhdl
-
-# Shifter_19
-target_dep	all	Shifter_19.ngc
-target_dep	Shifter_19.ngc	Shifter_19.prj
-target_dep	Shifter_19.prj	Shifter_19_Pack.vhdl Shifter_19.vhdl
-
-# Shifter_1
-target_dep	all	Shifter_1.ngc
-target_dep	Shifter_1.ngc	Shifter_1.prj
-target_dep	Shifter_1.prj	Shifter_10_Pack.vhdl Shifter_10.vhdl Shifter_11_Pack.vhdl Shifter_11.vhdl Shifter_12_Pack.vhdl Shifter_12.vhdl Shifter_13_Pack.vhdl Shifter_13.vhdl Shifter_14_Pack.vhdl Shifter_14.vhdl Shifter_15_Pack.vhdl Shifter_15.vhdl Shifter_16_Pack.vhdl Shifter_16.vhdl Shifter_17_Pack.vhdl Shifter_17.vhdl Shifter_18_Pack.vhdl Shifter_18.vhdl Shifter_19_Pack.vhdl Shifter_19.vhdl Shifter_1_Pack.vhdl Shifter_1.vhdl
-
-# Shifter_20
-target_dep	all	Shifter_20.ngc
-target_dep	Shifter_20.ngc	Shifter_20.prj
-target_dep	Shifter_20.prj	Shifter_20_Pack.vhdl Shifter_20.vhdl
-
-# Shifter_21
-target_dep	all	Shifter_21.ngc
-target_dep	Shifter_21.ngc	Shifter_21.prj
-target_dep	Shifter_21.prj	Shifter_21_Pack.vhdl Shifter_21.vhdl
-
-# Shifter_22
-target_dep	all	Shifter_22.ngc
-target_dep	Shifter_22.ngc	Shifter_22.prj
-target_dep	Shifter_22.prj	Shifter_22_Pack.vhdl Shifter_22.vhdl
-
-# Shifter_23
-target_dep	all	Shifter_23.ngc
-target_dep	Shifter_23.ngc	Shifter_23.prj
-target_dep	Shifter_23.prj	Shifter_23_Pack.vhdl Shifter_23.vhdl
-
-# Shifter_24
-target_dep	all	Shifter_24.ngc
-target_dep	Shifter_24.ngc	Shifter_24.prj
-target_dep	Shifter_24.prj	Shifter_24_Pack.vhdl Shifter_24.vhdl
-
-# Shifter_25
-target_dep	all	Shifter_25.ngc
-target_dep	Shifter_25.ngc	Shifter_25.prj
-target_dep	Shifter_25.prj	Shifter_25_Pack.vhdl Shifter_25.vhdl
-
-# Shifter_26
-target_dep	all	Shifter_26.ngc
-target_dep	Shifter_26.ngc	Shifter_26.prj
-target_dep	Shifter_26.prj	Shifter_26_Pack.vhdl Shifter_26.vhdl
-
-# Shifter_27
-target_dep	all	Shifter_27.ngc
-target_dep	Shifter_27.ngc	Shifter_27.prj
-target_dep	Shifter_27.prj	Shifter_27_Pack.vhdl Shifter_27.vhdl
-
-# Shifter_28
-target_dep	all	Shifter_28.ngc
-target_dep	Shifter_28.ngc	Shifter_28.prj
-target_dep	Shifter_28.prj	Shifter_28_Pack.vhdl Shifter_28.vhdl
-
-# Shifter_29
-target_dep	all	Shifter_29.ngc
-target_dep	Shifter_29.ngc	Shifter_29.prj
-target_dep	Shifter_29.prj	Shifter_29_Pack.vhdl Shifter_29.vhdl
-
-# Shifter_2
-target_dep	all	Shifter_2.ngc
-target_dep	Shifter_2.ngc	Shifter_2.prj
-target_dep	Shifter_2.prj	Shifter_20_Pack.vhdl Shifter_20.vhdl Shifter_21_Pack.vhdl Shifter_21.vhdl Shifter_22_Pack.vhdl Shifter_22.vhdl Shifter_23_Pack.vhdl Shifter_23.vhdl Shifter_24_Pack.vhdl Shifter_24.vhdl Shifter_25_Pack.vhdl Shifter_25.vhdl Shifter_26_Pack.vhdl Shifter_26.vhdl Shifter_27_Pack.vhdl Shifter_27.vhdl Shifter_28_Pack.vhdl Shifter_28.vhdl Shifter_29_Pack.vhdl Shifter_29.vhdl Shifter_2_Pack.vhdl Shifter_2.vhdl
-
-# Shifter_30
-target_dep	all	Shifter_30.ngc
-target_dep	Shifter_30.ngc	Shifter_30.prj
-target_dep	Shifter_30.prj	Shifter_30_Pack.vhdl Shifter_30.vhdl
-
-# Shifter_31
-target_dep	all	Shifter_31.ngc
-target_dep	Shifter_31.ngc	Shifter_31.prj
-target_dep	Shifter_31.prj	Shifter_31_Pack.vhdl Shifter_31.vhdl
-
-# Shifter_32
-target_dep	all	Shifter_32.ngc
-target_dep	Shifter_32.ngc	Shifter_32.prj
-target_dep	Shifter_32.prj	Shifter_32_Pack.vhdl Shifter_32.vhdl
-
-# Shifter_33
-target_dep	all	Shifter_33.ngc
-target_dep	Shifter_33.ngc	Shifter_33.prj
-target_dep	Shifter_33.prj	Shifter_33_Pack.vhdl Shifter_33.vhdl
-
-# Shifter_34
-target_dep	all	Shifter_34.ngc
-target_dep	Shifter_34.ngc	Shifter_34.prj
-target_dep	Shifter_34.prj	Shifter_34_Pack.vhdl Shifter_34.vhdl
-
-# Shifter_35
-target_dep	all	Shifter_35.ngc
-target_dep	Shifter_35.ngc	Shifter_35.prj
-target_dep	Shifter_35.prj	Shifter_35_Pack.vhdl Shifter_35.vhdl
-
-# Shifter_36
-target_dep	all	Shifter_36.ngc
-target_dep	Shifter_36.ngc	Shifter_36.prj
-target_dep	Shifter_36.prj	Shifter_36_Pack.vhdl Shifter_36.vhdl
-
-# Shifter_37
-target_dep	all	Shifter_37.ngc
-target_dep	Shifter_37.ngc	Shifter_37.prj
-target_dep	Shifter_37.prj	Shifter_37_Pack.vhdl Shifter_37.vhdl
-
-# Shifter_38
-target_dep	all	Shifter_38.ngc
-target_dep	Shifter_38.ngc	Shifter_38.prj
-target_dep	Shifter_38.prj	Shifter_38_Pack.vhdl Shifter_38.vhdl
-
-# Shifter_39
-target_dep	all	Shifter_39.ngc
-target_dep	Shifter_39.ngc	Shifter_39.prj
-target_dep	Shifter_39.prj	Shifter_39_Pack.vhdl Shifter_39.vhdl
-
-# Shifter_3
-target_dep	all	Shifter_3.ngc
-target_dep	Shifter_3.ngc	Shifter_3.prj
-target_dep	Shifter_3.prj	Shifter_30_Pack.vhdl Shifter_30.vhdl Shifter_31_Pack.vhdl Shifter_31.vhdl Shifter_32_Pack.vhdl Shifter_32.vhdl Shifter_33_Pack.vhdl Shifter_33.vhdl Shifter_34_Pack.vhdl Shifter_34.vhdl Shifter_35_Pack.vhdl Shifter_35.vhdl Shifter_36_Pack.vhdl Shifter_36.vhdl Shifter_37_Pack.vhdl Shifter_37.vhdl Shifter_38_Pack.vhdl Shifter_38.vhdl Shifter_39_Pack.vhdl Shifter_39.vhdl Shifter_3_Pack.vhdl Shifter_3.vhdl
-
-# Shifter_40
-target_dep	all	Shifter_40.ngc
-target_dep	Shifter_40.ngc	Shifter_40.prj
-target_dep	Shifter_40.prj	Shifter_40_Pack.vhdl Shifter_40.vhdl
-
-# Shifter_41
-target_dep	all	Shifter_41.ngc
-target_dep	Shifter_41.ngc	Shifter_41.prj
-target_dep	Shifter_41.prj	Shifter_41_Pack.vhdl Shifter_41.vhdl
-
-# Shifter_42
-target_dep	all	Shifter_42.ngc
-target_dep	Shifter_42.ngc	Shifter_42.prj
-target_dep	Shifter_42.prj	Shifter_42_Pack.vhdl Shifter_42.vhdl
-
-# Shifter_43
-target_dep	all	Shifter_43.ngc
-target_dep	Shifter_43.ngc	Shifter_43.prj
-target_dep	Shifter_43.prj	Shifter_43_Pack.vhdl Shifter_43.vhdl
-
-# Shifter_44
-target_dep	all	Shifter_44.ngc
-target_dep	Shifter_44.ngc	Shifter_44.prj
-target_dep	Shifter_44.prj	Shifter_44_Pack.vhdl Shifter_44.vhdl
-
-# Shifter_45
-target_dep	all	Shifter_45.ngc
-target_dep	Shifter_45.ngc	Shifter_45.prj
-target_dep	Shifter_45.prj	Shifter_45_Pack.vhdl Shifter_45.vhdl
-
-# Shifter_46
-target_dep	all	Shifter_46.ngc
-target_dep	Shifter_46.ngc	Shifter_46.prj
-target_dep	Shifter_46.prj	Shifter_46_Pack.vhdl Shifter_46.vhdl
-
-# Shifter_47
-target_dep	all	Shifter_47.ngc
-target_dep	Shifter_47.ngc	Shifter_47.prj
-target_dep	Shifter_47.prj	Shifter_47_Pack.vhdl Shifter_47.vhdl
-
-# Shifter_48
-target_dep	all	Shifter_48.ngc
-target_dep	Shifter_48.ngc	Shifter_48.prj
-target_dep	Shifter_48.prj	Shifter_48_Pack.vhdl Shifter_48.vhdl
-
-# Shifter_49
-target_dep	all	Shifter_49.ngc
-target_dep	Shifter_49.ngc	Shifter_49.prj
-target_dep	Shifter_49.prj	Shifter_49_Pack.vhdl Shifter_49.vhdl
-
-# Shifter_4
-target_dep	all	Shifter_4.ngc
-target_dep	Shifter_4.ngc	Shifter_4.prj
-target_dep	Shifter_4.prj	Shifter_40_Pack.vhdl Shifter_40.vhdl Shifter_41_Pack.vhdl Shifter_41.vhdl Shifter_42_Pack.vhdl Shifter_42.vhdl Shifter_43_Pack.vhdl Shifter_43.vhdl Shifter_44_Pack.vhdl Shifter_44.vhdl Shifter_45_Pack.vhdl Shifter_45.vhdl Shifter_46_Pack.vhdl Shifter_46.vhdl Shifter_47_Pack.vhdl Shifter_47.vhdl Shifter_48_Pack.vhdl Shifter_48.vhdl Shifter_49_Pack.vhdl Shifter_49.vhdl Shifter_4_Pack.vhdl Shifter_4.vhdl
-
-# Shifter_50
-target_dep	all	Shifter_50.ngc
-target_dep	Shifter_50.ngc	Shifter_50.prj
-target_dep	Shifter_50.prj	Shifter_50_Pack.vhdl Shifter_50.vhdl
-
-# Shifter_51
-target_dep	all	Shifter_51.ngc
-target_dep	Shifter_51.ngc	Shifter_51.prj
-target_dep	Shifter_51.prj	Shifter_51_Pack.vhdl Shifter_51.vhdl
-
-# Shifter_52
-target_dep	all	Shifter_52.ngc
-target_dep	Shifter_52.ngc	Shifter_52.prj
-target_dep	Shifter_52.prj	Shifter_52_Pack.vhdl Shifter_52.vhdl
-
-# Shifter_53
-target_dep	all	Shifter_53.ngc
-target_dep	Shifter_53.ngc	Shifter_53.prj
-target_dep	Shifter_53.prj	Shifter_53_Pack.vhdl Shifter_53.vhdl
-
-# Shifter_5
-target_dep	all	Shifter_5.ngc
-target_dep	Shifter_5.ngc	Shifter_5.prj
-target_dep	Shifter_5.prj	Shifter_50_Pack.vhdl Shifter_50.vhdl Shifter_51_Pack.vhdl Shifter_51.vhdl Shifter_52_Pack.vhdl Shifter_52.vhdl Shifter_53_Pack.vhdl Shifter_53.vhdl Shifter_5_Pack.vhdl Shifter_5.vhdl
-
-# Shifter_6
-target_dep	all	Shifter_6.ngc
-target_dep	Shifter_6.ngc	Shifter_6.prj
-target_dep	Shifter_6.prj	Shifter_6_Pack.vhdl Shifter_6.vhdl
-
-# Shifter_7
-target_dep	all	Shifter_7.ngc
-target_dep	Shifter_7.ngc	Shifter_7.prj
-target_dep	Shifter_7.prj	Shifter_7_Pack.vhdl Shifter_7.vhdl
-
-# Shifter_8
-target_dep	all	Shifter_8.ngc
-target_dep	Shifter_8.ngc	Shifter_8.prj
-target_dep	Shifter_8.prj	Shifter_8_Pack.vhdl Shifter_8.vhdl
-
-# Shifter_9
-target_dep	all	Shifter_9.ngc
-target_dep	Shifter_9.ngc	Shifter_9.prj
-target_dep	Shifter_9.prj	Shifter_9_Pack.vhdl Shifter_9.vhdl
-
Index: /trunk/IPs/systemC/processor/Morpheo/Behavioural/Makefile.Selftest
===================================================================
--- /trunk/IPs/systemC/processor/Morpheo/Behavioural/Makefile.Selftest	(revision 67)
+++ /trunk/IPs/systemC/processor/Morpheo/Behavioural/Makefile.Selftest	(revision 68)
@@ -115,5 +115,5 @@
 				@\
 				$(ECHO) "Execute            : $*";\
-				$(EXPORT) SYSTEMC=$(SYSTEMC_$(SIMULATOR)) ; ./$(DIR_BIN)/$(EXEC).x $(EXEC_PARAMS) $* `$(CAT) $<` &> $@
+				export SYSTEMC=$(SYSTEMC_$(SIMULATOR)) ; ./$(DIR_BIN)/$(EXEC).x $(EXEC_PARAMS) $* `$(CAT) $<` &> $@
 				declare -i count=`$(GREP) -ch "Test OK" $@`;		\
 				if $(TEST) $$count -ne 0;       			\
@@ -125,5 +125,5 @@
 				@\
 				$(ECHO) "Execute            : $*";\
-				$(EXPORT) SYSTEMC=$(SYSTEMC_$(SIMULATOR)) ; ./$(DIR_BIN)/$(EXEC).x $(EXEC_PARAMS) $* `$(CAT) $<` &> $@
+				export SYSTEMC=$(SYSTEMC_$(SIMULATOR)) ; ./$(DIR_BIN)/$(EXEC).x $(EXEC_PARAMS) $* `$(CAT) $<` &> $@
 				declare -i count=`$(GREP) -ch "Test OK" $@`;		\
 				if $(TEST) $$count -ne 0;       			\
Index: /trunk/IPs/systemC/processor/Morpheo/Behavioural/Makefile.Synthesis
===================================================================
--- /trunk/IPs/systemC/processor/Morpheo/Behavioural/Makefile.Synthesis	(revision 67)
+++ /trunk/IPs/systemC/processor/Morpheo/Behavioural/Makefile.Synthesis	(revision 68)
@@ -85,5 +85,5 @@
 				@\
 				if $(TEST) -f Makefile.mkf; then $(MAKE) -f Makefile.mkf clean; fi; \
-				$(RM) $(DIR_WORK) transcript Makefile.mkf;
+				$(RM) $(DIR_WORK) transcript Makefile.mkf $(FPGA_CFG_FILE_LOCAL) *.wlf;
 
 synthesis_help			:
Index: /trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component/src/New_Component.cpp
===================================================================
--- /trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component/src/New_Component.cpp	(revision 67)
+++ /trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component/src/New_Component.cpp	(revision 68)
@@ -2,5 +2,5 @@
  * $Id$
  *
- * [ Description ]
+ * [ Description ]
  * 
  */
@@ -40,36 +40,43 @@
 
 #ifdef STATISTICS
-    log_printf(INFO,@COMPONENT,FUNCTION,"Allocation of statistics");
-
-    // Allocation of statistics
-    _stat = new Statistics (static_cast<string>(_name),
-			    param_statistics          ,
-			    param);
+    if (_usage & USE_STATISTICS)
+      {	
+	log_printf(INFO,@COMPONENT,FUNCTION,"Allocation of statistics");
+	
+	// Allocation of statistics
+	_stat = new Statistics (static_cast<string>(_name),
+				param_statistics          ,
+				param);
+      }
 #endif
 
 #ifdef VHDL
-    // generate the vhdl
-    log_printf(INFO,@COMPONENT,FUNCTION,"Generate the vhdl");
-
-    vhdl();
+    if (_usage & USE_VHDL)
+      {
+	// generate the vhdl
+	log_printf(INFO,@COMPONENT,FUNCTION,"Generate the vhdl");
+	
+	vhdl();
+      }
 #endif
 
 #ifdef SYSTEMC
-//#if defined(STATISTICS) or defined(VHDL_TESTBENCH)
-    log_printf(INFO,@COMPONENT,FUNCTION,"Method - transition");
+    if (_usage & USE_SYSTEMC)
+      {
+	log_printf(INFO,@COMPONENT,FUNCTION,"Method - transition");
 
-    SC_METHOD (transition);
-    dont_initialize ();
-    sensitive << (*(in_CLOCK)).pos();
-//#endif
-
-#ifdef SYSTEMCASS_SPECIFIC
-    // List dependency information
-#endif    
-
+	SC_METHOD (transition);
+	dont_initialize ();
+	sensitive << (*(in_CLOCK)).pos();
+	
+# ifdef SYSTEMCASS_SPECIFIC
+	// List dependency information
+# endif    
+	
 #endif
+      }
     log_printf(FUNC,@COMPONENT,FUNCTION,"End");
   };
-  
+    
 #undef  FUNCTION
 #define FUNCTION "@COMPONENT::~@COMPONENT"
@@ -79,8 +86,11 @@
 
 #ifdef STATISTICS
-    log_printf(INFO,@COMPONENT,FUNCTION,"Generate Statistics file");
-
-    _stat->generate_file(statistics(0));
-    delete _stat;
+    if (_usage & USE_STATISTICS)
+      {
+	log_printf(INFO,@COMPONENT,FUNCTION,"Generate Statistics file");
+	
+	_stat->generate_file(statistics(0));
+	delete _stat;
+      }
 #endif
 
Index: /trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component/src/New_Component_allocation.cpp
===================================================================
--- /trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component/src/New_Component_allocation.cpp	(revision 67)
+++ /trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component/src/New_Component_allocation.cpp	(revision 68)
@@ -21,5 +21,5 @@
     log_printf(FUNC,@COMPONENT,FUNCTION,"Begin");
 
-    _component   = new Component ();
+    _component   = new Component (_usage);
 
     Entity * entity = _component->set_entity (_name       
Index: /trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component/src/New_Component_deallocation.cpp
===================================================================
--- /trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component/src/New_Component_deallocation.cpp	(revision 67)
+++ /trunk/IPs/systemC/processor/Morpheo/Behavioural/New_Component/src/New_Component_deallocation.cpp	(revision 68)
@@ -2,5 +2,5 @@
  * $Id$
  *
- * [ Description ]
+ * [ Description ]
  * 
  */
@@ -18,10 +18,10 @@
     log_printf(FUNC,@COMPONENT,FUNCTION,"Begin");
 
-//#if defined(STATISTICS) or defined(VHDL_TESTBENCH)
-    delete    in_CLOCK ;
-//#endif
-    delete    in_NRESET;
-
-    // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~    
+    if (_usage & USE_SYSTEMC)
+      {
+	delete    in_CLOCK ;
+	delete    in_NRESET;
+      }
+    // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~    
 
     delete _component;
Index: /trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Debug_component.h
===================================================================
--- /trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Debug_component.h	(revision 67)
+++ /trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Debug_component.h	(revision 68)
@@ -6,5 +6,5 @@
 #define     DEBUG_Counter                                         false 
 #define     DEBUG_Group                                           false
-#define     DEBUG_Queue                                           true  
+#define     DEBUG_Queue                                           false 
 #define     DEBUG_Queue_Control                                   false 
 #define     DEBUG_Shifter                                         false
Index: /trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Environnement.h
===================================================================
--- /trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Environnement.h	(revision 67)
+++ /trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Environnement.h	(revision 68)
@@ -15,2 +15,5 @@
 #endif
 
+#if (defined(VHDL_TESTBENCH) and defined(SYSTEMC))
+#  define SYSTEMC_VHDL_COMPATIBILITY
+#endif
Index: /trunk/IPs/systemC/processor/Morpheo/Behavioural/mkf.info
===================================================================
--- /trunk/IPs/systemC/processor/Morpheo/Behavioural/mkf.info	(revision 67)
+++ /trunk/IPs/systemC/processor/Morpheo/Behavioural/mkf.info	(revision 68)
@@ -19,4 +19,5 @@
 target_dep		all		Generic/RegisterFile/RegisterFile_Multi_Banked/SelfTest
 target_dep		all		Generic/Select/Select_Priority_Fixed/SelfTest
+target_dep		all		Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/SelfTest
 target_dep		all		Core/Multi_Execute_loop/Execute_loop/Register_unit/SelfTest
 target_dep		all		Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/SelfTest
Index: /trunk/IPs/systemC/processor/Morpheo/Documentation/Source/Makefile
===================================================================
--- /trunk/IPs/systemC/processor/Morpheo/Documentation/Source/Makefile	(revision 67)
+++ /trunk/IPs/systemC/processor/Morpheo/Documentation/Source/Makefile	(revision 68)
@@ -37,5 +37,5 @@
 # Directory
 #--------------------------------------------------------------------------------
-ENV_LATEX		= $(EXPORT) TEXINPUTS=$(DIR_INCLUDE):$$TEXINPUTS
+ENV_LATEX		= export TEXINPUTS=$(DIR_INCLUDE):$$TEXINPUTS
 LATEX_WITH_ENV		= $(ENV_LATEX); $(LATEX)
 
@@ -148,5 +148,5 @@
 			then											\
 				$(ECHO) "Invalid name : string is empty, or filename is already used";		\
-				$(EXIT);									\
+				exit;									\
 			fi;											\
 														\
@@ -205,5 +205,5 @@
 			if $(TEST) "$$NUM_FILE" -eq "0" -o "$$NUM_FILE" -ne "$$NUM_FILE_CONFIRM"; then          \
 				$(ECHO) "Delete cancelled";							\
-				$(EXIT);                                       		        		\
+				exit;                                       		        		\
 			fi;											\
 														\
@@ -253,5 +253,5 @@
 			if $(TEST) "$$NUM_FILE" -eq "0"; then              					\
 				$(ECHO) "Rename cancelled";							\
-				$(EXIT);                                       		        		\
+				exit;                                       		        		\
 			fi;											\
 														\
@@ -266,5 +266,5 @@
 			then											\
 				$(ECHO) "Invalid name : string is empty, or filename is already used";		\
-				$(EXIT);									\
+				exit;										\
 			fi;											\
 														\
Index: /trunk/Makefile.tools
===================================================================
--- /trunk/Makefile.tools	(revision 67)
+++ /trunk/Makefile.tools	(revision 68)
@@ -1,9 +1,7 @@
 #----------------------------------------------------------
-#-----[ Unix Commands ]------------------------------------
+#-----[ Unix Commands ]------------------------------------
 #----------------------------------------------------------
 
 ECHO					= echo
-EXPORT					= export
-EXIT					= exit
 MKDIR					= mkdir -p
 TEST					= test
@@ -25,5 +23,5 @@
 TR					= tr
 UPPERtoLOWER				= $(TR) [:lower:] [:upper:]
-CXX					= export LANG=C; g++
+CXX					= export LANG=C; g++-3.4
 SED					= sed
 TOUCH					= touch
@@ -46,10 +44,10 @@
 
 #----------------------------------------------------------
-#-----[ tools ]--------------------------------------------
+#-----[ tools ]--------------------------------------------
 #----------------------------------------------------------
 
 include $(MORPHEO_TOPLEVEL)/Makefile.tools_path
 
-#-----[ soclib ]-------------------------------------------
+#-----[ soclib ]-------------------------------------------
 SOCLIB_INCDIR				= -I$(SOCLIB)/include
 SOCLIB_LIBDIR				= -L$(SOCLIB)/lib
@@ -57,5 +55,5 @@
 SOCLIB_BIN				= $(SOCLIB)/tools/bin-linux/
 
-#-----[ systemc ]------------------------------------------
+#-----[ systemc ]------------------------------------------
 SYSTEMC_INCDIR_systemc			= -I$(SYSTEMC_systemc)/include
 SYSTEMC_LIBDIR_systemc			= -L$(SYSTEMC_systemc)/lib-linux
@@ -64,5 +62,5 @@
 SYSTEMC_EXEC_PARAMS_systemc		=
 
-#-----[ systemcass ]---------------------------------------
+#-----[ systemcass ]---------------------------------------
 SYSTEMC_INCDIR_systemcass		= -I$(SYSTEMC_systemcass)/include
 SYSTEMC_INCDIR_systemcass_deps		= $(SYSTEMC_INCDIR_systemcass)
@@ -78,10 +76,10 @@
 
 SYSTEMC_EXEC_PARAMS_systemcass		= --nobanner
-SYSTEMC_EXEC_PARAMS_systemcass_deps	= $(SYSTEMC_EXEC_PARAMS_systemcass) --p
+SYSTEMC_EXEC_PARAMS_systemcass_deps	= $(SYSTEMC_EXEC_PARAMS_systemcass) --p --t --d
 	
-#-----[ xilinx ]-------------------------------------------
-XILINX_ENV				= source $(XILINX)/settings.sh
+#-----[ xilinx ]-------------------------------------------
+XILINX_ENV				= . $(XILINX)/settings.sh
 
-#-----[ Modeltech ]----------------------------------------
+#-----[ Modeltech ]----------------------------------------
 MODELTECH_ENV				= export LM_LICENSE_FILE=$(MODELTECH_LICENCE)
 MODELTECH_BIN				= $(MODELTECH)/bin
@@ -90,5 +88,5 @@
 MODELTECH_VSIM				= $(MODELTECH_ENV); $(MODELTECH_BIN)/vsim -c -do "run -all; quit"
 
-#-----[ or1k ]---------------------------------------------
+#-----[ or1k ]---------------------------------------------
 OR1K_INCDIR				= -I$(OR1K)/include
 OR1K_LIBDIR				= -L$(OR1K)/lib
@@ -96,7 +94,7 @@
 OR1K_BIN				= $(OR1K)/bin
 
-#-----[ newlib ]-------------------------------------------
+#-----[ newlib ]-------------------------------------------
 
-#-----[ qt ]-----------------------------------------------
+#-----[ qt ]-----------------------------------------------
 QT_BIN					= $(QT)/bin
 QT_INCDIR				= $(QT)/include
Index: /trunk/Makefile.tools_path
===================================================================
--- /trunk/Makefile.tools_path	(revision 67)
+++ /trunk/Makefile.tools_path	(revision 68)
@@ -1,10 +1,27 @@
-SOCLIB					=  /users/outil/soc/soclib
-SYSTEMC_systemc				= /users/outil/systemc/systemc-2.1.v1
-SYSTEMC_systemcass 			= /users/outil/systemc/systemcass/systemcass/latest/i686-Linux.SLA4x
+#----------------------------------------------------------
+# kane@HOME
+#-----[ path ]---------------------------------------------
+SOCLIB					= 
+SYSTEMC_systemc				= /home/data/Tools/systemc-2.2.0
+SYSTEMC_systemcass 			= /home/data/Tools/systemcass
 SYSTEMC_systemcass_deps 		= $(SYSTEMC_systemcass)
-XILINX					= /dsk/l1/misc/Xilinx91i
-MODELTECH				= /users/outil/m1archi/modeltech
-MODELTECH_LICENCE			= /users/soft/mentor/mgls_v8-1_0-3-1.ss5/etc/cust/mgc/license.anacad.20070720
-OR1K					= ../../Tools/or32-elf
-NEWLIB					= ../../Tools/newlib-1.14.0
-QT					= /dsk/l1/misc/kane/qt-x11-opensource-4.2.3
+XILINX					= /home/data/Tools/Xilinx91i
+MODELTECH				= /home/data/Tools/modelsim/modeltech-6.2b
+MODELTECH_LICENCE			= /home/data/Tools/modelsim/license/license_modelsim-SE-6.2b
+OR1K					= /home/data/Tools/or32-elf
+NEWLIB					= 
+QT					= 
+
+#----------------------------------------------------------
+# kane@LABS
+#-----[ path ]---------------------------------------------
+#SOCLIB					= /users/outil/soc/soclib					    
+#SYSTEMC_systemc			= /users/outil/systemc/systemc-2.1.v1				    
+#SYSTEMC_systemcass 			= /users/outil/systemc/systemcass/systemcass/latest/i686-Linux.SLA4x
+#SYSTEMC_systemcass_deps 		= $(SYSTEMC_systemcass)
+#XILINX					= /dsk/l1/misc/Xilinx91i
+#MODELTECH				= /users/outil/m1archi/modeltech
+#MODELTECH_LICENCE			= /users/soft/mentor/mgls_v8-1_0-3-1.ss5/etc/cust/mgc/license.anacad.20070720
+#OR1K					= 
+#NEWLIB					= 
+#QT					= /dsk/l1/misc/kane/qt-x11-opensource-4.2.3
Index: /trunk/Softwares/Min.or32/Makefile
===================================================================
--- /trunk/Softwares/Min.or32/Makefile	(revision 67)
+++ /trunk/Softwares/Min.or32/Makefile	(revision 68)
@@ -28,32 +28,32 @@
 $(DIR_BIN)/%.x.txt	: $(DIR_BIN)/%.x
 			@\
-			$(ECHO) "List symbols        of $*";\
-			$(NM)      $(NM_OPT)      $^ > $@.nm;\
-			$(ECHO) "Display information of $*";\
+			$(ECHO) "List symbols        of $*";		\
+			$(NM)      $(NM_OPT)      $^ > $@.nm;		\
+			$(ECHO) "Display information of $*";		\
 			$(OBJDUMP) $(OBJDUMP_OPT) $^ > $@;
 
 $(DIR_BIN)/%.x		: $(OBJ_SYS) $(OBJ) 
-			@\
-			$(ECHO) "Linkage             of $*";\
+			@						\
+			$(ECHO) "Linkage             of $*";		\
 			$(LD) -o $@ $^ $(LD_OPT);
 
 $(DIR_OBJ)/%.o		: $(DIR_ASM)/%.s	
-			@\
-			$(ECHO) "Compile             of $*";\
-			$(CC) $(CC_OPT) -I$(DIR_INC)    -o $@   -c $^ ;\
+			@						\
+			$(ECHO) "Compile             of $*";		\
+			$(CC) $(CC_OPT) -I$(DIR_INC)    -o $@   -c $^ ;	\
 			$(CC) $(CC_OPT) -I$(DIR_INC) -S -o $@.s -c $^ ;
 #			@$(AS) $(AS_OPT) $^ -o $@
 
 $(DIR_OBJ)/%.o		: $(DIR_SYS)/%.s	
-			@\
-			$(ECHO) "Compile             of $*";\
-			$(CC) $(CC_OPT) -I$(DIR_INC)    -o $@   -c $^ ;\
+			@						\
+			$(ECHO) "Compile             of $*";		\
+			$(CC) $(CC_OPT) -I$(DIR_INC)    -o $@   -c $^ ;	\
 			$(CC) $(CC_OPT) -I$(DIR_INC) -S -o $@.s -c $^ ;
 #			@$(AS) $(AS_OPT) $^ -o $@
 
 $(DIR_OBJ)/%.o		: $(DIR_C)/%.c
-			@\
-			$(ECHO) "Compile             of $*";\
-			$(CC) $(CC_OPT) -I$(DIR_INC)    -o $@   -c $^ ;\
+			@						\
+			$(ECHO) "Compile             of $*";		\
+			$(CC) $(CC_OPT) -I$(DIR_INC)    -o $@   -c $^ ;	\
 			$(CC) $(CC_OPT) -I$(DIR_INC) -S -o $@.s -c $^ ;
 
@@ -71,6 +71,6 @@
 clean 			:
 			@\
-			$(ECHO) "Delete     temporary files              "`$(PWD)`;\
-			$(RM) $(DIR_OBJ) $(DIR_BIN);\
+			$(ECHO) "Delete     temporary files              "`$(PWD)`;		\
+			$(RM) $(DIR_OBJ) $(DIR_BIN);						\
 			$(MAKE) clean_rec DIR_CLEAN=.;
 
@@ -78,6 +78,6 @@
 clean_rec		:
 			@\
-			$(ECHO) "Delete     temporary files in directory $(DIR_CLEAN)";\
-			$(RM) -f $(DIR_CLEAN)/*~;\
+			$(ECHO) "Delete     temporary files in directory $(DIR_CLEAN)";		\
+			$(RM) -f $(DIR_CLEAN)/*~;						\
 			for files in `$(LS) $(DIR_CLEAN)`; do					\
 			    	if $(TEST) -d $(DIR_CLEAN)/$$files; 				\
Index: /trunk/Softwares/Min.or32/Makefile.morpheo
===================================================================
--- /trunk/Softwares/Min.or32/Makefile.morpheo	(revision 67)
+++ /trunk/Softwares/Min.or32/Makefile.morpheo	(revision 68)
@@ -3,5 +3,5 @@
 MKDIR			= mkdir -p
 ECHO			= echo
-CCACHE			= ccache
+CCACHE			= 
 LS			= ls
 TEST			= test
