Changeset 88 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/Branch_Target_Buffer_Glue/src/Branch_Target_Buffer_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_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/Branch_Target_Buffer_Glue/src/Branch_Target_Buffer_Glue.cpp
r81 r88 39 39 log_printf(FUNC,Branch_Target_Buffer_Glue,FUNCTION,"Begin"); 40 40 41 #if DEBUG_Branch_Target_Buffer_Glue == true 42 log_printf(INFO,Branch_Target_Buffer_Glue,FUNCTION,_("<%s> Parameters"),_name.c_str()); 43 44 std::cout << *param << std::endl; 45 #endif 46 41 47 log_printf(INFO,Branch_Target_Buffer_Glue,FUNCTION,"Allocation"); 42 48 … … 48 54 49 55 #ifdef STATISTICS 50 if ( _usage & USE_STATISTICS)56 if (usage_is_set(_usage,USE_STATISTICS)) 51 57 { 52 58 log_printf(INFO,Branch_Target_Buffer_Glue,FUNCTION,"Allocation of statistics"); … … 57 63 58 64 #ifdef VHDL 59 if ( _usage & USE_VHDL)65 if (usage_is_set(_usage,USE_VHDL)) 60 66 { 61 67 // generate the vhdl … … 67 73 68 74 #ifdef SYSTEMC 69 if ( _usage & USE_SYSTEMC)75 if (usage_is_set(_usage,USE_SYSTEMC)) 70 76 { 71 77 # if defined(STATISTICS) or defined(VHDL_TESTBENCH) … … 104 110 } 105 111 106 # ifdef SYSTEMCASS_SPECIFIC107 // List dependency information108 109 for (uint32_t i=0; i<_param->_nb_inst_predict; i++)110 {111 for (uint32_t j=0; j<_param->_associativity; j++)112 (*(out_PREDICT_HIT [i])) (*(in_PREDICT_REGISTER_HIT [i][j]));113 if (_param->_have_port_victim)114 (*(out_PREDICT_HIT [i])) (*(in_PREDICT_SORT_INDEX [i]));115 116 for (uint32_t j=0; j<_param->_associativity; j++)117 (*(out_PREDICT_ADDRESS_SRC [i])) (*(in_PREDICT_REGISTER_ADDRESS_SRC [i][j]));118 if (_param->_have_port_victim)119 (*(out_PREDICT_ADDRESS_SRC [i])) (*(in_PREDICT_SORT_INDEX [i]));120 121 for (uint32_t j=0; j<_param->_associativity; j++)122 (*(out_PREDICT_ADDRESS_DEST [i])) (*(in_PREDICT_REGISTER_ADDRESS_DEST [i][j]));123 if (_param->_have_port_victim)124 (*(out_PREDICT_ADDRESS_DEST [i])) (*(in_PREDICT_SORT_INDEX [i]));125 126 for (uint32_t j=0; j<_param->_associativity; j++)127 (*(out_PREDICT_CONDITION [i])) (*(in_PREDICT_REGISTER_CONDITION [i][j]));128 if (_param->_have_port_victim)129 (*(out_PREDICT_CONDITION [i])) (*(in_PREDICT_SORT_INDEX [i]));130 131 for (uint32_t j=0; j<_param->_associativity; j++)132 (*(out_PREDICT_LAST_TAKE [i])) (*(in_PREDICT_REGISTER_LAST_TAKE [i][j]));133 if (_param->_have_port_victim)134 (*(out_PREDICT_LAST_TAKE [i])) (*(in_PREDICT_SORT_INDEX [i]));135 136 for (uint32_t j=0; j<_param->_associativity; j++)137 (*(out_PREDICT_IS_ACCURATE [i])) (*(in_PREDICT_REGISTER_IS_ACCURATE [i][j]));138 if (_param->_have_port_victim)139 (*(out_PREDICT_IS_ACCURATE [i])) (*(in_PREDICT_SORT_INDEX [i]));140 141 142 (*(out_PREDICT_ACK [i])) (*(in_PREDICT_REGISTER_ACK [i]));143 if (_param->_have_port_victim)144 {145 (*(out_PREDICT_ACK [i])) (*(in_PREDICT_SORT_VAL [i]));146 (*(out_PREDICT_ACK [i])) (*(in_PREDICT_VICTIM_ACK [i]));147 }148 149 (*(out_PREDICT_REGISTER_VAL [i])) (*(in_PREDICT_VAL [i]));150 if (_param->_have_port_victim)151 {152 (*(out_PREDICT_REGISTER_VAL [i])) (*(in_PREDICT_SORT_VAL [i]));153 (*(out_PREDICT_REGISTER_VAL [i])) (*(in_PREDICT_VICTIM_ACK [i]));154 }155 156 if (_param->_have_port_victim)157 {158 (*(out_PREDICT_VICTIM_VAL [i])) (*(in_PREDICT_VAL [i]));159 (*(out_PREDICT_VICTIM_VAL [i])) (*(in_PREDICT_REGISTER_ACK [i]));160 (*(out_PREDICT_VICTIM_VAL [i])) (*(in_PREDICT_SORT_VAL [i]));161 162 for (uint32_t j=0; j<_param->_associativity; j++)163 (*(out_PREDICT_VICTIM_HIT [i])) (*(in_PREDICT_REGISTER_HIT [i][j]));164 (*(out_PREDICT_VICTIM_HIT [i])) (*(in_PREDICT_SORT_INDEX [i]));165 166 if (not _param->_is_full_associative)167 {168 for (uint32_t j=0; j<_param->_associativity; j++)169 (*(out_PREDICT_VICTIM_ADDRESS [i])) (*(in_PREDICT_REGISTER_ADDRESS_SRC [i][j]));170 (*(out_PREDICT_VICTIM_ADDRESS [i])) (*(in_PREDICT_SORT_INDEX [i]));171 }172 (*(out_PREDICT_VICTIM_INDEX [i])) (*(in_PREDICT_SORT_INDEX [i]));173 }174 }175 # endif112 // # ifdef SYSTEMCASS_SPECIFIC 113 // // List dependency information 114 115 // for (uint32_t i=0; i<_param->_nb_inst_predict; i++) 116 // { 117 // for (uint32_t j=0; j<_param->_associativity; j++) 118 // (*(out_PREDICT_HIT [i])) (*(in_PREDICT_REGISTER_HIT [i][j])); 119 // if (_param->_have_port_victim) 120 // (*(out_PREDICT_HIT [i])) (*(in_PREDICT_SORT_INDEX [i])); 121 122 // for (uint32_t j=0; j<_param->_associativity; j++) 123 // (*(out_PREDICT_ADDRESS_SRC [i])) (*(in_PREDICT_REGISTER_ADDRESS_SRC [i][j])); 124 // if (_param->_have_port_victim) 125 // (*(out_PREDICT_ADDRESS_SRC [i])) (*(in_PREDICT_SORT_INDEX [i])); 126 127 // for (uint32_t j=0; j<_param->_associativity; j++) 128 // (*(out_PREDICT_ADDRESS_DEST [i])) (*(in_PREDICT_REGISTER_ADDRESS_DEST [i][j])); 129 // if (_param->_have_port_victim) 130 // (*(out_PREDICT_ADDRESS_DEST [i])) (*(in_PREDICT_SORT_INDEX [i])); 131 132 // for (uint32_t j=0; j<_param->_associativity; j++) 133 // (*(out_PREDICT_CONDITION [i])) (*(in_PREDICT_REGISTER_CONDITION [i][j])); 134 // if (_param->_have_port_victim) 135 // (*(out_PREDICT_CONDITION [i])) (*(in_PREDICT_SORT_INDEX [i])); 136 137 // for (uint32_t j=0; j<_param->_associativity; j++) 138 // (*(out_PREDICT_LAST_TAKE [i])) (*(in_PREDICT_REGISTER_LAST_TAKE [i][j])); 139 // if (_param->_have_port_victim) 140 // (*(out_PREDICT_LAST_TAKE [i])) (*(in_PREDICT_SORT_INDEX [i])); 141 142 // for (uint32_t j=0; j<_param->_associativity; j++) 143 // (*(out_PREDICT_IS_ACCURATE [i])) (*(in_PREDICT_REGISTER_IS_ACCURATE [i][j])); 144 // if (_param->_have_port_victim) 145 // (*(out_PREDICT_IS_ACCURATE [i])) (*(in_PREDICT_SORT_INDEX [i])); 146 147 148 // (*(out_PREDICT_ACK [i])) (*(in_PREDICT_REGISTER_ACK [i])); 149 // if (_param->_have_port_victim) 150 // { 151 // (*(out_PREDICT_ACK [i])) (*(in_PREDICT_SORT_VAL [i])); 152 // (*(out_PREDICT_ACK [i])) (*(in_PREDICT_VICTIM_ACK [i])); 153 // } 154 155 // (*(out_PREDICT_REGISTER_VAL [i])) (*(in_PREDICT_VAL [i])); 156 // if (_param->_have_port_victim) 157 // { 158 // (*(out_PREDICT_REGISTER_VAL [i])) (*(in_PREDICT_SORT_VAL [i])); 159 // (*(out_PREDICT_REGISTER_VAL [i])) (*(in_PREDICT_VICTIM_ACK [i])); 160 // } 161 162 // if (_param->_have_port_victim) 163 // { 164 // (*(out_PREDICT_VICTIM_VAL [i])) (*(in_PREDICT_VAL [i])); 165 // (*(out_PREDICT_VICTIM_VAL [i])) (*(in_PREDICT_REGISTER_ACK [i])); 166 // (*(out_PREDICT_VICTIM_VAL [i])) (*(in_PREDICT_SORT_VAL [i])); 167 168 // for (uint32_t j=0; j<_param->_associativity; j++) 169 // (*(out_PREDICT_VICTIM_HIT [i])) (*(in_PREDICT_REGISTER_HIT [i][j])); 170 // (*(out_PREDICT_VICTIM_HIT [i])) (*(in_PREDICT_SORT_INDEX [i])); 171 172 // if (not _param->_is_full_associative) 173 // { 174 // for (uint32_t j=0; j<_param->_associativity; j++) 175 // (*(out_PREDICT_VICTIM_ADDRESS [i])) (*(in_PREDICT_REGISTER_ADDRESS_SRC [i][j])); 176 // (*(out_PREDICT_VICTIM_ADDRESS [i])) (*(in_PREDICT_SORT_INDEX [i])); 177 // } 178 // (*(out_PREDICT_VICTIM_INDEX [i])) (*(in_PREDICT_SORT_INDEX [i])); 179 // } 180 // } 181 // # endif 176 182 177 183 log_printf(INFO,Branch_Target_Buffer_Glue,FUNCTION,"Method - genMealy_decod"); … … 271 277 272 278 #ifdef STATISTICS 273 if ( _usage & USE_STATISTICS)279 if (usage_is_set(_usage,USE_STATISTICS)) 274 280 { 275 281 statistics_deallocation();
Note: See TracChangeset
for help on using the changeset viewer.