Changeset 112 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Direction_Glue/SelfTest/src/test.cpp
- Timestamp:
- Mar 18, 2009, 11:36:26 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/Direction_Glue/SelfTest/src/test.cpp
r88 r112 51 51 sc_signal<Tcontrol_t> * in_NRESET = new sc_signal<Tcontrol_t> ("NRESET"); 52 52 53 ALLOC1_SC_SIGNAL( in_PREDICT_VAL ," in_PREDICT_VAL ",Tcontrol_t,_param->_nb_inst_predict); 54 ALLOC1_SC_SIGNAL(out_PREDICT_ACK ,"out_PREDICT_ACK ",Tcontrol_t,_param->_nb_inst_predict); 55 ALLOC1_SC_SIGNAL( in_PREDICT_ADDRESS_SRC ," in_PREDICT_ADDRESS_SRC ",Taddress_t,_param->_nb_inst_predict); 56 ALLOC1_SC_SIGNAL( in_PREDICT_STATIC ," in_PREDICT_STATIC ",Tcontrol_t,_param->_nb_inst_predict); 57 ALLOC1_SC_SIGNAL( in_PREDICT_LAST_TAKE ," in_PREDICT_LAST_TAKE ",Tcontrol_t,_param->_nb_inst_predict); 58 ALLOC1_SC_SIGNAL(out_PREDICT_HISTORY ,"out_PREDICT_HISTORY ",Thistory_t,_param->_nb_inst_predict); 59 ALLOC1_SC_SIGNAL(out_PREDICT_DIRECTION ,"out_PREDICT_DIRECTION ",Tcontrol_t,_param->_nb_inst_predict); 60 ALLOC1_SC_SIGNAL(out_PREDICT_PREDICTOR_VAL ,"out_PREDICT_PREDICTOR_VAL ",Tcontrol_t,_param->_nb_inst_predict); 61 ALLOC1_SC_SIGNAL( in_PREDICT_PREDICTOR_ACK ," in_PREDICT_PREDICTOR_ACK ",Tcontrol_t,_param->_nb_inst_predict); 62 ALLOC1_SC_SIGNAL(out_PREDICT_PREDICTOR_ADDRESS_SRC,"out_PREDICT_PREDICTOR_ADDRESS_SRC",Taddress_t,_param->_nb_inst_predict); 63 ALLOC1_SC_SIGNAL( in_PREDICT_PREDICTOR_HISTORY ," in_PREDICT_PREDICTOR_HISTORY ",Thistory_t,_param->_nb_inst_predict); 64 ALLOC1_SC_SIGNAL( in_PREDICT_PREDICTOR_DIRECTION ," in_PREDICT_PREDICTOR_DIRECTION ",Tcontrol_t,_param->_nb_inst_predict); 65 ALLOC1_SC_SIGNAL( in_UPDATE_VAL ," in_UPDATE_VAL ",Tcontrol_t,_param->_nb_inst_update); 66 ALLOC1_SC_SIGNAL(out_UPDATE_ACK ,"out_UPDATE_ACK ",Tcontrol_t,_param->_nb_inst_update); 67 ALLOC1_SC_SIGNAL( in_UPDATE_ADDRESS ," in_UPDATE_ADDRESS ",Taddress_t,_param->_nb_inst_update); 68 ALLOC1_SC_SIGNAL( in_UPDATE_HISTORY ," in_UPDATE_HISTORY ",Thistory_t,_param->_nb_inst_update); 69 ALLOC1_SC_SIGNAL( in_UPDATE_DIRECTION ," in_UPDATE_DIRECTION ",Tcontrol_t,_param->_nb_inst_update); 70 ALLOC1_SC_SIGNAL(out_UPDATE_PREDICTOR_VAL ,"out_UPDATE_PREDICTOR_VAL ",Tcontrol_t,_param->_nb_inst_update); 71 ALLOC1_SC_SIGNAL( in_UPDATE_PREDICTOR_ACK ," in_UPDATE_PREDICTOR_ACK ",Tcontrol_t,_param->_nb_inst_update); 72 ALLOC1_SC_SIGNAL(out_UPDATE_PREDICTOR_ADDRESS ,"out_UPDATE_PREDICTOR_ADDRESS ",Taddress_t,_param->_nb_inst_update); 73 ALLOC1_SC_SIGNAL(out_UPDATE_PREDICTOR_HISTORY ,"out_UPDATE_PREDICTOR_HISTORY ",Thistory_t,_param->_nb_inst_update); 74 ALLOC1_SC_SIGNAL(out_UPDATE_PREDICTOR_DIRECTION ,"out_UPDATE_PREDICTOR_DIRECTION ",Tcontrol_t,_param->_nb_inst_update); 53 ALLOC1_SC_SIGNAL( in_PREDICT_VAL ," in_PREDICT_VAL ",Tcontrol_t,_param->_nb_inst_predict); 54 ALLOC1_SC_SIGNAL(out_PREDICT_ACK ,"out_PREDICT_ACK ",Tcontrol_t,_param->_nb_inst_predict); 55 ALLOC1_SC_SIGNAL( in_PREDICT_ADDRESS_SRC ," in_PREDICT_ADDRESS_SRC ",Taddress_t,_param->_nb_inst_predict); 56 ALLOC1_SC_SIGNAL( in_PREDICT_STATIC ," in_PREDICT_STATIC ",Tcontrol_t,_param->_nb_inst_predict); 57 ALLOC1_SC_SIGNAL( in_PREDICT_LAST_TAKE ," in_PREDICT_LAST_TAKE ",Tcontrol_t,_param->_nb_inst_predict); 58 ALLOC1_SC_SIGNAL(out_PREDICT_HISTORY ,"out_PREDICT_HISTORY ",Thistory_t,_param->_nb_inst_predict); 59 ALLOC1_SC_SIGNAL(out_PREDICT_DIRECTION ,"out_PREDICT_DIRECTION ",Tcontrol_t,_param->_nb_inst_predict); 60 ALLOC1_SC_SIGNAL(out_PREDICT_PREDICTOR_VAL ,"out_PREDICT_PREDICTOR_VAL ",Tcontrol_t,_param->_nb_inst_predict); 61 ALLOC1_SC_SIGNAL( in_PREDICT_PREDICTOR_ACK ," in_PREDICT_PREDICTOR_ACK ",Tcontrol_t,_param->_nb_inst_predict); 62 ALLOC1_SC_SIGNAL(out_PREDICT_PREDICTOR_ADDRESS_SRC ,"out_PREDICT_PREDICTOR_ADDRESS_SRC ",Taddress_t,_param->_nb_inst_predict); 63 ALLOC1_SC_SIGNAL( in_PREDICT_PREDICTOR_HISTORY ," in_PREDICT_PREDICTOR_HISTORY ",Thistory_t,_param->_nb_inst_predict); 64 ALLOC1_SC_SIGNAL( in_PREDICT_PREDICTOR_DIRECTION ," in_PREDICT_PREDICTOR_DIRECTION ",Tcontrol_t,_param->_nb_inst_predict); 65 ALLOC1_SC_SIGNAL( in_UPDATE_VAL ," in_UPDATE_VAL ",Tcontrol_t,_param->_nb_inst_update); 66 ALLOC1_SC_SIGNAL(out_UPDATE_ACK ,"out_UPDATE_ACK ",Tcontrol_t,_param->_nb_inst_update); 67 ALLOC1_SC_SIGNAL( in_UPDATE_ADDRESS ," in_UPDATE_ADDRESS ",Taddress_t,_param->_nb_inst_update); 68 ALLOC1_SC_SIGNAL( in_UPDATE_HISTORY ," in_UPDATE_HISTORY ",Thistory_t,_param->_nb_inst_update); 69 ALLOC1_SC_SIGNAL( in_UPDATE_DIRECTION ," in_UPDATE_DIRECTION ",Tcontrol_t,_param->_nb_inst_update); 70 ALLOC1_SC_SIGNAL( in_UPDATE_PREDICTION_IFETCH ," in_UPDATE_PREDICTION_IFETCH ",Tcontrol_t,_param->_nb_inst_update); 71 ALLOC1_SC_SIGNAL(out_UPDATE_PREDICTOR_VAL ,"out_UPDATE_PREDICTOR_VAL ",Tcontrol_t,_param->_nb_inst_update); 72 ALLOC1_SC_SIGNAL( in_UPDATE_PREDICTOR_ACK ," in_UPDATE_PREDICTOR_ACK ",Tcontrol_t,_param->_nb_inst_update); 73 ALLOC1_SC_SIGNAL(out_UPDATE_PREDICTOR_ADDRESS ,"out_UPDATE_PREDICTOR_ADDRESS ",Taddress_t,_param->_nb_inst_update); 74 ALLOC1_SC_SIGNAL(out_UPDATE_PREDICTOR_HISTORY ,"out_UPDATE_PREDICTOR_HISTORY ",Thistory_t,_param->_nb_inst_update); 75 ALLOC1_SC_SIGNAL(out_UPDATE_PREDICTOR_DIRECTION ,"out_UPDATE_PREDICTOR_DIRECTION ",Tcontrol_t,_param->_nb_inst_update); 76 ALLOC1_SC_SIGNAL(out_UPDATE_PREDICTOR_PREDICTION_IFETCH ,"out_UPDATE_PREDICTOR_PREDICTION_IFETCH ",Tcontrol_t,_param->_nb_inst_update); 75 77 76 78 /******************************************************** … … 83 85 (*(_Direction_Glue->in_NRESET)) (*(in_NRESET)); 84 86 85 INSTANCE1_SC_SIGNAL(_Direction_Glue, in_PREDICT_VAL ,_param->_nb_inst_predict); 86 INSTANCE1_SC_SIGNAL(_Direction_Glue,out_PREDICT_ACK ,_param->_nb_inst_predict); 87 INSTANCE1_SC_SIGNAL(_Direction_Glue, in_PREDICT_ADDRESS_SRC ,_param->_nb_inst_predict); 88 INSTANCE1_SC_SIGNAL(_Direction_Glue, in_PREDICT_STATIC ,_param->_nb_inst_predict); 89 INSTANCE1_SC_SIGNAL(_Direction_Glue, in_PREDICT_LAST_TAKE ,_param->_nb_inst_predict); 90 if (_param->_have_port_history) 91 INSTANCE1_SC_SIGNAL(_Direction_Glue,out_PREDICT_HISTORY ,_param->_nb_inst_predict); 92 INSTANCE1_SC_SIGNAL(_Direction_Glue,out_PREDICT_DIRECTION ,_param->_nb_inst_predict); 93 if (_param->_have_component_meta_predictor) 94 { 95 INSTANCE1_SC_SIGNAL(_Direction_Glue,out_PREDICT_PREDICTOR_VAL ,_param->_nb_inst_predict); 96 INSTANCE1_SC_SIGNAL(_Direction_Glue, in_PREDICT_PREDICTOR_ACK ,_param->_nb_inst_predict); 97 INSTANCE1_SC_SIGNAL(_Direction_Glue,out_PREDICT_PREDICTOR_ADDRESS_SRC,_param->_nb_inst_predict); 98 if (_param->_have_port_history) 99 INSTANCE1_SC_SIGNAL(_Direction_Glue, in_PREDICT_PREDICTOR_HISTORY ,_param->_nb_inst_predict); 100 INSTANCE1_SC_SIGNAL(_Direction_Glue, in_PREDICT_PREDICTOR_DIRECTION ,_param->_nb_inst_predict); 101 } 102 103 INSTANCE1_SC_SIGNAL(_Direction_Glue, in_UPDATE_VAL ,_param->_nb_inst_update ); 104 INSTANCE1_SC_SIGNAL(_Direction_Glue,out_UPDATE_ACK ,_param->_nb_inst_update ); 105 INSTANCE1_SC_SIGNAL(_Direction_Glue, in_UPDATE_ADDRESS ,_param->_nb_inst_update ); 106 if (_param->_have_port_history) 107 INSTANCE1_SC_SIGNAL(_Direction_Glue, in_UPDATE_HISTORY ,_param->_nb_inst_update ); 108 INSTANCE1_SC_SIGNAL(_Direction_Glue, in_UPDATE_DIRECTION ,_param->_nb_inst_update ); 109 if (_param->_have_component_meta_predictor) 110 { 111 INSTANCE1_SC_SIGNAL(_Direction_Glue,out_UPDATE_PREDICTOR_VAL ,_param->_nb_inst_update ); 112 INSTANCE1_SC_SIGNAL(_Direction_Glue, in_UPDATE_PREDICTOR_ACK ,_param->_nb_inst_update ); 113 INSTANCE1_SC_SIGNAL(_Direction_Glue,out_UPDATE_PREDICTOR_ADDRESS ,_param->_nb_inst_update ); 114 if (_param->_have_port_history) 115 INSTANCE1_SC_SIGNAL(_Direction_Glue,out_UPDATE_PREDICTOR_HISTORY ,_param->_nb_inst_update ); 116 INSTANCE1_SC_SIGNAL(_Direction_Glue,out_UPDATE_PREDICTOR_DIRECTION ,_param->_nb_inst_update ); 87 INSTANCE1_SC_SIGNAL(_Direction_Glue, in_PREDICT_VAL ,_param->_nb_inst_predict); 88 INSTANCE1_SC_SIGNAL(_Direction_Glue,out_PREDICT_ACK ,_param->_nb_inst_predict); 89 INSTANCE1_SC_SIGNAL(_Direction_Glue, in_PREDICT_ADDRESS_SRC ,_param->_nb_inst_predict); 90 INSTANCE1_SC_SIGNAL(_Direction_Glue, in_PREDICT_STATIC ,_param->_nb_inst_predict); 91 INSTANCE1_SC_SIGNAL(_Direction_Glue, in_PREDICT_LAST_TAKE ,_param->_nb_inst_predict); 92 if (_param->_have_port_history) 93 INSTANCE1_SC_SIGNAL(_Direction_Glue,out_PREDICT_HISTORY ,_param->_nb_inst_predict); 94 INSTANCE1_SC_SIGNAL(_Direction_Glue,out_PREDICT_DIRECTION ,_param->_nb_inst_predict); 95 if (_param->_have_component_meta_predictor) 96 { 97 INSTANCE1_SC_SIGNAL(_Direction_Glue,out_PREDICT_PREDICTOR_VAL ,_param->_nb_inst_predict); 98 INSTANCE1_SC_SIGNAL(_Direction_Glue, in_PREDICT_PREDICTOR_ACK ,_param->_nb_inst_predict); 99 INSTANCE1_SC_SIGNAL(_Direction_Glue,out_PREDICT_PREDICTOR_ADDRESS_SRC ,_param->_nb_inst_predict); 100 if (_param->_have_port_history) 101 INSTANCE1_SC_SIGNAL(_Direction_Glue, in_PREDICT_PREDICTOR_HISTORY ,_param->_nb_inst_predict); 102 INSTANCE1_SC_SIGNAL(_Direction_Glue, in_PREDICT_PREDICTOR_DIRECTION ,_param->_nb_inst_predict); 103 } 104 105 INSTANCE1_SC_SIGNAL(_Direction_Glue, in_UPDATE_VAL ,_param->_nb_inst_update ); 106 INSTANCE1_SC_SIGNAL(_Direction_Glue,out_UPDATE_ACK ,_param->_nb_inst_update ); 107 INSTANCE1_SC_SIGNAL(_Direction_Glue, in_UPDATE_ADDRESS ,_param->_nb_inst_update ); 108 if (_param->_have_port_history) 109 INSTANCE1_SC_SIGNAL(_Direction_Glue, in_UPDATE_HISTORY ,_param->_nb_inst_update ); 110 INSTANCE1_SC_SIGNAL(_Direction_Glue, in_UPDATE_DIRECTION ,_param->_nb_inst_update ); 111 INSTANCE1_SC_SIGNAL(_Direction_Glue, in_UPDATE_PREDICTION_IFETCH ,_param->_nb_inst_update ); 112 if (_param->_have_component_meta_predictor) 113 { 114 INSTANCE1_SC_SIGNAL(_Direction_Glue,out_UPDATE_PREDICTOR_VAL ,_param->_nb_inst_update ); 115 INSTANCE1_SC_SIGNAL(_Direction_Glue, in_UPDATE_PREDICTOR_ACK ,_param->_nb_inst_update ); 116 INSTANCE1_SC_SIGNAL(_Direction_Glue,out_UPDATE_PREDICTOR_ADDRESS ,_param->_nb_inst_update ); 117 if (_param->_have_port_history) 118 INSTANCE1_SC_SIGNAL(_Direction_Glue,out_UPDATE_PREDICTOR_HISTORY ,_param->_nb_inst_update ); 119 INSTANCE1_SC_SIGNAL(_Direction_Glue,out_UPDATE_PREDICTOR_DIRECTION ,_param->_nb_inst_update ); 120 INSTANCE1_SC_SIGNAL(_Direction_Glue,out_UPDATE_PREDICTOR_PREDICTION_IFETCH ,_param->_nb_inst_update ); 117 121 } 118 122 … … 163 167 in_UPDATE_HISTORY [i]->write(range<Thistory_t>(rand(),_param->_size_history)); 164 168 in_UPDATE_DIRECTION [i]->write(rand()%2); 169 in_UPDATE_PREDICTION_IFETCH [i]->write(rand()%2); 165 170 in_UPDATE_PREDICTOR_ACK [i]->write(rand()%2); 166 171 } … … 228 233 case PREDICTOR_CUSTOM : 229 234 { 230 TEST(Tcontrol_t,out_UPDATE_ACK [i]->read(), in_UPDATE_PREDICTOR_ACK [i]->read()); 231 TEST(Tcontrol_t,out_UPDATE_PREDICTOR_VAL [i]->read(), in_UPDATE_VAL [i]->read()); 232 TEST(Taddress_t,out_UPDATE_PREDICTOR_ADDRESS [i]->read(), in_UPDATE_ADDRESS [i]->read()); 233 TEST(Thistory_t,out_UPDATE_PREDICTOR_HISTORY [i]->read(), in_UPDATE_HISTORY [i]->read()); 234 TEST(Tcontrol_t,out_UPDATE_PREDICTOR_DIRECTION [i]->read(), in_UPDATE_DIRECTION [i]->read()); 235 TEST(Tcontrol_t,out_UPDATE_ACK [i]->read(), in_UPDATE_PREDICTOR_ACK [i]->read()); 236 TEST(Tcontrol_t,out_UPDATE_PREDICTOR_VAL [i]->read(), in_UPDATE_VAL [i]->read()); 237 TEST(Taddress_t,out_UPDATE_PREDICTOR_ADDRESS [i]->read(), in_UPDATE_ADDRESS [i]->read()); 238 TEST(Thistory_t,out_UPDATE_PREDICTOR_HISTORY [i]->read(), in_UPDATE_HISTORY [i]->read()); 239 TEST(Tcontrol_t,out_UPDATE_PREDICTOR_DIRECTION [i]->read(), in_UPDATE_DIRECTION [i]->read()); 240 TEST(Tcontrol_t,out_UPDATE_PREDICTOR_PREDICTION_IFETCH[i]->read(), in_UPDATE_PREDICTION_IFETCH [i]->read()); 235 241 236 242 break; … … 281 287 delete [] in_UPDATE_HISTORY ; 282 288 delete [] in_UPDATE_DIRECTION ; 289 delete [] in_UPDATE_PREDICTION_IFETCH ; 283 290 delete [] out_UPDATE_PREDICTOR_VAL ; 284 291 delete [] in_UPDATE_PREDICTOR_ACK ; … … 286 293 delete [] out_UPDATE_PREDICTOR_HISTORY ; 287 294 delete [] out_UPDATE_PREDICTOR_DIRECTION ; 295 delete [] out_UPDATE_PREDICTOR_PREDICTION_IFETCH; 288 296 #endif 289 297
Note: See TracChangeset
for help on using the changeset viewer.