Changeset 112 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/src
- Timestamp:
- Mar 18, 2009, 11:36:26 PM (15 years ago)
- Location:
- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/src
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/src/OOO_Engine_allocation.cpp
r109 r112 55 55 // ~~~~~[ Interface : "rename" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 56 56 { 57 ALLOC2_INTERFACE ("rename",IN,WEST,_("Instruction from front_end."),_param->_nb_front_end,_param->_nb_inst_decod[it1]);57 ALLOC2_INTERFACE_BEGIN("rename",IN,WEST,_("Instruction from front_end."),_param->_nb_front_end,_param->_nb_inst_decod[it1]); 58 58 59 59 _ALLOC2_VALACK_IN ( in_RENAME_VAL , VAL ,_param->_nb_front_end,_param->_nb_inst_decod[it1]); … … 84 84 _ALLOC2_SIGNAL_IN ( in_RENAME_EXCEPTION_USE ,"EXCEPTION_USE" ,Texception_t ,_param->_size_exception_use ,_param->_nb_front_end,_param->_nb_inst_decod[it1]); 85 85 _ALLOC2_SIGNAL_IN ( in_RENAME_EXCEPTION ,"EXCEPTION" ,Texception_t ,_param->_size_exception ,_param->_nb_front_end,_param->_nb_inst_decod[it1]); 86 87 ALLOC2_INTERFACE_END(_param->_nb_front_end,_param->_nb_inst_decod[it1]); 86 88 } 87 89 88 90 // ~~~~~[ Interface : "issue" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 89 91 { 90 ALLOC1_INTERFACE ("issue",OUT,EAST,_("Instruction to execute_loop"),_param->_nb_inst_issue);92 ALLOC1_INTERFACE_BEGIN("issue",OUT,EAST,_("Instruction to execute_loop"),_param->_nb_inst_issue); 91 93 92 94 ALLOC1_VALACK_OUT (out_ISSUE_VAL , VAL ); … … 111 113 ALLOC1_SIGNAL_OUT (out_ISSUE_WRITE_RE ,"WRITE_RE" ,Tcontrol_t ,1 ); 112 114 ALLOC1_SIGNAL_OUT (out_ISSUE_NUM_REG_RE ,"NUM_REG_RE" ,Tspecial_address_t,_param->_size_special_register ); 115 116 ALLOC1_INTERFACE_END(_param->_nb_inst_issue); 113 117 } 114 118 115 119 // ~~~~~[ Interface "execute_loop" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 116 120 { 117 ALLOC2_INTERFACE ("execute_loop",IN,EAST,_("Instruction executed, from execute_loop."),_param->_nb_execute_loop,_param->_nb_inst_execute[it1]);121 ALLOC2_INTERFACE_BEGIN("execute_loop",IN,EAST,_("Instruction executed, from execute_loop."),_param->_nb_execute_loop,_param->_nb_inst_execute[it1]); 118 122 119 123 _ALLOC2_VALACK_IN ( in_EXECUTE_LOOP_VAL , VAL ,_param->_nb_execute_loop,_param->_nb_inst_execute[it1]); … … 129 133 _ALLOC2_SIGNAL_IN ( in_EXECUTE_LOOP_ADDRESS ,"ADDRESS" ,Taddress_t ,_param->_size_instruction_address ,_param->_nb_execute_loop,_param->_nb_inst_execute[it1]); 130 134 _ALLOC2_SIGNAL_IN ( in_EXECUTE_LOOP_DATA ,"DATA" ,Tgeneral_data_t ,_param->_size_general_data ,_param->_nb_execute_loop,_param->_nb_inst_execute[it1]); 135 136 ALLOC2_INTERFACE_END(_param->_nb_execute_loop,_param->_nb_inst_execute[it1]); 131 137 } 132 138 133 139 // ~~~~~[ Interface "insert" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 134 140 { 135 ALLOC1_INTERFACE ("insert",OUT,EAST,_("Interface with RegisterFile's stat-list (insert Re-Order-Buffer)."),_param->_sum_inst_insert);141 ALLOC1_INTERFACE_BEGIN("insert",OUT,EAST,_("Interface with RegisterFile's stat-list (insert Re-Order-Buffer)."),_param->_sum_inst_insert); 136 142 137 143 ALLOC1_VALACK_OUT (out_INSERT_VAL , VAL); … … 141 147 ALLOC1_SIGNAL_OUT (out_INSERT_RE_USE ,"RE_USE" ,Tcontrol_t ,1 ); 142 148 ALLOC1_SIGNAL_OUT (out_INSERT_RE_NUM_REG ,"RE_NUM_REG" ,Tspecial_address_t,_param->_size_special_register ); 149 150 ALLOC1_INTERFACE_END(_param->_sum_inst_insert); 143 151 } 144 152 145 153 // // ~~~~~[ Interface "retire" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 146 154 // { 147 // ALLOC1_INTERFACE ("retire",OUT,EAST,_("Interface with RegisterFile's stat-list (retire Re-Order-Buffer)."),_param->_sum_inst_retire);155 // ALLOC1_INTERFACE_BEGIN("retire",OUT,EAST,_("Interface with RegisterFile's stat-list (retire Re-Order-Buffer)."),_param->_sum_inst_retire); 148 156 149 157 // ALLOC1_VALACK_OUT (out_RETIRE_VAL , VAL); … … 157 165 // ALLOC1_SIGNAL_OUT (out_RETIRE_RE_NEW_USE ,"RE_NEW_USE" ,Tcontrol_t ,1 ); 158 166 // ALLOC1_SIGNAL_OUT (out_RETIRE_RE_NEW_NUM_REG ,"RE_NEW_NUM_REG" ,Tspecial_address_t,_param->_size_special_register ); 167 168 // ALLOC1_INTERFACE_END(_param->_sum_inst_retire); 159 169 // } 160 170 161 171 // ~~~~~[ Interface : "branch_complete" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 162 172 { 163 ALLOC1_INTERFACE ("branch_complete",OUT,WEST,_("Instruction to execute_loop"),_param->_nb_inst_branch_complete);173 ALLOC1_INTERFACE_BEGIN("branch_complete",OUT,WEST,_("Instruction to execute_loop"),_param->_nb_inst_branch_complete); 164 174 165 175 ALLOC1_VALACK_OUT (out_BRANCH_COMPLETE_VAL , VAL); … … 171 181 ALLOC1_SIGNAL_OUT (out_BRANCH_COMPLETE_NO_SEQUENCE ,"NO_SEQUENCE" ,Tcontrol_t ,1 ); 172 182 ALLOC1_SIGNAL_IN ( in_BRANCH_COMPLETE_MISS_PREDICTION ,"MISS_PREDICTION" ,Tcontrol_t ,1 ); 183 184 ALLOC1_INTERFACE_END(_param->_nb_inst_branch_complete); 173 185 } 174 186 175 187 // ~~~~~[ Interface : "commit_event" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 176 188 { 177 ALLOC_INTERFACE("commit_event",OUT,WEST,_("Commit an event (exception).")); 178 179 ALLOC_VALACK_OUT (out_COMMIT_EVENT_VAL , VAL); 180 ALLOC_VALACK_IN ( in_COMMIT_EVENT_ACK , ACK); 181 ALLOC_SIGNAL_OUT (out_COMMIT_EVENT_FRONT_END_ID ,"FRONT_END_ID" ,Tcontext_t ,_param->_size_front_end_id ); 182 ALLOC_SIGNAL_OUT (out_COMMIT_EVENT_CONTEXT_ID ,"CONTEXT_ID" ,Tcontext_t ,_param->_size_context_id ); 183 ALLOC_SIGNAL_OUT (out_COMMIT_EVENT_DEPTH ,"DEPTH" ,Tdepth_t ,_param->_size_depth ); 184 ALLOC_SIGNAL_OUT (out_COMMIT_EVENT_TYPE ,"TYPE" ,Tevent_type_t ,_param->_size_event_type ); 185 ALLOC_SIGNAL_OUT (out_COMMIT_EVENT_IS_DELAY_SLOT ,"IS_DELAY_SLOT" ,Tcontrol_t ,1 ); 186 ALLOC_SIGNAL_OUT (out_COMMIT_EVENT_ADDRESS ,"ADDRESS" ,Taddress_t ,_param->_size_instruction_address ); 187 ALLOC_SIGNAL_OUT (out_COMMIT_EVENT_ADDRESS_EPCR_VAL ,"ADDRESS_EPCR_VAL" ,Tcontrol_t ,1 ); 188 ALLOC_SIGNAL_OUT (out_COMMIT_EVENT_ADDRESS_EPCR ,"ADDRESS_EPCR" ,Taddress_t ,_param->_size_instruction_address ); 189 ALLOC_SIGNAL_OUT (out_COMMIT_EVENT_ADDRESS_EEAR_VAL ,"ADDRESS_EEAR_VAL" ,Tcontrol_t ,1 ); 190 ALLOC_SIGNAL_OUT (out_COMMIT_EVENT_ADDRESS_EEAR ,"ADDRESS_EEAR" ,Tgeneral_data_t ,_param->_size_general_data ); 189 ALLOC0_INTERFACE_BEGIN("commit_event",OUT,WEST,_("Commit an event (exception).")); 190 191 ALLOC0_VALACK_OUT(out_COMMIT_EVENT_VAL , VAL); 192 ALLOC0_VALACK_IN ( in_COMMIT_EVENT_ACK , ACK); 193 ALLOC0_SIGNAL_OUT(out_COMMIT_EVENT_FRONT_END_ID ,"FRONT_END_ID" ,Tcontext_t ,_param->_size_front_end_id ); 194 ALLOC0_SIGNAL_OUT(out_COMMIT_EVENT_CONTEXT_ID ,"CONTEXT_ID" ,Tcontext_t ,_param->_size_context_id ); 195 ALLOC0_SIGNAL_OUT(out_COMMIT_EVENT_DEPTH ,"DEPTH" ,Tdepth_t ,_param->_size_depth ); 196 ALLOC0_SIGNAL_OUT(out_COMMIT_EVENT_TYPE ,"TYPE" ,Tevent_type_t ,_param->_size_event_type ); 197 ALLOC0_SIGNAL_OUT(out_COMMIT_EVENT_IS_DELAY_SLOT ,"IS_DELAY_SLOT" ,Tcontrol_t ,1 ); 198 ALLOC0_SIGNAL_OUT(out_COMMIT_EVENT_ADDRESS ,"ADDRESS" ,Taddress_t ,_param->_size_instruction_address ); 199 ALLOC0_SIGNAL_OUT(out_COMMIT_EVENT_ADDRESS_EPCR_VAL ,"ADDRESS_EPCR_VAL" ,Tcontrol_t ,1 ); 200 ALLOC0_SIGNAL_OUT(out_COMMIT_EVENT_ADDRESS_EPCR ,"ADDRESS_EPCR" ,Taddress_t ,_param->_size_instruction_address ); 201 ALLOC0_SIGNAL_OUT(out_COMMIT_EVENT_ADDRESS_EEAR_VAL ,"ADDRESS_EEAR_VAL" ,Tcontrol_t ,1 ); 202 ALLOC0_SIGNAL_OUT(out_COMMIT_EVENT_ADDRESS_EEAR ,"ADDRESS_EEAR" ,Tgeneral_data_t ,_param->_size_general_data ); 203 204 ALLOC0_INTERFACE_END(); 191 205 } 192 206 193 207 // ~~~~~[ Interface "event" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 194 208 { 195 ALLOC2_INTERFACE ("event",IN,WEST,_("Event from context_state."),_param->_nb_front_end,_param->_nb_context[it1]);209 ALLOC2_INTERFACE_BEGIN("event",IN,WEST,_("Event from context_state."),_param->_nb_front_end,_param->_nb_context[it1]); 196 210 197 211 _ALLOC2_VALACK_IN ( in_EVENT_VAL , VAL ,_param->_nb_front_end,_param->_nb_context[it1]); … … 201 215 _ALLOC2_SIGNAL_IN ( in_EVENT_ADDRESS_NEXT_VAL ,"ADDRESS_NEXT_VAL" ,Tcontrol_t ,1 ,_param->_nb_front_end,_param->_nb_context[it1]); 202 216 _ALLOC2_SIGNAL_IN ( in_EVENT_IS_DS_TAKE ,"IS_DS_TAKE" ,Tcontrol_t ,1 ,_param->_nb_front_end,_param->_nb_context[it1]); 217 218 ALLOC2_INTERFACE_END(_param->_nb_front_end,_param->_nb_context[it1]); 203 219 } 204 220 205 221 // ~~~~~[ Interface "spr_event" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 206 222 { 207 ALLOC2_INTERFACE ("spr_event",IN,WEST,_("Exception : save spr and set a lot of special register."),_param->_nb_front_end,_param->_nb_context[it1]);223 ALLOC2_INTERFACE_BEGIN("spr_event",IN,WEST,_("Exception : save spr and set a lot of special register."),_param->_nb_front_end,_param->_nb_context[it1]); 208 224 209 225 _ALLOC2_VALACK_IN ( in_SPR_EVENT_VAL , VAL ,_param->_nb_front_end,_param->_nb_context[it1]); … … 214 230 _ALLOC2_SIGNAL_IN ( in_SPR_EVENT_SR_DSX ,"SR_DSX" ,Tcontrol_t ,1 ,_param->_nb_front_end,_param->_nb_context[it1]); 215 231 _ALLOC2_SIGNAL_IN ( in_SPR_EVENT_SR_TO_ESR ,"SR_TO_ESR" ,Tcontrol_t ,1 ,_param->_nb_front_end,_param->_nb_context[it1]); 232 233 ALLOC2_INTERFACE_END(_param->_nb_front_end,_param->_nb_context[it1]); 216 234 } 217 235 218 236 // ~~~~~[ Interface : "nb_inst" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 219 237 { 220 ALLOC2_INTERFACE ("nb_inst",OUT,WEST,_("Internal number instruction."),_param->_nb_front_end,_param->_nb_context[it1]);238 ALLOC2_INTERFACE_BEGIN("nb_inst",OUT,WEST,_("Internal number instruction."),_param->_nb_front_end,_param->_nb_context[it1]); 221 239 222 240 _ALLOC2_SIGNAL_OUT(out_NB_INST_COMMIT_ALL ,"COMMIT_ALL" ,Tcounter_t ,_param->_size_nb_inst_commit ,_param->_nb_front_end,_param->_nb_context[it1]); 223 241 _ALLOC2_SIGNAL_OUT(out_NB_INST_COMMIT_MEM ,"COMMIT_MEM" ,Tcounter_t ,_param->_size_nb_inst_commit ,_param->_nb_front_end,_param->_nb_context[it1]); 224 242 _ALLOC2_SIGNAL_IN ( in_NB_INST_DECOD_ALL ,"DECOD_ALL" ,Tcounter_t ,_param->_size_nb_inst_decod ,_param->_nb_front_end,_param->_nb_context[it1]); 243 244 ALLOC2_INTERFACE_END(_param->_nb_front_end,_param->_nb_context[it1]); 225 245 } 226 246 227 247 // ~~~~~[ Interface : "depth" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 228 248 { 229 ALLOC2_INTERFACE ("depth",IN,WEST,_("Interface with Prediction unit."),_param->_nb_front_end, _param->_nb_context[it1]);249 ALLOC2_INTERFACE_BEGIN("depth",IN,WEST,_("Interface with Prediction unit."),_param->_nb_front_end, _param->_nb_context[it1]); 230 250 231 251 _ALLOC2_SIGNAL_IN ( in_DEPTH_MIN ,"MIN" ,Tdepth_t ,_param->_size_depth ,_param->_nb_front_end, _param->_nb_context[it1]); 232 252 _ALLOC2_SIGNAL_IN ( in_DEPTH_MAX ,"MAX" ,Tdepth_t ,_param->_size_depth ,_param->_nb_front_end, _param->_nb_context[it1]); 233 253 _ALLOC2_SIGNAL_IN ( in_DEPTH_FULL ,"FULL" ,Tcontrol_t ,1 ,_param->_nb_front_end, _param->_nb_context[it1]); 254 255 ALLOC2_INTERFACE_END(_param->_nb_front_end,_param->_nb_context[it1]); 234 256 } 235 257 236 258 // ~~~~~[ Interface : "spr" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 237 259 { 238 ALLOC2_INTERFACE ("spr",OUT,WEST,_("SPR"),_param->_nb_front_end,_param->_nb_context[it1]);260 ALLOC2_INTERFACE_BEGIN("spr",OUT,WEST,_("SPR"),_param->_nb_front_end,_param->_nb_context[it1]); 239 261 240 262 _ALLOC2_SIGNAL_OUT(out_SPR_SR_IEE ,"SR_IEE" ,Tcontrol_t ,1 ,_param->_nb_front_end,_param->_nb_context[it1]); 241 263 _ALLOC2_SIGNAL_OUT(out_SPR_SR_EPH ,"SR_EPH" ,Tcontrol_t ,1 ,_param->_nb_front_end,_param->_nb_context[it1]); 264 265 ALLOC2_INTERFACE_END(_param->_nb_front_end,_param->_nb_context[it1]); 242 266 } 243 267 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/src/OOO_Engine_deallocation.cpp
r108 r112 117 117 DELETE1_SIGNAL( in_BRANCH_COMPLETE_MISS_PREDICTION ,_param->_nb_inst_branch_complete,1 ); 118 118 119 DELETE _SIGNAL(out_COMMIT_EVENT_VAL , 1);120 DELETE _SIGNAL( in_COMMIT_EVENT_ACK , 1);121 DELETE _SIGNAL(out_COMMIT_EVENT_FRONT_END_ID ,_param->_size_front_end_id );122 DELETE _SIGNAL(out_COMMIT_EVENT_CONTEXT_ID ,_param->_size_context_id );123 DELETE _SIGNAL(out_COMMIT_EVENT_DEPTH ,_param->_size_depth );124 DELETE _SIGNAL(out_COMMIT_EVENT_TYPE ,_param->_size_event_type );125 DELETE _SIGNAL(out_COMMIT_EVENT_IS_DELAY_SLOT ,1 );126 DELETE _SIGNAL(out_COMMIT_EVENT_ADDRESS ,_param->_size_general_data );127 DELETE _SIGNAL(out_COMMIT_EVENT_ADDRESS_EPCR_VAL ,1 );128 DELETE _SIGNAL(out_COMMIT_EVENT_ADDRESS_EPCR ,_param->_size_general_data );129 DELETE _SIGNAL(out_COMMIT_EVENT_ADDRESS_EEAR_VAL ,1 );130 DELETE _SIGNAL(out_COMMIT_EVENT_ADDRESS_EEAR ,_param->_size_general_data );119 DELETE0_SIGNAL(out_COMMIT_EVENT_VAL , 1); 120 DELETE0_SIGNAL( in_COMMIT_EVENT_ACK , 1); 121 DELETE0_SIGNAL(out_COMMIT_EVENT_FRONT_END_ID ,_param->_size_front_end_id ); 122 DELETE0_SIGNAL(out_COMMIT_EVENT_CONTEXT_ID ,_param->_size_context_id ); 123 DELETE0_SIGNAL(out_COMMIT_EVENT_DEPTH ,_param->_size_depth ); 124 DELETE0_SIGNAL(out_COMMIT_EVENT_TYPE ,_param->_size_event_type ); 125 DELETE0_SIGNAL(out_COMMIT_EVENT_IS_DELAY_SLOT ,1 ); 126 DELETE0_SIGNAL(out_COMMIT_EVENT_ADDRESS ,_param->_size_general_data ); 127 DELETE0_SIGNAL(out_COMMIT_EVENT_ADDRESS_EPCR_VAL ,1 ); 128 DELETE0_SIGNAL(out_COMMIT_EVENT_ADDRESS_EPCR ,_param->_size_general_data ); 129 DELETE0_SIGNAL(out_COMMIT_EVENT_ADDRESS_EEAR_VAL ,1 ); 130 DELETE0_SIGNAL(out_COMMIT_EVENT_ADDRESS_EEAR ,_param->_size_general_data ); 131 131 132 132 DELETE2_SIGNAL( in_EVENT_VAL ,_param->_nb_front_end,_param->_nb_context[it1],1 ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/src/Parameters.cpp
r111 r112 63 63 uint32_t * nb_reg_free ,//[nb_rename_unit] 64 64 uint32_t * nb_rename_unit_bank ,//[nb_rename_unit] 65 uint32_t * size_read_counter ,//[nb_rename_unit]65 // uint32_t * size_read_counter ,//[nb_rename_unit] 66 66 uint32_t * nb_load_store_queue ,//[nb_rename_unit] 67 67 uint32_t ** size_store_queue ,//[nb_rename_unit][nb_load_store_queue] … … 119 119 _nb_reg_free = nb_reg_free ; 120 120 _nb_rename_unit_bank = nb_rename_unit_bank ; 121 _size_read_counter = size_read_counter ;121 // _size_read_counter = size_read_counter ; 122 122 _nb_load_store_queue = nb_load_store_queue ; 123 123 _size_store_queue = size_store_queue ; … … 238 238 _nb_special_register [i], 239 239 _nb_reg_free [i], 240 _nb_rename_unit_bank [i], 241 _size_read_counter [i] 240 _nb_rename_unit_bank [i]// , 241 // _size_read_counter [i] 242 242 243 ); 243 244 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/src/Parameters_print.cpp
r97 r112 81 81 for (uint32_t i=0; i<_nb_rename_unit; ++i) 82 82 str+= toString(MSG_INFORMATION)+" * nb_rename_unit_bank ["+toString(i)+"] : "+toString<uint32_t >(_nb_rename_unit_bank [i])+"\n";//[nb_rename_unit] 83 for (uint32_t i=0; i<_nb_rename_unit; ++i)84 str+= toString(MSG_INFORMATION)+" * size_read_counter ["+toString(i)+"] : "+toString<uint32_t >(_size_read_counter [i])+"\n";//[nb_rename_unit]83 // for (uint32_t i=0; i<_nb_rename_unit; ++i) 84 // str+= toString(MSG_INFORMATION)+" * size_read_counter ["+toString(i)+"] : "+toString<uint32_t >(_size_read_counter [i])+"\n";//[nb_rename_unit] 85 85 for (uint32_t i=0; i<_nb_rename_unit; ++i) 86 86 str+= toString(MSG_INFORMATION)+" * nb_load_store_queue ["+toString(i)+"] : "+toString<uint32_t >(_nb_load_store_queue [i])+"\n";//[nb_rename_unit]
Note: See TracChangeset
for help on using the changeset viewer.