Changeset 128 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/SelfTest/src
- Timestamp:
- Jun 26, 2009, 10:43:23 AM (15 years ago)
- Location:
- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/SelfTest/src
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/SelfTest/src/main.cpp
r110 r128 142 142 143 143 test (name,param); 144 145 delete param; 144 146 } 145 147 catch (morpheo::ErrorMorpheo & error) -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/SelfTest/src/test.cpp
r121 r128 29 29 #endif 30 30 31 simulation_init(0,0 );31 simulation_init(0,0,0,false,false); 32 32 33 33 debug_idle_cycle = CYCLE_MAX; … … 62 62 sc_signal<Tcontrol_t> * in_NRESET = new sc_signal<Tcontrol_t> ("NRESET"); 63 63 64 sc_signal<Tcontrol_t > *** in_INSERT_VAL ; 65 sc_signal<Tcontrol_t > *** out_INSERT_ACK ; 66 sc_signal<Tcontext_t > *** in_INSERT_FRONT_END_ID ; 67 sc_signal<Tcontext_t > *** in_INSERT_CONTEXT_ID ; 68 sc_signal<Tpacket_t > *** out_INSERT_PACKET_ID ; 69 //sc_signal<Tcontext_t > *** in_INSERT_RENAME_UNIT_ID ; 70 sc_signal<Tdepth_t > *** in_INSERT_DEPTH ; 71 sc_signal<Ttype_t > *** in_INSERT_TYPE ; 72 sc_signal<Toperation_t > *** in_INSERT_OPERATION ; 73 sc_signal<Tcontrol_t > *** in_INSERT_NO_EXECUTE ; 74 sc_signal<Tcontrol_t > *** in_INSERT_LAST_EVENT ; 75 sc_signal<Tcontrol_t > *** in_INSERT_IS_DELAY_SLOT ; 76 sc_signal<Taddress_t > *** in_INSERT_ADDRESS ; 77 sc_signal<Taddress_t > *** in_INSERT_ADDRESS_NEXT ; 78 sc_signal<Texception_t > *** in_INSERT_EXCEPTION ; 79 sc_signal<Texception_t > *** in_INSERT_EXCEPTION_USE ; 80 sc_signal<Tlsq_ptr_t > *** in_INSERT_STORE_QUEUE_PTR_WRITE ; 81 sc_signal<Tlsq_ptr_t > *** in_INSERT_LOAD_QUEUE_PTR_WRITE ; 82 sc_signal<Tcontrol_t > *** in_INSERT_READ_RA ; 83 sc_signal<Tgeneral_address_t> *** in_INSERT_NUM_REG_RA_LOG ; 84 sc_signal<Tgeneral_address_t> *** in_INSERT_NUM_REG_RA_PHY ; 85 sc_signal<Tcontrol_t > *** in_INSERT_READ_RB ; 86 sc_signal<Tgeneral_address_t> *** in_INSERT_NUM_REG_RB_LOG ; 87 sc_signal<Tgeneral_address_t> *** in_INSERT_NUM_REG_RB_PHY ; 88 sc_signal<Tcontrol_t > *** in_INSERT_READ_RC ; 89 sc_signal<Tspecial_address_t> *** in_INSERT_NUM_REG_RC_LOG ; 90 sc_signal<Tspecial_address_t> *** in_INSERT_NUM_REG_RC_PHY ; 91 sc_signal<Tcontrol_t > *** in_INSERT_WRITE_RD ; 92 sc_signal<Tgeneral_address_t> *** in_INSERT_NUM_REG_RD_LOG ; 93 sc_signal<Tgeneral_address_t> *** in_INSERT_NUM_REG_RD_PHY_OLD ; 94 sc_signal<Tgeneral_address_t> *** in_INSERT_NUM_REG_RD_PHY_NEW ; 95 sc_signal<Tcontrol_t > *** in_INSERT_WRITE_RE ; 96 sc_signal<Tspecial_address_t> *** in_INSERT_NUM_REG_RE_LOG ; 97 sc_signal<Tspecial_address_t> *** in_INSERT_NUM_REG_RE_PHY_OLD ; 98 sc_signal<Tspecial_address_t> *** in_INSERT_NUM_REG_RE_PHY_NEW ; 99 100 sc_signal<Tcontrol_t > *** out_RETIRE_VAL ; 101 sc_signal<Tcontrol_t > *** in_RETIRE_ACK ; 102 sc_signal<Tcontext_t > *** out_RETIRE_FRONT_END_ID ; 103 sc_signal<Tcontext_t > *** out_RETIRE_CONTEXT_ID ; 104 //sc_signal<Tcontext_t > *** out_RETIRE_RENAME_UNIT_ID ; 105 sc_signal<Tcontrol_t > *** out_RETIRE_USE_STORE_QUEUE ; 106 sc_signal<Tcontrol_t > *** out_RETIRE_USE_LOAD_QUEUE ; 107 sc_signal<Tlsq_ptr_t > *** out_RETIRE_STORE_QUEUE_PTR_WRITE ; 108 sc_signal<Tlsq_ptr_t > *** out_RETIRE_LOAD_QUEUE_PTR_WRITE ; 109 sc_signal<Tcontrol_t > *** out_RETIRE_READ_RA ; 110 sc_signal<Tgeneral_address_t> *** out_RETIRE_NUM_REG_RA_PHY ; 111 sc_signal<Tcontrol_t > *** out_RETIRE_READ_RB ; 112 sc_signal<Tgeneral_address_t> *** out_RETIRE_NUM_REG_RB_PHY ; 113 sc_signal<Tcontrol_t > *** out_RETIRE_READ_RC ; 114 sc_signal<Tspecial_address_t> *** out_RETIRE_NUM_REG_RC_PHY ; 115 sc_signal<Tcontrol_t > *** out_RETIRE_WRITE_RD ; 116 sc_signal<Tgeneral_address_t> *** out_RETIRE_NUM_REG_RD_LOG ; 117 sc_signal<Tgeneral_address_t> *** out_RETIRE_NUM_REG_RD_PHY_OLD ; 118 sc_signal<Tgeneral_address_t> *** out_RETIRE_NUM_REG_RD_PHY_NEW ; 119 sc_signal<Tcontrol_t > *** out_RETIRE_WRITE_RE ; 120 sc_signal<Tspecial_address_t> *** out_RETIRE_NUM_REG_RE_LOG ; 121 sc_signal<Tspecial_address_t> *** out_RETIRE_NUM_REG_RE_PHY_OLD ; 122 sc_signal<Tspecial_address_t> *** out_RETIRE_NUM_REG_RE_PHY_NEW ; 123 124 sc_signal<Tcontrol_t > *** out_RETIRE_EVENT_VAL ; 125 sc_signal<Tcontrol_t > *** in_RETIRE_EVENT_ACK ; 126 sc_signal<Tevent_state_t > *** out_RETIRE_EVENT_STATE ; 127 sc_signal<Tcontrol_t > *** out_RETIRE_EVENT_STOP ; 128 129 sc_signal<Tcontrol_t > ** in_COMMIT_VAL ; 130 sc_signal<Tcontrol_t > ** out_COMMIT_ACK ; 131 sc_signal<Tcontrol_t > ** in_COMMIT_WEN ; 132 sc_signal<Tpacket_t > ** in_COMMIT_PACKET_ID ; 133 //sc_signal<Toperation_t > ** in_COMMIT_OPERATION ; 134 //sc_signal<Ttype_t > ** in_COMMIT_TYPE ; 135 sc_signal<Tspecial_data_t > ** in_COMMIT_FLAGS ; 136 sc_signal<Texception_t > ** in_COMMIT_EXCEPTION ; 137 sc_signal<Tcontrol_t > ** in_COMMIT_NO_SEQUENCE ; 138 sc_signal<Taddress_t > ** in_COMMIT_ADDRESS ; 139 sc_signal<Tgeneral_address_t> ** out_COMMIT_NUM_REG_RD ; 140 141 sc_signal<Tcontrol_t > ** out_REEXECUTE_VAL ; 142 sc_signal<Tcontrol_t > ** in_REEXECUTE_ACK ; 143 sc_signal<Tcontext_t > ** out_REEXECUTE_CONTEXT_ID ; 144 sc_signal<Tcontext_t > ** out_REEXECUTE_FRONT_END_ID ; 145 sc_signal<Tpacket_t > ** out_REEXECUTE_PACKET_ID ; 146 sc_signal<Toperation_t > ** out_REEXECUTE_OPERATION ; 147 sc_signal<Ttype_t > ** out_REEXECUTE_TYPE ; 148 sc_signal<Tlsq_ptr_t > ** out_REEXECUTE_STORE_QUEUE_PTR_WRITE; 149 150 sc_signal<Tcontrol_t > ** out_BRANCH_COMPLETE_VAL ; 151 sc_signal<Tcontrol_t > ** in_BRANCH_COMPLETE_ACK ; 152 sc_signal<Tcontext_t > ** out_BRANCH_COMPLETE_CONTEXT_ID ; 153 sc_signal<Tcontext_t > ** out_BRANCH_COMPLETE_FRONT_END_ID ; 154 sc_signal<Tdepth_t > ** out_BRANCH_COMPLETE_DEPTH ; 155 sc_signal<Taddress_t > ** out_BRANCH_COMPLETE_ADDRESS ; 156 sc_signal<Tcontrol_t > ** out_BRANCH_COMPLETE_NO_SEQUENCE ; 157 sc_signal<Tcontrol_t > ** in_BRANCH_COMPLETE_MISS_PREDICTION; 158 159 sc_signal<Tcontrol_t > * out_UPDATE_VAL ; 160 sc_signal<Tcontrol_t > * in_UPDATE_ACK ; 161 sc_signal<Tcontext_t > * out_UPDATE_CONTEXT_ID ; 162 sc_signal<Tcontext_t > * out_UPDATE_FRONT_END_ID ; 163 sc_signal<Tdepth_t > * out_UPDATE_DEPTH ; 164 sc_signal<Tevent_type_t > * out_UPDATE_TYPE ; 165 sc_signal<Tcontrol_t > * out_UPDATE_IS_DELAY_SLOT ; 166 sc_signal<Taddress_t > * out_UPDATE_ADDRESS ; 167 sc_signal<Tcontrol_t > * out_UPDATE_ADDRESS_EPCR_VAL ; 168 sc_signal<Taddress_t > * out_UPDATE_ADDRESS_EPCR ; 169 sc_signal<Tcontrol_t > * out_UPDATE_ADDRESS_EEAR_VAL ; 170 sc_signal<Tgeneral_data_t > * out_UPDATE_ADDRESS_EEAR ; 171 172 sc_signal<Tcontrol_t > *** in_EVENT_VAL ; 173 sc_signal<Tcontrol_t > *** out_EVENT_ACK ; 174 sc_signal<Taddress_t > *** in_EVENT_ADDRESS ; 175 sc_signal<Taddress_t > *** in_EVENT_ADDRESS_NEXT ; 176 sc_signal<Tcontrol_t > *** in_EVENT_ADDRESS_NEXT_VAL ; 177 sc_signal<Tcontrol_t > *** in_EVENT_IS_DS_TAKE ; 178 179 sc_signal<Tcounter_t > *** out_NB_INST_COMMIT_ALL ; 180 sc_signal<Tcounter_t > *** out_NB_INST_COMMIT_MEM ; 181 sc_signal<Tcounter_t > *** in_NB_INST_DECOD_ALL ; 182 sc_signal<Tdepth_t > *** in_DEPTH_MIN ; 183 sc_signal<Tdepth_t > *** in_DEPTH_MAX ; 184 sc_signal<Tcontrol_t > *** in_DEPTH_FULL ; 185 186 sc_signal<Tcontrol_t > *** in_SPR_READ_SR_OVE ; 187 188 sc_signal<Tcontrol_t > *** out_SPR_WRITE_VAL ; 189 sc_signal<Tcontrol_t > *** in_SPR_WRITE_ACK ; 190 sc_signal<Tcontrol_t > *** out_SPR_WRITE_SR_F_VAL ; 191 sc_signal<Tcontrol_t > *** out_SPR_WRITE_SR_F ; 192 sc_signal<Tcontrol_t > *** out_SPR_WRITE_SR_CY_VAL ; 193 sc_signal<Tcontrol_t > *** out_SPR_WRITE_SR_CY ; 194 sc_signal<Tcontrol_t > *** out_SPR_WRITE_SR_OV_VAL ; 195 sc_signal<Tcontrol_t > *** out_SPR_WRITE_SR_OV ; 196 197 sc_signal<bool > * out_INFO_ROB_EMPTY ; 198 64 199 ALLOC2_SC_SIGNAL( in_INSERT_VAL ," in_INSERT_VAL ",Tcontrol_t ,_param->_nb_rename_unit,_param->_nb_inst_insert[it1]); 65 200 ALLOC2_SC_SIGNAL(out_INSERT_ACK ,"out_INSERT_ACK ",Tcontrol_t ,_param->_nb_rename_unit,_param->_nb_inst_insert[it1]); … … 72 207 ALLOC2_SC_SIGNAL( in_INSERT_OPERATION ," in_INSERT_OPERATION ",Toperation_t ,_param->_nb_rename_unit,_param->_nb_inst_insert[it1]); 73 208 ALLOC2_SC_SIGNAL( in_INSERT_NO_EXECUTE ," in_INSERT_NO_EXECUTE ",Tcontrol_t ,_param->_nb_rename_unit,_param->_nb_inst_insert[it1]); 209 ALLOC2_SC_SIGNAL( in_INSERT_LAST_EVENT ," in_INSERT_LAST_EVENT ",Tcontrol_t ,_param->_nb_rename_unit,_param->_nb_inst_insert[it1]); 74 210 ALLOC2_SC_SIGNAL( in_INSERT_IS_DELAY_SLOT ," in_INSERT_IS_DELAY_SLOT ",Tcontrol_t ,_param->_nb_rename_unit,_param->_nb_inst_insert[it1]); 75 #ifdef DEBUG76 211 ALLOC2_SC_SIGNAL( in_INSERT_ADDRESS ," in_INSERT_ADDRESS ",Taddress_t ,_param->_nb_rename_unit,_param->_nb_inst_insert[it1]); 77 #endif78 212 ALLOC2_SC_SIGNAL( in_INSERT_ADDRESS_NEXT ," in_INSERT_ADDRESS_NEXT ",Taddress_t ,_param->_nb_rename_unit,_param->_nb_inst_insert[it1]); 79 213 ALLOC2_SC_SIGNAL( in_INSERT_EXCEPTION ," in_INSERT_EXCEPTION ",Texception_t ,_param->_nb_rename_unit,_param->_nb_inst_insert[it1]); … … 125 259 ALLOC2_SC_SIGNAL( in_RETIRE_EVENT_ACK ," in_RETIRE_EVENT_ACK ",Tcontrol_t ,_param->_nb_front_end,_param->_nb_context[it1]); 126 260 ALLOC2_SC_SIGNAL(out_RETIRE_EVENT_STATE ,"out_RETIRE_EVENT_STATE ",Tevent_state_t ,_param->_nb_front_end,_param->_nb_context[it1]); 261 ALLOC2_SC_SIGNAL(out_RETIRE_EVENT_STOP ,"out_RETIRE_EVENT_STOP ",Tcontrol_t ,_param->_nb_front_end,_param->_nb_context[it1]); 127 262 128 263 ALLOC1_SC_SIGNAL( in_COMMIT_VAL ," in_COMMIT_VAL ",Tcontrol_t ,_param->_nb_inst_commit); … … 137 272 ALLOC1_SC_SIGNAL( in_COMMIT_ADDRESS ," in_COMMIT_ADDRESS ",Taddress_t ,_param->_nb_inst_commit); 138 273 ALLOC1_SC_SIGNAL(out_COMMIT_NUM_REG_RD ,"out_COMMIT_NUM_REG_RD ",Tgeneral_address_t,_param->_nb_inst_commit); 274 139 275 ALLOC1_SC_SIGNAL(out_REEXECUTE_VAL ,"out_REEXECUTE_VAL ",Tcontrol_t ,_param->_nb_inst_reexecute); 140 276 ALLOC1_SC_SIGNAL( in_REEXECUTE_ACK ," in_REEXECUTE_ACK ",Tcontrol_t ,_param->_nb_inst_reexecute); … … 191 327 ALLOC2_SC_SIGNAL(out_SPR_WRITE_SR_OV ,"out_SPR_WRITE_SR_OV ",Tcontrol_t ,_param->_nb_front_end,_param->_nb_context[it1]); 192 328 329 ALLOC0_SC_SIGNAL(out_INFO_ROB_EMPTY ,"out_INFO_ROB_EMPTY ",bool ); 330 193 331 /******************************************************** 194 332 * Instanciation … … 215 353 INSTANCE2_SC_SIGNAL(_Commit_unit, in_INSERT_IS_DELAY_SLOT ,_param->_nb_rename_unit,_param->_nb_inst_insert[it1]); 216 354 INSTANCE2_SC_SIGNAL(_Commit_unit, in_INSERT_NO_EXECUTE ,_param->_nb_rename_unit,_param->_nb_inst_insert[it1]); 355 INSTANCE2_SC_SIGNAL(_Commit_unit, in_INSERT_LAST_EVENT ,_param->_nb_rename_unit,_param->_nb_inst_insert[it1]); 217 356 #ifdef DEBUG 218 357 INSTANCE2_SC_SIGNAL(_Commit_unit, in_INSERT_ADDRESS ,_param->_nb_rename_unit,_param->_nb_inst_insert[it1]); … … 272 411 INSTANCE2_SC_SIGNAL(_Commit_unit, in_RETIRE_EVENT_ACK ,_param->_nb_front_end,_param->_nb_context[it1]); 273 412 INSTANCE2_SC_SIGNAL(_Commit_unit,out_RETIRE_EVENT_STATE ,_param->_nb_front_end,_param->_nb_context[it1]); 413 INSTANCE2_SC_SIGNAL(_Commit_unit,out_RETIRE_EVENT_STOP ,_param->_nb_front_end,_param->_nb_context[it1]); 274 414 INSTANCE1_SC_SIGNAL(_Commit_unit, in_COMMIT_VAL ,_param->_nb_inst_commit); 275 415 INSTANCE1_SC_SIGNAL(_Commit_unit,out_COMMIT_ACK ,_param->_nb_inst_commit); … … 351 491 INSTANCE2_SC_SIGNAL(_Commit_unit,out_SPR_WRITE_SR_OV ,_param->_nb_front_end,_param->_nb_context[it1]); 352 492 493 #ifdef DEBUG_TEST 494 INSTANCE0_SC_SIGNAL(_Commit_unit,out_INFO_ROB_EMPTY ); 495 #endif 496 353 497 msg(_("<%s> : Start Simulation ............\n"),name.c_str()); 354 498 … … 378 522 in_NRESET->write(1); 379 523 524 #ifdef SELFTEST 380 525 LABEL("Loop of Test"); 381 526 for (uint32_t iteration=0; iteration<NB_ITERATION; iteration ++) … … 435 580 in_INSERT_IS_DELAY_SLOT [i][j]->write(0); 436 581 in_INSERT_NO_EXECUTE [i][j]->write(0); 582 in_INSERT_LAST_EVENT [i][j]->write(0); 437 583 in_INSERT_ADDRESS_NEXT [i][j]->write(addr); 438 584 in_INSERT_EXCEPTION [i][j]->write(0); … … 608 754 609 755 } 756 #else 757 SC_START(10); 758 #endif 610 759 611 760 /******************************************************** … … 631 780 DELETE2_SC_SIGNAL( in_INSERT_OPERATION ,_param->_nb_rename_unit,_param->_nb_inst_insert[it1]); 632 781 DELETE2_SC_SIGNAL( in_INSERT_NO_EXECUTE ,_param->_nb_rename_unit,_param->_nb_inst_insert[it1]); 782 DELETE2_SC_SIGNAL( in_INSERT_LAST_EVENT ,_param->_nb_rename_unit,_param->_nb_inst_insert[it1]); 633 783 DELETE2_SC_SIGNAL( in_INSERT_IS_DELAY_SLOT ,_param->_nb_rename_unit,_param->_nb_inst_insert[it1]); 634 #ifdef DEBUG635 784 DELETE2_SC_SIGNAL( in_INSERT_ADDRESS ,_param->_nb_rename_unit,_param->_nb_inst_insert[it1]); 636 #endif637 785 DELETE2_SC_SIGNAL( in_INSERT_ADDRESS_NEXT ,_param->_nb_rename_unit,_param->_nb_inst_insert[it1]); 638 786 DELETE2_SC_SIGNAL( in_INSERT_EXCEPTION ,_param->_nb_rename_unit,_param->_nb_inst_insert[it1]); … … 666 814 DELETE2_SC_SIGNAL(out_RETIRE_STORE_QUEUE_PTR_WRITE ,_param->_nb_rename_unit,_param->_nb_inst_retire[it1]); 667 815 DELETE2_SC_SIGNAL(out_RETIRE_LOAD_QUEUE_PTR_WRITE ,_param->_nb_rename_unit,_param->_nb_inst_retire[it1]); 668 // 669 // 670 // 671 // 672 // 673 // 816 //DELETE2_SC_SIGNAL(out_RETIRE_READ_RA ,_param->_nb_rename_unit,_param->_nb_inst_retire[it1]); 817 //DELETE2_SC_SIGNAL(out_RETIRE_NUM_REG_RA_PHY ,_param->_nb_rename_unit,_param->_nb_inst_retire[it1]); 818 //DELETE2_SC_SIGNAL(out_RETIRE_READ_RB ,_param->_nb_rename_unit,_param->_nb_inst_retire[it1]); 819 //DELETE2_SC_SIGNAL(out_RETIRE_NUM_REG_RB_PHY ,_param->_nb_rename_unit,_param->_nb_inst_retire[it1]); 820 //DELETE2_SC_SIGNAL(out_RETIRE_READ_RC ,_param->_nb_rename_unit,_param->_nb_inst_retire[it1]); 821 //DELETE2_SC_SIGNAL(out_RETIRE_NUM_REG_RC_PHY ,_param->_nb_rename_unit,_param->_nb_inst_retire[it1]); 674 822 DELETE2_SC_SIGNAL(out_RETIRE_WRITE_RD ,_param->_nb_rename_unit,_param->_nb_inst_retire[it1]); 675 823 DELETE2_SC_SIGNAL(out_RETIRE_NUM_REG_RD_LOG ,_param->_nb_rename_unit,_param->_nb_inst_retire[it1]); … … 683 831 DELETE2_SC_SIGNAL( in_RETIRE_EVENT_ACK ,_param->_nb_front_end,_param->_nb_context[it1]); 684 832 DELETE2_SC_SIGNAL(out_RETIRE_EVENT_STATE ,_param->_nb_front_end,_param->_nb_context[it1]); 833 DELETE2_SC_SIGNAL(out_RETIRE_EVENT_STOP ,_param->_nb_front_end,_param->_nb_context[it1]); 685 834 DELETE1_SC_SIGNAL( in_COMMIT_VAL ,_param->_nb_inst_commit); 686 835 DELETE1_SC_SIGNAL(out_COMMIT_ACK ,_param->_nb_inst_commit); … … 747 896 DELETE2_SC_SIGNAL(out_SPR_WRITE_SR_OV_VAL ,_param->_nb_front_end,_param->_nb_context[it1]); 748 897 DELETE2_SC_SIGNAL(out_SPR_WRITE_SR_OV ,_param->_nb_front_end,_param->_nb_context[it1]); 898 899 DELETE0_SC_SIGNAL(out_INFO_ROB_EMPTY ); 749 900 } 750 901 #endif
Note: See TracChangeset
for help on using the changeset viewer.