Changeset 88 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue.cpp
- Timestamp:
- Dec 10, 2008, 7:31:39 PM (16 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.cpp
r81 r88 38 38 log_printf(FUNC,Register_unit_Glue,FUNCTION,"Begin"); 39 39 40 #if DEBUG_Register_unit_Glue == true 41 log_printf(INFO,Register_unit_Glue,FUNCTION,_("<%s> Parameters"),_name.c_str()); 42 43 std::cout << *param << std::endl; 44 #endif 45 40 46 log_printf(INFO,Register_unit_Glue,FUNCTION,"Allocation"); 41 47 allocation (); 42 48 43 49 #ifdef STATISTICS 44 log_printf(INFO,Register_unit_Glue,FUNCTION,"Allocation of statistics"); 45 46 // Allocation of statistics 47 statistics_declaration(param_statistics); 50 if (usage_is_set(_usage,USE_STATISTICS)) 51 { 52 log_printf(INFO,Register_unit_Glue,FUNCTION,"Allocation of statistics"); 53 54 // Allocation of statistics 55 statistics_declaration(param_statistics); 56 } 48 57 #endif 49 58 50 59 #ifdef VHDL 51 // generate the vhdl 52 log_printf(INFO,Register_unit_Glue,FUNCTION,"Generate the vhdl"); 53 54 vhdl(); 60 if (usage_is_set(_usage,USE_VHDL)) 61 { 62 // generate the vhdl 63 log_printf(INFO,Register_unit_Glue,FUNCTION,"Generate the vhdl"); 64 65 vhdl(); 66 } 55 67 #endif 56 68 57 69 #ifdef SYSTEMC 70 if (usage_is_set(_usage,USE_SYSTEMC)) 71 { 58 72 // Constant 59 73 … … 473 487 #endif 474 488 475 log_printf(INFO,Register_unit_Glue,FUNCTION,"Method - genMealy_retire");476 477 SC_METHOD (genMealy_retire);478 dont_initialize ();479 // sensitive_neg << *(in_CLOCK);480 for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)481 {482 uint32_t x=_param->_nb_inst_retire_rob [i];483 for (uint32_t j=0; j<x; j++)484 sensitive << *( in_RETIRE_ROB_VAL [i][j])485 << *( in_RETIRE_ROB_RD_OLD_USE [i][j])486 << *( in_RETIRE_ROB_RD_NEW_USE [i][j])487 << *( in_RETIRE_ROB_RE_OLD_USE [i][j])488 << *( in_RETIRE_ROB_RE_NEW_USE [i][j])489 << *( in_RETIRE_ROB_GPR_STATUS_NEW_ACK [i][j])490 << *( in_RETIRE_ROB_GPR_STATUS_OLD_ACK [i][j])491 << *( in_RETIRE_ROB_SPR_STATUS_NEW_ACK [i][j])492 << *( in_RETIRE_ROB_SPR_STATUS_OLD_ACK [i][j]);493 }494 #ifdef SYSTEMCASS_SPECIFIC495 // List dependency information496 for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)497 {498 uint32_t x=_param->_nb_inst_retire_rob [i];499 for (uint32_t j=0; j<x; j++)500 {501 (*(out_RETIRE_ROB_ACK [i][j]))(*( in_RETIRE_ROB_GPR_STATUS_NEW_ACK [i][j]));502 (*(out_RETIRE_ROB_ACK [i][j]))(*( in_RETIRE_ROB_GPR_STATUS_OLD_ACK [i][j]));503 (*(out_RETIRE_ROB_ACK [i][j]))(*( in_RETIRE_ROB_SPR_STATUS_NEW_ACK [i][j]));504 (*(out_RETIRE_ROB_ACK [i][j]))(*( in_RETIRE_ROB_SPR_STATUS_OLD_ACK [i][j]));505 506 (*(out_RETIRE_ROB_GPR_STATUS_OLD_VAL [i][j]))(*( in_RETIRE_ROB_VAL [i][j]));507 (*(out_RETIRE_ROB_GPR_STATUS_OLD_VAL [i][j]))(*( in_RETIRE_ROB_RD_OLD_USE [i][j]));508 (*(out_RETIRE_ROB_GPR_STATUS_OLD_VAL [i][j]))(*( in_RETIRE_ROB_GPR_STATUS_NEW_ACK [i][j]));509 (*(out_RETIRE_ROB_GPR_STATUS_OLD_VAL [i][j]))(*( in_RETIRE_ROB_SPR_STATUS_NEW_ACK [i][j]));510 (*(out_RETIRE_ROB_GPR_STATUS_OLD_VAL [i][j]))(*( in_RETIRE_ROB_SPR_STATUS_OLD_ACK [i][j]));511 512 (*(out_RETIRE_ROB_GPR_STATUS_NEW_VAL [i][j]))(*( in_RETIRE_ROB_VAL [i][j]));513 (*(out_RETIRE_ROB_GPR_STATUS_NEW_VAL [i][j]))(*( in_RETIRE_ROB_RD_NEW_USE [i][j]));514 (*(out_RETIRE_ROB_GPR_STATUS_NEW_VAL [i][j]))(*( in_RETIRE_ROB_GPR_STATUS_OLD_ACK [i][j]));515 (*(out_RETIRE_ROB_GPR_STATUS_NEW_VAL [i][j]))(*( in_RETIRE_ROB_SPR_STATUS_NEW_ACK [i][j]));516 (*(out_RETIRE_ROB_GPR_STATUS_NEW_VAL [i][j]))(*( in_RETIRE_ROB_SPR_STATUS_OLD_ACK [i][j]));517 518 (*(out_RETIRE_ROB_SPR_STATUS_OLD_VAL [i][j]))(*( in_RETIRE_ROB_VAL [i][j]));519 (*(out_RETIRE_ROB_SPR_STATUS_OLD_VAL [i][j]))(*( in_RETIRE_ROB_RE_OLD_USE [i][j]));520 (*(out_RETIRE_ROB_SPR_STATUS_OLD_VAL [i][j]))(*( in_RETIRE_ROB_GPR_STATUS_NEW_ACK [i][j]));521 (*(out_RETIRE_ROB_SPR_STATUS_OLD_VAL [i][j]))(*( in_RETIRE_ROB_GPR_STATUS_OLD_ACK [i][j]));522 (*(out_RETIRE_ROB_SPR_STATUS_OLD_VAL [i][j]))(*( in_RETIRE_ROB_SPR_STATUS_NEW_ACK [i][j]));523 524 (*(out_RETIRE_ROB_SPR_STATUS_NEW_VAL [i][j]))(*( in_RETIRE_ROB_VAL [i][j]));525 (*(out_RETIRE_ROB_SPR_STATUS_NEW_VAL [i][j]))(*( in_RETIRE_ROB_RE_NEW_USE [i][j]));526 (*(out_RETIRE_ROB_SPR_STATUS_NEW_VAL [i][j]))(*( in_RETIRE_ROB_GPR_STATUS_NEW_ACK [i][j]));527 (*(out_RETIRE_ROB_SPR_STATUS_NEW_VAL [i][j]))(*( in_RETIRE_ROB_GPR_STATUS_OLD_ACK [i][j]));528 (*(out_RETIRE_ROB_SPR_STATUS_NEW_VAL [i][j]))(*( in_RETIRE_ROB_SPR_STATUS_OLD_ACK [i][j]));529 }530 }531 #endif532 489 // log_printf(INFO,Register_unit_Glue,FUNCTION,"Method - genMealy_retire"); 490 491 // SC_METHOD (genMealy_retire); 492 // dont_initialize (); 493 // // sensitive_neg << *(in_CLOCK); 494 // for (uint32_t i=0; i<_param->_nb_ooo_engine; i++) 495 // { 496 // uint32_t x=_param->_nb_inst_retire_rob [i]; 497 // for (uint32_t j=0; j<x; j++) 498 // sensitive << *( in_RETIRE_ROB_VAL [i][j]) 499 // << *( in_RETIRE_ROB_RD_OLD_USE [i][j]) 500 // << *( in_RETIRE_ROB_RD_NEW_USE [i][j]) 501 // << *( in_RETIRE_ROB_RE_OLD_USE [i][j]) 502 // << *( in_RETIRE_ROB_RE_NEW_USE [i][j]) 503 // << *( in_RETIRE_ROB_GPR_STATUS_NEW_ACK [i][j]) 504 // << *( in_RETIRE_ROB_GPR_STATUS_OLD_ACK [i][j]) 505 // << *( in_RETIRE_ROB_SPR_STATUS_NEW_ACK [i][j]) 506 // << *( in_RETIRE_ROB_SPR_STATUS_OLD_ACK [i][j]); 507 // } 508 // #ifdef SYSTEMCASS_SPECIFIC 509 // // List dependency information 510 // for (uint32_t i=0; i<_param->_nb_ooo_engine; i++) 511 // { 512 // uint32_t x=_param->_nb_inst_retire_rob [i]; 513 // for (uint32_t j=0; j<x; j++) 514 // { 515 // (*(out_RETIRE_ROB_ACK [i][j]))(*( in_RETIRE_ROB_GPR_STATUS_NEW_ACK [i][j])); 516 // (*(out_RETIRE_ROB_ACK [i][j]))(*( in_RETIRE_ROB_GPR_STATUS_OLD_ACK [i][j])); 517 // (*(out_RETIRE_ROB_ACK [i][j]))(*( in_RETIRE_ROB_SPR_STATUS_NEW_ACK [i][j])); 518 // (*(out_RETIRE_ROB_ACK [i][j]))(*( in_RETIRE_ROB_SPR_STATUS_OLD_ACK [i][j])); 519 520 // (*(out_RETIRE_ROB_GPR_STATUS_OLD_VAL [i][j]))(*( in_RETIRE_ROB_VAL [i][j])); 521 // (*(out_RETIRE_ROB_GPR_STATUS_OLD_VAL [i][j]))(*( in_RETIRE_ROB_RD_OLD_USE [i][j])); 522 // (*(out_RETIRE_ROB_GPR_STATUS_OLD_VAL [i][j]))(*( in_RETIRE_ROB_GPR_STATUS_NEW_ACK [i][j])); 523 // (*(out_RETIRE_ROB_GPR_STATUS_OLD_VAL [i][j]))(*( in_RETIRE_ROB_SPR_STATUS_NEW_ACK [i][j])); 524 // (*(out_RETIRE_ROB_GPR_STATUS_OLD_VAL [i][j]))(*( in_RETIRE_ROB_SPR_STATUS_OLD_ACK [i][j])); 525 526 // (*(out_RETIRE_ROB_GPR_STATUS_NEW_VAL [i][j]))(*( in_RETIRE_ROB_VAL [i][j])); 527 // (*(out_RETIRE_ROB_GPR_STATUS_NEW_VAL [i][j]))(*( in_RETIRE_ROB_RD_NEW_USE [i][j])); 528 // (*(out_RETIRE_ROB_GPR_STATUS_NEW_VAL [i][j]))(*( in_RETIRE_ROB_GPR_STATUS_OLD_ACK [i][j])); 529 // (*(out_RETIRE_ROB_GPR_STATUS_NEW_VAL [i][j]))(*( in_RETIRE_ROB_SPR_STATUS_NEW_ACK [i][j])); 530 // (*(out_RETIRE_ROB_GPR_STATUS_NEW_VAL [i][j]))(*( in_RETIRE_ROB_SPR_STATUS_OLD_ACK [i][j])); 531 532 // (*(out_RETIRE_ROB_SPR_STATUS_OLD_VAL [i][j]))(*( in_RETIRE_ROB_VAL [i][j])); 533 // (*(out_RETIRE_ROB_SPR_STATUS_OLD_VAL [i][j]))(*( in_RETIRE_ROB_RE_OLD_USE [i][j])); 534 // (*(out_RETIRE_ROB_SPR_STATUS_OLD_VAL [i][j]))(*( in_RETIRE_ROB_GPR_STATUS_NEW_ACK [i][j])); 535 // (*(out_RETIRE_ROB_SPR_STATUS_OLD_VAL [i][j]))(*( in_RETIRE_ROB_GPR_STATUS_OLD_ACK [i][j])); 536 // (*(out_RETIRE_ROB_SPR_STATUS_OLD_VAL [i][j]))(*( in_RETIRE_ROB_SPR_STATUS_NEW_ACK [i][j])); 537 538 // (*(out_RETIRE_ROB_SPR_STATUS_NEW_VAL [i][j]))(*( in_RETIRE_ROB_VAL [i][j])); 539 // (*(out_RETIRE_ROB_SPR_STATUS_NEW_VAL [i][j]))(*( in_RETIRE_ROB_RE_NEW_USE [i][j])); 540 // (*(out_RETIRE_ROB_SPR_STATUS_NEW_VAL [i][j]))(*( in_RETIRE_ROB_GPR_STATUS_NEW_ACK [i][j])); 541 // (*(out_RETIRE_ROB_SPR_STATUS_NEW_VAL [i][j]))(*( in_RETIRE_ROB_GPR_STATUS_OLD_ACK [i][j])); 542 // (*(out_RETIRE_ROB_SPR_STATUS_NEW_VAL [i][j]))(*( in_RETIRE_ROB_SPR_STATUS_OLD_ACK [i][j])); 543 // } 544 // } 545 // #endif 546 } 533 547 #endif 534 548 log_printf(FUNC,Register_unit_Glue,FUNCTION,"End"); … … 542 556 543 557 #ifdef STATISTICS 544 log_printf(INFO,Register_unit_Glue,FUNCTION,"Generate Statistics file"); 545 546 delete _stat; 558 if (usage_is_set(_usage,USE_STATISTICS)) 559 { 560 log_printf(INFO,Register_unit_Glue,FUNCTION,"Generate Statistics file"); 561 562 delete _stat; 563 } 547 564 #endif 548 565
Note: See TracChangeset
for help on using the changeset viewer.