Changeset 117 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/SelfTest
- Timestamp:
- May 16, 2009, 4:42:39 PM (15 years ago)
- Location:
- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/SelfTest
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/SelfTest/configuration.cfg
r112 r117 7 7 1 1 +1 # nb_inst_insert [0] [nb_rename_unit] 8 8 1 1 +1 # nb_inst_retire [0] [nb_rename_unit] 9 1 1 +1 # nb_inst_issue10 9 1 1 +1 # nb_inst_execute [0] [nb_execute_loop] 11 10 1 1 +1 # nb_inst_reexecute … … 28 27 1 1 +1 # issue_priority 29 28 1 1 +1 # issue_load_balancing 30 1 1 +1 # table_routing [0][0] [nb_rename_unit][nb_inst_issue]31 1 1 +1 # table_issue_type [0][TYPE_ALU ] [nb_inst_issue][nb_type]32 1 1 +1 # table_issue_type [0][TYPE_SHIFT ] [nb_inst_issue][nb_type]33 1 1 +1 # table_issue_type [0][TYPE_MOVE ] [nb_inst_issue][nb_type]34 1 1 +1 # table_issue_type [0][TYPE_TEST ] [nb_inst_issue][nb_type]35 1 1 +1 # table_issue_type [0][TYPE_MUL ] [nb_inst_issue][nb_type]36 1 1 +1 # table_issue_type [0][TYPE_DIV ] [nb_inst_issue][nb_type]37 1 1 +1 # table_issue_type [0][TYPE_EXTEND ] [nb_inst_issue][nb_type]38 1 1 +1 # table_issue_type [0][TYPE_FIND ] [nb_inst_issue][nb_type]39 1 1 +1 # table_issue_type [0][TYPE_SPECIAL] [nb_inst_issue][nb_type]40 1 1 +1 # table_issue_type [0][TYPE_CUSTOM ] [nb_inst_issue][nb_type]41 1 1 +1 # table_issue_type [0][TYPE_BRANCH ] [nb_inst_issue][nb_type]42 1 1 +1 # table_issue_type [0][TYPE_MEMORY ] [nb_inst_issue][nb_type]43 29 1 1 +1 # size_reexecute_queue 44 30 1 1 +1 # reexecute_priority -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/SelfTest/src/main.cpp
r112 r117 9 9 #include "Behavioural/include/Allocation.h" 10 10 11 #define NB_PARAMS 2 411 #define NB_PARAMS 23 12 12 13 13 void usage (int argc, char * argv[]) … … 22 22 err (_(" * nb_inst_insert [nb_rename_unit] (uint32_t )\n")); 23 23 err (_(" * nb_inst_retire [nb_rename_unit] (uint32_t )\n")); 24 24 //err (_(" * nb_inst_issue (uint32_t )\n")); 25 25 err (_(" * nb_inst_execute [nb_execute_loop] (uint32_t )\n")); 26 26 err (_(" * nb_inst_reexecute (uint32_t )\n")); … … 43 43 err (_(" * issue_priority (Tpriority_t )\n")); 44 44 err (_(" * issue_load_balancing (Tload_balancing_t )\n")); 45 err (_(" * table_routing [nb_rename_unit][nb_inst_issue] (bool )\n"));46 err (_(" * table_issue_type [nb_inst_issue][nb_type] (bool )\n"));47 err (_(" * TYPE_ALU \n"));48 err (_(" * TYPE_SHIFT \n"));49 err (_(" * TYPE_MOVE \n"));50 err (_(" * TYPE_TEST \n"));51 err (_(" * TYPE_MUL \n"));52 err (_(" * TYPE_DIV \n"));53 err (_(" * TYPE_EXTEND \n"));54 err (_(" * TYPE_FIND \n"));55 err (_(" * TYPE_SPECIAL\n"));56 err (_(" * TYPE_CUSTOM \n"));57 err (_(" * TYPE_BRANCH \n"));58 err (_(" * TYPE_MEMORY \n"));45 // err (_(" * table_routing [nb_rename_unit][nb_inst_issue] (bool )\n")); 46 // err (_(" * table_issue_type [nb_inst_issue][nb_type] (bool )\n")); 47 // err (_(" * TYPE_ALU \n")); 48 // err (_(" * TYPE_SHIFT \n")); 49 // err (_(" * TYPE_MOVE \n")); 50 // err (_(" * TYPE_TEST \n")); 51 // err (_(" * TYPE_MUL \n")); 52 // err (_(" * TYPE_DIV \n")); 53 // err (_(" * TYPE_EXTEND \n")); 54 // err (_(" * TYPE_FIND \n")); 55 // err (_(" * TYPE_SPECIAL\n")); 56 // err (_(" * TYPE_CUSTOM \n")); 57 // err (_(" * TYPE_BRANCH \n")); 58 // err (_(" * TYPE_MEMORY \n")); 59 59 err (_(" * size_reexecute_queue (uint32_t )\n")); 60 60 err (_(" * reexecute_priority (Tpriority_t )\n")); … … 120 120 _nb_inst_retire [i] = fromString<uint32_t>(argv[x++]); 121 121 122 122 //uint32_t _nb_inst_issue = fromString<uint32_t >(argv[x++]); 123 123 uint32_t * _nb_inst_execute = new uint32_t [_nb_execute_loop]; 124 124 for (uint32_t i=0; i<_nb_execute_loop; i++) … … 152 152 Tpriority_t _issue_priority = fromString<Tpriority_t >(argv[x++]); 153 153 Tload_balancing_t _issue_load_balancing = fromString<Tload_balancing_t>(argv[x++]); 154 bool ** _table_routing = new bool * [_nb_rename_unit]; 155 for (uint32_t i=0; i<_nb_rename_unit; i++) 156 { 157 _table_routing [i] = new bool [_nb_inst_issue]; 158 for (uint32_t j=0; j<_nb_inst_issue; j++) 159 _table_routing [i][j] = fromString<bool>(argv[x++]); 160 } 161 162 if (argc <= static_cast<int>(2+NB_PARAMS+3*_nb_front_end+2*_sum_nb_context+10*_nb_rename_unit+_nb_execute_loop+_nb_rename_unit*_nb_inst_issue+12*_nb_inst_issue)) 154 // bool ** _table_routing = new bool * [_nb_rename_unit]; 155 // for (uint32_t i=0; i<_nb_rename_unit; i++) 156 // { 157 // _table_routing [i] = new bool [_nb_inst_issue]; 158 // for (uint32_t j=0; j<_nb_inst_issue; j++) 159 // _table_routing [i][j] = fromString<bool>(argv[x++]); 160 // } 161 162 if (argc <= static_cast<int>(2+NB_PARAMS+3*_nb_front_end+2*_sum_nb_context+10*_nb_rename_unit+_nb_execute_loop//+_nb_rename_unit*_nb_inst_issue+12*_nb_inst_issue 163 )) 163 164 usage (argc, argv); 164 165 165 bool ** _table_issue_type = new bool * [_nb_inst_issue];166 for (uint32_t i=0; i<_nb_inst_issue; i++)167 {168 _table_issue_type [i] = new bool [MAX_TYPE];169 for (uint32_t j=0; j<MAX_TYPE; j++)170 _table_issue_type [i][j] = false;171 172 _table_issue_type [i][TYPE_ALU ] = fromString<bool>(argv[x++]);173 _table_issue_type [i][TYPE_SHIFT ] = fromString<bool>(argv[x++]);174 _table_issue_type [i][TYPE_MOVE ] = fromString<bool>(argv[x++]);175 _table_issue_type [i][TYPE_TEST ] = fromString<bool>(argv[x++]);176 _table_issue_type [i][TYPE_MUL ] = fromString<bool>(argv[x++]);177 _table_issue_type [i][TYPE_DIV ] = fromString<bool>(argv[x++]);178 _table_issue_type [i][TYPE_EXTEND ] = fromString<bool>(argv[x++]);179 _table_issue_type [i][TYPE_FIND ] = fromString<bool>(argv[x++]);180 _table_issue_type [i][TYPE_SPECIAL] = fromString<bool>(argv[x++]);181 _table_issue_type [i][TYPE_CUSTOM ] = fromString<bool>(argv[x++]);182 _table_issue_type [i][TYPE_BRANCH ] = fromString<bool>(argv[x++]);183 _table_issue_type [i][TYPE_MEMORY ] = fromString<bool>(argv[x++]);184 }166 // bool ** _table_issue_type = new bool * [_nb_inst_issue]; 167 // for (uint32_t i=0; i<_nb_inst_issue; i++) 168 // { 169 // _table_issue_type [i] = new bool [MAX_TYPE]; 170 // for (uint32_t j=0; j<MAX_TYPE; j++) 171 // _table_issue_type [i][j] = false; 172 173 // _table_issue_type [i][TYPE_ALU ] = fromString<bool>(argv[x++]); 174 // _table_issue_type [i][TYPE_SHIFT ] = fromString<bool>(argv[x++]); 175 // _table_issue_type [i][TYPE_MOVE ] = fromString<bool>(argv[x++]); 176 // _table_issue_type [i][TYPE_TEST ] = fromString<bool>(argv[x++]); 177 // _table_issue_type [i][TYPE_MUL ] = fromString<bool>(argv[x++]); 178 // _table_issue_type [i][TYPE_DIV ] = fromString<bool>(argv[x++]); 179 // _table_issue_type [i][TYPE_EXTEND ] = fromString<bool>(argv[x++]); 180 // _table_issue_type [i][TYPE_FIND ] = fromString<bool>(argv[x++]); 181 // _table_issue_type [i][TYPE_SPECIAL] = fromString<bool>(argv[x++]); 182 // _table_issue_type [i][TYPE_CUSTOM ] = fromString<bool>(argv[x++]); 183 // _table_issue_type [i][TYPE_BRANCH ] = fromString<bool>(argv[x++]); 184 // _table_issue_type [i][TYPE_MEMORY ] = fromString<bool>(argv[x++]); 185 // } 185 186 186 187 uint32_t _size_reexecute_queue = fromString<uint32_t >(argv[x++]); … … 220 221 } 221 222 222 if (argc != static_cast<int>(2+NB_PARAMS+3*_nb_front_end+2*_sum_nb_context+10*_nb_rename_unit+_nb_execute_loop+_nb_rename_unit*_nb_inst_issue+12*_nb_inst_issue+3*_sum_nb_load_store_queue)) 223 if (argc != static_cast<int>(2+NB_PARAMS+3*_nb_front_end+2*_sum_nb_context+10*_nb_rename_unit+_nb_execute_loop+// _nb_rename_unit*_nb_inst_issue+12*_nb_inst_issue 224 3*_sum_nb_load_store_queue)) 223 225 usage (argc, argv); 224 226 … … 294 296 _nb_inst_insert , 295 297 _nb_inst_retire , 296 298 // _nb_inst_issue , 297 299 _nb_inst_execute , 298 300 _nb_inst_reexecute , … … 315 317 _issue_priority , 316 318 _issue_load_balancing , 317 _table_routing ,318 _table_issue_type ,319 // _table_routing , 320 // _table_issue_type , 319 321 _size_reexecute_queue , 320 322 _reexecute_priority , … … 400 402 delete [] _rename_select_priority ; 401 403 402 for (uint32_t i=0; i<_nb_inst_issue; i++)403 delete [] _table_issue_type [i];404 delete [] _table_issue_type;405 406 for (uint32_t i=0; i<_nb_rename_unit; i++)407 delete [] _table_routing [i];408 delete [] _table_routing;404 // for (uint32_t i=0; i<_nb_inst_issue; i++) 405 // delete [] _table_issue_type [i]; 406 // delete [] _table_issue_type; 407 408 // for (uint32_t i=0; i<_nb_rename_unit; i++) 409 // delete [] _table_routing [i]; 410 // delete [] _table_routing; 409 411 410 412 delete [] _link_rename_unit_with_front_end; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/SelfTest/src/test.cpp
r112 r117 52 52 sc_clock * in_CLOCK = new sc_clock ("clock", 1.0, 0.5); 53 53 sc_signal<Tcontrol_t> * in_NRESET = new sc_signal<Tcontrol_t> ("NRESET"); 54 55 sc_signal<Tcontrol_t > *** in_RENAME_VAL ; 56 sc_signal<Tcontrol_t > *** out_RENAME_ACK ; 57 sc_signal<Tcontext_t > *** in_RENAME_FRONT_END_ID ; 58 sc_signal<Tcontext_t > *** in_RENAME_CONTEXT_ID ; 59 sc_signal<Tdepth_t > *** in_RENAME_DEPTH ; 60 sc_signal<Ttype_t > *** in_RENAME_TYPE ; 61 sc_signal<Toperation_t > *** in_RENAME_OPERATION ; 62 sc_signal<Tcontrol_t > *** in_RENAME_NO_EXECUTE ; 63 sc_signal<Tcontrol_t > *** in_RENAME_IS_DELAY_SLOT ; 64 sc_signal<Taddress_t > *** in_RENAME_ADDRESS ; 65 sc_signal<Taddress_t > *** in_RENAME_ADDRESS_NEXT ; 66 sc_signal<Tcontrol_t > *** in_RENAME_HAS_IMMEDIAT ; 67 sc_signal<Tgeneral_data_t > *** in_RENAME_IMMEDIAT ; 68 sc_signal<Tcontrol_t > *** in_RENAME_READ_RA ; 69 sc_signal<Tgeneral_address_t> *** in_RENAME_NUM_REG_RA ; 70 sc_signal<Tcontrol_t > *** in_RENAME_READ_RB ; 71 sc_signal<Tgeneral_address_t> *** in_RENAME_NUM_REG_RB ; 72 sc_signal<Tcontrol_t > *** in_RENAME_READ_RC ; 73 sc_signal<Tspecial_address_t> *** in_RENAME_NUM_REG_RC ; 74 sc_signal<Tcontrol_t > *** in_RENAME_WRITE_RD ; 75 sc_signal<Tgeneral_address_t> *** in_RENAME_NUM_REG_RD ; 76 sc_signal<Tcontrol_t > *** in_RENAME_WRITE_RE ; 77 sc_signal<Tspecial_address_t> *** in_RENAME_NUM_REG_RE ; 78 sc_signal<Texception_t > *** in_RENAME_EXCEPTION_USE ; 79 sc_signal<Texception_t > *** in_RENAME_EXCEPTION ; 80 81 sc_signal<Tcontrol_t > ** out_ISSUE_VAL ; 82 sc_signal<Tcontrol_t > ** in_ISSUE_ACK ; 83 sc_signal<Tcontext_t > ** out_ISSUE_FRONT_END_ID ; 84 sc_signal<Tcontext_t > ** out_ISSUE_CONTEXT_ID ; 85 sc_signal<Tpacket_t > ** out_ISSUE_PACKET_ID ; 86 sc_signal<Ttype_t > ** out_ISSUE_TYPE ; 87 sc_signal<Toperation_t > ** out_ISSUE_OPERATION ; 88 sc_signal<Tlsq_ptr_t > ** out_ISSUE_STORE_QUEUE_PTR_WRITE ; 89 sc_signal<Tlsq_ptr_t > ** out_ISSUE_LOAD_QUEUE_PTR_WRITE ; 90 sc_signal<Tcontrol_t > ** out_ISSUE_HAS_IMMEDIAT ; 91 sc_signal<Tgeneral_data_t > ** out_ISSUE_IMMEDIAT ; 92 sc_signal<Tcontrol_t > ** out_ISSUE_READ_RA ; 93 sc_signal<Tgeneral_address_t> ** out_ISSUE_NUM_REG_RA ; 94 sc_signal<Tcontrol_t > ** out_ISSUE_READ_RB ; 95 sc_signal<Tgeneral_address_t> ** out_ISSUE_NUM_REG_RB ; 96 sc_signal<Tcontrol_t > ** out_ISSUE_READ_RC ; 97 sc_signal<Tspecial_address_t> ** out_ISSUE_NUM_REG_RC ; 98 sc_signal<Tcontrol_t > ** out_ISSUE_WRITE_RD ; 99 sc_signal<Tgeneral_address_t> ** out_ISSUE_NUM_REG_RD ; 100 sc_signal<Tcontrol_t > ** out_ISSUE_WRITE_RE ; 101 sc_signal<Tspecial_address_t> ** out_ISSUE_NUM_REG_RE ; 102 103 sc_signal<Tcontrol_t > *** in_EXECUTE_LOOP_VAL ; 104 sc_signal<Tcontrol_t > *** out_EXECUTE_LOOP_ACK ; 105 sc_signal<Tcontext_t > *** in_EXECUTE_LOOP_FRONT_END_ID ; 106 sc_signal<Tcontext_t > *** in_EXECUTE_LOOP_CONTEXT_ID ; 107 sc_signal<Tpacket_t > *** in_EXECUTE_LOOP_PACKET_ID ; 108 //sc_signal<Ttype_t > *** in_EXECUTE_LOOP_TYPE ; 109 //sc_signal<Toperation_t > *** in_EXECUTE_LOOP_OPERATION ; 110 sc_signal<Tspecial_data_t > *** in_EXECUTE_LOOP_FLAGS ; 111 sc_signal<Texception_t > *** in_EXECUTE_LOOP_EXCEPTION ; 112 sc_signal<Tcontrol_t > *** in_EXECUTE_LOOP_NO_SEQUENCE ; 113 sc_signal<Taddress_t > *** in_EXECUTE_LOOP_ADDRESS ; 114 sc_signal<Tgeneral_data_t > *** in_EXECUTE_LOOP_DATA ; 115 116 sc_signal<Tcontrol_t > ** out_INSERT_VAL ; 117 sc_signal<Tcontrol_t > ** in_INSERT_ACK ; 118 sc_signal<Tcontrol_t > ** out_INSERT_RD_USE ; 119 sc_signal<Tgeneral_address_t> ** out_INSERT_RD_NUM_REG ; 120 sc_signal<Tcontrol_t > ** out_INSERT_RE_USE ; 121 sc_signal<Tspecial_address_t> ** out_INSERT_RE_NUM_REG ; 122 123 //sc_signal<Tcontrol_t > ** out_RETIRE_VAL ; 124 //sc_signal<Tcontrol_t > ** in_RETIRE_ACK ; 125 //sc_signal<Tcontrol_t > ** out_RETIRE_RD_OLD_USE ; 126 //sc_signal<Tgeneral_address_t> ** out_RETIRE_RD_OLD_NUM_REG ; 127 //sc_signal<Tcontrol_t > ** out_RETIRE_RD_NEW_USE ; 128 //sc_signal<Tgeneral_address_t> ** out_RETIRE_RD_NEW_NUM_REG ; 129 //sc_signal<Tcontrol_t > ** out_RETIRE_RE_OLD_USE ; 130 //sc_signal<Tspecial_address_t> ** out_RETIRE_RE_OLD_NUM_REG ; 131 //sc_signal<Tcontrol_t > ** out_RETIRE_RE_NEW_USE ; 132 //sc_signal<Tspecial_address_t> ** out_RETIRE_RE_NEW_NUM_REG ; 133 134 sc_signal<Tcontrol_t > ** out_BRANCH_COMPLETE_VAL ; 135 sc_signal<Tcontrol_t > ** in_BRANCH_COMPLETE_ACK ; 136 sc_signal<Tcontext_t > ** out_BRANCH_COMPLETE_FRONT_END_ID ; 137 sc_signal<Tcontext_t > ** out_BRANCH_COMPLETE_CONTEXT_ID ; 138 sc_signal<Tdepth_t > ** out_BRANCH_COMPLETE_DEPTH ; 139 sc_signal<Taddress_t > ** out_BRANCH_COMPLETE_ADDRESS ; 140 sc_signal<Tcontrol_t > ** out_BRANCH_COMPLETE_NO_SEQUENCE ; 141 sc_signal<Tcontrol_t > ** in_BRANCH_COMPLETE_MISS_PREDICTION ; 142 143 sc_signal<Tcontrol_t > * out_COMMIT_EVENT_VAL ; 144 sc_signal<Tcontrol_t > * in_COMMIT_EVENT_ACK ; 145 sc_signal<Tcontext_t > * out_COMMIT_EVENT_FRONT_END_ID ; 146 sc_signal<Tcontext_t > * out_COMMIT_EVENT_CONTEXT_ID ; 147 sc_signal<Tdepth_t > * out_COMMIT_EVENT_DEPTH ; 148 sc_signal<Tevent_type_t > * out_COMMIT_EVENT_TYPE ; 149 sc_signal<Tcontrol_t > * out_COMMIT_EVENT_IS_DELAY_SLOT ; 150 sc_signal<Taddress_t > * out_COMMIT_EVENT_ADDRESS ; 151 sc_signal<Tcontrol_t > * out_COMMIT_EVENT_ADDRESS_EPCR_VAL ; 152 sc_signal<Taddress_t > * out_COMMIT_EVENT_ADDRESS_EPCR ; 153 sc_signal<Tcontrol_t > * out_COMMIT_EVENT_ADDRESS_EEAR_VAL ; 154 sc_signal<Tgeneral_data_t > * out_COMMIT_EVENT_ADDRESS_EEAR ; 155 156 sc_signal<Tcontrol_t > *** in_EVENT_VAL ; 157 sc_signal<Tcontrol_t > *** out_EVENT_ACK ; 158 sc_signal<Taddress_t > *** in_EVENT_ADDRESS ; 159 sc_signal<Taddress_t > *** in_EVENT_ADDRESS_NEXT ; 160 sc_signal<Tcontrol_t > *** in_EVENT_ADDRESS_NEXT_VAL ; 161 sc_signal<Tcontrol_t > *** in_EVENT_IS_DS_TAKE ; 162 163 sc_signal<Tcontrol_t > *** in_SPR_EVENT_VAL ; 164 sc_signal<Tcontrol_t > *** out_SPR_EVENT_ACK ; 165 sc_signal<Tspr_t > *** in_SPR_EVENT_EPCR ; 166 sc_signal<Tcontrol_t > *** in_SPR_EVENT_EEAR_WEN ; 167 sc_signal<Tspr_t > *** in_SPR_EVENT_EEAR ; 168 sc_signal<Tcontrol_t > *** in_SPR_EVENT_SR_DSX ; 169 sc_signal<Tcontrol_t > *** in_SPR_EVENT_SR_TO_ESR ; 170 171 sc_signal<Tcounter_t > *** out_NB_INST_COMMIT_ALL ; 172 sc_signal<Tcounter_t > *** out_NB_INST_COMMIT_MEM ; 173 sc_signal<Tcounter_t > *** in_NB_INST_DECOD_ALL ; 174 175 sc_signal<Tdepth_t > *** in_DEPTH_MIN ; 176 sc_signal<Tdepth_t > *** in_DEPTH_MAX ; 177 sc_signal<Tcontrol_t > *** in_DEPTH_FULL ; 178 179 sc_signal<Tcontrol_t > *** out_SPR_SR_IEE ; 180 sc_signal<Tcontrol_t > *** out_SPR_SR_EPH ; 54 181 55 182 ALLOC2_SC_SIGNAL( in_RENAME_VAL ," in_RENAME_VAL ",Tcontrol_t ,_param->_nb_front_end,_param->_nb_inst_decod[it1]);
Note: See TracChangeset
for help on using the changeset viewer.