Changeset 112 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Core_Glue/src/Core_Glue_allocation.cpp
- Timestamp:
- Mar 18, 2009, 11:36:26 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Core_Glue/src/Core_Glue_allocation.cpp
r111 r112 56 56 // ~~~~~[ Interface : "rename" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 57 57 { 58 ALLOC2_INTERFACE ("rename",SOUTH,OUT,_("Request between the decod unit and the rename unit"),_param->_nb_front_end,_param->_nb_inst_decod[it1]);58 ALLOC2_INTERFACE_BEGIN("rename",SOUTH,OUT,_("Request between the decod unit and the rename unit"),_param->_nb_front_end,_param->_nb_inst_decod[it1]); 59 59 60 60 _ALLOC2_SIGNAL_OUT(out_RENAME_FRONT_END_ID ,"FRONT_END_ID" ,Tcontext_t ,_param->_size_front_end_id,_param->_nb_front_end,_param->_nb_inst_decod[it1]); 61 62 ALLOC2_INTERFACE_END(_param->_nb_front_end,_param->_nb_inst_decod[it1]); 61 63 } 62 64 63 65 // ~~~~~[ Interface : "branch_complete" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 64 66 { 65 ALLOC2_INTERFACE ("branch_complete_front_end",SOUTH,OUT,_("Branch complete : request between commit unit and prediction unit"),_param->_nb_front_end,_param->_front_end_nb_inst_branch_complete[it1]);67 ALLOC2_INTERFACE_BEGIN("branch_complete_front_end",SOUTH,OUT,_("Branch complete : request between commit unit and prediction unit"),_param->_nb_front_end,_param->_front_end_nb_inst_branch_complete[it1]); 66 68 67 69 _ALLOC2_SIGNAL_OUT(out_BRANCH_COMPLETE_FRONT_END_VAL ,"VAL" ,Tcontrol_t ,1 ,_param->_nb_front_end,_param->_front_end_nb_inst_branch_complete[it1]); … … 72 74 _ALLOC2_SIGNAL_OUT(out_BRANCH_COMPLETE_FRONT_END_NO_SEQUENCE ,"NO_SEQUENCE" ,Tcontrol_t ,1 ,_param->_nb_front_end,_param->_front_end_nb_inst_branch_complete[it1]); 73 75 _ALLOC2_SIGNAL_IN ( in_BRANCH_COMPLETE_FRONT_END_MISS_PREDICTION ,"MISS_PREDICTION" ,Tcontrol_t ,1 ,_param->_nb_front_end,_param->_front_end_nb_inst_branch_complete[it1]); 74 } 75 { 76 ALLOC2_INTERFACE("branch_complete_ooo_engine",SOUTH,IN ,_("Branch complete : request between commit unit and prediction unit"),_param->_nb_ooo_engine,_param->_ooo_engine_nb_inst_branch_complete[it1]); 76 77 ALLOC2_INTERFACE_END(_param->_nb_front_end,_param->_front_end_nb_inst_branch_complete[it1]); 78 79 } 80 { 81 ALLOC2_INTERFACE_BEGIN("branch_complete_ooo_engine",SOUTH,IN ,_("Branch complete : request between commit unit and prediction unit"),_param->_nb_ooo_engine,_param->_ooo_engine_nb_inst_branch_complete[it1]); 77 82 78 83 _ALLOC2_SIGNAL_IN ( in_BRANCH_COMPLETE_OOO_ENGINE_VAL ,"VAL" ,Tcontrol_t ,1 ,_param->_nb_ooo_engine,_param->_ooo_engine_nb_inst_branch_complete[it1]); … … 84 89 _ALLOC2_SIGNAL_IN ( in_BRANCH_COMPLETE_OOO_ENGINE_NO_SEQUENCE ,"NO_SEQUENCE" ,Tcontrol_t ,1 ,_param->_nb_ooo_engine,_param->_ooo_engine_nb_inst_branch_complete[it1]); 85 90 _ALLOC2_SIGNAL_OUT(out_BRANCH_COMPLETE_OOO_ENGINE_MISS_PREDICTION,"MISS_PREDICTION" ,Tcontrol_t ,1 ,_param->_nb_ooo_engine,_param->_ooo_engine_nb_inst_branch_complete[it1]); 86 } 91 92 ALLOC2_INTERFACE_END(_param->_nb_ooo_engine,_param->_ooo_engine_nb_inst_branch_complete[it1]); 93 } 87 94 88 95 // ~~~~~[ Interface : "commit_event" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 89 96 { 90 ALLOC1_INTERFACE ("commit_event_front_end",SOUTH,OUT,_("Commit event : request between commit unit and context state"),_param->_nb_front_end);97 ALLOC1_INTERFACE_BEGIN("commit_event_front_end",SOUTH,OUT,_("Commit event : request between commit unit and context state"),_param->_nb_front_end); 91 98 92 99 ALLOC1_SIGNAL_OUT(out_COMMIT_EVENT_FRONT_END_VAL ,"VAL" ,Tcontrol_t ,1); … … 101 108 ALLOC1_SIGNAL_OUT(out_COMMIT_EVENT_FRONT_END_ADDRESS_EEAR_VAL ,"ADDRESS_EEAR_VAL" ,Tcontrol_t ,1); 102 109 ALLOC1_SIGNAL_OUT(out_COMMIT_EVENT_FRONT_END_ADDRESS_EEAR ,"ADDRESS_EEAR" ,Tgeneral_data_t ,_param->_size_general_data); 103 } 104 105 { 106 ALLOC1_INTERFACE("commit_event_ooo_engine",SOUTH,IN ,_("Commit event : request between commit unit and context state"),_param->_nb_ooo_engine); 110 111 ALLOC1_INTERFACE_END(_param->_nb_front_end); 112 } 113 114 { 115 ALLOC1_INTERFACE_BEGIN("commit_event_ooo_engine",SOUTH,IN ,_("Commit event : request between commit unit and context state"),_param->_nb_ooo_engine); 107 116 108 117 ALLOC1_SIGNAL_IN ( in_COMMIT_EVENT_OOO_ENGINE_VAL ,"VAL" ,Tcontrol_t ,1); … … 118 127 ALLOC1_SIGNAL_IN ( in_COMMIT_EVENT_OOO_ENGINE_ADDRESS_EEAR_VAL ,"ADDRESS_EEAR_VAL" ,Tcontrol_t ,1); 119 128 ALLOC1_SIGNAL_IN ( in_COMMIT_EVENT_OOO_ENGINE_ADDRESS_EEAR ,"ADDRESS_EEAR" ,Tgeneral_data_t ,_param->_size_general_data); 129 130 ALLOC1_INTERFACE_END(_param->_nb_ooo_engine); 120 131 } 121 132 122 133 // ~~~~~[ Interface : "issue" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 123 134 { 124 ALLOC2_INTERFACE ("issue_ooo_engine",SOUTH,IN ,_("Issue : request between rename unit and execute loop"),_param->_nb_ooo_engine,_param->_nb_inst_issue[it1]);135 ALLOC2_INTERFACE_BEGIN("issue_ooo_engine",SOUTH,IN ,_("Issue : request between rename unit and execute loop"),_param->_nb_ooo_engine,_param->_nb_inst_issue[it1]); 125 136 126 137 _ALLOC2_SIGNAL_IN ( in_ISSUE_OOO_ENGINE_VAL ,"VAL" ,Tcontrol_t ,1 ,_param->_nb_ooo_engine,_param->_nb_inst_issue[it1]); … … 145 156 _ALLOC2_SIGNAL_IN ( in_ISSUE_OOO_ENGINE_WRITE_RE ,"WRITE_RE" ,Tcontrol_t ,1 ,_param->_nb_ooo_engine,_param->_nb_inst_issue[it1]); 146 157 _ALLOC2_SIGNAL_IN ( in_ISSUE_OOO_ENGINE_NUM_REG_RE ,"NUM_REG_RE" ,Tspecial_address_t,_param->_size_special_register,_param->_nb_ooo_engine,_param->_nb_inst_issue[it1]); 147 } 148 149 { 150 ALLOC2_INTERFACE("issue_execute_loop",SOUTH,OUT,_("Issue : request between rename unit and execute loop"),_param->_nb_execute_loop,_param->_nb_read_unit[it1]); 158 159 ALLOC2_INTERFACE_END(_param->_nb_ooo_engine,_param->_nb_inst_issue[it1]); 160 } 161 162 { 163 ALLOC2_INTERFACE_BEGIN("issue_execute_loop",SOUTH,OUT,_("Issue : request between rename unit and execute loop"),_param->_nb_execute_loop,_param->_nb_read_unit[it1]); 151 164 152 165 _ALLOC2_SIGNAL_OUT(out_ISSUE_EXECUTE_LOOP_VAL ,"VAL" ,Tcontrol_t ,1 ,_param->_nb_execute_loop,_param->_nb_read_unit[it1]); … … 172 185 _ALLOC2_SIGNAL_OUT(out_ISSUE_EXECUTE_LOOP_WRITE_RE ,"WRITE_RE" ,Tcontrol_t ,1 ,_param->_nb_execute_loop,_param->_nb_read_unit[it1]); 173 186 _ALLOC2_SIGNAL_OUT(out_ISSUE_EXECUTE_LOOP_NUM_REG_RE ,"NUM_REG_RE" ,Tspecial_address_t,_param->_size_special_register,_param->_nb_execute_loop,_param->_nb_read_unit[it1]); 187 188 ALLOC2_INTERFACE_END(_param->_nb_execute_loop,_param->_nb_read_unit[it1]); 174 189 } 175 190 176 191 // ~~~~~[ Interface "execute_loop" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 177 192 { 178 ALLOC3_INTERFACE ("execute_ooo_engine",SOUTH,OUT,_("Execute : request between execute loop and commit unit"),_param->_nb_ooo_engine,_param->_ooo_engine_nb_execute_loop[it1],_param->_nb_inst_execute[it1][it2]);193 ALLOC3_INTERFACE_BEGIN("execute_ooo_engine",SOUTH,OUT,_("Execute : request between execute loop and commit unit"),_param->_nb_ooo_engine,_param->_ooo_engine_nb_execute_loop[it1],_param->_nb_inst_execute[it1][it2]); 179 194 180 195 _ALLOC3_SIGNAL_OUT(out_EXECUTE_OOO_ENGINE_VAL ,"VAL" ,Tcontrol_t ,1 ,_param->_nb_ooo_engine,_param->_ooo_engine_nb_execute_loop[it1],_param->_nb_inst_execute[it1][it2]); … … 190 205 _ALLOC3_SIGNAL_OUT(out_EXECUTE_OOO_ENGINE_ADDRESS ,"ADDRESS" ,Taddress_t ,_param->_size_instruction_address,_param->_nb_ooo_engine,_param->_ooo_engine_nb_execute_loop[it1],_param->_nb_inst_execute[it1][it2]); 191 206 _ALLOC3_SIGNAL_OUT(out_EXECUTE_OOO_ENGINE_DATA ,"DATA" ,Tgeneral_data_t ,_param->_size_general_data,_param->_nb_ooo_engine,_param->_ooo_engine_nb_execute_loop[it1],_param->_nb_inst_execute[it1][it2]); 192 } 193 194 { 195 ALLOC2_INTERFACE("execute_execute_loop",SOUTH,IN ,_("Execute : request between execute loop and commit unit"),_param->_nb_execute_loop,_param->_nb_write_unit[it1]); 207 208 ALLOC3_INTERFACE_END(_param->_nb_ooo_engine,_param->_ooo_engine_nb_execute_loop[it1],_param->_nb_inst_execute[it1][it2]); 209 } 210 211 { 212 ALLOC2_INTERFACE_BEGIN("execute_execute_loop",SOUTH,IN ,_("Execute : request between execute loop and commit unit"),_param->_nb_execute_loop,_param->_nb_write_unit[it1]); 196 213 197 214 _ALLOC2_SIGNAL_IN ( in_EXECUTE_EXECUTE_LOOP_VAL ,"VAL" ,Tcontrol_t ,1 ,_param->_nb_execute_loop,_param->_nb_write_unit[it1]); … … 208 225 _ALLOC2_SIGNAL_IN ( in_EXECUTE_EXECUTE_LOOP_ADDRESS ,"ADDRESS" ,Taddress_t ,_param->_size_instruction_address,_param->_nb_execute_loop,_param->_nb_write_unit[it1]); 209 226 _ALLOC2_SIGNAL_IN ( in_EXECUTE_EXECUTE_LOOP_DATA ,"DATA" ,Tgeneral_data_t ,_param->_size_general_data ,_param->_nb_execute_loop,_param->_nb_write_unit[it1]); 227 228 ALLOC2_INTERFACE_END(_param->_nb_execute_loop,_param->_nb_write_unit[it1]); 210 229 } 211 230 212 231 // ~~~~~[ Interface "insert" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 213 232 { 214 ALLOC2_INTERFACE ("insert_ooo_engine",SOUTH,IN ,_("Insert"),_param->_nb_ooo_engine,_param->_nb_inst_insert[it1]);233 ALLOC2_INTERFACE_BEGIN("insert_ooo_engine",SOUTH,IN ,_("Insert"),_param->_nb_ooo_engine,_param->_nb_inst_insert[it1]); 215 234 216 235 _ALLOC2_SIGNAL_IN ( in_INSERT_OOO_ENGINE_VAL ,"VAL" ,Tcontrol_t ,1 ,_param->_nb_ooo_engine,_param->_nb_inst_insert[it1]); … … 220 239 _ALLOC2_SIGNAL_IN ( in_INSERT_OOO_ENGINE_RE_USE ,"RE_USE" ,Tcontrol_t ,1 ,_param->_nb_ooo_engine,_param->_nb_inst_insert[it1]); 221 240 _ALLOC2_SIGNAL_IN ( in_INSERT_OOO_ENGINE_RE_NUM_REG,"RE_NUM_REG",Tspecial_address_t,_param->_size_special_register,_param->_nb_ooo_engine,_param->_nb_inst_insert[it1]); 222 } 223 224 { 225 ALLOC3_INTERFACE("insert_execute_loop",SOUTH,IN ,_("Insert"),_param->_nb_execute_loop,_param->_execute_loop_nb_ooo_engine[it1],_param->_execute_loop_nb_inst_insert[it1][it2]); 241 242 ALLOC2_INTERFACE_END(_param->_nb_ooo_engine,_param->_nb_inst_insert[it1]); 243 } 244 245 { 246 ALLOC3_INTERFACE_BEGIN("insert_execute_loop",SOUTH,IN ,_("Insert"),_param->_nb_execute_loop,_param->_execute_loop_nb_ooo_engine[it1],_param->_execute_loop_nb_inst_insert[it1][it2]); 226 247 227 248 _ALLOC3_SIGNAL_OUT(out_INSERT_EXECUTE_LOOP_VAL ,"VAL" ,Tcontrol_t ,1 ,_param->_nb_execute_loop,_param->_execute_loop_nb_ooo_engine[it1],_param->_execute_loop_nb_inst_insert[it1][it2]); … … 231 252 _ALLOC3_SIGNAL_OUT(out_INSERT_EXECUTE_LOOP_RE_USE ,"RE_USE" ,Tcontrol_t ,1 ,_param->_nb_execute_loop,_param->_execute_loop_nb_ooo_engine[it1],_param->_execute_loop_nb_inst_insert[it1][it2]); 232 253 _ALLOC3_SIGNAL_OUT(out_INSERT_EXECUTE_LOOP_RE_NUM_REG,"RE_NUM_REG",Tspecial_address_t,_param->_size_special_register,_param->_nb_execute_loop,_param->_execute_loop_nb_ooo_engine[it1],_param->_execute_loop_nb_inst_insert[it1][it2]); 254 255 ALLOC3_INTERFACE_END(_param->_nb_execute_loop,_param->_execute_loop_nb_ooo_engine[it1],_param->_execute_loop_nb_inst_insert[it1][it2]); 233 256 } 234 257
Note: See TracChangeset
for help on using the changeset viewer.