Changeset 131 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/SelfTest/src/test.cpp
- Timestamp:
- Jul 8, 2009, 8:40:08 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/SelfTest/src/test.cpp
r88 r131 46 46 sc_clock * in_CLOCK; 47 47 sc_signal<Tcontrol_t> * in_NRESET; 48 49 48 //sc_signal<Tcontrol_t> * out_CONST_0; 49 //sc_signal<Tcontrol_t> * out_CONST_1; 50 50 51 51 sc_signal<Tcontrol_t > ** in_GPR_READ_VAL ; … … 54 54 sc_signal<Tgeneral_data_t > ** out_GPR_READ_DATA ; 55 55 sc_signal<Tcontrol_t > ** out_GPR_READ_DATA_VAL ; 56 56 57 sc_signal<Tcontrol_t > *** out_GPR_READ_REGISTERFILE_VAL ; 57 58 sc_signal<Tcontrol_t > *** in_GPR_READ_REGISTERFILE_ACK ; 58 59 sc_signal<Tgeneral_data_t > *** in_GPR_READ_REGISTERFILE_DATA; 60 59 61 sc_signal<Tcontrol_t > *** out_GPR_READ_STATUS_VAL ; 60 62 sc_signal<Tcontrol_t > *** in_GPR_READ_STATUS_ACK ; 61 sc_signal<T control_t> *** in_GPR_READ_STATUS_DATA_VAL ;63 sc_signal<Tgeneral_data_t > *** in_GPR_READ_STATUS_DATA_VAL ; 62 64 63 65 sc_signal<Tcontrol_t > ** in_SPR_READ_VAL ; … … 66 68 sc_signal<Tspecial_data_t > ** out_SPR_READ_DATA ; 67 69 sc_signal<Tcontrol_t > ** out_SPR_READ_DATA_VAL ; 70 68 71 sc_signal<Tcontrol_t > *** out_SPR_READ_REGISTERFILE_VAL ; 69 72 sc_signal<Tcontrol_t > *** in_SPR_READ_REGISTERFILE_ACK ; 70 73 sc_signal<Tspecial_data_t > *** in_SPR_READ_REGISTERFILE_DATA; 74 71 75 sc_signal<Tcontrol_t > *** out_SPR_READ_STATUS_VAL ; 72 76 sc_signal<Tcontrol_t > *** in_SPR_READ_STATUS_ACK ; 73 sc_signal<T control_t> *** in_SPR_READ_STATUS_DATA_VAL ;77 sc_signal<Tspecial_data_t > *** in_SPR_READ_STATUS_DATA_VAL ; 74 78 75 79 sc_signal<Tcontrol_t > ** in_GPR_WRITE_VAL ; 76 80 sc_signal<Tcontrol_t > ** out_GPR_WRITE_ACK ; 77 81 sc_signal<Tcontext_t > ** in_GPR_WRITE_OOO_ENGINE_ID ; 82 78 83 sc_signal<Tcontrol_t > *** out_GPR_WRITE_REGISTERFILE_VAL; 79 84 sc_signal<Tcontrol_t > *** in_GPR_WRITE_REGISTERFILE_ACK; 85 80 86 sc_signal<Tcontrol_t > *** out_GPR_WRITE_STATUS_VAL ; 81 87 sc_signal<Tcontrol_t > *** in_GPR_WRITE_STATUS_ACK ; 88 sc_signal<Tgeneral_data_t > *** out_GPR_WRITE_STATUS_DATA ; 82 89 83 90 sc_signal<Tcontrol_t > ** in_SPR_WRITE_VAL ; 84 91 sc_signal<Tcontrol_t > ** out_SPR_WRITE_ACK ; 85 92 sc_signal<Tcontext_t > ** in_SPR_WRITE_OOO_ENGINE_ID ; 93 86 94 sc_signal<Tcontrol_t > *** out_SPR_WRITE_REGISTERFILE_VAL; 87 95 sc_signal<Tcontrol_t > *** in_SPR_WRITE_REGISTERFILE_ACK; 96 88 97 sc_signal<Tcontrol_t > *** out_SPR_WRITE_STATUS_VAL ; 89 98 sc_signal<Tcontrol_t > *** in_SPR_WRITE_STATUS_ACK ; 99 sc_signal<Tspecial_data_t > *** out_SPR_WRITE_STATUS_DATA ; 90 100 91 101 sc_signal<Tcontrol_t > *** in_INSERT_ROB_VAL ; … … 93 103 sc_signal<Tcontrol_t > *** in_INSERT_ROB_RD_USE ; 94 104 sc_signal<Tcontrol_t > *** in_INSERT_ROB_RE_USE ; 105 95 106 sc_signal<Tcontrol_t > *** out_INSERT_ROB_GPR_STATUS_VAL ; 96 107 sc_signal<Tcontrol_t > *** in_INSERT_ROB_GPR_STATUS_ACK ; 108 sc_signal<Tgeneral_data_t > *** out_INSERT_ROB_GPR_STATUS_DATA ; 109 97 110 sc_signal<Tcontrol_t > *** out_INSERT_ROB_SPR_STATUS_VAL ; 98 111 sc_signal<Tcontrol_t > *** in_INSERT_ROB_SPR_STATUS_ACK ; 112 sc_signal<Tspecial_data_t > *** out_INSERT_ROB_SPR_STATUS_DATA ; 99 113 100 114 // sc_signal<Tcontrol_t > *** in_RETIRE_ROB_VAL ; … … 117 131 in_CLOCK = new sc_clock ("clock", 1.0, 0.5); 118 132 in_NRESET = new sc_signal<Tcontrol_t> ("NRESET"); 119 out_CONST_0 = new sc_signal<Tcontrol_t> ("CONST_0");120 out_CONST_1 = new sc_signal<Tcontrol_t> ("CONST_1");133 // out_CONST_0 = new sc_signal<Tcontrol_t> ("CONST_0"); 134 // out_CONST_1 = new sc_signal<Tcontrol_t> ("CONST_1"); 121 135 122 136 // ~~~~~[ Interface "gpr_read" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 131 145 out_GPR_READ_STATUS_VAL = new sc_signal<Tcontrol_t > ** [_param->_nb_ooo_engine]; 132 146 in_GPR_READ_STATUS_ACK = new sc_signal<Tcontrol_t > ** [_param->_nb_ooo_engine]; 133 in_GPR_READ_STATUS_DATA_VAL = new sc_signal<T control_t> ** [_param->_nb_ooo_engine];147 in_GPR_READ_STATUS_DATA_VAL = new sc_signal<Tgeneral_data_t> ** [_param->_nb_ooo_engine]; 134 148 135 149 for (uint32_t i=0; i<_param->_nb_ooo_engine; i++) … … 140 154 out_GPR_READ_STATUS_VAL [i] = new sc_signal<Tcontrol_t > * [_param->_nb_gpr_read]; 141 155 in_GPR_READ_STATUS_ACK [i] = new sc_signal<Tcontrol_t > * [_param->_nb_gpr_read]; 142 in_GPR_READ_STATUS_DATA_VAL [i] = new sc_signal<T control_t> * [_param->_nb_gpr_read];156 in_GPR_READ_STATUS_DATA_VAL [i] = new sc_signal<Tgeneral_data_t> * [_param->_nb_gpr_read]; 143 157 } 144 158 … … 158 172 out_GPR_READ_STATUS_VAL [i][j] = new sc_signal<Tcontrol_t > (rename.c_str()); 159 173 in_GPR_READ_STATUS_ACK [i][j] = new sc_signal<Tcontrol_t > (rename.c_str()); 160 in_GPR_READ_STATUS_DATA_VAL [i][j] = new sc_signal<T control_t> (rename.c_str());174 in_GPR_READ_STATUS_DATA_VAL [i][j] = new sc_signal<Tgeneral_data_t> (rename.c_str()); 161 175 } 162 176 } … … 173 187 out_SPR_READ_STATUS_VAL = new sc_signal<Tcontrol_t > ** [_param->_nb_ooo_engine]; 174 188 in_SPR_READ_STATUS_ACK = new sc_signal<Tcontrol_t > ** [_param->_nb_ooo_engine]; 175 in_SPR_READ_STATUS_DATA_VAL = new sc_signal<T control_t> ** [_param->_nb_ooo_engine];189 in_SPR_READ_STATUS_DATA_VAL = new sc_signal<Tspecial_data_t> ** [_param->_nb_ooo_engine]; 176 190 177 191 for (uint32_t i=0; i<_param->_nb_ooo_engine; i++) … … 182 196 out_SPR_READ_STATUS_VAL [i] = new sc_signal<Tcontrol_t > * [_param->_nb_spr_read]; 183 197 in_SPR_READ_STATUS_ACK [i] = new sc_signal<Tcontrol_t > * [_param->_nb_spr_read]; 184 in_SPR_READ_STATUS_DATA_VAL [i] = new sc_signal<T control_t> * [_param->_nb_spr_read];198 in_SPR_READ_STATUS_DATA_VAL [i] = new sc_signal<Tspecial_data_t> * [_param->_nb_spr_read]; 185 199 } 186 200 … … 200 214 out_SPR_READ_STATUS_VAL [i][j] = new sc_signal<Tcontrol_t > (rename.c_str()); 201 215 in_SPR_READ_STATUS_ACK [i][j] = new sc_signal<Tcontrol_t > (rename.c_str()); 202 in_SPR_READ_STATUS_DATA_VAL [i][j] = new sc_signal<T control_t> (rename.c_str());216 in_SPR_READ_STATUS_DATA_VAL [i][j] = new sc_signal<Tspecial_data_t> (rename.c_str()); 203 217 } 204 218 } … … 212 226 out_GPR_WRITE_STATUS_VAL = new sc_signal<Tcontrol_t> ** [_param->_nb_ooo_engine]; 213 227 in_GPR_WRITE_STATUS_ACK = new sc_signal<Tcontrol_t> ** [_param->_nb_ooo_engine]; 228 out_GPR_WRITE_STATUS_DATA = new sc_signal<Tgeneral_data_t> ** [_param->_nb_ooo_engine]; 214 229 215 230 for (uint32_t i=0; i<_param->_nb_ooo_engine; i++) … … 219 234 out_GPR_WRITE_STATUS_VAL [i] = new sc_signal<Tcontrol_t> * [_param->_nb_gpr_write]; 220 235 in_GPR_WRITE_STATUS_ACK [i] = new sc_signal<Tcontrol_t> * [_param->_nb_gpr_write]; 236 out_GPR_WRITE_STATUS_DATA [i] = new sc_signal<Tgeneral_data_t> * [_param->_nb_gpr_write]; 221 237 } 222 238 … … 233 249 out_GPR_WRITE_STATUS_VAL [i][j] = new sc_signal<Tcontrol_t> (rename.c_str());; 234 250 in_GPR_WRITE_STATUS_ACK [i][j] = new sc_signal<Tcontrol_t> (rename.c_str());; 251 out_GPR_WRITE_STATUS_DATA [i][j] = new sc_signal<Tgeneral_data_t> (rename.c_str());; 235 252 } 236 253 } … … 244 261 out_SPR_WRITE_STATUS_VAL = new sc_signal<Tcontrol_t> ** [_param->_nb_ooo_engine]; 245 262 in_SPR_WRITE_STATUS_ACK = new sc_signal<Tcontrol_t> ** [_param->_nb_ooo_engine]; 263 out_SPR_WRITE_STATUS_DATA = new sc_signal<Tspecial_data_t> ** [_param->_nb_ooo_engine]; 246 264 247 265 for (uint32_t i=0; i<_param->_nb_ooo_engine; i++) … … 251 269 out_SPR_WRITE_STATUS_VAL [i] = new sc_signal<Tcontrol_t> * [_param->_nb_spr_write]; 252 270 in_SPR_WRITE_STATUS_ACK [i] = new sc_signal<Tcontrol_t> * [_param->_nb_spr_write]; 271 out_SPR_WRITE_STATUS_DATA [i] = new sc_signal<Tspecial_data_t> * [_param->_nb_spr_write]; 253 272 } 254 273 … … 265 284 out_SPR_WRITE_STATUS_VAL [i][j] = new sc_signal<Tcontrol_t> (rename.c_str()); 266 285 in_SPR_WRITE_STATUS_ACK [i][j] = new sc_signal<Tcontrol_t> (rename.c_str()); 286 out_SPR_WRITE_STATUS_DATA [i][j] = new sc_signal<Tspecial_data_t> (rename.c_str()); 267 287 } 268 288 } … … 275 295 out_INSERT_ROB_GPR_STATUS_VAL = new sc_signal<Tcontrol_t> ** [_param->_nb_ooo_engine]; 276 296 in_INSERT_ROB_GPR_STATUS_ACK = new sc_signal<Tcontrol_t> ** [_param->_nb_ooo_engine]; 297 out_INSERT_ROB_GPR_STATUS_DATA = new sc_signal<Tgeneral_data_t> ** [_param->_nb_ooo_engine]; 277 298 out_INSERT_ROB_SPR_STATUS_VAL = new sc_signal<Tcontrol_t> ** [_param->_nb_ooo_engine]; 278 299 in_INSERT_ROB_SPR_STATUS_ACK = new sc_signal<Tcontrol_t> ** [_param->_nb_ooo_engine]; 300 out_INSERT_ROB_SPR_STATUS_DATA = new sc_signal<Tspecial_data_t> ** [_param->_nb_ooo_engine]; 279 301 280 302 for (uint32_t i=0; i<_param->_nb_ooo_engine; i++) … … 288 310 out_INSERT_ROB_GPR_STATUS_VAL [i] = new sc_signal<Tcontrol_t> * [x]; 289 311 in_INSERT_ROB_GPR_STATUS_ACK [i] = new sc_signal<Tcontrol_t> * [x]; 312 out_INSERT_ROB_GPR_STATUS_DATA [i] = new sc_signal<Tgeneral_data_t> * [x]; 290 313 out_INSERT_ROB_SPR_STATUS_VAL [i] = new sc_signal<Tcontrol_t> * [x]; 291 314 in_INSERT_ROB_SPR_STATUS_ACK [i] = new sc_signal<Tcontrol_t> * [x]; 315 out_INSERT_ROB_SPR_STATUS_DATA [i] = new sc_signal<Tspecial_data_t> * [x]; 292 316 293 317 for (uint32_t j=0; j<x; j++) … … 299 323 out_INSERT_ROB_GPR_STATUS_VAL [i][j] = new sc_signal<Tcontrol_t> (rename.c_str()); 300 324 in_INSERT_ROB_GPR_STATUS_ACK [i][j] = new sc_signal<Tcontrol_t> (rename.c_str()); 325 out_INSERT_ROB_GPR_STATUS_DATA [i][j] = new sc_signal<Tgeneral_data_t> (rename.c_str()); 301 326 out_INSERT_ROB_SPR_STATUS_VAL [i][j] = new sc_signal<Tcontrol_t> (rename.c_str()); 302 327 in_INSERT_ROB_SPR_STATUS_ACK [i][j] = new sc_signal<Tcontrol_t> (rename.c_str()); 328 out_INSERT_ROB_SPR_STATUS_DATA [i][j] = new sc_signal<Tspecial_data_t> (rename.c_str()); 303 329 } 304 330 } … … 368 394 (*(_Register_unit_Glue-> in_CLOCK )) (*( in_CLOCK )); 369 395 (*(_Register_unit_Glue-> in_NRESET )) (*( in_NRESET )); 370 (*(_Register_unit_Glue->out_CONST_0)) (*(out_CONST_0));371 (*(_Register_unit_Glue->out_CONST_1)) (*(out_CONST_1));396 // (*(_Register_unit_Glue->out_CONST_0)) (*(out_CONST_0)); 397 // (*(_Register_unit_Glue->out_CONST_1)) (*(out_CONST_1)); 372 398 373 399 for (uint32_t j=0; j<_param->_nb_gpr_read; j++) … … 424 450 (*(_Register_unit_Glue->out_GPR_WRITE_STATUS_VAL [i][j]))(*(out_GPR_WRITE_STATUS_VAL [i][j])); 425 451 (*(_Register_unit_Glue-> in_GPR_WRITE_STATUS_ACK [i][j]))(*( in_GPR_WRITE_STATUS_ACK [i][j])); 452 (*(_Register_unit_Glue->out_GPR_WRITE_STATUS_DATA [i][j]))(*(out_GPR_WRITE_STATUS_DATA [i][j])); 426 453 } 427 454 } … … 440 467 (*(_Register_unit_Glue->out_SPR_WRITE_STATUS_VAL [i][j]))(*(out_SPR_WRITE_STATUS_VAL [i][j])); 441 468 (*(_Register_unit_Glue-> in_SPR_WRITE_STATUS_ACK [i][j]))(*( in_SPR_WRITE_STATUS_ACK [i][j])); 469 (*(_Register_unit_Glue->out_SPR_WRITE_STATUS_DATA [i][j]))(*(out_SPR_WRITE_STATUS_DATA [i][j])); 442 470 } 443 471 } … … 456 484 (*(_Register_unit_Glue->out_INSERT_ROB_GPR_STATUS_VAL [i][j])) (*(out_INSERT_ROB_GPR_STATUS_VAL [i][j])); 457 485 (*(_Register_unit_Glue-> in_INSERT_ROB_GPR_STATUS_ACK [i][j])) (*( in_INSERT_ROB_GPR_STATUS_ACK [i][j])); 486 (*(_Register_unit_Glue->out_INSERT_ROB_GPR_STATUS_DATA[i][j])) (*(out_INSERT_ROB_GPR_STATUS_DATA[i][j])); 458 487 (*(_Register_unit_Glue->out_INSERT_ROB_SPR_STATUS_VAL [i][j])) (*(out_INSERT_ROB_SPR_STATUS_VAL [i][j])); 459 488 (*(_Register_unit_Glue-> in_INSERT_ROB_SPR_STATUS_ACK [i][j])) (*( in_INSERT_ROB_SPR_STATUS_ACK [i][j])); 489 (*(_Register_unit_Glue->out_INSERT_ROB_SPR_STATUS_DATA[i][j])) (*(out_INSERT_ROB_SPR_STATUS_DATA[i][j])); 460 490 } 461 491 } … … 506 536 srand(seed); 507 537 538 SC_START(0); 539 LABEL("Initialisation"); 540 541 in_NRESET->write(0); 542 SC_START(5); 543 in_NRESET->write(1); 544 545 #ifdef SELFTEST 508 546 Tcontext_t context; 509 547 Tcontrol_t gpr_read_ack [_param->_nb_gpr_read]; … … 548 586 Tcontrol_t insert_rob_gpr_status_val [_param->_nb_ooo_engine][max_nb_inst_insert_rob]; 549 587 Tcontrol_t insert_rob_spr_status_val [_param->_nb_ooo_engine][max_nb_inst_insert_rob]; 550 551 SC_START(0);552 LABEL("Initialisation");553 554 in_NRESET->write(0);555 SC_START(5);556 in_NRESET->write(1);557 588 558 589 LABEL("Loop of Test"); … … 791 822 792 823 // Test 793 TEST(Tcontrol_t, out_CONST_0->read() , 0);794 TEST(Tcontrol_t, out_CONST_1->read() , 1);824 // TEST(Tcontrol_t, out_CONST_0->read() , 0); 825 // TEST(Tcontrol_t, out_CONST_1->read() , 1); 795 826 796 827 if (test_read == true) … … 832 863 TEST(Tcontrol_t, out_GPR_WRITE_REGISTERFILE_VAL [i][j]->read(), gpr_write_registerfile_val [i][j]); 833 864 TEST(Tcontrol_t, out_GPR_WRITE_STATUS_VAL [i][j]->read(), gpr_write_status_val [i][j]); 865 TEST(Tcontrol_t, out_GPR_WRITE_STATUS_DATA [i][j]->read(), 1); 834 866 } 835 867 } … … 842 874 TEST(Tcontrol_t, out_SPR_WRITE_REGISTERFILE_VAL [i][j]->read(), spr_write_registerfile_val [i][j]); 843 875 TEST(Tcontrol_t, out_SPR_WRITE_STATUS_VAL [i][j]->read(), spr_write_status_val [i][j]); 876 TEST(Tcontrol_t, out_SPR_WRITE_STATUS_DATA [i][j]->read(), 1); 844 877 } 845 878 } … … 874 907 TEST(Tcontrol_t, out_INSERT_ROB_ACK [i][j]->read(), insert_rob_ack [i][j]); 875 908 TEST(Tcontrol_t, out_INSERT_ROB_GPR_STATUS_VAL [i][j]->read(), insert_rob_gpr_status_val [i][j]); 909 TEST(Tcontrol_t, out_INSERT_ROB_GPR_STATUS_DATA[i][j]->read(), 0); 876 910 TEST(Tcontrol_t, out_INSERT_ROB_SPR_STATUS_VAL [i][j]->read(), insert_rob_spr_status_val [i][j]); 911 TEST(Tcontrol_t, out_INSERT_ROB_SPR_STATUS_DATA[i][j]->read(), 0); 877 912 } 878 913 } … … 882 917 SC_START(1); 883 918 } 884 919 #else 920 SC_START(100); 921 #endif 885 922 /******************************************************** 886 923 * Simulation - End … … 922 959 delete [] out_GPR_WRITE_STATUS_VAL ; 923 960 delete [] in_GPR_WRITE_STATUS_ACK ; 961 delete [] out_GPR_WRITE_STATUS_DATA ; 924 962 delete [] in_SPR_WRITE_VAL ; 925 963 delete [] out_SPR_WRITE_ACK ; … … 929 967 delete [] out_SPR_WRITE_STATUS_VAL ; 930 968 delete [] in_SPR_WRITE_STATUS_ACK ; 969 delete [] out_SPR_WRITE_STATUS_DATA ; 931 970 delete [] in_INSERT_ROB_VAL ; 932 971 delete [] out_INSERT_ROB_ACK ; … … 935 974 delete [] out_INSERT_ROB_GPR_STATUS_VAL ; 936 975 delete [] in_INSERT_ROB_GPR_STATUS_ACK ; 976 delete [] out_INSERT_ROB_GPR_STATUS_DATA ; 937 977 delete [] out_INSERT_ROB_SPR_STATUS_VAL ; 938 978 delete [] in_INSERT_ROB_SPR_STATUS_ACK ; 979 delete [] out_INSERT_ROB_SPR_STATUS_DATA ; 939 980 // delete [] in_RETIRE_ROB_VAL ; 940 981 // delete [] out_RETIRE_ROB_ACK ;
Note: See TracChangeset
for help on using the changeset viewer.