Changeset 55 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/SelfTest/src
- Timestamp:
- Sep 24, 2007, 2:00:35 PM (17 years ago)
- Location:
- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/SelfTest/src
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/SelfTest/src/main.cpp
r54 r55 14 14 cerr << "<Usage> " << argv[0] << " name_instance list_params" << endl 15 15 << "list_params is :" << endl 16 << " - size_ read_queue(unsigned int)" << endl16 << " - size_queue (unsigned int)" << endl 17 17 << " - nb_context (unsigned int)" << endl 18 18 << " - nb_packet (unsigned int)" << endl … … 44 44 45 45 const string name = argv[1]; 46 const uint32_t size_ read_queue= atoi(argv[ 2]);46 const uint32_t size_queue = atoi(argv[ 2]); 47 47 const uint32_t nb_context = atoi(argv[ 3]); 48 48 const uint32_t nb_packet = atoi(argv[ 4]); … … 59 59 { 60 60 morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_read_unit::read_unit::read_queue::Parameters * param = new morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_read_unit::read_unit::read_queue::Parameters 61 ( size_ read_queue61 ( size_queue 62 62 ,nb_context 63 63 ,nb_packet -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/SelfTest/src/test.cpp
r54 r55 11 11 #include "Common/include/Test.h" 12 12 13 #define NB_ITERATION 51214 #define CYCLE_MAX (1 28*NB_ITERATION)13 #define NB_ITERATION 64 14 #define CYCLE_MAX (1024*NB_ITERATION) 15 15 16 16 #define LABEL(str) \ … … 71 71 sc_signal<Tcontext_t > * READ_QUEUE_IN_CONTEXT_ID = new sc_signal<Tcontext_t > ("READ_QUEUE_IN_CONTEXT_ID "); 72 72 sc_signal<Tpacket_t > * READ_QUEUE_IN_PACKET_ID = new sc_signal<Tpacket_t > ("READ_QUEUE_IN_PACKET_ID "); 73 sc_signal< uint32_t > * READ_QUEUE_IN_OPERATION = new sc_signal<uint32_t> ("READ_QUEUE_IN_OPERATION ");73 sc_signal<Toperation_t > * READ_QUEUE_IN_OPERATION = new sc_signal<Toperation_t > ("READ_QUEUE_IN_OPERATION "); 74 74 sc_signal<Ttype_t > * READ_QUEUE_IN_TYPE = new sc_signal<Ttype_t > ("READ_QUEUE_IN_TYPE "); 75 75 sc_signal<Tcontrol_t > * READ_QUEUE_IN_HAS_IMMEDIAT = new sc_signal<Tcontrol_t > ("READ_QUEUE_IN_HAS_IMMEDIAT"); … … 92 92 sc_signal<Tcontext_t > * READ_QUEUE_OUT_CONTEXT_ID = new sc_signal<Tcontext_t > ("READ_QUEUE_OUT_CONTEXT_ID "); 93 93 sc_signal<Tpacket_t > * READ_QUEUE_OUT_PACKET_ID = new sc_signal<Tpacket_t > ("READ_QUEUE_OUT_PACKET_ID "); 94 sc_signal< uint32_t > * READ_QUEUE_OUT_OPERATION = new sc_signal<uint32_t> ("READ_QUEUE_OUT_OPERATION ");94 sc_signal<Toperation_t > * READ_QUEUE_OUT_OPERATION = new sc_signal<Toperation_t > ("READ_QUEUE_OUT_OPERATION "); 95 95 sc_signal<Ttype_t > * READ_QUEUE_OUT_TYPE = new sc_signal<Ttype_t > ("READ_QUEUE_OUT_TYPE "); 96 96 sc_signal<Tcontrol_t > * READ_QUEUE_OUT_HAS_IMMEDIAT= new sc_signal<Tcontrol_t > ("READ_QUEUE_OUT_HAS_IMMEDIAT"); … … 163 163 } 164 164 165 // ~~~~~[ Interface " bypass_gpr_write" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~166 167 sc_signal<Tcontrol_t > ** BYPASS_GPR_WRITE_VAL = new sc_signal<Tcontrol_t > * [_param->_nb_gpr_write];168 sc_signal<Tcontext_t > ** BYPASS_GPR_WRITE_CONTEXT_ID = new sc_signal<Tcontext_t > * [_param->_nb_gpr_write];169 sc_signal<Tgeneral_address_t > ** BYPASS_GPR_WRITE_NUM_REG = new sc_signal<Tgeneral_address_t > * [_param->_nb_gpr_write];170 sc_signal<Tgeneral_data_t > ** BYPASS_GPR_WRITE_DATA = new sc_signal<Tgeneral_data_t > * [_param->_nb_gpr_write];165 // ~~~~~[ Interface "gpr_write" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 166 167 sc_signal<Tcontrol_t > ** GPR_WRITE_VAL = new sc_signal<Tcontrol_t > * [_param->_nb_gpr_write]; 168 sc_signal<Tcontext_t > ** GPR_WRITE_CONTEXT_ID = new sc_signal<Tcontext_t > * [_param->_nb_gpr_write]; 169 sc_signal<Tgeneral_address_t > ** GPR_WRITE_NUM_REG = new sc_signal<Tgeneral_address_t > * [_param->_nb_gpr_write]; 170 sc_signal<Tgeneral_data_t > ** GPR_WRITE_DATA = new sc_signal<Tgeneral_data_t > * [_param->_nb_gpr_write]; 171 171 172 172 for (uint32_t i=0; i<_param->_nb_gpr_write; i++) 173 173 { 174 rename = " BYPASS_GPR_WRITE_"+toString(i)+"_VAL" ;175 BYPASS_GPR_WRITE_VAL [i] = new sc_signal<Tcontrol_t > (rename.c_str());176 rename = " BYPASS_GPR_WRITE_"+toString(i)+"_CONTEXT_ID";177 BYPASS_GPR_WRITE_CONTEXT_ID [i] = new sc_signal<Tcontext_t > (rename.c_str());178 rename = " BYPASS_GPR_WRITE_"+toString(i)+"_NUM_REG" ;179 BYPASS_GPR_WRITE_NUM_REG [i] = new sc_signal<Tgeneral_address_t > (rename.c_str());180 rename = " BYPASS_GPR_WRITE_"+toString(i)+"_DATA" ;181 BYPASS_GPR_WRITE_DATA [i] = new sc_signal<Tgeneral_data_t > (rename.c_str());182 } 183 184 // ~~~~~[ Interface " bypass_spr_write" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~185 186 sc_signal<Tcontrol_t > ** BYPASS_SPR_WRITE_VAL = new sc_signal<Tcontrol_t > * [_param->_nb_spr_write];187 sc_signal<Tcontext_t > ** BYPASS_SPR_WRITE_CONTEXT_ID = new sc_signal<Tcontext_t > * [_param->_nb_spr_write];188 sc_signal<Tspecial_address_t > ** BYPASS_SPR_WRITE_NUM_REG = new sc_signal<Tspecial_address_t > * [_param->_nb_spr_write];189 sc_signal<Tspecial_data_t > ** BYPASS_SPR_WRITE_DATA = new sc_signal<Tspecial_data_t > * [_param->_nb_spr_write];174 rename = "GPR_WRITE_"+toString(i)+"_VAL" ; 175 GPR_WRITE_VAL [i] = new sc_signal<Tcontrol_t > (rename.c_str()); 176 rename = "GPR_WRITE_"+toString(i)+"_CONTEXT_ID"; 177 GPR_WRITE_CONTEXT_ID [i] = new sc_signal<Tcontext_t > (rename.c_str()); 178 rename = "GPR_WRITE_"+toString(i)+"_NUM_REG" ; 179 GPR_WRITE_NUM_REG [i] = new sc_signal<Tgeneral_address_t > (rename.c_str()); 180 rename = "GPR_WRITE_"+toString(i)+"_DATA" ; 181 GPR_WRITE_DATA [i] = new sc_signal<Tgeneral_data_t > (rename.c_str()); 182 } 183 184 // ~~~~~[ Interface "spr_write" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 185 186 sc_signal<Tcontrol_t > ** SPR_WRITE_VAL = new sc_signal<Tcontrol_t > * [_param->_nb_spr_write]; 187 sc_signal<Tcontext_t > ** SPR_WRITE_CONTEXT_ID = new sc_signal<Tcontext_t > * [_param->_nb_spr_write]; 188 sc_signal<Tspecial_address_t > ** SPR_WRITE_NUM_REG = new sc_signal<Tspecial_address_t > * [_param->_nb_spr_write]; 189 sc_signal<Tspecial_data_t > ** SPR_WRITE_DATA = new sc_signal<Tspecial_data_t > * [_param->_nb_spr_write]; 190 190 191 191 for (uint32_t i=0; i<_param->_nb_spr_write; i++) 192 192 { 193 rename = " BYPASS_SPR_WRITE_"+toString(i)+"_VAL" ;194 BYPASS_SPR_WRITE_VAL [i] = new sc_signal<Tcontrol_t > (rename.c_str());195 rename = " BYPASS_SPR_WRITE_"+toString(i)+"_CONTEXT_ID";196 BYPASS_SPR_WRITE_CONTEXT_ID [i] = new sc_signal<Tcontext_t > (rename.c_str());197 rename = " BYPASS_SPR_WRITE_"+toString(i)+"_NUM_REG" ;198 BYPASS_SPR_WRITE_NUM_REG [i] = new sc_signal<Tspecial_address_t > (rename.c_str());199 rename = " BYPASS_SPR_WRITE_"+toString(i)+"_DATA" ;200 BYPASS_SPR_WRITE_DATA [i] = new sc_signal<Tspecial_data_t > (rename.c_str());193 rename = "SPR_WRITE_"+toString(i)+"_VAL" ; 194 SPR_WRITE_VAL [i] = new sc_signal<Tcontrol_t > (rename.c_str()); 195 rename = "SPR_WRITE_"+toString(i)+"_CONTEXT_ID"; 196 SPR_WRITE_CONTEXT_ID [i] = new sc_signal<Tcontext_t > (rename.c_str()); 197 rename = "SPR_WRITE_"+toString(i)+"_NUM_REG" ; 198 SPR_WRITE_NUM_REG [i] = new sc_signal<Tspecial_address_t > (rename.c_str()); 199 rename = "SPR_WRITE_"+toString(i)+"_DATA" ; 200 SPR_WRITE_DATA [i] = new sc_signal<Tspecial_data_t > (rename.c_str()); 201 201 } 202 202 … … 277 277 for (uint32_t i=0; i<_param->_nb_gpr_write; i++) 278 278 { 279 (*(_Read_queue-> in_ BYPASS_GPR_WRITE_VAL [i])) (*(BYPASS_GPR_WRITE_VAL [i]));280 (*(_Read_queue-> in_ BYPASS_GPR_WRITE_CONTEXT_ID [i])) (*(BYPASS_GPR_WRITE_CONTEXT_ID [i]));281 (*(_Read_queue-> in_ BYPASS_GPR_WRITE_NUM_REG [i])) (*(BYPASS_GPR_WRITE_NUM_REG [i]));282 (*(_Read_queue-> in_ BYPASS_GPR_WRITE_DATA [i])) (*(BYPASS_GPR_WRITE_DATA [i]));279 (*(_Read_queue-> in_GPR_WRITE_VAL [i])) (*(GPR_WRITE_VAL [i])); 280 (*(_Read_queue-> in_GPR_WRITE_CONTEXT_ID [i])) (*(GPR_WRITE_CONTEXT_ID [i])); 281 (*(_Read_queue-> in_GPR_WRITE_NUM_REG [i])) (*(GPR_WRITE_NUM_REG [i])); 282 (*(_Read_queue-> in_GPR_WRITE_DATA [i])) (*(GPR_WRITE_DATA [i])); 283 283 } 284 284 285 285 for (uint32_t i=0; i<_param->_nb_spr_write; i++) 286 286 { 287 (*(_Read_queue-> in_ BYPASS_SPR_WRITE_VAL [i])) (*(BYPASS_SPR_WRITE_VAL [i]));288 (*(_Read_queue-> in_ BYPASS_SPR_WRITE_CONTEXT_ID [i])) (*(BYPASS_SPR_WRITE_CONTEXT_ID [i]));289 (*(_Read_queue-> in_ BYPASS_SPR_WRITE_NUM_REG [i])) (*(BYPASS_SPR_WRITE_NUM_REG [i]));290 (*(_Read_queue-> in_ BYPASS_SPR_WRITE_DATA [i])) (*(BYPASS_SPR_WRITE_DATA [i]));287 (*(_Read_queue-> in_SPR_WRITE_VAL [i])) (*(SPR_WRITE_VAL [i])); 288 (*(_Read_queue-> in_SPR_WRITE_CONTEXT_ID [i])) (*(SPR_WRITE_CONTEXT_ID [i])); 289 (*(_Read_queue-> in_SPR_WRITE_NUM_REG [i])) (*(SPR_WRITE_NUM_REG [i])); 290 (*(_Read_queue-> in_SPR_WRITE_DATA [i])) (*(SPR_WRITE_DATA [i])); 291 291 } 292 292 … … 321 321 322 322 // for (uint32_t i=0; i<_param->_nb_gpr_write; i++) 323 // BYPASS_GPR_WRITE_VAL [i]->write (0);323 // GPR_WRITE_VAL [i]->write (0); 324 324 // for (uint32_t i=0; i<_param->_nb_spr_write; i++) 325 // BYPASS_SPR_WRITE_VAL [i]->write (0);325 // SPR_WRITE_VAL [i]->write (0); 326 326 327 327 NRESET->write(0); … … 337 337 int32_t percent_transaction_queue_out = (rand()%50)+25; 338 338 int32_t percent_registerfile_valid = (rand()%50)+25; 339 int32_t percent_transaction_registerfile = (rand()% 50)+25;339 int32_t percent_transaction_registerfile = (rand()%74)+25; 340 340 int32_t percent_transaction_bypass = (rand()%50)+25; 341 341 … … 368 368 } 369 369 // End initialisation ....... 370 370 371 371 uint32_t request_in = 0; 372 372 uint32_t request_out = 0; … … 437 437 Tgeneral_data_t data = rand()%(1<<_param->_size_general_data); 438 438 439 BYPASS_GPR_WRITE_VAL [i]->write(val);440 BYPASS_GPR_WRITE_CONTEXT_ID [i]->write(context);441 BYPASS_GPR_WRITE_NUM_REG [i]->write(num_reg);442 BYPASS_GPR_WRITE_DATA [i]->write(data);439 GPR_WRITE_VAL [i]->write(val); 440 GPR_WRITE_CONTEXT_ID [i]->write(context); 441 GPR_WRITE_NUM_REG [i]->write(num_reg); 442 GPR_WRITE_DATA [i]->write(data); 443 443 444 444 if (val) … … 455 455 Tspecial_data_t data = rand()%(1<<_param->_size_special_data); 456 456 457 BYPASS_SPR_WRITE_VAL [i]->write(val);458 BYPASS_SPR_WRITE_CONTEXT_ID [i]->write(context);459 BYPASS_SPR_WRITE_NUM_REG [i]->write(num_reg);460 BYPASS_SPR_WRITE_DATA [i]->write(data);457 SPR_WRITE_VAL [i]->write(val); 458 SPR_WRITE_CONTEXT_ID [i]->write(context); 459 SPR_WRITE_NUM_REG [i]->write(num_reg); 460 SPR_WRITE_DATA [i]->write(data); 461 461 462 462 if (val) … … 483 483 484 484 LABEL("Accepted READ_QUEUE_OUT ["+toString(packet_id)+"]"); 485 485 486 486 TEST(uint32_t , packet_id ,request_out); 487 487 … … 579 579 delete [] SPR_READ_DATA_VAL; 580 580 581 delete [] BYPASS_GPR_WRITE_VAL ;582 delete [] BYPASS_GPR_WRITE_CONTEXT_ID ;583 delete [] BYPASS_GPR_WRITE_NUM_REG ;584 delete [] BYPASS_GPR_WRITE_DATA ;585 586 delete [] BYPASS_SPR_WRITE_VAL ;587 delete [] BYPASS_SPR_WRITE_CONTEXT_ID ;588 delete [] BYPASS_SPR_WRITE_NUM_REG ;589 delete [] BYPASS_SPR_WRITE_DATA ;581 delete [] GPR_WRITE_VAL ; 582 delete [] GPR_WRITE_CONTEXT_ID ; 583 delete [] GPR_WRITE_NUM_REG ; 584 delete [] GPR_WRITE_DATA ; 585 586 delete [] SPR_WRITE_VAL ; 587 delete [] SPR_WRITE_CONTEXT_ID ; 588 delete [] SPR_WRITE_NUM_REG ; 589 delete [] SPR_WRITE_DATA ; 590 590 #endif 591 591
Note: See TracChangeset
for help on using the changeset viewer.