Changeset 136 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src
- Timestamp:
- Oct 20, 2009, 8:52:15 PM (15 years ago)
- Location:
- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Parameters.cpp
r124 r136 33 33 uint32_t * nb_general_register , 34 34 uint32_t * nb_special_register , 35 uint32_t * nb_inst_insert_rob , 36 uint32_t * nb_inst_retire_rob , 35 uint32_t nb_inst_issue , 36 // uint32_t * nb_inst_insert_rob , 37 // uint32_t * nb_inst_retire_rob , 37 38 bool is_toplevel ) 38 39 { … … 53 54 _nb_general_register = nb_general_register ; 54 55 _nb_special_register = nb_special_register ; 55 _nb_inst_insert_rob = nb_inst_insert_rob ; 56 _nb_inst_retire_rob = nb_inst_retire_rob ; 56 _nb_inst_issue = nb_inst_issue ; 57 // _nb_inst_insert_rob = nb_inst_insert_rob ; 58 // _nb_inst_retire_rob = nb_inst_retire_rob ; 57 59 58 60 _size_gpr_address = log2(nb_general_register [0]); … … 101 103 (_nb_gpr_read , 102 104 // _nb_gpr_write+_nb_inst_insert_rob[i]+2*_nb_inst_retire_rob[i], 103 _nb_gpr_write+_nb_inst_insert_rob[i], 105 // _nb_gpr_write+_nb_inst_insert_rob[i], 106 _nb_gpr_write+_nb_inst_issue, 104 107 0, 105 108 nb_general_register[i], … … 122 125 (_nb_spr_read , 123 126 // _nb_spr_write+_nb_inst_insert_rob[i]+2*_nb_inst_retire_rob[i], 124 _nb_spr_write+_nb_inst_insert_rob[i], 127 // _nb_spr_write+_nb_inst_insert_rob[i], 128 _nb_spr_write+_nb_inst_issue, 125 129 0, 126 130 nb_special_register[i], … … 134 138 } 135 139 136 _param_glue = new morpheo::behavioural::core::multi_execute_loop::execute_loop::register_unit::register_unit_glue::Parameters (_nb_ooo_engine , 137 size_general_data , 138 size_special_data , 139 _nb_gpr_read , 140 _nb_spr_read , 141 _nb_gpr_write , 142 _nb_spr_write , 143 _nb_inst_insert_rob , 144 _nb_inst_retire_rob ); 140 _param_glue = new morpheo::behavioural::core::multi_execute_loop::execute_loop::register_unit::register_unit_glue::Parameters 141 (_nb_ooo_engine , 142 size_general_data , 143 size_special_data , 144 _nb_gpr_read , 145 _nb_spr_read , 146 _nb_gpr_write , 147 _nb_spr_write , 148 _nb_inst_issue 149 // _nb_inst_insert_rob , 150 // _nb_inst_retire_rob 151 ); 145 152 146 153 test(); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Parameters_print.cpp
r81 r136 39 39 xml. singleton_begin("nb_spr_port_read_by_bank "); xml.attribut("value",toString(_nb_spr_port_read_by_bank )); xml.singleton_end(); 40 40 xml. singleton_begin("nb_spr_port_write_by_bank"); xml.attribut("value",toString(_nb_spr_port_write_by_bank)); xml.singleton_end(); 41 xml. singleton_begin("nb_inst_issue "); xml.attribut("value",toString(_nb_inst_issue )); xml.singleton_end(); 41 42 42 xml. balise_open("multi_ooo_engine");43 for (uint32_t i=0; i<_nb_ooo_engine; i++)44 {45 xml. balise_open_begin("ooo_engine");46 xml. attribut("id", toString(i));47 xml. balise_open_end();48 xml. singleton_begin("nb_general_register"); xml.attribut("value",toString(_nb_general_register [i])); xml.singleton_end();49 xml. singleton_begin("nb_special_register"); xml.attribut("value",toString(_nb_special_register [i])); xml.singleton_end();50 xml. singleton_begin("nb_inst_insert_rob "); xml.attribut("value",toString(_nb_inst_insert_rob [i])); xml.singleton_end();51 xml. singleton_begin("nb_inst_retire_rob "); xml.attribut("value",toString(_nb_inst_retire_rob [i])); xml.singleton_end();52 xml. balise_close();53 }54 xml. balise_close();43 // xml. balise_open("multi_ooo_engine"); 44 // for (uint32_t i=0; i<_nb_ooo_engine; i++) 45 // { 46 // xml. balise_open_begin("ooo_engine"); 47 // xml. attribut("id", toString(i)); 48 // xml. balise_open_end(); 49 // xml. singleton_begin("nb_general_register"); xml.attribut("value",toString(_nb_general_register [i])); xml.singleton_end(); 50 // xml. singleton_begin("nb_special_register"); xml.attribut("value",toString(_nb_special_register [i])); xml.singleton_end(); 51 // xml. singleton_begin("nb_inst_insert_rob "); xml.attribut("value",toString(_nb_inst_insert_rob [i])); xml.singleton_end(); 52 // xml. singleton_begin("nb_inst_retire_rob "); xml.attribut("value",toString(_nb_inst_retire_rob [i])); xml.singleton_end(); 53 // xml. balise_close(); 54 // } 55 // xml. balise_close(); 55 56 56 57 // xml. text (_param_glue->print(depth+1)); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Register_unit.cpp
r131 r136 35 35 ,_usage (usage) 36 36 { 37 log_printf(FUNC,Register_unit,FUNCTION, "Begin");37 log_printf(FUNC,Register_unit,FUNCTION,_("<%s> Begin"),_name.c_str()); 38 38 39 39 // #if DEBUG_Register_unit == true … … 43 43 // #endif 44 44 45 log_printf(INFO,Register_unit,FUNCTION, "Allocation");45 log_printf(INFO,Register_unit,FUNCTION,_("<%s> Allocation"),_name.c_str()); 46 46 allocation ( 47 47 #ifdef STATISTICS … … 63 63 { 64 64 // generate the vhdl 65 log_printf(INFO,Register_unit,FUNCTION, "Generate the vhdl");65 log_printf(INFO,Register_unit,FUNCTION,_("<%s> Generate the vhdl"),_name.c_str()); 66 66 67 67 vhdl(); … … 73 73 { 74 74 //#if defined(STATISTICS) or defined(VHDL_TESTBENCH) 75 log_printf(INFO,Register_unit,FUNCTION, "Method - transition");75 log_printf(INFO,Register_unit,FUNCTION,_("<%s> Method - transition"),_name.c_str()); 76 76 77 77 SC_METHOD (transition); … … 85 85 } 86 86 #endif 87 log_printf(FUNC,Register_unit,FUNCTION, "End");87 log_printf(FUNC,Register_unit,FUNCTION,_("<%s> End"),_name.c_str()); 88 88 }; 89 89 … … 92 92 Register_unit::~Register_unit (void) 93 93 { 94 log_printf(FUNC,Register_unit,FUNCTION, "Begin");94 log_printf(FUNC,Register_unit,FUNCTION,_("<%s> Begin"),_name.c_str()); 95 95 96 96 #ifdef STATISTICS 97 97 if (usage_is_set(_usage,USE_STATISTICS)) 98 98 { 99 log_printf(INFO,Register_unit,FUNCTION, "Generate Statistics file");99 log_printf(INFO,Register_unit,FUNCTION,_("<%s> Generate Statistics file"),_name.c_str()); 100 100 delete _stat; 101 101 } 102 102 #endif 103 103 104 log_printf(INFO,Register_unit,FUNCTION, "Deallocation");104 log_printf(INFO,Register_unit,FUNCTION,_("<%s> Deallocation"),_name.c_str()); 105 105 deallocation (); 106 106 107 log_printf(FUNC,Register_unit,FUNCTION, "End");107 log_printf(FUNC,Register_unit,FUNCTION,_("<%s> End"),_name.c_str()); 108 108 }; 109 109 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Register_unit_allocation.cpp
r131 r136 106 106 } 107 107 108 // ~~~~~[ Interface "i nsert_rob" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~108 // ~~~~~[ Interface "issue" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 109 109 { 110 ALLOC 2_INTERFACE_BEGIN("insert_rob",IN,WEST,_("Interface to update status (insert)"),_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]);110 ALLOC1_INTERFACE_BEGIN("issue",IN,WEST,_("Interface to update status (issue)"),_param->_nb_inst_issue); 111 111 112 _ALLOC2_VALACK_IN ( in_INSERT_ROB_VAL ,VAL ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 113 _ALLOC2_VALACK_OUT(out_INSERT_ROB_ACK ,ACK ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 114 _ALLOC2_SIGNAL_IN ( in_INSERT_ROB_RD_USE ,"rd_use" ,Tcontrol_t ,1 ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 115 _ALLOC2_SIGNAL_IN ( in_INSERT_ROB_RD_NUM_REG,"rd_num_reg",Tgeneral_address_t,_param->_size_gpr_address,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 116 _ALLOC2_SIGNAL_IN ( in_INSERT_ROB_RE_USE ,"re_use" ,Tcontrol_t ,1 ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 117 _ALLOC2_SIGNAL_IN ( in_INSERT_ROB_RE_NUM_REG,"re_num_reg",Tspecial_address_t,_param->_size_spr_address,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 112 ALLOC1_VALACK_IN ( in_ISSUE_VAL ,VAL); 113 ALLOC1_VALACK_OUT(out_ISSUE_ACK ,ACK); 114 ALLOC1_SIGNAL_IN ( in_ISSUE_OOO_ENGINE_ID,"ooo_engine_id",Tcontext_t ,_param->_size_ooo_engine_id); 115 ALLOC1_SIGNAL_IN ( in_ISSUE_RD_USE ,"rd_use" ,Tcontrol_t ,1 ); 116 ALLOC1_SIGNAL_IN ( in_ISSUE_RD_NUM_REG ,"rd_num_reg" ,Tgeneral_address_t,_param->_size_gpr_address ); 117 ALLOC1_SIGNAL_IN ( in_ISSUE_RE_USE ,"re_use" ,Tcontrol_t ,1 ); 118 ALLOC1_SIGNAL_IN ( in_ISSUE_RE_NUM_REG ,"re_num_reg" ,Tspecial_address_t,_param->_size_spr_address ); 118 119 119 ALLOC 2_INTERFACE_END(_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]);120 ALLOC1_INTERFACE_END(_param->_nb_inst_issue); 120 121 } 122 123 // // ~~~~~[ Interface "insert_rob" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 124 // { 125 // ALLOC2_INTERFACE_BEGIN("insert_rob",IN,WEST,_("Interface to update status (insert)"),_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 126 127 // _ALLOC2_VALACK_IN ( in_INSERT_ROB_VAL ,VAL ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 128 // _ALLOC2_VALACK_OUT(out_INSERT_ROB_ACK ,ACK ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 129 // _ALLOC2_SIGNAL_IN ( in_INSERT_ROB_RD_USE ,"rd_use" ,Tcontrol_t ,1 ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 130 // _ALLOC2_SIGNAL_IN ( in_INSERT_ROB_RD_NUM_REG,"rd_num_reg",Tgeneral_address_t,_param->_size_gpr_address,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 131 // _ALLOC2_SIGNAL_IN ( in_INSERT_ROB_RE_USE ,"re_use" ,Tcontrol_t ,1 ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 132 // _ALLOC2_SIGNAL_IN ( in_INSERT_ROB_RE_NUM_REG,"re_num_reg",Tspecial_address_t,_param->_size_spr_address,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 133 134 // ALLOC2_INTERFACE_END(_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]); 135 // } 121 136 122 137 // // ~~~~~[ Interface "retire_rob" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 375 390 // ------------------------------------------------------------------- 376 391 { 392 uint32_t x=0; 393 377 394 for (uint32_t i=0; i<_param->_nb_ooo_engine; i++) 378 395 { … … 413 430 } 414 431 415 uint32_t x=0;416 432 for (uint32_t j=0; j<_param->_nb_gpr_write; j++) 417 433 { … … 439 455 } 440 456 441 for (uint32_t j=0; j<_param->_nb_inst_insert_rob [i]; j++) 442 { 443 dest = _name+"_glue"; 444 445 #ifdef POSITION 446 _component->interface_map (src , "write_"+toString(j), 447 dest,"insert_rob_gpr_status_"+toString(i)+"_"+toString(j)); 448 #endif 449 450 COMPONENT_MAP(_component,src , "in_WRITE_" +toString(x)+"_VAL", 451 dest,"out_INSERT_ROB_GPR_STATUS_"+toString(i)+"_"+toString(j)+"_VAL"); 452 COMPONENT_MAP(_component,src ,"out_WRITE_" +toString(x)+"_ACK", 453 dest, "in_INSERT_ROB_GPR_STATUS_"+toString(i)+"_"+toString(j)+"_ACK"); 454 COMPONENT_MAP(_component,src , "in_WRITE_" +toString(x)+"_DATA", 455 dest,"out_INSERT_ROB_GPR_STATUS_"+toString(i)+"_"+toString(j)+"_DATA"); 456 // dest,"out_CONST_0"); 457 458 dest = _name; 459 460 PORT_MAP (_component,src , "in_WRITE_" +toString(x)+"_ADDRESS", 461 dest, "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_RD_NUM_REG"); 462 463 x++; 464 } 457 // for (uint32_t j=0; j<_param->_nb_inst_insert_rob [i]; j++) 458 // { 459 // dest = _name+"_glue"; 460 461 // #ifdef POSITION 462 // _component->interface_map (src , "write_"+toString(j), 463 // dest,"insert_rob_gpr_status_"+toString(i)+"_"+toString(j)); 464 // #endif 465 466 // COMPONENT_MAP(_component,src , "in_WRITE_" +toString(x)+"_VAL", 467 // dest,"out_INSERT_ROB_GPR_STATUS_"+toString(i)+"_"+toString(j)+"_VAL"); 468 // COMPONENT_MAP(_component,src ,"out_WRITE_" +toString(x)+"_ACK", 469 // dest, "in_INSERT_ROB_GPR_STATUS_"+toString(i)+"_"+toString(j)+"_ACK"); 470 // COMPONENT_MAP(_component,src , "in_WRITE_" +toString(x)+"_DATA", 471 // dest,"out_INSERT_ROB_GPR_STATUS_"+toString(i)+"_"+toString(j)+"_DATA"); 472 // // dest,"out_CONST_0"); 473 474 // dest = _name; 475 476 // PORT_MAP (_component,src , "in_WRITE_" +toString(x)+"_ADDRESS", 477 // dest, "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_RD_NUM_REG"); 478 479 // x++; 480 // } 481 482 for (uint32_t j=0; j<_param->_nb_inst_issue; j++) 483 { 484 dest = _name+"_glue"; 485 486 #ifdef POSITION 487 _component->interface_map (src ,"write_"+toString(j), 488 dest,"issue_gpr_status_"+toString(i)+"_"+toString(j)); 489 #endif 490 491 COMPONENT_MAP(_component,src , "in_WRITE_" +toString(x)+"_VAL", 492 dest,"out_ISSUE_GPR_STATUS_"+toString(i)+"_"+toString(j)+"_VAL"); 493 COMPONENT_MAP(_component,src ,"out_WRITE_" +toString(x)+"_ACK", 494 dest, "in_ISSUE_GPR_STATUS_"+toString(i)+"_"+toString(j)+"_ACK"); 495 COMPONENT_MAP(_component,src , "in_WRITE_" +toString(x)+"_DATA", 496 dest,"out_ISSUE_GPR_STATUS_"+toString(i)+"_"+toString(j)+"_DATA"); 497 // dest,"out_CONST_0"); 498 499 dest = _name; 500 501 PORT_MAP (_component,src , "in_WRITE_"+toString(x)+"_ADDRESS", 502 dest, "in_ISSUE_"+toString(j)+"_RD_NUM_REG"); 503 504 x++; 505 } 465 506 } 466 507 }// gpr_status … … 534 575 // ------------------------------------------------------------------- 535 576 { 577 uint32_t x=0; 536 578 for (uint32_t i=0; i<_param->_nb_ooo_engine; i++) 537 579 { … … 572 614 } 573 615 574 uint32_t x=0;575 616 for (uint32_t j=0; j<_param->_nb_spr_write; j++) 576 617 { … … 597 638 x++; 598 639 } 640 641 // for (uint32_t j=0; j<_param->_nb_inst_insert_rob [i]; j++) 642 // { 643 // dest = _name+"_glue"; 644 645 // #ifdef POSITION 646 // _component->interface_map (src , "write_"+toString(x), 647 // dest,"insert_rob_spr_status_"+toString(i)+"_"+toString(j)); 648 // #endif 649 650 // COMPONENT_MAP(_component,src , "in_WRITE_" +toString(x)+"_VAL", 651 // dest,"out_INSERT_ROB_SPR_STATUS_"+toString(i)+"_"+toString(j)+"_VAL"); 652 // COMPONENT_MAP(_component,src ,"out_WRITE_" +toString(x)+"_ACK", 653 // dest, "in_INSERT_ROB_SPR_STATUS_"+toString(i)+"_"+toString(j)+"_ACK"); 654 // COMPONENT_MAP(_component,src , "in_WRITE_" +toString(x)+"_DATA", 655 // dest,"out_INSERT_ROB_SPR_STATUS_"+toString(i)+"_"+toString(j)+"_DATA"); 656 // // dest,"out_CONST_0"); 657 658 // dest = _name; 659 660 // PORT_MAP (_component,src , "in_WRITE_" +toString(x)+"_ADDRESS", 661 // dest, "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_RE_NUM_REG"); 662 663 // x++; 664 // } 599 665 600 for (uint32_t j=0; j<_param->_nb_inst_insert_rob [i]; j++) 601 { 602 dest = _name+"_glue"; 603 604 #ifdef POSITION 605 _component->interface_map (src , "write_"+toString(x), 606 dest,"insert_rob_spr_status_"+toString(i)+"_"+toString(j)); 607 #endif 608 609 COMPONENT_MAP(_component,src , "in_WRITE_" +toString(x)+"_VAL", 610 dest,"out_INSERT_ROB_SPR_STATUS_"+toString(i)+"_"+toString(j)+"_VAL"); 611 COMPONENT_MAP(_component,src ,"out_WRITE_" +toString(x)+"_ACK", 612 dest, "in_INSERT_ROB_SPR_STATUS_"+toString(i)+"_"+toString(j)+"_ACK"); 613 COMPONENT_MAP(_component,src , "in_WRITE_" +toString(x)+"_DATA", 614 dest,"out_INSERT_ROB_SPR_STATUS_"+toString(i)+"_"+toString(j)+"_DATA"); 615 // dest,"out_CONST_0"); 616 617 dest = _name; 618 619 PORT_MAP (_component,src , "in_WRITE_" +toString(x)+"_ADDRESS", 620 dest, "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_RE_NUM_REG"); 621 622 x++; 623 } 666 for (uint32_t j=0; j<_param->_nb_inst_issue; j++) 667 { 668 dest = _name+"_glue"; 669 670 #ifdef POSITION 671 _component->interface_map (src , "write_"+toString(x), 672 dest,"issue_spr_status_"+toString(i)+"_"+toString(j)); 673 #endif 674 675 COMPONENT_MAP(_component,src , "in_WRITE_" +toString(x)+"_VAL", 676 dest,"out_ISSUE_SPR_STATUS_"+toString(i)+"_"+toString(j)+"_VAL"); 677 COMPONENT_MAP(_component,src ,"out_WRITE_" +toString(x)+"_ACK", 678 dest, "in_ISSUE_SPR_STATUS_"+toString(i)+"_"+toString(j)+"_ACK"); 679 COMPONENT_MAP(_component,src , "in_WRITE_" +toString(x)+"_DATA", 680 dest,"out_ISSUE_SPR_STATUS_"+toString(i)+"_"+toString(j)+"_DATA"); 681 // dest,"out_CONST_0"); 682 683 dest = _name; 684 685 PORT_MAP (_component,src , "in_WRITE_"+toString(x)+"_ADDRESS", 686 dest, "in_ISSUE_"+toString(j)+"_RE_NUM_REG"); 687 688 x++; 689 } 690 624 691 } 625 692 }// spr_status … … 751 818 } 752 819 753 for (uint32_t i=0; i<_param->_nb_ooo_engine; i++) 820 // for (uint32_t i=0; i<_param->_nb_ooo_engine; i++) 821 // { 822 // uint32_t x = _param->_nb_inst_insert_rob [i]; 823 824 // for (uint32_t j=0; j<x; j++) 825 // { 826 // dest = _name; 827 828 // #ifdef POSITION 829 // _component->interface_map (src ,"insert_rob_"+toString(i)+"_"+toString(j), 830 // dest,"insert_rob_"+toString(i)+"_"+toString(j)); 831 // #endif 832 833 // PORT_MAP(_component,src , "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_VAL", 834 // dest, "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_VAL"); 835 // PORT_MAP(_component,src ,"out_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_ACK", 836 // dest,"out_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_ACK"); 837 // PORT_MAP(_component,src , "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_RD_USE", 838 // dest, "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_RD_USE"); 839 // PORT_MAP(_component,src , "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_RE_USE", 840 // dest, "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_RE_USE"); 841 842 // // out_INSERT_ROB_GPR_STATUS_VAL - gpr_status. in_WRITE_VAL 843 // // in_INSERT_ROB_GPR_STATUS_ACK - gpr_status. out_WRITE_ACK 844 // // out_INSERT_ROB_GPR_STATUS_DATA- gpr_status. in_WRITE_DATA 845 // // out_INSERT_ROB_SPR_STATUS_VAL - spr_status. in_WRITE_VAL 846 // // in_INSERT_ROB_SPR_STATUS_ACK - spr_status. out_WRITE_ACK 847 // // in_INSERT_ROB_SPR_STATUS_DATA- spr_status. out_WRITE_DATA 848 // } 849 // } 850 851 for (uint32_t i=0; i<_param->_nb_inst_issue; i++) 754 852 { 755 uint32_t x = _param->_nb_inst_insert_rob [i]; 756 757 for (uint32_t j=0; j<x; j++) 758 { 759 dest = _name; 760 761 #ifdef POSITION 762 _component->interface_map (src ,"insert_rob_"+toString(i)+"_"+toString(j), 763 dest,"insert_rob_"+toString(i)+"_"+toString(j)); 764 #endif 765 766 PORT_MAP(_component,src , "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_VAL", 767 dest, "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_VAL"); 768 PORT_MAP(_component,src ,"out_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_ACK", 769 dest,"out_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_ACK"); 770 PORT_MAP(_component,src , "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_RD_USE", 771 dest, "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_RD_USE"); 772 PORT_MAP(_component,src , "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_RE_USE", 773 dest, "in_INSERT_ROB_"+toString(i)+"_"+toString(j)+"_RE_USE"); 774 775 // out_INSERT_ROB_GPR_STATUS_VAL - gpr_status. in_WRITE_VAL 776 // in_INSERT_ROB_GPR_STATUS_ACK - gpr_status. out_WRITE_ACK 777 // out_INSERT_ROB_GPR_STATUS_DATA- gpr_status. in_WRITE_DATA 778 // out_INSERT_ROB_SPR_STATUS_VAL - spr_status. in_WRITE_VAL 779 // in_INSERT_ROB_SPR_STATUS_ACK - spr_status. out_WRITE_ACK 780 // in_INSERT_ROB_SPR_STATUS_DATA- spr_status. out_WRITE_DATA 781 } 853 dest = _name; 854 855 #ifdef POSITION 856 _component->interface_map (src ,"issue_"+toString(i), 857 dest,"issue_"+toString(i)); 858 #endif 859 860 PORT_MAP(_component,src , "in_ISSUE_"+toString(i)+"_VAL", 861 dest, "in_ISSUE_"+toString(i)+"_VAL"); 862 PORT_MAP(_component,src ,"out_ISSUE_"+toString(i)+"_ACK", 863 dest,"out_ISSUE_"+toString(i)+"_ACK"); 864 if (_param->_have_port_ooo_engine_id == true) 865 PORT_MAP(_component,src , "in_ISSUE_"+toString(i)+"_OOO_ENGINE_ID", 866 dest, "in_ISSUE_"+toString(i)+"_OOO_ENGINE_ID"); 867 PORT_MAP(_component,src , "in_ISSUE_"+toString(i)+"_RD_USE", 868 dest, "in_ISSUE_"+toString(i)+"_RD_USE"); 869 PORT_MAP(_component,src , "in_ISSUE_"+toString(i)+"_RE_USE", 870 dest, "in_ISSUE_"+toString(i)+"_RE_USE"); 871 872 // out_ISSUE_GPR_STATUS_VAL - gpr_status. in_WRITE_VAL 873 // in_ISSUE_GPR_STATUS_ACK - gpr_status.out_WRITE_ACK 874 // out_ISSUE_GPR_STATUS_DATA- gpr_status. in_WRITE_DATA 875 // out_ISSUE_SPR_STATUS_VAL - spr_status. in_WRITE_VAL 876 // in_ISSUE_SPR_STATUS_ACK - spr_status.out_WRITE_ACK 877 // in_ISSUE_SPR_STATUS_DATA- spr_status.out_WRITE_DATA 782 878 } 879 783 880 }// glue 784 881 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Register_unit_deallocation.cpp
r128 r136 54 54 DELETE1_SIGNAL( in_SPR_WRITE_DATA ,_param->_nb_spr_write,_param->_size_special_data); 55 55 56 DELETE2_SIGNAL( in_INSERT_ROB_VAL ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1],1); 57 DELETE2_SIGNAL(out_INSERT_ROB_ACK ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1],1); 58 DELETE2_SIGNAL( in_INSERT_ROB_RD_USE ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1],1); 59 DELETE2_SIGNAL( in_INSERT_ROB_RD_NUM_REG ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1],_param->_size_gpr_address); 60 DELETE2_SIGNAL( in_INSERT_ROB_RE_USE ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1],1); 61 DELETE2_SIGNAL( in_INSERT_ROB_RE_NUM_REG ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1],_param->_size_spr_address); 56 DELETE1_SIGNAL( in_ISSUE_VAL ,_param->_nb_inst_issue,1); 57 DELETE1_SIGNAL(out_ISSUE_ACK ,_param->_nb_inst_issue,1); 58 DELETE1_SIGNAL( in_ISSUE_OOO_ENGINE_ID,_param->_nb_inst_issue,_param->_size_ooo_engine_id); 59 DELETE1_SIGNAL( in_ISSUE_RD_USE ,_param->_nb_inst_issue,1); 60 DELETE1_SIGNAL( in_ISSUE_RD_NUM_REG ,_param->_nb_inst_issue,_param->_size_gpr_address); 61 DELETE1_SIGNAL( in_ISSUE_RE_USE ,_param->_nb_inst_issue,1); 62 DELETE1_SIGNAL( in_ISSUE_RE_NUM_REG ,_param->_nb_inst_issue,_param->_size_spr_address); 63 64 // DELETE2_SIGNAL( in_INSERT_ROB_VAL ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1],1); 65 // DELETE2_SIGNAL(out_INSERT_ROB_ACK ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1],1); 66 // DELETE2_SIGNAL( in_INSERT_ROB_RD_USE ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1],1); 67 // DELETE2_SIGNAL( in_INSERT_ROB_RD_NUM_REG ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1],_param->_size_gpr_address); 68 // DELETE2_SIGNAL( in_INSERT_ROB_RE_USE ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1],1); 69 // DELETE2_SIGNAL( in_INSERT_ROB_RE_NUM_REG ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1],_param->_size_spr_address); 62 70 63 71 // delete [] in_RETIRE_ROB_VAL ;
Note: See TracChangeset
for help on using the changeset viewer.