Changeset 78 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src
- Timestamp:
- Mar 27, 2008, 11:04:49 AM (16 years ago)
- Location:
- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Parameters.cpp
r77 r78 63 63 _have_port_front_end_id (_size_front_end_id > 0), 64 64 _have_port_ooo_engine_id (_size_ooo_engine_id > 0), 65 _have_port_rob_id (_size_rob_id > 0) 65 _have_port_rob_id (_size_rob_id > 0), 66 _have_port_load_queue_ptr(_size_load_queue > 1) 66 67 { 67 68 log_printf(FUNC,Reservation_station,FUNCTION,"Begin"); … … 100 101 _have_port_front_end_id (param._have_port_front_end_id ), 101 102 _have_port_ooo_engine_id (param._have_port_ooo_engine_id), 102 _have_port_rob_id (param._have_port_rob_id ) 103 _have_port_rob_id (param._have_port_rob_id ), 104 _have_port_load_queue_ptr(param._have_port_load_queue_ptr) 103 105 { 104 106 log_printf(FUNC,Reservation_station,FUNCTION,"Begin"); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Parameters_msg_error.cpp
r75 r78 21 21 #undef FUNCTION 22 22 #define FUNCTION "Reservation_station::msg_error" 23 std::stringParameters::msg_error(void)23 Parameters_test Parameters::msg_error(void) 24 24 { 25 25 log_printf(FUNC,Reservation_station,FUNCTION,"Begin"); 26 26 27 std::string msg = ""; 28 29 // if (_size_queue < 2) 30 // { 31 // msg += " - The reservation_station must be have less a depth of 2"; 32 // msg += " * size_queue : " + toString(_size_queue) + "\n"; 33 // } 27 Parameters_test test ("Reservation_station"); 34 28 35 29 if (_size_queue < _nb_inst_retire) 36 { 37 msg += " - The reservation_station can't have more retire port than entry in the queue."; 38 } 39 40 return msg; 30 test.error("The reservation_station can't have more retire port than entry in the queue."); 41 31 42 32 log_printf(FUNC,Reservation_station,FUNCTION,"End"); 33 34 return test; 43 35 }; 44 36 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Reservation_station_allocation.cpp
r76 r78 73 73 in_INSERT_TYPE = interface->set_signal_in <Ttype_t > ("type" ,_param->_size_type ); 74 74 in_INSERT_STORE_QUEUE_PTR_WRITE = interface->set_signal_in <Tlsq_ptr_t> ("store_queue_ptr_write" ,log2(_param->_size_store_queue)); 75 if (_param->_have_port_load_queue_ptr) 75 76 in_INSERT_LOAD_QUEUE_PTR_WRITE = interface->set_signal_in <Tlsq_ptr_t> ("load_queue_ptr_write" ,log2(_param->_size_load_queue) ); 76 77 in_INSERT_HAS_IMMEDIAT = interface->set_signal_in <Tcontrol_t > ("has_immediat" ,1 ); … … 108 109 out_RETIRE_TYPE = new SC_OUT(Ttype_t ) * [_param->_nb_inst_retire]; 109 110 out_RETIRE_STORE_QUEUE_PTR_WRITE = new SC_OUT(Tlsq_ptr_t ) * [_param->_nb_inst_retire]; 111 if (_param->_have_port_load_queue_ptr) 110 112 out_RETIRE_LOAD_QUEUE_PTR_WRITE = new SC_OUT(Tlsq_ptr_t ) * [_param->_nb_inst_retire]; 111 113 out_RETIRE_HAS_IMMEDIAT = new SC_OUT(Tcontrol_t ) * [_param->_nb_inst_retire]; … … 141 143 out_RETIRE_TYPE [i] = interface->set_signal_out<Ttype_t > ("type" ,_param->_size_type); 142 144 out_RETIRE_STORE_QUEUE_PTR_WRITE [i] = interface->set_signal_out<Tlsq_ptr_t> ("store_queue_ptr_write" ,log2(_param->_size_store_queue)); 145 if (_param->_have_port_load_queue_ptr) 143 146 out_RETIRE_LOAD_QUEUE_PTR_WRITE [i] = interface->set_signal_out<Tlsq_ptr_t> ("load_queue_ptr_write" ,log2(_param->_size_load_queue) ); 144 147 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Reservation_station_deallocation.cpp
r76 r78 44 44 delete in_INSERT_TYPE ; 45 45 delete in_INSERT_STORE_QUEUE_PTR_WRITE; 46 if (_param->_have_port_load_queue_ptr) 46 47 delete in_INSERT_LOAD_QUEUE_PTR_WRITE ; 47 48 delete in_INSERT_HAS_IMMEDIAT ; … … 77 78 delete [] out_RETIRE_TYPE ; 78 79 delete [] out_RETIRE_STORE_QUEUE_PTR_WRITE; 80 if (_param->_have_port_load_queue_ptr) 79 81 delete [] out_RETIRE_LOAD_QUEUE_PTR_WRITE ; 80 82 delete [] out_RETIRE_HAS_IMMEDIAT ; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Reservation_station_genMoore.cpp
r76 r78 102 102 PORT_WRITE(out_RETIRE_TYPE [i],_queue[index_find]._type); 103 103 PORT_WRITE(out_RETIRE_STORE_QUEUE_PTR_WRITE [i],_queue[index_find]._store_queue_ptr_write); 104 if (_param->_have_port_load_queue_ptr) 104 105 PORT_WRITE(out_RETIRE_LOAD_QUEUE_PTR_WRITE [i],_queue[index_find]._load_queue_ptr_write ); 105 106 PORT_WRITE(out_RETIRE_HAS_IMMEDIAT [i],_queue[index_find]._has_immediat); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/src/Reservation_station_transition.cpp
r76 r78 259 259 _queue[index]._type = PORT_READ(in_INSERT_TYPE ); 260 260 _queue[index]._store_queue_ptr_write = PORT_READ(in_INSERT_STORE_QUEUE_PTR_WRITE); 261 if (_param->_have_port_load_queue_ptr) 261 262 _queue[index]._load_queue_ptr_write = PORT_READ(in_INSERT_LOAD_QUEUE_PTR_WRITE ); 262 263 _queue[index]._has_immediat = PORT_READ(in_INSERT_HAS_IMMEDIAT );
Note: See TracChangeset
for help on using the changeset viewer.