Changeset 131 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Register_unit_allocation.cpp
- Timestamp:
- Jul 8, 2009, 8:40:08 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/src/Register_unit_allocation.cpp
r128 r131 106 106 } 107 107 108 // ~~~~~[ 108 // ~~~~~[ Interface "insert_rob" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 109 { 110 110 ALLOC2_INTERFACE_BEGIN("insert_rob",IN,WEST,_("Interface to update status (insert)"),_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); … … 179 179 component_spr = new morpheo::behavioural::generic::registerfile::RegisterFile::RegisterFile * [_param->_nb_ooo_engine]; 180 180 component_spr_status = new morpheo::behavioural::generic::registerfile::RegisterFile::RegisterFile * [_param->_nb_ooo_engine]; 181 182 // component_gpr = new morpheo::behavioural::generic::registerfile::registerfile_multi_banked::RegisterFile_Multi_Banked::RegisterFile_Multi_Banked * [_param->_nb_ooo_engine]; 183 // component_gpr_status = new morpheo::behavioural::generic::registerfile::registerfile_monolithic ::RegisterFile_Monolithic ::RegisterFile_Monolithic * [_param->_nb_ooo_engine]; 184 // component_spr = new morpheo::behavioural::generic::registerfile::registerfile_multi_banked::RegisterFile_Multi_Banked::RegisterFile_Multi_Banked * [_param->_nb_ooo_engine]; 185 // component_spr_status = new morpheo::behavioural::generic::registerfile::registerfile_monolithic ::RegisterFile_Monolithic ::RegisterFile_Monolithic * [_param->_nb_ooo_engine]; 181 186 182 187 for (uint32_t i=0; i<_param->_nb_ooo_engine; i++) … … 185 190 log_printf(INFO,Register_unit,FUNCTION,_("Create : %s"),name.c_str()); 186 191 187 component_gpr [i] = new morpheo::behavioural::generic::registerfile::RegisterFile::RegisterFile 192 component_gpr [i] = new morpheo::behavioural::generic::registerfile::RegisterFile::RegisterFile 193 // component_gpr [i] = new morpheo::behavioural::generic::registerfile::registerfile_multi_banked::RegisterFile_Multi_Banked::RegisterFile_Multi_Banked 188 194 (name.c_str() 189 195 #ifdef STATISTICS 190 196 ,param_statistics 191 197 #endif 192 ,_param->_param_gpr [i] 198 ,_param->_param_gpr [i]//->_param_registerfile_multi_banked 193 199 ,_usage 194 200 ); … … 207 213 log_printf(INFO,Register_unit,FUNCTION,_("Create : %s"),name.c_str()); 208 214 209 component_gpr_status [i] = new morpheo::behavioural::generic::registerfile::RegisterFile::RegisterFile 215 component_gpr_status [i] = new morpheo::behavioural::generic::registerfile::RegisterFile::RegisterFile 216 // component_gpr_status [i] = new morpheo::behavioural::generic::registerfile::registerfile_monolithic ::RegisterFile_Monolithic ::RegisterFile_Monolithic 210 217 (name.c_str() 211 218 #ifdef STATISTICS 212 219 ,param_statistics 213 220 #endif 214 ,_param->_param_gpr_status [i] 221 ,_param->_param_gpr_status [i]//->_param_registerfile_monolithic 215 222 ,_usage 216 223 ); … … 229 236 log_printf(INFO,Register_unit,FUNCTION,_("Create : %s"),name.c_str()); 230 237 231 component_spr [i] = new morpheo::behavioural::generic::registerfile::RegisterFile::RegisterFile 238 component_spr [i] = new morpheo::behavioural::generic::registerfile::RegisterFile::RegisterFile 239 // component_spr [i] = new morpheo::behavioural::generic::registerfile::registerfile_multi_banked::RegisterFile_Multi_Banked::RegisterFile_Multi_Banked 232 240 (name.c_str() 233 241 #ifdef STATISTICS 234 242 ,param_statistics 235 243 #endif 236 ,_param->_param_spr [i] 244 ,_param->_param_spr [i]//->_param_registerfile_multi_banked 237 245 ,_usage 238 246 ); … … 250 258 log_printf(INFO,Register_unit,FUNCTION,_("Create : %s"),name.c_str()); 251 259 252 component_spr_status [i] = new morpheo::behavioural::generic::registerfile::RegisterFile::RegisterFile 260 component_spr_status [i] = new morpheo::behavioural::generic::registerfile::RegisterFile::RegisterFile 261 // component_spr_status [i] = new morpheo::behavioural::generic::registerfile::registerfile_monolithic::RegisterFile_Monolithic::RegisterFile_Monolithic 253 262 (name.c_str() 254 263 #ifdef STATISTICS 255 264 ,param_statistics 256 265 #endif 257 ,_param->_param_spr_status [i] 266 ,_param->_param_spr_status [i]//->_param_registerfile_monolithic 258 267 ,_usage 259 268 ); … … 269 278 } 270 279 271 272 name = _name+"_glue";273 log_printf(INFO,Register_unit,FUNCTION,_("Create : %s"),name.c_str());274 275 component_glue= new morpheo::behavioural::core::multi_execute_loop::execute_loop::register_unit::register_unit_glue::Register_unit_Glue::Register_unit_Glue276 (name.c_str()280 { 281 name = _name+"_glue"; 282 log_printf(INFO,Register_unit,FUNCTION,_("Create : %s"),name.c_str()); 283 284 component_glue = new morpheo::behavioural::core::multi_execute_loop::execute_loop::register_unit::register_unit_glue::Register_unit_Glue::Register_unit_Glue 285 (name.c_str() 277 286 #ifdef STATISTICS 278 ,param_statistics 279 #endif 280 ,_param->_param_glue 281 ,_usage 282 ); 283 284 _component->set_component (component_glue->_component 285 #ifdef POSITION 286 , 50 287 , 50 288 , 10 289 , 10 290 #endif 291 ); 287 ,param_statistics 288 #endif 289 ,_param->_param_glue 290 ,_usage 291 ); 292 293 _component->set_component (component_glue->_component 294 #ifdef POSITION 295 , 50 296 , 50 297 , 10 298 , 10 299 #endif 300 ); 301 } 292 302 293 303 // ~~~~~[ Instanciation ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 294 304 std::string src,dest; 295 305 306 // ------------------------------------------------------------------- 307 // -----[ gpr ]------------------------------------------------------- 308 // ------------------------------------------------------------------- 296 309 for (uint32_t i=0; i<_param->_nb_ooo_engine; i++) 297 310 { … … 300 313 log_printf(INFO,Register_unit,FUNCTION,_("Instance : %s"),src.c_str()); 301 314 315 // -----[ instance "" ]----------------------------------------------- 302 316 { 303 317 dest = _name; … … 310 324 } 311 325 326 // -----[ instance "read" ]------------------------------------------- 312 327 for (uint32_t j=0; j<_param->_nb_gpr_read; j++) 313 328 { … … 332 347 } 333 348 349 // -----[ instance "write" ]------------------------------------------ 334 350 for (uint32_t j=0; j<_param->_nb_gpr_write; j++) 335 351 { … … 353 369 dest, "in_GPR_WRITE_"+toString(j)+"_DATA"); 354 370 } 355 356 371 }// gpr 357 372 373 // ------------------------------------------------------------------- 374 // -----[ gpr_status ]------------------------------------------------ 375 // ------------------------------------------------------------------- 358 376 { 359 377 for (uint32_t i=0; i<_param->_nb_ooo_engine; i++) … … 401 419 402 420 #ifdef POSITION 403 _component->interface_map (src , "write_"+toString( j),421 _component->interface_map (src , "write_"+toString(x), 404 422 dest,"gpr_write_status_"+toString(i)+"_"+toString(j)); 405 423 #endif … … 445 463 x++; 446 464 } 447 448 465 } 449 466 }// gpr_status 450 467 468 // ------------------------------------------------------------------- 469 // -----[ spr ]------------------------------------------------------- 470 // ------------------------------------------------------------------- 451 471 for (uint32_t i=0; i<_param->_nb_ooo_engine; i++) 452 472 { … … 508 528 dest, "in_SPR_WRITE_"+toString(j)+"_DATA"); 509 529 } 510 511 530 }// spr 512 531 532 // ------------------------------------------------------------------- 533 // -----[ spr_status ]------------------------------------------------ 534 // ------------------------------------------------------------------- 513 535 { 514 536 for (uint32_t i=0; i<_param->_nb_ooo_engine; i++) … … 556 578 557 579 #ifdef POSITION 558 _component->interface_map (src , "write_"+toString( j),580 _component->interface_map (src , "write_"+toString(x), 559 581 dest,"spr_write_status_"+toString(i)+"_"+toString(j)); 560 582 #endif … … 581 603 582 604 #ifdef POSITION 583 _component->interface_map (src , "write_"+toString( j),605 _component->interface_map (src , "write_"+toString(x), 584 606 dest,"insert_rob_spr_status_"+toString(i)+"_"+toString(j)); 585 607 #endif … … 592 614 dest,"out_INSERT_ROB_SPR_STATUS_"+toString(i)+"_"+toString(j)+"_DATA"); 593 615 // dest,"out_CONST_0"); 594 616 595 617 dest = _name; 596 618 … … 600 622 x++; 601 623 } 602 603 604 624 } 605 625 }// spr_status 606 626 627 // ------------------------------------------------------------------- 628 // -----[ glue ]------------------------------------------------------ 629 // ------------------------------------------------------------------- 607 630 { 608 631 src = _name+"_glue"; … … 730 753 for (uint32_t i=0; i<_param->_nb_ooo_engine; i++) 731 754 { 732 uint32_t x =_param->_nb_inst_insert_rob [i];755 uint32_t x = _param->_nb_inst_insert_rob [i]; 733 756 734 757 for (uint32_t j=0; j<x; j++) … … 758 781 } 759 782 } 760 761 783 }// glue 762 784
Note: See TracChangeset
for help on using the changeset viewer.