Changeset 88 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/SelfTest/src/test.cpp
- Timestamp:
- Dec 10, 2008, 7:31:39 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/SelfTest/src/test.cpp
r82 r88 7 7 */ 8 8 9 #define NB_ITERATION 1 9 #define NB_ITERATION 16 10 10 #define CYCLE_MAX (128*NB_ITERATION) 11 11 … … 27 27 public : Tcontrol_t _no_sequence ; 28 28 public : Tgeneral_data_t _address ; 29 public : Tgeneral_data_t _data ; 29 30 30 31 public : entry_t (Tcontext_t context_id , … … 37 38 Texception_t exception , 38 39 Tcontrol_t no_sequence , 39 Tgeneral_data_t address ) 40 Tgeneral_data_t address , 41 Tgeneral_data_t data ) 40 42 { 41 43 _context_id = context_id ; … … 49 51 _no_sequence = no_sequence ; 50 52 _address = address ; 53 _data = data ; 51 54 }; 52 55 … … 63 66 << " * _exception : " << toString(x._exception ) << std::endl 64 67 << " * _no_sequence : " << toString(x._no_sequence ) << std::endl 65 << " * _address : " << toString(x._address ) << std::endl; 68 << " * _address : " << toString(x._address ) << std::endl 69 << " * _data : " << toString(x._data ) << std::endl; 66 70 67 71 return output_stream; … … 80 84 morpheo::behavioural::Parameters_Statistics * _parameters_statistics = new morpheo::behavioural::Parameters_Statistics (5,50); 81 85 #endif 86 87 Tusage_t _usage = USE_ALL; 88 89 // _usage = usage_unset(_usage,USE_SYSTEMC ); 90 // _usage = usage_unset(_usage,USE_VHDL ); 91 // _usage = usage_unset(_usage,USE_VHDL_TESTBENCH ); 92 // _usage = usage_unset(_usage,USE_VHDL_TESTBENCH_ASSERT); 93 // _usage = usage_unset(_usage,USE_POSITION ); 94 // _usage = usage_unset(_usage,USE_STATISTICS ); 95 // _usage = usage_unset(_usage,USE_INFORMATION ); 82 96 83 97 Execute_queue * _Execute_queue = new Execute_queue … … 87 101 #endif 88 102 _param, 89 USE_ALL);103 _usage); 90 104 91 105 #ifdef SYSTEMC … … 110 124 ALLOC_SC_SIGNAL ( in_EXECUTE_QUEUE_IN_NO_SEQUENCE ," in_EXECUTE_QUEUE_IN_NO_SEQUENCE" , Tcontrol_t ); 111 125 ALLOC_SC_SIGNAL ( in_EXECUTE_QUEUE_IN_ADDRESS ," in_EXECUTE_QUEUE_IN_ADDRESS" , Tgeneral_data_t ); 126 ALLOC_SC_SIGNAL ( in_EXECUTE_QUEUE_IN_DATA ," in_EXECUTE_QUEUE_IN_DATA" , Tgeneral_data_t ); 112 127 ALLOC_SC_SIGNAL (out_EXECUTE_QUEUE_OUT_VAL ,"out_EXECUTE_QUEUE_OUT_VAL" , Tcontrol_t ); 113 128 ALLOC_SC_SIGNAL ( in_EXECUTE_QUEUE_OUT_ACK ," in_EXECUTE_QUEUE_OUT_ACK" , Tcontrol_t ); … … 122 137 ALLOC_SC_SIGNAL (out_EXECUTE_QUEUE_OUT_NO_SEQUENCE ,"out_EXECUTE_QUEUE_OUT_NO_SEQUENCE" , Tcontrol_t ); 123 138 ALLOC_SC_SIGNAL (out_EXECUTE_QUEUE_OUT_ADDRESS ,"out_EXECUTE_QUEUE_OUT_ADDRESS" , Tgeneral_data_t ); 139 ALLOC_SC_SIGNAL (out_EXECUTE_QUEUE_OUT_DATA ,"out_EXECUTE_QUEUE_OUT_DATA" , Tgeneral_data_t ); 124 140 125 141 … … 141 157 if (_param->_have_port_ooo_engine_id) 142 158 INSTANCE_SC_SIGNAL (_Execute_queue, in_EXECUTE_QUEUE_IN_OOO_ENGINE_ID ); 143 if (_param->_have_port_ packet_id)159 if (_param->_have_port_rob_ptr) 144 160 INSTANCE_SC_SIGNAL (_Execute_queue, in_EXECUTE_QUEUE_IN_PACKET_ID ); 145 161 //INSTANCE_SC_SIGNAL (_Execute_queue, in_EXECUTE_QUEUE_IN_OPERATION ); … … 149 165 INSTANCE_SC_SIGNAL (_Execute_queue, in_EXECUTE_QUEUE_IN_NO_SEQUENCE ); 150 166 INSTANCE_SC_SIGNAL (_Execute_queue, in_EXECUTE_QUEUE_IN_ADDRESS ); 167 INSTANCE_SC_SIGNAL (_Execute_queue, in_EXECUTE_QUEUE_IN_DATA ); 151 168 152 169 INSTANCE_SC_SIGNAL (_Execute_queue, out_EXECUTE_QUEUE_OUT_VAL ); … … 158 175 if (_param->_have_port_ooo_engine_id) 159 176 INSTANCE_SC_SIGNAL (_Execute_queue, out_EXECUTE_QUEUE_OUT_OOO_ENGINE_ID); 160 if (_param->_have_port_ packet_id)177 if (_param->_have_port_rob_ptr) 161 178 INSTANCE_SC_SIGNAL (_Execute_queue, out_EXECUTE_QUEUE_OUT_PACKET_ID ); 162 179 //INSTANCE_SC_SIGNAL (_Execute_queue, out_EXECUTE_QUEUE_OUT_OPERATION ); … … 166 183 INSTANCE_SC_SIGNAL (_Execute_queue, out_EXECUTE_QUEUE_OUT_NO_SEQUENCE ); 167 184 INSTANCE_SC_SIGNAL (_Execute_queue, out_EXECUTE_QUEUE_OUT_ADDRESS ); 185 INSTANCE_SC_SIGNAL (_Execute_queue, out_EXECUTE_QUEUE_OUT_DATA ); 168 186 169 187 msg(_("<%s> : Start Simulation ............\n"),name.c_str()); … … 212 230 range<Texception_t >(rand(),_param->_size_exception ), 213 231 range<Tcontrol_t >(rand(),1 ), 232 range<Tgeneral_data_t >(rand(),_param->_size_general_data ), 214 233 range<Tgeneral_data_t >(rand(),_param->_size_general_data )); 215 234 } … … 236 255 in_EXECUTE_QUEUE_IN_NO_SEQUENCE ->write(request [nb_request_in]->_no_sequence ); 237 256 in_EXECUTE_QUEUE_IN_ADDRESS ->write(request [nb_request_in]->_address ); 257 in_EXECUTE_QUEUE_IN_DATA ->write(request [nb_request_in]->_data ); 238 258 } 239 259 in_EXECUTE_QUEUE_OUT_ACK ->write((rand()%100)<percent_transaction_execute_queue_out); … … 261 281 { 262 282 Tcontext_t packet; 263 if (_param->_have_port_ packet_id)283 if (_param->_have_port_rob_ptr) 264 284 packet = out_EXECUTE_QUEUE_OUT_PACKET_ID->read(); 265 285 else … … 281 301 TEST(Tcontrol_t , out_EXECUTE_QUEUE_OUT_NO_SEQUENCE ->read(), request [packet]->_no_sequence ); 282 302 TEST(Tgeneral_data_t, out_EXECUTE_QUEUE_OUT_ADDRESS ->read(), request [packet]->_address ); 303 TEST(Tgeneral_data_t, out_EXECUTE_QUEUE_OUT_DATA ->read(), request [packet]->_data ); 283 304 284 305 nb_request_out ++; … … 313 334 delete in_EXECUTE_QUEUE_IN_NO_SEQUENCE ; 314 335 delete in_EXECUTE_QUEUE_IN_ADDRESS ; 336 delete in_EXECUTE_QUEUE_IN_DATA ; 315 337 316 338 delete out_EXECUTE_QUEUE_OUT_VAL ; … … 326 348 delete out_EXECUTE_QUEUE_OUT_NO_SEQUENCE ; 327 349 delete out_EXECUTE_QUEUE_OUT_ADDRESS ; 350 delete out_EXECUTE_QUEUE_OUT_DATA ; 328 351 #endif 329 352
Note: See TracChangeset
for help on using the changeset viewer.