Changeset 88 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_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_Read_unit/Read_unit/Read_queue/src
- Files:
-
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Parameters.cpp
r81 r88 30 30 uint32_t nb_spr_write , 31 31 uint32_t size_store_queue , 32 uint32_t size_load_queue ): 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 _size_general_data (size_general_data ), 39 _size_special_data (size_special_data ), 40 _nb_general_register (nb_general_register ), 41 _nb_special_register (nb_special_register ), 42 _nb_gpr_write (nb_gpr_write ), 43 _nb_spr_write (nb_spr_write ), 44 _size_store_queue (size_store_queue ), 45 _size_load_queue (size_load_queue ), 46 47 _nb_gpr_read (2 ), 48 _nb_spr_read (1 ), 49 _size_context_id (static_cast<uint32_t>(log2(_nb_context ))), 50 _size_front_end_id (static_cast<uint32_t>(log2(_nb_front_end ))), 51 _size_ooo_engine_id (static_cast<uint32_t>(log2(_nb_ooo_engine ))), 52 _size_rob_id (static_cast<uint32_t>(log2(_nb_packet ))), 53 _size_general_register (static_cast<uint32_t>(log2(_nb_general_register))), 54 _size_special_register (static_cast<uint32_t>(log2(_nb_special_register))), 55 56 _have_port_context_id (_size_context_id > 0), 57 _have_port_front_end_id (_size_front_end_id > 0), 58 _have_port_ooo_engine_id (_size_ooo_engine_id > 0), 59 _have_port_rob_id (_size_rob_id > 0), 60 _have_port_load_queue_ptr(_size_load_queue > 1), 61 62 _size_internal_queue ( _size_context_id //_context_id 63 + _size_front_end_id //_front_end_id 64 + _size_ooo_engine_id //_ooo_engine_id 65 + _size_rob_id //_rob_id 66 + _size_operation //_operation 67 + _size_type //_type 68 + log2(_size_store_queue)//_store_queue_ptr_write 69 + log2(_size_load_queue )//_load_queue_ptr_write 70 + 1 //_has_immediat 71 + _size_general_data //_immediat 72 + 1 //_read_ra 73 + _size_general_register //_num_reg_ra 74 + 1 //_read_rb 75 + _size_general_register //_num_reg_rb 76 + 1 //_read_rc 77 + _size_special_register //_num_reg_rc 78 + 1 //_write_rd 79 + _size_general_register //_num_reg_rd 80 + 1 //_write_re 81 + _size_special_register //_num_reg_re 82 ) 83 84 32 uint32_t size_load_queue , 33 bool is_toplevel) 85 34 { 86 35 log_printf(FUNC,Read_queue,"Parameters","Begin"); 36 37 _size_queue = size_queue ; 38 _nb_context = nb_context ; 39 _nb_front_end = nb_front_end ; 40 _nb_ooo_engine = nb_ooo_engine ; 41 _nb_packet = nb_packet ; 42 _nb_general_register = nb_general_register ; 43 _nb_special_register = nb_special_register ; 44 _nb_gpr_write = nb_gpr_write ; 45 _nb_spr_write = nb_spr_write ; 46 47 _nb_gpr_read = 2 ; 48 _nb_spr_read = 1 ; 49 50 _size_internal_queue = ( log2(nb_context ) //_context_id 51 + log2(nb_front_end ) //_front_end_id 52 + log2(nb_ooo_engine ) //_ooo_engine_id 53 + log2(nb_packet ) //_rob_id 54 + _size_operation //_operation 55 + _size_type //_type 56 + log2(size_store_queue ) //_store_queue_ptr_write 57 + log2(size_load_queue ) //_load_queue_ptr_write 58 + 1 //_has_immediat 59 + size_general_data //_immediat 60 + 1 //_read_ra 61 + log2(nb_general_register) //_num_reg_ra 62 + 1 //_read_rb 63 + log2(nb_general_register) //_num_reg_rb 64 + 1 //_read_rc 65 + log2(nb_special_register) //_num_reg_rc 66 + 1 //_write_rd 67 + log2(nb_general_register) //_num_reg_rd 68 + 1 //_write_re 69 + log2(nb_special_register) //_num_reg_re 70 ); 71 87 72 test(); 73 74 if (is_toplevel) 75 { 76 _size_general_data = size_general_data ; 77 _size_special_data = size_special_data ; 78 _size_store_queue_ptr = log2(size_store_queue); 79 _size_load_queue_ptr = log2(size_load_queue ); 80 _size_context_id = log2(_nb_context ); 81 _size_front_end_id = log2(_nb_front_end ); 82 _size_ooo_engine_id = log2(_nb_ooo_engine ); 83 _size_rob_ptr = log2(_nb_packet ); 84 _size_general_register = log2(_nb_general_register); 85 _size_special_register = log2(_nb_special_register); 86 87 _have_port_context_id = _size_context_id > 0; 88 _have_port_front_end_id = _size_front_end_id > 0; 89 _have_port_ooo_engine_id = _size_ooo_engine_id > 0; 90 _have_port_rob_ptr = _size_rob_ptr > 0; 91 _have_port_load_queue_ptr= _size_load_queue_ptr> 0; 92 93 copy(); 94 } 95 88 96 log_printf(FUNC,Read_queue,"Parameters","End"); 89 97 }; 90 98 91 Parameters::Parameters (Parameters & param):92 _size_queue (param._size_queue ),93 _nb_context (param._nb_context ),94 _nb_front_end (param._nb_front_end ),95 _nb_ooo_engine (param._nb_ooo_engine ),96 _nb_packet (param._nb_packet ),97 _size_general_data (param._size_general_data ),98 _size_special_data (param._size_special_data ),99 _nb_general_register (param._nb_general_register ),100 _nb_special_register (param._nb_special_register ),101 _nb_gpr_write (param._nb_gpr_write ),102 _nb_spr_write (param._nb_spr_write ),103 _size_store_queue (param._size_store_queue ),104 _size_load_queue (param._size_load_queue ),99 // Parameters::Parameters (Parameters & param): 100 // _size_queue (param._size_queue ), 101 // _nb_context (param._nb_context ), 102 // _nb_front_end (param._nb_front_end ), 103 // _nb_ooo_engine (param._nb_ooo_engine ), 104 // _nb_packet (param._nb_packet ), 105 // _size_general_data (param._size_general_data ), 106 // _size_special_data (param._size_special_data ), 107 // _nb_general_register (param._nb_general_register ), 108 // _nb_special_register (param._nb_special_register ), 109 // _nb_gpr_write (param._nb_gpr_write ), 110 // _nb_spr_write (param._nb_spr_write ), 111 // _size_store_queue (param._size_store_queue ), 112 // _size_load_queue (param._size_load_queue ), 105 113 106 _nb_gpr_read (param._nb_gpr_read ),107 _nb_spr_read (param._nb_spr_read ),108 _size_context_id (param._size_context_id ),109 _size_front_end_id (param._size_front_end_id ),110 _size_ooo_engine_id (param._size_ooo_engine_id ),111 _size_rob_id (param._size_rob_id ),112 _size_general_register (param._size_general_register ),113 _size_special_register (param._size_special_register ),114 // _nb_gpr_read (param._nb_gpr_read ), 115 // _nb_spr_read (param._nb_spr_read ), 116 // _size_context_id (param._size_context_id ), 117 // _size_front_end_id (param._size_front_end_id ), 118 // _size_ooo_engine_id (param._size_ooo_engine_id ), 119 // _size_rob_id (param._size_rob_id ), 120 // _size_general_register (param._size_general_register ), 121 // _size_special_register (param._size_special_register ), 114 122 115 _have_port_context_id (param._have_port_context_id ),116 _have_port_front_end_id (param._have_port_front_end_id ),117 _have_port_ooo_engine_id (param._have_port_ooo_engine_id),118 _have_port_rob_id (param._have_port_rob_id ),119 _have_port_load_queue_ptr(param._have_port_load_queue_ptr),123 // _have_port_context_id (param._have_port_context_id ), 124 // _have_port_front_end_id (param._have_port_front_end_id ), 125 // _have_port_ooo_engine_id (param._have_port_ooo_engine_id), 126 // _have_port_rob_id (param._have_port_rob_id ), 127 // _have_port_load_queue_ptr(param._have_port_load_queue_ptr), 120 128 121 _size_internal_queue (param._size_internal_queue )122 {123 log_printf(FUNC,Read_queue,"Parameters (copy)","Begin");124 test();125 log_printf(FUNC,Read_queue,"Parameters (copy)","End");126 };129 // _size_internal_queue (param._size_internal_queue ) 130 // { 131 // log_printf(FUNC,Read_queue,"Parameters (copy)","Begin"); 132 // test(); 133 // log_printf(FUNC,Read_queue,"Parameters (copy)","End"); 134 // }; 127 135 128 Parameters::~Parameters ( )136 Parameters::~Parameters (void) 129 137 { 130 138 log_printf(FUNC,Read_queue,"~Parameters","Begin"); 131 139 log_printf(FUNC,Read_queue,"~Parameters","End"); 140 }; 141 142 void Parameters::copy (void) 143 { 144 log_printf(FUNC,Read_queue,"copy","Begin"); 145 log_printf(FUNC,Read_queue,"copy","End"); 132 146 }; 133 147 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Parameters_print.cpp
r81 r88 31 31 xml.singleton_begin("nb_ooo_engine "); xml.attribut("value",toString(_nb_ooo_engine )); xml.singleton_end(); 32 32 xml.singleton_begin("nb_packet "); xml.attribut("value",toString(_nb_packet )); xml.singleton_end(); 33 34 33 // xml.singleton_begin("size_general_data "); xml.attribut("value",toString(_size_general_data )); xml.singleton_end(); 34 // xml.singleton_begin("size_special_data "); xml.attribut("value",toString(_size_special_data )); xml.singleton_end(); 35 35 xml.singleton_begin("nb_general_register"); xml.attribut("value",toString(_nb_general_register)); xml.singleton_end(); 36 36 xml.singleton_begin("nb_special_register"); xml.attribut("value",toString(_nb_special_register)); xml.singleton_end(); 37 37 xml.singleton_begin("nb_gpr_write "); xml.attribut("value",toString(_nb_gpr_write )); xml.singleton_end(); 38 38 xml.singleton_begin("nb_spr_write "); xml.attribut("value",toString(_nb_spr_write )); xml.singleton_end(); 39 40 39 // xml.singleton_begin("size_store_queue "); xml.attribut("value",toString(_size_store_queue )); xml.singleton_end(); 40 // xml.singleton_begin("size_load_queue "); xml.attribut("value",toString(_size_load_queue )); xml.singleton_end(); 41 41 42 42 xml.balise_close(); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue.cpp
r82 r88 36 36 log_printf(FUNC,Read_queue,"Read_queue","Begin"); 37 37 38 #if DEBUG_Read_queue == true 39 log_printf(INFO,Read_queue,FUNCTION,_("<%s> Parameters"),_name.c_str()); 40 41 std::cout << *param << std::endl; 42 #endif 43 38 44 #ifdef SYSTEMC 39 45 log_printf(INFO,Read_queue,"Read_queue","Allocation"); … … 43 49 44 50 #ifdef STATISTICS 45 log_printf(INFO,Read_queue,FUNCTION,"Allocation of statistics"); 46 47 statistics_declaration(param_statistics); 51 if (usage_is_set(_usage,USE_STATISTICS)) 52 { 53 log_printf(INFO,Read_queue,FUNCTION,"Allocation of statistics"); 54 55 statistics_declaration(param_statistics); 56 } 48 57 #endif 49 58 50 59 #ifdef VHDL 51 // generate the vhdl 52 log_printf(INFO,Read_queue,"Read_queue","Generate the vhdl"); 53 54 vhdl(); 55 #endif 56 57 #ifdef SYSTEMC 60 if (usage_is_set(_usage,USE_VHDL)) 61 { 62 // generate the vhdl 63 log_printf(INFO,Read_queue,"Read_queue","Generate the vhdl"); 64 65 vhdl(); 66 } 67 #endif 68 69 #ifdef SYSTEMC 70 if (usage_is_set(_usage,USE_SYSTEMC)) 71 { 58 72 log_printf(INFO,Read_queue,"Read_queue","Method - transition"); 59 73 … … 206 220 } 207 221 #endif 208 222 } 209 223 #endif 210 224 log_printf(FUNC,Read_queue,"Read_queue","End"); … … 216 230 217 231 #ifdef STATISTICS 218 log_printf(INFO,Read_queue,"~Read_queue","Generate Statistics file"); 219 220 delete _stat; 232 if (usage_is_set(_usage,USE_STATISTICS)) 233 { 234 log_printf(INFO,Read_queue,"~Read_queue","Generate Statistics file"); 235 236 delete _stat; 237 } 221 238 #endif 222 239 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_allocation.cpp
r82 r88 3 3 * $Id$ 4 4 * 5 * [ 5 * [ Description ] 6 6 * 7 7 */ … … 34 34 _interfaces = entity->set_interfaces(); 35 35 36 // ~~~~~[ 36 // ~~~~~[ Interface : "" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 37 37 38 38 { … … 48 48 in_NRESET = interface->set_signal_in <Tcontrol_t> ("nreset",1, RESET_VHDL_YES); 49 49 } 50 // ~~~~~[ 50 // ~~~~~[ Interface : "read_queue_in" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 51 51 { 52 52 Interface_fifo * interface = _interfaces->set_interface("read_queue_in" … … 66 66 if(_param->_have_port_ooo_engine_id) 67 67 in_READ_QUEUE_IN_OOO_ENGINE_ID = interface->set_signal_in <Tcontext_t > ("ooo_engine_id",_param->_size_ooo_engine_id ); 68 if(_param->_have_port_rob_ id)69 in_READ_QUEUE_IN_ROB_ID = interface->set_signal_in <Tpacket_t > ("rob_id" ,_param->_size_rob_ id);68 if(_param->_have_port_rob_ptr ) 69 in_READ_QUEUE_IN_ROB_ID = interface->set_signal_in <Tpacket_t > ("rob_id" ,_param->_size_rob_ptr ); 70 70 in_READ_QUEUE_IN_OPERATION = interface->set_signal_in <Toperation_t > ("operation" ,_param->_size_operation ); 71 71 in_READ_QUEUE_IN_TYPE = interface->set_signal_in <Ttype_t > ("type" ,_param->_size_type ); 72 in_READ_QUEUE_IN_STORE_QUEUE_PTR_WRITE = interface->set_signal_in <Tlsq_ptr_t> ("store_queue_ptr_write", log2(_param->_size_store_queue));72 in_READ_QUEUE_IN_STORE_QUEUE_PTR_WRITE = interface->set_signal_in <Tlsq_ptr_t> ("store_queue_ptr_write", _param->_size_store_queue_ptr); 73 73 if (_param->_have_port_load_queue_ptr) 74 in_READ_QUEUE_IN_LOAD_QUEUE_PTR_WRITE = interface->set_signal_in <Tlsq_ptr_t> ("load_queue_ptr_write" , log2(_param->_size_load_queue ));74 in_READ_QUEUE_IN_LOAD_QUEUE_PTR_WRITE = interface->set_signal_in <Tlsq_ptr_t> ("load_queue_ptr_write" , _param->_size_load_queue_ptr); 75 75 in_READ_QUEUE_IN_HAS_IMMEDIAT = interface->set_signal_in <Tcontrol_t > ("has_immediat",1 ); 76 76 in_READ_QUEUE_IN_IMMEDIAT = interface->set_signal_in <Tgeneral_data_t > ("immediat" ,_param->_size_general_data ); … … 87 87 } 88 88 89 // ~~~~~[ 89 // ~~~~~[ Interface : "read_queue_out" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 90 90 { 91 91 Interface_fifo * interface = _interfaces->set_interface("read_queue_out" … … 106 106 if(_param->_have_port_ooo_engine_id) 107 107 out_READ_QUEUE_OUT_OOO_ENGINE_ID = interface->set_signal_out <Tcontext_t > ("ooo_engine_id",_param->_size_ooo_engine_id ); 108 if(_param->_have_port_rob_ id)109 out_READ_QUEUE_OUT_ROB_ID = interface->set_signal_out <Tpacket_t > ("rob_id" ,_param->_size_rob_ id);108 if(_param->_have_port_rob_ptr ) 109 out_READ_QUEUE_OUT_ROB_ID = interface->set_signal_out <Tpacket_t > ("rob_id" ,_param->_size_rob_ptr ); 110 110 out_READ_QUEUE_OUT_OPERATION = interface->set_signal_out <Toperation_t > ("operation" ,_param->_size_operation ); 111 111 out_READ_QUEUE_OUT_TYPE = interface->set_signal_out <Ttype_t > ("type" ,_param->_size_type ); 112 out_READ_QUEUE_OUT_STORE_QUEUE_PTR_WRITE = interface->set_signal_out <Tlsq_ptr_t> ("store_queue_ptr_write", log2(_param->_size_store_queue));112 out_READ_QUEUE_OUT_STORE_QUEUE_PTR_WRITE = interface->set_signal_out <Tlsq_ptr_t> ("store_queue_ptr_write", _param->_size_store_queue_ptr); 113 113 if (_param->_have_port_load_queue_ptr) 114 out_READ_QUEUE_OUT_LOAD_QUEUE_PTR_WRITE = interface->set_signal_out <Tlsq_ptr_t> ("load_queue_ptr_write" , log2(_param->_size_load_queue ));114 out_READ_QUEUE_OUT_LOAD_QUEUE_PTR_WRITE = interface->set_signal_out <Tlsq_ptr_t> ("load_queue_ptr_write" , _param->_size_load_queue_ptr); 115 115 out_READ_QUEUE_OUT_HAS_IMMEDIAT = interface->set_signal_out <Tcontrol_t > ("has_immediat",1 ); 116 116 out_READ_QUEUE_OUT_IMMEDIAT = interface->set_signal_out <Tgeneral_data_t > ("immediat" ,_param->_size_general_data ); … … 133 133 } 134 134 135 // ~~~~~[ 135 // ~~~~~[ Interface : "gpr_read" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 136 136 137 137 out_GPR_READ_VAL = new SC_OUT(Tcontrol_t ) * [_param->_nb_gpr_read]; … … 162 162 } 163 163 164 // ~~~~~[ 164 // ~~~~~[ Interface : "spr_read" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 165 165 166 166 out_SPR_READ_VAL = new SC_OUT(Tcontrol_t ) * [_param->_nb_spr_read]; … … 191 191 } 192 192 193 // ~~~~~[ 193 // ~~~~~[ Interface : "gpr_write" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 194 194 195 195 in_GPR_WRITE_VAL = new SC_IN (Tcontrol_t ) * [_param->_nb_gpr_write]; … … 216 216 } 217 217 218 // ~~~~~[ 218 // ~~~~~[ Interface : "spr_write" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 219 219 220 220 in_SPR_WRITE_VAL = new SC_IN (Tcontrol_t ) * [_param->_nb_spr_write]; … … 241 241 } 242 242 243 // ~~~~~[ 244 _queue = new std:: queue<Tread_queue_entry_t *>;243 // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 244 _queue = new std::list<Tread_queue_entry_t *>; 245 245 _queue_head = new Tread_queue_head_entry_t; 246 246 247 247 #ifdef POSITION 248 _component->generate_file(); 248 if (usage_is_set(_usage,USE_POSITION)) 249 _component->generate_file(); 249 250 #endif 250 251 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_deallocation.cpp
r81 r88 3 3 * $Id$ 4 4 * 5 * [ 5 * [ Description ] 6 6 * 7 7 */ … … 23 23 log_printf(FUNC,Read_queue,"deallocation","Begin"); 24 24 25 // ~~~~~[ Interface : "" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 25 if (usage_is_set(_usage,USE_SYSTEMC)) 26 { 27 // ~~~~~[ Interface : "" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 26 28 delete in_CLOCK ; 27 29 delete in_NRESET; 28 30 29 // ~~~~~[ 31 // ~~~~~[ Interface : "read_queue_in" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 32 delete in_READ_QUEUE_IN_VAL ; 31 33 delete out_READ_QUEUE_IN_ACK ; … … 37 39 if(_param->_have_port_ooo_engine_id) 38 40 delete in_READ_QUEUE_IN_OOO_ENGINE_ID ; 39 if(_param->_have_port_rob_ id)41 if(_param->_have_port_rob_ptr ) 40 42 delete in_READ_QUEUE_IN_ROB_ID ; 41 43 delete in_READ_QUEUE_IN_OPERATION ; … … 57 59 delete in_READ_QUEUE_IN_NUM_REG_RE ; 58 60 59 // ~~~~~[ 61 // ~~~~~[ Interface : "read_queue_out" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 60 62 delete out_READ_QUEUE_OUT_VAL ; 61 63 delete in_READ_QUEUE_OUT_ACK ; … … 67 69 if(_param->_have_port_ooo_engine_id) 68 70 delete out_READ_QUEUE_OUT_OOO_ENGINE_ID ; 69 if(_param->_have_port_rob_ id)71 if(_param->_have_port_rob_ptr ) 70 72 delete out_READ_QUEUE_OUT_ROB_ID ; 71 73 delete out_READ_QUEUE_OUT_OPERATION ; … … 93 95 delete out_READ_QUEUE_OUT_NUM_REG_RE ; 94 96 95 // ~~~~~[ 97 // ~~~~~[ Interface : "gpr_read" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 96 98 97 99 delete [] out_GPR_READ_VAL ; … … 103 105 delete [] in_GPR_READ_DATA_VAL ; 104 106 105 // ~~~~~[ 107 // ~~~~~[ Interface : "spr_read" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 106 108 107 109 delete [] out_SPR_READ_VAL ; … … 113 115 delete [] in_SPR_READ_DATA_VAL ; 114 116 115 // ~~~~~[ 117 // ~~~~~[ Interface : "gpr_write" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 116 118 117 119 delete [] in_GPR_WRITE_VAL ; … … 121 123 delete [] in_GPR_WRITE_DATA ; 122 124 123 // ~~~~~[ 125 // ~~~~~[ Interface : "spr_write" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 124 126 125 127 delete [] in_SPR_WRITE_VAL ; … … 128 130 delete [] in_SPR_WRITE_NUM_REG ; 129 131 delete [] in_SPR_WRITE_DATA ; 132 } 130 133 131 // ~~~~~[ 134 // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 132 135 133 136 while (_queue->empty() == false) 134 137 { 135 138 delete _queue->front(); 136 _queue->pop ();139 _queue->pop_front(); 137 140 } 138 141 delete _queue; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_end_cycle.cpp
r81 r88 24 24 25 25 #ifdef STATISTICS 26 _stat->end_cycle(); 26 if (usage_is_set(_usage,USE_STATISTICS)) 27 _stat->end_cycle(); 27 28 #endif 28 29 … … 30 31 // Evaluation before read the ouput signal 31 32 // sc_start(0); 32 _interfaces->testbench(); 33 if (usage_is_set(_usage,USE_VHDL_TESTBENCH)) 34 _interfaces->testbench(); 33 35 #endif 34 36 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_genMealy_read_queue_out_gpr.cpp
r81 r88 22 22 void Read_queue::genMealy_read_queue_out_gpr (void) 23 23 { 24 log_printf(FUNC,Read_queue,FUNCTION,"Begin"); 24 log_begin(Read_queue,FUNCTION); 25 log_function(Read_queue,FUNCTION,_name.c_str()); 25 26 26 27 internal_READ_QUEUE_OUT_DATA_RA_VAL = (// Previous value … … 32 33 ); 33 34 34 log_printf(TRACE,Read_queue,FUNCTION," * internal_READ_QUEUE_OUT_DATA_RA_VAL : %d",internal_READ_QUEUE_OUT_DATA_RA_VAL);35 log_printf(TRACE,Read_queue,FUNCTION," * _queue_head->_data_ra_val : %d",_queue_head->_data_ra_val);36 log_printf(TRACE,Read_queue,FUNCTION," * _queue_head->_read_ra_val : %d",_queue_head->_read_ra_val);37 log_printf(TRACE,Read_queue,FUNCTION," * in_GPR_READ_ACK [0] : %d",PORT_READ(in_GPR_READ_ACK [0]));38 log_printf(TRACE,Read_queue,FUNCTION," * in_GPR_READ_DATA_VAL [0] : %d",PORT_READ(in_GPR_READ_DATA_VAL [0]));35 log_printf(TRACE,Read_queue,FUNCTION," * internal_READ_QUEUE_OUT_DATA_RA_VAL : %d",internal_READ_QUEUE_OUT_DATA_RA_VAL); 36 log_printf(TRACE,Read_queue,FUNCTION," * _queue_head->_data_ra_val : %d",_queue_head->_data_ra_val); 37 log_printf(TRACE,Read_queue,FUNCTION," * _queue_head->_read_ra_val : %d",_queue_head->_read_ra_val); 38 log_printf(TRACE,Read_queue,FUNCTION," * in_GPR_READ_ACK [0] : %d",PORT_READ(in_GPR_READ_ACK [0])); 39 log_printf(TRACE,Read_queue,FUNCTION," * in_GPR_READ_DATA_VAL [0] : %d",PORT_READ(in_GPR_READ_DATA_VAL [0])); 39 40 40 41 internal_READ_QUEUE_OUT_DATA_RB_VAL = (_queue_head->_data_rb_val or … … 44 45 ); 45 46 46 log_printf(TRACE,Read_queue,FUNCTION," * internal_READ_QUEUE_OUT_DATA_RB_VAL : %d",internal_READ_QUEUE_OUT_DATA_RB_VAL);47 log_printf(TRACE,Read_queue,FUNCTION," * _queue_head->_data_rb_val : %d",_queue_head->_data_rb_val);48 log_printf(TRACE,Read_queue,FUNCTION," * _queue_head->_read_rb_val : %d",_queue_head->_read_rb_val);49 log_printf(TRACE,Read_queue,FUNCTION," * in_GPR_READ_ACK [1] : %d",PORT_READ(in_GPR_READ_ACK [1]));50 log_printf(TRACE,Read_queue,FUNCTION," * in_GPR_READ_DATA_VAL [1] : %d",PORT_READ(in_GPR_READ_DATA_VAL [1]));47 log_printf(TRACE,Read_queue,FUNCTION," * internal_READ_QUEUE_OUT_DATA_RB_VAL : %d",internal_READ_QUEUE_OUT_DATA_RB_VAL); 48 log_printf(TRACE,Read_queue,FUNCTION," * _queue_head->_data_rb_val : %d",_queue_head->_data_rb_val); 49 log_printf(TRACE,Read_queue,FUNCTION," * _queue_head->_read_rb_val : %d",_queue_head->_read_rb_val); 50 log_printf(TRACE,Read_queue,FUNCTION," * in_GPR_READ_ACK [1] : %d",PORT_READ(in_GPR_READ_ACK [1])); 51 log_printf(TRACE,Read_queue,FUNCTION," * in_GPR_READ_DATA_VAL [1] : %d",PORT_READ(in_GPR_READ_DATA_VAL [1])); 51 52 52 53 … … 80 81 if (_queue_head->_num_reg_ra == gpr_write_num_reg) 81 82 { 82 log_printf(TRACE,Read_queue,FUNCTION," * internal_READ_QUEUE_OUT_DATA_RA_VAL - bypass hit (%d)",i);83 log_printf(TRACE,Read_queue,FUNCTION," * internal_READ_QUEUE_OUT_DATA_RA_VAL - bypass hit (%d)",i); 83 84 84 85 internal_READ_QUEUE_OUT_DATA_RA_VAL = 1; … … 90 91 if (_queue_head->_num_reg_rb == gpr_write_num_reg) 91 92 { 92 log_printf(TRACE,Read_queue,FUNCTION," * internal_READ_QUEUE_OUT_DATA_RB_VAL - bypass hit (%d)",i);93 log_printf(TRACE,Read_queue,FUNCTION," * internal_READ_QUEUE_OUT_DATA_RB_VAL - bypass hit (%d)",i); 93 94 internal_READ_QUEUE_OUT_DATA_RB_VAL = 1; 94 95 #ifdef SYSTEMC_VHDL_COMPATIBILITY … … 106 107 PORT_WRITE(out_READ_QUEUE_OUT_DATA_RB ,internal_READ_QUEUE_OUT_DATA_RB ); 107 108 108 log_ printf(FUNC,Read_queue,FUNCTION,"End");109 log_end(Read_queue,FUNCTION); 109 110 }; 110 111 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_genMealy_read_queue_out_spr.cpp
r81 r88 22 22 void Read_queue::genMealy_read_queue_out_spr (void) 23 23 { 24 log_printf(FUNC,Read_queue,FUNCTION,"Begin"); 24 log_begin(Read_queue,FUNCTION); 25 log_function(Read_queue,FUNCTION,_name.c_str()); 25 26 26 27 internal_READ_QUEUE_OUT_DATA_RC_VAL = (// Previous value … … 32 33 ); 33 34 34 log_printf(TRACE,Read_queue,FUNCTION," * internal_READ_QUEUE_OUT_DATA_RC_VAL : %d",internal_READ_QUEUE_OUT_DATA_RC_VAL);35 log_printf(TRACE,Read_queue,FUNCTION," * _queue_head->_data_rc_val : %d",_queue_head->_data_rc_val);36 log_printf(TRACE,Read_queue,FUNCTION," * _queue_head->_read_rc_val : %d",_queue_head->_read_rc_val);37 log_printf(TRACE,Read_queue,FUNCTION," * in_SPR_READ_ACK [0] : %d",PORT_READ(in_SPR_READ_ACK [0]));38 log_printf(TRACE,Read_queue,FUNCTION," * in_SPR_READ_DATA_VAL [0] : %d",PORT_READ(in_SPR_READ_DATA_VAL [0]));35 log_printf(TRACE,Read_queue,FUNCTION," * internal_READ_QUEUE_OUT_DATA_RC_VAL : %d",internal_READ_QUEUE_OUT_DATA_RC_VAL); 36 log_printf(TRACE,Read_queue,FUNCTION," * _queue_head->_data_rc_val : %d",_queue_head->_data_rc_val); 37 log_printf(TRACE,Read_queue,FUNCTION," * _queue_head->_read_rc_val : %d",_queue_head->_read_rc_val); 38 log_printf(TRACE,Read_queue,FUNCTION," * in_SPR_READ_ACK [0] : %d",PORT_READ(in_SPR_READ_ACK [0])); 39 log_printf(TRACE,Read_queue,FUNCTION," * in_SPR_READ_DATA_VAL [0] : %d",PORT_READ(in_SPR_READ_DATA_VAL [0])); 39 40 40 41 internal_READ_QUEUE_OUT_DATA_RC = (// Test if have an previous access … … 60 61 if (_queue_head->_num_reg_rc == PORT_READ(in_SPR_WRITE_NUM_REG [i])) 61 62 { 62 log_printf(TRACE,Read_queue,FUNCTION," * internal_READ_QUEUE_OUT_DATA_RC_VAL - bypass hit (%d)",i);63 log_printf(TRACE,Read_queue,FUNCTION," * internal_READ_QUEUE_OUT_DATA_RC_VAL - bypass hit (%d)",i); 63 64 internal_READ_QUEUE_OUT_DATA_RC_VAL = 1; 64 65 #ifdef SYSTEMC_VHDL_COMPATIBILITY … … 74 75 PORT_WRITE(out_READ_QUEUE_OUT_DATA_RC ,internal_READ_QUEUE_OUT_DATA_RC ); 75 76 76 log_ printf(FUNC,Read_queue,FUNCTION,"End");77 log_end(Read_queue,FUNCTION); 77 78 }; 78 79 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_genMealy_read_queue_out_val.cpp
r81 r88 22 22 void Read_queue::genMealy_read_queue_out_val (void) 23 23 { 24 log_printf(FUNC,Read_queue,FUNCTION,"Begin"); 24 log_begin(Read_queue,FUNCTION); 25 log_function(Read_queue,FUNCTION,_name.c_str()); 25 26 26 27 internal_READ_QUEUE_OUT_READ_RA_VAL = (// Previous value … … 99 100 PORT_WRITE(out_READ_QUEUE_OUT_VAL, internal_READ_QUEUE_OUT_VAL); 100 101 101 log_printf(TRACE,Read_queue,FUNCTION," * internal_READ_QUEUE_OUT_VAL : %d",internal_READ_QUEUE_OUT_VAL);102 log_printf(TRACE,Read_queue,FUNCTION," * _queue->empty() : %d",_queue->empty());103 log_printf(TRACE,Read_queue,FUNCTION," * internal_READ_QUEUE_OUT_READ_RA_VAL : %d",internal_READ_QUEUE_OUT_READ_RA_VAL);104 log_printf(TRACE,Read_queue,FUNCTION," * _queue_head->_read_ra_val : %d",_queue_head->_read_ra_val);105 log_printf(TRACE,Read_queue,FUNCTION," * in_GPR_READ_ACK [0] : %d",PORT_READ(in_GPR_READ_ACK [0]));106 log_printf(TRACE,Read_queue,FUNCTION," * internal_READ_QUEUE_OUT_READ_RB_VAL : %d",internal_READ_QUEUE_OUT_READ_RB_VAL);107 log_printf(TRACE,Read_queue,FUNCTION," * _queue_head->_read_rb_val : %d",_queue_head->_read_rb_val);108 log_printf(TRACE,Read_queue,FUNCTION," * in_GPR_READ_ACK [1] : %d",PORT_READ(in_GPR_READ_ACK [1]));109 log_printf(TRACE,Read_queue,FUNCTION," * internal_READ_QUEUE_OUT_READ_RC_VAL : %d",internal_READ_QUEUE_OUT_READ_RC_VAL);110 log_printf(TRACE,Read_queue,FUNCTION," * _queue_head->_read_rc_val : %d",_queue_head->_read_rc_val);111 log_printf(TRACE,Read_queue,FUNCTION," * in_SPR_READ_ACK [0] : %d",PORT_READ(in_SPR_READ_ACK [0]));102 log_printf(TRACE,Read_queue,FUNCTION," * internal_READ_QUEUE_OUT_VAL : %d",internal_READ_QUEUE_OUT_VAL); 103 log_printf(TRACE,Read_queue,FUNCTION," * _queue->empty() : %d",_queue->empty()); 104 log_printf(TRACE,Read_queue,FUNCTION," * internal_READ_QUEUE_OUT_READ_RA_VAL : %d",internal_READ_QUEUE_OUT_READ_RA_VAL); 105 log_printf(TRACE,Read_queue,FUNCTION," * _queue_head->_read_ra_val : %d",_queue_head->_read_ra_val); 106 log_printf(TRACE,Read_queue,FUNCTION," * in_GPR_READ_ACK [0] : %d",PORT_READ(in_GPR_READ_ACK [0])); 107 log_printf(TRACE,Read_queue,FUNCTION," * internal_READ_QUEUE_OUT_READ_RB_VAL : %d",internal_READ_QUEUE_OUT_READ_RB_VAL); 108 log_printf(TRACE,Read_queue,FUNCTION," * _queue_head->_read_rb_val : %d",_queue_head->_read_rb_val); 109 log_printf(TRACE,Read_queue,FUNCTION," * in_GPR_READ_ACK [1] : %d",PORT_READ(in_GPR_READ_ACK [1])); 110 log_printf(TRACE,Read_queue,FUNCTION," * internal_READ_QUEUE_OUT_READ_RC_VAL : %d",internal_READ_QUEUE_OUT_READ_RC_VAL); 111 log_printf(TRACE,Read_queue,FUNCTION," * _queue_head->_read_rc_val : %d",_queue_head->_read_rc_val); 112 log_printf(TRACE,Read_queue,FUNCTION," * in_SPR_READ_ACK [0] : %d",PORT_READ(in_SPR_READ_ACK [0])); 112 113 113 log_ printf(FUNC,Read_queue,FUNCTION,"End");114 log_end(Read_queue,FUNCTION); 114 115 }; 115 116 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_genMoore.cpp
r81 r88 22 22 void Read_queue::genMoore (void) 23 23 { 24 log_printf(FUNC,Read_queue,FUNCTION,"Begin"); 24 log_begin(Read_queue,FUNCTION); 25 log_function(Read_queue,FUNCTION,_name.c_str()); 25 26 26 27 bool not_full = not (_queue->size() == _param->_size_queue); … … 39 40 if(_param->_have_port_ooo_engine_id) 40 41 PORT_WRITE (out_READ_QUEUE_OUT_OOO_ENGINE_ID, _queue_head->_ooo_engine_id); 41 if(_param->_have_port_rob_ id)42 if(_param->_have_port_rob_ptr ) 42 43 PORT_WRITE (out_READ_QUEUE_OUT_ROB_ID , _queue_head->_rob_id ); 43 44 PORT_WRITE (out_READ_QUEUE_OUT_OPERATION , _queue_head->_operation ); … … 79 80 PORT_WRITE (out_SPR_READ_VAL [0], not_empty and _queue_head->_read_rc_val); 80 81 if(_param->_have_port_ooo_engine_id) 81 82 PORT_WRITE (out_SPR_READ_OOO_ENGINE_ID [0], _queue_head->_ooo_engine_id); 82 83 PORT_WRITE (out_SPR_READ_NUM_REG [0], _queue_head->_num_reg_rc); 83 84 84 log_ printf(FUNC,Read_queue,FUNCTION,"End");85 log_end(Read_queue,FUNCTION); 85 86 }; 86 87 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_transition.cpp
r81 r88 24 24 void Read_queue::transition (void) 25 25 { 26 log_printf(FUNC,Read_queue,FUNCTION,"Begin"); 26 log_begin(Read_queue,FUNCTION); 27 log_function(Read_queue,FUNCTION,_name.c_str()); 27 28 28 29 if (PORT_READ(in_NRESET) == 0) … … 33 34 // > 2) flush all slot in one cycle 34 35 35 while (_queue->empty() == false) 36 _queue->pop(); 36 _queue->clear(); 37 38 // Init, else error in registerfile 39 _queue_head->_ooo_engine_id = 0; 37 40 } 38 41 else … … 44 47 // cout << (*_queue_head) << endl; 45 48 46 log_printf(TRACE,Read_queue,FUNCTION," Read_queue size (begin) : %d",_queue->size());49 log_printf(TRACE,Read_queue,FUNCTION," * Read_queue size (begin) : %d",(int)_queue->size()); 47 50 // Write to read_queue 48 51 … … 51 54 bool need_new_head = false; 52 55 53 log_printf(TRACE,Read_queue,FUNCTION," * test transaction READ_QUEUE_IN : %d,%d",PORT_READ(in_READ_QUEUE_IN_VAL), not_full);56 log_printf(TRACE,Read_queue,FUNCTION," * test transaction READ_QUEUE_IN : %d,%d",PORT_READ(in_READ_QUEUE_IN_VAL), not_full); 54 57 if ((PORT_READ(in_READ_QUEUE_IN_VAL) == 1) and not_full) 55 58 { … … 62 65 if(_param->_have_port_ooo_engine_id) 63 66 entry->_ooo_engine_id= PORT_READ(in_READ_QUEUE_IN_OOO_ENGINE_ID); 64 if(_param->_have_port_rob_ id)67 if(_param->_have_port_rob_ptr ) 65 68 entry->_rob_id = PORT_READ(in_READ_QUEUE_IN_ROB_ID ); 66 69 entry->_operation = PORT_READ(in_READ_QUEUE_IN_OPERATION ); … … 82 85 entry->_num_reg_re = PORT_READ(in_READ_QUEUE_IN_NUM_REG_RE ); 83 86 84 log_printf(TRACE,Read_queue,FUNCTION," * push (id : %d-%d)",entry->_context_id, entry->_rob_id); 85 _queue->push(entry); 86 87 log_printf(TRACE,Read_queue,FUNCTION," * push (id : %d-%d)",entry->_context_id, entry->_rob_id); 88 _queue->push_back(entry); 87 89 88 90 // read next new head 89 91 if (empty) 90 92 { 91 log_printf(TRACE,Read_queue,FUNCTION," 93 log_printf(TRACE,Read_queue,FUNCTION," * queue was empty"); 92 94 need_new_head = true; 93 95 } … … 95 97 96 98 // Read from read_queue 97 log_printf(TRACE,Read_queue,FUNCTION," * test transaction READ_QUEUE_OUT : %d,%d",internal_READ_QUEUE_OUT_VAL, PORT_READ(in_READ_QUEUE_OUT_ACK));99 log_printf(TRACE,Read_queue,FUNCTION," * test transaction READ_QUEUE_OUT : %d,%d",internal_READ_QUEUE_OUT_VAL, PORT_READ(in_READ_QUEUE_OUT_ACK)); 98 100 if (( internal_READ_QUEUE_OUT_VAL == 1) and 99 101 (PORT_READ(in_READ_QUEUE_OUT_ACK) == 1)) 100 102 { 101 103 // Pop the entry 102 log_printf(TRACE,Read_queue,FUNCTION," * pop (id : %d-%d)",_queue->front()->_context_id, _queue->front()->_rob_id);103 _queue->pop ();104 log_printf(TRACE,Read_queue,FUNCTION," * pop (id : %d-%d)",_queue->front()->_context_id, _queue->front()->_rob_id); 105 _queue->pop_front(); 104 106 105 107 // read next new head 106 108 if (_queue->empty() == false) 107 109 { 108 log_printf(TRACE,Read_queue,FUNCTION," 110 log_printf(TRACE,Read_queue,FUNCTION," * queue was not empty"); 109 111 need_new_head = true; 110 112 } … … 128 130 if (need_new_head == true) 129 131 { 130 log_printf(TRACE,Read_queue,FUNCTION," * new head");132 log_printf(TRACE,Read_queue,FUNCTION," * new head"); 131 133 (*_queue_head) = (*_queue->front()); 132 134 } … … 138 140 // cout << (*_queue_head) << endl; 139 141 140 log_printf(TRACE,Read_queue,FUNCTION,"Read_queue size (end ) : %d",_queue->size()); 142 #if (DEBUG >= DEBUG_TRACE) and (DEBUG_Read_queue == true) 143 log_printf(TRACE,Read_queue,FUNCTION," * Dump Read_queue"); 144 log_printf(TRACE,Read_queue,FUNCTION," * size : %d",(int)_queue->size()); 145 146 if (_queue->size()>0) 147 { 148 // protected : Tread_queue_head_entry_t * _queue_head; 149 // protected : std::queue<Tread_queue_entry_t *> * _queue; 150 151 log_printf(TRACE,Read_queue,FUNCTION," * [%.4d] %.2d %.2d %.2d %.4d, %.2d %.3d, %.2d %.2d, %.1d %.8x, %.1d %.1d %.4d %.1d %.8x, %.1d %.1d %.4d %.1d %.8x, %.1d %.1d %.4d %.1d %.2x, %.1d %.4d, %.1d %.4d (%s)", 152 0, 153 154 _queue_head->_context_id , 155 _queue_head->_front_end_id , 156 _queue_head->_ooo_engine_id , 157 _queue_head->_rob_id , 158 159 _queue_head->_type , 160 _queue_head->_operation , 161 162 _queue_head->_store_queue_ptr_write, 163 _queue_head->_load_queue_ptr_write , 164 165 _queue_head->_has_immediat , 166 _queue_head->_immediat , 167 168 _queue_head->_read_ra , 169 _queue_head->_read_ra_val , 170 _queue_head->_num_reg_ra , 171 _queue_head->_data_ra_val , 172 _queue_head->_data_ra , 173 174 _queue_head->_read_rb , 175 _queue_head->_read_rb_val , 176 _queue_head->_num_reg_rb , 177 _queue_head->_data_rb_val , 178 _queue_head->_data_rb , 179 180 _queue_head->_read_rc , 181 _queue_head->_read_rc_val , 182 _queue_head->_num_reg_rc , 183 _queue_head->_data_rc_val , 184 _queue_head->_data_rc , 185 186 _queue_head->_write_rd , 187 _queue_head->_num_reg_rd , 188 189 _queue_head->_write_re , 190 _queue_head->_num_reg_re , 191 192 toString_type(_queue_head->_type).c_str()); 193 194 195 std::list<Tread_queue_entry_t *>::iterator it=_queue->begin(); 196 ++it; // first is already printed 197 uint32_t i=1; 198 199 for (;it!=_queue->end(); ++it) 200 { 201 log_printf(TRACE,Read_queue,FUNCTION," * [%.4d] %.2d %.2d %.2d %.4d, %.2d %.3d, %.2d %.2d, %.1d %.8x, %.1d %.4d , %.1d %.4d , %.1d %.4d , %.1d %.4d, %.1d %.4d (%s)", 202 i, 203 204 (*it)->_context_id , 205 (*it)->_front_end_id , 206 (*it)->_ooo_engine_id , 207 (*it)->_rob_id , 208 209 (*it)->_type , 210 (*it)->_operation , 211 212 (*it)->_store_queue_ptr_write, 213 (*it)->_load_queue_ptr_write , 214 215 (*it)->_has_immediat , 216 (*it)->_immediat , 217 218 (*it)->_read_ra , 219 // (*it)->_read_ra_val , 220 (*it)->_num_reg_ra , 221 // (*it)->_data_ra_val , 222 // (*it)->_data_ra , 223 224 (*it)->_read_rb , 225 // (*it)->_read_rb_val , 226 (*it)->_num_reg_rb , 227 // (*it)->_data_rb_val , 228 // (*it)->_data_rb , 229 230 (*it)->_read_rc , 231 // (*it)->_read_rc_val , 232 (*it)->_num_reg_rc , 233 // (*it)->_data_rc_val , 234 // (*it)->_data_rc , 235 236 (*it)->_write_rd , 237 (*it)->_num_reg_rd , 238 239 (*it)->_write_re , 240 (*it)->_num_reg_re , 241 242 toString_type((*it)->_type).c_str()); 243 244 ++i; 245 } 246 } 247 #endif 248 249 141 250 } 142 251 143 252 #if defined(STATISTICS) or defined(VHDL_TESTBENCH) 144 end_cycle ();253 end_cycle (); 145 254 #endif 146 255 147 log_ printf(FUNC,Read_queue,FUNCTION,"End");256 log_end(Read_queue,FUNCTION); 148 257 }; 149 258
Note: See TracChangeset
for help on using the changeset viewer.