Changeset 78 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit
- 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
- Files:
-
- 25 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/SelfTest/config0.cfg
r77 r78 12 12 2 2 *2 # nb_spr_write 13 13 4 4 *2 # size_store_queue 14 4 4 *2# size_load_queue14 1 4 *4 # size_load_queue -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/SelfTest/src/test.cpp
r76 r78 231 231 (*(_Read_queue-> in_READ_QUEUE_IN_TYPE )) (*(READ_QUEUE_IN_TYPE )); 232 232 (*(_Read_queue-> in_READ_QUEUE_IN_STORE_QUEUE_PTR_WRITE)) (*(READ_QUEUE_IN_STORE_QUEUE_PTR_WRITE)); 233 if (_param->_have_port_load_queue_ptr) 233 234 (*(_Read_queue-> in_READ_QUEUE_IN_LOAD_QUEUE_PTR_WRITE )) (*(READ_QUEUE_IN_LOAD_QUEUE_PTR_WRITE )); 234 235 (*(_Read_queue-> in_READ_QUEUE_IN_HAS_IMMEDIAT )) (*(READ_QUEUE_IN_HAS_IMMEDIAT )); … … 258 259 (*(_Read_queue->out_READ_QUEUE_OUT_TYPE )) (*(READ_QUEUE_OUT_TYPE )); 259 260 (*(_Read_queue->out_READ_QUEUE_OUT_STORE_QUEUE_PTR_WRITE)) (*(READ_QUEUE_OUT_STORE_QUEUE_PTR_WRITE)); 261 if (_param->_have_port_load_queue_ptr) 260 262 (*(_Read_queue->out_READ_QUEUE_OUT_LOAD_QUEUE_PTR_WRITE )) (*(READ_QUEUE_OUT_LOAD_QUEUE_PTR_WRITE )); 261 263 (*(_Read_queue->out_READ_QUEUE_OUT_HAS_IMMEDIAT )) (*(READ_QUEUE_OUT_HAS_IMMEDIAT )); … … 417 419 READ_QUEUE_IN_TYPE ->write(0); 418 420 READ_QUEUE_IN_STORE_QUEUE_PTR_WRITE->write(0); 421 if (_param->_have_port_load_queue_ptr) 419 422 READ_QUEUE_IN_LOAD_QUEUE_PTR_WRITE ->write(0); 420 423 READ_QUEUE_IN_HAS_IMMEDIAT->write(0); … … 592 595 delete READ_QUEUE_IN_TYPE ; 593 596 delete READ_QUEUE_IN_STORE_QUEUE_PTR_WRITE; 597 if (_param->_have_port_load_queue_ptr) 594 598 delete READ_QUEUE_IN_LOAD_QUEUE_PTR_WRITE ; 595 599 delete READ_QUEUE_IN_HAS_IMMEDIAT ; … … 619 623 delete READ_QUEUE_OUT_TYPE ; 620 624 delete READ_QUEUE_OUT_STORE_QUEUE_PTR_WRITE; 625 if (_param->_have_port_load_queue_ptr) 621 626 delete READ_QUEUE_OUT_LOAD_QUEUE_PTR_WRITE ; 622 627 delete READ_QUEUE_OUT_HAS_IMMEDIAT; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/include/Parameters.h
r77 r78 55 55 public : const bool _have_port_ooo_engine_id; 56 56 public : const bool _have_port_rob_id ; 57 public : const bool _have_port_load_queue_ptr; 57 58 58 59 public : const uint32_t _size_internal_queue; … … 76 77 public : ~Parameters () ; 77 78 78 public : std::stringmsg_error (void);79 public : Parameters_test msg_error (void); 79 80 80 81 public : std::string print (uint32_t depth); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Parameters.cpp
r77 r78 58 58 _have_port_ooo_engine_id (_size_ooo_engine_id > 0), 59 59 _have_port_rob_id (_size_rob_id > 0), 60 _have_port_load_queue_ptr(_size_load_queue > 1), 60 61 61 62 _size_internal_queue ( _size_context_id //_context_id … … 116 117 _have_port_ooo_engine_id (param._have_port_ooo_engine_id), 117 118 _have_port_rob_id (param._have_port_rob_id ), 119 _have_port_load_queue_ptr(param._have_port_load_queue_ptr), 118 120 119 121 _size_internal_queue (param._size_internal_queue ) -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Parameters_msg_error.cpp
r75 r78 19 19 20 20 21 std::stringParameters::msg_error(void)21 Parameters_test Parameters::msg_error(void) 22 22 { 23 23 log_printf(FUNC,Read_queue,"msg_error","Begin"); 24 24 25 std::string msg = ""; 26 27 // if (_size_queue < 2) 28 // { 29 // msg += " - The read_queue must be have less a depth of 2"; 30 // msg += " * size_queue : " + toString(_size_queue) + "\n"; 31 // } 25 Parameters_test test ("Read_queue"); 32 26 33 27 if (_nb_type < 2) 34 { 35 msg += " - The number of type must be > 1"; 36 } 28 test.error("The number of type must be > 1"); 29 37 30 if (_nb_operation < 2) 38 { 39 msg += " - The number of operation must be > 1"; 40 } 41 42 43 return msg; 31 test.error("The number of operation must be > 1"); 44 32 45 33 log_printf(FUNC,Read_queue,"msg_error","End"); 34 35 return test; 46 36 }; 47 37 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_allocation.cpp
r76 r78 71 71 in_READ_QUEUE_IN_TYPE = interface->set_signal_in <Ttype_t > ("type" ,_param->_size_type ); 72 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)); 73 if (_param->_have_port_load_queue_ptr) 73 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 75 in_READ_QUEUE_IN_HAS_IMMEDIAT = interface->set_signal_in <Tcontrol_t > ("has_immediat",1 ); … … 110 111 out_READ_QUEUE_OUT_TYPE = interface->set_signal_out <Ttype_t > ("type" ,_param->_size_type ); 111 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)); 113 if (_param->_have_port_load_queue_ptr) 112 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 )); 113 115 out_READ_QUEUE_OUT_HAS_IMMEDIAT = interface->set_signal_out <Tcontrol_t > ("has_immediat",1 ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_deallocation.cpp
r76 r78 42 42 delete in_READ_QUEUE_IN_TYPE ; 43 43 delete in_READ_QUEUE_IN_STORE_QUEUE_PTR_WRITE; 44 if (_param->_have_port_load_queue_ptr) 44 45 delete in_READ_QUEUE_IN_LOAD_QUEUE_PTR_WRITE ; 45 46 delete in_READ_QUEUE_IN_HAS_IMMEDIAT ; … … 71 72 delete out_READ_QUEUE_OUT_TYPE ; 72 73 delete out_READ_QUEUE_OUT_STORE_QUEUE_PTR_WRITE; 74 if (_param->_have_port_load_queue_ptr) 73 75 delete out_READ_QUEUE_OUT_LOAD_QUEUE_PTR_WRITE ; 74 76 delete out_READ_QUEUE_OUT_HAS_IMMEDIAT ; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_genMoore.cpp
r76 r78 44 44 PORT_WRITE (out_READ_QUEUE_OUT_TYPE , _queue_head->_type ); 45 45 PORT_WRITE (out_READ_QUEUE_OUT_STORE_QUEUE_PTR_WRITE, _queue_head->_store_queue_ptr_write); 46 if (_param->_have_port_load_queue_ptr) 46 47 PORT_WRITE (out_READ_QUEUE_OUT_LOAD_QUEUE_PTR_WRITE , _queue_head->_load_queue_ptr_write ); 47 48 PORT_WRITE (out_READ_QUEUE_OUT_HAS_IMMEDIAT, _queue_head->_has_immediat); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue_transition.cpp
r76 r78 67 67 entry->_type = PORT_READ(in_READ_QUEUE_IN_TYPE ); 68 68 entry->_store_queue_ptr_write = PORT_READ(in_READ_QUEUE_IN_STORE_QUEUE_PTR_WRITE); 69 if (_param->_have_port_load_queue_ptr) 69 70 entry->_load_queue_ptr_write = PORT_READ(in_READ_QUEUE_IN_LOAD_QUEUE_PTR_WRITE ); 70 71 entry->_has_immediat = PORT_READ(in_READ_QUEUE_IN_HAS_IMMEDIAT); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/SelfTest/configuration_multi_port_write.cfg
r77 r78 15 15 0 0 *2 # nb_bypass_memory 16 16 4 4 *2 # size_store_queue 17 4 4 *2# size_load_queue17 1 4 *4 # size_load_queue -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/SelfTest/src/test.cpp
r76 r78 216 216 (*(_Reservation_station-> in_INSERT_TYPE )) (*( in_INSERT_TYPE )); 217 217 (*(_Reservation_station-> in_INSERT_STORE_QUEUE_PTR_WRITE)) (*( in_INSERT_STORE_QUEUE_PTR_WRITE)); 218 if (_param->_have_port_load_queue_ptr) 218 219 (*(_Reservation_station-> in_INSERT_LOAD_QUEUE_PTR_WRITE )) (*( in_INSERT_LOAD_QUEUE_PTR_WRITE )); 219 220 (*(_Reservation_station-> in_INSERT_HAS_IMMEDIAT )) (*( in_INSERT_HAS_IMMEDIAT )); … … 251 252 (*(_Reservation_station->out_RETIRE_TYPE [i])) (*(out_RETIRE_TYPE [i])); 252 253 (*(_Reservation_station->out_RETIRE_STORE_QUEUE_PTR_WRITE [i])) (*(out_RETIRE_STORE_QUEUE_PTR_WRITE [i])); 254 if (_param->_have_port_load_queue_ptr) 253 255 (*(_Reservation_station->out_RETIRE_LOAD_QUEUE_PTR_WRITE [i])) (*(out_RETIRE_LOAD_QUEUE_PTR_WRITE [i])); 254 256 (*(_Reservation_station->out_RETIRE_HAS_IMMEDIAT [i])) (*(out_RETIRE_HAS_IMMEDIAT [i])); … … 446 448 in_INSERT_TYPE ->write(0); 447 449 in_INSERT_STORE_QUEUE_PTR_WRITE->write(0); 450 if (_param->_have_port_load_queue_ptr) 448 451 in_INSERT_LOAD_QUEUE_PTR_WRITE ->write(0); 449 452 in_INSERT_HAS_IMMEDIAT->write(0); … … 692 695 delete in_INSERT_TYPE ; 693 696 delete in_INSERT_STORE_QUEUE_PTR_WRITE; 697 if (_param->_have_port_load_queue_ptr) 694 698 delete in_INSERT_LOAD_QUEUE_PTR_WRITE ; 695 699 delete in_INSERT_HAS_IMMEDIAT; … … 725 729 delete [] out_RETIRE_TYPE ; 726 730 delete [] out_RETIRE_STORE_QUEUE_PTR_WRITE; 731 if (_param->_have_port_load_queue_ptr) 727 732 delete [] out_RETIRE_LOAD_QUEUE_PTR_WRITE ; 728 733 delete [] out_RETIRE_HAS_IMMEDIAT; -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/include/Parameters.h
r77 r78 62 62 public : const bool _have_port_ooo_engine_id; 63 63 public : const bool _have_port_rob_id ; 64 public : const bool _have_port_load_queue_ptr; 64 65 65 66 //-----[ methods ]----------------------------------------------------------- … … 84 85 public : ~Parameters () ; 85 86 86 public : std::stringmsg_error (void);87 public : Parameters_test msg_error (void); 87 88 88 89 public : std::string print (uint32_t depth); -
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 ); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/SelfTest/configuration.cfg
r77 r78 13 13 2 2 *2 # nb_spr_write 14 14 4 4 *2 # size_store_queue 15 4 4 *2# size_load_queue15 1 4 *4 # size_load_queue 16 16 2 2 *2 # nb_inst_retire 17 17 2 2 *2 # nb_bypass_write -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/SelfTest/src/test.cpp
r76 r78 161 161 INSTANCE_SC_SIGNAL (_Read_unit, in_READ_UNIT_IN_TYPE ); 162 162 INSTANCE_SC_SIGNAL (_Read_unit, in_READ_UNIT_IN_STORE_QUEUE_PTR_WRITE ); 163 if (_param->_have_port_load_queue_ptr) 163 164 INSTANCE_SC_SIGNAL (_Read_unit, in_READ_UNIT_IN_LOAD_QUEUE_PTR_WRITE ); 164 165 INSTANCE_SC_SIGNAL (_Read_unit, in_READ_UNIT_IN_HAS_IMMEDIAT ); … … 187 188 INSTANCE1_SC_SIGNAL(_Read_unit,out_READ_UNIT_OUT_TYPE ,_param->_nb_inst_retire); 188 189 INSTANCE1_SC_SIGNAL(_Read_unit,out_READ_UNIT_OUT_STORE_QUEUE_PTR_WRITE,_param->_nb_inst_retire); 190 if (_param->_have_port_load_queue_ptr) 189 191 INSTANCE1_SC_SIGNAL(_Read_unit,out_READ_UNIT_OUT_LOAD_QUEUE_PTR_WRITE ,_param->_nb_inst_retire); 190 192 INSTANCE1_SC_SIGNAL(_Read_unit,out_READ_UNIT_OUT_HAS_IMMEDIAT ,_param->_nb_inst_retire); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/include/Parameters.h
r77 r78 57 57 public : const bool _have_port_ooo_engine_id ; 58 58 public : const bool _have_port_packet_id ; 59 public : const bool _have_port_load_queue_ptr; 59 60 60 61 public : morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_read_unit::read_unit::read_queue ::Parameters * _param_read_queue; … … 82 83 public : ~Parameters () ; 83 84 84 public : std::stringmsg_error (void);85 public : Parameters_test msg_error (void); 85 86 86 87 public : std::string print (uint32_t depth); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/src/Parameters.cpp
r77 r78 66 66 _have_port_front_end_id (_size_front_end_id >0), 67 67 _have_port_ooo_engine_id (_size_ooo_engine_id>0), 68 _have_port_packet_id (_size_packet_id >0) 68 _have_port_packet_id (_size_packet_id >0), 69 _have_port_load_queue_ptr (_size_load_queue >1) 69 70 { 70 71 log_printf(FUNC,Read_unit,FUNCTION,"Begin"); … … 144 145 _have_port_front_end_id (param._have_port_front_end_id ), 145 146 _have_port_ooo_engine_id (param._have_port_ooo_engine_id ), 146 _have_port_packet_id (param._have_port_packet_id ) 147 _have_port_packet_id (param._have_port_packet_id ), 148 _have_port_load_queue_ptr (param._have_port_load_queue_ptr) 147 149 { 148 150 log_printf(FUNC,Read_unit,FUNCTION,"Begin"); -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/src/Parameters_msg_error.cpp
r76 r78 21 21 #undef FUNCTION 22 22 #define FUNCTION "Read_unit::msg_error" 23 std::stringParameters::msg_error(void)23 Parameters_test Parameters::msg_error(void) 24 24 { 25 25 log_printf(FUNC,Read_unit,FUNCTION,"Begin"); 26 26 27 std::string msg = ""; 28 29 return msg; 27 Parameters_test test ("Read_unit"); 30 28 31 29 log_printf(FUNC,Read_unit,FUNCTION,"End"); 30 31 return test; 32 32 }; 33 33 -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/src/Read_unit_allocation.cpp
r76 r78 59 59 ALLOC_INTERFACE("read_unit_in", IN, WEST, "Enter of new operation"); 60 60 61 ALLOC_VAL _IN ( in_READ_UNIT_IN_VAL);62 ALLOC_ ACK_OUT (out_READ_UNIT_IN_ACK);61 ALLOC_VALACK_IN ( in_READ_UNIT_IN_VAL,VAL); 62 ALLOC_VALACK_OUT (out_READ_UNIT_IN_ACK,ACK); 63 63 ALLOC_SIGNAL_IN ( in_READ_UNIT_IN_CONTEXT_ID ,"context_id" ,Tcontext_t ,_param->_size_context_id ); 64 64 ALLOC_SIGNAL_IN ( in_READ_UNIT_IN_FRONT_END_ID ,"front_end_id" ,Tcontext_t ,_param->_size_front_end_id ); … … 67 67 ALLOC_SIGNAL_IN ( in_READ_UNIT_IN_OPERATION ,"operation" ,Toperation_t ,_param->_size_operation ); 68 68 ALLOC_SIGNAL_IN ( in_READ_UNIT_IN_TYPE ,"type" ,Ttype_t ,_param->_size_type ); 69 ALLOC_SIGNAL_IN ( in_READ_UNIT_IN_STORE_QUEUE_PTR_WRITE,"store_queue_ptr_write",Tlsq_ptr_t , _param->_size_store_queue);70 ALLOC_SIGNAL_IN ( in_READ_UNIT_IN_LOAD_QUEUE_PTR_WRITE ,"load_queue_ptr_write" ,Tlsq_ptr_t , _param->_size_load_queue);69 ALLOC_SIGNAL_IN ( in_READ_UNIT_IN_STORE_QUEUE_PTR_WRITE,"store_queue_ptr_write",Tlsq_ptr_t ,log2(_param->_size_store_queue)); 70 ALLOC_SIGNAL_IN ( in_READ_UNIT_IN_LOAD_QUEUE_PTR_WRITE ,"load_queue_ptr_write" ,Tlsq_ptr_t ,log2(_param->_size_load_queue)); 71 71 ALLOC_SIGNAL_IN ( in_READ_UNIT_IN_HAS_IMMEDIAT ,"has_immediat" ,Tcontrol_t ,1); 72 72 ALLOC_SIGNAL_IN ( in_READ_UNIT_IN_IMMEDIAT ,"immediat" ,Tgeneral_data_t ,_param->_size_general_data); … … 87 87 ALLOC1_INTERFACE("read_unit_out", OUT, EAST, "Output of operation. All operand is valid.", _param->_nb_inst_retire); 88 88 89 ALLOC1_VAL _OUT (out_READ_UNIT_OUT_VAL);90 ALLOC1_ ACK_IN ( in_READ_UNIT_OUT_ACK);89 ALLOC1_VALACK_OUT (out_READ_UNIT_OUT_VAL,VAL); 90 ALLOC1_VALACK_IN ( in_READ_UNIT_OUT_ACK,ACK); 91 91 ALLOC1_SIGNAL_OUT(out_READ_UNIT_OUT_CONTEXT_ID ,"context_id" ,Tcontext_t ,_param->_size_context_id ); 92 92 ALLOC1_SIGNAL_OUT(out_READ_UNIT_OUT_FRONT_END_ID ,"front_end_id" ,Tcontext_t ,_param->_size_front_end_id ); … … 95 95 ALLOC1_SIGNAL_OUT(out_READ_UNIT_OUT_OPERATION ,"operation" ,Toperation_t ,_param->_size_operation ); 96 96 ALLOC1_SIGNAL_OUT(out_READ_UNIT_OUT_TYPE ,"type" ,Ttype_t ,_param->_size_type ); 97 ALLOC1_SIGNAL_OUT(out_READ_UNIT_OUT_STORE_QUEUE_PTR_WRITE,"store_queue_ptr_write",Tlsq_ptr_t , _param->_size_store_queue);98 ALLOC1_SIGNAL_OUT(out_READ_UNIT_OUT_LOAD_QUEUE_PTR_WRITE ,"load_queue_ptr_write" ,Tlsq_ptr_t , _param->_size_load_queue);97 ALLOC1_SIGNAL_OUT(out_READ_UNIT_OUT_STORE_QUEUE_PTR_WRITE,"store_queue_ptr_write",Tlsq_ptr_t ,log2(_param->_size_store_queue)); 98 ALLOC1_SIGNAL_OUT(out_READ_UNIT_OUT_LOAD_QUEUE_PTR_WRITE ,"load_queue_ptr_write" ,Tlsq_ptr_t ,log2(_param->_size_load_queue )); 99 99 ALLOC1_SIGNAL_OUT(out_READ_UNIT_OUT_HAS_IMMEDIAT ,"has_immediat" ,Tcontrol_t ,1 ); 100 100 ALLOC1_SIGNAL_OUT(out_READ_UNIT_OUT_IMMEDIAT ,"immediat" ,Tgeneral_data_t ,_param->_size_general_data ); … … 112 112 ALLOC1_INTERFACE("gpr_read", OUT, SOUTH, "Read port.", _param->_nb_gpr_read); 113 113 114 ALLOC1_VAL _OUT (out_GPR_READ_VAL);115 ALLOC1_ ACK_IN ( in_GPR_READ_ACK);114 ALLOC1_VALACK_OUT (out_GPR_READ_VAL,VAL); 115 ALLOC1_VALACK_IN ( in_GPR_READ_ACK,ACK); 116 116 ALLOC1_SIGNAL_OUT(out_GPR_READ_OOO_ENGINE_ID,"ooo_engine_id",Tcontext_t ,_param->_size_ooo_engine_id ); 117 117 ALLOC1_SIGNAL_OUT(out_GPR_READ_NUM_REG ,"num_reg" ,Tgeneral_address_t,_param->_size_general_data ); … … 124 124 ALLOC1_INTERFACE("spr_read", OUT, SOUTH, "Read port.", _param->_nb_spr_read); 125 125 126 ALLOC1_VAL _OUT (out_SPR_READ_VAL);127 ALLOC1_ ACK_IN ( in_SPR_READ_ACK);126 ALLOC1_VALACK_OUT (out_SPR_READ_VAL,VAL); 127 ALLOC1_VALACK_IN ( in_SPR_READ_ACK,ACK); 128 128 ALLOC1_SIGNAL_OUT(out_SPR_READ_OOO_ENGINE_ID,"ooo_engine_id",Tcontext_t ,_param->_size_ooo_engine_id ); 129 129 ALLOC1_SIGNAL_OUT(out_SPR_READ_NUM_REG ,"num_reg" ,Tspecial_address_t,_param->_size_special_data ); … … 136 136 ALLOC1_INTERFACE("gpr_write", IN , SOUTH, "Write port.", _param->_nb_gpr_write); 137 137 138 ALLOC1_VAL _IN ( in_GPR_WRITE_VAL);138 ALLOC1_VALACK_IN ( in_GPR_WRITE_VAL,VAL); 139 139 ALLOC1_SIGNAL_IN ( in_GPR_WRITE_OOO_ENGINE_ID,"ooo_engine_id",Tcontext_t ,_param->_size_ooo_engine_id ); 140 140 ALLOC1_SIGNAL_IN ( in_GPR_WRITE_NUM_REG ,"num_reg" ,Tgeneral_address_t,_param->_size_general_data ); … … 146 146 ALLOC1_INTERFACE("spr_write", IN , SOUTH, "Write port.", _param->_nb_spr_write); 147 147 148 ALLOC1_VAL _IN ( in_SPR_WRITE_VAL);148 ALLOC1_VALACK_IN ( in_SPR_WRITE_VAL,VAL); 149 149 ALLOC1_SIGNAL_IN ( in_SPR_WRITE_OOO_ENGINE_ID,"ooo_engine_id",Tcontext_t ,_param->_size_ooo_engine_id ); 150 150 ALLOC1_SIGNAL_IN ( in_SPR_WRITE_NUM_REG ,"num_reg" ,Tspecial_address_t,_param->_size_special_data ); … … 216 216 name = _name+"_read_queue"; 217 217 std::cout << "Instance : " << name << std::endl; 218 219 218 { 220 219 #ifdef POSITION … … 248 247 _component->port_map(name, "in_READ_QUEUE_IN_TYPE" ,dest, "in_READ_UNIT_IN_TYPE" ); 249 248 _component->port_map(name, "in_READ_QUEUE_IN_STORE_QUEUE_PTR_WRITE",dest, "in_READ_UNIT_IN_STORE_QUEUE_PTR_WRITE"); 249 if (_param->_have_port_load_queue_ptr) 250 250 _component->port_map(name, "in_READ_QUEUE_IN_LOAD_QUEUE_PTR_WRITE" ,dest, "in_READ_UNIT_IN_LOAD_QUEUE_PTR_WRITE" ); 251 251 _component->port_map(name, "in_READ_QUEUE_IN_HAS_IMMEDIAT" ,dest, "in_READ_UNIT_IN_HAS_IMMEDIAT" ); … … 284 284 _component->port_map(name,"out_READ_QUEUE_OUT_TYPE" ,dest, "in_INSERT_TYPE" ); 285 285 _component->port_map(name,"out_READ_QUEUE_OUT_STORE_QUEUE_PTR_WRITE",dest, "in_INSERT_STORE_QUEUE_PTR_WRITE"); 286 if (_param->_have_port_load_queue_ptr) 286 287 _component->port_map(name,"out_READ_QUEUE_OUT_LOAD_QUEUE_PTR_WRITE" ,dest, "in_INSERT_LOAD_QUEUE_PTR_WRITE" ); 287 288 _component->port_map(name,"out_READ_QUEUE_OUT_HAS_IMMEDIAT" ,dest, "in_INSERT_HAS_IMMEDIAT" ); … … 375 376 name = _name+"_reservation_station"; 376 377 std::cout << "Instance : " << name << std::endl; 377 378 378 { 379 379 #ifdef POSITION … … 408 408 _component->port_map(name, "in_INSERT_TYPE" ,dest,"out_READ_QUEUE_OUT_TYPE" ); 409 409 _component->port_map(name, "in_INSERT_STORE_QUEUE_PTR_WRITE",dest,"out_READ_QUEUE_OUT_STORE_QUEUE_PTR_WRITE"); 410 if (_param->_have_port_load_queue_ptr) 410 411 _component->port_map(name, "in_INSERT_LOAD_QUEUE_PTR_WRITE" ,dest,"out_READ_QUEUE_OUT_LOAD_QUEUE_PTR_WRITE" ); 411 412 _component->port_map(name, "in_INSERT_HAS_IMMEDIAT" ,dest,"out_READ_QUEUE_OUT_HAS_IMMEDIAT" ); … … 452 453 _component->port_map(name,"out_RETIRE_"+toString(i)+"_TYPE" ,dest,"out_READ_UNIT_OUT_"+toString(i)+"_TYPE" ); 453 454 _component->port_map(name,"out_RETIRE_"+toString(i)+"_STORE_QUEUE_PTR_WRITE",dest,"out_READ_UNIT_OUT_"+toString(i)+"_STORE_QUEUE_PTR_WRITE"); 455 if (_param->_have_port_load_queue_ptr) 454 456 _component->port_map(name,"out_RETIRE_"+toString(i)+"_LOAD_QUEUE_PTR_WRITE" ,dest,"out_READ_UNIT_OUT_"+toString(i)+"_LOAD_QUEUE_PTR_WRITE" ); 455 457 _component->port_map(name,"out_RETIRE_"+toString(i)+"_HAS_IMMEDIAT" ,dest,"out_READ_UNIT_OUT_"+toString(i)+"_HAS_IMMEDIAT" ); … … 528 530 } 529 531 } 532 530 533 531 534 #ifdef POSITION -
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/src/Read_unit_deallocation.cpp
r76 r78 42 42 delete in_READ_UNIT_IN_TYPE ; 43 43 delete in_READ_UNIT_IN_STORE_QUEUE_PTR_WRITE; 44 if (_param->_have_port_load_queue_ptr) 44 45 delete in_READ_UNIT_IN_LOAD_QUEUE_PTR_WRITE ; 45 46 delete in_READ_UNIT_IN_HAS_IMMEDIAT ; … … 70 71 delete [] out_READ_UNIT_OUT_TYPE ; 71 72 delete [] out_READ_UNIT_OUT_STORE_QUEUE_PTR_WRITE; 73 if (_param->_have_port_load_queue_ptr) 72 74 delete [] out_READ_UNIT_OUT_LOAD_QUEUE_PTR_WRITE ; 73 75 delete [] out_READ_UNIT_OUT_HAS_IMMEDIAT ;
Note: See TracChangeset
for help on using the changeset viewer.