Changeset 88 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/src/Parameters.cpp
- Timestamp:
- Dec 10, 2008, 7:31:39 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/src/Parameters.cpp
r87 r88 25 25 uint32_t size_general_data , 26 26 uint32_t * nb_branch_speculated , 27 uint32_tsize_branch_update_prediction,27 // uint32_t * size_branch_update_prediction, 28 28 uint32_t nb_context_select , 29 29 Tpriority_t select_priority , 30 30 Tload_balancing_t select_load_balancing , 31 31 bool ** instruction_implemeted , 32 morpheo::behavioural::custom::custom_information_t (*get_custom_information) (uint32_t)) 32 morpheo::behavioural::custom::custom_information_t (*get_custom_information) (void), 33 bool is_toplevel 34 ) 33 35 { 34 36 log_begin(Decod_unit,FUNCTION); … … 38 40 _nb_inst_decod = nb_inst_decod ; 39 41 _size_queue = size_queue ; 40 42 // _size_general_data = size_general_data ; 41 43 _nb_branch_speculated = nb_branch_speculated ; 42 44 // _size_branch_update_prediction = size_branch_update_prediction; 43 45 _nb_context_select = nb_context_select ; 44 46 _select_priority = select_priority ; … … 48 50 49 51 _max_nb_inst_fetch = max<uint32_t>(_nb_inst_fetch,_nb_context); 52 // _size_address_inst = size_general_data-2; 50 53 51 _size_address_inst = size_general_data-2;52 _size_context_id = log2(nb_context );53 _size_depth = log2(max<uint32_t>(_nb_branch_speculated,_nb_context));54 _size_inst_ifetch_ptr = log2(_max_nb_inst_fetch );55 56 _have_port_context_id = (_size_context_id > 0);57 _have_port_depth = (_size_depth > 0);58 _have_port_branch_update_prediction_id = (_size_branch_update_prediction > 0);59 _have_port_inst_ifetch_ptr = (_size_inst_ifetch_ptr > 0);60 61 54 test(); 62 55 … … 65 58 _nb_inst_fetch , 66 59 _nb_inst_decod , 67 max<uint32_t>(_nb_branch_speculated,_nb_context),68 60 _nb_branch_speculated, 61 // _size_branch_update_prediction, 69 62 _nb_context_select , 70 _size_general_data ,63 size_general_data , 71 64 _select_priority , 72 65 _select_load_balancing , … … 78 71 _nb_inst_decod , 79 72 _size_queue , 80 _size_general_data ,73 size_general_data , 81 74 _nb_branch_speculated); 82 75 83 _size_nb_inst_decod = _param_decod_queue->_size_nb_inst; 84 76 if (is_toplevel) 77 { 78 _size_context_id = log2(_nb_context); 79 _size_depth = max<uint32_t>(_nb_branch_speculated,_nb_context); 80 // _size_branch_update_prediction_id = max<uint32_t>(_size_branch_update_prediction,_nb_context); 81 _size_inst_ifetch_ptr = log2(max<uint32_t>(_nb_inst_fetch,_nb_context)); 82 _size_nb_inst_decod = log2(_size_queue)+1; 83 84 _size_instruction_address = size_general_data-2; 85 _size_general_data = size_general_data; 86 87 _have_port_context_id = _size_context_id > 0; 88 _have_port_depth = (_size_depth > 0); 89 // _have_port_branch_update_prediction_id = (_size_branch_update_prediction_id > 0); 90 _have_port_inst_ifetch_ptr = (_size_inst_ifetch_ptr > 0); 91 92 copy (); 93 } 94 85 95 log_end(Decod_unit,FUNCTION); 86 96 }; … … 101 111 log_begin(Decod_unit,FUNCTION); 102 112 103 delete _param_decod; 104 delete _param_decod_queue; 113 delete _param_decod; 114 delete _param_decod_queue; 115 116 log_end(Decod_unit,FUNCTION); 117 }; 118 119 120 #undef FUNCTION 121 #define FUNCTION "Decod_unit::copy" 122 void Parameters::copy (void) 123 { 124 log_begin(Decod_unit,FUNCTION); 125 126 COPY(_param_decod ); 127 COPY(_param_decod_queue); 105 128 106 129 log_end(Decod_unit,FUNCTION);
Note: See TracChangeset
for help on using the changeset viewer.