Changeset 88 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue
- 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
- Files:
-
- 14 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/Makefile
r81 r88 24 24 library_clean : Execute_queue_library_clean 25 25 26 local_clean : 27 26 28 include $(DIR_COMPONENT)/Makefile.deps 27 29 include $(DIR_MORPHEO)/Behavioural/Makefile.flags -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/SelfTest/configuration.cfg
r81 r88 1 1 Execute_queue 2 8 8*2 # uint32_t size_queue2 8 16 *2 # uint32_t size_queue 3 3 1 1 *2 # uint32_t nb_context 4 4 1 1 *2 # uint32_t nb_front_end 5 5 1 4 *2 # uint32_t nb_ooo_engine 6 32 32*2 # uint32_t nb_packet6 64 64 *2 # uint32_t nb_packet 7 7 32 32 *2 # uint32_t size_general_data 8 8 2 2 *2 # uint32_t size_special_data -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/SelfTest/src/main.cpp
r81 r88 54 54 nb_packet , 55 55 size_general_data , 56 size_special_data ); 56 size_special_data , 57 true // is_toplevel 58 ); 57 59 58 60 msg(_("%s"),param->print(1).c_str()); -
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 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/include/Execute_queue.h
r82 r88 79 79 public : SC_IN (Tcontrol_t ) * in_EXECUTE_QUEUE_IN_NO_SEQUENCE ; 80 80 public : SC_IN (Tgeneral_data_t ) * in_EXECUTE_QUEUE_IN_ADDRESS ; 81 public : SC_IN (Tgeneral_data_t ) * in_EXECUTE_QUEUE_IN_DATA ; 81 82 82 83 // -----[ Interface "Execute_queue_out" ]----------------------------- … … 93 94 public : SC_OUT(Tcontrol_t ) * out_EXECUTE_QUEUE_OUT_NO_SEQUENCE ; 94 95 public : SC_OUT(Tgeneral_data_t ) * out_EXECUTE_QUEUE_OUT_ADDRESS ; 96 public : SC_OUT(Tgeneral_data_t ) * out_EXECUTE_QUEUE_OUT_DATA ; 95 97 96 98 // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/include/Parameters.h
r81 r88 26 26 { 27 27 //-----[ fields ]------------------------------------------------------------ 28 public : constuint32_t _size_queue ;29 public : constuint32_t _nb_context ;30 public : constuint32_t _nb_front_end ;31 public : constuint32_t _nb_ooo_engine ;32 public : constuint32_t _nb_packet ;33 public : constuint32_t _size_general_data ;34 public : constuint32_t _size_special_data ;28 public : uint32_t _size_queue ; 29 public : uint32_t _nb_context ; 30 public : uint32_t _nb_front_end ; 31 public : uint32_t _nb_ooo_engine ; 32 public : uint32_t _nb_packet ; 33 //public : uint32_t _size_general_data ; 34 //public : uint32_t _size_special_data ; 35 35 36 public : constuint32_t _size_context_id ;37 public : constuint32_t _size_front_end_id ;38 public : constuint32_t _size_ooo_engine_id ;39 public : constuint32_t _size_packet_id ;36 //public : uint32_t _size_context_id ; 37 //public : uint32_t _size_front_end_id ; 38 //public : uint32_t _size_ooo_engine_id ; 39 //public : uint32_t _size_packet_id ; 40 40 41 public : constbool _have_port_context_id ;42 public : constbool _have_port_front_end_id ;43 public : constbool _have_port_ooo_engine_id ;44 public : constbool _have_port_packet_id ;41 //public : bool _have_port_context_id ; 42 //public : bool _have_port_front_end_id ; 43 //public : bool _have_port_ooo_engine_id ; 44 //public : bool _have_port_packet_id ; 45 45 46 46 //-----[ methods ]----------------------------------------------------------- … … 51 51 uint32_t nb_packet , 52 52 uint32_t size_general_data , 53 uint32_t size_special_data ); 54 public : Parameters (Parameters & param) ; 53 uint32_t size_special_data , 54 bool is_toplevel=true); 55 //public : Parameters (Parameters & param) ; 55 56 public : ~Parameters () ; 57 58 public : void copy (void); 56 59 57 60 public : Parameters_test msg_error (void); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/include/Types.h
r82 r88 32 32 public : Tcontrol_t _no_sequence ; 33 33 public : Tgeneral_data_t _address ; 34 public : Tgeneral_data_t _data ; 34 35 35 36 public : execute_queue_entry_t (Tcontext_t context_id , … … 42 43 Texception_t exception , 43 44 Tcontrol_t no_sequence , 44 Tgeneral_data_t address ) 45 Tgeneral_data_t address , 46 Tgeneral_data_t data ) 45 47 { 46 48 _context_id = context_id ; … … 54 56 _no_sequence = no_sequence ; 55 57 _address = address ; 58 _data = data ; 56 59 }; 57 60 }; -
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.