Changeset 111 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/src/Direction_allocation.cpp
- Timestamp:
- Feb 27, 2009, 7:37:40 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/src/Direction_allocation.cpp
r88 r111 84 84 std::string name; 85 85 86 if (_param->_have_component_meta_predictor) 87 { 88 name = _name+"_meta_predictor"; 89 log_printf(INFO,Prediction_unit,FUNCTION,_("Create : %s"),name.c_str()); 90 91 _component_meta_predictor = new morpheo::behavioural::core::multi_front_end::front_end::prediction_unit::direction::meta_predictor::Meta_Predictor 92 (name.c_str() 93 #ifdef STATISTICS 94 ,param_statistics 95 #endif 96 ,_param->_param_meta_predictor 97 ,_usage); 98 99 _component->set_component (_component_meta_predictor->_component 100 #ifdef POSITION 101 , 50, 50, 10, 10 102 #endif 103 ); 104 } 105 86 106 { 87 107 name = _name+"_glue"; … … 105 125 // ~~~~~[ Instanciation ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 106 126 std::string src,dest; 127 128 // =================================================================== 129 // =====[ Meta_Predictor ]============================================ 130 // =================================================================== 131 if (_param->_have_component_meta_predictor) 132 { 133 src = _name+"_meta_predictor"; 134 log_printf(INFO,Prediction_unit,FUNCTION,_("Instance : %s"),src.c_str()); 135 136 { 137 dest = _name; 138 #ifdef POSITION 139 _component->interface_map (src ,"", 140 dest,""); 141 #endif 142 143 PORT_MAP(_component,src , "in_CLOCK" ,dest, "in_CLOCK"); 144 PORT_MAP(_component,src , "in_NRESET",dest, "in_NRESET"); 145 } 146 147 for (uint32_t i=0; i<_param->_nb_inst_predict; i++) 148 { 149 dest = _name+"_glue"; 150 #ifdef POSITION 151 _component->interface_map (src ,"predict_" +toString(i), 152 dest,"predict_predictor_"+toString(i)); 153 #endif 154 155 COMPONENT_MAP(_component,src , "in_PREDICT_"+toString(i)+ "_VAL" , 156 dest,"out_PREDICT_"+toString(i)+"_PREDICTOR_VAL" ); 157 COMPONENT_MAP(_component,src ,"out_PREDICT_"+toString(i)+ "_ACK" , 158 dest, "in_PREDICT_"+toString(i)+"_PREDICTOR_ACK" ); 159 COMPONENT_MAP(_component,src , "in_PREDICT_"+toString(i)+ "_ADDRESS" , 160 dest,"out_PREDICT_"+toString(i)+"_PREDICTOR_ADDRESS_SRC"); 161 COMPONENT_MAP(_component,src ,"out_PREDICT_"+toString(i)+ "_DIRECTION" , 162 dest, "in_PREDICT_"+toString(i)+"_PREDICTOR_DIRECTION" ); 163 COMPONENT_MAP(_component,src ,"out_PREDICT_"+toString(i)+ "_HISTORY" , 164 dest, "in_PREDICT_"+toString(i)+"_PREDICTOR_HISTORY" ); 165 } 166 167 for (uint32_t i=0; i<_param->_nb_inst_update; i++) 168 { 169 dest = _name+"_glue"; 170 #ifdef POSITION 171 _component->interface_map (src ,"update_" +toString(i), 172 dest,"update_predictor_"+toString(i)); 173 #endif 174 175 COMPONENT_MAP(_component,src , "in_UPDATE_"+toString(i)+ "_VAL" , 176 dest,"out_UPDATE_"+toString(i)+"_PREDICTOR_VAL" ); 177 COMPONENT_MAP(_component,src ,"out_UPDATE_"+toString(i)+ "_ACK" , 178 dest, "in_UPDATE_"+toString(i)+"_PREDICTOR_ACK" ); 179 COMPONENT_MAP(_component,src , "in_UPDATE_"+toString(i)+ "_ADDRESS" , 180 dest,"out_UPDATE_"+toString(i)+"_PREDICTOR_ADDRESS" ); 181 COMPONENT_MAP(_component,src , "in_UPDATE_"+toString(i)+ "_DIRECTION" , 182 dest,"out_UPDATE_"+toString(i)+"_PREDICTOR_DIRECTION" ); 183 COMPONENT_MAP(_component,src , "in_UPDATE_"+toString(i)+ "_HISTORY" , 184 dest,"out_UPDATE_"+toString(i)+"_PREDICTOR_HISTORY" ); 185 } 186 } 107 187 188 // =================================================================== 189 // =====[ Glue ]====================================================== 190 // =================================================================== 108 191 { 109 192 src = _name+"_glue"; … … 179 262 } 180 263 // ~~~~~[ Others ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 181 // _component->test_map(); 264 if (DEBUG_Direction == true) 265 _component->test_map(); 182 266 183 267 #ifdef POSITION
Note: See TracChangeset
for help on using the changeset viewer.