Changeset 88 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_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/Write_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/Write_queue/src/Parameters.cpp
r81 r88 29 29 uint32_t size_special_data , 30 30 uint32_t nb_special_register, 31 uint32_t nb_bypass_write ): 32 _size_queue (size_queue ), 33 _nb_context (nb_context ), 34 _nb_front_end (nb_front_end ), 35 _nb_ooo_engine (nb_ooo_engine ), 36 _nb_packet (nb_packet ), 37 _size_general_data (size_general_data ), 38 _nb_general_register (nb_general_register), 39 _size_special_data (size_special_data ), 40 _nb_special_register (nb_special_register), 41 _nb_bypass_write (nb_bypass_write ), 42 43 _nb_gpr_write (1), 44 _nb_spr_write (1), 45 46 _size_context_id (log2(_nb_context )), 47 _size_front_end_id (log2(_nb_front_end )), 48 _size_ooo_engine_id (log2(_nb_ooo_engine )), 49 _size_packet_id (log2(_nb_packet )), 50 _size_general_register (log2(_nb_general_register)), 51 _size_special_register (log2(_nb_special_register)), 52 53 _have_port_context_id (_size_context_id > 0), 54 _have_port_front_end_id (_size_front_end_id > 0), 55 _have_port_ooo_engine_id (_size_ooo_engine_id > 0), 56 _have_port_packet_id (_size_packet_id > 0) 31 uint32_t nb_bypass_write , 32 bool is_toplevel) 57 33 { 58 34 log_printf(FUNC,Write_queue,FUNCTION,"Begin"); 35 36 _size_queue = size_queue ; 37 _nb_context = nb_context ; 38 _nb_front_end = nb_front_end ; 39 _nb_ooo_engine = nb_ooo_engine ; 40 _nb_packet = nb_packet ; 41 _nb_general_register = nb_general_register; 42 _nb_special_register = nb_special_register; 43 _nb_bypass_write = nb_bypass_write ; 44 45 _nb_gpr_write = 1; 46 _nb_spr_write = 1; 47 59 48 test(); 49 50 if (is_toplevel) 51 { 52 _size_context_id = log2(_nb_context ); 53 _size_front_end_id = log2(_nb_front_end ); 54 _size_ooo_engine_id = log2(_nb_ooo_engine ); 55 _size_rob_ptr = log2(_nb_packet ); 56 _size_general_register = log2(_nb_general_register); 57 _size_special_register = log2(_nb_special_register); 58 _size_general_data = size_general_data ; 59 _size_special_data = size_special_data ; 60 61 _have_port_context_id = _size_context_id > 0; 62 _have_port_front_end_id = _size_front_end_id > 0; 63 _have_port_ooo_engine_id = _size_ooo_engine_id > 0; 64 _have_port_rob_ptr = _size_rob_ptr > 0; 65 66 copy(); 67 } 68 60 69 log_printf(FUNC,Write_queue,FUNCTION,"End"); 61 70 }; 62 71 72 // #undef FUNCTION 73 // #define FUNCTION "Write_queue::Parameters (copy)" 74 // Parameters::Parameters (Parameters & param): 75 // _size_queue (param._size_queue ), 76 // _nb_context (param._nb_context ), 77 // _nb_front_end (param._nb_front_end ), 78 // _nb_ooo_engine (param._nb_ooo_engine ), 79 // _nb_packet (param._nb_packet ), 80 // _size_general_data (param._size_general_data ), 81 // _nb_general_register (param._nb_general_register ), 82 // _size_special_data (param._size_special_data ), 83 // _nb_special_register (param._nb_special_register ), 84 // _nb_bypass_write (param._nb_bypass_write ), 85 86 // _nb_gpr_write (param._nb_gpr_write ), 87 // _nb_spr_write (param._nb_spr_write ), 88 89 // _size_context_id (param._size_context_id ), 90 // _size_front_end_id (param._size_front_end_id ), 91 // _size_ooo_engine_id (param._size_ooo_engine_id ), 92 // _size_packet_id (param._size_packet_id ), 93 // _size_general_register (param._size_general_register ), 94 // _size_special_register (param._size_special_register ), 95 96 // _have_port_context_id (param._have_port_context_id ), 97 // _have_port_front_end_id (param._have_port_front_end_id ), 98 // _have_port_ooo_engine_id (param._have_port_ooo_engine_id), 99 // _have_port_packet_id (param._have_port_packet_id ) 100 // { 101 // log_printf(FUNC,Write_queue,FUNCTION,"Begin"); 102 // test(); 103 // log_printf(FUNC,Write_queue,FUNCTION,"End"); 104 // }; 105 63 106 #undef FUNCTION 64 #define FUNCTION "Write_queue::Parameters (copy)" 65 Parameters::Parameters (Parameters & param): 66 _size_queue (param._size_queue ), 67 _nb_context (param._nb_context ), 68 _nb_front_end (param._nb_front_end ), 69 _nb_ooo_engine (param._nb_ooo_engine ), 70 _nb_packet (param._nb_packet ), 71 _size_general_data (param._size_general_data ), 72 _nb_general_register (param._nb_general_register ), 73 _size_special_data (param._size_special_data ), 74 _nb_special_register (param._nb_special_register ), 75 _nb_bypass_write (param._nb_bypass_write ), 76 77 _nb_gpr_write (param._nb_gpr_write ), 78 _nb_spr_write (param._nb_spr_write ), 79 80 _size_context_id (param._size_context_id ), 81 _size_front_end_id (param._size_front_end_id ), 82 _size_ooo_engine_id (param._size_ooo_engine_id ), 83 _size_packet_id (param._size_packet_id ), 84 _size_general_register (param._size_general_register ), 85 _size_special_register (param._size_special_register ), 86 87 _have_port_context_id (param._have_port_context_id ), 88 _have_port_front_end_id (param._have_port_front_end_id ), 89 _have_port_ooo_engine_id (param._have_port_ooo_engine_id), 90 _have_port_packet_id (param._have_port_packet_id ) 107 #define FUNCTION "Write_queue::~Parameters" 108 Parameters::~Parameters (void) 91 109 { 92 110 log_printf(FUNC,Write_queue,FUNCTION,"Begin"); 93 test();94 111 log_printf(FUNC,Write_queue,FUNCTION,"End"); 95 112 }; 96 113 97 114 #undef FUNCTION 98 #define FUNCTION "Write_queue:: ~Parameters"99 Parameters::~Parameters ()115 #define FUNCTION "Write_queue::copy" 116 void Parameters::copy (void) 100 117 { 101 118 log_printf(FUNC,Write_queue,FUNCTION,"Begin"); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/src/Write_queue.cpp
r81 r88 39 39 log_printf(FUNC,Write_queue,FUNCTION,"Begin"); 40 40 41 #if DEBUG_Write_queue == true 42 log_printf(INFO,Write_queue,FUNCTION,_("<%s> Parameters"),_name.c_str()); 43 44 std::cout << *param << std::endl; 45 #endif 46 41 47 log_printf(INFO,Write_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,Write_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,Write_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,Write_queue,FUNCTION,"Generate Statistics file"); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/src/Write_queue_allocation.cpp
r81 r88 58 58 ALLOC_SIGNAL_IN ( in_WRITE_QUEUE_IN_FRONT_END_ID ,"front_end_id" ,Tcontext_t ,_param->_size_front_end_id ); 59 59 ALLOC_SIGNAL_IN ( in_WRITE_QUEUE_IN_OOO_ENGINE_ID,"ooo_engine_id",Tcontext_t ,_param->_size_ooo_engine_id ); 60 ALLOC_SIGNAL_IN ( in_WRITE_QUEUE_IN_PACKET_ID ,"packet_id" ,Tpacket_t ,_param->_size_ packet_id);60 ALLOC_SIGNAL_IN ( in_WRITE_QUEUE_IN_PACKET_ID ,"packet_id" ,Tpacket_t ,_param->_size_rob_ptr ); 61 61 // ALLOC_SIGNAL_IN ( in_WRITE_QUEUE_IN_OPERATION ,"operation" ,Toperation_t ,_param->_size_operation ); 62 62 ALLOC_SIGNAL_IN ( in_WRITE_QUEUE_IN_TYPE ,"type" ,Ttype_t ,_param->_size_type ); … … 81 81 ALLOC_SIGNAL_OUT(out_WRITE_QUEUE_OUT_FRONT_END_ID ,"front_end_id" ,Tcontext_t ,_param->_size_front_end_id ); 82 82 ALLOC_SIGNAL_OUT(out_WRITE_QUEUE_OUT_OOO_ENGINE_ID,"ooo_engine_id",Tcontext_t ,_param->_size_ooo_engine_id); 83 ALLOC_SIGNAL_OUT(out_WRITE_QUEUE_OUT_PACKET_ID ,"packet_id" ,Tpacket_t ,_param->_size_ packet_id);83 ALLOC_SIGNAL_OUT(out_WRITE_QUEUE_OUT_PACKET_ID ,"packet_id" ,Tpacket_t ,_param->_size_rob_ptr ); 84 84 // ALLOC_SIGNAL_OUT(out_WRITE_QUEUE_OUT_OPERATION ,"operation" ,Toperation_t ,_param->_size_operation ); 85 85 // ALLOC_SIGNAL_OUT(out_WRITE_QUEUE_OUT_TYPE ,"type" ,Ttype_t ,_param->_size_type ); … … 88 88 ALLOC_SIGNAL_OUT(out_WRITE_QUEUE_OUT_NO_SEQUENCE ,"no_sequence" ,Tcontrol_t ,1 ); 89 89 ALLOC_SIGNAL_OUT(out_WRITE_QUEUE_OUT_ADDRESS ,"address" ,Tgeneral_data_t,_param->_size_general_data ); 90 ALLOC_SIGNAL_OUT(out_WRITE_QUEUE_OUT_DATA ,"data" ,Tgeneral_data_t,_param->_size_general_data ); 90 91 } 91 92 … … 129 130 130 131 #ifdef POSITION 131 _component->generate_file(); 132 if (usage_is_set(_usage,USE_POSITION)) 133 _component->generate_file(); 132 134 #endif 133 135 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/src/Write_queue_deallocation.cpp
r81 r88 24 24 log_printf(FUNC,Write_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_WRITE_QUEUE_IN_OOO_ENGINE_ID; 40 if (_param->_have_port_ packet_id)40 if (_param->_have_port_rob_ptr ) 41 41 delete in_WRITE_QUEUE_IN_PACKET_ID ; 42 42 // delete in_WRITE_QUEUE_IN_OPERATION ; … … 61 61 if (_param->_have_port_ooo_engine_id) 62 62 delete out_WRITE_QUEUE_OUT_OOO_ENGINE_ID; 63 if (_param->_have_port_ packet_id)63 if (_param->_have_port_rob_ptr ) 64 64 delete out_WRITE_QUEUE_OUT_PACKET_ID ; 65 65 // delete out_WRITE_QUEUE_OUT_OPERATION ; … … 69 69 delete out_WRITE_QUEUE_OUT_NO_SEQUENCE ; 70 70 delete out_WRITE_QUEUE_OUT_ADDRESS ; 71 delete out_WRITE_QUEUE_OUT_DATA ; 71 72 72 73 // -----[ Interface "gpr_write" ]------------------------------------- -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/src/Write_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/Write_queue/src/Write_queue_genMoore.cpp
r81 r88 49 49 if (_param->_have_port_ooo_engine_id) 50 50 PORT_WRITE(out_WRITE_QUEUE_OUT_OOO_ENGINE_ID, _queue->front()->_ooo_engine_id); 51 if (_param->_have_port_ packet_id)51 if (_param->_have_port_rob_ptr ) 52 52 PORT_WRITE(out_WRITE_QUEUE_OUT_PACKET_ID , _queue->front()->_packet_id ); 53 53 // PORT_WRITE(out_WRITE_QUEUE_OUT_OPERATION , _queue->front()->_operation ); … … 57 57 PORT_WRITE(out_WRITE_QUEUE_OUT_NO_SEQUENCE , _queue->front()->_no_sequence ); 58 58 PORT_WRITE(out_WRITE_QUEUE_OUT_ADDRESS , _queue->front()->_address ); 59 PORT_WRITE(out_WRITE_QUEUE_OUT_DATA , _queue->front()->_data_rd ); 59 60 } 60 61 } -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/src/Write_queue_transition.cpp
r81 r88 51 51 (_param->_have_port_front_end_id )?PORT_READ(in_WRITE_QUEUE_IN_FRONT_END_ID ):0, 52 52 (_param->_have_port_ooo_engine_id)?PORT_READ(in_WRITE_QUEUE_IN_OOO_ENGINE_ID):0, 53 (_param->_have_port_ packet_id)?PORT_READ(in_WRITE_QUEUE_IN_PACKET_ID ):0,53 (_param->_have_port_rob_ptr )?PORT_READ(in_WRITE_QUEUE_IN_PACKET_ID ):0, 54 54 //PORT_READ(in_WRITE_QUEUE_IN_OPERATION ), 55 55 PORT_READ(in_WRITE_QUEUE_IN_TYPE ), … … 83 83 84 84 #ifdef STATISTICS 85 *(_stat_use_queue) += _queue->size(); 85 if (usage_is_set(_usage,USE_STATISTICS)) 86 *(_stat_use_queue) += _queue->size(); 86 87 #endif 87 88
Note: See TracChangeset
for help on using the changeset viewer.