Changeset 88 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/src
- Timestamp:
- Dec 10, 2008, 7:31:39 PM (16 years ago)
- Location:
- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/src
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/src/Execute_queue.cpp
r81 r88 39 39 log_printf(FUNC,Execute_queue,FUNCTION,"Begin"); 40 40 41 #if DEBUG_Execute_queue == true 42 log_printf(INFO,Execute_queue,FUNCTION,_("<%s> Parameters"),_name.c_str()); 43 44 std::cout << *param << std::endl; 45 #endif 46 41 47 log_printf(INFO,Execute_queue,FUNCTION,"Allocation"); 42 48 allocation (); 43 49 44 50 #ifdef STATISTICS 45 if ( _usage & USE_STATISTICS)51 if (usage_is_set(_usage,USE_STATISTICS)) 46 52 { 47 53 log_printf(INFO,Execute_queue,FUNCTION,"Allocation of statistics"); … … 52 58 53 59 #ifdef VHDL 54 if ( _usage & USE_VHDL)60 if (usage_is_set(_usage,USE_VHDL)) 55 61 { 56 62 // generate the vhdl … … 62 68 63 69 #ifdef SYSTEMC 64 if ( _usage & USE_SYSTEMC)70 if (usage_is_set(_usage,USE_SYSTEMC)) 65 71 { 66 72 log_printf(INFO,Execute_queue,FUNCTION,"Method - transition"); … … 96 102 97 103 #ifdef STATISTICS 98 if ( _usage & USE_STATISTICS)104 if (usage_is_set(_usage,USE_STATISTICS)) 99 105 { 100 106 log_printf(INFO,Execute_queue,FUNCTION,"Generate Statistics file"); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/src/Execute_queue_allocation.cpp
r81 r88 17 17 namespace write_unit { 18 18 namespace execute_queue { 19 20 21 19 22 20 #undef FUNCTION … … 62 60 if(_param->_have_port_ooo_engine_id) 63 61 ALLOC_SIGNAL_IN ( in_EXECUTE_QUEUE_IN_OOO_ENGINE_ID,"ooo_engine_id",Tcontext_t ,_param->_size_ooo_engine_id ); 64 if(_param->_have_port_ packet_id)65 ALLOC_SIGNAL_IN ( in_EXECUTE_QUEUE_IN_PACKET_ID ,"packet_id" ,Tpacket_t ,_param->_size_ packet_id);62 if(_param->_have_port_rob_ptr) 63 ALLOC_SIGNAL_IN ( in_EXECUTE_QUEUE_IN_PACKET_ID ,"packet_id" ,Tpacket_t ,_param->_size_rob_ptr ); 66 64 // ALLOC_SIGNAL_IN ( in_EXECUTE_QUEUE_IN_OPERATION ,"operation" ,Toperation_t ,_param->_size_operation ); 67 65 // ALLOC_SIGNAL_IN ( in_EXECUTE_QUEUE_IN_TYPE ,"type" ,Ttype_t ,_param->_size_type ); … … 70 68 ALLOC_SIGNAL_IN ( in_EXECUTE_QUEUE_IN_NO_SEQUENCE ,"no_sequence" ,Tcontrol_t ,1 ); 71 69 ALLOC_SIGNAL_IN ( in_EXECUTE_QUEUE_IN_ADDRESS ,"address" ,Tgeneral_data_t ,_param->_size_general_data ); 70 ALLOC_SIGNAL_IN ( in_EXECUTE_QUEUE_IN_DATA ,"data" ,Tgeneral_data_t ,_param->_size_general_data ); 72 71 } 73 72 … … 84 83 if(_param->_have_port_ooo_engine_id) 85 84 ALLOC_SIGNAL_OUT(out_EXECUTE_QUEUE_OUT_OOO_ENGINE_ID,"ooo_engine_id",Tcontext_t ,_param->_size_ooo_engine_id); 86 if(_param->_have_port_ packet_id)87 ALLOC_SIGNAL_OUT(out_EXECUTE_QUEUE_OUT_PACKET_ID ,"packet_id" ,Tpacket_t ,_param->_size_ packet_id);85 if(_param->_have_port_rob_ptr) 86 ALLOC_SIGNAL_OUT(out_EXECUTE_QUEUE_OUT_PACKET_ID ,"packet_id" ,Tpacket_t ,_param->_size_rob_ptr ); 88 87 // ALLOC_SIGNAL_OUT(out_EXECUTE_QUEUE_OUT_OPERATION ,"operation" ,Toperation_t ,_param->_size_operation ); 89 88 // ALLOC_SIGNAL_OUT(out_EXECUTE_QUEUE_OUT_TYPE ,"type" ,Ttype_t ,_param->_size_type ); … … 92 91 ALLOC_SIGNAL_OUT(out_EXECUTE_QUEUE_OUT_NO_SEQUENCE ,"no_sequence" ,Tcontrol_t ,1 ); 93 92 ALLOC_SIGNAL_OUT(out_EXECUTE_QUEUE_OUT_ADDRESS ,"address" ,Tgeneral_data_t,_param->_size_general_data ); 93 ALLOC_SIGNAL_OUT(out_EXECUTE_QUEUE_OUT_DATA ,"data" ,Tgeneral_data_t,_param->_size_general_data ); 94 94 } 95 95 … … 99 99 100 100 #ifdef POSITION 101 _component->generate_file(); 101 if (usage_is_set(_usage,USE_POSITION)) 102 _component->generate_file(); 102 103 #endif 103 104 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/src/Execute_queue_deallocation.cpp
r81 r88 24 24 log_printf(FUNC,Execute_queue,FUNCTION,"Begin"); 25 25 26 if ( _usage & USE_SYSTEMC)26 if (usage_is_set(_usage,USE_SYSTEMC)) 27 27 { 28 28 delete in_CLOCK ; … … 38 38 if (_param->_have_port_ooo_engine_id) 39 39 delete in_EXECUTE_QUEUE_IN_OOO_ENGINE_ID; 40 if (_param->_have_port_ packet_id)40 if (_param->_have_port_rob_ptr) 41 41 delete in_EXECUTE_QUEUE_IN_PACKET_ID ; 42 42 // delete in_EXECUTE_QUEUE_IN_OPERATION ; … … 46 46 delete in_EXECUTE_QUEUE_IN_NO_SEQUENCE ; 47 47 delete in_EXECUTE_QUEUE_IN_ADDRESS ; 48 delete in_EXECUTE_QUEUE_IN_DATA ; 48 49 49 50 // -----[ Interface "execute_queue_out" ]------------------------------- … … 56 57 if (_param->_have_port_ooo_engine_id) 57 58 delete out_EXECUTE_QUEUE_OUT_OOO_ENGINE_ID; 58 if (_param->_have_port_ packet_id)59 if (_param->_have_port_rob_ptr) 59 60 delete out_EXECUTE_QUEUE_OUT_PACKET_ID ; 60 61 // delete out_EXECUTE_QUEUE_OUT_OPERATION ; … … 64 65 delete out_EXECUTE_QUEUE_OUT_NO_SEQUENCE ; 65 66 delete out_EXECUTE_QUEUE_OUT_ADDRESS ; 67 delete out_EXECUTE_QUEUE_OUT_DATA ; 66 68 } 67 69 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/src/Execute_queue_end_cycle.cpp
r81 r88 26 26 27 27 #ifdef STATISTICS 28 _stat->end_cycle(); 28 if (usage_is_set(_usage,USE_STATISTICS)) 29 _stat->end_cycle(); 29 30 #endif 30 31 … … 32 33 // Evaluation before read the ouput signal 33 34 // sc_start(0); 34 _interfaces->testbench(); 35 if (usage_is_set(_usage,USE_VHDL_TESTBENCH)) 36 _interfaces->testbench(); 35 37 #endif 36 38 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/src/Execute_queue_genMoore.cpp
r81 r88 47 47 if (_param->_have_port_ooo_engine_id) 48 48 PORT_WRITE(out_EXECUTE_QUEUE_OUT_OOO_ENGINE_ID, _queue->front()->_ooo_engine_id); 49 if (_param->_have_port_ packet_id)49 if (_param->_have_port_rob_ptr) 50 50 PORT_WRITE(out_EXECUTE_QUEUE_OUT_PACKET_ID , _queue->front()->_packet_id ); 51 51 // PORT_WRITE(out_EXECUTE_QUEUE_OUT_OPERATION , _queue->front()->_operation ); … … 55 55 PORT_WRITE(out_EXECUTE_QUEUE_OUT_NO_SEQUENCE , _queue->front()->_no_sequence ); 56 56 PORT_WRITE(out_EXECUTE_QUEUE_OUT_ADDRESS , _queue->front()->_address ); 57 PORT_WRITE(out_EXECUTE_QUEUE_OUT_DATA , _queue->front()->_data ); 57 58 } 58 59 } -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/src/Execute_queue_transition.cpp
r81 r88 44 44 (_param->_have_port_front_end_id )?PORT_READ(in_EXECUTE_QUEUE_IN_FRONT_END_ID ):0, 45 45 (_param->_have_port_ooo_engine_id)?PORT_READ(in_EXECUTE_QUEUE_IN_OOO_ENGINE_ID):0, 46 (_param->_have_port_ packet_id)?PORT_READ(in_EXECUTE_QUEUE_IN_PACKET_ID ):0,46 (_param->_have_port_rob_ptr )?PORT_READ(in_EXECUTE_QUEUE_IN_PACKET_ID ):0, 47 47 //PORT_READ(in_EXECUTE_QUEUE_IN_OPERATION ), 48 48 //PORT_READ(in_EXECUTE_QUEUE_IN_TYPE ), … … 50 50 PORT_READ(in_EXECUTE_QUEUE_IN_EXCEPTION ), 51 51 PORT_READ(in_EXECUTE_QUEUE_IN_NO_SEQUENCE ), 52 PORT_READ(in_EXECUTE_QUEUE_IN_ADDRESS )); 52 PORT_READ(in_EXECUTE_QUEUE_IN_ADDRESS ), 53 PORT_READ(in_EXECUTE_QUEUE_IN_DATA )); 53 54 54 55 _queue->push(entry); … … 64 65 65 66 #ifdef STATISTICS 66 *(_stat_use_queue) += _queue->size(); 67 if (usage_is_set(_usage,USE_STATISTICS)) 68 *(_stat_use_queue) += _queue->size(); 67 69 #endif 68 70 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/src/Parameters.cpp
r81 r88 26 26 uint32_t nb_packet , 27 27 uint32_t size_general_data , 28 uint32_t size_special_data ): 29 _size_queue (size_queue ), 30 _nb_context (nb_context ), 31 _nb_front_end (nb_front_end ), 32 _nb_ooo_engine (nb_ooo_engine ), 33 _nb_packet (nb_packet ), 34 _size_general_data (size_general_data ), 35 _size_special_data (size_special_data ), 36 37 _size_context_id (log2(_nb_context )), 38 _size_front_end_id (log2(_nb_front_end )), 39 _size_ooo_engine_id (log2(_nb_ooo_engine )), 40 _size_packet_id (log2(_nb_packet )), 41 42 _have_port_context_id (_size_context_id > 0), 43 _have_port_front_end_id (_size_front_end_id > 0), 44 _have_port_ooo_engine_id (_size_ooo_engine_id > 0), 45 _have_port_packet_id (_size_packet_id > 0) 28 uint32_t size_special_data , 29 bool is_toplevel ) 46 30 { 47 31 log_printf(FUNC,Execute_queue,FUNCTION,"Begin"); 32 33 _size_queue = size_queue ; 34 _nb_context = nb_context ; 35 _nb_front_end = nb_front_end ; 36 _nb_ooo_engine = nb_ooo_engine ; 37 _nb_packet = nb_packet ; 38 48 39 test(); 40 41 if (is_toplevel) 42 { 43 _size_context_id = log2(_nb_context ); 44 _size_front_end_id = log2(_nb_front_end ); 45 _size_ooo_engine_id = log2(_nb_ooo_engine); 46 _size_rob_ptr = log2(_nb_packet ); 47 _size_general_data = size_general_data; 48 _size_special_data = size_special_data; 49 50 _have_port_context_id = _size_context_id > 0; 51 _have_port_front_end_id = _size_front_end_id > 0; 52 _have_port_ooo_engine_id = _size_ooo_engine_id > 0; 53 _have_port_rob_ptr = _size_rob_ptr > 0; 54 55 copy(); 56 } 57 49 58 log_printf(FUNC,Execute_queue,FUNCTION,"End"); 50 59 }; 51 60 61 // #undef FUNCTION 62 // #define FUNCTION "Execute_queue::Parameters (copy)" 63 // Parameters::Parameters (Parameters & param): 64 // _size_queue (param._size_queue ), 65 // _nb_context (param._nb_context ), 66 // _nb_front_end (param._nb_front_end ), 67 // _nb_ooo_engine (param._nb_ooo_engine ), 68 // _nb_packet (param._nb_packet ), 69 // _size_general_data (param._size_general_data ), 70 // _size_special_data (param._size_special_data ), 71 72 // _size_context_id (param._size_context_id ), 73 // _size_front_end_id (param._size_front_end_id ), 74 // _size_ooo_engine_id (param._size_ooo_engine_id ), 75 // _size_packet_id (param._size_packet_id ), 76 77 // _have_port_context_id (param._have_port_context_id ), 78 // _have_port_front_end_id (param._have_port_front_end_id ), 79 // _have_port_ooo_engine_id (param._have_port_ooo_engine_id), 80 // _have_port_packet_id (param._have_port_packet_id ) 81 // { 82 // log_printf(FUNC,Execute_queue,FUNCTION,"Begin"); 83 // test(); 84 // log_printf(FUNC,Execute_queue,FUNCTION,"End"); 85 // }; 86 52 87 #undef FUNCTION 53 #define FUNCTION "Execute_queue::Parameters (copy)" 54 Parameters::Parameters (Parameters & param): 55 _size_queue (param._size_queue ), 56 _nb_context (param._nb_context ), 57 _nb_front_end (param._nb_front_end ), 58 _nb_ooo_engine (param._nb_ooo_engine ), 59 _nb_packet (param._nb_packet ), 60 _size_general_data (param._size_general_data ), 61 _size_special_data (param._size_special_data ), 62 63 _size_context_id (param._size_context_id ), 64 _size_front_end_id (param._size_front_end_id ), 65 _size_ooo_engine_id (param._size_ooo_engine_id ), 66 _size_packet_id (param._size_packet_id ), 67 68 _have_port_context_id (param._have_port_context_id ), 69 _have_port_front_end_id (param._have_port_front_end_id ), 70 _have_port_ooo_engine_id (param._have_port_ooo_engine_id), 71 _have_port_packet_id (param._have_port_packet_id ) 88 #define FUNCTION "Execute_queue::~Parameters" 89 Parameters::~Parameters (void) 72 90 { 73 91 log_printf(FUNC,Execute_queue,FUNCTION,"Begin"); 74 test();75 92 log_printf(FUNC,Execute_queue,FUNCTION,"End"); 76 93 }; 77 94 78 95 #undef FUNCTION 79 #define FUNCTION "Execute_queue:: ~Parameters"80 Parameters::~Parameters ()96 #define FUNCTION "Execute_queue::copy" 97 void Parameters::copy (void) 81 98 { 82 99 log_printf(FUNC,Execute_queue,FUNCTION,"Begin");
Note: See TracChangeset
for help on using the changeset viewer.