Changeset 68 for 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
- Timestamp:
- Dec 8, 2007, 5:12:36 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
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
r54 r68 22 22 { 23 23 log_printf(FUNC,Read_queue,"vhdl_declaration","Begin"); 24 25 26 vhdl->set_signal ("internal_READ_QUEUE_OUT_VAL ",1); 27 28 vhdl->set_signal ("reg_NEED_NEW_HEAD ",1); 29 vhdl->set_signal ("reg_READ_RA_VAL ",1); 30 vhdl->set_signal ("reg_READ_RB_VAL ",1); 31 vhdl->set_signal ("reg_READ_RC_VAL ",1); 32 vhdl->set_signal ("reg_DATA_RA_VAL ",1); 33 vhdl->set_signal ("reg_DATA_RB_VAL ",1); 34 vhdl->set_signal ("reg_DATA_RA ",_param->_size_general_data); 35 vhdl->set_signal ("reg_DATA_RB ",_param->_size_general_data); 36 vhdl->set_signal ("reg_DATA_RC_VAL ",1); 37 vhdl->set_signal ("reg_DATA_RC ",_param->_size_special_data); 38 39 vhdl->set_signal ("internal_NEXT_NEED_NEW_HEAD ",1); 40 vhdl->set_signal ("internal_NEXT_READ_RA_VAL ",1); 41 vhdl->set_signal ("internal_NEXT_READ_RB_VAL ",1); 42 vhdl->set_signal ("internal_NEXT_READ_RC_VAL ",1); 43 vhdl->set_signal ("internal_NEXT_DATA_RA_VAL ",1); 44 vhdl->set_signal ("internal_NEXT_DATA_RB_VAL ",1); 45 vhdl->set_signal ("internal_NEXT_DATA_RA ",_param->_size_general_data); 46 vhdl->set_signal ("internal_NEXT_DATA_RB ",_param->_size_general_data); 47 vhdl->set_signal ("internal_NEXT_DATA_RC_VAL ",1); 48 vhdl->set_signal ("internal_NEXT_DATA_RC ",_param->_size_special_data); 49 50 vhdl->set_signal ("internal_READ_RA_VAL ",1); 51 vhdl->set_signal ("internal_READ_RB_VAL ",1); 52 vhdl->set_signal ("internal_READ_RC_VAL ",1); 53 vhdl->set_signal ("internal_DATA_RA_VAL ",1); 54 vhdl->set_signal ("internal_DATA_RB_VAL ",1); 55 vhdl->set_signal ("internal_DATA_RC_VAL ",1); 56 57 58 vhdl->set_alias ("internal_QUEUE_INSERT_VAL ",std_logic(1)," in_READ_QUEUE_IN_VAL",std_logic_range(1)); 59 vhdl->set_alias ("internal_QUEUE_INSERT_ACK ",std_logic(1),"out_READ_QUEUE_IN_ACK",std_logic_range(1)); 60 vhdl->set_signal ("internal_QUEUE_INSERT_DATA ",_param->_size_internal_queue); 61 vhdl->set_signal ("internal_QUEUE_RETIRE_DATA ",_param->_size_internal_queue); 62 vhdl->set_signal ("internal_QUEUE_RETIRE_VAL ",1); 63 vhdl->set_signal ("internal_QUEUE_RETIRE_ACK ",1); 64 65 uint32_t min = 0; 66 uint32_t max, size; 67 68 if(_param->_have_port_context_id ) 69 { 70 size = _param->_size_context_id; 71 max = min-1+size; 72 vhdl->set_alias ("internal_CONTEXT_ID ",std_logic(size),"internal_QUEUE_RETIRE_DATA",std_logic_range(_param->_size_internal_queue,max,min)); 73 min = max+1; 74 } 75 if(_param->_have_port_front_end_id ) 76 { 77 size = _param->_size_front_end_id; 78 max = min-1+size; 79 vhdl->set_alias ("internal_FRONT_END_ID ",std_logic(size),"internal_QUEUE_RETIRE_DATA",std_logic_range(_param->_size_internal_queue,max,min)); 80 min = max+1; 81 } 82 if(_param->_have_port_ooo_engine_id ) 83 { 84 size = _param->_size_ooo_engine_id; 85 max = min-1+size; 86 vhdl->set_alias ("internal_OOO_ENGINE_ID ",std_logic(size),"internal_QUEUE_RETIRE_DATA",std_logic_range(_param->_size_internal_queue,max,min)); 87 min = max+1; 88 } 89 if(_param->_have_port_rob_id ) 90 { 91 size = _param->_size_rob_id; 92 max = min-1+size; 93 vhdl->set_alias ("internal_ROB_ID ",std_logic(size),"internal_QUEUE_RETIRE_DATA",std_logic_range(_param->_size_internal_queue,max,min)); 94 min = max+1; 95 } 96 97 size = _param->_size_operation; 98 max = min-1+size; 99 vhdl->set_alias ("internal_OPERATION ",std_logic(size),"internal_QUEUE_RETIRE_DATA",std_logic_range(_param->_size_internal_queue,max,min)); 100 min = max+1; 101 102 size = _param->_size_type; 103 max = min-1+size; 104 vhdl->set_alias ("internal_TYPE ",std_logic(size),"internal_QUEUE_RETIRE_DATA",std_logic_range(_param->_size_internal_queue,max,min)); 105 min = max+1; 106 107 size = 1; 108 max = min-1+size; 109 vhdl->set_alias ("internal_HAS_IMMEDIAT ",std_logic(size),"internal_QUEUE_RETIRE_DATA",std_logic_range(_param->_size_internal_queue,max,min)); 110 min = max+1; 111 112 size = _param->_size_general_data; 113 max = min-1+size; 114 vhdl->set_alias ("internal_IMMEDIAT ",std_logic(size),"internal_QUEUE_RETIRE_DATA",std_logic_range(_param->_size_internal_queue,max,min)); 115 min = max+1; 116 117 size = 1; 118 max = min-1+size; 119 vhdl->set_alias ("internal_READ_RA ",std_logic(size),"internal_QUEUE_RETIRE_DATA",std_logic_range(_param->_size_internal_queue,max,min)); 120 min = max+1; 121 122 size = _param->_size_general_register; 123 max = min-1+size; 124 vhdl->set_alias ("internal_NUM_REG_RA ",std_logic(size),"internal_QUEUE_RETIRE_DATA",std_logic_range(_param->_size_internal_queue,max,min)); 125 min = max+1; 126 127 size = 1; 128 max = min-1+size; 129 vhdl->set_alias ("internal_READ_RB ",std_logic(size),"internal_QUEUE_RETIRE_DATA",std_logic_range(_param->_size_internal_queue,max,min)); 130 min = max+1; 131 132 size = _param->_size_general_register; 133 max = min-1+size; 134 vhdl->set_alias ("internal_NUM_REG_RB ",std_logic(size),"internal_QUEUE_RETIRE_DATA",std_logic_range(_param->_size_internal_queue,max,min)); 135 min = max+1; 136 137 size = 1; 138 max = min-1+size; 139 vhdl->set_alias ("internal_READ_RC ",std_logic(size),"internal_QUEUE_RETIRE_DATA",std_logic_range(_param->_size_internal_queue,max,min)); 140 min = max+1; 141 142 size = _param->_size_special_register; 143 max = min-1+size; 144 vhdl->set_alias ("internal_NUM_REG_RC ",std_logic(size),"internal_QUEUE_RETIRE_DATA",std_logic_range(_param->_size_internal_queue,max,min)); 145 min = max+1; 146 147 size = 1; 148 max = min-1+size; 149 vhdl->set_alias ("internal_WRITE_RD ",std_logic(size),"internal_QUEUE_RETIRE_DATA",std_logic_range(_param->_size_internal_queue,max,min)); 150 min = max+1; 151 152 size = _param->_size_general_register; 153 max = min-1+size; 154 vhdl->set_alias ("internal_NUM_REG_RD ",std_logic(size),"internal_QUEUE_RETIRE_DATA",std_logic_range(_param->_size_internal_queue,max,min)); 155 min = max+1; 156 157 size = 1; 158 max = min-1+size; 159 vhdl->set_alias ("internal_WRITE_RE ",std_logic(size),"internal_QUEUE_RETIRE_DATA",std_logic_range(_param->_size_internal_queue,max,min)); 160 min = max+1; 161 162 size = _param->_size_special_register; 163 max = min-1+size; 164 vhdl->set_alias ("internal_NUM_REG_RE ",std_logic(size),"internal_QUEUE_RETIRE_DATA",std_logic_range(_param->_size_internal_queue,max,min)); 165 min = max+1; 166 167 24 168 log_printf(FUNC,Read_queue,"vhdl_declaration","End"); 25 169 };
Note: See TracChangeset
for help on using the changeset viewer.