Changeset 101 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/src
- Timestamp:
- Jan 15, 2009, 6:19:08 PM (15 years ago)
- Location:
- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/src
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/src/Core_allocation.cpp
r98 r101 383 383 384 384 // ~~~~~[ Interface : "depth" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 385 // out_DEPTH_MIN - ooo_engine. in_DEPTH_MIN 386 // out_DEPTH_MAX - ooo_engine. in_DEPTH_MAX 385 // out_DEPTH_MIN - ooo_engine. in_DEPTH_MIN 386 // out_DEPTH_MAX - ooo_engine. in_DEPTH_MAX 387 // out_DEPTH_FULL - ooo_engine. in_DEPTH_FULL 387 388 388 389 // ~~~~~[ Interface : "spr" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 646 647 647 648 if (_param->_have_port_depth) 649 { 648 650 COMPONENT_MAP(_component,src , "in_DEPTH_"+toString(j)+"_"+toString(k)+"_MIN", 649 651 dest,"out_DEPTH_" +toString(k)+"_MIN"); 650 652 COMPONENT_MAP(_component,src , "in_DEPTH_"+toString(j)+"_"+toString(k)+"_MAX", 651 653 dest,"out_DEPTH_" +toString(k)+"_MAX"); 654 } 655 COMPONENT_MAP(_component,src , "in_DEPTH_"+toString(j)+"_"+toString(k)+"_FULL", 656 dest,"out_DEPTH_" +toString(k)+"_FULL"); 652 657 } 653 658 } -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/src/Parameters.cpp
r97 r101 495 495 _front_end_instruction_implemeted [num_front_end][num_context][INSTRUCTION_L_BNF ] |= (instruction_size_data(INSTRUCTION_L_BNF ) <= size_general_data) and (_timing[j][instruction_information(INSTRUCTION_L_BNF )._type][instruction_information(INSTRUCTION_L_BNF )._operation]._latence > 0); 496 496 _front_end_instruction_implemeted [num_front_end][num_context][INSTRUCTION_L_CMOV ] |= (instruction_size_data(INSTRUCTION_L_CMOV ) <= size_general_data) and (_timing[j][instruction_information(INSTRUCTION_L_CMOV )._type][instruction_information(INSTRUCTION_L_CMOV )._operation]._latence > 0); 497 497 // _front_end_instruction_implemeted [num_front_end][num_context][INSTRUCTION_L_CSYNC ] |= (instruction_size_data(INSTRUCTION_L_CSYNC ) <= size_general_data) and (_timing[j][instruction_information(INSTRUCTION_L_CSYNC )._type][instruction_information(INSTRUCTION_L_CSYNC )._operation]._latence > 0); 498 498 _front_end_instruction_implemeted [num_front_end][num_context][INSTRUCTION_L_CUST1 ] |= (instruction_size_data(INSTRUCTION_L_CUST1 ) <= size_general_data) and (_timing[j][instruction_information(INSTRUCTION_L_CUST1 )._type][instruction_information(INSTRUCTION_L_CUST1 )._operation]._latence > 0); 499 499 _front_end_instruction_implemeted [num_front_end][num_context][INSTRUCTION_L_CUST2 ] |= (instruction_size_data(INSTRUCTION_L_CUST2 ) <= size_general_data) and (_timing[j][instruction_information(INSTRUCTION_L_CUST2 )._type][instruction_information(INSTRUCTION_L_CUST2 )._operation]._latence > 0); … … 531 531 _front_end_instruction_implemeted [num_front_end][num_context][INSTRUCTION_L_MOVHI ] |= (instruction_size_data(INSTRUCTION_L_MOVHI ) <= size_general_data) and (_timing[j][instruction_information(INSTRUCTION_L_MOVHI )._type][instruction_information(INSTRUCTION_L_MOVHI )._operation]._latence > 0); 532 532 _front_end_instruction_implemeted [num_front_end][num_context][INSTRUCTION_L_MSB ] |= (instruction_size_data(INSTRUCTION_L_MSB ) <= size_general_data) and (_timing[j][instruction_information(INSTRUCTION_L_MSB )._type][instruction_information(INSTRUCTION_L_MSB )._operation]._latence > 0); 533 533 // _front_end_instruction_implemeted [num_front_end][num_context][INSTRUCTION_L_MSYNC ] |= (instruction_size_data(INSTRUCTION_L_MSYNC ) <= size_general_data) and (_timing[j][instruction_information(INSTRUCTION_L_MSYNC )._type][instruction_information(INSTRUCTION_L_MSYNC )._operation]._latence > 0); 534 534 _front_end_instruction_implemeted [num_front_end][num_context][INSTRUCTION_L_MTSPR ] |= (instruction_size_data(INSTRUCTION_L_MTSPR ) <= size_general_data) and (_timing[j][instruction_information(INSTRUCTION_L_MTSPR )._type][instruction_information(INSTRUCTION_L_MTSPR )._operation]._latence > 0); 535 535 _front_end_instruction_implemeted [num_front_end][num_context][INSTRUCTION_L_MUL ] |= (instruction_size_data(INSTRUCTION_L_MUL ) <= size_general_data) and (_timing[j][instruction_information(INSTRUCTION_L_MUL )._type][instruction_information(INSTRUCTION_L_MUL )._operation]._latence > 0); … … 539 539 _front_end_instruction_implemeted [num_front_end][num_context][INSTRUCTION_L_OR ] |= (instruction_size_data(INSTRUCTION_L_OR ) <= size_general_data) and (_timing[j][instruction_information(INSTRUCTION_L_OR )._type][instruction_information(INSTRUCTION_L_OR )._operation]._latence > 0); 540 540 _front_end_instruction_implemeted [num_front_end][num_context][INSTRUCTION_L_ORI ] |= (instruction_size_data(INSTRUCTION_L_ORI ) <= size_general_data) and (_timing[j][instruction_information(INSTRUCTION_L_ORI )._type][instruction_information(INSTRUCTION_L_ORI )._operation]._latence > 0); 541 541 // _front_end_instruction_implemeted [num_front_end][num_context][INSTRUCTION_L_PSYNC ] |= (instruction_size_data(INSTRUCTION_L_PSYNC ) <= size_general_data) and (_timing[j][instruction_information(INSTRUCTION_L_PSYNC )._type][instruction_information(INSTRUCTION_L_PSYNC )._operation]._latence > 0); 542 542 _front_end_instruction_implemeted [num_front_end][num_context][INSTRUCTION_L_RFE ] |= (instruction_size_data(INSTRUCTION_L_RFE ) <= size_general_data) and (_timing[j][instruction_information(INSTRUCTION_L_RFE )._type][instruction_information(INSTRUCTION_L_RFE )._operation]._latence > 0); 543 543 _front_end_instruction_implemeted [num_front_end][num_context][INSTRUCTION_L_ROR ] |= (instruction_size_data(INSTRUCTION_L_ROR ) <= size_general_data) and (_timing[j][instruction_information(INSTRUCTION_L_ROR )._type][instruction_information(INSTRUCTION_L_ROR )._operation]._latence > 0); … … 728 728 _front_end_instruction_implemeted [num_front_end][num_context][INSTRUCTION_L_SH ] |= (instruction_size_data(INSTRUCTION_L_SH ) <= size_general_data); 729 729 _front_end_instruction_implemeted [num_front_end][num_context][INSTRUCTION_L_SW ] |= (instruction_size_data(INSTRUCTION_L_SW ) <= size_general_data); 730 731 // _front_end_instruction_implemeted [num_front_end][num_context][INSTRUCTION_L_CSYNC ] = true; 732 _front_end_instruction_implemeted [num_front_end][num_context][INSTRUCTION_L_MSYNC ] = true; 733 _front_end_instruction_implemeted [num_front_end][num_context][INSTRUCTION_L_PSYNC ] = true; 730 734 } 731 735 736 // Reedit timing 737 { 738 multi_execute_loop::execute_loop::execute_timing_t timing_tmp [_nb_functionnal_unit][_nb_type][_nb_operation]; 739 740 for (uint32_t i=0; i<_nb_functionnal_unit; ++i) 741 for (uint32_t j=0; j<_nb_type; ++j) 742 for (uint32_t k=0; k<_nb_operation; ++k) 743 { 744 timing_tmp [i][j][k]._latence = _timing [i][j][k]._latence; 745 timing_tmp [i][j][k]._delay = _timing [i][j][k]._delay ; 746 747 // Reset 748 _timing [i][j][k]._latence = _timing [i][j][k]._delay = 0; 749 } 750 751 for (uint32_t i=0; i<_nb_thread; ++i) 752 { 753 uint32_t num_front_end = _link_context_with_thread [i].first; 754 uint32_t num_context = _link_context_with_thread [i].second; 755 756 for (uint32_t j=0; j<_nb_functionnal_unit; ++j) 757 { 758 // Test if link 759 if (not _link_thread_and_functionnal_unit[i][j]) 760 continue; 761 762 for (uint32_t k=0; k<NB_INSTRUCTION; ++k) 763 if (_front_end_instruction_implemeted [num_front_end][num_context][k]) 764 { 765 uint32_t x = instruction_information(k)._type; 766 uint32_t y = instruction_information(k)._operation; 767 768 _timing[j][x][y]._latence = timing_tmp[j][x][y]._latence; 769 _timing[j][x][y]._delay = timing_tmp[j][x][y]._delay ; 770 } 771 } 772 } 773 } 774 732 775 ALLOC1(_front_end_nb_inst_branch_complete ,uint32_t ,_nb_front_end); 733 776 ALLOC2(_front_end_size_decod_queue ,uint32_t ,_nb_front_end,_nb_decod_unit[it1]);
Note: See TracChangeset
for help on using the changeset viewer.