Changeset 112 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_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/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue_allocation.cpp
r88 r112 7 7 8 8 #include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/include/Register_unit_Glue.h" 9 #include "Behavioural/include/Allocation.h" 9 10 10 11 namespace morpheo { … … 50 51 out_CONST_1 = interface->set_signal_out <Tcontrol_t> ("const_1",1); 51 52 52 // ~~~~~[ Interface "gpr_read" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 53 in_GPR_READ_VAL = new SC_IN (Tcontrol_t ) * [_param->_nb_gpr_read]; 54 out_GPR_READ_ACK = new SC_OUT(Tcontrol_t ) * [_param->_nb_gpr_read]; 55 if (_param->_have_port_ooo_engine_id == true) 56 in_GPR_READ_OOO_ENGINE_ID = new SC_IN (Tcontext_t ) * [_param->_nb_gpr_read]; 57 out_GPR_READ_DATA = new SC_OUT(Tgeneral_data_t ) * [_param->_nb_gpr_read]; 58 out_GPR_READ_DATA_VAL = new SC_OUT(Tcontrol_t ) * [_param->_nb_gpr_read]; 59 60 out_GPR_READ_REGISTERFILE_VAL = new SC_OUT(Tcontrol_t ) ** [_param->_nb_ooo_engine]; 61 in_GPR_READ_REGISTERFILE_ACK = new SC_IN (Tcontrol_t ) ** [_param->_nb_ooo_engine]; 62 in_GPR_READ_REGISTERFILE_DATA = new SC_IN (Tgeneral_data_t ) ** [_param->_nb_ooo_engine]; 63 64 out_GPR_READ_STATUS_VAL = new SC_OUT(Tcontrol_t ) ** [_param->_nb_ooo_engine]; 65 in_GPR_READ_STATUS_ACK = new SC_IN (Tcontrol_t ) ** [_param->_nb_ooo_engine]; 66 in_GPR_READ_STATUS_DATA_VAL = new SC_IN (Tcontrol_t ) ** [_param->_nb_ooo_engine]; 67 68 for (uint32_t i=0; i<_param->_nb_ooo_engine; i++) 69 { 70 out_GPR_READ_REGISTERFILE_VAL [i] = new SC_OUT(Tcontrol_t ) * [_param->_nb_gpr_read]; 71 in_GPR_READ_REGISTERFILE_ACK [i] = new SC_IN (Tcontrol_t ) * [_param->_nb_gpr_read]; 72 in_GPR_READ_REGISTERFILE_DATA [i] = new SC_IN (Tgeneral_data_t ) * [_param->_nb_gpr_read]; 73 74 out_GPR_READ_STATUS_VAL [i] = new SC_OUT(Tcontrol_t ) * [_param->_nb_gpr_read]; 75 in_GPR_READ_STATUS_ACK [i] = new SC_IN (Tcontrol_t ) * [_param->_nb_gpr_read]; 76 in_GPR_READ_STATUS_DATA_VAL [i] = new SC_IN (Tcontrol_t ) * [_param->_nb_gpr_read]; 77 } 78 79 for (uint32_t j=0; j<_param->_nb_gpr_read; j++) 80 { 81 Interface_fifo * interface = _interfaces->set_interface("gpr_read_"+toString(j) 82 #ifdef POSITION 83 ,IN 84 ,NORTH, 85 "Interface to read generalist register" 86 #endif 87 ); 88 89 in_GPR_READ_VAL [j] = interface->set_signal_valack_in (VAL); 90 out_GPR_READ_ACK [j] = interface->set_signal_valack_out (ACK); 91 if (_param->_have_port_ooo_engine_id == true) 92 in_GPR_READ_OOO_ENGINE_ID [j] = interface->set_signal_in <Tcontext_t > ("ooo_engine_id", _param->_size_ooo_engine_id); 93 out_GPR_READ_DATA [j] = interface->set_signal_out<Tgeneral_data_t> ("data" , _param->_size_general_data); 94 out_GPR_READ_DATA_VAL [j] = interface->set_signal_out<Tcontrol_t > ("data_val" , 1); 95 96 for (uint32_t i=0; i<_param->_nb_ooo_engine; i++) 97 { 98 { 99 Interface_fifo * interface = _interfaces->set_interface("gpr_read_registerfile_"+toString(i)+"_"+toString(j) 100 #ifdef POSITION 101 ,IN 102 ,NORTH, 103 "Interface to read generalist register - from/to register file" 104 #endif 105 ); 106 107 out_GPR_READ_REGISTERFILE_VAL [i][j] = interface->set_signal_valack_out (VAL); 108 in_GPR_READ_REGISTERFILE_ACK [i][j] = interface->set_signal_valack_in (ACK); 109 in_GPR_READ_REGISTERFILE_DATA [i][j] = interface->set_signal_in <Tgeneral_data_t> ("data" , _param->_size_general_data); 110 } 111 { 112 Interface_fifo * interface = _interfaces->set_interface("gpr_read_status_"+toString(i)+"_"+toString(j) 113 #ifdef POSITION 114 ,IN 115 ,NORTH, 116 "Interface to read generalist register - from/to status" 117 #endif 118 ); 119 120 121 out_GPR_READ_STATUS_VAL [i][j] = interface->set_signal_valack_out (VAL); 122 in_GPR_READ_STATUS_ACK [i][j] = interface->set_signal_valack_in (ACK); 123 in_GPR_READ_STATUS_DATA_VAL [i][j] = interface->set_signal_in <Tcontrol_t > ("data_val" , 1); 124 } 125 } 126 } 127 128 // ~~~~~[ Interface "spr_read" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 129 in_SPR_READ_VAL = new SC_IN (Tcontrol_t ) * [_param->_nb_spr_read]; 130 out_SPR_READ_ACK = new SC_OUT(Tcontrol_t ) * [_param->_nb_spr_read]; 131 if (_param->_have_port_ooo_engine_id == true) 132 in_SPR_READ_OOO_ENGINE_ID = new SC_IN (Tcontext_t ) * [_param->_nb_spr_read]; 133 out_SPR_READ_DATA = new SC_OUT(Tspecial_data_t ) * [_param->_nb_spr_read]; 134 out_SPR_READ_DATA_VAL = new SC_OUT(Tcontrol_t ) * [_param->_nb_spr_read]; 135 136 out_SPR_READ_REGISTERFILE_VAL = new SC_OUT(Tcontrol_t ) ** [_param->_nb_ooo_engine]; 137 in_SPR_READ_REGISTERFILE_ACK = new SC_IN (Tcontrol_t ) ** [_param->_nb_ooo_engine]; 138 in_SPR_READ_REGISTERFILE_DATA = new SC_IN (Tspecial_data_t ) ** [_param->_nb_ooo_engine]; 139 140 out_SPR_READ_STATUS_VAL = new SC_OUT(Tcontrol_t ) ** [_param->_nb_ooo_engine]; 141 in_SPR_READ_STATUS_ACK = new SC_IN (Tcontrol_t ) ** [_param->_nb_ooo_engine]; 142 in_SPR_READ_STATUS_DATA_VAL = new SC_IN (Tcontrol_t ) ** [_param->_nb_ooo_engine]; 143 144 for (uint32_t i=0; i<_param->_nb_ooo_engine; i++) 145 { 146 out_SPR_READ_REGISTERFILE_VAL [i] = new SC_OUT(Tcontrol_t ) * [_param->_nb_spr_read]; 147 in_SPR_READ_REGISTERFILE_ACK [i] = new SC_IN (Tcontrol_t ) * [_param->_nb_spr_read]; 148 in_SPR_READ_REGISTERFILE_DATA [i] = new SC_IN (Tspecial_data_t ) * [_param->_nb_spr_read]; 149 150 out_SPR_READ_STATUS_VAL [i] = new SC_OUT(Tcontrol_t ) * [_param->_nb_spr_read]; 151 in_SPR_READ_STATUS_ACK [i] = new SC_IN (Tcontrol_t ) * [_param->_nb_spr_read]; 152 in_SPR_READ_STATUS_DATA_VAL [i] = new SC_IN (Tcontrol_t ) * [_param->_nb_spr_read]; 153 } 154 155 for (uint32_t j=0; j<_param->_nb_spr_read; j++) 156 { 157 Interface_fifo * interface = _interfaces->set_interface("spr_read_"+toString(j) 158 #ifdef POSITION 159 ,IN 160 ,NORTH, 161 "Interface to read special register" 162 #endif 163 ); 164 165 in_SPR_READ_VAL [j] = interface->set_signal_valack_in (VAL); 166 out_SPR_READ_ACK [j] = interface->set_signal_valack_out (ACK); 167 if (_param->_have_port_ooo_engine_id == true) 168 in_SPR_READ_OOO_ENGINE_ID [j] = interface->set_signal_in <Tcontext_t > ("ooo_engine_id", _param->_size_ooo_engine_id); 169 out_SPR_READ_DATA [j] = interface->set_signal_out<Tspecial_data_t> ("data" , _param->_size_special_data); 170 out_SPR_READ_DATA_VAL [j] = interface->set_signal_out<Tcontrol_t > ("data_val" , 1); 171 172 for (uint32_t i=0; i<_param->_nb_ooo_engine; i++) 173 { 174 { 175 Interface_fifo * interface = _interfaces->set_interface("spr_read_registerfile_"+toString(i)+"_"+toString(j) 176 #ifdef POSITION 177 ,IN 178 ,NORTH, 179 "Interface to read special register - from/to register file" 180 #endif 181 ); 182 183 out_SPR_READ_REGISTERFILE_VAL [i][j] = interface->set_signal_valack_out (VAL); 184 in_SPR_READ_REGISTERFILE_ACK [i][j] = interface->set_signal_valack_in (ACK); 185 in_SPR_READ_REGISTERFILE_DATA [i][j] = interface->set_signal_in <Tspecial_data_t> ("data" , _param->_size_special_data); 186 } 187 { 188 Interface_fifo * interface = _interfaces->set_interface("spr_read_status_"+toString(i)+"_"+toString(j) 189 #ifdef POSITION 190 ,IN 191 ,NORTH, 192 "Interface to read special register - from/to status" 193 #endif 194 ); 195 196 197 out_SPR_READ_STATUS_VAL [i][j] = interface->set_signal_valack_out (VAL); 198 in_SPR_READ_STATUS_ACK [i][j] = interface->set_signal_valack_in (ACK); 199 in_SPR_READ_STATUS_DATA_VAL [i][j] = interface->set_signal_in <Tcontrol_t > ("data_val" , 1); 200 } 201 } 202 } 203 204 // ~~~~~[ Interface "gpr_write" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 205 in_GPR_WRITE_VAL = new SC_IN (Tcontrol_t ) * [_param->_nb_gpr_write]; 206 out_GPR_WRITE_ACK = new SC_OUT(Tcontrol_t ) * [_param->_nb_gpr_write]; 207 if (_param->_have_port_ooo_engine_id == true) 208 in_GPR_WRITE_OOO_ENGINE_ID = new SC_IN (Tcontext_t ) * [_param->_nb_gpr_write]; 209 210 out_GPR_WRITE_REGISTERFILE_VAL = new SC_OUT(Tcontrol_t ) ** [_param->_nb_ooo_engine]; 211 in_GPR_WRITE_REGISTERFILE_ACK = new SC_IN (Tcontrol_t ) ** [_param->_nb_ooo_engine]; 212 213 out_GPR_WRITE_STATUS_VAL = new SC_OUT(Tcontrol_t ) ** [_param->_nb_ooo_engine]; 214 in_GPR_WRITE_STATUS_ACK = new SC_IN (Tcontrol_t ) ** [_param->_nb_ooo_engine]; 215 216 for (uint32_t i=0; i<_param->_nb_ooo_engine; i++) 217 { 218 out_GPR_WRITE_REGISTERFILE_VAL [i] = new SC_OUT(Tcontrol_t ) * [_param->_nb_gpr_write]; 219 in_GPR_WRITE_REGISTERFILE_ACK [i] = new SC_IN (Tcontrol_t ) * [_param->_nb_gpr_write]; 220 221 out_GPR_WRITE_STATUS_VAL [i] = new SC_OUT(Tcontrol_t ) * [_param->_nb_gpr_write]; 222 in_GPR_WRITE_STATUS_ACK [i] = new SC_IN (Tcontrol_t ) * [_param->_nb_gpr_write]; 223 } 224 225 for (uint32_t j=0; j<_param->_nb_gpr_write; j++) 226 { 227 Interface_fifo * interface = _interfaces->set_interface("gpr_write_"+toString(j) 228 #ifdef POSITION 229 ,IN 230 ,NORTH, 231 "Interface to write generalist register" 232 #endif 233 ); 234 235 in_GPR_WRITE_VAL [j] = interface->set_signal_valack_in (VAL); 236 out_GPR_WRITE_ACK [j] = interface->set_signal_valack_out (ACK); 237 if (_param->_have_port_ooo_engine_id == true) 238 in_GPR_WRITE_OOO_ENGINE_ID [j] = interface->set_signal_in <Tcontext_t > ("ooo_engine_id", _param->_size_ooo_engine_id); 239 240 for (uint32_t i=0; i<_param->_nb_ooo_engine; i++) 241 { 242 { 243 Interface_fifo * interface = _interfaces->set_interface("gpr_write_registerfile_"+toString(i)+"_"+toString(j) 244 #ifdef POSITION 245 ,IN 246 ,NORTH, 247 "Interface to write generalist register - from/to register file" 248 #endif 249 ); 250 251 out_GPR_WRITE_REGISTERFILE_VAL [i][j] = interface->set_signal_valack_out (VAL); 252 in_GPR_WRITE_REGISTERFILE_ACK [i][j] = interface->set_signal_valack_in (ACK); 253 } 254 { 255 Interface_fifo * interface = _interfaces->set_interface("gpr_write_status_"+toString(i)+"_"+toString(j) 256 #ifdef POSITION 257 ,IN 258 ,NORTH, 259 "Interface to write generalist register - from/to status" 260 #endif 261 ); 262 263 264 out_GPR_WRITE_STATUS_VAL [i][j] = interface->set_signal_valack_out (VAL); 265 in_GPR_WRITE_STATUS_ACK [i][j] = interface->set_signal_valack_in (ACK); 266 } 267 } 268 } 269 270 // ~~~~~[ Interface "spr_write" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 271 in_SPR_WRITE_VAL = new SC_IN (Tcontrol_t ) * [_param->_nb_spr_write]; 272 out_SPR_WRITE_ACK = new SC_OUT(Tcontrol_t ) * [_param->_nb_spr_write]; 273 if (_param->_have_port_ooo_engine_id == true) 274 in_SPR_WRITE_OOO_ENGINE_ID = new SC_IN (Tcontext_t ) * [_param->_nb_spr_write]; 275 276 out_SPR_WRITE_REGISTERFILE_VAL = new SC_OUT(Tcontrol_t ) ** [_param->_nb_ooo_engine]; 277 in_SPR_WRITE_REGISTERFILE_ACK = new SC_IN (Tcontrol_t ) ** [_param->_nb_ooo_engine]; 278 279 out_SPR_WRITE_STATUS_VAL = new SC_OUT(Tcontrol_t ) ** [_param->_nb_ooo_engine]; 280 in_SPR_WRITE_STATUS_ACK = new SC_IN (Tcontrol_t ) ** [_param->_nb_ooo_engine]; 281 282 for (uint32_t i=0; i<_param->_nb_ooo_engine; i++) 283 { 284 out_SPR_WRITE_REGISTERFILE_VAL [i] = new SC_OUT(Tcontrol_t ) * [_param->_nb_spr_write]; 285 in_SPR_WRITE_REGISTERFILE_ACK [i] = new SC_IN (Tcontrol_t ) * [_param->_nb_spr_write]; 286 287 out_SPR_WRITE_STATUS_VAL [i] = new SC_OUT(Tcontrol_t ) * [_param->_nb_spr_write]; 288 in_SPR_WRITE_STATUS_ACK [i] = new SC_IN (Tcontrol_t ) * [_param->_nb_spr_write]; 289 } 290 291 for (uint32_t j=0; j<_param->_nb_spr_write; j++) 292 { 293 Interface_fifo * interface = _interfaces->set_interface("spr_write_"+toString(j) 294 #ifdef POSITION 295 ,IN 296 ,NORTH, 297 "Interface to write special register" 298 #endif 299 ); 300 301 in_SPR_WRITE_VAL [j] = interface->set_signal_valack_in (VAL); 302 out_SPR_WRITE_ACK [j] = interface->set_signal_valack_out (ACK); 303 if (_param->_have_port_ooo_engine_id == true) 304 in_SPR_WRITE_OOO_ENGINE_ID [j] = interface->set_signal_in <Tcontext_t > ("ooo_engine_id", _param->_size_ooo_engine_id); 305 306 for (uint32_t i=0; i<_param->_nb_ooo_engine; i++) 307 { 308 { 309 Interface_fifo * interface = _interfaces->set_interface("spr_write_registerfile_"+toString(i)+"_"+toString(j) 310 #ifdef POSITION 311 ,IN 312 ,NORTH, 313 "Interface to write special register - from/to register file" 314 #endif 315 ); 316 317 out_SPR_WRITE_REGISTERFILE_VAL [i][j] = interface->set_signal_valack_out (VAL); 318 in_SPR_WRITE_REGISTERFILE_ACK [i][j] = interface->set_signal_valack_in (ACK); 319 } 320 { 321 Interface_fifo * interface = _interfaces->set_interface("spr_write_status_"+toString(i)+"_"+toString(j) 322 #ifdef POSITION 323 ,IN 324 ,NORTH, 325 "Interface to write special register - from/to status" 326 #endif 327 ); 328 329 330 out_SPR_WRITE_STATUS_VAL [i][j] = interface->set_signal_valack_out (VAL); 331 in_SPR_WRITE_STATUS_ACK [i][j] = interface->set_signal_valack_in (ACK); 332 } 333 } 334 } 335 336 // ~~~~~[ Interface "insert_rob" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 337 in_INSERT_ROB_VAL = new SC_IN (Tcontrol_t) ** [_param->_nb_ooo_engine]; 338 out_INSERT_ROB_ACK = new SC_OUT(Tcontrol_t) ** [_param->_nb_ooo_engine]; 339 in_INSERT_ROB_RD_USE = new SC_IN (Tcontrol_t) ** [_param->_nb_ooo_engine]; 340 in_INSERT_ROB_RE_USE = new SC_IN (Tcontrol_t) ** [_param->_nb_ooo_engine]; 341 out_INSERT_ROB_GPR_STATUS_VAL = new SC_OUT(Tcontrol_t) ** [_param->_nb_ooo_engine]; 342 in_INSERT_ROB_GPR_STATUS_ACK = new SC_IN (Tcontrol_t) ** [_param->_nb_ooo_engine]; 343 out_INSERT_ROB_SPR_STATUS_VAL = new SC_OUT(Tcontrol_t) ** [_param->_nb_ooo_engine]; 344 in_INSERT_ROB_SPR_STATUS_ACK = new SC_IN (Tcontrol_t) ** [_param->_nb_ooo_engine]; 345 346 for (uint32_t i=0; i<_param->_nb_ooo_engine; i++) 347 { 348 uint32_t x=_param->_nb_inst_insert_rob [i]; 349 350 in_INSERT_ROB_VAL [i] = new SC_IN (Tcontrol_t) * [x]; 351 out_INSERT_ROB_ACK [i] = new SC_OUT(Tcontrol_t) * [x]; 352 in_INSERT_ROB_RD_USE [i] = new SC_IN (Tcontrol_t) * [x]; 353 in_INSERT_ROB_RE_USE [i] = new SC_IN (Tcontrol_t) * [x]; 354 out_INSERT_ROB_GPR_STATUS_VAL [i] = new SC_OUT(Tcontrol_t) * [x]; 355 in_INSERT_ROB_GPR_STATUS_ACK [i] = new SC_IN (Tcontrol_t) * [x]; 356 out_INSERT_ROB_SPR_STATUS_VAL [i] = new SC_OUT(Tcontrol_t) * [x]; 357 in_INSERT_ROB_SPR_STATUS_ACK [i] = new SC_IN (Tcontrol_t) * [x]; 358 359 for (uint32_t j=0; j<x; j++) 360 { 361 { 362 Interface_fifo * interface = _interfaces->set_interface("insert_rob_"+toString(i)+"_"+toString(j) 363 #ifdef POSITION 364 ,IN 365 ,WEST 366 ,"Interface to update status (insert)" 367 #endif 368 ); 369 370 in_INSERT_ROB_VAL [i][j] = interface->set_signal_valack_in (VAL); 371 out_INSERT_ROB_ACK [i][j] = interface->set_signal_valack_out(ACK); 372 in_INSERT_ROB_RD_USE [i][j] = interface->set_signal_in <Tcontrol_t> ("rd_use", 1); 373 in_INSERT_ROB_RE_USE [i][j] = interface->set_signal_in <Tcontrol_t> ("re_use", 1); 374 } 375 { 376 Interface_fifo * interface = _interfaces->set_interface("insert_rob_gpr_status_"+toString(i)+"_"+toString(j) 377 #ifdef POSITION 378 ,IN 379 ,EAST 380 ,"Interface to update status (insert)" 381 #endif 382 ); 383 384 out_INSERT_ROB_GPR_STATUS_VAL [i][j] = interface->set_signal_valack_out(VAL); 385 in_INSERT_ROB_GPR_STATUS_ACK [i][j] = interface->set_signal_valack_in (ACK); 386 } 387 { 388 Interface_fifo * interface = _interfaces->set_interface("insert_rob_spr_status_"+toString(i)+"_"+toString(j) 389 #ifdef POSITION 390 ,IN 391 ,EAST 392 ,"Interface to update status (insert)" 393 #endif 394 ); 395 396 out_INSERT_ROB_SPR_STATUS_VAL [i][j] = interface->set_signal_valack_out(VAL); 397 in_INSERT_ROB_SPR_STATUS_ACK [i][j] = interface->set_signal_valack_in (ACK); 398 } 399 } 400 } 53 // ~~~~~[ Interface "gpr_read" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 54 { 55 ALLOC1_INTERFACE_BEGIN("gpr_read",IN,NORTH,_("Interface to read generalist register"),_param->_nb_gpr_read); 56 57 ALLOC1_VALACK_IN ( in_GPR_READ_VAL ,VAL); 58 ALLOC1_VALACK_OUT(out_GPR_READ_ACK ,ACK); 59 ALLOC1_SIGNAL_IN ( in_GPR_READ_OOO_ENGINE_ID ,"ooo_engine_id",Tcontext_t , _param->_size_ooo_engine_id); 60 ALLOC1_SIGNAL_OUT(out_GPR_READ_DATA ,"data" ,Tgeneral_data_t, _param->_size_general_data); 61 ALLOC1_SIGNAL_OUT(out_GPR_READ_DATA_VAL ,"data_val" ,Tcontrol_t , 1); 62 63 ALLOC1_INTERFACE_END(_param->_nb_gpr_read); 64 } 65 66 { 67 ALLOC2_INTERFACE_BEGIN("gpr_read_registerfile",IN,NORTH,_("Interface to read generalist register - from/to register file"),_param->_nb_ooo_engine,_param->_nb_gpr_read); 68 69 ALLOC2_VALACK_OUT(out_GPR_READ_REGISTERFILE_VAL ,VAL); 70 ALLOC2_VALACK_IN ( in_GPR_READ_REGISTERFILE_ACK ,ACK); 71 ALLOC2_SIGNAL_IN ( in_GPR_READ_REGISTERFILE_DATA,"data",Tgeneral_data_t,_param->_size_general_data); 72 73 ALLOC2_INTERFACE_END(_param->_nb_ooo_engine,_param->_nb_gpr_read); 74 } 75 76 { 77 ALLOC2_INTERFACE_BEGIN("gpr_read_status",IN,NORTH,_("Interface to read generalist register - from/to register file"),_param->_nb_ooo_engine,_param->_nb_gpr_read); 78 79 ALLOC2_VALACK_OUT(out_GPR_READ_STATUS_VAL ,VAL); 80 ALLOC2_VALACK_IN ( in_GPR_READ_STATUS_ACK ,ACK); 81 ALLOC2_SIGNAL_IN ( in_GPR_READ_STATUS_DATA_VAL,"data_val",Tcontrol_t,1); 82 83 ALLOC2_INTERFACE_END(_param->_nb_ooo_engine,_param->_nb_gpr_read); 84 } 85 86 // ~~~~~[ Interface "spr_read" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 87 { 88 ALLOC1_INTERFACE_BEGIN("spr_read",IN,NORTH,_("Interface to read generalist register"),_param->_nb_spr_read); 89 90 ALLOC1_VALACK_IN ( in_SPR_READ_VAL ,VAL); 91 ALLOC1_VALACK_OUT(out_SPR_READ_ACK ,ACK); 92 ALLOC1_SIGNAL_IN ( in_SPR_READ_OOO_ENGINE_ID ,"ooo_engine_id",Tcontext_t , _param->_size_ooo_engine_id); 93 ALLOC1_SIGNAL_OUT(out_SPR_READ_DATA ,"data" ,Tspecial_data_t, _param->_size_special_data); 94 ALLOC1_SIGNAL_OUT(out_SPR_READ_DATA_VAL ,"data_val" ,Tcontrol_t , 1); 95 96 ALLOC1_INTERFACE_END(_param->_nb_spr_read); 97 } 98 99 { 100 ALLOC2_INTERFACE_BEGIN("spr_read_registerfile",IN,NORTH,_("Interface to read generalist register - from/to register file"),_param->_nb_ooo_engine,_param->_nb_spr_read); 101 102 ALLOC2_VALACK_OUT(out_SPR_READ_REGISTERFILE_VAL ,VAL); 103 ALLOC2_VALACK_IN ( in_SPR_READ_REGISTERFILE_ACK ,ACK); 104 ALLOC2_SIGNAL_IN ( in_SPR_READ_REGISTERFILE_DATA,"data",Tspecial_data_t,_param->_size_special_data); 105 106 ALLOC2_INTERFACE_END(_param->_nb_ooo_engine,_param->_nb_spr_read); 107 } 108 109 { 110 ALLOC2_INTERFACE_BEGIN("spr_read_status",IN,NORTH,_("Interface to read generalist register - from/to status"),_param->_nb_ooo_engine,_param->_nb_spr_read); 111 112 ALLOC2_VALACK_OUT(out_SPR_READ_STATUS_VAL ,VAL); 113 ALLOC2_VALACK_IN ( in_SPR_READ_STATUS_ACK ,ACK); 114 ALLOC2_SIGNAL_IN ( in_SPR_READ_STATUS_DATA_VAL,"data_val",Tcontrol_t,1); 115 116 ALLOC2_INTERFACE_END(_param->_nb_ooo_engine,_param->_nb_spr_read); 117 } 118 119 // ~~~~~[ Interface "gpr_write" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 120 { 121 ALLOC1_INTERFACE_BEGIN("gpr_write",IN,NORTH,_("Interface to write generalist register"),_param->_nb_gpr_write); 122 123 ALLOC1_VALACK_IN ( in_GPR_WRITE_VAL ,VAL); 124 ALLOC1_VALACK_OUT(out_GPR_WRITE_ACK ,ACK); 125 ALLOC1_SIGNAL_IN ( in_GPR_WRITE_OOO_ENGINE_ID,"ooo_engine_id",Tcontext_t, _param->_size_ooo_engine_id); 126 127 ALLOC1_INTERFACE_END(_param->_nb_gpr_write); 128 } 129 130 { 131 ALLOC2_INTERFACE_BEGIN("gpr_write_registerfile",IN,NORTH,_("Interface to write generalist register - from/to registerfile"),_param->_nb_ooo_engine,_param->_nb_gpr_write); 132 133 ALLOC2_VALACK_OUT(out_GPR_WRITE_REGISTERFILE_VAL,VAL); 134 ALLOC2_VALACK_IN ( in_GPR_WRITE_REGISTERFILE_ACK,ACK); 135 136 ALLOC2_INTERFACE_END(_param->_nb_ooo_engine,_param->_nb_gpr_write); 137 } 138 139 { 140 ALLOC2_INTERFACE_BEGIN("gpr_write_status",IN,NORTH,_("Interface to write generalist register - from/to status"),_param->_nb_ooo_engine,_param->_nb_gpr_write); 141 142 ALLOC2_VALACK_OUT(out_GPR_WRITE_STATUS_VAL,VAL); 143 ALLOC2_VALACK_IN ( in_GPR_WRITE_STATUS_ACK,ACK); 144 145 ALLOC2_INTERFACE_END(_param->_nb_ooo_engine,_param->_nb_gpr_write); 146 } 147 148 // ~~~~~[ Interface "spr_write" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 149 { 150 ALLOC1_INTERFACE_BEGIN("spr_write",IN,NORTH,_("Interface to write generalist register"),_param->_nb_spr_write); 151 152 ALLOC1_VALACK_IN ( in_SPR_WRITE_VAL ,VAL); 153 ALLOC1_VALACK_OUT(out_SPR_WRITE_ACK ,ACK); 154 ALLOC1_SIGNAL_IN ( in_SPR_WRITE_OOO_ENGINE_ID,"ooo_engine_id",Tcontext_t, _param->_size_ooo_engine_id); 155 156 ALLOC1_INTERFACE_END(_param->_nb_spr_write); 157 } 158 159 { 160 ALLOC2_INTERFACE_BEGIN("spr_write_registerfile",IN,NORTH,_("Interface to write generalist register - from/to registerfile"),_param->_nb_ooo_engine,_param->_nb_spr_write); 161 162 ALLOC2_VALACK_OUT(out_SPR_WRITE_REGISTERFILE_VAL,VAL); 163 ALLOC2_VALACK_IN ( in_SPR_WRITE_REGISTERFILE_ACK,ACK); 164 165 ALLOC2_INTERFACE_END(_param->_nb_ooo_engine,_param->_nb_spr_write); 166 } 167 168 { 169 ALLOC2_INTERFACE_BEGIN("spr_write_status",IN,NORTH,_("Interface to write generalist register - from/to status"),_param->_nb_ooo_engine,_param->_nb_spr_write); 170 171 ALLOC2_VALACK_OUT(out_SPR_WRITE_STATUS_VAL,VAL); 172 ALLOC2_VALACK_IN ( in_SPR_WRITE_STATUS_ACK,ACK); 173 174 ALLOC2_INTERFACE_END(_param->_nb_ooo_engine,_param->_nb_spr_write); 175 } 176 177 // ~~~~~[ Interface "insert_rob" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 178 { 179 ALLOC2_INTERFACE_BEGIN("insert_rob",IN,WEST,_("Interface to update status (insert)"),_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 180 181 _ALLOC2_VALACK_IN ( in_INSERT_ROB_VAL ,VAL ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 182 _ALLOC2_VALACK_OUT(out_INSERT_ROB_ACK ,ACK ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 183 _ALLOC2_SIGNAL_IN ( in_INSERT_ROB_RD_USE,"rd_use",Tcontrol_t, 1,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 184 _ALLOC2_SIGNAL_IN ( in_INSERT_ROB_RE_USE,"re_use",Tcontrol_t, 1,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 185 186 ALLOC2_INTERFACE_END(_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 187 } 188 189 { 190 ALLOC2_INTERFACE_BEGIN("insert_rob_gpr_status",IN,WEST,_("Interface to update status (insert)"),_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 191 192 _ALLOC2_VALACK_OUT(out_INSERT_ROB_GPR_STATUS_VAL,VAL,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 193 _ALLOC2_VALACK_IN ( in_INSERT_ROB_GPR_STATUS_ACK,ACK,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 194 195 ALLOC2_INTERFACE_END(_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 196 } 197 198 { 199 ALLOC2_INTERFACE_BEGIN("insert_rob_spr_status",IN,WEST,_("Interface to update status (insert)"),_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 200 201 _ALLOC2_VALACK_OUT(out_INSERT_ROB_SPR_STATUS_VAL,VAL,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 202 _ALLOC2_VALACK_IN ( in_INSERT_ROB_SPR_STATUS_ACK,ACK,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 203 204 ALLOC2_INTERFACE_END(_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 205 } 401 206 402 207 // // ~~~~~[ Interface "retire_rob" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Note: See TracChangeset
for help on using the changeset viewer.