- Timestamp:
- Jan 15, 2009, 6:19:08 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
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.