Changeset 128 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/SelfTest/src
- Timestamp:
- Jun 26, 2009, 10:43:23 AM (15 years ago)
- Location:
- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/SelfTest/src
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/SelfTest/src/main.cpp
r115 r128 7 7 8 8 #include "Behavioural/Core/Multi_Execute_loop/Execute_loop/SelfTest/include/test.h" 9 #include "Behavioural/include/Allocation.h" 9 10 10 11 #define NB_PARAMS 18 … … 309 310 morpheo::behavioural::custom::custom_information_t (*get_custom_information) (void) = &(morpheo::behavioural::custom::default_get_custom_information); 310 311 312 bool * num_thread_valid; 313 ALLOC1(num_thread_valid ,bool, nb_thread); 314 for (uint32_t i=0; i<nb_thread; ++i) 315 num_thread_valid [i] = true; 316 311 317 try 312 318 { … … 367 373 is_load_store_unit , //[nb_execute_unit] 368 374 translate_num_execute_unit , //[nb_execute_unit] 375 num_thread_valid , //[nb_thread] 369 376 true // is_toplevel 370 377 ); 371 378 372 379 test (name,param); 380 381 delete param; 373 382 } 374 383 catch (morpheo::ErrorMorpheo & error) … … 383 392 } 384 393 394 for (uint32_t i=0; i< nb_functionnal_unit; i++) 395 { 396 for (uint32_t j=0; j< MAX_TYPE; j++) 397 delete [] timing [i][j]; 398 delete [] timing [i]; 399 } 400 delete [] timing; 401 402 DELETE1(translate_num_execute_unit ,_nb_execute_unit); 403 DELETE1(is_load_store_unit ,_nb_execute_unit); 404 405 for (uint32_t i=0; i<nb_execute_unit; i++) 406 delete read_unit_to_execution_unit_table_thread [i]; 407 delete [] read_unit_to_execution_unit_table_thread; 408 409 for (uint32_t i=0; i<nb_read_unit; i++) 410 { 411 for (uint32_t j=0; j<nb_execute_unit; j++) 412 delete [] read_unit_to_execution_unit_table_routing [i][j]; 413 delete [] read_unit_to_execution_unit_table_routing [i]; 414 } 415 delete [] read_unit_to_execution_unit_table_routing; 416 417 for (uint32_t i=0; i<nb_write_unit; i++) 418 delete execution_unit_to_write_unit_table_thread [i]; 419 delete [] execution_unit_to_write_unit_table_thread; 420 421 for (uint32_t i=0; i<nb_execute_unit; i++) 422 { 423 uint32_t nb_execute_unit_port = (i<nb_load_store_unit)?nb_inst_memory[i]:nb_inst_functionnal_unit[i-nb_load_store_unit]; 424 for (uint32_t j=0; j<nb_execute_unit_port; j++) 425 delete [] execution_unit_to_write_unit_table_routing [i][j]; 426 delete [] execution_unit_to_write_unit_table_routing [i]; 427 } 428 delete [] execution_unit_to_write_unit_table_routing; 429 430 DELETE1(nb_inst_retire_rob ,_nb_ooo_engine); 431 DELETE1(nb_inst_insert_rob ,_nb_ooo_engine); 432 DELETE1(nb_special_register ,_nb_ooo_engine); 433 DELETE1(nb_general_register ,_nb_ooo_engine); 434 DELETE1(write_queue_scheme ,_nb_write_unit); 435 DELETE1(nb_bypass_write ,_nb_write_unit); 436 DELETE1(size_execute_queue ,_nb_write_unit); 437 DELETE1(size_write_queue ,_nb_write_unit); 438 DELETE1(nb_inst_memory ,_nb_load_store_unit); 439 DELETE1(nb_cache_port ,_nb_load_store_unit); 440 DELETE1(nb_bypass_memory ,_nb_load_store_unit); 441 DELETE1(speculative_load ,_nb_load_store_unit); 442 DELETE1(nb_port_check ,_nb_load_store_unit); 443 DELETE1(size_speculative_access_queue ,_nb_load_store_unit); 444 DELETE1(size_load_queue ,_nb_load_store_unit); 445 DELETE1(size_store_queue ,_nb_load_store_unit); 446 DELETE1(nb_inst_functionnal_unit ,_nb_functionnal_unit); 447 DELETE1(nb_inst_retire ,_nb_read_unit); 448 DELETE1(size_reservation_station ,_nb_read_unit); 449 DELETE1(size_read_queue ,_nb_read_unit); 450 DELETE1(num_thread_valid , nb_thread); 451 385 452 return (EXIT_SUCCESS); 386 453 } -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/SelfTest/src/test.cpp
r97 r128 50 50 sc_clock * in_CLOCK = new sc_clock ("clock", 1.0, 0.5); 51 51 sc_signal<Tcontrol_t> * in_NRESET = new sc_signal<Tcontrol_t> ("NRESET"); 52 53 sc_signal<Tcontrol_t > ** in_EXECUTE_LOOP_IN_VAL ; 54 sc_signal<Tcontrol_t > ** out_EXECUTE_LOOP_IN_ACK ; 55 sc_signal<Tcontext_t > ** in_EXECUTE_LOOP_IN_CONTEXT_ID ; 56 sc_signal<Tcontext_t > ** in_EXECUTE_LOOP_IN_FRONT_END_ID ; 57 sc_signal<Tcontext_t > ** in_EXECUTE_LOOP_IN_OOO_ENGINE_ID ; 58 sc_signal<Tpacket_t > ** in_EXECUTE_LOOP_IN_PACKET_ID ; 59 sc_signal<Toperation_t > ** in_EXECUTE_LOOP_IN_OPERATION ; 60 sc_signal<Ttype_t > ** in_EXECUTE_LOOP_IN_TYPE ; 61 sc_signal<Tlsq_ptr_t > ** in_EXECUTE_LOOP_IN_STORE_QUEUE_PTR_WRITE; 62 sc_signal<Tlsq_ptr_t > ** in_EXECUTE_LOOP_IN_LOAD_QUEUE_PTR_WRITE ; 63 sc_signal<Tcontrol_t > ** in_EXECUTE_LOOP_IN_HAS_IMMEDIAT ; 64 sc_signal<Tgeneral_data_t > ** in_EXECUTE_LOOP_IN_IMMEDIAT ; 65 sc_signal<Tcontrol_t > ** in_EXECUTE_LOOP_IN_READ_RA ; 66 sc_signal<Tgeneral_address_t> ** in_EXECUTE_LOOP_IN_NUM_REG_RA ; 67 sc_signal<Tcontrol_t > ** in_EXECUTE_LOOP_IN_READ_RB ; 68 sc_signal<Tgeneral_address_t> ** in_EXECUTE_LOOP_IN_NUM_REG_RB ; 69 sc_signal<Tcontrol_t > ** in_EXECUTE_LOOP_IN_READ_RC ; 70 sc_signal<Tspecial_address_t> ** in_EXECUTE_LOOP_IN_NUM_REG_RC ; 71 sc_signal<Tcontrol_t > ** in_EXECUTE_LOOP_IN_WRITE_RD ; 72 sc_signal<Tgeneral_address_t> ** in_EXECUTE_LOOP_IN_NUM_REG_RD ; 73 sc_signal<Tcontrol_t > ** in_EXECUTE_LOOP_IN_WRITE_RE ; 74 sc_signal<Tspecial_address_t> ** in_EXECUTE_LOOP_IN_NUM_REG_RE ; 75 sc_signal<Tcontrol_t > ** out_EXECUTE_LOOP_OUT_VAL ; 76 sc_signal<Tcontrol_t > ** in_EXECUTE_LOOP_OUT_ACK ; 77 sc_signal<Tcontext_t > ** out_EXECUTE_LOOP_OUT_CONTEXT_ID ; 78 sc_signal<Tcontext_t > ** out_EXECUTE_LOOP_OUT_FRONT_END_ID ; 79 sc_signal<Tcontext_t > ** out_EXECUTE_LOOP_OUT_OOO_ENGINE_ID ; 80 sc_signal<Tpacket_t > ** out_EXECUTE_LOOP_OUT_PACKET_ID ; 81 //sc_signal<Toperation_t > ** out_EXECUTE_LOOP_OUT_OPERATION ; 82 //sc_signal<Ttype_t > ** out_EXECUTE_LOOP_OUT_TYPE ; 83 sc_signal<Tspecial_data_t > ** out_EXECUTE_LOOP_OUT_FLAGS ; 84 sc_signal<Texception_t > ** out_EXECUTE_LOOP_OUT_EXCEPTION ; 85 sc_signal<Tcontrol_t > ** out_EXECUTE_LOOP_OUT_NO_SEQUENCE ; 86 sc_signal<Taddress_t > ** out_EXECUTE_LOOP_OUT_ADDRESS ; 87 sc_signal<Tgeneral_data_t > ** out_EXECUTE_LOOP_OUT_DATA ; 88 sc_signal<Tcontrol_t > *** out_DCACHE_REQ_VAL ; 89 sc_signal<Tcontrol_t > *** in_DCACHE_REQ_ACK ; 90 sc_signal<Tcontext_t > *** out_DCACHE_REQ_CONTEXT_ID ; 91 sc_signal<Tpacket_t > *** out_DCACHE_REQ_PACKET_ID ; 92 sc_signal<Tdcache_address_t > *** out_DCACHE_REQ_ADDRESS ; 93 sc_signal<Tdcache_type_t > *** out_DCACHE_REQ_TYPE ; 94 sc_signal<Tdcache_data_t > *** out_DCACHE_REQ_WDATA ; 95 sc_signal<Tcontrol_t > *** in_DCACHE_RSP_VAL ; 96 sc_signal<Tcontrol_t > *** out_DCACHE_RSP_ACK ; 97 sc_signal<Tcontext_t > *** in_DCACHE_RSP_CONTEXT_ID ; 98 sc_signal<Tpacket_t > *** in_DCACHE_RSP_PACKET_ID ; 99 sc_signal<Tdcache_data_t > *** in_DCACHE_RSP_RDATA ; 100 sc_signal<Tdcache_error_t > *** in_DCACHE_RSP_ERROR ; 101 sc_signal<Tcontrol_t > *** in_INSERT_ROB_VAL ; 102 sc_signal<Tcontrol_t > *** out_INSERT_ROB_ACK ; 103 sc_signal<Tcontrol_t > *** in_INSERT_ROB_RD_USE ; 104 sc_signal<Tgeneral_address_t> *** in_INSERT_ROB_RD_NUM_REG ; 105 sc_signal<Tcontrol_t > *** in_INSERT_ROB_RE_USE ; 106 sc_signal<Tspecial_address_t> *** in_INSERT_ROB_RE_NUM_REG ; 107 //sc_signal<Tcontrol_t > *** in_RETIRE_ROB_VAL ; 108 //sc_signal<Tcontrol_t > *** out_RETIRE_ROB_ACK ; 109 //sc_signal<Tcontrol_t > *** in_RETIRE_ROB_RD_OLD_USE ; 110 //sc_signal<Tgeneral_address_t> *** in_RETIRE_ROB_RD_OLD_NUM_REG ; 111 //sc_signal<Tcontrol_t > *** in_RETIRE_ROB_RD_NEW_USE ; 112 //sc_signal<Tgeneral_address_t> *** in_RETIRE_ROB_RD_NEW_NUM_REG ; 113 //sc_signal<Tcontrol_t > *** in_RETIRE_ROB_RE_OLD_USE ; 114 //sc_signal<Tspecial_address_t> *** in_RETIRE_ROB_RE_OLD_NUM_REG ; 115 //sc_signal<Tcontrol_t > *** in_RETIRE_ROB_RE_NEW_USE ; 116 //sc_signal<Tspecial_address_t> *** in_RETIRE_ROB_RE_NEW_NUM_REG ; 52 117 53 118 ALLOC1_SC_SIGNAL( in_EXECUTE_LOOP_IN_VAL ," in_EXECUTE_LOOP_IN_VAL ",Tcontrol_t ,_param->_nb_read_unit);
Note: See TracChangeset
for help on using the changeset viewer.