Changeset 128 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Core_Glue/SelfTest/src/test.cpp
- Timestamp:
- Jun 26, 2009, 10:43:23 AM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Core_Glue/SelfTest/src/test.cpp
r117 r128 19 19 morpheo::behavioural::Parameters_Statistics * _parameters_statistics = new morpheo::behavioural::Parameters_Statistics (5,CYCLE_MAX); 20 20 #endif 21 22 _model.set_model(NAME_Core_Glue,MODEL_SYSTEMC,true); 21 23 22 24 Tusage_t _usage = USE_ALL; … … 50 52 51 53 sc_signal<Tcontext_t > *** out_RENAME_FRONT_END_ID ; 54 52 55 sc_signal<Tcontrol_t > *** out_BRANCH_COMPLETE_FRONT_END_VAL ; 53 56 sc_signal<Tcontrol_t > *** in_BRANCH_COMPLETE_FRONT_END_ACK ; … … 57 60 sc_signal<Tcontrol_t > *** out_BRANCH_COMPLETE_FRONT_END_NO_SEQUENCE ; 58 61 sc_signal<Tcontrol_t > *** in_BRANCH_COMPLETE_FRONT_END_MISS_PREDICTION ; 62 59 63 sc_signal<Tcontrol_t > *** in_BRANCH_COMPLETE_OOO_ENGINE_VAL ; 60 64 sc_signal<Tcontrol_t > *** out_BRANCH_COMPLETE_OOO_ENGINE_ACK ; … … 65 69 sc_signal<Tcontrol_t > *** in_BRANCH_COMPLETE_OOO_ENGINE_NO_SEQUENCE ; 66 70 sc_signal<Tcontrol_t > *** out_BRANCH_COMPLETE_OOO_ENGINE_MISS_PREDICTION; 71 67 72 sc_signal<Tcontrol_t > ** out_COMMIT_EVENT_FRONT_END_VAL ; 68 73 sc_signal<Tcontrol_t > ** in_COMMIT_EVENT_FRONT_END_ACK ; … … 76 81 sc_signal<Tcontrol_t > ** out_COMMIT_EVENT_FRONT_END_ADDRESS_EEAR_VAL ; 77 82 sc_signal<Tgeneral_data_t > ** out_COMMIT_EVENT_FRONT_END_ADDRESS_EEAR ; 83 78 84 sc_signal<Tcontrol_t > ** in_COMMIT_EVENT_OOO_ENGINE_VAL ; 79 85 sc_signal<Tcontrol_t > ** out_COMMIT_EVENT_OOO_ENGINE_ACK ; … … 88 94 sc_signal<Tcontrol_t > ** in_COMMIT_EVENT_OOO_ENGINE_ADDRESS_EEAR_VAL ; 89 95 sc_signal<Tgeneral_data_t > ** in_COMMIT_EVENT_OOO_ENGINE_ADDRESS_EEAR ; 96 90 97 sc_signal<Tcontrol_t > *** in_ISSUE_OOO_ENGINE_VAL ; 91 98 sc_signal<Tcontrol_t > *** out_ISSUE_OOO_ENGINE_ACK ; … … 96 103 sc_signal<Toperation_t > *** in_ISSUE_OOO_ENGINE_OPERATION ; 97 104 sc_signal<Tlsq_ptr_t > *** in_ISSUE_OOO_ENGINE_STORE_QUEUE_PTR_WRITE ; 105 sc_signal<Tlsq_ptr_t > *** in_ISSUE_OOO_ENGINE_STORE_QUEUE_PTR_READ ; 106 sc_signal<Tcontrol_t > *** in_ISSUE_OOO_ENGINE_STORE_QUEUE_EMPTY ; 98 107 sc_signal<Tlsq_ptr_t > *** in_ISSUE_OOO_ENGINE_LOAD_QUEUE_PTR_WRITE ; 99 108 sc_signal<Tcontrol_t > *** in_ISSUE_OOO_ENGINE_HAS_IMMEDIAT ; … … 109 118 sc_signal<Tcontrol_t > *** in_ISSUE_OOO_ENGINE_WRITE_RE ; 110 119 sc_signal<Tspecial_address_t> *** in_ISSUE_OOO_ENGINE_NUM_REG_RE ; 120 111 121 sc_signal<Tcontrol_t > *** out_ISSUE_EXECUTE_LOOP_VAL ; 112 122 sc_signal<Tcontrol_t > *** in_ISSUE_EXECUTE_LOOP_ACK ; … … 118 128 sc_signal<Ttype_t > *** out_ISSUE_EXECUTE_LOOP_TYPE ; 119 129 sc_signal<Tlsq_ptr_t > *** out_ISSUE_EXECUTE_LOOP_STORE_QUEUE_PTR_WRITE ; 130 sc_signal<Tlsq_ptr_t > *** out_ISSUE_EXECUTE_LOOP_STORE_QUEUE_PTR_READ ; 131 sc_signal<Tcontrol_t > *** out_ISSUE_EXECUTE_LOOP_STORE_QUEUE_EMPTY ; 120 132 sc_signal<Tlsq_ptr_t > *** out_ISSUE_EXECUTE_LOOP_LOAD_QUEUE_PTR_WRITE ; 121 133 sc_signal<Tcontrol_t > *** out_ISSUE_EXECUTE_LOOP_HAS_IMMEDIAT ; … … 131 143 sc_signal<Tcontrol_t > *** out_ISSUE_EXECUTE_LOOP_WRITE_RE ; 132 144 sc_signal<Tspecial_address_t> *** out_ISSUE_EXECUTE_LOOP_NUM_REG_RE ; 145 133 146 sc_signal<Tcontrol_t > **** out_EXECUTE_OOO_ENGINE_VAL ; 134 147 sc_signal<Tcontrol_t > **** in_EXECUTE_OOO_ENGINE_ACK ; … … 143 156 sc_signal<Taddress_t > **** out_EXECUTE_OOO_ENGINE_ADDRESS ; 144 157 sc_signal<Tgeneral_data_t > **** out_EXECUTE_OOO_ENGINE_DATA ; 158 145 159 sc_signal<Tcontrol_t > *** in_EXECUTE_EXECUTE_LOOP_VAL ; 146 160 sc_signal<Tcontrol_t > *** out_EXECUTE_EXECUTE_LOOP_ACK ; … … 156 170 sc_signal<Taddress_t > *** in_EXECUTE_EXECUTE_LOOP_ADDRESS ; 157 171 sc_signal<Tgeneral_data_t > *** in_EXECUTE_EXECUTE_LOOP_DATA ; 172 158 173 sc_signal<Tcontrol_t > *** in_INSERT_OOO_ENGINE_VAL ; 159 174 sc_signal<Tcontrol_t > *** out_INSERT_OOO_ENGINE_ACK ; … … 216 231 ALLOC2_SC_SIGNAL( in_ISSUE_OOO_ENGINE_OPERATION ," in_ISSUE_OOO_ENGINE_OPERATION ",Toperation_t ,_param->_nb_ooo_engine,_param->_nb_inst_issue_queue[it1]); 217 232 ALLOC2_SC_SIGNAL( in_ISSUE_OOO_ENGINE_STORE_QUEUE_PTR_WRITE ," in_ISSUE_OOO_ENGINE_STORE_QUEUE_PTR_WRITE ",Tlsq_ptr_t ,_param->_nb_ooo_engine,_param->_nb_inst_issue_queue[it1]); 233 ALLOC2_SC_SIGNAL( in_ISSUE_OOO_ENGINE_STORE_QUEUE_PTR_READ ," in_ISSUE_OOO_ENGINE_STORE_QUEUE_PTR_READ ",Tlsq_ptr_t ,_param->_nb_ooo_engine,_param->_nb_inst_issue_queue[it1]); 234 ALLOC2_SC_SIGNAL( in_ISSUE_OOO_ENGINE_STORE_QUEUE_EMPTY ," in_ISSUE_OOO_ENGINE_STORE_QUEUE_EMPTY ",Tcontrol_t ,_param->_nb_ooo_engine,_param->_nb_inst_issue_queue[it1]); 218 235 ALLOC2_SC_SIGNAL( in_ISSUE_OOO_ENGINE_LOAD_QUEUE_PTR_WRITE ," in_ISSUE_OOO_ENGINE_LOAD_QUEUE_PTR_WRITE ",Tlsq_ptr_t ,_param->_nb_ooo_engine,_param->_nb_inst_issue_queue[it1]); 219 236 ALLOC2_SC_SIGNAL( in_ISSUE_OOO_ENGINE_HAS_IMMEDIAT ," in_ISSUE_OOO_ENGINE_HAS_IMMEDIAT ",Tcontrol_t ,_param->_nb_ooo_engine,_param->_nb_inst_issue_queue[it1]); … … 238 255 ALLOC2_SC_SIGNAL(out_ISSUE_EXECUTE_LOOP_TYPE ,"out_ISSUE_EXECUTE_LOOP_TYPE ",Ttype_t ,_param->_nb_execute_loop,_param->_nb_read_unit[it1]); 239 256 ALLOC2_SC_SIGNAL(out_ISSUE_EXECUTE_LOOP_STORE_QUEUE_PTR_WRITE ,"out_ISSUE_EXECUTE_LOOP_STORE_QUEUE_PTR_WRITE ",Tlsq_ptr_t ,_param->_nb_execute_loop,_param->_nb_read_unit[it1]); 257 ALLOC2_SC_SIGNAL(out_ISSUE_EXECUTE_LOOP_STORE_QUEUE_PTR_READ ,"out_ISSUE_EXECUTE_LOOP_STORE_QUEUE_PTR_READ ",Tlsq_ptr_t ,_param->_nb_execute_loop,_param->_nb_read_unit[it1]); 258 ALLOC2_SC_SIGNAL(out_ISSUE_EXECUTE_LOOP_STORE_QUEUE_EMPTY ,"out_ISSUE_EXECUTE_LOOP_STORE_QUEUE_EMPTY ",Tcontrol_t ,_param->_nb_execute_loop,_param->_nb_read_unit[it1]); 240 259 ALLOC2_SC_SIGNAL(out_ISSUE_EXECUTE_LOOP_LOAD_QUEUE_PTR_WRITE ,"out_ISSUE_EXECUTE_LOOP_LOAD_QUEUE_PTR_WRITE ",Tlsq_ptr_t ,_param->_nb_execute_loop,_param->_nb_read_unit[it1]); 241 260 ALLOC2_SC_SIGNAL(out_ISSUE_EXECUTE_LOOP_HAS_IMMEDIAT ,"out_ISSUE_EXECUTE_LOOP_HAS_IMMEDIAT ",Tcontrol_t ,_param->_nb_execute_loop,_param->_nb_read_unit[it1]); … … 358 377 INSTANCE2_SC_SIGNAL(_Core_Glue, in_ISSUE_OOO_ENGINE_TYPE ,_param->_nb_ooo_engine,_param->_nb_inst_issue_queue[it1]); 359 378 INSTANCE2_SC_SIGNAL(_Core_Glue, in_ISSUE_OOO_ENGINE_OPERATION ,_param->_nb_ooo_engine,_param->_nb_inst_issue_queue[it1]); 360 INSTANCE2_SC_SIGNAL(_Core_Glue, in_ISSUE_OOO_ENGINE_STORE_QUEUE_PTR_WRITE ,_param->_nb_ooo_engine,_param->_nb_inst_issue_queue[it1]); 379 INSTANCE2_SC_SIGNAL(_Core_Glue, in_ISSUE_OOO_ENGINE_STORE_QUEUE_PTR_WRITE ,_param->_nb_ooo_engine,_param->_nb_inst_issue_queue[it1]); 380 INSTANCE2_SC_SIGNAL(_Core_Glue, in_ISSUE_OOO_ENGINE_STORE_QUEUE_PTR_READ ,_param->_nb_ooo_engine,_param->_nb_inst_issue_queue[it1]); 381 INSTANCE2_SC_SIGNAL(_Core_Glue, in_ISSUE_OOO_ENGINE_STORE_QUEUE_EMPTY ,_param->_nb_ooo_engine,_param->_nb_inst_issue_queue[it1]); 361 382 if (_param->_have_port_load_queue_ptr) 362 383 INSTANCE2_SC_SIGNAL(_Core_Glue, in_ISSUE_OOO_ENGINE_LOAD_QUEUE_PTR_WRITE ,_param->_nb_ooo_engine,_param->_nb_inst_issue_queue[it1]); … … 386 407 INSTANCE2_SC_SIGNAL(_Core_Glue,out_ISSUE_EXECUTE_LOOP_TYPE ,_param->_nb_execute_loop,_param->_nb_read_unit[it1]); 387 408 INSTANCE2_SC_SIGNAL(_Core_Glue,out_ISSUE_EXECUTE_LOOP_STORE_QUEUE_PTR_WRITE ,_param->_nb_execute_loop,_param->_nb_read_unit[it1]); 409 INSTANCE2_SC_SIGNAL(_Core_Glue,out_ISSUE_EXECUTE_LOOP_STORE_QUEUE_PTR_READ ,_param->_nb_execute_loop,_param->_nb_read_unit[it1]); 410 INSTANCE2_SC_SIGNAL(_Core_Glue,out_ISSUE_EXECUTE_LOOP_STORE_QUEUE_EMPTY ,_param->_nb_execute_loop,_param->_nb_read_unit[it1]); 388 411 if (_param->_have_port_load_queue_ptr) 389 412 INSTANCE2_SC_SIGNAL(_Core_Glue,out_ISSUE_EXECUTE_LOOP_LOAD_QUEUE_PTR_WRITE ,_param->_nb_execute_loop,_param->_nb_read_unit[it1]); … … 469 492 in_NRESET->write(1); 470 493 494 #ifdef SELFTEST 471 495 LABEL("Test RENAME_FRONT_END_ID"); 472 496 if (_param->_have_port_front_end_id) … … 612 636 in_ISSUE_OOO_ENGINE_OPERATION [i][j]->write(range<Ttype_t >(rand(),_param->_size_type )); 613 637 in_ISSUE_OOO_ENGINE_STORE_QUEUE_PTR_WRITE [i][j]->write(range<Tlsq_ptr_t >(rand(),_param->_size_store_queue_ptr )); 638 in_ISSUE_OOO_ENGINE_STORE_QUEUE_PTR_READ [i][j]->write(range<Tlsq_ptr_t >(rand(),_param->_size_store_queue_ptr )); 639 in_ISSUE_OOO_ENGINE_STORE_QUEUE_EMPTY [i][j]->write(rand()%2); 614 640 in_ISSUE_OOO_ENGINE_LOAD_QUEUE_PTR_WRITE [i][j]->write(range<Tlsq_ptr_t >(rand(),_param->_size_load_queue_ptr )); 615 641 in_ISSUE_OOO_ENGINE_HAS_IMMEDIAT [i][j]->write(rand()%2); … … 751 777 TEST(Tlsq_ptr_t ,out_ISSUE_EXECUTE_LOOP_STORE_QUEUE_PTR_WRITE [i][j]->read(), 752 778 in_ISSUE_OOO_ENGINE_STORE_QUEUE_PTR_WRITE [x][y]->read()); 779 TEST(Tlsq_ptr_t ,out_ISSUE_EXECUTE_LOOP_STORE_QUEUE_PTR_READ [i][j]->read(), 780 in_ISSUE_OOO_ENGINE_STORE_QUEUE_PTR_READ [x][y]->read()); 781 TEST(Tlsq_ptr_t ,out_ISSUE_EXECUTE_LOOP_STORE_QUEUE_EMPTY [i][j]->read(), 782 in_ISSUE_OOO_ENGINE_STORE_QUEUE_EMPTY [x][y]->read()); 753 783 TEST(Tlsq_ptr_t ,out_ISSUE_EXECUTE_LOOP_LOAD_QUEUE_PTR_WRITE [i][j]->read(), 754 784 in_ISSUE_OOO_ENGINE_LOAD_QUEUE_PTR_WRITE [x][y]->read()); … … 781 811 SC_START(1); 782 812 } 813 #else 814 SC_START(5); 815 #endif 783 816 784 817 /******************************************************** … … 841 874 DELETE2_SC_SIGNAL( in_ISSUE_OOO_ENGINE_OPERATION ,_param->_nb_ooo_engine,_param->_nb_inst_issue_queue[it1]); 842 875 DELETE2_SC_SIGNAL( in_ISSUE_OOO_ENGINE_STORE_QUEUE_PTR_WRITE ,_param->_nb_ooo_engine,_param->_nb_inst_issue_queue[it1]); 876 DELETE2_SC_SIGNAL( in_ISSUE_OOO_ENGINE_STORE_QUEUE_PTR_READ ,_param->_nb_ooo_engine,_param->_nb_inst_issue_queue[it1]); 877 DELETE2_SC_SIGNAL( in_ISSUE_OOO_ENGINE_STORE_QUEUE_EMPTY ,_param->_nb_ooo_engine,_param->_nb_inst_issue_queue[it1]); 843 878 DELETE2_SC_SIGNAL( in_ISSUE_OOO_ENGINE_LOAD_QUEUE_PTR_WRITE ,_param->_nb_ooo_engine,_param->_nb_inst_issue_queue[it1]); 844 879 DELETE2_SC_SIGNAL( in_ISSUE_OOO_ENGINE_HAS_IMMEDIAT ,_param->_nb_ooo_engine,_param->_nb_inst_issue_queue[it1]); … … 863 898 DELETE2_SC_SIGNAL(out_ISSUE_EXECUTE_LOOP_TYPE ,_param->_nb_execute_loop,_param->_nb_read_unit[it1]); 864 899 DELETE2_SC_SIGNAL(out_ISSUE_EXECUTE_LOOP_STORE_QUEUE_PTR_WRITE ,_param->_nb_execute_loop,_param->_nb_read_unit[it1]); 900 DELETE2_SC_SIGNAL(out_ISSUE_EXECUTE_LOOP_STORE_QUEUE_PTR_READ ,_param->_nb_execute_loop,_param->_nb_read_unit[it1]); 901 DELETE2_SC_SIGNAL(out_ISSUE_EXECUTE_LOOP_STORE_QUEUE_EMPTY ,_param->_nb_execute_loop,_param->_nb_read_unit[it1]); 865 902 DELETE2_SC_SIGNAL(out_ISSUE_EXECUTE_LOOP_LOAD_QUEUE_PTR_WRITE ,_param->_nb_execute_loop,_param->_nb_read_unit[it1]); 866 903 DELETE2_SC_SIGNAL(out_ISSUE_EXECUTE_LOOP_HAS_IMMEDIAT ,_param->_nb_execute_loop,_param->_nb_read_unit[it1]);
Note: See TracChangeset
for help on using the changeset viewer.