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 54)
+++ 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");
   };
